diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index a69b66f442b666..75fda6e5b319b9 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -7,7 +7,6 @@ "visualstudioexptteam.vscodeintellicode" ], "image": "nodejs/devcontainer:nightly", - "initializeCommand": "docker system prune -f -a", "settings": { "terminal.integrated.profiles.linux": { "zsh (login)": { diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 64f34660d87a8f..00000000000000 --- a/.eslintignore +++ /dev/null @@ -1,15 +0,0 @@ -node_modules -lib/punycode.js -test/addons/??_* -test/fixtures -test/message/esm_display_syntax_error.mjs -tools/icu -tools/lint-md/lint-md.mjs -tools/github_reporter -benchmark/tmp -benchmark/fixtures -doc/**/*.js -doc/changelogs/CHANGELOG_v1*.md -!doc/changelogs/CHANGELOG_v18.md -!doc/api_assets/*.js -!.eslintrc.js diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index b337e03d8fe04e..00000000000000 --- a/.eslintrc.js +++ /dev/null @@ -1,374 +0,0 @@ -'use strict'; - -/* eslint-env node */ - -const Module = require('module'); -const path = require('path'); - -const NodePlugin = require('./tools/node_modules/eslint-plugin-node-core'); -NodePlugin.RULES_DIR = path.resolve(__dirname, 'tools', 'eslint-rules'); - -// The Module._findPath() monkeypatching is to make it so that ESLint will work -// if invoked by a globally-installed ESLint or ESLint installed elsewhere -// rather than the one we ship. This makes it possible for IDEs to lint files -// with our rules while people edit them. -const ModuleFindPath = Module._findPath; -const hacks = [ - 'eslint-plugin-node-core', - 'eslint-plugin-jsdoc', - 'eslint-plugin-markdown', - '@babel/eslint-parser', - '@babel/plugin-syntax-import-attributes', - '@stylistic/eslint-plugin-js', -]; -Module._findPath = (request, paths, isMain) => { - const r = ModuleFindPath(request, paths, isMain); - if (!r && hacks.includes(request)) { - try { - return require.resolve(`./tools/node_modules/${request}`); - } catch { - return require.resolve( - `./tools/node_modules/eslint/node_modules/${request}`); - } - } - return r; -}; - -module.exports = { - root: true, - env: { - es2022: true, - }, - extends: ['eslint:recommended', 'plugin:jsdoc/recommended'], - plugins: ['jsdoc', 'markdown', 'node-core', '@stylistic/js'], - parser: '@babel/eslint-parser', - parserOptions: { - babelOptions: { - plugins: [ - Module._findPath('@babel/plugin-syntax-import-attributes'), - ], - }, - requireConfigFile: false, - sourceType: 'script', - }, - overrides: [ - { - files: [ - '*.mjs', - 'test/es-module/test-esm-example-loader.js', - 'test/es-module/test-esm-type-flag.js', - 'test/es-module/test-esm-type-flag-alias.js', - 'test/es-module/test-require-module-detect-entry-point.js', - 'test/es-module/test-require-module-detect-entry-point-aou.js', - ], - parserOptions: { sourceType: 'module' }, - }, - { - files: ['**/*.md'], - processor: 'markdown/markdown', - }, - { - files: ['**/*.md/*.cjs', '**/*.md/*.js'], - parserOptions: { - sourceType: 'script', - ecmaFeatures: { impliedStrict: true }, - }, - rules: { strict: 'off' }, - }, - { - files: [ - '**/*.md/*.mjs', - 'doc/api/esm.md/*.js', - 'doc/api/packages.md/*.js', - ], - parserOptions: { sourceType: 'module' }, - rules: { 'no-restricted-globals': [ - 'error', - { - name: '__filename', - message: 'Use import.meta.url instead', - }, - { - name: '__dirname', - message: 'Not available in ESM', - }, - { - name: 'exports', - message: 'Not available in ESM', - }, - { - name: 'module', - message: 'Not available in ESM', - }, - { - name: 'require', - message: 'Use import instead', - }, - { - name: 'Buffer', - message: 'Import Buffer instead of using the global', - }, - { - name: 'process', - message: 'Import process instead of using the global', - }, - ] }, - }, - { - files: [ - 'lib/internal/modules/**/*.js', - ], - rules: { - 'curly': 'error', - }, - }, - { - files: [ - 'lib/internal/test_runner/**/*.js', - ], - rules: { - 'node-core/set-proto-to-null-in-object': 'error', - }, - }, - ], - rules: { - // ESLint built-in rules - // https://eslint.org/docs/rules/ - 'accessor-pairs': 'error', - 'array-callback-return': 'error', - 'block-scoped-var': 'error', - 'capitalized-comments': ['error', 'always', { - line: { - // Ignore all lines that have less characters than 20 and all lines that - // start with something that looks like a variable name or code. - ignorePattern: '.{0,20}$|[a-z]+ ?[0-9A-Z_.(/=:[#-]|std|http|ssh|ftp', - ignoreInlineComments: true, - ignoreConsecutiveComments: true, - }, - block: { - ignorePattern: '.*', - }, - }], - 'default-case-last': 'error', - 'dot-notation': 'error', - 'eqeqeq': ['error', 'smart'], - 'func-name-matching': 'error', - 'func-style': ['error', 'declaration', { allowArrowFunctions: true }], - 'no-constant-condition': ['error', { checkLoops: false }], - 'no-constructor-return': 'error', - 'no-duplicate-imports': 'error', - 'no-else-return': 'error', - 'no-lonely-if': 'error', - 'no-mixed-requires': 'error', - 'no-new-require': 'error', - 'no-path-concat': 'error', - 'no-proto': 'error', - 'no-redeclare': ['error', { 'builtinGlobals': false }], - 'no-restricted-modules': ['error', 'sys'], - 'no-restricted-properties': [ - 'error', - { - object: 'assert', - property: 'deepEqual', - message: 'Use `assert.deepStrictEqual()`.', - }, - { - object: 'assert', - property: 'notDeepEqual', - message: 'Use `assert.notDeepStrictEqual()`.', - }, - { - object: 'assert', - property: 'equal', - message: 'Use `assert.strictEqual()` rather than `assert.equal()`.', - }, - { - object: 'assert', - property: 'notEqual', - message: 'Use `assert.notStrictEqual()` rather than `assert.notEqual()`.', - }, - { - property: '__defineGetter__', - message: '__defineGetter__ is deprecated.', - }, - { - property: '__defineSetter__', - message: '__defineSetter__ is deprecated.', - }, - ], - // If this list is modified, please copy changes that should apply to ./lib - // as well to lib/.eslintrc.yaml. - 'no-restricted-syntax': [ - 'error', - { - selector: "CallExpression[callee.name='setTimeout'][arguments.length<2]", - message: '`setTimeout()` must be invoked with at least two arguments.', - }, - { - selector: "CallExpression[callee.name='setInterval'][arguments.length<2]", - message: '`setInterval()` must be invoked with at least two arguments.', - }, - { - selector: 'ThrowStatement > CallExpression[callee.name=/Error$/]', - message: 'Use `new` keyword when throwing an `Error`.', - }, - { - selector: "CallExpression[callee.property.name='substr']", - message: 'Use String.prototype.slice() or String.prototype.substring() instead of String.prototype.substr()', - }, - { - selector: "CallExpression[callee.name='isNaN']", - message: 'Use Number.isNaN() instead of the global isNaN() function.', - }, - { - // TODO(@panva): move this to no-restricted-properties - // when https://github.com/eslint/eslint/issues/16412 is fixed - selector: "Identifier[name='webcrypto']", - message: 'Use `globalThis.crypto`.', - }, - ], - 'no-self-compare': 'error', - 'no-template-curly-in-string': 'error', - 'no-throw-literal': 'error', - 'no-undef': ['error', { typeof: true }], - 'no-undef-init': 'error', - 'no-unused-expressions': ['error', { allowShortCircuit: true }], - 'no-unused-vars': ['error', { args: 'none', caughtErrors: 'all' }], - 'no-use-before-define': ['error', { - classes: true, - functions: false, - variables: false, - }], - 'no-useless-call': 'error', - 'no-useless-concat': 'error', - 'no-useless-constructor': 'error', - 'no-useless-return': 'error', - 'no-var': 'error', - 'no-void': 'error', - 'one-var': ['error', { initialized: 'never' }], - 'prefer-const': ['error', { ignoreReadBeforeAssign: true }], - 'prefer-object-has-own': 'error', - 'strict': ['error', 'global'], - 'symbol-description': 'error', - 'unicode-bom': 'error', - 'valid-typeof': ['error', { requireStringLiterals: true }], - - // ESLint recommended rules that we disable - 'no-inner-declarations': 'off', - - // JSDoc recommended rules that we disable - 'jsdoc/require-jsdoc': 'off', - 'jsdoc/require-param-description': 'off', - 'jsdoc/newline-after-description': 'off', - 'jsdoc/require-returns-description': 'off', - 'jsdoc/valid-types': 'off', - 'jsdoc/no-defaults': 'off', - 'jsdoc/no-undefined-types': 'off', - 'jsdoc/require-param': 'off', - 'jsdoc/check-tag-names': 'off', - 'jsdoc/require-returns': 'off', - - // Stylistic rules - '@stylistic/js/arrow-parens': 'error', - '@stylistic/js/arrow-spacing': 'error', - '@stylistic/js/block-spacing': 'error', - '@stylistic/js/brace-style': ['error', '1tbs', { allowSingleLine: true }], - '@stylistic/js/comma-dangle': ['error', 'always-multiline'], - '@stylistic/js/comma-spacing': 'error', - '@stylistic/js/comma-style': 'error', - '@stylistic/js/computed-property-spacing': 'error', - '@stylistic/js/dot-location': ['error', 'property'], - '@stylistic/js/eol-last': 'error', - '@stylistic/js/func-call-spacing': 'error', - '@stylistic/js/indent': ['error', 2, { - ArrayExpression: 'first', - CallExpression: { arguments: 'first' }, - FunctionDeclaration: { parameters: 'first' }, - FunctionExpression: { parameters: 'first' }, - MemberExpression: 'off', - ObjectExpression: 'first', - SwitchCase: 1, - }], - '@stylistic/js/key-spacing': 'error', - '@stylistic/js/keyword-spacing': 'error', - '@stylistic/js/linebreak-style': 'error', - '@stylistic/js/max-len': ['error', { - code: 120, - ignorePattern: '^// Flags:', - ignoreRegExpLiterals: true, - ignoreTemplateLiterals: true, - ignoreUrls: true, - tabWidth: 2, - }], - '@stylistic/js/new-parens': 'error', - '@stylistic/js/no-confusing-arrow': 'error', - '@stylistic/js/no-extra-parens': ['error', 'functions'], - '@stylistic/js/no-multi-spaces': ['error', { ignoreEOLComments: true }], - '@stylistic/js/no-multiple-empty-lines': ['error', { max: 2, maxEOF: 0, maxBOF: 0 }], - '@stylistic/js/no-tabs': 'error', - '@stylistic/js/no-trailing-spaces': 'error', - '@stylistic/js/no-whitespace-before-property': 'error', - '@stylistic/js/object-curly-newline': 'error', - '@stylistic/js/object-curly-spacing': ['error', 'always'], - '@stylistic/js/one-var-declaration-per-line': 'error', - '@stylistic/js/operator-linebreak': ['error', 'after'], - '@stylistic/js/padding-line-between-statements': [ - 'error', - { blankLine: 'always', prev: 'function', next: 'function' }, - ], - '@stylistic/js/quotes': ['error', 'single', { avoidEscape: true }], - '@stylistic/js/quote-props': ['error', 'consistent'], - '@stylistic/js/rest-spread-spacing': 'error', - '@stylistic/js/semi': 'error', - '@stylistic/js/semi-spacing': 'error', - '@stylistic/js/space-before-blocks': ['error', 'always'], - '@stylistic/js/space-before-function-paren': ['error', { - anonymous: 'never', - named: 'never', - asyncArrow: 'always', - }], - '@stylistic/js/space-in-parens': 'error', - '@stylistic/js/space-infix-ops': 'error', - '@stylistic/js/space-unary-ops': 'error', - '@stylistic/js/spaced-comment': ['error', 'always', { - 'block': { 'balanced': true }, - 'exceptions': ['-'], - }], - '@stylistic/js/template-curly-spacing': 'error', - - // Custom rules from eslint-plugin-node-core - 'node-core/no-unescaped-regexp-dot': 'error', - 'node-core/no-duplicate-requires': 'error', - 'node-core/prefer-proto': 'error', - }, - globals: { - ByteLengthQueuingStrategy: 'readable', - CompressionStream: 'readable', - CountQueuingStrategy: 'readable', - CustomEvent: 'readable', - crypto: 'readable', - Crypto: 'readable', - CryptoKey: 'readable', - DecompressionStream: 'readable', - fetch: 'readable', - FormData: 'readable', - navigator: 'readable', - ReadableStream: 'readable', - ReadableStreamDefaultReader: 'readable', - ReadableStreamBYOBReader: 'readable', - ReadableStreamBYOBRequest: 'readable', - ReadableByteStreamController: 'readable', - ReadableStreamDefaultController: 'readable', - Response: 'readable', - TextDecoderStream: 'readable', - TextEncoderStream: 'readable', - TransformStream: 'readable', - TransformStreamDefaultController: 'readable', - ShadowRealm: 'readable', - SubtleCrypto: 'readable', - WritableStream: 'readable', - WritableStreamDefaultWriter: 'readable', - WritableStreamDefaultController: 'readable', - WebSocket: 'readable', - }, -}; diff --git a/.github/label-pr-config.yml b/.github/label-pr-config.yml index 701d494ab40bd8..0a24967d4dc078 100644 --- a/.github/label-pr-config.yml +++ b/.github/label-pr-config.yml @@ -66,7 +66,7 @@ subSystemLabels: /^tools\/build-addons.mjs/: needs-ci # All other tool changes should be marked as such /^tools\//: tools - /^\.eslint|\.editorconfig/: tools + /^eslint\.config|\.editorconfig/: tools /^typings\//: typings ## Dependencies diff --git a/.github/workflows/auto-start-ci.yml b/.github/workflows/auto-start-ci.yml index 884ce035f1d392..2683508a4c9e00 100644 --- a/.github/workflows/auto-start-ci.yml +++ b/.github/workflows/auto-start-ci.yml @@ -45,7 +45,7 @@ jobs: if: needs.get-prs-for-ci.outputs.numbers != '' runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false diff --git a/.github/workflows/build-tarball.yml b/.github/workflows/build-tarball.yml index 156373cce41992..b7ec2090d26baa 100644 --- a/.github/workflows/build-tarball.yml +++ b/.github/workflows/build-tarball.yml @@ -39,7 +39,7 @@ jobs: if: github.event.pull_request.draft == false runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} @@ -65,7 +65,7 @@ jobs: needs: build-tarball runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 028dbc990355e7..f9f1f7792fc46b 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -38,7 +38,7 @@ jobs: fail-fast: false runs-on: ${{ matrix.windows }} steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} diff --git a/.github/workflows/commit-lint.yml b/.github/workflows/commit-lint.yml index 652dede5a1a86f..3bd44b15abae5f 100644 --- a/.github/workflows/commit-lint.yml +++ b/.github/workflows/commit-lint.yml @@ -17,7 +17,7 @@ jobs: run: | echo "plusOne=$((${{ github.event.pull_request.commits }} + 1))" >> $GITHUB_OUTPUT echo "minusOne=$((${{ github.event.pull_request.commits }} - 1))" >> $GITHUB_OUTPUT - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: fetch-depth: ${{ steps.nb-of-commits.outputs.plusOne }} persist-credentials: false diff --git a/.github/workflows/commit-queue.yml b/.github/workflows/commit-queue.yml index e1c1edbeb961fa..474aff3f2c1859 100644 --- a/.github/workflows/commit-queue.yml +++ b/.github/workflows/commit-queue.yml @@ -58,7 +58,7 @@ jobs: if: needs.get_mergeable_prs.outputs.numbers != '' runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: # Needs the whole git history for ncu to work # See https://github.com/nodejs/node-core-utils/pull/486 diff --git a/.github/workflows/coverage-linux-without-intl.yml b/.github/workflows/coverage-linux-without-intl.yml index fcf2776f58166d..d095f37317ff03 100644 --- a/.github/workflows/coverage-linux-without-intl.yml +++ b/.github/workflows/coverage-linux-without-intl.yml @@ -40,14 +40,22 @@ jobs: coverage-linux-without-intl: if: github.event.pull_request.draft == false runs-on: ubuntu-latest + env: + CC: sccache gcc + CXX: sccache g++ + SCCACHE_GHA_ENABLED: 'true' steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 with: python-version: ${{ env.PYTHON_VERSION }} + - name: Set up sccache + uses: mozilla-actions/sccache-action@2e7f9ec7921547d4b46598398ca573513895d0bd # v0.0.4 + with: + version: v0.8.0 - name: Environment Information run: npx envinfo - name: Install gcovr @@ -68,7 +76,7 @@ jobs: - name: Clean tmp run: rm -rf coverage/tmp && rm -rf out - name: Upload - uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # v4.3.1 + uses: codecov/codecov-action@125fc84a9a348dbcf27191600683ec096ec9021c # v4.4.1 with: directory: ./coverage token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/coverage-linux.yml b/.github/workflows/coverage-linux.yml index 0c68c4d2048859..bf71bd143f733a 100644 --- a/.github/workflows/coverage-linux.yml +++ b/.github/workflows/coverage-linux.yml @@ -40,14 +40,22 @@ jobs: coverage-linux: if: github.event.pull_request.draft == false runs-on: ubuntu-latest + env: + CC: sccache gcc + CXX: sccache g++ + SCCACHE_GHA_ENABLED: 'true' steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 with: python-version: ${{ env.PYTHON_VERSION }} + - name: Set up sccache + uses: mozilla-actions/sccache-action@2e7f9ec7921547d4b46598398ca573513895d0bd # v0.0.4 + with: + version: v0.8.0 - name: Environment Information run: npx envinfo - name: Install gcovr @@ -68,7 +76,7 @@ jobs: - name: Clean tmp run: rm -rf coverage/tmp && rm -rf out - name: Upload - uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # v4.3.1 + uses: codecov/codecov-action@125fc84a9a348dbcf27191600683ec096ec9021c # v4.4.1 with: directory: ./coverage token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/coverage-windows.yml b/.github/workflows/coverage-windows.yml index a9cca9bf7ded02..35e94d7eaf765e 100644 --- a/.github/workflows/coverage-windows.yml +++ b/.github/workflows/coverage-windows.yml @@ -41,7 +41,7 @@ jobs: if: github.event.pull_request.draft == false runs-on: windows-2022 steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} @@ -67,7 +67,7 @@ jobs: - name: Clean tmp run: npx rimraf ./coverage/tmp - name: Upload - uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # v4.3.1 + uses: codecov/codecov-action@125fc84a9a348dbcf27191600683ec096ec9021c # v4.4.1 with: directory: ./coverage token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/daily-wpt-fyi.yml b/.github/workflows/daily-wpt-fyi.yml index 2c9a98540299a1..2f7b5d6aad9b33 100644 --- a/.github/workflows/daily-wpt-fyi.yml +++ b/.github/workflows/daily-wpt-fyi.yml @@ -57,7 +57,7 @@ jobs: SHORT_SHA=$(node -p 'process.version.split(/-nightly\d{8}/)[1]') echo "NIGHTLY_REF=$(gh api /repos/nodejs/node/commits/$SHORT_SHA --jq '.sha')" >> $GITHUB_ENV - name: Checkout ${{ steps.setup-node.outputs.node-version }} - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false ref: ${{ env.NIGHTLY_REF || steps.setup-node.outputs.node-version }} @@ -73,7 +73,7 @@ jobs: run: rm -rf wpt working-directory: test/fixtures - name: Checkout epochs/daily WPT - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: repository: web-platform-tests/wpt persist-credentials: false @@ -98,7 +98,7 @@ jobs: run: rm -rf deps/undici - name: Checkout undici if: ${{ env.WPT_REPORT != '' }} - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: repository: nodejs/undici persist-credentials: false diff --git a/.github/workflows/daily.yml b/.github/workflows/daily.yml index e6d1be16315f99..184e0a8acf0bff 100644 --- a/.github/workflows/daily.yml +++ b/.github/workflows/daily.yml @@ -17,7 +17,7 @@ jobs: # not working on gcc-8 and gcc-9 see https://github.com/nodejs/node/issues/38570 container: gcc:11 steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - name: Use Node.js ${{ env.NODE_VERSION }} diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml index a46a1d34fcf5c5..838fbe151f5203 100644 --- a/.github/workflows/doc.yml +++ b/.github/workflows/doc.yml @@ -24,7 +24,7 @@ jobs: if: github.event.pull_request.draft == false runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - name: Use Node.js ${{ env.NODE_VERSION }} diff --git a/.github/workflows/find-inactive-collaborators.yml b/.github/workflows/find-inactive-collaborators.yml index 8f22aebcd35839..59ed1cc60fafdb 100644 --- a/.github/workflows/find-inactive-collaborators.yml +++ b/.github/workflows/find-inactive-collaborators.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: fetch-depth: 0 persist-credentials: false diff --git a/.github/workflows/find-inactive-tsc.yml b/.github/workflows/find-inactive-tsc.yml index aef37ae309d1b6..78998b71b0a877 100644 --- a/.github/workflows/find-inactive-tsc.yml +++ b/.github/workflows/find-inactive-tsc.yml @@ -20,13 +20,13 @@ jobs: steps: - name: Checkout the repo - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: fetch-depth: 0 persist-credentials: false - name: Clone nodejs/TSC repository - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: fetch-depth: 0 path: .tmp diff --git a/.github/workflows/license-builder.yml b/.github/workflows/license-builder.yml index 1e1d8e83fda103..a0f07b08a4583d 100644 --- a/.github/workflows/license-builder.yml +++ b/.github/workflows/license-builder.yml @@ -17,7 +17,7 @@ jobs: if: github.repository == 'nodejs/node' runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - run: ./tools/license-builder.sh # Run the license builder tool diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml index cac39cbb53f649..98056fc854e62e 100644 --- a/.github/workflows/linters.yml +++ b/.github/workflows/linters.yml @@ -25,7 +25,7 @@ jobs: if: github.event.pull_request.draft == false runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - name: Use Node.js ${{ env.NODE_VERSION }} @@ -40,7 +40,7 @@ jobs: if: github.event.pull_request.draft == false runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} @@ -55,7 +55,7 @@ jobs: if: ${{ github.event.pull_request && github.event.pull_request.draft == false && github.base_ref == github.event.repository.default_branch }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: fetch-depth: 0 persist-credentials: false @@ -93,7 +93,7 @@ jobs: if: github.event.pull_request.draft == false runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - name: Use Node.js ${{ env.NODE_VERSION }} @@ -118,7 +118,7 @@ jobs: if: github.event.pull_request.draft == false runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} @@ -135,7 +135,7 @@ jobs: if: github.event.pull_request.draft == false runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - name: Use Python ${{ env.PYTHON_VERSION }} @@ -153,7 +153,7 @@ jobs: if: github.event.pull_request.draft == false runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - run: shellcheck -V @@ -163,7 +163,7 @@ jobs: if: github.event.pull_request.draft == false runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - uses: mszostok/codeowners-validator@7f3f5e28c6d7b8dfae5731e54ce2272ca384592f @@ -173,7 +173,7 @@ jobs: if: ${{ github.event.pull_request }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: fetch-depth: 2 persist-credentials: false @@ -182,7 +182,7 @@ jobs: lint-readme: runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - run: tools/lint-readme-lists.mjs diff --git a/.github/workflows/notify-on-push.yml b/.github/workflows/notify-on-push.yml index 858a1e43705468..8e030d648ed000 100644 --- a/.github/workflows/notify-on-push.yml +++ b/.github/workflows/notify-on-push.yml @@ -34,7 +34,7 @@ jobs: permissions: pull-requests: write steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - name: Check commit message diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 66e13d64895f7a..8c09a81aced514 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -38,12 +38,12 @@ jobs: egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs - name: Checkout code - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - name: Run analysis - uses: ossf/scorecard-action@0864cf19026789058feabb7e87baa5f140aac736 # v2.3.1 + uses: ossf/scorecard-action@dc50aa9510b46c811795eb24b2f1ba02a914e534 # v2.3.3 with: results_file: results.sarif results_format: sarif @@ -73,6 +73,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: Upload to code-scanning - uses: github/codeql-action/upload-sarif@d39d31e687223d841ef683f52467bd88e9b21c14 # v3.25.3 + uses: github/codeql-action/upload-sarif@f079b8493333aace61c81488f8bd40919487bd9f # v3.25.7 with: sarif_file: results.sarif diff --git a/.github/workflows/test-asan.yml b/.github/workflows/test-asan.yml index bfb2da96c2ca80..c2115fdbf78b89 100644 --- a/.github/workflows/test-asan.yml +++ b/.github/workflows/test-asan.yml @@ -41,18 +41,23 @@ jobs: if: github.event.pull_request.draft == false runs-on: ubuntu-20.04 env: - CC: clang - CXX: clang++ - LINK: clang++ + CC: sccache clang + CXX: sccache clang++ + LINK: sccache clang++ CONFIG_FLAGS: --enable-asan + SCCACHE_GHA_ENABLED: 'true' steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 with: python-version: ${{ env.PYTHON_VERSION }} + - name: Set up sccache + uses: mozilla-actions/sccache-action@2e7f9ec7921547d4b46598398ca573513895d0bd # v0.0.4 + with: + version: v0.8.0 - name: Environment Information run: npx envinfo - name: Build diff --git a/.github/workflows/test-internet.yml b/.github/workflows/test-internet.yml index 47f0774d04cc82..4cb32df52a9f11 100644 --- a/.github/workflows/test-internet.yml +++ b/.github/workflows/test-internet.yml @@ -40,7 +40,7 @@ jobs: if: github.repository == 'nodejs/node' || github.event_name != 'schedule' runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} diff --git a/.github/workflows/test-linux.yml b/.github/workflows/test-linux.yml index 20dffc02b1d501..32890615f1b9a3 100644 --- a/.github/workflows/test-linux.yml +++ b/.github/workflows/test-linux.yml @@ -38,7 +38,7 @@ jobs: CXX: sccache g++ SCCACHE_GHA_ENABLED: 'true' steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} diff --git a/.github/workflows/test-macos.yml b/.github/workflows/test-macos.yml index 58389e97a53923..8796824e57e8c1 100644 --- a/.github/workflows/test-macos.yml +++ b/.github/workflows/test-macos.yml @@ -39,14 +39,22 @@ jobs: test-macOS: if: github.event.pull_request.draft == false runs-on: macos-14 + env: + CC: sccache gcc + CXX: sccache g++ + SCCACHE_GHA_ENABLED: 'true' steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 with: python-version: ${{ env.PYTHON_VERSION }} + - name: Set up sccache + uses: mozilla-actions/sccache-action@2e7f9ec7921547d4b46598398ca573513895d0bd # v0.0.4 + with: + version: v0.8.0 - name: Environment Information run: npx envinfo # The `npm ci` for this step fails a lot as part of the Test step. Run it diff --git a/.github/workflows/test-ubsan.yml b/.github/workflows/test-ubsan.yml index f180f3c08e4af7..3c3f8a647c9047 100644 --- a/.github/workflows/test-ubsan.yml +++ b/.github/workflows/test-ubsan.yml @@ -40,12 +40,12 @@ jobs: if: false # Temporary disabled. Reference: https://github.com/nodejs/node/pull/52293#issuecomment-2059270585 runs-on: ubuntu-latest env: - CC: gcc - CXX: g++ - LINK: g++ + CC: sccache gcc + CXX: sccache g++ + LINK: sccache g++ CONFIG_FLAGS: --enable-ubsan steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - name: Store suppressions path @@ -55,6 +55,10 @@ jobs: uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 with: python-version: ${{ env.PYTHON_VERSION }} + - name: Set up sccache + uses: mozilla-actions/sccache-action@2e7f9ec7921547d4b46598398ca573513895d0bd # v0.0.4 + with: + version: v0.8.0 - name: Environment Information run: npx envinfo - name: Build diff --git a/.github/workflows/timezone-update.yml b/.github/workflows/timezone-update.yml index d96d011984de95..37556fe4a86c9d 100644 --- a/.github/workflows/timezone-update.yml +++ b/.github/workflows/timezone-update.yml @@ -20,12 +20,12 @@ jobs: steps: - name: Checkout nodejs/node - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - name: Checkout unicode-org/icu-data - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: path: icu-data persist-credentials: false diff --git a/.github/workflows/tools.yml b/.github/workflows/tools.yml index 448a54ccc4812c..41b1782f6d5928 100644 --- a/.github/workflows/tools.yml +++ b/.github/workflows/tools.yml @@ -297,7 +297,7 @@ jobs: tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true rm temp-output steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 if: github.event_name == 'schedule' || inputs.id == 'all' || inputs.id == matrix.id with: persist-credentials: false diff --git a/.github/workflows/update-openssl.yml b/.github/workflows/update-openssl.yml index 070bf37d24be25..41ce5dd6a06f5b 100644 --- a/.github/workflows/update-openssl.yml +++ b/.github/workflows/update-openssl.yml @@ -14,7 +14,7 @@ jobs: if: github.repository == 'nodejs/node' runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - name: Check and download new OpenSSL version diff --git a/.github/workflows/update-v8.yml b/.github/workflows/update-v8.yml index 68616c318db057..224bef90f40428 100644 --- a/.github/workflows/update-v8.yml +++ b/.github/workflows/update-v8.yml @@ -16,7 +16,7 @@ jobs: if: github.repository == 'nodejs/node' runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false - name: Cache node modules and update-v8 diff --git a/.gitignore b/.gitignore index 34c26e3a81e051..fad2496b978066 100644 --- a/.gitignore +++ b/.gitignore @@ -13,9 +13,6 @@ !.clang-format !.cpplint !.editorconfig -!.eslintignore -!.eslintrc.js -!.eslintrc.yaml !.gitattributes !.github !.gitignore diff --git a/BUILDING.md b/BUILDING.md index 7148fe8e6ac7ee..9f514ac2bf352a 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -625,8 +625,8 @@ Refs: #24448, , [vcpkg](https:/ * The current [version of Python][Python versions] from the [Microsoft Store](https://apps.microsoft.com/store/search?publisher=Python+Software+Foundation) * The "Desktop development with C++" workload from - [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/) or - the "C++ build tools" workload from the + [Visual Studio 2022 (17.6 or newer)](https://visualstudio.microsoft.com/downloads/) + or the "C++ build tools" workload from the [Build Tools](https://aka.ms/vs/17/release/vs_buildtools.exe), with the default optional components * Basic Unix tools required for some tests, @@ -691,6 +691,15 @@ disk space. git clone https://github.com/nodejs/node.git cd node ``` + +> \[!TIP] +> If you are building from a Windows machine, symlinks are disabled by default, and can be enabled by cloning +> with the `-c core.symlinks=true` flag. +> +> ```powershell +> git clone -c core.symlinks=true +> ``` + * If the path to your build directory contains a space or a non-ASCII character, the build will likely fail diff --git a/CHANGELOG.md b/CHANGELOG.md index c08001e9d240b2..368f23b5d9048b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,7 +38,8 @@ release. -22.2.0
+22.3.0
+22.2.0
22.1.0
22.0.0
diff --git a/Makefile b/Makefile index a95ab879942c9a..271b9714ec8031 100644 --- a/Makefile +++ b/Makefile @@ -146,7 +146,8 @@ endif ifdef JOBS NINJA_ARGS := $(NINJA_ARGS) -j$(JOBS) else - NINJA_ARGS := $(NINJA_ARGS) $(filter -j%,$(MAKEFLAGS)) + IMMEDIATE_NINJA_ARGS := $(NINJA_ARGS) + NINJA_ARGS = $(IMMEDIATE_NINJA_ARGS) $(filter -j%,$(MAKEFLAGS)) endif $(NODE_EXE): config.gypi out/Release/build.ninja $(NINJA) -C out/Release $(NINJA_ARGS) @@ -552,6 +553,7 @@ test-ci-native: | benchmark/napi/.buildstamp test/addons/.buildstamp test/js-nat test-ci-js: | clear-stalled $(PYTHON) tools/test.py $(PARALLEL_ARGS) -p tap --logfile test.tap \ --mode=$(BUILDTYPE_LOWER) --flaky-tests=$(FLAKY_TESTS) \ + --skip-tests=$(CI_SKIP_TESTS) \ $(TEST_CI_ARGS) $(CI_JS_SUITES) $(info Clean up any leftover processes, error if found.) ps awwx | grep Release/node | grep -v grep | cat @@ -1194,7 +1196,7 @@ $(TARBALL): release-only doc-only find $(TARNAME)/deps/v8/test/* -type d ! -regex '.*/test/torque$$' | xargs $(RM) -r find $(TARNAME)/deps/v8/test -type f ! -regex '.*/test/torque/.*' | xargs $(RM) find $(TARNAME)/deps/zlib/contrib/* -type d ! -regex '.*/contrib/optimizations$$' | xargs $(RM) -r - find $(TARNAME)/ -name ".eslint*" -maxdepth 2 | xargs $(RM) + find $(TARNAME)/ -name "eslint.config*" -maxdepth 2 | xargs $(RM) find $(TARNAME)/ -type l | xargs $(RM) tar -cf $(TARNAME).tar $(TARNAME) $(RM) -r $(TARNAME) @@ -1372,7 +1374,7 @@ format-md: -LINT_JS_TARGETS = .eslintrc.js benchmark doc lib test tools +LINT_JS_TARGETS = eslint.config.mjs benchmark doc lib test tools run-lint-js = tools/node_modules/eslint/bin/eslint.js --cache \ --max-warnings=0 --report-unused-disable-directives $(LINT_JS_TARGETS) @@ -1523,8 +1525,8 @@ cpplint: lint-cpp # Try with '--system' if it fails without; the system may have set '--user' lint-py-build: $(info Pip installing ruff on $(shell $(PYTHON) --version)...) - $(PYTHON) -m pip install --upgrade --target tools/pip/site-packages ruff==0.3.4 || \ - $(PYTHON) -m pip install --upgrade --system --target tools/pip/site-packages ruff==0.3.4 + $(PYTHON) -m pip install --upgrade --target tools/pip/site-packages ruff==0.4.5 || \ + $(PYTHON) -m pip install --upgrade --system --target tools/pip/site-packages ruff==0.4.5 .PHONY: lint-py ifneq ("","$(wildcard tools/pip/site-packages/ruff)") diff --git a/README.md b/README.md index 8f3b9bfaeff0d3..8e1ddf8531d3be 100644 --- a/README.md +++ b/README.md @@ -180,6 +180,8 @@ For information about the governance of the Node.js project, see **Joyee Cheung** <> (she/her) * [legendecas](https://github.com/legendecas) - **Chengzhong Wu** <> (he/him) +* [marco-ippolito](https://github.com/marco-ippolito) - + **Marco Ippolito** <> (he/him) * [mcollina](https://github.com/mcollina) - **Matteo Collina** <> (he/him) * [mhdawson](https://github.com/mhdawson) - @@ -431,6 +433,8 @@ For information about the governance of the Node.js project, see **Paolo Insogna** <> (he/him) * [srl295](https://github.com/srl295) - **Steven R Loomis** <> +* [StefanStojanovic](https://github.com/StefanStojanovic) - + **Stefan Stojanovic** <> (he/him) * [sxa](https://github.com/sxa) - **Stewart X Addison** <> (he/him) * [targos](https://github.com/targos) - @@ -453,8 +457,6 @@ For information about the governance of the Node.js project, see **Daijiro Wachi** <> (he/him) * [XadillaX](https://github.com/XadillaX) - **Khaidi Chu** <> (he/him) -* [yashLadha](https://github.com/yashLadha) - - **Yash Ladha** <> (he/him) * [zcbenz](https://github.com/zcbenz) - **Cheng Zhao** <> (he/him) * [ZYSzys](https://github.com/ZYSzys) - @@ -703,6 +705,8 @@ For information about the governance of the Node.js project, see **Thomas Watson** <> * [whitlockjc](https://github.com/whitlockjc) - **Jeremy Whitlock** <> +* [yashLadha](https://github.com/yashLadha) - + **Yash Ladha** <> (he/him) * [yhwang](https://github.com/yhwang) - **Yihong Wang** <> * [yorkie](https://github.com/yorkie) - diff --git a/SECURITY.md b/SECURITY.md index 7d62c76e5b898c..eac71b4e45e9e0 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -4,7 +4,7 @@ Report security bugs in Node.js via [HackerOne](https://hackerone.com/nodejs). -Normally your report will be acknowledged within 5 days, and you'll receive +Normally, your report will be acknowledged within 5 days, and you'll receive a more detailed response to your report within 10 days indicating the next steps in handling your submission. These timelines may extend when our triage volunteers are away on holiday, particularly at the end of the @@ -21,9 +21,9 @@ The Node.js project engages in an official bug bounty program for security researchers and responsible public disclosures. The program is managed through the HackerOne platform. See for further details. -## Reporting a bug in a third party module +## Reporting a bug in a third-party module -Security bugs in third party modules should be reported to their respective +Security bugs in third-party modules should be reported to their respective maintainers. ## Disclosure policy @@ -41,20 +41,19 @@ Here is the security disclosure policy for Node.js * A suggested embargo date for this vulnerability is chosen and a CVE (Common Vulnerabilities and Exposures (CVE®)) is requested for the vulnerability. -* On the embargo date, the Node.js security mailing list is sent a copy of the - announcement. The changes are pushed to the public repository and new builds - are deployed to nodejs.org. Within 6 hours of the mailing list being +* On the embargo date, a copy of the announcement is sent to the Node.js + security mailing list. The changes are pushed to the public repository and new + builds are deployed to nodejs.org. Within 6 hours of the mailing list being notified, a copy of the advisory will be published on the Node.js blog. -* Typically the embargo date will be set 72 hours from the time the CVE is +* Typically, the embargo date will be set 72 hours from the time the CVE is issued. However, this may vary depending on the severity of the bug or difficulty in applying a fix. -* This process can take some time, especially when coordination is required - with maintainers of other projects. Every effort will be made to handle the - bug in as timely a manner as possible; however, it's important that we follow - the release process above to ensure that the disclosure is handled in a - consistent manner. +* This process can take some time, especially when we need to coordinate with + maintainers of other projects. We will try to handle the bug as quickly as + possible; however, we must follow the release process above to ensure that we + handle disclosure consistently. ## The Node.js threat model @@ -91,12 +90,12 @@ Vulnerabilities related to this case may be fixed by a documentation update. 2. The data received from the remote end of outbound network connections that are created through the use of Node.js APIs and which is transformed/validated by Node.js before being passed - to the application EXCEPT in respect to payload length. Node.js trusts + to the application EXCEPT with respect to payload length. Node.js trusts that applications make connections/requests which will avoid payload sizes that will result in a Denial of Service. * HTTP APIs (all flavors) client APIs. * DNS APIs. -3. Consumers of data protected through the use of Node.js APIs (for example +3. Consumers of data protected through the use of Node.js APIs (for example, people who have access to data encrypted through the Node.js crypto APIs). 4. The file content or other I/O that is opened for reading or writing by the use of Node.js APIs (ex: stdin, stdout, stderr). @@ -107,13 +106,13 @@ a security vulnerability. Examples of unwanted actions are polluting globals, causing an unrecoverable crash, or any other unexpected side effects that can lead to a loss of confidentiality, integrity, or availability. -**Node.js trusts everything else**. As some examples this includes: +**Node.js trusts everything else**. Examples include: 1. The developers and infrastructure that runs it. 2. The operating system that Node.js is running under and its configuration, along with anything under control of the operating system. -3. The code it is asked to run including JavaScript and native code, even if - said code is dynamically loaded, e.g. all dependencies installed from the +3. The code it is asked to run, including JavaScript and native code, even if + said code is dynamically loaded, e.g., all dependencies installed from the npm registry. The code run inherits all the privileges of the execution user. 4. Inputs provided to it by the code it is asked to run, as it is the @@ -135,7 +134,7 @@ In addition to addressing vulnerabilities based on the above, the project works to avoid APIs and internal implementations that make it "easy" for application code to use the APIs incorrectly in a way that results in vulnerabilities within the application code itself. While we don’t consider those vulnerabilities in -Node.js itself and will not necessarily issue a CVE we do want them to be +Node.js itself and will not necessarily issue a CVE, we do want them to be reported privately to Node.js first. We often choose to work to improve our APIs based on those reports and issue fixes either in regular or security releases depending on how much of a risk to @@ -173,13 +172,13 @@ the community they pose. #### Malicious Third-Party Modules (CWE-1357) -* Code is trusted by Node.js, therefore any scenario that requires a malicious +* Code is trusted by Node.js. Therefore any scenario that requires a malicious third-party module cannot result in a vulnerability in Node.js. #### Prototype Pollution Attacks (CWE-1321) * Node.js trusts the inputs provided to it by application code. - It is up to the application to sanitize appropriately, therefore any scenario + It is up to the application to sanitize appropriately. Therefore any scenario that requires control over user input is not considered a vulnerability. #### Uncontrolled Search Path Element (CWE-427) @@ -205,8 +204,8 @@ the community they pose. * Corepack defaults to downloading the latest version of the software requested by the user, or a specific version requested by the user. For this reason, - Node.js releases won't be affected by such vulnerabilities, users are - responsible to keep the software they use through Corepack up-to-date. + Node.js releases won't be affected by such vulnerabilities. Users are + responsible for keeping the software they use through Corepack up-to-date. ## Assessing experimental features reports diff --git a/android_configure.py b/android_configure.py index a82bb56bc5f5b6..5cea0393f48a76 100644 --- a/android_configure.py +++ b/android_configure.py @@ -10,8 +10,8 @@ def patch_android(): os.system('patch -f ./deps/v8/src/trap-handler/trap-handler.h < ./android-patches/trap-handler.h.patch') print("\033[92mInfo: \033[0m" + "Tried to patch.") -if platform.system() == "Windows": - print("android-configure is not supported on Windows yet.") +if platform.system() != "Linux" and platform.system() != "Darwin": + print("android-configure is currently only supported on Linux and Darwin.") sys.exit(1) if len(sys.argv) == 2 and sys.argv[1] == "patch": diff --git a/benchmark/.eslintrc.yaml b/benchmark/.eslintrc.yaml deleted file mode 100644 index aa014eec4e3627..00000000000000 --- a/benchmark/.eslintrc.yaml +++ /dev/null @@ -1,8 +0,0 @@ -## Benchmark-specific linter rules - -env: - node: true - es6: true - -rules: - prefer-arrow-callback: error diff --git a/benchmark/eslint.config_partial.mjs b/benchmark/eslint.config_partial.mjs new file mode 100644 index 00000000000000..b980450add2006 --- /dev/null +++ b/benchmark/eslint.config_partial.mjs @@ -0,0 +1,17 @@ +import { requireEslintTool } from '../tools/eslint.config_utils.mjs'; + +const globals = requireEslintTool('globals'); + +export default [ + { + files: ['benchmark/**/*.{js,mjs,cjs}'], + languageOptions: { + globals: { + ...globals.node, + }, + }, + rules: { + 'prefer-arrow-callback': 'error', + }, + }, +]; diff --git a/benchmark/napi/ref/addon.c b/benchmark/napi/ref/addon.c index 3fb8de603d3ced..2a7d3c8b2df23e 100644 --- a/benchmark/napi/ref/addon.c +++ b/benchmark/napi/ref/addon.c @@ -1,6 +1,5 @@ -#include -#define NAPI_EXPERIMENTAL #include +#include #define NAPI_CALL(env, call) \ do { \ @@ -34,8 +33,7 @@ SetCount(napi_env env, napi_callback_info info) { return NULL; } -static void -IncrementCounter(napi_env env, void* data, void* hint) { +static void IncrementCounter(node_api_nogc_env env, void* data, void* hint) { size_t* count = data; (*count) = (*count) + 1; } diff --git a/benchmark/permission/permission-processhas-fs-read.js b/benchmark/permission/permission-processhas-fs-read.js index bd81814e55861a..e0b2efdb3b2f74 100644 --- a/benchmark/permission/permission-processhas-fs-read.js +++ b/benchmark/permission/permission-processhas-fs-read.js @@ -13,6 +13,7 @@ const options = { flags: [ '--experimental-permission', `--allow-fs-read=${rootPath}`, + '--allow-child-process', ], }; diff --git a/benchmark/permission/permission-startup.js b/benchmark/permission/permission-startup.js index c800706299bb23..08326909aa4e41 100644 --- a/benchmark/permission/permission-startup.js +++ b/benchmark/permission/permission-startup.js @@ -47,10 +47,10 @@ function spawnProcess(script, bench, state) { function main({ count, script, nFiles, prefixPath }) { script = path.resolve(__dirname, '../../', `${script}.js`); - const files = mockFiles(nFiles, prefixPath).join(','); const optionsWithScript = [ '--experimental-permission', - `--allow-fs-read=${files},${script}`, + `--allow-fs-read=${script}`, + ...mockFiles(nFiles, prefixPath).map((file) => '--allow-fs-read=' + file), script, ]; const warmup = 3; diff --git a/common.gypi b/common.gypi index 5acbea811ca6d7..fc45ca4389fdb7 100644 --- a/common.gypi +++ b/common.gypi @@ -36,7 +36,7 @@ # Reset this number to 0 on major V8 upgrades. # Increment by one for each non-official patch applied to deps/v8. - 'v8_embedder_string': '-node.12', + 'v8_embedder_string': '-node.13', ##### V8 defaults for Node.js ##### diff --git a/configure b/configure index 711a3014b9a67f..29ebe882b092cd 100755 --- a/configure +++ b/configure @@ -4,6 +4,7 @@ # Note that the mix of single and double quotes is intentional, # as is the fact that the ] goes on a new line. _=[ 'exec' '/bin/sh' '-c' ''' +command -v python3.13 >/dev/null && exec python3.13 "$0" "$@" command -v python3.12 >/dev/null && exec python3.12 "$0" "$@" command -v python3.11 >/dev/null && exec python3.11 "$0" "$@" command -v python3.10 >/dev/null && exec python3.10 "$0" "$@" @@ -24,7 +25,7 @@ except ImportError: from distutils.spawn import find_executable as which print('Node.js configure: Found Python {}.{}.{}...'.format(*sys.version_info)) -acceptable_pythons = ((3, 12), (3, 11), (3, 10), (3, 9), (3, 8), (3, 7), (3, 6)) +acceptable_pythons = ((3, 13), (3, 12), (3, 11), (3, 10), (3, 9), (3, 8), (3, 7), (3, 6)) if sys.version_info[:2] in acceptable_pythons: import configure else: diff --git a/configure.py b/configure.py index f5657e10fa1f81..c68e4b48e7c763 100755 --- a/configure.py +++ b/configure.py @@ -397,7 +397,7 @@ action='store', dest='shared_uvwasi_libname', default='uvwasi', - help='alternative lib name to link to [default: %default]') + help='alternative lib name to link to [default: %(default)s]') shared_optgroup.add_argument('--shared-uvwasi-libpath', action='store', diff --git a/deps/ada/ada.cpp b/deps/ada/ada.cpp index bff36abb835760..28ca61f8b801ab 100644 --- a/deps/ada/ada.cpp +++ b/deps/ada/ada.cpp @@ -1,4 +1,4 @@ -/* auto-generated on 2024-04-11 16:39:11 -0400. Do not edit! */ +/* auto-generated on 2024-05-30 22:24:57 -0400. Do not edit! */ /* begin file src/ada.cpp */ #include "ada.h" /* begin file src/checkers.cpp */ @@ -65,8 +65,7 @@ static constexpr std::array path_signature_table = std::array result{}; for (size_t i = 0; i < 256; i++) { if (i <= 0x20 || i == 0x22 || i == 0x23 || i == 0x3c || i == 0x3e || - i == 0x3f || i == 0x60 || i == 0x7b || i == 0x7b || i == 0x7d || - i > 0x7e) { + i == 0x3f || i == 0x60 || i == 0x7b || i == 0x7d || i > 0x7e) { result[i] = 1; } else if (i == 0x25) { result[i] = 8; @@ -9839,24 +9838,34 @@ ada_really_inline bool has_tabs_or_newline( } // fast path for long strings (expected to be common) size_t i = 0; - const uint8x16_t mask1 = vmovq_n_u8('\r'); - const uint8x16_t mask2 = vmovq_n_u8('\n'); - const uint8x16_t mask3 = vmovq_n_u8('\t'); + /** + * The fastest way to check for `\t` (==9), '\n'(== 10) and `\r` (==13) relies + * on table lookup instruction. We notice that these are all unique numbers + * between 0..15. Let's prepare a special register, where we put '\t' in the + * 9th position, '\n' - 10th and '\r' - 13th. Then we shuffle this register by + * input register. If the input had `\t` in position X then this shuffled + * register will also have '\t' in that position. Comparing input with this + * shuffled register will mark us all interesting characters in the input. + * + * credit for algorithmic idea: @aqrit, credit for description: + * @DenisYaroshevskiy + */ + static uint8_t rnt_array[16] = {1, 0, 0, 0, 0, 0, 0, 0, + 0, 9, 10, 0, 0, 13, 0, 0}; + const uint8x16_t rnt = vld1q_u8(rnt_array); + // m['0xd', '0xa', '0x9'] uint8x16_t running{0}; for (; i + 15 < user_input.size(); i += 16) { uint8x16_t word = vld1q_u8((const uint8_t*)user_input.data() + i); - running = vorrq_u8(vorrq_u8(running, vorrq_u8(vceqq_u8(word, mask1), - vceqq_u8(word, mask2))), - vceqq_u8(word, mask3)); + + running = vorrq_u8(running, vceqq_u8(vqtbl1q_u8(rnt, word), word)); } if (i < user_input.size()) { uint8x16_t word = vld1q_u8((const uint8_t*)user_input.data() + user_input.length() - 16); - running = vorrq_u8(vorrq_u8(running, vorrq_u8(vceqq_u8(word, mask1), - vceqq_u8(word, mask2))), - vceqq_u8(word, mask3)); + running = vorrq_u8(running, vceqq_u8(vqtbl1q_u8(rnt, word), word)); } - return vmaxvq_u8(running) != 0; + return vmaxvq_u32(vreinterpretq_u32_u8(running)) != 0; } #elif ADA_SSE2 ada_really_inline bool has_tabs_or_newline( @@ -9876,6 +9885,7 @@ ada_really_inline bool has_tabs_or_newline( const __m128i mask1 = _mm_set1_epi8('\r'); const __m128i mask2 = _mm_set1_epi8('\n'); const __m128i mask3 = _mm_set1_epi8('\t'); + // If we supported SSSE3, we could use the algorithm that we use for NEON. __m128i running{0}; for (; i + 15 < user_input.size(); i += 16) { __m128i word = _mm_loadu_si128((const __m128i*)(user_input.data() + i)); @@ -9898,7 +9908,7 @@ ada_really_inline bool has_tabs_or_newline( ada_really_inline bool has_tabs_or_newline( std::string_view user_input) noexcept { auto has_zero_byte = [](uint64_t v) { - return ((v - 0x0101010101010101) & ~(v)&0x8080808080808080); + return ((v - 0x0101010101010101) & ~(v) & 0x8080808080808080); }; size_t i = 0; uint64_t mask1 = broadcast('\r'); @@ -10028,15 +10038,8 @@ contains_forbidden_domain_code_point_or_upper(const char* input, constexpr static std::array is_alnum_plus_table = []() constexpr { std::array result{}; for (size_t c = 0; c < 256; c++) { - if (c >= '0' && c <= '9') { - result[c] = true; - } else if (c >= 'a' && c <= 'z') { - result[c] = true; - } else if (c >= 'A' && c <= 'Z') { - result[c] = true; - } else if (c == '+' || c == '-' || c == '.') { - result[c] = true; - } + result[c] = (c >= '0' && c <= '9') || (c >= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') || c == '+' || c == '-' || c == '.'; } return result; }(); @@ -10659,7 +10662,7 @@ ada_really_inline size_t find_next_host_delimiter_special( uint8x16_t lowpart = vqtbl1q_u8(low_mask, vandq_u8(word, fmask)); uint8x16_t highpart = vqtbl1q_u8(high_mask, vshrq_n_u8(word, 4)); uint8x16_t classify = vandq_u8(lowpart, highpart); - if (vmaxvq_u8(classify) != 0) { + if (vmaxvq_u32(vreinterpretq_u32_u8(classify)) != 0) { uint8x16_t is_zero = vceqq_u8(classify, zero); uint16_t is_non_zero = ~to_bitmask(is_zero); return i + trailing_zeroes(is_non_zero); @@ -10672,7 +10675,7 @@ ada_really_inline size_t find_next_host_delimiter_special( uint8x16_t lowpart = vqtbl1q_u8(low_mask, vandq_u8(word, fmask)); uint8x16_t highpart = vqtbl1q_u8(high_mask, vshrq_n_u8(word, 4)); uint8x16_t classify = vandq_u8(lowpart, highpart); - if (vmaxvq_u8(classify) != 0) { + if (vmaxvq_u32(vreinterpretq_u32_u8(classify)) != 0) { uint8x16_t is_zero = vceqq_u8(classify, zero); uint16_t is_non_zero = ~to_bitmask(is_zero); return view.length() - 16 + trailing_zeroes(is_non_zero); @@ -10797,7 +10800,7 @@ ada_really_inline size_t find_next_host_delimiter(std::string_view view, uint8x16_t lowpart = vqtbl1q_u8(low_mask, vandq_u8(word, fmask)); uint8x16_t highpart = vqtbl1q_u8(high_mask, vshrq_n_u8(word, 4)); uint8x16_t classify = vandq_u8(lowpart, highpart); - if (vmaxvq_u8(classify) != 0) { + if (vmaxvq_u32(vreinterpretq_u32_u8(classify)) != 0) { uint8x16_t is_zero = vceqq_u8(classify, zero); uint16_t is_non_zero = ~to_bitmask(is_zero); return i + trailing_zeroes(is_non_zero); @@ -10810,7 +10813,7 @@ ada_really_inline size_t find_next_host_delimiter(std::string_view view, uint8x16_t lowpart = vqtbl1q_u8(low_mask, vandq_u8(word, fmask)); uint8x16_t highpart = vqtbl1q_u8(high_mask, vshrq_n_u8(word, 4)); uint8x16_t classify = vandq_u8(lowpart, highpart); - if (vmaxvq_u8(classify) != 0) { + if (vmaxvq_u32(vreinterpretq_u32_u8(classify)) != 0) { uint8x16_t is_zero = vceqq_u8(classify, zero); uint16_t is_non_zero = ~to_bitmask(is_zero); return view.length() - 16 + trailing_zeroes(is_non_zero); @@ -11164,7 +11167,7 @@ ada_really_inline void strip_trailing_spaces_from_opaque_path( static constexpr std::array authority_delimiter_special = []() constexpr { std::array result{}; - for (int i : {'@', '/', '\\', '?'}) { + for (uint8_t i : {'@', '/', '\\', '?'}) { result[i] = 1; } return result; @@ -11185,7 +11188,7 @@ find_authority_delimiter_special(std::string_view view) noexcept { // @ / ? static constexpr std::array authority_delimiter = []() constexpr { std::array result{}; - for (int i : {'@', '/', '?'}) { + for (uint8_t i : {'@', '/', '?'}) { result[i] = 1; } return result; @@ -11255,7 +11258,7 @@ bool url::parse_ipv4(std::string_view input) { segment_result = 0; input.remove_prefix(2); } else { - std::from_chars_result r; + std::from_chars_result r{}; if (is_hex) { r = std::from_chars(input.data() + 2, input.data() + input.size(), segment_result, 16); @@ -11809,7 +11812,6 @@ ada_really_inline void url::parse_path(std::string_view input) { * Includes all the getters of `ada::url` */ -#include #include namespace ada { @@ -12058,7 +12060,6 @@ void url::set_hash(const std::string_view input) { helpers::remove_ascii_tab_or_newline(new_value); hash = unicode::percent_encode(new_value, ada::character_sets::FRAGMENT_PERCENT_ENCODE); - return; } void url::set_search(const std::string_view input) { @@ -12136,7 +12137,6 @@ bool url::set_href(const std::string_view input) { /* end file src/url-setters.cpp */ /* begin file src/parser.cpp */ -#include #include namespace ada::parser { @@ -13121,7 +13121,6 @@ namespace ada { if (hash_start < index) { return false; } - index = hash_start; } return true; @@ -13479,7 +13478,7 @@ bool url_aggregator::set_pathname(const std::string_view input) { } clear_pathname(); parse_path(input); - if (checkers::begins_with(input, "//") && !has_authority() && + if (checkers::begins_with(get_pathname(), "//") && !has_authority() && !has_dash_dot()) { buffer.insert(components.pathname_start, "/."); components.pathname_start += 2; @@ -13863,7 +13862,7 @@ bool url_aggregator::set_hostname(const std::string_view input) { // if we have an empty host, then the space between components.host_end and // components.pathname_start may be occupied by /. if (start == components.host_end) { - return std::string_view(); + return {}; } return helpers::substring(buffer, start, components.pathname_start); } @@ -13887,7 +13886,7 @@ bool url_aggregator::set_hostname(const std::string_view input) { components.pathname_start, " buffer.size() = ", buffer.size(), " components.search_start = ", components.search_start, " components.hash_start = ", components.hash_start); - uint32_t ending_index = uint32_t(buffer.size()); + auto ending_index = uint32_t(buffer.size()); if (components.search_start != url_components::omitted) { ending_index = components.search_start; } else if (components.hash_start != url_components::omitted) { @@ -13903,7 +13902,7 @@ bool url_aggregator::set_hostname(const std::string_view input) { if (components.search_start == url_components::omitted) { return ""; } - uint32_t ending_index = uint32_t(buffer.size()); + auto ending_index = uint32_t(buffer.size()); if (components.hash_start != url_components::omitted) { ending_index = components.hash_start; } @@ -14041,7 +14040,7 @@ bool url_aggregator::parse_ipv4(std::string_view input, bool in_place) { segment_result = 0; input.remove_prefix(2); } else { - std::from_chars_result r; + std::from_chars_result r{}; if (is_hex) { ada_log("parse_ipv4 trying to parse hex number"); r = std::from_chars(input.data() + 2, input.data() + input.size(), @@ -14988,8 +14987,7 @@ bool ada_can_parse_with_base(const char* input, size_t input_length, } void ada_free(ada_url result) noexcept { - ada::result* r = - (ada::result*)result; + auto* r = (ada::result*)result; delete r; } @@ -15006,7 +15004,7 @@ bool ada_is_valid(ada_url result) noexcept { // caller must free the result with ada_free_owned_string ada_owned_string ada_get_origin(ada_url result) noexcept { ada::result& r = get_instance(result); - ada_owned_string owned; + ada_owned_string owned{}; if (!r) { owned.data = nullptr; owned.length = 0; @@ -15021,14 +15019,12 @@ ada_owned_string ada_get_origin(ada_url result) noexcept { void ada_free_owned_string(ada_owned_string owned) noexcept { delete[] owned.data; - owned.data = nullptr; - owned.length = 0; } ada_string ada_get_href(ada_url result) noexcept { ada::result& r = get_instance(result); if (!r) { - return ada_string_create(NULL, 0); + return ada_string_create(nullptr, 0); } std::string_view out = r->get_href(); return ada_string_create(out.data(), out.length()); @@ -15037,7 +15033,7 @@ ada_string ada_get_href(ada_url result) noexcept { ada_string ada_get_username(ada_url result) noexcept { ada::result& r = get_instance(result); if (!r) { - return ada_string_create(NULL, 0); + return ada_string_create(nullptr, 0); } std::string_view out = r->get_username(); return ada_string_create(out.data(), out.length()); @@ -15046,7 +15042,7 @@ ada_string ada_get_username(ada_url result) noexcept { ada_string ada_get_password(ada_url result) noexcept { ada::result& r = get_instance(result); if (!r) { - return ada_string_create(NULL, 0); + return ada_string_create(nullptr, 0); } std::string_view out = r->get_password(); return ada_string_create(out.data(), out.length()); @@ -15055,7 +15051,7 @@ ada_string ada_get_password(ada_url result) noexcept { ada_string ada_get_port(ada_url result) noexcept { ada::result& r = get_instance(result); if (!r) { - return ada_string_create(NULL, 0); + return ada_string_create(nullptr, 0); } std::string_view out = r->get_port(); return ada_string_create(out.data(), out.length()); @@ -15064,7 +15060,7 @@ ada_string ada_get_port(ada_url result) noexcept { ada_string ada_get_hash(ada_url result) noexcept { ada::result& r = get_instance(result); if (!r) { - return ada_string_create(NULL, 0); + return ada_string_create(nullptr, 0); } std::string_view out = r->get_hash(); return ada_string_create(out.data(), out.length()); @@ -15073,7 +15069,7 @@ ada_string ada_get_hash(ada_url result) noexcept { ada_string ada_get_host(ada_url result) noexcept { ada::result& r = get_instance(result); if (!r) { - return ada_string_create(NULL, 0); + return ada_string_create(nullptr, 0); } std::string_view out = r->get_host(); return ada_string_create(out.data(), out.length()); @@ -15082,7 +15078,7 @@ ada_string ada_get_host(ada_url result) noexcept { ada_string ada_get_hostname(ada_url result) noexcept { ada::result& r = get_instance(result); if (!r) { - return ada_string_create(NULL, 0); + return ada_string_create(nullptr, 0); } std::string_view out = r->get_hostname(); return ada_string_create(out.data(), out.length()); @@ -15091,7 +15087,7 @@ ada_string ada_get_hostname(ada_url result) noexcept { ada_string ada_get_pathname(ada_url result) noexcept { ada::result& r = get_instance(result); if (!r) { - return ada_string_create(NULL, 0); + return ada_string_create(nullptr, 0); } std::string_view out = r->get_pathname(); return ada_string_create(out.data(), out.length()); @@ -15100,7 +15096,7 @@ ada_string ada_get_pathname(ada_url result) noexcept { ada_string ada_get_search(ada_url result) noexcept { ada::result& r = get_instance(result); if (!r) { - return ada_string_create(NULL, 0); + return ada_string_create(nullptr, 0); } std::string_view out = r->get_search(); return ada_string_create(out.data(), out.length()); @@ -15109,7 +15105,7 @@ ada_string ada_get_search(ada_url result) noexcept { ada_string ada_get_protocol(ada_url result) noexcept { ada::result& r = get_instance(result); if (!r) { - return ada_string_create(NULL, 0); + return ada_string_create(nullptr, 0); } std::string_view out = r->get_protocol(); return ada_string_create(out.data(), out.length()); @@ -15368,15 +15364,14 @@ ada_url_search_params ada_parse_search_params(const char* input, } void ada_free_search_params(ada_url_search_params result) { - ada::result* r = - (ada::result*)result; + auto* r = (ada::result*)result; delete r; } ada_owned_string ada_search_params_to_string(ada_url_search_params result) { ada::result& r = *(ada::result*)result; - if (!r) return ada_owned_string{NULL, 0}; + if (!r) return ada_owned_string{nullptr, 0}; std::string out = r->to_string(); ada_owned_string owned{}; owned.length = out.size(); @@ -15471,11 +15466,11 @@ ada_string ada_search_params_get(ada_url_search_params result, const char* key, ada::result& r = *(ada::result*)result; if (!r) { - return ada_string_create(NULL, 0); + return ada_string_create(nullptr, 0); } auto found = r->get(std::string_view(key, key_length)); if (!found.has_value()) { - return ada_string_create(NULL, 0); + return ada_string_create(nullptr, 0); } return ada_string_create(found->data(), found->length()); } @@ -15526,14 +15521,12 @@ ada_url_search_params_entries_iter ada_search_params_get_entries( } void ada_free_strings(ada_strings result) { - ada::result>* r = - (ada::result>*)result; + auto* r = (ada::result>*)result; delete r; } size_t ada_strings_size(ada_strings result) { - ada::result>* r = - (ada::result>*)result; + auto* r = (ada::result>*)result; if (!r) { return 0; } @@ -15541,39 +15534,35 @@ size_t ada_strings_size(ada_strings result) { } ada_string ada_strings_get(ada_strings result, size_t index) { - ada::result>* r = - (ada::result>*)result; + auto* r = (ada::result>*)result; if (!r) { - return ada_string_create(NULL, 0); + return ada_string_create(nullptr, 0); } std::string_view view = (*r)->at(index); return ada_string_create(view.data(), view.length()); } void ada_free_search_params_keys_iter(ada_url_search_params_keys_iter result) { - ada::result* r = - (ada::result*)result; + auto* r = (ada::result*)result; delete r; } ada_string ada_search_params_keys_iter_next( ada_url_search_params_keys_iter result) { - ada::result* r = - (ada::result*)result; + auto* r = (ada::result*)result; if (!r) { - return ada_string_create(NULL, 0); + return ada_string_create(nullptr, 0); } auto next = (*r)->next(); if (!next.has_value()) { - return ada_string_create(NULL, 0); + return ada_string_create(nullptr, 0); } return ada_string_create(next->data(), next->length()); } bool ada_search_params_keys_iter_has_next( ada_url_search_params_keys_iter result) { - ada::result* r = - (ada::result*)result; + auto* r = (ada::result*)result; if (!r) { return false; } @@ -15582,29 +15571,26 @@ bool ada_search_params_keys_iter_has_next( void ada_free_search_params_values_iter( ada_url_search_params_values_iter result) { - ada::result* r = - (ada::result*)result; + auto* r = (ada::result*)result; delete r; } ada_string ada_search_params_values_iter_next( ada_url_search_params_values_iter result) { - ada::result* r = - (ada::result*)result; + auto* r = (ada::result*)result; if (!r) { - return ada_string_create(NULL, 0); + return ada_string_create(nullptr, 0); } auto next = (*r)->next(); if (!next.has_value()) { - return ada_string_create(NULL, 0); + return ada_string_create(nullptr, 0); } return ada_string_create(next->data(), next->length()); } bool ada_search_params_values_iter_has_next( ada_url_search_params_values_iter result) { - ada::result* r = - (ada::result*)result; + auto* r = (ada::result*)result; if (!r) { return false; } @@ -15613,19 +15599,17 @@ bool ada_search_params_values_iter_has_next( void ada_free_search_params_entries_iter( ada_url_search_params_entries_iter result) { - ada::result* r = - (ada::result*)result; + auto* r = (ada::result*)result; delete r; } ada_string_pair ada_search_params_entries_iter_next( ada_url_search_params_entries_iter result) { - ada::result* r = - (ada::result*)result; - if (!r) return {ada_string_create(NULL, 0), ada_string_create(NULL, 0)}; + auto* r = (ada::result*)result; + if (!r) return {ada_string_create(nullptr, 0), ada_string_create(nullptr, 0)}; auto next = (*r)->next(); if (!next.has_value()) { - return {ada_string_create(NULL, 0), ada_string_create(NULL, 0)}; + return {ada_string_create(nullptr, 0), ada_string_create(nullptr, 0)}; } return ada_string_pair{ ada_string_create(next->first.data(), next->first.length()), @@ -15634,8 +15618,7 @@ ada_string_pair ada_search_params_entries_iter_next( bool ada_search_params_entries_iter_has_next( ada_url_search_params_entries_iter result) { - ada::result* r = - (ada::result*)result; + auto* r = (ada::result*)result; if (!r) { return false; } diff --git a/deps/ada/ada.h b/deps/ada/ada.h index b9e000b841d1ed..9142fbf66c8488 100644 --- a/deps/ada/ada.h +++ b/deps/ada/ada.h @@ -1,4 +1,4 @@ -/* auto-generated on 2024-04-11 16:39:11 -0400. Do not edit! */ +/* auto-generated on 2024-05-30 22:24:57 -0400. Do not edit! */ /* begin file include/ada.h */ /** * @file ada.h @@ -1214,25 +1214,104 @@ namespace ada { * @see https://url.spec.whatwg.org/#url-parsing */ enum class state { + /** + * @see https://url.spec.whatwg.org/#authority-state + */ AUTHORITY, + + /** + * @see https://url.spec.whatwg.org/#scheme-start-state + */ SCHEME_START, + + /** + * @see https://url.spec.whatwg.org/#scheme-state + */ SCHEME, + + /** + * @see https://url.spec.whatwg.org/#host-state + */ HOST, + + /** + * @see https://url.spec.whatwg.org/#no-scheme-state + */ NO_SCHEME, + + /** + * @see https://url.spec.whatwg.org/#fragment-state + */ FRAGMENT, + + /** + * @see https://url.spec.whatwg.org/#relative-state + */ RELATIVE_SCHEME, + + /** + * @see https://url.spec.whatwg.org/#relative-slash-state + */ RELATIVE_SLASH, + + /** + * @see https://url.spec.whatwg.org/#file-state + */ FILE, + + /** + * @see https://url.spec.whatwg.org/#file-host-state + */ FILE_HOST, + + /** + * @see https://url.spec.whatwg.org/#file-slash-state + */ FILE_SLASH, + + /** + * @see https://url.spec.whatwg.org/#path-or-authority-state + */ PATH_OR_AUTHORITY, + + /** + * @see https://url.spec.whatwg.org/#special-authority-ignore-slashes-state + */ SPECIAL_AUTHORITY_IGNORE_SLASHES, + + /** + * @see https://url.spec.whatwg.org/#special-authority-slashes-state + */ SPECIAL_AUTHORITY_SLASHES, + + /** + * @see https://url.spec.whatwg.org/#special-relative-or-authority-state + */ SPECIAL_RELATIVE_OR_AUTHORITY, + + /** + * @see https://url.spec.whatwg.org/#query-state + */ QUERY, + + /** + * @see https://url.spec.whatwg.org/#path-state + */ PATH, + + /** + * @see https://url.spec.whatwg.org/#path-start-state + */ PATH_START, + + /** + * @see https://url.spec.whatwg.org/#cannot-be-a-base-url-path-state + */ OPAQUE_PATH, + + /** + * @see https://url.spec.whatwg.org/#port-state + */ PORT, }; @@ -2753,8 +2832,9 @@ struct expected_operations_base : expected_storage_base { // This class manages conditionally having a trivial copy constructor // This specialization is for when T and E are trivially copy constructible template :: - value &&TL_EXPECTED_IS_TRIVIALLY_COPY_CONSTRUCTIBLE(E)::value> + bool = is_void_or::value && + TL_EXPECTED_IS_TRIVIALLY_COPY_CONSTRUCTIBLE(E)::value> struct expected_copy_base : expected_operations_base { using expected_operations_base::expected_operations_base; }; @@ -2786,8 +2866,9 @@ struct expected_copy_base : expected_operations_base { // move constructible #ifndef TL_EXPECTED_GCC49 template >::value - &&std::is_trivially_move_constructible::value> + bool = + is_void_or>::value && + std::is_trivially_move_constructible::value> struct expected_move_base : expected_copy_base { using expected_copy_base::expected_copy_base; }; @@ -2816,14 +2897,16 @@ struct expected_move_base : expected_copy_base { }; // This class manages conditionally having a trivial copy assignment operator -template >::value - &&TL_EXPECTED_IS_TRIVIALLY_COPY_ASSIGNABLE(E)::value - &&TL_EXPECTED_IS_TRIVIALLY_COPY_CONSTRUCTIBLE(E)::value - &&TL_EXPECTED_IS_TRIVIALLY_DESTRUCTIBLE(E)::value> +template < + class T, class E, + bool = + is_void_or< + T, conjunction>::value && + TL_EXPECTED_IS_TRIVIALLY_COPY_ASSIGNABLE(E)::value && + TL_EXPECTED_IS_TRIVIALLY_COPY_CONSTRUCTIBLE(E)::value && + TL_EXPECTED_IS_TRIVIALLY_DESTRUCTIBLE(E)::value> struct expected_copy_assign_base : expected_move_base { using expected_move_base::expected_move_base; }; @@ -2850,14 +2933,15 @@ struct expected_copy_assign_base : expected_move_base { // to make do with a non-trivial move assignment operator even if T is trivially // move assignable #ifndef TL_EXPECTED_GCC49 -template , - std::is_trivially_move_constructible, - std::is_trivially_move_assignable>>:: - value &&std::is_trivially_destructible::value - &&std::is_trivially_move_constructible::value - &&std::is_trivially_move_assignable::value> +template < + class T, class E, + bool = is_void_or< + T, conjunction, + std::is_trivially_move_constructible, + std::is_trivially_move_assignable>>::value && + std::is_trivially_destructible::value && + std::is_trivially_move_constructible::value && + std::is_trivially_move_assignable::value> struct expected_move_assign_base : expected_copy_assign_base { using expected_copy_assign_base::expected_copy_assign_base; }; @@ -2879,10 +2963,10 @@ struct expected_move_assign_base expected_move_assign_base &operator=(const expected_move_assign_base &rhs) = default; - expected_move_assign_base & - operator=(expected_move_assign_base &&rhs) noexcept( - std::is_nothrow_move_constructible::value - &&std::is_nothrow_move_assignable::value) { + expected_move_assign_base &operator=( + expected_move_assign_base + &&rhs) noexcept(std::is_nothrow_move_constructible::value && + std::is_nothrow_move_assignable::value) { this->assign(std::move(rhs)); return *this; } @@ -3771,11 +3855,10 @@ class expected : private detail::expected_move_assign_base, detail::is_swappable::value && (std::is_nothrow_move_constructible::value || std::is_nothrow_move_constructible::value)> - swap(expected &rhs) noexcept( - std::is_nothrow_move_constructible::value - &&detail::is_nothrow_swappable::value - &&std::is_nothrow_move_constructible::value - &&detail::is_nothrow_swappable::value) { + swap(expected &rhs) noexcept(std::is_nothrow_move_constructible::value && + detail::is_nothrow_swappable::value && + std::is_nothrow_move_constructible::value && + detail::is_nothrow_swappable::value) { if (has_value() && rhs.has_value()) { swap_where_both_have_value(rhs, typename std::is_void::type{}); } else if (!has_value() && rhs.has_value()) { @@ -4312,7 +4395,10 @@ struct url; namespace ada::parser { /** - * Parses a url. + * Parses a url. The parameter user_input is the input to be parsed: + * it should be a valid UTF-8 string. The parameter base_url is an optional + * parameter that can be used to resolve relative URLs. If the base_url is + * provided, the user_input is resolved against the base_url. */ template result_type parse_url(std::string_view user_input, @@ -7169,14 +7255,14 @@ url_search_params_entries_iter::next() { #ifndef ADA_ADA_VERSION_H #define ADA_ADA_VERSION_H -#define ADA_VERSION "2.7.8" +#define ADA_VERSION "2.8.0" namespace ada { enum { ADA_VERSION_MAJOR = 2, - ADA_VERSION_MINOR = 7, - ADA_VERSION_REVISION = 8, + ADA_VERSION_MINOR = 8, + ADA_VERSION_REVISION = 0, }; } // namespace ada diff --git a/deps/cares/CHANGES b/deps/cares/CHANGES index ae56d4f24bc3d9..41d460e2eb5c98 100644 --- a/deps/cares/CHANGES +++ b/deps/cares/CHANGES @@ -1,5 +1,298 @@ Changelog for the c-ares project. Generated with git2changes.pl +Version 1.29.0 (22 May 2024) + +GitHub (22 May 2024) +- [Brad House brought this change] + + 1.29.0 release prep (#762) + +Brad House (22 May 2024) +- coverity: try to silence warning + +- branch main + +- clang-format + +GitHub (22 May 2024) +- [Brad House brought this change] + + Auto reload config on changes (requires EventThread) (#759) + + Automatically detect configuration changes and reload. On systems which + provide notification mechanisms, use those, otherwise fallback to + polling. When a system configuration change is detected, it + asynchronously applies the configuration in order to ensure it is a + non-blocking operation for any queries which may still be being + processed. + + On Windows, however, changes aren't detected if a user manually + sets/changes the DNS servers on an interface, it doesn't appear there is + any mechanism capable of this. We are relying on + `NotifyIpInterfaceChange()` for notifications. + + Fixes Issue: #613 + Fix By: Brad House (@bradh352) + +- [David Hotham brought this change] + + const is fine on ares__channel_[un]lock (#758) + + at https://github.com/c-ares/c-ares/pull/601#issuecomment-1801935063 you + chose not to scatter `const` on the public interface because of the plan + - now realised - to add threading to c-ares, and in the expectation that + even read operations would need to lock the mutex. + + But the threading implementation has a _pointer_ to a mutex inside the + ares channel and as I understand it, that means that it is just fine to + mark `ares__channel_lock` (and `ares__channel_unlock`) as taking a + `const` channel. It is the pointed-to mutex that is not constant, but C + does not propagate `const`-ness through pointers. + + This PR sprinkles const where appropriate on public interfaces. + + Fix By: David Hotham (@dimbleby) + +Brad House (15 May 2024) +- remove accidentally committed in-development file + +- dns name compression write failure + + Due to a logic flaw dns name compression writing was not properly implemented + which would result in the name prefix not being written for a partial match. + + Fixes Bug: #757 + Fix By: Brad House (@bradh352) + +GitHub (8 May 2024) +- [Brad House brought this change] + + CI: Add Netbsd workflow (#756) + + Add NetBSD as a test target for CI. + + Fix By: Brad House (@bradh352) + +- [Brad House brought this change] + + CI: OpenBSD (#755) + + Github actions appears to support building on a few "unsupported" + platforms these days: + https://github.com/cross-platform-actions/action + + Lets go ahead and add OpenBSD to try to prevent issues like #754 + + Fix By: Brad House (@bradh352) + +- [Volker Schlecht brought this change] + + Revert PR #659 (#754) + + As described in https://github.com/c-ares/c-ares/issues/753 the change + merged with https://github.com/c-ares/c-ares/pull/659 is ill-advised and + leads to breakage in applications using c-ares on OpenBSD. + + See also https://github.com/nodejs/node/issues/52439 + +Brad House (7 May 2024) +- static analyzer warning from 48e8cd2 + + Fixes new issue from last commit. + +- ares_getnameinfo(): loosen validation on salen + + salen validation should be greater than or equal to the required + storage size. Its not uncommon to use `struct sockaddr_storage` in + modern code which is definitely larger than `struct sockaddr_in` and + on some systems even larger than `struct sockaddr_in6`. + + Fixes Issue: #752 + Fix By: Brad House (@bradh352) + +- ares_reinit(): reduce locked duration + +- add missing copyrights + +- manpage: remove AUTHOR section + + The current best practices consider the AUTHOR section to be deprecated + and recommend removing such a section. + +- fix endianness from PR #750 + +GitHub (29 Apr 2024) +- [Brad House brought this change] + + Apple: reimplement DNS configuration reading (#750) + + The DNS configuration for apple is stored in the system configuration + database. Apple does provide an emulated `/etc/resolv.conf` on MacOS + (but not iOS), it cannot, however, represent the entirety of the DNS + configuration. Alternatively, libresolv could be used to also retrieve + some system configuration, but it too is not capable of retrieving the + entirety of the DNS configuration. + + Attempts to use the preferred public API of `SCDynamicStoreCreate()` and + friends yielded incomplete DNS information. Instead, that leaves some + apple "internal" symbols from `configd` that we need to access in order + to get the entire configuration. We can see that we're not the only ones + to do this as Google Chrome also does: + https://chromium.googlesource.com/chromium/src/+/HEAD/net/dns/dns_config_watcher_mac.cc + + These internal functions are what what`libresolv` and `scutil` use to + retrieve the dns configuration. Since these symbols are not publicly + available, we will dynamically load the symbols from `libSystem` and + import the `dnsinfo.h` private header extracted from: + https://opensource.apple.com/source/configd/configd-1109.140.1/dnsinfo/dnsinfo.h + + Fix By: Brad House (@bradh352) + +- [Oliver Welsh brought this change] + + Add observability into DNS server health via a server state callback, invoked whenever a query finishes (#744) + + **Summary** + + This PR adds a server state callback that is invoked whenever a query to + a DNS server finishes. + + The callback is invoked with the server details (as a string), a boolean + indicating whether the query succeeded or failed, flags describing the + query (currently just indicating whether TCP or UDP was used), and + custom userdata. + + This can be used by user applications to gain observability into DNS + server health and usage. For example, alerts when a DNS server + fails/recovers or metrics to track how often a DNS server is used and + responds successfully. + + **Testing** + + Three new regression tests `MockChannelTest.ServStateCallback*` have + been added to test the new callback in different success/failure + scenarios. + + Fix By: Oliver Welsh (@oliverwelsh) + +Brad House (25 Apr 2024) +- ares_init_options() fix crash on misuse of event thread options + + If an invalid event thread system was provided, it would crash during cleanup due to a NULL pointer dereference. + + Fixes Issue: #749 + Fix By: Brad House (@bradh352) + +GitHub (22 Apr 2024) +- [Oliver Welsh brought this change] + + Improve reliability in the server retry delay regression tests (#747) + + Improve reliability in the server retry delay regression tests by + increasing the retry delay and sleeping for a little more than the retry + delay when attempting to force retries. + + This helps to account for unreliable timing (e.g. NTP slew) + intermittently breaking pipelines. + + Fix By: Oliver Welsh (@oliverwelsh) + +- [Jiwoo Park brought this change] + + cmake: Android requires C99 (#748) + + I tried to build c-ares using CMake with the latest Android NDK + (r26/27), but failed as follows. + + ``` + Building C object _deps/c-ares-source-build/src/lib/CMakeFiles/c-ares.dir/Debug/ares__buf.c.o + FAILED: _deps/c-ares-source-build/src/lib/CMakeFiles/c-ares.dir/Debug/ares__buf.c.o + + In file included from c-ares/src/lib/ares__buf.c:27: + In file included from c-ares/include/ares.h:85: + In file included from Android/sdk/ndk/27.0.11718014/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/netinet/in.h:36: + In file included from Android/sdk/ndk/27.0.11718014/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/linux/in.h:231: + In file included from Android/sdk/ndk/27.0.11718014/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/aarch64-linux-android/asm/byteorder.h:12: + In file included from Android/sdk/ndk/27.0.11718014/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/linux/byteorder/little_endian.h:17: + Android/sdk/ndk/27.0.11718014/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/linux/swab.h:28:8: error: unknown type name 'inline' + 28 | static inline __attribute__((__const__)) __u32 __fswahw32(__u32 val) { + | ^ + Android/sdk/ndk/27.0.11718014/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/linux/swab.h:28:47: error: expected ';' after top level declarator + 28 | static inline __attribute__((__const__)) __u32 __fswahw32(__u32 val) { + | ^ + ``` + + It looks like the NDK recently added C99 code containing `inline` + functions, but c-ares is setting the `C_STANDARD` CMake property to C90. + + Fix By: Jiwoo Park (@jimmy-park) + +- [Aviv Keller brought this change] + + Use gender-neutral language in SECURITY.md (#746) + + This PR updates the SECURITY.md file to use more gender-inclusive + language. + + Fix By: Aviv Keller (@RedYetiDev) + +Brad House (15 Apr 2024) +- check for spurious wakeup + +- ares_queue_wait_empty() does not honor timeout_ms >= 0 + + There is a missing break statement in the case that timeout_ms >= 0 + leading to a possible infinite loop. + + Fixes Issue: #742 + Fix By: Brad House (@bradh352) + +GitHub (14 Apr 2024) +- [Oliver Welsh brought this change] + + Add server failover retry behavior, where failed servers are retried with small probability after a minimum delay (#731) + + **Summary** + + By default c-ares will select the server with the least number of + consecutive failures when sending a query. However, this means that if a + server temporarily goes down and hits failures (e.g. a transient network + issue), then that server will never be retried until all other servers + hit the same number of failures. + + This is an issue if the failed server is preferred to other servers in + the list. For example if a primary server and a backup server are + configured. + + This PR adds new server failover retry behavior, where failed servers + are retried with small probability after a minimum delay has passed. The + probability and minimum delay are configurable via the + `ARES_OPT_SERVER_FAILOVER` option. By default c-ares will use a + probability of 10% and a minimum delay of 5 seconds. + + In addition, this PR includes a small change to always close out + connections to servers which have hit failures, even with + `ARES_FLAG_STAYOPEN`. It's possible that resetting the connection can + resolve some server issues (e.g. by resetting the source port). + + **Testing** + + A new set of regression tests have been added to test the new server + failover retry behavior. + + Fixes Issue: #717 + Fix By: Oliver Welsh (@oliverwelsh) + +Brad House (4 Apr 2024) +- MacOS/iOS: Apple does not allow users to configure DNS resolution timeouts or number of retries as Apple themselves uses dynamic/algorithmic values for their own resolver, so we should disable reading these static dummy values. + +GitHub (30 Mar 2024) +- [Chenyu Yang brought this change] + + CMake: remove duplicate checks for sys/random.h (#740) + + Fix By: Chenyu Yang (@Ch3nYuY) + Version 1.28.1 (30 Mar 2024) GitHub (30 Mar 2024) @@ -6189,159 +6482,3 @@ Daniel Stenberg (30 Aug 2013) - timeadd: make static ares__timeadd() was only ever used from within the same source - -Yang Tse (18 Jul 2013) -- xc-am-iface.m4: comments refinement - -- configure: fix 'subdir-objects' distclean related issue - - See XC_AMEND_DISTCLEAN comments for details. - -- configure: automake 1.14 compatibility tweak (use XC_AUTOMAKE) - -- xc-am-iface.m4: provide XC_AUTOMAKE macro - -Daniel Stenberg (12 May 2013) -- gitignore: ignore all ares_*pdf but also CHANGES.dist - -- bump: start working towards 1.10.1 - -Version 1.10.0 (12 May 2013) - -Daniel Stenberg (12 May 2013) -- RELEASE-NOTES: two more bug fixes - -- [Keith Shaw brought this change] - - ares_set_servers_csv: fixed IPv6 address parsing - - Fixed bug that caused the last part of an IPv6 address to be parsed as - the port number when the last part is all numeric. - -- nroff: fix two syntax mistakes - - ares_parse_a_reply and ares_parse_aaaa_reply both had two \fB instead of - \fP - - Reported-by: Alexander Klauer - Bug: http://c-ares.haxx.se/mail/c-ares-archive-2013-03/0010.shtml - -- [Alex Loukissas brought this change] - - build: fix build on msvc11 - -- Makefile.am: increment -version-info for 1.10.0 release - -- README: remove unnecessary comment - -- ares_version.h: copyright end range year is now 2013 - -- RELEASE-NOTES: synced with fb0737f3a0a1c37 - -- [Paul Saab brought this change] - - ares_parse_aaaa_reply: Plug memory leak - - This change is similar to ares_parse_a_reply.c in commit - bffd67f16a8f42fe6dbf79ab2e39d92eea05c8a6 - -- [Patrick Valsecchi brought this change] - - ares_parse_txt_reply: return a ares_txt_reply node for each sub-string - - Previously, the function would wrongly return all substrings merged into - one. - -- [Alexander Klauer brought this change] - - library init: documentation update - - This commit updates the documentation of ares_library_init() and - ares_library_cleanup() with regard to the newly introduced reference - counting of initializations and deinitializations. - -- [Alexander Klauer brought this change] - - library init: be recursive - - Previously, a single call to ares_library_cleanup() would deinitialise - the c-ares library, regardless of how many times ares_library_init() was - called. This behaviour may cause problems in programs linking two or - more libraries which, in turn, use c-ares. The present commit fixes this - problem, deinitializing the library only after a number of calls to - ares_library_cleanup() matching the number of calls to - ares_library_init(). - -- [Patrick Valsecchi brought this change] - - protocol parsing: check input data stricter - - ... so that bad length fields aren't blindly accepted - - Bug: http://c-ares.haxx.se/mail/c-ares-archive-2013-04/0016.shtml - -Guenter Knauf (11 Apr 2013) -- Create ares_build.h when buidling from Git. - -- Added -DCARES_STATICLIB to CFLAGS. - - Currently this static makefile does only support building the - static library libcares.a. - -Daniel Stenberg (8 Apr 2013) -- [Alexander Klauer brought this change] - - .gitignore: ignore patch files - - This commit adds a line to .gitignore to the effect that patch files - generated by 'git format-patch' are excluded from the repository. - -- [Alexander Klauer brought this change] - - ares_destroy() documentation: no new requests - - Clarify that no new requests may be added to a resolver channel that is - currently being destroyed. - -- [Alexander Klauer brought this change] - - Documentation: properly document ARES_ECANCELLED - - This commit clarifies the behaviour of ares_cancel() with respect to - callbacks and adds missing documentation of ARES_ECANCELLED to the man - pages of the affected functions. - -- [Alexander Klauer brought this change] - - ares_cancel(): cancel requests safely - - An invocation of ares_cancel() walks through the request list, calling - the callbacks of all pending requests on a channel. Previously, if such - a callback added a new request to the channel, the request list might - not end up empty, causing an abort by assertion failure. The present - commit ensures that precisely all requests present upon entry of - ares_cancel() are cancelled, and that adding new requests through - callbacks is safe. - -Yang Tse (10 Mar 2013) -- ares.h: stricter CARES_EXTERN linkage decorations logic - - No API change involved. - -- ares_build.h.dist: enhance non-configure GCC ABI detection logic - - GCC specific adjustments: - - - check __ILP32__ before 32 and 64bit processor architectures in - order to detect ILP32 programming model on 64 bit processors - which, of course, also support LP64 programming model, when using - gcc 4.7 or newer. - - - keep 32bit processor architecture checks in order to support gcc - versions older than 4.7 which don't define __ILP32__ - - - check __LP64__ for gcc 3.3 and newer, while keeping 64bit processor - architecture checks for older versions which don't define __LP64__ - -Daniel Stenberg (9 Mar 2013) -- ares.h: there is no ares_free_soa function diff --git a/deps/cares/CMakeLists.txt b/deps/cares/CMakeLists.txt index 2718ce52b73ff6..f2f2c3b8448e90 100644 --- a/deps/cares/CMakeLists.txt +++ b/deps/cares/CMakeLists.txt @@ -12,10 +12,10 @@ INCLUDE (CheckCSourceCompiles) INCLUDE (CheckStructHasMember) INCLUDE (CheckLibraryExists) -PROJECT (c-ares LANGUAGES C VERSION "1.28.1" ) +PROJECT (c-ares LANGUAGES C VERSION "1.29.0" ) # Set this version before release -SET (CARES_VERSION "1.28.1") +SET (CARES_VERSION "1.29.0") INCLUDE (GNUInstallDirs) # include this *AFTER* PROJECT(), otherwise paths are wrong. @@ -30,7 +30,7 @@ INCLUDE (GNUInstallDirs) # include this *AFTER* PROJECT(), otherwise paths are w # For example, a version of 4:0:2 would generate output such as: # libname.so -> libname.so.2 # libname.so.2 -> libname.so.2.2.0 -SET (CARES_LIB_VERSIONINFO "15:1:13") +SET (CARES_LIB_VERSIONINFO "16:0:14") OPTION (CARES_STATIC "Build as a static library" OFF) @@ -172,7 +172,7 @@ return 0; MACOS_V1012) ENDIF () -IF ((IOS OR APPLE OR ZOS) AND HAVE_LIBRESOLV) +IF (ZOS AND HAVE_LIBRESOLV) SET (CARES_USE_LIBRESOLV 1) ENDIF() @@ -227,7 +227,6 @@ CHECK_INCLUDE_FILES (sys/select.h HAVE_SYS_SELECT_H) CHECK_INCLUDE_FILES (sys/stat.h HAVE_SYS_STAT_H) CHECK_INCLUDE_FILES (sys/time.h HAVE_SYS_TIME_H) CHECK_INCLUDE_FILES (sys/uio.h HAVE_SYS_UIO_H) -CHECK_INCLUDE_FILES (sys/random.h HAVE_SYS_RANDOM_H) CHECK_INCLUDE_FILES (sys/event.h HAVE_SYS_EVENT_H) CHECK_INCLUDE_FILES (sys/epoll.h HAVE_SYS_EPOLL_H) CHECK_INCLUDE_FILES (ifaddrs.h HAVE_IFADDRS_H) @@ -341,7 +340,6 @@ CARES_EXTRAINCLUDE_IFSET (HAVE_SYS_SOCKIO_H sys/sockio.h) CARES_EXTRAINCLUDE_IFSET (HAVE_SYS_TIME_H sys/time.h) CARES_EXTRAINCLUDE_IFSET (HAVE_SYS_STAT_H sys/stat.h) CARES_EXTRAINCLUDE_IFSET (HAVE_SYS_UIO_H sys/uio.h) -CARES_EXTRAINCLUDE_IFSET (HAVE_SYS_RANDOM_H sys/random.h) CARES_EXTRAINCLUDE_IFSET (HAVE_SYS_EVENT_H sys/event.h) CARES_EXTRAINCLUDE_IFSET (HAVE_SYS_EPOLL_H sys/epoll.h) CARES_EXTRAINCLUDE_IFSET (HAVE_TIME_H time.h) diff --git a/deps/cares/README.md b/deps/cares/README.md index 70aa67fce6997c..c5bc12700e40dd 100644 --- a/deps/cares/README.md +++ b/deps/cares/README.md @@ -1,7 +1,7 @@ # [![c-ares logo](https://c-ares.org/art/c-ares-logo.svg)](https://c-ares.org/) [![Build Status](https://api.cirrus-ci.com/github/c-ares/c-ares.svg?branch=main)](https://cirrus-ci.com/github/c-ares/c-ares) -[![Windows Build Status](https://ci.appveyor.com/api/projects/status/aevgc5914tm72pvs/branch/master?svg=true)](https://ci.appveyor.com/project/c-ares/c-ares/branch/master) +[![Windows Build Status](https://ci.appveyor.com/api/projects/status/aevgc5914tm72pvs/branch/main?svg=true)](https://ci.appveyor.com/project/c-ares/c-ares/branch/main) [![Coverage Status](https://coveralls.io/repos/github/c-ares/c-ares/badge.svg)](https://coveralls.io/github/c-ares/c-ares) [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/291/badge)](https://bestpractices.coreinfrastructure.org/projects/291) [![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/c-ares.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:c-ares) diff --git a/deps/cares/RELEASE-NOTES.md b/deps/cares/RELEASE-NOTES.md index 3a9b9dd9c35fa1..2d44f37d66f248 100644 --- a/deps/cares/RELEASE-NOTES.md +++ b/deps/cares/RELEASE-NOTES.md @@ -1,49 +1,42 @@ -## c-ares version 1.28.1 - Mar 30 2024 - -This release contains a fix for a single significant regression introduced -in c-ares 1.28.0. - -* `ares_search()` and `ares_getaddrinfo()` resolution fails if no search domains - are specified. [Issue #737](https://github.com/c-ares/c-ares/issues/737) - - -## c-ares version 1.28.0 - Mar 29 2024 +## c-ares version 1.29.0 - May 24 2024 This is a feature and bugfix release. Features: -* Emit warnings when deprecated c-ares functions are used. This can be - disabled by passing a compiler definition of `CARES_NO_DEPRECATED`. [PR #732](https://github.com/c-ares/c-ares/pull/732) -* Add function `ares_search_dnsrec()` to search for records using the new DNS - record data structures. [PR #719](https://github.com/c-ares/c-ares/pull/719) -* Rework internals to pass around `ares_dns_record_t` instead of binary data, - this introduces new public functions of `ares_query_dnsrec()` and - `ares_send_dnsrec()`. [PR #730](https://github.com/c-ares/c-ares/pull/730) +* When using `ARES_OPT_EVENT_THREAD`, automatically reload system configuration + when network conditions change. [PR #759](https://github.com/c-ares/c-ares/pull/759) +* Apple: reimplement DNS configuration reading to more accurately pull DNS + settings. [PR #750](https://github.com/c-ares/c-ares/pull/750) +* Add observability into DNS server health via a server state callback, invoked + whenever a query finishes. [PR #744](https://github.com/c-ares/c-ares/pull/744) +* Add server failover retry behavior, where failed servers are retried with + small probability after a minimum delay. [PR #731](https://github.com/c-ares/c-ares/pull/731) Changes: -* tests: when performing simulated queries, reduce timeouts to make tests run - faster -* Replace configuration file parsers with memory-safe parser. [PR #725](https://github.com/c-ares/c-ares/pull/725) -* Remove `acountry` completely, the manpage might still get installed otherwise. [Issue #718](https://github.com/c-ares/c-ares/pull/718) +* Mark `ares_channel_t *` as const in more places in the public API. [PR #758](https://github.com/c-ares/c-ares/pull/758) Bugfixes: -* CMake: don't overwrite global required libraries/definitions/includes which - could cause build errors for projects chain building c-ares. [Issue #729](https://github.com/c-ares/c-ares/issues/729) -* On some platforms, `netinet6/in6.h` is not included by `netinet/in.h` - and needs to be included separately. [PR #728](https://github.com/c-ares/c-ares/pull/728) -* Fix a potential memory leak in `ares_init()`. [Issue #724](https://github.com/c-ares/c-ares/issues/724) -* Some platforms don't have the `isascii()` function. Implement as a macro. [PR #721](https://github.com/c-ares/c-ares/pull/721) -* CMake: Fix Chain building if CMAKE runtime paths not set -* NDots configuration should allow a value of zero. [PR #735](https://github.com/c-ares/c-ares/pull/735) +* Due to a logic flaw dns name compression writing was not properly implemented + which would result in the name prefix not being written for a partial match. + This could cause issues in various record types such as MX records when using + the deprecated API. Regression introduced in 1.28.0. [Issue #757](https://github.com/c-ares/c-ares/issues/757) +* Revert OpenBSD `SOCK_DNS` flag, it doesn't do what the docs say it does and + causes c-ares to become non-functional. [PR #754](https://github.com/c-ares/c-ares/pull/754) +* `ares_getnameinfo()`: loosen validation on `salen` parameter. [Issue #752](https://github.com/c-ares/c-ares/issues/752) +* cmake: Android requires C99. [PR #748](https://github.com/c-ares/c-ares/pull/748) +* `ares_queue_wait_empty()` does not honor timeout_ms >= 0. [Issue #742](https://github.com/c-ares/c-ares/pull/742) -Thanks go to these friendly people for their efforts and contributions for this release: +Thanks go to these friendly people for their efforts and contributions for this +release: * Brad House (@bradh352) -* Cristian Rodríguez (@crrodriguez) * Daniel Stenberg (@bagder) -* Faraz (@farazrbx) -* Faraz Fallahi (@fffaraz) +* David Hotham (@dimbleby) +* Jiwoo Park (@jimmy-park) * Oliver Welsh (@oliverwelsh) +* Volker Schlecht (@VlkrS) + + diff --git a/deps/cares/SECURITY.md b/deps/cares/SECURITY.md index 2a04a8dbcc3557..0b66cc1146ad31 100644 --- a/deps/cares/SECURITY.md +++ b/deps/cares/SECURITY.md @@ -43,7 +43,7 @@ announcement. - If the report is rejected, the team writes to the reporter to explain why. -- If the report is accepted, the team writes to the reporter to let him/her +- If the report is accepted, the team writes to the reporter to let them know it is accepted and that they are working on a fix. - The security team discusses the problem, works out a fix, considers the diff --git a/deps/cares/aminclude_static.am b/deps/cares/aminclude_static.am index 6fa817a8346703..92a2bdd62a047c 100644 --- a/deps/cares/aminclude_static.am +++ b/deps/cares/aminclude_static.am @@ -1,6 +1,6 @@ # aminclude_static.am generated automatically by Autoconf -# from AX_AM_MACROS_STATIC on Sat Mar 30 16:17:17 CET 2024 +# from AX_AM_MACROS_STATIC on Fri May 24 08:50:03 CEST 2024 # Code coverage diff --git a/deps/cares/cares.gyp b/deps/cares/cares.gyp index 053cdf8c8286ad..d654a896f56ffd 100644 --- a/deps/cares/cares.gyp +++ b/deps/cares/cares.gyp @@ -21,6 +21,8 @@ 'src/lib/ares__htable_strvp.h', 'src/lib/ares__htable_szvp.c', 'src/lib/ares__htable_szvp.h', + 'src/lib/ares__htable_vpvp.c', + 'src/lib/ares__htable_vpvp.h', 'src/lib/ares__iface_ips.c', 'src/lib/ares__iface_ips.h', 'src/lib/ares__llist.c', @@ -46,6 +48,7 @@ 'src/lib/ares_dns_record.c', 'src/lib/ares_dns_private.h', 'src/lib/ares_dns_write.c', + 'src/lib/ares_event_configchg.c', 'src/lib/ares_event.h', 'src/lib/ares_event_win32.h', 'src/lib/ares_event_epoll.c', @@ -113,6 +116,11 @@ 'src/tools/ares_getopt.c', 'src/tools/ares_getopt.h', ], + 'cares_sources_mac': [ + 'config/darwin/ares_config.h', + 'src/lib/ares_sysconfig_mac.c', + 'src/lib/thirdparty/apple/dnsinfo.h', + ], 'cares_sources_win': [ 'src/lib/config-win32.h', 'src/lib/windows_port.c', @@ -206,7 +214,9 @@ }], [ 'OS=="mac" or OS=="ios"', { 'include_dirs': [ 'config/darwin' ], - 'sources': [ 'config/darwin/ares_config.h' ] + 'sources': [ + '<@(cares_sources_mac)', + ] }], [ 'OS=="freebsd" or OS=="dragonflybsd"', { 'include_dirs': [ 'config/freebsd' ], diff --git a/deps/cares/configure b/deps/cares/configure index 656164f46e3ad8..f39814222f4983 100755 --- a/deps/cares/configure +++ b/deps/cares/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for c-ares 1.28.1. +# Generated by GNU Autoconf 2.71 for c-ares 1.29.0. # # Report bugs to . # @@ -621,8 +621,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='c-ares' PACKAGE_TARNAME='c-ares' -PACKAGE_VERSION='1.28.1' -PACKAGE_STRING='c-ares 1.28.1' +PACKAGE_VERSION='1.29.0' +PACKAGE_STRING='c-ares 1.29.0' PACKAGE_BUGREPORT='c-ares mailing list: http://lists.haxx.se/listinfo/c-ares' PACKAGE_URL='' @@ -1420,7 +1420,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures c-ares 1.28.1 to adapt to many kinds of systems. +\`configure' configures c-ares 1.29.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1491,7 +1491,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of c-ares 1.28.1:";; + short | recursive ) echo "Configuration of c-ares 1.29.0:";; esac cat <<\_ACEOF @@ -1627,7 +1627,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -c-ares configure 1.28.1 +c-ares configure 1.29.0 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -2251,7 +2251,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by c-ares $as_me 1.28.1, which was +It was created by c-ares $as_me 1.29.0, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3225,7 +3225,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -CARES_VERSION_INFO="15:1:13" +CARES_VERSION_INFO="16:0:14" @@ -5907,7 +5907,7 @@ fi # Define the identity of the package. PACKAGE='c-ares' - VERSION='1.28.1' + VERSION='1.29.0' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -20946,79 +20946,6 @@ esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $need_xnet" >&5 printf "%s\n" "$need_xnet" >&6; } -if test "x$host_vendor" = "xapple" -then : - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing res_servicename" >&5 -printf %s "checking for library containing res_servicename... " >&6; } -if test ${ac_cv_search_res_servicename+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -char res_servicename (); -int -main (void) -{ -return res_servicename (); - ; - return 0; -} -_ACEOF -for ac_lib in '' resolv -do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO" -then : - ac_cv_search_res_servicename=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext - if test ${ac_cv_search_res_servicename+y} -then : - break -fi -done -if test ${ac_cv_search_res_servicename+y} -then : - -else $as_nop - ac_cv_search_res_servicename=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_res_servicename" >&5 -printf "%s\n" "$ac_cv_search_res_servicename" >&6; } -ac_res=$ac_cv_search_res_servicename -if test "$ac_res" != no -then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - - -printf "%s\n" "#define CARES_USE_LIBRESOLV 1" >>confdefs.h - - -else $as_nop - - as_fn_error $? "Unable to find libresolv which is required for iPhone targets" "$LINENO" 5 - -fi - - -fi - if test "x$host_vendor" = "xibm" -a "x$host_os" = "xopenedition" then : @@ -25956,7 +25883,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by c-ares $as_me 1.28.1, which was +This file was extended by c-ares $as_me 1.29.0, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -26024,7 +25951,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -c-ares config.status 1.28.1 +c-ares config.status 1.29.0 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff --git a/deps/cares/configure.ac b/deps/cares/configure.ac index 4d263a7f309017..35d048d57db3b7 100644 --- a/deps/cares/configure.ac +++ b/deps/cares/configure.ac @@ -2,10 +2,10 @@ dnl Copyright (C) The c-ares project and its contributors dnl SPDX-License-Identifier: MIT AC_PREREQ([2.69]) -AC_INIT([c-ares], [1.28.1], +AC_INIT([c-ares], [1.29.0], [c-ares mailing list: http://lists.haxx.se/listinfo/c-ares]) -CARES_VERSION_INFO="15:1:13" +CARES_VERSION_INFO="16:0:14" dnl This flag accepts an argument of the form current[:revision[:age]]. So, dnl passing -version-info 3:12:1 sets current to 3, revision to 12, and age to dnl 1. @@ -334,15 +334,6 @@ case $host_os in esac AC_MSG_RESULT($need_xnet) -dnl resolv lib for Apple (MacOS and iOS) -AS_IF([test "x$host_vendor" = "xapple"], [ - AC_SEARCH_LIBS([res_servicename], [resolv], [ - AC_DEFINE([CARES_USE_LIBRESOLV], [1], [Use resolver library to configure cares]) - ], [ - AC_MSG_ERROR([Unable to find libresolv which is required for iPhone targets]) - ]) -]) - dnl resolv lib for z/OS AS_IF([test "x$host_vendor" = "xibm" -a "x$host_os" = "xopenedition" ], [ AC_SEARCH_LIBS([res_init], [resolv], [ diff --git a/deps/cares/docs/Makefile.in b/deps/cares/docs/Makefile.in index 8cb46878fa59ee..08886323ef50c7 100644 --- a/deps/cares/docs/Makefile.in +++ b/deps/cares/docs/Makefile.in @@ -460,6 +460,7 @@ MANPAGES = ares_cancel.3 \ ares_set_local_dev.3 \ ares_set_local_ip4.3 \ ares_set_local_ip6.3 \ + ares_set_server_state_callback.3 \ ares_set_servers.3 \ ares_set_servers_csv.3 \ ares_set_servers_ports.3 \ diff --git a/deps/cares/docs/Makefile.inc b/deps/cares/docs/Makefile.inc index 882bf2280446d5..685978674e358b 100644 --- a/deps/cares/docs/Makefile.inc +++ b/deps/cares/docs/Makefile.inc @@ -122,6 +122,7 @@ MANPAGES = ares_cancel.3 \ ares_set_local_dev.3 \ ares_set_local_ip4.3 \ ares_set_local_ip6.3 \ + ares_set_server_state_callback.3 \ ares_set_servers.3 \ ares_set_servers_csv.3 \ ares_set_servers_ports.3 \ diff --git a/deps/cares/docs/ares_cancel.3 b/deps/cares/docs/ares_cancel.3 index 4eecaade246312..967a946b491cd3 100644 --- a/deps/cares/docs/ares_cancel.3 +++ b/deps/cares/docs/ares_cancel.3 @@ -31,5 +31,3 @@ c-ares 1.6.0 and earlier pass a status of .BR ARES_ETIMEOUT instead of .BR ARES_ECANCELLED . -.SH AUTHOR -Dirk Manske diff --git a/deps/cares/docs/ares_create_query.3 b/deps/cares/docs/ares_create_query.3 index 5fb59f920616f4..a54eec3e2a6bd1 100644 --- a/deps/cares/docs/ares_create_query.3 +++ b/deps/cares/docs/ares_create_query.3 @@ -70,4 +70,3 @@ Added in c-ares 1.10.0 .BR ares_expand_name (3), .BR ares_free_string (3), .BR ares_mkquery (3) -.SH AUTHOR diff --git a/deps/cares/docs/ares_destroy.3 b/deps/cares/docs/ares_destroy.3 index 8548d59c54182e..d1984b7cc98d26 100644 --- a/deps/cares/docs/ares_destroy.3 +++ b/deps/cares/docs/ares_destroy.3 @@ -27,7 +27,3 @@ using this channel may be made once this function is called. .BR ares_init (3), .BR ares_cancel (3), .BR ares_threadsafety (3) -.SH AUTHOR -Greg Hudson, MIT Information Systems -.br -Copyright 1998 by the Massachusetts Institute of Technology. diff --git a/deps/cares/docs/ares_destroy_options.3 b/deps/cares/docs/ares_destroy_options.3 index 432c4b10d7f402..18340995b2c0fd 100644 --- a/deps/cares/docs/ares_destroy_options.3 +++ b/deps/cares/docs/ares_destroy_options.3 @@ -18,7 +18,3 @@ identified by \Ioptions\fP, freeing all memory allocated by .SH SEE ALSO .BR ares_save_options (3), .BR ares_init_options (3) -.SH AUTHOR -Brad House -.br -Copyright 1998 by the Massachusetts Institute of Technology. diff --git a/deps/cares/docs/ares_dns_mapping.3 b/deps/cares/docs/ares_dns_mapping.3 index 6c2c905a5c5185..690ad62be236af 100644 --- a/deps/cares/docs/ares_dns_mapping.3 +++ b/deps/cares/docs/ares_dns_mapping.3 @@ -298,5 +298,3 @@ These functions were first introduced in c-ares version 1.22.0. .BR ares_dns_record (3), .BR ares_dns_rr (3), .BR ares_init (3) -.SH AUTHOR -Copyright (C) 2023 The c-ares project and its members. diff --git a/deps/cares/docs/ares_dns_record.3 b/deps/cares/docs/ares_dns_record.3 index 01ce7601aa3199..3ec42b5411f619 100644 --- a/deps/cares/docs/ares_dns_record.3 +++ b/deps/cares/docs/ares_dns_record.3 @@ -439,5 +439,3 @@ These functions were first introduced in c-ares version 1.22.0. .BR ares_dns_mapping (3), .BR ares_dns_rr (3), .BR ares_free_string (3) -.SH AUTHOR -Copyright (C) 2023 The c-ares project and its members. diff --git a/deps/cares/docs/ares_dns_rr.3 b/deps/cares/docs/ares_dns_rr.3 index 290859e838e7ef..9ea38fa6d73957 100644 --- a/deps/cares/docs/ares_dns_rr.3 +++ b/deps/cares/docs/ares_dns_rr.3 @@ -635,5 +635,3 @@ These functions were first introduced in c-ares version 1.22.0. .BR ares_dns_mapping (3), .BR ares_dns_record (3), .BR ares_free_string (3) -.SH AUTHOR -Copyright (C) 2023 The c-ares project and its members. diff --git a/deps/cares/docs/ares_dup.3 b/deps/cares/docs/ares_dup.3 index 2395fe180a506a..8677005f5c2274 100644 --- a/deps/cares/docs/ares_dup.3 +++ b/deps/cares/docs/ares_dup.3 @@ -9,7 +9,7 @@ ares_dup \- Duplicate a resolver channel .nf #include -int ares_dup(ares_channel_t **\fIdest\fP, ares_channel_t *\fIsource\fP) +int ares_dup(ares_channel_t **\fIdest\fP, const ares_channel_t *\fIsource\fP) .fi .SH DESCRIPTION The \fBares_dup(3)\fP function duplicates an existing communications channel @@ -23,6 +23,3 @@ handle when the channel is no longer needed. .BR ares_library_init (3) .SH AVAILABILITY \fIares_dup(3)\fP was added in c-ares 1.6.0 -.SH AUTHOR -Daniel Stenberg - diff --git a/deps/cares/docs/ares_expand_name.3 b/deps/cares/docs/ares_expand_name.3 index 7bd43842a2782f..a8d08122335411 100644 --- a/deps/cares/docs/ares_expand_name.3 +++ b/deps/cares/docs/ares_expand_name.3 @@ -49,7 +49,3 @@ Memory was exhausted. .SH SEE ALSO .BR ares_mkquery (3), .BR ares_free_string (3) -.SH AUTHOR -Greg Hudson, MIT Information Systems -.br -Copyright 1998 by the Massachusetts Institute of Technology. diff --git a/deps/cares/docs/ares_expand_string.3 b/deps/cares/docs/ares_expand_string.3 index 22d6654e50f38f..e4b1af9c90b672 100644 --- a/deps/cares/docs/ares_expand_string.3 +++ b/deps/cares/docs/ares_expand_string.3 @@ -46,5 +46,3 @@ The encoded string was malformed and could not be expanded. Memory was exhausted. .SH SEE ALSO .BR ares_free_string (3) -.SH AUTHOR -Dominick Meglio diff --git a/deps/cares/docs/ares_fds.3 b/deps/cares/docs/ares_fds.3 index 5871be5af6a201..6ac116e7a74119 100644 --- a/deps/cares/docs/ares_fds.3 +++ b/deps/cares/docs/ares_fds.3 @@ -9,7 +9,7 @@ ares_fds \- return file descriptors to select on (deprecated) .nf #include -int ares_fds(ares_channel_t *\fIchannel\fP, +int ares_fds(const ares_channel_t *\fIchannel\fP, fd_set *\fIread_fds\fP, fd_set *\fIwrite_fds\fP) .fi @@ -55,7 +55,3 @@ more modern methods to check for socket readable/writable state such as .BR ares_init_options (3), .BR ares_timeout (3), .BR ares_process (3) -.SH AUTHOR -Greg Hudson, MIT Information Systems -.br -Copyright 1998 by the Massachusetts Institute of Technology. diff --git a/deps/cares/docs/ares_free_data.3 b/deps/cares/docs/ares_free_data.3 index a4de4dbf176593..98ebf6886bd8ac 100644 --- a/deps/cares/docs/ares_free_data.3 +++ b/deps/cares/docs/ares_free_data.3 @@ -60,9 +60,3 @@ This function was first introduced in c-ares version 1.7.0. .BR ares_parse_mx_reply (3), .BR ares_parse_txt_reply (3), .BR ares_parse_soa_reply (3) -.SH AUTHOR -Yang Tse -.PP -Copyright 1998 by the Massachusetts Institute of Technology. -.br -Copyright (C) 2004-2010 by Daniel Stenberg. diff --git a/deps/cares/docs/ares_free_hostent.3 b/deps/cares/docs/ares_free_hostent.3 index 973dc9dc557349..78d74d04a85237 100644 --- a/deps/cares/docs/ares_free_hostent.3 +++ b/deps/cares/docs/ares_free_hostent.3 @@ -28,7 +28,3 @@ structures when the callback returns. .BR ares_parse_aaaa_reply (3), .BR ares_parse_ptr_reply (3), .BR ares_parse_ns_reply (3) -.SH AUTHOR -Greg Hudson, MIT Information Systems -.br -Copyright 1998 by the Massachusetts Institute of Technology. diff --git a/deps/cares/docs/ares_free_string.3 b/deps/cares/docs/ares_free_string.3 index 9871b48e26e8cb..17984ba9808024 100644 --- a/deps/cares/docs/ares_free_string.3 +++ b/deps/cares/docs/ares_free_string.3 @@ -17,7 +17,3 @@ function. .SH SEE ALSO .BR ares_mkquery (3) .BR ares_expand_string (3) -.SH AUTHOR -Greg Hudson, MIT Information Systems -.br -Copyright 2000 by the Massachusetts Institute of Technology. diff --git a/deps/cares/docs/ares_freeaddrinfo.3 b/deps/cares/docs/ares_freeaddrinfo.3 index 0f2a6ae0244bc8..b4b9e4c502a919 100644 --- a/deps/cares/docs/ares_freeaddrinfo.3 +++ b/deps/cares/docs/ares_freeaddrinfo.3 @@ -20,7 +20,3 @@ returned in \fIresult\fP of .B ares_addrinfo_callback .SH SEE ALSO .BR ares_getaddrinfo (3), -.SH AUTHOR -Christian Ammer -.BR -Andrew Selivanov diff --git a/deps/cares/docs/ares_get_servers.3 b/deps/cares/docs/ares_get_servers.3 index 7aeaa50ee15c1b..9b960f452bc8f0 100644 --- a/deps/cares/docs/ares_get_servers.3 +++ b/deps/cares/docs/ares_get_servers.3 @@ -10,10 +10,10 @@ ares_get_servers, ares_get_servers_ports \- Retrieve name servers from an initia .nf #include -int ares_get_servers(ares_channel_t *\fIchannel\fP, +int ares_get_servers(const ares_channel_t *\fIchannel\fP, struct ares_addr_node **\fIservers\fP) -int ares_get_servers_ports(ares_channel_t *\fIchannel\fP, +int ares_get_servers_ports(const ares_channel_t *\fIchannel\fP, struct ares_addr_port_node **\fIservers\fP) .fi .SH DESCRIPTION @@ -67,13 +67,3 @@ was invalid. .SH NOTES As of c-ares 1.24, these functions are deprecated due to their lack of ability to store the entire server configuration. Use \fBares_get_servers_csv(3)\fP. -.SH AUTHOR -Implementation of this function and associated library internals are based -on code, comments and feedback provided in November and December of 2008 by -Daniel Stenberg, Gregor Jasny, Phil Blundell and Yang Tse, December 2009 -by Cedric Bail, February 2010 by Jakub Hrozek. On March 2010 Yang Tse -shuffled all the bits and this function popped out. -.br -Copyright 1998 by the Massachusetts Institute of Technology. -.br -Copyright (C) 2008-2010 by Daniel Stenberg diff --git a/deps/cares/docs/ares_getaddrinfo.3 b/deps/cares/docs/ares_getaddrinfo.3 index 234e6568879b7c..5544ce20224eba 100644 --- a/deps/cares/docs/ares_getaddrinfo.3 +++ b/deps/cares/docs/ares_getaddrinfo.3 @@ -192,7 +192,3 @@ on each of the resolved addresses as per RFC6724. This function was added in c-ares 1.16.0, released in March 2020. .SH SEE ALSO .BR ares_freeaddrinfo (3) -.SH AUTHOR -Christian Ammer -.br -Andrew Selivanov diff --git a/deps/cares/docs/ares_gethostbyaddr.3 b/deps/cares/docs/ares_gethostbyaddr.3 index 8d79d903a5715d..cc4092285c0168 100644 --- a/deps/cares/docs/ares_gethostbyaddr.3 +++ b/deps/cares/docs/ares_gethostbyaddr.3 @@ -98,7 +98,3 @@ within the eventloop when notified. .SH SEE ALSO .BR ares_process (3), .BR ares_gethostbyname (3) -.SH AUTHOR -Greg Hudson, MIT Information Systems -.br -Copyright 1998 by the Massachusetts Institute of Technology. diff --git a/deps/cares/docs/ares_gethostbyname.3 b/deps/cares/docs/ares_gethostbyname.3 index 1067ac11006ecb..06d075ca6c5136 100644 --- a/deps/cares/docs/ares_gethostbyname.3 +++ b/deps/cares/docs/ares_gethostbyname.3 @@ -106,7 +106,3 @@ within the eventloop when notified. .SH SEE ALSO .BR ares_process (3), .BR ares_gethostbyaddr (3) -.SH AUTHOR -Greg Hudson, MIT Information Systems -.br -Copyright 1998 by the Massachusetts Institute of Technology. diff --git a/deps/cares/docs/ares_gethostbyname_file.3 b/deps/cares/docs/ares_gethostbyname_file.3 index 98cb93fd8115cb..57dd7c43e95ebd 100644 --- a/deps/cares/docs/ares_gethostbyname_file.3 +++ b/deps/cares/docs/ares_gethostbyname_file.3 @@ -66,7 +66,3 @@ Added in c-ares 1.5.4 .BR ares_gethostbyname (3), .BR ares_free_hostent (3), .BR ares_init_options (3) -.SH AUTHOR -Brad Spencer -.br -Copyright 1998 by the Massachusetts Institute of Technology. diff --git a/deps/cares/docs/ares_getnameinfo.3 b/deps/cares/docs/ares_getnameinfo.3 index b4161d4000f6ff..66b04f9efc11a7 100644 --- a/deps/cares/docs/ares_getnameinfo.3 +++ b/deps/cares/docs/ares_getnameinfo.3 @@ -145,7 +145,3 @@ will be .BR NULL . .SH SEE ALSO .BR ares_process (3), -.SH AUTHOR -Dominick Meglio -.br -Copyright 2005 by Dominick Meglio. diff --git a/deps/cares/docs/ares_getsock.3 b/deps/cares/docs/ares_getsock.3 index 126d7de69c038d..b5302a3906b58a 100644 --- a/deps/cares/docs/ares_getsock.3 +++ b/deps/cares/docs/ares_getsock.3 @@ -9,7 +9,7 @@ ares_getsock \- get socket descriptors to wait on (deprecated) .nf #include -int ares_getsock(ares_channel_t *\fIchannel\fP, ares_socket_t *\fIsocks\fP, +int ares_getsock(const ares_channel_t *\fIchannel\fP, ares_socket_t *\fIsocks\fP, int \fInumsocks\fP); .fi .SH DESCRIPTION diff --git a/deps/cares/docs/ares_inet_ntop.3 b/deps/cares/docs/ares_inet_ntop.3 index b5ae557a27e853..4a9f0049d31072 100644 --- a/deps/cares/docs/ares_inet_ntop.3 +++ b/deps/cares/docs/ares_inet_ntop.3 @@ -31,6 +31,4 @@ for IPv6). .BR ares_inet_pton (3) .SH AVAILABILITY made properly publicly available in c-ares for real in version 1.10.0 -.SH AUTHOR -Daniel Stenberg diff --git a/deps/cares/docs/ares_inet_pton.3 b/deps/cares/docs/ares_inet_pton.3 index ca95010b955531..5b7b8010d22a3a 100644 --- a/deps/cares/docs/ares_inet_pton.3 +++ b/deps/cares/docs/ares_inet_pton.3 @@ -27,6 +27,4 @@ the numeric address; this shall be large enough to hold the numeric address .BR ares_inet_ntop (3) .SH AVAILABILITY made properly publicly available in c-ares for real in version 1.10.0 -.SH AUTHOR -Daniel Stenberg diff --git a/deps/cares/docs/ares_init_options.3 b/deps/cares/docs/ares_init_options.3 index 72889b5b4874ef..81e53cd0f2835a 100644 --- a/deps/cares/docs/ares_init_options.3 +++ b/deps/cares/docs/ares_init_options.3 @@ -11,6 +11,11 @@ ares_init_options, ares_init \- Initialize a resolver channel .nf #include +struct ares_server_failover_options { + unsigned short retry_chance; + size_t retry_delay; +}; + struct ares_options { int flags; int timeout; /* in seconds or milliseconds, depending on options */ @@ -36,6 +41,7 @@ struct ares_options { int maxtimeout; /* in milliseconds */ unsigned int qcache_max_ttl; /* in seconds */ ares_evsys_t evsys; + struct ares_server_failover_options server_failover_opts; }; int ares_init_options(ares_channel_t **\fIchannelptr\fP, @@ -309,6 +315,9 @@ When enabled, the integrator is no longer responsible for notifying c-ares of any events on the file descriptors, so \fIares_process(3)\fP nor \fIares_process_fd(3)\fP should ever be called when this option is enabled. +As of c-ares 1.29.0, when enabled, it will also automatically re-load the +system configuration when changes are detected. + Use \fIares_threadsafety(3)\fP to determine if this option is available to be used. @@ -316,6 +325,24 @@ Returns \fBARES_ENOTIMP\fP if this option is passed but not available, and \fBARES_ESERVFAIL\fP if there is a critical failure during initialization of the event thread. .br +.TP 18 +.B ARES_OPT_SERVER_FAILOVER +.B struct ares_server_failover_options \fIserver_failover_opts\fP; +.br +Configure server failover retry behavior. When a DNS server fails to +respond to a query, c-ares will deprioritize the server. On subsequent +queries, servers with fewer consecutive failures will be selected in +preference. However, in order to detect when such a server has recovered, +c-ares will occasionally retry failed servers. The +\fIares_server_failover_options\fP structure contains options to control this +behavior. +The \fIretry_chance\fP field gives the probability (1/N) of retrying a +failed server on any given query. Setting to a value of 0 disables retries. +The \fIretry_delay\fP field gives the minimum delay in milliseconds that c-ares +will wait before retrying a specific failed server. +If this option is not specificed then c-ares will use a probability of 10% +and a minimum delay of 5 seconds. +.br .PP The \fIoptmask\fP parameter also includes options without a corresponding field in the @@ -371,9 +398,3 @@ manual page. .BR ares_set_servers (3), .BR ares_set_sortlist (3), .BR ares_threadsafety (3) -.SH AUTHOR -Greg Hudson, MIT Information Systems -.br -Copyright 1998 by the Massachusetts Institute of Technology. -.br -Copyright (C) 2004-2010 by Daniel Stenberg. diff --git a/deps/cares/docs/ares_library_cleanup.3 b/deps/cares/docs/ares_library_cleanup.3 index 5eccdbc669df66..ff7d946faeb420 100644 --- a/deps/cares/docs/ares_library_cleanup.3 +++ b/deps/cares/docs/ares_library_cleanup.3 @@ -64,9 +64,3 @@ a do-nothing function on non-Win32/64 platforms. .SH SEE ALSO .BR ares_library_init (3), .BR ares_cancel (3) -.SH AUTHOR -Yang Tse -.PP -Copyright 1998 by the Massachusetts Institute of Technology. -.br -Copyright (C) 2004-2009 by Daniel Stenberg. diff --git a/deps/cares/docs/ares_library_init.3 b/deps/cares/docs/ares_library_init.3 index f77effb85651ed..1c30faf29fc381 100644 --- a/deps/cares/docs/ares_library_init.3 +++ b/deps/cares/docs/ares_library_init.3 @@ -96,9 +96,3 @@ a do-nothing function on non-Win32/64 platforms at this point. .SH SEE ALSO .BR ares_library_cleanup (3), .BR ares_strerror (3) -.SH AUTHOR -Yang Tse -.PP -Copyright 1998 by the Massachusetts Institute of Technology. -.br -Copyright (C) 2004-2009 by Daniel Stenberg. diff --git a/deps/cares/docs/ares_library_init_android.3 b/deps/cares/docs/ares_library_init_android.3 index 590fad5c811858..bf132d84f3e8fd 100644 --- a/deps/cares/docs/ares_library_init_android.3 +++ b/deps/cares/docs/ares_library_init_android.3 @@ -124,8 +124,4 @@ This function was first introduced in c-ares version 1.15.0. .SH SEE ALSO .BR ares_library_init (3), .BR ares_library_cleanup (3), -.SH AUTHOR -John Schember -.PP -Copyright (C) 2017 by John Schember diff --git a/deps/cares/docs/ares_mkquery.3 b/deps/cares/docs/ares_mkquery.3 index 0075347a617926..0e7b5edbb89353 100644 --- a/deps/cares/docs/ares_mkquery.3 +++ b/deps/cares/docs/ares_mkquery.3 @@ -73,7 +73,3 @@ Memory was exhausted. .BR ares_expand_name (3), .BR ares_dns_record (3), .BR ares_free_string (3) -.SH AUTHOR -Greg Hudson, MIT Information Systems -.br -Copyright 1998, 2000 by the Massachusetts Institute of Technology. diff --git a/deps/cares/docs/ares_parse_a_reply.3 b/deps/cares/docs/ares_parse_a_reply.3 index 91f6a3fd8d724c..f4a0e8bb917fed 100644 --- a/deps/cares/docs/ares_parse_a_reply.3 +++ b/deps/cares/docs/ares_parse_a_reply.3 @@ -61,9 +61,3 @@ Memory was exhausted. .SH SEE ALSO .BR ares_gethostbyname (3), .BR ares_free_hostent (3) -.SH AUTHOR -Greg Hudson, MIT Information Systems -.br -Andrew Selivanov -.br -Copyright 1998 by the Massachusetts Institute of Technology. diff --git a/deps/cares/docs/ares_parse_aaaa_reply.3 b/deps/cares/docs/ares_parse_aaaa_reply.3 index cc11f23439209b..364766f0d1d926 100644 --- a/deps/cares/docs/ares_parse_aaaa_reply.3 +++ b/deps/cares/docs/ares_parse_aaaa_reply.3 @@ -61,9 +61,3 @@ Memory was exhausted. .SH SEE ALSO .BR ares_gethostbyname (3), .BR ares_free_hostent (3) -.SH AUTHOR -Dominick Meglio -.br -Copyright 2005 by Dominick Meglio. -.BR -Andrew Selivanov diff --git a/deps/cares/docs/ares_parse_caa_reply.3 b/deps/cares/docs/ares_parse_caa_reply.3 index 740562c1f288a7..489d420127ca09 100644 --- a/deps/cares/docs/ares_parse_caa_reply.3 +++ b/deps/cares/docs/ares_parse_caa_reply.3 @@ -156,5 +156,3 @@ This function was first introduced in c-ares version 1.17.0. .SH SEE ALSO .BR ares_query (3) .BR ares_free_data (3) -.SH AUTHOR -Written by Danny Sonnenschein , on behalf of platynum, https://platynum.ch diff --git a/deps/cares/docs/ares_parse_mx_reply.3 b/deps/cares/docs/ares_parse_mx_reply.3 index 1516389931e870..c5c03e1a242be1 100644 --- a/deps/cares/docs/ares_parse_mx_reply.3 +++ b/deps/cares/docs/ares_parse_mx_reply.3 @@ -63,5 +63,3 @@ This function was first introduced in c-ares version 1.7.2. .SH SEE ALSO .BR ares_query (3) .BR ares_free_data (3) -.SH AUTHOR -Written by Jeremy Lal diff --git a/deps/cares/docs/ares_parse_naptr_reply.3 b/deps/cares/docs/ares_parse_naptr_reply.3 index 0b8d5f17feced0..d970b39fc037ae 100644 --- a/deps/cares/docs/ares_parse_naptr_reply.3 +++ b/deps/cares/docs/ares_parse_naptr_reply.3 @@ -68,5 +68,3 @@ This function was first introduced in c-ares version 1.7.6. .SH SEE ALSO .BR ares_query (3) .BR ares_free_data (3) -.SH AUTHOR -Written by Jakub Hrozek , on behalf of Red Hat, Inc http://www.redhat.com diff --git a/deps/cares/docs/ares_parse_ns_reply.3 b/deps/cares/docs/ares_parse_ns_reply.3 index 6ab2d9b51e41d2..c380f93fadbb9c 100644 --- a/deps/cares/docs/ares_parse_ns_reply.3 +++ b/deps/cares/docs/ares_parse_ns_reply.3 @@ -51,5 +51,3 @@ Memory was exhausted. .SH SEE ALSO .BR ares_query (3), .BR ares_free_hostent (3) -.SH AUTHOR -Written by Vlad Dinulescu , on behalf of AVIRA Gmbh http://www.avira.com diff --git a/deps/cares/docs/ares_parse_ptr_reply.3 b/deps/cares/docs/ares_parse_ptr_reply.3 index 4432e9e3c9aa85..5bdc072693cbf2 100644 --- a/deps/cares/docs/ares_parse_ptr_reply.3 +++ b/deps/cares/docs/ares_parse_ptr_reply.3 @@ -57,7 +57,3 @@ Memory was exhausted. .SH SEE ALSO .BR ares_gethostbyaddr (3), .BR ares_free_hostent (3) -.SH AUTHOR -Greg Hudson, MIT Information Systems -.br -Copyright 1998 by the Massachusetts Institute of Technology. diff --git a/deps/cares/docs/ares_parse_srv_reply.3 b/deps/cares/docs/ares_parse_srv_reply.3 index 3d8e8437a03821..2e394a4359512e 100644 --- a/deps/cares/docs/ares_parse_srv_reply.3 +++ b/deps/cares/docs/ares_parse_srv_reply.3 @@ -66,5 +66,3 @@ This function was first introduced in c-ares version 1.7.0. .SH SEE ALSO .BR ares_query (3) .BR ares_free_data (3) -.SH AUTHOR -Written by Jakub Hrozek , on behalf of Red Hat, Inc http://www.redhat.com diff --git a/deps/cares/docs/ares_parse_txt_reply.3 b/deps/cares/docs/ares_parse_txt_reply.3 index f85c67fad97db8..eb08a3fa6f4473 100644 --- a/deps/cares/docs/ares_parse_txt_reply.3 +++ b/deps/cares/docs/ares_parse_txt_reply.3 @@ -94,7 +94,3 @@ This function was first introduced in c-ares version 1.7.0. .SH SEE ALSO .BR ares_query (3) .BR ares_free_data (3) -.SH AUTHOR -Written by Jakub Hrozek , on behalf of Red Hat, Inc http://www.redhat.com -.PP -Amended by Fedor Indutny , on behalf of PayPal, Inc https://www.paypal.com diff --git a/deps/cares/docs/ares_parse_uri_reply.3 b/deps/cares/docs/ares_parse_uri_reply.3 index 3044d4ad6f0590..ad32821edceca9 100644 --- a/deps/cares/docs/ares_parse_uri_reply.3 +++ b/deps/cares/docs/ares_parse_uri_reply.3 @@ -60,5 +60,3 @@ Memory was exhausted. .SH SEE ALSO .BR ares_query (3) .BR ares_free_data (3) -.SH AUTHOR -Written by Jan Petrasek diff --git a/deps/cares/docs/ares_process.3 b/deps/cares/docs/ares_process.3 index 94c98f60a3a744..d45d92a6259682 100644 --- a/deps/cares/docs/ares_process.3 +++ b/deps/cares/docs/ares_process.3 @@ -62,7 +62,3 @@ while (1) { .SH SEE ALSO .BR ares_fds (3), .BR ares_timeout (3) -.SH AUTHOR -Greg Hudson, MIT Information Systems -.br -Copyright 1998 by the Massachusetts Institute of Technology. diff --git a/deps/cares/docs/ares_query.3 b/deps/cares/docs/ares_query.3 index 24decf7009441b..3aa428b00bb813 100644 --- a/deps/cares/docs/ares_query.3 +++ b/deps/cares/docs/ares_query.3 @@ -152,8 +152,3 @@ will be non-NULL, otherwise they will be NULL. .SH SEE ALSO .BR ares_process (3), .BR ares_dns_record (3) - -.SH AUTHOR -Greg Hudson, MIT Information Systems -.br -Copyright 1998 by the Massachusetts Institute of Technology. diff --git a/deps/cares/docs/ares_queue.3 b/deps/cares/docs/ares_queue.3 index 1212e8d3f8c3cc..276d31f6088a7b 100644 --- a/deps/cares/docs/ares_queue.3 +++ b/deps/cares/docs/ares_queue.3 @@ -1,4 +1,5 @@ .\" +.\" Copyright 2024 by the c-ares project and its contributors .\" SPDX-License-Identifier: MIT .\" .TH ARES_QUEUE 3 "16 February 2024" @@ -9,7 +10,7 @@ c-ares queue status .nf #include -size_t ares_queue_active_queries(ares_channel_t *channel); +size_t ares_queue_active_queries(const ares_channel_t *channel); ares_status_t ares_queue_wait_empty(ares_channel_t *channel, int timeout_ms); @@ -49,5 +50,3 @@ c-ares library to be built with threading support. .SH SEE ALSO .BR ares_init_options (3), .BR ares_threadsafety (3) -.SH AUTHOR -Copyright (C) 2024 The c-ares project and its members. diff --git a/deps/cares/docs/ares_reinit.3 b/deps/cares/docs/ares_reinit.3 index 0b037127990293..020af1dbebb0f4 100644 --- a/deps/cares/docs/ares_reinit.3 +++ b/deps/cares/docs/ares_reinit.3 @@ -1,4 +1,5 @@ .\" +.\" Copyright 2023 by the c-ares project and its contributors .\" SPDX-License-Identifier: MIT .\" .TH ARES_REINIT 3 "12 November 2023" @@ -20,10 +21,13 @@ Any existing queries will be automatically requeued if the server they are currently assigned to is removed from the system configuration. This function may cause additional file descriptors to be created, and existing -ones to be destroyed if server configuration has changed. If this is called from -a thread other than which the main program event loop is running, care needs to -be taken to ensure any file descriptor lists are updated immediately within -the eventloop. +ones to be destroyed if server configuration has changed. + +\Bares_reinit(3)\fP, when compiled with thread safety, will spawn a background +thread to read the configuration and apply it. It is crucial that developers +use the \fBARES_OPT_SOCK_STATE_CB\fP or \fBARES_OPT_EVENT_THREAD\fP so that +notifications of changes are alerted. If using \fBares_getsock(3)\fP or +\fBares_fds(3)\fP, no notification is possible which could cause a stall. .SH RETURN VALUES \fIares_reinit(3)\fP can return any of the following values: @@ -47,5 +51,3 @@ This function was first introduced in c-ares version 1.22.0. .BR ares_library_init (3), .BR ares_set_servers (3), .BR ares_threadsafety (3) -.SH AUTHOR -Copyright (C) 2023 The c-ares project and its members. diff --git a/deps/cares/docs/ares_save_options.3 b/deps/cares/docs/ares_save_options.3 index ae171dc4c21ea5..1a1fbfdc1c750e 100644 --- a/deps/cares/docs/ares_save_options.3 +++ b/deps/cares/docs/ares_save_options.3 @@ -9,7 +9,7 @@ ares_save_options \- Save configuration values obtained from initialized ares_ch .nf #include -int ares_save_options(ares_channel_t *\fIchannel\fP, +int ares_save_options(const ares_channel_t *\fIchannel\fP, struct ares_options *\fIoptions\fP, int *\fIoptmask\fP) .fi .SH DESCRIPTION @@ -36,7 +36,7 @@ The channel data was successfully stored The memory was exhausted .TP 15 .B ARES_ENODATA -The channel data identified by +The channel data identified by .IR channel were invalid. .SH NOTE @@ -58,7 +58,3 @@ used instead. .BR ares_dup (3) .SH AVAILABILITY ares_save_options(3) was added in c-ares 1.4.0 -.SH AUTHOR -Brad House -.br -Copyright 1998 by the Massachusetts Institute of Technology. diff --git a/deps/cares/docs/ares_search.3 b/deps/cares/docs/ares_search.3 index 1a324b0ff47db5..66791b47e908fb 100644 --- a/deps/cares/docs/ares_search.3 +++ b/deps/cares/docs/ares_search.3 @@ -179,8 +179,3 @@ enqueuing of the query. .SH SEE ALSO .BR ares_process (3), .BR ares_dns_record (3) - -.SH AUTHOR -Greg Hudson, MIT Information Systems -.br -Copyright 1998 by the Massachusetts Institute of Technology. diff --git a/deps/cares/docs/ares_send.3 b/deps/cares/docs/ares_send.3 index 010bb2579174bd..f6ea9140e2510c 100644 --- a/deps/cares/docs/ares_send.3 +++ b/deps/cares/docs/ares_send.3 @@ -151,8 +151,3 @@ does not reflect as much about the response as for other query functions. .BR ares_process (3), .BR ares_search (3), .BR ares_dns_record (3) - -.SH AUTHOR -Greg Hudson, MIT Information Systems -.br -Copyright 1998 by the Massachusetts Institute of Technology. diff --git a/deps/cares/docs/ares_set_local_dev.3 b/deps/cares/docs/ares_set_local_dev.3 index 2289339768925f..2e2028f616ae3e 100644 --- a/deps/cares/docs/ares_set_local_dev.3 +++ b/deps/cares/docs/ares_set_local_dev.3 @@ -24,5 +24,3 @@ silently ignored. .BR ares_set_local_ip6 (3) .SH NOTES This function was added in c-ares 1.7.4 -.SH AUTHOR -Ben Greear diff --git a/deps/cares/docs/ares_set_local_ip4.3 b/deps/cares/docs/ares_set_local_ip4.3 index 83ad8b86c19cfb..e311255b68dabe 100644 --- a/deps/cares/docs/ares_set_local_ip4.3 +++ b/deps/cares/docs/ares_set_local_ip4.3 @@ -19,5 +19,3 @@ allows users to specify outbound interfaces when used on multi-homed systems. .BR ares_set_local_ip6 (3) .SH NOTES This function was added in c-ares 1.7.4 -.SH AUTHOR -Ben Greear diff --git a/deps/cares/docs/ares_set_local_ip6.3 b/deps/cares/docs/ares_set_local_ip6.3 index fafae8dc913ec2..a43d28007ef87c 100644 --- a/deps/cares/docs/ares_set_local_ip6.3 +++ b/deps/cares/docs/ares_set_local_ip6.3 @@ -20,5 +20,3 @@ systems. The \fIlocal_ip6\fP argument must be 16 bytes in length. .BR ares_set_local_ip4 (3) .SH NOTES This function was added in c-ares 1.7.4 -.SH AUTHOR -Ben Greear diff --git a/deps/cares/docs/ares_set_server_state_callback.3 b/deps/cares/docs/ares_set_server_state_callback.3 new file mode 100644 index 00000000000000..04fbde4c7afa76 --- /dev/null +++ b/deps/cares/docs/ares_set_server_state_callback.3 @@ -0,0 +1,62 @@ +.\" +.\" Copyright 2024 by the c-ares project and its contributors +.\" SPDX-License-Identifier: MIT +.\" +.TH ARES_SET_SERVER_STATE_CALLBACK 3 "26 Apr 2024" +.SH NAME +ares_set_server_state_callback \- Function for setting a server state callback +.SH SYNOPSIS +.nf +#include + +typedef void (*ares_server_state_callback)(const char *\fIserver_string\fP, + ares_bool_t \fIsuccess\fP, + int \fIflags\fP, + void *\fIdata\fP); + +void ares_set_server_state_callback(ares_channel_t *\fIchannel\fP, + ares_server_state_callback \fIcallback\fP, + void *\fIuser_data\fP); +.fi + +.SH DESCRIPTION +The \fBares_set_server_state_callback(3)\fP function sets a callback function +\fIcallback\fP in the given ares channel handle \fIchannel\fP that is invoked +whenever a query on the channel completes. This includes both successful and +unsuccessful queries (including hard errors and timeouts). The callback +function is invoked with a number of parameters describing the query, as +follows. + +The \fIserver_string\fP parameter indicates the DNS server that was used for +the query, given as a string with the same format returned by +\fBares_get_servers_csv(3)\fP. + +The \fIsuccess\fP parameter indicates whether the query succeeded or not. It is +set to \fBARES_TRUE\fP on success and \fBARES_FALSE\fP on failure. + +The \fIflags\fP parameter is a bitmask of flags describing various aspects of +the query (for example whether the query used UDP or TCP). These are described +below. + +The \fIdata\fP parameter is a reference to the custom user data \fIuser_data\fP +that was passed to \fBares_set_server_state_callback(3)\fP when setting the +server state callback. + +The server state callback can be used by applications to monitor the state of +the DNS servers used by an ares channel. For example, it can be used to track +metrics about the numbers and types of queries sent to each server or to +detect when a server is uncontactable or unhealthy. + +.SH FLAGS +.TP 5 +.B ARES_SERV_STATE_UDP +Indicates that the query was tried over UDP. +.TP 5 +.B ARES_SERV_STATE_TCP +Indicates that the query was tried over TCP. + +.SH AVAILABILITY +This function was first introduced in c-ares version 1.29.0. + +.SH SEE ALSO +.BR ares_get_servers_csv (3) diff --git a/deps/cares/docs/ares_set_servers.3 b/deps/cares/docs/ares_set_servers.3 index 410c279c806a41..24ef7879e17612 100644 --- a/deps/cares/docs/ares_set_servers.3 +++ b/deps/cares/docs/ares_set_servers.3 @@ -84,13 +84,3 @@ server options. Use \fBares_set_servers_csv(3)\fP. .SH AVAILABILITY \fBares_set_servers(3)\fP was added in c-ares 1.7.1; \fBares_set_servers_ports(3)\fP was added in c-ares 1.11.0. -.SH AUTHOR -Implementation of this function and associated library internals are based -on code, comments and feedback provided in November and December of 2008 by -Daniel Stenberg, Gregor Jasny, Phil Blundell and Yang Tse, December 2009 -by Cedric Bail, February 2010 by Jakub Hrozek. On March 2010 Yang Tse -shuffled all the bits and this function popped out. -.br -Copyright 1998 by the Massachusetts Institute of Technology. -.br -Copyright (C) 2008-2010 by Daniel Stenberg diff --git a/deps/cares/docs/ares_set_servers_csv.3 b/deps/cares/docs/ares_set_servers_csv.3 index 7d37a90fa43c65..875a156bfb1014 100644 --- a/deps/cares/docs/ares_set_servers_csv.3 +++ b/deps/cares/docs/ares_set_servers_csv.3 @@ -14,7 +14,7 @@ int ares_set_servers_csv(ares_channel_t *\fIchannel\fP, const char* \fIservers\f int ares_set_servers_ports_csv(ares_channel_t *\fIchannel\fP, const char* \fIservers\fP) -char *ares_get_servers_csv(ares_channel_t *\fIchannel\fP) +char *ares_get_servers_csv(const ares_channel_t *\fIchannel\fP) .fi .SH DESCRIPTION The \fBares_set_servers_csv\fP and \fBares_set_servers_ports_csv\fP functions set @@ -81,5 +81,3 @@ returns a string representing the servers configured which must be freed with \fBares_set_servers_csv\fP was added in c-ares 1.7.2 \fBares_set_servers_ports_csv\fP was added in c-ares 1.11.0. \fBares_get_servers_csv\fP was added in c-ares 1.24.0. -.SH AUTHOR -Ben Greear diff --git a/deps/cares/docs/ares_set_socket_callback.3 b/deps/cares/docs/ares_set_socket_callback.3 index 4eb04084e9a11d..d94b9885357a5e 100644 --- a/deps/cares/docs/ares_set_socket_callback.3 +++ b/deps/cares/docs/ares_set_socket_callback.3 @@ -31,6 +31,4 @@ abort the ares operation. .BR ares_set_socket_configure_callback (3) .SH AVAILABILITY ares_set_socket_callback(3) was added in c-ares 1.6.0 -.SH AUTHOR -Gregor Jasny diff --git a/deps/cares/docs/ares_set_socket_configure_callback.3 b/deps/cares/docs/ares_set_socket_configure_callback.3 index f5d7bb5d507d2f..d26e79f43f631a 100644 --- a/deps/cares/docs/ares_set_socket_configure_callback.3 +++ b/deps/cares/docs/ares_set_socket_configure_callback.3 @@ -31,6 +31,4 @@ abort the ares operation. .BR ares_set_socket_callback (3) .SH AVAILABILITY ares_set_socket_configure_callback(3) was added in c-ares 1.11.0 -.SH AUTHOR -Andrew Ayer diff --git a/deps/cares/docs/ares_set_socket_functions.3 b/deps/cares/docs/ares_set_socket_functions.3 index c92934ba82e5e3..ab945ed18de86b 100644 --- a/deps/cares/docs/ares_set_socket_functions.3 +++ b/deps/cares/docs/ares_set_socket_functions.3 @@ -99,5 +99,3 @@ Added in c-ares 1.13.0 .BR recvfrom (2), .BR send (2), .BR writev (2) -.SH AUTHOR -Carl Wilund diff --git a/deps/cares/docs/ares_strerror.3 b/deps/cares/docs/ares_strerror.3 index 32eab05f311119..895af5f3e97311 100644 --- a/deps/cares/docs/ares_strerror.3 +++ b/deps/cares/docs/ares_strerror.3 @@ -20,7 +20,3 @@ returning the result as a NUL-terminated C string. .SH NOTES This function is not compatible with ares, it takes a different set of arguments. -.SH AUTHOR -Greg Hudson, MIT Information Systems -.br -Copyright 1998 by the Massachusetts Institute of Technology. diff --git a/deps/cares/docs/ares_threadsafety.3 b/deps/cares/docs/ares_threadsafety.3 index a3c29d5f6ecea5..d9c38d801ef483 100644 --- a/deps/cares/docs/ares_threadsafety.3 +++ b/deps/cares/docs/ares_threadsafety.3 @@ -1,4 +1,5 @@ .\" +.\" Copyright 2023 by the c-ares project and its contributors .\" SPDX-License-Identifier: MIT .\" .TH ARES_THREADSAFETY 3 "26 November 2023" @@ -41,5 +42,3 @@ This function was first introduced in c-ares version 1.23.0. .BR ares_dup (3), .BR ares_library_init (3), .BR ares_set_servers (3) -.SH AUTHOR -Copyright (C) 2023 The c-ares project and its members. diff --git a/deps/cares/docs/ares_timeout.3 b/deps/cares/docs/ares_timeout.3 index c1e39545993d53..bdcd6916802896 100644 --- a/deps/cares/docs/ares_timeout.3 +++ b/deps/cares/docs/ares_timeout.3 @@ -9,7 +9,7 @@ ares_timeout \- return maximum time to wait .nf #include -struct timeval *ares_timeout(ares_channel_t *\fIchannel\fP, +struct timeval *ares_timeout(const ares_channel_t *\fIchannel\fP, struct timeval *\fImaxtv\fP, struct timeval *\fItv\fP) .fi @@ -29,7 +29,3 @@ pointed to by \fItv\fP and returns the value of \fItv\fP. .BR ares_fds (3), .BR ares_process (3), .BR ares_process_fd (3) -.SH AUTHOR -Greg Hudson, MIT Information Systems -.br -Copyright 1998 by the Massachusetts Institute of Technology. diff --git a/deps/cares/include/ares.h b/deps/cares/include/ares.h index bc17230e47262f..a30e6fb576d69e 100644 --- a/deps/cares/include/ares.h +++ b/deps/cares/include/ares.h @@ -255,6 +255,7 @@ typedef enum { #define ARES_OPT_MAXTIMEOUTMS (1 << 20) #define ARES_OPT_QUERY_CACHE (1 << 21) #define ARES_OPT_EVENT_THREAD (1 << 22) +#define ARES_OPT_SERVER_FAILOVER (1 << 23) /* Nameinfo flag values */ #define ARES_NI_NOFQDN (1 << 0) @@ -305,6 +306,9 @@ typedef enum { #define ARES_LIB_INIT_WIN32 (1 << 0) #define ARES_LIB_INIT_ALL (ARES_LIB_INIT_WIN32) +/* Server state callback flag values */ +#define ARES_SERV_STATE_UDP (1 << 0) /* Query used UDP */ +#define ARES_SERV_STATE_TCP (1 << 1) /* Query used TCP */ /* * Typedef our socket type @@ -326,6 +330,18 @@ typedef void (*ares_sock_state_cb)(void *data, ares_socket_t socket_fd, struct apattern; +/* Options controlling server failover behavior. + * The retry chance is the probability (1/N) by which we will retry a failed + * server instead of the best server when selecting a server to send queries + * to. + * The retry delay is the minimum time in milliseconds to wait between doing + * such retries (applied per-server). + */ +struct ares_server_failover_options { + unsigned short retry_chance; + size_t retry_delay; +}; + /* NOTE about the ares_options struct to users and developers. This struct will remain looking like this. It will not be extended nor @@ -368,6 +384,7 @@ struct ares_options { int maxtimeout; /* in milliseconds */ unsigned int qcache_max_ttl; /* Maximum TTL for query cache, 0=disabled */ ares_evsys_t evsys; + struct ares_server_failover_options server_failover_opts; }; struct hostent; @@ -430,6 +447,10 @@ typedef int (*ares_sock_config_callback)(ares_socket_t socket_fd, int type, typedef void (*ares_addrinfo_callback)(void *arg, int status, int timeouts, struct ares_addrinfo *res); +typedef void (*ares_server_state_callback)(const char *server_string, + ares_bool_t success, int flags, + void *data); + CARES_EXTERN int ares_library_init(int flags); CARES_EXTERN int ares_library_init_mem(int flags, void *(*amalloc)(size_t size), @@ -452,16 +473,16 @@ CARES_EXTERN const char *ares_version(int *version); CARES_EXTERN CARES_DEPRECATED_FOR(ares_init_options) int ares_init( ares_channel_t **channelptr); -CARES_EXTERN int ares_init_options(ares_channel_t **channelptr, - const struct ares_options *options, - int optmask); +CARES_EXTERN int ares_init_options(ares_channel_t **channelptr, + const struct ares_options *options, + int optmask); -CARES_EXTERN int ares_save_options(ares_channel_t *channel, - struct ares_options *options, int *optmask); +CARES_EXTERN int ares_save_options(const ares_channel_t *channel, + struct ares_options *options, int *optmask); -CARES_EXTERN void ares_destroy_options(struct ares_options *options); +CARES_EXTERN void ares_destroy_options(struct ares_options *options); -CARES_EXTERN int ares_dup(ares_channel_t **dest, ares_channel_t *src); +CARES_EXTERN int ares_dup(ares_channel_t **dest, const ares_channel_t *src); CARES_EXTERN ares_status_t ares_reinit(ares_channel_t *channel); @@ -491,6 +512,11 @@ CARES_EXTERN void ares_set_socket_callback(ares_channel_t *ch CARES_EXTERN void ares_set_socket_configure_callback( ares_channel_t *channel, ares_sock_config_callback callback, void *user_data); +CARES_EXTERN void + ares_set_server_state_callback(ares_channel_t *channel, + ares_server_state_callback callback, + void *user_data); + CARES_EXTERN int ares_set_sortlist(ares_channel_t *channel, const char *sortstr); @@ -608,17 +634,17 @@ CARES_EXTERN void ares_getnameinfo(ares_channel_t *channel, CARES_EXTERN CARES_DEPRECATED_FOR( ARES_OPT_EVENT_THREAD or - ARES_OPT_SOCK_STATE_CB) int ares_fds(ares_channel_t *channel, + ARES_OPT_SOCK_STATE_CB) int ares_fds(const ares_channel_t *channel, fd_set *read_fds, fd_set *write_fds); CARES_EXTERN CARES_DEPRECATED_FOR( ARES_OPT_EVENT_THREAD or - ARES_OPT_SOCK_STATE_CB) int ares_getsock(ares_channel_t *channel, + ARES_OPT_SOCK_STATE_CB) int ares_getsock(const ares_channel_t *channel, ares_socket_t *socks, int numsocks); -CARES_EXTERN struct timeval *ares_timeout(ares_channel_t *channel, - struct timeval *maxtv, - struct timeval *tv); +CARES_EXTERN struct timeval *ares_timeout(const ares_channel_t *channel, + struct timeval *maxtv, + struct timeval *tv); CARES_EXTERN CARES_DEPRECATED_FOR(ares_process_fd) void ares_process( ares_channel_t *channel, fd_set *read_fds, fd_set *write_fds); @@ -842,22 +868,24 @@ CARES_EXTERN CARES_DEPRECATED_FOR(ares_set_servers_csv) int ares_set_servers( ares_channel_t *channel, const struct ares_addr_node *servers); CARES_EXTERN - CARES_DEPRECATED_FOR(ares_set_servers_ports_csv) int ares_set_servers_ports( - ares_channel_t *channel, const struct ares_addr_port_node *servers); +CARES_DEPRECATED_FOR(ares_set_servers_ports_csv) +int ares_set_servers_ports(ares_channel_t *channel, + const struct ares_addr_port_node *servers); /* Incoming string format: host[:port][,host[:port]]... */ CARES_EXTERN int ares_set_servers_csv(ares_channel_t *channel, const char *servers); CARES_EXTERN int ares_set_servers_ports_csv(ares_channel_t *channel, const char *servers); -CARES_EXTERN char *ares_get_servers_csv(ares_channel_t *channel); +CARES_EXTERN char *ares_get_servers_csv(const ares_channel_t *channel); CARES_EXTERN CARES_DEPRECATED_FOR(ares_get_servers_csv) int ares_get_servers( - ares_channel_t *channel, struct ares_addr_node **servers); + const ares_channel_t *channel, struct ares_addr_node **servers); CARES_EXTERN - CARES_DEPRECATED_FOR(ares_get_servers_ports_csv) int ares_get_servers_ports( - ares_channel_t *channel, struct ares_addr_port_node **servers); +CARES_DEPRECATED_FOR(ares_get_servers_ports_csv) +int ares_get_servers_ports(const ares_channel_t *channel, + struct ares_addr_port_node **servers); CARES_EXTERN const char *ares_inet_ntop(int af, const void *src, char *dst, ares_socklen_t size); @@ -891,7 +919,7 @@ CARES_EXTERN ares_status_t ares_queue_wait_empty(ares_channel_t *channel, * \param[in] channel Initialized ares channel * \return Number of active queries to servers */ -CARES_EXTERN size_t ares_queue_active_queries(ares_channel_t *channel); +CARES_EXTERN size_t ares_queue_active_queries(const ares_channel_t *channel); #ifdef __cplusplus } diff --git a/deps/cares/include/ares_version.h b/deps/cares/include/ares_version.h index 0e94a98be8f280..75489c1f5cedeb 100644 --- a/deps/cares/include/ares_version.h +++ b/deps/cares/include/ares_version.h @@ -31,12 +31,12 @@ #define ARES_COPYRIGHT "2004 - 2024 Daniel Stenberg, ." #define ARES_VERSION_MAJOR 1 -#define ARES_VERSION_MINOR 28 -#define ARES_VERSION_PATCH 1 +#define ARES_VERSION_MINOR 29 +#define ARES_VERSION_PATCH 0 #define ARES_VERSION \ ((ARES_VERSION_MAJOR << 16) | (ARES_VERSION_MINOR << 8) | \ (ARES_VERSION_PATCH)) -#define ARES_VERSION_STR "1.28.1" +#define ARES_VERSION_STR "1.29.0" #if (ARES_VERSION >= 0x010700) # define CARES_HAVE_ARES_LIBRARY_INIT 1 diff --git a/deps/cares/src/lib/CMakeLists.txt b/deps/cares/src/lib/CMakeLists.txt index de73f712f1d1ce..ef0acf371ff091 100644 --- a/deps/cares/src/lib/CMakeLists.txt +++ b/deps/cares/src/lib/CMakeLists.txt @@ -36,6 +36,10 @@ IF (CARES_SHARED) C_STANDARD 90 ) + IF (ANDROID) + SET_TARGET_PROPERTIES (${PROJECT_NAME} PROPERTIES C_STANDARD 99) + ENDIF () + IF (CARES_SYMBOL_HIDING) SET_TARGET_PROPERTIES (${PROJECT_NAME} PROPERTIES C_VISIBILITY_PRESET hidden @@ -92,6 +96,10 @@ IF (CARES_STATIC) C_STANDARD 90 ) + IF (ANDROID) + SET_TARGET_PROPERTIES (${LIBNAME} PROPERTIES C_STANDARD 99) + ENDIF () + IF (CARES_STATIC_PIC) SET_TARGET_PROPERTIES (${LIBNAME} PROPERTIES POSITION_INDEPENDENT_CODE True) ENDIF () diff --git a/deps/cares/src/lib/Makefile.in b/deps/cares/src/lib/Makefile.in index 0060295c21e8ef..a98c4ef5872c29 100644 --- a/deps/cares/src/lib/Makefile.in +++ b/deps/cares/src/lib/Makefile.in @@ -15,7 +15,7 @@ @SET_MAKE@ # aminclude_static.am generated automatically by Autoconf -# from AX_AM_MACROS_STATIC on Sat Mar 30 16:15:43 CET 2024 +# from AX_AM_MACROS_STATIC on Fri May 24 08:48:15 CEST 2024 # Copyright (C) The c-ares project and its contributors # SPDX-License-Identifier: MIT @@ -167,6 +167,7 @@ am__objects_1 = libcares_la-ares__addrinfo2hostent.lo \ libcares_la-ares__htable_asvp.lo \ libcares_la-ares__htable_strvp.lo \ libcares_la-ares__htable_szvp.lo \ + libcares_la-ares__htable_vpvp.lo \ libcares_la-ares__iface_ips.lo libcares_la-ares__llist.lo \ libcares_la-ares__parse_into_addrinfo.lo \ libcares_la-ares__slist.lo libcares_la-ares__socket.lo \ @@ -176,6 +177,7 @@ am__objects_1 = libcares_la-ares__addrinfo2hostent.lo \ libcares_la-ares_destroy.lo libcares_la-ares_dns_mapping.lo \ libcares_la-ares_dns_name.lo libcares_la-ares_dns_parse.lo \ libcares_la-ares_dns_record.lo libcares_la-ares_dns_write.lo \ + libcares_la-ares_event_configchg.lo \ libcares_la-ares_event_epoll.lo \ libcares_la-ares_event_kqueue.lo \ libcares_la-ares_event_poll.lo \ @@ -212,9 +214,10 @@ am__objects_1 = libcares_la-ares__addrinfo2hostent.lo \ libcares_la-ares_str.lo libcares_la-ares_strerror.lo \ libcares_la-ares_strsplit.lo libcares_la-ares_sysconfig.lo \ libcares_la-ares_sysconfig_files.lo \ - libcares_la-ares_timeout.lo libcares_la-ares_update_servers.lo \ - libcares_la-ares_version.lo libcares_la-inet_net_pton.lo \ - libcares_la-inet_ntop.lo libcares_la-windows_port.lo + libcares_la-ares_sysconfig_mac.lo libcares_la-ares_timeout.lo \ + libcares_la-ares_update_servers.lo libcares_la-ares_version.lo \ + libcares_la-inet_net_pton.lo libcares_la-inet_ntop.lo \ + libcares_la-windows_port.lo am__objects_2 = am_libcares_la_OBJECTS = $(am__objects_1) $(am__objects_2) libcares_la_OBJECTS = $(am_libcares_la_OBJECTS) @@ -250,6 +253,7 @@ am__depfiles_remade = \ ./$(DEPDIR)/libcares_la-ares__htable_asvp.Plo \ ./$(DEPDIR)/libcares_la-ares__htable_strvp.Plo \ ./$(DEPDIR)/libcares_la-ares__htable_szvp.Plo \ + ./$(DEPDIR)/libcares_la-ares__htable_vpvp.Plo \ ./$(DEPDIR)/libcares_la-ares__iface_ips.Plo \ ./$(DEPDIR)/libcares_la-ares__llist.Plo \ ./$(DEPDIR)/libcares_la-ares__parse_into_addrinfo.Plo \ @@ -268,6 +272,7 @@ am__depfiles_remade = \ ./$(DEPDIR)/libcares_la-ares_dns_parse.Plo \ ./$(DEPDIR)/libcares_la-ares_dns_record.Plo \ ./$(DEPDIR)/libcares_la-ares_dns_write.Plo \ + ./$(DEPDIR)/libcares_la-ares_event_configchg.Plo \ ./$(DEPDIR)/libcares_la-ares_event_epoll.Plo \ ./$(DEPDIR)/libcares_la-ares_event_kqueue.Plo \ ./$(DEPDIR)/libcares_la-ares_event_poll.Plo \ @@ -315,6 +320,7 @@ am__depfiles_remade = \ ./$(DEPDIR)/libcares_la-ares_strsplit.Plo \ ./$(DEPDIR)/libcares_la-ares_sysconfig.Plo \ ./$(DEPDIR)/libcares_la-ares_sysconfig_files.Plo \ + ./$(DEPDIR)/libcares_la-ares_sysconfig_mac.Plo \ ./$(DEPDIR)/libcares_la-ares_timeout.Plo \ ./$(DEPDIR)/libcares_la-ares_update_servers.Plo \ ./$(DEPDIR)/libcares_la-ares_version.Plo \ @@ -623,6 +629,7 @@ CSOURCES = ares__addrinfo2hostent.c \ ares__htable_asvp.c \ ares__htable_strvp.c \ ares__htable_szvp.c \ + ares__htable_vpvp.c \ ares__iface_ips.c \ ares__llist.c \ ares__parse_into_addrinfo.c \ @@ -640,6 +647,7 @@ CSOURCES = ares__addrinfo2hostent.c \ ares_dns_parse.c \ ares_dns_record.c \ ares_dns_write.c \ + ares_event_configchg.c \ ares_event_epoll.c \ ares_event_kqueue.c \ ares_event_poll.c \ @@ -688,6 +696,7 @@ CSOURCES = ares__addrinfo2hostent.c \ ares_strsplit.c \ ares_sysconfig.c \ ares_sysconfig_files.c \ + ares_sysconfig_mac.c \ ares_timeout.c \ ares_update_servers.c \ ares_version.c \ @@ -700,6 +709,7 @@ HHEADERS = ares__buf.h \ ares__htable_asvp.h \ ares__htable_strvp.h \ ares__htable_szvp.h \ + ares__htable_vpvp.h \ ares__iface_ips.h \ ares__llist.h \ ares__slist.h \ @@ -827,6 +837,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares__htable_asvp.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares__htable_strvp.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares__htable_szvp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares__htable_vpvp.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares__iface_ips.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares__llist.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares__parse_into_addrinfo.Plo@am__quote@ # am--include-marker @@ -845,6 +856,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares_dns_parse.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares_dns_record.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares_dns_write.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares_event_configchg.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares_event_epoll.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares_event_kqueue.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares_event_poll.Plo@am__quote@ # am--include-marker @@ -892,6 +904,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares_strsplit.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares_sysconfig.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares_sysconfig_files.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares_sysconfig_mac.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares_timeout.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares_update_servers.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares_version.Plo@am__quote@ # am--include-marker @@ -992,6 +1005,13 @@ libcares_la-ares__htable_szvp.lo: ares__htable_szvp.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcares_la_CPPFLAGS) $(CPPFLAGS) $(libcares_la_CFLAGS) $(CFLAGS) -c -o libcares_la-ares__htable_szvp.lo `test -f 'ares__htable_szvp.c' || echo '$(srcdir)/'`ares__htable_szvp.c +libcares_la-ares__htable_vpvp.lo: ares__htable_vpvp.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcares_la_CPPFLAGS) $(CPPFLAGS) $(libcares_la_CFLAGS) $(CFLAGS) -MT libcares_la-ares__htable_vpvp.lo -MD -MP -MF $(DEPDIR)/libcares_la-ares__htable_vpvp.Tpo -c -o libcares_la-ares__htable_vpvp.lo `test -f 'ares__htable_vpvp.c' || echo '$(srcdir)/'`ares__htable_vpvp.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcares_la-ares__htable_vpvp.Tpo $(DEPDIR)/libcares_la-ares__htable_vpvp.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ares__htable_vpvp.c' object='libcares_la-ares__htable_vpvp.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcares_la_CPPFLAGS) $(CPPFLAGS) $(libcares_la_CFLAGS) $(CFLAGS) -c -o libcares_la-ares__htable_vpvp.lo `test -f 'ares__htable_vpvp.c' || echo '$(srcdir)/'`ares__htable_vpvp.c + libcares_la-ares__iface_ips.lo: ares__iface_ips.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcares_la_CPPFLAGS) $(CPPFLAGS) $(libcares_la_CFLAGS) $(CFLAGS) -MT libcares_la-ares__iface_ips.lo -MD -MP -MF $(DEPDIR)/libcares_la-ares__iface_ips.Tpo -c -o libcares_la-ares__iface_ips.lo `test -f 'ares__iface_ips.c' || echo '$(srcdir)/'`ares__iface_ips.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcares_la-ares__iface_ips.Tpo $(DEPDIR)/libcares_la-ares__iface_ips.Plo @@ -1111,6 +1131,13 @@ libcares_la-ares_dns_write.lo: ares_dns_write.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcares_la_CPPFLAGS) $(CPPFLAGS) $(libcares_la_CFLAGS) $(CFLAGS) -c -o libcares_la-ares_dns_write.lo `test -f 'ares_dns_write.c' || echo '$(srcdir)/'`ares_dns_write.c +libcares_la-ares_event_configchg.lo: ares_event_configchg.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcares_la_CPPFLAGS) $(CPPFLAGS) $(libcares_la_CFLAGS) $(CFLAGS) -MT libcares_la-ares_event_configchg.lo -MD -MP -MF $(DEPDIR)/libcares_la-ares_event_configchg.Tpo -c -o libcares_la-ares_event_configchg.lo `test -f 'ares_event_configchg.c' || echo '$(srcdir)/'`ares_event_configchg.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcares_la-ares_event_configchg.Tpo $(DEPDIR)/libcares_la-ares_event_configchg.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ares_event_configchg.c' object='libcares_la-ares_event_configchg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcares_la_CPPFLAGS) $(CPPFLAGS) $(libcares_la_CFLAGS) $(CFLAGS) -c -o libcares_la-ares_event_configchg.lo `test -f 'ares_event_configchg.c' || echo '$(srcdir)/'`ares_event_configchg.c + libcares_la-ares_event_epoll.lo: ares_event_epoll.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcares_la_CPPFLAGS) $(CPPFLAGS) $(libcares_la_CFLAGS) $(CFLAGS) -MT libcares_la-ares_event_epoll.lo -MD -MP -MF $(DEPDIR)/libcares_la-ares_event_epoll.Tpo -c -o libcares_la-ares_event_epoll.lo `test -f 'ares_event_epoll.c' || echo '$(srcdir)/'`ares_event_epoll.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcares_la-ares_event_epoll.Tpo $(DEPDIR)/libcares_la-ares_event_epoll.Plo @@ -1447,6 +1474,13 @@ libcares_la-ares_sysconfig_files.lo: ares_sysconfig_files.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcares_la_CPPFLAGS) $(CPPFLAGS) $(libcares_la_CFLAGS) $(CFLAGS) -c -o libcares_la-ares_sysconfig_files.lo `test -f 'ares_sysconfig_files.c' || echo '$(srcdir)/'`ares_sysconfig_files.c +libcares_la-ares_sysconfig_mac.lo: ares_sysconfig_mac.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcares_la_CPPFLAGS) $(CPPFLAGS) $(libcares_la_CFLAGS) $(CFLAGS) -MT libcares_la-ares_sysconfig_mac.lo -MD -MP -MF $(DEPDIR)/libcares_la-ares_sysconfig_mac.Tpo -c -o libcares_la-ares_sysconfig_mac.lo `test -f 'ares_sysconfig_mac.c' || echo '$(srcdir)/'`ares_sysconfig_mac.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcares_la-ares_sysconfig_mac.Tpo $(DEPDIR)/libcares_la-ares_sysconfig_mac.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ares_sysconfig_mac.c' object='libcares_la-ares_sysconfig_mac.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcares_la_CPPFLAGS) $(CPPFLAGS) $(libcares_la_CFLAGS) $(CFLAGS) -c -o libcares_la-ares_sysconfig_mac.lo `test -f 'ares_sysconfig_mac.c' || echo '$(srcdir)/'`ares_sysconfig_mac.c + libcares_la-ares_timeout.lo: ares_timeout.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcares_la_CPPFLAGS) $(CPPFLAGS) $(libcares_la_CFLAGS) $(CFLAGS) -MT libcares_la-ares_timeout.lo -MD -MP -MF $(DEPDIR)/libcares_la-ares_timeout.Tpo -c -o libcares_la-ares_timeout.lo `test -f 'ares_timeout.c' || echo '$(srcdir)/'`ares_timeout.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcares_la-ares_timeout.Tpo $(DEPDIR)/libcares_la-ares_timeout.Plo @@ -1705,6 +1739,7 @@ distclean: distclean-recursive -rm -f ./$(DEPDIR)/libcares_la-ares__htable_asvp.Plo -rm -f ./$(DEPDIR)/libcares_la-ares__htable_strvp.Plo -rm -f ./$(DEPDIR)/libcares_la-ares__htable_szvp.Plo + -rm -f ./$(DEPDIR)/libcares_la-ares__htable_vpvp.Plo -rm -f ./$(DEPDIR)/libcares_la-ares__iface_ips.Plo -rm -f ./$(DEPDIR)/libcares_la-ares__llist.Plo -rm -f ./$(DEPDIR)/libcares_la-ares__parse_into_addrinfo.Plo @@ -1723,6 +1758,7 @@ distclean: distclean-recursive -rm -f ./$(DEPDIR)/libcares_la-ares_dns_parse.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_dns_record.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_dns_write.Plo + -rm -f ./$(DEPDIR)/libcares_la-ares_event_configchg.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_event_epoll.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_event_kqueue.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_event_poll.Plo @@ -1770,6 +1806,7 @@ distclean: distclean-recursive -rm -f ./$(DEPDIR)/libcares_la-ares_strsplit.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_sysconfig.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_sysconfig_files.Plo + -rm -f ./$(DEPDIR)/libcares_la-ares_sysconfig_mac.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_timeout.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_update_servers.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_version.Plo @@ -1830,6 +1867,7 @@ maintainer-clean: maintainer-clean-recursive -rm -f ./$(DEPDIR)/libcares_la-ares__htable_asvp.Plo -rm -f ./$(DEPDIR)/libcares_la-ares__htable_strvp.Plo -rm -f ./$(DEPDIR)/libcares_la-ares__htable_szvp.Plo + -rm -f ./$(DEPDIR)/libcares_la-ares__htable_vpvp.Plo -rm -f ./$(DEPDIR)/libcares_la-ares__iface_ips.Plo -rm -f ./$(DEPDIR)/libcares_la-ares__llist.Plo -rm -f ./$(DEPDIR)/libcares_la-ares__parse_into_addrinfo.Plo @@ -1848,6 +1886,7 @@ maintainer-clean: maintainer-clean-recursive -rm -f ./$(DEPDIR)/libcares_la-ares_dns_parse.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_dns_record.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_dns_write.Plo + -rm -f ./$(DEPDIR)/libcares_la-ares_event_configchg.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_event_epoll.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_event_kqueue.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_event_poll.Plo @@ -1895,6 +1934,7 @@ maintainer-clean: maintainer-clean-recursive -rm -f ./$(DEPDIR)/libcares_la-ares_strsplit.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_sysconfig.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_sysconfig_files.Plo + -rm -f ./$(DEPDIR)/libcares_la-ares_sysconfig_mac.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_timeout.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_update_servers.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_version.Plo diff --git a/deps/cares/src/lib/Makefile.inc b/deps/cares/src/lib/Makefile.inc index 38f7a115fe3598..dc398034c6dad6 100644 --- a/deps/cares/src/lib/Makefile.inc +++ b/deps/cares/src/lib/Makefile.inc @@ -10,6 +10,7 @@ CSOURCES = ares__addrinfo2hostent.c \ ares__htable_asvp.c \ ares__htable_strvp.c \ ares__htable_szvp.c \ + ares__htable_vpvp.c \ ares__iface_ips.c \ ares__llist.c \ ares__parse_into_addrinfo.c \ @@ -27,6 +28,7 @@ CSOURCES = ares__addrinfo2hostent.c \ ares_dns_parse.c \ ares_dns_record.c \ ares_dns_write.c \ + ares_event_configchg.c \ ares_event_epoll.c \ ares_event_kqueue.c \ ares_event_poll.c \ @@ -75,6 +77,7 @@ CSOURCES = ares__addrinfo2hostent.c \ ares_strsplit.c \ ares_sysconfig.c \ ares_sysconfig_files.c \ + ares_sysconfig_mac.c \ ares_timeout.c \ ares_update_servers.c \ ares_version.c \ @@ -87,6 +90,7 @@ HHEADERS = ares__buf.h \ ares__htable_asvp.h \ ares__htable_strvp.h \ ares__htable_szvp.h \ + ares__htable_vpvp.h \ ares__iface_ips.h \ ares__llist.h \ ares__slist.h \ diff --git a/deps/cares/src/lib/ares__close_sockets.c b/deps/cares/src/lib/ares__close_sockets.c index 3aba9f649eeae5..13ecca8f5e4685 100644 --- a/deps/cares/src/lib/ares__close_sockets.c +++ b/deps/cares/src/lib/ares__close_sockets.c @@ -97,6 +97,14 @@ void ares__check_cleanup_conn(const ares_channel_t *channel, do_cleanup = ARES_TRUE; } + /* If the associated server has failures, close it out. Resetting the + * connection (and specifically the source port number) can help resolve + * situations where packets are being dropped. + */ + if (conn->server->consec_failures > 0) { + do_cleanup = ARES_TRUE; + } + /* If the udp connection hit its max queries, always close it */ if (!conn->is_tcp && channel->udp_max_queries > 0 && conn->total_queries >= channel->udp_max_queries) { diff --git a/deps/cares/src/lib/ares__htable_vpvp.c b/deps/cares/src/lib/ares__htable_vpvp.c new file mode 100644 index 00000000000000..828b738e7467fe --- /dev/null +++ b/deps/cares/src/lib/ares__htable_vpvp.c @@ -0,0 +1,195 @@ +/* MIT License + * + * Copyright (c) 2024 Brad House + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + * SPDX-License-Identifier: MIT + */ +#include "ares_setup.h" +#include "ares.h" +#include "ares_private.h" +#include "ares__htable.h" +#include "ares__htable_vpvp.h" + +struct ares__htable_vpvp { + ares__htable_vpvp_key_free_t free_key; + ares__htable_vpvp_val_free_t free_val; + ares__htable_t *hash; +}; + +typedef struct { + void *key; + void *val; + ares__htable_vpvp_t *parent; +} ares__htable_vpvp_bucket_t; + +void ares__htable_vpvp_destroy(ares__htable_vpvp_t *htable) +{ + if (htable == NULL) { + return; + } + + ares__htable_destroy(htable->hash); + ares_free(htable); +} + +static unsigned int hash_func(const void *key, unsigned int seed) +{ + return ares__htable_hash_FNV1a((const unsigned char *)&key, sizeof(key), + seed); +} + +static const void *bucket_key(const void *bucket) +{ + const ares__htable_vpvp_bucket_t *arg = bucket; + return arg->key; +} + +static void bucket_free(void *bucket) +{ + ares__htable_vpvp_bucket_t *arg = bucket; + + if (arg->parent->free_key) { + arg->parent->free_key(arg->key); + } + + if (arg->parent->free_val) { + arg->parent->free_val(arg->val); + } + + ares_free(arg); +} + +static ares_bool_t key_eq(const void *key1, const void *key2) +{ + if (key1 == key2) { + return ARES_TRUE; + } + + return ARES_FALSE; +} + +ares__htable_vpvp_t * + ares__htable_vpvp_create(ares__htable_vpvp_key_free_t key_free, + ares__htable_vpvp_val_free_t val_free) +{ + ares__htable_vpvp_t *htable = ares_malloc(sizeof(*htable)); + if (htable == NULL) { + goto fail; + } + + htable->hash = + ares__htable_create(hash_func, bucket_key, bucket_free, key_eq); + if (htable->hash == NULL) { + goto fail; + } + + htable->free_key = key_free; + htable->free_val = val_free; + + return htable; + +fail: + if (htable) { + ares__htable_destroy(htable->hash); + ares_free(htable); + } + return NULL; +} + +ares_bool_t ares__htable_vpvp_insert(ares__htable_vpvp_t *htable, void *key, + void *val) +{ + ares__htable_vpvp_bucket_t *bucket = NULL; + + if (htable == NULL) { + goto fail; + } + + bucket = ares_malloc(sizeof(*bucket)); + if (bucket == NULL) { + goto fail; + } + + bucket->parent = htable; + bucket->key = key; + bucket->val = val; + + if (!ares__htable_insert(htable->hash, bucket)) { + goto fail; + } + + return ARES_TRUE; + +fail: + if (bucket) { + ares_free(bucket); + } + return ARES_FALSE; +} + +ares_bool_t ares__htable_vpvp_get(const ares__htable_vpvp_t *htable, void *key, + void **val) +{ + ares__htable_vpvp_bucket_t *bucket = NULL; + + if (val) { + *val = NULL; + } + + if (htable == NULL) { + return ARES_FALSE; + } + + bucket = ares__htable_get(htable->hash, key); + if (bucket == NULL) { + return ARES_FALSE; + } + + if (val) { + *val = bucket->val; + } + return ARES_TRUE; +} + +void *ares__htable_vpvp_get_direct(const ares__htable_vpvp_t *htable, void *key) +{ + void *val = NULL; + ares__htable_vpvp_get(htable, key, &val); + return val; +} + +ares_bool_t ares__htable_vpvp_remove(ares__htable_vpvp_t *htable, void *key) +{ + if (htable == NULL) { + return ARES_FALSE; + } + + return ares__htable_remove(htable->hash, key); +} + +size_t ares__htable_vpvp_num_keys(const ares__htable_vpvp_t *htable) +{ + if (htable == NULL) { + return 0; + } + return ares__htable_num_keys(htable->hash); +} diff --git a/deps/cares/src/lib/ares__htable_vpvp.h b/deps/cares/src/lib/ares__htable_vpvp.h new file mode 100644 index 00000000000000..876fc45f7f5036 --- /dev/null +++ b/deps/cares/src/lib/ares__htable_vpvp.h @@ -0,0 +1,127 @@ +/* MIT License + * + * Copyright (c) 2024 Brad House + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + * SPDX-License-Identifier: MIT + */ +#ifndef __ARES__HTABLE_VPVP_H +#define __ARES__HTABLE_VPVP_H + +/*! \addtogroup ares__htable_vpvp HashTable with void pointer Key and void + * pointer Value + * + * This data structure wraps the base ares__htable data structure in order to + * split the key and value data types as size_t and void pointer, respectively. + * + * Average time complexity: + * - Insert: O(1) + * - Search: O(1) + * - Delete: O(1) + * + * @{ + */ + +struct ares__htable_vpvp; + +/*! Opaque data type for size_t key, void pointer hash table implementation */ +typedef struct ares__htable_vpvp ares__htable_vpvp_t; + +/*! Callback to free key stored in hashtable + * + * \param[in] key user-supplied key + */ +typedef void (*ares__htable_vpvp_key_free_t)(void *key); + +/*! Callback to free value stored in hashtable + * + * \param[in] val user-supplied value + */ +typedef void (*ares__htable_vpvp_val_free_t)(void *val); + +/*! Destroy hashtable + * + * \param[in] htable Initialized hashtable + */ +void ares__htable_vpvp_destroy(ares__htable_vpvp_t *htable); + +/*! Create size_t key, void pointer value hash table + * + * \param[in] key_free Optional. Call back to free user-supplied key. If + * NULL it is expected the caller will clean up any user + * supplied keys. + * \param[in] val_free Optional. Call back to free user-supplied value. If + * NULL it is expected the caller will clean up any user + * supplied values. + */ +ares__htable_vpvp_t * + ares__htable_vpvp_create(ares__htable_vpvp_key_free_t key_free, + ares__htable_vpvp_val_free_t val_free); + +/*! Insert key/value into hash table + * + * \param[in] htable Initialized hash table + * \param[in] key key to associate with value + * \param[in] val value to store (takes ownership). May be NULL. + * \return ARES_TRUE on success, ARES_FALSE on failure or out of memory + */ +ares_bool_t ares__htable_vpvp_insert(ares__htable_vpvp_t *htable, void *key, + void *val); + +/*! Retrieve value from hashtable based on key + * + * \param[in] htable Initialized hash table + * \param[in] key key to use to search + * \param[out] val Optional. Pointer to store value. + * \return ARES_TRUE on success, ARES_FALSE on failure + */ +ares_bool_t ares__htable_vpvp_get(const ares__htable_vpvp_t *htable, void *key, + void **val); + +/*! Retrieve value from hashtable directly as return value. Caveat to this + * function over ares__htable_vpvp_get() is that if a NULL value is stored + * you cannot determine if the key is not found or the value is NULL. + * + * \param[in] htable Initialized hash table + * \param[in] key key to use to search + * \return value associated with key in hashtable or NULL + */ +void *ares__htable_vpvp_get_direct(const ares__htable_vpvp_t *htable, + void *key); + +/*! Remove a value from the hashtable by key + * + * \param[in] htable Initialized hash table + * \param[in] key key to use to search + * \return ARES_TRUE if found, ARES_FALSE if not + */ +ares_bool_t ares__htable_vpvp_remove(ares__htable_vpvp_t *htable, void *key); + +/*! Retrieve the number of keys stored in the hash table + * + * \param[in] htable Initialized hash table + * \return count + */ +size_t ares__htable_vpvp_num_keys(const ares__htable_vpvp_t *htable); + +/*! @} */ + +#endif /* __ARES__HTABLE_VPVP_H */ diff --git a/deps/cares/src/lib/ares__socket.c b/deps/cares/src/lib/ares__socket.c index da03755a50db75..d3990e7660e694 100644 --- a/deps/cares/src/lib/ares__socket.c +++ b/deps/cares/src/lib/ares__socket.c @@ -253,12 +253,6 @@ ares_status_t ares__open_connection(ares_channel_t *channel, struct server_connection *conn; ares__llist_node_t *node; int type = is_tcp ? SOCK_STREAM : SOCK_DGRAM; -#ifdef __OpenBSD__ - if ((is_tcp && server->tcp_port == 53) || - (!is_tcp && server->udp_port == 53)) { - type |= SOCK_DNS; - } -#endif switch (server->addr.family) { case AF_INET: diff --git a/deps/cares/src/lib/ares__threads.c b/deps/cares/src/lib/ares__threads.c index f6de8c698e373d..39d98d2244e8b0 100644 --- a/deps/cares/src/lib/ares__threads.c +++ b/deps/cares/src/lib/ares__threads.c @@ -537,12 +537,12 @@ void ares__channel_threading_destroy(ares_channel_t *channel) channel->cond_empty = NULL; } -void ares__channel_lock(ares_channel_t *channel) +void ares__channel_lock(const ares_channel_t *channel) { ares__thread_mutex_lock(channel->lock); } -void ares__channel_unlock(ares_channel_t *channel) +void ares__channel_unlock(const ares_channel_t *channel) { ares__thread_mutex_unlock(channel->lock); } @@ -585,6 +585,12 @@ ares_status_t ares_queue_wait_empty(ares_channel_t *channel, int timeout_ms) status = ares__thread_cond_timedwait(channel->cond_empty, channel->lock, tms); } + + /* If there was a timeout, don't loop. Otherwise, make sure this wasn't + * a spurious wakeup by looping and checking the condition. */ + if (status == ARES_ETIMEOUT) { + break; + } } } ares__thread_mutex_unlock(channel->lock); diff --git a/deps/cares/src/lib/ares_destroy.c b/deps/cares/src/lib/ares_destroy.c index 6965b601e76e07..672f8b06184255 100644 --- a/deps/cares/src/lib/ares_destroy.c +++ b/deps/cares/src/lib/ares_destroy.c @@ -31,6 +31,7 @@ #include "ares.h" #include "ares_private.h" +#include "ares_event.h" void ares_destroy(ares_channel_t *channel) { @@ -41,6 +42,22 @@ void ares_destroy(ares_channel_t *channel) return; } + /* Disable configuration change monitoring */ + if (channel->optmask & ARES_OPT_EVENT_THREAD) { + ares_event_thread_t *e = channel->sock_state_cb_data; + if (e && e->configchg) { + ares_event_configchg_destroy(e->configchg); + e->configchg = NULL; + } + } + + /* Wait for reinit thread to exit if there was one pending */ + if (channel->reinit_thread != NULL) { + void *rv; + ares__thread_join(channel->reinit_thread, &rv); + channel->reinit_thread = NULL; + } + /* Lock because callbacks will be triggered */ ares__channel_lock(channel); diff --git a/deps/cares/src/lib/ares_dns_mapping.c b/deps/cares/src/lib/ares_dns_mapping.c index 2b463fe83128a7..a877f9991d2140 100644 --- a/deps/cares/src/lib/ares_dns_mapping.c +++ b/deps/cares/src/lib/ares_dns_mapping.c @@ -606,12 +606,12 @@ ares_bool_t ares_dns_class_fromstr(ares_dns_class_t *qclass, const char *str) const char *name; ares_dns_class_t qclass; } list[] = { - {"IN", ARES_CLASS_IN }, - { "CH", ARES_CLASS_CHAOS }, - { "HS", ARES_CLASS_HESOID}, - { "NONE", ARES_CLASS_NONE }, - { "ANY", ARES_CLASS_ANY }, - { NULL, 0 } + { "IN", ARES_CLASS_IN }, + { "CH", ARES_CLASS_CHAOS }, + { "HS", ARES_CLASS_HESOID }, + { "NONE", ARES_CLASS_NONE }, + { "ANY", ARES_CLASS_ANY }, + { NULL, 0 } }; if (qclass == NULL || str == NULL) { @@ -636,26 +636,26 @@ ares_bool_t ares_dns_rec_type_fromstr(ares_dns_rec_type_t *qtype, const char *name; ares_dns_rec_type_t type; } list[] = { - {"A", ARES_REC_TYPE_A }, - { "NS", ARES_REC_TYPE_NS }, - { "CNAME", ARES_REC_TYPE_CNAME }, - { "SOA", ARES_REC_TYPE_SOA }, - { "PTR", ARES_REC_TYPE_PTR }, - { "HINFO", ARES_REC_TYPE_HINFO }, - { "MX", ARES_REC_TYPE_MX }, - { "TXT", ARES_REC_TYPE_TXT }, - { "AAAA", ARES_REC_TYPE_AAAA }, - { "SRV", ARES_REC_TYPE_SRV }, - { "NAPTR", ARES_REC_TYPE_NAPTR }, - { "OPT", ARES_REC_TYPE_OPT }, - { "TLSA", ARES_REC_TYPE_TLSA }, - { "SVCB", ARES_REC_TYPE_SVCB }, - { "HTTPS", ARES_REC_TYPE_HTTPS }, - { "ANY", ARES_REC_TYPE_ANY }, - { "URI", ARES_REC_TYPE_URI }, - { "CAA", ARES_REC_TYPE_CAA }, - { "RAW_RR", ARES_REC_TYPE_RAW_RR}, - { NULL, 0 } + { "A", ARES_REC_TYPE_A }, + { "NS", ARES_REC_TYPE_NS }, + { "CNAME", ARES_REC_TYPE_CNAME }, + { "SOA", ARES_REC_TYPE_SOA }, + { "PTR", ARES_REC_TYPE_PTR }, + { "HINFO", ARES_REC_TYPE_HINFO }, + { "MX", ARES_REC_TYPE_MX }, + { "TXT", ARES_REC_TYPE_TXT }, + { "AAAA", ARES_REC_TYPE_AAAA }, + { "SRV", ARES_REC_TYPE_SRV }, + { "NAPTR", ARES_REC_TYPE_NAPTR }, + { "OPT", ARES_REC_TYPE_OPT }, + { "TLSA", ARES_REC_TYPE_TLSA }, + { "SVCB", ARES_REC_TYPE_SVCB }, + { "HTTPS", ARES_REC_TYPE_HTTPS }, + { "ANY", ARES_REC_TYPE_ANY }, + { "URI", ARES_REC_TYPE_URI }, + { "CAA", ARES_REC_TYPE_CAA }, + { "RAW_RR", ARES_REC_TYPE_RAW_RR }, + { NULL, 0 } }; if (qtype == NULL || str == NULL) { diff --git a/deps/cares/src/lib/ares_dns_name.c b/deps/cares/src/lib/ares_dns_name.c index f4085ab2cb9d85..85e26cd25b57fe 100644 --- a/deps/cares/src/lib/ares_dns_name.c +++ b/deps/cares/src/lib/ares_dns_name.c @@ -362,6 +362,7 @@ ares_status_t ares__dns_name_write(ares__buf_t *buf, ares__llist_t **list, { const ares_nameoffset_t *off = NULL; size_t name_len; + size_t orig_name_len; size_t pos = ares__buf_len(buf); ares_dns_labels_t labels; char name_copy[512]; @@ -375,7 +376,8 @@ ares_status_t ares__dns_name_write(ares__buf_t *buf, ares__llist_t **list, /* NOTE: due to possible escaping, name_copy buffer is > 256 to allow for * this */ - name_len = ares_strcpy(name_copy, name, sizeof(name_copy)); + name_len = ares_strcpy(name_copy, name, sizeof(name_copy)); + orig_name_len = name_len; /* Find longest match */ if (list != NULL) { @@ -388,7 +390,7 @@ ares_status_t ares__dns_name_write(ares__buf_t *buf, ares__llist_t **list, } /* Output labels */ - if (off == NULL || off->name_len != name_len) { + if (off == NULL || off->name_len != orig_name_len) { size_t i; status = ares_split_dns_name(&labels, validate_hostname, name_copy); @@ -432,7 +434,7 @@ ares_status_t ares__dns_name_write(ares__buf_t *buf, ares__llist_t **list, /* Store pointer for future jumps as long as its not an exact match for * a prior entry */ - if (list != NULL && (off == NULL || off->name_len != name_len) && + if (list != NULL && (off == NULL || off->name_len != orig_name_len) && name_len > 0) { status = ares__nameoffset_create(list, name /* not truncated copy! */, pos); if (status != ARES_SUCCESS) { diff --git a/deps/cares/src/lib/ares_event.h b/deps/cares/src/lib/ares_event.h index 23e9637924ba07..f5d044d2a6ca19 100644 --- a/deps/cares/src/lib/ares_event.h +++ b/deps/cares/src/lib/ares_event.h @@ -79,6 +79,14 @@ typedef struct { size_t (*wait)(ares_event_thread_t *e, unsigned long timeout_ms); } ares_event_sys_t; +struct ares_event_configchg; +typedef struct ares_event_configchg ares_event_configchg_t; + +ares_status_t ares_event_configchg_init(ares_event_configchg_t **configchg, + ares_event_thread_t *e); + +void ares_event_configchg_destroy(ares_event_configchg_t *configchg); + struct ares_event_thread { /*! Whether the event thread should be online or not. Checked on every wake * event before sleeping. */ @@ -94,13 +102,18 @@ struct ares_event_thread { * thread other than the event thread itself. The event thread will then * be woken then process these updates itself */ ares__llist_t *ev_updates; - /*! Registered event handles. */ - ares__htable_asvp_t *ev_handles; + /*! Registered socket event handles */ + ares__htable_asvp_t *ev_sock_handles; + /*! Registered custom event handles. Typically used for external triggering. + */ + ares__htable_vpvp_t *ev_cust_handles; /*! Pointer to the event handle which is used to signal and wake the event * thread itself. This is needed to be able to do things like update the * file descriptors being waited on and to wake the event subsystem during * shutdown */ ares_event_t *ev_signal; + /*! Handle for configuration change monitoring */ + ares_event_configchg_t *configchg; /* Event subsystem callbacks */ const ares_event_sys_t *ev_sys; /* Event subsystem private data */ @@ -124,7 +137,8 @@ struct ares_event_thread { * Non-socket events cannot be removed, and must have * ARES_EVENT_FLAG_OTHER set. * \param[in] cb Callback to call when - * event is triggered. Required. Not allowed to be + * event is triggered. Required if flags is not + * ARES_EVENT_FLAG_NONE. Not allowed to be * changed, ignored on modification. * \param[in] fd File descriptor/socket to monitor. May * be ARES_SOCKET_BAD if not monitoring file diff --git a/deps/cares/src/lib/ares_event_configchg.c b/deps/cares/src/lib/ares_event_configchg.c new file mode 100644 index 00000000000000..dc6e465652a773 --- /dev/null +++ b/deps/cares/src/lib/ares_event_configchg.c @@ -0,0 +1,565 @@ +/* MIT License + * + * Copyright (c) 2024 Brad House + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + * SPDX-License-Identifier: MIT + */ +#include "ares_setup.h" +#include "ares.h" +#include "ares_private.h" +#include "ares_event.h" + +static void ares_event_configchg_reload(ares_event_thread_t *e) +{ + ares_reinit(e->channel); +} + +#ifdef __linux__ + +# include + +struct ares_event_configchg { + int inotify_fd; + ares_event_thread_t *e; +}; + +void ares_event_configchg_destroy(ares_event_configchg_t *configchg) +{ + if (configchg == NULL) { + return; + } + + /* Tell event system to stop monitoring for changes. This will cause the + * cleanup to be called */ + ares_event_update(NULL, configchg->e, ARES_EVENT_FLAG_NONE, NULL, + configchg->inotify_fd, NULL, NULL, NULL); +} + +static void ares_event_configchg_free(void *data) +{ + ares_event_configchg_t *configchg = data; + if (configchg == NULL) { + return; + } + + if (configchg->inotify_fd >= 0) { + close(configchg->inotify_fd); + configchg->inotify_fd = -1; + } + + ares_free(configchg); +} + +static void ares_event_configchg_cb(ares_event_thread_t *e, ares_socket_t fd, + void *data, ares_event_flags_t flags) +{ + ares_event_configchg_t *configchg = data; + + /* Some systems cannot read integer variables if they are not + * properly aligned. On other systems, incorrect alignment may + * decrease performance. Hence, the buffer used for reading from + * the inotify file descriptor should have the same alignment as + * struct inotify_event. */ + unsigned char buf[4096] + __attribute__((aligned(__alignof__(struct inotify_event)))); + const struct inotify_event *event; + ssize_t len; + ares_bool_t triggered = ARES_FALSE; + + (void)fd; + (void)flags; + + while (1) { + const unsigned char *ptr; + + len = read(configchg->inotify_fd, buf, sizeof(buf)); + if (len <= 0) { + break; + } + + /* Loop over all events in the buffer. Says kernel will check the buffer + * size provided, so I assume it won't ever return partial events. */ + for (ptr = buf; ptr < buf + len; + ptr += sizeof(struct inotify_event) + event->len) { + event = (const struct inotify_event *)ptr; + + if (event->len == 0 || ares_strlen(event->name) == 0) { + continue; + } + + if (strcasecmp(event->name, "resolv.conf") == 0 || + strcasecmp(event->name, "nsswitch.conf") == 0) { + triggered = ARES_TRUE; + } + } + } + + /* Only process after all events are read. No need to process more often as + * we don't want to reload the config back to back */ + if (triggered) { + ares_event_configchg_reload(e); + } +} + +ares_status_t ares_event_configchg_init(ares_event_configchg_t **configchg, + ares_event_thread_t *e) +{ + ares_status_t status = ARES_SUCCESS; + ares_event_configchg_t *c; + + (void)e; + + /* Not used by this implementation */ + *configchg = NULL; + + c = ares_malloc_zero(sizeof(*c)); + if (c == NULL) { + return ARES_ENOMEM; + } + + c->e = e; + c->inotify_fd = inotify_init1(IN_NONBLOCK | IN_CLOEXEC); + if (c->inotify_fd == -1) { + status = ARES_ESERVFAIL; + goto done; + } + + /* We need to monitor /etc/resolv.conf, /etc/nsswitch.conf */ + if (inotify_add_watch(c->inotify_fd, "/etc", + IN_CREATE | IN_MODIFY | IN_MOVED_TO | IN_ONLYDIR) == + -1) { + status = ARES_ESERVFAIL; + goto done; + } + + status = + ares_event_update(NULL, e, ARES_EVENT_FLAG_READ, ares_event_configchg_cb, + c->inotify_fd, c, ares_event_configchg_free, NULL); + +done: + if (status != ARES_SUCCESS) { + ares_event_configchg_free(c); + } + return status; +} + +#elif defined(_WIN32) + +# include +# include +# include +# include + +struct ares_event_configchg { + HANDLE ifchg_hnd; + ares_event_thread_t *e; +}; + +void ares_event_configchg_destroy(ares_event_configchg_t *configchg) +{ +# ifdef __WATCOMC__ + /* Not supported */ +# else + if (configchg == NULL) { + return; + } + + if (configchg->ifchg_hnd != NULL) { + CancelMibChangeNotify2(configchg->ifchg_hnd); + configchg->ifchg_hnd = NULL; + } + + ares_free(configchg); +# endif +} + +# ifndef __WATCOMC__ +static void ares_event_configchg_cb(PVOID CallerContext, + PMIB_IPINTERFACE_ROW Row, + MIB_NOTIFICATION_TYPE NotificationType) +{ + ares_event_configchg_t *configchg = CallerContext; + (void)Row; + (void)NotificationType; + ares_event_configchg_reload(configchg->e); +} +# endif + + +ares_status_t ares_event_configchg_init(ares_event_configchg_t **configchg, + ares_event_thread_t *e) +{ +# ifdef __WATCOMC__ + return ARES_ENOTIMP; +# else + ares_status_t status = ARES_SUCCESS; + + *configchg = ares_malloc_zero(sizeof(**configchg)); + if (*configchg == NULL) { + return ARES_ENOMEM; + } + + (*configchg)->e = e; + + /* NOTE: If a user goes into the control panel and changes the network + * adapter DNS addresses manually, this will NOT trigger a notification. + * We've also tried listening on NotifyUnicastIpAddressChange(), but + * that didn't get triggered either. + */ + + if (NotifyIpInterfaceChange( + AF_UNSPEC, (PIPINTERFACE_CHANGE_CALLBACK)ares_event_configchg_cb, + *configchg, FALSE, &(*configchg)->ifchg_hnd) != NO_ERROR) { + status = ARES_ESERVFAIL; + goto done; + } + +done: + if (status != ARES_SUCCESS) { + ares_event_configchg_destroy(*configchg); + *configchg = NULL; + } + + return status; +# endif +} + +#elif defined(__APPLE__) + +# include +# include +# include +# include + +struct ares_event_configchg { + int fd; + int token; +}; + +void ares_event_configchg_destroy(ares_event_configchg_t *configchg) +{ + (void)configchg; + + /* Cleanup happens automatically */ +} + +static void ares_event_configchg_free(void *data) +{ + ares_event_configchg_t *configchg = data; + if (configchg == NULL) { + return; + } + + if (configchg->fd >= 0) { + notify_cancel(configchg->token); + /* automatically closes fd */ + configchg->fd = -1; + } + + ares_free(configchg); +} + +static void ares_event_configchg_cb(ares_event_thread_t *e, ares_socket_t fd, + void *data, ares_event_flags_t flags) +{ + ares_event_configchg_t *configchg = data; + ares_bool_t triggered = ARES_FALSE; + + (void)fd; + (void)flags; + + while (1) { + int t = 0; + ssize_t len; + + len = read(configchg->fd, &t, sizeof(t)); + + if (len < (ssize_t)sizeof(t)) { + break; + } + + /* Token is read in network byte order (yeah, docs don't mention this) */ + t = (int)ntohl(t); + + if (t != configchg->token) { + continue; + } + + triggered = ARES_TRUE; + } + + /* Only process after all events are read. No need to process more often as + * we don't want to reload the config back to back */ + if (triggered) { + ares_event_configchg_reload(e); + } +} + +ares_status_t ares_event_configchg_init(ares_event_configchg_t **configchg, + ares_event_thread_t *e) +{ + ares_status_t status = ARES_SUCCESS; + void *handle = NULL; + const char *(*pdns_configuration_notify_key)(void) = NULL; + const char *notify_key = NULL; + int flags; + + *configchg = ares_malloc_zero(sizeof(**configchg)); + if (*configchg == NULL) { + return ARES_ENOMEM; + } + + /* Load symbol as it isn't normally public */ + handle = dlopen("/usr/lib/libSystem.dylib", RTLD_LAZY | RTLD_NOLOAD); + if (handle == NULL) { + status = ARES_ESERVFAIL; + goto done; + } + + pdns_configuration_notify_key = dlsym(handle, "dns_configuration_notify_key"); + + if (pdns_configuration_notify_key == NULL) { + status = ARES_ESERVFAIL; + goto done; + } + + notify_key = pdns_configuration_notify_key(); + if (notify_key == NULL) { + status = ARES_ESERVFAIL; + goto done; + } + + if (notify_register_file_descriptor(notify_key, &(*configchg)->fd, 0, + &(*configchg)->token) != + NOTIFY_STATUS_OK) { + status = ARES_ESERVFAIL; + goto done; + } + + /* Set file descriptor to non-blocking */ + flags = fcntl((*configchg)->fd, F_GETFL, 0); + fcntl((*configchg)->fd, F_SETFL, flags | O_NONBLOCK); + + /* Register file descriptor with event subsystem */ + status = ares_event_update(NULL, e, ARES_EVENT_FLAG_READ, + ares_event_configchg_cb, (*configchg)->fd, + *configchg, ares_event_configchg_free, NULL); + +done: + if (status != ARES_SUCCESS) { + ares_event_configchg_free(*configchg); + *configchg = NULL; + } + + if (handle) { + dlclose(handle); + } + + return status; +} + +#elif defined(HAVE_STAT) +# ifdef HAVE_SYS_TYPES_H +# include +# endif +# ifdef HAVE_SYS_STAT_H +# include +# endif + +typedef struct { + size_t size; + time_t mtime; +} fileinfo_t; + +struct ares_event_configchg { + ares_bool_t isup; + ares__thread_t *thread; + ares__htable_strvp_t *filestat; + ares__thread_mutex_t *lock; + ares__thread_cond_t *wake; + const char *resolvconf_path; + ares_event_thread_t *e; +}; + +static ares_status_t config_change_check(ares__htable_strvp_t *filestat, + const char *resolvconf_path) +{ + size_t i; + const char *configfiles[] = { resolvconf_path, "/etc/nsswitch.conf", + "/etc/netsvc.conf", "/etc/svc.conf", NULL }; + ares_bool_t changed = ARES_FALSE; + + for (i = 0; configfiles[i] != NULL; i++) { + fileinfo_t *fi = ares__htable_strvp_get_direct(filestat, configfiles[i]); + struct stat st; + + if (stat(configfiles[i], &st) == 0) { + if (fi == NULL) { + fi = ares_malloc_zero(sizeof(*fi)); + if (fi == NULL) { + return ARES_ENOMEM; + } + if (!ares__htable_strvp_insert(filestat, configfiles[i], fi)) { + ares_free(fi); + return ARES_ENOMEM; + } + } + if (fi->size != (size_t)st.st_size || fi->mtime != (time_t)st.st_mtime) { + changed = ARES_TRUE; + } + fi->size = (size_t)st.st_size; + fi->mtime = (time_t)st.st_mtime; + } else if (fi != NULL) { + /* File no longer exists, remove */ + ares__htable_strvp_remove(filestat, configfiles[i]); + changed = ARES_TRUE; + } + } + + if (changed) { + return ARES_SUCCESS; + } + return ARES_ENOTFOUND; +} + +static void *ares_event_configchg_thread(void *arg) +{ + ares_event_configchg_t *c = arg; + + ares__thread_mutex_lock(c->lock); + while (c->isup) { + ares_status_t status; + + if (ares__thread_cond_timedwait(c->wake, c->lock, 30000) != ARES_ETIMEOUT) { + continue; + } + + /* make sure status didn't change even though we got a timeout */ + if (!c->isup) { + break; + } + + status = config_change_check(c->filestat, c->resolvconf_path); + if (status == ARES_SUCCESS) { + ares_event_configchg_reload(c->e); + } + } + + ares__thread_mutex_unlock(c->lock); + return NULL; +} + +ares_status_t ares_event_configchg_init(ares_event_configchg_t **configchg, + ares_event_thread_t *e) +{ + ares_status_t status = ARES_SUCCESS; + ares_event_configchg_t *c = NULL; + + *configchg = NULL; + + c = ares_malloc_zero(sizeof(*c)); + if (c == NULL) { + status = ARES_ENOMEM; + goto done; + } + + c->e = e; + + c->filestat = ares__htable_strvp_create(ares_free); + if (c->filestat == NULL) { + status = ARES_ENOMEM; + goto done; + } + + c->wake = ares__thread_cond_create(); + if (c->wake == NULL) { + status = ARES_ENOMEM; + goto done; + } + + c->resolvconf_path = c->e->channel->resolvconf_path; + if (c->resolvconf_path == NULL) { + c->resolvconf_path = PATH_RESOLV_CONF; + } + + status = config_change_check(c->filestat, c->resolvconf_path); + if (status == ARES_ENOMEM) { + goto done; + } + + c->isup = ARES_TRUE; + status = ares__thread_create(&c->thread, ares_event_configchg_thread, c); + +done: + if (status != ARES_SUCCESS) { + ares_event_configchg_destroy(c); + } else { + *configchg = c; + } + return status; +} + +void ares_event_configchg_destroy(ares_event_configchg_t *configchg) +{ + if (configchg == NULL) { + return; + } + + if (configchg->lock) { + ares__thread_mutex_lock(configchg->lock); + } + + configchg->isup = ARES_FALSE; + if (configchg->wake) { + ares__thread_cond_signal(configchg->wake); + } + + if (configchg->lock) { + ares__thread_mutex_unlock(configchg->lock); + } + + if (configchg->thread) { + void *rv = NULL; + ares__thread_join(configchg->thread, &rv); + } + + ares__thread_mutex_destroy(configchg->lock); + ares__thread_cond_destroy(configchg->wake); + ares__htable_strvp_destroy(configchg->filestat); + ares_free(configchg); +} + +#else + +ares_status_t ares_event_configchg_init(ares_event_configchg_t **configchg, + ares_event_thread_t *e) +{ + /* No ability */ + return ARES_ENOTIMP; +} + +void ares_event_configchg_destroy(ares_event_configchg_t *configchg) +{ + /* No-op */ +} + +#endif diff --git a/deps/cares/src/lib/ares_event_epoll.c b/deps/cares/src/lib/ares_event_epoll.c index 9d3c097f8e4346..78cbbc368c8ef0 100644 --- a/deps/cares/src/lib/ares_event_epoll.c +++ b/deps/cares/src/lib/ares_event_epoll.c @@ -167,7 +167,7 @@ static size_t ares_evsys_epoll_wait(ares_event_thread_t *e, ares_event_t *ev; ares_event_flags_t flags = 0; - ev = ares__htable_asvp_get_direct(e->ev_handles, + ev = ares__htable_asvp_get_direct(e->ev_sock_handles, (ares_socket_t)events[i].data.fd); if (ev == NULL || ev->cb == NULL) { continue; diff --git a/deps/cares/src/lib/ares_event_kqueue.c b/deps/cares/src/lib/ares_event_kqueue.c index 944c4b003bc5a4..7e2c60abf518d8 100644 --- a/deps/cares/src/lib/ares_event_kqueue.c +++ b/deps/cares/src/lib/ares_event_kqueue.c @@ -218,7 +218,7 @@ static size_t ares_evsys_kqueue_wait(ares_event_thread_t *e, ares_event_t *ev; ares_event_flags_t flags = 0; - ev = ares__htable_asvp_get_direct(e->ev_handles, + ev = ares__htable_asvp_get_direct(e->ev_sock_handles, (ares_socket_t)events[i].ident); if (ev == NULL || ev->cb == NULL) { continue; diff --git a/deps/cares/src/lib/ares_event_poll.c b/deps/cares/src/lib/ares_event_poll.c index 33b1d6dfd58ec7..a06c6e3fc410a4 100644 --- a/deps/cares/src/lib/ares_event_poll.c +++ b/deps/cares/src/lib/ares_event_poll.c @@ -69,7 +69,7 @@ static size_t ares_evsys_poll_wait(ares_event_thread_t *e, unsigned long timeout_ms) { size_t num_fds = 0; - ares_socket_t *fdlist = ares__htable_asvp_keys(e->ev_handles, &num_fds); + ares_socket_t *fdlist = ares__htable_asvp_keys(e->ev_sock_handles, &num_fds); struct pollfd *pollfd = NULL; int rv; size_t cnt = 0; @@ -82,7 +82,7 @@ static size_t ares_evsys_poll_wait(ares_event_thread_t *e, } for (i = 0; i < num_fds; i++) { const ares_event_t *ev = - ares__htable_asvp_get_direct(e->ev_handles, fdlist[i]); + ares__htable_asvp_get_direct(e->ev_sock_handles, fdlist[i]); pollfd[i].fd = ev->fd; if (ev->flags & ARES_EVENT_FLAG_READ) { pollfd[i].events |= POLLIN; @@ -109,7 +109,7 @@ static size_t ares_evsys_poll_wait(ares_event_thread_t *e, cnt++; - ev = ares__htable_asvp_get_direct(e->ev_handles, pollfd[i].fd); + ev = ares__htable_asvp_get_direct(e->ev_sock_handles, pollfd[i].fd); if (ev == NULL || ev->cb == NULL) { continue; } diff --git a/deps/cares/src/lib/ares_event_select.c b/deps/cares/src/lib/ares_event_select.c index 4823e808f10df6..57a4271ea7da25 100644 --- a/deps/cares/src/lib/ares_event_select.c +++ b/deps/cares/src/lib/ares_event_select.c @@ -23,6 +23,12 @@ * * SPDX-License-Identifier: MIT */ + +/* Some systems might default to something low like 256 (NetBSD), lets define + * this to assist. Really, no one should be using select, but lets be safe + * anyhow */ +#define FD_SETSIZE 4096 + #include "ares_setup.h" #include "ares.h" #include "ares_private.h" @@ -71,7 +77,7 @@ static size_t ares_evsys_select_wait(ares_event_thread_t *e, unsigned long timeout_ms) { size_t num_fds = 0; - ares_socket_t *fdlist = ares__htable_asvp_keys(e->ev_handles, &num_fds); + ares_socket_t *fdlist = ares__htable_asvp_keys(e->ev_sock_handles, &num_fds); int rv; size_t cnt = 0; size_t i; @@ -86,7 +92,7 @@ static size_t ares_evsys_select_wait(ares_event_thread_t *e, for (i = 0; i < num_fds; i++) { const ares_event_t *ev = - ares__htable_asvp_get_direct(e->ev_handles, fdlist[i]); + ares__htable_asvp_get_direct(e->ev_sock_handles, fdlist[i]); if (ev->flags & ARES_EVENT_FLAG_READ) { FD_SET(ev->fd, &read_fds); } @@ -110,7 +116,7 @@ static size_t ares_evsys_select_wait(ares_event_thread_t *e, ares_event_t *ev; ares_event_flags_t flags = 0; - ev = ares__htable_asvp_get_direct(e->ev_handles, fdlist[i]); + ev = ares__htable_asvp_get_direct(e->ev_sock_handles, fdlist[i]); if (ev == NULL || ev->cb == NULL) { continue; } diff --git a/deps/cares/src/lib/ares_event_thread.c b/deps/cares/src/lib/ares_event_thread.c index 6dd7b502a35745..d9d904f29ba943 100644 --- a/deps/cares/src/lib/ares_event_thread.c +++ b/deps/cares/src/lib/ares_event_thread.c @@ -89,7 +89,12 @@ ares_status_t ares_event_update(ares_event_t **event, ares_event_thread_t *e, { ares_event_t *ev = NULL; - if (e == NULL || cb == NULL) { + if (e == NULL) { + return ARES_EFORMERR; + } + + /* Callback must be specified if not a removal event. */ + if (flags != ARES_EVENT_FLAG_NONE && cb == NULL) { return ARES_EFORMERR; } @@ -211,8 +216,13 @@ static void ares_event_process_updates(ares_event_thread_t *e) * list */ while ((node = ares__llist_node_first(e->ev_updates)) != NULL) { ares_event_t *newev = ares__llist_node_claim(node); - ares_event_t *oldev = - ares__htable_asvp_get_direct(e->ev_handles, newev->fd); + ares_event_t *oldev; + + if (newev->fd == ARES_SOCKET_BAD) { + oldev = ares__htable_vpvp_get_direct(e->ev_cust_handles, newev->data); + } else { + oldev = ares__htable_asvp_get_direct(e->ev_sock_handles, newev->fd); + } /* Adding new */ if (oldev == NULL) { @@ -225,7 +235,11 @@ static void ares_event_process_updates(ares_event_thread_t *e) newev->e = NULL; ares_event_destroy_cb(newev); } else { - ares__htable_asvp_insert(e->ev_handles, newev->fd, newev); + if (newev->fd == ARES_SOCKET_BAD) { + ares__htable_vpvp_insert(e->ev_cust_handles, newev->data, newev); + } else { + ares__htable_asvp_insert(e->ev_sock_handles, newev->fd, newev); + } } continue; } @@ -234,7 +248,11 @@ static void ares_event_process_updates(ares_event_thread_t *e) if (newev->flags == ARES_EVENT_FLAG_NONE) { /* the callback for the removal will call e->ev_sys->event_del(e, event) */ - ares__htable_asvp_remove(e->ev_handles, newev->fd); + if (newev->fd == ARES_SOCKET_BAD) { + ares__htable_vpvp_remove(e->ev_cust_handles, newev->data); + } else { + ares__htable_asvp_remove(e->ev_sock_handles, newev->fd); + } ares_free(newev); continue; } @@ -306,10 +324,13 @@ static void ares_event_thread_destroy_int(ares_event_thread_t *e) ares__llist_destroy(e->ev_updates); e->ev_updates = NULL; - ares__htable_asvp_destroy(e->ev_handles); - e->ev_handles = NULL; + ares__htable_asvp_destroy(e->ev_sock_handles); + e->ev_sock_handles = NULL; + + ares__htable_vpvp_destroy(e->ev_cust_handles); + e->ev_cust_handles = NULL; - if (e->ev_sys->destroy) { + if (e->ev_sys && e->ev_sys->destroy) { e->ev_sys->destroy(e); } @@ -409,8 +430,14 @@ ares_status_t ares_event_thread_init(ares_channel_t *channel) return ARES_ENOMEM; } - e->ev_handles = ares__htable_asvp_create(ares_event_destroy_cb); - if (e->ev_handles == NULL) { + e->ev_sock_handles = ares__htable_asvp_create(ares_event_destroy_cb); + if (e->ev_sock_handles == NULL) { + ares_event_thread_destroy_int(e); + return ARES_ENOMEM; + } + + e->ev_cust_handles = ares__htable_vpvp_create(NULL, ares_event_destroy_cb); + if (e->ev_cust_handles == NULL) { ares_event_thread_destroy_int(e); return ARES_ENOMEM; } diff --git a/deps/cares/src/lib/ares_fds.c b/deps/cares/src/lib/ares_fds.c index e726d4f012879a..e39823304a70ae 100644 --- a/deps/cares/src/lib/ares_fds.c +++ b/deps/cares/src/lib/ares_fds.c @@ -30,7 +30,7 @@ #include "ares.h" #include "ares_private.h" -int ares_fds(ares_channel_t *channel, fd_set *read_fds, fd_set *write_fds) +int ares_fds(const ares_channel_t *channel, fd_set *read_fds, fd_set *write_fds) { ares_socket_t nfds; ares__slist_node_t *snode; diff --git a/deps/cares/src/lib/ares_getnameinfo.c b/deps/cares/src/lib/ares_getnameinfo.c index 8889e9eec6fe51..d4cf58ea516535 100644 --- a/deps/cares/src/lib/ares_getnameinfo.c +++ b/deps/cares/src/lib/ares_getnameinfo.c @@ -98,11 +98,12 @@ static void ares_getnameinfo_int(ares_channel_t *channel, unsigned int flags = (unsigned int)flags_int; /* Validate socket address family and length */ - if ((sa->sa_family == AF_INET) && (salen == sizeof(struct sockaddr_in))) { + if (sa && sa->sa_family == AF_INET && + salen >= (ares_socklen_t)sizeof(struct sockaddr_in)) { addr = CARES_INADDR_CAST(struct sockaddr_in *, sa); port = addr->sin_port; - } else if ((sa->sa_family == AF_INET6) && - (salen == sizeof(struct sockaddr_in6))) { + } else if (sa && sa->sa_family == AF_INET6 && + salen >= (ares_socklen_t)sizeof(struct sockaddr_in6)) { addr6 = CARES_INADDR_CAST(struct sockaddr_in6 *, sa); port = addr6->sin6_port; } else { @@ -142,7 +143,7 @@ static void ares_getnameinfo_int(ares_channel_t *channel, callback(arg, ARES_EBADFLAGS, 0, NULL, NULL); return; } - if (salen == sizeof(struct sockaddr_in6)) { + if (sa->sa_family == AF_INET6) { ares_inet_ntop(AF_INET6, &addr6->sin6_addr, ipbuf, IPBUFSIZ); /* If the system supports scope IDs, use it */ #ifdef HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID @@ -158,9 +159,8 @@ static void ares_getnameinfo_int(ares_channel_t *channel, } callback(arg, ARES_SUCCESS, 0, ipbuf, service); return; - } - /* This is where a DNS lookup becomes necessary */ - else { + } else { + /* This is where a DNS lookup becomes necessary */ niquery = ares_malloc(sizeof(struct nameinfo_query)); if (!niquery) { callback(arg, ARES_ENOMEM, 0, NULL, NULL); diff --git a/deps/cares/src/lib/ares_getsock.c b/deps/cares/src/lib/ares_getsock.c index 0353bad6391e28..b64c075572dec5 100644 --- a/deps/cares/src/lib/ares_getsock.c +++ b/deps/cares/src/lib/ares_getsock.c @@ -29,7 +29,7 @@ #include "ares.h" #include "ares_private.h" -int ares_getsock(ares_channel_t *channel, ares_socket_t *socks, +int ares_getsock(const ares_channel_t *channel, ares_socket_t *socks, int numsocks) /* size of the 'socks' array */ { ares__slist_node_t *snode; diff --git a/deps/cares/src/lib/ares_init.c b/deps/cares/src/lib/ares_init.c index 28a509ea48a5af..518abd545345b5 100644 --- a/deps/cares/src/lib/ares_init.c +++ b/deps/cares/src/lib/ares_init.c @@ -65,6 +65,7 @@ #include "ares_inet_net_pton.h" #include "ares_platform.h" #include "ares_private.h" +#include "ares_event.h" #ifdef WATT32 # undef WIN32 /* Redefined in MingW/MSVC headers */ @@ -256,6 +257,12 @@ static ares_status_t init_by_defaults(ares_channel_t *channel) } } + /* Set default fields for server failover behavior */ + if (!(channel->optmask & ARES_OPT_SERVER_FAILOVER)) { + channel->server_retry_chance = DEFAULT_SERVER_RETRY_CHANCE; + channel->server_retry_delay = DEFAULT_SERVER_RETRY_DELAY; + } + error: if (hostname) { ares_free(hostname); @@ -373,10 +380,21 @@ int ares_init_options(ares_channel_t **channelptr, /* Initialize the event thread */ if (channel->optmask & ARES_OPT_EVENT_THREAD) { + ares_event_thread_t *e = NULL; + status = ares_event_thread_init(channel); if (status != ARES_SUCCESS) { goto done; } + + /* Initialize monitor for configuration changes. In some rare cases, + * ARES_ENOTIMP may occur (OpenWatcom), ignore this. */ + e = channel->sock_state_cb_data; + status = ares_event_configchg_init(&e->configchg, e); + if (status != ARES_SUCCESS && status != ARES_ENOTIMP) { + goto done; + } + status = ARES_SUCCESS; } done: @@ -389,35 +407,78 @@ int ares_init_options(ares_channel_t **channelptr, return ARES_SUCCESS; } -ares_status_t ares_reinit(ares_channel_t *channel) +static void *ares_reinit_thread(void *arg) { - ares_status_t status; - - if (channel == NULL) { - return ARES_EFORMERR; - } - - ares__channel_lock(channel); + ares_channel_t *channel = arg; + ares_status_t status; + /* ares__init_by_sysconfig() will lock when applying the config, but not + * when retrieving. */ status = ares__init_by_sysconfig(channel); if (status != ARES_SUCCESS) { DEBUGF(fprintf(stderr, "Error: init_by_sysconfig failed: %s\n", ares_strerror(status))); } + ares__channel_lock(channel); + /* Flush cached queries on reinit */ - if (channel->qcache) { + if (status == ARES_SUCCESS && channel->qcache) { ares__qcache_flush(channel->qcache); } + channel->reinit_pending = ARES_FALSE; ares__channel_unlock(channel); + return NULL; +} + +ares_status_t ares_reinit(ares_channel_t *channel) +{ + ares_status_t status = ARES_SUCCESS; + + if (channel == NULL) { + return ARES_EFORMERR; + } + + ares__channel_lock(channel); + + /* If a reinit is already in process, lets not do it again */ + if (channel->reinit_pending) { + ares__channel_unlock(channel); + return ARES_SUCCESS; + } + channel->reinit_pending = ARES_TRUE; + ares__channel_unlock(channel); + + if (ares_threadsafety()) { + /* clean up the prior reinit process's thread. We know the thread isn't + * running since reinit_pending was false */ + if (channel->reinit_thread != NULL) { + void *rv; + ares__thread_join(channel->reinit_thread, &rv); + channel->reinit_thread = NULL; + } + + /* Spawn a new thread */ + status = + ares__thread_create(&channel->reinit_thread, ares_reinit_thread, channel); + if (status != ARES_SUCCESS) { + ares__channel_lock(channel); + channel->reinit_pending = ARES_FALSE; + ares__channel_unlock(channel); + } + } else { + /* Threading support not available, call directly */ + ares_reinit_thread(channel); + } + return status; } /* ares_dup() duplicates a channel handle with all its options and returns a new channel handle */ -int ares_dup(ares_channel_t **dest, ares_channel_t *src) +int ares_dup(ares_channel_t **dest, const ares_channel_t *src) { struct ares_options opts; ares_status_t rc; @@ -450,12 +511,14 @@ int ares_dup(ares_channel_t **dest, ares_channel_t *src) /* Now clone the options that ares_save_options() doesn't support, but are * user-provided */ - (*dest)->sock_create_cb = src->sock_create_cb; - (*dest)->sock_create_cb_data = src->sock_create_cb_data; - (*dest)->sock_config_cb = src->sock_config_cb; - (*dest)->sock_config_cb_data = src->sock_config_cb_data; - (*dest)->sock_funcs = src->sock_funcs; - (*dest)->sock_func_cb_data = src->sock_func_cb_data; + (*dest)->sock_create_cb = src->sock_create_cb; + (*dest)->sock_create_cb_data = src->sock_create_cb_data; + (*dest)->sock_config_cb = src->sock_config_cb; + (*dest)->sock_config_cb_data = src->sock_config_cb_data; + (*dest)->sock_funcs = src->sock_funcs; + (*dest)->sock_func_cb_data = src->sock_func_cb_data; + (*dest)->server_state_cb = src->server_state_cb; + (*dest)->server_state_cb_data = src->server_state_cb_data; ares_strcpy((*dest)->local_dev_name, src->local_dev_name, sizeof((*dest)->local_dev_name)); diff --git a/deps/cares/src/lib/ares_ipv6.h b/deps/cares/src/lib/ares_ipv6.h index 28d7851ff3f051..e7e0b6d3a5e60c 100644 --- a/deps/cares/src/lib/ares_ipv6.h +++ b/deps/cares/src/lib/ares_ipv6.h @@ -31,6 +31,15 @@ # include #endif +#if defined(USE_WINSOCK) +# if defined(HAVE_IPHLPAPI_H) +# include +# endif +# if defined(HAVE_NETIOAPI_H) +# include +# endif +#endif + #ifndef HAVE_PF_INET6 # define PF_INET6 AF_INET6 #endif diff --git a/deps/cares/src/lib/ares_options.c b/deps/cares/src/lib/ares_options.c index adc3e062ac437e..6f50f2e4981354 100644 --- a/deps/cares/src/lib/ares_options.c +++ b/deps/cares/src/lib/ares_options.c @@ -53,8 +53,8 @@ void ares_destroy_options(struct ares_options *options) ares_free(options->hosts_path); } -static struct in_addr *ares_save_opt_servers(ares_channel_t *channel, - int *nservers) +static struct in_addr *ares_save_opt_servers(const ares_channel_t *channel, + int *nservers) { ares__slist_node_t *snode; struct in_addr *out = @@ -82,8 +82,8 @@ static struct in_addr *ares_save_opt_servers(ares_channel_t *channel, } /* Save options from initialized channel */ -int ares_save_options(ares_channel_t *channel, struct ares_options *options, - int *optmask) +int ares_save_options(const ares_channel_t *channel, + struct ares_options *options, int *optmask) { size_t i; @@ -229,6 +229,12 @@ int ares_save_options(ares_channel_t *channel, struct ares_options *options, options->evsys = channel->evsys; } + /* Set options for server failover behavior */ + if (channel->optmask & ARES_OPT_SERVER_FAILOVER) { + options->server_failover_opts.retry_chance = channel->server_retry_chance; + options->server_failover_opts.retry_delay = channel->server_retry_delay; + } + *optmask = (int)channel->optmask; return ARES_SUCCESS; @@ -474,6 +480,12 @@ ares_status_t ares__init_by_options(ares_channel_t *channel, } } + /* Set fields for server failover behavior */ + if (optmask & ARES_OPT_SERVER_FAILOVER) { + channel->server_retry_chance = options->server_failover_opts.retry_chance; + channel->server_retry_delay = options->server_failover_opts.retry_delay; + } + channel->optmask = (unsigned int)optmask; return ARES_SUCCESS; diff --git a/deps/cares/src/lib/ares_platform.c b/deps/cares/src/lib/ares_platform.c index 0727ae001c8432..58a50198713da8 100644 --- a/deps/cares/src/lib/ares_platform.c +++ b/deps/cares/src/lib/ares_platform.c @@ -101,10901 +101,10901 @@ struct pvt_servent { static struct pvt_servent IANAports[] = { # ifdef USE_IANA_WELL_KNOWN_PORTS - {"tcpmux", { NULL }, 1, "tcp" }, - { "tcpmux", { NULL }, 1, "udp" }, - { "compressnet", { NULL }, 2, "tcp" }, - { "compressnet", { NULL }, 2, "udp" }, - { "compressnet", { NULL }, 3, "tcp" }, - { "compressnet", { NULL }, 3, "udp" }, - { "rje", { NULL }, 5, "tcp" }, - { "rje", { NULL }, 5, "udp" }, - { "echo", { NULL }, 7, "tcp" }, - { "echo", { NULL }, 7, "udp" }, - { "discard", { NULL }, 9, "tcp" }, - { "discard", { NULL }, 9, "udp" }, - { "discard", { NULL }, 9, "sctp"}, - { "discard", { NULL }, 9, "dccp"}, - { "systat", { NULL }, 11, "tcp" }, - { "systat", { NULL }, 11, "udp" }, - { "daytime", { NULL }, 13, "tcp" }, - { "daytime", { NULL }, 13, "udp" }, - { "qotd", { NULL }, 17, "tcp" }, - { "qotd", { NULL }, 17, "udp" }, - { "msp", { NULL }, 18, "tcp" }, - { "msp", { NULL }, 18, "udp" }, - { "chargen", { NULL }, 19, "tcp" }, - { "chargen", { NULL }, 19, "udp" }, - { "ftp-data", { NULL }, 20, "tcp" }, - { "ftp-data", { NULL }, 20, "udp" }, - { "ftp-data", { NULL }, 20, "sctp"}, - { "ftp", { NULL }, 21, "tcp" }, - { "ftp", { NULL }, 21, "udp" }, - { "ftp", { NULL }, 21, "sctp"}, - { "ssh", { NULL }, 22, "tcp" }, - { "ssh", { NULL }, 22, "udp" }, - { "ssh", { NULL }, 22, "sctp"}, - { "telnet", { NULL }, 23, "tcp" }, - { "telnet", { NULL }, 23, "udp" }, - { "smtp", { NULL }, 25, "tcp" }, - { "smtp", { NULL }, 25, "udp" }, - { "nsw-fe", { NULL }, 27, "tcp" }, - { "nsw-fe", { NULL }, 27, "udp" }, - { "msg-icp", { NULL }, 29, "tcp" }, - { "msg-icp", { NULL }, 29, "udp" }, - { "msg-auth", { NULL }, 31, "tcp" }, - { "msg-auth", { NULL }, 31, "udp" }, - { "dsp", { NULL }, 33, "tcp" }, - { "dsp", { NULL }, 33, "udp" }, - { "time", { NULL }, 37, "tcp" }, - { "time", { NULL }, 37, "udp" }, - { "rap", { NULL }, 38, "tcp" }, - { "rap", { NULL }, 38, "udp" }, - { "rlp", { NULL }, 39, "tcp" }, - { "rlp", { NULL }, 39, "udp" }, - { "graphics", { NULL }, 41, "tcp" }, - { "graphics", { NULL }, 41, "udp" }, - { "name", { NULL }, 42, "tcp" }, - { "name", { NULL }, 42, "udp" }, - { "nameserver", { NULL }, 42, "tcp" }, - { "nameserver", { NULL }, 42, "udp" }, - { "nicname", { NULL }, 43, "tcp" }, - { "nicname", { NULL }, 43, "udp" }, - { "mpm-flags", { NULL }, 44, "tcp" }, - { "mpm-flags", { NULL }, 44, "udp" }, - { "mpm", { NULL }, 45, "tcp" }, - { "mpm", { NULL }, 45, "udp" }, - { "mpm-snd", { NULL }, 46, "tcp" }, - { "mpm-snd", { NULL }, 46, "udp" }, - { "ni-ftp", { NULL }, 47, "tcp" }, - { "ni-ftp", { NULL }, 47, "udp" }, - { "auditd", { NULL }, 48, "tcp" }, - { "auditd", { NULL }, 48, "udp" }, - { "tacacs", { NULL }, 49, "tcp" }, - { "tacacs", { NULL }, 49, "udp" }, - { "re-mail-ck", { NULL }, 50, "tcp" }, - { "re-mail-ck", { NULL }, 50, "udp" }, - { "la-maint", { NULL }, 51, "tcp" }, - { "la-maint", { NULL }, 51, "udp" }, - { "xns-time", { NULL }, 52, "tcp" }, - { "xns-time", { NULL }, 52, "udp" }, - { "domain", { NULL }, 53, "tcp" }, - { "domain", { NULL }, 53, "udp" }, - { "xns-ch", { NULL }, 54, "tcp" }, - { "xns-ch", { NULL }, 54, "udp" }, - { "isi-gl", { NULL }, 55, "tcp" }, - { "isi-gl", { NULL }, 55, "udp" }, - { "xns-auth", { NULL }, 56, "tcp" }, - { "xns-auth", { NULL }, 56, "udp" }, - { "xns-mail", { NULL }, 58, "tcp" }, - { "xns-mail", { NULL }, 58, "udp" }, - { "ni-mail", { NULL }, 61, "tcp" }, - { "ni-mail", { NULL }, 61, "udp" }, - { "acas", { NULL }, 62, "tcp" }, - { "acas", { NULL }, 62, "udp" }, - { "whois++", { NULL }, 63, "tcp" }, - { "whois++", { NULL }, 63, "udp" }, - { "covia", { NULL }, 64, "tcp" }, - { "covia", { NULL }, 64, "udp" }, - { "tacacs-ds", { NULL }, 65, "tcp" }, - { "tacacs-ds", { NULL }, 65, "udp" }, - { "sql*net", { NULL }, 66, "tcp" }, - { "sql*net", { NULL }, 66, "udp" }, - { "bootps", { NULL }, 67, "tcp" }, - { "bootps", { NULL }, 67, "udp" }, - { "bootpc", { NULL }, 68, "tcp" }, - { "bootpc", { NULL }, 68, "udp" }, - { "tftp", { NULL }, 69, "tcp" }, - { "tftp", { NULL }, 69, "udp" }, - { "gopher", { NULL }, 70, "tcp" }, - { "gopher", { NULL }, 70, "udp" }, - { "netrjs-1", { NULL }, 71, "tcp" }, - { "netrjs-1", { NULL }, 71, "udp" }, - { "netrjs-2", { NULL }, 72, "tcp" }, - { "netrjs-2", { NULL }, 72, "udp" }, - { "netrjs-3", { NULL }, 73, "tcp" }, - { "netrjs-3", { NULL }, 73, "udp" }, - { "netrjs-4", { NULL }, 74, "tcp" }, - { "netrjs-4", { NULL }, 74, "udp" }, - { "deos", { NULL }, 76, "tcp" }, - { "deos", { NULL }, 76, "udp" }, - { "vettcp", { NULL }, 78, "tcp" }, - { "vettcp", { NULL }, 78, "udp" }, - { "finger", { NULL }, 79, "tcp" }, - { "finger", { NULL }, 79, "udp" }, - { "http", { NULL }, 80, "tcp" }, - { "http", { NULL }, 80, "udp" }, - { "www", { NULL }, 80, "tcp" }, - { "www", { NULL }, 80, "udp" }, - { "www-http", { NULL }, 80, "tcp" }, - { "www-http", { NULL }, 80, "udp" }, - { "http", { NULL }, 80, "sctp"}, - { "xfer", { NULL }, 82, "tcp" }, - { "xfer", { NULL }, 82, "udp" }, - { "mit-ml-dev", { NULL }, 83, "tcp" }, - { "mit-ml-dev", { NULL }, 83, "udp" }, - { "ctf", { NULL }, 84, "tcp" }, - { "ctf", { NULL }, 84, "udp" }, - { "mit-ml-dev", { NULL }, 85, "tcp" }, - { "mit-ml-dev", { NULL }, 85, "udp" }, - { "mfcobol", { NULL }, 86, "tcp" }, - { "mfcobol", { NULL }, 86, "udp" }, - { "kerberos", { NULL }, 88, "tcp" }, - { "kerberos", { NULL }, 88, "udp" }, - { "su-mit-tg", { NULL }, 89, "tcp" }, - { "su-mit-tg", { NULL }, 89, "udp" }, - { "dnsix", { NULL }, 90, "tcp" }, - { "dnsix", { NULL }, 90, "udp" }, - { "mit-dov", { NULL }, 91, "tcp" }, - { "mit-dov", { NULL }, 91, "udp" }, - { "npp", { NULL }, 92, "tcp" }, - { "npp", { NULL }, 92, "udp" }, - { "dcp", { NULL }, 93, "tcp" }, - { "dcp", { NULL }, 93, "udp" }, - { "objcall", { NULL }, 94, "tcp" }, - { "objcall", { NULL }, 94, "udp" }, - { "supdup", { NULL }, 95, "tcp" }, - { "supdup", { NULL }, 95, "udp" }, - { "dixie", { NULL }, 96, "tcp" }, - { "dixie", { NULL }, 96, "udp" }, - { "swift-rvf", { NULL }, 97, "tcp" }, - { "swift-rvf", { NULL }, 97, "udp" }, - { "tacnews", { NULL }, 98, "tcp" }, - { "tacnews", { NULL }, 98, "udp" }, - { "metagram", { NULL }, 99, "tcp" }, - { "metagram", { NULL }, 99, "udp" }, - { "newacct", { NULL }, 100, "tcp" }, - { "hostname", { NULL }, 101, "tcp" }, - { "hostname", { NULL }, 101, "udp" }, - { "iso-tsap", { NULL }, 102, "tcp" }, - { "iso-tsap", { NULL }, 102, "udp" }, - { "gppitnp", { NULL }, 103, "tcp" }, - { "gppitnp", { NULL }, 103, "udp" }, - { "acr-nema", { NULL }, 104, "tcp" }, - { "acr-nema", { NULL }, 104, "udp" }, - { "cso", { NULL }, 105, "tcp" }, - { "cso", { NULL }, 105, "udp" }, - { "csnet-ns", { NULL }, 105, "tcp" }, - { "csnet-ns", { NULL }, 105, "udp" }, - { "3com-tsmux", { NULL }, 106, "tcp" }, - { "3com-tsmux", { NULL }, 106, "udp" }, - { "rtelnet", { NULL }, 107, "tcp" }, - { "rtelnet", { NULL }, 107, "udp" }, - { "snagas", { NULL }, 108, "tcp" }, - { "snagas", { NULL }, 108, "udp" }, - { "pop2", { NULL }, 109, "tcp" }, - { "pop2", { NULL }, 109, "udp" }, - { "pop3", { NULL }, 110, "tcp" }, - { "pop3", { NULL }, 110, "udp" }, - { "sunrpc", { NULL }, 111, "tcp" }, - { "sunrpc", { NULL }, 111, "udp" }, - { "mcidas", { NULL }, 112, "tcp" }, - { "mcidas", { NULL }, 112, "udp" }, - { "ident", { NULL }, 113, "tcp" }, - { "auth", { NULL }, 113, "tcp" }, - { "auth", { NULL }, 113, "udp" }, - { "sftp", { NULL }, 115, "tcp" }, - { "sftp", { NULL }, 115, "udp" }, - { "ansanotify", { NULL }, 116, "tcp" }, - { "ansanotify", { NULL }, 116, "udp" }, - { "uucp-path", { NULL }, 117, "tcp" }, - { "uucp-path", { NULL }, 117, "udp" }, - { "sqlserv", { NULL }, 118, "tcp" }, - { "sqlserv", { NULL }, 118, "udp" }, - { "nntp", { NULL }, 119, "tcp" }, - { "nntp", { NULL }, 119, "udp" }, - { "cfdptkt", { NULL }, 120, "tcp" }, - { "cfdptkt", { NULL }, 120, "udp" }, - { "erpc", { NULL }, 121, "tcp" }, - { "erpc", { NULL }, 121, "udp" }, - { "smakynet", { NULL }, 122, "tcp" }, - { "smakynet", { NULL }, 122, "udp" }, - { "ntp", { NULL }, 123, "tcp" }, - { "ntp", { NULL }, 123, "udp" }, - { "ansatrader", { NULL }, 124, "tcp" }, - { "ansatrader", { NULL }, 124, "udp" }, - { "locus-map", { NULL }, 125, "tcp" }, - { "locus-map", { NULL }, 125, "udp" }, - { "nxedit", { NULL }, 126, "tcp" }, - { "nxedit", { NULL }, 126, "udp" }, - { "locus-con", { NULL }, 127, "tcp" }, - { "locus-con", { NULL }, 127, "udp" }, - { "gss-xlicen", { NULL }, 128, "tcp" }, - { "gss-xlicen", { NULL }, 128, "udp" }, - { "pwdgen", { NULL }, 129, "tcp" }, - { "pwdgen", { NULL }, 129, "udp" }, - { "cisco-fna", { NULL }, 130, "tcp" }, - { "cisco-fna", { NULL }, 130, "udp" }, - { "cisco-tna", { NULL }, 131, "tcp" }, - { "cisco-tna", { NULL }, 131, "udp" }, - { "cisco-sys", { NULL }, 132, "tcp" }, - { "cisco-sys", { NULL }, 132, "udp" }, - { "statsrv", { NULL }, 133, "tcp" }, - { "statsrv", { NULL }, 133, "udp" }, - { "ingres-net", { NULL }, 134, "tcp" }, - { "ingres-net", { NULL }, 134, "udp" }, - { "epmap", { NULL }, 135, "tcp" }, - { "epmap", { NULL }, 135, "udp" }, - { "profile", { NULL }, 136, "tcp" }, - { "profile", { NULL }, 136, "udp" }, - { "netbios-ns", { NULL }, 137, "tcp" }, - { "netbios-ns", { NULL }, 137, "udp" }, - { "netbios-dgm", { NULL }, 138, "tcp" }, - { "netbios-dgm", { NULL }, 138, "udp" }, - { "netbios-ssn", { NULL }, 139, "tcp" }, - { "netbios-ssn", { NULL }, 139, "udp" }, - { "emfis-data", { NULL }, 140, "tcp" }, - { "emfis-data", { NULL }, 140, "udp" }, - { "emfis-cntl", { NULL }, 141, "tcp" }, - { "emfis-cntl", { NULL }, 141, "udp" }, - { "bl-idm", { NULL }, 142, "tcp" }, - { "bl-idm", { NULL }, 142, "udp" }, - { "imap", { NULL }, 143, "tcp" }, - { "imap", { NULL }, 143, "udp" }, - { "uma", { NULL }, 144, "tcp" }, - { "uma", { NULL }, 144, "udp" }, - { "uaac", { NULL }, 145, "tcp" }, - { "uaac", { NULL }, 145, "udp" }, - { "iso-tp0", { NULL }, 146, "tcp" }, - { "iso-tp0", { NULL }, 146, "udp" }, - { "iso-ip", { NULL }, 147, "tcp" }, - { "iso-ip", { NULL }, 147, "udp" }, - { "jargon", { NULL }, 148, "tcp" }, - { "jargon", { NULL }, 148, "udp" }, - { "aed-512", { NULL }, 149, "tcp" }, - { "aed-512", { NULL }, 149, "udp" }, - { "sql-net", { NULL }, 150, "tcp" }, - { "sql-net", { NULL }, 150, "udp" }, - { "hems", { NULL }, 151, "tcp" }, - { "hems", { NULL }, 151, "udp" }, - { "bftp", { NULL }, 152, "tcp" }, - { "bftp", { NULL }, 152, "udp" }, - { "sgmp", { NULL }, 153, "tcp" }, - { "sgmp", { NULL }, 153, "udp" }, - { "netsc-prod", { NULL }, 154, "tcp" }, - { "netsc-prod", { NULL }, 154, "udp" }, - { "netsc-dev", { NULL }, 155, "tcp" }, - { "netsc-dev", { NULL }, 155, "udp" }, - { "sqlsrv", { NULL }, 156, "tcp" }, - { "sqlsrv", { NULL }, 156, "udp" }, - { "knet-cmp", { NULL }, 157, "tcp" }, - { "knet-cmp", { NULL }, 157, "udp" }, - { "pcmail-srv", { NULL }, 158, "tcp" }, - { "pcmail-srv", { NULL }, 158, "udp" }, - { "nss-routing", { NULL }, 159, "tcp" }, - { "nss-routing", { NULL }, 159, "udp" }, - { "sgmp-traps", { NULL }, 160, "tcp" }, - { "sgmp-traps", { NULL }, 160, "udp" }, - { "snmp", { NULL }, 161, "tcp" }, - { "snmp", { NULL }, 161, "udp" }, - { "snmptrap", { NULL }, 162, "tcp" }, - { "snmptrap", { NULL }, 162, "udp" }, - { "cmip-man", { NULL }, 163, "tcp" }, - { "cmip-man", { NULL }, 163, "udp" }, - { "cmip-agent", { NULL }, 164, "tcp" }, - { "cmip-agent", { NULL }, 164, "udp" }, - { "xns-courier", { NULL }, 165, "tcp" }, - { "xns-courier", { NULL }, 165, "udp" }, - { "s-net", { NULL }, 166, "tcp" }, - { "s-net", { NULL }, 166, "udp" }, - { "namp", { NULL }, 167, "tcp" }, - { "namp", { NULL }, 167, "udp" }, - { "rsvd", { NULL }, 168, "tcp" }, - { "rsvd", { NULL }, 168, "udp" }, - { "send", { NULL }, 169, "tcp" }, - { "send", { NULL }, 169, "udp" }, - { "print-srv", { NULL }, 170, "tcp" }, - { "print-srv", { NULL }, 170, "udp" }, - { "multiplex", { NULL }, 171, "tcp" }, - { "multiplex", { NULL }, 171, "udp" }, - { "cl/1", { NULL }, 172, "tcp" }, - { "cl/1", { NULL }, 172, "udp" }, - { "xyplex-mux", { NULL }, 173, "tcp" }, - { "xyplex-mux", { NULL }, 173, "udp" }, - { "mailq", { NULL }, 174, "tcp" }, - { "mailq", { NULL }, 174, "udp" }, - { "vmnet", { NULL }, 175, "tcp" }, - { "vmnet", { NULL }, 175, "udp" }, - { "genrad-mux", { NULL }, 176, "tcp" }, - { "genrad-mux", { NULL }, 176, "udp" }, - { "xdmcp", { NULL }, 177, "tcp" }, - { "xdmcp", { NULL }, 177, "udp" }, - { "nextstep", { NULL }, 178, "tcp" }, - { "nextstep", { NULL }, 178, "udp" }, - { "bgp", { NULL }, 179, "tcp" }, - { "bgp", { NULL }, 179, "udp" }, - { "bgp", { NULL }, 179, "sctp"}, - { "ris", { NULL }, 180, "tcp" }, - { "ris", { NULL }, 180, "udp" }, - { "unify", { NULL }, 181, "tcp" }, - { "unify", { NULL }, 181, "udp" }, - { "audit", { NULL }, 182, "tcp" }, - { "audit", { NULL }, 182, "udp" }, - { "ocbinder", { NULL }, 183, "tcp" }, - { "ocbinder", { NULL }, 183, "udp" }, - { "ocserver", { NULL }, 184, "tcp" }, - { "ocserver", { NULL }, 184, "udp" }, - { "remote-kis", { NULL }, 185, "tcp" }, - { "remote-kis", { NULL }, 185, "udp" }, - { "kis", { NULL }, 186, "tcp" }, - { "kis", { NULL }, 186, "udp" }, - { "aci", { NULL }, 187, "tcp" }, - { "aci", { NULL }, 187, "udp" }, - { "mumps", { NULL }, 188, "tcp" }, - { "mumps", { NULL }, 188, "udp" }, - { "qft", { NULL }, 189, "tcp" }, - { "qft", { NULL }, 189, "udp" }, - { "gacp", { NULL }, 190, "tcp" }, - { "gacp", { NULL }, 190, "udp" }, - { "prospero", { NULL }, 191, "tcp" }, - { "prospero", { NULL }, 191, "udp" }, - { "osu-nms", { NULL }, 192, "tcp" }, - { "osu-nms", { NULL }, 192, "udp" }, - { "srmp", { NULL }, 193, "tcp" }, - { "srmp", { NULL }, 193, "udp" }, - { "irc", { NULL }, 194, "tcp" }, - { "irc", { NULL }, 194, "udp" }, - { "dn6-nlm-aud", { NULL }, 195, "tcp" }, - { "dn6-nlm-aud", { NULL }, 195, "udp" }, - { "dn6-smm-red", { NULL }, 196, "tcp" }, - { "dn6-smm-red", { NULL }, 196, "udp" }, - { "dls", { NULL }, 197, "tcp" }, - { "dls", { NULL }, 197, "udp" }, - { "dls-mon", { NULL }, 198, "tcp" }, - { "dls-mon", { NULL }, 198, "udp" }, - { "smux", { NULL }, 199, "tcp" }, - { "smux", { NULL }, 199, "udp" }, - { "src", { NULL }, 200, "tcp" }, - { "src", { NULL }, 200, "udp" }, - { "at-rtmp", { NULL }, 201, "tcp" }, - { "at-rtmp", { NULL }, 201, "udp" }, - { "at-nbp", { NULL }, 202, "tcp" }, - { "at-nbp", { NULL }, 202, "udp" }, - { "at-3", { NULL }, 203, "tcp" }, - { "at-3", { NULL }, 203, "udp" }, - { "at-echo", { NULL }, 204, "tcp" }, - { "at-echo", { NULL }, 204, "udp" }, - { "at-5", { NULL }, 205, "tcp" }, - { "at-5", { NULL }, 205, "udp" }, - { "at-zis", { NULL }, 206, "tcp" }, - { "at-zis", { NULL }, 206, "udp" }, - { "at-7", { NULL }, 207, "tcp" }, - { "at-7", { NULL }, 207, "udp" }, - { "at-8", { NULL }, 208, "tcp" }, - { "at-8", { NULL }, 208, "udp" }, - { "qmtp", { NULL }, 209, "tcp" }, - { "qmtp", { NULL }, 209, "udp" }, - { "z39.50", { NULL }, 210, "tcp" }, - { "z39.50", { NULL }, 210, "udp" }, - { "914c/g", { NULL }, 211, "tcp" }, - { "914c/g", { NULL }, 211, "udp" }, - { "anet", { NULL }, 212, "tcp" }, - { "anet", { NULL }, 212, "udp" }, - { "ipx", { NULL }, 213, "tcp" }, - { "ipx", { NULL }, 213, "udp" }, - { "vmpwscs", { NULL }, 214, "tcp" }, - { "vmpwscs", { NULL }, 214, "udp" }, - { "softpc", { NULL }, 215, "tcp" }, - { "softpc", { NULL }, 215, "udp" }, - { "CAIlic", { NULL }, 216, "tcp" }, - { "CAIlic", { NULL }, 216, "udp" }, - { "dbase", { NULL }, 217, "tcp" }, - { "dbase", { NULL }, 217, "udp" }, - { "mpp", { NULL }, 218, "tcp" }, - { "mpp", { NULL }, 218, "udp" }, - { "uarps", { NULL }, 219, "tcp" }, - { "uarps", { NULL }, 219, "udp" }, - { "imap3", { NULL }, 220, "tcp" }, - { "imap3", { NULL }, 220, "udp" }, - { "fln-spx", { NULL }, 221, "tcp" }, - { "fln-spx", { NULL }, 221, "udp" }, - { "rsh-spx", { NULL }, 222, "tcp" }, - { "rsh-spx", { NULL }, 222, "udp" }, - { "cdc", { NULL }, 223, "tcp" }, - { "cdc", { NULL }, 223, "udp" }, - { "masqdialer", { NULL }, 224, "tcp" }, - { "masqdialer", { NULL }, 224, "udp" }, - { "direct", { NULL }, 242, "tcp" }, - { "direct", { NULL }, 242, "udp" }, - { "sur-meas", { NULL }, 243, "tcp" }, - { "sur-meas", { NULL }, 243, "udp" }, - { "inbusiness", { NULL }, 244, "tcp" }, - { "inbusiness", { NULL }, 244, "udp" }, - { "link", { NULL }, 245, "tcp" }, - { "link", { NULL }, 245, "udp" }, - { "dsp3270", { NULL }, 246, "tcp" }, - { "dsp3270", { NULL }, 246, "udp" }, - { "subntbcst_tftp", { NULL }, 247, "tcp" }, - { "subntbcst_tftp", { NULL }, 247, "udp" }, - { "bhfhs", { NULL }, 248, "tcp" }, - { "bhfhs", { NULL }, 248, "udp" }, - { "rap", { NULL }, 256, "tcp" }, - { "rap", { NULL }, 256, "udp" }, - { "set", { NULL }, 257, "tcp" }, - { "set", { NULL }, 257, "udp" }, - { "esro-gen", { NULL }, 259, "tcp" }, - { "esro-gen", { NULL }, 259, "udp" }, - { "openport", { NULL }, 260, "tcp" }, - { "openport", { NULL }, 260, "udp" }, - { "nsiiops", { NULL }, 261, "tcp" }, - { "nsiiops", { NULL }, 261, "udp" }, - { "arcisdms", { NULL }, 262, "tcp" }, - { "arcisdms", { NULL }, 262, "udp" }, - { "hdap", { NULL }, 263, "tcp" }, - { "hdap", { NULL }, 263, "udp" }, - { "bgmp", { NULL }, 264, "tcp" }, - { "bgmp", { NULL }, 264, "udp" }, - { "x-bone-ctl", { NULL }, 265, "tcp" }, - { "x-bone-ctl", { NULL }, 265, "udp" }, - { "sst", { NULL }, 266, "tcp" }, - { "sst", { NULL }, 266, "udp" }, - { "td-service", { NULL }, 267, "tcp" }, - { "td-service", { NULL }, 267, "udp" }, - { "td-replica", { NULL }, 268, "tcp" }, - { "td-replica", { NULL }, 268, "udp" }, - { "manet", { NULL }, 269, "tcp" }, - { "manet", { NULL }, 269, "udp" }, - { "gist", { NULL }, 270, "udp" }, - { "http-mgmt", { NULL }, 280, "tcp" }, - { "http-mgmt", { NULL }, 280, "udp" }, - { "personal-link", { NULL }, 281, "tcp" }, - { "personal-link", { NULL }, 281, "udp" }, - { "cableport-ax", { NULL }, 282, "tcp" }, - { "cableport-ax", { NULL }, 282, "udp" }, - { "rescap", { NULL }, 283, "tcp" }, - { "rescap", { NULL }, 283, "udp" }, - { "corerjd", { NULL }, 284, "tcp" }, - { "corerjd", { NULL }, 284, "udp" }, - { "fxp", { NULL }, 286, "tcp" }, - { "fxp", { NULL }, 286, "udp" }, - { "k-block", { NULL }, 287, "tcp" }, - { "k-block", { NULL }, 287, "udp" }, - { "novastorbakcup", { NULL }, 308, "tcp" }, - { "novastorbakcup", { NULL }, 308, "udp" }, - { "entrusttime", { NULL }, 309, "tcp" }, - { "entrusttime", { NULL }, 309, "udp" }, - { "bhmds", { NULL }, 310, "tcp" }, - { "bhmds", { NULL }, 310, "udp" }, - { "asip-webadmin", { NULL }, 311, "tcp" }, - { "asip-webadmin", { NULL }, 311, "udp" }, - { "vslmp", { NULL }, 312, "tcp" }, - { "vslmp", { NULL }, 312, "udp" }, - { "magenta-logic", { NULL }, 313, "tcp" }, - { "magenta-logic", { NULL }, 313, "udp" }, - { "opalis-robot", { NULL }, 314, "tcp" }, - { "opalis-robot", { NULL }, 314, "udp" }, - { "dpsi", { NULL }, 315, "tcp" }, - { "dpsi", { NULL }, 315, "udp" }, - { "decauth", { NULL }, 316, "tcp" }, - { "decauth", { NULL }, 316, "udp" }, - { "zannet", { NULL }, 317, "tcp" }, - { "zannet", { NULL }, 317, "udp" }, - { "pkix-timestamp", { NULL }, 318, "tcp" }, - { "pkix-timestamp", { NULL }, 318, "udp" }, - { "ptp-event", { NULL }, 319, "tcp" }, - { "ptp-event", { NULL }, 319, "udp" }, - { "ptp-general", { NULL }, 320, "tcp" }, - { "ptp-general", { NULL }, 320, "udp" }, - { "pip", { NULL }, 321, "tcp" }, - { "pip", { NULL }, 321, "udp" }, - { "rtsps", { NULL }, 322, "tcp" }, - { "rtsps", { NULL }, 322, "udp" }, - { "texar", { NULL }, 333, "tcp" }, - { "texar", { NULL }, 333, "udp" }, - { "pdap", { NULL }, 344, "tcp" }, - { "pdap", { NULL }, 344, "udp" }, - { "pawserv", { NULL }, 345, "tcp" }, - { "pawserv", { NULL }, 345, "udp" }, - { "zserv", { NULL }, 346, "tcp" }, - { "zserv", { NULL }, 346, "udp" }, - { "fatserv", { NULL }, 347, "tcp" }, - { "fatserv", { NULL }, 347, "udp" }, - { "csi-sgwp", { NULL }, 348, "tcp" }, - { "csi-sgwp", { NULL }, 348, "udp" }, - { "mftp", { NULL }, 349, "tcp" }, - { "mftp", { NULL }, 349, "udp" }, - { "matip-type-a", { NULL }, 350, "tcp" }, - { "matip-type-a", { NULL }, 350, "udp" }, - { "matip-type-b", { NULL }, 351, "tcp" }, - { "matip-type-b", { NULL }, 351, "udp" }, - { "bhoetty", { NULL }, 351, "tcp" }, - { "bhoetty", { NULL }, 351, "udp" }, - { "dtag-ste-sb", { NULL }, 352, "tcp" }, - { "dtag-ste-sb", { NULL }, 352, "udp" }, - { "bhoedap4", { NULL }, 352, "tcp" }, - { "bhoedap4", { NULL }, 352, "udp" }, - { "ndsauth", { NULL }, 353, "tcp" }, - { "ndsauth", { NULL }, 353, "udp" }, - { "bh611", { NULL }, 354, "tcp" }, - { "bh611", { NULL }, 354, "udp" }, - { "datex-asn", { NULL }, 355, "tcp" }, - { "datex-asn", { NULL }, 355, "udp" }, - { "cloanto-net-1", { NULL }, 356, "tcp" }, - { "cloanto-net-1", { NULL }, 356, "udp" }, - { "bhevent", { NULL }, 357, "tcp" }, - { "bhevent", { NULL }, 357, "udp" }, - { "shrinkwrap", { NULL }, 358, "tcp" }, - { "shrinkwrap", { NULL }, 358, "udp" }, - { "nsrmp", { NULL }, 359, "tcp" }, - { "nsrmp", { NULL }, 359, "udp" }, - { "scoi2odialog", { NULL }, 360, "tcp" }, - { "scoi2odialog", { NULL }, 360, "udp" }, - { "semantix", { NULL }, 361, "tcp" }, - { "semantix", { NULL }, 361, "udp" }, - { "srssend", { NULL }, 362, "tcp" }, - { "srssend", { NULL }, 362, "udp" }, - { "rsvp_tunnel", { NULL }, 363, "tcp" }, - { "rsvp_tunnel", { NULL }, 363, "udp" }, - { "aurora-cmgr", { NULL }, 364, "tcp" }, - { "aurora-cmgr", { NULL }, 364, "udp" }, - { "dtk", { NULL }, 365, "tcp" }, - { "dtk", { NULL }, 365, "udp" }, - { "odmr", { NULL }, 366, "tcp" }, - { "odmr", { NULL }, 366, "udp" }, - { "mortgageware", { NULL }, 367, "tcp" }, - { "mortgageware", { NULL }, 367, "udp" }, - { "qbikgdp", { NULL }, 368, "tcp" }, - { "qbikgdp", { NULL }, 368, "udp" }, - { "rpc2portmap", { NULL }, 369, "tcp" }, - { "rpc2portmap", { NULL }, 369, "udp" }, - { "codaauth2", { NULL }, 370, "tcp" }, - { "codaauth2", { NULL }, 370, "udp" }, - { "clearcase", { NULL }, 371, "tcp" }, - { "clearcase", { NULL }, 371, "udp" }, - { "ulistproc", { NULL }, 372, "tcp" }, - { "ulistproc", { NULL }, 372, "udp" }, - { "legent-1", { NULL }, 373, "tcp" }, - { "legent-1", { NULL }, 373, "udp" }, - { "legent-2", { NULL }, 374, "tcp" }, - { "legent-2", { NULL }, 374, "udp" }, - { "hassle", { NULL }, 375, "tcp" }, - { "hassle", { NULL }, 375, "udp" }, - { "nip", { NULL }, 376, "tcp" }, - { "nip", { NULL }, 376, "udp" }, - { "tnETOS", { NULL }, 377, "tcp" }, - { "tnETOS", { NULL }, 377, "udp" }, - { "dsETOS", { NULL }, 378, "tcp" }, - { "dsETOS", { NULL }, 378, "udp" }, - { "is99c", { NULL }, 379, "tcp" }, - { "is99c", { NULL }, 379, "udp" }, - { "is99s", { NULL }, 380, "tcp" }, - { "is99s", { NULL }, 380, "udp" }, - { "hp-collector", { NULL }, 381, "tcp" }, - { "hp-collector", { NULL }, 381, "udp" }, - { "hp-managed-node", { NULL }, 382, "tcp" }, - { "hp-managed-node", { NULL }, 382, "udp" }, - { "hp-alarm-mgr", { NULL }, 383, "tcp" }, - { "hp-alarm-mgr", { NULL }, 383, "udp" }, - { "arns", { NULL }, 384, "tcp" }, - { "arns", { NULL }, 384, "udp" }, - { "ibm-app", { NULL }, 385, "tcp" }, - { "ibm-app", { NULL }, 385, "udp" }, - { "asa", { NULL }, 386, "tcp" }, - { "asa", { NULL }, 386, "udp" }, - { "aurp", { NULL }, 387, "tcp" }, - { "aurp", { NULL }, 387, "udp" }, - { "unidata-ldm", { NULL }, 388, "tcp" }, - { "unidata-ldm", { NULL }, 388, "udp" }, - { "ldap", { NULL }, 389, "tcp" }, - { "ldap", { NULL }, 389, "udp" }, - { "uis", { NULL }, 390, "tcp" }, - { "uis", { NULL }, 390, "udp" }, - { "synotics-relay", { NULL }, 391, "tcp" }, - { "synotics-relay", { NULL }, 391, "udp" }, - { "synotics-broker", { NULL }, 392, "tcp" }, - { "synotics-broker", { NULL }, 392, "udp" }, - { "meta5", { NULL }, 393, "tcp" }, - { "meta5", { NULL }, 393, "udp" }, - { "embl-ndt", { NULL }, 394, "tcp" }, - { "embl-ndt", { NULL }, 394, "udp" }, - { "netcp", { NULL }, 395, "tcp" }, - { "netcp", { NULL }, 395, "udp" }, - { "netware-ip", { NULL }, 396, "tcp" }, - { "netware-ip", { NULL }, 396, "udp" }, - { "mptn", { NULL }, 397, "tcp" }, - { "mptn", { NULL }, 397, "udp" }, - { "kryptolan", { NULL }, 398, "tcp" }, - { "kryptolan", { NULL }, 398, "udp" }, - { "iso-tsap-c2", { NULL }, 399, "tcp" }, - { "iso-tsap-c2", { NULL }, 399, "udp" }, - { "osb-sd", { NULL }, 400, "tcp" }, - { "osb-sd", { NULL }, 400, "udp" }, - { "ups", { NULL }, 401, "tcp" }, - { "ups", { NULL }, 401, "udp" }, - { "genie", { NULL }, 402, "tcp" }, - { "genie", { NULL }, 402, "udp" }, - { "decap", { NULL }, 403, "tcp" }, - { "decap", { NULL }, 403, "udp" }, - { "nced", { NULL }, 404, "tcp" }, - { "nced", { NULL }, 404, "udp" }, - { "ncld", { NULL }, 405, "tcp" }, - { "ncld", { NULL }, 405, "udp" }, - { "imsp", { NULL }, 406, "tcp" }, - { "imsp", { NULL }, 406, "udp" }, - { "timbuktu", { NULL }, 407, "tcp" }, - { "timbuktu", { NULL }, 407, "udp" }, - { "prm-sm", { NULL }, 408, "tcp" }, - { "prm-sm", { NULL }, 408, "udp" }, - { "prm-nm", { NULL }, 409, "tcp" }, - { "prm-nm", { NULL }, 409, "udp" }, - { "decladebug", { NULL }, 410, "tcp" }, - { "decladebug", { NULL }, 410, "udp" }, - { "rmt", { NULL }, 411, "tcp" }, - { "rmt", { NULL }, 411, "udp" }, - { "synoptics-trap", { NULL }, 412, "tcp" }, - { "synoptics-trap", { NULL }, 412, "udp" }, - { "smsp", { NULL }, 413, "tcp" }, - { "smsp", { NULL }, 413, "udp" }, - { "infoseek", { NULL }, 414, "tcp" }, - { "infoseek", { NULL }, 414, "udp" }, - { "bnet", { NULL }, 415, "tcp" }, - { "bnet", { NULL }, 415, "udp" }, - { "silverplatter", { NULL }, 416, "tcp" }, - { "silverplatter", { NULL }, 416, "udp" }, - { "onmux", { NULL }, 417, "tcp" }, - { "onmux", { NULL }, 417, "udp" }, - { "hyper-g", { NULL }, 418, "tcp" }, - { "hyper-g", { NULL }, 418, "udp" }, - { "ariel1", { NULL }, 419, "tcp" }, - { "ariel1", { NULL }, 419, "udp" }, - { "smpte", { NULL }, 420, "tcp" }, - { "smpte", { NULL }, 420, "udp" }, - { "ariel2", { NULL }, 421, "tcp" }, - { "ariel2", { NULL }, 421, "udp" }, - { "ariel3", { NULL }, 422, "tcp" }, - { "ariel3", { NULL }, 422, "udp" }, - { "opc-job-start", { NULL }, 423, "tcp" }, - { "opc-job-start", { NULL }, 423, "udp" }, - { "opc-job-track", { NULL }, 424, "tcp" }, - { "opc-job-track", { NULL }, 424, "udp" }, - { "icad-el", { NULL }, 425, "tcp" }, - { "icad-el", { NULL }, 425, "udp" }, - { "smartsdp", { NULL }, 426, "tcp" }, - { "smartsdp", { NULL }, 426, "udp" }, - { "svrloc", { NULL }, 427, "tcp" }, - { "svrloc", { NULL }, 427, "udp" }, - { "ocs_cmu", { NULL }, 428, "tcp" }, - { "ocs_cmu", { NULL }, 428, "udp" }, - { "ocs_amu", { NULL }, 429, "tcp" }, - { "ocs_amu", { NULL }, 429, "udp" }, - { "utmpsd", { NULL }, 430, "tcp" }, - { "utmpsd", { NULL }, 430, "udp" }, - { "utmpcd", { NULL }, 431, "tcp" }, - { "utmpcd", { NULL }, 431, "udp" }, - { "iasd", { NULL }, 432, "tcp" }, - { "iasd", { NULL }, 432, "udp" }, - { "nnsp", { NULL }, 433, "tcp" }, - { "nnsp", { NULL }, 433, "udp" }, - { "mobileip-agent", { NULL }, 434, "tcp" }, - { "mobileip-agent", { NULL }, 434, "udp" }, - { "mobilip-mn", { NULL }, 435, "tcp" }, - { "mobilip-mn", { NULL }, 435, "udp" }, - { "dna-cml", { NULL }, 436, "tcp" }, - { "dna-cml", { NULL }, 436, "udp" }, - { "comscm", { NULL }, 437, "tcp" }, - { "comscm", { NULL }, 437, "udp" }, - { "dsfgw", { NULL }, 438, "tcp" }, - { "dsfgw", { NULL }, 438, "udp" }, - { "dasp", { NULL }, 439, "tcp" }, - { "dasp", { NULL }, 439, "udp" }, - { "sgcp", { NULL }, 440, "tcp" }, - { "sgcp", { NULL }, 440, "udp" }, - { "decvms-sysmgt", { NULL }, 441, "tcp" }, - { "decvms-sysmgt", { NULL }, 441, "udp" }, - { "cvc_hostd", { NULL }, 442, "tcp" }, - { "cvc_hostd", { NULL }, 442, "udp" }, - { "https", { NULL }, 443, "tcp" }, - { "https", { NULL }, 443, "udp" }, - { "https", { NULL }, 443, "sctp"}, - { "snpp", { NULL }, 444, "tcp" }, - { "snpp", { NULL }, 444, "udp" }, - { "microsoft-ds", { NULL }, 445, "tcp" }, - { "microsoft-ds", { NULL }, 445, "udp" }, - { "ddm-rdb", { NULL }, 446, "tcp" }, - { "ddm-rdb", { NULL }, 446, "udp" }, - { "ddm-dfm", { NULL }, 447, "tcp" }, - { "ddm-dfm", { NULL }, 447, "udp" }, - { "ddm-ssl", { NULL }, 448, "tcp" }, - { "ddm-ssl", { NULL }, 448, "udp" }, - { "as-servermap", { NULL }, 449, "tcp" }, - { "as-servermap", { NULL }, 449, "udp" }, - { "tserver", { NULL }, 450, "tcp" }, - { "tserver", { NULL }, 450, "udp" }, - { "sfs-smp-net", { NULL }, 451, "tcp" }, - { "sfs-smp-net", { NULL }, 451, "udp" }, - { "sfs-config", { NULL }, 452, "tcp" }, - { "sfs-config", { NULL }, 452, "udp" }, - { "creativeserver", { NULL }, 453, "tcp" }, - { "creativeserver", { NULL }, 453, "udp" }, - { "contentserver", { NULL }, 454, "tcp" }, - { "contentserver", { NULL }, 454, "udp" }, - { "creativepartnr", { NULL }, 455, "tcp" }, - { "creativepartnr", { NULL }, 455, "udp" }, - { "macon-tcp", { NULL }, 456, "tcp" }, - { "macon-udp", { NULL }, 456, "udp" }, - { "scohelp", { NULL }, 457, "tcp" }, - { "scohelp", { NULL }, 457, "udp" }, - { "appleqtc", { NULL }, 458, "tcp" }, - { "appleqtc", { NULL }, 458, "udp" }, - { "ampr-rcmd", { NULL }, 459, "tcp" }, - { "ampr-rcmd", { NULL }, 459, "udp" }, - { "skronk", { NULL }, 460, "tcp" }, - { "skronk", { NULL }, 460, "udp" }, - { "datasurfsrv", { NULL }, 461, "tcp" }, - { "datasurfsrv", { NULL }, 461, "udp" }, - { "datasurfsrvsec", { NULL }, 462, "tcp" }, - { "datasurfsrvsec", { NULL }, 462, "udp" }, - { "alpes", { NULL }, 463, "tcp" }, - { "alpes", { NULL }, 463, "udp" }, - { "kpasswd", { NULL }, 464, "tcp" }, - { "kpasswd", { NULL }, 464, "udp" }, - { "urd", { NULL }, 465, "tcp" }, - { "igmpv3lite", { NULL }, 465, "udp" }, - { "digital-vrc", { NULL }, 466, "tcp" }, - { "digital-vrc", { NULL }, 466, "udp" }, - { "mylex-mapd", { NULL }, 467, "tcp" }, - { "mylex-mapd", { NULL }, 467, "udp" }, - { "photuris", { NULL }, 468, "tcp" }, - { "photuris", { NULL }, 468, "udp" }, - { "rcp", { NULL }, 469, "tcp" }, - { "rcp", { NULL }, 469, "udp" }, - { "scx-proxy", { NULL }, 470, "tcp" }, - { "scx-proxy", { NULL }, 470, "udp" }, - { "mondex", { NULL }, 471, "tcp" }, - { "mondex", { NULL }, 471, "udp" }, - { "ljk-login", { NULL }, 472, "tcp" }, - { "ljk-login", { NULL }, 472, "udp" }, - { "hybrid-pop", { NULL }, 473, "tcp" }, - { "hybrid-pop", { NULL }, 473, "udp" }, - { "tn-tl-w1", { NULL }, 474, "tcp" }, - { "tn-tl-w2", { NULL }, 474, "udp" }, - { "tcpnethaspsrv", { NULL }, 475, "tcp" }, - { "tcpnethaspsrv", { NULL }, 475, "udp" }, - { "tn-tl-fd1", { NULL }, 476, "tcp" }, - { "tn-tl-fd1", { NULL }, 476, "udp" }, - { "ss7ns", { NULL }, 477, "tcp" }, - { "ss7ns", { NULL }, 477, "udp" }, - { "spsc", { NULL }, 478, "tcp" }, - { "spsc", { NULL }, 478, "udp" }, - { "iafserver", { NULL }, 479, "tcp" }, - { "iafserver", { NULL }, 479, "udp" }, - { "iafdbase", { NULL }, 480, "tcp" }, - { "iafdbase", { NULL }, 480, "udp" }, - { "ph", { NULL }, 481, "tcp" }, - { "ph", { NULL }, 481, "udp" }, - { "bgs-nsi", { NULL }, 482, "tcp" }, - { "bgs-nsi", { NULL }, 482, "udp" }, - { "ulpnet", { NULL }, 483, "tcp" }, - { "ulpnet", { NULL }, 483, "udp" }, - { "integra-sme", { NULL }, 484, "tcp" }, - { "integra-sme", { NULL }, 484, "udp" }, - { "powerburst", { NULL }, 485, "tcp" }, - { "powerburst", { NULL }, 485, "udp" }, - { "avian", { NULL }, 486, "tcp" }, - { "avian", { NULL }, 486, "udp" }, - { "saft", { NULL }, 487, "tcp" }, - { "saft", { NULL }, 487, "udp" }, - { "gss-http", { NULL }, 488, "tcp" }, - { "gss-http", { NULL }, 488, "udp" }, - { "nest-protocol", { NULL }, 489, "tcp" }, - { "nest-protocol", { NULL }, 489, "udp" }, - { "micom-pfs", { NULL }, 490, "tcp" }, - { "micom-pfs", { NULL }, 490, "udp" }, - { "go-login", { NULL }, 491, "tcp" }, - { "go-login", { NULL }, 491, "udp" }, - { "ticf-1", { NULL }, 492, "tcp" }, - { "ticf-1", { NULL }, 492, "udp" }, - { "ticf-2", { NULL }, 493, "tcp" }, - { "ticf-2", { NULL }, 493, "udp" }, - { "pov-ray", { NULL }, 494, "tcp" }, - { "pov-ray", { NULL }, 494, "udp" }, - { "intecourier", { NULL }, 495, "tcp" }, - { "intecourier", { NULL }, 495, "udp" }, - { "pim-rp-disc", { NULL }, 496, "tcp" }, - { "pim-rp-disc", { NULL }, 496, "udp" }, - { "dantz", { NULL }, 497, "tcp" }, - { "dantz", { NULL }, 497, "udp" }, - { "siam", { NULL }, 498, "tcp" }, - { "siam", { NULL }, 498, "udp" }, - { "iso-ill", { NULL }, 499, "tcp" }, - { "iso-ill", { NULL }, 499, "udp" }, - { "isakmp", { NULL }, 500, "tcp" }, - { "isakmp", { NULL }, 500, "udp" }, - { "stmf", { NULL }, 501, "tcp" }, - { "stmf", { NULL }, 501, "udp" }, - { "asa-appl-proto", { NULL }, 502, "tcp" }, - { "asa-appl-proto", { NULL }, 502, "udp" }, - { "intrinsa", { NULL }, 503, "tcp" }, - { "intrinsa", { NULL }, 503, "udp" }, - { "citadel", { NULL }, 504, "tcp" }, - { "citadel", { NULL }, 504, "udp" }, - { "mailbox-lm", { NULL }, 505, "tcp" }, - { "mailbox-lm", { NULL }, 505, "udp" }, - { "ohimsrv", { NULL }, 506, "tcp" }, - { "ohimsrv", { NULL }, 506, "udp" }, - { "crs", { NULL }, 507, "tcp" }, - { "crs", { NULL }, 507, "udp" }, - { "xvttp", { NULL }, 508, "tcp" }, - { "xvttp", { NULL }, 508, "udp" }, - { "snare", { NULL }, 509, "tcp" }, - { "snare", { NULL }, 509, "udp" }, - { "fcp", { NULL }, 510, "tcp" }, - { "fcp", { NULL }, 510, "udp" }, - { "passgo", { NULL }, 511, "tcp" }, - { "passgo", { NULL }, 511, "udp" }, - { "exec", { NULL }, 512, "tcp" }, - { "comsat", { NULL }, 512, "udp" }, - { "biff", { NULL }, 512, "udp" }, - { "login", { NULL }, 513, "tcp" }, - { "who", { NULL }, 513, "udp" }, - { "shell", { NULL }, 514, "tcp" }, - { "syslog", { NULL }, 514, "udp" }, - { "printer", { NULL }, 515, "tcp" }, - { "printer", { NULL }, 515, "udp" }, - { "videotex", { NULL }, 516, "tcp" }, - { "videotex", { NULL }, 516, "udp" }, - { "talk", { NULL }, 517, "tcp" }, - { "talk", { NULL }, 517, "udp" }, - { "ntalk", { NULL }, 518, "tcp" }, - { "ntalk", { NULL }, 518, "udp" }, - { "utime", { NULL }, 519, "tcp" }, - { "utime", { NULL }, 519, "udp" }, - { "efs", { NULL }, 520, "tcp" }, - { "router", { NULL }, 520, "udp" }, - { "ripng", { NULL }, 521, "tcp" }, - { "ripng", { NULL }, 521, "udp" }, - { "ulp", { NULL }, 522, "tcp" }, - { "ulp", { NULL }, 522, "udp" }, - { "ibm-db2", { NULL }, 523, "tcp" }, - { "ibm-db2", { NULL }, 523, "udp" }, - { "ncp", { NULL }, 524, "tcp" }, - { "ncp", { NULL }, 524, "udp" }, - { "timed", { NULL }, 525, "tcp" }, - { "timed", { NULL }, 525, "udp" }, - { "tempo", { NULL }, 526, "tcp" }, - { "tempo", { NULL }, 526, "udp" }, - { "stx", { NULL }, 527, "tcp" }, - { "stx", { NULL }, 527, "udp" }, - { "custix", { NULL }, 528, "tcp" }, - { "custix", { NULL }, 528, "udp" }, - { "irc-serv", { NULL }, 529, "tcp" }, - { "irc-serv", { NULL }, 529, "udp" }, - { "courier", { NULL }, 530, "tcp" }, - { "courier", { NULL }, 530, "udp" }, - { "conference", { NULL }, 531, "tcp" }, - { "conference", { NULL }, 531, "udp" }, - { "netnews", { NULL }, 532, "tcp" }, - { "netnews", { NULL }, 532, "udp" }, - { "netwall", { NULL }, 533, "tcp" }, - { "netwall", { NULL }, 533, "udp" }, - { "windream", { NULL }, 534, "tcp" }, - { "windream", { NULL }, 534, "udp" }, - { "iiop", { NULL }, 535, "tcp" }, - { "iiop", { NULL }, 535, "udp" }, - { "opalis-rdv", { NULL }, 536, "tcp" }, - { "opalis-rdv", { NULL }, 536, "udp" }, - { "nmsp", { NULL }, 537, "tcp" }, - { "nmsp", { NULL }, 537, "udp" }, - { "gdomap", { NULL }, 538, "tcp" }, - { "gdomap", { NULL }, 538, "udp" }, - { "apertus-ldp", { NULL }, 539, "tcp" }, - { "apertus-ldp", { NULL }, 539, "udp" }, - { "uucp", { NULL }, 540, "tcp" }, - { "uucp", { NULL }, 540, "udp" }, - { "uucp-rlogin", { NULL }, 541, "tcp" }, - { "uucp-rlogin", { NULL }, 541, "udp" }, - { "commerce", { NULL }, 542, "tcp" }, - { "commerce", { NULL }, 542, "udp" }, - { "klogin", { NULL }, 543, "tcp" }, - { "klogin", { NULL }, 543, "udp" }, - { "kshell", { NULL }, 544, "tcp" }, - { "kshell", { NULL }, 544, "udp" }, - { "appleqtcsrvr", { NULL }, 545, "tcp" }, - { "appleqtcsrvr", { NULL }, 545, "udp" }, - { "dhcpv6-client", { NULL }, 546, "tcp" }, - { "dhcpv6-client", { NULL }, 546, "udp" }, - { "dhcpv6-server", { NULL }, 547, "tcp" }, - { "dhcpv6-server", { NULL }, 547, "udp" }, - { "afpovertcp", { NULL }, 548, "tcp" }, - { "afpovertcp", { NULL }, 548, "udp" }, - { "idfp", { NULL }, 549, "tcp" }, - { "idfp", { NULL }, 549, "udp" }, - { "new-rwho", { NULL }, 550, "tcp" }, - { "new-rwho", { NULL }, 550, "udp" }, - { "cybercash", { NULL }, 551, "tcp" }, - { "cybercash", { NULL }, 551, "udp" }, - { "devshr-nts", { NULL }, 552, "tcp" }, - { "devshr-nts", { NULL }, 552, "udp" }, - { "pirp", { NULL }, 553, "tcp" }, - { "pirp", { NULL }, 553, "udp" }, - { "rtsp", { NULL }, 554, "tcp" }, - { "rtsp", { NULL }, 554, "udp" }, - { "dsf", { NULL }, 555, "tcp" }, - { "dsf", { NULL }, 555, "udp" }, - { "remotefs", { NULL }, 556, "tcp" }, - { "remotefs", { NULL }, 556, "udp" }, - { "openvms-sysipc", { NULL }, 557, "tcp" }, - { "openvms-sysipc", { NULL }, 557, "udp" }, - { "sdnskmp", { NULL }, 558, "tcp" }, - { "sdnskmp", { NULL }, 558, "udp" }, - { "teedtap", { NULL }, 559, "tcp" }, - { "teedtap", { NULL }, 559, "udp" }, - { "rmonitor", { NULL }, 560, "tcp" }, - { "rmonitor", { NULL }, 560, "udp" }, - { "monitor", { NULL }, 561, "tcp" }, - { "monitor", { NULL }, 561, "udp" }, - { "chshell", { NULL }, 562, "tcp" }, - { "chshell", { NULL }, 562, "udp" }, - { "nntps", { NULL }, 563, "tcp" }, - { "nntps", { NULL }, 563, "udp" }, - { "9pfs", { NULL }, 564, "tcp" }, - { "9pfs", { NULL }, 564, "udp" }, - { "whoami", { NULL }, 565, "tcp" }, - { "whoami", { NULL }, 565, "udp" }, - { "streettalk", { NULL }, 566, "tcp" }, - { "streettalk", { NULL }, 566, "udp" }, - { "banyan-rpc", { NULL }, 567, "tcp" }, - { "banyan-rpc", { NULL }, 567, "udp" }, - { "ms-shuttle", { NULL }, 568, "tcp" }, - { "ms-shuttle", { NULL }, 568, "udp" }, - { "ms-rome", { NULL }, 569, "tcp" }, - { "ms-rome", { NULL }, 569, "udp" }, - { "meter", { NULL }, 570, "tcp" }, - { "meter", { NULL }, 570, "udp" }, - { "meter", { NULL }, 571, "tcp" }, - { "meter", { NULL }, 571, "udp" }, - { "sonar", { NULL }, 572, "tcp" }, - { "sonar", { NULL }, 572, "udp" }, - { "banyan-vip", { NULL }, 573, "tcp" }, - { "banyan-vip", { NULL }, 573, "udp" }, - { "ftp-agent", { NULL }, 574, "tcp" }, - { "ftp-agent", { NULL }, 574, "udp" }, - { "vemmi", { NULL }, 575, "tcp" }, - { "vemmi", { NULL }, 575, "udp" }, - { "ipcd", { NULL }, 576, "tcp" }, - { "ipcd", { NULL }, 576, "udp" }, - { "vnas", { NULL }, 577, "tcp" }, - { "vnas", { NULL }, 577, "udp" }, - { "ipdd", { NULL }, 578, "tcp" }, - { "ipdd", { NULL }, 578, "udp" }, - { "decbsrv", { NULL }, 579, "tcp" }, - { "decbsrv", { NULL }, 579, "udp" }, - { "sntp-heartbeat", { NULL }, 580, "tcp" }, - { "sntp-heartbeat", { NULL }, 580, "udp" }, - { "bdp", { NULL }, 581, "tcp" }, - { "bdp", { NULL }, 581, "udp" }, - { "scc-security", { NULL }, 582, "tcp" }, - { "scc-security", { NULL }, 582, "udp" }, - { "philips-vc", { NULL }, 583, "tcp" }, - { "philips-vc", { NULL }, 583, "udp" }, - { "keyserver", { NULL }, 584, "tcp" }, - { "keyserver", { NULL }, 584, "udp" }, - { "password-chg", { NULL }, 586, "tcp" }, - { "password-chg", { NULL }, 586, "udp" }, - { "submission", { NULL }, 587, "tcp" }, - { "submission", { NULL }, 587, "udp" }, - { "cal", { NULL }, 588, "tcp" }, - { "cal", { NULL }, 588, "udp" }, - { "eyelink", { NULL }, 589, "tcp" }, - { "eyelink", { NULL }, 589, "udp" }, - { "tns-cml", { NULL }, 590, "tcp" }, - { "tns-cml", { NULL }, 590, "udp" }, - { "http-alt", { NULL }, 591, "tcp" }, - { "http-alt", { NULL }, 591, "udp" }, - { "eudora-set", { NULL }, 592, "tcp" }, - { "eudora-set", { NULL }, 592, "udp" }, - { "http-rpc-epmap", { NULL }, 593, "tcp" }, - { "http-rpc-epmap", { NULL }, 593, "udp" }, - { "tpip", { NULL }, 594, "tcp" }, - { "tpip", { NULL }, 594, "udp" }, - { "cab-protocol", { NULL }, 595, "tcp" }, - { "cab-protocol", { NULL }, 595, "udp" }, - { "smsd", { NULL }, 596, "tcp" }, - { "smsd", { NULL }, 596, "udp" }, - { "ptcnameservice", { NULL }, 597, "tcp" }, - { "ptcnameservice", { NULL }, 597, "udp" }, - { "sco-websrvrmg3", { NULL }, 598, "tcp" }, - { "sco-websrvrmg3", { NULL }, 598, "udp" }, - { "acp", { NULL }, 599, "tcp" }, - { "acp", { NULL }, 599, "udp" }, - { "ipcserver", { NULL }, 600, "tcp" }, - { "ipcserver", { NULL }, 600, "udp" }, - { "syslog-conn", { NULL }, 601, "tcp" }, - { "syslog-conn", { NULL }, 601, "udp" }, - { "xmlrpc-beep", { NULL }, 602, "tcp" }, - { "xmlrpc-beep", { NULL }, 602, "udp" }, - { "idxp", { NULL }, 603, "tcp" }, - { "idxp", { NULL }, 603, "udp" }, - { "tunnel", { NULL }, 604, "tcp" }, - { "tunnel", { NULL }, 604, "udp" }, - { "soap-beep", { NULL }, 605, "tcp" }, - { "soap-beep", { NULL }, 605, "udp" }, - { "urm", { NULL }, 606, "tcp" }, - { "urm", { NULL }, 606, "udp" }, - { "nqs", { NULL }, 607, "tcp" }, - { "nqs", { NULL }, 607, "udp" }, - { "sift-uft", { NULL }, 608, "tcp" }, - { "sift-uft", { NULL }, 608, "udp" }, - { "npmp-trap", { NULL }, 609, "tcp" }, - { "npmp-trap", { NULL }, 609, "udp" }, - { "npmp-local", { NULL }, 610, "tcp" }, - { "npmp-local", { NULL }, 610, "udp" }, - { "npmp-gui", { NULL }, 611, "tcp" }, - { "npmp-gui", { NULL }, 611, "udp" }, - { "hmmp-ind", { NULL }, 612, "tcp" }, - { "hmmp-ind", { NULL }, 612, "udp" }, - { "hmmp-op", { NULL }, 613, "tcp" }, - { "hmmp-op", { NULL }, 613, "udp" }, - { "sshell", { NULL }, 614, "tcp" }, - { "sshell", { NULL }, 614, "udp" }, - { "sco-inetmgr", { NULL }, 615, "tcp" }, - { "sco-inetmgr", { NULL }, 615, "udp" }, - { "sco-sysmgr", { NULL }, 616, "tcp" }, - { "sco-sysmgr", { NULL }, 616, "udp" }, - { "sco-dtmgr", { NULL }, 617, "tcp" }, - { "sco-dtmgr", { NULL }, 617, "udp" }, - { "dei-icda", { NULL }, 618, "tcp" }, - { "dei-icda", { NULL }, 618, "udp" }, - { "compaq-evm", { NULL }, 619, "tcp" }, - { "compaq-evm", { NULL }, 619, "udp" }, - { "sco-websrvrmgr", { NULL }, 620, "tcp" }, - { "sco-websrvrmgr", { NULL }, 620, "udp" }, - { "escp-ip", { NULL }, 621, "tcp" }, - { "escp-ip", { NULL }, 621, "udp" }, - { "collaborator", { NULL }, 622, "tcp" }, - { "collaborator", { NULL }, 622, "udp" }, - { "oob-ws-http", { NULL }, 623, "tcp" }, - { "asf-rmcp", { NULL }, 623, "udp" }, - { "cryptoadmin", { NULL }, 624, "tcp" }, - { "cryptoadmin", { NULL }, 624, "udp" }, - { "dec_dlm", { NULL }, 625, "tcp" }, - { "dec_dlm", { NULL }, 625, "udp" }, - { "asia", { NULL }, 626, "tcp" }, - { "asia", { NULL }, 626, "udp" }, - { "passgo-tivoli", { NULL }, 627, "tcp" }, - { "passgo-tivoli", { NULL }, 627, "udp" }, - { "qmqp", { NULL }, 628, "tcp" }, - { "qmqp", { NULL }, 628, "udp" }, - { "3com-amp3", { NULL }, 629, "tcp" }, - { "3com-amp3", { NULL }, 629, "udp" }, - { "rda", { NULL }, 630, "tcp" }, - { "rda", { NULL }, 630, "udp" }, - { "ipp", { NULL }, 631, "tcp" }, - { "ipp", { NULL }, 631, "udp" }, - { "bmpp", { NULL }, 632, "tcp" }, - { "bmpp", { NULL }, 632, "udp" }, - { "servstat", { NULL }, 633, "tcp" }, - { "servstat", { NULL }, 633, "udp" }, - { "ginad", { NULL }, 634, "tcp" }, - { "ginad", { NULL }, 634, "udp" }, - { "rlzdbase", { NULL }, 635, "tcp" }, - { "rlzdbase", { NULL }, 635, "udp" }, - { "ldaps", { NULL }, 636, "tcp" }, - { "ldaps", { NULL }, 636, "udp" }, - { "lanserver", { NULL }, 637, "tcp" }, - { "lanserver", { NULL }, 637, "udp" }, - { "mcns-sec", { NULL }, 638, "tcp" }, - { "mcns-sec", { NULL }, 638, "udp" }, - { "msdp", { NULL }, 639, "tcp" }, - { "msdp", { NULL }, 639, "udp" }, - { "entrust-sps", { NULL }, 640, "tcp" }, - { "entrust-sps", { NULL }, 640, "udp" }, - { "repcmd", { NULL }, 641, "tcp" }, - { "repcmd", { NULL }, 641, "udp" }, - { "esro-emsdp", { NULL }, 642, "tcp" }, - { "esro-emsdp", { NULL }, 642, "udp" }, - { "sanity", { NULL }, 643, "tcp" }, - { "sanity", { NULL }, 643, "udp" }, - { "dwr", { NULL }, 644, "tcp" }, - { "dwr", { NULL }, 644, "udp" }, - { "pssc", { NULL }, 645, "tcp" }, - { "pssc", { NULL }, 645, "udp" }, - { "ldp", { NULL }, 646, "tcp" }, - { "ldp", { NULL }, 646, "udp" }, - { "dhcp-failover", { NULL }, 647, "tcp" }, - { "dhcp-failover", { NULL }, 647, "udp" }, - { "rrp", { NULL }, 648, "tcp" }, - { "rrp", { NULL }, 648, "udp" }, - { "cadview-3d", { NULL }, 649, "tcp" }, - { "cadview-3d", { NULL }, 649, "udp" }, - { "obex", { NULL }, 650, "tcp" }, - { "obex", { NULL }, 650, "udp" }, - { "ieee-mms", { NULL }, 651, "tcp" }, - { "ieee-mms", { NULL }, 651, "udp" }, - { "hello-port", { NULL }, 652, "tcp" }, - { "hello-port", { NULL }, 652, "udp" }, - { "repscmd", { NULL }, 653, "tcp" }, - { "repscmd", { NULL }, 653, "udp" }, - { "aodv", { NULL }, 654, "tcp" }, - { "aodv", { NULL }, 654, "udp" }, - { "tinc", { NULL }, 655, "tcp" }, - { "tinc", { NULL }, 655, "udp" }, - { "spmp", { NULL }, 656, "tcp" }, - { "spmp", { NULL }, 656, "udp" }, - { "rmc", { NULL }, 657, "tcp" }, - { "rmc", { NULL }, 657, "udp" }, - { "tenfold", { NULL }, 658, "tcp" }, - { "tenfold", { NULL }, 658, "udp" }, - { "mac-srvr-admin", { NULL }, 660, "tcp" }, - { "mac-srvr-admin", { NULL }, 660, "udp" }, - { "hap", { NULL }, 661, "tcp" }, - { "hap", { NULL }, 661, "udp" }, - { "pftp", { NULL }, 662, "tcp" }, - { "pftp", { NULL }, 662, "udp" }, - { "purenoise", { NULL }, 663, "tcp" }, - { "purenoise", { NULL }, 663, "udp" }, - { "oob-ws-https", { NULL }, 664, "tcp" }, - { "asf-secure-rmcp", { NULL }, 664, "udp" }, - { "sun-dr", { NULL }, 665, "tcp" }, - { "sun-dr", { NULL }, 665, "udp" }, - { "mdqs", { NULL }, 666, "tcp" }, - { "mdqs", { NULL }, 666, "udp" }, - { "doom", { NULL }, 666, "tcp" }, - { "doom", { NULL }, 666, "udp" }, - { "disclose", { NULL }, 667, "tcp" }, - { "disclose", { NULL }, 667, "udp" }, - { "mecomm", { NULL }, 668, "tcp" }, - { "mecomm", { NULL }, 668, "udp" }, - { "meregister", { NULL }, 669, "tcp" }, - { "meregister", { NULL }, 669, "udp" }, - { "vacdsm-sws", { NULL }, 670, "tcp" }, - { "vacdsm-sws", { NULL }, 670, "udp" }, - { "vacdsm-app", { NULL }, 671, "tcp" }, - { "vacdsm-app", { NULL }, 671, "udp" }, - { "vpps-qua", { NULL }, 672, "tcp" }, - { "vpps-qua", { NULL }, 672, "udp" }, - { "cimplex", { NULL }, 673, "tcp" }, - { "cimplex", { NULL }, 673, "udp" }, - { "acap", { NULL }, 674, "tcp" }, - { "acap", { NULL }, 674, "udp" }, - { "dctp", { NULL }, 675, "tcp" }, - { "dctp", { NULL }, 675, "udp" }, - { "vpps-via", { NULL }, 676, "tcp" }, - { "vpps-via", { NULL }, 676, "udp" }, - { "vpp", { NULL }, 677, "tcp" }, - { "vpp", { NULL }, 677, "udp" }, - { "ggf-ncp", { NULL }, 678, "tcp" }, - { "ggf-ncp", { NULL }, 678, "udp" }, - { "mrm", { NULL }, 679, "tcp" }, - { "mrm", { NULL }, 679, "udp" }, - { "entrust-aaas", { NULL }, 680, "tcp" }, - { "entrust-aaas", { NULL }, 680, "udp" }, - { "entrust-aams", { NULL }, 681, "tcp" }, - { "entrust-aams", { NULL }, 681, "udp" }, - { "xfr", { NULL }, 682, "tcp" }, - { "xfr", { NULL }, 682, "udp" }, - { "corba-iiop", { NULL }, 683, "tcp" }, - { "corba-iiop", { NULL }, 683, "udp" }, - { "corba-iiop-ssl", { NULL }, 684, "tcp" }, - { "corba-iiop-ssl", { NULL }, 684, "udp" }, - { "mdc-portmapper", { NULL }, 685, "tcp" }, - { "mdc-portmapper", { NULL }, 685, "udp" }, - { "hcp-wismar", { NULL }, 686, "tcp" }, - { "hcp-wismar", { NULL }, 686, "udp" }, - { "asipregistry", { NULL }, 687, "tcp" }, - { "asipregistry", { NULL }, 687, "udp" }, - { "realm-rusd", { NULL }, 688, "tcp" }, - { "realm-rusd", { NULL }, 688, "udp" }, - { "nmap", { NULL }, 689, "tcp" }, - { "nmap", { NULL }, 689, "udp" }, - { "vatp", { NULL }, 690, "tcp" }, - { "vatp", { NULL }, 690, "udp" }, - { "msexch-routing", { NULL }, 691, "tcp" }, - { "msexch-routing", { NULL }, 691, "udp" }, - { "hyperwave-isp", { NULL }, 692, "tcp" }, - { "hyperwave-isp", { NULL }, 692, "udp" }, - { "connendp", { NULL }, 693, "tcp" }, - { "connendp", { NULL }, 693, "udp" }, - { "ha-cluster", { NULL }, 694, "tcp" }, - { "ha-cluster", { NULL }, 694, "udp" }, - { "ieee-mms-ssl", { NULL }, 695, "tcp" }, - { "ieee-mms-ssl", { NULL }, 695, "udp" }, - { "rushd", { NULL }, 696, "tcp" }, - { "rushd", { NULL }, 696, "udp" }, - { "uuidgen", { NULL }, 697, "tcp" }, - { "uuidgen", { NULL }, 697, "udp" }, - { "olsr", { NULL }, 698, "tcp" }, - { "olsr", { NULL }, 698, "udp" }, - { "accessnetwork", { NULL }, 699, "tcp" }, - { "accessnetwork", { NULL }, 699, "udp" }, - { "epp", { NULL }, 700, "tcp" }, - { "epp", { NULL }, 700, "udp" }, - { "lmp", { NULL }, 701, "tcp" }, - { "lmp", { NULL }, 701, "udp" }, - { "iris-beep", { NULL }, 702, "tcp" }, - { "iris-beep", { NULL }, 702, "udp" }, - { "elcsd", { NULL }, 704, "tcp" }, - { "elcsd", { NULL }, 704, "udp" }, - { "agentx", { NULL }, 705, "tcp" }, - { "agentx", { NULL }, 705, "udp" }, - { "silc", { NULL }, 706, "tcp" }, - { "silc", { NULL }, 706, "udp" }, - { "borland-dsj", { NULL }, 707, "tcp" }, - { "borland-dsj", { NULL }, 707, "udp" }, - { "entrust-kmsh", { NULL }, 709, "tcp" }, - { "entrust-kmsh", { NULL }, 709, "udp" }, - { "entrust-ash", { NULL }, 710, "tcp" }, - { "entrust-ash", { NULL }, 710, "udp" }, - { "cisco-tdp", { NULL }, 711, "tcp" }, - { "cisco-tdp", { NULL }, 711, "udp" }, - { "tbrpf", { NULL }, 712, "tcp" }, - { "tbrpf", { NULL }, 712, "udp" }, - { "iris-xpc", { NULL }, 713, "tcp" }, - { "iris-xpc", { NULL }, 713, "udp" }, - { "iris-xpcs", { NULL }, 714, "tcp" }, - { "iris-xpcs", { NULL }, 714, "udp" }, - { "iris-lwz", { NULL }, 715, "tcp" }, - { "iris-lwz", { NULL }, 715, "udp" }, - { "pana", { NULL }, 716, "udp" }, - { "netviewdm1", { NULL }, 729, "tcp" }, - { "netviewdm1", { NULL }, 729, "udp" }, - { "netviewdm2", { NULL }, 730, "tcp" }, - { "netviewdm2", { NULL }, 730, "udp" }, - { "netviewdm3", { NULL }, 731, "tcp" }, - { "netviewdm3", { NULL }, 731, "udp" }, - { "netgw", { NULL }, 741, "tcp" }, - { "netgw", { NULL }, 741, "udp" }, - { "netrcs", { NULL }, 742, "tcp" }, - { "netrcs", { NULL }, 742, "udp" }, - { "flexlm", { NULL }, 744, "tcp" }, - { "flexlm", { NULL }, 744, "udp" }, - { "fujitsu-dev", { NULL }, 747, "tcp" }, - { "fujitsu-dev", { NULL }, 747, "udp" }, - { "ris-cm", { NULL }, 748, "tcp" }, - { "ris-cm", { NULL }, 748, "udp" }, - { "kerberos-adm", { NULL }, 749, "tcp" }, - { "kerberos-adm", { NULL }, 749, "udp" }, - { "rfile", { NULL }, 750, "tcp" }, - { "loadav", { NULL }, 750, "udp" }, - { "kerberos-iv", { NULL }, 750, "udp" }, - { "pump", { NULL }, 751, "tcp" }, - { "pump", { NULL }, 751, "udp" }, - { "qrh", { NULL }, 752, "tcp" }, - { "qrh", { NULL }, 752, "udp" }, - { "rrh", { NULL }, 753, "tcp" }, - { "rrh", { NULL }, 753, "udp" }, - { "tell", { NULL }, 754, "tcp" }, - { "tell", { NULL }, 754, "udp" }, - { "nlogin", { NULL }, 758, "tcp" }, - { "nlogin", { NULL }, 758, "udp" }, - { "con", { NULL }, 759, "tcp" }, - { "con", { NULL }, 759, "udp" }, - { "ns", { NULL }, 760, "tcp" }, - { "ns", { NULL }, 760, "udp" }, - { "rxe", { NULL }, 761, "tcp" }, - { "rxe", { NULL }, 761, "udp" }, - { "quotad", { NULL }, 762, "tcp" }, - { "quotad", { NULL }, 762, "udp" }, - { "cycleserv", { NULL }, 763, "tcp" }, - { "cycleserv", { NULL }, 763, "udp" }, - { "omserv", { NULL }, 764, "tcp" }, - { "omserv", { NULL }, 764, "udp" }, - { "webster", { NULL }, 765, "tcp" }, - { "webster", { NULL }, 765, "udp" }, - { "phonebook", { NULL }, 767, "tcp" }, - { "phonebook", { NULL }, 767, "udp" }, - { "vid", { NULL }, 769, "tcp" }, - { "vid", { NULL }, 769, "udp" }, - { "cadlock", { NULL }, 770, "tcp" }, - { "cadlock", { NULL }, 770, "udp" }, - { "rtip", { NULL }, 771, "tcp" }, - { "rtip", { NULL }, 771, "udp" }, - { "cycleserv2", { NULL }, 772, "tcp" }, - { "cycleserv2", { NULL }, 772, "udp" }, - { "submit", { NULL }, 773, "tcp" }, - { "notify", { NULL }, 773, "udp" }, - { "rpasswd", { NULL }, 774, "tcp" }, - { "acmaint_dbd", { NULL }, 774, "udp" }, - { "entomb", { NULL }, 775, "tcp" }, - { "acmaint_transd", { NULL }, 775, "udp" }, - { "wpages", { NULL }, 776, "tcp" }, - { "wpages", { NULL }, 776, "udp" }, - { "multiling-http", { NULL }, 777, "tcp" }, - { "multiling-http", { NULL }, 777, "udp" }, - { "wpgs", { NULL }, 780, "tcp" }, - { "wpgs", { NULL }, 780, "udp" }, - { "mdbs_daemon", { NULL }, 800, "tcp" }, - { "mdbs_daemon", { NULL }, 800, "udp" }, - { "device", { NULL }, 801, "tcp" }, - { "device", { NULL }, 801, "udp" }, - { "fcp-udp", { NULL }, 810, "tcp" }, - { "fcp-udp", { NULL }, 810, "udp" }, - { "itm-mcell-s", { NULL }, 828, "tcp" }, - { "itm-mcell-s", { NULL }, 828, "udp" }, - { "pkix-3-ca-ra", { NULL }, 829, "tcp" }, - { "pkix-3-ca-ra", { NULL }, 829, "udp" }, - { "netconf-ssh", { NULL }, 830, "tcp" }, - { "netconf-ssh", { NULL }, 830, "udp" }, - { "netconf-beep", { NULL }, 831, "tcp" }, - { "netconf-beep", { NULL }, 831, "udp" }, - { "netconfsoaphttp", { NULL }, 832, "tcp" }, - { "netconfsoaphttp", { NULL }, 832, "udp" }, - { "netconfsoapbeep", { NULL }, 833, "tcp" }, - { "netconfsoapbeep", { NULL }, 833, "udp" }, - { "dhcp-failover2", { NULL }, 847, "tcp" }, - { "dhcp-failover2", { NULL }, 847, "udp" }, - { "gdoi", { NULL }, 848, "tcp" }, - { "gdoi", { NULL }, 848, "udp" }, - { "iscsi", { NULL }, 860, "tcp" }, - { "iscsi", { NULL }, 860, "udp" }, - { "owamp-control", { NULL }, 861, "tcp" }, - { "owamp-control", { NULL }, 861, "udp" }, - { "twamp-control", { NULL }, 862, "tcp" }, - { "twamp-control", { NULL }, 862, "udp" }, - { "rsync", { NULL }, 873, "tcp" }, - { "rsync", { NULL }, 873, "udp" }, - { "iclcnet-locate", { NULL }, 886, "tcp" }, - { "iclcnet-locate", { NULL }, 886, "udp" }, - { "iclcnet_svinfo", { NULL }, 887, "tcp" }, - { "iclcnet_svinfo", { NULL }, 887, "udp" }, - { "accessbuilder", { NULL }, 888, "tcp" }, - { "accessbuilder", { NULL }, 888, "udp" }, - { "cddbp", { NULL }, 888, "tcp" }, - { "omginitialrefs", { NULL }, 900, "tcp" }, - { "omginitialrefs", { NULL }, 900, "udp" }, - { "smpnameres", { NULL }, 901, "tcp" }, - { "smpnameres", { NULL }, 901, "udp" }, - { "ideafarm-door", { NULL }, 902, "tcp" }, - { "ideafarm-door", { NULL }, 902, "udp" }, - { "ideafarm-panic", { NULL }, 903, "tcp" }, - { "ideafarm-panic", { NULL }, 903, "udp" }, - { "kink", { NULL }, 910, "tcp" }, - { "kink", { NULL }, 910, "udp" }, - { "xact-backup", { NULL }, 911, "tcp" }, - { "xact-backup", { NULL }, 911, "udp" }, - { "apex-mesh", { NULL }, 912, "tcp" }, - { "apex-mesh", { NULL }, 912, "udp" }, - { "apex-edge", { NULL }, 913, "tcp" }, - { "apex-edge", { NULL }, 913, "udp" }, - { "ftps-data", { NULL }, 989, "tcp" }, - { "ftps-data", { NULL }, 989, "udp" }, - { "ftps", { NULL }, 990, "tcp" }, - { "ftps", { NULL }, 990, "udp" }, - { "nas", { NULL }, 991, "tcp" }, - { "nas", { NULL }, 991, "udp" }, - { "telnets", { NULL }, 992, "tcp" }, - { "telnets", { NULL }, 992, "udp" }, - { "imaps", { NULL }, 993, "tcp" }, - { "imaps", { NULL }, 993, "udp" }, - { "ircs", { NULL }, 994, "tcp" }, - { "ircs", { NULL }, 994, "udp" }, - { "pop3s", { NULL }, 995, "tcp" }, - { "pop3s", { NULL }, 995, "udp" }, - { "vsinet", { NULL }, 996, "tcp" }, - { "vsinet", { NULL }, 996, "udp" }, - { "maitrd", { NULL }, 997, "tcp" }, - { "maitrd", { NULL }, 997, "udp" }, - { "busboy", { NULL }, 998, "tcp" }, - { "puparp", { NULL }, 998, "udp" }, - { "garcon", { NULL }, 999, "tcp" }, - { "applix", { NULL }, 999, "udp" }, - { "puprouter", { NULL }, 999, "tcp" }, - { "puprouter", { NULL }, 999, "udp" }, - { "cadlock2", { NULL }, 1000, "tcp" }, - { "cadlock2", { NULL }, 1000, "udp" }, - { "surf", { NULL }, 1010, "tcp" }, - { "surf", { NULL }, 1010, "udp" }, - { "exp1", { NULL }, 1021, "tcp" }, - { "exp1", { NULL }, 1021, "udp" }, - { "exp2", { NULL }, 1022, "tcp" }, - { "exp2", { NULL }, 1022, "udp" }, + { "tcpmux", { NULL }, 1, "tcp" }, + { "tcpmux", { NULL }, 1, "udp" }, + { "compressnet", { NULL }, 2, "tcp" }, + { "compressnet", { NULL }, 2, "udp" }, + { "compressnet", { NULL }, 3, "tcp" }, + { "compressnet", { NULL }, 3, "udp" }, + { "rje", { NULL }, 5, "tcp" }, + { "rje", { NULL }, 5, "udp" }, + { "echo", { NULL }, 7, "tcp" }, + { "echo", { NULL }, 7, "udp" }, + { "discard", { NULL }, 9, "tcp" }, + { "discard", { NULL }, 9, "udp" }, + { "discard", { NULL }, 9, "sctp" }, + { "discard", { NULL }, 9, "dccp" }, + { "systat", { NULL }, 11, "tcp" }, + { "systat", { NULL }, 11, "udp" }, + { "daytime", { NULL }, 13, "tcp" }, + { "daytime", { NULL }, 13, "udp" }, + { "qotd", { NULL }, 17, "tcp" }, + { "qotd", { NULL }, 17, "udp" }, + { "msp", { NULL }, 18, "tcp" }, + { "msp", { NULL }, 18, "udp" }, + { "chargen", { NULL }, 19, "tcp" }, + { "chargen", { NULL }, 19, "udp" }, + { "ftp-data", { NULL }, 20, "tcp" }, + { "ftp-data", { NULL }, 20, "udp" }, + { "ftp-data", { NULL }, 20, "sctp" }, + { "ftp", { NULL }, 21, "tcp" }, + { "ftp", { NULL }, 21, "udp" }, + { "ftp", { NULL }, 21, "sctp" }, + { "ssh", { NULL }, 22, "tcp" }, + { "ssh", { NULL }, 22, "udp" }, + { "ssh", { NULL }, 22, "sctp" }, + { "telnet", { NULL }, 23, "tcp" }, + { "telnet", { NULL }, 23, "udp" }, + { "smtp", { NULL }, 25, "tcp" }, + { "smtp", { NULL }, 25, "udp" }, + { "nsw-fe", { NULL }, 27, "tcp" }, + { "nsw-fe", { NULL }, 27, "udp" }, + { "msg-icp", { NULL }, 29, "tcp" }, + { "msg-icp", { NULL }, 29, "udp" }, + { "msg-auth", { NULL }, 31, "tcp" }, + { "msg-auth", { NULL }, 31, "udp" }, + { "dsp", { NULL }, 33, "tcp" }, + { "dsp", { NULL }, 33, "udp" }, + { "time", { NULL }, 37, "tcp" }, + { "time", { NULL }, 37, "udp" }, + { "rap", { NULL }, 38, "tcp" }, + { "rap", { NULL }, 38, "udp" }, + { "rlp", { NULL }, 39, "tcp" }, + { "rlp", { NULL }, 39, "udp" }, + { "graphics", { NULL }, 41, "tcp" }, + { "graphics", { NULL }, 41, "udp" }, + { "name", { NULL }, 42, "tcp" }, + { "name", { NULL }, 42, "udp" }, + { "nameserver", { NULL }, 42, "tcp" }, + { "nameserver", { NULL }, 42, "udp" }, + { "nicname", { NULL }, 43, "tcp" }, + { "nicname", { NULL }, 43, "udp" }, + { "mpm-flags", { NULL }, 44, "tcp" }, + { "mpm-flags", { NULL }, 44, "udp" }, + { "mpm", { NULL }, 45, "tcp" }, + { "mpm", { NULL }, 45, "udp" }, + { "mpm-snd", { NULL }, 46, "tcp" }, + { "mpm-snd", { NULL }, 46, "udp" }, + { "ni-ftp", { NULL }, 47, "tcp" }, + { "ni-ftp", { NULL }, 47, "udp" }, + { "auditd", { NULL }, 48, "tcp" }, + { "auditd", { NULL }, 48, "udp" }, + { "tacacs", { NULL }, 49, "tcp" }, + { "tacacs", { NULL }, 49, "udp" }, + { "re-mail-ck", { NULL }, 50, "tcp" }, + { "re-mail-ck", { NULL }, 50, "udp" }, + { "la-maint", { NULL }, 51, "tcp" }, + { "la-maint", { NULL }, 51, "udp" }, + { "xns-time", { NULL }, 52, "tcp" }, + { "xns-time", { NULL }, 52, "udp" }, + { "domain", { NULL }, 53, "tcp" }, + { "domain", { NULL }, 53, "udp" }, + { "xns-ch", { NULL }, 54, "tcp" }, + { "xns-ch", { NULL }, 54, "udp" }, + { "isi-gl", { NULL }, 55, "tcp" }, + { "isi-gl", { NULL }, 55, "udp" }, + { "xns-auth", { NULL }, 56, "tcp" }, + { "xns-auth", { NULL }, 56, "udp" }, + { "xns-mail", { NULL }, 58, "tcp" }, + { "xns-mail", { NULL }, 58, "udp" }, + { "ni-mail", { NULL }, 61, "tcp" }, + { "ni-mail", { NULL }, 61, "udp" }, + { "acas", { NULL }, 62, "tcp" }, + { "acas", { NULL }, 62, "udp" }, + { "whois++", { NULL }, 63, "tcp" }, + { "whois++", { NULL }, 63, "udp" }, + { "covia", { NULL }, 64, "tcp" }, + { "covia", { NULL }, 64, "udp" }, + { "tacacs-ds", { NULL }, 65, "tcp" }, + { "tacacs-ds", { NULL }, 65, "udp" }, + { "sql*net", { NULL }, 66, "tcp" }, + { "sql*net", { NULL }, 66, "udp" }, + { "bootps", { NULL }, 67, "tcp" }, + { "bootps", { NULL }, 67, "udp" }, + { "bootpc", { NULL }, 68, "tcp" }, + { "bootpc", { NULL }, 68, "udp" }, + { "tftp", { NULL }, 69, "tcp" }, + { "tftp", { NULL }, 69, "udp" }, + { "gopher", { NULL }, 70, "tcp" }, + { "gopher", { NULL }, 70, "udp" }, + { "netrjs-1", { NULL }, 71, "tcp" }, + { "netrjs-1", { NULL }, 71, "udp" }, + { "netrjs-2", { NULL }, 72, "tcp" }, + { "netrjs-2", { NULL }, 72, "udp" }, + { "netrjs-3", { NULL }, 73, "tcp" }, + { "netrjs-3", { NULL }, 73, "udp" }, + { "netrjs-4", { NULL }, 74, "tcp" }, + { "netrjs-4", { NULL }, 74, "udp" }, + { "deos", { NULL }, 76, "tcp" }, + { "deos", { NULL }, 76, "udp" }, + { "vettcp", { NULL }, 78, "tcp" }, + { "vettcp", { NULL }, 78, "udp" }, + { "finger", { NULL }, 79, "tcp" }, + { "finger", { NULL }, 79, "udp" }, + { "http", { NULL }, 80, "tcp" }, + { "http", { NULL }, 80, "udp" }, + { "www", { NULL }, 80, "tcp" }, + { "www", { NULL }, 80, "udp" }, + { "www-http", { NULL }, 80, "tcp" }, + { "www-http", { NULL }, 80, "udp" }, + { "http", { NULL }, 80, "sctp" }, + { "xfer", { NULL }, 82, "tcp" }, + { "xfer", { NULL }, 82, "udp" }, + { "mit-ml-dev", { NULL }, 83, "tcp" }, + { "mit-ml-dev", { NULL }, 83, "udp" }, + { "ctf", { NULL }, 84, "tcp" }, + { "ctf", { NULL }, 84, "udp" }, + { "mit-ml-dev", { NULL }, 85, "tcp" }, + { "mit-ml-dev", { NULL }, 85, "udp" }, + { "mfcobol", { NULL }, 86, "tcp" }, + { "mfcobol", { NULL }, 86, "udp" }, + { "kerberos", { NULL }, 88, "tcp" }, + { "kerberos", { NULL }, 88, "udp" }, + { "su-mit-tg", { NULL }, 89, "tcp" }, + { "su-mit-tg", { NULL }, 89, "udp" }, + { "dnsix", { NULL }, 90, "tcp" }, + { "dnsix", { NULL }, 90, "udp" }, + { "mit-dov", { NULL }, 91, "tcp" }, + { "mit-dov", { NULL }, 91, "udp" }, + { "npp", { NULL }, 92, "tcp" }, + { "npp", { NULL }, 92, "udp" }, + { "dcp", { NULL }, 93, "tcp" }, + { "dcp", { NULL }, 93, "udp" }, + { "objcall", { NULL }, 94, "tcp" }, + { "objcall", { NULL }, 94, "udp" }, + { "supdup", { NULL }, 95, "tcp" }, + { "supdup", { NULL }, 95, "udp" }, + { "dixie", { NULL }, 96, "tcp" }, + { "dixie", { NULL }, 96, "udp" }, + { "swift-rvf", { NULL }, 97, "tcp" }, + { "swift-rvf", { NULL }, 97, "udp" }, + { "tacnews", { NULL }, 98, "tcp" }, + { "tacnews", { NULL }, 98, "udp" }, + { "metagram", { NULL }, 99, "tcp" }, + { "metagram", { NULL }, 99, "udp" }, + { "newacct", { NULL }, 100, "tcp" }, + { "hostname", { NULL }, 101, "tcp" }, + { "hostname", { NULL }, 101, "udp" }, + { "iso-tsap", { NULL }, 102, "tcp" }, + { "iso-tsap", { NULL }, 102, "udp" }, + { "gppitnp", { NULL }, 103, "tcp" }, + { "gppitnp", { NULL }, 103, "udp" }, + { "acr-nema", { NULL }, 104, "tcp" }, + { "acr-nema", { NULL }, 104, "udp" }, + { "cso", { NULL }, 105, "tcp" }, + { "cso", { NULL }, 105, "udp" }, + { "csnet-ns", { NULL }, 105, "tcp" }, + { "csnet-ns", { NULL }, 105, "udp" }, + { "3com-tsmux", { NULL }, 106, "tcp" }, + { "3com-tsmux", { NULL }, 106, "udp" }, + { "rtelnet", { NULL }, 107, "tcp" }, + { "rtelnet", { NULL }, 107, "udp" }, + { "snagas", { NULL }, 108, "tcp" }, + { "snagas", { NULL }, 108, "udp" }, + { "pop2", { NULL }, 109, "tcp" }, + { "pop2", { NULL }, 109, "udp" }, + { "pop3", { NULL }, 110, "tcp" }, + { "pop3", { NULL }, 110, "udp" }, + { "sunrpc", { NULL }, 111, "tcp" }, + { "sunrpc", { NULL }, 111, "udp" }, + { "mcidas", { NULL }, 112, "tcp" }, + { "mcidas", { NULL }, 112, "udp" }, + { "ident", { NULL }, 113, "tcp" }, + { "auth", { NULL }, 113, "tcp" }, + { "auth", { NULL }, 113, "udp" }, + { "sftp", { NULL }, 115, "tcp" }, + { "sftp", { NULL }, 115, "udp" }, + { "ansanotify", { NULL }, 116, "tcp" }, + { "ansanotify", { NULL }, 116, "udp" }, + { "uucp-path", { NULL }, 117, "tcp" }, + { "uucp-path", { NULL }, 117, "udp" }, + { "sqlserv", { NULL }, 118, "tcp" }, + { "sqlserv", { NULL }, 118, "udp" }, + { "nntp", { NULL }, 119, "tcp" }, + { "nntp", { NULL }, 119, "udp" }, + { "cfdptkt", { NULL }, 120, "tcp" }, + { "cfdptkt", { NULL }, 120, "udp" }, + { "erpc", { NULL }, 121, "tcp" }, + { "erpc", { NULL }, 121, "udp" }, + { "smakynet", { NULL }, 122, "tcp" }, + { "smakynet", { NULL }, 122, "udp" }, + { "ntp", { NULL }, 123, "tcp" }, + { "ntp", { NULL }, 123, "udp" }, + { "ansatrader", { NULL }, 124, "tcp" }, + { "ansatrader", { NULL }, 124, "udp" }, + { "locus-map", { NULL }, 125, "tcp" }, + { "locus-map", { NULL }, 125, "udp" }, + { "nxedit", { NULL }, 126, "tcp" }, + { "nxedit", { NULL }, 126, "udp" }, + { "locus-con", { NULL }, 127, "tcp" }, + { "locus-con", { NULL }, 127, "udp" }, + { "gss-xlicen", { NULL }, 128, "tcp" }, + { "gss-xlicen", { NULL }, 128, "udp" }, + { "pwdgen", { NULL }, 129, "tcp" }, + { "pwdgen", { NULL }, 129, "udp" }, + { "cisco-fna", { NULL }, 130, "tcp" }, + { "cisco-fna", { NULL }, 130, "udp" }, + { "cisco-tna", { NULL }, 131, "tcp" }, + { "cisco-tna", { NULL }, 131, "udp" }, + { "cisco-sys", { NULL }, 132, "tcp" }, + { "cisco-sys", { NULL }, 132, "udp" }, + { "statsrv", { NULL }, 133, "tcp" }, + { "statsrv", { NULL }, 133, "udp" }, + { "ingres-net", { NULL }, 134, "tcp" }, + { "ingres-net", { NULL }, 134, "udp" }, + { "epmap", { NULL }, 135, "tcp" }, + { "epmap", { NULL }, 135, "udp" }, + { "profile", { NULL }, 136, "tcp" }, + { "profile", { NULL }, 136, "udp" }, + { "netbios-ns", { NULL }, 137, "tcp" }, + { "netbios-ns", { NULL }, 137, "udp" }, + { "netbios-dgm", { NULL }, 138, "tcp" }, + { "netbios-dgm", { NULL }, 138, "udp" }, + { "netbios-ssn", { NULL }, 139, "tcp" }, + { "netbios-ssn", { NULL }, 139, "udp" }, + { "emfis-data", { NULL }, 140, "tcp" }, + { "emfis-data", { NULL }, 140, "udp" }, + { "emfis-cntl", { NULL }, 141, "tcp" }, + { "emfis-cntl", { NULL }, 141, "udp" }, + { "bl-idm", { NULL }, 142, "tcp" }, + { "bl-idm", { NULL }, 142, "udp" }, + { "imap", { NULL }, 143, "tcp" }, + { "imap", { NULL }, 143, "udp" }, + { "uma", { NULL }, 144, "tcp" }, + { "uma", { NULL }, 144, "udp" }, + { "uaac", { NULL }, 145, "tcp" }, + { "uaac", { NULL }, 145, "udp" }, + { "iso-tp0", { NULL }, 146, "tcp" }, + { "iso-tp0", { NULL }, 146, "udp" }, + { "iso-ip", { NULL }, 147, "tcp" }, + { "iso-ip", { NULL }, 147, "udp" }, + { "jargon", { NULL }, 148, "tcp" }, + { "jargon", { NULL }, 148, "udp" }, + { "aed-512", { NULL }, 149, "tcp" }, + { "aed-512", { NULL }, 149, "udp" }, + { "sql-net", { NULL }, 150, "tcp" }, + { "sql-net", { NULL }, 150, "udp" }, + { "hems", { NULL }, 151, "tcp" }, + { "hems", { NULL }, 151, "udp" }, + { "bftp", { NULL }, 152, "tcp" }, + { "bftp", { NULL }, 152, "udp" }, + { "sgmp", { NULL }, 153, "tcp" }, + { "sgmp", { NULL }, 153, "udp" }, + { "netsc-prod", { NULL }, 154, "tcp" }, + { "netsc-prod", { NULL }, 154, "udp" }, + { "netsc-dev", { NULL }, 155, "tcp" }, + { "netsc-dev", { NULL }, 155, "udp" }, + { "sqlsrv", { NULL }, 156, "tcp" }, + { "sqlsrv", { NULL }, 156, "udp" }, + { "knet-cmp", { NULL }, 157, "tcp" }, + { "knet-cmp", { NULL }, 157, "udp" }, + { "pcmail-srv", { NULL }, 158, "tcp" }, + { "pcmail-srv", { NULL }, 158, "udp" }, + { "nss-routing", { NULL }, 159, "tcp" }, + { "nss-routing", { NULL }, 159, "udp" }, + { "sgmp-traps", { NULL }, 160, "tcp" }, + { "sgmp-traps", { NULL }, 160, "udp" }, + { "snmp", { NULL }, 161, "tcp" }, + { "snmp", { NULL }, 161, "udp" }, + { "snmptrap", { NULL }, 162, "tcp" }, + { "snmptrap", { NULL }, 162, "udp" }, + { "cmip-man", { NULL }, 163, "tcp" }, + { "cmip-man", { NULL }, 163, "udp" }, + { "cmip-agent", { NULL }, 164, "tcp" }, + { "cmip-agent", { NULL }, 164, "udp" }, + { "xns-courier", { NULL }, 165, "tcp" }, + { "xns-courier", { NULL }, 165, "udp" }, + { "s-net", { NULL }, 166, "tcp" }, + { "s-net", { NULL }, 166, "udp" }, + { "namp", { NULL }, 167, "tcp" }, + { "namp", { NULL }, 167, "udp" }, + { "rsvd", { NULL }, 168, "tcp" }, + { "rsvd", { NULL }, 168, "udp" }, + { "send", { NULL }, 169, "tcp" }, + { "send", { NULL }, 169, "udp" }, + { "print-srv", { NULL }, 170, "tcp" }, + { "print-srv", { NULL }, 170, "udp" }, + { "multiplex", { NULL }, 171, "tcp" }, + { "multiplex", { NULL }, 171, "udp" }, + { "cl/1", { NULL }, 172, "tcp" }, + { "cl/1", { NULL }, 172, "udp" }, + { "xyplex-mux", { NULL }, 173, "tcp" }, + { "xyplex-mux", { NULL }, 173, "udp" }, + { "mailq", { NULL }, 174, "tcp" }, + { "mailq", { NULL }, 174, "udp" }, + { "vmnet", { NULL }, 175, "tcp" }, + { "vmnet", { NULL }, 175, "udp" }, + { "genrad-mux", { NULL }, 176, "tcp" }, + { "genrad-mux", { NULL }, 176, "udp" }, + { "xdmcp", { NULL }, 177, "tcp" }, + { "xdmcp", { NULL }, 177, "udp" }, + { "nextstep", { NULL }, 178, "tcp" }, + { "nextstep", { NULL }, 178, "udp" }, + { "bgp", { NULL }, 179, "tcp" }, + { "bgp", { NULL }, 179, "udp" }, + { "bgp", { NULL }, 179, "sctp" }, + { "ris", { NULL }, 180, "tcp" }, + { "ris", { NULL }, 180, "udp" }, + { "unify", { NULL }, 181, "tcp" }, + { "unify", { NULL }, 181, "udp" }, + { "audit", { NULL }, 182, "tcp" }, + { "audit", { NULL }, 182, "udp" }, + { "ocbinder", { NULL }, 183, "tcp" }, + { "ocbinder", { NULL }, 183, "udp" }, + { "ocserver", { NULL }, 184, "tcp" }, + { "ocserver", { NULL }, 184, "udp" }, + { "remote-kis", { NULL }, 185, "tcp" }, + { "remote-kis", { NULL }, 185, "udp" }, + { "kis", { NULL }, 186, "tcp" }, + { "kis", { NULL }, 186, "udp" }, + { "aci", { NULL }, 187, "tcp" }, + { "aci", { NULL }, 187, "udp" }, + { "mumps", { NULL }, 188, "tcp" }, + { "mumps", { NULL }, 188, "udp" }, + { "qft", { NULL }, 189, "tcp" }, + { "qft", { NULL }, 189, "udp" }, + { "gacp", { NULL }, 190, "tcp" }, + { "gacp", { NULL }, 190, "udp" }, + { "prospero", { NULL }, 191, "tcp" }, + { "prospero", { NULL }, 191, "udp" }, + { "osu-nms", { NULL }, 192, "tcp" }, + { "osu-nms", { NULL }, 192, "udp" }, + { "srmp", { NULL }, 193, "tcp" }, + { "srmp", { NULL }, 193, "udp" }, + { "irc", { NULL }, 194, "tcp" }, + { "irc", { NULL }, 194, "udp" }, + { "dn6-nlm-aud", { NULL }, 195, "tcp" }, + { "dn6-nlm-aud", { NULL }, 195, "udp" }, + { "dn6-smm-red", { NULL }, 196, "tcp" }, + { "dn6-smm-red", { NULL }, 196, "udp" }, + { "dls", { NULL }, 197, "tcp" }, + { "dls", { NULL }, 197, "udp" }, + { "dls-mon", { NULL }, 198, "tcp" }, + { "dls-mon", { NULL }, 198, "udp" }, + { "smux", { NULL }, 199, "tcp" }, + { "smux", { NULL }, 199, "udp" }, + { "src", { NULL }, 200, "tcp" }, + { "src", { NULL }, 200, "udp" }, + { "at-rtmp", { NULL }, 201, "tcp" }, + { "at-rtmp", { NULL }, 201, "udp" }, + { "at-nbp", { NULL }, 202, "tcp" }, + { "at-nbp", { NULL }, 202, "udp" }, + { "at-3", { NULL }, 203, "tcp" }, + { "at-3", { NULL }, 203, "udp" }, + { "at-echo", { NULL }, 204, "tcp" }, + { "at-echo", { NULL }, 204, "udp" }, + { "at-5", { NULL }, 205, "tcp" }, + { "at-5", { NULL }, 205, "udp" }, + { "at-zis", { NULL }, 206, "tcp" }, + { "at-zis", { NULL }, 206, "udp" }, + { "at-7", { NULL }, 207, "tcp" }, + { "at-7", { NULL }, 207, "udp" }, + { "at-8", { NULL }, 208, "tcp" }, + { "at-8", { NULL }, 208, "udp" }, + { "qmtp", { NULL }, 209, "tcp" }, + { "qmtp", { NULL }, 209, "udp" }, + { "z39.50", { NULL }, 210, "tcp" }, + { "z39.50", { NULL }, 210, "udp" }, + { "914c/g", { NULL }, 211, "tcp" }, + { "914c/g", { NULL }, 211, "udp" }, + { "anet", { NULL }, 212, "tcp" }, + { "anet", { NULL }, 212, "udp" }, + { "ipx", { NULL }, 213, "tcp" }, + { "ipx", { NULL }, 213, "udp" }, + { "vmpwscs", { NULL }, 214, "tcp" }, + { "vmpwscs", { NULL }, 214, "udp" }, + { "softpc", { NULL }, 215, "tcp" }, + { "softpc", { NULL }, 215, "udp" }, + { "CAIlic", { NULL }, 216, "tcp" }, + { "CAIlic", { NULL }, 216, "udp" }, + { "dbase", { NULL }, 217, "tcp" }, + { "dbase", { NULL }, 217, "udp" }, + { "mpp", { NULL }, 218, "tcp" }, + { "mpp", { NULL }, 218, "udp" }, + { "uarps", { NULL }, 219, "tcp" }, + { "uarps", { NULL }, 219, "udp" }, + { "imap3", { NULL }, 220, "tcp" }, + { "imap3", { NULL }, 220, "udp" }, + { "fln-spx", { NULL }, 221, "tcp" }, + { "fln-spx", { NULL }, 221, "udp" }, + { "rsh-spx", { NULL }, 222, "tcp" }, + { "rsh-spx", { NULL }, 222, "udp" }, + { "cdc", { NULL }, 223, "tcp" }, + { "cdc", { NULL }, 223, "udp" }, + { "masqdialer", { NULL }, 224, "tcp" }, + { "masqdialer", { NULL }, 224, "udp" }, + { "direct", { NULL }, 242, "tcp" }, + { "direct", { NULL }, 242, "udp" }, + { "sur-meas", { NULL }, 243, "tcp" }, + { "sur-meas", { NULL }, 243, "udp" }, + { "inbusiness", { NULL }, 244, "tcp" }, + { "inbusiness", { NULL }, 244, "udp" }, + { "link", { NULL }, 245, "tcp" }, + { "link", { NULL }, 245, "udp" }, + { "dsp3270", { NULL }, 246, "tcp" }, + { "dsp3270", { NULL }, 246, "udp" }, + { "subntbcst_tftp", { NULL }, 247, "tcp" }, + { "subntbcst_tftp", { NULL }, 247, "udp" }, + { "bhfhs", { NULL }, 248, "tcp" }, + { "bhfhs", { NULL }, 248, "udp" }, + { "rap", { NULL }, 256, "tcp" }, + { "rap", { NULL }, 256, "udp" }, + { "set", { NULL }, 257, "tcp" }, + { "set", { NULL }, 257, "udp" }, + { "esro-gen", { NULL }, 259, "tcp" }, + { "esro-gen", { NULL }, 259, "udp" }, + { "openport", { NULL }, 260, "tcp" }, + { "openport", { NULL }, 260, "udp" }, + { "nsiiops", { NULL }, 261, "tcp" }, + { "nsiiops", { NULL }, 261, "udp" }, + { "arcisdms", { NULL }, 262, "tcp" }, + { "arcisdms", { NULL }, 262, "udp" }, + { "hdap", { NULL }, 263, "tcp" }, + { "hdap", { NULL }, 263, "udp" }, + { "bgmp", { NULL }, 264, "tcp" }, + { "bgmp", { NULL }, 264, "udp" }, + { "x-bone-ctl", { NULL }, 265, "tcp" }, + { "x-bone-ctl", { NULL }, 265, "udp" }, + { "sst", { NULL }, 266, "tcp" }, + { "sst", { NULL }, 266, "udp" }, + { "td-service", { NULL }, 267, "tcp" }, + { "td-service", { NULL }, 267, "udp" }, + { "td-replica", { NULL }, 268, "tcp" }, + { "td-replica", { NULL }, 268, "udp" }, + { "manet", { NULL }, 269, "tcp" }, + { "manet", { NULL }, 269, "udp" }, + { "gist", { NULL }, 270, "udp" }, + { "http-mgmt", { NULL }, 280, "tcp" }, + { "http-mgmt", { NULL }, 280, "udp" }, + { "personal-link", { NULL }, 281, "tcp" }, + { "personal-link", { NULL }, 281, "udp" }, + { "cableport-ax", { NULL }, 282, "tcp" }, + { "cableport-ax", { NULL }, 282, "udp" }, + { "rescap", { NULL }, 283, "tcp" }, + { "rescap", { NULL }, 283, "udp" }, + { "corerjd", { NULL }, 284, "tcp" }, + { "corerjd", { NULL }, 284, "udp" }, + { "fxp", { NULL }, 286, "tcp" }, + { "fxp", { NULL }, 286, "udp" }, + { "k-block", { NULL }, 287, "tcp" }, + { "k-block", { NULL }, 287, "udp" }, + { "novastorbakcup", { NULL }, 308, "tcp" }, + { "novastorbakcup", { NULL }, 308, "udp" }, + { "entrusttime", { NULL }, 309, "tcp" }, + { "entrusttime", { NULL }, 309, "udp" }, + { "bhmds", { NULL }, 310, "tcp" }, + { "bhmds", { NULL }, 310, "udp" }, + { "asip-webadmin", { NULL }, 311, "tcp" }, + { "asip-webadmin", { NULL }, 311, "udp" }, + { "vslmp", { NULL }, 312, "tcp" }, + { "vslmp", { NULL }, 312, "udp" }, + { "magenta-logic", { NULL }, 313, "tcp" }, + { "magenta-logic", { NULL }, 313, "udp" }, + { "opalis-robot", { NULL }, 314, "tcp" }, + { "opalis-robot", { NULL }, 314, "udp" }, + { "dpsi", { NULL }, 315, "tcp" }, + { "dpsi", { NULL }, 315, "udp" }, + { "decauth", { NULL }, 316, "tcp" }, + { "decauth", { NULL }, 316, "udp" }, + { "zannet", { NULL }, 317, "tcp" }, + { "zannet", { NULL }, 317, "udp" }, + { "pkix-timestamp", { NULL }, 318, "tcp" }, + { "pkix-timestamp", { NULL }, 318, "udp" }, + { "ptp-event", { NULL }, 319, "tcp" }, + { "ptp-event", { NULL }, 319, "udp" }, + { "ptp-general", { NULL }, 320, "tcp" }, + { "ptp-general", { NULL }, 320, "udp" }, + { "pip", { NULL }, 321, "tcp" }, + { "pip", { NULL }, 321, "udp" }, + { "rtsps", { NULL }, 322, "tcp" }, + { "rtsps", { NULL }, 322, "udp" }, + { "texar", { NULL }, 333, "tcp" }, + { "texar", { NULL }, 333, "udp" }, + { "pdap", { NULL }, 344, "tcp" }, + { "pdap", { NULL }, 344, "udp" }, + { "pawserv", { NULL }, 345, "tcp" }, + { "pawserv", { NULL }, 345, "udp" }, + { "zserv", { NULL }, 346, "tcp" }, + { "zserv", { NULL }, 346, "udp" }, + { "fatserv", { NULL }, 347, "tcp" }, + { "fatserv", { NULL }, 347, "udp" }, + { "csi-sgwp", { NULL }, 348, "tcp" }, + { "csi-sgwp", { NULL }, 348, "udp" }, + { "mftp", { NULL }, 349, "tcp" }, + { "mftp", { NULL }, 349, "udp" }, + { "matip-type-a", { NULL }, 350, "tcp" }, + { "matip-type-a", { NULL }, 350, "udp" }, + { "matip-type-b", { NULL }, 351, "tcp" }, + { "matip-type-b", { NULL }, 351, "udp" }, + { "bhoetty", { NULL }, 351, "tcp" }, + { "bhoetty", { NULL }, 351, "udp" }, + { "dtag-ste-sb", { NULL }, 352, "tcp" }, + { "dtag-ste-sb", { NULL }, 352, "udp" }, + { "bhoedap4", { NULL }, 352, "tcp" }, + { "bhoedap4", { NULL }, 352, "udp" }, + { "ndsauth", { NULL }, 353, "tcp" }, + { "ndsauth", { NULL }, 353, "udp" }, + { "bh611", { NULL }, 354, "tcp" }, + { "bh611", { NULL }, 354, "udp" }, + { "datex-asn", { NULL }, 355, "tcp" }, + { "datex-asn", { NULL }, 355, "udp" }, + { "cloanto-net-1", { NULL }, 356, "tcp" }, + { "cloanto-net-1", { NULL }, 356, "udp" }, + { "bhevent", { NULL }, 357, "tcp" }, + { "bhevent", { NULL }, 357, "udp" }, + { "shrinkwrap", { NULL }, 358, "tcp" }, + { "shrinkwrap", { NULL }, 358, "udp" }, + { "nsrmp", { NULL }, 359, "tcp" }, + { "nsrmp", { NULL }, 359, "udp" }, + { "scoi2odialog", { NULL }, 360, "tcp" }, + { "scoi2odialog", { NULL }, 360, "udp" }, + { "semantix", { NULL }, 361, "tcp" }, + { "semantix", { NULL }, 361, "udp" }, + { "srssend", { NULL }, 362, "tcp" }, + { "srssend", { NULL }, 362, "udp" }, + { "rsvp_tunnel", { NULL }, 363, "tcp" }, + { "rsvp_tunnel", { NULL }, 363, "udp" }, + { "aurora-cmgr", { NULL }, 364, "tcp" }, + { "aurora-cmgr", { NULL }, 364, "udp" }, + { "dtk", { NULL }, 365, "tcp" }, + { "dtk", { NULL }, 365, "udp" }, + { "odmr", { NULL }, 366, "tcp" }, + { "odmr", { NULL }, 366, "udp" }, + { "mortgageware", { NULL }, 367, "tcp" }, + { "mortgageware", { NULL }, 367, "udp" }, + { "qbikgdp", { NULL }, 368, "tcp" }, + { "qbikgdp", { NULL }, 368, "udp" }, + { "rpc2portmap", { NULL }, 369, "tcp" }, + { "rpc2portmap", { NULL }, 369, "udp" }, + { "codaauth2", { NULL }, 370, "tcp" }, + { "codaauth2", { NULL }, 370, "udp" }, + { "clearcase", { NULL }, 371, "tcp" }, + { "clearcase", { NULL }, 371, "udp" }, + { "ulistproc", { NULL }, 372, "tcp" }, + { "ulistproc", { NULL }, 372, "udp" }, + { "legent-1", { NULL }, 373, "tcp" }, + { "legent-1", { NULL }, 373, "udp" }, + { "legent-2", { NULL }, 374, "tcp" }, + { "legent-2", { NULL }, 374, "udp" }, + { "hassle", { NULL }, 375, "tcp" }, + { "hassle", { NULL }, 375, "udp" }, + { "nip", { NULL }, 376, "tcp" }, + { "nip", { NULL }, 376, "udp" }, + { "tnETOS", { NULL }, 377, "tcp" }, + { "tnETOS", { NULL }, 377, "udp" }, + { "dsETOS", { NULL }, 378, "tcp" }, + { "dsETOS", { NULL }, 378, "udp" }, + { "is99c", { NULL }, 379, "tcp" }, + { "is99c", { NULL }, 379, "udp" }, + { "is99s", { NULL }, 380, "tcp" }, + { "is99s", { NULL }, 380, "udp" }, + { "hp-collector", { NULL }, 381, "tcp" }, + { "hp-collector", { NULL }, 381, "udp" }, + { "hp-managed-node", { NULL }, 382, "tcp" }, + { "hp-managed-node", { NULL }, 382, "udp" }, + { "hp-alarm-mgr", { NULL }, 383, "tcp" }, + { "hp-alarm-mgr", { NULL }, 383, "udp" }, + { "arns", { NULL }, 384, "tcp" }, + { "arns", { NULL }, 384, "udp" }, + { "ibm-app", { NULL }, 385, "tcp" }, + { "ibm-app", { NULL }, 385, "udp" }, + { "asa", { NULL }, 386, "tcp" }, + { "asa", { NULL }, 386, "udp" }, + { "aurp", { NULL }, 387, "tcp" }, + { "aurp", { NULL }, 387, "udp" }, + { "unidata-ldm", { NULL }, 388, "tcp" }, + { "unidata-ldm", { NULL }, 388, "udp" }, + { "ldap", { NULL }, 389, "tcp" }, + { "ldap", { NULL }, 389, "udp" }, + { "uis", { NULL }, 390, "tcp" }, + { "uis", { NULL }, 390, "udp" }, + { "synotics-relay", { NULL }, 391, "tcp" }, + { "synotics-relay", { NULL }, 391, "udp" }, + { "synotics-broker", { NULL }, 392, "tcp" }, + { "synotics-broker", { NULL }, 392, "udp" }, + { "meta5", { NULL }, 393, "tcp" }, + { "meta5", { NULL }, 393, "udp" }, + { "embl-ndt", { NULL }, 394, "tcp" }, + { "embl-ndt", { NULL }, 394, "udp" }, + { "netcp", { NULL }, 395, "tcp" }, + { "netcp", { NULL }, 395, "udp" }, + { "netware-ip", { NULL }, 396, "tcp" }, + { "netware-ip", { NULL }, 396, "udp" }, + { "mptn", { NULL }, 397, "tcp" }, + { "mptn", { NULL }, 397, "udp" }, + { "kryptolan", { NULL }, 398, "tcp" }, + { "kryptolan", { NULL }, 398, "udp" }, + { "iso-tsap-c2", { NULL }, 399, "tcp" }, + { "iso-tsap-c2", { NULL }, 399, "udp" }, + { "osb-sd", { NULL }, 400, "tcp" }, + { "osb-sd", { NULL }, 400, "udp" }, + { "ups", { NULL }, 401, "tcp" }, + { "ups", { NULL }, 401, "udp" }, + { "genie", { NULL }, 402, "tcp" }, + { "genie", { NULL }, 402, "udp" }, + { "decap", { NULL }, 403, "tcp" }, + { "decap", { NULL }, 403, "udp" }, + { "nced", { NULL }, 404, "tcp" }, + { "nced", { NULL }, 404, "udp" }, + { "ncld", { NULL }, 405, "tcp" }, + { "ncld", { NULL }, 405, "udp" }, + { "imsp", { NULL }, 406, "tcp" }, + { "imsp", { NULL }, 406, "udp" }, + { "timbuktu", { NULL }, 407, "tcp" }, + { "timbuktu", { NULL }, 407, "udp" }, + { "prm-sm", { NULL }, 408, "tcp" }, + { "prm-sm", { NULL }, 408, "udp" }, + { "prm-nm", { NULL }, 409, "tcp" }, + { "prm-nm", { NULL }, 409, "udp" }, + { "decladebug", { NULL }, 410, "tcp" }, + { "decladebug", { NULL }, 410, "udp" }, + { "rmt", { NULL }, 411, "tcp" }, + { "rmt", { NULL }, 411, "udp" }, + { "synoptics-trap", { NULL }, 412, "tcp" }, + { "synoptics-trap", { NULL }, 412, "udp" }, + { "smsp", { NULL }, 413, "tcp" }, + { "smsp", { NULL }, 413, "udp" }, + { "infoseek", { NULL }, 414, "tcp" }, + { "infoseek", { NULL }, 414, "udp" }, + { "bnet", { NULL }, 415, "tcp" }, + { "bnet", { NULL }, 415, "udp" }, + { "silverplatter", { NULL }, 416, "tcp" }, + { "silverplatter", { NULL }, 416, "udp" }, + { "onmux", { NULL }, 417, "tcp" }, + { "onmux", { NULL }, 417, "udp" }, + { "hyper-g", { NULL }, 418, "tcp" }, + { "hyper-g", { NULL }, 418, "udp" }, + { "ariel1", { NULL }, 419, "tcp" }, + { "ariel1", { NULL }, 419, "udp" }, + { "smpte", { NULL }, 420, "tcp" }, + { "smpte", { NULL }, 420, "udp" }, + { "ariel2", { NULL }, 421, "tcp" }, + { "ariel2", { NULL }, 421, "udp" }, + { "ariel3", { NULL }, 422, "tcp" }, + { "ariel3", { NULL }, 422, "udp" }, + { "opc-job-start", { NULL }, 423, "tcp" }, + { "opc-job-start", { NULL }, 423, "udp" }, + { "opc-job-track", { NULL }, 424, "tcp" }, + { "opc-job-track", { NULL }, 424, "udp" }, + { "icad-el", { NULL }, 425, "tcp" }, + { "icad-el", { NULL }, 425, "udp" }, + { "smartsdp", { NULL }, 426, "tcp" }, + { "smartsdp", { NULL }, 426, "udp" }, + { "svrloc", { NULL }, 427, "tcp" }, + { "svrloc", { NULL }, 427, "udp" }, + { "ocs_cmu", { NULL }, 428, "tcp" }, + { "ocs_cmu", { NULL }, 428, "udp" }, + { "ocs_amu", { NULL }, 429, "tcp" }, + { "ocs_amu", { NULL }, 429, "udp" }, + { "utmpsd", { NULL }, 430, "tcp" }, + { "utmpsd", { NULL }, 430, "udp" }, + { "utmpcd", { NULL }, 431, "tcp" }, + { "utmpcd", { NULL }, 431, "udp" }, + { "iasd", { NULL }, 432, "tcp" }, + { "iasd", { NULL }, 432, "udp" }, + { "nnsp", { NULL }, 433, "tcp" }, + { "nnsp", { NULL }, 433, "udp" }, + { "mobileip-agent", { NULL }, 434, "tcp" }, + { "mobileip-agent", { NULL }, 434, "udp" }, + { "mobilip-mn", { NULL }, 435, "tcp" }, + { "mobilip-mn", { NULL }, 435, "udp" }, + { "dna-cml", { NULL }, 436, "tcp" }, + { "dna-cml", { NULL }, 436, "udp" }, + { "comscm", { NULL }, 437, "tcp" }, + { "comscm", { NULL }, 437, "udp" }, + { "dsfgw", { NULL }, 438, "tcp" }, + { "dsfgw", { NULL }, 438, "udp" }, + { "dasp", { NULL }, 439, "tcp" }, + { "dasp", { NULL }, 439, "udp" }, + { "sgcp", { NULL }, 440, "tcp" }, + { "sgcp", { NULL }, 440, "udp" }, + { "decvms-sysmgt", { NULL }, 441, "tcp" }, + { "decvms-sysmgt", { NULL }, 441, "udp" }, + { "cvc_hostd", { NULL }, 442, "tcp" }, + { "cvc_hostd", { NULL }, 442, "udp" }, + { "https", { NULL }, 443, "tcp" }, + { "https", { NULL }, 443, "udp" }, + { "https", { NULL }, 443, "sctp" }, + { "snpp", { NULL }, 444, "tcp" }, + { "snpp", { NULL }, 444, "udp" }, + { "microsoft-ds", { NULL }, 445, "tcp" }, + { "microsoft-ds", { NULL }, 445, "udp" }, + { "ddm-rdb", { NULL }, 446, "tcp" }, + { "ddm-rdb", { NULL }, 446, "udp" }, + { "ddm-dfm", { NULL }, 447, "tcp" }, + { "ddm-dfm", { NULL }, 447, "udp" }, + { "ddm-ssl", { NULL }, 448, "tcp" }, + { "ddm-ssl", { NULL }, 448, "udp" }, + { "as-servermap", { NULL }, 449, "tcp" }, + { "as-servermap", { NULL }, 449, "udp" }, + { "tserver", { NULL }, 450, "tcp" }, + { "tserver", { NULL }, 450, "udp" }, + { "sfs-smp-net", { NULL }, 451, "tcp" }, + { "sfs-smp-net", { NULL }, 451, "udp" }, + { "sfs-config", { NULL }, 452, "tcp" }, + { "sfs-config", { NULL }, 452, "udp" }, + { "creativeserver", { NULL }, 453, "tcp" }, + { "creativeserver", { NULL }, 453, "udp" }, + { "contentserver", { NULL }, 454, "tcp" }, + { "contentserver", { NULL }, 454, "udp" }, + { "creativepartnr", { NULL }, 455, "tcp" }, + { "creativepartnr", { NULL }, 455, "udp" }, + { "macon-tcp", { NULL }, 456, "tcp" }, + { "macon-udp", { NULL }, 456, "udp" }, + { "scohelp", { NULL }, 457, "tcp" }, + { "scohelp", { NULL }, 457, "udp" }, + { "appleqtc", { NULL }, 458, "tcp" }, + { "appleqtc", { NULL }, 458, "udp" }, + { "ampr-rcmd", { NULL }, 459, "tcp" }, + { "ampr-rcmd", { NULL }, 459, "udp" }, + { "skronk", { NULL }, 460, "tcp" }, + { "skronk", { NULL }, 460, "udp" }, + { "datasurfsrv", { NULL }, 461, "tcp" }, + { "datasurfsrv", { NULL }, 461, "udp" }, + { "datasurfsrvsec", { NULL }, 462, "tcp" }, + { "datasurfsrvsec", { NULL }, 462, "udp" }, + { "alpes", { NULL }, 463, "tcp" }, + { "alpes", { NULL }, 463, "udp" }, + { "kpasswd", { NULL }, 464, "tcp" }, + { "kpasswd", { NULL }, 464, "udp" }, + { "urd", { NULL }, 465, "tcp" }, + { "igmpv3lite", { NULL }, 465, "udp" }, + { "digital-vrc", { NULL }, 466, "tcp" }, + { "digital-vrc", { NULL }, 466, "udp" }, + { "mylex-mapd", { NULL }, 467, "tcp" }, + { "mylex-mapd", { NULL }, 467, "udp" }, + { "photuris", { NULL }, 468, "tcp" }, + { "photuris", { NULL }, 468, "udp" }, + { "rcp", { NULL }, 469, "tcp" }, + { "rcp", { NULL }, 469, "udp" }, + { "scx-proxy", { NULL }, 470, "tcp" }, + { "scx-proxy", { NULL }, 470, "udp" }, + { "mondex", { NULL }, 471, "tcp" }, + { "mondex", { NULL }, 471, "udp" }, + { "ljk-login", { NULL }, 472, "tcp" }, + { "ljk-login", { NULL }, 472, "udp" }, + { "hybrid-pop", { NULL }, 473, "tcp" }, + { "hybrid-pop", { NULL }, 473, "udp" }, + { "tn-tl-w1", { NULL }, 474, "tcp" }, + { "tn-tl-w2", { NULL }, 474, "udp" }, + { "tcpnethaspsrv", { NULL }, 475, "tcp" }, + { "tcpnethaspsrv", { NULL }, 475, "udp" }, + { "tn-tl-fd1", { NULL }, 476, "tcp" }, + { "tn-tl-fd1", { NULL }, 476, "udp" }, + { "ss7ns", { NULL }, 477, "tcp" }, + { "ss7ns", { NULL }, 477, "udp" }, + { "spsc", { NULL }, 478, "tcp" }, + { "spsc", { NULL }, 478, "udp" }, + { "iafserver", { NULL }, 479, "tcp" }, + { "iafserver", { NULL }, 479, "udp" }, + { "iafdbase", { NULL }, 480, "tcp" }, + { "iafdbase", { NULL }, 480, "udp" }, + { "ph", { NULL }, 481, "tcp" }, + { "ph", { NULL }, 481, "udp" }, + { "bgs-nsi", { NULL }, 482, "tcp" }, + { "bgs-nsi", { NULL }, 482, "udp" }, + { "ulpnet", { NULL }, 483, "tcp" }, + { "ulpnet", { NULL }, 483, "udp" }, + { "integra-sme", { NULL }, 484, "tcp" }, + { "integra-sme", { NULL }, 484, "udp" }, + { "powerburst", { NULL }, 485, "tcp" }, + { "powerburst", { NULL }, 485, "udp" }, + { "avian", { NULL }, 486, "tcp" }, + { "avian", { NULL }, 486, "udp" }, + { "saft", { NULL }, 487, "tcp" }, + { "saft", { NULL }, 487, "udp" }, + { "gss-http", { NULL }, 488, "tcp" }, + { "gss-http", { NULL }, 488, "udp" }, + { "nest-protocol", { NULL }, 489, "tcp" }, + { "nest-protocol", { NULL }, 489, "udp" }, + { "micom-pfs", { NULL }, 490, "tcp" }, + { "micom-pfs", { NULL }, 490, "udp" }, + { "go-login", { NULL }, 491, "tcp" }, + { "go-login", { NULL }, 491, "udp" }, + { "ticf-1", { NULL }, 492, "tcp" }, + { "ticf-1", { NULL }, 492, "udp" }, + { "ticf-2", { NULL }, 493, "tcp" }, + { "ticf-2", { NULL }, 493, "udp" }, + { "pov-ray", { NULL }, 494, "tcp" }, + { "pov-ray", { NULL }, 494, "udp" }, + { "intecourier", { NULL }, 495, "tcp" }, + { "intecourier", { NULL }, 495, "udp" }, + { "pim-rp-disc", { NULL }, 496, "tcp" }, + { "pim-rp-disc", { NULL }, 496, "udp" }, + { "dantz", { NULL }, 497, "tcp" }, + { "dantz", { NULL }, 497, "udp" }, + { "siam", { NULL }, 498, "tcp" }, + { "siam", { NULL }, 498, "udp" }, + { "iso-ill", { NULL }, 499, "tcp" }, + { "iso-ill", { NULL }, 499, "udp" }, + { "isakmp", { NULL }, 500, "tcp" }, + { "isakmp", { NULL }, 500, "udp" }, + { "stmf", { NULL }, 501, "tcp" }, + { "stmf", { NULL }, 501, "udp" }, + { "asa-appl-proto", { NULL }, 502, "tcp" }, + { "asa-appl-proto", { NULL }, 502, "udp" }, + { "intrinsa", { NULL }, 503, "tcp" }, + { "intrinsa", { NULL }, 503, "udp" }, + { "citadel", { NULL }, 504, "tcp" }, + { "citadel", { NULL }, 504, "udp" }, + { "mailbox-lm", { NULL }, 505, "tcp" }, + { "mailbox-lm", { NULL }, 505, "udp" }, + { "ohimsrv", { NULL }, 506, "tcp" }, + { "ohimsrv", { NULL }, 506, "udp" }, + { "crs", { NULL }, 507, "tcp" }, + { "crs", { NULL }, 507, "udp" }, + { "xvttp", { NULL }, 508, "tcp" }, + { "xvttp", { NULL }, 508, "udp" }, + { "snare", { NULL }, 509, "tcp" }, + { "snare", { NULL }, 509, "udp" }, + { "fcp", { NULL }, 510, "tcp" }, + { "fcp", { NULL }, 510, "udp" }, + { "passgo", { NULL }, 511, "tcp" }, + { "passgo", { NULL }, 511, "udp" }, + { "exec", { NULL }, 512, "tcp" }, + { "comsat", { NULL }, 512, "udp" }, + { "biff", { NULL }, 512, "udp" }, + { "login", { NULL }, 513, "tcp" }, + { "who", { NULL }, 513, "udp" }, + { "shell", { NULL }, 514, "tcp" }, + { "syslog", { NULL }, 514, "udp" }, + { "printer", { NULL }, 515, "tcp" }, + { "printer", { NULL }, 515, "udp" }, + { "videotex", { NULL }, 516, "tcp" }, + { "videotex", { NULL }, 516, "udp" }, + { "talk", { NULL }, 517, "tcp" }, + { "talk", { NULL }, 517, "udp" }, + { "ntalk", { NULL }, 518, "tcp" }, + { "ntalk", { NULL }, 518, "udp" }, + { "utime", { NULL }, 519, "tcp" }, + { "utime", { NULL }, 519, "udp" }, + { "efs", { NULL }, 520, "tcp" }, + { "router", { NULL }, 520, "udp" }, + { "ripng", { NULL }, 521, "tcp" }, + { "ripng", { NULL }, 521, "udp" }, + { "ulp", { NULL }, 522, "tcp" }, + { "ulp", { NULL }, 522, "udp" }, + { "ibm-db2", { NULL }, 523, "tcp" }, + { "ibm-db2", { NULL }, 523, "udp" }, + { "ncp", { NULL }, 524, "tcp" }, + { "ncp", { NULL }, 524, "udp" }, + { "timed", { NULL }, 525, "tcp" }, + { "timed", { NULL }, 525, "udp" }, + { "tempo", { NULL }, 526, "tcp" }, + { "tempo", { NULL }, 526, "udp" }, + { "stx", { NULL }, 527, "tcp" }, + { "stx", { NULL }, 527, "udp" }, + { "custix", { NULL }, 528, "tcp" }, + { "custix", { NULL }, 528, "udp" }, + { "irc-serv", { NULL }, 529, "tcp" }, + { "irc-serv", { NULL }, 529, "udp" }, + { "courier", { NULL }, 530, "tcp" }, + { "courier", { NULL }, 530, "udp" }, + { "conference", { NULL }, 531, "tcp" }, + { "conference", { NULL }, 531, "udp" }, + { "netnews", { NULL }, 532, "tcp" }, + { "netnews", { NULL }, 532, "udp" }, + { "netwall", { NULL }, 533, "tcp" }, + { "netwall", { NULL }, 533, "udp" }, + { "windream", { NULL }, 534, "tcp" }, + { "windream", { NULL }, 534, "udp" }, + { "iiop", { NULL }, 535, "tcp" }, + { "iiop", { NULL }, 535, "udp" }, + { "opalis-rdv", { NULL }, 536, "tcp" }, + { "opalis-rdv", { NULL }, 536, "udp" }, + { "nmsp", { NULL }, 537, "tcp" }, + { "nmsp", { NULL }, 537, "udp" }, + { "gdomap", { NULL }, 538, "tcp" }, + { "gdomap", { NULL }, 538, "udp" }, + { "apertus-ldp", { NULL }, 539, "tcp" }, + { "apertus-ldp", { NULL }, 539, "udp" }, + { "uucp", { NULL }, 540, "tcp" }, + { "uucp", { NULL }, 540, "udp" }, + { "uucp-rlogin", { NULL }, 541, "tcp" }, + { "uucp-rlogin", { NULL }, 541, "udp" }, + { "commerce", { NULL }, 542, "tcp" }, + { "commerce", { NULL }, 542, "udp" }, + { "klogin", { NULL }, 543, "tcp" }, + { "klogin", { NULL }, 543, "udp" }, + { "kshell", { NULL }, 544, "tcp" }, + { "kshell", { NULL }, 544, "udp" }, + { "appleqtcsrvr", { NULL }, 545, "tcp" }, + { "appleqtcsrvr", { NULL }, 545, "udp" }, + { "dhcpv6-client", { NULL }, 546, "tcp" }, + { "dhcpv6-client", { NULL }, 546, "udp" }, + { "dhcpv6-server", { NULL }, 547, "tcp" }, + { "dhcpv6-server", { NULL }, 547, "udp" }, + { "afpovertcp", { NULL }, 548, "tcp" }, + { "afpovertcp", { NULL }, 548, "udp" }, + { "idfp", { NULL }, 549, "tcp" }, + { "idfp", { NULL }, 549, "udp" }, + { "new-rwho", { NULL }, 550, "tcp" }, + { "new-rwho", { NULL }, 550, "udp" }, + { "cybercash", { NULL }, 551, "tcp" }, + { "cybercash", { NULL }, 551, "udp" }, + { "devshr-nts", { NULL }, 552, "tcp" }, + { "devshr-nts", { NULL }, 552, "udp" }, + { "pirp", { NULL }, 553, "tcp" }, + { "pirp", { NULL }, 553, "udp" }, + { "rtsp", { NULL }, 554, "tcp" }, + { "rtsp", { NULL }, 554, "udp" }, + { "dsf", { NULL }, 555, "tcp" }, + { "dsf", { NULL }, 555, "udp" }, + { "remotefs", { NULL }, 556, "tcp" }, + { "remotefs", { NULL }, 556, "udp" }, + { "openvms-sysipc", { NULL }, 557, "tcp" }, + { "openvms-sysipc", { NULL }, 557, "udp" }, + { "sdnskmp", { NULL }, 558, "tcp" }, + { "sdnskmp", { NULL }, 558, "udp" }, + { "teedtap", { NULL }, 559, "tcp" }, + { "teedtap", { NULL }, 559, "udp" }, + { "rmonitor", { NULL }, 560, "tcp" }, + { "rmonitor", { NULL }, 560, "udp" }, + { "monitor", { NULL }, 561, "tcp" }, + { "monitor", { NULL }, 561, "udp" }, + { "chshell", { NULL }, 562, "tcp" }, + { "chshell", { NULL }, 562, "udp" }, + { "nntps", { NULL }, 563, "tcp" }, + { "nntps", { NULL }, 563, "udp" }, + { "9pfs", { NULL }, 564, "tcp" }, + { "9pfs", { NULL }, 564, "udp" }, + { "whoami", { NULL }, 565, "tcp" }, + { "whoami", { NULL }, 565, "udp" }, + { "streettalk", { NULL }, 566, "tcp" }, + { "streettalk", { NULL }, 566, "udp" }, + { "banyan-rpc", { NULL }, 567, "tcp" }, + { "banyan-rpc", { NULL }, 567, "udp" }, + { "ms-shuttle", { NULL }, 568, "tcp" }, + { "ms-shuttle", { NULL }, 568, "udp" }, + { "ms-rome", { NULL }, 569, "tcp" }, + { "ms-rome", { NULL }, 569, "udp" }, + { "meter", { NULL }, 570, "tcp" }, + { "meter", { NULL }, 570, "udp" }, + { "meter", { NULL }, 571, "tcp" }, + { "meter", { NULL }, 571, "udp" }, + { "sonar", { NULL }, 572, "tcp" }, + { "sonar", { NULL }, 572, "udp" }, + { "banyan-vip", { NULL }, 573, "tcp" }, + { "banyan-vip", { NULL }, 573, "udp" }, + { "ftp-agent", { NULL }, 574, "tcp" }, + { "ftp-agent", { NULL }, 574, "udp" }, + { "vemmi", { NULL }, 575, "tcp" }, + { "vemmi", { NULL }, 575, "udp" }, + { "ipcd", { NULL }, 576, "tcp" }, + { "ipcd", { NULL }, 576, "udp" }, + { "vnas", { NULL }, 577, "tcp" }, + { "vnas", { NULL }, 577, "udp" }, + { "ipdd", { NULL }, 578, "tcp" }, + { "ipdd", { NULL }, 578, "udp" }, + { "decbsrv", { NULL }, 579, "tcp" }, + { "decbsrv", { NULL }, 579, "udp" }, + { "sntp-heartbeat", { NULL }, 580, "tcp" }, + { "sntp-heartbeat", { NULL }, 580, "udp" }, + { "bdp", { NULL }, 581, "tcp" }, + { "bdp", { NULL }, 581, "udp" }, + { "scc-security", { NULL }, 582, "tcp" }, + { "scc-security", { NULL }, 582, "udp" }, + { "philips-vc", { NULL }, 583, "tcp" }, + { "philips-vc", { NULL }, 583, "udp" }, + { "keyserver", { NULL }, 584, "tcp" }, + { "keyserver", { NULL }, 584, "udp" }, + { "password-chg", { NULL }, 586, "tcp" }, + { "password-chg", { NULL }, 586, "udp" }, + { "submission", { NULL }, 587, "tcp" }, + { "submission", { NULL }, 587, "udp" }, + { "cal", { NULL }, 588, "tcp" }, + { "cal", { NULL }, 588, "udp" }, + { "eyelink", { NULL }, 589, "tcp" }, + { "eyelink", { NULL }, 589, "udp" }, + { "tns-cml", { NULL }, 590, "tcp" }, + { "tns-cml", { NULL }, 590, "udp" }, + { "http-alt", { NULL }, 591, "tcp" }, + { "http-alt", { NULL }, 591, "udp" }, + { "eudora-set", { NULL }, 592, "tcp" }, + { "eudora-set", { NULL }, 592, "udp" }, + { "http-rpc-epmap", { NULL }, 593, "tcp" }, + { "http-rpc-epmap", { NULL }, 593, "udp" }, + { "tpip", { NULL }, 594, "tcp" }, + { "tpip", { NULL }, 594, "udp" }, + { "cab-protocol", { NULL }, 595, "tcp" }, + { "cab-protocol", { NULL }, 595, "udp" }, + { "smsd", { NULL }, 596, "tcp" }, + { "smsd", { NULL }, 596, "udp" }, + { "ptcnameservice", { NULL }, 597, "tcp" }, + { "ptcnameservice", { NULL }, 597, "udp" }, + { "sco-websrvrmg3", { NULL }, 598, "tcp" }, + { "sco-websrvrmg3", { NULL }, 598, "udp" }, + { "acp", { NULL }, 599, "tcp" }, + { "acp", { NULL }, 599, "udp" }, + { "ipcserver", { NULL }, 600, "tcp" }, + { "ipcserver", { NULL }, 600, "udp" }, + { "syslog-conn", { NULL }, 601, "tcp" }, + { "syslog-conn", { NULL }, 601, "udp" }, + { "xmlrpc-beep", { NULL }, 602, "tcp" }, + { "xmlrpc-beep", { NULL }, 602, "udp" }, + { "idxp", { NULL }, 603, "tcp" }, + { "idxp", { NULL }, 603, "udp" }, + { "tunnel", { NULL }, 604, "tcp" }, + { "tunnel", { NULL }, 604, "udp" }, + { "soap-beep", { NULL }, 605, "tcp" }, + { "soap-beep", { NULL }, 605, "udp" }, + { "urm", { NULL }, 606, "tcp" }, + { "urm", { NULL }, 606, "udp" }, + { "nqs", { NULL }, 607, "tcp" }, + { "nqs", { NULL }, 607, "udp" }, + { "sift-uft", { NULL }, 608, "tcp" }, + { "sift-uft", { NULL }, 608, "udp" }, + { "npmp-trap", { NULL }, 609, "tcp" }, + { "npmp-trap", { NULL }, 609, "udp" }, + { "npmp-local", { NULL }, 610, "tcp" }, + { "npmp-local", { NULL }, 610, "udp" }, + { "npmp-gui", { NULL }, 611, "tcp" }, + { "npmp-gui", { NULL }, 611, "udp" }, + { "hmmp-ind", { NULL }, 612, "tcp" }, + { "hmmp-ind", { NULL }, 612, "udp" }, + { "hmmp-op", { NULL }, 613, "tcp" }, + { "hmmp-op", { NULL }, 613, "udp" }, + { "sshell", { NULL }, 614, "tcp" }, + { "sshell", { NULL }, 614, "udp" }, + { "sco-inetmgr", { NULL }, 615, "tcp" }, + { "sco-inetmgr", { NULL }, 615, "udp" }, + { "sco-sysmgr", { NULL }, 616, "tcp" }, + { "sco-sysmgr", { NULL }, 616, "udp" }, + { "sco-dtmgr", { NULL }, 617, "tcp" }, + { "sco-dtmgr", { NULL }, 617, "udp" }, + { "dei-icda", { NULL }, 618, "tcp" }, + { "dei-icda", { NULL }, 618, "udp" }, + { "compaq-evm", { NULL }, 619, "tcp" }, + { "compaq-evm", { NULL }, 619, "udp" }, + { "sco-websrvrmgr", { NULL }, 620, "tcp" }, + { "sco-websrvrmgr", { NULL }, 620, "udp" }, + { "escp-ip", { NULL }, 621, "tcp" }, + { "escp-ip", { NULL }, 621, "udp" }, + { "collaborator", { NULL }, 622, "tcp" }, + { "collaborator", { NULL }, 622, "udp" }, + { "oob-ws-http", { NULL }, 623, "tcp" }, + { "asf-rmcp", { NULL }, 623, "udp" }, + { "cryptoadmin", { NULL }, 624, "tcp" }, + { "cryptoadmin", { NULL }, 624, "udp" }, + { "dec_dlm", { NULL }, 625, "tcp" }, + { "dec_dlm", { NULL }, 625, "udp" }, + { "asia", { NULL }, 626, "tcp" }, + { "asia", { NULL }, 626, "udp" }, + { "passgo-tivoli", { NULL }, 627, "tcp" }, + { "passgo-tivoli", { NULL }, 627, "udp" }, + { "qmqp", { NULL }, 628, "tcp" }, + { "qmqp", { NULL }, 628, "udp" }, + { "3com-amp3", { NULL }, 629, "tcp" }, + { "3com-amp3", { NULL }, 629, "udp" }, + { "rda", { NULL }, 630, "tcp" }, + { "rda", { NULL }, 630, "udp" }, + { "ipp", { NULL }, 631, "tcp" }, + { "ipp", { NULL }, 631, "udp" }, + { "bmpp", { NULL }, 632, "tcp" }, + { "bmpp", { NULL }, 632, "udp" }, + { "servstat", { NULL }, 633, "tcp" }, + { "servstat", { NULL }, 633, "udp" }, + { "ginad", { NULL }, 634, "tcp" }, + { "ginad", { NULL }, 634, "udp" }, + { "rlzdbase", { NULL }, 635, "tcp" }, + { "rlzdbase", { NULL }, 635, "udp" }, + { "ldaps", { NULL }, 636, "tcp" }, + { "ldaps", { NULL }, 636, "udp" }, + { "lanserver", { NULL }, 637, "tcp" }, + { "lanserver", { NULL }, 637, "udp" }, + { "mcns-sec", { NULL }, 638, "tcp" }, + { "mcns-sec", { NULL }, 638, "udp" }, + { "msdp", { NULL }, 639, "tcp" }, + { "msdp", { NULL }, 639, "udp" }, + { "entrust-sps", { NULL }, 640, "tcp" }, + { "entrust-sps", { NULL }, 640, "udp" }, + { "repcmd", { NULL }, 641, "tcp" }, + { "repcmd", { NULL }, 641, "udp" }, + { "esro-emsdp", { NULL }, 642, "tcp" }, + { "esro-emsdp", { NULL }, 642, "udp" }, + { "sanity", { NULL }, 643, "tcp" }, + { "sanity", { NULL }, 643, "udp" }, + { "dwr", { NULL }, 644, "tcp" }, + { "dwr", { NULL }, 644, "udp" }, + { "pssc", { NULL }, 645, "tcp" }, + { "pssc", { NULL }, 645, "udp" }, + { "ldp", { NULL }, 646, "tcp" }, + { "ldp", { NULL }, 646, "udp" }, + { "dhcp-failover", { NULL }, 647, "tcp" }, + { "dhcp-failover", { NULL }, 647, "udp" }, + { "rrp", { NULL }, 648, "tcp" }, + { "rrp", { NULL }, 648, "udp" }, + { "cadview-3d", { NULL }, 649, "tcp" }, + { "cadview-3d", { NULL }, 649, "udp" }, + { "obex", { NULL }, 650, "tcp" }, + { "obex", { NULL }, 650, "udp" }, + { "ieee-mms", { NULL }, 651, "tcp" }, + { "ieee-mms", { NULL }, 651, "udp" }, + { "hello-port", { NULL }, 652, "tcp" }, + { "hello-port", { NULL }, 652, "udp" }, + { "repscmd", { NULL }, 653, "tcp" }, + { "repscmd", { NULL }, 653, "udp" }, + { "aodv", { NULL }, 654, "tcp" }, + { "aodv", { NULL }, 654, "udp" }, + { "tinc", { NULL }, 655, "tcp" }, + { "tinc", { NULL }, 655, "udp" }, + { "spmp", { NULL }, 656, "tcp" }, + { "spmp", { NULL }, 656, "udp" }, + { "rmc", { NULL }, 657, "tcp" }, + { "rmc", { NULL }, 657, "udp" }, + { "tenfold", { NULL }, 658, "tcp" }, + { "tenfold", { NULL }, 658, "udp" }, + { "mac-srvr-admin", { NULL }, 660, "tcp" }, + { "mac-srvr-admin", { NULL }, 660, "udp" }, + { "hap", { NULL }, 661, "tcp" }, + { "hap", { NULL }, 661, "udp" }, + { "pftp", { NULL }, 662, "tcp" }, + { "pftp", { NULL }, 662, "udp" }, + { "purenoise", { NULL }, 663, "tcp" }, + { "purenoise", { NULL }, 663, "udp" }, + { "oob-ws-https", { NULL }, 664, "tcp" }, + { "asf-secure-rmcp", { NULL }, 664, "udp" }, + { "sun-dr", { NULL }, 665, "tcp" }, + { "sun-dr", { NULL }, 665, "udp" }, + { "mdqs", { NULL }, 666, "tcp" }, + { "mdqs", { NULL }, 666, "udp" }, + { "doom", { NULL }, 666, "tcp" }, + { "doom", { NULL }, 666, "udp" }, + { "disclose", { NULL }, 667, "tcp" }, + { "disclose", { NULL }, 667, "udp" }, + { "mecomm", { NULL }, 668, "tcp" }, + { "mecomm", { NULL }, 668, "udp" }, + { "meregister", { NULL }, 669, "tcp" }, + { "meregister", { NULL }, 669, "udp" }, + { "vacdsm-sws", { NULL }, 670, "tcp" }, + { "vacdsm-sws", { NULL }, 670, "udp" }, + { "vacdsm-app", { NULL }, 671, "tcp" }, + { "vacdsm-app", { NULL }, 671, "udp" }, + { "vpps-qua", { NULL }, 672, "tcp" }, + { "vpps-qua", { NULL }, 672, "udp" }, + { "cimplex", { NULL }, 673, "tcp" }, + { "cimplex", { NULL }, 673, "udp" }, + { "acap", { NULL }, 674, "tcp" }, + { "acap", { NULL }, 674, "udp" }, + { "dctp", { NULL }, 675, "tcp" }, + { "dctp", { NULL }, 675, "udp" }, + { "vpps-via", { NULL }, 676, "tcp" }, + { "vpps-via", { NULL }, 676, "udp" }, + { "vpp", { NULL }, 677, "tcp" }, + { "vpp", { NULL }, 677, "udp" }, + { "ggf-ncp", { NULL }, 678, "tcp" }, + { "ggf-ncp", { NULL }, 678, "udp" }, + { "mrm", { NULL }, 679, "tcp" }, + { "mrm", { NULL }, 679, "udp" }, + { "entrust-aaas", { NULL }, 680, "tcp" }, + { "entrust-aaas", { NULL }, 680, "udp" }, + { "entrust-aams", { NULL }, 681, "tcp" }, + { "entrust-aams", { NULL }, 681, "udp" }, + { "xfr", { NULL }, 682, "tcp" }, + { "xfr", { NULL }, 682, "udp" }, + { "corba-iiop", { NULL }, 683, "tcp" }, + { "corba-iiop", { NULL }, 683, "udp" }, + { "corba-iiop-ssl", { NULL }, 684, "tcp" }, + { "corba-iiop-ssl", { NULL }, 684, "udp" }, + { "mdc-portmapper", { NULL }, 685, "tcp" }, + { "mdc-portmapper", { NULL }, 685, "udp" }, + { "hcp-wismar", { NULL }, 686, "tcp" }, + { "hcp-wismar", { NULL }, 686, "udp" }, + { "asipregistry", { NULL }, 687, "tcp" }, + { "asipregistry", { NULL }, 687, "udp" }, + { "realm-rusd", { NULL }, 688, "tcp" }, + { "realm-rusd", { NULL }, 688, "udp" }, + { "nmap", { NULL }, 689, "tcp" }, + { "nmap", { NULL }, 689, "udp" }, + { "vatp", { NULL }, 690, "tcp" }, + { "vatp", { NULL }, 690, "udp" }, + { "msexch-routing", { NULL }, 691, "tcp" }, + { "msexch-routing", { NULL }, 691, "udp" }, + { "hyperwave-isp", { NULL }, 692, "tcp" }, + { "hyperwave-isp", { NULL }, 692, "udp" }, + { "connendp", { NULL }, 693, "tcp" }, + { "connendp", { NULL }, 693, "udp" }, + { "ha-cluster", { NULL }, 694, "tcp" }, + { "ha-cluster", { NULL }, 694, "udp" }, + { "ieee-mms-ssl", { NULL }, 695, "tcp" }, + { "ieee-mms-ssl", { NULL }, 695, "udp" }, + { "rushd", { NULL }, 696, "tcp" }, + { "rushd", { NULL }, 696, "udp" }, + { "uuidgen", { NULL }, 697, "tcp" }, + { "uuidgen", { NULL }, 697, "udp" }, + { "olsr", { NULL }, 698, "tcp" }, + { "olsr", { NULL }, 698, "udp" }, + { "accessnetwork", { NULL }, 699, "tcp" }, + { "accessnetwork", { NULL }, 699, "udp" }, + { "epp", { NULL }, 700, "tcp" }, + { "epp", { NULL }, 700, "udp" }, + { "lmp", { NULL }, 701, "tcp" }, + { "lmp", { NULL }, 701, "udp" }, + { "iris-beep", { NULL }, 702, "tcp" }, + { "iris-beep", { NULL }, 702, "udp" }, + { "elcsd", { NULL }, 704, "tcp" }, + { "elcsd", { NULL }, 704, "udp" }, + { "agentx", { NULL }, 705, "tcp" }, + { "agentx", { NULL }, 705, "udp" }, + { "silc", { NULL }, 706, "tcp" }, + { "silc", { NULL }, 706, "udp" }, + { "borland-dsj", { NULL }, 707, "tcp" }, + { "borland-dsj", { NULL }, 707, "udp" }, + { "entrust-kmsh", { NULL }, 709, "tcp" }, + { "entrust-kmsh", { NULL }, 709, "udp" }, + { "entrust-ash", { NULL }, 710, "tcp" }, + { "entrust-ash", { NULL }, 710, "udp" }, + { "cisco-tdp", { NULL }, 711, "tcp" }, + { "cisco-tdp", { NULL }, 711, "udp" }, + { "tbrpf", { NULL }, 712, "tcp" }, + { "tbrpf", { NULL }, 712, "udp" }, + { "iris-xpc", { NULL }, 713, "tcp" }, + { "iris-xpc", { NULL }, 713, "udp" }, + { "iris-xpcs", { NULL }, 714, "tcp" }, + { "iris-xpcs", { NULL }, 714, "udp" }, + { "iris-lwz", { NULL }, 715, "tcp" }, + { "iris-lwz", { NULL }, 715, "udp" }, + { "pana", { NULL }, 716, "udp" }, + { "netviewdm1", { NULL }, 729, "tcp" }, + { "netviewdm1", { NULL }, 729, "udp" }, + { "netviewdm2", { NULL }, 730, "tcp" }, + { "netviewdm2", { NULL }, 730, "udp" }, + { "netviewdm3", { NULL }, 731, "tcp" }, + { "netviewdm3", { NULL }, 731, "udp" }, + { "netgw", { NULL }, 741, "tcp" }, + { "netgw", { NULL }, 741, "udp" }, + { "netrcs", { NULL }, 742, "tcp" }, + { "netrcs", { NULL }, 742, "udp" }, + { "flexlm", { NULL }, 744, "tcp" }, + { "flexlm", { NULL }, 744, "udp" }, + { "fujitsu-dev", { NULL }, 747, "tcp" }, + { "fujitsu-dev", { NULL }, 747, "udp" }, + { "ris-cm", { NULL }, 748, "tcp" }, + { "ris-cm", { NULL }, 748, "udp" }, + { "kerberos-adm", { NULL }, 749, "tcp" }, + { "kerberos-adm", { NULL }, 749, "udp" }, + { "rfile", { NULL }, 750, "tcp" }, + { "loadav", { NULL }, 750, "udp" }, + { "kerberos-iv", { NULL }, 750, "udp" }, + { "pump", { NULL }, 751, "tcp" }, + { "pump", { NULL }, 751, "udp" }, + { "qrh", { NULL }, 752, "tcp" }, + { "qrh", { NULL }, 752, "udp" }, + { "rrh", { NULL }, 753, "tcp" }, + { "rrh", { NULL }, 753, "udp" }, + { "tell", { NULL }, 754, "tcp" }, + { "tell", { NULL }, 754, "udp" }, + { "nlogin", { NULL }, 758, "tcp" }, + { "nlogin", { NULL }, 758, "udp" }, + { "con", { NULL }, 759, "tcp" }, + { "con", { NULL }, 759, "udp" }, + { "ns", { NULL }, 760, "tcp" }, + { "ns", { NULL }, 760, "udp" }, + { "rxe", { NULL }, 761, "tcp" }, + { "rxe", { NULL }, 761, "udp" }, + { "quotad", { NULL }, 762, "tcp" }, + { "quotad", { NULL }, 762, "udp" }, + { "cycleserv", { NULL }, 763, "tcp" }, + { "cycleserv", { NULL }, 763, "udp" }, + { "omserv", { NULL }, 764, "tcp" }, + { "omserv", { NULL }, 764, "udp" }, + { "webster", { NULL }, 765, "tcp" }, + { "webster", { NULL }, 765, "udp" }, + { "phonebook", { NULL }, 767, "tcp" }, + { "phonebook", { NULL }, 767, "udp" }, + { "vid", { NULL }, 769, "tcp" }, + { "vid", { NULL }, 769, "udp" }, + { "cadlock", { NULL }, 770, "tcp" }, + { "cadlock", { NULL }, 770, "udp" }, + { "rtip", { NULL }, 771, "tcp" }, + { "rtip", { NULL }, 771, "udp" }, + { "cycleserv2", { NULL }, 772, "tcp" }, + { "cycleserv2", { NULL }, 772, "udp" }, + { "submit", { NULL }, 773, "tcp" }, + { "notify", { NULL }, 773, "udp" }, + { "rpasswd", { NULL }, 774, "tcp" }, + { "acmaint_dbd", { NULL }, 774, "udp" }, + { "entomb", { NULL }, 775, "tcp" }, + { "acmaint_transd", { NULL }, 775, "udp" }, + { "wpages", { NULL }, 776, "tcp" }, + { "wpages", { NULL }, 776, "udp" }, + { "multiling-http", { NULL }, 777, "tcp" }, + { "multiling-http", { NULL }, 777, "udp" }, + { "wpgs", { NULL }, 780, "tcp" }, + { "wpgs", { NULL }, 780, "udp" }, + { "mdbs_daemon", { NULL }, 800, "tcp" }, + { "mdbs_daemon", { NULL }, 800, "udp" }, + { "device", { NULL }, 801, "tcp" }, + { "device", { NULL }, 801, "udp" }, + { "fcp-udp", { NULL }, 810, "tcp" }, + { "fcp-udp", { NULL }, 810, "udp" }, + { "itm-mcell-s", { NULL }, 828, "tcp" }, + { "itm-mcell-s", { NULL }, 828, "udp" }, + { "pkix-3-ca-ra", { NULL }, 829, "tcp" }, + { "pkix-3-ca-ra", { NULL }, 829, "udp" }, + { "netconf-ssh", { NULL }, 830, "tcp" }, + { "netconf-ssh", { NULL }, 830, "udp" }, + { "netconf-beep", { NULL }, 831, "tcp" }, + { "netconf-beep", { NULL }, 831, "udp" }, + { "netconfsoaphttp", { NULL }, 832, "tcp" }, + { "netconfsoaphttp", { NULL }, 832, "udp" }, + { "netconfsoapbeep", { NULL }, 833, "tcp" }, + { "netconfsoapbeep", { NULL }, 833, "udp" }, + { "dhcp-failover2", { NULL }, 847, "tcp" }, + { "dhcp-failover2", { NULL }, 847, "udp" }, + { "gdoi", { NULL }, 848, "tcp" }, + { "gdoi", { NULL }, 848, "udp" }, + { "iscsi", { NULL }, 860, "tcp" }, + { "iscsi", { NULL }, 860, "udp" }, + { "owamp-control", { NULL }, 861, "tcp" }, + { "owamp-control", { NULL }, 861, "udp" }, + { "twamp-control", { NULL }, 862, "tcp" }, + { "twamp-control", { NULL }, 862, "udp" }, + { "rsync", { NULL }, 873, "tcp" }, + { "rsync", { NULL }, 873, "udp" }, + { "iclcnet-locate", { NULL }, 886, "tcp" }, + { "iclcnet-locate", { NULL }, 886, "udp" }, + { "iclcnet_svinfo", { NULL }, 887, "tcp" }, + { "iclcnet_svinfo", { NULL }, 887, "udp" }, + { "accessbuilder", { NULL }, 888, "tcp" }, + { "accessbuilder", { NULL }, 888, "udp" }, + { "cddbp", { NULL }, 888, "tcp" }, + { "omginitialrefs", { NULL }, 900, "tcp" }, + { "omginitialrefs", { NULL }, 900, "udp" }, + { "smpnameres", { NULL }, 901, "tcp" }, + { "smpnameres", { NULL }, 901, "udp" }, + { "ideafarm-door", { NULL }, 902, "tcp" }, + { "ideafarm-door", { NULL }, 902, "udp" }, + { "ideafarm-panic", { NULL }, 903, "tcp" }, + { "ideafarm-panic", { NULL }, 903, "udp" }, + { "kink", { NULL }, 910, "tcp" }, + { "kink", { NULL }, 910, "udp" }, + { "xact-backup", { NULL }, 911, "tcp" }, + { "xact-backup", { NULL }, 911, "udp" }, + { "apex-mesh", { NULL }, 912, "tcp" }, + { "apex-mesh", { NULL }, 912, "udp" }, + { "apex-edge", { NULL }, 913, "tcp" }, + { "apex-edge", { NULL }, 913, "udp" }, + { "ftps-data", { NULL }, 989, "tcp" }, + { "ftps-data", { NULL }, 989, "udp" }, + { "ftps", { NULL }, 990, "tcp" }, + { "ftps", { NULL }, 990, "udp" }, + { "nas", { NULL }, 991, "tcp" }, + { "nas", { NULL }, 991, "udp" }, + { "telnets", { NULL }, 992, "tcp" }, + { "telnets", { NULL }, 992, "udp" }, + { "imaps", { NULL }, 993, "tcp" }, + { "imaps", { NULL }, 993, "udp" }, + { "ircs", { NULL }, 994, "tcp" }, + { "ircs", { NULL }, 994, "udp" }, + { "pop3s", { NULL }, 995, "tcp" }, + { "pop3s", { NULL }, 995, "udp" }, + { "vsinet", { NULL }, 996, "tcp" }, + { "vsinet", { NULL }, 996, "udp" }, + { "maitrd", { NULL }, 997, "tcp" }, + { "maitrd", { NULL }, 997, "udp" }, + { "busboy", { NULL }, 998, "tcp" }, + { "puparp", { NULL }, 998, "udp" }, + { "garcon", { NULL }, 999, "tcp" }, + { "applix", { NULL }, 999, "udp" }, + { "puprouter", { NULL }, 999, "tcp" }, + { "puprouter", { NULL }, 999, "udp" }, + { "cadlock2", { NULL }, 1000, "tcp" }, + { "cadlock2", { NULL }, 1000, "udp" }, + { "surf", { NULL }, 1010, "tcp" }, + { "surf", { NULL }, 1010, "udp" }, + { "exp1", { NULL }, 1021, "tcp" }, + { "exp1", { NULL }, 1021, "udp" }, + { "exp2", { NULL }, 1022, "tcp" }, + { "exp2", { NULL }, 1022, "udp" }, # endif /* USE_IANA_WELL_KNOWN_PORTS */ # ifdef USE_IANA_REGISTERED_PORTS - { "blackjack", { NULL }, 1025, "tcp" }, - { "blackjack", { NULL }, 1025, "udp" }, - { "cap", { NULL }, 1026, "tcp" }, - { "cap", { NULL }, 1026, "udp" }, - { "solid-mux", { NULL }, 1029, "tcp" }, - { "solid-mux", { NULL }, 1029, "udp" }, - { "iad1", { NULL }, 1030, "tcp" }, - { "iad1", { NULL }, 1030, "udp" }, - { "iad2", { NULL }, 1031, "tcp" }, - { "iad2", { NULL }, 1031, "udp" }, - { "iad3", { NULL }, 1032, "tcp" }, - { "iad3", { NULL }, 1032, "udp" }, - { "netinfo-local", { NULL }, 1033, "tcp" }, - { "netinfo-local", { NULL }, 1033, "udp" }, - { "activesync", { NULL }, 1034, "tcp" }, - { "activesync", { NULL }, 1034, "udp" }, - { "mxxrlogin", { NULL }, 1035, "tcp" }, - { "mxxrlogin", { NULL }, 1035, "udp" }, - { "nsstp", { NULL }, 1036, "tcp" }, - { "nsstp", { NULL }, 1036, "udp" }, - { "ams", { NULL }, 1037, "tcp" }, - { "ams", { NULL }, 1037, "udp" }, - { "mtqp", { NULL }, 1038, "tcp" }, - { "mtqp", { NULL }, 1038, "udp" }, - { "sbl", { NULL }, 1039, "tcp" }, - { "sbl", { NULL }, 1039, "udp" }, - { "netarx", { NULL }, 1040, "tcp" }, - { "netarx", { NULL }, 1040, "udp" }, - { "danf-ak2", { NULL }, 1041, "tcp" }, - { "danf-ak2", { NULL }, 1041, "udp" }, - { "afrog", { NULL }, 1042, "tcp" }, - { "afrog", { NULL }, 1042, "udp" }, - { "boinc-client", { NULL }, 1043, "tcp" }, - { "boinc-client", { NULL }, 1043, "udp" }, - { "dcutility", { NULL }, 1044, "tcp" }, - { "dcutility", { NULL }, 1044, "udp" }, - { "fpitp", { NULL }, 1045, "tcp" }, - { "fpitp", { NULL }, 1045, "udp" }, - { "wfremotertm", { NULL }, 1046, "tcp" }, - { "wfremotertm", { NULL }, 1046, "udp" }, - { "neod1", { NULL }, 1047, "tcp" }, - { "neod1", { NULL }, 1047, "udp" }, - { "neod2", { NULL }, 1048, "tcp" }, - { "neod2", { NULL }, 1048, "udp" }, - { "td-postman", { NULL }, 1049, "tcp" }, - { "td-postman", { NULL }, 1049, "udp" }, - { "cma", { NULL }, 1050, "tcp" }, - { "cma", { NULL }, 1050, "udp" }, - { "optima-vnet", { NULL }, 1051, "tcp" }, - { "optima-vnet", { NULL }, 1051, "udp" }, - { "ddt", { NULL }, 1052, "tcp" }, - { "ddt", { NULL }, 1052, "udp" }, - { "remote-as", { NULL }, 1053, "tcp" }, - { "remote-as", { NULL }, 1053, "udp" }, - { "brvread", { NULL }, 1054, "tcp" }, - { "brvread", { NULL }, 1054, "udp" }, - { "ansyslmd", { NULL }, 1055, "tcp" }, - { "ansyslmd", { NULL }, 1055, "udp" }, - { "vfo", { NULL }, 1056, "tcp" }, - { "vfo", { NULL }, 1056, "udp" }, - { "startron", { NULL }, 1057, "tcp" }, - { "startron", { NULL }, 1057, "udp" }, - { "nim", { NULL }, 1058, "tcp" }, - { "nim", { NULL }, 1058, "udp" }, - { "nimreg", { NULL }, 1059, "tcp" }, - { "nimreg", { NULL }, 1059, "udp" }, - { "polestar", { NULL }, 1060, "tcp" }, - { "polestar", { NULL }, 1060, "udp" }, - { "kiosk", { NULL }, 1061, "tcp" }, - { "kiosk", { NULL }, 1061, "udp" }, - { "veracity", { NULL }, 1062, "tcp" }, - { "veracity", { NULL }, 1062, "udp" }, - { "kyoceranetdev", { NULL }, 1063, "tcp" }, - { "kyoceranetdev", { NULL }, 1063, "udp" }, - { "jstel", { NULL }, 1064, "tcp" }, - { "jstel", { NULL }, 1064, "udp" }, - { "syscomlan", { NULL }, 1065, "tcp" }, - { "syscomlan", { NULL }, 1065, "udp" }, - { "fpo-fns", { NULL }, 1066, "tcp" }, - { "fpo-fns", { NULL }, 1066, "udp" }, - { "instl_boots", { NULL }, 1067, "tcp" }, - { "instl_boots", { NULL }, 1067, "udp" }, - { "instl_bootc", { NULL }, 1068, "tcp" }, - { "instl_bootc", { NULL }, 1068, "udp" }, - { "cognex-insight", { NULL }, 1069, "tcp" }, - { "cognex-insight", { NULL }, 1069, "udp" }, - { "gmrupdateserv", { NULL }, 1070, "tcp" }, - { "gmrupdateserv", { NULL }, 1070, "udp" }, - { "bsquare-voip", { NULL }, 1071, "tcp" }, - { "bsquare-voip", { NULL }, 1071, "udp" }, - { "cardax", { NULL }, 1072, "tcp" }, - { "cardax", { NULL }, 1072, "udp" }, - { "bridgecontrol", { NULL }, 1073, "tcp" }, - { "bridgecontrol", { NULL }, 1073, "udp" }, - { "warmspotMgmt", { NULL }, 1074, "tcp" }, - { "warmspotMgmt", { NULL }, 1074, "udp" }, - { "rdrmshc", { NULL }, 1075, "tcp" }, - { "rdrmshc", { NULL }, 1075, "udp" }, - { "dab-sti-c", { NULL }, 1076, "tcp" }, - { "dab-sti-c", { NULL }, 1076, "udp" }, - { "imgames", { NULL }, 1077, "tcp" }, - { "imgames", { NULL }, 1077, "udp" }, - { "avocent-proxy", { NULL }, 1078, "tcp" }, - { "avocent-proxy", { NULL }, 1078, "udp" }, - { "asprovatalk", { NULL }, 1079, "tcp" }, - { "asprovatalk", { NULL }, 1079, "udp" }, - { "socks", { NULL }, 1080, "tcp" }, - { "socks", { NULL }, 1080, "udp" }, - { "pvuniwien", { NULL }, 1081, "tcp" }, - { "pvuniwien", { NULL }, 1081, "udp" }, - { "amt-esd-prot", { NULL }, 1082, "tcp" }, - { "amt-esd-prot", { NULL }, 1082, "udp" }, - { "ansoft-lm-1", { NULL }, 1083, "tcp" }, - { "ansoft-lm-1", { NULL }, 1083, "udp" }, - { "ansoft-lm-2", { NULL }, 1084, "tcp" }, - { "ansoft-lm-2", { NULL }, 1084, "udp" }, - { "webobjects", { NULL }, 1085, "tcp" }, - { "webobjects", { NULL }, 1085, "udp" }, - { "cplscrambler-lg", { NULL }, 1086, "tcp" }, - { "cplscrambler-lg", { NULL }, 1086, "udp" }, - { "cplscrambler-in", { NULL }, 1087, "tcp" }, - { "cplscrambler-in", { NULL }, 1087, "udp" }, - { "cplscrambler-al", { NULL }, 1088, "tcp" }, - { "cplscrambler-al", { NULL }, 1088, "udp" }, - { "ff-annunc", { NULL }, 1089, "tcp" }, - { "ff-annunc", { NULL }, 1089, "udp" }, - { "ff-fms", { NULL }, 1090, "tcp" }, - { "ff-fms", { NULL }, 1090, "udp" }, - { "ff-sm", { NULL }, 1091, "tcp" }, - { "ff-sm", { NULL }, 1091, "udp" }, - { "obrpd", { NULL }, 1092, "tcp" }, - { "obrpd", { NULL }, 1092, "udp" }, - { "proofd", { NULL }, 1093, "tcp" }, - { "proofd", { NULL }, 1093, "udp" }, - { "rootd", { NULL }, 1094, "tcp" }, - { "rootd", { NULL }, 1094, "udp" }, - { "nicelink", { NULL }, 1095, "tcp" }, - { "nicelink", { NULL }, 1095, "udp" }, - { "cnrprotocol", { NULL }, 1096, "tcp" }, - { "cnrprotocol", { NULL }, 1096, "udp" }, - { "sunclustermgr", { NULL }, 1097, "tcp" }, - { "sunclustermgr", { NULL }, 1097, "udp" }, - { "rmiactivation", { NULL }, 1098, "tcp" }, - { "rmiactivation", { NULL }, 1098, "udp" }, - { "rmiregistry", { NULL }, 1099, "tcp" }, - { "rmiregistry", { NULL }, 1099, "udp" }, - { "mctp", { NULL }, 1100, "tcp" }, - { "mctp", { NULL }, 1100, "udp" }, - { "pt2-discover", { NULL }, 1101, "tcp" }, - { "pt2-discover", { NULL }, 1101, "udp" }, - { "adobeserver-1", { NULL }, 1102, "tcp" }, - { "adobeserver-1", { NULL }, 1102, "udp" }, - { "adobeserver-2", { NULL }, 1103, "tcp" }, - { "adobeserver-2", { NULL }, 1103, "udp" }, - { "xrl", { NULL }, 1104, "tcp" }, - { "xrl", { NULL }, 1104, "udp" }, - { "ftranhc", { NULL }, 1105, "tcp" }, - { "ftranhc", { NULL }, 1105, "udp" }, - { "isoipsigport-1", { NULL }, 1106, "tcp" }, - { "isoipsigport-1", { NULL }, 1106, "udp" }, - { "isoipsigport-2", { NULL }, 1107, "tcp" }, - { "isoipsigport-2", { NULL }, 1107, "udp" }, - { "ratio-adp", { NULL }, 1108, "tcp" }, - { "ratio-adp", { NULL }, 1108, "udp" }, - { "webadmstart", { NULL }, 1110, "tcp" }, - { "nfsd-keepalive", { NULL }, 1110, "udp" }, - { "lmsocialserver", { NULL }, 1111, "tcp" }, - { "lmsocialserver", { NULL }, 1111, "udp" }, - { "icp", { NULL }, 1112, "tcp" }, - { "icp", { NULL }, 1112, "udp" }, - { "ltp-deepspace", { NULL }, 1113, "tcp" }, - { "ltp-deepspace", { NULL }, 1113, "udp" }, - { "mini-sql", { NULL }, 1114, "tcp" }, - { "mini-sql", { NULL }, 1114, "udp" }, - { "ardus-trns", { NULL }, 1115, "tcp" }, - { "ardus-trns", { NULL }, 1115, "udp" }, - { "ardus-cntl", { NULL }, 1116, "tcp" }, - { "ardus-cntl", { NULL }, 1116, "udp" }, - { "ardus-mtrns", { NULL }, 1117, "tcp" }, - { "ardus-mtrns", { NULL }, 1117, "udp" }, - { "sacred", { NULL }, 1118, "tcp" }, - { "sacred", { NULL }, 1118, "udp" }, - { "bnetgame", { NULL }, 1119, "tcp" }, - { "bnetgame", { NULL }, 1119, "udp" }, - { "bnetfile", { NULL }, 1120, "tcp" }, - { "bnetfile", { NULL }, 1120, "udp" }, - { "rmpp", { NULL }, 1121, "tcp" }, - { "rmpp", { NULL }, 1121, "udp" }, - { "availant-mgr", { NULL }, 1122, "tcp" }, - { "availant-mgr", { NULL }, 1122, "udp" }, - { "murray", { NULL }, 1123, "tcp" }, - { "murray", { NULL }, 1123, "udp" }, - { "hpvmmcontrol", { NULL }, 1124, "tcp" }, - { "hpvmmcontrol", { NULL }, 1124, "udp" }, - { "hpvmmagent", { NULL }, 1125, "tcp" }, - { "hpvmmagent", { NULL }, 1125, "udp" }, - { "hpvmmdata", { NULL }, 1126, "tcp" }, - { "hpvmmdata", { NULL }, 1126, "udp" }, - { "kwdb-commn", { NULL }, 1127, "tcp" }, - { "kwdb-commn", { NULL }, 1127, "udp" }, - { "saphostctrl", { NULL }, 1128, "tcp" }, - { "saphostctrl", { NULL }, 1128, "udp" }, - { "saphostctrls", { NULL }, 1129, "tcp" }, - { "saphostctrls", { NULL }, 1129, "udp" }, - { "casp", { NULL }, 1130, "tcp" }, - { "casp", { NULL }, 1130, "udp" }, - { "caspssl", { NULL }, 1131, "tcp" }, - { "caspssl", { NULL }, 1131, "udp" }, - { "kvm-via-ip", { NULL }, 1132, "tcp" }, - { "kvm-via-ip", { NULL }, 1132, "udp" }, - { "dfn", { NULL }, 1133, "tcp" }, - { "dfn", { NULL }, 1133, "udp" }, - { "aplx", { NULL }, 1134, "tcp" }, - { "aplx", { NULL }, 1134, "udp" }, - { "omnivision", { NULL }, 1135, "tcp" }, - { "omnivision", { NULL }, 1135, "udp" }, - { "hhb-gateway", { NULL }, 1136, "tcp" }, - { "hhb-gateway", { NULL }, 1136, "udp" }, - { "trim", { NULL }, 1137, "tcp" }, - { "trim", { NULL }, 1137, "udp" }, - { "encrypted_admin", { NULL }, 1138, "tcp" }, - { "encrypted_admin", { NULL }, 1138, "udp" }, - { "evm", { NULL }, 1139, "tcp" }, - { "evm", { NULL }, 1139, "udp" }, - { "autonoc", { NULL }, 1140, "tcp" }, - { "autonoc", { NULL }, 1140, "udp" }, - { "mxomss", { NULL }, 1141, "tcp" }, - { "mxomss", { NULL }, 1141, "udp" }, - { "edtools", { NULL }, 1142, "tcp" }, - { "edtools", { NULL }, 1142, "udp" }, - { "imyx", { NULL }, 1143, "tcp" }, - { "imyx", { NULL }, 1143, "udp" }, - { "fuscript", { NULL }, 1144, "tcp" }, - { "fuscript", { NULL }, 1144, "udp" }, - { "x9-icue", { NULL }, 1145, "tcp" }, - { "x9-icue", { NULL }, 1145, "udp" }, - { "audit-transfer", { NULL }, 1146, "tcp" }, - { "audit-transfer", { NULL }, 1146, "udp" }, - { "capioverlan", { NULL }, 1147, "tcp" }, - { "capioverlan", { NULL }, 1147, "udp" }, - { "elfiq-repl", { NULL }, 1148, "tcp" }, - { "elfiq-repl", { NULL }, 1148, "udp" }, - { "bvtsonar", { NULL }, 1149, "tcp" }, - { "bvtsonar", { NULL }, 1149, "udp" }, - { "blaze", { NULL }, 1150, "tcp" }, - { "blaze", { NULL }, 1150, "udp" }, - { "unizensus", { NULL }, 1151, "tcp" }, - { "unizensus", { NULL }, 1151, "udp" }, - { "winpoplanmess", { NULL }, 1152, "tcp" }, - { "winpoplanmess", { NULL }, 1152, "udp" }, - { "c1222-acse", { NULL }, 1153, "tcp" }, - { "c1222-acse", { NULL }, 1153, "udp" }, - { "resacommunity", { NULL }, 1154, "tcp" }, - { "resacommunity", { NULL }, 1154, "udp" }, - { "nfa", { NULL }, 1155, "tcp" }, - { "nfa", { NULL }, 1155, "udp" }, - { "iascontrol-oms", { NULL }, 1156, "tcp" }, - { "iascontrol-oms", { NULL }, 1156, "udp" }, - { "iascontrol", { NULL }, 1157, "tcp" }, - { "iascontrol", { NULL }, 1157, "udp" }, - { "dbcontrol-oms", { NULL }, 1158, "tcp" }, - { "dbcontrol-oms", { NULL }, 1158, "udp" }, - { "oracle-oms", { NULL }, 1159, "tcp" }, - { "oracle-oms", { NULL }, 1159, "udp" }, - { "olsv", { NULL }, 1160, "tcp" }, - { "olsv", { NULL }, 1160, "udp" }, - { "health-polling", { NULL }, 1161, "tcp" }, - { "health-polling", { NULL }, 1161, "udp" }, - { "health-trap", { NULL }, 1162, "tcp" }, - { "health-trap", { NULL }, 1162, "udp" }, - { "sddp", { NULL }, 1163, "tcp" }, - { "sddp", { NULL }, 1163, "udp" }, - { "qsm-proxy", { NULL }, 1164, "tcp" }, - { "qsm-proxy", { NULL }, 1164, "udp" }, - { "qsm-gui", { NULL }, 1165, "tcp" }, - { "qsm-gui", { NULL }, 1165, "udp" }, - { "qsm-remote", { NULL }, 1166, "tcp" }, - { "qsm-remote", { NULL }, 1166, "udp" }, - { "cisco-ipsla", { NULL }, 1167, "tcp" }, - { "cisco-ipsla", { NULL }, 1167, "udp" }, - { "cisco-ipsla", { NULL }, 1167, "sctp"}, - { "vchat", { NULL }, 1168, "tcp" }, - { "vchat", { NULL }, 1168, "udp" }, - { "tripwire", { NULL }, 1169, "tcp" }, - { "tripwire", { NULL }, 1169, "udp" }, - { "atc-lm", { NULL }, 1170, "tcp" }, - { "atc-lm", { NULL }, 1170, "udp" }, - { "atc-appserver", { NULL }, 1171, "tcp" }, - { "atc-appserver", { NULL }, 1171, "udp" }, - { "dnap", { NULL }, 1172, "tcp" }, - { "dnap", { NULL }, 1172, "udp" }, - { "d-cinema-rrp", { NULL }, 1173, "tcp" }, - { "d-cinema-rrp", { NULL }, 1173, "udp" }, - { "fnet-remote-ui", { NULL }, 1174, "tcp" }, - { "fnet-remote-ui", { NULL }, 1174, "udp" }, - { "dossier", { NULL }, 1175, "tcp" }, - { "dossier", { NULL }, 1175, "udp" }, - { "indigo-server", { NULL }, 1176, "tcp" }, - { "indigo-server", { NULL }, 1176, "udp" }, - { "dkmessenger", { NULL }, 1177, "tcp" }, - { "dkmessenger", { NULL }, 1177, "udp" }, - { "sgi-storman", { NULL }, 1178, "tcp" }, - { "sgi-storman", { NULL }, 1178, "udp" }, - { "b2n", { NULL }, 1179, "tcp" }, - { "b2n", { NULL }, 1179, "udp" }, - { "mc-client", { NULL }, 1180, "tcp" }, - { "mc-client", { NULL }, 1180, "udp" }, - { "3comnetman", { NULL }, 1181, "tcp" }, - { "3comnetman", { NULL }, 1181, "udp" }, - { "accelenet", { NULL }, 1182, "tcp" }, - { "accelenet-data", { NULL }, 1182, "udp" }, - { "llsurfup-http", { NULL }, 1183, "tcp" }, - { "llsurfup-http", { NULL }, 1183, "udp" }, - { "llsurfup-https", { NULL }, 1184, "tcp" }, - { "llsurfup-https", { NULL }, 1184, "udp" }, - { "catchpole", { NULL }, 1185, "tcp" }, - { "catchpole", { NULL }, 1185, "udp" }, - { "mysql-cluster", { NULL }, 1186, "tcp" }, - { "mysql-cluster", { NULL }, 1186, "udp" }, - { "alias", { NULL }, 1187, "tcp" }, - { "alias", { NULL }, 1187, "udp" }, - { "hp-webadmin", { NULL }, 1188, "tcp" }, - { "hp-webadmin", { NULL }, 1188, "udp" }, - { "unet", { NULL }, 1189, "tcp" }, - { "unet", { NULL }, 1189, "udp" }, - { "commlinx-avl", { NULL }, 1190, "tcp" }, - { "commlinx-avl", { NULL }, 1190, "udp" }, - { "gpfs", { NULL }, 1191, "tcp" }, - { "gpfs", { NULL }, 1191, "udp" }, - { "caids-sensor", { NULL }, 1192, "tcp" }, - { "caids-sensor", { NULL }, 1192, "udp" }, - { "fiveacross", { NULL }, 1193, "tcp" }, - { "fiveacross", { NULL }, 1193, "udp" }, - { "openvpn", { NULL }, 1194, "tcp" }, - { "openvpn", { NULL }, 1194, "udp" }, - { "rsf-1", { NULL }, 1195, "tcp" }, - { "rsf-1", { NULL }, 1195, "udp" }, - { "netmagic", { NULL }, 1196, "tcp" }, - { "netmagic", { NULL }, 1196, "udp" }, - { "carrius-rshell", { NULL }, 1197, "tcp" }, - { "carrius-rshell", { NULL }, 1197, "udp" }, - { "cajo-discovery", { NULL }, 1198, "tcp" }, - { "cajo-discovery", { NULL }, 1198, "udp" }, - { "dmidi", { NULL }, 1199, "tcp" }, - { "dmidi", { NULL }, 1199, "udp" }, - { "scol", { NULL }, 1200, "tcp" }, - { "scol", { NULL }, 1200, "udp" }, - { "nucleus-sand", { NULL }, 1201, "tcp" }, - { "nucleus-sand", { NULL }, 1201, "udp" }, - { "caiccipc", { NULL }, 1202, "tcp" }, - { "caiccipc", { NULL }, 1202, "udp" }, - { "ssslic-mgr", { NULL }, 1203, "tcp" }, - { "ssslic-mgr", { NULL }, 1203, "udp" }, - { "ssslog-mgr", { NULL }, 1204, "tcp" }, - { "ssslog-mgr", { NULL }, 1204, "udp" }, - { "accord-mgc", { NULL }, 1205, "tcp" }, - { "accord-mgc", { NULL }, 1205, "udp" }, - { "anthony-data", { NULL }, 1206, "tcp" }, - { "anthony-data", { NULL }, 1206, "udp" }, - { "metasage", { NULL }, 1207, "tcp" }, - { "metasage", { NULL }, 1207, "udp" }, - { "seagull-ais", { NULL }, 1208, "tcp" }, - { "seagull-ais", { NULL }, 1208, "udp" }, - { "ipcd3", { NULL }, 1209, "tcp" }, - { "ipcd3", { NULL }, 1209, "udp" }, - { "eoss", { NULL }, 1210, "tcp" }, - { "eoss", { NULL }, 1210, "udp" }, - { "groove-dpp", { NULL }, 1211, "tcp" }, - { "groove-dpp", { NULL }, 1211, "udp" }, - { "lupa", { NULL }, 1212, "tcp" }, - { "lupa", { NULL }, 1212, "udp" }, - { "mpc-lifenet", { NULL }, 1213, "tcp" }, - { "mpc-lifenet", { NULL }, 1213, "udp" }, - { "kazaa", { NULL }, 1214, "tcp" }, - { "kazaa", { NULL }, 1214, "udp" }, - { "scanstat-1", { NULL }, 1215, "tcp" }, - { "scanstat-1", { NULL }, 1215, "udp" }, - { "etebac5", { NULL }, 1216, "tcp" }, - { "etebac5", { NULL }, 1216, "udp" }, - { "hpss-ndapi", { NULL }, 1217, "tcp" }, - { "hpss-ndapi", { NULL }, 1217, "udp" }, - { "aeroflight-ads", { NULL }, 1218, "tcp" }, - { "aeroflight-ads", { NULL }, 1218, "udp" }, - { "aeroflight-ret", { NULL }, 1219, "tcp" }, - { "aeroflight-ret", { NULL }, 1219, "udp" }, - { "qt-serveradmin", { NULL }, 1220, "tcp" }, - { "qt-serveradmin", { NULL }, 1220, "udp" }, - { "sweetware-apps", { NULL }, 1221, "tcp" }, - { "sweetware-apps", { NULL }, 1221, "udp" }, - { "nerv", { NULL }, 1222, "tcp" }, - { "nerv", { NULL }, 1222, "udp" }, - { "tgp", { NULL }, 1223, "tcp" }, - { "tgp", { NULL }, 1223, "udp" }, - { "vpnz", { NULL }, 1224, "tcp" }, - { "vpnz", { NULL }, 1224, "udp" }, - { "slinkysearch", { NULL }, 1225, "tcp" }, - { "slinkysearch", { NULL }, 1225, "udp" }, - { "stgxfws", { NULL }, 1226, "tcp" }, - { "stgxfws", { NULL }, 1226, "udp" }, - { "dns2go", { NULL }, 1227, "tcp" }, - { "dns2go", { NULL }, 1227, "udp" }, - { "florence", { NULL }, 1228, "tcp" }, - { "florence", { NULL }, 1228, "udp" }, - { "zented", { NULL }, 1229, "tcp" }, - { "zented", { NULL }, 1229, "udp" }, - { "periscope", { NULL }, 1230, "tcp" }, - { "periscope", { NULL }, 1230, "udp" }, - { "menandmice-lpm", { NULL }, 1231, "tcp" }, - { "menandmice-lpm", { NULL }, 1231, "udp" }, - { "univ-appserver", { NULL }, 1233, "tcp" }, - { "univ-appserver", { NULL }, 1233, "udp" }, - { "search-agent", { NULL }, 1234, "tcp" }, - { "search-agent", { NULL }, 1234, "udp" }, - { "mosaicsyssvc1", { NULL }, 1235, "tcp" }, - { "mosaicsyssvc1", { NULL }, 1235, "udp" }, - { "bvcontrol", { NULL }, 1236, "tcp" }, - { "bvcontrol", { NULL }, 1236, "udp" }, - { "tsdos390", { NULL }, 1237, "tcp" }, - { "tsdos390", { NULL }, 1237, "udp" }, - { "hacl-qs", { NULL }, 1238, "tcp" }, - { "hacl-qs", { NULL }, 1238, "udp" }, - { "nmsd", { NULL }, 1239, "tcp" }, - { "nmsd", { NULL }, 1239, "udp" }, - { "instantia", { NULL }, 1240, "tcp" }, - { "instantia", { NULL }, 1240, "udp" }, - { "nessus", { NULL }, 1241, "tcp" }, - { "nessus", { NULL }, 1241, "udp" }, - { "nmasoverip", { NULL }, 1242, "tcp" }, - { "nmasoverip", { NULL }, 1242, "udp" }, - { "serialgateway", { NULL }, 1243, "tcp" }, - { "serialgateway", { NULL }, 1243, "udp" }, - { "isbconference1", { NULL }, 1244, "tcp" }, - { "isbconference1", { NULL }, 1244, "udp" }, - { "isbconference2", { NULL }, 1245, "tcp" }, - { "isbconference2", { NULL }, 1245, "udp" }, - { "payrouter", { NULL }, 1246, "tcp" }, - { "payrouter", { NULL }, 1246, "udp" }, - { "visionpyramid", { NULL }, 1247, "tcp" }, - { "visionpyramid", { NULL }, 1247, "udp" }, - { "hermes", { NULL }, 1248, "tcp" }, - { "hermes", { NULL }, 1248, "udp" }, - { "mesavistaco", { NULL }, 1249, "tcp" }, - { "mesavistaco", { NULL }, 1249, "udp" }, - { "swldy-sias", { NULL }, 1250, "tcp" }, - { "swldy-sias", { NULL }, 1250, "udp" }, - { "servergraph", { NULL }, 1251, "tcp" }, - { "servergraph", { NULL }, 1251, "udp" }, - { "bspne-pcc", { NULL }, 1252, "tcp" }, - { "bspne-pcc", { NULL }, 1252, "udp" }, - { "q55-pcc", { NULL }, 1253, "tcp" }, - { "q55-pcc", { NULL }, 1253, "udp" }, - { "de-noc", { NULL }, 1254, "tcp" }, - { "de-noc", { NULL }, 1254, "udp" }, - { "de-cache-query", { NULL }, 1255, "tcp" }, - { "de-cache-query", { NULL }, 1255, "udp" }, - { "de-server", { NULL }, 1256, "tcp" }, - { "de-server", { NULL }, 1256, "udp" }, - { "shockwave2", { NULL }, 1257, "tcp" }, - { "shockwave2", { NULL }, 1257, "udp" }, - { "opennl", { NULL }, 1258, "tcp" }, - { "opennl", { NULL }, 1258, "udp" }, - { "opennl-voice", { NULL }, 1259, "tcp" }, - { "opennl-voice", { NULL }, 1259, "udp" }, - { "ibm-ssd", { NULL }, 1260, "tcp" }, - { "ibm-ssd", { NULL }, 1260, "udp" }, - { "mpshrsv", { NULL }, 1261, "tcp" }, - { "mpshrsv", { NULL }, 1261, "udp" }, - { "qnts-orb", { NULL }, 1262, "tcp" }, - { "qnts-orb", { NULL }, 1262, "udp" }, - { "dka", { NULL }, 1263, "tcp" }, - { "dka", { NULL }, 1263, "udp" }, - { "prat", { NULL }, 1264, "tcp" }, - { "prat", { NULL }, 1264, "udp" }, - { "dssiapi", { NULL }, 1265, "tcp" }, - { "dssiapi", { NULL }, 1265, "udp" }, - { "dellpwrappks", { NULL }, 1266, "tcp" }, - { "dellpwrappks", { NULL }, 1266, "udp" }, - { "epc", { NULL }, 1267, "tcp" }, - { "epc", { NULL }, 1267, "udp" }, - { "propel-msgsys", { NULL }, 1268, "tcp" }, - { "propel-msgsys", { NULL }, 1268, "udp" }, - { "watilapp", { NULL }, 1269, "tcp" }, - { "watilapp", { NULL }, 1269, "udp" }, - { "opsmgr", { NULL }, 1270, "tcp" }, - { "opsmgr", { NULL }, 1270, "udp" }, - { "excw", { NULL }, 1271, "tcp" }, - { "excw", { NULL }, 1271, "udp" }, - { "cspmlockmgr", { NULL }, 1272, "tcp" }, - { "cspmlockmgr", { NULL }, 1272, "udp" }, - { "emc-gateway", { NULL }, 1273, "tcp" }, - { "emc-gateway", { NULL }, 1273, "udp" }, - { "t1distproc", { NULL }, 1274, "tcp" }, - { "t1distproc", { NULL }, 1274, "udp" }, - { "ivcollector", { NULL }, 1275, "tcp" }, - { "ivcollector", { NULL }, 1275, "udp" }, - { "ivmanager", { NULL }, 1276, "tcp" }, - { "ivmanager", { NULL }, 1276, "udp" }, - { "miva-mqs", { NULL }, 1277, "tcp" }, - { "miva-mqs", { NULL }, 1277, "udp" }, - { "dellwebadmin-1", { NULL }, 1278, "tcp" }, - { "dellwebadmin-1", { NULL }, 1278, "udp" }, - { "dellwebadmin-2", { NULL }, 1279, "tcp" }, - { "dellwebadmin-2", { NULL }, 1279, "udp" }, - { "pictrography", { NULL }, 1280, "tcp" }, - { "pictrography", { NULL }, 1280, "udp" }, - { "healthd", { NULL }, 1281, "tcp" }, - { "healthd", { NULL }, 1281, "udp" }, - { "emperion", { NULL }, 1282, "tcp" }, - { "emperion", { NULL }, 1282, "udp" }, - { "productinfo", { NULL }, 1283, "tcp" }, - { "productinfo", { NULL }, 1283, "udp" }, - { "iee-qfx", { NULL }, 1284, "tcp" }, - { "iee-qfx", { NULL }, 1284, "udp" }, - { "neoiface", { NULL }, 1285, "tcp" }, - { "neoiface", { NULL }, 1285, "udp" }, - { "netuitive", { NULL }, 1286, "tcp" }, - { "netuitive", { NULL }, 1286, "udp" }, - { "routematch", { NULL }, 1287, "tcp" }, - { "routematch", { NULL }, 1287, "udp" }, - { "navbuddy", { NULL }, 1288, "tcp" }, - { "navbuddy", { NULL }, 1288, "udp" }, - { "jwalkserver", { NULL }, 1289, "tcp" }, - { "jwalkserver", { NULL }, 1289, "udp" }, - { "winjaserver", { NULL }, 1290, "tcp" }, - { "winjaserver", { NULL }, 1290, "udp" }, - { "seagulllms", { NULL }, 1291, "tcp" }, - { "seagulllms", { NULL }, 1291, "udp" }, - { "dsdn", { NULL }, 1292, "tcp" }, - { "dsdn", { NULL }, 1292, "udp" }, - { "pkt-krb-ipsec", { NULL }, 1293, "tcp" }, - { "pkt-krb-ipsec", { NULL }, 1293, "udp" }, - { "cmmdriver", { NULL }, 1294, "tcp" }, - { "cmmdriver", { NULL }, 1294, "udp" }, - { "ehtp", { NULL }, 1295, "tcp" }, - { "ehtp", { NULL }, 1295, "udp" }, - { "dproxy", { NULL }, 1296, "tcp" }, - { "dproxy", { NULL }, 1296, "udp" }, - { "sdproxy", { NULL }, 1297, "tcp" }, - { "sdproxy", { NULL }, 1297, "udp" }, - { "lpcp", { NULL }, 1298, "tcp" }, - { "lpcp", { NULL }, 1298, "udp" }, - { "hp-sci", { NULL }, 1299, "tcp" }, - { "hp-sci", { NULL }, 1299, "udp" }, - { "h323hostcallsc", { NULL }, 1300, "tcp" }, - { "h323hostcallsc", { NULL }, 1300, "udp" }, - { "ci3-software-1", { NULL }, 1301, "tcp" }, - { "ci3-software-1", { NULL }, 1301, "udp" }, - { "ci3-software-2", { NULL }, 1302, "tcp" }, - { "ci3-software-2", { NULL }, 1302, "udp" }, - { "sftsrv", { NULL }, 1303, "tcp" }, - { "sftsrv", { NULL }, 1303, "udp" }, - { "boomerang", { NULL }, 1304, "tcp" }, - { "boomerang", { NULL }, 1304, "udp" }, - { "pe-mike", { NULL }, 1305, "tcp" }, - { "pe-mike", { NULL }, 1305, "udp" }, - { "re-conn-proto", { NULL }, 1306, "tcp" }, - { "re-conn-proto", { NULL }, 1306, "udp" }, - { "pacmand", { NULL }, 1307, "tcp" }, - { "pacmand", { NULL }, 1307, "udp" }, - { "odsi", { NULL }, 1308, "tcp" }, - { "odsi", { NULL }, 1308, "udp" }, - { "jtag-server", { NULL }, 1309, "tcp" }, - { "jtag-server", { NULL }, 1309, "udp" }, - { "husky", { NULL }, 1310, "tcp" }, - { "husky", { NULL }, 1310, "udp" }, - { "rxmon", { NULL }, 1311, "tcp" }, - { "rxmon", { NULL }, 1311, "udp" }, - { "sti-envision", { NULL }, 1312, "tcp" }, - { "sti-envision", { NULL }, 1312, "udp" }, - { "bmc_patroldb", { NULL }, 1313, "tcp" }, - { "bmc_patroldb", { NULL }, 1313, "udp" }, - { "pdps", { NULL }, 1314, "tcp" }, - { "pdps", { NULL }, 1314, "udp" }, - { "els", { NULL }, 1315, "tcp" }, - { "els", { NULL }, 1315, "udp" }, - { "exbit-escp", { NULL }, 1316, "tcp" }, - { "exbit-escp", { NULL }, 1316, "udp" }, - { "vrts-ipcserver", { NULL }, 1317, "tcp" }, - { "vrts-ipcserver", { NULL }, 1317, "udp" }, - { "krb5gatekeeper", { NULL }, 1318, "tcp" }, - { "krb5gatekeeper", { NULL }, 1318, "udp" }, - { "amx-icsp", { NULL }, 1319, "tcp" }, - { "amx-icsp", { NULL }, 1319, "udp" }, - { "amx-axbnet", { NULL }, 1320, "tcp" }, - { "amx-axbnet", { NULL }, 1320, "udp" }, - { "pip", { NULL }, 1321, "tcp" }, - { "pip", { NULL }, 1321, "udp" }, - { "novation", { NULL }, 1322, "tcp" }, - { "novation", { NULL }, 1322, "udp" }, - { "brcd", { NULL }, 1323, "tcp" }, - { "brcd", { NULL }, 1323, "udp" }, - { "delta-mcp", { NULL }, 1324, "tcp" }, - { "delta-mcp", { NULL }, 1324, "udp" }, - { "dx-instrument", { NULL }, 1325, "tcp" }, - { "dx-instrument", { NULL }, 1325, "udp" }, - { "wimsic", { NULL }, 1326, "tcp" }, - { "wimsic", { NULL }, 1326, "udp" }, - { "ultrex", { NULL }, 1327, "tcp" }, - { "ultrex", { NULL }, 1327, "udp" }, - { "ewall", { NULL }, 1328, "tcp" }, - { "ewall", { NULL }, 1328, "udp" }, - { "netdb-export", { NULL }, 1329, "tcp" }, - { "netdb-export", { NULL }, 1329, "udp" }, - { "streetperfect", { NULL }, 1330, "tcp" }, - { "streetperfect", { NULL }, 1330, "udp" }, - { "intersan", { NULL }, 1331, "tcp" }, - { "intersan", { NULL }, 1331, "udp" }, - { "pcia-rxp-b", { NULL }, 1332, "tcp" }, - { "pcia-rxp-b", { NULL }, 1332, "udp" }, - { "passwrd-policy", { NULL }, 1333, "tcp" }, - { "passwrd-policy", { NULL }, 1333, "udp" }, - { "writesrv", { NULL }, 1334, "tcp" }, - { "writesrv", { NULL }, 1334, "udp" }, - { "digital-notary", { NULL }, 1335, "tcp" }, - { "digital-notary", { NULL }, 1335, "udp" }, - { "ischat", { NULL }, 1336, "tcp" }, - { "ischat", { NULL }, 1336, "udp" }, - { "menandmice-dns", { NULL }, 1337, "tcp" }, - { "menandmice-dns", { NULL }, 1337, "udp" }, - { "wmc-log-svc", { NULL }, 1338, "tcp" }, - { "wmc-log-svc", { NULL }, 1338, "udp" }, - { "kjtsiteserver", { NULL }, 1339, "tcp" }, - { "kjtsiteserver", { NULL }, 1339, "udp" }, - { "naap", { NULL }, 1340, "tcp" }, - { "naap", { NULL }, 1340, "udp" }, - { "qubes", { NULL }, 1341, "tcp" }, - { "qubes", { NULL }, 1341, "udp" }, - { "esbroker", { NULL }, 1342, "tcp" }, - { "esbroker", { NULL }, 1342, "udp" }, - { "re101", { NULL }, 1343, "tcp" }, - { "re101", { NULL }, 1343, "udp" }, - { "icap", { NULL }, 1344, "tcp" }, - { "icap", { NULL }, 1344, "udp" }, - { "vpjp", { NULL }, 1345, "tcp" }, - { "vpjp", { NULL }, 1345, "udp" }, - { "alta-ana-lm", { NULL }, 1346, "tcp" }, - { "alta-ana-lm", { NULL }, 1346, "udp" }, - { "bbn-mmc", { NULL }, 1347, "tcp" }, - { "bbn-mmc", { NULL }, 1347, "udp" }, - { "bbn-mmx", { NULL }, 1348, "tcp" }, - { "bbn-mmx", { NULL }, 1348, "udp" }, - { "sbook", { NULL }, 1349, "tcp" }, - { "sbook", { NULL }, 1349, "udp" }, - { "editbench", { NULL }, 1350, "tcp" }, - { "editbench", { NULL }, 1350, "udp" }, - { "equationbuilder", { NULL }, 1351, "tcp" }, - { "equationbuilder", { NULL }, 1351, "udp" }, - { "lotusnote", { NULL }, 1352, "tcp" }, - { "lotusnote", { NULL }, 1352, "udp" }, - { "relief", { NULL }, 1353, "tcp" }, - { "relief", { NULL }, 1353, "udp" }, - { "XSIP-network", { NULL }, 1354, "tcp" }, - { "XSIP-network", { NULL }, 1354, "udp" }, - { "intuitive-edge", { NULL }, 1355, "tcp" }, - { "intuitive-edge", { NULL }, 1355, "udp" }, - { "cuillamartin", { NULL }, 1356, "tcp" }, - { "cuillamartin", { NULL }, 1356, "udp" }, - { "pegboard", { NULL }, 1357, "tcp" }, - { "pegboard", { NULL }, 1357, "udp" }, - { "connlcli", { NULL }, 1358, "tcp" }, - { "connlcli", { NULL }, 1358, "udp" }, - { "ftsrv", { NULL }, 1359, "tcp" }, - { "ftsrv", { NULL }, 1359, "udp" }, - { "mimer", { NULL }, 1360, "tcp" }, - { "mimer", { NULL }, 1360, "udp" }, - { "linx", { NULL }, 1361, "tcp" }, - { "linx", { NULL }, 1361, "udp" }, - { "timeflies", { NULL }, 1362, "tcp" }, - { "timeflies", { NULL }, 1362, "udp" }, - { "ndm-requester", { NULL }, 1363, "tcp" }, - { "ndm-requester", { NULL }, 1363, "udp" }, - { "ndm-server", { NULL }, 1364, "tcp" }, - { "ndm-server", { NULL }, 1364, "udp" }, - { "adapt-sna", { NULL }, 1365, "tcp" }, - { "adapt-sna", { NULL }, 1365, "udp" }, - { "netware-csp", { NULL }, 1366, "tcp" }, - { "netware-csp", { NULL }, 1366, "udp" }, - { "dcs", { NULL }, 1367, "tcp" }, - { "dcs", { NULL }, 1367, "udp" }, - { "screencast", { NULL }, 1368, "tcp" }, - { "screencast", { NULL }, 1368, "udp" }, - { "gv-us", { NULL }, 1369, "tcp" }, - { "gv-us", { NULL }, 1369, "udp" }, - { "us-gv", { NULL }, 1370, "tcp" }, - { "us-gv", { NULL }, 1370, "udp" }, - { "fc-cli", { NULL }, 1371, "tcp" }, - { "fc-cli", { NULL }, 1371, "udp" }, - { "fc-ser", { NULL }, 1372, "tcp" }, - { "fc-ser", { NULL }, 1372, "udp" }, - { "chromagrafx", { NULL }, 1373, "tcp" }, - { "chromagrafx", { NULL }, 1373, "udp" }, - { "molly", { NULL }, 1374, "tcp" }, - { "molly", { NULL }, 1374, "udp" }, - { "bytex", { NULL }, 1375, "tcp" }, - { "bytex", { NULL }, 1375, "udp" }, - { "ibm-pps", { NULL }, 1376, "tcp" }, - { "ibm-pps", { NULL }, 1376, "udp" }, - { "cichlid", { NULL }, 1377, "tcp" }, - { "cichlid", { NULL }, 1377, "udp" }, - { "elan", { NULL }, 1378, "tcp" }, - { "elan", { NULL }, 1378, "udp" }, - { "dbreporter", { NULL }, 1379, "tcp" }, - { "dbreporter", { NULL }, 1379, "udp" }, - { "telesis-licman", { NULL }, 1380, "tcp" }, - { "telesis-licman", { NULL }, 1380, "udp" }, - { "apple-licman", { NULL }, 1381, "tcp" }, - { "apple-licman", { NULL }, 1381, "udp" }, - { "udt_os", { NULL }, 1382, "tcp" }, - { "udt_os", { NULL }, 1382, "udp" }, - { "gwha", { NULL }, 1383, "tcp" }, - { "gwha", { NULL }, 1383, "udp" }, - { "os-licman", { NULL }, 1384, "tcp" }, - { "os-licman", { NULL }, 1384, "udp" }, - { "atex_elmd", { NULL }, 1385, "tcp" }, - { "atex_elmd", { NULL }, 1385, "udp" }, - { "checksum", { NULL }, 1386, "tcp" }, - { "checksum", { NULL }, 1386, "udp" }, - { "cadsi-lm", { NULL }, 1387, "tcp" }, - { "cadsi-lm", { NULL }, 1387, "udp" }, - { "objective-dbc", { NULL }, 1388, "tcp" }, - { "objective-dbc", { NULL }, 1388, "udp" }, - { "iclpv-dm", { NULL }, 1389, "tcp" }, - { "iclpv-dm", { NULL }, 1389, "udp" }, - { "iclpv-sc", { NULL }, 1390, "tcp" }, - { "iclpv-sc", { NULL }, 1390, "udp" }, - { "iclpv-sas", { NULL }, 1391, "tcp" }, - { "iclpv-sas", { NULL }, 1391, "udp" }, - { "iclpv-pm", { NULL }, 1392, "tcp" }, - { "iclpv-pm", { NULL }, 1392, "udp" }, - { "iclpv-nls", { NULL }, 1393, "tcp" }, - { "iclpv-nls", { NULL }, 1393, "udp" }, - { "iclpv-nlc", { NULL }, 1394, "tcp" }, - { "iclpv-nlc", { NULL }, 1394, "udp" }, - { "iclpv-wsm", { NULL }, 1395, "tcp" }, - { "iclpv-wsm", { NULL }, 1395, "udp" }, - { "dvl-activemail", { NULL }, 1396, "tcp" }, - { "dvl-activemail", { NULL }, 1396, "udp" }, - { "audio-activmail", { NULL }, 1397, "tcp" }, - { "audio-activmail", { NULL }, 1397, "udp" }, - { "video-activmail", { NULL }, 1398, "tcp" }, - { "video-activmail", { NULL }, 1398, "udp" }, - { "cadkey-licman", { NULL }, 1399, "tcp" }, - { "cadkey-licman", { NULL }, 1399, "udp" }, - { "cadkey-tablet", { NULL }, 1400, "tcp" }, - { "cadkey-tablet", { NULL }, 1400, "udp" }, - { "goldleaf-licman", { NULL }, 1401, "tcp" }, - { "goldleaf-licman", { NULL }, 1401, "udp" }, - { "prm-sm-np", { NULL }, 1402, "tcp" }, - { "prm-sm-np", { NULL }, 1402, "udp" }, - { "prm-nm-np", { NULL }, 1403, "tcp" }, - { "prm-nm-np", { NULL }, 1403, "udp" }, - { "igi-lm", { NULL }, 1404, "tcp" }, - { "igi-lm", { NULL }, 1404, "udp" }, - { "ibm-res", { NULL }, 1405, "tcp" }, - { "ibm-res", { NULL }, 1405, "udp" }, - { "netlabs-lm", { NULL }, 1406, "tcp" }, - { "netlabs-lm", { NULL }, 1406, "udp" }, - { "dbsa-lm", { NULL }, 1407, "tcp" }, - { "dbsa-lm", { NULL }, 1407, "udp" }, - { "sophia-lm", { NULL }, 1408, "tcp" }, - { "sophia-lm", { NULL }, 1408, "udp" }, - { "here-lm", { NULL }, 1409, "tcp" }, - { "here-lm", { NULL }, 1409, "udp" }, - { "hiq", { NULL }, 1410, "tcp" }, - { "hiq", { NULL }, 1410, "udp" }, - { "af", { NULL }, 1411, "tcp" }, - { "af", { NULL }, 1411, "udp" }, - { "innosys", { NULL }, 1412, "tcp" }, - { "innosys", { NULL }, 1412, "udp" }, - { "innosys-acl", { NULL }, 1413, "tcp" }, - { "innosys-acl", { NULL }, 1413, "udp" }, - { "ibm-mqseries", { NULL }, 1414, "tcp" }, - { "ibm-mqseries", { NULL }, 1414, "udp" }, - { "dbstar", { NULL }, 1415, "tcp" }, - { "dbstar", { NULL }, 1415, "udp" }, - { "novell-lu6.2", { NULL }, 1416, "tcp" }, - { "novell-lu6.2", { NULL }, 1416, "udp" }, - { "timbuktu-srv1", { NULL }, 1417, "tcp" }, - { "timbuktu-srv1", { NULL }, 1417, "udp" }, - { "timbuktu-srv2", { NULL }, 1418, "tcp" }, - { "timbuktu-srv2", { NULL }, 1418, "udp" }, - { "timbuktu-srv3", { NULL }, 1419, "tcp" }, - { "timbuktu-srv3", { NULL }, 1419, "udp" }, - { "timbuktu-srv4", { NULL }, 1420, "tcp" }, - { "timbuktu-srv4", { NULL }, 1420, "udp" }, - { "gandalf-lm", { NULL }, 1421, "tcp" }, - { "gandalf-lm", { NULL }, 1421, "udp" }, - { "autodesk-lm", { NULL }, 1422, "tcp" }, - { "autodesk-lm", { NULL }, 1422, "udp" }, - { "essbase", { NULL }, 1423, "tcp" }, - { "essbase", { NULL }, 1423, "udp" }, - { "hybrid", { NULL }, 1424, "tcp" }, - { "hybrid", { NULL }, 1424, "udp" }, - { "zion-lm", { NULL }, 1425, "tcp" }, - { "zion-lm", { NULL }, 1425, "udp" }, - { "sais", { NULL }, 1426, "tcp" }, - { "sais", { NULL }, 1426, "udp" }, - { "mloadd", { NULL }, 1427, "tcp" }, - { "mloadd", { NULL }, 1427, "udp" }, - { "informatik-lm", { NULL }, 1428, "tcp" }, - { "informatik-lm", { NULL }, 1428, "udp" }, - { "nms", { NULL }, 1429, "tcp" }, - { "nms", { NULL }, 1429, "udp" }, - { "tpdu", { NULL }, 1430, "tcp" }, - { "tpdu", { NULL }, 1430, "udp" }, - { "rgtp", { NULL }, 1431, "tcp" }, - { "rgtp", { NULL }, 1431, "udp" }, - { "blueberry-lm", { NULL }, 1432, "tcp" }, - { "blueberry-lm", { NULL }, 1432, "udp" }, - { "ms-sql-s", { NULL }, 1433, "tcp" }, - { "ms-sql-s", { NULL }, 1433, "udp" }, - { "ms-sql-m", { NULL }, 1434, "tcp" }, - { "ms-sql-m", { NULL }, 1434, "udp" }, - { "ibm-cics", { NULL }, 1435, "tcp" }, - { "ibm-cics", { NULL }, 1435, "udp" }, - { "saism", { NULL }, 1436, "tcp" }, - { "saism", { NULL }, 1436, "udp" }, - { "tabula", { NULL }, 1437, "tcp" }, - { "tabula", { NULL }, 1437, "udp" }, - { "eicon-server", { NULL }, 1438, "tcp" }, - { "eicon-server", { NULL }, 1438, "udp" }, - { "eicon-x25", { NULL }, 1439, "tcp" }, - { "eicon-x25", { NULL }, 1439, "udp" }, - { "eicon-slp", { NULL }, 1440, "tcp" }, - { "eicon-slp", { NULL }, 1440, "udp" }, - { "cadis-1", { NULL }, 1441, "tcp" }, - { "cadis-1", { NULL }, 1441, "udp" }, - { "cadis-2", { NULL }, 1442, "tcp" }, - { "cadis-2", { NULL }, 1442, "udp" }, - { "ies-lm", { NULL }, 1443, "tcp" }, - { "ies-lm", { NULL }, 1443, "udp" }, - { "marcam-lm", { NULL }, 1444, "tcp" }, - { "marcam-lm", { NULL }, 1444, "udp" }, - { "proxima-lm", { NULL }, 1445, "tcp" }, - { "proxima-lm", { NULL }, 1445, "udp" }, - { "ora-lm", { NULL }, 1446, "tcp" }, - { "ora-lm", { NULL }, 1446, "udp" }, - { "apri-lm", { NULL }, 1447, "tcp" }, - { "apri-lm", { NULL }, 1447, "udp" }, - { "oc-lm", { NULL }, 1448, "tcp" }, - { "oc-lm", { NULL }, 1448, "udp" }, - { "peport", { NULL }, 1449, "tcp" }, - { "peport", { NULL }, 1449, "udp" }, - { "dwf", { NULL }, 1450, "tcp" }, - { "dwf", { NULL }, 1450, "udp" }, - { "infoman", { NULL }, 1451, "tcp" }, - { "infoman", { NULL }, 1451, "udp" }, - { "gtegsc-lm", { NULL }, 1452, "tcp" }, - { "gtegsc-lm", { NULL }, 1452, "udp" }, - { "genie-lm", { NULL }, 1453, "tcp" }, - { "genie-lm", { NULL }, 1453, "udp" }, - { "interhdl_elmd", { NULL }, 1454, "tcp" }, - { "interhdl_elmd", { NULL }, 1454, "udp" }, - { "esl-lm", { NULL }, 1455, "tcp" }, - { "esl-lm", { NULL }, 1455, "udp" }, - { "dca", { NULL }, 1456, "tcp" }, - { "dca", { NULL }, 1456, "udp" }, - { "valisys-lm", { NULL }, 1457, "tcp" }, - { "valisys-lm", { NULL }, 1457, "udp" }, - { "nrcabq-lm", { NULL }, 1458, "tcp" }, - { "nrcabq-lm", { NULL }, 1458, "udp" }, - { "proshare1", { NULL }, 1459, "tcp" }, - { "proshare1", { NULL }, 1459, "udp" }, - { "proshare2", { NULL }, 1460, "tcp" }, - { "proshare2", { NULL }, 1460, "udp" }, - { "ibm_wrless_lan", { NULL }, 1461, "tcp" }, - { "ibm_wrless_lan", { NULL }, 1461, "udp" }, - { "world-lm", { NULL }, 1462, "tcp" }, - { "world-lm", { NULL }, 1462, "udp" }, - { "nucleus", { NULL }, 1463, "tcp" }, - { "nucleus", { NULL }, 1463, "udp" }, - { "msl_lmd", { NULL }, 1464, "tcp" }, - { "msl_lmd", { NULL }, 1464, "udp" }, - { "pipes", { NULL }, 1465, "tcp" }, - { "pipes", { NULL }, 1465, "udp" }, - { "oceansoft-lm", { NULL }, 1466, "tcp" }, - { "oceansoft-lm", { NULL }, 1466, "udp" }, - { "csdmbase", { NULL }, 1467, "tcp" }, - { "csdmbase", { NULL }, 1467, "udp" }, - { "csdm", { NULL }, 1468, "tcp" }, - { "csdm", { NULL }, 1468, "udp" }, - { "aal-lm", { NULL }, 1469, "tcp" }, - { "aal-lm", { NULL }, 1469, "udp" }, - { "uaiact", { NULL }, 1470, "tcp" }, - { "uaiact", { NULL }, 1470, "udp" }, - { "csdmbase", { NULL }, 1471, "tcp" }, - { "csdmbase", { NULL }, 1471, "udp" }, - { "csdm", { NULL }, 1472, "tcp" }, - { "csdm", { NULL }, 1472, "udp" }, - { "openmath", { NULL }, 1473, "tcp" }, - { "openmath", { NULL }, 1473, "udp" }, - { "telefinder", { NULL }, 1474, "tcp" }, - { "telefinder", { NULL }, 1474, "udp" }, - { "taligent-lm", { NULL }, 1475, "tcp" }, - { "taligent-lm", { NULL }, 1475, "udp" }, - { "clvm-cfg", { NULL }, 1476, "tcp" }, - { "clvm-cfg", { NULL }, 1476, "udp" }, - { "ms-sna-server", { NULL }, 1477, "tcp" }, - { "ms-sna-server", { NULL }, 1477, "udp" }, - { "ms-sna-base", { NULL }, 1478, "tcp" }, - { "ms-sna-base", { NULL }, 1478, "udp" }, - { "dberegister", { NULL }, 1479, "tcp" }, - { "dberegister", { NULL }, 1479, "udp" }, - { "pacerforum", { NULL }, 1480, "tcp" }, - { "pacerforum", { NULL }, 1480, "udp" }, - { "airs", { NULL }, 1481, "tcp" }, - { "airs", { NULL }, 1481, "udp" }, - { "miteksys-lm", { NULL }, 1482, "tcp" }, - { "miteksys-lm", { NULL }, 1482, "udp" }, - { "afs", { NULL }, 1483, "tcp" }, - { "afs", { NULL }, 1483, "udp" }, - { "confluent", { NULL }, 1484, "tcp" }, - { "confluent", { NULL }, 1484, "udp" }, - { "lansource", { NULL }, 1485, "tcp" }, - { "lansource", { NULL }, 1485, "udp" }, - { "nms_topo_serv", { NULL }, 1486, "tcp" }, - { "nms_topo_serv", { NULL }, 1486, "udp" }, - { "localinfosrvr", { NULL }, 1487, "tcp" }, - { "localinfosrvr", { NULL }, 1487, "udp" }, - { "docstor", { NULL }, 1488, "tcp" }, - { "docstor", { NULL }, 1488, "udp" }, - { "dmdocbroker", { NULL }, 1489, "tcp" }, - { "dmdocbroker", { NULL }, 1489, "udp" }, - { "insitu-conf", { NULL }, 1490, "tcp" }, - { "insitu-conf", { NULL }, 1490, "udp" }, - { "stone-design-1", { NULL }, 1492, "tcp" }, - { "stone-design-1", { NULL }, 1492, "udp" }, - { "netmap_lm", { NULL }, 1493, "tcp" }, - { "netmap_lm", { NULL }, 1493, "udp" }, - { "ica", { NULL }, 1494, "tcp" }, - { "ica", { NULL }, 1494, "udp" }, - { "cvc", { NULL }, 1495, "tcp" }, - { "cvc", { NULL }, 1495, "udp" }, - { "liberty-lm", { NULL }, 1496, "tcp" }, - { "liberty-lm", { NULL }, 1496, "udp" }, - { "rfx-lm", { NULL }, 1497, "tcp" }, - { "rfx-lm", { NULL }, 1497, "udp" }, - { "sybase-sqlany", { NULL }, 1498, "tcp" }, - { "sybase-sqlany", { NULL }, 1498, "udp" }, - { "fhc", { NULL }, 1499, "tcp" }, - { "fhc", { NULL }, 1499, "udp" }, - { "vlsi-lm", { NULL }, 1500, "tcp" }, - { "vlsi-lm", { NULL }, 1500, "udp" }, - { "saiscm", { NULL }, 1501, "tcp" }, - { "saiscm", { NULL }, 1501, "udp" }, - { "shivadiscovery", { NULL }, 1502, "tcp" }, - { "shivadiscovery", { NULL }, 1502, "udp" }, - { "imtc-mcs", { NULL }, 1503, "tcp" }, - { "imtc-mcs", { NULL }, 1503, "udp" }, - { "evb-elm", { NULL }, 1504, "tcp" }, - { "evb-elm", { NULL }, 1504, "udp" }, - { "funkproxy", { NULL }, 1505, "tcp" }, - { "funkproxy", { NULL }, 1505, "udp" }, - { "utcd", { NULL }, 1506, "tcp" }, - { "utcd", { NULL }, 1506, "udp" }, - { "symplex", { NULL }, 1507, "tcp" }, - { "symplex", { NULL }, 1507, "udp" }, - { "diagmond", { NULL }, 1508, "tcp" }, - { "diagmond", { NULL }, 1508, "udp" }, - { "robcad-lm", { NULL }, 1509, "tcp" }, - { "robcad-lm", { NULL }, 1509, "udp" }, - { "mvx-lm", { NULL }, 1510, "tcp" }, - { "mvx-lm", { NULL }, 1510, "udp" }, - { "3l-l1", { NULL }, 1511, "tcp" }, - { "3l-l1", { NULL }, 1511, "udp" }, - { "wins", { NULL }, 1512, "tcp" }, - { "wins", { NULL }, 1512, "udp" }, - { "fujitsu-dtc", { NULL }, 1513, "tcp" }, - { "fujitsu-dtc", { NULL }, 1513, "udp" }, - { "fujitsu-dtcns", { NULL }, 1514, "tcp" }, - { "fujitsu-dtcns", { NULL }, 1514, "udp" }, - { "ifor-protocol", { NULL }, 1515, "tcp" }, - { "ifor-protocol", { NULL }, 1515, "udp" }, - { "vpad", { NULL }, 1516, "tcp" }, - { "vpad", { NULL }, 1516, "udp" }, - { "vpac", { NULL }, 1517, "tcp" }, - { "vpac", { NULL }, 1517, "udp" }, - { "vpvd", { NULL }, 1518, "tcp" }, - { "vpvd", { NULL }, 1518, "udp" }, - { "vpvc", { NULL }, 1519, "tcp" }, - { "vpvc", { NULL }, 1519, "udp" }, - { "atm-zip-office", { NULL }, 1520, "tcp" }, - { "atm-zip-office", { NULL }, 1520, "udp" }, - { "ncube-lm", { NULL }, 1521, "tcp" }, - { "ncube-lm", { NULL }, 1521, "udp" }, - { "ricardo-lm", { NULL }, 1522, "tcp" }, - { "ricardo-lm", { NULL }, 1522, "udp" }, - { "cichild-lm", { NULL }, 1523, "tcp" }, - { "cichild-lm", { NULL }, 1523, "udp" }, - { "ingreslock", { NULL }, 1524, "tcp" }, - { "ingreslock", { NULL }, 1524, "udp" }, - { "orasrv", { NULL }, 1525, "tcp" }, - { "orasrv", { NULL }, 1525, "udp" }, - { "prospero-np", { NULL }, 1525, "tcp" }, - { "prospero-np", { NULL }, 1525, "udp" }, - { "pdap-np", { NULL }, 1526, "tcp" }, - { "pdap-np", { NULL }, 1526, "udp" }, - { "tlisrv", { NULL }, 1527, "tcp" }, - { "tlisrv", { NULL }, 1527, "udp" }, - { "coauthor", { NULL }, 1529, "tcp" }, - { "coauthor", { NULL }, 1529, "udp" }, - { "rap-service", { NULL }, 1530, "tcp" }, - { "rap-service", { NULL }, 1530, "udp" }, - { "rap-listen", { NULL }, 1531, "tcp" }, - { "rap-listen", { NULL }, 1531, "udp" }, - { "miroconnect", { NULL }, 1532, "tcp" }, - { "miroconnect", { NULL }, 1532, "udp" }, - { "virtual-places", { NULL }, 1533, "tcp" }, - { "virtual-places", { NULL }, 1533, "udp" }, - { "micromuse-lm", { NULL }, 1534, "tcp" }, - { "micromuse-lm", { NULL }, 1534, "udp" }, - { "ampr-info", { NULL }, 1535, "tcp" }, - { "ampr-info", { NULL }, 1535, "udp" }, - { "ampr-inter", { NULL }, 1536, "tcp" }, - { "ampr-inter", { NULL }, 1536, "udp" }, - { "sdsc-lm", { NULL }, 1537, "tcp" }, - { "sdsc-lm", { NULL }, 1537, "udp" }, - { "3ds-lm", { NULL }, 1538, "tcp" }, - { "3ds-lm", { NULL }, 1538, "udp" }, - { "intellistor-lm", { NULL }, 1539, "tcp" }, - { "intellistor-lm", { NULL }, 1539, "udp" }, - { "rds", { NULL }, 1540, "tcp" }, - { "rds", { NULL }, 1540, "udp" }, - { "rds2", { NULL }, 1541, "tcp" }, - { "rds2", { NULL }, 1541, "udp" }, - { "gridgen-elmd", { NULL }, 1542, "tcp" }, - { "gridgen-elmd", { NULL }, 1542, "udp" }, - { "simba-cs", { NULL }, 1543, "tcp" }, - { "simba-cs", { NULL }, 1543, "udp" }, - { "aspeclmd", { NULL }, 1544, "tcp" }, - { "aspeclmd", { NULL }, 1544, "udp" }, - { "vistium-share", { NULL }, 1545, "tcp" }, - { "vistium-share", { NULL }, 1545, "udp" }, - { "abbaccuray", { NULL }, 1546, "tcp" }, - { "abbaccuray", { NULL }, 1546, "udp" }, - { "laplink", { NULL }, 1547, "tcp" }, - { "laplink", { NULL }, 1547, "udp" }, - { "axon-lm", { NULL }, 1548, "tcp" }, - { "axon-lm", { NULL }, 1548, "udp" }, - { "shivahose", { NULL }, 1549, "tcp" }, - { "shivasound", { NULL }, 1549, "udp" }, - { "3m-image-lm", { NULL }, 1550, "tcp" }, - { "3m-image-lm", { NULL }, 1550, "udp" }, - { "hecmtl-db", { NULL }, 1551, "tcp" }, - { "hecmtl-db", { NULL }, 1551, "udp" }, - { "pciarray", { NULL }, 1552, "tcp" }, - { "pciarray", { NULL }, 1552, "udp" }, - { "sna-cs", { NULL }, 1553, "tcp" }, - { "sna-cs", { NULL }, 1553, "udp" }, - { "caci-lm", { NULL }, 1554, "tcp" }, - { "caci-lm", { NULL }, 1554, "udp" }, - { "livelan", { NULL }, 1555, "tcp" }, - { "livelan", { NULL }, 1555, "udp" }, - { "veritas_pbx", { NULL }, 1556, "tcp" }, - { "veritas_pbx", { NULL }, 1556, "udp" }, - { "arbortext-lm", { NULL }, 1557, "tcp" }, - { "arbortext-lm", { NULL }, 1557, "udp" }, - { "xingmpeg", { NULL }, 1558, "tcp" }, - { "xingmpeg", { NULL }, 1558, "udp" }, - { "web2host", { NULL }, 1559, "tcp" }, - { "web2host", { NULL }, 1559, "udp" }, - { "asci-val", { NULL }, 1560, "tcp" }, - { "asci-val", { NULL }, 1560, "udp" }, - { "facilityview", { NULL }, 1561, "tcp" }, - { "facilityview", { NULL }, 1561, "udp" }, - { "pconnectmgr", { NULL }, 1562, "tcp" }, - { "pconnectmgr", { NULL }, 1562, "udp" }, - { "cadabra-lm", { NULL }, 1563, "tcp" }, - { "cadabra-lm", { NULL }, 1563, "udp" }, - { "pay-per-view", { NULL }, 1564, "tcp" }, - { "pay-per-view", { NULL }, 1564, "udp" }, - { "winddlb", { NULL }, 1565, "tcp" }, - { "winddlb", { NULL }, 1565, "udp" }, - { "corelvideo", { NULL }, 1566, "tcp" }, - { "corelvideo", { NULL }, 1566, "udp" }, - { "jlicelmd", { NULL }, 1567, "tcp" }, - { "jlicelmd", { NULL }, 1567, "udp" }, - { "tsspmap", { NULL }, 1568, "tcp" }, - { "tsspmap", { NULL }, 1568, "udp" }, - { "ets", { NULL }, 1569, "tcp" }, - { "ets", { NULL }, 1569, "udp" }, - { "orbixd", { NULL }, 1570, "tcp" }, - { "orbixd", { NULL }, 1570, "udp" }, - { "rdb-dbs-disp", { NULL }, 1571, "tcp" }, - { "rdb-dbs-disp", { NULL }, 1571, "udp" }, - { "chip-lm", { NULL }, 1572, "tcp" }, - { "chip-lm", { NULL }, 1572, "udp" }, - { "itscomm-ns", { NULL }, 1573, "tcp" }, - { "itscomm-ns", { NULL }, 1573, "udp" }, - { "mvel-lm", { NULL }, 1574, "tcp" }, - { "mvel-lm", { NULL }, 1574, "udp" }, - { "oraclenames", { NULL }, 1575, "tcp" }, - { "oraclenames", { NULL }, 1575, "udp" }, - { "moldflow-lm", { NULL }, 1576, "tcp" }, - { "moldflow-lm", { NULL }, 1576, "udp" }, - { "hypercube-lm", { NULL }, 1577, "tcp" }, - { "hypercube-lm", { NULL }, 1577, "udp" }, - { "jacobus-lm", { NULL }, 1578, "tcp" }, - { "jacobus-lm", { NULL }, 1578, "udp" }, - { "ioc-sea-lm", { NULL }, 1579, "tcp" }, - { "ioc-sea-lm", { NULL }, 1579, "udp" }, - { "tn-tl-r1", { NULL }, 1580, "tcp" }, - { "tn-tl-r2", { NULL }, 1580, "udp" }, - { "mil-2045-47001", { NULL }, 1581, "tcp" }, - { "mil-2045-47001", { NULL }, 1581, "udp" }, - { "msims", { NULL }, 1582, "tcp" }, - { "msims", { NULL }, 1582, "udp" }, - { "simbaexpress", { NULL }, 1583, "tcp" }, - { "simbaexpress", { NULL }, 1583, "udp" }, - { "tn-tl-fd2", { NULL }, 1584, "tcp" }, - { "tn-tl-fd2", { NULL }, 1584, "udp" }, - { "intv", { NULL }, 1585, "tcp" }, - { "intv", { NULL }, 1585, "udp" }, - { "ibm-abtact", { NULL }, 1586, "tcp" }, - { "ibm-abtact", { NULL }, 1586, "udp" }, - { "pra_elmd", { NULL }, 1587, "tcp" }, - { "pra_elmd", { NULL }, 1587, "udp" }, - { "triquest-lm", { NULL }, 1588, "tcp" }, - { "triquest-lm", { NULL }, 1588, "udp" }, - { "vqp", { NULL }, 1589, "tcp" }, - { "vqp", { NULL }, 1589, "udp" }, - { "gemini-lm", { NULL }, 1590, "tcp" }, - { "gemini-lm", { NULL }, 1590, "udp" }, - { "ncpm-pm", { NULL }, 1591, "tcp" }, - { "ncpm-pm", { NULL }, 1591, "udp" }, - { "commonspace", { NULL }, 1592, "tcp" }, - { "commonspace", { NULL }, 1592, "udp" }, - { "mainsoft-lm", { NULL }, 1593, "tcp" }, - { "mainsoft-lm", { NULL }, 1593, "udp" }, - { "sixtrak", { NULL }, 1594, "tcp" }, - { "sixtrak", { NULL }, 1594, "udp" }, - { "radio", { NULL }, 1595, "tcp" }, - { "radio", { NULL }, 1595, "udp" }, - { "radio-sm", { NULL }, 1596, "tcp" }, - { "radio-bc", { NULL }, 1596, "udp" }, - { "orbplus-iiop", { NULL }, 1597, "tcp" }, - { "orbplus-iiop", { NULL }, 1597, "udp" }, - { "picknfs", { NULL }, 1598, "tcp" }, - { "picknfs", { NULL }, 1598, "udp" }, - { "simbaservices", { NULL }, 1599, "tcp" }, - { "simbaservices", { NULL }, 1599, "udp" }, - { "issd", { NULL }, 1600, "tcp" }, - { "issd", { NULL }, 1600, "udp" }, - { "aas", { NULL }, 1601, "tcp" }, - { "aas", { NULL }, 1601, "udp" }, - { "inspect", { NULL }, 1602, "tcp" }, - { "inspect", { NULL }, 1602, "udp" }, - { "picodbc", { NULL }, 1603, "tcp" }, - { "picodbc", { NULL }, 1603, "udp" }, - { "icabrowser", { NULL }, 1604, "tcp" }, - { "icabrowser", { NULL }, 1604, "udp" }, - { "slp", { NULL }, 1605, "tcp" }, - { "slp", { NULL }, 1605, "udp" }, - { "slm-api", { NULL }, 1606, "tcp" }, - { "slm-api", { NULL }, 1606, "udp" }, - { "stt", { NULL }, 1607, "tcp" }, - { "stt", { NULL }, 1607, "udp" }, - { "smart-lm", { NULL }, 1608, "tcp" }, - { "smart-lm", { NULL }, 1608, "udp" }, - { "isysg-lm", { NULL }, 1609, "tcp" }, - { "isysg-lm", { NULL }, 1609, "udp" }, - { "taurus-wh", { NULL }, 1610, "tcp" }, - { "taurus-wh", { NULL }, 1610, "udp" }, - { "ill", { NULL }, 1611, "tcp" }, - { "ill", { NULL }, 1611, "udp" }, - { "netbill-trans", { NULL }, 1612, "tcp" }, - { "netbill-trans", { NULL }, 1612, "udp" }, - { "netbill-keyrep", { NULL }, 1613, "tcp" }, - { "netbill-keyrep", { NULL }, 1613, "udp" }, - { "netbill-cred", { NULL }, 1614, "tcp" }, - { "netbill-cred", { NULL }, 1614, "udp" }, - { "netbill-auth", { NULL }, 1615, "tcp" }, - { "netbill-auth", { NULL }, 1615, "udp" }, - { "netbill-prod", { NULL }, 1616, "tcp" }, - { "netbill-prod", { NULL }, 1616, "udp" }, - { "nimrod-agent", { NULL }, 1617, "tcp" }, - { "nimrod-agent", { NULL }, 1617, "udp" }, - { "skytelnet", { NULL }, 1618, "tcp" }, - { "skytelnet", { NULL }, 1618, "udp" }, - { "xs-openstorage", { NULL }, 1619, "tcp" }, - { "xs-openstorage", { NULL }, 1619, "udp" }, - { "faxportwinport", { NULL }, 1620, "tcp" }, - { "faxportwinport", { NULL }, 1620, "udp" }, - { "softdataphone", { NULL }, 1621, "tcp" }, - { "softdataphone", { NULL }, 1621, "udp" }, - { "ontime", { NULL }, 1622, "tcp" }, - { "ontime", { NULL }, 1622, "udp" }, - { "jaleosnd", { NULL }, 1623, "tcp" }, - { "jaleosnd", { NULL }, 1623, "udp" }, - { "udp-sr-port", { NULL }, 1624, "tcp" }, - { "udp-sr-port", { NULL }, 1624, "udp" }, - { "svs-omagent", { NULL }, 1625, "tcp" }, - { "svs-omagent", { NULL }, 1625, "udp" }, - { "shockwave", { NULL }, 1626, "tcp" }, - { "shockwave", { NULL }, 1626, "udp" }, - { "t128-gateway", { NULL }, 1627, "tcp" }, - { "t128-gateway", { NULL }, 1627, "udp" }, - { "lontalk-norm", { NULL }, 1628, "tcp" }, - { "lontalk-norm", { NULL }, 1628, "udp" }, - { "lontalk-urgnt", { NULL }, 1629, "tcp" }, - { "lontalk-urgnt", { NULL }, 1629, "udp" }, - { "oraclenet8cman", { NULL }, 1630, "tcp" }, - { "oraclenet8cman", { NULL }, 1630, "udp" }, - { "visitview", { NULL }, 1631, "tcp" }, - { "visitview", { NULL }, 1631, "udp" }, - { "pammratc", { NULL }, 1632, "tcp" }, - { "pammratc", { NULL }, 1632, "udp" }, - { "pammrpc", { NULL }, 1633, "tcp" }, - { "pammrpc", { NULL }, 1633, "udp" }, - { "loaprobe", { NULL }, 1634, "tcp" }, - { "loaprobe", { NULL }, 1634, "udp" }, - { "edb-server1", { NULL }, 1635, "tcp" }, - { "edb-server1", { NULL }, 1635, "udp" }, - { "isdc", { NULL }, 1636, "tcp" }, - { "isdc", { NULL }, 1636, "udp" }, - { "islc", { NULL }, 1637, "tcp" }, - { "islc", { NULL }, 1637, "udp" }, - { "ismc", { NULL }, 1638, "tcp" }, - { "ismc", { NULL }, 1638, "udp" }, - { "cert-initiator", { NULL }, 1639, "tcp" }, - { "cert-initiator", { NULL }, 1639, "udp" }, - { "cert-responder", { NULL }, 1640, "tcp" }, - { "cert-responder", { NULL }, 1640, "udp" }, - { "invision", { NULL }, 1641, "tcp" }, - { "invision", { NULL }, 1641, "udp" }, - { "isis-am", { NULL }, 1642, "tcp" }, - { "isis-am", { NULL }, 1642, "udp" }, - { "isis-ambc", { NULL }, 1643, "tcp" }, - { "isis-ambc", { NULL }, 1643, "udp" }, - { "saiseh", { NULL }, 1644, "tcp" }, - { "sightline", { NULL }, 1645, "tcp" }, - { "sightline", { NULL }, 1645, "udp" }, - { "sa-msg-port", { NULL }, 1646, "tcp" }, - { "sa-msg-port", { NULL }, 1646, "udp" }, - { "rsap", { NULL }, 1647, "tcp" }, - { "rsap", { NULL }, 1647, "udp" }, - { "concurrent-lm", { NULL }, 1648, "tcp" }, - { "concurrent-lm", { NULL }, 1648, "udp" }, - { "kermit", { NULL }, 1649, "tcp" }, - { "kermit", { NULL }, 1649, "udp" }, - { "nkd", { NULL }, 1650, "tcp" }, - { "nkd", { NULL }, 1650, "udp" }, - { "shiva_confsrvr", { NULL }, 1651, "tcp" }, - { "shiva_confsrvr", { NULL }, 1651, "udp" }, - { "xnmp", { NULL }, 1652, "tcp" }, - { "xnmp", { NULL }, 1652, "udp" }, - { "alphatech-lm", { NULL }, 1653, "tcp" }, - { "alphatech-lm", { NULL }, 1653, "udp" }, - { "stargatealerts", { NULL }, 1654, "tcp" }, - { "stargatealerts", { NULL }, 1654, "udp" }, - { "dec-mbadmin", { NULL }, 1655, "tcp" }, - { "dec-mbadmin", { NULL }, 1655, "udp" }, - { "dec-mbadmin-h", { NULL }, 1656, "tcp" }, - { "dec-mbadmin-h", { NULL }, 1656, "udp" }, - { "fujitsu-mmpdc", { NULL }, 1657, "tcp" }, - { "fujitsu-mmpdc", { NULL }, 1657, "udp" }, - { "sixnetudr", { NULL }, 1658, "tcp" }, - { "sixnetudr", { NULL }, 1658, "udp" }, - { "sg-lm", { NULL }, 1659, "tcp" }, - { "sg-lm", { NULL }, 1659, "udp" }, - { "skip-mc-gikreq", { NULL }, 1660, "tcp" }, - { "skip-mc-gikreq", { NULL }, 1660, "udp" }, - { "netview-aix-1", { NULL }, 1661, "tcp" }, - { "netview-aix-1", { NULL }, 1661, "udp" }, - { "netview-aix-2", { NULL }, 1662, "tcp" }, - { "netview-aix-2", { NULL }, 1662, "udp" }, - { "netview-aix-3", { NULL }, 1663, "tcp" }, - { "netview-aix-3", { NULL }, 1663, "udp" }, - { "netview-aix-4", { NULL }, 1664, "tcp" }, - { "netview-aix-4", { NULL }, 1664, "udp" }, - { "netview-aix-5", { NULL }, 1665, "tcp" }, - { "netview-aix-5", { NULL }, 1665, "udp" }, - { "netview-aix-6", { NULL }, 1666, "tcp" }, - { "netview-aix-6", { NULL }, 1666, "udp" }, - { "netview-aix-7", { NULL }, 1667, "tcp" }, - { "netview-aix-7", { NULL }, 1667, "udp" }, - { "netview-aix-8", { NULL }, 1668, "tcp" }, - { "netview-aix-8", { NULL }, 1668, "udp" }, - { "netview-aix-9", { NULL }, 1669, "tcp" }, - { "netview-aix-9", { NULL }, 1669, "udp" }, - { "netview-aix-10", { NULL }, 1670, "tcp" }, - { "netview-aix-10", { NULL }, 1670, "udp" }, - { "netview-aix-11", { NULL }, 1671, "tcp" }, - { "netview-aix-11", { NULL }, 1671, "udp" }, - { "netview-aix-12", { NULL }, 1672, "tcp" }, - { "netview-aix-12", { NULL }, 1672, "udp" }, - { "proshare-mc-1", { NULL }, 1673, "tcp" }, - { "proshare-mc-1", { NULL }, 1673, "udp" }, - { "proshare-mc-2", { NULL }, 1674, "tcp" }, - { "proshare-mc-2", { NULL }, 1674, "udp" }, - { "pdp", { NULL }, 1675, "tcp" }, - { "pdp", { NULL }, 1675, "udp" }, - { "netcomm1", { NULL }, 1676, "tcp" }, - { "netcomm2", { NULL }, 1676, "udp" }, - { "groupwise", { NULL }, 1677, "tcp" }, - { "groupwise", { NULL }, 1677, "udp" }, - { "prolink", { NULL }, 1678, "tcp" }, - { "prolink", { NULL }, 1678, "udp" }, - { "darcorp-lm", { NULL }, 1679, "tcp" }, - { "darcorp-lm", { NULL }, 1679, "udp" }, - { "microcom-sbp", { NULL }, 1680, "tcp" }, - { "microcom-sbp", { NULL }, 1680, "udp" }, - { "sd-elmd", { NULL }, 1681, "tcp" }, - { "sd-elmd", { NULL }, 1681, "udp" }, - { "lanyon-lantern", { NULL }, 1682, "tcp" }, - { "lanyon-lantern", { NULL }, 1682, "udp" }, - { "ncpm-hip", { NULL }, 1683, "tcp" }, - { "ncpm-hip", { NULL }, 1683, "udp" }, - { "snaresecure", { NULL }, 1684, "tcp" }, - { "snaresecure", { NULL }, 1684, "udp" }, - { "n2nremote", { NULL }, 1685, "tcp" }, - { "n2nremote", { NULL }, 1685, "udp" }, - { "cvmon", { NULL }, 1686, "tcp" }, - { "cvmon", { NULL }, 1686, "udp" }, - { "nsjtp-ctrl", { NULL }, 1687, "tcp" }, - { "nsjtp-ctrl", { NULL }, 1687, "udp" }, - { "nsjtp-data", { NULL }, 1688, "tcp" }, - { "nsjtp-data", { NULL }, 1688, "udp" }, - { "firefox", { NULL }, 1689, "tcp" }, - { "firefox", { NULL }, 1689, "udp" }, - { "ng-umds", { NULL }, 1690, "tcp" }, - { "ng-umds", { NULL }, 1690, "udp" }, - { "empire-empuma", { NULL }, 1691, "tcp" }, - { "empire-empuma", { NULL }, 1691, "udp" }, - { "sstsys-lm", { NULL }, 1692, "tcp" }, - { "sstsys-lm", { NULL }, 1692, "udp" }, - { "rrirtr", { NULL }, 1693, "tcp" }, - { "rrirtr", { NULL }, 1693, "udp" }, - { "rrimwm", { NULL }, 1694, "tcp" }, - { "rrimwm", { NULL }, 1694, "udp" }, - { "rrilwm", { NULL }, 1695, "tcp" }, - { "rrilwm", { NULL }, 1695, "udp" }, - { "rrifmm", { NULL }, 1696, "tcp" }, - { "rrifmm", { NULL }, 1696, "udp" }, - { "rrisat", { NULL }, 1697, "tcp" }, - { "rrisat", { NULL }, 1697, "udp" }, - { "rsvp-encap-1", { NULL }, 1698, "tcp" }, - { "rsvp-encap-1", { NULL }, 1698, "udp" }, - { "rsvp-encap-2", { NULL }, 1699, "tcp" }, - { "rsvp-encap-2", { NULL }, 1699, "udp" }, - { "mps-raft", { NULL }, 1700, "tcp" }, - { "mps-raft", { NULL }, 1700, "udp" }, - { "l2f", { NULL }, 1701, "tcp" }, - { "l2f", { NULL }, 1701, "udp" }, - { "l2tp", { NULL }, 1701, "tcp" }, - { "l2tp", { NULL }, 1701, "udp" }, - { "deskshare", { NULL }, 1702, "tcp" }, - { "deskshare", { NULL }, 1702, "udp" }, - { "hb-engine", { NULL }, 1703, "tcp" }, - { "hb-engine", { NULL }, 1703, "udp" }, - { "bcs-broker", { NULL }, 1704, "tcp" }, - { "bcs-broker", { NULL }, 1704, "udp" }, - { "slingshot", { NULL }, 1705, "tcp" }, - { "slingshot", { NULL }, 1705, "udp" }, - { "jetform", { NULL }, 1706, "tcp" }, - { "jetform", { NULL }, 1706, "udp" }, - { "vdmplay", { NULL }, 1707, "tcp" }, - { "vdmplay", { NULL }, 1707, "udp" }, - { "gat-lmd", { NULL }, 1708, "tcp" }, - { "gat-lmd", { NULL }, 1708, "udp" }, - { "centra", { NULL }, 1709, "tcp" }, - { "centra", { NULL }, 1709, "udp" }, - { "impera", { NULL }, 1710, "tcp" }, - { "impera", { NULL }, 1710, "udp" }, - { "pptconference", { NULL }, 1711, "tcp" }, - { "pptconference", { NULL }, 1711, "udp" }, - { "registrar", { NULL }, 1712, "tcp" }, - { "registrar", { NULL }, 1712, "udp" }, - { "conferencetalk", { NULL }, 1713, "tcp" }, - { "conferencetalk", { NULL }, 1713, "udp" }, - { "sesi-lm", { NULL }, 1714, "tcp" }, - { "sesi-lm", { NULL }, 1714, "udp" }, - { "houdini-lm", { NULL }, 1715, "tcp" }, - { "houdini-lm", { NULL }, 1715, "udp" }, - { "xmsg", { NULL }, 1716, "tcp" }, - { "xmsg", { NULL }, 1716, "udp" }, - { "fj-hdnet", { NULL }, 1717, "tcp" }, - { "fj-hdnet", { NULL }, 1717, "udp" }, - { "h323gatedisc", { NULL }, 1718, "tcp" }, - { "h323gatedisc", { NULL }, 1718, "udp" }, - { "h323gatestat", { NULL }, 1719, "tcp" }, - { "h323gatestat", { NULL }, 1719, "udp" }, - { "h323hostcall", { NULL }, 1720, "tcp" }, - { "h323hostcall", { NULL }, 1720, "udp" }, - { "caicci", { NULL }, 1721, "tcp" }, - { "caicci", { NULL }, 1721, "udp" }, - { "hks-lm", { NULL }, 1722, "tcp" }, - { "hks-lm", { NULL }, 1722, "udp" }, - { "pptp", { NULL }, 1723, "tcp" }, - { "pptp", { NULL }, 1723, "udp" }, - { "csbphonemaster", { NULL }, 1724, "tcp" }, - { "csbphonemaster", { NULL }, 1724, "udp" }, - { "iden-ralp", { NULL }, 1725, "tcp" }, - { "iden-ralp", { NULL }, 1725, "udp" }, - { "iberiagames", { NULL }, 1726, "tcp" }, - { "iberiagames", { NULL }, 1726, "udp" }, - { "winddx", { NULL }, 1727, "tcp" }, - { "winddx", { NULL }, 1727, "udp" }, - { "telindus", { NULL }, 1728, "tcp" }, - { "telindus", { NULL }, 1728, "udp" }, - { "citynl", { NULL }, 1729, "tcp" }, - { "citynl", { NULL }, 1729, "udp" }, - { "roketz", { NULL }, 1730, "tcp" }, - { "roketz", { NULL }, 1730, "udp" }, - { "msiccp", { NULL }, 1731, "tcp" }, - { "msiccp", { NULL }, 1731, "udp" }, - { "proxim", { NULL }, 1732, "tcp" }, - { "proxim", { NULL }, 1732, "udp" }, - { "siipat", { NULL }, 1733, "tcp" }, - { "siipat", { NULL }, 1733, "udp" }, - { "cambertx-lm", { NULL }, 1734, "tcp" }, - { "cambertx-lm", { NULL }, 1734, "udp" }, - { "privatechat", { NULL }, 1735, "tcp" }, - { "privatechat", { NULL }, 1735, "udp" }, - { "street-stream", { NULL }, 1736, "tcp" }, - { "street-stream", { NULL }, 1736, "udp" }, - { "ultimad", { NULL }, 1737, "tcp" }, - { "ultimad", { NULL }, 1737, "udp" }, - { "gamegen1", { NULL }, 1738, "tcp" }, - { "gamegen1", { NULL }, 1738, "udp" }, - { "webaccess", { NULL }, 1739, "tcp" }, - { "webaccess", { NULL }, 1739, "udp" }, - { "encore", { NULL }, 1740, "tcp" }, - { "encore", { NULL }, 1740, "udp" }, - { "cisco-net-mgmt", { NULL }, 1741, "tcp" }, - { "cisco-net-mgmt", { NULL }, 1741, "udp" }, - { "3Com-nsd", { NULL }, 1742, "tcp" }, - { "3Com-nsd", { NULL }, 1742, "udp" }, - { "cinegrfx-lm", { NULL }, 1743, "tcp" }, - { "cinegrfx-lm", { NULL }, 1743, "udp" }, - { "ncpm-ft", { NULL }, 1744, "tcp" }, - { "ncpm-ft", { NULL }, 1744, "udp" }, - { "remote-winsock", { NULL }, 1745, "tcp" }, - { "remote-winsock", { NULL }, 1745, "udp" }, - { "ftrapid-1", { NULL }, 1746, "tcp" }, - { "ftrapid-1", { NULL }, 1746, "udp" }, - { "ftrapid-2", { NULL }, 1747, "tcp" }, - { "ftrapid-2", { NULL }, 1747, "udp" }, - { "oracle-em1", { NULL }, 1748, "tcp" }, - { "oracle-em1", { NULL }, 1748, "udp" }, - { "aspen-services", { NULL }, 1749, "tcp" }, - { "aspen-services", { NULL }, 1749, "udp" }, - { "sslp", { NULL }, 1750, "tcp" }, - { "sslp", { NULL }, 1750, "udp" }, - { "swiftnet", { NULL }, 1751, "tcp" }, - { "swiftnet", { NULL }, 1751, "udp" }, - { "lofr-lm", { NULL }, 1752, "tcp" }, - { "lofr-lm", { NULL }, 1752, "udp" }, - { "oracle-em2", { NULL }, 1754, "tcp" }, - { "oracle-em2", { NULL }, 1754, "udp" }, - { "ms-streaming", { NULL }, 1755, "tcp" }, - { "ms-streaming", { NULL }, 1755, "udp" }, - { "capfast-lmd", { NULL }, 1756, "tcp" }, - { "capfast-lmd", { NULL }, 1756, "udp" }, - { "cnhrp", { NULL }, 1757, "tcp" }, - { "cnhrp", { NULL }, 1757, "udp" }, - { "tftp-mcast", { NULL }, 1758, "tcp" }, - { "tftp-mcast", { NULL }, 1758, "udp" }, - { "spss-lm", { NULL }, 1759, "tcp" }, - { "spss-lm", { NULL }, 1759, "udp" }, - { "www-ldap-gw", { NULL }, 1760, "tcp" }, - { "www-ldap-gw", { NULL }, 1760, "udp" }, - { "cft-0", { NULL }, 1761, "tcp" }, - { "cft-0", { NULL }, 1761, "udp" }, - { "cft-1", { NULL }, 1762, "tcp" }, - { "cft-1", { NULL }, 1762, "udp" }, - { "cft-2", { NULL }, 1763, "tcp" }, - { "cft-2", { NULL }, 1763, "udp" }, - { "cft-3", { NULL }, 1764, "tcp" }, - { "cft-3", { NULL }, 1764, "udp" }, - { "cft-4", { NULL }, 1765, "tcp" }, - { "cft-4", { NULL }, 1765, "udp" }, - { "cft-5", { NULL }, 1766, "tcp" }, - { "cft-5", { NULL }, 1766, "udp" }, - { "cft-6", { NULL }, 1767, "tcp" }, - { "cft-6", { NULL }, 1767, "udp" }, - { "cft-7", { NULL }, 1768, "tcp" }, - { "cft-7", { NULL }, 1768, "udp" }, - { "bmc-net-adm", { NULL }, 1769, "tcp" }, - { "bmc-net-adm", { NULL }, 1769, "udp" }, - { "bmc-net-svc", { NULL }, 1770, "tcp" }, - { "bmc-net-svc", { NULL }, 1770, "udp" }, - { "vaultbase", { NULL }, 1771, "tcp" }, - { "vaultbase", { NULL }, 1771, "udp" }, - { "essweb-gw", { NULL }, 1772, "tcp" }, - { "essweb-gw", { NULL }, 1772, "udp" }, - { "kmscontrol", { NULL }, 1773, "tcp" }, - { "kmscontrol", { NULL }, 1773, "udp" }, - { "global-dtserv", { NULL }, 1774, "tcp" }, - { "global-dtserv", { NULL }, 1774, "udp" }, - { "femis", { NULL }, 1776, "tcp" }, - { "femis", { NULL }, 1776, "udp" }, - { "powerguardian", { NULL }, 1777, "tcp" }, - { "powerguardian", { NULL }, 1777, "udp" }, - { "prodigy-intrnet", { NULL }, 1778, "tcp" }, - { "prodigy-intrnet", { NULL }, 1778, "udp" }, - { "pharmasoft", { NULL }, 1779, "tcp" }, - { "pharmasoft", { NULL }, 1779, "udp" }, - { "dpkeyserv", { NULL }, 1780, "tcp" }, - { "dpkeyserv", { NULL }, 1780, "udp" }, - { "answersoft-lm", { NULL }, 1781, "tcp" }, - { "answersoft-lm", { NULL }, 1781, "udp" }, - { "hp-hcip", { NULL }, 1782, "tcp" }, - { "hp-hcip", { NULL }, 1782, "udp" }, - { "finle-lm", { NULL }, 1784, "tcp" }, - { "finle-lm", { NULL }, 1784, "udp" }, - { "windlm", { NULL }, 1785, "tcp" }, - { "windlm", { NULL }, 1785, "udp" }, - { "funk-logger", { NULL }, 1786, "tcp" }, - { "funk-logger", { NULL }, 1786, "udp" }, - { "funk-license", { NULL }, 1787, "tcp" }, - { "funk-license", { NULL }, 1787, "udp" }, - { "psmond", { NULL }, 1788, "tcp" }, - { "psmond", { NULL }, 1788, "udp" }, - { "hello", { NULL }, 1789, "tcp" }, - { "hello", { NULL }, 1789, "udp" }, - { "nmsp", { NULL }, 1790, "tcp" }, - { "nmsp", { NULL }, 1790, "udp" }, - { "ea1", { NULL }, 1791, "tcp" }, - { "ea1", { NULL }, 1791, "udp" }, - { "ibm-dt-2", { NULL }, 1792, "tcp" }, - { "ibm-dt-2", { NULL }, 1792, "udp" }, - { "rsc-robot", { NULL }, 1793, "tcp" }, - { "rsc-robot", { NULL }, 1793, "udp" }, - { "cera-bcm", { NULL }, 1794, "tcp" }, - { "cera-bcm", { NULL }, 1794, "udp" }, - { "dpi-proxy", { NULL }, 1795, "tcp" }, - { "dpi-proxy", { NULL }, 1795, "udp" }, - { "vocaltec-admin", { NULL }, 1796, "tcp" }, - { "vocaltec-admin", { NULL }, 1796, "udp" }, - { "uma", { NULL }, 1797, "tcp" }, - { "uma", { NULL }, 1797, "udp" }, - { "etp", { NULL }, 1798, "tcp" }, - { "etp", { NULL }, 1798, "udp" }, - { "netrisk", { NULL }, 1799, "tcp" }, - { "netrisk", { NULL }, 1799, "udp" }, - { "ansys-lm", { NULL }, 1800, "tcp" }, - { "ansys-lm", { NULL }, 1800, "udp" }, - { "msmq", { NULL }, 1801, "tcp" }, - { "msmq", { NULL }, 1801, "udp" }, - { "concomp1", { NULL }, 1802, "tcp" }, - { "concomp1", { NULL }, 1802, "udp" }, - { "hp-hcip-gwy", { NULL }, 1803, "tcp" }, - { "hp-hcip-gwy", { NULL }, 1803, "udp" }, - { "enl", { NULL }, 1804, "tcp" }, - { "enl", { NULL }, 1804, "udp" }, - { "enl-name", { NULL }, 1805, "tcp" }, - { "enl-name", { NULL }, 1805, "udp" }, - { "musiconline", { NULL }, 1806, "tcp" }, - { "musiconline", { NULL }, 1806, "udp" }, - { "fhsp", { NULL }, 1807, "tcp" }, - { "fhsp", { NULL }, 1807, "udp" }, - { "oracle-vp2", { NULL }, 1808, "tcp" }, - { "oracle-vp2", { NULL }, 1808, "udp" }, - { "oracle-vp1", { NULL }, 1809, "tcp" }, - { "oracle-vp1", { NULL }, 1809, "udp" }, - { "jerand-lm", { NULL }, 1810, "tcp" }, - { "jerand-lm", { NULL }, 1810, "udp" }, - { "scientia-sdb", { NULL }, 1811, "tcp" }, - { "scientia-sdb", { NULL }, 1811, "udp" }, - { "radius", { NULL }, 1812, "tcp" }, - { "radius", { NULL }, 1812, "udp" }, - { "radius-acct", { NULL }, 1813, "tcp" }, - { "radius-acct", { NULL }, 1813, "udp" }, - { "tdp-suite", { NULL }, 1814, "tcp" }, - { "tdp-suite", { NULL }, 1814, "udp" }, - { "mmpft", { NULL }, 1815, "tcp" }, - { "mmpft", { NULL }, 1815, "udp" }, - { "harp", { NULL }, 1816, "tcp" }, - { "harp", { NULL }, 1816, "udp" }, - { "rkb-oscs", { NULL }, 1817, "tcp" }, - { "rkb-oscs", { NULL }, 1817, "udp" }, - { "etftp", { NULL }, 1818, "tcp" }, - { "etftp", { NULL }, 1818, "udp" }, - { "plato-lm", { NULL }, 1819, "tcp" }, - { "plato-lm", { NULL }, 1819, "udp" }, - { "mcagent", { NULL }, 1820, "tcp" }, - { "mcagent", { NULL }, 1820, "udp" }, - { "donnyworld", { NULL }, 1821, "tcp" }, - { "donnyworld", { NULL }, 1821, "udp" }, - { "es-elmd", { NULL }, 1822, "tcp" }, - { "es-elmd", { NULL }, 1822, "udp" }, - { "unisys-lm", { NULL }, 1823, "tcp" }, - { "unisys-lm", { NULL }, 1823, "udp" }, - { "metrics-pas", { NULL }, 1824, "tcp" }, - { "metrics-pas", { NULL }, 1824, "udp" }, - { "direcpc-video", { NULL }, 1825, "tcp" }, - { "direcpc-video", { NULL }, 1825, "udp" }, - { "ardt", { NULL }, 1826, "tcp" }, - { "ardt", { NULL }, 1826, "udp" }, - { "asi", { NULL }, 1827, "tcp" }, - { "asi", { NULL }, 1827, "udp" }, - { "itm-mcell-u", { NULL }, 1828, "tcp" }, - { "itm-mcell-u", { NULL }, 1828, "udp" }, - { "optika-emedia", { NULL }, 1829, "tcp" }, - { "optika-emedia", { NULL }, 1829, "udp" }, - { "net8-cman", { NULL }, 1830, "tcp" }, - { "net8-cman", { NULL }, 1830, "udp" }, - { "myrtle", { NULL }, 1831, "tcp" }, - { "myrtle", { NULL }, 1831, "udp" }, - { "tht-treasure", { NULL }, 1832, "tcp" }, - { "tht-treasure", { NULL }, 1832, "udp" }, - { "udpradio", { NULL }, 1833, "tcp" }, - { "udpradio", { NULL }, 1833, "udp" }, - { "ardusuni", { NULL }, 1834, "tcp" }, - { "ardusuni", { NULL }, 1834, "udp" }, - { "ardusmul", { NULL }, 1835, "tcp" }, - { "ardusmul", { NULL }, 1835, "udp" }, - { "ste-smsc", { NULL }, 1836, "tcp" }, - { "ste-smsc", { NULL }, 1836, "udp" }, - { "csoft1", { NULL }, 1837, "tcp" }, - { "csoft1", { NULL }, 1837, "udp" }, - { "talnet", { NULL }, 1838, "tcp" }, - { "talnet", { NULL }, 1838, "udp" }, - { "netopia-vo1", { NULL }, 1839, "tcp" }, - { "netopia-vo1", { NULL }, 1839, "udp" }, - { "netopia-vo2", { NULL }, 1840, "tcp" }, - { "netopia-vo2", { NULL }, 1840, "udp" }, - { "netopia-vo3", { NULL }, 1841, "tcp" }, - { "netopia-vo3", { NULL }, 1841, "udp" }, - { "netopia-vo4", { NULL }, 1842, "tcp" }, - { "netopia-vo4", { NULL }, 1842, "udp" }, - { "netopia-vo5", { NULL }, 1843, "tcp" }, - { "netopia-vo5", { NULL }, 1843, "udp" }, - { "direcpc-dll", { NULL }, 1844, "tcp" }, - { "direcpc-dll", { NULL }, 1844, "udp" }, - { "altalink", { NULL }, 1845, "tcp" }, - { "altalink", { NULL }, 1845, "udp" }, - { "tunstall-pnc", { NULL }, 1846, "tcp" }, - { "tunstall-pnc", { NULL }, 1846, "udp" }, - { "slp-notify", { NULL }, 1847, "tcp" }, - { "slp-notify", { NULL }, 1847, "udp" }, - { "fjdocdist", { NULL }, 1848, "tcp" }, - { "fjdocdist", { NULL }, 1848, "udp" }, - { "alpha-sms", { NULL }, 1849, "tcp" }, - { "alpha-sms", { NULL }, 1849, "udp" }, - { "gsi", { NULL }, 1850, "tcp" }, - { "gsi", { NULL }, 1850, "udp" }, - { "ctcd", { NULL }, 1851, "tcp" }, - { "ctcd", { NULL }, 1851, "udp" }, - { "virtual-time", { NULL }, 1852, "tcp" }, - { "virtual-time", { NULL }, 1852, "udp" }, - { "vids-avtp", { NULL }, 1853, "tcp" }, - { "vids-avtp", { NULL }, 1853, "udp" }, - { "buddy-draw", { NULL }, 1854, "tcp" }, - { "buddy-draw", { NULL }, 1854, "udp" }, - { "fiorano-rtrsvc", { NULL }, 1855, "tcp" }, - { "fiorano-rtrsvc", { NULL }, 1855, "udp" }, - { "fiorano-msgsvc", { NULL }, 1856, "tcp" }, - { "fiorano-msgsvc", { NULL }, 1856, "udp" }, - { "datacaptor", { NULL }, 1857, "tcp" }, - { "datacaptor", { NULL }, 1857, "udp" }, - { "privateark", { NULL }, 1858, "tcp" }, - { "privateark", { NULL }, 1858, "udp" }, - { "gammafetchsvr", { NULL }, 1859, "tcp" }, - { "gammafetchsvr", { NULL }, 1859, "udp" }, - { "sunscalar-svc", { NULL }, 1860, "tcp" }, - { "sunscalar-svc", { NULL }, 1860, "udp" }, - { "lecroy-vicp", { NULL }, 1861, "tcp" }, - { "lecroy-vicp", { NULL }, 1861, "udp" }, - { "mysql-cm-agent", { NULL }, 1862, "tcp" }, - { "mysql-cm-agent", { NULL }, 1862, "udp" }, - { "msnp", { NULL }, 1863, "tcp" }, - { "msnp", { NULL }, 1863, "udp" }, - { "paradym-31port", { NULL }, 1864, "tcp" }, - { "paradym-31port", { NULL }, 1864, "udp" }, - { "entp", { NULL }, 1865, "tcp" }, - { "entp", { NULL }, 1865, "udp" }, - { "swrmi", { NULL }, 1866, "tcp" }, - { "swrmi", { NULL }, 1866, "udp" }, - { "udrive", { NULL }, 1867, "tcp" }, - { "udrive", { NULL }, 1867, "udp" }, - { "viziblebrowser", { NULL }, 1868, "tcp" }, - { "viziblebrowser", { NULL }, 1868, "udp" }, - { "transact", { NULL }, 1869, "tcp" }, - { "transact", { NULL }, 1869, "udp" }, - { "sunscalar-dns", { NULL }, 1870, "tcp" }, - { "sunscalar-dns", { NULL }, 1870, "udp" }, - { "canocentral0", { NULL }, 1871, "tcp" }, - { "canocentral0", { NULL }, 1871, "udp" }, - { "canocentral1", { NULL }, 1872, "tcp" }, - { "canocentral1", { NULL }, 1872, "udp" }, - { "fjmpjps", { NULL }, 1873, "tcp" }, - { "fjmpjps", { NULL }, 1873, "udp" }, - { "fjswapsnp", { NULL }, 1874, "tcp" }, - { "fjswapsnp", { NULL }, 1874, "udp" }, - { "westell-stats", { NULL }, 1875, "tcp" }, - { "westell-stats", { NULL }, 1875, "udp" }, - { "ewcappsrv", { NULL }, 1876, "tcp" }, - { "ewcappsrv", { NULL }, 1876, "udp" }, - { "hp-webqosdb", { NULL }, 1877, "tcp" }, - { "hp-webqosdb", { NULL }, 1877, "udp" }, - { "drmsmc", { NULL }, 1878, "tcp" }, - { "drmsmc", { NULL }, 1878, "udp" }, - { "nettgain-nms", { NULL }, 1879, "tcp" }, - { "nettgain-nms", { NULL }, 1879, "udp" }, - { "vsat-control", { NULL }, 1880, "tcp" }, - { "vsat-control", { NULL }, 1880, "udp" }, - { "ibm-mqseries2", { NULL }, 1881, "tcp" }, - { "ibm-mqseries2", { NULL }, 1881, "udp" }, - { "ecsqdmn", { NULL }, 1882, "tcp" }, - { "ecsqdmn", { NULL }, 1882, "udp" }, - { "ibm-mqisdp", { NULL }, 1883, "tcp" }, - { "ibm-mqisdp", { NULL }, 1883, "udp" }, - { "idmaps", { NULL }, 1884, "tcp" }, - { "idmaps", { NULL }, 1884, "udp" }, - { "vrtstrapserver", { NULL }, 1885, "tcp" }, - { "vrtstrapserver", { NULL }, 1885, "udp" }, - { "leoip", { NULL }, 1886, "tcp" }, - { "leoip", { NULL }, 1886, "udp" }, - { "filex-lport", { NULL }, 1887, "tcp" }, - { "filex-lport", { NULL }, 1887, "udp" }, - { "ncconfig", { NULL }, 1888, "tcp" }, - { "ncconfig", { NULL }, 1888, "udp" }, - { "unify-adapter", { NULL }, 1889, "tcp" }, - { "unify-adapter", { NULL }, 1889, "udp" }, - { "wilkenlistener", { NULL }, 1890, "tcp" }, - { "wilkenlistener", { NULL }, 1890, "udp" }, - { "childkey-notif", { NULL }, 1891, "tcp" }, - { "childkey-notif", { NULL }, 1891, "udp" }, - { "childkey-ctrl", { NULL }, 1892, "tcp" }, - { "childkey-ctrl", { NULL }, 1892, "udp" }, - { "elad", { NULL }, 1893, "tcp" }, - { "elad", { NULL }, 1893, "udp" }, - { "o2server-port", { NULL }, 1894, "tcp" }, - { "o2server-port", { NULL }, 1894, "udp" }, - { "b-novative-ls", { NULL }, 1896, "tcp" }, - { "b-novative-ls", { NULL }, 1896, "udp" }, - { "metaagent", { NULL }, 1897, "tcp" }, - { "metaagent", { NULL }, 1897, "udp" }, - { "cymtec-port", { NULL }, 1898, "tcp" }, - { "cymtec-port", { NULL }, 1898, "udp" }, - { "mc2studios", { NULL }, 1899, "tcp" }, - { "mc2studios", { NULL }, 1899, "udp" }, - { "ssdp", { NULL }, 1900, "tcp" }, - { "ssdp", { NULL }, 1900, "udp" }, - { "fjicl-tep-a", { NULL }, 1901, "tcp" }, - { "fjicl-tep-a", { NULL }, 1901, "udp" }, - { "fjicl-tep-b", { NULL }, 1902, "tcp" }, - { "fjicl-tep-b", { NULL }, 1902, "udp" }, - { "linkname", { NULL }, 1903, "tcp" }, - { "linkname", { NULL }, 1903, "udp" }, - { "fjicl-tep-c", { NULL }, 1904, "tcp" }, - { "fjicl-tep-c", { NULL }, 1904, "udp" }, - { "sugp", { NULL }, 1905, "tcp" }, - { "sugp", { NULL }, 1905, "udp" }, - { "tpmd", { NULL }, 1906, "tcp" }, - { "tpmd", { NULL }, 1906, "udp" }, - { "intrastar", { NULL }, 1907, "tcp" }, - { "intrastar", { NULL }, 1907, "udp" }, - { "dawn", { NULL }, 1908, "tcp" }, - { "dawn", { NULL }, 1908, "udp" }, - { "global-wlink", { NULL }, 1909, "tcp" }, - { "global-wlink", { NULL }, 1909, "udp" }, - { "ultrabac", { NULL }, 1910, "tcp" }, - { "ultrabac", { NULL }, 1910, "udp" }, - { "mtp", { NULL }, 1911, "tcp" }, - { "mtp", { NULL }, 1911, "udp" }, - { "rhp-iibp", { NULL }, 1912, "tcp" }, - { "rhp-iibp", { NULL }, 1912, "udp" }, - { "armadp", { NULL }, 1913, "tcp" }, - { "armadp", { NULL }, 1913, "udp" }, - { "elm-momentum", { NULL }, 1914, "tcp" }, - { "elm-momentum", { NULL }, 1914, "udp" }, - { "facelink", { NULL }, 1915, "tcp" }, - { "facelink", { NULL }, 1915, "udp" }, - { "persona", { NULL }, 1916, "tcp" }, - { "persona", { NULL }, 1916, "udp" }, - { "noagent", { NULL }, 1917, "tcp" }, - { "noagent", { NULL }, 1917, "udp" }, - { "can-nds", { NULL }, 1918, "tcp" }, - { "can-nds", { NULL }, 1918, "udp" }, - { "can-dch", { NULL }, 1919, "tcp" }, - { "can-dch", { NULL }, 1919, "udp" }, - { "can-ferret", { NULL }, 1920, "tcp" }, - { "can-ferret", { NULL }, 1920, "udp" }, - { "noadmin", { NULL }, 1921, "tcp" }, - { "noadmin", { NULL }, 1921, "udp" }, - { "tapestry", { NULL }, 1922, "tcp" }, - { "tapestry", { NULL }, 1922, "udp" }, - { "spice", { NULL }, 1923, "tcp" }, - { "spice", { NULL }, 1923, "udp" }, - { "xiip", { NULL }, 1924, "tcp" }, - { "xiip", { NULL }, 1924, "udp" }, - { "discovery-port", { NULL }, 1925, "tcp" }, - { "discovery-port", { NULL }, 1925, "udp" }, - { "egs", { NULL }, 1926, "tcp" }, - { "egs", { NULL }, 1926, "udp" }, - { "videte-cipc", { NULL }, 1927, "tcp" }, - { "videte-cipc", { NULL }, 1927, "udp" }, - { "emsd-port", { NULL }, 1928, "tcp" }, - { "emsd-port", { NULL }, 1928, "udp" }, - { "bandwiz-system", { NULL }, 1929, "tcp" }, - { "bandwiz-system", { NULL }, 1929, "udp" }, - { "driveappserver", { NULL }, 1930, "tcp" }, - { "driveappserver", { NULL }, 1930, "udp" }, - { "amdsched", { NULL }, 1931, "tcp" }, - { "amdsched", { NULL }, 1931, "udp" }, - { "ctt-broker", { NULL }, 1932, "tcp" }, - { "ctt-broker", { NULL }, 1932, "udp" }, - { "xmapi", { NULL }, 1933, "tcp" }, - { "xmapi", { NULL }, 1933, "udp" }, - { "xaapi", { NULL }, 1934, "tcp" }, - { "xaapi", { NULL }, 1934, "udp" }, - { "macromedia-fcs", { NULL }, 1935, "tcp" }, - { "macromedia-fcs", { NULL }, 1935, "udp" }, - { "jetcmeserver", { NULL }, 1936, "tcp" }, - { "jetcmeserver", { NULL }, 1936, "udp" }, - { "jwserver", { NULL }, 1937, "tcp" }, - { "jwserver", { NULL }, 1937, "udp" }, - { "jwclient", { NULL }, 1938, "tcp" }, - { "jwclient", { NULL }, 1938, "udp" }, - { "jvserver", { NULL }, 1939, "tcp" }, - { "jvserver", { NULL }, 1939, "udp" }, - { "jvclient", { NULL }, 1940, "tcp" }, - { "jvclient", { NULL }, 1940, "udp" }, - { "dic-aida", { NULL }, 1941, "tcp" }, - { "dic-aida", { NULL }, 1941, "udp" }, - { "res", { NULL }, 1942, "tcp" }, - { "res", { NULL }, 1942, "udp" }, - { "beeyond-media", { NULL }, 1943, "tcp" }, - { "beeyond-media", { NULL }, 1943, "udp" }, - { "close-combat", { NULL }, 1944, "tcp" }, - { "close-combat", { NULL }, 1944, "udp" }, - { "dialogic-elmd", { NULL }, 1945, "tcp" }, - { "dialogic-elmd", { NULL }, 1945, "udp" }, - { "tekpls", { NULL }, 1946, "tcp" }, - { "tekpls", { NULL }, 1946, "udp" }, - { "sentinelsrm", { NULL }, 1947, "tcp" }, - { "sentinelsrm", { NULL }, 1947, "udp" }, - { "eye2eye", { NULL }, 1948, "tcp" }, - { "eye2eye", { NULL }, 1948, "udp" }, - { "ismaeasdaqlive", { NULL }, 1949, "tcp" }, - { "ismaeasdaqlive", { NULL }, 1949, "udp" }, - { "ismaeasdaqtest", { NULL }, 1950, "tcp" }, - { "ismaeasdaqtest", { NULL }, 1950, "udp" }, - { "bcs-lmserver", { NULL }, 1951, "tcp" }, - { "bcs-lmserver", { NULL }, 1951, "udp" }, - { "mpnjsc", { NULL }, 1952, "tcp" }, - { "mpnjsc", { NULL }, 1952, "udp" }, - { "rapidbase", { NULL }, 1953, "tcp" }, - { "rapidbase", { NULL }, 1953, "udp" }, - { "abr-api", { NULL }, 1954, "tcp" }, - { "abr-api", { NULL }, 1954, "udp" }, - { "abr-secure", { NULL }, 1955, "tcp" }, - { "abr-secure", { NULL }, 1955, "udp" }, - { "vrtl-vmf-ds", { NULL }, 1956, "tcp" }, - { "vrtl-vmf-ds", { NULL }, 1956, "udp" }, - { "unix-status", { NULL }, 1957, "tcp" }, - { "unix-status", { NULL }, 1957, "udp" }, - { "dxadmind", { NULL }, 1958, "tcp" }, - { "dxadmind", { NULL }, 1958, "udp" }, - { "simp-all", { NULL }, 1959, "tcp" }, - { "simp-all", { NULL }, 1959, "udp" }, - { "nasmanager", { NULL }, 1960, "tcp" }, - { "nasmanager", { NULL }, 1960, "udp" }, - { "bts-appserver", { NULL }, 1961, "tcp" }, - { "bts-appserver", { NULL }, 1961, "udp" }, - { "biap-mp", { NULL }, 1962, "tcp" }, - { "biap-mp", { NULL }, 1962, "udp" }, - { "webmachine", { NULL }, 1963, "tcp" }, - { "webmachine", { NULL }, 1963, "udp" }, - { "solid-e-engine", { NULL }, 1964, "tcp" }, - { "solid-e-engine", { NULL }, 1964, "udp" }, - { "tivoli-npm", { NULL }, 1965, "tcp" }, - { "tivoli-npm", { NULL }, 1965, "udp" }, - { "slush", { NULL }, 1966, "tcp" }, - { "slush", { NULL }, 1966, "udp" }, - { "sns-quote", { NULL }, 1967, "tcp" }, - { "sns-quote", { NULL }, 1967, "udp" }, - { "lipsinc", { NULL }, 1968, "tcp" }, - { "lipsinc", { NULL }, 1968, "udp" }, - { "lipsinc1", { NULL }, 1969, "tcp" }, - { "lipsinc1", { NULL }, 1969, "udp" }, - { "netop-rc", { NULL }, 1970, "tcp" }, - { "netop-rc", { NULL }, 1970, "udp" }, - { "netop-school", { NULL }, 1971, "tcp" }, - { "netop-school", { NULL }, 1971, "udp" }, - { "intersys-cache", { NULL }, 1972, "tcp" }, - { "intersys-cache", { NULL }, 1972, "udp" }, - { "dlsrap", { NULL }, 1973, "tcp" }, - { "dlsrap", { NULL }, 1973, "udp" }, - { "drp", { NULL }, 1974, "tcp" }, - { "drp", { NULL }, 1974, "udp" }, - { "tcoflashagent", { NULL }, 1975, "tcp" }, - { "tcoflashagent", { NULL }, 1975, "udp" }, - { "tcoregagent", { NULL }, 1976, "tcp" }, - { "tcoregagent", { NULL }, 1976, "udp" }, - { "tcoaddressbook", { NULL }, 1977, "tcp" }, - { "tcoaddressbook", { NULL }, 1977, "udp" }, - { "unisql", { NULL }, 1978, "tcp" }, - { "unisql", { NULL }, 1978, "udp" }, - { "unisql-java", { NULL }, 1979, "tcp" }, - { "unisql-java", { NULL }, 1979, "udp" }, - { "pearldoc-xact", { NULL }, 1980, "tcp" }, - { "pearldoc-xact", { NULL }, 1980, "udp" }, - { "p2pq", { NULL }, 1981, "tcp" }, - { "p2pq", { NULL }, 1981, "udp" }, - { "estamp", { NULL }, 1982, "tcp" }, - { "estamp", { NULL }, 1982, "udp" }, - { "lhtp", { NULL }, 1983, "tcp" }, - { "lhtp", { NULL }, 1983, "udp" }, - { "bb", { NULL }, 1984, "tcp" }, - { "bb", { NULL }, 1984, "udp" }, - { "hsrp", { NULL }, 1985, "tcp" }, - { "hsrp", { NULL }, 1985, "udp" }, - { "licensedaemon", { NULL }, 1986, "tcp" }, - { "licensedaemon", { NULL }, 1986, "udp" }, - { "tr-rsrb-p1", { NULL }, 1987, "tcp" }, - { "tr-rsrb-p1", { NULL }, 1987, "udp" }, - { "tr-rsrb-p2", { NULL }, 1988, "tcp" }, - { "tr-rsrb-p2", { NULL }, 1988, "udp" }, - { "tr-rsrb-p3", { NULL }, 1989, "tcp" }, - { "tr-rsrb-p3", { NULL }, 1989, "udp" }, - { "mshnet", { NULL }, 1989, "tcp" }, - { "mshnet", { NULL }, 1989, "udp" }, - { "stun-p1", { NULL }, 1990, "tcp" }, - { "stun-p1", { NULL }, 1990, "udp" }, - { "stun-p2", { NULL }, 1991, "tcp" }, - { "stun-p2", { NULL }, 1991, "udp" }, - { "stun-p3", { NULL }, 1992, "tcp" }, - { "stun-p3", { NULL }, 1992, "udp" }, - { "ipsendmsg", { NULL }, 1992, "tcp" }, - { "ipsendmsg", { NULL }, 1992, "udp" }, - { "snmp-tcp-port", { NULL }, 1993, "tcp" }, - { "snmp-tcp-port", { NULL }, 1993, "udp" }, - { "stun-port", { NULL }, 1994, "tcp" }, - { "stun-port", { NULL }, 1994, "udp" }, - { "perf-port", { NULL }, 1995, "tcp" }, - { "perf-port", { NULL }, 1995, "udp" }, - { "tr-rsrb-port", { NULL }, 1996, "tcp" }, - { "tr-rsrb-port", { NULL }, 1996, "udp" }, - { "gdp-port", { NULL }, 1997, "tcp" }, - { "gdp-port", { NULL }, 1997, "udp" }, - { "x25-svc-port", { NULL }, 1998, "tcp" }, - { "x25-svc-port", { NULL }, 1998, "udp" }, - { "tcp-id-port", { NULL }, 1999, "tcp" }, - { "tcp-id-port", { NULL }, 1999, "udp" }, - { "cisco-sccp", { NULL }, 2000, "tcp" }, - { "cisco-sccp", { NULL }, 2000, "udp" }, - { "dc", { NULL }, 2001, "tcp" }, - { "wizard", { NULL }, 2001, "udp" }, - { "globe", { NULL }, 2002, "tcp" }, - { "globe", { NULL }, 2002, "udp" }, - { "brutus", { NULL }, 2003, "tcp" }, - { "brutus", { NULL }, 2003, "udp" }, - { "mailbox", { NULL }, 2004, "tcp" }, - { "emce", { NULL }, 2004, "udp" }, - { "berknet", { NULL }, 2005, "tcp" }, - { "oracle", { NULL }, 2005, "udp" }, - { "invokator", { NULL }, 2006, "tcp" }, - { "raid-cd", { NULL }, 2006, "udp" }, - { "dectalk", { NULL }, 2007, "tcp" }, - { "raid-am", { NULL }, 2007, "udp" }, - { "conf", { NULL }, 2008, "tcp" }, - { "terminaldb", { NULL }, 2008, "udp" }, - { "news", { NULL }, 2009, "tcp" }, - { "whosockami", { NULL }, 2009, "udp" }, - { "search", { NULL }, 2010, "tcp" }, - { "pipe_server", { NULL }, 2010, "udp" }, - { "raid-cc", { NULL }, 2011, "tcp" }, - { "servserv", { NULL }, 2011, "udp" }, - { "ttyinfo", { NULL }, 2012, "tcp" }, - { "raid-ac", { NULL }, 2012, "udp" }, - { "raid-am", { NULL }, 2013, "tcp" }, - { "raid-cd", { NULL }, 2013, "udp" }, - { "troff", { NULL }, 2014, "tcp" }, - { "raid-sf", { NULL }, 2014, "udp" }, - { "cypress", { NULL }, 2015, "tcp" }, - { "raid-cs", { NULL }, 2015, "udp" }, - { "bootserver", { NULL }, 2016, "tcp" }, - { "bootserver", { NULL }, 2016, "udp" }, - { "cypress-stat", { NULL }, 2017, "tcp" }, - { "bootclient", { NULL }, 2017, "udp" }, - { "terminaldb", { NULL }, 2018, "tcp" }, - { "rellpack", { NULL }, 2018, "udp" }, - { "whosockami", { NULL }, 2019, "tcp" }, - { "about", { NULL }, 2019, "udp" }, - { "xinupageserver", { NULL }, 2020, "tcp" }, - { "xinupageserver", { NULL }, 2020, "udp" }, - { "servexec", { NULL }, 2021, "tcp" }, - { "xinuexpansion1", { NULL }, 2021, "udp" }, - { "down", { NULL }, 2022, "tcp" }, - { "xinuexpansion2", { NULL }, 2022, "udp" }, - { "xinuexpansion3", { NULL }, 2023, "tcp" }, - { "xinuexpansion3", { NULL }, 2023, "udp" }, - { "xinuexpansion4", { NULL }, 2024, "tcp" }, - { "xinuexpansion4", { NULL }, 2024, "udp" }, - { "ellpack", { NULL }, 2025, "tcp" }, - { "xribs", { NULL }, 2025, "udp" }, - { "scrabble", { NULL }, 2026, "tcp" }, - { "scrabble", { NULL }, 2026, "udp" }, - { "shadowserver", { NULL }, 2027, "tcp" }, - { "shadowserver", { NULL }, 2027, "udp" }, - { "submitserver", { NULL }, 2028, "tcp" }, - { "submitserver", { NULL }, 2028, "udp" }, - { "hsrpv6", { NULL }, 2029, "tcp" }, - { "hsrpv6", { NULL }, 2029, "udp" }, - { "device2", { NULL }, 2030, "tcp" }, - { "device2", { NULL }, 2030, "udp" }, - { "mobrien-chat", { NULL }, 2031, "tcp" }, - { "mobrien-chat", { NULL }, 2031, "udp" }, - { "blackboard", { NULL }, 2032, "tcp" }, - { "blackboard", { NULL }, 2032, "udp" }, - { "glogger", { NULL }, 2033, "tcp" }, - { "glogger", { NULL }, 2033, "udp" }, - { "scoremgr", { NULL }, 2034, "tcp" }, - { "scoremgr", { NULL }, 2034, "udp" }, - { "imsldoc", { NULL }, 2035, "tcp" }, - { "imsldoc", { NULL }, 2035, "udp" }, - { "e-dpnet", { NULL }, 2036, "tcp" }, - { "e-dpnet", { NULL }, 2036, "udp" }, - { "applus", { NULL }, 2037, "tcp" }, - { "applus", { NULL }, 2037, "udp" }, - { "objectmanager", { NULL }, 2038, "tcp" }, - { "objectmanager", { NULL }, 2038, "udp" }, - { "prizma", { NULL }, 2039, "tcp" }, - { "prizma", { NULL }, 2039, "udp" }, - { "lam", { NULL }, 2040, "tcp" }, - { "lam", { NULL }, 2040, "udp" }, - { "interbase", { NULL }, 2041, "tcp" }, - { "interbase", { NULL }, 2041, "udp" }, - { "isis", { NULL }, 2042, "tcp" }, - { "isis", { NULL }, 2042, "udp" }, - { "isis-bcast", { NULL }, 2043, "tcp" }, - { "isis-bcast", { NULL }, 2043, "udp" }, - { "rimsl", { NULL }, 2044, "tcp" }, - { "rimsl", { NULL }, 2044, "udp" }, - { "cdfunc", { NULL }, 2045, "tcp" }, - { "cdfunc", { NULL }, 2045, "udp" }, - { "sdfunc", { NULL }, 2046, "tcp" }, - { "sdfunc", { NULL }, 2046, "udp" }, - { "dls", { NULL }, 2047, "tcp" }, - { "dls", { NULL }, 2047, "udp" }, - { "dls-monitor", { NULL }, 2048, "tcp" }, - { "dls-monitor", { NULL }, 2048, "udp" }, - { "shilp", { NULL }, 2049, "tcp" }, - { "shilp", { NULL }, 2049, "udp" }, - { "nfs", { NULL }, 2049, "tcp" }, - { "nfs", { NULL }, 2049, "udp" }, - { "nfs", { NULL }, 2049, "sctp"}, - { "av-emb-config", { NULL }, 2050, "tcp" }, - { "av-emb-config", { NULL }, 2050, "udp" }, - { "epnsdp", { NULL }, 2051, "tcp" }, - { "epnsdp", { NULL }, 2051, "udp" }, - { "clearvisn", { NULL }, 2052, "tcp" }, - { "clearvisn", { NULL }, 2052, "udp" }, - { "lot105-ds-upd", { NULL }, 2053, "tcp" }, - { "lot105-ds-upd", { NULL }, 2053, "udp" }, - { "weblogin", { NULL }, 2054, "tcp" }, - { "weblogin", { NULL }, 2054, "udp" }, - { "iop", { NULL }, 2055, "tcp" }, - { "iop", { NULL }, 2055, "udp" }, - { "omnisky", { NULL }, 2056, "tcp" }, - { "omnisky", { NULL }, 2056, "udp" }, - { "rich-cp", { NULL }, 2057, "tcp" }, - { "rich-cp", { NULL }, 2057, "udp" }, - { "newwavesearch", { NULL }, 2058, "tcp" }, - { "newwavesearch", { NULL }, 2058, "udp" }, - { "bmc-messaging", { NULL }, 2059, "tcp" }, - { "bmc-messaging", { NULL }, 2059, "udp" }, - { "teleniumdaemon", { NULL }, 2060, "tcp" }, - { "teleniumdaemon", { NULL }, 2060, "udp" }, - { "netmount", { NULL }, 2061, "tcp" }, - { "netmount", { NULL }, 2061, "udp" }, - { "icg-swp", { NULL }, 2062, "tcp" }, - { "icg-swp", { NULL }, 2062, "udp" }, - { "icg-bridge", { NULL }, 2063, "tcp" }, - { "icg-bridge", { NULL }, 2063, "udp" }, - { "icg-iprelay", { NULL }, 2064, "tcp" }, - { "icg-iprelay", { NULL }, 2064, "udp" }, - { "dlsrpn", { NULL }, 2065, "tcp" }, - { "dlsrpn", { NULL }, 2065, "udp" }, - { "aura", { NULL }, 2066, "tcp" }, - { "aura", { NULL }, 2066, "udp" }, - { "dlswpn", { NULL }, 2067, "tcp" }, - { "dlswpn", { NULL }, 2067, "udp" }, - { "avauthsrvprtcl", { NULL }, 2068, "tcp" }, - { "avauthsrvprtcl", { NULL }, 2068, "udp" }, - { "event-port", { NULL }, 2069, "tcp" }, - { "event-port", { NULL }, 2069, "udp" }, - { "ah-esp-encap", { NULL }, 2070, "tcp" }, - { "ah-esp-encap", { NULL }, 2070, "udp" }, - { "acp-port", { NULL }, 2071, "tcp" }, - { "acp-port", { NULL }, 2071, "udp" }, - { "msync", { NULL }, 2072, "tcp" }, - { "msync", { NULL }, 2072, "udp" }, - { "gxs-data-port", { NULL }, 2073, "tcp" }, - { "gxs-data-port", { NULL }, 2073, "udp" }, - { "vrtl-vmf-sa", { NULL }, 2074, "tcp" }, - { "vrtl-vmf-sa", { NULL }, 2074, "udp" }, - { "newlixengine", { NULL }, 2075, "tcp" }, - { "newlixengine", { NULL }, 2075, "udp" }, - { "newlixconfig", { NULL }, 2076, "tcp" }, - { "newlixconfig", { NULL }, 2076, "udp" }, - { "tsrmagt", { NULL }, 2077, "tcp" }, - { "tsrmagt", { NULL }, 2077, "udp" }, - { "tpcsrvr", { NULL }, 2078, "tcp" }, - { "tpcsrvr", { NULL }, 2078, "udp" }, - { "idware-router", { NULL }, 2079, "tcp" }, - { "idware-router", { NULL }, 2079, "udp" }, - { "autodesk-nlm", { NULL }, 2080, "tcp" }, - { "autodesk-nlm", { NULL }, 2080, "udp" }, - { "kme-trap-port", { NULL }, 2081, "tcp" }, - { "kme-trap-port", { NULL }, 2081, "udp" }, - { "infowave", { NULL }, 2082, "tcp" }, - { "infowave", { NULL }, 2082, "udp" }, - { "radsec", { NULL }, 2083, "tcp" }, - { "radsec", { NULL }, 2083, "udp" }, - { "sunclustergeo", { NULL }, 2084, "tcp" }, - { "sunclustergeo", { NULL }, 2084, "udp" }, - { "ada-cip", { NULL }, 2085, "tcp" }, - { "ada-cip", { NULL }, 2085, "udp" }, - { "gnunet", { NULL }, 2086, "tcp" }, - { "gnunet", { NULL }, 2086, "udp" }, - { "eli", { NULL }, 2087, "tcp" }, - { "eli", { NULL }, 2087, "udp" }, - { "ip-blf", { NULL }, 2088, "tcp" }, - { "ip-blf", { NULL }, 2088, "udp" }, - { "sep", { NULL }, 2089, "tcp" }, - { "sep", { NULL }, 2089, "udp" }, - { "lrp", { NULL }, 2090, "tcp" }, - { "lrp", { NULL }, 2090, "udp" }, - { "prp", { NULL }, 2091, "tcp" }, - { "prp", { NULL }, 2091, "udp" }, - { "descent3", { NULL }, 2092, "tcp" }, - { "descent3", { NULL }, 2092, "udp" }, - { "nbx-cc", { NULL }, 2093, "tcp" }, - { "nbx-cc", { NULL }, 2093, "udp" }, - { "nbx-au", { NULL }, 2094, "tcp" }, - { "nbx-au", { NULL }, 2094, "udp" }, - { "nbx-ser", { NULL }, 2095, "tcp" }, - { "nbx-ser", { NULL }, 2095, "udp" }, - { "nbx-dir", { NULL }, 2096, "tcp" }, - { "nbx-dir", { NULL }, 2096, "udp" }, - { "jetformpreview", { NULL }, 2097, "tcp" }, - { "jetformpreview", { NULL }, 2097, "udp" }, - { "dialog-port", { NULL }, 2098, "tcp" }, - { "dialog-port", { NULL }, 2098, "udp" }, - { "h2250-annex-g", { NULL }, 2099, "tcp" }, - { "h2250-annex-g", { NULL }, 2099, "udp" }, - { "amiganetfs", { NULL }, 2100, "tcp" }, - { "amiganetfs", { NULL }, 2100, "udp" }, - { "rtcm-sc104", { NULL }, 2101, "tcp" }, - { "rtcm-sc104", { NULL }, 2101, "udp" }, - { "zephyr-srv", { NULL }, 2102, "tcp" }, - { "zephyr-srv", { NULL }, 2102, "udp" }, - { "zephyr-clt", { NULL }, 2103, "tcp" }, - { "zephyr-clt", { NULL }, 2103, "udp" }, - { "zephyr-hm", { NULL }, 2104, "tcp" }, - { "zephyr-hm", { NULL }, 2104, "udp" }, - { "minipay", { NULL }, 2105, "tcp" }, - { "minipay", { NULL }, 2105, "udp" }, - { "mzap", { NULL }, 2106, "tcp" }, - { "mzap", { NULL }, 2106, "udp" }, - { "bintec-admin", { NULL }, 2107, "tcp" }, - { "bintec-admin", { NULL }, 2107, "udp" }, - { "comcam", { NULL }, 2108, "tcp" }, - { "comcam", { NULL }, 2108, "udp" }, - { "ergolight", { NULL }, 2109, "tcp" }, - { "ergolight", { NULL }, 2109, "udp" }, - { "umsp", { NULL }, 2110, "tcp" }, - { "umsp", { NULL }, 2110, "udp" }, - { "dsatp", { NULL }, 2111, "tcp" }, - { "dsatp", { NULL }, 2111, "udp" }, - { "idonix-metanet", { NULL }, 2112, "tcp" }, - { "idonix-metanet", { NULL }, 2112, "udp" }, - { "hsl-storm", { NULL }, 2113, "tcp" }, - { "hsl-storm", { NULL }, 2113, "udp" }, - { "newheights", { NULL }, 2114, "tcp" }, - { "newheights", { NULL }, 2114, "udp" }, - { "kdm", { NULL }, 2115, "tcp" }, - { "kdm", { NULL }, 2115, "udp" }, - { "ccowcmr", { NULL }, 2116, "tcp" }, - { "ccowcmr", { NULL }, 2116, "udp" }, - { "mentaclient", { NULL }, 2117, "tcp" }, - { "mentaclient", { NULL }, 2117, "udp" }, - { "mentaserver", { NULL }, 2118, "tcp" }, - { "mentaserver", { NULL }, 2118, "udp" }, - { "gsigatekeeper", { NULL }, 2119, "tcp" }, - { "gsigatekeeper", { NULL }, 2119, "udp" }, - { "qencp", { NULL }, 2120, "tcp" }, - { "qencp", { NULL }, 2120, "udp" }, - { "scientia-ssdb", { NULL }, 2121, "tcp" }, - { "scientia-ssdb", { NULL }, 2121, "udp" }, - { "caupc-remote", { NULL }, 2122, "tcp" }, - { "caupc-remote", { NULL }, 2122, "udp" }, - { "gtp-control", { NULL }, 2123, "tcp" }, - { "gtp-control", { NULL }, 2123, "udp" }, - { "elatelink", { NULL }, 2124, "tcp" }, - { "elatelink", { NULL }, 2124, "udp" }, - { "lockstep", { NULL }, 2125, "tcp" }, - { "lockstep", { NULL }, 2125, "udp" }, - { "pktcable-cops", { NULL }, 2126, "tcp" }, - { "pktcable-cops", { NULL }, 2126, "udp" }, - { "index-pc-wb", { NULL }, 2127, "tcp" }, - { "index-pc-wb", { NULL }, 2127, "udp" }, - { "net-steward", { NULL }, 2128, "tcp" }, - { "net-steward", { NULL }, 2128, "udp" }, - { "cs-live", { NULL }, 2129, "tcp" }, - { "cs-live", { NULL }, 2129, "udp" }, - { "xds", { NULL }, 2130, "tcp" }, - { "xds", { NULL }, 2130, "udp" }, - { "avantageb2b", { NULL }, 2131, "tcp" }, - { "avantageb2b", { NULL }, 2131, "udp" }, - { "solera-epmap", { NULL }, 2132, "tcp" }, - { "solera-epmap", { NULL }, 2132, "udp" }, - { "zymed-zpp", { NULL }, 2133, "tcp" }, - { "zymed-zpp", { NULL }, 2133, "udp" }, - { "avenue", { NULL }, 2134, "tcp" }, - { "avenue", { NULL }, 2134, "udp" }, - { "gris", { NULL }, 2135, "tcp" }, - { "gris", { NULL }, 2135, "udp" }, - { "appworxsrv", { NULL }, 2136, "tcp" }, - { "appworxsrv", { NULL }, 2136, "udp" }, - { "connect", { NULL }, 2137, "tcp" }, - { "connect", { NULL }, 2137, "udp" }, - { "unbind-cluster", { NULL }, 2138, "tcp" }, - { "unbind-cluster", { NULL }, 2138, "udp" }, - { "ias-auth", { NULL }, 2139, "tcp" }, - { "ias-auth", { NULL }, 2139, "udp" }, - { "ias-reg", { NULL }, 2140, "tcp" }, - { "ias-reg", { NULL }, 2140, "udp" }, - { "ias-admind", { NULL }, 2141, "tcp" }, - { "ias-admind", { NULL }, 2141, "udp" }, - { "tdmoip", { NULL }, 2142, "tcp" }, - { "tdmoip", { NULL }, 2142, "udp" }, - { "lv-jc", { NULL }, 2143, "tcp" }, - { "lv-jc", { NULL }, 2143, "udp" }, - { "lv-ffx", { NULL }, 2144, "tcp" }, - { "lv-ffx", { NULL }, 2144, "udp" }, - { "lv-pici", { NULL }, 2145, "tcp" }, - { "lv-pici", { NULL }, 2145, "udp" }, - { "lv-not", { NULL }, 2146, "tcp" }, - { "lv-not", { NULL }, 2146, "udp" }, - { "lv-auth", { NULL }, 2147, "tcp" }, - { "lv-auth", { NULL }, 2147, "udp" }, - { "veritas-ucl", { NULL }, 2148, "tcp" }, - { "veritas-ucl", { NULL }, 2148, "udp" }, - { "acptsys", { NULL }, 2149, "tcp" }, - { "acptsys", { NULL }, 2149, "udp" }, - { "dynamic3d", { NULL }, 2150, "tcp" }, - { "dynamic3d", { NULL }, 2150, "udp" }, - { "docent", { NULL }, 2151, "tcp" }, - { "docent", { NULL }, 2151, "udp" }, - { "gtp-user", { NULL }, 2152, "tcp" }, - { "gtp-user", { NULL }, 2152, "udp" }, - { "ctlptc", { NULL }, 2153, "tcp" }, - { "ctlptc", { NULL }, 2153, "udp" }, - { "stdptc", { NULL }, 2154, "tcp" }, - { "stdptc", { NULL }, 2154, "udp" }, - { "brdptc", { NULL }, 2155, "tcp" }, - { "brdptc", { NULL }, 2155, "udp" }, - { "trp", { NULL }, 2156, "tcp" }, - { "trp", { NULL }, 2156, "udp" }, - { "xnds", { NULL }, 2157, "tcp" }, - { "xnds", { NULL }, 2157, "udp" }, - { "touchnetplus", { NULL }, 2158, "tcp" }, - { "touchnetplus", { NULL }, 2158, "udp" }, - { "gdbremote", { NULL }, 2159, "tcp" }, - { "gdbremote", { NULL }, 2159, "udp" }, - { "apc-2160", { NULL }, 2160, "tcp" }, - { "apc-2160", { NULL }, 2160, "udp" }, - { "apc-2161", { NULL }, 2161, "tcp" }, - { "apc-2161", { NULL }, 2161, "udp" }, - { "navisphere", { NULL }, 2162, "tcp" }, - { "navisphere", { NULL }, 2162, "udp" }, - { "navisphere-sec", { NULL }, 2163, "tcp" }, - { "navisphere-sec", { NULL }, 2163, "udp" }, - { "ddns-v3", { NULL }, 2164, "tcp" }, - { "ddns-v3", { NULL }, 2164, "udp" }, - { "x-bone-api", { NULL }, 2165, "tcp" }, - { "x-bone-api", { NULL }, 2165, "udp" }, - { "iwserver", { NULL }, 2166, "tcp" }, - { "iwserver", { NULL }, 2166, "udp" }, - { "raw-serial", { NULL }, 2167, "tcp" }, - { "raw-serial", { NULL }, 2167, "udp" }, - { "easy-soft-mux", { NULL }, 2168, "tcp" }, - { "easy-soft-mux", { NULL }, 2168, "udp" }, - { "brain", { NULL }, 2169, "tcp" }, - { "brain", { NULL }, 2169, "udp" }, - { "eyetv", { NULL }, 2170, "tcp" }, - { "eyetv", { NULL }, 2170, "udp" }, - { "msfw-storage", { NULL }, 2171, "tcp" }, - { "msfw-storage", { NULL }, 2171, "udp" }, - { "msfw-s-storage", { NULL }, 2172, "tcp" }, - { "msfw-s-storage", { NULL }, 2172, "udp" }, - { "msfw-replica", { NULL }, 2173, "tcp" }, - { "msfw-replica", { NULL }, 2173, "udp" }, - { "msfw-array", { NULL }, 2174, "tcp" }, - { "msfw-array", { NULL }, 2174, "udp" }, - { "airsync", { NULL }, 2175, "tcp" }, - { "airsync", { NULL }, 2175, "udp" }, - { "rapi", { NULL }, 2176, "tcp" }, - { "rapi", { NULL }, 2176, "udp" }, - { "qwave", { NULL }, 2177, "tcp" }, - { "qwave", { NULL }, 2177, "udp" }, - { "bitspeer", { NULL }, 2178, "tcp" }, - { "bitspeer", { NULL }, 2178, "udp" }, - { "vmrdp", { NULL }, 2179, "tcp" }, - { "vmrdp", { NULL }, 2179, "udp" }, - { "mc-gt-srv", { NULL }, 2180, "tcp" }, - { "mc-gt-srv", { NULL }, 2180, "udp" }, - { "eforward", { NULL }, 2181, "tcp" }, - { "eforward", { NULL }, 2181, "udp" }, - { "cgn-stat", { NULL }, 2182, "tcp" }, - { "cgn-stat", { NULL }, 2182, "udp" }, - { "cgn-config", { NULL }, 2183, "tcp" }, - { "cgn-config", { NULL }, 2183, "udp" }, - { "nvd", { NULL }, 2184, "tcp" }, - { "nvd", { NULL }, 2184, "udp" }, - { "onbase-dds", { NULL }, 2185, "tcp" }, - { "onbase-dds", { NULL }, 2185, "udp" }, - { "gtaua", { NULL }, 2186, "tcp" }, - { "gtaua", { NULL }, 2186, "udp" }, - { "ssmc", { NULL }, 2187, "tcp" }, - { "ssmd", { NULL }, 2187, "udp" }, - { "tivoconnect", { NULL }, 2190, "tcp" }, - { "tivoconnect", { NULL }, 2190, "udp" }, - { "tvbus", { NULL }, 2191, "tcp" }, - { "tvbus", { NULL }, 2191, "udp" }, - { "asdis", { NULL }, 2192, "tcp" }, - { "asdis", { NULL }, 2192, "udp" }, - { "drwcs", { NULL }, 2193, "tcp" }, - { "drwcs", { NULL }, 2193, "udp" }, - { "mnp-exchange", { NULL }, 2197, "tcp" }, - { "mnp-exchange", { NULL }, 2197, "udp" }, - { "onehome-remote", { NULL }, 2198, "tcp" }, - { "onehome-remote", { NULL }, 2198, "udp" }, - { "onehome-help", { NULL }, 2199, "tcp" }, - { "onehome-help", { NULL }, 2199, "udp" }, - { "ici", { NULL }, 2200, "tcp" }, - { "ici", { NULL }, 2200, "udp" }, - { "ats", { NULL }, 2201, "tcp" }, - { "ats", { NULL }, 2201, "udp" }, - { "imtc-map", { NULL }, 2202, "tcp" }, - { "imtc-map", { NULL }, 2202, "udp" }, - { "b2-runtime", { NULL }, 2203, "tcp" }, - { "b2-runtime", { NULL }, 2203, "udp" }, - { "b2-license", { NULL }, 2204, "tcp" }, - { "b2-license", { NULL }, 2204, "udp" }, - { "jps", { NULL }, 2205, "tcp" }, - { "jps", { NULL }, 2205, "udp" }, - { "hpocbus", { NULL }, 2206, "tcp" }, - { "hpocbus", { NULL }, 2206, "udp" }, - { "hpssd", { NULL }, 2207, "tcp" }, - { "hpssd", { NULL }, 2207, "udp" }, - { "hpiod", { NULL }, 2208, "tcp" }, - { "hpiod", { NULL }, 2208, "udp" }, - { "rimf-ps", { NULL }, 2209, "tcp" }, - { "rimf-ps", { NULL }, 2209, "udp" }, - { "noaaport", { NULL }, 2210, "tcp" }, - { "noaaport", { NULL }, 2210, "udp" }, - { "emwin", { NULL }, 2211, "tcp" }, - { "emwin", { NULL }, 2211, "udp" }, - { "leecoposserver", { NULL }, 2212, "tcp" }, - { "leecoposserver", { NULL }, 2212, "udp" }, - { "kali", { NULL }, 2213, "tcp" }, - { "kali", { NULL }, 2213, "udp" }, - { "rpi", { NULL }, 2214, "tcp" }, - { "rpi", { NULL }, 2214, "udp" }, - { "ipcore", { NULL }, 2215, "tcp" }, - { "ipcore", { NULL }, 2215, "udp" }, - { "vtu-comms", { NULL }, 2216, "tcp" }, - { "vtu-comms", { NULL }, 2216, "udp" }, - { "gotodevice", { NULL }, 2217, "tcp" }, - { "gotodevice", { NULL }, 2217, "udp" }, - { "bounzza", { NULL }, 2218, "tcp" }, - { "bounzza", { NULL }, 2218, "udp" }, - { "netiq-ncap", { NULL }, 2219, "tcp" }, - { "netiq-ncap", { NULL }, 2219, "udp" }, - { "netiq", { NULL }, 2220, "tcp" }, - { "netiq", { NULL }, 2220, "udp" }, - { "rockwell-csp1", { NULL }, 2221, "tcp" }, - { "rockwell-csp1", { NULL }, 2221, "udp" }, - { "EtherNet/IP-1", { NULL }, 2222, "tcp" }, - { "EtherNet/IP-1", { NULL }, 2222, "udp" }, - { "rockwell-csp2", { NULL }, 2223, "tcp" }, - { "rockwell-csp2", { NULL }, 2223, "udp" }, - { "efi-mg", { NULL }, 2224, "tcp" }, - { "efi-mg", { NULL }, 2224, "udp" }, - { "rcip-itu", { NULL }, 2225, "tcp" }, - { "rcip-itu", { NULL }, 2225, "sctp"}, - { "di-drm", { NULL }, 2226, "tcp" }, - { "di-drm", { NULL }, 2226, "udp" }, - { "di-msg", { NULL }, 2227, "tcp" }, - { "di-msg", { NULL }, 2227, "udp" }, - { "ehome-ms", { NULL }, 2228, "tcp" }, - { "ehome-ms", { NULL }, 2228, "udp" }, - { "datalens", { NULL }, 2229, "tcp" }, - { "datalens", { NULL }, 2229, "udp" }, - { "queueadm", { NULL }, 2230, "tcp" }, - { "queueadm", { NULL }, 2230, "udp" }, - { "wimaxasncp", { NULL }, 2231, "tcp" }, - { "wimaxasncp", { NULL }, 2231, "udp" }, - { "ivs-video", { NULL }, 2232, "tcp" }, - { "ivs-video", { NULL }, 2232, "udp" }, - { "infocrypt", { NULL }, 2233, "tcp" }, - { "infocrypt", { NULL }, 2233, "udp" }, - { "directplay", { NULL }, 2234, "tcp" }, - { "directplay", { NULL }, 2234, "udp" }, - { "sercomm-wlink", { NULL }, 2235, "tcp" }, - { "sercomm-wlink", { NULL }, 2235, "udp" }, - { "nani", { NULL }, 2236, "tcp" }, - { "nani", { NULL }, 2236, "udp" }, - { "optech-port1-lm", { NULL }, 2237, "tcp" }, - { "optech-port1-lm", { NULL }, 2237, "udp" }, - { "aviva-sna", { NULL }, 2238, "tcp" }, - { "aviva-sna", { NULL }, 2238, "udp" }, - { "imagequery", { NULL }, 2239, "tcp" }, - { "imagequery", { NULL }, 2239, "udp" }, - { "recipe", { NULL }, 2240, "tcp" }, - { "recipe", { NULL }, 2240, "udp" }, - { "ivsd", { NULL }, 2241, "tcp" }, - { "ivsd", { NULL }, 2241, "udp" }, - { "foliocorp", { NULL }, 2242, "tcp" }, - { "foliocorp", { NULL }, 2242, "udp" }, - { "magicom", { NULL }, 2243, "tcp" }, - { "magicom", { NULL }, 2243, "udp" }, - { "nmsserver", { NULL }, 2244, "tcp" }, - { "nmsserver", { NULL }, 2244, "udp" }, - { "hao", { NULL }, 2245, "tcp" }, - { "hao", { NULL }, 2245, "udp" }, - { "pc-mta-addrmap", { NULL }, 2246, "tcp" }, - { "pc-mta-addrmap", { NULL }, 2246, "udp" }, - { "antidotemgrsvr", { NULL }, 2247, "tcp" }, - { "antidotemgrsvr", { NULL }, 2247, "udp" }, - { "ums", { NULL }, 2248, "tcp" }, - { "ums", { NULL }, 2248, "udp" }, - { "rfmp", { NULL }, 2249, "tcp" }, - { "rfmp", { NULL }, 2249, "udp" }, - { "remote-collab", { NULL }, 2250, "tcp" }, - { "remote-collab", { NULL }, 2250, "udp" }, - { "dif-port", { NULL }, 2251, "tcp" }, - { "dif-port", { NULL }, 2251, "udp" }, - { "njenet-ssl", { NULL }, 2252, "tcp" }, - { "njenet-ssl", { NULL }, 2252, "udp" }, - { "dtv-chan-req", { NULL }, 2253, "tcp" }, - { "dtv-chan-req", { NULL }, 2253, "udp" }, - { "seispoc", { NULL }, 2254, "tcp" }, - { "seispoc", { NULL }, 2254, "udp" }, - { "vrtp", { NULL }, 2255, "tcp" }, - { "vrtp", { NULL }, 2255, "udp" }, - { "pcc-mfp", { NULL }, 2256, "tcp" }, - { "pcc-mfp", { NULL }, 2256, "udp" }, - { "simple-tx-rx", { NULL }, 2257, "tcp" }, - { "simple-tx-rx", { NULL }, 2257, "udp" }, - { "rcts", { NULL }, 2258, "tcp" }, - { "rcts", { NULL }, 2258, "udp" }, - { "acd-pm", { NULL }, 2259, "tcp" }, - { "acd-pm", { NULL }, 2259, "udp" }, - { "apc-2260", { NULL }, 2260, "tcp" }, - { "apc-2260", { NULL }, 2260, "udp" }, - { "comotionmaster", { NULL }, 2261, "tcp" }, - { "comotionmaster", { NULL }, 2261, "udp" }, - { "comotionback", { NULL }, 2262, "tcp" }, - { "comotionback", { NULL }, 2262, "udp" }, - { "ecwcfg", { NULL }, 2263, "tcp" }, - { "ecwcfg", { NULL }, 2263, "udp" }, - { "apx500api-1", { NULL }, 2264, "tcp" }, - { "apx500api-1", { NULL }, 2264, "udp" }, - { "apx500api-2", { NULL }, 2265, "tcp" }, - { "apx500api-2", { NULL }, 2265, "udp" }, - { "mfserver", { NULL }, 2266, "tcp" }, - { "mfserver", { NULL }, 2266, "udp" }, - { "ontobroker", { NULL }, 2267, "tcp" }, - { "ontobroker", { NULL }, 2267, "udp" }, - { "amt", { NULL }, 2268, "tcp" }, - { "amt", { NULL }, 2268, "udp" }, - { "mikey", { NULL }, 2269, "tcp" }, - { "mikey", { NULL }, 2269, "udp" }, - { "starschool", { NULL }, 2270, "tcp" }, - { "starschool", { NULL }, 2270, "udp" }, - { "mmcals", { NULL }, 2271, "tcp" }, - { "mmcals", { NULL }, 2271, "udp" }, - { "mmcal", { NULL }, 2272, "tcp" }, - { "mmcal", { NULL }, 2272, "udp" }, - { "mysql-im", { NULL }, 2273, "tcp" }, - { "mysql-im", { NULL }, 2273, "udp" }, - { "pcttunnell", { NULL }, 2274, "tcp" }, - { "pcttunnell", { NULL }, 2274, "udp" }, - { "ibridge-data", { NULL }, 2275, "tcp" }, - { "ibridge-data", { NULL }, 2275, "udp" }, - { "ibridge-mgmt", { NULL }, 2276, "tcp" }, - { "ibridge-mgmt", { NULL }, 2276, "udp" }, - { "bluectrlproxy", { NULL }, 2277, "tcp" }, - { "bluectrlproxy", { NULL }, 2277, "udp" }, - { "s3db", { NULL }, 2278, "tcp" }, - { "s3db", { NULL }, 2278, "udp" }, - { "xmquery", { NULL }, 2279, "tcp" }, - { "xmquery", { NULL }, 2279, "udp" }, - { "lnvpoller", { NULL }, 2280, "tcp" }, - { "lnvpoller", { NULL }, 2280, "udp" }, - { "lnvconsole", { NULL }, 2281, "tcp" }, - { "lnvconsole", { NULL }, 2281, "udp" }, - { "lnvalarm", { NULL }, 2282, "tcp" }, - { "lnvalarm", { NULL }, 2282, "udp" }, - { "lnvstatus", { NULL }, 2283, "tcp" }, - { "lnvstatus", { NULL }, 2283, "udp" }, - { "lnvmaps", { NULL }, 2284, "tcp" }, - { "lnvmaps", { NULL }, 2284, "udp" }, - { "lnvmailmon", { NULL }, 2285, "tcp" }, - { "lnvmailmon", { NULL }, 2285, "udp" }, - { "nas-metering", { NULL }, 2286, "tcp" }, - { "nas-metering", { NULL }, 2286, "udp" }, - { "dna", { NULL }, 2287, "tcp" }, - { "dna", { NULL }, 2287, "udp" }, - { "netml", { NULL }, 2288, "tcp" }, - { "netml", { NULL }, 2288, "udp" }, - { "dict-lookup", { NULL }, 2289, "tcp" }, - { "dict-lookup", { NULL }, 2289, "udp" }, - { "sonus-logging", { NULL }, 2290, "tcp" }, - { "sonus-logging", { NULL }, 2290, "udp" }, - { "eapsp", { NULL }, 2291, "tcp" }, - { "eapsp", { NULL }, 2291, "udp" }, - { "mib-streaming", { NULL }, 2292, "tcp" }, - { "mib-streaming", { NULL }, 2292, "udp" }, - { "npdbgmngr", { NULL }, 2293, "tcp" }, - { "npdbgmngr", { NULL }, 2293, "udp" }, - { "konshus-lm", { NULL }, 2294, "tcp" }, - { "konshus-lm", { NULL }, 2294, "udp" }, - { "advant-lm", { NULL }, 2295, "tcp" }, - { "advant-lm", { NULL }, 2295, "udp" }, - { "theta-lm", { NULL }, 2296, "tcp" }, - { "theta-lm", { NULL }, 2296, "udp" }, - { "d2k-datamover1", { NULL }, 2297, "tcp" }, - { "d2k-datamover1", { NULL }, 2297, "udp" }, - { "d2k-datamover2", { NULL }, 2298, "tcp" }, - { "d2k-datamover2", { NULL }, 2298, "udp" }, - { "pc-telecommute", { NULL }, 2299, "tcp" }, - { "pc-telecommute", { NULL }, 2299, "udp" }, - { "cvmmon", { NULL }, 2300, "tcp" }, - { "cvmmon", { NULL }, 2300, "udp" }, - { "cpq-wbem", { NULL }, 2301, "tcp" }, - { "cpq-wbem", { NULL }, 2301, "udp" }, - { "binderysupport", { NULL }, 2302, "tcp" }, - { "binderysupport", { NULL }, 2302, "udp" }, - { "proxy-gateway", { NULL }, 2303, "tcp" }, - { "proxy-gateway", { NULL }, 2303, "udp" }, - { "attachmate-uts", { NULL }, 2304, "tcp" }, - { "attachmate-uts", { NULL }, 2304, "udp" }, - { "mt-scaleserver", { NULL }, 2305, "tcp" }, - { "mt-scaleserver", { NULL }, 2305, "udp" }, - { "tappi-boxnet", { NULL }, 2306, "tcp" }, - { "tappi-boxnet", { NULL }, 2306, "udp" }, - { "pehelp", { NULL }, 2307, "tcp" }, - { "pehelp", { NULL }, 2307, "udp" }, - { "sdhelp", { NULL }, 2308, "tcp" }, - { "sdhelp", { NULL }, 2308, "udp" }, - { "sdserver", { NULL }, 2309, "tcp" }, - { "sdserver", { NULL }, 2309, "udp" }, - { "sdclient", { NULL }, 2310, "tcp" }, - { "sdclient", { NULL }, 2310, "udp" }, - { "messageservice", { NULL }, 2311, "tcp" }, - { "messageservice", { NULL }, 2311, "udp" }, - { "wanscaler", { NULL }, 2312, "tcp" }, - { "wanscaler", { NULL }, 2312, "udp" }, - { "iapp", { NULL }, 2313, "tcp" }, - { "iapp", { NULL }, 2313, "udp" }, - { "cr-websystems", { NULL }, 2314, "tcp" }, - { "cr-websystems", { NULL }, 2314, "udp" }, - { "precise-sft", { NULL }, 2315, "tcp" }, - { "precise-sft", { NULL }, 2315, "udp" }, - { "sent-lm", { NULL }, 2316, "tcp" }, - { "sent-lm", { NULL }, 2316, "udp" }, - { "attachmate-g32", { NULL }, 2317, "tcp" }, - { "attachmate-g32", { NULL }, 2317, "udp" }, - { "cadencecontrol", { NULL }, 2318, "tcp" }, - { "cadencecontrol", { NULL }, 2318, "udp" }, - { "infolibria", { NULL }, 2319, "tcp" }, - { "infolibria", { NULL }, 2319, "udp" }, - { "siebel-ns", { NULL }, 2320, "tcp" }, - { "siebel-ns", { NULL }, 2320, "udp" }, - { "rdlap", { NULL }, 2321, "tcp" }, - { "rdlap", { NULL }, 2321, "udp" }, - { "ofsd", { NULL }, 2322, "tcp" }, - { "ofsd", { NULL }, 2322, "udp" }, - { "3d-nfsd", { NULL }, 2323, "tcp" }, - { "3d-nfsd", { NULL }, 2323, "udp" }, - { "cosmocall", { NULL }, 2324, "tcp" }, - { "cosmocall", { NULL }, 2324, "udp" }, - { "ansysli", { NULL }, 2325, "tcp" }, - { "ansysli", { NULL }, 2325, "udp" }, - { "idcp", { NULL }, 2326, "tcp" }, - { "idcp", { NULL }, 2326, "udp" }, - { "xingcsm", { NULL }, 2327, "tcp" }, - { "xingcsm", { NULL }, 2327, "udp" }, - { "netrix-sftm", { NULL }, 2328, "tcp" }, - { "netrix-sftm", { NULL }, 2328, "udp" }, - { "nvd", { NULL }, 2329, "tcp" }, - { "nvd", { NULL }, 2329, "udp" }, - { "tscchat", { NULL }, 2330, "tcp" }, - { "tscchat", { NULL }, 2330, "udp" }, - { "agentview", { NULL }, 2331, "tcp" }, - { "agentview", { NULL }, 2331, "udp" }, - { "rcc-host", { NULL }, 2332, "tcp" }, - { "rcc-host", { NULL }, 2332, "udp" }, - { "snapp", { NULL }, 2333, "tcp" }, - { "snapp", { NULL }, 2333, "udp" }, - { "ace-client", { NULL }, 2334, "tcp" }, - { "ace-client", { NULL }, 2334, "udp" }, - { "ace-proxy", { NULL }, 2335, "tcp" }, - { "ace-proxy", { NULL }, 2335, "udp" }, - { "appleugcontrol", { NULL }, 2336, "tcp" }, - { "appleugcontrol", { NULL }, 2336, "udp" }, - { "ideesrv", { NULL }, 2337, "tcp" }, - { "ideesrv", { NULL }, 2337, "udp" }, - { "norton-lambert", { NULL }, 2338, "tcp" }, - { "norton-lambert", { NULL }, 2338, "udp" }, - { "3com-webview", { NULL }, 2339, "tcp" }, - { "3com-webview", { NULL }, 2339, "udp" }, - { "wrs_registry", { NULL }, 2340, "tcp" }, - { "wrs_registry", { NULL }, 2340, "udp" }, - { "xiostatus", { NULL }, 2341, "tcp" }, - { "xiostatus", { NULL }, 2341, "udp" }, - { "manage-exec", { NULL }, 2342, "tcp" }, - { "manage-exec", { NULL }, 2342, "udp" }, - { "nati-logos", { NULL }, 2343, "tcp" }, - { "nati-logos", { NULL }, 2343, "udp" }, - { "fcmsys", { NULL }, 2344, "tcp" }, - { "fcmsys", { NULL }, 2344, "udp" }, - { "dbm", { NULL }, 2345, "tcp" }, - { "dbm", { NULL }, 2345, "udp" }, - { "redstorm_join", { NULL }, 2346, "tcp" }, - { "redstorm_join", { NULL }, 2346, "udp" }, - { "redstorm_find", { NULL }, 2347, "tcp" }, - { "redstorm_find", { NULL }, 2347, "udp" }, - { "redstorm_info", { NULL }, 2348, "tcp" }, - { "redstorm_info", { NULL }, 2348, "udp" }, - { "redstorm_diag", { NULL }, 2349, "tcp" }, - { "redstorm_diag", { NULL }, 2349, "udp" }, - { "psbserver", { NULL }, 2350, "tcp" }, - { "psbserver", { NULL }, 2350, "udp" }, - { "psrserver", { NULL }, 2351, "tcp" }, - { "psrserver", { NULL }, 2351, "udp" }, - { "pslserver", { NULL }, 2352, "tcp" }, - { "pslserver", { NULL }, 2352, "udp" }, - { "pspserver", { NULL }, 2353, "tcp" }, - { "pspserver", { NULL }, 2353, "udp" }, - { "psprserver", { NULL }, 2354, "tcp" }, - { "psprserver", { NULL }, 2354, "udp" }, - { "psdbserver", { NULL }, 2355, "tcp" }, - { "psdbserver", { NULL }, 2355, "udp" }, - { "gxtelmd", { NULL }, 2356, "tcp" }, - { "gxtelmd", { NULL }, 2356, "udp" }, - { "unihub-server", { NULL }, 2357, "tcp" }, - { "unihub-server", { NULL }, 2357, "udp" }, - { "futrix", { NULL }, 2358, "tcp" }, - { "futrix", { NULL }, 2358, "udp" }, - { "flukeserver", { NULL }, 2359, "tcp" }, - { "flukeserver", { NULL }, 2359, "udp" }, - { "nexstorindltd", { NULL }, 2360, "tcp" }, - { "nexstorindltd", { NULL }, 2360, "udp" }, - { "tl1", { NULL }, 2361, "tcp" }, - { "tl1", { NULL }, 2361, "udp" }, - { "digiman", { NULL }, 2362, "tcp" }, - { "digiman", { NULL }, 2362, "udp" }, - { "mediacntrlnfsd", { NULL }, 2363, "tcp" }, - { "mediacntrlnfsd", { NULL }, 2363, "udp" }, - { "oi-2000", { NULL }, 2364, "tcp" }, - { "oi-2000", { NULL }, 2364, "udp" }, - { "dbref", { NULL }, 2365, "tcp" }, - { "dbref", { NULL }, 2365, "udp" }, - { "qip-login", { NULL }, 2366, "tcp" }, - { "qip-login", { NULL }, 2366, "udp" }, - { "service-ctrl", { NULL }, 2367, "tcp" }, - { "service-ctrl", { NULL }, 2367, "udp" }, - { "opentable", { NULL }, 2368, "tcp" }, - { "opentable", { NULL }, 2368, "udp" }, - { "l3-hbmon", { NULL }, 2370, "tcp" }, - { "l3-hbmon", { NULL }, 2370, "udp" }, - { "worldwire", { NULL }, 2371, "tcp" }, - { "worldwire", { NULL }, 2371, "udp" }, - { "lanmessenger", { NULL }, 2372, "tcp" }, - { "lanmessenger", { NULL }, 2372, "udp" }, - { "remographlm", { NULL }, 2373, "tcp" }, - { "hydra", { NULL }, 2374, "tcp" }, - { "compaq-https", { NULL }, 2381, "tcp" }, - { "compaq-https", { NULL }, 2381, "udp" }, - { "ms-olap3", { NULL }, 2382, "tcp" }, - { "ms-olap3", { NULL }, 2382, "udp" }, - { "ms-olap4", { NULL }, 2383, "tcp" }, - { "ms-olap4", { NULL }, 2383, "udp" }, - { "sd-request", { NULL }, 2384, "tcp" }, - { "sd-capacity", { NULL }, 2384, "udp" }, - { "sd-data", { NULL }, 2385, "tcp" }, - { "sd-data", { NULL }, 2385, "udp" }, - { "virtualtape", { NULL }, 2386, "tcp" }, - { "virtualtape", { NULL }, 2386, "udp" }, - { "vsamredirector", { NULL }, 2387, "tcp" }, - { "vsamredirector", { NULL }, 2387, "udp" }, - { "mynahautostart", { NULL }, 2388, "tcp" }, - { "mynahautostart", { NULL }, 2388, "udp" }, - { "ovsessionmgr", { NULL }, 2389, "tcp" }, - { "ovsessionmgr", { NULL }, 2389, "udp" }, - { "rsmtp", { NULL }, 2390, "tcp" }, - { "rsmtp", { NULL }, 2390, "udp" }, - { "3com-net-mgmt", { NULL }, 2391, "tcp" }, - { "3com-net-mgmt", { NULL }, 2391, "udp" }, - { "tacticalauth", { NULL }, 2392, "tcp" }, - { "tacticalauth", { NULL }, 2392, "udp" }, - { "ms-olap1", { NULL }, 2393, "tcp" }, - { "ms-olap1", { NULL }, 2393, "udp" }, - { "ms-olap2", { NULL }, 2394, "tcp" }, - { "ms-olap2", { NULL }, 2394, "udp" }, - { "lan900_remote", { NULL }, 2395, "tcp" }, - { "lan900_remote", { NULL }, 2395, "udp" }, - { "wusage", { NULL }, 2396, "tcp" }, - { "wusage", { NULL }, 2396, "udp" }, - { "ncl", { NULL }, 2397, "tcp" }, - { "ncl", { NULL }, 2397, "udp" }, - { "orbiter", { NULL }, 2398, "tcp" }, - { "orbiter", { NULL }, 2398, "udp" }, - { "fmpro-fdal", { NULL }, 2399, "tcp" }, - { "fmpro-fdal", { NULL }, 2399, "udp" }, - { "opequus-server", { NULL }, 2400, "tcp" }, - { "opequus-server", { NULL }, 2400, "udp" }, - { "cvspserver", { NULL }, 2401, "tcp" }, - { "cvspserver", { NULL }, 2401, "udp" }, - { "taskmaster2000", { NULL }, 2402, "tcp" }, - { "taskmaster2000", { NULL }, 2402, "udp" }, - { "taskmaster2000", { NULL }, 2403, "tcp" }, - { "taskmaster2000", { NULL }, 2403, "udp" }, - { "iec-104", { NULL }, 2404, "tcp" }, - { "iec-104", { NULL }, 2404, "udp" }, - { "trc-netpoll", { NULL }, 2405, "tcp" }, - { "trc-netpoll", { NULL }, 2405, "udp" }, - { "jediserver", { NULL }, 2406, "tcp" }, - { "jediserver", { NULL }, 2406, "udp" }, - { "orion", { NULL }, 2407, "tcp" }, - { "orion", { NULL }, 2407, "udp" }, - { "optimanet", { NULL }, 2408, "tcp" }, - { "optimanet", { NULL }, 2408, "udp" }, - { "sns-protocol", { NULL }, 2409, "tcp" }, - { "sns-protocol", { NULL }, 2409, "udp" }, - { "vrts-registry", { NULL }, 2410, "tcp" }, - { "vrts-registry", { NULL }, 2410, "udp" }, - { "netwave-ap-mgmt", { NULL }, 2411, "tcp" }, - { "netwave-ap-mgmt", { NULL }, 2411, "udp" }, - { "cdn", { NULL }, 2412, "tcp" }, - { "cdn", { NULL }, 2412, "udp" }, - { "orion-rmi-reg", { NULL }, 2413, "tcp" }, - { "orion-rmi-reg", { NULL }, 2413, "udp" }, - { "beeyond", { NULL }, 2414, "tcp" }, - { "beeyond", { NULL }, 2414, "udp" }, - { "codima-rtp", { NULL }, 2415, "tcp" }, - { "codima-rtp", { NULL }, 2415, "udp" }, - { "rmtserver", { NULL }, 2416, "tcp" }, - { "rmtserver", { NULL }, 2416, "udp" }, - { "composit-server", { NULL }, 2417, "tcp" }, - { "composit-server", { NULL }, 2417, "udp" }, - { "cas", { NULL }, 2418, "tcp" }, - { "cas", { NULL }, 2418, "udp" }, - { "attachmate-s2s", { NULL }, 2419, "tcp" }, - { "attachmate-s2s", { NULL }, 2419, "udp" }, - { "dslremote-mgmt", { NULL }, 2420, "tcp" }, - { "dslremote-mgmt", { NULL }, 2420, "udp" }, - { "g-talk", { NULL }, 2421, "tcp" }, - { "g-talk", { NULL }, 2421, "udp" }, - { "crmsbits", { NULL }, 2422, "tcp" }, - { "crmsbits", { NULL }, 2422, "udp" }, - { "rnrp", { NULL }, 2423, "tcp" }, - { "rnrp", { NULL }, 2423, "udp" }, - { "kofax-svr", { NULL }, 2424, "tcp" }, - { "kofax-svr", { NULL }, 2424, "udp" }, - { "fjitsuappmgr", { NULL }, 2425, "tcp" }, - { "fjitsuappmgr", { NULL }, 2425, "udp" }, - { "mgcp-gateway", { NULL }, 2427, "tcp" }, - { "mgcp-gateway", { NULL }, 2427, "udp" }, - { "ott", { NULL }, 2428, "tcp" }, - { "ott", { NULL }, 2428, "udp" }, - { "ft-role", { NULL }, 2429, "tcp" }, - { "ft-role", { NULL }, 2429, "udp" }, - { "venus", { NULL }, 2430, "tcp" }, - { "venus", { NULL }, 2430, "udp" }, - { "venus-se", { NULL }, 2431, "tcp" }, - { "venus-se", { NULL }, 2431, "udp" }, - { "codasrv", { NULL }, 2432, "tcp" }, - { "codasrv", { NULL }, 2432, "udp" }, - { "codasrv-se", { NULL }, 2433, "tcp" }, - { "codasrv-se", { NULL }, 2433, "udp" }, - { "pxc-epmap", { NULL }, 2434, "tcp" }, - { "pxc-epmap", { NULL }, 2434, "udp" }, - { "optilogic", { NULL }, 2435, "tcp" }, - { "optilogic", { NULL }, 2435, "udp" }, - { "topx", { NULL }, 2436, "tcp" }, - { "topx", { NULL }, 2436, "udp" }, - { "unicontrol", { NULL }, 2437, "tcp" }, - { "unicontrol", { NULL }, 2437, "udp" }, - { "msp", { NULL }, 2438, "tcp" }, - { "msp", { NULL }, 2438, "udp" }, - { "sybasedbsynch", { NULL }, 2439, "tcp" }, - { "sybasedbsynch", { NULL }, 2439, "udp" }, - { "spearway", { NULL }, 2440, "tcp" }, - { "spearway", { NULL }, 2440, "udp" }, - { "pvsw-inet", { NULL }, 2441, "tcp" }, - { "pvsw-inet", { NULL }, 2441, "udp" }, - { "netangel", { NULL }, 2442, "tcp" }, - { "netangel", { NULL }, 2442, "udp" }, - { "powerclientcsf", { NULL }, 2443, "tcp" }, - { "powerclientcsf", { NULL }, 2443, "udp" }, - { "btpp2sectrans", { NULL }, 2444, "tcp" }, - { "btpp2sectrans", { NULL }, 2444, "udp" }, - { "dtn1", { NULL }, 2445, "tcp" }, - { "dtn1", { NULL }, 2445, "udp" }, - { "bues_service", { NULL }, 2446, "tcp" }, - { "bues_service", { NULL }, 2446, "udp" }, - { "ovwdb", { NULL }, 2447, "tcp" }, - { "ovwdb", { NULL }, 2447, "udp" }, - { "hpppssvr", { NULL }, 2448, "tcp" }, - { "hpppssvr", { NULL }, 2448, "udp" }, - { "ratl", { NULL }, 2449, "tcp" }, - { "ratl", { NULL }, 2449, "udp" }, - { "netadmin", { NULL }, 2450, "tcp" }, - { "netadmin", { NULL }, 2450, "udp" }, - { "netchat", { NULL }, 2451, "tcp" }, - { "netchat", { NULL }, 2451, "udp" }, - { "snifferclient", { NULL }, 2452, "tcp" }, - { "snifferclient", { NULL }, 2452, "udp" }, - { "madge-ltd", { NULL }, 2453, "tcp" }, - { "madge-ltd", { NULL }, 2453, "udp" }, - { "indx-dds", { NULL }, 2454, "tcp" }, - { "indx-dds", { NULL }, 2454, "udp" }, - { "wago-io-system", { NULL }, 2455, "tcp" }, - { "wago-io-system", { NULL }, 2455, "udp" }, - { "altav-remmgt", { NULL }, 2456, "tcp" }, - { "altav-remmgt", { NULL }, 2456, "udp" }, - { "rapido-ip", { NULL }, 2457, "tcp" }, - { "rapido-ip", { NULL }, 2457, "udp" }, - { "griffin", { NULL }, 2458, "tcp" }, - { "griffin", { NULL }, 2458, "udp" }, - { "community", { NULL }, 2459, "tcp" }, - { "community", { NULL }, 2459, "udp" }, - { "ms-theater", { NULL }, 2460, "tcp" }, - { "ms-theater", { NULL }, 2460, "udp" }, - { "qadmifoper", { NULL }, 2461, "tcp" }, - { "qadmifoper", { NULL }, 2461, "udp" }, - { "qadmifevent", { NULL }, 2462, "tcp" }, - { "qadmifevent", { NULL }, 2462, "udp" }, - { "lsi-raid-mgmt", { NULL }, 2463, "tcp" }, - { "lsi-raid-mgmt", { NULL }, 2463, "udp" }, - { "direcpc-si", { NULL }, 2464, "tcp" }, - { "direcpc-si", { NULL }, 2464, "udp" }, - { "lbm", { NULL }, 2465, "tcp" }, - { "lbm", { NULL }, 2465, "udp" }, - { "lbf", { NULL }, 2466, "tcp" }, - { "lbf", { NULL }, 2466, "udp" }, - { "high-criteria", { NULL }, 2467, "tcp" }, - { "high-criteria", { NULL }, 2467, "udp" }, - { "qip-msgd", { NULL }, 2468, "tcp" }, - { "qip-msgd", { NULL }, 2468, "udp" }, - { "mti-tcs-comm", { NULL }, 2469, "tcp" }, - { "mti-tcs-comm", { NULL }, 2469, "udp" }, - { "taskman-port", { NULL }, 2470, "tcp" }, - { "taskman-port", { NULL }, 2470, "udp" }, - { "seaodbc", { NULL }, 2471, "tcp" }, - { "seaodbc", { NULL }, 2471, "udp" }, - { "c3", { NULL }, 2472, "tcp" }, - { "c3", { NULL }, 2472, "udp" }, - { "aker-cdp", { NULL }, 2473, "tcp" }, - { "aker-cdp", { NULL }, 2473, "udp" }, - { "vitalanalysis", { NULL }, 2474, "tcp" }, - { "vitalanalysis", { NULL }, 2474, "udp" }, - { "ace-server", { NULL }, 2475, "tcp" }, - { "ace-server", { NULL }, 2475, "udp" }, - { "ace-svr-prop", { NULL }, 2476, "tcp" }, - { "ace-svr-prop", { NULL }, 2476, "udp" }, - { "ssm-cvs", { NULL }, 2477, "tcp" }, - { "ssm-cvs", { NULL }, 2477, "udp" }, - { "ssm-cssps", { NULL }, 2478, "tcp" }, - { "ssm-cssps", { NULL }, 2478, "udp" }, - { "ssm-els", { NULL }, 2479, "tcp" }, - { "ssm-els", { NULL }, 2479, "udp" }, - { "powerexchange", { NULL }, 2480, "tcp" }, - { "powerexchange", { NULL }, 2480, "udp" }, - { "giop", { NULL }, 2481, "tcp" }, - { "giop", { NULL }, 2481, "udp" }, - { "giop-ssl", { NULL }, 2482, "tcp" }, - { "giop-ssl", { NULL }, 2482, "udp" }, - { "ttc", { NULL }, 2483, "tcp" }, - { "ttc", { NULL }, 2483, "udp" }, - { "ttc-ssl", { NULL }, 2484, "tcp" }, - { "ttc-ssl", { NULL }, 2484, "udp" }, - { "netobjects1", { NULL }, 2485, "tcp" }, - { "netobjects1", { NULL }, 2485, "udp" }, - { "netobjects2", { NULL }, 2486, "tcp" }, - { "netobjects2", { NULL }, 2486, "udp" }, - { "pns", { NULL }, 2487, "tcp" }, - { "pns", { NULL }, 2487, "udp" }, - { "moy-corp", { NULL }, 2488, "tcp" }, - { "moy-corp", { NULL }, 2488, "udp" }, - { "tsilb", { NULL }, 2489, "tcp" }, - { "tsilb", { NULL }, 2489, "udp" }, - { "qip-qdhcp", { NULL }, 2490, "tcp" }, - { "qip-qdhcp", { NULL }, 2490, "udp" }, - { "conclave-cpp", { NULL }, 2491, "tcp" }, - { "conclave-cpp", { NULL }, 2491, "udp" }, - { "groove", { NULL }, 2492, "tcp" }, - { "groove", { NULL }, 2492, "udp" }, - { "talarian-mqs", { NULL }, 2493, "tcp" }, - { "talarian-mqs", { NULL }, 2493, "udp" }, - { "bmc-ar", { NULL }, 2494, "tcp" }, - { "bmc-ar", { NULL }, 2494, "udp" }, - { "fast-rem-serv", { NULL }, 2495, "tcp" }, - { "fast-rem-serv", { NULL }, 2495, "udp" }, - { "dirgis", { NULL }, 2496, "tcp" }, - { "dirgis", { NULL }, 2496, "udp" }, - { "quaddb", { NULL }, 2497, "tcp" }, - { "quaddb", { NULL }, 2497, "udp" }, - { "odn-castraq", { NULL }, 2498, "tcp" }, - { "odn-castraq", { NULL }, 2498, "udp" }, - { "unicontrol", { NULL }, 2499, "tcp" }, - { "unicontrol", { NULL }, 2499, "udp" }, - { "rtsserv", { NULL }, 2500, "tcp" }, - { "rtsserv", { NULL }, 2500, "udp" }, - { "rtsclient", { NULL }, 2501, "tcp" }, - { "rtsclient", { NULL }, 2501, "udp" }, - { "kentrox-prot", { NULL }, 2502, "tcp" }, - { "kentrox-prot", { NULL }, 2502, "udp" }, - { "nms-dpnss", { NULL }, 2503, "tcp" }, - { "nms-dpnss", { NULL }, 2503, "udp" }, - { "wlbs", { NULL }, 2504, "tcp" }, - { "wlbs", { NULL }, 2504, "udp" }, - { "ppcontrol", { NULL }, 2505, "tcp" }, - { "ppcontrol", { NULL }, 2505, "udp" }, - { "jbroker", { NULL }, 2506, "tcp" }, - { "jbroker", { NULL }, 2506, "udp" }, - { "spock", { NULL }, 2507, "tcp" }, - { "spock", { NULL }, 2507, "udp" }, - { "jdatastore", { NULL }, 2508, "tcp" }, - { "jdatastore", { NULL }, 2508, "udp" }, - { "fjmpss", { NULL }, 2509, "tcp" }, - { "fjmpss", { NULL }, 2509, "udp" }, - { "fjappmgrbulk", { NULL }, 2510, "tcp" }, - { "fjappmgrbulk", { NULL }, 2510, "udp" }, - { "metastorm", { NULL }, 2511, "tcp" }, - { "metastorm", { NULL }, 2511, "udp" }, - { "citrixima", { NULL }, 2512, "tcp" }, - { "citrixima", { NULL }, 2512, "udp" }, - { "citrixadmin", { NULL }, 2513, "tcp" }, - { "citrixadmin", { NULL }, 2513, "udp" }, - { "facsys-ntp", { NULL }, 2514, "tcp" }, - { "facsys-ntp", { NULL }, 2514, "udp" }, - { "facsys-router", { NULL }, 2515, "tcp" }, - { "facsys-router", { NULL }, 2515, "udp" }, - { "maincontrol", { NULL }, 2516, "tcp" }, - { "maincontrol", { NULL }, 2516, "udp" }, - { "call-sig-trans", { NULL }, 2517, "tcp" }, - { "call-sig-trans", { NULL }, 2517, "udp" }, - { "willy", { NULL }, 2518, "tcp" }, - { "willy", { NULL }, 2518, "udp" }, - { "globmsgsvc", { NULL }, 2519, "tcp" }, - { "globmsgsvc", { NULL }, 2519, "udp" }, - { "pvsw", { NULL }, 2520, "tcp" }, - { "pvsw", { NULL }, 2520, "udp" }, - { "adaptecmgr", { NULL }, 2521, "tcp" }, - { "adaptecmgr", { NULL }, 2521, "udp" }, - { "windb", { NULL }, 2522, "tcp" }, - { "windb", { NULL }, 2522, "udp" }, - { "qke-llc-v3", { NULL }, 2523, "tcp" }, - { "qke-llc-v3", { NULL }, 2523, "udp" }, - { "optiwave-lm", { NULL }, 2524, "tcp" }, - { "optiwave-lm", { NULL }, 2524, "udp" }, - { "ms-v-worlds", { NULL }, 2525, "tcp" }, - { "ms-v-worlds", { NULL }, 2525, "udp" }, - { "ema-sent-lm", { NULL }, 2526, "tcp" }, - { "ema-sent-lm", { NULL }, 2526, "udp" }, - { "iqserver", { NULL }, 2527, "tcp" }, - { "iqserver", { NULL }, 2527, "udp" }, - { "ncr_ccl", { NULL }, 2528, "tcp" }, - { "ncr_ccl", { NULL }, 2528, "udp" }, - { "utsftp", { NULL }, 2529, "tcp" }, - { "utsftp", { NULL }, 2529, "udp" }, - { "vrcommerce", { NULL }, 2530, "tcp" }, - { "vrcommerce", { NULL }, 2530, "udp" }, - { "ito-e-gui", { NULL }, 2531, "tcp" }, - { "ito-e-gui", { NULL }, 2531, "udp" }, - { "ovtopmd", { NULL }, 2532, "tcp" }, - { "ovtopmd", { NULL }, 2532, "udp" }, - { "snifferserver", { NULL }, 2533, "tcp" }, - { "snifferserver", { NULL }, 2533, "udp" }, - { "combox-web-acc", { NULL }, 2534, "tcp" }, - { "combox-web-acc", { NULL }, 2534, "udp" }, - { "madcap", { NULL }, 2535, "tcp" }, - { "madcap", { NULL }, 2535, "udp" }, - { "btpp2audctr1", { NULL }, 2536, "tcp" }, - { "btpp2audctr1", { NULL }, 2536, "udp" }, - { "upgrade", { NULL }, 2537, "tcp" }, - { "upgrade", { NULL }, 2537, "udp" }, - { "vnwk-prapi", { NULL }, 2538, "tcp" }, - { "vnwk-prapi", { NULL }, 2538, "udp" }, - { "vsiadmin", { NULL }, 2539, "tcp" }, - { "vsiadmin", { NULL }, 2539, "udp" }, - { "lonworks", { NULL }, 2540, "tcp" }, - { "lonworks", { NULL }, 2540, "udp" }, - { "lonworks2", { NULL }, 2541, "tcp" }, - { "lonworks2", { NULL }, 2541, "udp" }, - { "udrawgraph", { NULL }, 2542, "tcp" }, - { "udrawgraph", { NULL }, 2542, "udp" }, - { "reftek", { NULL }, 2543, "tcp" }, - { "reftek", { NULL }, 2543, "udp" }, - { "novell-zen", { NULL }, 2544, "tcp" }, - { "novell-zen", { NULL }, 2544, "udp" }, - { "sis-emt", { NULL }, 2545, "tcp" }, - { "sis-emt", { NULL }, 2545, "udp" }, - { "vytalvaultbrtp", { NULL }, 2546, "tcp" }, - { "vytalvaultbrtp", { NULL }, 2546, "udp" }, - { "vytalvaultvsmp", { NULL }, 2547, "tcp" }, - { "vytalvaultvsmp", { NULL }, 2547, "udp" }, - { "vytalvaultpipe", { NULL }, 2548, "tcp" }, - { "vytalvaultpipe", { NULL }, 2548, "udp" }, - { "ipass", { NULL }, 2549, "tcp" }, - { "ipass", { NULL }, 2549, "udp" }, - { "ads", { NULL }, 2550, "tcp" }, - { "ads", { NULL }, 2550, "udp" }, - { "isg-uda-server", { NULL }, 2551, "tcp" }, - { "isg-uda-server", { NULL }, 2551, "udp" }, - { "call-logging", { NULL }, 2552, "tcp" }, - { "call-logging", { NULL }, 2552, "udp" }, - { "efidiningport", { NULL }, 2553, "tcp" }, - { "efidiningport", { NULL }, 2553, "udp" }, - { "vcnet-link-v10", { NULL }, 2554, "tcp" }, - { "vcnet-link-v10", { NULL }, 2554, "udp" }, - { "compaq-wcp", { NULL }, 2555, "tcp" }, - { "compaq-wcp", { NULL }, 2555, "udp" }, - { "nicetec-nmsvc", { NULL }, 2556, "tcp" }, - { "nicetec-nmsvc", { NULL }, 2556, "udp" }, - { "nicetec-mgmt", { NULL }, 2557, "tcp" }, - { "nicetec-mgmt", { NULL }, 2557, "udp" }, - { "pclemultimedia", { NULL }, 2558, "tcp" }, - { "pclemultimedia", { NULL }, 2558, "udp" }, - { "lstp", { NULL }, 2559, "tcp" }, - { "lstp", { NULL }, 2559, "udp" }, - { "labrat", { NULL }, 2560, "tcp" }, - { "labrat", { NULL }, 2560, "udp" }, - { "mosaixcc", { NULL }, 2561, "tcp" }, - { "mosaixcc", { NULL }, 2561, "udp" }, - { "delibo", { NULL }, 2562, "tcp" }, - { "delibo", { NULL }, 2562, "udp" }, - { "cti-redwood", { NULL }, 2563, "tcp" }, - { "cti-redwood", { NULL }, 2563, "udp" }, - { "hp-3000-telnet", { NULL }, 2564, "tcp" }, - { "coord-svr", { NULL }, 2565, "tcp" }, - { "coord-svr", { NULL }, 2565, "udp" }, - { "pcs-pcw", { NULL }, 2566, "tcp" }, - { "pcs-pcw", { NULL }, 2566, "udp" }, - { "clp", { NULL }, 2567, "tcp" }, - { "clp", { NULL }, 2567, "udp" }, - { "spamtrap", { NULL }, 2568, "tcp" }, - { "spamtrap", { NULL }, 2568, "udp" }, - { "sonuscallsig", { NULL }, 2569, "tcp" }, - { "sonuscallsig", { NULL }, 2569, "udp" }, - { "hs-port", { NULL }, 2570, "tcp" }, - { "hs-port", { NULL }, 2570, "udp" }, - { "cecsvc", { NULL }, 2571, "tcp" }, - { "cecsvc", { NULL }, 2571, "udp" }, - { "ibp", { NULL }, 2572, "tcp" }, - { "ibp", { NULL }, 2572, "udp" }, - { "trustestablish", { NULL }, 2573, "tcp" }, - { "trustestablish", { NULL }, 2573, "udp" }, - { "blockade-bpsp", { NULL }, 2574, "tcp" }, - { "blockade-bpsp", { NULL }, 2574, "udp" }, - { "hl7", { NULL }, 2575, "tcp" }, - { "hl7", { NULL }, 2575, "udp" }, - { "tclprodebugger", { NULL }, 2576, "tcp" }, - { "tclprodebugger", { NULL }, 2576, "udp" }, - { "scipticslsrvr", { NULL }, 2577, "tcp" }, - { "scipticslsrvr", { NULL }, 2577, "udp" }, - { "rvs-isdn-dcp", { NULL }, 2578, "tcp" }, - { "rvs-isdn-dcp", { NULL }, 2578, "udp" }, - { "mpfoncl", { NULL }, 2579, "tcp" }, - { "mpfoncl", { NULL }, 2579, "udp" }, - { "tributary", { NULL }, 2580, "tcp" }, - { "tributary", { NULL }, 2580, "udp" }, - { "argis-te", { NULL }, 2581, "tcp" }, - { "argis-te", { NULL }, 2581, "udp" }, - { "argis-ds", { NULL }, 2582, "tcp" }, - { "argis-ds", { NULL }, 2582, "udp" }, - { "mon", { NULL }, 2583, "tcp" }, - { "mon", { NULL }, 2583, "udp" }, - { "cyaserv", { NULL }, 2584, "tcp" }, - { "cyaserv", { NULL }, 2584, "udp" }, - { "netx-server", { NULL }, 2585, "tcp" }, - { "netx-server", { NULL }, 2585, "udp" }, - { "netx-agent", { NULL }, 2586, "tcp" }, - { "netx-agent", { NULL }, 2586, "udp" }, - { "masc", { NULL }, 2587, "tcp" }, - { "masc", { NULL }, 2587, "udp" }, - { "privilege", { NULL }, 2588, "tcp" }, - { "privilege", { NULL }, 2588, "udp" }, - { "quartus-tcl", { NULL }, 2589, "tcp" }, - { "quartus-tcl", { NULL }, 2589, "udp" }, - { "idotdist", { NULL }, 2590, "tcp" }, - { "idotdist", { NULL }, 2590, "udp" }, - { "maytagshuffle", { NULL }, 2591, "tcp" }, - { "maytagshuffle", { NULL }, 2591, "udp" }, - { "netrek", { NULL }, 2592, "tcp" }, - { "netrek", { NULL }, 2592, "udp" }, - { "mns-mail", { NULL }, 2593, "tcp" }, - { "mns-mail", { NULL }, 2593, "udp" }, - { "dts", { NULL }, 2594, "tcp" }, - { "dts", { NULL }, 2594, "udp" }, - { "worldfusion1", { NULL }, 2595, "tcp" }, - { "worldfusion1", { NULL }, 2595, "udp" }, - { "worldfusion2", { NULL }, 2596, "tcp" }, - { "worldfusion2", { NULL }, 2596, "udp" }, - { "homesteadglory", { NULL }, 2597, "tcp" }, - { "homesteadglory", { NULL }, 2597, "udp" }, - { "citriximaclient", { NULL }, 2598, "tcp" }, - { "citriximaclient", { NULL }, 2598, "udp" }, - { "snapd", { NULL }, 2599, "tcp" }, - { "snapd", { NULL }, 2599, "udp" }, - { "hpstgmgr", { NULL }, 2600, "tcp" }, - { "hpstgmgr", { NULL }, 2600, "udp" }, - { "discp-client", { NULL }, 2601, "tcp" }, - { "discp-client", { NULL }, 2601, "udp" }, - { "discp-server", { NULL }, 2602, "tcp" }, - { "discp-server", { NULL }, 2602, "udp" }, - { "servicemeter", { NULL }, 2603, "tcp" }, - { "servicemeter", { NULL }, 2603, "udp" }, - { "nsc-ccs", { NULL }, 2604, "tcp" }, - { "nsc-ccs", { NULL }, 2604, "udp" }, - { "nsc-posa", { NULL }, 2605, "tcp" }, - { "nsc-posa", { NULL }, 2605, "udp" }, - { "netmon", { NULL }, 2606, "tcp" }, - { "netmon", { NULL }, 2606, "udp" }, - { "connection", { NULL }, 2607, "tcp" }, - { "connection", { NULL }, 2607, "udp" }, - { "wag-service", { NULL }, 2608, "tcp" }, - { "wag-service", { NULL }, 2608, "udp" }, - { "system-monitor", { NULL }, 2609, "tcp" }, - { "system-monitor", { NULL }, 2609, "udp" }, - { "versa-tek", { NULL }, 2610, "tcp" }, - { "versa-tek", { NULL }, 2610, "udp" }, - { "lionhead", { NULL }, 2611, "tcp" }, - { "lionhead", { NULL }, 2611, "udp" }, - { "qpasa-agent", { NULL }, 2612, "tcp" }, - { "qpasa-agent", { NULL }, 2612, "udp" }, - { "smntubootstrap", { NULL }, 2613, "tcp" }, - { "smntubootstrap", { NULL }, 2613, "udp" }, - { "neveroffline", { NULL }, 2614, "tcp" }, - { "neveroffline", { NULL }, 2614, "udp" }, - { "firepower", { NULL }, 2615, "tcp" }, - { "firepower", { NULL }, 2615, "udp" }, - { "appswitch-emp", { NULL }, 2616, "tcp" }, - { "appswitch-emp", { NULL }, 2616, "udp" }, - { "cmadmin", { NULL }, 2617, "tcp" }, - { "cmadmin", { NULL }, 2617, "udp" }, - { "priority-e-com", { NULL }, 2618, "tcp" }, - { "priority-e-com", { NULL }, 2618, "udp" }, - { "bruce", { NULL }, 2619, "tcp" }, - { "bruce", { NULL }, 2619, "udp" }, - { "lpsrecommender", { NULL }, 2620, "tcp" }, - { "lpsrecommender", { NULL }, 2620, "udp" }, - { "miles-apart", { NULL }, 2621, "tcp" }, - { "miles-apart", { NULL }, 2621, "udp" }, - { "metricadbc", { NULL }, 2622, "tcp" }, - { "metricadbc", { NULL }, 2622, "udp" }, - { "lmdp", { NULL }, 2623, "tcp" }, - { "lmdp", { NULL }, 2623, "udp" }, - { "aria", { NULL }, 2624, "tcp" }, - { "aria", { NULL }, 2624, "udp" }, - { "blwnkl-port", { NULL }, 2625, "tcp" }, - { "blwnkl-port", { NULL }, 2625, "udp" }, - { "gbjd816", { NULL }, 2626, "tcp" }, - { "gbjd816", { NULL }, 2626, "udp" }, - { "moshebeeri", { NULL }, 2627, "tcp" }, - { "moshebeeri", { NULL }, 2627, "udp" }, - { "dict", { NULL }, 2628, "tcp" }, - { "dict", { NULL }, 2628, "udp" }, - { "sitaraserver", { NULL }, 2629, "tcp" }, - { "sitaraserver", { NULL }, 2629, "udp" }, - { "sitaramgmt", { NULL }, 2630, "tcp" }, - { "sitaramgmt", { NULL }, 2630, "udp" }, - { "sitaradir", { NULL }, 2631, "tcp" }, - { "sitaradir", { NULL }, 2631, "udp" }, - { "irdg-post", { NULL }, 2632, "tcp" }, - { "irdg-post", { NULL }, 2632, "udp" }, - { "interintelli", { NULL }, 2633, "tcp" }, - { "interintelli", { NULL }, 2633, "udp" }, - { "pk-electronics", { NULL }, 2634, "tcp" }, - { "pk-electronics", { NULL }, 2634, "udp" }, - { "backburner", { NULL }, 2635, "tcp" }, - { "backburner", { NULL }, 2635, "udp" }, - { "solve", { NULL }, 2636, "tcp" }, - { "solve", { NULL }, 2636, "udp" }, - { "imdocsvc", { NULL }, 2637, "tcp" }, - { "imdocsvc", { NULL }, 2637, "udp" }, - { "sybaseanywhere", { NULL }, 2638, "tcp" }, - { "sybaseanywhere", { NULL }, 2638, "udp" }, - { "aminet", { NULL }, 2639, "tcp" }, - { "aminet", { NULL }, 2639, "udp" }, - { "sai_sentlm", { NULL }, 2640, "tcp" }, - { "sai_sentlm", { NULL }, 2640, "udp" }, - { "hdl-srv", { NULL }, 2641, "tcp" }, - { "hdl-srv", { NULL }, 2641, "udp" }, - { "tragic", { NULL }, 2642, "tcp" }, - { "tragic", { NULL }, 2642, "udp" }, - { "gte-samp", { NULL }, 2643, "tcp" }, - { "gte-samp", { NULL }, 2643, "udp" }, - { "travsoft-ipx-t", { NULL }, 2644, "tcp" }, - { "travsoft-ipx-t", { NULL }, 2644, "udp" }, - { "novell-ipx-cmd", { NULL }, 2645, "tcp" }, - { "novell-ipx-cmd", { NULL }, 2645, "udp" }, - { "and-lm", { NULL }, 2646, "tcp" }, - { "and-lm", { NULL }, 2646, "udp" }, - { "syncserver", { NULL }, 2647, "tcp" }, - { "syncserver", { NULL }, 2647, "udp" }, - { "upsnotifyprot", { NULL }, 2648, "tcp" }, - { "upsnotifyprot", { NULL }, 2648, "udp" }, - { "vpsipport", { NULL }, 2649, "tcp" }, - { "vpsipport", { NULL }, 2649, "udp" }, - { "eristwoguns", { NULL }, 2650, "tcp" }, - { "eristwoguns", { NULL }, 2650, "udp" }, - { "ebinsite", { NULL }, 2651, "tcp" }, - { "ebinsite", { NULL }, 2651, "udp" }, - { "interpathpanel", { NULL }, 2652, "tcp" }, - { "interpathpanel", { NULL }, 2652, "udp" }, - { "sonus", { NULL }, 2653, "tcp" }, - { "sonus", { NULL }, 2653, "udp" }, - { "corel_vncadmin", { NULL }, 2654, "tcp" }, - { "corel_vncadmin", { NULL }, 2654, "udp" }, - { "unglue", { NULL }, 2655, "tcp" }, - { "unglue", { NULL }, 2655, "udp" }, - { "kana", { NULL }, 2656, "tcp" }, - { "kana", { NULL }, 2656, "udp" }, - { "sns-dispatcher", { NULL }, 2657, "tcp" }, - { "sns-dispatcher", { NULL }, 2657, "udp" }, - { "sns-admin", { NULL }, 2658, "tcp" }, - { "sns-admin", { NULL }, 2658, "udp" }, - { "sns-query", { NULL }, 2659, "tcp" }, - { "sns-query", { NULL }, 2659, "udp" }, - { "gcmonitor", { NULL }, 2660, "tcp" }, - { "gcmonitor", { NULL }, 2660, "udp" }, - { "olhost", { NULL }, 2661, "tcp" }, - { "olhost", { NULL }, 2661, "udp" }, - { "bintec-capi", { NULL }, 2662, "tcp" }, - { "bintec-capi", { NULL }, 2662, "udp" }, - { "bintec-tapi", { NULL }, 2663, "tcp" }, - { "bintec-tapi", { NULL }, 2663, "udp" }, - { "patrol-mq-gm", { NULL }, 2664, "tcp" }, - { "patrol-mq-gm", { NULL }, 2664, "udp" }, - { "patrol-mq-nm", { NULL }, 2665, "tcp" }, - { "patrol-mq-nm", { NULL }, 2665, "udp" }, - { "extensis", { NULL }, 2666, "tcp" }, - { "extensis", { NULL }, 2666, "udp" }, - { "alarm-clock-s", { NULL }, 2667, "tcp" }, - { "alarm-clock-s", { NULL }, 2667, "udp" }, - { "alarm-clock-c", { NULL }, 2668, "tcp" }, - { "alarm-clock-c", { NULL }, 2668, "udp" }, - { "toad", { NULL }, 2669, "tcp" }, - { "toad", { NULL }, 2669, "udp" }, - { "tve-announce", { NULL }, 2670, "tcp" }, - { "tve-announce", { NULL }, 2670, "udp" }, - { "newlixreg", { NULL }, 2671, "tcp" }, - { "newlixreg", { NULL }, 2671, "udp" }, - { "nhserver", { NULL }, 2672, "tcp" }, - { "nhserver", { NULL }, 2672, "udp" }, - { "firstcall42", { NULL }, 2673, "tcp" }, - { "firstcall42", { NULL }, 2673, "udp" }, - { "ewnn", { NULL }, 2674, "tcp" }, - { "ewnn", { NULL }, 2674, "udp" }, - { "ttc-etap", { NULL }, 2675, "tcp" }, - { "ttc-etap", { NULL }, 2675, "udp" }, - { "simslink", { NULL }, 2676, "tcp" }, - { "simslink", { NULL }, 2676, "udp" }, - { "gadgetgate1way", { NULL }, 2677, "tcp" }, - { "gadgetgate1way", { NULL }, 2677, "udp" }, - { "gadgetgate2way", { NULL }, 2678, "tcp" }, - { "gadgetgate2way", { NULL }, 2678, "udp" }, - { "syncserverssl", { NULL }, 2679, "tcp" }, - { "syncserverssl", { NULL }, 2679, "udp" }, - { "pxc-sapxom", { NULL }, 2680, "tcp" }, - { "pxc-sapxom", { NULL }, 2680, "udp" }, - { "mpnjsomb", { NULL }, 2681, "tcp" }, - { "mpnjsomb", { NULL }, 2681, "udp" }, - { "ncdloadbalance", { NULL }, 2683, "tcp" }, - { "ncdloadbalance", { NULL }, 2683, "udp" }, - { "mpnjsosv", { NULL }, 2684, "tcp" }, - { "mpnjsosv", { NULL }, 2684, "udp" }, - { "mpnjsocl", { NULL }, 2685, "tcp" }, - { "mpnjsocl", { NULL }, 2685, "udp" }, - { "mpnjsomg", { NULL }, 2686, "tcp" }, - { "mpnjsomg", { NULL }, 2686, "udp" }, - { "pq-lic-mgmt", { NULL }, 2687, "tcp" }, - { "pq-lic-mgmt", { NULL }, 2687, "udp" }, - { "md-cg-http", { NULL }, 2688, "tcp" }, - { "md-cg-http", { NULL }, 2688, "udp" }, - { "fastlynx", { NULL }, 2689, "tcp" }, - { "fastlynx", { NULL }, 2689, "udp" }, - { "hp-nnm-data", { NULL }, 2690, "tcp" }, - { "hp-nnm-data", { NULL }, 2690, "udp" }, - { "itinternet", { NULL }, 2691, "tcp" }, - { "itinternet", { NULL }, 2691, "udp" }, - { "admins-lms", { NULL }, 2692, "tcp" }, - { "admins-lms", { NULL }, 2692, "udp" }, - { "pwrsevent", { NULL }, 2694, "tcp" }, - { "pwrsevent", { NULL }, 2694, "udp" }, - { "vspread", { NULL }, 2695, "tcp" }, - { "vspread", { NULL }, 2695, "udp" }, - { "unifyadmin", { NULL }, 2696, "tcp" }, - { "unifyadmin", { NULL }, 2696, "udp" }, - { "oce-snmp-trap", { NULL }, 2697, "tcp" }, - { "oce-snmp-trap", { NULL }, 2697, "udp" }, - { "mck-ivpip", { NULL }, 2698, "tcp" }, - { "mck-ivpip", { NULL }, 2698, "udp" }, - { "csoft-plusclnt", { NULL }, 2699, "tcp" }, - { "csoft-plusclnt", { NULL }, 2699, "udp" }, - { "tqdata", { NULL }, 2700, "tcp" }, - { "tqdata", { NULL }, 2700, "udp" }, - { "sms-rcinfo", { NULL }, 2701, "tcp" }, - { "sms-rcinfo", { NULL }, 2701, "udp" }, - { "sms-xfer", { NULL }, 2702, "tcp" }, - { "sms-xfer", { NULL }, 2702, "udp" }, - { "sms-chat", { NULL }, 2703, "tcp" }, - { "sms-chat", { NULL }, 2703, "udp" }, - { "sms-remctrl", { NULL }, 2704, "tcp" }, - { "sms-remctrl", { NULL }, 2704, "udp" }, - { "sds-admin", { NULL }, 2705, "tcp" }, - { "sds-admin", { NULL }, 2705, "udp" }, - { "ncdmirroring", { NULL }, 2706, "tcp" }, - { "ncdmirroring", { NULL }, 2706, "udp" }, - { "emcsymapiport", { NULL }, 2707, "tcp" }, - { "emcsymapiport", { NULL }, 2707, "udp" }, - { "banyan-net", { NULL }, 2708, "tcp" }, - { "banyan-net", { NULL }, 2708, "udp" }, - { "supermon", { NULL }, 2709, "tcp" }, - { "supermon", { NULL }, 2709, "udp" }, - { "sso-service", { NULL }, 2710, "tcp" }, - { "sso-service", { NULL }, 2710, "udp" }, - { "sso-control", { NULL }, 2711, "tcp" }, - { "sso-control", { NULL }, 2711, "udp" }, - { "aocp", { NULL }, 2712, "tcp" }, - { "aocp", { NULL }, 2712, "udp" }, - { "raventbs", { NULL }, 2713, "tcp" }, - { "raventbs", { NULL }, 2713, "udp" }, - { "raventdm", { NULL }, 2714, "tcp" }, - { "raventdm", { NULL }, 2714, "udp" }, - { "hpstgmgr2", { NULL }, 2715, "tcp" }, - { "hpstgmgr2", { NULL }, 2715, "udp" }, - { "inova-ip-disco", { NULL }, 2716, "tcp" }, - { "inova-ip-disco", { NULL }, 2716, "udp" }, - { "pn-requester", { NULL }, 2717, "tcp" }, - { "pn-requester", { NULL }, 2717, "udp" }, - { "pn-requester2", { NULL }, 2718, "tcp" }, - { "pn-requester2", { NULL }, 2718, "udp" }, - { "scan-change", { NULL }, 2719, "tcp" }, - { "scan-change", { NULL }, 2719, "udp" }, - { "wkars", { NULL }, 2720, "tcp" }, - { "wkars", { NULL }, 2720, "udp" }, - { "smart-diagnose", { NULL }, 2721, "tcp" }, - { "smart-diagnose", { NULL }, 2721, "udp" }, - { "proactivesrvr", { NULL }, 2722, "tcp" }, - { "proactivesrvr", { NULL }, 2722, "udp" }, - { "watchdog-nt", { NULL }, 2723, "tcp" }, - { "watchdog-nt", { NULL }, 2723, "udp" }, - { "qotps", { NULL }, 2724, "tcp" }, - { "qotps", { NULL }, 2724, "udp" }, - { "msolap-ptp2", { NULL }, 2725, "tcp" }, - { "msolap-ptp2", { NULL }, 2725, "udp" }, - { "tams", { NULL }, 2726, "tcp" }, - { "tams", { NULL }, 2726, "udp" }, - { "mgcp-callagent", { NULL }, 2727, "tcp" }, - { "mgcp-callagent", { NULL }, 2727, "udp" }, - { "sqdr", { NULL }, 2728, "tcp" }, - { "sqdr", { NULL }, 2728, "udp" }, - { "tcim-control", { NULL }, 2729, "tcp" }, - { "tcim-control", { NULL }, 2729, "udp" }, - { "nec-raidplus", { NULL }, 2730, "tcp" }, - { "nec-raidplus", { NULL }, 2730, "udp" }, - { "fyre-messanger", { NULL }, 2731, "tcp" }, - { "fyre-messanger", { NULL }, 2731, "udp" }, - { "g5m", { NULL }, 2732, "tcp" }, - { "g5m", { NULL }, 2732, "udp" }, - { "signet-ctf", { NULL }, 2733, "tcp" }, - { "signet-ctf", { NULL }, 2733, "udp" }, - { "ccs-software", { NULL }, 2734, "tcp" }, - { "ccs-software", { NULL }, 2734, "udp" }, - { "netiq-mc", { NULL }, 2735, "tcp" }, - { "netiq-mc", { NULL }, 2735, "udp" }, - { "radwiz-nms-srv", { NULL }, 2736, "tcp" }, - { "radwiz-nms-srv", { NULL }, 2736, "udp" }, - { "srp-feedback", { NULL }, 2737, "tcp" }, - { "srp-feedback", { NULL }, 2737, "udp" }, - { "ndl-tcp-ois-gw", { NULL }, 2738, "tcp" }, - { "ndl-tcp-ois-gw", { NULL }, 2738, "udp" }, - { "tn-timing", { NULL }, 2739, "tcp" }, - { "tn-timing", { NULL }, 2739, "udp" }, - { "alarm", { NULL }, 2740, "tcp" }, - { "alarm", { NULL }, 2740, "udp" }, - { "tsb", { NULL }, 2741, "tcp" }, - { "tsb", { NULL }, 2741, "udp" }, - { "tsb2", { NULL }, 2742, "tcp" }, - { "tsb2", { NULL }, 2742, "udp" }, - { "murx", { NULL }, 2743, "tcp" }, - { "murx", { NULL }, 2743, "udp" }, - { "honyaku", { NULL }, 2744, "tcp" }, - { "honyaku", { NULL }, 2744, "udp" }, - { "urbisnet", { NULL }, 2745, "tcp" }, - { "urbisnet", { NULL }, 2745, "udp" }, - { "cpudpencap", { NULL }, 2746, "tcp" }, - { "cpudpencap", { NULL }, 2746, "udp" }, - { "fjippol-swrly", { NULL }, 2747, "tcp" }, - { "fjippol-swrly", { NULL }, 2747, "udp" }, - { "fjippol-polsvr", { NULL }, 2748, "tcp" }, - { "fjippol-polsvr", { NULL }, 2748, "udp" }, - { "fjippol-cnsl", { NULL }, 2749, "tcp" }, - { "fjippol-cnsl", { NULL }, 2749, "udp" }, - { "fjippol-port1", { NULL }, 2750, "tcp" }, - { "fjippol-port1", { NULL }, 2750, "udp" }, - { "fjippol-port2", { NULL }, 2751, "tcp" }, - { "fjippol-port2", { NULL }, 2751, "udp" }, - { "rsisysaccess", { NULL }, 2752, "tcp" }, - { "rsisysaccess", { NULL }, 2752, "udp" }, - { "de-spot", { NULL }, 2753, "tcp" }, - { "de-spot", { NULL }, 2753, "udp" }, - { "apollo-cc", { NULL }, 2754, "tcp" }, - { "apollo-cc", { NULL }, 2754, "udp" }, - { "expresspay", { NULL }, 2755, "tcp" }, - { "expresspay", { NULL }, 2755, "udp" }, - { "simplement-tie", { NULL }, 2756, "tcp" }, - { "simplement-tie", { NULL }, 2756, "udp" }, - { "cnrp", { NULL }, 2757, "tcp" }, - { "cnrp", { NULL }, 2757, "udp" }, - { "apollo-status", { NULL }, 2758, "tcp" }, - { "apollo-status", { NULL }, 2758, "udp" }, - { "apollo-gms", { NULL }, 2759, "tcp" }, - { "apollo-gms", { NULL }, 2759, "udp" }, - { "sabams", { NULL }, 2760, "tcp" }, - { "sabams", { NULL }, 2760, "udp" }, - { "dicom-iscl", { NULL }, 2761, "tcp" }, - { "dicom-iscl", { NULL }, 2761, "udp" }, - { "dicom-tls", { NULL }, 2762, "tcp" }, - { "dicom-tls", { NULL }, 2762, "udp" }, - { "desktop-dna", { NULL }, 2763, "tcp" }, - { "desktop-dna", { NULL }, 2763, "udp" }, - { "data-insurance", { NULL }, 2764, "tcp" }, - { "data-insurance", { NULL }, 2764, "udp" }, - { "qip-audup", { NULL }, 2765, "tcp" }, - { "qip-audup", { NULL }, 2765, "udp" }, - { "compaq-scp", { NULL }, 2766, "tcp" }, - { "compaq-scp", { NULL }, 2766, "udp" }, - { "uadtc", { NULL }, 2767, "tcp" }, - { "uadtc", { NULL }, 2767, "udp" }, - { "uacs", { NULL }, 2768, "tcp" }, - { "uacs", { NULL }, 2768, "udp" }, - { "exce", { NULL }, 2769, "tcp" }, - { "exce", { NULL }, 2769, "udp" }, - { "veronica", { NULL }, 2770, "tcp" }, - { "veronica", { NULL }, 2770, "udp" }, - { "vergencecm", { NULL }, 2771, "tcp" }, - { "vergencecm", { NULL }, 2771, "udp" }, - { "auris", { NULL }, 2772, "tcp" }, - { "auris", { NULL }, 2772, "udp" }, - { "rbakcup1", { NULL }, 2773, "tcp" }, - { "rbakcup1", { NULL }, 2773, "udp" }, - { "rbakcup2", { NULL }, 2774, "tcp" }, - { "rbakcup2", { NULL }, 2774, "udp" }, - { "smpp", { NULL }, 2775, "tcp" }, - { "smpp", { NULL }, 2775, "udp" }, - { "ridgeway1", { NULL }, 2776, "tcp" }, - { "ridgeway1", { NULL }, 2776, "udp" }, - { "ridgeway2", { NULL }, 2777, "tcp" }, - { "ridgeway2", { NULL }, 2777, "udp" }, - { "gwen-sonya", { NULL }, 2778, "tcp" }, - { "gwen-sonya", { NULL }, 2778, "udp" }, - { "lbc-sync", { NULL }, 2779, "tcp" }, - { "lbc-sync", { NULL }, 2779, "udp" }, - { "lbc-control", { NULL }, 2780, "tcp" }, - { "lbc-control", { NULL }, 2780, "udp" }, - { "whosells", { NULL }, 2781, "tcp" }, - { "whosells", { NULL }, 2781, "udp" }, - { "everydayrc", { NULL }, 2782, "tcp" }, - { "everydayrc", { NULL }, 2782, "udp" }, - { "aises", { NULL }, 2783, "tcp" }, - { "aises", { NULL }, 2783, "udp" }, - { "www-dev", { NULL }, 2784, "tcp" }, - { "www-dev", { NULL }, 2784, "udp" }, - { "aic-np", { NULL }, 2785, "tcp" }, - { "aic-np", { NULL }, 2785, "udp" }, - { "aic-oncrpc", { NULL }, 2786, "tcp" }, - { "aic-oncrpc", { NULL }, 2786, "udp" }, - { "piccolo", { NULL }, 2787, "tcp" }, - { "piccolo", { NULL }, 2787, "udp" }, - { "fryeserv", { NULL }, 2788, "tcp" }, - { "fryeserv", { NULL }, 2788, "udp" }, - { "media-agent", { NULL }, 2789, "tcp" }, - { "media-agent", { NULL }, 2789, "udp" }, - { "plgproxy", { NULL }, 2790, "tcp" }, - { "plgproxy", { NULL }, 2790, "udp" }, - { "mtport-regist", { NULL }, 2791, "tcp" }, - { "mtport-regist", { NULL }, 2791, "udp" }, - { "f5-globalsite", { NULL }, 2792, "tcp" }, - { "f5-globalsite", { NULL }, 2792, "udp" }, - { "initlsmsad", { NULL }, 2793, "tcp" }, - { "initlsmsad", { NULL }, 2793, "udp" }, - { "livestats", { NULL }, 2795, "tcp" }, - { "livestats", { NULL }, 2795, "udp" }, - { "ac-tech", { NULL }, 2796, "tcp" }, - { "ac-tech", { NULL }, 2796, "udp" }, - { "esp-encap", { NULL }, 2797, "tcp" }, - { "esp-encap", { NULL }, 2797, "udp" }, - { "tmesis-upshot", { NULL }, 2798, "tcp" }, - { "tmesis-upshot", { NULL }, 2798, "udp" }, - { "icon-discover", { NULL }, 2799, "tcp" }, - { "icon-discover", { NULL }, 2799, "udp" }, - { "acc-raid", { NULL }, 2800, "tcp" }, - { "acc-raid", { NULL }, 2800, "udp" }, - { "igcp", { NULL }, 2801, "tcp" }, - { "igcp", { NULL }, 2801, "udp" }, - { "veritas-tcp1", { NULL }, 2802, "tcp" }, - { "veritas-udp1", { NULL }, 2802, "udp" }, - { "btprjctrl", { NULL }, 2803, "tcp" }, - { "btprjctrl", { NULL }, 2803, "udp" }, - { "dvr-esm", { NULL }, 2804, "tcp" }, - { "dvr-esm", { NULL }, 2804, "udp" }, - { "wta-wsp-s", { NULL }, 2805, "tcp" }, - { "wta-wsp-s", { NULL }, 2805, "udp" }, - { "cspuni", { NULL }, 2806, "tcp" }, - { "cspuni", { NULL }, 2806, "udp" }, - { "cspmulti", { NULL }, 2807, "tcp" }, - { "cspmulti", { NULL }, 2807, "udp" }, - { "j-lan-p", { NULL }, 2808, "tcp" }, - { "j-lan-p", { NULL }, 2808, "udp" }, - { "corbaloc", { NULL }, 2809, "tcp" }, - { "corbaloc", { NULL }, 2809, "udp" }, - { "netsteward", { NULL }, 2810, "tcp" }, - { "netsteward", { NULL }, 2810, "udp" }, - { "gsiftp", { NULL }, 2811, "tcp" }, - { "gsiftp", { NULL }, 2811, "udp" }, - { "atmtcp", { NULL }, 2812, "tcp" }, - { "atmtcp", { NULL }, 2812, "udp" }, - { "llm-pass", { NULL }, 2813, "tcp" }, - { "llm-pass", { NULL }, 2813, "udp" }, - { "llm-csv", { NULL }, 2814, "tcp" }, - { "llm-csv", { NULL }, 2814, "udp" }, - { "lbc-measure", { NULL }, 2815, "tcp" }, - { "lbc-measure", { NULL }, 2815, "udp" }, - { "lbc-watchdog", { NULL }, 2816, "tcp" }, - { "lbc-watchdog", { NULL }, 2816, "udp" }, - { "nmsigport", { NULL }, 2817, "tcp" }, - { "nmsigport", { NULL }, 2817, "udp" }, - { "rmlnk", { NULL }, 2818, "tcp" }, - { "rmlnk", { NULL }, 2818, "udp" }, - { "fc-faultnotify", { NULL }, 2819, "tcp" }, - { "fc-faultnotify", { NULL }, 2819, "udp" }, - { "univision", { NULL }, 2820, "tcp" }, - { "univision", { NULL }, 2820, "udp" }, - { "vrts-at-port", { NULL }, 2821, "tcp" }, - { "vrts-at-port", { NULL }, 2821, "udp" }, - { "ka0wuc", { NULL }, 2822, "tcp" }, - { "ka0wuc", { NULL }, 2822, "udp" }, - { "cqg-netlan", { NULL }, 2823, "tcp" }, - { "cqg-netlan", { NULL }, 2823, "udp" }, - { "cqg-netlan-1", { NULL }, 2824, "tcp" }, - { "cqg-netlan-1", { NULL }, 2824, "udp" }, - { "slc-systemlog", { NULL }, 2826, "tcp" }, - { "slc-systemlog", { NULL }, 2826, "udp" }, - { "slc-ctrlrloops", { NULL }, 2827, "tcp" }, - { "slc-ctrlrloops", { NULL }, 2827, "udp" }, - { "itm-lm", { NULL }, 2828, "tcp" }, - { "itm-lm", { NULL }, 2828, "udp" }, - { "silkp1", { NULL }, 2829, "tcp" }, - { "silkp1", { NULL }, 2829, "udp" }, - { "silkp2", { NULL }, 2830, "tcp" }, - { "silkp2", { NULL }, 2830, "udp" }, - { "silkp3", { NULL }, 2831, "tcp" }, - { "silkp3", { NULL }, 2831, "udp" }, - { "silkp4", { NULL }, 2832, "tcp" }, - { "silkp4", { NULL }, 2832, "udp" }, - { "glishd", { NULL }, 2833, "tcp" }, - { "glishd", { NULL }, 2833, "udp" }, - { "evtp", { NULL }, 2834, "tcp" }, - { "evtp", { NULL }, 2834, "udp" }, - { "evtp-data", { NULL }, 2835, "tcp" }, - { "evtp-data", { NULL }, 2835, "udp" }, - { "catalyst", { NULL }, 2836, "tcp" }, - { "catalyst", { NULL }, 2836, "udp" }, - { "repliweb", { NULL }, 2837, "tcp" }, - { "repliweb", { NULL }, 2837, "udp" }, - { "starbot", { NULL }, 2838, "tcp" }, - { "starbot", { NULL }, 2838, "udp" }, - { "nmsigport", { NULL }, 2839, "tcp" }, - { "nmsigport", { NULL }, 2839, "udp" }, - { "l3-exprt", { NULL }, 2840, "tcp" }, - { "l3-exprt", { NULL }, 2840, "udp" }, - { "l3-ranger", { NULL }, 2841, "tcp" }, - { "l3-ranger", { NULL }, 2841, "udp" }, - { "l3-hawk", { NULL }, 2842, "tcp" }, - { "l3-hawk", { NULL }, 2842, "udp" }, - { "pdnet", { NULL }, 2843, "tcp" }, - { "pdnet", { NULL }, 2843, "udp" }, - { "bpcp-poll", { NULL }, 2844, "tcp" }, - { "bpcp-poll", { NULL }, 2844, "udp" }, - { "bpcp-trap", { NULL }, 2845, "tcp" }, - { "bpcp-trap", { NULL }, 2845, "udp" }, - { "aimpp-hello", { NULL }, 2846, "tcp" }, - { "aimpp-hello", { NULL }, 2846, "udp" }, - { "aimpp-port-req", { NULL }, 2847, "tcp" }, - { "aimpp-port-req", { NULL }, 2847, "udp" }, - { "amt-blc-port", { NULL }, 2848, "tcp" }, - { "amt-blc-port", { NULL }, 2848, "udp" }, - { "fxp", { NULL }, 2849, "tcp" }, - { "fxp", { NULL }, 2849, "udp" }, - { "metaconsole", { NULL }, 2850, "tcp" }, - { "metaconsole", { NULL }, 2850, "udp" }, - { "webemshttp", { NULL }, 2851, "tcp" }, - { "webemshttp", { NULL }, 2851, "udp" }, - { "bears-01", { NULL }, 2852, "tcp" }, - { "bears-01", { NULL }, 2852, "udp" }, - { "ispipes", { NULL }, 2853, "tcp" }, - { "ispipes", { NULL }, 2853, "udp" }, - { "infomover", { NULL }, 2854, "tcp" }, - { "infomover", { NULL }, 2854, "udp" }, - { "msrp", { NULL }, 2855, "tcp" }, - { "msrp", { NULL }, 2855, "udp" }, - { "cesdinv", { NULL }, 2856, "tcp" }, - { "cesdinv", { NULL }, 2856, "udp" }, - { "simctlp", { NULL }, 2857, "tcp" }, - { "simctlp", { NULL }, 2857, "udp" }, - { "ecnp", { NULL }, 2858, "tcp" }, - { "ecnp", { NULL }, 2858, "udp" }, - { "activememory", { NULL }, 2859, "tcp" }, - { "activememory", { NULL }, 2859, "udp" }, - { "dialpad-voice1", { NULL }, 2860, "tcp" }, - { "dialpad-voice1", { NULL }, 2860, "udp" }, - { "dialpad-voice2", { NULL }, 2861, "tcp" }, - { "dialpad-voice2", { NULL }, 2861, "udp" }, - { "ttg-protocol", { NULL }, 2862, "tcp" }, - { "ttg-protocol", { NULL }, 2862, "udp" }, - { "sonardata", { NULL }, 2863, "tcp" }, - { "sonardata", { NULL }, 2863, "udp" }, - { "astromed-main", { NULL }, 2864, "tcp" }, - { "astromed-main", { NULL }, 2864, "udp" }, - { "pit-vpn", { NULL }, 2865, "tcp" }, - { "pit-vpn", { NULL }, 2865, "udp" }, - { "iwlistener", { NULL }, 2866, "tcp" }, - { "iwlistener", { NULL }, 2866, "udp" }, - { "esps-portal", { NULL }, 2867, "tcp" }, - { "esps-portal", { NULL }, 2867, "udp" }, - { "npep-messaging", { NULL }, 2868, "tcp" }, - { "npep-messaging", { NULL }, 2868, "udp" }, - { "icslap", { NULL }, 2869, "tcp" }, - { "icslap", { NULL }, 2869, "udp" }, - { "daishi", { NULL }, 2870, "tcp" }, - { "daishi", { NULL }, 2870, "udp" }, - { "msi-selectplay", { NULL }, 2871, "tcp" }, - { "msi-selectplay", { NULL }, 2871, "udp" }, - { "radix", { NULL }, 2872, "tcp" }, - { "radix", { NULL }, 2872, "udp" }, - { "dxmessagebase1", { NULL }, 2874, "tcp" }, - { "dxmessagebase1", { NULL }, 2874, "udp" }, - { "dxmessagebase2", { NULL }, 2875, "tcp" }, - { "dxmessagebase2", { NULL }, 2875, "udp" }, - { "sps-tunnel", { NULL }, 2876, "tcp" }, - { "sps-tunnel", { NULL }, 2876, "udp" }, - { "bluelance", { NULL }, 2877, "tcp" }, - { "bluelance", { NULL }, 2877, "udp" }, - { "aap", { NULL }, 2878, "tcp" }, - { "aap", { NULL }, 2878, "udp" }, - { "ucentric-ds", { NULL }, 2879, "tcp" }, - { "ucentric-ds", { NULL }, 2879, "udp" }, - { "synapse", { NULL }, 2880, "tcp" }, - { "synapse", { NULL }, 2880, "udp" }, - { "ndsp", { NULL }, 2881, "tcp" }, - { "ndsp", { NULL }, 2881, "udp" }, - { "ndtp", { NULL }, 2882, "tcp" }, - { "ndtp", { NULL }, 2882, "udp" }, - { "ndnp", { NULL }, 2883, "tcp" }, - { "ndnp", { NULL }, 2883, "udp" }, - { "flashmsg", { NULL }, 2884, "tcp" }, - { "flashmsg", { NULL }, 2884, "udp" }, - { "topflow", { NULL }, 2885, "tcp" }, - { "topflow", { NULL }, 2885, "udp" }, - { "responselogic", { NULL }, 2886, "tcp" }, - { "responselogic", { NULL }, 2886, "udp" }, - { "aironetddp", { NULL }, 2887, "tcp" }, - { "aironetddp", { NULL }, 2887, "udp" }, - { "spcsdlobby", { NULL }, 2888, "tcp" }, - { "spcsdlobby", { NULL }, 2888, "udp" }, - { "rsom", { NULL }, 2889, "tcp" }, - { "rsom", { NULL }, 2889, "udp" }, - { "cspclmulti", { NULL }, 2890, "tcp" }, - { "cspclmulti", { NULL }, 2890, "udp" }, - { "cinegrfx-elmd", { NULL }, 2891, "tcp" }, - { "cinegrfx-elmd", { NULL }, 2891, "udp" }, - { "snifferdata", { NULL }, 2892, "tcp" }, - { "snifferdata", { NULL }, 2892, "udp" }, - { "vseconnector", { NULL }, 2893, "tcp" }, - { "vseconnector", { NULL }, 2893, "udp" }, - { "abacus-remote", { NULL }, 2894, "tcp" }, - { "abacus-remote", { NULL }, 2894, "udp" }, - { "natuslink", { NULL }, 2895, "tcp" }, - { "natuslink", { NULL }, 2895, "udp" }, - { "ecovisiong6-1", { NULL }, 2896, "tcp" }, - { "ecovisiong6-1", { NULL }, 2896, "udp" }, - { "citrix-rtmp", { NULL }, 2897, "tcp" }, - { "citrix-rtmp", { NULL }, 2897, "udp" }, - { "appliance-cfg", { NULL }, 2898, "tcp" }, - { "appliance-cfg", { NULL }, 2898, "udp" }, - { "powergemplus", { NULL }, 2899, "tcp" }, - { "powergemplus", { NULL }, 2899, "udp" }, - { "quicksuite", { NULL }, 2900, "tcp" }, - { "quicksuite", { NULL }, 2900, "udp" }, - { "allstorcns", { NULL }, 2901, "tcp" }, - { "allstorcns", { NULL }, 2901, "udp" }, - { "netaspi", { NULL }, 2902, "tcp" }, - { "netaspi", { NULL }, 2902, "udp" }, - { "suitcase", { NULL }, 2903, "tcp" }, - { "suitcase", { NULL }, 2903, "udp" }, - { "m2ua", { NULL }, 2904, "tcp" }, - { "m2ua", { NULL }, 2904, "udp" }, - { "m2ua", { NULL }, 2904, "sctp"}, - { "m3ua", { NULL }, 2905, "tcp" }, - { "m3ua", { NULL }, 2905, "sctp"}, - { "caller9", { NULL }, 2906, "tcp" }, - { "caller9", { NULL }, 2906, "udp" }, - { "webmethods-b2b", { NULL }, 2907, "tcp" }, - { "webmethods-b2b", { NULL }, 2907, "udp" }, - { "mao", { NULL }, 2908, "tcp" }, - { "mao", { NULL }, 2908, "udp" }, - { "funk-dialout", { NULL }, 2909, "tcp" }, - { "funk-dialout", { NULL }, 2909, "udp" }, - { "tdaccess", { NULL }, 2910, "tcp" }, - { "tdaccess", { NULL }, 2910, "udp" }, - { "blockade", { NULL }, 2911, "tcp" }, - { "blockade", { NULL }, 2911, "udp" }, - { "epicon", { NULL }, 2912, "tcp" }, - { "epicon", { NULL }, 2912, "udp" }, - { "boosterware", { NULL }, 2913, "tcp" }, - { "boosterware", { NULL }, 2913, "udp" }, - { "gamelobby", { NULL }, 2914, "tcp" }, - { "gamelobby", { NULL }, 2914, "udp" }, - { "tksocket", { NULL }, 2915, "tcp" }, - { "tksocket", { NULL }, 2915, "udp" }, - { "elvin_server", { NULL }, 2916, "tcp" }, - { "elvin_server", { NULL }, 2916, "udp" }, - { "elvin_client", { NULL }, 2917, "tcp" }, - { "elvin_client", { NULL }, 2917, "udp" }, - { "kastenchasepad", { NULL }, 2918, "tcp" }, - { "kastenchasepad", { NULL }, 2918, "udp" }, - { "roboer", { NULL }, 2919, "tcp" }, - { "roboer", { NULL }, 2919, "udp" }, - { "roboeda", { NULL }, 2920, "tcp" }, - { "roboeda", { NULL }, 2920, "udp" }, - { "cesdcdman", { NULL }, 2921, "tcp" }, - { "cesdcdman", { NULL }, 2921, "udp" }, - { "cesdcdtrn", { NULL }, 2922, "tcp" }, - { "cesdcdtrn", { NULL }, 2922, "udp" }, - { "wta-wsp-wtp-s", { NULL }, 2923, "tcp" }, - { "wta-wsp-wtp-s", { NULL }, 2923, "udp" }, - { "precise-vip", { NULL }, 2924, "tcp" }, - { "precise-vip", { NULL }, 2924, "udp" }, - { "mobile-file-dl", { NULL }, 2926, "tcp" }, - { "mobile-file-dl", { NULL }, 2926, "udp" }, - { "unimobilectrl", { NULL }, 2927, "tcp" }, - { "unimobilectrl", { NULL }, 2927, "udp" }, - { "redstone-cpss", { NULL }, 2928, "tcp" }, - { "redstone-cpss", { NULL }, 2928, "udp" }, - { "amx-webadmin", { NULL }, 2929, "tcp" }, - { "amx-webadmin", { NULL }, 2929, "udp" }, - { "amx-weblinx", { NULL }, 2930, "tcp" }, - { "amx-weblinx", { NULL }, 2930, "udp" }, - { "circle-x", { NULL }, 2931, "tcp" }, - { "circle-x", { NULL }, 2931, "udp" }, - { "incp", { NULL }, 2932, "tcp" }, - { "incp", { NULL }, 2932, "udp" }, - { "4-tieropmgw", { NULL }, 2933, "tcp" }, - { "4-tieropmgw", { NULL }, 2933, "udp" }, - { "4-tieropmcli", { NULL }, 2934, "tcp" }, - { "4-tieropmcli", { NULL }, 2934, "udp" }, - { "qtp", { NULL }, 2935, "tcp" }, - { "qtp", { NULL }, 2935, "udp" }, - { "otpatch", { NULL }, 2936, "tcp" }, - { "otpatch", { NULL }, 2936, "udp" }, - { "pnaconsult-lm", { NULL }, 2937, "tcp" }, - { "pnaconsult-lm", { NULL }, 2937, "udp" }, - { "sm-pas-1", { NULL }, 2938, "tcp" }, - { "sm-pas-1", { NULL }, 2938, "udp" }, - { "sm-pas-2", { NULL }, 2939, "tcp" }, - { "sm-pas-2", { NULL }, 2939, "udp" }, - { "sm-pas-3", { NULL }, 2940, "tcp" }, - { "sm-pas-3", { NULL }, 2940, "udp" }, - { "sm-pas-4", { NULL }, 2941, "tcp" }, - { "sm-pas-4", { NULL }, 2941, "udp" }, - { "sm-pas-5", { NULL }, 2942, "tcp" }, - { "sm-pas-5", { NULL }, 2942, "udp" }, - { "ttnrepository", { NULL }, 2943, "tcp" }, - { "ttnrepository", { NULL }, 2943, "udp" }, - { "megaco-h248", { NULL }, 2944, "tcp" }, - { "megaco-h248", { NULL }, 2944, "udp" }, - { "megaco-h248", { NULL }, 2944, "sctp"}, - { "h248-binary", { NULL }, 2945, "tcp" }, - { "h248-binary", { NULL }, 2945, "udp" }, - { "h248-binary", { NULL }, 2945, "sctp"}, - { "fjsvmpor", { NULL }, 2946, "tcp" }, - { "fjsvmpor", { NULL }, 2946, "udp" }, - { "gpsd", { NULL }, 2947, "tcp" }, - { "gpsd", { NULL }, 2947, "udp" }, - { "wap-push", { NULL }, 2948, "tcp" }, - { "wap-push", { NULL }, 2948, "udp" }, - { "wap-pushsecure", { NULL }, 2949, "tcp" }, - { "wap-pushsecure", { NULL }, 2949, "udp" }, - { "esip", { NULL }, 2950, "tcp" }, - { "esip", { NULL }, 2950, "udp" }, - { "ottp", { NULL }, 2951, "tcp" }, - { "ottp", { NULL }, 2951, "udp" }, - { "mpfwsas", { NULL }, 2952, "tcp" }, - { "mpfwsas", { NULL }, 2952, "udp" }, - { "ovalarmsrv", { NULL }, 2953, "tcp" }, - { "ovalarmsrv", { NULL }, 2953, "udp" }, - { "ovalarmsrv-cmd", { NULL }, 2954, "tcp" }, - { "ovalarmsrv-cmd", { NULL }, 2954, "udp" }, - { "csnotify", { NULL }, 2955, "tcp" }, - { "csnotify", { NULL }, 2955, "udp" }, - { "ovrimosdbman", { NULL }, 2956, "tcp" }, - { "ovrimosdbman", { NULL }, 2956, "udp" }, - { "jmact5", { NULL }, 2957, "tcp" }, - { "jmact5", { NULL }, 2957, "udp" }, - { "jmact6", { NULL }, 2958, "tcp" }, - { "jmact6", { NULL }, 2958, "udp" }, - { "rmopagt", { NULL }, 2959, "tcp" }, - { "rmopagt", { NULL }, 2959, "udp" }, - { "dfoxserver", { NULL }, 2960, "tcp" }, - { "dfoxserver", { NULL }, 2960, "udp" }, - { "boldsoft-lm", { NULL }, 2961, "tcp" }, - { "boldsoft-lm", { NULL }, 2961, "udp" }, - { "iph-policy-cli", { NULL }, 2962, "tcp" }, - { "iph-policy-cli", { NULL }, 2962, "udp" }, - { "iph-policy-adm", { NULL }, 2963, "tcp" }, - { "iph-policy-adm", { NULL }, 2963, "udp" }, - { "bullant-srap", { NULL }, 2964, "tcp" }, - { "bullant-srap", { NULL }, 2964, "udp" }, - { "bullant-rap", { NULL }, 2965, "tcp" }, - { "bullant-rap", { NULL }, 2965, "udp" }, - { "idp-infotrieve", { NULL }, 2966, "tcp" }, - { "idp-infotrieve", { NULL }, 2966, "udp" }, - { "ssc-agent", { NULL }, 2967, "tcp" }, - { "ssc-agent", { NULL }, 2967, "udp" }, - { "enpp", { NULL }, 2968, "tcp" }, - { "enpp", { NULL }, 2968, "udp" }, - { "essp", { NULL }, 2969, "tcp" }, - { "essp", { NULL }, 2969, "udp" }, - { "index-net", { NULL }, 2970, "tcp" }, - { "index-net", { NULL }, 2970, "udp" }, - { "netclip", { NULL }, 2971, "tcp" }, - { "netclip", { NULL }, 2971, "udp" }, - { "pmsm-webrctl", { NULL }, 2972, "tcp" }, - { "pmsm-webrctl", { NULL }, 2972, "udp" }, - { "svnetworks", { NULL }, 2973, "tcp" }, - { "svnetworks", { NULL }, 2973, "udp" }, - { "signal", { NULL }, 2974, "tcp" }, - { "signal", { NULL }, 2974, "udp" }, - { "fjmpcm", { NULL }, 2975, "tcp" }, - { "fjmpcm", { NULL }, 2975, "udp" }, - { "cns-srv-port", { NULL }, 2976, "tcp" }, - { "cns-srv-port", { NULL }, 2976, "udp" }, - { "ttc-etap-ns", { NULL }, 2977, "tcp" }, - { "ttc-etap-ns", { NULL }, 2977, "udp" }, - { "ttc-etap-ds", { NULL }, 2978, "tcp" }, - { "ttc-etap-ds", { NULL }, 2978, "udp" }, - { "h263-video", { NULL }, 2979, "tcp" }, - { "h263-video", { NULL }, 2979, "udp" }, - { "wimd", { NULL }, 2980, "tcp" }, - { "wimd", { NULL }, 2980, "udp" }, - { "mylxamport", { NULL }, 2981, "tcp" }, - { "mylxamport", { NULL }, 2981, "udp" }, - { "iwb-whiteboard", { NULL }, 2982, "tcp" }, - { "iwb-whiteboard", { NULL }, 2982, "udp" }, - { "netplan", { NULL }, 2983, "tcp" }, - { "netplan", { NULL }, 2983, "udp" }, - { "hpidsadmin", { NULL }, 2984, "tcp" }, - { "hpidsadmin", { NULL }, 2984, "udp" }, - { "hpidsagent", { NULL }, 2985, "tcp" }, - { "hpidsagent", { NULL }, 2985, "udp" }, - { "stonefalls", { NULL }, 2986, "tcp" }, - { "stonefalls", { NULL }, 2986, "udp" }, - { "identify", { NULL }, 2987, "tcp" }, - { "identify", { NULL }, 2987, "udp" }, - { "hippad", { NULL }, 2988, "tcp" }, - { "hippad", { NULL }, 2988, "udp" }, - { "zarkov", { NULL }, 2989, "tcp" }, - { "zarkov", { NULL }, 2989, "udp" }, - { "boscap", { NULL }, 2990, "tcp" }, - { "boscap", { NULL }, 2990, "udp" }, - { "wkstn-mon", { NULL }, 2991, "tcp" }, - { "wkstn-mon", { NULL }, 2991, "udp" }, - { "avenyo", { NULL }, 2992, "tcp" }, - { "avenyo", { NULL }, 2992, "udp" }, - { "veritas-vis1", { NULL }, 2993, "tcp" }, - { "veritas-vis1", { NULL }, 2993, "udp" }, - { "veritas-vis2", { NULL }, 2994, "tcp" }, - { "veritas-vis2", { NULL }, 2994, "udp" }, - { "idrs", { NULL }, 2995, "tcp" }, - { "idrs", { NULL }, 2995, "udp" }, - { "vsixml", { NULL }, 2996, "tcp" }, - { "vsixml", { NULL }, 2996, "udp" }, - { "rebol", { NULL }, 2997, "tcp" }, - { "rebol", { NULL }, 2997, "udp" }, - { "realsecure", { NULL }, 2998, "tcp" }, - { "realsecure", { NULL }, 2998, "udp" }, - { "remoteware-un", { NULL }, 2999, "tcp" }, - { "remoteware-un", { NULL }, 2999, "udp" }, - { "hbci", { NULL }, 3000, "tcp" }, - { "hbci", { NULL }, 3000, "udp" }, - { "remoteware-cl", { NULL }, 3000, "tcp" }, - { "remoteware-cl", { NULL }, 3000, "udp" }, - { "exlm-agent", { NULL }, 3002, "tcp" }, - { "exlm-agent", { NULL }, 3002, "udp" }, - { "remoteware-srv", { NULL }, 3002, "tcp" }, - { "remoteware-srv", { NULL }, 3002, "udp" }, - { "cgms", { NULL }, 3003, "tcp" }, - { "cgms", { NULL }, 3003, "udp" }, - { "csoftragent", { NULL }, 3004, "tcp" }, - { "csoftragent", { NULL }, 3004, "udp" }, - { "geniuslm", { NULL }, 3005, "tcp" }, - { "geniuslm", { NULL }, 3005, "udp" }, - { "ii-admin", { NULL }, 3006, "tcp" }, - { "ii-admin", { NULL }, 3006, "udp" }, - { "lotusmtap", { NULL }, 3007, "tcp" }, - { "lotusmtap", { NULL }, 3007, "udp" }, - { "midnight-tech", { NULL }, 3008, "tcp" }, - { "midnight-tech", { NULL }, 3008, "udp" }, - { "pxc-ntfy", { NULL }, 3009, "tcp" }, - { "pxc-ntfy", { NULL }, 3009, "udp" }, - { "gw", { NULL }, 3010, "tcp" }, - { "ping-pong", { NULL }, 3010, "udp" }, - { "trusted-web", { NULL }, 3011, "tcp" }, - { "trusted-web", { NULL }, 3011, "udp" }, - { "twsdss", { NULL }, 3012, "tcp" }, - { "twsdss", { NULL }, 3012, "udp" }, - { "gilatskysurfer", { NULL }, 3013, "tcp" }, - { "gilatskysurfer", { NULL }, 3013, "udp" }, - { "broker_service", { NULL }, 3014, "tcp" }, - { "broker_service", { NULL }, 3014, "udp" }, - { "nati-dstp", { NULL }, 3015, "tcp" }, - { "nati-dstp", { NULL }, 3015, "udp" }, - { "notify_srvr", { NULL }, 3016, "tcp" }, - { "notify_srvr", { NULL }, 3016, "udp" }, - { "event_listener", { NULL }, 3017, "tcp" }, - { "event_listener", { NULL }, 3017, "udp" }, - { "srvc_registry", { NULL }, 3018, "tcp" }, - { "srvc_registry", { NULL }, 3018, "udp" }, - { "resource_mgr", { NULL }, 3019, "tcp" }, - { "resource_mgr", { NULL }, 3019, "udp" }, - { "cifs", { NULL }, 3020, "tcp" }, - { "cifs", { NULL }, 3020, "udp" }, - { "agriserver", { NULL }, 3021, "tcp" }, - { "agriserver", { NULL }, 3021, "udp" }, - { "csregagent", { NULL }, 3022, "tcp" }, - { "csregagent", { NULL }, 3022, "udp" }, - { "magicnotes", { NULL }, 3023, "tcp" }, - { "magicnotes", { NULL }, 3023, "udp" }, - { "nds_sso", { NULL }, 3024, "tcp" }, - { "nds_sso", { NULL }, 3024, "udp" }, - { "arepa-raft", { NULL }, 3025, "tcp" }, - { "arepa-raft", { NULL }, 3025, "udp" }, - { "agri-gateway", { NULL }, 3026, "tcp" }, - { "agri-gateway", { NULL }, 3026, "udp" }, - { "LiebDevMgmt_C", { NULL }, 3027, "tcp" }, - { "LiebDevMgmt_C", { NULL }, 3027, "udp" }, - { "LiebDevMgmt_DM", { NULL }, 3028, "tcp" }, - { "LiebDevMgmt_DM", { NULL }, 3028, "udp" }, - { "LiebDevMgmt_A", { NULL }, 3029, "tcp" }, - { "LiebDevMgmt_A", { NULL }, 3029, "udp" }, - { "arepa-cas", { NULL }, 3030, "tcp" }, - { "arepa-cas", { NULL }, 3030, "udp" }, - { "eppc", { NULL }, 3031, "tcp" }, - { "eppc", { NULL }, 3031, "udp" }, - { "redwood-chat", { NULL }, 3032, "tcp" }, - { "redwood-chat", { NULL }, 3032, "udp" }, - { "pdb", { NULL }, 3033, "tcp" }, - { "pdb", { NULL }, 3033, "udp" }, - { "osmosis-aeea", { NULL }, 3034, "tcp" }, - { "osmosis-aeea", { NULL }, 3034, "udp" }, - { "fjsv-gssagt", { NULL }, 3035, "tcp" }, - { "fjsv-gssagt", { NULL }, 3035, "udp" }, - { "hagel-dump", { NULL }, 3036, "tcp" }, - { "hagel-dump", { NULL }, 3036, "udp" }, - { "hp-san-mgmt", { NULL }, 3037, "tcp" }, - { "hp-san-mgmt", { NULL }, 3037, "udp" }, - { "santak-ups", { NULL }, 3038, "tcp" }, - { "santak-ups", { NULL }, 3038, "udp" }, - { "cogitate", { NULL }, 3039, "tcp" }, - { "cogitate", { NULL }, 3039, "udp" }, - { "tomato-springs", { NULL }, 3040, "tcp" }, - { "tomato-springs", { NULL }, 3040, "udp" }, - { "di-traceware", { NULL }, 3041, "tcp" }, - { "di-traceware", { NULL }, 3041, "udp" }, - { "journee", { NULL }, 3042, "tcp" }, - { "journee", { NULL }, 3042, "udp" }, - { "brp", { NULL }, 3043, "tcp" }, - { "brp", { NULL }, 3043, "udp" }, - { "epp", { NULL }, 3044, "tcp" }, - { "epp", { NULL }, 3044, "udp" }, - { "responsenet", { NULL }, 3045, "tcp" }, - { "responsenet", { NULL }, 3045, "udp" }, - { "di-ase", { NULL }, 3046, "tcp" }, - { "di-ase", { NULL }, 3046, "udp" }, - { "hlserver", { NULL }, 3047, "tcp" }, - { "hlserver", { NULL }, 3047, "udp" }, - { "pctrader", { NULL }, 3048, "tcp" }, - { "pctrader", { NULL }, 3048, "udp" }, - { "nsws", { NULL }, 3049, "tcp" }, - { "nsws", { NULL }, 3049, "udp" }, - { "gds_db", { NULL }, 3050, "tcp" }, - { "gds_db", { NULL }, 3050, "udp" }, - { "galaxy-server", { NULL }, 3051, "tcp" }, - { "galaxy-server", { NULL }, 3051, "udp" }, - { "apc-3052", { NULL }, 3052, "tcp" }, - { "apc-3052", { NULL }, 3052, "udp" }, - { "dsom-server", { NULL }, 3053, "tcp" }, - { "dsom-server", { NULL }, 3053, "udp" }, - { "amt-cnf-prot", { NULL }, 3054, "tcp" }, - { "amt-cnf-prot", { NULL }, 3054, "udp" }, - { "policyserver", { NULL }, 3055, "tcp" }, - { "policyserver", { NULL }, 3055, "udp" }, - { "cdl-server", { NULL }, 3056, "tcp" }, - { "cdl-server", { NULL }, 3056, "udp" }, - { "goahead-fldup", { NULL }, 3057, "tcp" }, - { "goahead-fldup", { NULL }, 3057, "udp" }, - { "videobeans", { NULL }, 3058, "tcp" }, - { "videobeans", { NULL }, 3058, "udp" }, - { "qsoft", { NULL }, 3059, "tcp" }, - { "qsoft", { NULL }, 3059, "udp" }, - { "interserver", { NULL }, 3060, "tcp" }, - { "interserver", { NULL }, 3060, "udp" }, - { "cautcpd", { NULL }, 3061, "tcp" }, - { "cautcpd", { NULL }, 3061, "udp" }, - { "ncacn-ip-tcp", { NULL }, 3062, "tcp" }, - { "ncacn-ip-tcp", { NULL }, 3062, "udp" }, - { "ncadg-ip-udp", { NULL }, 3063, "tcp" }, - { "ncadg-ip-udp", { NULL }, 3063, "udp" }, - { "rprt", { NULL }, 3064, "tcp" }, - { "rprt", { NULL }, 3064, "udp" }, - { "slinterbase", { NULL }, 3065, "tcp" }, - { "slinterbase", { NULL }, 3065, "udp" }, - { "netattachsdmp", { NULL }, 3066, "tcp" }, - { "netattachsdmp", { NULL }, 3066, "udp" }, - { "fjhpjp", { NULL }, 3067, "tcp" }, - { "fjhpjp", { NULL }, 3067, "udp" }, - { "ls3bcast", { NULL }, 3068, "tcp" }, - { "ls3bcast", { NULL }, 3068, "udp" }, - { "ls3", { NULL }, 3069, "tcp" }, - { "ls3", { NULL }, 3069, "udp" }, - { "mgxswitch", { NULL }, 3070, "tcp" }, - { "mgxswitch", { NULL }, 3070, "udp" }, - { "csd-mgmt-port", { NULL }, 3071, "tcp" }, - { "csd-mgmt-port", { NULL }, 3071, "udp" }, - { "csd-monitor", { NULL }, 3072, "tcp" }, - { "csd-monitor", { NULL }, 3072, "udp" }, - { "vcrp", { NULL }, 3073, "tcp" }, - { "vcrp", { NULL }, 3073, "udp" }, - { "xbox", { NULL }, 3074, "tcp" }, - { "xbox", { NULL }, 3074, "udp" }, - { "orbix-locator", { NULL }, 3075, "tcp" }, - { "orbix-locator", { NULL }, 3075, "udp" }, - { "orbix-config", { NULL }, 3076, "tcp" }, - { "orbix-config", { NULL }, 3076, "udp" }, - { "orbix-loc-ssl", { NULL }, 3077, "tcp" }, - { "orbix-loc-ssl", { NULL }, 3077, "udp" }, - { "orbix-cfg-ssl", { NULL }, 3078, "tcp" }, - { "orbix-cfg-ssl", { NULL }, 3078, "udp" }, - { "lv-frontpanel", { NULL }, 3079, "tcp" }, - { "lv-frontpanel", { NULL }, 3079, "udp" }, - { "stm_pproc", { NULL }, 3080, "tcp" }, - { "stm_pproc", { NULL }, 3080, "udp" }, - { "tl1-lv", { NULL }, 3081, "tcp" }, - { "tl1-lv", { NULL }, 3081, "udp" }, - { "tl1-raw", { NULL }, 3082, "tcp" }, - { "tl1-raw", { NULL }, 3082, "udp" }, - { "tl1-telnet", { NULL }, 3083, "tcp" }, - { "tl1-telnet", { NULL }, 3083, "udp" }, - { "itm-mccs", { NULL }, 3084, "tcp" }, - { "itm-mccs", { NULL }, 3084, "udp" }, - { "pcihreq", { NULL }, 3085, "tcp" }, - { "pcihreq", { NULL }, 3085, "udp" }, - { "jdl-dbkitchen", { NULL }, 3086, "tcp" }, - { "jdl-dbkitchen", { NULL }, 3086, "udp" }, - { "asoki-sma", { NULL }, 3087, "tcp" }, - { "asoki-sma", { NULL }, 3087, "udp" }, - { "xdtp", { NULL }, 3088, "tcp" }, - { "xdtp", { NULL }, 3088, "udp" }, - { "ptk-alink", { NULL }, 3089, "tcp" }, - { "ptk-alink", { NULL }, 3089, "udp" }, - { "stss", { NULL }, 3090, "tcp" }, - { "stss", { NULL }, 3090, "udp" }, - { "1ci-smcs", { NULL }, 3091, "tcp" }, - { "1ci-smcs", { NULL }, 3091, "udp" }, - { "rapidmq-center", { NULL }, 3093, "tcp" }, - { "rapidmq-center", { NULL }, 3093, "udp" }, - { "rapidmq-reg", { NULL }, 3094, "tcp" }, - { "rapidmq-reg", { NULL }, 3094, "udp" }, - { "panasas", { NULL }, 3095, "tcp" }, - { "panasas", { NULL }, 3095, "udp" }, - { "ndl-aps", { NULL }, 3096, "tcp" }, - { "ndl-aps", { NULL }, 3096, "udp" }, - { "itu-bicc-stc", { NULL }, 3097, "sctp"}, - { "umm-port", { NULL }, 3098, "tcp" }, - { "umm-port", { NULL }, 3098, "udp" }, - { "chmd", { NULL }, 3099, "tcp" }, - { "chmd", { NULL }, 3099, "udp" }, - { "opcon-xps", { NULL }, 3100, "tcp" }, - { "opcon-xps", { NULL }, 3100, "udp" }, - { "hp-pxpib", { NULL }, 3101, "tcp" }, - { "hp-pxpib", { NULL }, 3101, "udp" }, - { "slslavemon", { NULL }, 3102, "tcp" }, - { "slslavemon", { NULL }, 3102, "udp" }, - { "autocuesmi", { NULL }, 3103, "tcp" }, - { "autocuesmi", { NULL }, 3103, "udp" }, - { "autocuelog", { NULL }, 3104, "tcp" }, - { "autocuetime", { NULL }, 3104, "udp" }, - { "cardbox", { NULL }, 3105, "tcp" }, - { "cardbox", { NULL }, 3105, "udp" }, - { "cardbox-http", { NULL }, 3106, "tcp" }, - { "cardbox-http", { NULL }, 3106, "udp" }, - { "business", { NULL }, 3107, "tcp" }, - { "business", { NULL }, 3107, "udp" }, - { "geolocate", { NULL }, 3108, "tcp" }, - { "geolocate", { NULL }, 3108, "udp" }, - { "personnel", { NULL }, 3109, "tcp" }, - { "personnel", { NULL }, 3109, "udp" }, - { "sim-control", { NULL }, 3110, "tcp" }, - { "sim-control", { NULL }, 3110, "udp" }, - { "wsynch", { NULL }, 3111, "tcp" }, - { "wsynch", { NULL }, 3111, "udp" }, - { "ksysguard", { NULL }, 3112, "tcp" }, - { "ksysguard", { NULL }, 3112, "udp" }, - { "cs-auth-svr", { NULL }, 3113, "tcp" }, - { "cs-auth-svr", { NULL }, 3113, "udp" }, - { "ccmad", { NULL }, 3114, "tcp" }, - { "ccmad", { NULL }, 3114, "udp" }, - { "mctet-master", { NULL }, 3115, "tcp" }, - { "mctet-master", { NULL }, 3115, "udp" }, - { "mctet-gateway", { NULL }, 3116, "tcp" }, - { "mctet-gateway", { NULL }, 3116, "udp" }, - { "mctet-jserv", { NULL }, 3117, "tcp" }, - { "mctet-jserv", { NULL }, 3117, "udp" }, - { "pkagent", { NULL }, 3118, "tcp" }, - { "pkagent", { NULL }, 3118, "udp" }, - { "d2000kernel", { NULL }, 3119, "tcp" }, - { "d2000kernel", { NULL }, 3119, "udp" }, - { "d2000webserver", { NULL }, 3120, "tcp" }, - { "d2000webserver", { NULL }, 3120, "udp" }, - { "vtr-emulator", { NULL }, 3122, "tcp" }, - { "vtr-emulator", { NULL }, 3122, "udp" }, - { "edix", { NULL }, 3123, "tcp" }, - { "edix", { NULL }, 3123, "udp" }, - { "beacon-port", { NULL }, 3124, "tcp" }, - { "beacon-port", { NULL }, 3124, "udp" }, - { "a13-an", { NULL }, 3125, "tcp" }, - { "a13-an", { NULL }, 3125, "udp" }, - { "ctx-bridge", { NULL }, 3127, "tcp" }, - { "ctx-bridge", { NULL }, 3127, "udp" }, - { "ndl-aas", { NULL }, 3128, "tcp" }, - { "ndl-aas", { NULL }, 3128, "udp" }, - { "netport-id", { NULL }, 3129, "tcp" }, - { "netport-id", { NULL }, 3129, "udp" }, - { "icpv2", { NULL }, 3130, "tcp" }, - { "icpv2", { NULL }, 3130, "udp" }, - { "netbookmark", { NULL }, 3131, "tcp" }, - { "netbookmark", { NULL }, 3131, "udp" }, - { "ms-rule-engine", { NULL }, 3132, "tcp" }, - { "ms-rule-engine", { NULL }, 3132, "udp" }, - { "prism-deploy", { NULL }, 3133, "tcp" }, - { "prism-deploy", { NULL }, 3133, "udp" }, - { "ecp", { NULL }, 3134, "tcp" }, - { "ecp", { NULL }, 3134, "udp" }, - { "peerbook-port", { NULL }, 3135, "tcp" }, - { "peerbook-port", { NULL }, 3135, "udp" }, - { "grubd", { NULL }, 3136, "tcp" }, - { "grubd", { NULL }, 3136, "udp" }, - { "rtnt-1", { NULL }, 3137, "tcp" }, - { "rtnt-1", { NULL }, 3137, "udp" }, - { "rtnt-2", { NULL }, 3138, "tcp" }, - { "rtnt-2", { NULL }, 3138, "udp" }, - { "incognitorv", { NULL }, 3139, "tcp" }, - { "incognitorv", { NULL }, 3139, "udp" }, - { "ariliamulti", { NULL }, 3140, "tcp" }, - { "ariliamulti", { NULL }, 3140, "udp" }, - { "vmodem", { NULL }, 3141, "tcp" }, - { "vmodem", { NULL }, 3141, "udp" }, - { "rdc-wh-eos", { NULL }, 3142, "tcp" }, - { "rdc-wh-eos", { NULL }, 3142, "udp" }, - { "seaview", { NULL }, 3143, "tcp" }, - { "seaview", { NULL }, 3143, "udp" }, - { "tarantella", { NULL }, 3144, "tcp" }, - { "tarantella", { NULL }, 3144, "udp" }, - { "csi-lfap", { NULL }, 3145, "tcp" }, - { "csi-lfap", { NULL }, 3145, "udp" }, - { "bears-02", { NULL }, 3146, "tcp" }, - { "bears-02", { NULL }, 3146, "udp" }, - { "rfio", { NULL }, 3147, "tcp" }, - { "rfio", { NULL }, 3147, "udp" }, - { "nm-game-admin", { NULL }, 3148, "tcp" }, - { "nm-game-admin", { NULL }, 3148, "udp" }, - { "nm-game-server", { NULL }, 3149, "tcp" }, - { "nm-game-server", { NULL }, 3149, "udp" }, - { "nm-asses-admin", { NULL }, 3150, "tcp" }, - { "nm-asses-admin", { NULL }, 3150, "udp" }, - { "nm-assessor", { NULL }, 3151, "tcp" }, - { "nm-assessor", { NULL }, 3151, "udp" }, - { "feitianrockey", { NULL }, 3152, "tcp" }, - { "feitianrockey", { NULL }, 3152, "udp" }, - { "s8-client-port", { NULL }, 3153, "tcp" }, - { "s8-client-port", { NULL }, 3153, "udp" }, - { "ccmrmi", { NULL }, 3154, "tcp" }, - { "ccmrmi", { NULL }, 3154, "udp" }, - { "jpegmpeg", { NULL }, 3155, "tcp" }, - { "jpegmpeg", { NULL }, 3155, "udp" }, - { "indura", { NULL }, 3156, "tcp" }, - { "indura", { NULL }, 3156, "udp" }, - { "e3consultants", { NULL }, 3157, "tcp" }, - { "e3consultants", { NULL }, 3157, "udp" }, - { "stvp", { NULL }, 3158, "tcp" }, - { "stvp", { NULL }, 3158, "udp" }, - { "navegaweb-port", { NULL }, 3159, "tcp" }, - { "navegaweb-port", { NULL }, 3159, "udp" }, - { "tip-app-server", { NULL }, 3160, "tcp" }, - { "tip-app-server", { NULL }, 3160, "udp" }, - { "doc1lm", { NULL }, 3161, "tcp" }, - { "doc1lm", { NULL }, 3161, "udp" }, - { "sflm", { NULL }, 3162, "tcp" }, - { "sflm", { NULL }, 3162, "udp" }, - { "res-sap", { NULL }, 3163, "tcp" }, - { "res-sap", { NULL }, 3163, "udp" }, - { "imprs", { NULL }, 3164, "tcp" }, - { "imprs", { NULL }, 3164, "udp" }, - { "newgenpay", { NULL }, 3165, "tcp" }, - { "newgenpay", { NULL }, 3165, "udp" }, - { "sossecollector", { NULL }, 3166, "tcp" }, - { "sossecollector", { NULL }, 3166, "udp" }, - { "nowcontact", { NULL }, 3167, "tcp" }, - { "nowcontact", { NULL }, 3167, "udp" }, - { "poweronnud", { NULL }, 3168, "tcp" }, - { "poweronnud", { NULL }, 3168, "udp" }, - { "serverview-as", { NULL }, 3169, "tcp" }, - { "serverview-as", { NULL }, 3169, "udp" }, - { "serverview-asn", { NULL }, 3170, "tcp" }, - { "serverview-asn", { NULL }, 3170, "udp" }, - { "serverview-gf", { NULL }, 3171, "tcp" }, - { "serverview-gf", { NULL }, 3171, "udp" }, - { "serverview-rm", { NULL }, 3172, "tcp" }, - { "serverview-rm", { NULL }, 3172, "udp" }, - { "serverview-icc", { NULL }, 3173, "tcp" }, - { "serverview-icc", { NULL }, 3173, "udp" }, - { "armi-server", { NULL }, 3174, "tcp" }, - { "armi-server", { NULL }, 3174, "udp" }, - { "t1-e1-over-ip", { NULL }, 3175, "tcp" }, - { "t1-e1-over-ip", { NULL }, 3175, "udp" }, - { "ars-master", { NULL }, 3176, "tcp" }, - { "ars-master", { NULL }, 3176, "udp" }, - { "phonex-port", { NULL }, 3177, "tcp" }, - { "phonex-port", { NULL }, 3177, "udp" }, - { "radclientport", { NULL }, 3178, "tcp" }, - { "radclientport", { NULL }, 3178, "udp" }, - { "h2gf-w-2m", { NULL }, 3179, "tcp" }, - { "h2gf-w-2m", { NULL }, 3179, "udp" }, - { "mc-brk-srv", { NULL }, 3180, "tcp" }, - { "mc-brk-srv", { NULL }, 3180, "udp" }, - { "bmcpatrolagent", { NULL }, 3181, "tcp" }, - { "bmcpatrolagent", { NULL }, 3181, "udp" }, - { "bmcpatrolrnvu", { NULL }, 3182, "tcp" }, - { "bmcpatrolrnvu", { NULL }, 3182, "udp" }, - { "cops-tls", { NULL }, 3183, "tcp" }, - { "cops-tls", { NULL }, 3183, "udp" }, - { "apogeex-port", { NULL }, 3184, "tcp" }, - { "apogeex-port", { NULL }, 3184, "udp" }, - { "smpppd", { NULL }, 3185, "tcp" }, - { "smpppd", { NULL }, 3185, "udp" }, - { "iiw-port", { NULL }, 3186, "tcp" }, - { "iiw-port", { NULL }, 3186, "udp" }, - { "odi-port", { NULL }, 3187, "tcp" }, - { "odi-port", { NULL }, 3187, "udp" }, - { "brcm-comm-port", { NULL }, 3188, "tcp" }, - { "brcm-comm-port", { NULL }, 3188, "udp" }, - { "pcle-infex", { NULL }, 3189, "tcp" }, - { "pcle-infex", { NULL }, 3189, "udp" }, - { "csvr-proxy", { NULL }, 3190, "tcp" }, - { "csvr-proxy", { NULL }, 3190, "udp" }, - { "csvr-sslproxy", { NULL }, 3191, "tcp" }, - { "csvr-sslproxy", { NULL }, 3191, "udp" }, - { "firemonrcc", { NULL }, 3192, "tcp" }, - { "firemonrcc", { NULL }, 3192, "udp" }, - { "spandataport", { NULL }, 3193, "tcp" }, - { "spandataport", { NULL }, 3193, "udp" }, - { "magbind", { NULL }, 3194, "tcp" }, - { "magbind", { NULL }, 3194, "udp" }, - { "ncu-1", { NULL }, 3195, "tcp" }, - { "ncu-1", { NULL }, 3195, "udp" }, - { "ncu-2", { NULL }, 3196, "tcp" }, - { "ncu-2", { NULL }, 3196, "udp" }, - { "embrace-dp-s", { NULL }, 3197, "tcp" }, - { "embrace-dp-s", { NULL }, 3197, "udp" }, - { "embrace-dp-c", { NULL }, 3198, "tcp" }, - { "embrace-dp-c", { NULL }, 3198, "udp" }, - { "dmod-workspace", { NULL }, 3199, "tcp" }, - { "dmod-workspace", { NULL }, 3199, "udp" }, - { "tick-port", { NULL }, 3200, "tcp" }, - { "tick-port", { NULL }, 3200, "udp" }, - { "cpq-tasksmart", { NULL }, 3201, "tcp" }, - { "cpq-tasksmart", { NULL }, 3201, "udp" }, - { "intraintra", { NULL }, 3202, "tcp" }, - { "intraintra", { NULL }, 3202, "udp" }, - { "netwatcher-mon", { NULL }, 3203, "tcp" }, - { "netwatcher-mon", { NULL }, 3203, "udp" }, - { "netwatcher-db", { NULL }, 3204, "tcp" }, - { "netwatcher-db", { NULL }, 3204, "udp" }, - { "isns", { NULL }, 3205, "tcp" }, - { "isns", { NULL }, 3205, "udp" }, - { "ironmail", { NULL }, 3206, "tcp" }, - { "ironmail", { NULL }, 3206, "udp" }, - { "vx-auth-port", { NULL }, 3207, "tcp" }, - { "vx-auth-port", { NULL }, 3207, "udp" }, - { "pfu-prcallback", { NULL }, 3208, "tcp" }, - { "pfu-prcallback", { NULL }, 3208, "udp" }, - { "netwkpathengine", { NULL }, 3209, "tcp" }, - { "netwkpathengine", { NULL }, 3209, "udp" }, - { "flamenco-proxy", { NULL }, 3210, "tcp" }, - { "flamenco-proxy", { NULL }, 3210, "udp" }, - { "avsecuremgmt", { NULL }, 3211, "tcp" }, - { "avsecuremgmt", { NULL }, 3211, "udp" }, - { "surveyinst", { NULL }, 3212, "tcp" }, - { "surveyinst", { NULL }, 3212, "udp" }, - { "neon24x7", { NULL }, 3213, "tcp" }, - { "neon24x7", { NULL }, 3213, "udp" }, - { "jmq-daemon-1", { NULL }, 3214, "tcp" }, - { "jmq-daemon-1", { NULL }, 3214, "udp" }, - { "jmq-daemon-2", { NULL }, 3215, "tcp" }, - { "jmq-daemon-2", { NULL }, 3215, "udp" }, - { "ferrari-foam", { NULL }, 3216, "tcp" }, - { "ferrari-foam", { NULL }, 3216, "udp" }, - { "unite", { NULL }, 3217, "tcp" }, - { "unite", { NULL }, 3217, "udp" }, - { "smartpackets", { NULL }, 3218, "tcp" }, - { "smartpackets", { NULL }, 3218, "udp" }, - { "wms-messenger", { NULL }, 3219, "tcp" }, - { "wms-messenger", { NULL }, 3219, "udp" }, - { "xnm-ssl", { NULL }, 3220, "tcp" }, - { "xnm-ssl", { NULL }, 3220, "udp" }, - { "xnm-clear-text", { NULL }, 3221, "tcp" }, - { "xnm-clear-text", { NULL }, 3221, "udp" }, - { "glbp", { NULL }, 3222, "tcp" }, - { "glbp", { NULL }, 3222, "udp" }, - { "digivote", { NULL }, 3223, "tcp" }, - { "digivote", { NULL }, 3223, "udp" }, - { "aes-discovery", { NULL }, 3224, "tcp" }, - { "aes-discovery", { NULL }, 3224, "udp" }, - { "fcip-port", { NULL }, 3225, "tcp" }, - { "fcip-port", { NULL }, 3225, "udp" }, - { "isi-irp", { NULL }, 3226, "tcp" }, - { "isi-irp", { NULL }, 3226, "udp" }, - { "dwnmshttp", { NULL }, 3227, "tcp" }, - { "dwnmshttp", { NULL }, 3227, "udp" }, - { "dwmsgserver", { NULL }, 3228, "tcp" }, - { "dwmsgserver", { NULL }, 3228, "udp" }, - { "global-cd-port", { NULL }, 3229, "tcp" }, - { "global-cd-port", { NULL }, 3229, "udp" }, - { "sftdst-port", { NULL }, 3230, "tcp" }, - { "sftdst-port", { NULL }, 3230, "udp" }, - { "vidigo", { NULL }, 3231, "tcp" }, - { "vidigo", { NULL }, 3231, "udp" }, - { "mdtp", { NULL }, 3232, "tcp" }, - { "mdtp", { NULL }, 3232, "udp" }, - { "whisker", { NULL }, 3233, "tcp" }, - { "whisker", { NULL }, 3233, "udp" }, - { "alchemy", { NULL }, 3234, "tcp" }, - { "alchemy", { NULL }, 3234, "udp" }, - { "mdap-port", { NULL }, 3235, "tcp" }, - { "mdap-port", { NULL }, 3235, "udp" }, - { "apparenet-ts", { NULL }, 3236, "tcp" }, - { "apparenet-ts", { NULL }, 3236, "udp" }, - { "apparenet-tps", { NULL }, 3237, "tcp" }, - { "apparenet-tps", { NULL }, 3237, "udp" }, - { "apparenet-as", { NULL }, 3238, "tcp" }, - { "apparenet-as", { NULL }, 3238, "udp" }, - { "apparenet-ui", { NULL }, 3239, "tcp" }, - { "apparenet-ui", { NULL }, 3239, "udp" }, - { "triomotion", { NULL }, 3240, "tcp" }, - { "triomotion", { NULL }, 3240, "udp" }, - { "sysorb", { NULL }, 3241, "tcp" }, - { "sysorb", { NULL }, 3241, "udp" }, - { "sdp-id-port", { NULL }, 3242, "tcp" }, - { "sdp-id-port", { NULL }, 3242, "udp" }, - { "timelot", { NULL }, 3243, "tcp" }, - { "timelot", { NULL }, 3243, "udp" }, - { "onesaf", { NULL }, 3244, "tcp" }, - { "onesaf", { NULL }, 3244, "udp" }, - { "vieo-fe", { NULL }, 3245, "tcp" }, - { "vieo-fe", { NULL }, 3245, "udp" }, - { "dvt-system", { NULL }, 3246, "tcp" }, - { "dvt-system", { NULL }, 3246, "udp" }, - { "dvt-data", { NULL }, 3247, "tcp" }, - { "dvt-data", { NULL }, 3247, "udp" }, - { "procos-lm", { NULL }, 3248, "tcp" }, - { "procos-lm", { NULL }, 3248, "udp" }, - { "ssp", { NULL }, 3249, "tcp" }, - { "ssp", { NULL }, 3249, "udp" }, - { "hicp", { NULL }, 3250, "tcp" }, - { "hicp", { NULL }, 3250, "udp" }, - { "sysscanner", { NULL }, 3251, "tcp" }, - { "sysscanner", { NULL }, 3251, "udp" }, - { "dhe", { NULL }, 3252, "tcp" }, - { "dhe", { NULL }, 3252, "udp" }, - { "pda-data", { NULL }, 3253, "tcp" }, - { "pda-data", { NULL }, 3253, "udp" }, - { "pda-sys", { NULL }, 3254, "tcp" }, - { "pda-sys", { NULL }, 3254, "udp" }, - { "semaphore", { NULL }, 3255, "tcp" }, - { "semaphore", { NULL }, 3255, "udp" }, - { "cpqrpm-agent", { NULL }, 3256, "tcp" }, - { "cpqrpm-agent", { NULL }, 3256, "udp" }, - { "cpqrpm-server", { NULL }, 3257, "tcp" }, - { "cpqrpm-server", { NULL }, 3257, "udp" }, - { "ivecon-port", { NULL }, 3258, "tcp" }, - { "ivecon-port", { NULL }, 3258, "udp" }, - { "epncdp2", { NULL }, 3259, "tcp" }, - { "epncdp2", { NULL }, 3259, "udp" }, - { "iscsi-target", { NULL }, 3260, "tcp" }, - { "iscsi-target", { NULL }, 3260, "udp" }, - { "winshadow", { NULL }, 3261, "tcp" }, - { "winshadow", { NULL }, 3261, "udp" }, - { "necp", { NULL }, 3262, "tcp" }, - { "necp", { NULL }, 3262, "udp" }, - { "ecolor-imager", { NULL }, 3263, "tcp" }, - { "ecolor-imager", { NULL }, 3263, "udp" }, - { "ccmail", { NULL }, 3264, "tcp" }, - { "ccmail", { NULL }, 3264, "udp" }, - { "altav-tunnel", { NULL }, 3265, "tcp" }, - { "altav-tunnel", { NULL }, 3265, "udp" }, - { "ns-cfg-server", { NULL }, 3266, "tcp" }, - { "ns-cfg-server", { NULL }, 3266, "udp" }, - { "ibm-dial-out", { NULL }, 3267, "tcp" }, - { "ibm-dial-out", { NULL }, 3267, "udp" }, - { "msft-gc", { NULL }, 3268, "tcp" }, - { "msft-gc", { NULL }, 3268, "udp" }, - { "msft-gc-ssl", { NULL }, 3269, "tcp" }, - { "msft-gc-ssl", { NULL }, 3269, "udp" }, - { "verismart", { NULL }, 3270, "tcp" }, - { "verismart", { NULL }, 3270, "udp" }, - { "csoft-prev", { NULL }, 3271, "tcp" }, - { "csoft-prev", { NULL }, 3271, "udp" }, - { "user-manager", { NULL }, 3272, "tcp" }, - { "user-manager", { NULL }, 3272, "udp" }, - { "sxmp", { NULL }, 3273, "tcp" }, - { "sxmp", { NULL }, 3273, "udp" }, - { "ordinox-server", { NULL }, 3274, "tcp" }, - { "ordinox-server", { NULL }, 3274, "udp" }, - { "samd", { NULL }, 3275, "tcp" }, - { "samd", { NULL }, 3275, "udp" }, - { "maxim-asics", { NULL }, 3276, "tcp" }, - { "maxim-asics", { NULL }, 3276, "udp" }, - { "awg-proxy", { NULL }, 3277, "tcp" }, - { "awg-proxy", { NULL }, 3277, "udp" }, - { "lkcmserver", { NULL }, 3278, "tcp" }, - { "lkcmserver", { NULL }, 3278, "udp" }, - { "admind", { NULL }, 3279, "tcp" }, - { "admind", { NULL }, 3279, "udp" }, - { "vs-server", { NULL }, 3280, "tcp" }, - { "vs-server", { NULL }, 3280, "udp" }, - { "sysopt", { NULL }, 3281, "tcp" }, - { "sysopt", { NULL }, 3281, "udp" }, - { "datusorb", { NULL }, 3282, "tcp" }, - { "datusorb", { NULL }, 3282, "udp" }, - { "net-assistant", { NULL }, 3283, "tcp" }, - { "net-assistant", { NULL }, 3283, "udp" }, - { "4talk", { NULL }, 3284, "tcp" }, - { "4talk", { NULL }, 3284, "udp" }, - { "plato", { NULL }, 3285, "tcp" }, - { "plato", { NULL }, 3285, "udp" }, - { "e-net", { NULL }, 3286, "tcp" }, - { "e-net", { NULL }, 3286, "udp" }, - { "directvdata", { NULL }, 3287, "tcp" }, - { "directvdata", { NULL }, 3287, "udp" }, - { "cops", { NULL }, 3288, "tcp" }, - { "cops", { NULL }, 3288, "udp" }, - { "enpc", { NULL }, 3289, "tcp" }, - { "enpc", { NULL }, 3289, "udp" }, - { "caps-lm", { NULL }, 3290, "tcp" }, - { "caps-lm", { NULL }, 3290, "udp" }, - { "sah-lm", { NULL }, 3291, "tcp" }, - { "sah-lm", { NULL }, 3291, "udp" }, - { "cart-o-rama", { NULL }, 3292, "tcp" }, - { "cart-o-rama", { NULL }, 3292, "udp" }, - { "fg-fps", { NULL }, 3293, "tcp" }, - { "fg-fps", { NULL }, 3293, "udp" }, - { "fg-gip", { NULL }, 3294, "tcp" }, - { "fg-gip", { NULL }, 3294, "udp" }, - { "dyniplookup", { NULL }, 3295, "tcp" }, - { "dyniplookup", { NULL }, 3295, "udp" }, - { "rib-slm", { NULL }, 3296, "tcp" }, - { "rib-slm", { NULL }, 3296, "udp" }, - { "cytel-lm", { NULL }, 3297, "tcp" }, - { "cytel-lm", { NULL }, 3297, "udp" }, - { "deskview", { NULL }, 3298, "tcp" }, - { "deskview", { NULL }, 3298, "udp" }, - { "pdrncs", { NULL }, 3299, "tcp" }, - { "pdrncs", { NULL }, 3299, "udp" }, - { "mcs-fastmail", { NULL }, 3302, "tcp" }, - { "mcs-fastmail", { NULL }, 3302, "udp" }, - { "opsession-clnt", { NULL }, 3303, "tcp" }, - { "opsession-clnt", { NULL }, 3303, "udp" }, - { "opsession-srvr", { NULL }, 3304, "tcp" }, - { "opsession-srvr", { NULL }, 3304, "udp" }, - { "odette-ftp", { NULL }, 3305, "tcp" }, - { "odette-ftp", { NULL }, 3305, "udp" }, - { "mysql", { NULL }, 3306, "tcp" }, - { "mysql", { NULL }, 3306, "udp" }, - { "opsession-prxy", { NULL }, 3307, "tcp" }, - { "opsession-prxy", { NULL }, 3307, "udp" }, - { "tns-server", { NULL }, 3308, "tcp" }, - { "tns-server", { NULL }, 3308, "udp" }, - { "tns-adv", { NULL }, 3309, "tcp" }, - { "tns-adv", { NULL }, 3309, "udp" }, - { "dyna-access", { NULL }, 3310, "tcp" }, - { "dyna-access", { NULL }, 3310, "udp" }, - { "mcns-tel-ret", { NULL }, 3311, "tcp" }, - { "mcns-tel-ret", { NULL }, 3311, "udp" }, - { "appman-server", { NULL }, 3312, "tcp" }, - { "appman-server", { NULL }, 3312, "udp" }, - { "uorb", { NULL }, 3313, "tcp" }, - { "uorb", { NULL }, 3313, "udp" }, - { "uohost", { NULL }, 3314, "tcp" }, - { "uohost", { NULL }, 3314, "udp" }, - { "cdid", { NULL }, 3315, "tcp" }, - { "cdid", { NULL }, 3315, "udp" }, - { "aicc-cmi", { NULL }, 3316, "tcp" }, - { "aicc-cmi", { NULL }, 3316, "udp" }, - { "vsaiport", { NULL }, 3317, "tcp" }, - { "vsaiport", { NULL }, 3317, "udp" }, - { "ssrip", { NULL }, 3318, "tcp" }, - { "ssrip", { NULL }, 3318, "udp" }, - { "sdt-lmd", { NULL }, 3319, "tcp" }, - { "sdt-lmd", { NULL }, 3319, "udp" }, - { "officelink2000", { NULL }, 3320, "tcp" }, - { "officelink2000", { NULL }, 3320, "udp" }, - { "vnsstr", { NULL }, 3321, "tcp" }, - { "vnsstr", { NULL }, 3321, "udp" }, - { "sftu", { NULL }, 3326, "tcp" }, - { "sftu", { NULL }, 3326, "udp" }, - { "bbars", { NULL }, 3327, "tcp" }, - { "bbars", { NULL }, 3327, "udp" }, - { "egptlm", { NULL }, 3328, "tcp" }, - { "egptlm", { NULL }, 3328, "udp" }, - { "hp-device-disc", { NULL }, 3329, "tcp" }, - { "hp-device-disc", { NULL }, 3329, "udp" }, - { "mcs-calypsoicf", { NULL }, 3330, "tcp" }, - { "mcs-calypsoicf", { NULL }, 3330, "udp" }, - { "mcs-messaging", { NULL }, 3331, "tcp" }, - { "mcs-messaging", { NULL }, 3331, "udp" }, - { "mcs-mailsvr", { NULL }, 3332, "tcp" }, - { "mcs-mailsvr", { NULL }, 3332, "udp" }, - { "dec-notes", { NULL }, 3333, "tcp" }, - { "dec-notes", { NULL }, 3333, "udp" }, - { "directv-web", { NULL }, 3334, "tcp" }, - { "directv-web", { NULL }, 3334, "udp" }, - { "directv-soft", { NULL }, 3335, "tcp" }, - { "directv-soft", { NULL }, 3335, "udp" }, - { "directv-tick", { NULL }, 3336, "tcp" }, - { "directv-tick", { NULL }, 3336, "udp" }, - { "directv-catlg", { NULL }, 3337, "tcp" }, - { "directv-catlg", { NULL }, 3337, "udp" }, - { "anet-b", { NULL }, 3338, "tcp" }, - { "anet-b", { NULL }, 3338, "udp" }, - { "anet-l", { NULL }, 3339, "tcp" }, - { "anet-l", { NULL }, 3339, "udp" }, - { "anet-m", { NULL }, 3340, "tcp" }, - { "anet-m", { NULL }, 3340, "udp" }, - { "anet-h", { NULL }, 3341, "tcp" }, - { "anet-h", { NULL }, 3341, "udp" }, - { "webtie", { NULL }, 3342, "tcp" }, - { "webtie", { NULL }, 3342, "udp" }, - { "ms-cluster-net", { NULL }, 3343, "tcp" }, - { "ms-cluster-net", { NULL }, 3343, "udp" }, - { "bnt-manager", { NULL }, 3344, "tcp" }, - { "bnt-manager", { NULL }, 3344, "udp" }, - { "influence", { NULL }, 3345, "tcp" }, - { "influence", { NULL }, 3345, "udp" }, - { "trnsprntproxy", { NULL }, 3346, "tcp" }, - { "trnsprntproxy", { NULL }, 3346, "udp" }, - { "phoenix-rpc", { NULL }, 3347, "tcp" }, - { "phoenix-rpc", { NULL }, 3347, "udp" }, - { "pangolin-laser", { NULL }, 3348, "tcp" }, - { "pangolin-laser", { NULL }, 3348, "udp" }, - { "chevinservices", { NULL }, 3349, "tcp" }, - { "chevinservices", { NULL }, 3349, "udp" }, - { "findviatv", { NULL }, 3350, "tcp" }, - { "findviatv", { NULL }, 3350, "udp" }, - { "btrieve", { NULL }, 3351, "tcp" }, - { "btrieve", { NULL }, 3351, "udp" }, - { "ssql", { NULL }, 3352, "tcp" }, - { "ssql", { NULL }, 3352, "udp" }, - { "fatpipe", { NULL }, 3353, "tcp" }, - { "fatpipe", { NULL }, 3353, "udp" }, - { "suitjd", { NULL }, 3354, "tcp" }, - { "suitjd", { NULL }, 3354, "udp" }, - { "ordinox-dbase", { NULL }, 3355, "tcp" }, - { "ordinox-dbase", { NULL }, 3355, "udp" }, - { "upnotifyps", { NULL }, 3356, "tcp" }, - { "upnotifyps", { NULL }, 3356, "udp" }, - { "adtech-test", { NULL }, 3357, "tcp" }, - { "adtech-test", { NULL }, 3357, "udp" }, - { "mpsysrmsvr", { NULL }, 3358, "tcp" }, - { "mpsysrmsvr", { NULL }, 3358, "udp" }, - { "wg-netforce", { NULL }, 3359, "tcp" }, - { "wg-netforce", { NULL }, 3359, "udp" }, - { "kv-server", { NULL }, 3360, "tcp" }, - { "kv-server", { NULL }, 3360, "udp" }, - { "kv-agent", { NULL }, 3361, "tcp" }, - { "kv-agent", { NULL }, 3361, "udp" }, - { "dj-ilm", { NULL }, 3362, "tcp" }, - { "dj-ilm", { NULL }, 3362, "udp" }, - { "nati-vi-server", { NULL }, 3363, "tcp" }, - { "nati-vi-server", { NULL }, 3363, "udp" }, - { "creativeserver", { NULL }, 3364, "tcp" }, - { "creativeserver", { NULL }, 3364, "udp" }, - { "contentserver", { NULL }, 3365, "tcp" }, - { "contentserver", { NULL }, 3365, "udp" }, - { "creativepartnr", { NULL }, 3366, "tcp" }, - { "creativepartnr", { NULL }, 3366, "udp" }, - { "tip2", { NULL }, 3372, "tcp" }, - { "tip2", { NULL }, 3372, "udp" }, - { "lavenir-lm", { NULL }, 3373, "tcp" }, - { "lavenir-lm", { NULL }, 3373, "udp" }, - { "cluster-disc", { NULL }, 3374, "tcp" }, - { "cluster-disc", { NULL }, 3374, "udp" }, - { "vsnm-agent", { NULL }, 3375, "tcp" }, - { "vsnm-agent", { NULL }, 3375, "udp" }, - { "cdbroker", { NULL }, 3376, "tcp" }, - { "cdbroker", { NULL }, 3376, "udp" }, - { "cogsys-lm", { NULL }, 3377, "tcp" }, - { "cogsys-lm", { NULL }, 3377, "udp" }, - { "wsicopy", { NULL }, 3378, "tcp" }, - { "wsicopy", { NULL }, 3378, "udp" }, - { "socorfs", { NULL }, 3379, "tcp" }, - { "socorfs", { NULL }, 3379, "udp" }, - { "sns-channels", { NULL }, 3380, "tcp" }, - { "sns-channels", { NULL }, 3380, "udp" }, - { "geneous", { NULL }, 3381, "tcp" }, - { "geneous", { NULL }, 3381, "udp" }, - { "fujitsu-neat", { NULL }, 3382, "tcp" }, - { "fujitsu-neat", { NULL }, 3382, "udp" }, - { "esp-lm", { NULL }, 3383, "tcp" }, - { "esp-lm", { NULL }, 3383, "udp" }, - { "hp-clic", { NULL }, 3384, "tcp" }, - { "hp-clic", { NULL }, 3384, "udp" }, - { "qnxnetman", { NULL }, 3385, "tcp" }, - { "qnxnetman", { NULL }, 3385, "udp" }, - { "gprs-data", { NULL }, 3386, "tcp" }, - { "gprs-sig", { NULL }, 3386, "udp" }, - { "backroomnet", { NULL }, 3387, "tcp" }, - { "backroomnet", { NULL }, 3387, "udp" }, - { "cbserver", { NULL }, 3388, "tcp" }, - { "cbserver", { NULL }, 3388, "udp" }, - { "ms-wbt-server", { NULL }, 3389, "tcp" }, - { "ms-wbt-server", { NULL }, 3389, "udp" }, - { "dsc", { NULL }, 3390, "tcp" }, - { "dsc", { NULL }, 3390, "udp" }, - { "savant", { NULL }, 3391, "tcp" }, - { "savant", { NULL }, 3391, "udp" }, - { "efi-lm", { NULL }, 3392, "tcp" }, - { "efi-lm", { NULL }, 3392, "udp" }, - { "d2k-tapestry1", { NULL }, 3393, "tcp" }, - { "d2k-tapestry1", { NULL }, 3393, "udp" }, - { "d2k-tapestry2", { NULL }, 3394, "tcp" }, - { "d2k-tapestry2", { NULL }, 3394, "udp" }, - { "dyna-lm", { NULL }, 3395, "tcp" }, - { "dyna-lm", { NULL }, 3395, "udp" }, - { "printer_agent", { NULL }, 3396, "tcp" }, - { "printer_agent", { NULL }, 3396, "udp" }, - { "cloanto-lm", { NULL }, 3397, "tcp" }, - { "cloanto-lm", { NULL }, 3397, "udp" }, - { "mercantile", { NULL }, 3398, "tcp" }, - { "mercantile", { NULL }, 3398, "udp" }, - { "csms", { NULL }, 3399, "tcp" }, - { "csms", { NULL }, 3399, "udp" }, - { "csms2", { NULL }, 3400, "tcp" }, - { "csms2", { NULL }, 3400, "udp" }, - { "filecast", { NULL }, 3401, "tcp" }, - { "filecast", { NULL }, 3401, "udp" }, - { "fxaengine-net", { NULL }, 3402, "tcp" }, - { "fxaengine-net", { NULL }, 3402, "udp" }, - { "nokia-ann-ch1", { NULL }, 3405, "tcp" }, - { "nokia-ann-ch1", { NULL }, 3405, "udp" }, - { "nokia-ann-ch2", { NULL }, 3406, "tcp" }, - { "nokia-ann-ch2", { NULL }, 3406, "udp" }, - { "ldap-admin", { NULL }, 3407, "tcp" }, - { "ldap-admin", { NULL }, 3407, "udp" }, - { "BESApi", { NULL }, 3408, "tcp" }, - { "BESApi", { NULL }, 3408, "udp" }, - { "networklens", { NULL }, 3409, "tcp" }, - { "networklens", { NULL }, 3409, "udp" }, - { "networklenss", { NULL }, 3410, "tcp" }, - { "networklenss", { NULL }, 3410, "udp" }, - { "biolink-auth", { NULL }, 3411, "tcp" }, - { "biolink-auth", { NULL }, 3411, "udp" }, - { "xmlblaster", { NULL }, 3412, "tcp" }, - { "xmlblaster", { NULL }, 3412, "udp" }, - { "svnet", { NULL }, 3413, "tcp" }, - { "svnet", { NULL }, 3413, "udp" }, - { "wip-port", { NULL }, 3414, "tcp" }, - { "wip-port", { NULL }, 3414, "udp" }, - { "bcinameservice", { NULL }, 3415, "tcp" }, - { "bcinameservice", { NULL }, 3415, "udp" }, - { "commandport", { NULL }, 3416, "tcp" }, - { "commandport", { NULL }, 3416, "udp" }, - { "csvr", { NULL }, 3417, "tcp" }, - { "csvr", { NULL }, 3417, "udp" }, - { "rnmap", { NULL }, 3418, "tcp" }, - { "rnmap", { NULL }, 3418, "udp" }, - { "softaudit", { NULL }, 3419, "tcp" }, - { "softaudit", { NULL }, 3419, "udp" }, - { "ifcp-port", { NULL }, 3420, "tcp" }, - { "ifcp-port", { NULL }, 3420, "udp" }, - { "bmap", { NULL }, 3421, "tcp" }, - { "bmap", { NULL }, 3421, "udp" }, - { "rusb-sys-port", { NULL }, 3422, "tcp" }, - { "rusb-sys-port", { NULL }, 3422, "udp" }, - { "xtrm", { NULL }, 3423, "tcp" }, - { "xtrm", { NULL }, 3423, "udp" }, - { "xtrms", { NULL }, 3424, "tcp" }, - { "xtrms", { NULL }, 3424, "udp" }, - { "agps-port", { NULL }, 3425, "tcp" }, - { "agps-port", { NULL }, 3425, "udp" }, - { "arkivio", { NULL }, 3426, "tcp" }, - { "arkivio", { NULL }, 3426, "udp" }, - { "websphere-snmp", { NULL }, 3427, "tcp" }, - { "websphere-snmp", { NULL }, 3427, "udp" }, - { "twcss", { NULL }, 3428, "tcp" }, - { "twcss", { NULL }, 3428, "udp" }, - { "gcsp", { NULL }, 3429, "tcp" }, - { "gcsp", { NULL }, 3429, "udp" }, - { "ssdispatch", { NULL }, 3430, "tcp" }, - { "ssdispatch", { NULL }, 3430, "udp" }, - { "ndl-als", { NULL }, 3431, "tcp" }, - { "ndl-als", { NULL }, 3431, "udp" }, - { "osdcp", { NULL }, 3432, "tcp" }, - { "osdcp", { NULL }, 3432, "udp" }, - { "alta-smp", { NULL }, 3433, "tcp" }, - { "alta-smp", { NULL }, 3433, "udp" }, - { "opencm", { NULL }, 3434, "tcp" }, - { "opencm", { NULL }, 3434, "udp" }, - { "pacom", { NULL }, 3435, "tcp" }, - { "pacom", { NULL }, 3435, "udp" }, - { "gc-config", { NULL }, 3436, "tcp" }, - { "gc-config", { NULL }, 3436, "udp" }, - { "autocueds", { NULL }, 3437, "tcp" }, - { "autocueds", { NULL }, 3437, "udp" }, - { "spiral-admin", { NULL }, 3438, "tcp" }, - { "spiral-admin", { NULL }, 3438, "udp" }, - { "hri-port", { NULL }, 3439, "tcp" }, - { "hri-port", { NULL }, 3439, "udp" }, - { "ans-console", { NULL }, 3440, "tcp" }, - { "ans-console", { NULL }, 3440, "udp" }, - { "connect-client", { NULL }, 3441, "tcp" }, - { "connect-client", { NULL }, 3441, "udp" }, - { "connect-server", { NULL }, 3442, "tcp" }, - { "connect-server", { NULL }, 3442, "udp" }, - { "ov-nnm-websrv", { NULL }, 3443, "tcp" }, - { "ov-nnm-websrv", { NULL }, 3443, "udp" }, - { "denali-server", { NULL }, 3444, "tcp" }, - { "denali-server", { NULL }, 3444, "udp" }, - { "monp", { NULL }, 3445, "tcp" }, - { "monp", { NULL }, 3445, "udp" }, - { "3comfaxrpc", { NULL }, 3446, "tcp" }, - { "3comfaxrpc", { NULL }, 3446, "udp" }, - { "directnet", { NULL }, 3447, "tcp" }, - { "directnet", { NULL }, 3447, "udp" }, - { "dnc-port", { NULL }, 3448, "tcp" }, - { "dnc-port", { NULL }, 3448, "udp" }, - { "hotu-chat", { NULL }, 3449, "tcp" }, - { "hotu-chat", { NULL }, 3449, "udp" }, - { "castorproxy", { NULL }, 3450, "tcp" }, - { "castorproxy", { NULL }, 3450, "udp" }, - { "asam", { NULL }, 3451, "tcp" }, - { "asam", { NULL }, 3451, "udp" }, - { "sabp-signal", { NULL }, 3452, "tcp" }, - { "sabp-signal", { NULL }, 3452, "udp" }, - { "pscupd", { NULL }, 3453, "tcp" }, - { "pscupd", { NULL }, 3453, "udp" }, - { "mira", { NULL }, 3454, "tcp" }, - { "prsvp", { NULL }, 3455, "tcp" }, - { "prsvp", { NULL }, 3455, "udp" }, - { "vat", { NULL }, 3456, "tcp" }, - { "vat", { NULL }, 3456, "udp" }, - { "vat-control", { NULL }, 3457, "tcp" }, - { "vat-control", { NULL }, 3457, "udp" }, - { "d3winosfi", { NULL }, 3458, "tcp" }, - { "d3winosfi", { NULL }, 3458, "udp" }, - { "integral", { NULL }, 3459, "tcp" }, - { "integral", { NULL }, 3459, "udp" }, - { "edm-manager", { NULL }, 3460, "tcp" }, - { "edm-manager", { NULL }, 3460, "udp" }, - { "edm-stager", { NULL }, 3461, "tcp" }, - { "edm-stager", { NULL }, 3461, "udp" }, - { "edm-std-notify", { NULL }, 3462, "tcp" }, - { "edm-std-notify", { NULL }, 3462, "udp" }, - { "edm-adm-notify", { NULL }, 3463, "tcp" }, - { "edm-adm-notify", { NULL }, 3463, "udp" }, - { "edm-mgr-sync", { NULL }, 3464, "tcp" }, - { "edm-mgr-sync", { NULL }, 3464, "udp" }, - { "edm-mgr-cntrl", { NULL }, 3465, "tcp" }, - { "edm-mgr-cntrl", { NULL }, 3465, "udp" }, - { "workflow", { NULL }, 3466, "tcp" }, - { "workflow", { NULL }, 3466, "udp" }, - { "rcst", { NULL }, 3467, "tcp" }, - { "rcst", { NULL }, 3467, "udp" }, - { "ttcmremotectrl", { NULL }, 3468, "tcp" }, - { "ttcmremotectrl", { NULL }, 3468, "udp" }, - { "pluribus", { NULL }, 3469, "tcp" }, - { "pluribus", { NULL }, 3469, "udp" }, - { "jt400", { NULL }, 3470, "tcp" }, - { "jt400", { NULL }, 3470, "udp" }, - { "jt400-ssl", { NULL }, 3471, "tcp" }, - { "jt400-ssl", { NULL }, 3471, "udp" }, - { "jaugsremotec-1", { NULL }, 3472, "tcp" }, - { "jaugsremotec-1", { NULL }, 3472, "udp" }, - { "jaugsremotec-2", { NULL }, 3473, "tcp" }, - { "jaugsremotec-2", { NULL }, 3473, "udp" }, - { "ttntspauto", { NULL }, 3474, "tcp" }, - { "ttntspauto", { NULL }, 3474, "udp" }, - { "genisar-port", { NULL }, 3475, "tcp" }, - { "genisar-port", { NULL }, 3475, "udp" }, - { "nppmp", { NULL }, 3476, "tcp" }, - { "nppmp", { NULL }, 3476, "udp" }, - { "ecomm", { NULL }, 3477, "tcp" }, - { "ecomm", { NULL }, 3477, "udp" }, - { "stun", { NULL }, 3478, "tcp" }, - { "stun", { NULL }, 3478, "udp" }, - { "turn", { NULL }, 3478, "tcp" }, - { "turn", { NULL }, 3478, "udp" }, - { "stun-behavior", { NULL }, 3478, "tcp" }, - { "stun-behavior", { NULL }, 3478, "udp" }, - { "twrpc", { NULL }, 3479, "tcp" }, - { "twrpc", { NULL }, 3479, "udp" }, - { "plethora", { NULL }, 3480, "tcp" }, - { "plethora", { NULL }, 3480, "udp" }, - { "cleanerliverc", { NULL }, 3481, "tcp" }, - { "cleanerliverc", { NULL }, 3481, "udp" }, - { "vulture", { NULL }, 3482, "tcp" }, - { "vulture", { NULL }, 3482, "udp" }, - { "slim-devices", { NULL }, 3483, "tcp" }, - { "slim-devices", { NULL }, 3483, "udp" }, - { "gbs-stp", { NULL }, 3484, "tcp" }, - { "gbs-stp", { NULL }, 3484, "udp" }, - { "celatalk", { NULL }, 3485, "tcp" }, - { "celatalk", { NULL }, 3485, "udp" }, - { "ifsf-hb-port", { NULL }, 3486, "tcp" }, - { "ifsf-hb-port", { NULL }, 3486, "udp" }, - { "ltctcp", { NULL }, 3487, "tcp" }, - { "ltcudp", { NULL }, 3487, "udp" }, - { "fs-rh-srv", { NULL }, 3488, "tcp" }, - { "fs-rh-srv", { NULL }, 3488, "udp" }, - { "dtp-dia", { NULL }, 3489, "tcp" }, - { "dtp-dia", { NULL }, 3489, "udp" }, - { "colubris", { NULL }, 3490, "tcp" }, - { "colubris", { NULL }, 3490, "udp" }, - { "swr-port", { NULL }, 3491, "tcp" }, - { "swr-port", { NULL }, 3491, "udp" }, - { "tvdumtray-port", { NULL }, 3492, "tcp" }, - { "tvdumtray-port", { NULL }, 3492, "udp" }, - { "nut", { NULL }, 3493, "tcp" }, - { "nut", { NULL }, 3493, "udp" }, - { "ibm3494", { NULL }, 3494, "tcp" }, - { "ibm3494", { NULL }, 3494, "udp" }, - { "seclayer-tcp", { NULL }, 3495, "tcp" }, - { "seclayer-tcp", { NULL }, 3495, "udp" }, - { "seclayer-tls", { NULL }, 3496, "tcp" }, - { "seclayer-tls", { NULL }, 3496, "udp" }, - { "ipether232port", { NULL }, 3497, "tcp" }, - { "ipether232port", { NULL }, 3497, "udp" }, - { "dashpas-port", { NULL }, 3498, "tcp" }, - { "dashpas-port", { NULL }, 3498, "udp" }, - { "sccip-media", { NULL }, 3499, "tcp" }, - { "sccip-media", { NULL }, 3499, "udp" }, - { "rtmp-port", { NULL }, 3500, "tcp" }, - { "rtmp-port", { NULL }, 3500, "udp" }, - { "isoft-p2p", { NULL }, 3501, "tcp" }, - { "isoft-p2p", { NULL }, 3501, "udp" }, - { "avinstalldisc", { NULL }, 3502, "tcp" }, - { "avinstalldisc", { NULL }, 3502, "udp" }, - { "lsp-ping", { NULL }, 3503, "tcp" }, - { "lsp-ping", { NULL }, 3503, "udp" }, - { "ironstorm", { NULL }, 3504, "tcp" }, - { "ironstorm", { NULL }, 3504, "udp" }, - { "ccmcomm", { NULL }, 3505, "tcp" }, - { "ccmcomm", { NULL }, 3505, "udp" }, - { "apc-3506", { NULL }, 3506, "tcp" }, - { "apc-3506", { NULL }, 3506, "udp" }, - { "nesh-broker", { NULL }, 3507, "tcp" }, - { "nesh-broker", { NULL }, 3507, "udp" }, - { "interactionweb", { NULL }, 3508, "tcp" }, - { "interactionweb", { NULL }, 3508, "udp" }, - { "vt-ssl", { NULL }, 3509, "tcp" }, - { "vt-ssl", { NULL }, 3509, "udp" }, - { "xss-port", { NULL }, 3510, "tcp" }, - { "xss-port", { NULL }, 3510, "udp" }, - { "webmail-2", { NULL }, 3511, "tcp" }, - { "webmail-2", { NULL }, 3511, "udp" }, - { "aztec", { NULL }, 3512, "tcp" }, - { "aztec", { NULL }, 3512, "udp" }, - { "arcpd", { NULL }, 3513, "tcp" }, - { "arcpd", { NULL }, 3513, "udp" }, - { "must-p2p", { NULL }, 3514, "tcp" }, - { "must-p2p", { NULL }, 3514, "udp" }, - { "must-backplane", { NULL }, 3515, "tcp" }, - { "must-backplane", { NULL }, 3515, "udp" }, - { "smartcard-port", { NULL }, 3516, "tcp" }, - { "smartcard-port", { NULL }, 3516, "udp" }, - { "802-11-iapp", { NULL }, 3517, "tcp" }, - { "802-11-iapp", { NULL }, 3517, "udp" }, - { "artifact-msg", { NULL }, 3518, "tcp" }, - { "artifact-msg", { NULL }, 3518, "udp" }, - { "nvmsgd", { NULL }, 3519, "tcp" }, - { "galileo", { NULL }, 3519, "udp" }, - { "galileolog", { NULL }, 3520, "tcp" }, - { "galileolog", { NULL }, 3520, "udp" }, - { "mc3ss", { NULL }, 3521, "tcp" }, - { "mc3ss", { NULL }, 3521, "udp" }, - { "nssocketport", { NULL }, 3522, "tcp" }, - { "nssocketport", { NULL }, 3522, "udp" }, - { "odeumservlink", { NULL }, 3523, "tcp" }, - { "odeumservlink", { NULL }, 3523, "udp" }, - { "ecmport", { NULL }, 3524, "tcp" }, - { "ecmport", { NULL }, 3524, "udp" }, - { "eisport", { NULL }, 3525, "tcp" }, - { "eisport", { NULL }, 3525, "udp" }, - { "starquiz-port", { NULL }, 3526, "tcp" }, - { "starquiz-port", { NULL }, 3526, "udp" }, - { "beserver-msg-q", { NULL }, 3527, "tcp" }, - { "beserver-msg-q", { NULL }, 3527, "udp" }, - { "jboss-iiop", { NULL }, 3528, "tcp" }, - { "jboss-iiop", { NULL }, 3528, "udp" }, - { "jboss-iiop-ssl", { NULL }, 3529, "tcp" }, - { "jboss-iiop-ssl", { NULL }, 3529, "udp" }, - { "gf", { NULL }, 3530, "tcp" }, - { "gf", { NULL }, 3530, "udp" }, - { "joltid", { NULL }, 3531, "tcp" }, - { "joltid", { NULL }, 3531, "udp" }, - { "raven-rmp", { NULL }, 3532, "tcp" }, - { "raven-rmp", { NULL }, 3532, "udp" }, - { "raven-rdp", { NULL }, 3533, "tcp" }, - { "raven-rdp", { NULL }, 3533, "udp" }, - { "urld-port", { NULL }, 3534, "tcp" }, - { "urld-port", { NULL }, 3534, "udp" }, - { "ms-la", { NULL }, 3535, "tcp" }, - { "ms-la", { NULL }, 3535, "udp" }, - { "snac", { NULL }, 3536, "tcp" }, - { "snac", { NULL }, 3536, "udp" }, - { "ni-visa-remote", { NULL }, 3537, "tcp" }, - { "ni-visa-remote", { NULL }, 3537, "udp" }, - { "ibm-diradm", { NULL }, 3538, "tcp" }, - { "ibm-diradm", { NULL }, 3538, "udp" }, - { "ibm-diradm-ssl", { NULL }, 3539, "tcp" }, - { "ibm-diradm-ssl", { NULL }, 3539, "udp" }, - { "pnrp-port", { NULL }, 3540, "tcp" }, - { "pnrp-port", { NULL }, 3540, "udp" }, - { "voispeed-port", { NULL }, 3541, "tcp" }, - { "voispeed-port", { NULL }, 3541, "udp" }, - { "hacl-monitor", { NULL }, 3542, "tcp" }, - { "hacl-monitor", { NULL }, 3542, "udp" }, - { "qftest-lookup", { NULL }, 3543, "tcp" }, - { "qftest-lookup", { NULL }, 3543, "udp" }, - { "teredo", { NULL }, 3544, "tcp" }, - { "teredo", { NULL }, 3544, "udp" }, - { "camac", { NULL }, 3545, "tcp" }, - { "camac", { NULL }, 3545, "udp" }, - { "symantec-sim", { NULL }, 3547, "tcp" }, - { "symantec-sim", { NULL }, 3547, "udp" }, - { "interworld", { NULL }, 3548, "tcp" }, - { "interworld", { NULL }, 3548, "udp" }, - { "tellumat-nms", { NULL }, 3549, "tcp" }, - { "tellumat-nms", { NULL }, 3549, "udp" }, - { "ssmpp", { NULL }, 3550, "tcp" }, - { "ssmpp", { NULL }, 3550, "udp" }, - { "apcupsd", { NULL }, 3551, "tcp" }, - { "apcupsd", { NULL }, 3551, "udp" }, - { "taserver", { NULL }, 3552, "tcp" }, - { "taserver", { NULL }, 3552, "udp" }, - { "rbr-discovery", { NULL }, 3553, "tcp" }, - { "rbr-discovery", { NULL }, 3553, "udp" }, - { "questnotify", { NULL }, 3554, "tcp" }, - { "questnotify", { NULL }, 3554, "udp" }, - { "razor", { NULL }, 3555, "tcp" }, - { "razor", { NULL }, 3555, "udp" }, - { "sky-transport", { NULL }, 3556, "tcp" }, - { "sky-transport", { NULL }, 3556, "udp" }, - { "personalos-001", { NULL }, 3557, "tcp" }, - { "personalos-001", { NULL }, 3557, "udp" }, - { "mcp-port", { NULL }, 3558, "tcp" }, - { "mcp-port", { NULL }, 3558, "udp" }, - { "cctv-port", { NULL }, 3559, "tcp" }, - { "cctv-port", { NULL }, 3559, "udp" }, - { "iniserve-port", { NULL }, 3560, "tcp" }, - { "iniserve-port", { NULL }, 3560, "udp" }, - { "bmc-onekey", { NULL }, 3561, "tcp" }, - { "bmc-onekey", { NULL }, 3561, "udp" }, - { "sdbproxy", { NULL }, 3562, "tcp" }, - { "sdbproxy", { NULL }, 3562, "udp" }, - { "watcomdebug", { NULL }, 3563, "tcp" }, - { "watcomdebug", { NULL }, 3563, "udp" }, - { "esimport", { NULL }, 3564, "tcp" }, - { "esimport", { NULL }, 3564, "udp" }, - { "m2pa", { NULL }, 3565, "tcp" }, - { "m2pa", { NULL }, 3565, "sctp"}, - { "quest-data-hub", { NULL }, 3566, "tcp" }, - { "oap", { NULL }, 3567, "tcp" }, - { "oap", { NULL }, 3567, "udp" }, - { "oap-s", { NULL }, 3568, "tcp" }, - { "oap-s", { NULL }, 3568, "udp" }, - { "mbg-ctrl", { NULL }, 3569, "tcp" }, - { "mbg-ctrl", { NULL }, 3569, "udp" }, - { "mccwebsvr-port", { NULL }, 3570, "tcp" }, - { "mccwebsvr-port", { NULL }, 3570, "udp" }, - { "megardsvr-port", { NULL }, 3571, "tcp" }, - { "megardsvr-port", { NULL }, 3571, "udp" }, - { "megaregsvrport", { NULL }, 3572, "tcp" }, - { "megaregsvrport", { NULL }, 3572, "udp" }, - { "tag-ups-1", { NULL }, 3573, "tcp" }, - { "tag-ups-1", { NULL }, 3573, "udp" }, - { "dmaf-server", { NULL }, 3574, "tcp" }, - { "dmaf-caster", { NULL }, 3574, "udp" }, - { "ccm-port", { NULL }, 3575, "tcp" }, - { "ccm-port", { NULL }, 3575, "udp" }, - { "cmc-port", { NULL }, 3576, "tcp" }, - { "cmc-port", { NULL }, 3576, "udp" }, - { "config-port", { NULL }, 3577, "tcp" }, - { "config-port", { NULL }, 3577, "udp" }, - { "data-port", { NULL }, 3578, "tcp" }, - { "data-port", { NULL }, 3578, "udp" }, - { "ttat3lb", { NULL }, 3579, "tcp" }, - { "ttat3lb", { NULL }, 3579, "udp" }, - { "nati-svrloc", { NULL }, 3580, "tcp" }, - { "nati-svrloc", { NULL }, 3580, "udp" }, - { "kfxaclicensing", { NULL }, 3581, "tcp" }, - { "kfxaclicensing", { NULL }, 3581, "udp" }, - { "press", { NULL }, 3582, "tcp" }, - { "press", { NULL }, 3582, "udp" }, - { "canex-watch", { NULL }, 3583, "tcp" }, - { "canex-watch", { NULL }, 3583, "udp" }, - { "u-dbap", { NULL }, 3584, "tcp" }, - { "u-dbap", { NULL }, 3584, "udp" }, - { "emprise-lls", { NULL }, 3585, "tcp" }, - { "emprise-lls", { NULL }, 3585, "udp" }, - { "emprise-lsc", { NULL }, 3586, "tcp" }, - { "emprise-lsc", { NULL }, 3586, "udp" }, - { "p2pgroup", { NULL }, 3587, "tcp" }, - { "p2pgroup", { NULL }, 3587, "udp" }, - { "sentinel", { NULL }, 3588, "tcp" }, - { "sentinel", { NULL }, 3588, "udp" }, - { "isomair", { NULL }, 3589, "tcp" }, - { "isomair", { NULL }, 3589, "udp" }, - { "wv-csp-sms", { NULL }, 3590, "tcp" }, - { "wv-csp-sms", { NULL }, 3590, "udp" }, - { "gtrack-server", { NULL }, 3591, "tcp" }, - { "gtrack-server", { NULL }, 3591, "udp" }, - { "gtrack-ne", { NULL }, 3592, "tcp" }, - { "gtrack-ne", { NULL }, 3592, "udp" }, - { "bpmd", { NULL }, 3593, "tcp" }, - { "bpmd", { NULL }, 3593, "udp" }, - { "mediaspace", { NULL }, 3594, "tcp" }, - { "mediaspace", { NULL }, 3594, "udp" }, - { "shareapp", { NULL }, 3595, "tcp" }, - { "shareapp", { NULL }, 3595, "udp" }, - { "iw-mmogame", { NULL }, 3596, "tcp" }, - { "iw-mmogame", { NULL }, 3596, "udp" }, - { "a14", { NULL }, 3597, "tcp" }, - { "a14", { NULL }, 3597, "udp" }, - { "a15", { NULL }, 3598, "tcp" }, - { "a15", { NULL }, 3598, "udp" }, - { "quasar-server", { NULL }, 3599, "tcp" }, - { "quasar-server", { NULL }, 3599, "udp" }, - { "trap-daemon", { NULL }, 3600, "tcp" }, - { "trap-daemon", { NULL }, 3600, "udp" }, - { "visinet-gui", { NULL }, 3601, "tcp" }, - { "visinet-gui", { NULL }, 3601, "udp" }, - { "infiniswitchcl", { NULL }, 3602, "tcp" }, - { "infiniswitchcl", { NULL }, 3602, "udp" }, - { "int-rcv-cntrl", { NULL }, 3603, "tcp" }, - { "int-rcv-cntrl", { NULL }, 3603, "udp" }, - { "bmc-jmx-port", { NULL }, 3604, "tcp" }, - { "bmc-jmx-port", { NULL }, 3604, "udp" }, - { "comcam-io", { NULL }, 3605, "tcp" }, - { "comcam-io", { NULL }, 3605, "udp" }, - { "splitlock", { NULL }, 3606, "tcp" }, - { "splitlock", { NULL }, 3606, "udp" }, - { "precise-i3", { NULL }, 3607, "tcp" }, - { "precise-i3", { NULL }, 3607, "udp" }, - { "trendchip-dcp", { NULL }, 3608, "tcp" }, - { "trendchip-dcp", { NULL }, 3608, "udp" }, - { "cpdi-pidas-cm", { NULL }, 3609, "tcp" }, - { "cpdi-pidas-cm", { NULL }, 3609, "udp" }, - { "echonet", { NULL }, 3610, "tcp" }, - { "echonet", { NULL }, 3610, "udp" }, - { "six-degrees", { NULL }, 3611, "tcp" }, - { "six-degrees", { NULL }, 3611, "udp" }, - { "hp-dataprotect", { NULL }, 3612, "tcp" }, - { "hp-dataprotect", { NULL }, 3612, "udp" }, - { "alaris-disc", { NULL }, 3613, "tcp" }, - { "alaris-disc", { NULL }, 3613, "udp" }, - { "sigma-port", { NULL }, 3614, "tcp" }, - { "sigma-port", { NULL }, 3614, "udp" }, - { "start-network", { NULL }, 3615, "tcp" }, - { "start-network", { NULL }, 3615, "udp" }, - { "cd3o-protocol", { NULL }, 3616, "tcp" }, - { "cd3o-protocol", { NULL }, 3616, "udp" }, - { "sharp-server", { NULL }, 3617, "tcp" }, - { "sharp-server", { NULL }, 3617, "udp" }, - { "aairnet-1", { NULL }, 3618, "tcp" }, - { "aairnet-1", { NULL }, 3618, "udp" }, - { "aairnet-2", { NULL }, 3619, "tcp" }, - { "aairnet-2", { NULL }, 3619, "udp" }, - { "ep-pcp", { NULL }, 3620, "tcp" }, - { "ep-pcp", { NULL }, 3620, "udp" }, - { "ep-nsp", { NULL }, 3621, "tcp" }, - { "ep-nsp", { NULL }, 3621, "udp" }, - { "ff-lr-port", { NULL }, 3622, "tcp" }, - { "ff-lr-port", { NULL }, 3622, "udp" }, - { "haipe-discover", { NULL }, 3623, "tcp" }, - { "haipe-discover", { NULL }, 3623, "udp" }, - { "dist-upgrade", { NULL }, 3624, "tcp" }, - { "dist-upgrade", { NULL }, 3624, "udp" }, - { "volley", { NULL }, 3625, "tcp" }, - { "volley", { NULL }, 3625, "udp" }, - { "bvcdaemon-port", { NULL }, 3626, "tcp" }, - { "bvcdaemon-port", { NULL }, 3626, "udp" }, - { "jamserverport", { NULL }, 3627, "tcp" }, - { "jamserverport", { NULL }, 3627, "udp" }, - { "ept-machine", { NULL }, 3628, "tcp" }, - { "ept-machine", { NULL }, 3628, "udp" }, - { "escvpnet", { NULL }, 3629, "tcp" }, - { "escvpnet", { NULL }, 3629, "udp" }, - { "cs-remote-db", { NULL }, 3630, "tcp" }, - { "cs-remote-db", { NULL }, 3630, "udp" }, - { "cs-services", { NULL }, 3631, "tcp" }, - { "cs-services", { NULL }, 3631, "udp" }, - { "distcc", { NULL }, 3632, "tcp" }, - { "distcc", { NULL }, 3632, "udp" }, - { "wacp", { NULL }, 3633, "tcp" }, - { "wacp", { NULL }, 3633, "udp" }, - { "hlibmgr", { NULL }, 3634, "tcp" }, - { "hlibmgr", { NULL }, 3634, "udp" }, - { "sdo", { NULL }, 3635, "tcp" }, - { "sdo", { NULL }, 3635, "udp" }, - { "servistaitsm", { NULL }, 3636, "tcp" }, - { "servistaitsm", { NULL }, 3636, "udp" }, - { "scservp", { NULL }, 3637, "tcp" }, - { "scservp", { NULL }, 3637, "udp" }, - { "ehp-backup", { NULL }, 3638, "tcp" }, - { "ehp-backup", { NULL }, 3638, "udp" }, - { "xap-ha", { NULL }, 3639, "tcp" }, - { "xap-ha", { NULL }, 3639, "udp" }, - { "netplay-port1", { NULL }, 3640, "tcp" }, - { "netplay-port1", { NULL }, 3640, "udp" }, - { "netplay-port2", { NULL }, 3641, "tcp" }, - { "netplay-port2", { NULL }, 3641, "udp" }, - { "juxml-port", { NULL }, 3642, "tcp" }, - { "juxml-port", { NULL }, 3642, "udp" }, - { "audiojuggler", { NULL }, 3643, "tcp" }, - { "audiojuggler", { NULL }, 3643, "udp" }, - { "ssowatch", { NULL }, 3644, "tcp" }, - { "ssowatch", { NULL }, 3644, "udp" }, - { "cyc", { NULL }, 3645, "tcp" }, - { "cyc", { NULL }, 3645, "udp" }, - { "xss-srv-port", { NULL }, 3646, "tcp" }, - { "xss-srv-port", { NULL }, 3646, "udp" }, - { "splitlock-gw", { NULL }, 3647, "tcp" }, - { "splitlock-gw", { NULL }, 3647, "udp" }, - { "fjcp", { NULL }, 3648, "tcp" }, - { "fjcp", { NULL }, 3648, "udp" }, - { "nmmp", { NULL }, 3649, "tcp" }, - { "nmmp", { NULL }, 3649, "udp" }, - { "prismiq-plugin", { NULL }, 3650, "tcp" }, - { "prismiq-plugin", { NULL }, 3650, "udp" }, - { "xrpc-registry", { NULL }, 3651, "tcp" }, - { "xrpc-registry", { NULL }, 3651, "udp" }, - { "vxcrnbuport", { NULL }, 3652, "tcp" }, - { "vxcrnbuport", { NULL }, 3652, "udp" }, - { "tsp", { NULL }, 3653, "tcp" }, - { "tsp", { NULL }, 3653, "udp" }, - { "vaprtm", { NULL }, 3654, "tcp" }, - { "vaprtm", { NULL }, 3654, "udp" }, - { "abatemgr", { NULL }, 3655, "tcp" }, - { "abatemgr", { NULL }, 3655, "udp" }, - { "abatjss", { NULL }, 3656, "tcp" }, - { "abatjss", { NULL }, 3656, "udp" }, - { "immedianet-bcn", { NULL }, 3657, "tcp" }, - { "immedianet-bcn", { NULL }, 3657, "udp" }, - { "ps-ams", { NULL }, 3658, "tcp" }, - { "ps-ams", { NULL }, 3658, "udp" }, - { "apple-sasl", { NULL }, 3659, "tcp" }, - { "apple-sasl", { NULL }, 3659, "udp" }, - { "can-nds-ssl", { NULL }, 3660, "tcp" }, - { "can-nds-ssl", { NULL }, 3660, "udp" }, - { "can-ferret-ssl", { NULL }, 3661, "tcp" }, - { "can-ferret-ssl", { NULL }, 3661, "udp" }, - { "pserver", { NULL }, 3662, "tcp" }, - { "pserver", { NULL }, 3662, "udp" }, - { "dtp", { NULL }, 3663, "tcp" }, - { "dtp", { NULL }, 3663, "udp" }, - { "ups-engine", { NULL }, 3664, "tcp" }, - { "ups-engine", { NULL }, 3664, "udp" }, - { "ent-engine", { NULL }, 3665, "tcp" }, - { "ent-engine", { NULL }, 3665, "udp" }, - { "eserver-pap", { NULL }, 3666, "tcp" }, - { "eserver-pap", { NULL }, 3666, "udp" }, - { "infoexch", { NULL }, 3667, "tcp" }, - { "infoexch", { NULL }, 3667, "udp" }, - { "dell-rm-port", { NULL }, 3668, "tcp" }, - { "dell-rm-port", { NULL }, 3668, "udp" }, - { "casanswmgmt", { NULL }, 3669, "tcp" }, - { "casanswmgmt", { NULL }, 3669, "udp" }, - { "smile", { NULL }, 3670, "tcp" }, - { "smile", { NULL }, 3670, "udp" }, - { "efcp", { NULL }, 3671, "tcp" }, - { "efcp", { NULL }, 3671, "udp" }, - { "lispworks-orb", { NULL }, 3672, "tcp" }, - { "lispworks-orb", { NULL }, 3672, "udp" }, - { "mediavault-gui", { NULL }, 3673, "tcp" }, - { "mediavault-gui", { NULL }, 3673, "udp" }, - { "wininstall-ipc", { NULL }, 3674, "tcp" }, - { "wininstall-ipc", { NULL }, 3674, "udp" }, - { "calltrax", { NULL }, 3675, "tcp" }, - { "calltrax", { NULL }, 3675, "udp" }, - { "va-pacbase", { NULL }, 3676, "tcp" }, - { "va-pacbase", { NULL }, 3676, "udp" }, - { "roverlog", { NULL }, 3677, "tcp" }, - { "roverlog", { NULL }, 3677, "udp" }, - { "ipr-dglt", { NULL }, 3678, "tcp" }, - { "ipr-dglt", { NULL }, 3678, "udp" }, - { "newton-dock", { NULL }, 3679, "tcp" }, - { "newton-dock", { NULL }, 3679, "udp" }, - { "npds-tracker", { NULL }, 3680, "tcp" }, - { "npds-tracker", { NULL }, 3680, "udp" }, - { "bts-x73", { NULL }, 3681, "tcp" }, - { "bts-x73", { NULL }, 3681, "udp" }, - { "cas-mapi", { NULL }, 3682, "tcp" }, - { "cas-mapi", { NULL }, 3682, "udp" }, - { "bmc-ea", { NULL }, 3683, "tcp" }, - { "bmc-ea", { NULL }, 3683, "udp" }, - { "faxstfx-port", { NULL }, 3684, "tcp" }, - { "faxstfx-port", { NULL }, 3684, "udp" }, - { "dsx-agent", { NULL }, 3685, "tcp" }, - { "dsx-agent", { NULL }, 3685, "udp" }, - { "tnmpv2", { NULL }, 3686, "tcp" }, - { "tnmpv2", { NULL }, 3686, "udp" }, - { "simple-push", { NULL }, 3687, "tcp" }, - { "simple-push", { NULL }, 3687, "udp" }, - { "simple-push-s", { NULL }, 3688, "tcp" }, - { "simple-push-s", { NULL }, 3688, "udp" }, - { "daap", { NULL }, 3689, "tcp" }, - { "daap", { NULL }, 3689, "udp" }, - { "svn", { NULL }, 3690, "tcp" }, - { "svn", { NULL }, 3690, "udp" }, - { "magaya-network", { NULL }, 3691, "tcp" }, - { "magaya-network", { NULL }, 3691, "udp" }, - { "intelsync", { NULL }, 3692, "tcp" }, - { "intelsync", { NULL }, 3692, "udp" }, - { "bmc-data-coll", { NULL }, 3695, "tcp" }, - { "bmc-data-coll", { NULL }, 3695, "udp" }, - { "telnetcpcd", { NULL }, 3696, "tcp" }, - { "telnetcpcd", { NULL }, 3696, "udp" }, - { "nw-license", { NULL }, 3697, "tcp" }, - { "nw-license", { NULL }, 3697, "udp" }, - { "sagectlpanel", { NULL }, 3698, "tcp" }, - { "sagectlpanel", { NULL }, 3698, "udp" }, - { "kpn-icw", { NULL }, 3699, "tcp" }, - { "kpn-icw", { NULL }, 3699, "udp" }, - { "lrs-paging", { NULL }, 3700, "tcp" }, - { "lrs-paging", { NULL }, 3700, "udp" }, - { "netcelera", { NULL }, 3701, "tcp" }, - { "netcelera", { NULL }, 3701, "udp" }, - { "ws-discovery", { NULL }, 3702, "tcp" }, - { "ws-discovery", { NULL }, 3702, "udp" }, - { "adobeserver-3", { NULL }, 3703, "tcp" }, - { "adobeserver-3", { NULL }, 3703, "udp" }, - { "adobeserver-4", { NULL }, 3704, "tcp" }, - { "adobeserver-4", { NULL }, 3704, "udp" }, - { "adobeserver-5", { NULL }, 3705, "tcp" }, - { "adobeserver-5", { NULL }, 3705, "udp" }, - { "rt-event", { NULL }, 3706, "tcp" }, - { "rt-event", { NULL }, 3706, "udp" }, - { "rt-event-s", { NULL }, 3707, "tcp" }, - { "rt-event-s", { NULL }, 3707, "udp" }, - { "sun-as-iiops", { NULL }, 3708, "tcp" }, - { "sun-as-iiops", { NULL }, 3708, "udp" }, - { "ca-idms", { NULL }, 3709, "tcp" }, - { "ca-idms", { NULL }, 3709, "udp" }, - { "portgate-auth", { NULL }, 3710, "tcp" }, - { "portgate-auth", { NULL }, 3710, "udp" }, - { "edb-server2", { NULL }, 3711, "tcp" }, - { "edb-server2", { NULL }, 3711, "udp" }, - { "sentinel-ent", { NULL }, 3712, "tcp" }, - { "sentinel-ent", { NULL }, 3712, "udp" }, - { "tftps", { NULL }, 3713, "tcp" }, - { "tftps", { NULL }, 3713, "udp" }, - { "delos-dms", { NULL }, 3714, "tcp" }, - { "delos-dms", { NULL }, 3714, "udp" }, - { "anoto-rendezv", { NULL }, 3715, "tcp" }, - { "anoto-rendezv", { NULL }, 3715, "udp" }, - { "wv-csp-sms-cir", { NULL }, 3716, "tcp" }, - { "wv-csp-sms-cir", { NULL }, 3716, "udp" }, - { "wv-csp-udp-cir", { NULL }, 3717, "tcp" }, - { "wv-csp-udp-cir", { NULL }, 3717, "udp" }, - { "opus-services", { NULL }, 3718, "tcp" }, - { "opus-services", { NULL }, 3718, "udp" }, - { "itelserverport", { NULL }, 3719, "tcp" }, - { "itelserverport", { NULL }, 3719, "udp" }, - { "ufastro-instr", { NULL }, 3720, "tcp" }, - { "ufastro-instr", { NULL }, 3720, "udp" }, - { "xsync", { NULL }, 3721, "tcp" }, - { "xsync", { NULL }, 3721, "udp" }, - { "xserveraid", { NULL }, 3722, "tcp" }, - { "xserveraid", { NULL }, 3722, "udp" }, - { "sychrond", { NULL }, 3723, "tcp" }, - { "sychrond", { NULL }, 3723, "udp" }, - { "blizwow", { NULL }, 3724, "tcp" }, - { "blizwow", { NULL }, 3724, "udp" }, - { "na-er-tip", { NULL }, 3725, "tcp" }, - { "na-er-tip", { NULL }, 3725, "udp" }, - { "array-manager", { NULL }, 3726, "tcp" }, - { "array-manager", { NULL }, 3726, "udp" }, - { "e-mdu", { NULL }, 3727, "tcp" }, - { "e-mdu", { NULL }, 3727, "udp" }, - { "e-woa", { NULL }, 3728, "tcp" }, - { "e-woa", { NULL }, 3728, "udp" }, - { "fksp-audit", { NULL }, 3729, "tcp" }, - { "fksp-audit", { NULL }, 3729, "udp" }, - { "client-ctrl", { NULL }, 3730, "tcp" }, - { "client-ctrl", { NULL }, 3730, "udp" }, - { "smap", { NULL }, 3731, "tcp" }, - { "smap", { NULL }, 3731, "udp" }, - { "m-wnn", { NULL }, 3732, "tcp" }, - { "m-wnn", { NULL }, 3732, "udp" }, - { "multip-msg", { NULL }, 3733, "tcp" }, - { "multip-msg", { NULL }, 3733, "udp" }, - { "synel-data", { NULL }, 3734, "tcp" }, - { "synel-data", { NULL }, 3734, "udp" }, - { "pwdis", { NULL }, 3735, "tcp" }, - { "pwdis", { NULL }, 3735, "udp" }, - { "rs-rmi", { NULL }, 3736, "tcp" }, - { "rs-rmi", { NULL }, 3736, "udp" }, - { "xpanel", { NULL }, 3737, "tcp" }, - { "versatalk", { NULL }, 3738, "tcp" }, - { "versatalk", { NULL }, 3738, "udp" }, - { "launchbird-lm", { NULL }, 3739, "tcp" }, - { "launchbird-lm", { NULL }, 3739, "udp" }, - { "heartbeat", { NULL }, 3740, "tcp" }, - { "heartbeat", { NULL }, 3740, "udp" }, - { "wysdma", { NULL }, 3741, "tcp" }, - { "wysdma", { NULL }, 3741, "udp" }, - { "cst-port", { NULL }, 3742, "tcp" }, - { "cst-port", { NULL }, 3742, "udp" }, - { "ipcs-command", { NULL }, 3743, "tcp" }, - { "ipcs-command", { NULL }, 3743, "udp" }, - { "sasg", { NULL }, 3744, "tcp" }, - { "sasg", { NULL }, 3744, "udp" }, - { "gw-call-port", { NULL }, 3745, "tcp" }, - { "gw-call-port", { NULL }, 3745, "udp" }, - { "linktest", { NULL }, 3746, "tcp" }, - { "linktest", { NULL }, 3746, "udp" }, - { "linktest-s", { NULL }, 3747, "tcp" }, - { "linktest-s", { NULL }, 3747, "udp" }, - { "webdata", { NULL }, 3748, "tcp" }, - { "webdata", { NULL }, 3748, "udp" }, - { "cimtrak", { NULL }, 3749, "tcp" }, - { "cimtrak", { NULL }, 3749, "udp" }, - { "cbos-ip-port", { NULL }, 3750, "tcp" }, - { "cbos-ip-port", { NULL }, 3750, "udp" }, - { "gprs-cube", { NULL }, 3751, "tcp" }, - { "gprs-cube", { NULL }, 3751, "udp" }, - { "vipremoteagent", { NULL }, 3752, "tcp" }, - { "vipremoteagent", { NULL }, 3752, "udp" }, - { "nattyserver", { NULL }, 3753, "tcp" }, - { "nattyserver", { NULL }, 3753, "udp" }, - { "timestenbroker", { NULL }, 3754, "tcp" }, - { "timestenbroker", { NULL }, 3754, "udp" }, - { "sas-remote-hlp", { NULL }, 3755, "tcp" }, - { "sas-remote-hlp", { NULL }, 3755, "udp" }, - { "canon-capt", { NULL }, 3756, "tcp" }, - { "canon-capt", { NULL }, 3756, "udp" }, - { "grf-port", { NULL }, 3757, "tcp" }, - { "grf-port", { NULL }, 3757, "udp" }, - { "apw-registry", { NULL }, 3758, "tcp" }, - { "apw-registry", { NULL }, 3758, "udp" }, - { "exapt-lmgr", { NULL }, 3759, "tcp" }, - { "exapt-lmgr", { NULL }, 3759, "udp" }, - { "adtempusclient", { NULL }, 3760, "tcp" }, - { "adtempusclient", { NULL }, 3760, "udp" }, - { "gsakmp", { NULL }, 3761, "tcp" }, - { "gsakmp", { NULL }, 3761, "udp" }, - { "gbs-smp", { NULL }, 3762, "tcp" }, - { "gbs-smp", { NULL }, 3762, "udp" }, - { "xo-wave", { NULL }, 3763, "tcp" }, - { "xo-wave", { NULL }, 3763, "udp" }, - { "mni-prot-rout", { NULL }, 3764, "tcp" }, - { "mni-prot-rout", { NULL }, 3764, "udp" }, - { "rtraceroute", { NULL }, 3765, "tcp" }, - { "rtraceroute", { NULL }, 3765, "udp" }, - { "listmgr-port", { NULL }, 3767, "tcp" }, - { "listmgr-port", { NULL }, 3767, "udp" }, - { "rblcheckd", { NULL }, 3768, "tcp" }, - { "rblcheckd", { NULL }, 3768, "udp" }, - { "haipe-otnk", { NULL }, 3769, "tcp" }, - { "haipe-otnk", { NULL }, 3769, "udp" }, - { "cindycollab", { NULL }, 3770, "tcp" }, - { "cindycollab", { NULL }, 3770, "udp" }, - { "paging-port", { NULL }, 3771, "tcp" }, - { "paging-port", { NULL }, 3771, "udp" }, - { "ctp", { NULL }, 3772, "tcp" }, - { "ctp", { NULL }, 3772, "udp" }, - { "ctdhercules", { NULL }, 3773, "tcp" }, - { "ctdhercules", { NULL }, 3773, "udp" }, - { "zicom", { NULL }, 3774, "tcp" }, - { "zicom", { NULL }, 3774, "udp" }, - { "ispmmgr", { NULL }, 3775, "tcp" }, - { "ispmmgr", { NULL }, 3775, "udp" }, - { "dvcprov-port", { NULL }, 3776, "tcp" }, - { "dvcprov-port", { NULL }, 3776, "udp" }, - { "jibe-eb", { NULL }, 3777, "tcp" }, - { "jibe-eb", { NULL }, 3777, "udp" }, - { "c-h-it-port", { NULL }, 3778, "tcp" }, - { "c-h-it-port", { NULL }, 3778, "udp" }, - { "cognima", { NULL }, 3779, "tcp" }, - { "cognima", { NULL }, 3779, "udp" }, - { "nnp", { NULL }, 3780, "tcp" }, - { "nnp", { NULL }, 3780, "udp" }, - { "abcvoice-port", { NULL }, 3781, "tcp" }, - { "abcvoice-port", { NULL }, 3781, "udp" }, - { "iso-tp0s", { NULL }, 3782, "tcp" }, - { "iso-tp0s", { NULL }, 3782, "udp" }, - { "bim-pem", { NULL }, 3783, "tcp" }, - { "bim-pem", { NULL }, 3783, "udp" }, - { "bfd-control", { NULL }, 3784, "tcp" }, - { "bfd-control", { NULL }, 3784, "udp" }, - { "bfd-echo", { NULL }, 3785, "tcp" }, - { "bfd-echo", { NULL }, 3785, "udp" }, - { "upstriggervsw", { NULL }, 3786, "tcp" }, - { "upstriggervsw", { NULL }, 3786, "udp" }, - { "fintrx", { NULL }, 3787, "tcp" }, - { "fintrx", { NULL }, 3787, "udp" }, - { "isrp-port", { NULL }, 3788, "tcp" }, - { "isrp-port", { NULL }, 3788, "udp" }, - { "remotedeploy", { NULL }, 3789, "tcp" }, - { "remotedeploy", { NULL }, 3789, "udp" }, - { "quickbooksrds", { NULL }, 3790, "tcp" }, - { "quickbooksrds", { NULL }, 3790, "udp" }, - { "tvnetworkvideo", { NULL }, 3791, "tcp" }, - { "tvnetworkvideo", { NULL }, 3791, "udp" }, - { "sitewatch", { NULL }, 3792, "tcp" }, - { "sitewatch", { NULL }, 3792, "udp" }, - { "dcsoftware", { NULL }, 3793, "tcp" }, - { "dcsoftware", { NULL }, 3793, "udp" }, - { "jaus", { NULL }, 3794, "tcp" }, - { "jaus", { NULL }, 3794, "udp" }, - { "myblast", { NULL }, 3795, "tcp" }, - { "myblast", { NULL }, 3795, "udp" }, - { "spw-dialer", { NULL }, 3796, "tcp" }, - { "spw-dialer", { NULL }, 3796, "udp" }, - { "idps", { NULL }, 3797, "tcp" }, - { "idps", { NULL }, 3797, "udp" }, - { "minilock", { NULL }, 3798, "tcp" }, - { "minilock", { NULL }, 3798, "udp" }, - { "radius-dynauth", { NULL }, 3799, "tcp" }, - { "radius-dynauth", { NULL }, 3799, "udp" }, - { "pwgpsi", { NULL }, 3800, "tcp" }, - { "pwgpsi", { NULL }, 3800, "udp" }, - { "ibm-mgr", { NULL }, 3801, "tcp" }, - { "ibm-mgr", { NULL }, 3801, "udp" }, - { "vhd", { NULL }, 3802, "tcp" }, - { "vhd", { NULL }, 3802, "udp" }, - { "soniqsync", { NULL }, 3803, "tcp" }, - { "soniqsync", { NULL }, 3803, "udp" }, - { "iqnet-port", { NULL }, 3804, "tcp" }, - { "iqnet-port", { NULL }, 3804, "udp" }, - { "tcpdataserver", { NULL }, 3805, "tcp" }, - { "tcpdataserver", { NULL }, 3805, "udp" }, - { "wsmlb", { NULL }, 3806, "tcp" }, - { "wsmlb", { NULL }, 3806, "udp" }, - { "spugna", { NULL }, 3807, "tcp" }, - { "spugna", { NULL }, 3807, "udp" }, - { "sun-as-iiops-ca", { NULL }, 3808, "tcp" }, - { "sun-as-iiops-ca", { NULL }, 3808, "udp" }, - { "apocd", { NULL }, 3809, "tcp" }, - { "apocd", { NULL }, 3809, "udp" }, - { "wlanauth", { NULL }, 3810, "tcp" }, - { "wlanauth", { NULL }, 3810, "udp" }, - { "amp", { NULL }, 3811, "tcp" }, - { "amp", { NULL }, 3811, "udp" }, - { "neto-wol-server", { NULL }, 3812, "tcp" }, - { "neto-wol-server", { NULL }, 3812, "udp" }, - { "rap-ip", { NULL }, 3813, "tcp" }, - { "rap-ip", { NULL }, 3813, "udp" }, - { "neto-dcs", { NULL }, 3814, "tcp" }, - { "neto-dcs", { NULL }, 3814, "udp" }, - { "lansurveyorxml", { NULL }, 3815, "tcp" }, - { "lansurveyorxml", { NULL }, 3815, "udp" }, - { "sunlps-http", { NULL }, 3816, "tcp" }, - { "sunlps-http", { NULL }, 3816, "udp" }, - { "tapeware", { NULL }, 3817, "tcp" }, - { "tapeware", { NULL }, 3817, "udp" }, - { "crinis-hb", { NULL }, 3818, "tcp" }, - { "crinis-hb", { NULL }, 3818, "udp" }, - { "epl-slp", { NULL }, 3819, "tcp" }, - { "epl-slp", { NULL }, 3819, "udp" }, - { "scp", { NULL }, 3820, "tcp" }, - { "scp", { NULL }, 3820, "udp" }, - { "pmcp", { NULL }, 3821, "tcp" }, - { "pmcp", { NULL }, 3821, "udp" }, - { "acp-discovery", { NULL }, 3822, "tcp" }, - { "acp-discovery", { NULL }, 3822, "udp" }, - { "acp-conduit", { NULL }, 3823, "tcp" }, - { "acp-conduit", { NULL }, 3823, "udp" }, - { "acp-policy", { NULL }, 3824, "tcp" }, - { "acp-policy", { NULL }, 3824, "udp" }, - { "ffserver", { NULL }, 3825, "tcp" }, - { "ffserver", { NULL }, 3825, "udp" }, - { "wormux", { NULL }, 3826, "tcp" }, - { "wormux", { NULL }, 3826, "udp" }, - { "netmpi", { NULL }, 3827, "tcp" }, - { "netmpi", { NULL }, 3827, "udp" }, - { "neteh", { NULL }, 3828, "tcp" }, - { "neteh", { NULL }, 3828, "udp" }, - { "neteh-ext", { NULL }, 3829, "tcp" }, - { "neteh-ext", { NULL }, 3829, "udp" }, - { "cernsysmgmtagt", { NULL }, 3830, "tcp" }, - { "cernsysmgmtagt", { NULL }, 3830, "udp" }, - { "dvapps", { NULL }, 3831, "tcp" }, - { "dvapps", { NULL }, 3831, "udp" }, - { "xxnetserver", { NULL }, 3832, "tcp" }, - { "xxnetserver", { NULL }, 3832, "udp" }, - { "aipn-auth", { NULL }, 3833, "tcp" }, - { "aipn-auth", { NULL }, 3833, "udp" }, - { "spectardata", { NULL }, 3834, "tcp" }, - { "spectardata", { NULL }, 3834, "udp" }, - { "spectardb", { NULL }, 3835, "tcp" }, - { "spectardb", { NULL }, 3835, "udp" }, - { "markem-dcp", { NULL }, 3836, "tcp" }, - { "markem-dcp", { NULL }, 3836, "udp" }, - { "mkm-discovery", { NULL }, 3837, "tcp" }, - { "mkm-discovery", { NULL }, 3837, "udp" }, - { "sos", { NULL }, 3838, "tcp" }, - { "sos", { NULL }, 3838, "udp" }, - { "amx-rms", { NULL }, 3839, "tcp" }, - { "amx-rms", { NULL }, 3839, "udp" }, - { "flirtmitmir", { NULL }, 3840, "tcp" }, - { "flirtmitmir", { NULL }, 3840, "udp" }, - { "zfirm-shiprush3", { NULL }, 3841, "tcp" }, - { "zfirm-shiprush3", { NULL }, 3841, "udp" }, - { "nhci", { NULL }, 3842, "tcp" }, - { "nhci", { NULL }, 3842, "udp" }, - { "quest-agent", { NULL }, 3843, "tcp" }, - { "quest-agent", { NULL }, 3843, "udp" }, - { "rnm", { NULL }, 3844, "tcp" }, - { "rnm", { NULL }, 3844, "udp" }, - { "v-one-spp", { NULL }, 3845, "tcp" }, - { "v-one-spp", { NULL }, 3845, "udp" }, - { "an-pcp", { NULL }, 3846, "tcp" }, - { "an-pcp", { NULL }, 3846, "udp" }, - { "msfw-control", { NULL }, 3847, "tcp" }, - { "msfw-control", { NULL }, 3847, "udp" }, - { "item", { NULL }, 3848, "tcp" }, - { "item", { NULL }, 3848, "udp" }, - { "spw-dnspreload", { NULL }, 3849, "tcp" }, - { "spw-dnspreload", { NULL }, 3849, "udp" }, - { "qtms-bootstrap", { NULL }, 3850, "tcp" }, - { "qtms-bootstrap", { NULL }, 3850, "udp" }, - { "spectraport", { NULL }, 3851, "tcp" }, - { "spectraport", { NULL }, 3851, "udp" }, - { "sse-app-config", { NULL }, 3852, "tcp" }, - { "sse-app-config", { NULL }, 3852, "udp" }, - { "sscan", { NULL }, 3853, "tcp" }, - { "sscan", { NULL }, 3853, "udp" }, - { "stryker-com", { NULL }, 3854, "tcp" }, - { "stryker-com", { NULL }, 3854, "udp" }, - { "opentrac", { NULL }, 3855, "tcp" }, - { "opentrac", { NULL }, 3855, "udp" }, - { "informer", { NULL }, 3856, "tcp" }, - { "informer", { NULL }, 3856, "udp" }, - { "trap-port", { NULL }, 3857, "tcp" }, - { "trap-port", { NULL }, 3857, "udp" }, - { "trap-port-mom", { NULL }, 3858, "tcp" }, - { "trap-port-mom", { NULL }, 3858, "udp" }, - { "nav-port", { NULL }, 3859, "tcp" }, - { "nav-port", { NULL }, 3859, "udp" }, - { "sasp", { NULL }, 3860, "tcp" }, - { "sasp", { NULL }, 3860, "udp" }, - { "winshadow-hd", { NULL }, 3861, "tcp" }, - { "winshadow-hd", { NULL }, 3861, "udp" }, - { "giga-pocket", { NULL }, 3862, "tcp" }, - { "giga-pocket", { NULL }, 3862, "udp" }, - { "asap-tcp", { NULL }, 3863, "tcp" }, - { "asap-udp", { NULL }, 3863, "udp" }, - { "asap-sctp", { NULL }, 3863, "sctp"}, - { "asap-tcp-tls", { NULL }, 3864, "tcp" }, - { "asap-sctp-tls", { NULL }, 3864, "sctp"}, - { "xpl", { NULL }, 3865, "tcp" }, - { "xpl", { NULL }, 3865, "udp" }, - { "dzdaemon", { NULL }, 3866, "tcp" }, - { "dzdaemon", { NULL }, 3866, "udp" }, - { "dzoglserver", { NULL }, 3867, "tcp" }, - { "dzoglserver", { NULL }, 3867, "udp" }, - { "diameter", { NULL }, 3868, "tcp" }, - { "diameter", { NULL }, 3868, "sctp"}, - { "ovsam-mgmt", { NULL }, 3869, "tcp" }, - { "ovsam-mgmt", { NULL }, 3869, "udp" }, - { "ovsam-d-agent", { NULL }, 3870, "tcp" }, - { "ovsam-d-agent", { NULL }, 3870, "udp" }, - { "avocent-adsap", { NULL }, 3871, "tcp" }, - { "avocent-adsap", { NULL }, 3871, "udp" }, - { "oem-agent", { NULL }, 3872, "tcp" }, - { "oem-agent", { NULL }, 3872, "udp" }, - { "fagordnc", { NULL }, 3873, "tcp" }, - { "fagordnc", { NULL }, 3873, "udp" }, - { "sixxsconfig", { NULL }, 3874, "tcp" }, - { "sixxsconfig", { NULL }, 3874, "udp" }, - { "pnbscada", { NULL }, 3875, "tcp" }, - { "pnbscada", { NULL }, 3875, "udp" }, - { "dl_agent", { NULL }, 3876, "tcp" }, - { "dl_agent", { NULL }, 3876, "udp" }, - { "xmpcr-interface", { NULL }, 3877, "tcp" }, - { "xmpcr-interface", { NULL }, 3877, "udp" }, - { "fotogcad", { NULL }, 3878, "tcp" }, - { "fotogcad", { NULL }, 3878, "udp" }, - { "appss-lm", { NULL }, 3879, "tcp" }, - { "appss-lm", { NULL }, 3879, "udp" }, - { "igrs", { NULL }, 3880, "tcp" }, - { "igrs", { NULL }, 3880, "udp" }, - { "idac", { NULL }, 3881, "tcp" }, - { "idac", { NULL }, 3881, "udp" }, - { "msdts1", { NULL }, 3882, "tcp" }, - { "msdts1", { NULL }, 3882, "udp" }, - { "vrpn", { NULL }, 3883, "tcp" }, - { "vrpn", { NULL }, 3883, "udp" }, - { "softrack-meter", { NULL }, 3884, "tcp" }, - { "softrack-meter", { NULL }, 3884, "udp" }, - { "topflow-ssl", { NULL }, 3885, "tcp" }, - { "topflow-ssl", { NULL }, 3885, "udp" }, - { "nei-management", { NULL }, 3886, "tcp" }, - { "nei-management", { NULL }, 3886, "udp" }, - { "ciphire-data", { NULL }, 3887, "tcp" }, - { "ciphire-data", { NULL }, 3887, "udp" }, - { "ciphire-serv", { NULL }, 3888, "tcp" }, - { "ciphire-serv", { NULL }, 3888, "udp" }, - { "dandv-tester", { NULL }, 3889, "tcp" }, - { "dandv-tester", { NULL }, 3889, "udp" }, - { "ndsconnect", { NULL }, 3890, "tcp" }, - { "ndsconnect", { NULL }, 3890, "udp" }, - { "rtc-pm-port", { NULL }, 3891, "tcp" }, - { "rtc-pm-port", { NULL }, 3891, "udp" }, - { "pcc-image-port", { NULL }, 3892, "tcp" }, - { "pcc-image-port", { NULL }, 3892, "udp" }, - { "cgi-starapi", { NULL }, 3893, "tcp" }, - { "cgi-starapi", { NULL }, 3893, "udp" }, - { "syam-agent", { NULL }, 3894, "tcp" }, - { "syam-agent", { NULL }, 3894, "udp" }, - { "syam-smc", { NULL }, 3895, "tcp" }, - { "syam-smc", { NULL }, 3895, "udp" }, - { "sdo-tls", { NULL }, 3896, "tcp" }, - { "sdo-tls", { NULL }, 3896, "udp" }, - { "sdo-ssh", { NULL }, 3897, "tcp" }, - { "sdo-ssh", { NULL }, 3897, "udp" }, - { "senip", { NULL }, 3898, "tcp" }, - { "senip", { NULL }, 3898, "udp" }, - { "itv-control", { NULL }, 3899, "tcp" }, - { "itv-control", { NULL }, 3899, "udp" }, - { "udt_os", { NULL }, 3900, "tcp" }, - { "udt_os", { NULL }, 3900, "udp" }, - { "nimsh", { NULL }, 3901, "tcp" }, - { "nimsh", { NULL }, 3901, "udp" }, - { "nimaux", { NULL }, 3902, "tcp" }, - { "nimaux", { NULL }, 3902, "udp" }, - { "charsetmgr", { NULL }, 3903, "tcp" }, - { "charsetmgr", { NULL }, 3903, "udp" }, - { "omnilink-port", { NULL }, 3904, "tcp" }, - { "omnilink-port", { NULL }, 3904, "udp" }, - { "mupdate", { NULL }, 3905, "tcp" }, - { "mupdate", { NULL }, 3905, "udp" }, - { "topovista-data", { NULL }, 3906, "tcp" }, - { "topovista-data", { NULL }, 3906, "udp" }, - { "imoguia-port", { NULL }, 3907, "tcp" }, - { "imoguia-port", { NULL }, 3907, "udp" }, - { "hppronetman", { NULL }, 3908, "tcp" }, - { "hppronetman", { NULL }, 3908, "udp" }, - { "surfcontrolcpa", { NULL }, 3909, "tcp" }, - { "surfcontrolcpa", { NULL }, 3909, "udp" }, - { "prnrequest", { NULL }, 3910, "tcp" }, - { "prnrequest", { NULL }, 3910, "udp" }, - { "prnstatus", { NULL }, 3911, "tcp" }, - { "prnstatus", { NULL }, 3911, "udp" }, - { "gbmt-stars", { NULL }, 3912, "tcp" }, - { "gbmt-stars", { NULL }, 3912, "udp" }, - { "listcrt-port", { NULL }, 3913, "tcp" }, - { "listcrt-port", { NULL }, 3913, "udp" }, - { "listcrt-port-2", { NULL }, 3914, "tcp" }, - { "listcrt-port-2", { NULL }, 3914, "udp" }, - { "agcat", { NULL }, 3915, "tcp" }, - { "agcat", { NULL }, 3915, "udp" }, - { "wysdmc", { NULL }, 3916, "tcp" }, - { "wysdmc", { NULL }, 3916, "udp" }, - { "aftmux", { NULL }, 3917, "tcp" }, - { "aftmux", { NULL }, 3917, "udp" }, - { "pktcablemmcops", { NULL }, 3918, "tcp" }, - { "pktcablemmcops", { NULL }, 3918, "udp" }, - { "hyperip", { NULL }, 3919, "tcp" }, - { "hyperip", { NULL }, 3919, "udp" }, - { "exasoftport1", { NULL }, 3920, "tcp" }, - { "exasoftport1", { NULL }, 3920, "udp" }, - { "herodotus-net", { NULL }, 3921, "tcp" }, - { "herodotus-net", { NULL }, 3921, "udp" }, - { "sor-update", { NULL }, 3922, "tcp" }, - { "sor-update", { NULL }, 3922, "udp" }, - { "symb-sb-port", { NULL }, 3923, "tcp" }, - { "symb-sb-port", { NULL }, 3923, "udp" }, - { "mpl-gprs-port", { NULL }, 3924, "tcp" }, - { "mpl-gprs-port", { NULL }, 3924, "udp" }, - { "zmp", { NULL }, 3925, "tcp" }, - { "zmp", { NULL }, 3925, "udp" }, - { "winport", { NULL }, 3926, "tcp" }, - { "winport", { NULL }, 3926, "udp" }, - { "natdataservice", { NULL }, 3927, "tcp" }, - { "natdataservice", { NULL }, 3927, "udp" }, - { "netboot-pxe", { NULL }, 3928, "tcp" }, - { "netboot-pxe", { NULL }, 3928, "udp" }, - { "smauth-port", { NULL }, 3929, "tcp" }, - { "smauth-port", { NULL }, 3929, "udp" }, - { "syam-webserver", { NULL }, 3930, "tcp" }, - { "syam-webserver", { NULL }, 3930, "udp" }, - { "msr-plugin-port", { NULL }, 3931, "tcp" }, - { "msr-plugin-port", { NULL }, 3931, "udp" }, - { "dyn-site", { NULL }, 3932, "tcp" }, - { "dyn-site", { NULL }, 3932, "udp" }, - { "plbserve-port", { NULL }, 3933, "tcp" }, - { "plbserve-port", { NULL }, 3933, "udp" }, - { "sunfm-port", { NULL }, 3934, "tcp" }, - { "sunfm-port", { NULL }, 3934, "udp" }, - { "sdp-portmapper", { NULL }, 3935, "tcp" }, - { "sdp-portmapper", { NULL }, 3935, "udp" }, - { "mailprox", { NULL }, 3936, "tcp" }, - { "mailprox", { NULL }, 3936, "udp" }, - { "dvbservdsc", { NULL }, 3937, "tcp" }, - { "dvbservdsc", { NULL }, 3937, "udp" }, - { "dbcontrol_agent", { NULL }, 3938, "tcp" }, - { "dbcontrol_agent", { NULL }, 3938, "udp" }, - { "aamp", { NULL }, 3939, "tcp" }, - { "aamp", { NULL }, 3939, "udp" }, - { "xecp-node", { NULL }, 3940, "tcp" }, - { "xecp-node", { NULL }, 3940, "udp" }, - { "homeportal-web", { NULL }, 3941, "tcp" }, - { "homeportal-web", { NULL }, 3941, "udp" }, - { "srdp", { NULL }, 3942, "tcp" }, - { "srdp", { NULL }, 3942, "udp" }, - { "tig", { NULL }, 3943, "tcp" }, - { "tig", { NULL }, 3943, "udp" }, - { "sops", { NULL }, 3944, "tcp" }, - { "sops", { NULL }, 3944, "udp" }, - { "emcads", { NULL }, 3945, "tcp" }, - { "emcads", { NULL }, 3945, "udp" }, - { "backupedge", { NULL }, 3946, "tcp" }, - { "backupedge", { NULL }, 3946, "udp" }, - { "ccp", { NULL }, 3947, "tcp" }, - { "ccp", { NULL }, 3947, "udp" }, - { "apdap", { NULL }, 3948, "tcp" }, - { "apdap", { NULL }, 3948, "udp" }, - { "drip", { NULL }, 3949, "tcp" }, - { "drip", { NULL }, 3949, "udp" }, - { "namemunge", { NULL }, 3950, "tcp" }, - { "namemunge", { NULL }, 3950, "udp" }, - { "pwgippfax", { NULL }, 3951, "tcp" }, - { "pwgippfax", { NULL }, 3951, "udp" }, - { "i3-sessionmgr", { NULL }, 3952, "tcp" }, - { "i3-sessionmgr", { NULL }, 3952, "udp" }, - { "xmlink-connect", { NULL }, 3953, "tcp" }, - { "xmlink-connect", { NULL }, 3953, "udp" }, - { "adrep", { NULL }, 3954, "tcp" }, - { "adrep", { NULL }, 3954, "udp" }, - { "p2pcommunity", { NULL }, 3955, "tcp" }, - { "p2pcommunity", { NULL }, 3955, "udp" }, - { "gvcp", { NULL }, 3956, "tcp" }, - { "gvcp", { NULL }, 3956, "udp" }, - { "mqe-broker", { NULL }, 3957, "tcp" }, - { "mqe-broker", { NULL }, 3957, "udp" }, - { "mqe-agent", { NULL }, 3958, "tcp" }, - { "mqe-agent", { NULL }, 3958, "udp" }, - { "treehopper", { NULL }, 3959, "tcp" }, - { "treehopper", { NULL }, 3959, "udp" }, - { "bess", { NULL }, 3960, "tcp" }, - { "bess", { NULL }, 3960, "udp" }, - { "proaxess", { NULL }, 3961, "tcp" }, - { "proaxess", { NULL }, 3961, "udp" }, - { "sbi-agent", { NULL }, 3962, "tcp" }, - { "sbi-agent", { NULL }, 3962, "udp" }, - { "thrp", { NULL }, 3963, "tcp" }, - { "thrp", { NULL }, 3963, "udp" }, - { "sasggprs", { NULL }, 3964, "tcp" }, - { "sasggprs", { NULL }, 3964, "udp" }, - { "ati-ip-to-ncpe", { NULL }, 3965, "tcp" }, - { "ati-ip-to-ncpe", { NULL }, 3965, "udp" }, - { "bflckmgr", { NULL }, 3966, "tcp" }, - { "bflckmgr", { NULL }, 3966, "udp" }, - { "ppsms", { NULL }, 3967, "tcp" }, - { "ppsms", { NULL }, 3967, "udp" }, - { "ianywhere-dbns", { NULL }, 3968, "tcp" }, - { "ianywhere-dbns", { NULL }, 3968, "udp" }, - { "landmarks", { NULL }, 3969, "tcp" }, - { "landmarks", { NULL }, 3969, "udp" }, - { "lanrevagent", { NULL }, 3970, "tcp" }, - { "lanrevagent", { NULL }, 3970, "udp" }, - { "lanrevserver", { NULL }, 3971, "tcp" }, - { "lanrevserver", { NULL }, 3971, "udp" }, - { "iconp", { NULL }, 3972, "tcp" }, - { "iconp", { NULL }, 3972, "udp" }, - { "progistics", { NULL }, 3973, "tcp" }, - { "progistics", { NULL }, 3973, "udp" }, - { "citysearch", { NULL }, 3974, "tcp" }, - { "citysearch", { NULL }, 3974, "udp" }, - { "airshot", { NULL }, 3975, "tcp" }, - { "airshot", { NULL }, 3975, "udp" }, - { "opswagent", { NULL }, 3976, "tcp" }, - { "opswagent", { NULL }, 3976, "udp" }, - { "opswmanager", { NULL }, 3977, "tcp" }, - { "opswmanager", { NULL }, 3977, "udp" }, - { "secure-cfg-svr", { NULL }, 3978, "tcp" }, - { "secure-cfg-svr", { NULL }, 3978, "udp" }, - { "smwan", { NULL }, 3979, "tcp" }, - { "smwan", { NULL }, 3979, "udp" }, - { "acms", { NULL }, 3980, "tcp" }, - { "acms", { NULL }, 3980, "udp" }, - { "starfish", { NULL }, 3981, "tcp" }, - { "starfish", { NULL }, 3981, "udp" }, - { "eis", { NULL }, 3982, "tcp" }, - { "eis", { NULL }, 3982, "udp" }, - { "eisp", { NULL }, 3983, "tcp" }, - { "eisp", { NULL }, 3983, "udp" }, - { "mapper-nodemgr", { NULL }, 3984, "tcp" }, - { "mapper-nodemgr", { NULL }, 3984, "udp" }, - { "mapper-mapethd", { NULL }, 3985, "tcp" }, - { "mapper-mapethd", { NULL }, 3985, "udp" }, - { "mapper-ws_ethd", { NULL }, 3986, "tcp" }, - { "mapper-ws_ethd", { NULL }, 3986, "udp" }, - { "centerline", { NULL }, 3987, "tcp" }, - { "centerline", { NULL }, 3987, "udp" }, - { "dcs-config", { NULL }, 3988, "tcp" }, - { "dcs-config", { NULL }, 3988, "udp" }, - { "bv-queryengine", { NULL }, 3989, "tcp" }, - { "bv-queryengine", { NULL }, 3989, "udp" }, - { "bv-is", { NULL }, 3990, "tcp" }, - { "bv-is", { NULL }, 3990, "udp" }, - { "bv-smcsrv", { NULL }, 3991, "tcp" }, - { "bv-smcsrv", { NULL }, 3991, "udp" }, - { "bv-ds", { NULL }, 3992, "tcp" }, - { "bv-ds", { NULL }, 3992, "udp" }, - { "bv-agent", { NULL }, 3993, "tcp" }, - { "bv-agent", { NULL }, 3993, "udp" }, - { "iss-mgmt-ssl", { NULL }, 3995, "tcp" }, - { "iss-mgmt-ssl", { NULL }, 3995, "udp" }, - { "abcsoftware", { NULL }, 3996, "tcp" }, - { "abcsoftware", { NULL }, 3996, "udp" }, - { "agentsease-db", { NULL }, 3997, "tcp" }, - { "agentsease-db", { NULL }, 3997, "udp" }, - { "dnx", { NULL }, 3998, "tcp" }, - { "dnx", { NULL }, 3998, "udp" }, - { "nvcnet", { NULL }, 3999, "tcp" }, - { "nvcnet", { NULL }, 3999, "udp" }, - { "terabase", { NULL }, 4000, "tcp" }, - { "terabase", { NULL }, 4000, "udp" }, - { "newoak", { NULL }, 4001, "tcp" }, - { "newoak", { NULL }, 4001, "udp" }, - { "pxc-spvr-ft", { NULL }, 4002, "tcp" }, - { "pxc-spvr-ft", { NULL }, 4002, "udp" }, - { "pxc-splr-ft", { NULL }, 4003, "tcp" }, - { "pxc-splr-ft", { NULL }, 4003, "udp" }, - { "pxc-roid", { NULL }, 4004, "tcp" }, - { "pxc-roid", { NULL }, 4004, "udp" }, - { "pxc-pin", { NULL }, 4005, "tcp" }, - { "pxc-pin", { NULL }, 4005, "udp" }, - { "pxc-spvr", { NULL }, 4006, "tcp" }, - { "pxc-spvr", { NULL }, 4006, "udp" }, - { "pxc-splr", { NULL }, 4007, "tcp" }, - { "pxc-splr", { NULL }, 4007, "udp" }, - { "netcheque", { NULL }, 4008, "tcp" }, - { "netcheque", { NULL }, 4008, "udp" }, - { "chimera-hwm", { NULL }, 4009, "tcp" }, - { "chimera-hwm", { NULL }, 4009, "udp" }, - { "samsung-unidex", { NULL }, 4010, "tcp" }, - { "samsung-unidex", { NULL }, 4010, "udp" }, - { "altserviceboot", { NULL }, 4011, "tcp" }, - { "altserviceboot", { NULL }, 4011, "udp" }, - { "pda-gate", { NULL }, 4012, "tcp" }, - { "pda-gate", { NULL }, 4012, "udp" }, - { "acl-manager", { NULL }, 4013, "tcp" }, - { "acl-manager", { NULL }, 4013, "udp" }, - { "taiclock", { NULL }, 4014, "tcp" }, - { "taiclock", { NULL }, 4014, "udp" }, - { "talarian-mcast1", { NULL }, 4015, "tcp" }, - { "talarian-mcast1", { NULL }, 4015, "udp" }, - { "talarian-mcast2", { NULL }, 4016, "tcp" }, - { "talarian-mcast2", { NULL }, 4016, "udp" }, - { "talarian-mcast3", { NULL }, 4017, "tcp" }, - { "talarian-mcast3", { NULL }, 4017, "udp" }, - { "talarian-mcast4", { NULL }, 4018, "tcp" }, - { "talarian-mcast4", { NULL }, 4018, "udp" }, - { "talarian-mcast5", { NULL }, 4019, "tcp" }, - { "talarian-mcast5", { NULL }, 4019, "udp" }, - { "trap", { NULL }, 4020, "tcp" }, - { "trap", { NULL }, 4020, "udp" }, - { "nexus-portal", { NULL }, 4021, "tcp" }, - { "nexus-portal", { NULL }, 4021, "udp" }, - { "dnox", { NULL }, 4022, "tcp" }, - { "dnox", { NULL }, 4022, "udp" }, - { "esnm-zoning", { NULL }, 4023, "tcp" }, - { "esnm-zoning", { NULL }, 4023, "udp" }, - { "tnp1-port", { NULL }, 4024, "tcp" }, - { "tnp1-port", { NULL }, 4024, "udp" }, - { "partimage", { NULL }, 4025, "tcp" }, - { "partimage", { NULL }, 4025, "udp" }, - { "as-debug", { NULL }, 4026, "tcp" }, - { "as-debug", { NULL }, 4026, "udp" }, - { "bxp", { NULL }, 4027, "tcp" }, - { "bxp", { NULL }, 4027, "udp" }, - { "dtserver-port", { NULL }, 4028, "tcp" }, - { "dtserver-port", { NULL }, 4028, "udp" }, - { "ip-qsig", { NULL }, 4029, "tcp" }, - { "ip-qsig", { NULL }, 4029, "udp" }, - { "jdmn-port", { NULL }, 4030, "tcp" }, - { "jdmn-port", { NULL }, 4030, "udp" }, - { "suucp", { NULL }, 4031, "tcp" }, - { "suucp", { NULL }, 4031, "udp" }, - { "vrts-auth-port", { NULL }, 4032, "tcp" }, - { "vrts-auth-port", { NULL }, 4032, "udp" }, - { "sanavigator", { NULL }, 4033, "tcp" }, - { "sanavigator", { NULL }, 4033, "udp" }, - { "ubxd", { NULL }, 4034, "tcp" }, - { "ubxd", { NULL }, 4034, "udp" }, - { "wap-push-http", { NULL }, 4035, "tcp" }, - { "wap-push-http", { NULL }, 4035, "udp" }, - { "wap-push-https", { NULL }, 4036, "tcp" }, - { "wap-push-https", { NULL }, 4036, "udp" }, - { "ravehd", { NULL }, 4037, "tcp" }, - { "ravehd", { NULL }, 4037, "udp" }, - { "fazzt-ptp", { NULL }, 4038, "tcp" }, - { "fazzt-ptp", { NULL }, 4038, "udp" }, - { "fazzt-admin", { NULL }, 4039, "tcp" }, - { "fazzt-admin", { NULL }, 4039, "udp" }, - { "yo-main", { NULL }, 4040, "tcp" }, - { "yo-main", { NULL }, 4040, "udp" }, - { "houston", { NULL }, 4041, "tcp" }, - { "houston", { NULL }, 4041, "udp" }, - { "ldxp", { NULL }, 4042, "tcp" }, - { "ldxp", { NULL }, 4042, "udp" }, - { "nirp", { NULL }, 4043, "tcp" }, - { "nirp", { NULL }, 4043, "udp" }, - { "ltp", { NULL }, 4044, "tcp" }, - { "ltp", { NULL }, 4044, "udp" }, - { "npp", { NULL }, 4045, "tcp" }, - { "npp", { NULL }, 4045, "udp" }, - { "acp-proto", { NULL }, 4046, "tcp" }, - { "acp-proto", { NULL }, 4046, "udp" }, - { "ctp-state", { NULL }, 4047, "tcp" }, - { "ctp-state", { NULL }, 4047, "udp" }, - { "wafs", { NULL }, 4049, "tcp" }, - { "wafs", { NULL }, 4049, "udp" }, - { "cisco-wafs", { NULL }, 4050, "tcp" }, - { "cisco-wafs", { NULL }, 4050, "udp" }, - { "cppdp", { NULL }, 4051, "tcp" }, - { "cppdp", { NULL }, 4051, "udp" }, - { "interact", { NULL }, 4052, "tcp" }, - { "interact", { NULL }, 4052, "udp" }, - { "ccu-comm-1", { NULL }, 4053, "tcp" }, - { "ccu-comm-1", { NULL }, 4053, "udp" }, - { "ccu-comm-2", { NULL }, 4054, "tcp" }, - { "ccu-comm-2", { NULL }, 4054, "udp" }, - { "ccu-comm-3", { NULL }, 4055, "tcp" }, - { "ccu-comm-3", { NULL }, 4055, "udp" }, - { "lms", { NULL }, 4056, "tcp" }, - { "lms", { NULL }, 4056, "udp" }, - { "wfm", { NULL }, 4057, "tcp" }, - { "wfm", { NULL }, 4057, "udp" }, - { "kingfisher", { NULL }, 4058, "tcp" }, - { "kingfisher", { NULL }, 4058, "udp" }, - { "dlms-cosem", { NULL }, 4059, "tcp" }, - { "dlms-cosem", { NULL }, 4059, "udp" }, - { "dsmeter_iatc", { NULL }, 4060, "tcp" }, - { "dsmeter_iatc", { NULL }, 4060, "udp" }, - { "ice-location", { NULL }, 4061, "tcp" }, - { "ice-location", { NULL }, 4061, "udp" }, - { "ice-slocation", { NULL }, 4062, "tcp" }, - { "ice-slocation", { NULL }, 4062, "udp" }, - { "ice-router", { NULL }, 4063, "tcp" }, - { "ice-router", { NULL }, 4063, "udp" }, - { "ice-srouter", { NULL }, 4064, "tcp" }, - { "ice-srouter", { NULL }, 4064, "udp" }, - { "avanti_cdp", { NULL }, 4065, "tcp" }, - { "avanti_cdp", { NULL }, 4065, "udp" }, - { "pmas", { NULL }, 4066, "tcp" }, - { "pmas", { NULL }, 4066, "udp" }, - { "idp", { NULL }, 4067, "tcp" }, - { "idp", { NULL }, 4067, "udp" }, - { "ipfltbcst", { NULL }, 4068, "tcp" }, - { "ipfltbcst", { NULL }, 4068, "udp" }, - { "minger", { NULL }, 4069, "tcp" }, - { "minger", { NULL }, 4069, "udp" }, - { "tripe", { NULL }, 4070, "tcp" }, - { "tripe", { NULL }, 4070, "udp" }, - { "aibkup", { NULL }, 4071, "tcp" }, - { "aibkup", { NULL }, 4071, "udp" }, - { "zieto-sock", { NULL }, 4072, "tcp" }, - { "zieto-sock", { NULL }, 4072, "udp" }, - { "iRAPP", { NULL }, 4073, "tcp" }, - { "iRAPP", { NULL }, 4073, "udp" }, - { "cequint-cityid", { NULL }, 4074, "tcp" }, - { "cequint-cityid", { NULL }, 4074, "udp" }, - { "perimlan", { NULL }, 4075, "tcp" }, - { "perimlan", { NULL }, 4075, "udp" }, - { "seraph", { NULL }, 4076, "tcp" }, - { "seraph", { NULL }, 4076, "udp" }, - { "ascomalarm", { NULL }, 4077, "udp" }, - { "cssp", { NULL }, 4078, "tcp" }, - { "santools", { NULL }, 4079, "tcp" }, - { "santools", { NULL }, 4079, "udp" }, - { "lorica-in", { NULL }, 4080, "tcp" }, - { "lorica-in", { NULL }, 4080, "udp" }, - { "lorica-in-sec", { NULL }, 4081, "tcp" }, - { "lorica-in-sec", { NULL }, 4081, "udp" }, - { "lorica-out", { NULL }, 4082, "tcp" }, - { "lorica-out", { NULL }, 4082, "udp" }, - { "lorica-out-sec", { NULL }, 4083, "tcp" }, - { "lorica-out-sec", { NULL }, 4083, "udp" }, - { "fortisphere-vm", { NULL }, 4084, "udp" }, - { "ezmessagesrv", { NULL }, 4085, "tcp" }, - { "ftsync", { NULL }, 4086, "udp" }, - { "applusservice", { NULL }, 4087, "tcp" }, - { "npsp", { NULL }, 4088, "tcp" }, - { "opencore", { NULL }, 4089, "tcp" }, - { "opencore", { NULL }, 4089, "udp" }, - { "omasgport", { NULL }, 4090, "tcp" }, - { "omasgport", { NULL }, 4090, "udp" }, - { "ewinstaller", { NULL }, 4091, "tcp" }, - { "ewinstaller", { NULL }, 4091, "udp" }, - { "ewdgs", { NULL }, 4092, "tcp" }, - { "ewdgs", { NULL }, 4092, "udp" }, - { "pvxpluscs", { NULL }, 4093, "tcp" }, - { "pvxpluscs", { NULL }, 4093, "udp" }, - { "sysrqd", { NULL }, 4094, "tcp" }, - { "sysrqd", { NULL }, 4094, "udp" }, - { "xtgui", { NULL }, 4095, "tcp" }, - { "xtgui", { NULL }, 4095, "udp" }, - { "bre", { NULL }, 4096, "tcp" }, - { "bre", { NULL }, 4096, "udp" }, - { "patrolview", { NULL }, 4097, "tcp" }, - { "patrolview", { NULL }, 4097, "udp" }, - { "drmsfsd", { NULL }, 4098, "tcp" }, - { "drmsfsd", { NULL }, 4098, "udp" }, - { "dpcp", { NULL }, 4099, "tcp" }, - { "dpcp", { NULL }, 4099, "udp" }, - { "igo-incognito", { NULL }, 4100, "tcp" }, - { "igo-incognito", { NULL }, 4100, "udp" }, - { "brlp-0", { NULL }, 4101, "tcp" }, - { "brlp-0", { NULL }, 4101, "udp" }, - { "brlp-1", { NULL }, 4102, "tcp" }, - { "brlp-1", { NULL }, 4102, "udp" }, - { "brlp-2", { NULL }, 4103, "tcp" }, - { "brlp-2", { NULL }, 4103, "udp" }, - { "brlp-3", { NULL }, 4104, "tcp" }, - { "brlp-3", { NULL }, 4104, "udp" }, - { "shofarplayer", { NULL }, 4105, "tcp" }, - { "shofarplayer", { NULL }, 4105, "udp" }, - { "synchronite", { NULL }, 4106, "tcp" }, - { "synchronite", { NULL }, 4106, "udp" }, - { "j-ac", { NULL }, 4107, "tcp" }, - { "j-ac", { NULL }, 4107, "udp" }, - { "accel", { NULL }, 4108, "tcp" }, - { "accel", { NULL }, 4108, "udp" }, - { "izm", { NULL }, 4109, "tcp" }, - { "izm", { NULL }, 4109, "udp" }, - { "g2tag", { NULL }, 4110, "tcp" }, - { "g2tag", { NULL }, 4110, "udp" }, - { "xgrid", { NULL }, 4111, "tcp" }, - { "xgrid", { NULL }, 4111, "udp" }, - { "apple-vpns-rp", { NULL }, 4112, "tcp" }, - { "apple-vpns-rp", { NULL }, 4112, "udp" }, - { "aipn-reg", { NULL }, 4113, "tcp" }, - { "aipn-reg", { NULL }, 4113, "udp" }, - { "jomamqmonitor", { NULL }, 4114, "tcp" }, - { "jomamqmonitor", { NULL }, 4114, "udp" }, - { "cds", { NULL }, 4115, "tcp" }, - { "cds", { NULL }, 4115, "udp" }, - { "smartcard-tls", { NULL }, 4116, "tcp" }, - { "smartcard-tls", { NULL }, 4116, "udp" }, - { "hillrserv", { NULL }, 4117, "tcp" }, - { "hillrserv", { NULL }, 4117, "udp" }, - { "netscript", { NULL }, 4118, "tcp" }, - { "netscript", { NULL }, 4118, "udp" }, - { "assuria-slm", { NULL }, 4119, "tcp" }, - { "assuria-slm", { NULL }, 4119, "udp" }, - { "e-builder", { NULL }, 4121, "tcp" }, - { "e-builder", { NULL }, 4121, "udp" }, - { "fprams", { NULL }, 4122, "tcp" }, - { "fprams", { NULL }, 4122, "udp" }, - { "z-wave", { NULL }, 4123, "tcp" }, - { "z-wave", { NULL }, 4123, "udp" }, - { "tigv2", { NULL }, 4124, "tcp" }, - { "tigv2", { NULL }, 4124, "udp" }, - { "opsview-envoy", { NULL }, 4125, "tcp" }, - { "opsview-envoy", { NULL }, 4125, "udp" }, - { "ddrepl", { NULL }, 4126, "tcp" }, - { "ddrepl", { NULL }, 4126, "udp" }, - { "unikeypro", { NULL }, 4127, "tcp" }, - { "unikeypro", { NULL }, 4127, "udp" }, - { "nufw", { NULL }, 4128, "tcp" }, - { "nufw", { NULL }, 4128, "udp" }, - { "nuauth", { NULL }, 4129, "tcp" }, - { "nuauth", { NULL }, 4129, "udp" }, - { "fronet", { NULL }, 4130, "tcp" }, - { "fronet", { NULL }, 4130, "udp" }, - { "stars", { NULL }, 4131, "tcp" }, - { "stars", { NULL }, 4131, "udp" }, - { "nuts_dem", { NULL }, 4132, "tcp" }, - { "nuts_dem", { NULL }, 4132, "udp" }, - { "nuts_bootp", { NULL }, 4133, "tcp" }, - { "nuts_bootp", { NULL }, 4133, "udp" }, - { "nifty-hmi", { NULL }, 4134, "tcp" }, - { "nifty-hmi", { NULL }, 4134, "udp" }, - { "cl-db-attach", { NULL }, 4135, "tcp" }, - { "cl-db-attach", { NULL }, 4135, "udp" }, - { "cl-db-request", { NULL }, 4136, "tcp" }, - { "cl-db-request", { NULL }, 4136, "udp" }, - { "cl-db-remote", { NULL }, 4137, "tcp" }, - { "cl-db-remote", { NULL }, 4137, "udp" }, - { "nettest", { NULL }, 4138, "tcp" }, - { "nettest", { NULL }, 4138, "udp" }, - { "thrtx", { NULL }, 4139, "tcp" }, - { "thrtx", { NULL }, 4139, "udp" }, - { "cedros_fds", { NULL }, 4140, "tcp" }, - { "cedros_fds", { NULL }, 4140, "udp" }, - { "oirtgsvc", { NULL }, 4141, "tcp" }, - { "oirtgsvc", { NULL }, 4141, "udp" }, - { "oidocsvc", { NULL }, 4142, "tcp" }, - { "oidocsvc", { NULL }, 4142, "udp" }, - { "oidsr", { NULL }, 4143, "tcp" }, - { "oidsr", { NULL }, 4143, "udp" }, - { "vvr-control", { NULL }, 4145, "tcp" }, - { "vvr-control", { NULL }, 4145, "udp" }, - { "tgcconnect", { NULL }, 4146, "tcp" }, - { "tgcconnect", { NULL }, 4146, "udp" }, - { "vrxpservman", { NULL }, 4147, "tcp" }, - { "vrxpservman", { NULL }, 4147, "udp" }, - { "hhb-handheld", { NULL }, 4148, "tcp" }, - { "hhb-handheld", { NULL }, 4148, "udp" }, - { "agslb", { NULL }, 4149, "tcp" }, - { "agslb", { NULL }, 4149, "udp" }, - { "PowerAlert-nsa", { NULL }, 4150, "tcp" }, - { "PowerAlert-nsa", { NULL }, 4150, "udp" }, - { "menandmice_noh", { NULL }, 4151, "tcp" }, - { "menandmice_noh", { NULL }, 4151, "udp" }, - { "idig_mux", { NULL }, 4152, "tcp" }, - { "idig_mux", { NULL }, 4152, "udp" }, - { "mbl-battd", { NULL }, 4153, "tcp" }, - { "mbl-battd", { NULL }, 4153, "udp" }, - { "atlinks", { NULL }, 4154, "tcp" }, - { "atlinks", { NULL }, 4154, "udp" }, - { "bzr", { NULL }, 4155, "tcp" }, - { "bzr", { NULL }, 4155, "udp" }, - { "stat-results", { NULL }, 4156, "tcp" }, - { "stat-results", { NULL }, 4156, "udp" }, - { "stat-scanner", { NULL }, 4157, "tcp" }, - { "stat-scanner", { NULL }, 4157, "udp" }, - { "stat-cc", { NULL }, 4158, "tcp" }, - { "stat-cc", { NULL }, 4158, "udp" }, - { "nss", { NULL }, 4159, "tcp" }, - { "nss", { NULL }, 4159, "udp" }, - { "jini-discovery", { NULL }, 4160, "tcp" }, - { "jini-discovery", { NULL }, 4160, "udp" }, - { "omscontact", { NULL }, 4161, "tcp" }, - { "omscontact", { NULL }, 4161, "udp" }, - { "omstopology", { NULL }, 4162, "tcp" }, - { "omstopology", { NULL }, 4162, "udp" }, - { "silverpeakpeer", { NULL }, 4163, "tcp" }, - { "silverpeakpeer", { NULL }, 4163, "udp" }, - { "silverpeakcomm", { NULL }, 4164, "tcp" }, - { "silverpeakcomm", { NULL }, 4164, "udp" }, - { "altcp", { NULL }, 4165, "tcp" }, - { "altcp", { NULL }, 4165, "udp" }, - { "joost", { NULL }, 4166, "tcp" }, - { "joost", { NULL }, 4166, "udp" }, - { "ddgn", { NULL }, 4167, "tcp" }, - { "ddgn", { NULL }, 4167, "udp" }, - { "pslicser", { NULL }, 4168, "tcp" }, - { "pslicser", { NULL }, 4168, "udp" }, - { "iadt", { NULL }, 4169, "tcp" }, - { "iadt-disc", { NULL }, 4169, "udp" }, - { "d-cinema-csp", { NULL }, 4170, "tcp" }, - { "ml-svnet", { NULL }, 4171, "tcp" }, - { "pcoip", { NULL }, 4172, "tcp" }, - { "pcoip", { NULL }, 4172, "udp" }, - { "smcluster", { NULL }, 4174, "tcp" }, - { "bccp", { NULL }, 4175, "tcp" }, - { "tl-ipcproxy", { NULL }, 4176, "tcp" }, - { "wello", { NULL }, 4177, "tcp" }, - { "wello", { NULL }, 4177, "udp" }, - { "storman", { NULL }, 4178, "tcp" }, - { "storman", { NULL }, 4178, "udp" }, - { "MaxumSP", { NULL }, 4179, "tcp" }, - { "MaxumSP", { NULL }, 4179, "udp" }, - { "httpx", { NULL }, 4180, "tcp" }, - { "httpx", { NULL }, 4180, "udp" }, - { "macbak", { NULL }, 4181, "tcp" }, - { "macbak", { NULL }, 4181, "udp" }, - { "pcptcpservice", { NULL }, 4182, "tcp" }, - { "pcptcpservice", { NULL }, 4182, "udp" }, - { "gmmp", { NULL }, 4183, "tcp" }, - { "gmmp", { NULL }, 4183, "udp" }, - { "universe_suite", { NULL }, 4184, "tcp" }, - { "universe_suite", { NULL }, 4184, "udp" }, - { "wcpp", { NULL }, 4185, "tcp" }, - { "wcpp", { NULL }, 4185, "udp" }, - { "boxbackupstore", { NULL }, 4186, "tcp" }, - { "csc_proxy", { NULL }, 4187, "tcp" }, - { "vatata", { NULL }, 4188, "tcp" }, - { "vatata", { NULL }, 4188, "udp" }, - { "pcep", { NULL }, 4189, "tcp" }, - { "sieve", { NULL }, 4190, "tcp" }, - { "dsmipv6", { NULL }, 4191, "udp" }, - { "azeti", { NULL }, 4192, "tcp" }, - { "azeti-bd", { NULL }, 4192, "udp" }, - { "pvxplusio", { NULL }, 4193, "tcp" }, - { "eims-admin", { NULL }, 4199, "tcp" }, - { "eims-admin", { NULL }, 4199, "udp" }, - { "corelccam", { NULL }, 4300, "tcp" }, - { "corelccam", { NULL }, 4300, "udp" }, - { "d-data", { NULL }, 4301, "tcp" }, - { "d-data", { NULL }, 4301, "udp" }, - { "d-data-control", { NULL }, 4302, "tcp" }, - { "d-data-control", { NULL }, 4302, "udp" }, - { "srcp", { NULL }, 4303, "tcp" }, - { "srcp", { NULL }, 4303, "udp" }, - { "owserver", { NULL }, 4304, "tcp" }, - { "owserver", { NULL }, 4304, "udp" }, - { "batman", { NULL }, 4305, "tcp" }, - { "batman", { NULL }, 4305, "udp" }, - { "pinghgl", { NULL }, 4306, "tcp" }, - { "pinghgl", { NULL }, 4306, "udp" }, - { "visicron-vs", { NULL }, 4307, "tcp" }, - { "visicron-vs", { NULL }, 4307, "udp" }, - { "compx-lockview", { NULL }, 4308, "tcp" }, - { "compx-lockview", { NULL }, 4308, "udp" }, - { "dserver", { NULL }, 4309, "tcp" }, - { "dserver", { NULL }, 4309, "udp" }, - { "mirrtex", { NULL }, 4310, "tcp" }, - { "mirrtex", { NULL }, 4310, "udp" }, - { "p6ssmc", { NULL }, 4311, "tcp" }, - { "pscl-mgt", { NULL }, 4312, "tcp" }, - { "perrla", { NULL }, 4313, "tcp" }, - { "fdt-rcatp", { NULL }, 4320, "tcp" }, - { "fdt-rcatp", { NULL }, 4320, "udp" }, - { "rwhois", { NULL }, 4321, "tcp" }, - { "rwhois", { NULL }, 4321, "udp" }, - { "trim-event", { NULL }, 4322, "tcp" }, - { "trim-event", { NULL }, 4322, "udp" }, - { "trim-ice", { NULL }, 4323, "tcp" }, - { "trim-ice", { NULL }, 4323, "udp" }, - { "balour", { NULL }, 4324, "tcp" }, - { "balour", { NULL }, 4324, "udp" }, - { "geognosisman", { NULL }, 4325, "tcp" }, - { "geognosisman", { NULL }, 4325, "udp" }, - { "geognosis", { NULL }, 4326, "tcp" }, - { "geognosis", { NULL }, 4326, "udp" }, - { "jaxer-web", { NULL }, 4327, "tcp" }, - { "jaxer-web", { NULL }, 4327, "udp" }, - { "jaxer-manager", { NULL }, 4328, "tcp" }, - { "jaxer-manager", { NULL }, 4328, "udp" }, - { "publiqare-sync", { NULL }, 4329, "tcp" }, - { "gaia", { NULL }, 4340, "tcp" }, - { "gaia", { NULL }, 4340, "udp" }, - { "lisp-data", { NULL }, 4341, "tcp" }, - { "lisp-data", { NULL }, 4341, "udp" }, - { "lisp-cons", { NULL }, 4342, "tcp" }, - { "lisp-control", { NULL }, 4342, "udp" }, - { "unicall", { NULL }, 4343, "tcp" }, - { "unicall", { NULL }, 4343, "udp" }, - { "vinainstall", { NULL }, 4344, "tcp" }, - { "vinainstall", { NULL }, 4344, "udp" }, - { "m4-network-as", { NULL }, 4345, "tcp" }, - { "m4-network-as", { NULL }, 4345, "udp" }, - { "elanlm", { NULL }, 4346, "tcp" }, - { "elanlm", { NULL }, 4346, "udp" }, - { "lansurveyor", { NULL }, 4347, "tcp" }, - { "lansurveyor", { NULL }, 4347, "udp" }, - { "itose", { NULL }, 4348, "tcp" }, - { "itose", { NULL }, 4348, "udp" }, - { "fsportmap", { NULL }, 4349, "tcp" }, - { "fsportmap", { NULL }, 4349, "udp" }, - { "net-device", { NULL }, 4350, "tcp" }, - { "net-device", { NULL }, 4350, "udp" }, - { "plcy-net-svcs", { NULL }, 4351, "tcp" }, - { "plcy-net-svcs", { NULL }, 4351, "udp" }, - { "pjlink", { NULL }, 4352, "tcp" }, - { "pjlink", { NULL }, 4352, "udp" }, - { "f5-iquery", { NULL }, 4353, "tcp" }, - { "f5-iquery", { NULL }, 4353, "udp" }, - { "qsnet-trans", { NULL }, 4354, "tcp" }, - { "qsnet-trans", { NULL }, 4354, "udp" }, - { "qsnet-workst", { NULL }, 4355, "tcp" }, - { "qsnet-workst", { NULL }, 4355, "udp" }, - { "qsnet-assist", { NULL }, 4356, "tcp" }, - { "qsnet-assist", { NULL }, 4356, "udp" }, - { "qsnet-cond", { NULL }, 4357, "tcp" }, - { "qsnet-cond", { NULL }, 4357, "udp" }, - { "qsnet-nucl", { NULL }, 4358, "tcp" }, - { "qsnet-nucl", { NULL }, 4358, "udp" }, - { "omabcastltkm", { NULL }, 4359, "tcp" }, - { "omabcastltkm", { NULL }, 4359, "udp" }, - { "matrix_vnet", { NULL }, 4360, "tcp" }, - { "nacnl", { NULL }, 4361, "udp" }, - { "afore-vdp-disc", { NULL }, 4362, "udp" }, - { "wxbrief", { NULL }, 4368, "tcp" }, - { "wxbrief", { NULL }, 4368, "udp" }, - { "epmd", { NULL }, 4369, "tcp" }, - { "epmd", { NULL }, 4369, "udp" }, - { "elpro_tunnel", { NULL }, 4370, "tcp" }, - { "elpro_tunnel", { NULL }, 4370, "udp" }, - { "l2c-control", { NULL }, 4371, "tcp" }, - { "l2c-disc", { NULL }, 4371, "udp" }, - { "l2c-data", { NULL }, 4372, "tcp" }, - { "l2c-data", { NULL }, 4372, "udp" }, - { "remctl", { NULL }, 4373, "tcp" }, - { "remctl", { NULL }, 4373, "udp" }, - { "psi-ptt", { NULL }, 4374, "tcp" }, - { "tolteces", { NULL }, 4375, "tcp" }, - { "tolteces", { NULL }, 4375, "udp" }, - { "bip", { NULL }, 4376, "tcp" }, - { "bip", { NULL }, 4376, "udp" }, - { "cp-spxsvr", { NULL }, 4377, "tcp" }, - { "cp-spxsvr", { NULL }, 4377, "udp" }, - { "cp-spxdpy", { NULL }, 4378, "tcp" }, - { "cp-spxdpy", { NULL }, 4378, "udp" }, - { "ctdb", { NULL }, 4379, "tcp" }, - { "ctdb", { NULL }, 4379, "udp" }, - { "xandros-cms", { NULL }, 4389, "tcp" }, - { "xandros-cms", { NULL }, 4389, "udp" }, - { "wiegand", { NULL }, 4390, "tcp" }, - { "wiegand", { NULL }, 4390, "udp" }, - { "apwi-imserver", { NULL }, 4391, "tcp" }, - { "apwi-rxserver", { NULL }, 4392, "tcp" }, - { "apwi-rxspooler", { NULL }, 4393, "tcp" }, - { "apwi-disc", { NULL }, 4394, "udp" }, - { "omnivisionesx", { NULL }, 4395, "tcp" }, - { "omnivisionesx", { NULL }, 4395, "udp" }, - { "fly", { NULL }, 4396, "tcp" }, - { "ds-srv", { NULL }, 4400, "tcp" }, - { "ds-srv", { NULL }, 4400, "udp" }, - { "ds-srvr", { NULL }, 4401, "tcp" }, - { "ds-srvr", { NULL }, 4401, "udp" }, - { "ds-clnt", { NULL }, 4402, "tcp" }, - { "ds-clnt", { NULL }, 4402, "udp" }, - { "ds-user", { NULL }, 4403, "tcp" }, - { "ds-user", { NULL }, 4403, "udp" }, - { "ds-admin", { NULL }, 4404, "tcp" }, - { "ds-admin", { NULL }, 4404, "udp" }, - { "ds-mail", { NULL }, 4405, "tcp" }, - { "ds-mail", { NULL }, 4405, "udp" }, - { "ds-slp", { NULL }, 4406, "tcp" }, - { "ds-slp", { NULL }, 4406, "udp" }, - { "nacagent", { NULL }, 4407, "tcp" }, - { "slscc", { NULL }, 4408, "tcp" }, - { "netcabinet-com", { NULL }, 4409, "tcp" }, - { "itwo-server", { NULL }, 4410, "tcp" }, - { "netrockey6", { NULL }, 4425, "tcp" }, - { "netrockey6", { NULL }, 4425, "udp" }, - { "beacon-port-2", { NULL }, 4426, "tcp" }, - { "beacon-port-2", { NULL }, 4426, "udp" }, - { "drizzle", { NULL }, 4427, "tcp" }, - { "omviserver", { NULL }, 4428, "tcp" }, - { "omviagent", { NULL }, 4429, "tcp" }, - { "rsqlserver", { NULL }, 4430, "tcp" }, - { "rsqlserver", { NULL }, 4430, "udp" }, - { "wspipe", { NULL }, 4431, "tcp" }, - { "netblox", { NULL }, 4441, "udp" }, - { "saris", { NULL }, 4442, "tcp" }, - { "saris", { NULL }, 4442, "udp" }, - { "pharos", { NULL }, 4443, "tcp" }, - { "pharos", { NULL }, 4443, "udp" }, - { "krb524", { NULL }, 4444, "tcp" }, - { "krb524", { NULL }, 4444, "udp" }, - { "nv-video", { NULL }, 4444, "tcp" }, - { "nv-video", { NULL }, 4444, "udp" }, - { "upnotifyp", { NULL }, 4445, "tcp" }, - { "upnotifyp", { NULL }, 4445, "udp" }, - { "n1-fwp", { NULL }, 4446, "tcp" }, - { "n1-fwp", { NULL }, 4446, "udp" }, - { "n1-rmgmt", { NULL }, 4447, "tcp" }, - { "n1-rmgmt", { NULL }, 4447, "udp" }, - { "asc-slmd", { NULL }, 4448, "tcp" }, - { "asc-slmd", { NULL }, 4448, "udp" }, - { "privatewire", { NULL }, 4449, "tcp" }, - { "privatewire", { NULL }, 4449, "udp" }, - { "camp", { NULL }, 4450, "tcp" }, - { "camp", { NULL }, 4450, "udp" }, - { "ctisystemmsg", { NULL }, 4451, "tcp" }, - { "ctisystemmsg", { NULL }, 4451, "udp" }, - { "ctiprogramload", { NULL }, 4452, "tcp" }, - { "ctiprogramload", { NULL }, 4452, "udp" }, - { "nssalertmgr", { NULL }, 4453, "tcp" }, - { "nssalertmgr", { NULL }, 4453, "udp" }, - { "nssagentmgr", { NULL }, 4454, "tcp" }, - { "nssagentmgr", { NULL }, 4454, "udp" }, - { "prchat-user", { NULL }, 4455, "tcp" }, - { "prchat-user", { NULL }, 4455, "udp" }, - { "prchat-server", { NULL }, 4456, "tcp" }, - { "prchat-server", { NULL }, 4456, "udp" }, - { "prRegister", { NULL }, 4457, "tcp" }, - { "prRegister", { NULL }, 4457, "udp" }, - { "mcp", { NULL }, 4458, "tcp" }, - { "mcp", { NULL }, 4458, "udp" }, - { "hpssmgmt", { NULL }, 4484, "tcp" }, - { "hpssmgmt", { NULL }, 4484, "udp" }, - { "assyst-dr", { NULL }, 4485, "tcp" }, - { "icms", { NULL }, 4486, "tcp" }, - { "icms", { NULL }, 4486, "udp" }, - { "prex-tcp", { NULL }, 4487, "tcp" }, - { "awacs-ice", { NULL }, 4488, "tcp" }, - { "awacs-ice", { NULL }, 4488, "udp" }, - { "ipsec-nat-t", { NULL }, 4500, "tcp" }, - { "ipsec-nat-t", { NULL }, 4500, "udp" }, - { "ehs", { NULL }, 4535, "tcp" }, - { "ehs", { NULL }, 4535, "udp" }, - { "ehs-ssl", { NULL }, 4536, "tcp" }, - { "ehs-ssl", { NULL }, 4536, "udp" }, - { "wssauthsvc", { NULL }, 4537, "tcp" }, - { "wssauthsvc", { NULL }, 4537, "udp" }, - { "swx-gate", { NULL }, 4538, "tcp" }, - { "swx-gate", { NULL }, 4538, "udp" }, - { "worldscores", { NULL }, 4545, "tcp" }, - { "worldscores", { NULL }, 4545, "udp" }, - { "sf-lm", { NULL }, 4546, "tcp" }, - { "sf-lm", { NULL }, 4546, "udp" }, - { "lanner-lm", { NULL }, 4547, "tcp" }, - { "lanner-lm", { NULL }, 4547, "udp" }, - { "synchromesh", { NULL }, 4548, "tcp" }, - { "synchromesh", { NULL }, 4548, "udp" }, - { "aegate", { NULL }, 4549, "tcp" }, - { "aegate", { NULL }, 4549, "udp" }, - { "gds-adppiw-db", { NULL }, 4550, "tcp" }, - { "gds-adppiw-db", { NULL }, 4550, "udp" }, - { "ieee-mih", { NULL }, 4551, "tcp" }, - { "ieee-mih", { NULL }, 4551, "udp" }, - { "menandmice-mon", { NULL }, 4552, "tcp" }, - { "menandmice-mon", { NULL }, 4552, "udp" }, - { "icshostsvc", { NULL }, 4553, "tcp" }, - { "msfrs", { NULL }, 4554, "tcp" }, - { "msfrs", { NULL }, 4554, "udp" }, - { "rsip", { NULL }, 4555, "tcp" }, - { "rsip", { NULL }, 4555, "udp" }, - { "dtn-bundle-tcp", { NULL }, 4556, "tcp" }, - { "dtn-bundle-udp", { NULL }, 4556, "udp" }, - { "mtcevrunqss", { NULL }, 4557, "udp" }, - { "mtcevrunqman", { NULL }, 4558, "udp" }, - { "hylafax", { NULL }, 4559, "tcp" }, - { "hylafax", { NULL }, 4559, "udp" }, - { "kwtc", { NULL }, 4566, "tcp" }, - { "kwtc", { NULL }, 4566, "udp" }, - { "tram", { NULL }, 4567, "tcp" }, - { "tram", { NULL }, 4567, "udp" }, - { "bmc-reporting", { NULL }, 4568, "tcp" }, - { "bmc-reporting", { NULL }, 4568, "udp" }, - { "iax", { NULL }, 4569, "tcp" }, - { "iax", { NULL }, 4569, "udp" }, - { "rid", { NULL }, 4590, "tcp" }, - { "l3t-at-an", { NULL }, 4591, "tcp" }, - { "l3t-at-an", { NULL }, 4591, "udp" }, - { "hrpd-ith-at-an", { NULL }, 4592, "udp" }, - { "ipt-anri-anri", { NULL }, 4593, "tcp" }, - { "ipt-anri-anri", { NULL }, 4593, "udp" }, - { "ias-session", { NULL }, 4594, "tcp" }, - { "ias-session", { NULL }, 4594, "udp" }, - { "ias-paging", { NULL }, 4595, "tcp" }, - { "ias-paging", { NULL }, 4595, "udp" }, - { "ias-neighbor", { NULL }, 4596, "tcp" }, - { "ias-neighbor", { NULL }, 4596, "udp" }, - { "a21-an-1xbs", { NULL }, 4597, "tcp" }, - { "a21-an-1xbs", { NULL }, 4597, "udp" }, - { "a16-an-an", { NULL }, 4598, "tcp" }, - { "a16-an-an", { NULL }, 4598, "udp" }, - { "a17-an-an", { NULL }, 4599, "tcp" }, - { "a17-an-an", { NULL }, 4599, "udp" }, - { "piranha1", { NULL }, 4600, "tcp" }, - { "piranha1", { NULL }, 4600, "udp" }, - { "piranha2", { NULL }, 4601, "tcp" }, - { "piranha2", { NULL }, 4601, "udp" }, - { "mtsserver", { NULL }, 4602, "tcp" }, - { "menandmice-upg", { NULL }, 4603, "tcp" }, - { "playsta2-app", { NULL }, 4658, "tcp" }, - { "playsta2-app", { NULL }, 4658, "udp" }, - { "playsta2-lob", { NULL }, 4659, "tcp" }, - { "playsta2-lob", { NULL }, 4659, "udp" }, - { "smaclmgr", { NULL }, 4660, "tcp" }, - { "smaclmgr", { NULL }, 4660, "udp" }, - { "kar2ouche", { NULL }, 4661, "tcp" }, - { "kar2ouche", { NULL }, 4661, "udp" }, - { "oms", { NULL }, 4662, "tcp" }, - { "oms", { NULL }, 4662, "udp" }, - { "noteit", { NULL }, 4663, "tcp" }, - { "noteit", { NULL }, 4663, "udp" }, - { "ems", { NULL }, 4664, "tcp" }, - { "ems", { NULL }, 4664, "udp" }, - { "contclientms", { NULL }, 4665, "tcp" }, - { "contclientms", { NULL }, 4665, "udp" }, - { "eportcomm", { NULL }, 4666, "tcp" }, - { "eportcomm", { NULL }, 4666, "udp" }, - { "mmacomm", { NULL }, 4667, "tcp" }, - { "mmacomm", { NULL }, 4667, "udp" }, - { "mmaeds", { NULL }, 4668, "tcp" }, - { "mmaeds", { NULL }, 4668, "udp" }, - { "eportcommdata", { NULL }, 4669, "tcp" }, - { "eportcommdata", { NULL }, 4669, "udp" }, - { "light", { NULL }, 4670, "tcp" }, - { "light", { NULL }, 4670, "udp" }, - { "acter", { NULL }, 4671, "tcp" }, - { "acter", { NULL }, 4671, "udp" }, - { "rfa", { NULL }, 4672, "tcp" }, - { "rfa", { NULL }, 4672, "udp" }, - { "cxws", { NULL }, 4673, "tcp" }, - { "cxws", { NULL }, 4673, "udp" }, - { "appiq-mgmt", { NULL }, 4674, "tcp" }, - { "appiq-mgmt", { NULL }, 4674, "udp" }, - { "dhct-status", { NULL }, 4675, "tcp" }, - { "dhct-status", { NULL }, 4675, "udp" }, - { "dhct-alerts", { NULL }, 4676, "tcp" }, - { "dhct-alerts", { NULL }, 4676, "udp" }, - { "bcs", { NULL }, 4677, "tcp" }, - { "bcs", { NULL }, 4677, "udp" }, - { "traversal", { NULL }, 4678, "tcp" }, - { "traversal", { NULL }, 4678, "udp" }, - { "mgesupervision", { NULL }, 4679, "tcp" }, - { "mgesupervision", { NULL }, 4679, "udp" }, - { "mgemanagement", { NULL }, 4680, "tcp" }, - { "mgemanagement", { NULL }, 4680, "udp" }, - { "parliant", { NULL }, 4681, "tcp" }, - { "parliant", { NULL }, 4681, "udp" }, - { "finisar", { NULL }, 4682, "tcp" }, - { "finisar", { NULL }, 4682, "udp" }, - { "spike", { NULL }, 4683, "tcp" }, - { "spike", { NULL }, 4683, "udp" }, - { "rfid-rp1", { NULL }, 4684, "tcp" }, - { "rfid-rp1", { NULL }, 4684, "udp" }, - { "autopac", { NULL }, 4685, "tcp" }, - { "autopac", { NULL }, 4685, "udp" }, - { "msp-os", { NULL }, 4686, "tcp" }, - { "msp-os", { NULL }, 4686, "udp" }, - { "nst", { NULL }, 4687, "tcp" }, - { "nst", { NULL }, 4687, "udp" }, - { "mobile-p2p", { NULL }, 4688, "tcp" }, - { "mobile-p2p", { NULL }, 4688, "udp" }, - { "altovacentral", { NULL }, 4689, "tcp" }, - { "altovacentral", { NULL }, 4689, "udp" }, - { "prelude", { NULL }, 4690, "tcp" }, - { "prelude", { NULL }, 4690, "udp" }, - { "mtn", { NULL }, 4691, "tcp" }, - { "mtn", { NULL }, 4691, "udp" }, - { "conspiracy", { NULL }, 4692, "tcp" }, - { "conspiracy", { NULL }, 4692, "udp" }, - { "netxms-agent", { NULL }, 4700, "tcp" }, - { "netxms-agent", { NULL }, 4700, "udp" }, - { "netxms-mgmt", { NULL }, 4701, "tcp" }, - { "netxms-mgmt", { NULL }, 4701, "udp" }, - { "netxms-sync", { NULL }, 4702, "tcp" }, - { "netxms-sync", { NULL }, 4702, "udp" }, - { "npqes-test", { NULL }, 4703, "tcp" }, - { "assuria-ins", { NULL }, 4704, "tcp" }, - { "truckstar", { NULL }, 4725, "tcp" }, - { "truckstar", { NULL }, 4725, "udp" }, - { "a26-fap-fgw", { NULL }, 4726, "udp" }, - { "fcis", { NULL }, 4727, "tcp" }, - { "fcis-disc", { NULL }, 4727, "udp" }, - { "capmux", { NULL }, 4728, "tcp" }, - { "capmux", { NULL }, 4728, "udp" }, - { "gsmtap", { NULL }, 4729, "udp" }, - { "gearman", { NULL }, 4730, "tcp" }, - { "gearman", { NULL }, 4730, "udp" }, - { "remcap", { NULL }, 4731, "tcp" }, - { "ohmtrigger", { NULL }, 4732, "udp" }, - { "resorcs", { NULL }, 4733, "tcp" }, - { "ipdr-sp", { NULL }, 4737, "tcp" }, - { "ipdr-sp", { NULL }, 4737, "udp" }, - { "solera-lpn", { NULL }, 4738, "tcp" }, - { "solera-lpn", { NULL }, 4738, "udp" }, - { "ipfix", { NULL }, 4739, "tcp" }, - { "ipfix", { NULL }, 4739, "udp" }, - { "ipfix", { NULL }, 4739, "sctp"}, - { "ipfixs", { NULL }, 4740, "tcp" }, - { "ipfixs", { NULL }, 4740, "sctp"}, - { "ipfixs", { NULL }, 4740, "udp" }, - { "lumimgrd", { NULL }, 4741, "tcp" }, - { "lumimgrd", { NULL }, 4741, "udp" }, - { "sicct", { NULL }, 4742, "tcp" }, - { "sicct-sdp", { NULL }, 4742, "udp" }, - { "openhpid", { NULL }, 4743, "tcp" }, - { "openhpid", { NULL }, 4743, "udp" }, - { "ifsp", { NULL }, 4744, "tcp" }, - { "ifsp", { NULL }, 4744, "udp" }, - { "fmp", { NULL }, 4745, "tcp" }, - { "fmp", { NULL }, 4745, "udp" }, - { "profilemac", { NULL }, 4749, "tcp" }, - { "profilemac", { NULL }, 4749, "udp" }, - { "ssad", { NULL }, 4750, "tcp" }, - { "ssad", { NULL }, 4750, "udp" }, - { "spocp", { NULL }, 4751, "tcp" }, - { "spocp", { NULL }, 4751, "udp" }, - { "snap", { NULL }, 4752, "tcp" }, - { "snap", { NULL }, 4752, "udp" }, - { "bfd-multi-ctl", { NULL }, 4784, "tcp" }, - { "bfd-multi-ctl", { NULL }, 4784, "udp" }, - { "cncp", { NULL }, 4785, "udp" }, - { "smart-install", { NULL }, 4786, "tcp" }, - { "sia-ctrl-plane", { NULL }, 4787, "tcp" }, - { "iims", { NULL }, 4800, "tcp" }, - { "iims", { NULL }, 4800, "udp" }, - { "iwec", { NULL }, 4801, "tcp" }, - { "iwec", { NULL }, 4801, "udp" }, - { "ilss", { NULL }, 4802, "tcp" }, - { "ilss", { NULL }, 4802, "udp" }, - { "notateit", { NULL }, 4803, "tcp" }, - { "notateit-disc", { NULL }, 4803, "udp" }, - { "aja-ntv4-disc", { NULL }, 4804, "udp" }, - { "htcp", { NULL }, 4827, "tcp" }, - { "htcp", { NULL }, 4827, "udp" }, - { "varadero-0", { NULL }, 4837, "tcp" }, - { "varadero-0", { NULL }, 4837, "udp" }, - { "varadero-1", { NULL }, 4838, "tcp" }, - { "varadero-1", { NULL }, 4838, "udp" }, - { "varadero-2", { NULL }, 4839, "tcp" }, - { "varadero-2", { NULL }, 4839, "udp" }, - { "opcua-tcp", { NULL }, 4840, "tcp" }, - { "opcua-udp", { NULL }, 4840, "udp" }, - { "quosa", { NULL }, 4841, "tcp" }, - { "quosa", { NULL }, 4841, "udp" }, - { "gw-asv", { NULL }, 4842, "tcp" }, - { "gw-asv", { NULL }, 4842, "udp" }, - { "opcua-tls", { NULL }, 4843, "tcp" }, - { "opcua-tls", { NULL }, 4843, "udp" }, - { "gw-log", { NULL }, 4844, "tcp" }, - { "gw-log", { NULL }, 4844, "udp" }, - { "wcr-remlib", { NULL }, 4845, "tcp" }, - { "wcr-remlib", { NULL }, 4845, "udp" }, - { "contamac_icm", { NULL }, 4846, "tcp" }, - { "contamac_icm", { NULL }, 4846, "udp" }, - { "wfc", { NULL }, 4847, "tcp" }, - { "wfc", { NULL }, 4847, "udp" }, - { "appserv-http", { NULL }, 4848, "tcp" }, - { "appserv-http", { NULL }, 4848, "udp" }, - { "appserv-https", { NULL }, 4849, "tcp" }, - { "appserv-https", { NULL }, 4849, "udp" }, - { "sun-as-nodeagt", { NULL }, 4850, "tcp" }, - { "sun-as-nodeagt", { NULL }, 4850, "udp" }, - { "derby-repli", { NULL }, 4851, "tcp" }, - { "derby-repli", { NULL }, 4851, "udp" }, - { "unify-debug", { NULL }, 4867, "tcp" }, - { "unify-debug", { NULL }, 4867, "udp" }, - { "phrelay", { NULL }, 4868, "tcp" }, - { "phrelay", { NULL }, 4868, "udp" }, - { "phrelaydbg", { NULL }, 4869, "tcp" }, - { "phrelaydbg", { NULL }, 4869, "udp" }, - { "cc-tracking", { NULL }, 4870, "tcp" }, - { "cc-tracking", { NULL }, 4870, "udp" }, - { "wired", { NULL }, 4871, "tcp" }, - { "wired", { NULL }, 4871, "udp" }, - { "tritium-can", { NULL }, 4876, "tcp" }, - { "tritium-can", { NULL }, 4876, "udp" }, - { "lmcs", { NULL }, 4877, "tcp" }, - { "lmcs", { NULL }, 4877, "udp" }, - { "inst-discovery", { NULL }, 4878, "udp" }, - { "wsdl-event", { NULL }, 4879, "tcp" }, - { "hislip", { NULL }, 4880, "tcp" }, - { "socp-t", { NULL }, 4881, "udp" }, - { "socp-c", { NULL }, 4882, "udp" }, - { "wmlserver", { NULL }, 4883, "tcp" }, - { "hivestor", { NULL }, 4884, "tcp" }, - { "hivestor", { NULL }, 4884, "udp" }, - { "abbs", { NULL }, 4885, "tcp" }, - { "abbs", { NULL }, 4885, "udp" }, - { "lyskom", { NULL }, 4894, "tcp" }, - { "lyskom", { NULL }, 4894, "udp" }, - { "radmin-port", { NULL }, 4899, "tcp" }, - { "radmin-port", { NULL }, 4899, "udp" }, - { "hfcs", { NULL }, 4900, "tcp" }, - { "hfcs", { NULL }, 4900, "udp" }, - { "flr_agent", { NULL }, 4901, "tcp" }, - { "magiccontrol", { NULL }, 4902, "tcp" }, - { "lutap", { NULL }, 4912, "tcp" }, - { "lutcp", { NULL }, 4913, "tcp" }, - { "bones", { NULL }, 4914, "tcp" }, - { "bones", { NULL }, 4914, "udp" }, - { "frcs", { NULL }, 4915, "tcp" }, - { "atsc-mh-ssc", { NULL }, 4937, "udp" }, - { "eq-office-4940", { NULL }, 4940, "tcp" }, - { "eq-office-4940", { NULL }, 4940, "udp" }, - { "eq-office-4941", { NULL }, 4941, "tcp" }, - { "eq-office-4941", { NULL }, 4941, "udp" }, - { "eq-office-4942", { NULL }, 4942, "tcp" }, - { "eq-office-4942", { NULL }, 4942, "udp" }, - { "munin", { NULL }, 4949, "tcp" }, - { "munin", { NULL }, 4949, "udp" }, - { "sybasesrvmon", { NULL }, 4950, "tcp" }, - { "sybasesrvmon", { NULL }, 4950, "udp" }, - { "pwgwims", { NULL }, 4951, "tcp" }, - { "pwgwims", { NULL }, 4951, "udp" }, - { "sagxtsds", { NULL }, 4952, "tcp" }, - { "sagxtsds", { NULL }, 4952, "udp" }, - { "dbsyncarbiter", { NULL }, 4953, "tcp" }, - { "ccss-qmm", { NULL }, 4969, "tcp" }, - { "ccss-qmm", { NULL }, 4969, "udp" }, - { "ccss-qsm", { NULL }, 4970, "tcp" }, - { "ccss-qsm", { NULL }, 4970, "udp" }, - { "webyast", { NULL }, 4984, "tcp" }, - { "gerhcs", { NULL }, 4985, "tcp" }, - { "mrip", { NULL }, 4986, "tcp" }, - { "mrip", { NULL }, 4986, "udp" }, - { "smar-se-port1", { NULL }, 4987, "tcp" }, - { "smar-se-port1", { NULL }, 4987, "udp" }, - { "smar-se-port2", { NULL }, 4988, "tcp" }, - { "smar-se-port2", { NULL }, 4988, "udp" }, - { "parallel", { NULL }, 4989, "tcp" }, - { "parallel", { NULL }, 4989, "udp" }, - { "busycal", { NULL }, 4990, "tcp" }, - { "busycal", { NULL }, 4990, "udp" }, - { "vrt", { NULL }, 4991, "tcp" }, - { "vrt", { NULL }, 4991, "udp" }, - { "hfcs-manager", { NULL }, 4999, "tcp" }, - { "hfcs-manager", { NULL }, 4999, "udp" }, - { "commplex-main", { NULL }, 5000, "tcp" }, - { "commplex-main", { NULL }, 5000, "udp" }, - { "commplex-link", { NULL }, 5001, "tcp" }, - { "commplex-link", { NULL }, 5001, "udp" }, - { "rfe", { NULL }, 5002, "tcp" }, - { "rfe", { NULL }, 5002, "udp" }, - { "fmpro-internal", { NULL }, 5003, "tcp" }, - { "fmpro-internal", { NULL }, 5003, "udp" }, - { "avt-profile-1", { NULL }, 5004, "tcp" }, - { "avt-profile-1", { NULL }, 5004, "udp" }, - { "avt-profile-1", { NULL }, 5004, "dccp"}, - { "avt-profile-2", { NULL }, 5005, "tcp" }, - { "avt-profile-2", { NULL }, 5005, "udp" }, - { "avt-profile-2", { NULL }, 5005, "dccp"}, - { "wsm-server", { NULL }, 5006, "tcp" }, - { "wsm-server", { NULL }, 5006, "udp" }, - { "wsm-server-ssl", { NULL }, 5007, "tcp" }, - { "wsm-server-ssl", { NULL }, 5007, "udp" }, - { "synapsis-edge", { NULL }, 5008, "tcp" }, - { "synapsis-edge", { NULL }, 5008, "udp" }, - { "winfs", { NULL }, 5009, "tcp" }, - { "winfs", { NULL }, 5009, "udp" }, - { "telelpathstart", { NULL }, 5010, "tcp" }, - { "telelpathstart", { NULL }, 5010, "udp" }, - { "telelpathattack", { NULL }, 5011, "tcp" }, - { "telelpathattack", { NULL }, 5011, "udp" }, - { "nsp", { NULL }, 5012, "tcp" }, - { "nsp", { NULL }, 5012, "udp" }, - { "fmpro-v6", { NULL }, 5013, "tcp" }, - { "fmpro-v6", { NULL }, 5013, "udp" }, - { "onpsocket", { NULL }, 5014, "udp" }, - { "fmwp", { NULL }, 5015, "tcp" }, - { "zenginkyo-1", { NULL }, 5020, "tcp" }, - { "zenginkyo-1", { NULL }, 5020, "udp" }, - { "zenginkyo-2", { NULL }, 5021, "tcp" }, - { "zenginkyo-2", { NULL }, 5021, "udp" }, - { "mice", { NULL }, 5022, "tcp" }, - { "mice", { NULL }, 5022, "udp" }, - { "htuilsrv", { NULL }, 5023, "tcp" }, - { "htuilsrv", { NULL }, 5023, "udp" }, - { "scpi-telnet", { NULL }, 5024, "tcp" }, - { "scpi-telnet", { NULL }, 5024, "udp" }, - { "scpi-raw", { NULL }, 5025, "tcp" }, - { "scpi-raw", { NULL }, 5025, "udp" }, - { "strexec-d", { NULL }, 5026, "tcp" }, - { "strexec-d", { NULL }, 5026, "udp" }, - { "strexec-s", { NULL }, 5027, "tcp" }, - { "strexec-s", { NULL }, 5027, "udp" }, - { "qvr", { NULL }, 5028, "tcp" }, - { "infobright", { NULL }, 5029, "tcp" }, - { "infobright", { NULL }, 5029, "udp" }, - { "surfpass", { NULL }, 5030, "tcp" }, - { "surfpass", { NULL }, 5030, "udp" }, - { "dmp", { NULL }, 5031, "udp" }, - { "asnaacceler8db", { NULL }, 5042, "tcp" }, - { "asnaacceler8db", { NULL }, 5042, "udp" }, - { "swxadmin", { NULL }, 5043, "tcp" }, - { "swxadmin", { NULL }, 5043, "udp" }, - { "lxi-evntsvc", { NULL }, 5044, "tcp" }, - { "lxi-evntsvc", { NULL }, 5044, "udp" }, - { "osp", { NULL }, 5045, "tcp" }, - { "vpm-udp", { NULL }, 5046, "udp" }, - { "iscape", { NULL }, 5047, "udp" }, - { "texai", { NULL }, 5048, "tcp" }, - { "ivocalize", { NULL }, 5049, "tcp" }, - { "ivocalize", { NULL }, 5049, "udp" }, - { "mmcc", { NULL }, 5050, "tcp" }, - { "mmcc", { NULL }, 5050, "udp" }, - { "ita-agent", { NULL }, 5051, "tcp" }, - { "ita-agent", { NULL }, 5051, "udp" }, - { "ita-manager", { NULL }, 5052, "tcp" }, - { "ita-manager", { NULL }, 5052, "udp" }, - { "rlm", { NULL }, 5053, "tcp" }, - { "rlm-admin", { NULL }, 5054, "tcp" }, - { "unot", { NULL }, 5055, "tcp" }, - { "unot", { NULL }, 5055, "udp" }, - { "intecom-ps1", { NULL }, 5056, "tcp" }, - { "intecom-ps1", { NULL }, 5056, "udp" }, - { "intecom-ps2", { NULL }, 5057, "tcp" }, - { "intecom-ps2", { NULL }, 5057, "udp" }, - { "locus-disc", { NULL }, 5058, "udp" }, - { "sds", { NULL }, 5059, "tcp" }, - { "sds", { NULL }, 5059, "udp" }, - { "sip", { NULL }, 5060, "tcp" }, - { "sip", { NULL }, 5060, "udp" }, - { "sip-tls", { NULL }, 5061, "tcp" }, - { "sip-tls", { NULL }, 5061, "udp" }, - { "na-localise", { NULL }, 5062, "tcp" }, - { "na-localise", { NULL }, 5062, "udp" }, - { "csrpc", { NULL }, 5063, "tcp" }, - { "ca-1", { NULL }, 5064, "tcp" }, - { "ca-1", { NULL }, 5064, "udp" }, - { "ca-2", { NULL }, 5065, "tcp" }, - { "ca-2", { NULL }, 5065, "udp" }, - { "stanag-5066", { NULL }, 5066, "tcp" }, - { "stanag-5066", { NULL }, 5066, "udp" }, - { "authentx", { NULL }, 5067, "tcp" }, - { "authentx", { NULL }, 5067, "udp" }, - { "bitforestsrv", { NULL }, 5068, "tcp" }, - { "i-net-2000-npr", { NULL }, 5069, "tcp" }, - { "i-net-2000-npr", { NULL }, 5069, "udp" }, - { "vtsas", { NULL }, 5070, "tcp" }, - { "vtsas", { NULL }, 5070, "udp" }, - { "powerschool", { NULL }, 5071, "tcp" }, - { "powerschool", { NULL }, 5071, "udp" }, - { "ayiya", { NULL }, 5072, "tcp" }, - { "ayiya", { NULL }, 5072, "udp" }, - { "tag-pm", { NULL }, 5073, "tcp" }, - { "tag-pm", { NULL }, 5073, "udp" }, - { "alesquery", { NULL }, 5074, "tcp" }, - { "alesquery", { NULL }, 5074, "udp" }, - { "cp-spxrpts", { NULL }, 5079, "udp" }, - { "onscreen", { NULL }, 5080, "tcp" }, - { "onscreen", { NULL }, 5080, "udp" }, - { "sdl-ets", { NULL }, 5081, "tcp" }, - { "sdl-ets", { NULL }, 5081, "udp" }, - { "qcp", { NULL }, 5082, "tcp" }, - { "qcp", { NULL }, 5082, "udp" }, - { "qfp", { NULL }, 5083, "tcp" }, - { "qfp", { NULL }, 5083, "udp" }, - { "llrp", { NULL }, 5084, "tcp" }, - { "llrp", { NULL }, 5084, "udp" }, - { "encrypted-llrp", { NULL }, 5085, "tcp" }, - { "encrypted-llrp", { NULL }, 5085, "udp" }, - { "aprigo-cs", { NULL }, 5086, "tcp" }, - { "car", { NULL }, 5090, "sctp"}, - { "cxtp", { NULL }, 5091, "sctp"}, - { "magpie", { NULL }, 5092, "udp" }, - { "sentinel-lm", { NULL }, 5093, "tcp" }, - { "sentinel-lm", { NULL }, 5093, "udp" }, - { "hart-ip", { NULL }, 5094, "tcp" }, - { "hart-ip", { NULL }, 5094, "udp" }, - { "sentlm-srv2srv", { NULL }, 5099, "tcp" }, - { "sentlm-srv2srv", { NULL }, 5099, "udp" }, - { "socalia", { NULL }, 5100, "tcp" }, - { "socalia", { NULL }, 5100, "udp" }, - { "talarian-tcp", { NULL }, 5101, "tcp" }, - { "talarian-udp", { NULL }, 5101, "udp" }, - { "oms-nonsecure", { NULL }, 5102, "tcp" }, - { "oms-nonsecure", { NULL }, 5102, "udp" }, - { "actifio-c2c", { NULL }, 5103, "tcp" }, - { "tinymessage", { NULL }, 5104, "udp" }, - { "hughes-ap", { NULL }, 5105, "udp" }, - { "taep-as-svc", { NULL }, 5111, "tcp" }, - { "taep-as-svc", { NULL }, 5111, "udp" }, - { "pm-cmdsvr", { NULL }, 5112, "tcp" }, - { "pm-cmdsvr", { NULL }, 5112, "udp" }, - { "ev-services", { NULL }, 5114, "tcp" }, - { "autobuild", { NULL }, 5115, "tcp" }, - { "emb-proj-cmd", { NULL }, 5116, "udp" }, - { "gradecam", { NULL }, 5117, "tcp" }, - { "nbt-pc", { NULL }, 5133, "tcp" }, - { "nbt-pc", { NULL }, 5133, "udp" }, - { "ppactivation", { NULL }, 5134, "tcp" }, - { "erp-scale", { NULL }, 5135, "tcp" }, - { "minotaur-sa", { NULL }, 5136, "udp" }, - { "ctsd", { NULL }, 5137, "tcp" }, - { "ctsd", { NULL }, 5137, "udp" }, - { "rmonitor_secure", { NULL }, 5145, "tcp" }, - { "rmonitor_secure", { NULL }, 5145, "udp" }, - { "social-alarm", { NULL }, 5146, "tcp" }, - { "atmp", { NULL }, 5150, "tcp" }, - { "atmp", { NULL }, 5150, "udp" }, - { "esri_sde", { NULL }, 5151, "tcp" }, - { "esri_sde", { NULL }, 5151, "udp" }, - { "sde-discovery", { NULL }, 5152, "tcp" }, - { "sde-discovery", { NULL }, 5152, "udp" }, - { "toruxserver", { NULL }, 5153, "tcp" }, - { "bzflag", { NULL }, 5154, "tcp" }, - { "bzflag", { NULL }, 5154, "udp" }, - { "asctrl-agent", { NULL }, 5155, "tcp" }, - { "asctrl-agent", { NULL }, 5155, "udp" }, - { "rugameonline", { NULL }, 5156, "tcp" }, - { "mediat", { NULL }, 5157, "tcp" }, - { "snmpssh", { NULL }, 5161, "tcp" }, - { "snmpssh-trap", { NULL }, 5162, "tcp" }, - { "sbackup", { NULL }, 5163, "tcp" }, - { "vpa", { NULL }, 5164, "tcp" }, - { "vpa-disc", { NULL }, 5164, "udp" }, - { "ife_icorp", { NULL }, 5165, "tcp" }, - { "ife_icorp", { NULL }, 5165, "udp" }, - { "winpcs", { NULL }, 5166, "tcp" }, - { "winpcs", { NULL }, 5166, "udp" }, - { "scte104", { NULL }, 5167, "tcp" }, - { "scte104", { NULL }, 5167, "udp" }, - { "scte30", { NULL }, 5168, "tcp" }, - { "scte30", { NULL }, 5168, "udp" }, - { "aol", { NULL }, 5190, "tcp" }, - { "aol", { NULL }, 5190, "udp" }, - { "aol-1", { NULL }, 5191, "tcp" }, - { "aol-1", { NULL }, 5191, "udp" }, - { "aol-2", { NULL }, 5192, "tcp" }, - { "aol-2", { NULL }, 5192, "udp" }, - { "aol-3", { NULL }, 5193, "tcp" }, - { "aol-3", { NULL }, 5193, "udp" }, - { "cpscomm", { NULL }, 5194, "tcp" }, - { "targus-getdata", { NULL }, 5200, "tcp" }, - { "targus-getdata", { NULL }, 5200, "udp" }, - { "targus-getdata1", { NULL }, 5201, "tcp" }, - { "targus-getdata1", { NULL }, 5201, "udp" }, - { "targus-getdata2", { NULL }, 5202, "tcp" }, - { "targus-getdata2", { NULL }, 5202, "udp" }, - { "targus-getdata3", { NULL }, 5203, "tcp" }, - { "targus-getdata3", { NULL }, 5203, "udp" }, - { "3exmp", { NULL }, 5221, "tcp" }, - { "xmpp-client", { NULL }, 5222, "tcp" }, - { "hpvirtgrp", { NULL }, 5223, "tcp" }, - { "hpvirtgrp", { NULL }, 5223, "udp" }, - { "hpvirtctrl", { NULL }, 5224, "tcp" }, - { "hpvirtctrl", { NULL }, 5224, "udp" }, - { "hp-server", { NULL }, 5225, "tcp" }, - { "hp-server", { NULL }, 5225, "udp" }, - { "hp-status", { NULL }, 5226, "tcp" }, - { "hp-status", { NULL }, 5226, "udp" }, - { "perfd", { NULL }, 5227, "tcp" }, - { "perfd", { NULL }, 5227, "udp" }, - { "hpvroom", { NULL }, 5228, "tcp" }, - { "csedaemon", { NULL }, 5232, "tcp" }, - { "enfs", { NULL }, 5233, "tcp" }, - { "eenet", { NULL }, 5234, "tcp" }, - { "eenet", { NULL }, 5234, "udp" }, - { "galaxy-network", { NULL }, 5235, "tcp" }, - { "galaxy-network", { NULL }, 5235, "udp" }, - { "padl2sim", { NULL }, 5236, "tcp" }, - { "padl2sim", { NULL }, 5236, "udp" }, - { "mnet-discovery", { NULL }, 5237, "tcp" }, - { "mnet-discovery", { NULL }, 5237, "udp" }, - { "downtools", { NULL }, 5245, "tcp" }, - { "downtools-disc", { NULL }, 5245, "udp" }, - { "capwap-control", { NULL }, 5246, "udp" }, - { "capwap-data", { NULL }, 5247, "udp" }, - { "caacws", { NULL }, 5248, "tcp" }, - { "caacws", { NULL }, 5248, "udp" }, - { "caaclang2", { NULL }, 5249, "tcp" }, - { "caaclang2", { NULL }, 5249, "udp" }, - { "soagateway", { NULL }, 5250, "tcp" }, - { "soagateway", { NULL }, 5250, "udp" }, - { "caevms", { NULL }, 5251, "tcp" }, - { "caevms", { NULL }, 5251, "udp" }, - { "movaz-ssc", { NULL }, 5252, "tcp" }, - { "movaz-ssc", { NULL }, 5252, "udp" }, - { "kpdp", { NULL }, 5253, "tcp" }, - { "3com-njack-1", { NULL }, 5264, "tcp" }, - { "3com-njack-1", { NULL }, 5264, "udp" }, - { "3com-njack-2", { NULL }, 5265, "tcp" }, - { "3com-njack-2", { NULL }, 5265, "udp" }, - { "xmpp-server", { NULL }, 5269, "tcp" }, - { "xmp", { NULL }, 5270, "tcp" }, - { "xmp", { NULL }, 5270, "udp" }, - { "cuelink", { NULL }, 5271, "tcp" }, - { "cuelink-disc", { NULL }, 5271, "udp" }, - { "pk", { NULL }, 5272, "tcp" }, - { "pk", { NULL }, 5272, "udp" }, - { "xmpp-bosh", { NULL }, 5280, "tcp" }, - { "undo-lm", { NULL }, 5281, "tcp" }, - { "transmit-port", { NULL }, 5282, "tcp" }, - { "transmit-port", { NULL }, 5282, "udp" }, - { "presence", { NULL }, 5298, "tcp" }, - { "presence", { NULL }, 5298, "udp" }, - { "nlg-data", { NULL }, 5299, "tcp" }, - { "nlg-data", { NULL }, 5299, "udp" }, - { "hacl-hb", { NULL }, 5300, "tcp" }, - { "hacl-hb", { NULL }, 5300, "udp" }, - { "hacl-gs", { NULL }, 5301, "tcp" }, - { "hacl-gs", { NULL }, 5301, "udp" }, - { "hacl-cfg", { NULL }, 5302, "tcp" }, - { "hacl-cfg", { NULL }, 5302, "udp" }, - { "hacl-probe", { NULL }, 5303, "tcp" }, - { "hacl-probe", { NULL }, 5303, "udp" }, - { "hacl-local", { NULL }, 5304, "tcp" }, - { "hacl-local", { NULL }, 5304, "udp" }, - { "hacl-test", { NULL }, 5305, "tcp" }, - { "hacl-test", { NULL }, 5305, "udp" }, - { "sun-mc-grp", { NULL }, 5306, "tcp" }, - { "sun-mc-grp", { NULL }, 5306, "udp" }, - { "sco-aip", { NULL }, 5307, "tcp" }, - { "sco-aip", { NULL }, 5307, "udp" }, - { "cfengine", { NULL }, 5308, "tcp" }, - { "cfengine", { NULL }, 5308, "udp" }, - { "jprinter", { NULL }, 5309, "tcp" }, - { "jprinter", { NULL }, 5309, "udp" }, - { "outlaws", { NULL }, 5310, "tcp" }, - { "outlaws", { NULL }, 5310, "udp" }, - { "permabit-cs", { NULL }, 5312, "tcp" }, - { "permabit-cs", { NULL }, 5312, "udp" }, - { "rrdp", { NULL }, 5313, "tcp" }, - { "rrdp", { NULL }, 5313, "udp" }, - { "opalis-rbt-ipc", { NULL }, 5314, "tcp" }, - { "opalis-rbt-ipc", { NULL }, 5314, "udp" }, - { "hacl-poll", { NULL }, 5315, "tcp" }, - { "hacl-poll", { NULL }, 5315, "udp" }, - { "hpdevms", { NULL }, 5316, "tcp" }, - { "hpdevms", { NULL }, 5316, "udp" }, - { "bsfserver-zn", { NULL }, 5320, "tcp" }, - { "bsfsvr-zn-ssl", { NULL }, 5321, "tcp" }, - { "kfserver", { NULL }, 5343, "tcp" }, - { "kfserver", { NULL }, 5343, "udp" }, - { "xkotodrcp", { NULL }, 5344, "tcp" }, - { "xkotodrcp", { NULL }, 5344, "udp" }, - { "stuns", { NULL }, 5349, "tcp" }, - { "stuns", { NULL }, 5349, "udp" }, - { "turns", { NULL }, 5349, "tcp" }, - { "turns", { NULL }, 5349, "udp" }, - { "stun-behaviors", { NULL }, 5349, "tcp" }, - { "stun-behaviors", { NULL }, 5349, "udp" }, - { "nat-pmp-status", { NULL }, 5350, "tcp" }, - { "nat-pmp-status", { NULL }, 5350, "udp" }, - { "nat-pmp", { NULL }, 5351, "tcp" }, - { "nat-pmp", { NULL }, 5351, "udp" }, - { "dns-llq", { NULL }, 5352, "tcp" }, - { "dns-llq", { NULL }, 5352, "udp" }, - { "mdns", { NULL }, 5353, "tcp" }, - { "mdns", { NULL }, 5353, "udp" }, - { "mdnsresponder", { NULL }, 5354, "tcp" }, - { "mdnsresponder", { NULL }, 5354, "udp" }, - { "llmnr", { NULL }, 5355, "tcp" }, - { "llmnr", { NULL }, 5355, "udp" }, - { "ms-smlbiz", { NULL }, 5356, "tcp" }, - { "ms-smlbiz", { NULL }, 5356, "udp" }, - { "wsdapi", { NULL }, 5357, "tcp" }, - { "wsdapi", { NULL }, 5357, "udp" }, - { "wsdapi-s", { NULL }, 5358, "tcp" }, - { "wsdapi-s", { NULL }, 5358, "udp" }, - { "ms-alerter", { NULL }, 5359, "tcp" }, - { "ms-alerter", { NULL }, 5359, "udp" }, - { "ms-sideshow", { NULL }, 5360, "tcp" }, - { "ms-sideshow", { NULL }, 5360, "udp" }, - { "ms-s-sideshow", { NULL }, 5361, "tcp" }, - { "ms-s-sideshow", { NULL }, 5361, "udp" }, - { "serverwsd2", { NULL }, 5362, "tcp" }, - { "serverwsd2", { NULL }, 5362, "udp" }, - { "net-projection", { NULL }, 5363, "tcp" }, - { "net-projection", { NULL }, 5363, "udp" }, - { "stresstester", { NULL }, 5397, "tcp" }, - { "stresstester", { NULL }, 5397, "udp" }, - { "elektron-admin", { NULL }, 5398, "tcp" }, - { "elektron-admin", { NULL }, 5398, "udp" }, - { "securitychase", { NULL }, 5399, "tcp" }, - { "securitychase", { NULL }, 5399, "udp" }, - { "excerpt", { NULL }, 5400, "tcp" }, - { "excerpt", { NULL }, 5400, "udp" }, - { "excerpts", { NULL }, 5401, "tcp" }, - { "excerpts", { NULL }, 5401, "udp" }, - { "mftp", { NULL }, 5402, "tcp" }, - { "mftp", { NULL }, 5402, "udp" }, - { "hpoms-ci-lstn", { NULL }, 5403, "tcp" }, - { "hpoms-ci-lstn", { NULL }, 5403, "udp" }, - { "hpoms-dps-lstn", { NULL }, 5404, "tcp" }, - { "hpoms-dps-lstn", { NULL }, 5404, "udp" }, - { "netsupport", { NULL }, 5405, "tcp" }, - { "netsupport", { NULL }, 5405, "udp" }, - { "systemics-sox", { NULL }, 5406, "tcp" }, - { "systemics-sox", { NULL }, 5406, "udp" }, - { "foresyte-clear", { NULL }, 5407, "tcp" }, - { "foresyte-clear", { NULL }, 5407, "udp" }, - { "foresyte-sec", { NULL }, 5408, "tcp" }, - { "foresyte-sec", { NULL }, 5408, "udp" }, - { "salient-dtasrv", { NULL }, 5409, "tcp" }, - { "salient-dtasrv", { NULL }, 5409, "udp" }, - { "salient-usrmgr", { NULL }, 5410, "tcp" }, - { "salient-usrmgr", { NULL }, 5410, "udp" }, - { "actnet", { NULL }, 5411, "tcp" }, - { "actnet", { NULL }, 5411, "udp" }, - { "continuus", { NULL }, 5412, "tcp" }, - { "continuus", { NULL }, 5412, "udp" }, - { "wwiotalk", { NULL }, 5413, "tcp" }, - { "wwiotalk", { NULL }, 5413, "udp" }, - { "statusd", { NULL }, 5414, "tcp" }, - { "statusd", { NULL }, 5414, "udp" }, - { "ns-server", { NULL }, 5415, "tcp" }, - { "ns-server", { NULL }, 5415, "udp" }, - { "sns-gateway", { NULL }, 5416, "tcp" }, - { "sns-gateway", { NULL }, 5416, "udp" }, - { "sns-agent", { NULL }, 5417, "tcp" }, - { "sns-agent", { NULL }, 5417, "udp" }, - { "mcntp", { NULL }, 5418, "tcp" }, - { "mcntp", { NULL }, 5418, "udp" }, - { "dj-ice", { NULL }, 5419, "tcp" }, - { "dj-ice", { NULL }, 5419, "udp" }, - { "cylink-c", { NULL }, 5420, "tcp" }, - { "cylink-c", { NULL }, 5420, "udp" }, - { "netsupport2", { NULL }, 5421, "tcp" }, - { "netsupport2", { NULL }, 5421, "udp" }, - { "salient-mux", { NULL }, 5422, "tcp" }, - { "salient-mux", { NULL }, 5422, "udp" }, - { "virtualuser", { NULL }, 5423, "tcp" }, - { "virtualuser", { NULL }, 5423, "udp" }, - { "beyond-remote", { NULL }, 5424, "tcp" }, - { "beyond-remote", { NULL }, 5424, "udp" }, - { "br-channel", { NULL }, 5425, "tcp" }, - { "br-channel", { NULL }, 5425, "udp" }, - { "devbasic", { NULL }, 5426, "tcp" }, - { "devbasic", { NULL }, 5426, "udp" }, - { "sco-peer-tta", { NULL }, 5427, "tcp" }, - { "sco-peer-tta", { NULL }, 5427, "udp" }, - { "telaconsole", { NULL }, 5428, "tcp" }, - { "telaconsole", { NULL }, 5428, "udp" }, - { "base", { NULL }, 5429, "tcp" }, - { "base", { NULL }, 5429, "udp" }, - { "radec-corp", { NULL }, 5430, "tcp" }, - { "radec-corp", { NULL }, 5430, "udp" }, - { "park-agent", { NULL }, 5431, "tcp" }, - { "park-agent", { NULL }, 5431, "udp" }, - { "postgresql", { NULL }, 5432, "tcp" }, - { "postgresql", { NULL }, 5432, "udp" }, - { "pyrrho", { NULL }, 5433, "tcp" }, - { "pyrrho", { NULL }, 5433, "udp" }, - { "sgi-arrayd", { NULL }, 5434, "tcp" }, - { "sgi-arrayd", { NULL }, 5434, "udp" }, - { "sceanics", { NULL }, 5435, "tcp" }, - { "sceanics", { NULL }, 5435, "udp" }, - { "pmip6-cntl", { NULL }, 5436, "udp" }, - { "pmip6-data", { NULL }, 5437, "udp" }, - { "spss", { NULL }, 5443, "tcp" }, - { "spss", { NULL }, 5443, "udp" }, - { "surebox", { NULL }, 5453, "tcp" }, - { "surebox", { NULL }, 5453, "udp" }, - { "apc-5454", { NULL }, 5454, "tcp" }, - { "apc-5454", { NULL }, 5454, "udp" }, - { "apc-5455", { NULL }, 5455, "tcp" }, - { "apc-5455", { NULL }, 5455, "udp" }, - { "apc-5456", { NULL }, 5456, "tcp" }, - { "apc-5456", { NULL }, 5456, "udp" }, - { "silkmeter", { NULL }, 5461, "tcp" }, - { "silkmeter", { NULL }, 5461, "udp" }, - { "ttl-publisher", { NULL }, 5462, "tcp" }, - { "ttl-publisher", { NULL }, 5462, "udp" }, - { "ttlpriceproxy", { NULL }, 5463, "tcp" }, - { "ttlpriceproxy", { NULL }, 5463, "udp" }, - { "quailnet", { NULL }, 5464, "tcp" }, - { "quailnet", { NULL }, 5464, "udp" }, - { "netops-broker", { NULL }, 5465, "tcp" }, - { "netops-broker", { NULL }, 5465, "udp" }, - { "fcp-addr-srvr1", { NULL }, 5500, "tcp" }, - { "fcp-addr-srvr1", { NULL }, 5500, "udp" }, - { "fcp-addr-srvr2", { NULL }, 5501, "tcp" }, - { "fcp-addr-srvr2", { NULL }, 5501, "udp" }, - { "fcp-srvr-inst1", { NULL }, 5502, "tcp" }, - { "fcp-srvr-inst1", { NULL }, 5502, "udp" }, - { "fcp-srvr-inst2", { NULL }, 5503, "tcp" }, - { "fcp-srvr-inst2", { NULL }, 5503, "udp" }, - { "fcp-cics-gw1", { NULL }, 5504, "tcp" }, - { "fcp-cics-gw1", { NULL }, 5504, "udp" }, - { "checkoutdb", { NULL }, 5505, "tcp" }, - { "checkoutdb", { NULL }, 5505, "udp" }, - { "amc", { NULL }, 5506, "tcp" }, - { "amc", { NULL }, 5506, "udp" }, - { "sgi-eventmond", { NULL }, 5553, "tcp" }, - { "sgi-eventmond", { NULL }, 5553, "udp" }, - { "sgi-esphttp", { NULL }, 5554, "tcp" }, - { "sgi-esphttp", { NULL }, 5554, "udp" }, - { "personal-agent", { NULL }, 5555, "tcp" }, - { "personal-agent", { NULL }, 5555, "udp" }, - { "freeciv", { NULL }, 5556, "tcp" }, - { "freeciv", { NULL }, 5556, "udp" }, - { "farenet", { NULL }, 5557, "tcp" }, - { "westec-connect", { NULL }, 5566, "tcp" }, - { "m-oap", { NULL }, 5567, "tcp" }, - { "m-oap", { NULL }, 5567, "udp" }, - { "sdt", { NULL }, 5568, "tcp" }, - { "sdt", { NULL }, 5568, "udp" }, - { "sdmmp", { NULL }, 5573, "tcp" }, - { "sdmmp", { NULL }, 5573, "udp" }, - { "lsi-bobcat", { NULL }, 5574, "tcp" }, - { "ora-oap", { NULL }, 5575, "tcp" }, - { "fdtracks", { NULL }, 5579, "tcp" }, - { "tmosms0", { NULL }, 5580, "tcp" }, - { "tmosms0", { NULL }, 5580, "udp" }, - { "tmosms1", { NULL }, 5581, "tcp" }, - { "tmosms1", { NULL }, 5581, "udp" }, - { "fac-restore", { NULL }, 5582, "tcp" }, - { "fac-restore", { NULL }, 5582, "udp" }, - { "tmo-icon-sync", { NULL }, 5583, "tcp" }, - { "tmo-icon-sync", { NULL }, 5583, "udp" }, - { "bis-web", { NULL }, 5584, "tcp" }, - { "bis-web", { NULL }, 5584, "udp" }, - { "bis-sync", { NULL }, 5585, "tcp" }, - { "bis-sync", { NULL }, 5585, "udp" }, - { "ininmessaging", { NULL }, 5597, "tcp" }, - { "ininmessaging", { NULL }, 5597, "udp" }, - { "mctfeed", { NULL }, 5598, "tcp" }, - { "mctfeed", { NULL }, 5598, "udp" }, - { "esinstall", { NULL }, 5599, "tcp" }, - { "esinstall", { NULL }, 5599, "udp" }, - { "esmmanager", { NULL }, 5600, "tcp" }, - { "esmmanager", { NULL }, 5600, "udp" }, - { "esmagent", { NULL }, 5601, "tcp" }, - { "esmagent", { NULL }, 5601, "udp" }, - { "a1-msc", { NULL }, 5602, "tcp" }, - { "a1-msc", { NULL }, 5602, "udp" }, - { "a1-bs", { NULL }, 5603, "tcp" }, - { "a1-bs", { NULL }, 5603, "udp" }, - { "a3-sdunode", { NULL }, 5604, "tcp" }, - { "a3-sdunode", { NULL }, 5604, "udp" }, - { "a4-sdunode", { NULL }, 5605, "tcp" }, - { "a4-sdunode", { NULL }, 5605, "udp" }, - { "ninaf", { NULL }, 5627, "tcp" }, - { "ninaf", { NULL }, 5627, "udp" }, - { "htrust", { NULL }, 5628, "tcp" }, - { "htrust", { NULL }, 5628, "udp" }, - { "symantec-sfdb", { NULL }, 5629, "tcp" }, - { "symantec-sfdb", { NULL }, 5629, "udp" }, - { "precise-comm", { NULL }, 5630, "tcp" }, - { "precise-comm", { NULL }, 5630, "udp" }, - { "pcanywheredata", { NULL }, 5631, "tcp" }, - { "pcanywheredata", { NULL }, 5631, "udp" }, - { "pcanywherestat", { NULL }, 5632, "tcp" }, - { "pcanywherestat", { NULL }, 5632, "udp" }, - { "beorl", { NULL }, 5633, "tcp" }, - { "beorl", { NULL }, 5633, "udp" }, - { "xprtld", { NULL }, 5634, "tcp" }, - { "xprtld", { NULL }, 5634, "udp" }, - { "sfmsso", { NULL }, 5635, "tcp" }, - { "sfm-db-server", { NULL }, 5636, "tcp" }, - { "cssc", { NULL }, 5637, "tcp" }, - { "amqps", { NULL }, 5671, "tcp" }, - { "amqps", { NULL }, 5671, "udp" }, - { "amqp", { NULL }, 5672, "tcp" }, - { "amqp", { NULL }, 5672, "udp" }, - { "amqp", { NULL }, 5672, "sctp"}, - { "jms", { NULL }, 5673, "tcp" }, - { "jms", { NULL }, 5673, "udp" }, - { "hyperscsi-port", { NULL }, 5674, "tcp" }, - { "hyperscsi-port", { NULL }, 5674, "udp" }, - { "v5ua", { NULL }, 5675, "tcp" }, - { "v5ua", { NULL }, 5675, "udp" }, - { "v5ua", { NULL }, 5675, "sctp"}, - { "raadmin", { NULL }, 5676, "tcp" }, - { "raadmin", { NULL }, 5676, "udp" }, - { "questdb2-lnchr", { NULL }, 5677, "tcp" }, - { "questdb2-lnchr", { NULL }, 5677, "udp" }, - { "rrac", { NULL }, 5678, "tcp" }, - { "rrac", { NULL }, 5678, "udp" }, - { "dccm", { NULL }, 5679, "tcp" }, - { "dccm", { NULL }, 5679, "udp" }, - { "auriga-router", { NULL }, 5680, "tcp" }, - { "auriga-router", { NULL }, 5680, "udp" }, - { "ncxcp", { NULL }, 5681, "tcp" }, - { "ncxcp", { NULL }, 5681, "udp" }, - { "brightcore", { NULL }, 5682, "udp" }, - { "ggz", { NULL }, 5688, "tcp" }, - { "ggz", { NULL }, 5688, "udp" }, - { "qmvideo", { NULL }, 5689, "tcp" }, - { "qmvideo", { NULL }, 5689, "udp" }, - { "proshareaudio", { NULL }, 5713, "tcp" }, - { "proshareaudio", { NULL }, 5713, "udp" }, - { "prosharevideo", { NULL }, 5714, "tcp" }, - { "prosharevideo", { NULL }, 5714, "udp" }, - { "prosharedata", { NULL }, 5715, "tcp" }, - { "prosharedata", { NULL }, 5715, "udp" }, - { "prosharerequest", { NULL }, 5716, "tcp" }, - { "prosharerequest", { NULL }, 5716, "udp" }, - { "prosharenotify", { NULL }, 5717, "tcp" }, - { "prosharenotify", { NULL }, 5717, "udp" }, - { "dpm", { NULL }, 5718, "tcp" }, - { "dpm", { NULL }, 5718, "udp" }, - { "dpm-agent", { NULL }, 5719, "tcp" }, - { "dpm-agent", { NULL }, 5719, "udp" }, - { "ms-licensing", { NULL }, 5720, "tcp" }, - { "ms-licensing", { NULL }, 5720, "udp" }, - { "dtpt", { NULL }, 5721, "tcp" }, - { "dtpt", { NULL }, 5721, "udp" }, - { "msdfsr", { NULL }, 5722, "tcp" }, - { "msdfsr", { NULL }, 5722, "udp" }, - { "omhs", { NULL }, 5723, "tcp" }, - { "omhs", { NULL }, 5723, "udp" }, - { "omsdk", { NULL }, 5724, "tcp" }, - { "omsdk", { NULL }, 5724, "udp" }, - { "ms-ilm", { NULL }, 5725, "tcp" }, - { "ms-ilm-sts", { NULL }, 5726, "tcp" }, - { "asgenf", { NULL }, 5727, "tcp" }, - { "io-dist-data", { NULL }, 5728, "tcp" }, - { "io-dist-group", { NULL }, 5728, "udp" }, - { "openmail", { NULL }, 5729, "tcp" }, - { "openmail", { NULL }, 5729, "udp" }, - { "unieng", { NULL }, 5730, "tcp" }, - { "unieng", { NULL }, 5730, "udp" }, - { "ida-discover1", { NULL }, 5741, "tcp" }, - { "ida-discover1", { NULL }, 5741, "udp" }, - { "ida-discover2", { NULL }, 5742, "tcp" }, - { "ida-discover2", { NULL }, 5742, "udp" }, - { "watchdoc-pod", { NULL }, 5743, "tcp" }, - { "watchdoc-pod", { NULL }, 5743, "udp" }, - { "watchdoc", { NULL }, 5744, "tcp" }, - { "watchdoc", { NULL }, 5744, "udp" }, - { "fcopy-server", { NULL }, 5745, "tcp" }, - { "fcopy-server", { NULL }, 5745, "udp" }, - { "fcopys-server", { NULL }, 5746, "tcp" }, - { "fcopys-server", { NULL }, 5746, "udp" }, - { "tunatic", { NULL }, 5747, "tcp" }, - { "tunatic", { NULL }, 5747, "udp" }, - { "tunalyzer", { NULL }, 5748, "tcp" }, - { "tunalyzer", { NULL }, 5748, "udp" }, - { "rscd", { NULL }, 5750, "tcp" }, - { "rscd", { NULL }, 5750, "udp" }, - { "openmailg", { NULL }, 5755, "tcp" }, - { "openmailg", { NULL }, 5755, "udp" }, - { "x500ms", { NULL }, 5757, "tcp" }, - { "x500ms", { NULL }, 5757, "udp" }, - { "openmailns", { NULL }, 5766, "tcp" }, - { "openmailns", { NULL }, 5766, "udp" }, - { "s-openmail", { NULL }, 5767, "tcp" }, - { "s-openmail", { NULL }, 5767, "udp" }, - { "openmailpxy", { NULL }, 5768, "tcp" }, - { "openmailpxy", { NULL }, 5768, "udp" }, - { "spramsca", { NULL }, 5769, "tcp" }, - { "spramsca", { NULL }, 5769, "udp" }, - { "spramsd", { NULL }, 5770, "tcp" }, - { "spramsd", { NULL }, 5770, "udp" }, - { "netagent", { NULL }, 5771, "tcp" }, - { "netagent", { NULL }, 5771, "udp" }, - { "dali-port", { NULL }, 5777, "tcp" }, - { "dali-port", { NULL }, 5777, "udp" }, - { "vts-rpc", { NULL }, 5780, "tcp" }, - { "3par-evts", { NULL }, 5781, "tcp" }, - { "3par-evts", { NULL }, 5781, "udp" }, - { "3par-mgmt", { NULL }, 5782, "tcp" }, - { "3par-mgmt", { NULL }, 5782, "udp" }, - { "3par-mgmt-ssl", { NULL }, 5783, "tcp" }, - { "3par-mgmt-ssl", { NULL }, 5783, "udp" }, - { "ibar", { NULL }, 5784, "udp" }, - { "3par-rcopy", { NULL }, 5785, "tcp" }, - { "3par-rcopy", { NULL }, 5785, "udp" }, - { "cisco-redu", { NULL }, 5786, "udp" }, - { "waascluster", { NULL }, 5787, "udp" }, - { "xtreamx", { NULL }, 5793, "tcp" }, - { "xtreamx", { NULL }, 5793, "udp" }, - { "spdp", { NULL }, 5794, "udp" }, - { "icmpd", { NULL }, 5813, "tcp" }, - { "icmpd", { NULL }, 5813, "udp" }, - { "spt-automation", { NULL }, 5814, "tcp" }, - { "spt-automation", { NULL }, 5814, "udp" }, - { "wherehoo", { NULL }, 5859, "tcp" }, - { "wherehoo", { NULL }, 5859, "udp" }, - { "ppsuitemsg", { NULL }, 5863, "tcp" }, - { "ppsuitemsg", { NULL }, 5863, "udp" }, - { "rfb", { NULL }, 5900, "tcp" }, - { "rfb", { NULL }, 5900, "udp" }, - { "cm", { NULL }, 5910, "tcp" }, - { "cm", { NULL }, 5910, "udp" }, - { "cpdlc", { NULL }, 5911, "tcp" }, - { "cpdlc", { NULL }, 5911, "udp" }, - { "fis", { NULL }, 5912, "tcp" }, - { "fis", { NULL }, 5912, "udp" }, - { "ads-c", { NULL }, 5913, "tcp" }, - { "ads-c", { NULL }, 5913, "udp" }, - { "indy", { NULL }, 5963, "tcp" }, - { "indy", { NULL }, 5963, "udp" }, - { "mppolicy-v5", { NULL }, 5968, "tcp" }, - { "mppolicy-v5", { NULL }, 5968, "udp" }, - { "mppolicy-mgr", { NULL }, 5969, "tcp" }, - { "mppolicy-mgr", { NULL }, 5969, "udp" }, - { "couchdb", { NULL }, 5984, "tcp" }, - { "couchdb", { NULL }, 5984, "udp" }, - { "wsman", { NULL }, 5985, "tcp" }, - { "wsman", { NULL }, 5985, "udp" }, - { "wsmans", { NULL }, 5986, "tcp" }, - { "wsmans", { NULL }, 5986, "udp" }, - { "wbem-rmi", { NULL }, 5987, "tcp" }, - { "wbem-rmi", { NULL }, 5987, "udp" }, - { "wbem-http", { NULL }, 5988, "tcp" }, - { "wbem-http", { NULL }, 5988, "udp" }, - { "wbem-https", { NULL }, 5989, "tcp" }, - { "wbem-https", { NULL }, 5989, "udp" }, - { "wbem-exp-https", { NULL }, 5990, "tcp" }, - { "wbem-exp-https", { NULL }, 5990, "udp" }, - { "nuxsl", { NULL }, 5991, "tcp" }, - { "nuxsl", { NULL }, 5991, "udp" }, - { "consul-insight", { NULL }, 5992, "tcp" }, - { "consul-insight", { NULL }, 5992, "udp" }, - { "cvsup", { NULL }, 5999, "tcp" }, - { "cvsup", { NULL }, 5999, "udp" }, - { "ndl-ahp-svc", { NULL }, 6064, "tcp" }, - { "ndl-ahp-svc", { NULL }, 6064, "udp" }, - { "winpharaoh", { NULL }, 6065, "tcp" }, - { "winpharaoh", { NULL }, 6065, "udp" }, - { "ewctsp", { NULL }, 6066, "tcp" }, - { "ewctsp", { NULL }, 6066, "udp" }, - { "gsmp", { NULL }, 6068, "tcp" }, - { "gsmp", { NULL }, 6068, "udp" }, - { "trip", { NULL }, 6069, "tcp" }, - { "trip", { NULL }, 6069, "udp" }, - { "messageasap", { NULL }, 6070, "tcp" }, - { "messageasap", { NULL }, 6070, "udp" }, - { "ssdtp", { NULL }, 6071, "tcp" }, - { "ssdtp", { NULL }, 6071, "udp" }, - { "diagnose-proc", { NULL }, 6072, "tcp" }, - { "diagnose-proc", { NULL }, 6072, "udp" }, - { "directplay8", { NULL }, 6073, "tcp" }, - { "directplay8", { NULL }, 6073, "udp" }, - { "max", { NULL }, 6074, "tcp" }, - { "max", { NULL }, 6074, "udp" }, - { "dpm-acm", { NULL }, 6075, "tcp" }, - { "miami-bcast", { NULL }, 6083, "udp" }, - { "p2p-sip", { NULL }, 6084, "tcp" }, - { "konspire2b", { NULL }, 6085, "tcp" }, - { "konspire2b", { NULL }, 6085, "udp" }, - { "pdtp", { NULL }, 6086, "tcp" }, - { "pdtp", { NULL }, 6086, "udp" }, - { "ldss", { NULL }, 6087, "tcp" }, - { "ldss", { NULL }, 6087, "udp" }, - { "raxa-mgmt", { NULL }, 6099, "tcp" }, - { "synchronet-db", { NULL }, 6100, "tcp" }, - { "synchronet-db", { NULL }, 6100, "udp" }, - { "synchronet-rtc", { NULL }, 6101, "tcp" }, - { "synchronet-rtc", { NULL }, 6101, "udp" }, - { "synchronet-upd", { NULL }, 6102, "tcp" }, - { "synchronet-upd", { NULL }, 6102, "udp" }, - { "rets", { NULL }, 6103, "tcp" }, - { "rets", { NULL }, 6103, "udp" }, - { "dbdb", { NULL }, 6104, "tcp" }, - { "dbdb", { NULL }, 6104, "udp" }, - { "primaserver", { NULL }, 6105, "tcp" }, - { "primaserver", { NULL }, 6105, "udp" }, - { "mpsserver", { NULL }, 6106, "tcp" }, - { "mpsserver", { NULL }, 6106, "udp" }, - { "etc-control", { NULL }, 6107, "tcp" }, - { "etc-control", { NULL }, 6107, "udp" }, - { "sercomm-scadmin", { NULL }, 6108, "tcp" }, - { "sercomm-scadmin", { NULL }, 6108, "udp" }, - { "globecast-id", { NULL }, 6109, "tcp" }, - { "globecast-id", { NULL }, 6109, "udp" }, - { "softcm", { NULL }, 6110, "tcp" }, - { "softcm", { NULL }, 6110, "udp" }, - { "spc", { NULL }, 6111, "tcp" }, - { "spc", { NULL }, 6111, "udp" }, - { "dtspcd", { NULL }, 6112, "tcp" }, - { "dtspcd", { NULL }, 6112, "udp" }, - { "dayliteserver", { NULL }, 6113, "tcp" }, - { "wrspice", { NULL }, 6114, "tcp" }, - { "xic", { NULL }, 6115, "tcp" }, - { "xtlserv", { NULL }, 6116, "tcp" }, - { "daylitetouch", { NULL }, 6117, "tcp" }, - { "spdy", { NULL }, 6121, "tcp" }, - { "bex-webadmin", { NULL }, 6122, "tcp" }, - { "bex-webadmin", { NULL }, 6122, "udp" }, - { "backup-express", { NULL }, 6123, "tcp" }, - { "backup-express", { NULL }, 6123, "udp" }, - { "pnbs", { NULL }, 6124, "tcp" }, - { "pnbs", { NULL }, 6124, "udp" }, - { "nbt-wol", { NULL }, 6133, "tcp" }, - { "nbt-wol", { NULL }, 6133, "udp" }, - { "pulsonixnls", { NULL }, 6140, "tcp" }, - { "pulsonixnls", { NULL }, 6140, "udp" }, - { "meta-corp", { NULL }, 6141, "tcp" }, - { "meta-corp", { NULL }, 6141, "udp" }, - { "aspentec-lm", { NULL }, 6142, "tcp" }, - { "aspentec-lm", { NULL }, 6142, "udp" }, - { "watershed-lm", { NULL }, 6143, "tcp" }, - { "watershed-lm", { NULL }, 6143, "udp" }, - { "statsci1-lm", { NULL }, 6144, "tcp" }, - { "statsci1-lm", { NULL }, 6144, "udp" }, - { "statsci2-lm", { NULL }, 6145, "tcp" }, - { "statsci2-lm", { NULL }, 6145, "udp" }, - { "lonewolf-lm", { NULL }, 6146, "tcp" }, - { "lonewolf-lm", { NULL }, 6146, "udp" }, - { "montage-lm", { NULL }, 6147, "tcp" }, - { "montage-lm", { NULL }, 6147, "udp" }, - { "ricardo-lm", { NULL }, 6148, "tcp" }, - { "ricardo-lm", { NULL }, 6148, "udp" }, - { "tal-pod", { NULL }, 6149, "tcp" }, - { "tal-pod", { NULL }, 6149, "udp" }, - { "efb-aci", { NULL }, 6159, "tcp" }, - { "patrol-ism", { NULL }, 6161, "tcp" }, - { "patrol-ism", { NULL }, 6161, "udp" }, - { "patrol-coll", { NULL }, 6162, "tcp" }, - { "patrol-coll", { NULL }, 6162, "udp" }, - { "pscribe", { NULL }, 6163, "tcp" }, - { "pscribe", { NULL }, 6163, "udp" }, - { "lm-x", { NULL }, 6200, "tcp" }, - { "lm-x", { NULL }, 6200, "udp" }, - { "radmind", { NULL }, 6222, "tcp" }, - { "radmind", { NULL }, 6222, "udp" }, - { "jeol-nsdtp-1", { NULL }, 6241, "tcp" }, - { "jeol-nsddp-1", { NULL }, 6241, "udp" }, - { "jeol-nsdtp-2", { NULL }, 6242, "tcp" }, - { "jeol-nsddp-2", { NULL }, 6242, "udp" }, - { "jeol-nsdtp-3", { NULL }, 6243, "tcp" }, - { "jeol-nsddp-3", { NULL }, 6243, "udp" }, - { "jeol-nsdtp-4", { NULL }, 6244, "tcp" }, - { "jeol-nsddp-4", { NULL }, 6244, "udp" }, - { "tl1-raw-ssl", { NULL }, 6251, "tcp" }, - { "tl1-raw-ssl", { NULL }, 6251, "udp" }, - { "tl1-ssh", { NULL }, 6252, "tcp" }, - { "tl1-ssh", { NULL }, 6252, "udp" }, - { "crip", { NULL }, 6253, "tcp" }, - { "crip", { NULL }, 6253, "udp" }, - { "gld", { NULL }, 6267, "tcp" }, - { "grid", { NULL }, 6268, "tcp" }, - { "grid", { NULL }, 6268, "udp" }, - { "grid-alt", { NULL }, 6269, "tcp" }, - { "grid-alt", { NULL }, 6269, "udp" }, - { "bmc-grx", { NULL }, 6300, "tcp" }, - { "bmc-grx", { NULL }, 6300, "udp" }, - { "bmc_ctd_ldap", { NULL }, 6301, "tcp" }, - { "bmc_ctd_ldap", { NULL }, 6301, "udp" }, - { "ufmp", { NULL }, 6306, "tcp" }, - { "ufmp", { NULL }, 6306, "udp" }, - { "scup", { NULL }, 6315, "tcp" }, - { "scup-disc", { NULL }, 6315, "udp" }, - { "abb-escp", { NULL }, 6316, "tcp" }, - { "abb-escp", { NULL }, 6316, "udp" }, - { "repsvc", { NULL }, 6320, "tcp" }, - { "repsvc", { NULL }, 6320, "udp" }, - { "emp-server1", { NULL }, 6321, "tcp" }, - { "emp-server1", { NULL }, 6321, "udp" }, - { "emp-server2", { NULL }, 6322, "tcp" }, - { "emp-server2", { NULL }, 6322, "udp" }, - { "sflow", { NULL }, 6343, "tcp" }, - { "sflow", { NULL }, 6343, "udp" }, - { "gnutella-svc", { NULL }, 6346, "tcp" }, - { "gnutella-svc", { NULL }, 6346, "udp" }, - { "gnutella-rtr", { NULL }, 6347, "tcp" }, - { "gnutella-rtr", { NULL }, 6347, "udp" }, - { "adap", { NULL }, 6350, "tcp" }, - { "adap", { NULL }, 6350, "udp" }, - { "pmcs", { NULL }, 6355, "tcp" }, - { "pmcs", { NULL }, 6355, "udp" }, - { "metaedit-mu", { NULL }, 6360, "tcp" }, - { "metaedit-mu", { NULL }, 6360, "udp" }, - { "metaedit-se", { NULL }, 6370, "tcp" }, - { "metaedit-se", { NULL }, 6370, "udp" }, - { "metatude-mds", { NULL }, 6382, "tcp" }, - { "metatude-mds", { NULL }, 6382, "udp" }, - { "clariion-evr01", { NULL }, 6389, "tcp" }, - { "clariion-evr01", { NULL }, 6389, "udp" }, - { "metaedit-ws", { NULL }, 6390, "tcp" }, - { "metaedit-ws", { NULL }, 6390, "udp" }, - { "faxcomservice", { NULL }, 6417, "tcp" }, - { "faxcomservice", { NULL }, 6417, "udp" }, - { "syserverremote", { NULL }, 6418, "tcp" }, - { "svdrp", { NULL }, 6419, "tcp" }, - { "nim-vdrshell", { NULL }, 6420, "tcp" }, - { "nim-vdrshell", { NULL }, 6420, "udp" }, - { "nim-wan", { NULL }, 6421, "tcp" }, - { "nim-wan", { NULL }, 6421, "udp" }, - { "pgbouncer", { NULL }, 6432, "tcp" }, - { "sun-sr-https", { NULL }, 6443, "tcp" }, - { "sun-sr-https", { NULL }, 6443, "udp" }, - { "sge_qmaster", { NULL }, 6444, "tcp" }, - { "sge_qmaster", { NULL }, 6444, "udp" }, - { "sge_execd", { NULL }, 6445, "tcp" }, - { "sge_execd", { NULL }, 6445, "udp" }, - { "mysql-proxy", { NULL }, 6446, "tcp" }, - { "mysql-proxy", { NULL }, 6446, "udp" }, - { "skip-cert-recv", { NULL }, 6455, "tcp" }, - { "skip-cert-send", { NULL }, 6456, "udp" }, - { "lvision-lm", { NULL }, 6471, "tcp" }, - { "lvision-lm", { NULL }, 6471, "udp" }, - { "sun-sr-http", { NULL }, 6480, "tcp" }, - { "sun-sr-http", { NULL }, 6480, "udp" }, - { "servicetags", { NULL }, 6481, "tcp" }, - { "servicetags", { NULL }, 6481, "udp" }, - { "ldoms-mgmt", { NULL }, 6482, "tcp" }, - { "ldoms-mgmt", { NULL }, 6482, "udp" }, - { "SunVTS-RMI", { NULL }, 6483, "tcp" }, - { "SunVTS-RMI", { NULL }, 6483, "udp" }, - { "sun-sr-jms", { NULL }, 6484, "tcp" }, - { "sun-sr-jms", { NULL }, 6484, "udp" }, - { "sun-sr-iiop", { NULL }, 6485, "tcp" }, - { "sun-sr-iiop", { NULL }, 6485, "udp" }, - { "sun-sr-iiops", { NULL }, 6486, "tcp" }, - { "sun-sr-iiops", { NULL }, 6486, "udp" }, - { "sun-sr-iiop-aut", { NULL }, 6487, "tcp" }, - { "sun-sr-iiop-aut", { NULL }, 6487, "udp" }, - { "sun-sr-jmx", { NULL }, 6488, "tcp" }, - { "sun-sr-jmx", { NULL }, 6488, "udp" }, - { "sun-sr-admin", { NULL }, 6489, "tcp" }, - { "sun-sr-admin", { NULL }, 6489, "udp" }, - { "boks", { NULL }, 6500, "tcp" }, - { "boks", { NULL }, 6500, "udp" }, - { "boks_servc", { NULL }, 6501, "tcp" }, - { "boks_servc", { NULL }, 6501, "udp" }, - { "boks_servm", { NULL }, 6502, "tcp" }, - { "boks_servm", { NULL }, 6502, "udp" }, - { "boks_clntd", { NULL }, 6503, "tcp" }, - { "boks_clntd", { NULL }, 6503, "udp" }, - { "badm_priv", { NULL }, 6505, "tcp" }, - { "badm_priv", { NULL }, 6505, "udp" }, - { "badm_pub", { NULL }, 6506, "tcp" }, - { "badm_pub", { NULL }, 6506, "udp" }, - { "bdir_priv", { NULL }, 6507, "tcp" }, - { "bdir_priv", { NULL }, 6507, "udp" }, - { "bdir_pub", { NULL }, 6508, "tcp" }, - { "bdir_pub", { NULL }, 6508, "udp" }, - { "mgcs-mfp-port", { NULL }, 6509, "tcp" }, - { "mgcs-mfp-port", { NULL }, 6509, "udp" }, - { "mcer-port", { NULL }, 6510, "tcp" }, - { "mcer-port", { NULL }, 6510, "udp" }, - { "netconf-tls", { NULL }, 6513, "tcp" }, - { "syslog-tls", { NULL }, 6514, "tcp" }, - { "syslog-tls", { NULL }, 6514, "udp" }, - { "syslog-tls", { NULL }, 6514, "dccp"}, - { "elipse-rec", { NULL }, 6515, "tcp" }, - { "elipse-rec", { NULL }, 6515, "udp" }, - { "lds-distrib", { NULL }, 6543, "tcp" }, - { "lds-distrib", { NULL }, 6543, "udp" }, - { "lds-dump", { NULL }, 6544, "tcp" }, - { "lds-dump", { NULL }, 6544, "udp" }, - { "apc-6547", { NULL }, 6547, "tcp" }, - { "apc-6547", { NULL }, 6547, "udp" }, - { "apc-6548", { NULL }, 6548, "tcp" }, - { "apc-6548", { NULL }, 6548, "udp" }, - { "apc-6549", { NULL }, 6549, "tcp" }, - { "apc-6549", { NULL }, 6549, "udp" }, - { "fg-sysupdate", { NULL }, 6550, "tcp" }, - { "fg-sysupdate", { NULL }, 6550, "udp" }, - { "sum", { NULL }, 6551, "tcp" }, - { "sum", { NULL }, 6551, "udp" }, - { "xdsxdm", { NULL }, 6558, "tcp" }, - { "xdsxdm", { NULL }, 6558, "udp" }, - { "sane-port", { NULL }, 6566, "tcp" }, - { "sane-port", { NULL }, 6566, "udp" }, - { "esp", { NULL }, 6567, "tcp" }, - { "esp", { NULL }, 6567, "udp" }, - { "canit_store", { NULL }, 6568, "tcp" }, - { "rp-reputation", { NULL }, 6568, "udp" }, - { "affiliate", { NULL }, 6579, "tcp" }, - { "affiliate", { NULL }, 6579, "udp" }, - { "parsec-master", { NULL }, 6580, "tcp" }, - { "parsec-master", { NULL }, 6580, "udp" }, - { "parsec-peer", { NULL }, 6581, "tcp" }, - { "parsec-peer", { NULL }, 6581, "udp" }, - { "parsec-game", { NULL }, 6582, "tcp" }, - { "parsec-game", { NULL }, 6582, "udp" }, - { "joaJewelSuite", { NULL }, 6583, "tcp" }, - { "joaJewelSuite", { NULL }, 6583, "udp" }, - { "mshvlm", { NULL }, 6600, "tcp" }, - { "mstmg-sstp", { NULL }, 6601, "tcp" }, - { "wsscomfrmwk", { NULL }, 6602, "tcp" }, - { "odette-ftps", { NULL }, 6619, "tcp" }, - { "odette-ftps", { NULL }, 6619, "udp" }, - { "kftp-data", { NULL }, 6620, "tcp" }, - { "kftp-data", { NULL }, 6620, "udp" }, - { "kftp", { NULL }, 6621, "tcp" }, - { "kftp", { NULL }, 6621, "udp" }, - { "mcftp", { NULL }, 6622, "tcp" }, - { "mcftp", { NULL }, 6622, "udp" }, - { "ktelnet", { NULL }, 6623, "tcp" }, - { "ktelnet", { NULL }, 6623, "udp" }, - { "datascaler-db", { NULL }, 6624, "tcp" }, - { "datascaler-ctl", { NULL }, 6625, "tcp" }, - { "wago-service", { NULL }, 6626, "tcp" }, - { "wago-service", { NULL }, 6626, "udp" }, - { "nexgen", { NULL }, 6627, "tcp" }, - { "nexgen", { NULL }, 6627, "udp" }, - { "afesc-mc", { NULL }, 6628, "tcp" }, - { "afesc-mc", { NULL }, 6628, "udp" }, - { "mxodbc-connect", { NULL }, 6632, "tcp" }, - { "pcs-sf-ui-man", { NULL }, 6655, "tcp" }, - { "emgmsg", { NULL }, 6656, "tcp" }, - { "palcom-disc", { NULL }, 6657, "udp" }, - { "vocaltec-gold", { NULL }, 6670, "tcp" }, - { "vocaltec-gold", { NULL }, 6670, "udp" }, - { "p4p-portal", { NULL }, 6671, "tcp" }, - { "p4p-portal", { NULL }, 6671, "udp" }, - { "vision_server", { NULL }, 6672, "tcp" }, - { "vision_server", { NULL }, 6672, "udp" }, - { "vision_elmd", { NULL }, 6673, "tcp" }, - { "vision_elmd", { NULL }, 6673, "udp" }, - { "vfbp", { NULL }, 6678, "tcp" }, - { "vfbp-disc", { NULL }, 6678, "udp" }, - { "osaut", { NULL }, 6679, "tcp" }, - { "osaut", { NULL }, 6679, "udp" }, - { "clever-ctrace", { NULL }, 6687, "tcp" }, - { "clever-tcpip", { NULL }, 6688, "tcp" }, - { "tsa", { NULL }, 6689, "tcp" }, - { "tsa", { NULL }, 6689, "udp" }, - { "babel", { NULL }, 6697, "udp" }, - { "kti-icad-srvr", { NULL }, 6701, "tcp" }, - { "kti-icad-srvr", { NULL }, 6701, "udp" }, - { "e-design-net", { NULL }, 6702, "tcp" }, - { "e-design-net", { NULL }, 6702, "udp" }, - { "e-design-web", { NULL }, 6703, "tcp" }, - { "e-design-web", { NULL }, 6703, "udp" }, - { "frc-hp", { NULL }, 6704, "sctp"}, - { "frc-mp", { NULL }, 6705, "sctp"}, - { "frc-lp", { NULL }, 6706, "sctp"}, - { "ibprotocol", { NULL }, 6714, "tcp" }, - { "ibprotocol", { NULL }, 6714, "udp" }, - { "fibotrader-com", { NULL }, 6715, "tcp" }, - { "fibotrader-com", { NULL }, 6715, "udp" }, - { "bmc-perf-agent", { NULL }, 6767, "tcp" }, - { "bmc-perf-agent", { NULL }, 6767, "udp" }, - { "bmc-perf-mgrd", { NULL }, 6768, "tcp" }, - { "bmc-perf-mgrd", { NULL }, 6768, "udp" }, - { "adi-gxp-srvprt", { NULL }, 6769, "tcp" }, - { "adi-gxp-srvprt", { NULL }, 6769, "udp" }, - { "plysrv-http", { NULL }, 6770, "tcp" }, - { "plysrv-http", { NULL }, 6770, "udp" }, - { "plysrv-https", { NULL }, 6771, "tcp" }, - { "plysrv-https", { NULL }, 6771, "udp" }, - { "dgpf-exchg", { NULL }, 6785, "tcp" }, - { "dgpf-exchg", { NULL }, 6785, "udp" }, - { "smc-jmx", { NULL }, 6786, "tcp" }, - { "smc-jmx", { NULL }, 6786, "udp" }, - { "smc-admin", { NULL }, 6787, "tcp" }, - { "smc-admin", { NULL }, 6787, "udp" }, - { "smc-http", { NULL }, 6788, "tcp" }, - { "smc-http", { NULL }, 6788, "udp" }, - { "smc-https", { NULL }, 6789, "tcp" }, - { "smc-https", { NULL }, 6789, "udp" }, - { "hnmp", { NULL }, 6790, "tcp" }, - { "hnmp", { NULL }, 6790, "udp" }, - { "hnm", { NULL }, 6791, "tcp" }, - { "hnm", { NULL }, 6791, "udp" }, - { "acnet", { NULL }, 6801, "tcp" }, - { "acnet", { NULL }, 6801, "udp" }, - { "pentbox-sim", { NULL }, 6817, "tcp" }, - { "ambit-lm", { NULL }, 6831, "tcp" }, - { "ambit-lm", { NULL }, 6831, "udp" }, - { "netmo-default", { NULL }, 6841, "tcp" }, - { "netmo-default", { NULL }, 6841, "udp" }, - { "netmo-http", { NULL }, 6842, "tcp" }, - { "netmo-http", { NULL }, 6842, "udp" }, - { "iccrushmore", { NULL }, 6850, "tcp" }, - { "iccrushmore", { NULL }, 6850, "udp" }, - { "acctopus-cc", { NULL }, 6868, "tcp" }, - { "acctopus-st", { NULL }, 6868, "udp" }, - { "muse", { NULL }, 6888, "tcp" }, - { "muse", { NULL }, 6888, "udp" }, - { "jetstream", { NULL }, 6901, "tcp" }, - { "xsmsvc", { NULL }, 6936, "tcp" }, - { "xsmsvc", { NULL }, 6936, "udp" }, - { "bioserver", { NULL }, 6946, "tcp" }, - { "bioserver", { NULL }, 6946, "udp" }, - { "otlp", { NULL }, 6951, "tcp" }, - { "otlp", { NULL }, 6951, "udp" }, - { "jmact3", { NULL }, 6961, "tcp" }, - { "jmact3", { NULL }, 6961, "udp" }, - { "jmevt2", { NULL }, 6962, "tcp" }, - { "jmevt2", { NULL }, 6962, "udp" }, - { "swismgr1", { NULL }, 6963, "tcp" }, - { "swismgr1", { NULL }, 6963, "udp" }, - { "swismgr2", { NULL }, 6964, "tcp" }, - { "swismgr2", { NULL }, 6964, "udp" }, - { "swistrap", { NULL }, 6965, "tcp" }, - { "swistrap", { NULL }, 6965, "udp" }, - { "swispol", { NULL }, 6966, "tcp" }, - { "swispol", { NULL }, 6966, "udp" }, - { "acmsoda", { NULL }, 6969, "tcp" }, - { "acmsoda", { NULL }, 6969, "udp" }, - { "MobilitySrv", { NULL }, 6997, "tcp" }, - { "MobilitySrv", { NULL }, 6997, "udp" }, - { "iatp-highpri", { NULL }, 6998, "tcp" }, - { "iatp-highpri", { NULL }, 6998, "udp" }, - { "iatp-normalpri", { NULL }, 6999, "tcp" }, - { "iatp-normalpri", { NULL }, 6999, "udp" }, - { "afs3-fileserver", { NULL }, 7000, "tcp" }, - { "afs3-fileserver", { NULL }, 7000, "udp" }, - { "afs3-callback", { NULL }, 7001, "tcp" }, - { "afs3-callback", { NULL }, 7001, "udp" }, - { "afs3-prserver", { NULL }, 7002, "tcp" }, - { "afs3-prserver", { NULL }, 7002, "udp" }, - { "afs3-vlserver", { NULL }, 7003, "tcp" }, - { "afs3-vlserver", { NULL }, 7003, "udp" }, - { "afs3-kaserver", { NULL }, 7004, "tcp" }, - { "afs3-kaserver", { NULL }, 7004, "udp" }, - { "afs3-volser", { NULL }, 7005, "tcp" }, - { "afs3-volser", { NULL }, 7005, "udp" }, - { "afs3-errors", { NULL }, 7006, "tcp" }, - { "afs3-errors", { NULL }, 7006, "udp" }, - { "afs3-bos", { NULL }, 7007, "tcp" }, - { "afs3-bos", { NULL }, 7007, "udp" }, - { "afs3-update", { NULL }, 7008, "tcp" }, - { "afs3-update", { NULL }, 7008, "udp" }, - { "afs3-rmtsys", { NULL }, 7009, "tcp" }, - { "afs3-rmtsys", { NULL }, 7009, "udp" }, - { "ups-onlinet", { NULL }, 7010, "tcp" }, - { "ups-onlinet", { NULL }, 7010, "udp" }, - { "talon-disc", { NULL }, 7011, "tcp" }, - { "talon-disc", { NULL }, 7011, "udp" }, - { "talon-engine", { NULL }, 7012, "tcp" }, - { "talon-engine", { NULL }, 7012, "udp" }, - { "microtalon-dis", { NULL }, 7013, "tcp" }, - { "microtalon-dis", { NULL }, 7013, "udp" }, - { "microtalon-com", { NULL }, 7014, "tcp" }, - { "microtalon-com", { NULL }, 7014, "udp" }, - { "talon-webserver", { NULL }, 7015, "tcp" }, - { "talon-webserver", { NULL }, 7015, "udp" }, - { "dpserve", { NULL }, 7020, "tcp" }, - { "dpserve", { NULL }, 7020, "udp" }, - { "dpserveadmin", { NULL }, 7021, "tcp" }, - { "dpserveadmin", { NULL }, 7021, "udp" }, - { "ctdp", { NULL }, 7022, "tcp" }, - { "ctdp", { NULL }, 7022, "udp" }, - { "ct2nmcs", { NULL }, 7023, "tcp" }, - { "ct2nmcs", { NULL }, 7023, "udp" }, - { "vmsvc", { NULL }, 7024, "tcp" }, - { "vmsvc", { NULL }, 7024, "udp" }, - { "vmsvc-2", { NULL }, 7025, "tcp" }, - { "vmsvc-2", { NULL }, 7025, "udp" }, - { "op-probe", { NULL }, 7030, "tcp" }, - { "op-probe", { NULL }, 7030, "udp" }, - { "arcp", { NULL }, 7070, "tcp" }, - { "arcp", { NULL }, 7070, "udp" }, - { "iwg1", { NULL }, 7071, "tcp" }, - { "iwg1", { NULL }, 7071, "udp" }, - { "empowerid", { NULL }, 7080, "tcp" }, - { "empowerid", { NULL }, 7080, "udp" }, - { "lazy-ptop", { NULL }, 7099, "tcp" }, - { "lazy-ptop", { NULL }, 7099, "udp" }, - { "font-service", { NULL }, 7100, "tcp" }, - { "font-service", { NULL }, 7100, "udp" }, - { "elcn", { NULL }, 7101, "tcp" }, - { "elcn", { NULL }, 7101, "udp" }, - { "aes-x170", { NULL }, 7107, "udp" }, - { "virprot-lm", { NULL }, 7121, "tcp" }, - { "virprot-lm", { NULL }, 7121, "udp" }, - { "scenidm", { NULL }, 7128, "tcp" }, - { "scenidm", { NULL }, 7128, "udp" }, - { "scenccs", { NULL }, 7129, "tcp" }, - { "scenccs", { NULL }, 7129, "udp" }, - { "cabsm-comm", { NULL }, 7161, "tcp" }, - { "cabsm-comm", { NULL }, 7161, "udp" }, - { "caistoragemgr", { NULL }, 7162, "tcp" }, - { "caistoragemgr", { NULL }, 7162, "udp" }, - { "cacsambroker", { NULL }, 7163, "tcp" }, - { "cacsambroker", { NULL }, 7163, "udp" }, - { "fsr", { NULL }, 7164, "tcp" }, - { "fsr", { NULL }, 7164, "udp" }, - { "doc-server", { NULL }, 7165, "tcp" }, - { "doc-server", { NULL }, 7165, "udp" }, - { "aruba-server", { NULL }, 7166, "tcp" }, - { "aruba-server", { NULL }, 7166, "udp" }, - { "casrmagent", { NULL }, 7167, "tcp" }, - { "cnckadserver", { NULL }, 7168, "tcp" }, - { "ccag-pib", { NULL }, 7169, "tcp" }, - { "ccag-pib", { NULL }, 7169, "udp" }, - { "nsrp", { NULL }, 7170, "tcp" }, - { "nsrp", { NULL }, 7170, "udp" }, - { "drm-production", { NULL }, 7171, "tcp" }, - { "drm-production", { NULL }, 7171, "udp" }, - { "zsecure", { NULL }, 7173, "tcp" }, - { "clutild", { NULL }, 7174, "tcp" }, - { "clutild", { NULL }, 7174, "udp" }, - { "fodms", { NULL }, 7200, "tcp" }, - { "fodms", { NULL }, 7200, "udp" }, - { "dlip", { NULL }, 7201, "tcp" }, - { "dlip", { NULL }, 7201, "udp" }, - { "ramp", { NULL }, 7227, "tcp" }, - { "ramp", { NULL }, 7227, "udp" }, - { "citrixupp", { NULL }, 7228, "tcp" }, - { "citrixuppg", { NULL }, 7229, "tcp" }, - { "pads", { NULL }, 7237, "tcp" }, - { "cnap", { NULL }, 7262, "tcp" }, - { "cnap", { NULL }, 7262, "udp" }, - { "watchme-7272", { NULL }, 7272, "tcp" }, - { "watchme-7272", { NULL }, 7272, "udp" }, - { "oma-rlp", { NULL }, 7273, "tcp" }, - { "oma-rlp", { NULL }, 7273, "udp" }, - { "oma-rlp-s", { NULL }, 7274, "tcp" }, - { "oma-rlp-s", { NULL }, 7274, "udp" }, - { "oma-ulp", { NULL }, 7275, "tcp" }, - { "oma-ulp", { NULL }, 7275, "udp" }, - { "oma-ilp", { NULL }, 7276, "tcp" }, - { "oma-ilp", { NULL }, 7276, "udp" }, - { "oma-ilp-s", { NULL }, 7277, "tcp" }, - { "oma-ilp-s", { NULL }, 7277, "udp" }, - { "oma-dcdocbs", { NULL }, 7278, "tcp" }, - { "oma-dcdocbs", { NULL }, 7278, "udp" }, - { "ctxlic", { NULL }, 7279, "tcp" }, - { "ctxlic", { NULL }, 7279, "udp" }, - { "itactionserver1", { NULL }, 7280, "tcp" }, - { "itactionserver1", { NULL }, 7280, "udp" }, - { "itactionserver2", { NULL }, 7281, "tcp" }, - { "itactionserver2", { NULL }, 7281, "udp" }, - { "mzca-action", { NULL }, 7282, "tcp" }, - { "mzca-alert", { NULL }, 7282, "udp" }, - { "lcm-server", { NULL }, 7365, "tcp" }, - { "lcm-server", { NULL }, 7365, "udp" }, - { "mindfilesys", { NULL }, 7391, "tcp" }, - { "mindfilesys", { NULL }, 7391, "udp" }, - { "mrssrendezvous", { NULL }, 7392, "tcp" }, - { "mrssrendezvous", { NULL }, 7392, "udp" }, - { "nfoldman", { NULL }, 7393, "tcp" }, - { "nfoldman", { NULL }, 7393, "udp" }, - { "fse", { NULL }, 7394, "tcp" }, - { "fse", { NULL }, 7394, "udp" }, - { "winqedit", { NULL }, 7395, "tcp" }, - { "winqedit", { NULL }, 7395, "udp" }, - { "hexarc", { NULL }, 7397, "tcp" }, - { "hexarc", { NULL }, 7397, "udp" }, - { "rtps-discovery", { NULL }, 7400, "tcp" }, - { "rtps-discovery", { NULL }, 7400, "udp" }, - { "rtps-dd-ut", { NULL }, 7401, "tcp" }, - { "rtps-dd-ut", { NULL }, 7401, "udp" }, - { "rtps-dd-mt", { NULL }, 7402, "tcp" }, - { "rtps-dd-mt", { NULL }, 7402, "udp" }, - { "ionixnetmon", { NULL }, 7410, "tcp" }, - { "ionixnetmon", { NULL }, 7410, "udp" }, - { "mtportmon", { NULL }, 7421, "tcp" }, - { "mtportmon", { NULL }, 7421, "udp" }, - { "pmdmgr", { NULL }, 7426, "tcp" }, - { "pmdmgr", { NULL }, 7426, "udp" }, - { "oveadmgr", { NULL }, 7427, "tcp" }, - { "oveadmgr", { NULL }, 7427, "udp" }, - { "ovladmgr", { NULL }, 7428, "tcp" }, - { "ovladmgr", { NULL }, 7428, "udp" }, - { "opi-sock", { NULL }, 7429, "tcp" }, - { "opi-sock", { NULL }, 7429, "udp" }, - { "xmpv7", { NULL }, 7430, "tcp" }, - { "xmpv7", { NULL }, 7430, "udp" }, - { "pmd", { NULL }, 7431, "tcp" }, - { "pmd", { NULL }, 7431, "udp" }, - { "faximum", { NULL }, 7437, "tcp" }, - { "faximum", { NULL }, 7437, "udp" }, - { "oracleas-https", { NULL }, 7443, "tcp" }, - { "oracleas-https", { NULL }, 7443, "udp" }, - { "rise", { NULL }, 7473, "tcp" }, - { "rise", { NULL }, 7473, "udp" }, - { "telops-lmd", { NULL }, 7491, "tcp" }, - { "telops-lmd", { NULL }, 7491, "udp" }, - { "silhouette", { NULL }, 7500, "tcp" }, - { "silhouette", { NULL }, 7500, "udp" }, - { "ovbus", { NULL }, 7501, "tcp" }, - { "ovbus", { NULL }, 7501, "udp" }, - { "acplt", { NULL }, 7509, "tcp" }, - { "ovhpas", { NULL }, 7510, "tcp" }, - { "ovhpas", { NULL }, 7510, "udp" }, - { "pafec-lm", { NULL }, 7511, "tcp" }, - { "pafec-lm", { NULL }, 7511, "udp" }, - { "saratoga", { NULL }, 7542, "tcp" }, - { "saratoga", { NULL }, 7542, "udp" }, - { "atul", { NULL }, 7543, "tcp" }, - { "atul", { NULL }, 7543, "udp" }, - { "nta-ds", { NULL }, 7544, "tcp" }, - { "nta-ds", { NULL }, 7544, "udp" }, - { "nta-us", { NULL }, 7545, "tcp" }, - { "nta-us", { NULL }, 7545, "udp" }, - { "cfs", { NULL }, 7546, "tcp" }, - { "cfs", { NULL }, 7546, "udp" }, - { "cwmp", { NULL }, 7547, "tcp" }, - { "cwmp", { NULL }, 7547, "udp" }, - { "tidp", { NULL }, 7548, "tcp" }, - { "tidp", { NULL }, 7548, "udp" }, - { "nls-tl", { NULL }, 7549, "tcp" }, - { "nls-tl", { NULL }, 7549, "udp" }, - { "sncp", { NULL }, 7560, "tcp" }, - { "sncp", { NULL }, 7560, "udp" }, - { "cfw", { NULL }, 7563, "tcp" }, - { "vsi-omega", { NULL }, 7566, "tcp" }, - { "vsi-omega", { NULL }, 7566, "udp" }, - { "dell-eql-asm", { NULL }, 7569, "tcp" }, - { "aries-kfinder", { NULL }, 7570, "tcp" }, - { "aries-kfinder", { NULL }, 7570, "udp" }, - { "sun-lm", { NULL }, 7588, "tcp" }, - { "sun-lm", { NULL }, 7588, "udp" }, - { "indi", { NULL }, 7624, "tcp" }, - { "indi", { NULL }, 7624, "udp" }, - { "simco", { NULL }, 7626, "tcp" }, - { "simco", { NULL }, 7626, "sctp"}, - { "soap-http", { NULL }, 7627, "tcp" }, - { "soap-http", { NULL }, 7627, "udp" }, - { "zen-pawn", { NULL }, 7628, "tcp" }, - { "zen-pawn", { NULL }, 7628, "udp" }, - { "xdas", { NULL }, 7629, "tcp" }, - { "xdas", { NULL }, 7629, "udp" }, - { "hawk", { NULL }, 7630, "tcp" }, - { "tesla-sys-msg", { NULL }, 7631, "tcp" }, - { "pmdfmgt", { NULL }, 7633, "tcp" }, - { "pmdfmgt", { NULL }, 7633, "udp" }, - { "cuseeme", { NULL }, 7648, "tcp" }, - { "cuseeme", { NULL }, 7648, "udp" }, - { "imqstomp", { NULL }, 7672, "tcp" }, - { "imqstomps", { NULL }, 7673, "tcp" }, - { "imqtunnels", { NULL }, 7674, "tcp" }, - { "imqtunnels", { NULL }, 7674, "udp" }, - { "imqtunnel", { NULL }, 7675, "tcp" }, - { "imqtunnel", { NULL }, 7675, "udp" }, - { "imqbrokerd", { NULL }, 7676, "tcp" }, - { "imqbrokerd", { NULL }, 7676, "udp" }, - { "sun-user-https", { NULL }, 7677, "tcp" }, - { "sun-user-https", { NULL }, 7677, "udp" }, - { "pando-pub", { NULL }, 7680, "tcp" }, - { "pando-pub", { NULL }, 7680, "udp" }, - { "collaber", { NULL }, 7689, "tcp" }, - { "collaber", { NULL }, 7689, "udp" }, - { "klio", { NULL }, 7697, "tcp" }, - { "klio", { NULL }, 7697, "udp" }, - { "em7-secom", { NULL }, 7700, "tcp" }, - { "sync-em7", { NULL }, 7707, "tcp" }, - { "sync-em7", { NULL }, 7707, "udp" }, - { "scinet", { NULL }, 7708, "tcp" }, - { "scinet", { NULL }, 7708, "udp" }, - { "medimageportal", { NULL }, 7720, "tcp" }, - { "medimageportal", { NULL }, 7720, "udp" }, - { "nsdeepfreezectl", { NULL }, 7724, "tcp" }, - { "nsdeepfreezectl", { NULL }, 7724, "udp" }, - { "nitrogen", { NULL }, 7725, "tcp" }, - { "nitrogen", { NULL }, 7725, "udp" }, - { "freezexservice", { NULL }, 7726, "tcp" }, - { "freezexservice", { NULL }, 7726, "udp" }, - { "trident-data", { NULL }, 7727, "tcp" }, - { "trident-data", { NULL }, 7727, "udp" }, - { "smip", { NULL }, 7734, "tcp" }, - { "smip", { NULL }, 7734, "udp" }, - { "aiagent", { NULL }, 7738, "tcp" }, - { "aiagent", { NULL }, 7738, "udp" }, - { "scriptview", { NULL }, 7741, "tcp" }, - { "scriptview", { NULL }, 7741, "udp" }, - { "msss", { NULL }, 7742, "tcp" }, - { "sstp-1", { NULL }, 7743, "tcp" }, - { "sstp-1", { NULL }, 7743, "udp" }, - { "raqmon-pdu", { NULL }, 7744, "tcp" }, - { "raqmon-pdu", { NULL }, 7744, "udp" }, - { "prgp", { NULL }, 7747, "tcp" }, - { "prgp", { NULL }, 7747, "udp" }, - { "cbt", { NULL }, 7777, "tcp" }, - { "cbt", { NULL }, 7777, "udp" }, - { "interwise", { NULL }, 7778, "tcp" }, - { "interwise", { NULL }, 7778, "udp" }, - { "vstat", { NULL }, 7779, "tcp" }, - { "vstat", { NULL }, 7779, "udp" }, - { "accu-lmgr", { NULL }, 7781, "tcp" }, - { "accu-lmgr", { NULL }, 7781, "udp" }, - { "minivend", { NULL }, 7786, "tcp" }, - { "minivend", { NULL }, 7786, "udp" }, - { "popup-reminders", { NULL }, 7787, "tcp" }, - { "popup-reminders", { NULL }, 7787, "udp" }, - { "office-tools", { NULL }, 7789, "tcp" }, - { "office-tools", { NULL }, 7789, "udp" }, - { "q3ade", { NULL }, 7794, "tcp" }, - { "q3ade", { NULL }, 7794, "udp" }, - { "pnet-conn", { NULL }, 7797, "tcp" }, - { "pnet-conn", { NULL }, 7797, "udp" }, - { "pnet-enc", { NULL }, 7798, "tcp" }, - { "pnet-enc", { NULL }, 7798, "udp" }, - { "altbsdp", { NULL }, 7799, "tcp" }, - { "altbsdp", { NULL }, 7799, "udp" }, - { "asr", { NULL }, 7800, "tcp" }, - { "asr", { NULL }, 7800, "udp" }, - { "ssp-client", { NULL }, 7801, "tcp" }, - { "ssp-client", { NULL }, 7801, "udp" }, - { "rbt-wanopt", { NULL }, 7810, "tcp" }, - { "rbt-wanopt", { NULL }, 7810, "udp" }, - { "apc-7845", { NULL }, 7845, "tcp" }, - { "apc-7845", { NULL }, 7845, "udp" }, - { "apc-7846", { NULL }, 7846, "tcp" }, - { "apc-7846", { NULL }, 7846, "udp" }, - { "mobileanalyzer", { NULL }, 7869, "tcp" }, - { "rbt-smc", { NULL }, 7870, "tcp" }, - { "pss", { NULL }, 7880, "tcp" }, - { "pss", { NULL }, 7880, "udp" }, - { "ubroker", { NULL }, 7887, "tcp" }, - { "ubroker", { NULL }, 7887, "udp" }, - { "mevent", { NULL }, 7900, "tcp" }, - { "mevent", { NULL }, 7900, "udp" }, - { "tnos-sp", { NULL }, 7901, "tcp" }, - { "tnos-sp", { NULL }, 7901, "udp" }, - { "tnos-dp", { NULL }, 7902, "tcp" }, - { "tnos-dp", { NULL }, 7902, "udp" }, - { "tnos-dps", { NULL }, 7903, "tcp" }, - { "tnos-dps", { NULL }, 7903, "udp" }, - { "qo-secure", { NULL }, 7913, "tcp" }, - { "qo-secure", { NULL }, 7913, "udp" }, - { "t2-drm", { NULL }, 7932, "tcp" }, - { "t2-drm", { NULL }, 7932, "udp" }, - { "t2-brm", { NULL }, 7933, "tcp" }, - { "t2-brm", { NULL }, 7933, "udp" }, - { "supercell", { NULL }, 7967, "tcp" }, - { "supercell", { NULL }, 7967, "udp" }, - { "micromuse-ncps", { NULL }, 7979, "tcp" }, - { "micromuse-ncps", { NULL }, 7979, "udp" }, - { "quest-vista", { NULL }, 7980, "tcp" }, - { "quest-vista", { NULL }, 7980, "udp" }, - { "sossd-collect", { NULL }, 7981, "tcp" }, - { "sossd-agent", { NULL }, 7982, "tcp" }, - { "sossd-disc", { NULL }, 7982, "udp" }, - { "pushns", { NULL }, 7997, "tcp" }, - { "usicontentpush", { NULL }, 7998, "udp" }, - { "irdmi2", { NULL }, 7999, "tcp" }, - { "irdmi2", { NULL }, 7999, "udp" }, - { "irdmi", { NULL }, 8000, "tcp" }, - { "irdmi", { NULL }, 8000, "udp" }, - { "vcom-tunnel", { NULL }, 8001, "tcp" }, - { "vcom-tunnel", { NULL }, 8001, "udp" }, - { "teradataordbms", { NULL }, 8002, "tcp" }, - { "teradataordbms", { NULL }, 8002, "udp" }, - { "mcreport", { NULL }, 8003, "tcp" }, - { "mcreport", { NULL }, 8003, "udp" }, - { "mxi", { NULL }, 8005, "tcp" }, - { "mxi", { NULL }, 8005, "udp" }, - { "http-alt", { NULL }, 8008, "tcp" }, - { "http-alt", { NULL }, 8008, "udp" }, - { "qbdb", { NULL }, 8019, "tcp" }, - { "qbdb", { NULL }, 8019, "udp" }, - { "intu-ec-svcdisc", { NULL }, 8020, "tcp" }, - { "intu-ec-svcdisc", { NULL }, 8020, "udp" }, - { "intu-ec-client", { NULL }, 8021, "tcp" }, - { "intu-ec-client", { NULL }, 8021, "udp" }, - { "oa-system", { NULL }, 8022, "tcp" }, - { "oa-system", { NULL }, 8022, "udp" }, - { "ca-audit-da", { NULL }, 8025, "tcp" }, - { "ca-audit-da", { NULL }, 8025, "udp" }, - { "ca-audit-ds", { NULL }, 8026, "tcp" }, - { "ca-audit-ds", { NULL }, 8026, "udp" }, - { "pro-ed", { NULL }, 8032, "tcp" }, - { "pro-ed", { NULL }, 8032, "udp" }, - { "mindprint", { NULL }, 8033, "tcp" }, - { "mindprint", { NULL }, 8033, "udp" }, - { "vantronix-mgmt", { NULL }, 8034, "tcp" }, - { "vantronix-mgmt", { NULL }, 8034, "udp" }, - { "ampify", { NULL }, 8040, "tcp" }, - { "ampify", { NULL }, 8040, "udp" }, - { "fs-agent", { NULL }, 8042, "tcp" }, - { "fs-server", { NULL }, 8043, "tcp" }, - { "fs-mgmt", { NULL }, 8044, "tcp" }, - { "senomix01", { NULL }, 8052, "tcp" }, - { "senomix01", { NULL }, 8052, "udp" }, - { "senomix02", { NULL }, 8053, "tcp" }, - { "senomix02", { NULL }, 8053, "udp" }, - { "senomix03", { NULL }, 8054, "tcp" }, - { "senomix03", { NULL }, 8054, "udp" }, - { "senomix04", { NULL }, 8055, "tcp" }, - { "senomix04", { NULL }, 8055, "udp" }, - { "senomix05", { NULL }, 8056, "tcp" }, - { "senomix05", { NULL }, 8056, "udp" }, - { "senomix06", { NULL }, 8057, "tcp" }, - { "senomix06", { NULL }, 8057, "udp" }, - { "senomix07", { NULL }, 8058, "tcp" }, - { "senomix07", { NULL }, 8058, "udp" }, - { "senomix08", { NULL }, 8059, "tcp" }, - { "senomix08", { NULL }, 8059, "udp" }, - { "gadugadu", { NULL }, 8074, "tcp" }, - { "gadugadu", { NULL }, 8074, "udp" }, - { "http-alt", { NULL }, 8080, "tcp" }, - { "http-alt", { NULL }, 8080, "udp" }, - { "sunproxyadmin", { NULL }, 8081, "tcp" }, - { "sunproxyadmin", { NULL }, 8081, "udp" }, - { "us-cli", { NULL }, 8082, "tcp" }, - { "us-cli", { NULL }, 8082, "udp" }, - { "us-srv", { NULL }, 8083, "tcp" }, - { "us-srv", { NULL }, 8083, "udp" }, - { "d-s-n", { NULL }, 8086, "tcp" }, - { "d-s-n", { NULL }, 8086, "udp" }, - { "simplifymedia", { NULL }, 8087, "tcp" }, - { "simplifymedia", { NULL }, 8087, "udp" }, - { "radan-http", { NULL }, 8088, "tcp" }, - { "radan-http", { NULL }, 8088, "udp" }, - { "jamlink", { NULL }, 8091, "tcp" }, - { "sac", { NULL }, 8097, "tcp" }, - { "sac", { NULL }, 8097, "udp" }, - { "xprint-server", { NULL }, 8100, "tcp" }, - { "xprint-server", { NULL }, 8100, "udp" }, - { "ldoms-migr", { NULL }, 8101, "tcp" }, - { "mtl8000-matrix", { NULL }, 8115, "tcp" }, - { "mtl8000-matrix", { NULL }, 8115, "udp" }, - { "cp-cluster", { NULL }, 8116, "tcp" }, - { "cp-cluster", { NULL }, 8116, "udp" }, - { "privoxy", { NULL }, 8118, "tcp" }, - { "privoxy", { NULL }, 8118, "udp" }, - { "apollo-data", { NULL }, 8121, "tcp" }, - { "apollo-data", { NULL }, 8121, "udp" }, - { "apollo-admin", { NULL }, 8122, "tcp" }, - { "apollo-admin", { NULL }, 8122, "udp" }, - { "paycash-online", { NULL }, 8128, "tcp" }, - { "paycash-online", { NULL }, 8128, "udp" }, - { "paycash-wbp", { NULL }, 8129, "tcp" }, - { "paycash-wbp", { NULL }, 8129, "udp" }, - { "indigo-vrmi", { NULL }, 8130, "tcp" }, - { "indigo-vrmi", { NULL }, 8130, "udp" }, - { "indigo-vbcp", { NULL }, 8131, "tcp" }, - { "indigo-vbcp", { NULL }, 8131, "udp" }, - { "dbabble", { NULL }, 8132, "tcp" }, - { "dbabble", { NULL }, 8132, "udp" }, - { "isdd", { NULL }, 8148, "tcp" }, - { "isdd", { NULL }, 8148, "udp" }, - { "patrol", { NULL }, 8160, "tcp" }, - { "patrol", { NULL }, 8160, "udp" }, - { "patrol-snmp", { NULL }, 8161, "tcp" }, - { "patrol-snmp", { NULL }, 8161, "udp" }, - { "vmware-fdm", { NULL }, 8182, "tcp" }, - { "vmware-fdm", { NULL }, 8182, "udp" }, - { "proremote", { NULL }, 8183, "tcp" }, - { "itach", { NULL }, 8184, "tcp" }, - { "itach", { NULL }, 8184, "udp" }, - { "spytechphone", { NULL }, 8192, "tcp" }, - { "spytechphone", { NULL }, 8192, "udp" }, - { "blp1", { NULL }, 8194, "tcp" }, - { "blp1", { NULL }, 8194, "udp" }, - { "blp2", { NULL }, 8195, "tcp" }, - { "blp2", { NULL }, 8195, "udp" }, - { "vvr-data", { NULL }, 8199, "tcp" }, - { "vvr-data", { NULL }, 8199, "udp" }, - { "trivnet1", { NULL }, 8200, "tcp" }, - { "trivnet1", { NULL }, 8200, "udp" }, - { "trivnet2", { NULL }, 8201, "tcp" }, - { "trivnet2", { NULL }, 8201, "udp" }, - { "lm-perfworks", { NULL }, 8204, "tcp" }, - { "lm-perfworks", { NULL }, 8204, "udp" }, - { "lm-instmgr", { NULL }, 8205, "tcp" }, - { "lm-instmgr", { NULL }, 8205, "udp" }, - { "lm-dta", { NULL }, 8206, "tcp" }, - { "lm-dta", { NULL }, 8206, "udp" }, - { "lm-sserver", { NULL }, 8207, "tcp" }, - { "lm-sserver", { NULL }, 8207, "udp" }, - { "lm-webwatcher", { NULL }, 8208, "tcp" }, - { "lm-webwatcher", { NULL }, 8208, "udp" }, - { "rexecj", { NULL }, 8230, "tcp" }, - { "rexecj", { NULL }, 8230, "udp" }, - { "synapse-nhttps", { NULL }, 8243, "tcp" }, - { "synapse-nhttps", { NULL }, 8243, "udp" }, - { "pando-sec", { NULL }, 8276, "tcp" }, - { "pando-sec", { NULL }, 8276, "udp" }, - { "synapse-nhttp", { NULL }, 8280, "tcp" }, - { "synapse-nhttp", { NULL }, 8280, "udp" }, - { "blp3", { NULL }, 8292, "tcp" }, - { "blp3", { NULL }, 8292, "udp" }, - { "hiperscan-id", { NULL }, 8293, "tcp" }, - { "blp4", { NULL }, 8294, "tcp" }, - { "blp4", { NULL }, 8294, "udp" }, - { "tmi", { NULL }, 8300, "tcp" }, - { "tmi", { NULL }, 8300, "udp" }, - { "amberon", { NULL }, 8301, "tcp" }, - { "amberon", { NULL }, 8301, "udp" }, - { "tnp-discover", { NULL }, 8320, "tcp" }, - { "tnp-discover", { NULL }, 8320, "udp" }, - { "tnp", { NULL }, 8321, "tcp" }, - { "tnp", { NULL }, 8321, "udp" }, - { "server-find", { NULL }, 8351, "tcp" }, - { "server-find", { NULL }, 8351, "udp" }, - { "cruise-enum", { NULL }, 8376, "tcp" }, - { "cruise-enum", { NULL }, 8376, "udp" }, - { "cruise-swroute", { NULL }, 8377, "tcp" }, - { "cruise-swroute", { NULL }, 8377, "udp" }, - { "cruise-config", { NULL }, 8378, "tcp" }, - { "cruise-config", { NULL }, 8378, "udp" }, - { "cruise-diags", { NULL }, 8379, "tcp" }, - { "cruise-diags", { NULL }, 8379, "udp" }, - { "cruise-update", { NULL }, 8380, "tcp" }, - { "cruise-update", { NULL }, 8380, "udp" }, - { "m2mservices", { NULL }, 8383, "tcp" }, - { "m2mservices", { NULL }, 8383, "udp" }, - { "cvd", { NULL }, 8400, "tcp" }, - { "cvd", { NULL }, 8400, "udp" }, - { "sabarsd", { NULL }, 8401, "tcp" }, - { "sabarsd", { NULL }, 8401, "udp" }, - { "abarsd", { NULL }, 8402, "tcp" }, - { "abarsd", { NULL }, 8402, "udp" }, - { "admind", { NULL }, 8403, "tcp" }, - { "admind", { NULL }, 8403, "udp" }, - { "svcloud", { NULL }, 8404, "tcp" }, - { "svbackup", { NULL }, 8405, "tcp" }, - { "espeech", { NULL }, 8416, "tcp" }, - { "espeech", { NULL }, 8416, "udp" }, - { "espeech-rtp", { NULL }, 8417, "tcp" }, - { "espeech-rtp", { NULL }, 8417, "udp" }, - { "cybro-a-bus", { NULL }, 8442, "tcp" }, - { "cybro-a-bus", { NULL }, 8442, "udp" }, - { "pcsync-https", { NULL }, 8443, "tcp" }, - { "pcsync-https", { NULL }, 8443, "udp" }, - { "pcsync-http", { NULL }, 8444, "tcp" }, - { "pcsync-http", { NULL }, 8444, "udp" }, - { "npmp", { NULL }, 8450, "tcp" }, - { "npmp", { NULL }, 8450, "udp" }, - { "cisco-avp", { NULL }, 8470, "tcp" }, - { "pim-port", { NULL }, 8471, "tcp" }, - { "pim-port", { NULL }, 8471, "sctp"}, - { "otv", { NULL }, 8472, "tcp" }, - { "otv", { NULL }, 8472, "udp" }, - { "vp2p", { NULL }, 8473, "tcp" }, - { "vp2p", { NULL }, 8473, "udp" }, - { "noteshare", { NULL }, 8474, "tcp" }, - { "noteshare", { NULL }, 8474, "udp" }, - { "fmtp", { NULL }, 8500, "tcp" }, - { "fmtp", { NULL }, 8500, "udp" }, - { "rtsp-alt", { NULL }, 8554, "tcp" }, - { "rtsp-alt", { NULL }, 8554, "udp" }, - { "d-fence", { NULL }, 8555, "tcp" }, - { "d-fence", { NULL }, 8555, "udp" }, - { "oap-admin", { NULL }, 8567, "tcp" }, - { "oap-admin", { NULL }, 8567, "udp" }, - { "asterix", { NULL }, 8600, "tcp" }, - { "asterix", { NULL }, 8600, "udp" }, - { "canon-mfnp", { NULL }, 8610, "tcp" }, - { "canon-mfnp", { NULL }, 8610, "udp" }, - { "canon-bjnp1", { NULL }, 8611, "tcp" }, - { "canon-bjnp1", { NULL }, 8611, "udp" }, - { "canon-bjnp2", { NULL }, 8612, "tcp" }, - { "canon-bjnp2", { NULL }, 8612, "udp" }, - { "canon-bjnp3", { NULL }, 8613, "tcp" }, - { "canon-bjnp3", { NULL }, 8613, "udp" }, - { "canon-bjnp4", { NULL }, 8614, "tcp" }, - { "canon-bjnp4", { NULL }, 8614, "udp" }, - { "sun-as-jmxrmi", { NULL }, 8686, "tcp" }, - { "sun-as-jmxrmi", { NULL }, 8686, "udp" }, - { "vnyx", { NULL }, 8699, "tcp" }, - { "vnyx", { NULL }, 8699, "udp" }, - { "dtp-net", { NULL }, 8732, "udp" }, - { "ibus", { NULL }, 8733, "tcp" }, - { "ibus", { NULL }, 8733, "udp" }, - { "mc-appserver", { NULL }, 8763, "tcp" }, - { "mc-appserver", { NULL }, 8763, "udp" }, - { "openqueue", { NULL }, 8764, "tcp" }, - { "openqueue", { NULL }, 8764, "udp" }, - { "ultraseek-http", { NULL }, 8765, "tcp" }, - { "ultraseek-http", { NULL }, 8765, "udp" }, - { "dpap", { NULL }, 8770, "tcp" }, - { "dpap", { NULL }, 8770, "udp" }, - { "msgclnt", { NULL }, 8786, "tcp" }, - { "msgclnt", { NULL }, 8786, "udp" }, - { "msgsrvr", { NULL }, 8787, "tcp" }, - { "msgsrvr", { NULL }, 8787, "udp" }, - { "sunwebadmin", { NULL }, 8800, "tcp" }, - { "sunwebadmin", { NULL }, 8800, "udp" }, - { "truecm", { NULL }, 8804, "tcp" }, - { "truecm", { NULL }, 8804, "udp" }, - { "dxspider", { NULL }, 8873, "tcp" }, - { "dxspider", { NULL }, 8873, "udp" }, - { "cddbp-alt", { NULL }, 8880, "tcp" }, - { "cddbp-alt", { NULL }, 8880, "udp" }, - { "secure-mqtt", { NULL }, 8883, "tcp" }, - { "secure-mqtt", { NULL }, 8883, "udp" }, - { "ddi-tcp-1", { NULL }, 8888, "tcp" }, - { "ddi-udp-1", { NULL }, 8888, "udp" }, - { "ddi-tcp-2", { NULL }, 8889, "tcp" }, - { "ddi-udp-2", { NULL }, 8889, "udp" }, - { "ddi-tcp-3", { NULL }, 8890, "tcp" }, - { "ddi-udp-3", { NULL }, 8890, "udp" }, - { "ddi-tcp-4", { NULL }, 8891, "tcp" }, - { "ddi-udp-4", { NULL }, 8891, "udp" }, - { "ddi-tcp-5", { NULL }, 8892, "tcp" }, - { "ddi-udp-5", { NULL }, 8892, "udp" }, - { "ddi-tcp-6", { NULL }, 8893, "tcp" }, - { "ddi-udp-6", { NULL }, 8893, "udp" }, - { "ddi-tcp-7", { NULL }, 8894, "tcp" }, - { "ddi-udp-7", { NULL }, 8894, "udp" }, - { "ospf-lite", { NULL }, 8899, "tcp" }, - { "ospf-lite", { NULL }, 8899, "udp" }, - { "jmb-cds1", { NULL }, 8900, "tcp" }, - { "jmb-cds1", { NULL }, 8900, "udp" }, - { "jmb-cds2", { NULL }, 8901, "tcp" }, - { "jmb-cds2", { NULL }, 8901, "udp" }, - { "manyone-http", { NULL }, 8910, "tcp" }, - { "manyone-http", { NULL }, 8910, "udp" }, - { "manyone-xml", { NULL }, 8911, "tcp" }, - { "manyone-xml", { NULL }, 8911, "udp" }, - { "wcbackup", { NULL }, 8912, "tcp" }, - { "wcbackup", { NULL }, 8912, "udp" }, - { "dragonfly", { NULL }, 8913, "tcp" }, - { "dragonfly", { NULL }, 8913, "udp" }, - { "twds", { NULL }, 8937, "tcp" }, - { "cumulus-admin", { NULL }, 8954, "tcp" }, - { "cumulus-admin", { NULL }, 8954, "udp" }, - { "sunwebadmins", { NULL }, 8989, "tcp" }, - { "sunwebadmins", { NULL }, 8989, "udp" }, - { "http-wmap", { NULL }, 8990, "tcp" }, - { "http-wmap", { NULL }, 8990, "udp" }, - { "https-wmap", { NULL }, 8991, "tcp" }, - { "https-wmap", { NULL }, 8991, "udp" }, - { "bctp", { NULL }, 8999, "tcp" }, - { "bctp", { NULL }, 8999, "udp" }, - { "cslistener", { NULL }, 9000, "tcp" }, - { "cslistener", { NULL }, 9000, "udp" }, - { "etlservicemgr", { NULL }, 9001, "tcp" }, - { "etlservicemgr", { NULL }, 9001, "udp" }, - { "dynamid", { NULL }, 9002, "tcp" }, - { "dynamid", { NULL }, 9002, "udp" }, - { "ogs-client", { NULL }, 9007, "udp" }, - { "ogs-server", { NULL }, 9008, "tcp" }, - { "pichat", { NULL }, 9009, "tcp" }, - { "pichat", { NULL }, 9009, "udp" }, - { "sdr", { NULL }, 9010, "tcp" }, - { "tambora", { NULL }, 9020, "tcp" }, - { "tambora", { NULL }, 9020, "udp" }, - { "panagolin-ident", { NULL }, 9021, "tcp" }, - { "panagolin-ident", { NULL }, 9021, "udp" }, - { "paragent", { NULL }, 9022, "tcp" }, - { "paragent", { NULL }, 9022, "udp" }, - { "swa-1", { NULL }, 9023, "tcp" }, - { "swa-1", { NULL }, 9023, "udp" }, - { "swa-2", { NULL }, 9024, "tcp" }, - { "swa-2", { NULL }, 9024, "udp" }, - { "swa-3", { NULL }, 9025, "tcp" }, - { "swa-3", { NULL }, 9025, "udp" }, - { "swa-4", { NULL }, 9026, "tcp" }, - { "swa-4", { NULL }, 9026, "udp" }, - { "versiera", { NULL }, 9050, "tcp" }, - { "fio-cmgmt", { NULL }, 9051, "tcp" }, - { "glrpc", { NULL }, 9080, "tcp" }, - { "glrpc", { NULL }, 9080, "udp" }, - { "lcs-ap", { NULL }, 9082, "sctp"}, - { "emc-pp-mgmtsvc", { NULL }, 9083, "tcp" }, - { "aurora", { NULL }, 9084, "tcp" }, - { "aurora", { NULL }, 9084, "udp" }, - { "aurora", { NULL }, 9084, "sctp"}, - { "ibm-rsyscon", { NULL }, 9085, "tcp" }, - { "ibm-rsyscon", { NULL }, 9085, "udp" }, - { "net2display", { NULL }, 9086, "tcp" }, - { "net2display", { NULL }, 9086, "udp" }, - { "classic", { NULL }, 9087, "tcp" }, - { "classic", { NULL }, 9087, "udp" }, - { "sqlexec", { NULL }, 9088, "tcp" }, - { "sqlexec", { NULL }, 9088, "udp" }, - { "sqlexec-ssl", { NULL }, 9089, "tcp" }, - { "sqlexec-ssl", { NULL }, 9089, "udp" }, - { "websm", { NULL }, 9090, "tcp" }, - { "websm", { NULL }, 9090, "udp" }, - { "xmltec-xmlmail", { NULL }, 9091, "tcp" }, - { "xmltec-xmlmail", { NULL }, 9091, "udp" }, - { "XmlIpcRegSvc", { NULL }, 9092, "tcp" }, - { "XmlIpcRegSvc", { NULL }, 9092, "udp" }, - { "hp-pdl-datastr", { NULL }, 9100, "tcp" }, - { "hp-pdl-datastr", { NULL }, 9100, "udp" }, - { "pdl-datastream", { NULL }, 9100, "tcp" }, - { "pdl-datastream", { NULL }, 9100, "udp" }, - { "bacula-dir", { NULL }, 9101, "tcp" }, - { "bacula-dir", { NULL }, 9101, "udp" }, - { "bacula-fd", { NULL }, 9102, "tcp" }, - { "bacula-fd", { NULL }, 9102, "udp" }, - { "bacula-sd", { NULL }, 9103, "tcp" }, - { "bacula-sd", { NULL }, 9103, "udp" }, - { "peerwire", { NULL }, 9104, "tcp" }, - { "peerwire", { NULL }, 9104, "udp" }, - { "xadmin", { NULL }, 9105, "tcp" }, - { "xadmin", { NULL }, 9105, "udp" }, - { "astergate", { NULL }, 9106, "tcp" }, - { "astergate-disc", { NULL }, 9106, "udp" }, - { "astergatefax", { NULL }, 9107, "tcp" }, - { "mxit", { NULL }, 9119, "tcp" }, - { "mxit", { NULL }, 9119, "udp" }, - { "dddp", { NULL }, 9131, "tcp" }, - { "dddp", { NULL }, 9131, "udp" }, - { "apani1", { NULL }, 9160, "tcp" }, - { "apani1", { NULL }, 9160, "udp" }, - { "apani2", { NULL }, 9161, "tcp" }, - { "apani2", { NULL }, 9161, "udp" }, - { "apani3", { NULL }, 9162, "tcp" }, - { "apani3", { NULL }, 9162, "udp" }, - { "apani4", { NULL }, 9163, "tcp" }, - { "apani4", { NULL }, 9163, "udp" }, - { "apani5", { NULL }, 9164, "tcp" }, - { "apani5", { NULL }, 9164, "udp" }, - { "sun-as-jpda", { NULL }, 9191, "tcp" }, - { "sun-as-jpda", { NULL }, 9191, "udp" }, - { "wap-wsp", { NULL }, 9200, "tcp" }, - { "wap-wsp", { NULL }, 9200, "udp" }, - { "wap-wsp-wtp", { NULL }, 9201, "tcp" }, - { "wap-wsp-wtp", { NULL }, 9201, "udp" }, - { "wap-wsp-s", { NULL }, 9202, "tcp" }, - { "wap-wsp-s", { NULL }, 9202, "udp" }, - { "wap-wsp-wtp-s", { NULL }, 9203, "tcp" }, - { "wap-wsp-wtp-s", { NULL }, 9203, "udp" }, - { "wap-vcard", { NULL }, 9204, "tcp" }, - { "wap-vcard", { NULL }, 9204, "udp" }, - { "wap-vcal", { NULL }, 9205, "tcp" }, - { "wap-vcal", { NULL }, 9205, "udp" }, - { "wap-vcard-s", { NULL }, 9206, "tcp" }, - { "wap-vcard-s", { NULL }, 9206, "udp" }, - { "wap-vcal-s", { NULL }, 9207, "tcp" }, - { "wap-vcal-s", { NULL }, 9207, "udp" }, - { "rjcdb-vcards", { NULL }, 9208, "tcp" }, - { "rjcdb-vcards", { NULL }, 9208, "udp" }, - { "almobile-system", { NULL }, 9209, "tcp" }, - { "almobile-system", { NULL }, 9209, "udp" }, - { "oma-mlp", { NULL }, 9210, "tcp" }, - { "oma-mlp", { NULL }, 9210, "udp" }, - { "oma-mlp-s", { NULL }, 9211, "tcp" }, - { "oma-mlp-s", { NULL }, 9211, "udp" }, - { "serverviewdbms", { NULL }, 9212, "tcp" }, - { "serverviewdbms", { NULL }, 9212, "udp" }, - { "serverstart", { NULL }, 9213, "tcp" }, - { "serverstart", { NULL }, 9213, "udp" }, - { "ipdcesgbs", { NULL }, 9214, "tcp" }, - { "ipdcesgbs", { NULL }, 9214, "udp" }, - { "insis", { NULL }, 9215, "tcp" }, - { "insis", { NULL }, 9215, "udp" }, - { "acme", { NULL }, 9216, "tcp" }, - { "acme", { NULL }, 9216, "udp" }, - { "fsc-port", { NULL }, 9217, "tcp" }, - { "fsc-port", { NULL }, 9217, "udp" }, - { "teamcoherence", { NULL }, 9222, "tcp" }, - { "teamcoherence", { NULL }, 9222, "udp" }, - { "mon", { NULL }, 9255, "tcp" }, - { "mon", { NULL }, 9255, "udp" }, - { "pegasus", { NULL }, 9278, "tcp" }, - { "pegasus", { NULL }, 9278, "udp" }, - { "pegasus-ctl", { NULL }, 9279, "tcp" }, - { "pegasus-ctl", { NULL }, 9279, "udp" }, - { "pgps", { NULL }, 9280, "tcp" }, - { "pgps", { NULL }, 9280, "udp" }, - { "swtp-port1", { NULL }, 9281, "tcp" }, - { "swtp-port1", { NULL }, 9281, "udp" }, - { "swtp-port2", { NULL }, 9282, "tcp" }, - { "swtp-port2", { NULL }, 9282, "udp" }, - { "callwaveiam", { NULL }, 9283, "tcp" }, - { "callwaveiam", { NULL }, 9283, "udp" }, - { "visd", { NULL }, 9284, "tcp" }, - { "visd", { NULL }, 9284, "udp" }, - { "n2h2server", { NULL }, 9285, "tcp" }, - { "n2h2server", { NULL }, 9285, "udp" }, - { "n2receive", { NULL }, 9286, "udp" }, - { "cumulus", { NULL }, 9287, "tcp" }, - { "cumulus", { NULL }, 9287, "udp" }, - { "armtechdaemon", { NULL }, 9292, "tcp" }, - { "armtechdaemon", { NULL }, 9292, "udp" }, - { "storview", { NULL }, 9293, "tcp" }, - { "storview", { NULL }, 9293, "udp" }, - { "armcenterhttp", { NULL }, 9294, "tcp" }, - { "armcenterhttp", { NULL }, 9294, "udp" }, - { "armcenterhttps", { NULL }, 9295, "tcp" }, - { "armcenterhttps", { NULL }, 9295, "udp" }, - { "vrace", { NULL }, 9300, "tcp" }, - { "vrace", { NULL }, 9300, "udp" }, - { "sphinxql", { NULL }, 9306, "tcp" }, - { "sphinxapi", { NULL }, 9312, "tcp" }, - { "secure-ts", { NULL }, 9318, "tcp" }, - { "secure-ts", { NULL }, 9318, "udp" }, - { "guibase", { NULL }, 9321, "tcp" }, - { "guibase", { NULL }, 9321, "udp" }, - { "mpidcmgr", { NULL }, 9343, "tcp" }, - { "mpidcmgr", { NULL }, 9343, "udp" }, - { "mphlpdmc", { NULL }, 9344, "tcp" }, - { "mphlpdmc", { NULL }, 9344, "udp" }, - { "ctechlicensing", { NULL }, 9346, "tcp" }, - { "ctechlicensing", { NULL }, 9346, "udp" }, - { "fjdmimgr", { NULL }, 9374, "tcp" }, - { "fjdmimgr", { NULL }, 9374, "udp" }, - { "boxp", { NULL }, 9380, "tcp" }, - { "boxp", { NULL }, 9380, "udp" }, - { "d2dconfig", { NULL }, 9387, "tcp" }, - { "d2ddatatrans", { NULL }, 9388, "tcp" }, - { "adws", { NULL }, 9389, "tcp" }, - { "otp", { NULL }, 9390, "tcp" }, - { "fjinvmgr", { NULL }, 9396, "tcp" }, - { "fjinvmgr", { NULL }, 9396, "udp" }, - { "mpidcagt", { NULL }, 9397, "tcp" }, - { "mpidcagt", { NULL }, 9397, "udp" }, - { "sec-t4net-srv", { NULL }, 9400, "tcp" }, - { "sec-t4net-srv", { NULL }, 9400, "udp" }, - { "sec-t4net-clt", { NULL }, 9401, "tcp" }, - { "sec-t4net-clt", { NULL }, 9401, "udp" }, - { "sec-pc2fax-srv", { NULL }, 9402, "tcp" }, - { "sec-pc2fax-srv", { NULL }, 9402, "udp" }, - { "git", { NULL }, 9418, "tcp" }, - { "git", { NULL }, 9418, "udp" }, - { "tungsten-https", { NULL }, 9443, "tcp" }, - { "tungsten-https", { NULL }, 9443, "udp" }, - { "wso2esb-console", { NULL }, 9444, "tcp" }, - { "wso2esb-console", { NULL }, 9444, "udp" }, - { "sntlkeyssrvr", { NULL }, 9450, "tcp" }, - { "sntlkeyssrvr", { NULL }, 9450, "udp" }, - { "ismserver", { NULL }, 9500, "tcp" }, - { "ismserver", { NULL }, 9500, "udp" }, - { "sma-spw", { NULL }, 9522, "udp" }, - { "mngsuite", { NULL }, 9535, "tcp" }, - { "mngsuite", { NULL }, 9535, "udp" }, - { "laes-bf", { NULL }, 9536, "tcp" }, - { "laes-bf", { NULL }, 9536, "udp" }, - { "trispen-sra", { NULL }, 9555, "tcp" }, - { "trispen-sra", { NULL }, 9555, "udp" }, - { "ldgateway", { NULL }, 9592, "tcp" }, - { "ldgateway", { NULL }, 9592, "udp" }, - { "cba8", { NULL }, 9593, "tcp" }, - { "cba8", { NULL }, 9593, "udp" }, - { "msgsys", { NULL }, 9594, "tcp" }, - { "msgsys", { NULL }, 9594, "udp" }, - { "pds", { NULL }, 9595, "tcp" }, - { "pds", { NULL }, 9595, "udp" }, - { "mercury-disc", { NULL }, 9596, "tcp" }, - { "mercury-disc", { NULL }, 9596, "udp" }, - { "pd-admin", { NULL }, 9597, "tcp" }, - { "pd-admin", { NULL }, 9597, "udp" }, - { "vscp", { NULL }, 9598, "tcp" }, - { "vscp", { NULL }, 9598, "udp" }, - { "robix", { NULL }, 9599, "tcp" }, - { "robix", { NULL }, 9599, "udp" }, - { "micromuse-ncpw", { NULL }, 9600, "tcp" }, - { "micromuse-ncpw", { NULL }, 9600, "udp" }, - { "streamcomm-ds", { NULL }, 9612, "tcp" }, - { "streamcomm-ds", { NULL }, 9612, "udp" }, - { "iadt-tls", { NULL }, 9614, "tcp" }, - { "erunbook_agent", { NULL }, 9616, "tcp" }, - { "erunbook_server", { NULL }, 9617, "tcp" }, - { "condor", { NULL }, 9618, "tcp" }, - { "condor", { NULL }, 9618, "udp" }, - { "odbcpathway", { NULL }, 9628, "tcp" }, - { "odbcpathway", { NULL }, 9628, "udp" }, - { "uniport", { NULL }, 9629, "tcp" }, - { "uniport", { NULL }, 9629, "udp" }, - { "peoctlr", { NULL }, 9630, "tcp" }, - { "peocoll", { NULL }, 9631, "tcp" }, - { "mc-comm", { NULL }, 9632, "udp" }, - { "pqsflows", { NULL }, 9640, "tcp" }, - { "xmms2", { NULL }, 9667, "tcp" }, - { "xmms2", { NULL }, 9667, "udp" }, - { "tec5-sdctp", { NULL }, 9668, "tcp" }, - { "tec5-sdctp", { NULL }, 9668, "udp" }, - { "client-wakeup", { NULL }, 9694, "tcp" }, - { "client-wakeup", { NULL }, 9694, "udp" }, - { "ccnx", { NULL }, 9695, "tcp" }, - { "ccnx", { NULL }, 9695, "udp" }, - { "board-roar", { NULL }, 9700, "tcp" }, - { "board-roar", { NULL }, 9700, "udp" }, - { "l5nas-parchan", { NULL }, 9747, "tcp" }, - { "l5nas-parchan", { NULL }, 9747, "udp" }, - { "board-voip", { NULL }, 9750, "tcp" }, - { "board-voip", { NULL }, 9750, "udp" }, - { "rasadv", { NULL }, 9753, "tcp" }, - { "rasadv", { NULL }, 9753, "udp" }, - { "tungsten-http", { NULL }, 9762, "tcp" }, - { "tungsten-http", { NULL }, 9762, "udp" }, - { "davsrc", { NULL }, 9800, "tcp" }, - { "davsrc", { NULL }, 9800, "udp" }, - { "sstp-2", { NULL }, 9801, "tcp" }, - { "sstp-2", { NULL }, 9801, "udp" }, - { "davsrcs", { NULL }, 9802, "tcp" }, - { "davsrcs", { NULL }, 9802, "udp" }, - { "sapv1", { NULL }, 9875, "tcp" }, - { "sapv1", { NULL }, 9875, "udp" }, - { "sd", { NULL }, 9876, "tcp" }, - { "sd", { NULL }, 9876, "udp" }, - { "cyborg-systems", { NULL }, 9888, "tcp" }, - { "cyborg-systems", { NULL }, 9888, "udp" }, - { "gt-proxy", { NULL }, 9889, "tcp" }, - { "gt-proxy", { NULL }, 9889, "udp" }, - { "monkeycom", { NULL }, 9898, "tcp" }, - { "monkeycom", { NULL }, 9898, "udp" }, - { "sctp-tunneling", { NULL }, 9899, "tcp" }, - { "sctp-tunneling", { NULL }, 9899, "udp" }, - { "iua", { NULL }, 9900, "tcp" }, - { "iua", { NULL }, 9900, "udp" }, - { "iua", { NULL }, 9900, "sctp"}, - { "enrp", { NULL }, 9901, "udp" }, - { "enrp-sctp", { NULL }, 9901, "sctp"}, - { "enrp-sctp-tls", { NULL }, 9902, "sctp"}, - { "domaintime", { NULL }, 9909, "tcp" }, - { "domaintime", { NULL }, 9909, "udp" }, - { "sype-transport", { NULL }, 9911, "tcp" }, - { "sype-transport", { NULL }, 9911, "udp" }, - { "apc-9950", { NULL }, 9950, "tcp" }, - { "apc-9950", { NULL }, 9950, "udp" }, - { "apc-9951", { NULL }, 9951, "tcp" }, - { "apc-9951", { NULL }, 9951, "udp" }, - { "apc-9952", { NULL }, 9952, "tcp" }, - { "apc-9952", { NULL }, 9952, "udp" }, - { "acis", { NULL }, 9953, "tcp" }, - { "acis", { NULL }, 9953, "udp" }, - { "odnsp", { NULL }, 9966, "tcp" }, - { "odnsp", { NULL }, 9966, "udp" }, - { "dsm-scm-target", { NULL }, 9987, "tcp" }, - { "dsm-scm-target", { NULL }, 9987, "udp" }, - { "nsesrvr", { NULL }, 9988, "tcp" }, - { "osm-appsrvr", { NULL }, 9990, "tcp" }, - { "osm-appsrvr", { NULL }, 9990, "udp" }, - { "osm-oev", { NULL }, 9991, "tcp" }, - { "osm-oev", { NULL }, 9991, "udp" }, - { "palace-1", { NULL }, 9992, "tcp" }, - { "palace-1", { NULL }, 9992, "udp" }, - { "palace-2", { NULL }, 9993, "tcp" }, - { "palace-2", { NULL }, 9993, "udp" }, - { "palace-3", { NULL }, 9994, "tcp" }, - { "palace-3", { NULL }, 9994, "udp" }, - { "palace-4", { NULL }, 9995, "tcp" }, - { "palace-4", { NULL }, 9995, "udp" }, - { "palace-5", { NULL }, 9996, "tcp" }, - { "palace-5", { NULL }, 9996, "udp" }, - { "palace-6", { NULL }, 9997, "tcp" }, - { "palace-6", { NULL }, 9997, "udp" }, - { "distinct32", { NULL }, 9998, "tcp" }, - { "distinct32", { NULL }, 9998, "udp" }, - { "distinct", { NULL }, 9999, "tcp" }, - { "distinct", { NULL }, 9999, "udp" }, - { "ndmp", { NULL }, 10000, "tcp" }, - { "ndmp", { NULL }, 10000, "udp" }, - { "scp-config", { NULL }, 10001, "tcp" }, - { "scp-config", { NULL }, 10001, "udp" }, - { "documentum", { NULL }, 10002, "tcp" }, - { "documentum", { NULL }, 10002, "udp" }, - { "documentum_s", { NULL }, 10003, "tcp" }, - { "documentum_s", { NULL }, 10003, "udp" }, - { "emcrmirccd", { NULL }, 10004, "tcp" }, - { "emcrmird", { NULL }, 10005, "tcp" }, - { "mvs-capacity", { NULL }, 10007, "tcp" }, - { "mvs-capacity", { NULL }, 10007, "udp" }, - { "octopus", { NULL }, 10008, "tcp" }, - { "octopus", { NULL }, 10008, "udp" }, - { "swdtp-sv", { NULL }, 10009, "tcp" }, - { "swdtp-sv", { NULL }, 10009, "udp" }, - { "rxapi", { NULL }, 10010, "tcp" }, - { "zabbix-agent", { NULL }, 10050, "tcp" }, - { "zabbix-agent", { NULL }, 10050, "udp" }, - { "zabbix-trapper", { NULL }, 10051, "tcp" }, - { "zabbix-trapper", { NULL }, 10051, "udp" }, - { "qptlmd", { NULL }, 10055, "tcp" }, - { "amanda", { NULL }, 10080, "tcp" }, - { "amanda", { NULL }, 10080, "udp" }, - { "famdc", { NULL }, 10081, "tcp" }, - { "famdc", { NULL }, 10081, "udp" }, - { "itap-ddtp", { NULL }, 10100, "tcp" }, - { "itap-ddtp", { NULL }, 10100, "udp" }, - { "ezmeeting-2", { NULL }, 10101, "tcp" }, - { "ezmeeting-2", { NULL }, 10101, "udp" }, - { "ezproxy-2", { NULL }, 10102, "tcp" }, - { "ezproxy-2", { NULL }, 10102, "udp" }, - { "ezrelay", { NULL }, 10103, "tcp" }, - { "ezrelay", { NULL }, 10103, "udp" }, - { "swdtp", { NULL }, 10104, "tcp" }, - { "swdtp", { NULL }, 10104, "udp" }, - { "bctp-server", { NULL }, 10107, "tcp" }, - { "bctp-server", { NULL }, 10107, "udp" }, - { "nmea-0183", { NULL }, 10110, "tcp" }, - { "nmea-0183", { NULL }, 10110, "udp" }, - { "netiq-endpoint", { NULL }, 10113, "tcp" }, - { "netiq-endpoint", { NULL }, 10113, "udp" }, - { "netiq-qcheck", { NULL }, 10114, "tcp" }, - { "netiq-qcheck", { NULL }, 10114, "udp" }, - { "netiq-endpt", { NULL }, 10115, "tcp" }, - { "netiq-endpt", { NULL }, 10115, "udp" }, - { "netiq-voipa", { NULL }, 10116, "tcp" }, - { "netiq-voipa", { NULL }, 10116, "udp" }, - { "iqrm", { NULL }, 10117, "tcp" }, - { "iqrm", { NULL }, 10117, "udp" }, - { "bmc-perf-sd", { NULL }, 10128, "tcp" }, - { "bmc-perf-sd", { NULL }, 10128, "udp" }, - { "bmc-gms", { NULL }, 10129, "tcp" }, - { "qb-db-server", { NULL }, 10160, "tcp" }, - { "qb-db-server", { NULL }, 10160, "udp" }, - { "snmptls", { NULL }, 10161, "tcp" }, - { "snmpdtls", { NULL }, 10161, "udp" }, - { "snmptls-trap", { NULL }, 10162, "tcp" }, - { "snmpdtls-trap", { NULL }, 10162, "udp" }, - { "trisoap", { NULL }, 10200, "tcp" }, - { "trisoap", { NULL }, 10200, "udp" }, - { "rsms", { NULL }, 10201, "tcp" }, - { "rscs", { NULL }, 10201, "udp" }, - { "apollo-relay", { NULL }, 10252, "tcp" }, - { "apollo-relay", { NULL }, 10252, "udp" }, - { "axis-wimp-port", { NULL }, 10260, "tcp" }, - { "axis-wimp-port", { NULL }, 10260, "udp" }, - { "blocks", { NULL }, 10288, "tcp" }, - { "blocks", { NULL }, 10288, "udp" }, - { "cosir", { NULL }, 10321, "tcp" }, - { "hip-nat-t", { NULL }, 10500, "udp" }, - { "MOS-lower", { NULL }, 10540, "tcp" }, - { "MOS-lower", { NULL }, 10540, "udp" }, - { "MOS-upper", { NULL }, 10541, "tcp" }, - { "MOS-upper", { NULL }, 10541, "udp" }, - { "MOS-aux", { NULL }, 10542, "tcp" }, - { "MOS-aux", { NULL }, 10542, "udp" }, - { "MOS-soap", { NULL }, 10543, "tcp" }, - { "MOS-soap", { NULL }, 10543, "udp" }, - { "MOS-soap-opt", { NULL }, 10544, "tcp" }, - { "MOS-soap-opt", { NULL }, 10544, "udp" }, - { "gap", { NULL }, 10800, "tcp" }, - { "gap", { NULL }, 10800, "udp" }, - { "lpdg", { NULL }, 10805, "tcp" }, - { "lpdg", { NULL }, 10805, "udp" }, - { "nbd", { NULL }, 10809, "tcp" }, - { "nmc-disc", { NULL }, 10810, "udp" }, - { "helix", { NULL }, 10860, "tcp" }, - { "helix", { NULL }, 10860, "udp" }, - { "rmiaux", { NULL }, 10990, "tcp" }, - { "rmiaux", { NULL }, 10990, "udp" }, - { "irisa", { NULL }, 11000, "tcp" }, - { "irisa", { NULL }, 11000, "udp" }, - { "metasys", { NULL }, 11001, "tcp" }, - { "metasys", { NULL }, 11001, "udp" }, - { "netapp-icmgmt", { NULL }, 11104, "tcp" }, - { "netapp-icdata", { NULL }, 11105, "tcp" }, - { "sgi-lk", { NULL }, 11106, "tcp" }, - { "sgi-lk", { NULL }, 11106, "udp" }, - { "vce", { NULL }, 11111, "tcp" }, - { "vce", { NULL }, 11111, "udp" }, - { "dicom", { NULL }, 11112, "tcp" }, - { "dicom", { NULL }, 11112, "udp" }, - { "suncacao-snmp", { NULL }, 11161, "tcp" }, - { "suncacao-snmp", { NULL }, 11161, "udp" }, - { "suncacao-jmxmp", { NULL }, 11162, "tcp" }, - { "suncacao-jmxmp", { NULL }, 11162, "udp" }, - { "suncacao-rmi", { NULL }, 11163, "tcp" }, - { "suncacao-rmi", { NULL }, 11163, "udp" }, - { "suncacao-csa", { NULL }, 11164, "tcp" }, - { "suncacao-csa", { NULL }, 11164, "udp" }, - { "suncacao-websvc", { NULL }, 11165, "tcp" }, - { "suncacao-websvc", { NULL }, 11165, "udp" }, - { "snss", { NULL }, 11171, "udp" }, - { "oemcacao-jmxmp", { NULL }, 11172, "tcp" }, - { "oemcacao-rmi", { NULL }, 11174, "tcp" }, - { "oemcacao-websvc", { NULL }, 11175, "tcp" }, - { "smsqp", { NULL }, 11201, "tcp" }, - { "smsqp", { NULL }, 11201, "udp" }, - { "wifree", { NULL }, 11208, "tcp" }, - { "wifree", { NULL }, 11208, "udp" }, - { "memcache", { NULL }, 11211, "tcp" }, - { "memcache", { NULL }, 11211, "udp" }, - { "imip", { NULL }, 11319, "tcp" }, - { "imip", { NULL }, 11319, "udp" }, - { "imip-channels", { NULL }, 11320, "tcp" }, - { "imip-channels", { NULL }, 11320, "udp" }, - { "arena-server", { NULL }, 11321, "tcp" }, - { "arena-server", { NULL }, 11321, "udp" }, - { "atm-uhas", { NULL }, 11367, "tcp" }, - { "atm-uhas", { NULL }, 11367, "udp" }, - { "hkp", { NULL }, 11371, "tcp" }, - { "hkp", { NULL }, 11371, "udp" }, - { "asgcypresstcps", { NULL }, 11489, "tcp" }, - { "tempest-port", { NULL }, 11600, "tcp" }, - { "tempest-port", { NULL }, 11600, "udp" }, - { "h323callsigalt", { NULL }, 11720, "tcp" }, - { "h323callsigalt", { NULL }, 11720, "udp" }, - { "intrepid-ssl", { NULL }, 11751, "tcp" }, - { "intrepid-ssl", { NULL }, 11751, "udp" }, - { "xoraya", { NULL }, 11876, "tcp" }, - { "xoraya", { NULL }, 11876, "udp" }, - { "x2e-disc", { NULL }, 11877, "udp" }, - { "sysinfo-sp", { NULL }, 11967, "tcp" }, - { "sysinfo-sp", { NULL }, 11967, "udp" }, - { "wmereceiving", { NULL }, 11997, "sctp"}, - { "wmedistribution", { NULL }, 11998, "sctp"}, - { "wmereporting", { NULL }, 11999, "sctp"}, - { "entextxid", { NULL }, 12000, "tcp" }, - { "entextxid", { NULL }, 12000, "udp" }, - { "entextnetwk", { NULL }, 12001, "tcp" }, - { "entextnetwk", { NULL }, 12001, "udp" }, - { "entexthigh", { NULL }, 12002, "tcp" }, - { "entexthigh", { NULL }, 12002, "udp" }, - { "entextmed", { NULL }, 12003, "tcp" }, - { "entextmed", { NULL }, 12003, "udp" }, - { "entextlow", { NULL }, 12004, "tcp" }, - { "entextlow", { NULL }, 12004, "udp" }, - { "dbisamserver1", { NULL }, 12005, "tcp" }, - { "dbisamserver1", { NULL }, 12005, "udp" }, - { "dbisamserver2", { NULL }, 12006, "tcp" }, - { "dbisamserver2", { NULL }, 12006, "udp" }, - { "accuracer", { NULL }, 12007, "tcp" }, - { "accuracer", { NULL }, 12007, "udp" }, - { "accuracer-dbms", { NULL }, 12008, "tcp" }, - { "accuracer-dbms", { NULL }, 12008, "udp" }, - { "edbsrvr", { NULL }, 12010, "tcp" }, - { "vipera", { NULL }, 12012, "tcp" }, - { "vipera", { NULL }, 12012, "udp" }, - { "vipera-ssl", { NULL }, 12013, "tcp" }, - { "vipera-ssl", { NULL }, 12013, "udp" }, - { "rets-ssl", { NULL }, 12109, "tcp" }, - { "rets-ssl", { NULL }, 12109, "udp" }, - { "nupaper-ss", { NULL }, 12121, "tcp" }, - { "nupaper-ss", { NULL }, 12121, "udp" }, - { "cawas", { NULL }, 12168, "tcp" }, - { "cawas", { NULL }, 12168, "udp" }, - { "hivep", { NULL }, 12172, "tcp" }, - { "hivep", { NULL }, 12172, "udp" }, - { "linogridengine", { NULL }, 12300, "tcp" }, - { "linogridengine", { NULL }, 12300, "udp" }, - { "warehouse-sss", { NULL }, 12321, "tcp" }, - { "warehouse-sss", { NULL }, 12321, "udp" }, - { "warehouse", { NULL }, 12322, "tcp" }, - { "warehouse", { NULL }, 12322, "udp" }, - { "italk", { NULL }, 12345, "tcp" }, - { "italk", { NULL }, 12345, "udp" }, - { "tsaf", { NULL }, 12753, "tcp" }, - { "tsaf", { NULL }, 12753, "udp" }, - { "i-zipqd", { NULL }, 13160, "tcp" }, - { "i-zipqd", { NULL }, 13160, "udp" }, - { "bcslogc", { NULL }, 13216, "tcp" }, - { "bcslogc", { NULL }, 13216, "udp" }, - { "rs-pias", { NULL }, 13217, "tcp" }, - { "rs-pias", { NULL }, 13217, "udp" }, - { "emc-vcas-tcp", { NULL }, 13218, "tcp" }, - { "emc-vcas-udp", { NULL }, 13218, "udp" }, - { "powwow-client", { NULL }, 13223, "tcp" }, - { "powwow-client", { NULL }, 13223, "udp" }, - { "powwow-server", { NULL }, 13224, "tcp" }, - { "powwow-server", { NULL }, 13224, "udp" }, - { "doip-data", { NULL }, 13400, "tcp" }, - { "doip-disc", { NULL }, 13400, "udp" }, - { "bprd", { NULL }, 13720, "tcp" }, - { "bprd", { NULL }, 13720, "udp" }, - { "bpdbm", { NULL }, 13721, "tcp" }, - { "bpdbm", { NULL }, 13721, "udp" }, - { "bpjava-msvc", { NULL }, 13722, "tcp" }, - { "bpjava-msvc", { NULL }, 13722, "udp" }, - { "vnetd", { NULL }, 13724, "tcp" }, - { "vnetd", { NULL }, 13724, "udp" }, - { "bpcd", { NULL }, 13782, "tcp" }, - { "bpcd", { NULL }, 13782, "udp" }, - { "vopied", { NULL }, 13783, "tcp" }, - { "vopied", { NULL }, 13783, "udp" }, - { "nbdb", { NULL }, 13785, "tcp" }, - { "nbdb", { NULL }, 13785, "udp" }, - { "nomdb", { NULL }, 13786, "tcp" }, - { "nomdb", { NULL }, 13786, "udp" }, - { "dsmcc-config", { NULL }, 13818, "tcp" }, - { "dsmcc-config", { NULL }, 13818, "udp" }, - { "dsmcc-session", { NULL }, 13819, "tcp" }, - { "dsmcc-session", { NULL }, 13819, "udp" }, - { "dsmcc-passthru", { NULL }, 13820, "tcp" }, - { "dsmcc-passthru", { NULL }, 13820, "udp" }, - { "dsmcc-download", { NULL }, 13821, "tcp" }, - { "dsmcc-download", { NULL }, 13821, "udp" }, - { "dsmcc-ccp", { NULL }, 13822, "tcp" }, - { "dsmcc-ccp", { NULL }, 13822, "udp" }, - { "bmdss", { NULL }, 13823, "tcp" }, - { "dta-systems", { NULL }, 13929, "tcp" }, - { "dta-systems", { NULL }, 13929, "udp" }, - { "medevolve", { NULL }, 13930, "tcp" }, - { "scotty-ft", { NULL }, 14000, "tcp" }, - { "scotty-ft", { NULL }, 14000, "udp" }, - { "sua", { NULL }, 14001, "tcp" }, - { "sua", { NULL }, 14001, "udp" }, - { "sua", { NULL }, 14001, "sctp"}, - { "sage-best-com1", { NULL }, 14033, "tcp" }, - { "sage-best-com1", { NULL }, 14033, "udp" }, - { "sage-best-com2", { NULL }, 14034, "tcp" }, - { "sage-best-com2", { NULL }, 14034, "udp" }, - { "vcs-app", { NULL }, 14141, "tcp" }, - { "vcs-app", { NULL }, 14141, "udp" }, - { "icpp", { NULL }, 14142, "tcp" }, - { "icpp", { NULL }, 14142, "udp" }, - { "gcm-app", { NULL }, 14145, "tcp" }, - { "gcm-app", { NULL }, 14145, "udp" }, - { "vrts-tdd", { NULL }, 14149, "tcp" }, - { "vrts-tdd", { NULL }, 14149, "udp" }, - { "vcscmd", { NULL }, 14150, "tcp" }, - { "vad", { NULL }, 14154, "tcp" }, - { "vad", { NULL }, 14154, "udp" }, - { "cps", { NULL }, 14250, "tcp" }, - { "cps", { NULL }, 14250, "udp" }, - { "ca-web-update", { NULL }, 14414, "tcp" }, - { "ca-web-update", { NULL }, 14414, "udp" }, - { "hde-lcesrvr-1", { NULL }, 14936, "tcp" }, - { "hde-lcesrvr-1", { NULL }, 14936, "udp" }, - { "hde-lcesrvr-2", { NULL }, 14937, "tcp" }, - { "hde-lcesrvr-2", { NULL }, 14937, "udp" }, - { "hydap", { NULL }, 15000, "tcp" }, - { "hydap", { NULL }, 15000, "udp" }, - { "xpilot", { NULL }, 15345, "tcp" }, - { "xpilot", { NULL }, 15345, "udp" }, - { "3link", { NULL }, 15363, "tcp" }, - { "3link", { NULL }, 15363, "udp" }, - { "cisco-snat", { NULL }, 15555, "tcp" }, - { "cisco-snat", { NULL }, 15555, "udp" }, - { "bex-xr", { NULL }, 15660, "tcp" }, - { "bex-xr", { NULL }, 15660, "udp" }, - { "ptp", { NULL }, 15740, "tcp" }, - { "ptp", { NULL }, 15740, "udp" }, - { "2ping", { NULL }, 15998, "udp" }, - { "programmar", { NULL }, 15999, "tcp" }, - { "fmsas", { NULL }, 16000, "tcp" }, - { "fmsascon", { NULL }, 16001, "tcp" }, - { "gsms", { NULL }, 16002, "tcp" }, - { "alfin", { NULL }, 16003, "udp" }, - { "jwpc", { NULL }, 16020, "tcp" }, - { "jwpc-bin", { NULL }, 16021, "tcp" }, - { "sun-sea-port", { NULL }, 16161, "tcp" }, - { "sun-sea-port", { NULL }, 16161, "udp" }, - { "solaris-audit", { NULL }, 16162, "tcp" }, - { "etb4j", { NULL }, 16309, "tcp" }, - { "etb4j", { NULL }, 16309, "udp" }, - { "pduncs", { NULL }, 16310, "tcp" }, - { "pduncs", { NULL }, 16310, "udp" }, - { "pdefmns", { NULL }, 16311, "tcp" }, - { "pdefmns", { NULL }, 16311, "udp" }, - { "netserialext1", { NULL }, 16360, "tcp" }, - { "netserialext1", { NULL }, 16360, "udp" }, - { "netserialext2", { NULL }, 16361, "tcp" }, - { "netserialext2", { NULL }, 16361, "udp" }, - { "netserialext3", { NULL }, 16367, "tcp" }, - { "netserialext3", { NULL }, 16367, "udp" }, - { "netserialext4", { NULL }, 16368, "tcp" }, - { "netserialext4", { NULL }, 16368, "udp" }, - { "connected", { NULL }, 16384, "tcp" }, - { "connected", { NULL }, 16384, "udp" }, - { "xoms", { NULL }, 16619, "tcp" }, - { "newbay-snc-mc", { NULL }, 16900, "tcp" }, - { "newbay-snc-mc", { NULL }, 16900, "udp" }, - { "sgcip", { NULL }, 16950, "tcp" }, - { "sgcip", { NULL }, 16950, "udp" }, - { "intel-rci-mp", { NULL }, 16991, "tcp" }, - { "intel-rci-mp", { NULL }, 16991, "udp" }, - { "amt-soap-http", { NULL }, 16992, "tcp" }, - { "amt-soap-http", { NULL }, 16992, "udp" }, - { "amt-soap-https", { NULL }, 16993, "tcp" }, - { "amt-soap-https", { NULL }, 16993, "udp" }, - { "amt-redir-tcp", { NULL }, 16994, "tcp" }, - { "amt-redir-tcp", { NULL }, 16994, "udp" }, - { "amt-redir-tls", { NULL }, 16995, "tcp" }, - { "amt-redir-tls", { NULL }, 16995, "udp" }, - { "isode-dua", { NULL }, 17007, "tcp" }, - { "isode-dua", { NULL }, 17007, "udp" }, - { "soundsvirtual", { NULL }, 17185, "tcp" }, - { "soundsvirtual", { NULL }, 17185, "udp" }, - { "chipper", { NULL }, 17219, "tcp" }, - { "chipper", { NULL }, 17219, "udp" }, - { "integrius-stp", { NULL }, 17234, "tcp" }, - { "integrius-stp", { NULL }, 17234, "udp" }, - { "ssh-mgmt", { NULL }, 17235, "tcp" }, - { "ssh-mgmt", { NULL }, 17235, "udp" }, - { "db-lsp", { NULL }, 17500, "tcp" }, - { "db-lsp-disc", { NULL }, 17500, "udp" }, - { "ea", { NULL }, 17729, "tcp" }, - { "ea", { NULL }, 17729, "udp" }, - { "zep", { NULL }, 17754, "tcp" }, - { "zep", { NULL }, 17754, "udp" }, - { "zigbee-ip", { NULL }, 17755, "tcp" }, - { "zigbee-ip", { NULL }, 17755, "udp" }, - { "zigbee-ips", { NULL }, 17756, "tcp" }, - { "zigbee-ips", { NULL }, 17756, "udp" }, - { "sw-orion", { NULL }, 17777, "tcp" }, - { "biimenu", { NULL }, 18000, "tcp" }, - { "biimenu", { NULL }, 18000, "udp" }, - { "radpdf", { NULL }, 18104, "tcp" }, - { "racf", { NULL }, 18136, "tcp" }, - { "opsec-cvp", { NULL }, 18181, "tcp" }, - { "opsec-cvp", { NULL }, 18181, "udp" }, - { "opsec-ufp", { NULL }, 18182, "tcp" }, - { "opsec-ufp", { NULL }, 18182, "udp" }, - { "opsec-sam", { NULL }, 18183, "tcp" }, - { "opsec-sam", { NULL }, 18183, "udp" }, - { "opsec-lea", { NULL }, 18184, "tcp" }, - { "opsec-lea", { NULL }, 18184, "udp" }, - { "opsec-omi", { NULL }, 18185, "tcp" }, - { "opsec-omi", { NULL }, 18185, "udp" }, - { "ohsc", { NULL }, 18186, "tcp" }, - { "ohsc", { NULL }, 18186, "udp" }, - { "opsec-ela", { NULL }, 18187, "tcp" }, - { "opsec-ela", { NULL }, 18187, "udp" }, - { "checkpoint-rtm", { NULL }, 18241, "tcp" }, - { "checkpoint-rtm", { NULL }, 18241, "udp" }, - { "gv-pf", { NULL }, 18262, "tcp" }, - { "gv-pf", { NULL }, 18262, "udp" }, - { "ac-cluster", { NULL }, 18463, "tcp" }, - { "ac-cluster", { NULL }, 18463, "udp" }, - { "rds-ib", { NULL }, 18634, "tcp" }, - { "rds-ib", { NULL }, 18634, "udp" }, - { "rds-ip", { NULL }, 18635, "tcp" }, - { "rds-ip", { NULL }, 18635, "udp" }, - { "ique", { NULL }, 18769, "tcp" }, - { "ique", { NULL }, 18769, "udp" }, - { "infotos", { NULL }, 18881, "tcp" }, - { "infotos", { NULL }, 18881, "udp" }, - { "apc-necmp", { NULL }, 18888, "tcp" }, - { "apc-necmp", { NULL }, 18888, "udp" }, - { "igrid", { NULL }, 19000, "tcp" }, - { "igrid", { NULL }, 19000, "udp" }, - { "j-link", { NULL }, 19020, "tcp" }, - { "opsec-uaa", { NULL }, 19191, "tcp" }, - { "opsec-uaa", { NULL }, 19191, "udp" }, - { "ua-secureagent", { NULL }, 19194, "tcp" }, - { "ua-secureagent", { NULL }, 19194, "udp" }, - { "keysrvr", { NULL }, 19283, "tcp" }, - { "keysrvr", { NULL }, 19283, "udp" }, - { "keyshadow", { NULL }, 19315, "tcp" }, - { "keyshadow", { NULL }, 19315, "udp" }, - { "mtrgtrans", { NULL }, 19398, "tcp" }, - { "mtrgtrans", { NULL }, 19398, "udp" }, - { "hp-sco", { NULL }, 19410, "tcp" }, - { "hp-sco", { NULL }, 19410, "udp" }, - { "hp-sca", { NULL }, 19411, "tcp" }, - { "hp-sca", { NULL }, 19411, "udp" }, - { "hp-sessmon", { NULL }, 19412, "tcp" }, - { "hp-sessmon", { NULL }, 19412, "udp" }, - { "fxuptp", { NULL }, 19539, "tcp" }, - { "fxuptp", { NULL }, 19539, "udp" }, - { "sxuptp", { NULL }, 19540, "tcp" }, - { "sxuptp", { NULL }, 19540, "udp" }, - { "jcp", { NULL }, 19541, "tcp" }, - { "jcp", { NULL }, 19541, "udp" }, - { "iec-104-sec", { NULL }, 19998, "tcp" }, - { "dnp-sec", { NULL }, 19999, "tcp" }, - { "dnp-sec", { NULL }, 19999, "udp" }, - { "dnp", { NULL }, 20000, "tcp" }, - { "dnp", { NULL }, 20000, "udp" }, - { "microsan", { NULL }, 20001, "tcp" }, - { "microsan", { NULL }, 20001, "udp" }, - { "commtact-http", { NULL }, 20002, "tcp" }, - { "commtact-http", { NULL }, 20002, "udp" }, - { "commtact-https", { NULL }, 20003, "tcp" }, - { "commtact-https", { NULL }, 20003, "udp" }, - { "openwebnet", { NULL }, 20005, "tcp" }, - { "openwebnet", { NULL }, 20005, "udp" }, - { "ss-idi-disc", { NULL }, 20012, "udp" }, - { "ss-idi", { NULL }, 20013, "tcp" }, - { "opendeploy", { NULL }, 20014, "tcp" }, - { "opendeploy", { NULL }, 20014, "udp" }, - { "nburn_id", { NULL }, 20034, "tcp" }, - { "nburn_id", { NULL }, 20034, "udp" }, - { "tmophl7mts", { NULL }, 20046, "tcp" }, - { "tmophl7mts", { NULL }, 20046, "udp" }, - { "mountd", { NULL }, 20048, "tcp" }, - { "mountd", { NULL }, 20048, "udp" }, - { "nfsrdma", { NULL }, 20049, "tcp" }, - { "nfsrdma", { NULL }, 20049, "udp" }, - { "nfsrdma", { NULL }, 20049, "sctp"}, - { "tolfab", { NULL }, 20167, "tcp" }, - { "tolfab", { NULL }, 20167, "udp" }, - { "ipdtp-port", { NULL }, 20202, "tcp" }, - { "ipdtp-port", { NULL }, 20202, "udp" }, - { "ipulse-ics", { NULL }, 20222, "tcp" }, - { "ipulse-ics", { NULL }, 20222, "udp" }, - { "emwavemsg", { NULL }, 20480, "tcp" }, - { "emwavemsg", { NULL }, 20480, "udp" }, - { "track", { NULL }, 20670, "tcp" }, - { "track", { NULL }, 20670, "udp" }, - { "athand-mmp", { NULL }, 20999, "tcp" }, - { "athand-mmp", { NULL }, 20999, "udp" }, - { "irtrans", { NULL }, 21000, "tcp" }, - { "irtrans", { NULL }, 21000, "udp" }, - { "dfserver", { NULL }, 21554, "tcp" }, - { "dfserver", { NULL }, 21554, "udp" }, - { "vofr-gateway", { NULL }, 21590, "tcp" }, - { "vofr-gateway", { NULL }, 21590, "udp" }, - { "tvpm", { NULL }, 21800, "tcp" }, - { "tvpm", { NULL }, 21800, "udp" }, - { "webphone", { NULL }, 21845, "tcp" }, - { "webphone", { NULL }, 21845, "udp" }, - { "netspeak-is", { NULL }, 21846, "tcp" }, - { "netspeak-is", { NULL }, 21846, "udp" }, - { "netspeak-cs", { NULL }, 21847, "tcp" }, - { "netspeak-cs", { NULL }, 21847, "udp" }, - { "netspeak-acd", { NULL }, 21848, "tcp" }, - { "netspeak-acd", { NULL }, 21848, "udp" }, - { "netspeak-cps", { NULL }, 21849, "tcp" }, - { "netspeak-cps", { NULL }, 21849, "udp" }, - { "snapenetio", { NULL }, 22000, "tcp" }, - { "snapenetio", { NULL }, 22000, "udp" }, - { "optocontrol", { NULL }, 22001, "tcp" }, - { "optocontrol", { NULL }, 22001, "udp" }, - { "optohost002", { NULL }, 22002, "tcp" }, - { "optohost002", { NULL }, 22002, "udp" }, - { "optohost003", { NULL }, 22003, "tcp" }, - { "optohost003", { NULL }, 22003, "udp" }, - { "optohost004", { NULL }, 22004, "tcp" }, - { "optohost004", { NULL }, 22004, "udp" }, - { "optohost004", { NULL }, 22005, "tcp" }, - { "optohost004", { NULL }, 22005, "udp" }, - { "dcap", { NULL }, 22125, "tcp" }, - { "gsidcap", { NULL }, 22128, "tcp" }, - { "wnn6", { NULL }, 22273, "tcp" }, - { "wnn6", { NULL }, 22273, "udp" }, - { "cis", { NULL }, 22305, "tcp" }, - { "cis", { NULL }, 22305, "udp" }, - { "cis-secure", { NULL }, 22343, "tcp" }, - { "cis-secure", { NULL }, 22343, "udp" }, - { "WibuKey", { NULL }, 22347, "tcp" }, - { "WibuKey", { NULL }, 22347, "udp" }, - { "CodeMeter", { NULL }, 22350, "tcp" }, - { "CodeMeter", { NULL }, 22350, "udp" }, - { "vocaltec-wconf", { NULL }, 22555, "tcp" }, - { "vocaltec-phone", { NULL }, 22555, "udp" }, - { "talikaserver", { NULL }, 22763, "tcp" }, - { "talikaserver", { NULL }, 22763, "udp" }, - { "aws-brf", { NULL }, 22800, "tcp" }, - { "aws-brf", { NULL }, 22800, "udp" }, - { "brf-gw", { NULL }, 22951, "tcp" }, - { "brf-gw", { NULL }, 22951, "udp" }, - { "inovaport1", { NULL }, 23000, "tcp" }, - { "inovaport1", { NULL }, 23000, "udp" }, - { "inovaport2", { NULL }, 23001, "tcp" }, - { "inovaport2", { NULL }, 23001, "udp" }, - { "inovaport3", { NULL }, 23002, "tcp" }, - { "inovaport3", { NULL }, 23002, "udp" }, - { "inovaport4", { NULL }, 23003, "tcp" }, - { "inovaport4", { NULL }, 23003, "udp" }, - { "inovaport5", { NULL }, 23004, "tcp" }, - { "inovaport5", { NULL }, 23004, "udp" }, - { "inovaport6", { NULL }, 23005, "tcp" }, - { "inovaport6", { NULL }, 23005, "udp" }, - { "s102", { NULL }, 23272, "udp" }, - { "elxmgmt", { NULL }, 23333, "tcp" }, - { "elxmgmt", { NULL }, 23333, "udp" }, - { "novar-dbase", { NULL }, 23400, "tcp" }, - { "novar-dbase", { NULL }, 23400, "udp" }, - { "novar-alarm", { NULL }, 23401, "tcp" }, - { "novar-alarm", { NULL }, 23401, "udp" }, - { "novar-global", { NULL }, 23402, "tcp" }, - { "novar-global", { NULL }, 23402, "udp" }, - { "aequus", { NULL }, 23456, "tcp" }, - { "aequus-alt", { NULL }, 23457, "tcp" }, - { "med-ltp", { NULL }, 24000, "tcp" }, - { "med-ltp", { NULL }, 24000, "udp" }, - { "med-fsp-rx", { NULL }, 24001, "tcp" }, - { "med-fsp-rx", { NULL }, 24001, "udp" }, - { "med-fsp-tx", { NULL }, 24002, "tcp" }, - { "med-fsp-tx", { NULL }, 24002, "udp" }, - { "med-supp", { NULL }, 24003, "tcp" }, - { "med-supp", { NULL }, 24003, "udp" }, - { "med-ovw", { NULL }, 24004, "tcp" }, - { "med-ovw", { NULL }, 24004, "udp" }, - { "med-ci", { NULL }, 24005, "tcp" }, - { "med-ci", { NULL }, 24005, "udp" }, - { "med-net-svc", { NULL }, 24006, "tcp" }, - { "med-net-svc", { NULL }, 24006, "udp" }, - { "filesphere", { NULL }, 24242, "tcp" }, - { "filesphere", { NULL }, 24242, "udp" }, - { "vista-4gl", { NULL }, 24249, "tcp" }, - { "vista-4gl", { NULL }, 24249, "udp" }, - { "ild", { NULL }, 24321, "tcp" }, - { "ild", { NULL }, 24321, "udp" }, - { "intel_rci", { NULL }, 24386, "tcp" }, - { "intel_rci", { NULL }, 24386, "udp" }, - { "tonidods", { NULL }, 24465, "tcp" }, - { "tonidods", { NULL }, 24465, "udp" }, - { "binkp", { NULL }, 24554, "tcp" }, - { "binkp", { NULL }, 24554, "udp" }, - { "canditv", { NULL }, 24676, "tcp" }, - { "canditv", { NULL }, 24676, "udp" }, - { "flashfiler", { NULL }, 24677, "tcp" }, - { "flashfiler", { NULL }, 24677, "udp" }, - { "proactivate", { NULL }, 24678, "tcp" }, - { "proactivate", { NULL }, 24678, "udp" }, - { "tcc-http", { NULL }, 24680, "tcp" }, - { "tcc-http", { NULL }, 24680, "udp" }, - { "cslg", { NULL }, 24754, "tcp" }, - { "find", { NULL }, 24922, "tcp" }, - { "find", { NULL }, 24922, "udp" }, - { "icl-twobase1", { NULL }, 25000, "tcp" }, - { "icl-twobase1", { NULL }, 25000, "udp" }, - { "icl-twobase2", { NULL }, 25001, "tcp" }, - { "icl-twobase2", { NULL }, 25001, "udp" }, - { "icl-twobase3", { NULL }, 25002, "tcp" }, - { "icl-twobase3", { NULL }, 25002, "udp" }, - { "icl-twobase4", { NULL }, 25003, "tcp" }, - { "icl-twobase4", { NULL }, 25003, "udp" }, - { "icl-twobase5", { NULL }, 25004, "tcp" }, - { "icl-twobase5", { NULL }, 25004, "udp" }, - { "icl-twobase6", { NULL }, 25005, "tcp" }, - { "icl-twobase6", { NULL }, 25005, "udp" }, - { "icl-twobase7", { NULL }, 25006, "tcp" }, - { "icl-twobase7", { NULL }, 25006, "udp" }, - { "icl-twobase8", { NULL }, 25007, "tcp" }, - { "icl-twobase8", { NULL }, 25007, "udp" }, - { "icl-twobase9", { NULL }, 25008, "tcp" }, - { "icl-twobase9", { NULL }, 25008, "udp" }, - { "icl-twobase10", { NULL }, 25009, "tcp" }, - { "icl-twobase10", { NULL }, 25009, "udp" }, - { "rna", { NULL }, 25471, "sctp"}, - { "sauterdongle", { NULL }, 25576, "tcp" }, - { "vocaltec-hos", { NULL }, 25793, "tcp" }, - { "vocaltec-hos", { NULL }, 25793, "udp" }, - { "tasp-net", { NULL }, 25900, "tcp" }, - { "tasp-net", { NULL }, 25900, "udp" }, - { "niobserver", { NULL }, 25901, "tcp" }, - { "niobserver", { NULL }, 25901, "udp" }, - { "nilinkanalyst", { NULL }, 25902, "tcp" }, - { "nilinkanalyst", { NULL }, 25902, "udp" }, - { "niprobe", { NULL }, 25903, "tcp" }, - { "niprobe", { NULL }, 25903, "udp" }, - { "quake", { NULL }, 26000, "tcp" }, - { "quake", { NULL }, 26000, "udp" }, - { "scscp", { NULL }, 26133, "tcp" }, - { "scscp", { NULL }, 26133, "udp" }, - { "wnn6-ds", { NULL }, 26208, "tcp" }, - { "wnn6-ds", { NULL }, 26208, "udp" }, - { "ezproxy", { NULL }, 26260, "tcp" }, - { "ezproxy", { NULL }, 26260, "udp" }, - { "ezmeeting", { NULL }, 26261, "tcp" }, - { "ezmeeting", { NULL }, 26261, "udp" }, - { "k3software-svr", { NULL }, 26262, "tcp" }, - { "k3software-svr", { NULL }, 26262, "udp" }, - { "k3software-cli", { NULL }, 26263, "tcp" }, - { "k3software-cli", { NULL }, 26263, "udp" }, - { "exoline-tcp", { NULL }, 26486, "tcp" }, - { "exoline-udp", { NULL }, 26486, "udp" }, - { "exoconfig", { NULL }, 26487, "tcp" }, - { "exoconfig", { NULL }, 26487, "udp" }, - { "exonet", { NULL }, 26489, "tcp" }, - { "exonet", { NULL }, 26489, "udp" }, - { "imagepump", { NULL }, 27345, "tcp" }, - { "imagepump", { NULL }, 27345, "udp" }, - { "jesmsjc", { NULL }, 27442, "tcp" }, - { "jesmsjc", { NULL }, 27442, "udp" }, - { "kopek-httphead", { NULL }, 27504, "tcp" }, - { "kopek-httphead", { NULL }, 27504, "udp" }, - { "ars-vista", { NULL }, 27782, "tcp" }, - { "ars-vista", { NULL }, 27782, "udp" }, - { "tw-auth-key", { NULL }, 27999, "tcp" }, - { "tw-auth-key", { NULL }, 27999, "udp" }, - { "nxlmd", { NULL }, 28000, "tcp" }, - { "nxlmd", { NULL }, 28000, "udp" }, - { "pqsp", { NULL }, 28001, "tcp" }, - { "siemensgsm", { NULL }, 28240, "tcp" }, - { "siemensgsm", { NULL }, 28240, "udp" }, - { "sgsap", { NULL }, 29118, "sctp"}, - { "otmp", { NULL }, 29167, "tcp" }, - { "otmp", { NULL }, 29167, "udp" }, - { "sbcap", { NULL }, 29168, "sctp"}, - { "iuhsctpassoc", { NULL }, 29169, "sctp"}, - { "pago-services1", { NULL }, 30001, "tcp" }, - { "pago-services1", { NULL }, 30001, "udp" }, - { "pago-services2", { NULL }, 30002, "tcp" }, - { "pago-services2", { NULL }, 30002, "udp" }, - { "kingdomsonline", { NULL }, 30260, "tcp" }, - { "kingdomsonline", { NULL }, 30260, "udp" }, - { "ovobs", { NULL }, 30999, "tcp" }, - { "ovobs", { NULL }, 30999, "udp" }, - { "autotrac-acp", { NULL }, 31020, "tcp" }, - { "yawn", { NULL }, 31029, "udp" }, - { "xqosd", { NULL }, 31416, "tcp" }, - { "xqosd", { NULL }, 31416, "udp" }, - { "tetrinet", { NULL }, 31457, "tcp" }, - { "tetrinet", { NULL }, 31457, "udp" }, - { "lm-mon", { NULL }, 31620, "tcp" }, - { "lm-mon", { NULL }, 31620, "udp" }, - { "dsx_monitor", { NULL }, 31685, "tcp" }, - { "gamesmith-port", { NULL }, 31765, "tcp" }, - { "gamesmith-port", { NULL }, 31765, "udp" }, - { "iceedcp_tx", { NULL }, 31948, "tcp" }, - { "iceedcp_tx", { NULL }, 31948, "udp" }, - { "iceedcp_rx", { NULL }, 31949, "tcp" }, - { "iceedcp_rx", { NULL }, 31949, "udp" }, - { "iracinghelper", { NULL }, 32034, "tcp" }, - { "iracinghelper", { NULL }, 32034, "udp" }, - { "t1distproc60", { NULL }, 32249, "tcp" }, - { "t1distproc60", { NULL }, 32249, "udp" }, - { "apm-link", { NULL }, 32483, "tcp" }, - { "apm-link", { NULL }, 32483, "udp" }, - { "sec-ntb-clnt", { NULL }, 32635, "tcp" }, - { "sec-ntb-clnt", { NULL }, 32635, "udp" }, - { "DMExpress", { NULL }, 32636, "tcp" }, - { "DMExpress", { NULL }, 32636, "udp" }, - { "filenet-powsrm", { NULL }, 32767, "tcp" }, - { "filenet-powsrm", { NULL }, 32767, "udp" }, - { "filenet-tms", { NULL }, 32768, "tcp" }, - { "filenet-tms", { NULL }, 32768, "udp" }, - { "filenet-rpc", { NULL }, 32769, "tcp" }, - { "filenet-rpc", { NULL }, 32769, "udp" }, - { "filenet-nch", { NULL }, 32770, "tcp" }, - { "filenet-nch", { NULL }, 32770, "udp" }, - { "filenet-rmi", { NULL }, 32771, "tcp" }, - { "filenet-rmi", { NULL }, 32771, "udp" }, - { "filenet-pa", { NULL }, 32772, "tcp" }, - { "filenet-pa", { NULL }, 32772, "udp" }, - { "filenet-cm", { NULL }, 32773, "tcp" }, - { "filenet-cm", { NULL }, 32773, "udp" }, - { "filenet-re", { NULL }, 32774, "tcp" }, - { "filenet-re", { NULL }, 32774, "udp" }, - { "filenet-pch", { NULL }, 32775, "tcp" }, - { "filenet-pch", { NULL }, 32775, "udp" }, - { "filenet-peior", { NULL }, 32776, "tcp" }, - { "filenet-peior", { NULL }, 32776, "udp" }, - { "filenet-obrok", { NULL }, 32777, "tcp" }, - { "filenet-obrok", { NULL }, 32777, "udp" }, - { "mlsn", { NULL }, 32801, "tcp" }, - { "mlsn", { NULL }, 32801, "udp" }, - { "retp", { NULL }, 32811, "tcp" }, - { "idmgratm", { NULL }, 32896, "tcp" }, - { "idmgratm", { NULL }, 32896, "udp" }, - { "aurora-balaena", { NULL }, 33123, "tcp" }, - { "aurora-balaena", { NULL }, 33123, "udp" }, - { "diamondport", { NULL }, 33331, "tcp" }, - { "diamondport", { NULL }, 33331, "udp" }, - { "dgi-serv", { NULL }, 33333, "tcp" }, - { "traceroute", { NULL }, 33434, "tcp" }, - { "traceroute", { NULL }, 33434, "udp" }, - { "snip-slave", { NULL }, 33656, "tcp" }, - { "snip-slave", { NULL }, 33656, "udp" }, - { "turbonote-2", { NULL }, 34249, "tcp" }, - { "turbonote-2", { NULL }, 34249, "udp" }, - { "p-net-local", { NULL }, 34378, "tcp" }, - { "p-net-local", { NULL }, 34378, "udp" }, - { "p-net-remote", { NULL }, 34379, "tcp" }, - { "p-net-remote", { NULL }, 34379, "udp" }, - { "dhanalakshmi", { NULL }, 34567, "tcp" }, - { "profinet-rt", { NULL }, 34962, "tcp" }, - { "profinet-rt", { NULL }, 34962, "udp" }, - { "profinet-rtm", { NULL }, 34963, "tcp" }, - { "profinet-rtm", { NULL }, 34963, "udp" }, - { "profinet-cm", { NULL }, 34964, "tcp" }, - { "profinet-cm", { NULL }, 34964, "udp" }, - { "ethercat", { NULL }, 34980, "tcp" }, - { "ethercat", { NULL }, 34980, "udp" }, - { "allpeers", { NULL }, 36001, "tcp" }, - { "allpeers", { NULL }, 36001, "udp" }, - { "s1-control", { NULL }, 36412, "sctp"}, - { "x2-control", { NULL }, 36422, "sctp"}, - { "m2ap", { NULL }, 36443, "sctp"}, - { "m3ap", { NULL }, 36444, "sctp"}, - { "kastenxpipe", { NULL }, 36865, "tcp" }, - { "kastenxpipe", { NULL }, 36865, "udp" }, - { "neckar", { NULL }, 37475, "tcp" }, - { "neckar", { NULL }, 37475, "udp" }, - { "unisys-eportal", { NULL }, 37654, "tcp" }, - { "unisys-eportal", { NULL }, 37654, "udp" }, - { "galaxy7-data", { NULL }, 38201, "tcp" }, - { "galaxy7-data", { NULL }, 38201, "udp" }, - { "fairview", { NULL }, 38202, "tcp" }, - { "fairview", { NULL }, 38202, "udp" }, - { "agpolicy", { NULL }, 38203, "tcp" }, - { "agpolicy", { NULL }, 38203, "udp" }, - { "turbonote-1", { NULL }, 39681, "tcp" }, - { "turbonote-1", { NULL }, 39681, "udp" }, - { "safetynetp", { NULL }, 40000, "tcp" }, - { "safetynetp", { NULL }, 40000, "udp" }, - { "cscp", { NULL }, 40841, "tcp" }, - { "cscp", { NULL }, 40841, "udp" }, - { "csccredir", { NULL }, 40842, "tcp" }, - { "csccredir", { NULL }, 40842, "udp" }, - { "csccfirewall", { NULL }, 40843, "tcp" }, - { "csccfirewall", { NULL }, 40843, "udp" }, - { "ortec-disc", { NULL }, 40853, "udp" }, - { "fs-qos", { NULL }, 41111, "tcp" }, - { "fs-qos", { NULL }, 41111, "udp" }, - { "tentacle", { NULL }, 41121, "tcp" }, - { "crestron-cip", { NULL }, 41794, "tcp" }, - { "crestron-cip", { NULL }, 41794, "udp" }, - { "crestron-ctp", { NULL }, 41795, "tcp" }, - { "crestron-ctp", { NULL }, 41795, "udp" }, - { "candp", { NULL }, 42508, "tcp" }, - { "candp", { NULL }, 42508, "udp" }, - { "candrp", { NULL }, 42509, "tcp" }, - { "candrp", { NULL }, 42509, "udp" }, - { "caerpc", { NULL }, 42510, "tcp" }, - { "caerpc", { NULL }, 42510, "udp" }, - { "reachout", { NULL }, 43188, "tcp" }, - { "reachout", { NULL }, 43188, "udp" }, - { "ndm-agent-port", { NULL }, 43189, "tcp" }, - { "ndm-agent-port", { NULL }, 43189, "udp" }, - { "ip-provision", { NULL }, 43190, "tcp" }, - { "ip-provision", { NULL }, 43190, "udp" }, - { "noit-transport", { NULL }, 43191, "tcp" }, - { "ew-mgmt", { NULL }, 43440, "tcp" }, - { "ew-disc-cmd", { NULL }, 43440, "udp" }, - { "ciscocsdb", { NULL }, 43441, "tcp" }, - { "ciscocsdb", { NULL }, 43441, "udp" }, - { "pmcd", { NULL }, 44321, "tcp" }, - { "pmcd", { NULL }, 44321, "udp" }, - { "pmcdproxy", { NULL }, 44322, "tcp" }, - { "pmcdproxy", { NULL }, 44322, "udp" }, - { "pcp", { NULL }, 44323, "udp" }, - { "rbr-debug", { NULL }, 44553, "tcp" }, - { "rbr-debug", { NULL }, 44553, "udp" }, - { "EtherNet/IP-2", { NULL }, 44818, "tcp" }, - { "EtherNet/IP-2", { NULL }, 44818, "udp" }, - { "invision-ag", { NULL }, 45054, "tcp" }, - { "invision-ag", { NULL }, 45054, "udp" }, - { "eba", { NULL }, 45678, "tcp" }, - { "eba", { NULL }, 45678, "udp" }, - { "qdb2service", { NULL }, 45825, "tcp" }, - { "qdb2service", { NULL }, 45825, "udp" }, - { "ssr-servermgr", { NULL }, 45966, "tcp" }, - { "ssr-servermgr", { NULL }, 45966, "udp" }, - { "mediabox", { NULL }, 46999, "tcp" }, - { "mediabox", { NULL }, 46999, "udp" }, - { "mbus", { NULL }, 47000, "tcp" }, - { "mbus", { NULL }, 47000, "udp" }, - { "winrm", { NULL }, 47001, "tcp" }, - { "dbbrowse", { NULL }, 47557, "tcp" }, - { "dbbrowse", { NULL }, 47557, "udp" }, - { "directplaysrvr", { NULL }, 47624, "tcp" }, - { "directplaysrvr", { NULL }, 47624, "udp" }, - { "ap", { NULL }, 47806, "tcp" }, - { "ap", { NULL }, 47806, "udp" }, - { "bacnet", { NULL }, 47808, "tcp" }, - { "bacnet", { NULL }, 47808, "udp" }, - { "nimcontroller", { NULL }, 48000, "tcp" }, - { "nimcontroller", { NULL }, 48000, "udp" }, - { "nimspooler", { NULL }, 48001, "tcp" }, - { "nimspooler", { NULL }, 48001, "udp" }, - { "nimhub", { NULL }, 48002, "tcp" }, - { "nimhub", { NULL }, 48002, "udp" }, - { "nimgtw", { NULL }, 48003, "tcp" }, - { "nimgtw", { NULL }, 48003, "udp" }, - { "nimbusdb", { NULL }, 48004, "tcp" }, - { "nimbusdbctrl", { NULL }, 48005, "tcp" }, - { "3gpp-cbsp", { NULL }, 48049, "tcp" }, - { "isnetserv", { NULL }, 48128, "tcp" }, - { "isnetserv", { NULL }, 48128, "udp" }, - { "blp5", { NULL }, 48129, "tcp" }, - { "blp5", { NULL }, 48129, "udp" }, - { "com-bardac-dw", { NULL }, 48556, "tcp" }, - { "com-bardac-dw", { NULL }, 48556, "udp" }, - { "iqobject", { NULL }, 48619, "tcp" }, - { "iqobject", { NULL }, 48619, "udp" }, + { "blackjack", { NULL }, 1025, "tcp" }, + { "blackjack", { NULL }, 1025, "udp" }, + { "cap", { NULL }, 1026, "tcp" }, + { "cap", { NULL }, 1026, "udp" }, + { "solid-mux", { NULL }, 1029, "tcp" }, + { "solid-mux", { NULL }, 1029, "udp" }, + { "iad1", { NULL }, 1030, "tcp" }, + { "iad1", { NULL }, 1030, "udp" }, + { "iad2", { NULL }, 1031, "tcp" }, + { "iad2", { NULL }, 1031, "udp" }, + { "iad3", { NULL }, 1032, "tcp" }, + { "iad3", { NULL }, 1032, "udp" }, + { "netinfo-local", { NULL }, 1033, "tcp" }, + { "netinfo-local", { NULL }, 1033, "udp" }, + { "activesync", { NULL }, 1034, "tcp" }, + { "activesync", { NULL }, 1034, "udp" }, + { "mxxrlogin", { NULL }, 1035, "tcp" }, + { "mxxrlogin", { NULL }, 1035, "udp" }, + { "nsstp", { NULL }, 1036, "tcp" }, + { "nsstp", { NULL }, 1036, "udp" }, + { "ams", { NULL }, 1037, "tcp" }, + { "ams", { NULL }, 1037, "udp" }, + { "mtqp", { NULL }, 1038, "tcp" }, + { "mtqp", { NULL }, 1038, "udp" }, + { "sbl", { NULL }, 1039, "tcp" }, + { "sbl", { NULL }, 1039, "udp" }, + { "netarx", { NULL }, 1040, "tcp" }, + { "netarx", { NULL }, 1040, "udp" }, + { "danf-ak2", { NULL }, 1041, "tcp" }, + { "danf-ak2", { NULL }, 1041, "udp" }, + { "afrog", { NULL }, 1042, "tcp" }, + { "afrog", { NULL }, 1042, "udp" }, + { "boinc-client", { NULL }, 1043, "tcp" }, + { "boinc-client", { NULL }, 1043, "udp" }, + { "dcutility", { NULL }, 1044, "tcp" }, + { "dcutility", { NULL }, 1044, "udp" }, + { "fpitp", { NULL }, 1045, "tcp" }, + { "fpitp", { NULL }, 1045, "udp" }, + { "wfremotertm", { NULL }, 1046, "tcp" }, + { "wfremotertm", { NULL }, 1046, "udp" }, + { "neod1", { NULL }, 1047, "tcp" }, + { "neod1", { NULL }, 1047, "udp" }, + { "neod2", { NULL }, 1048, "tcp" }, + { "neod2", { NULL }, 1048, "udp" }, + { "td-postman", { NULL }, 1049, "tcp" }, + { "td-postman", { NULL }, 1049, "udp" }, + { "cma", { NULL }, 1050, "tcp" }, + { "cma", { NULL }, 1050, "udp" }, + { "optima-vnet", { NULL }, 1051, "tcp" }, + { "optima-vnet", { NULL }, 1051, "udp" }, + { "ddt", { NULL }, 1052, "tcp" }, + { "ddt", { NULL }, 1052, "udp" }, + { "remote-as", { NULL }, 1053, "tcp" }, + { "remote-as", { NULL }, 1053, "udp" }, + { "brvread", { NULL }, 1054, "tcp" }, + { "brvread", { NULL }, 1054, "udp" }, + { "ansyslmd", { NULL }, 1055, "tcp" }, + { "ansyslmd", { NULL }, 1055, "udp" }, + { "vfo", { NULL }, 1056, "tcp" }, + { "vfo", { NULL }, 1056, "udp" }, + { "startron", { NULL }, 1057, "tcp" }, + { "startron", { NULL }, 1057, "udp" }, + { "nim", { NULL }, 1058, "tcp" }, + { "nim", { NULL }, 1058, "udp" }, + { "nimreg", { NULL }, 1059, "tcp" }, + { "nimreg", { NULL }, 1059, "udp" }, + { "polestar", { NULL }, 1060, "tcp" }, + { "polestar", { NULL }, 1060, "udp" }, + { "kiosk", { NULL }, 1061, "tcp" }, + { "kiosk", { NULL }, 1061, "udp" }, + { "veracity", { NULL }, 1062, "tcp" }, + { "veracity", { NULL }, 1062, "udp" }, + { "kyoceranetdev", { NULL }, 1063, "tcp" }, + { "kyoceranetdev", { NULL }, 1063, "udp" }, + { "jstel", { NULL }, 1064, "tcp" }, + { "jstel", { NULL }, 1064, "udp" }, + { "syscomlan", { NULL }, 1065, "tcp" }, + { "syscomlan", { NULL }, 1065, "udp" }, + { "fpo-fns", { NULL }, 1066, "tcp" }, + { "fpo-fns", { NULL }, 1066, "udp" }, + { "instl_boots", { NULL }, 1067, "tcp" }, + { "instl_boots", { NULL }, 1067, "udp" }, + { "instl_bootc", { NULL }, 1068, "tcp" }, + { "instl_bootc", { NULL }, 1068, "udp" }, + { "cognex-insight", { NULL }, 1069, "tcp" }, + { "cognex-insight", { NULL }, 1069, "udp" }, + { "gmrupdateserv", { NULL }, 1070, "tcp" }, + { "gmrupdateserv", { NULL }, 1070, "udp" }, + { "bsquare-voip", { NULL }, 1071, "tcp" }, + { "bsquare-voip", { NULL }, 1071, "udp" }, + { "cardax", { NULL }, 1072, "tcp" }, + { "cardax", { NULL }, 1072, "udp" }, + { "bridgecontrol", { NULL }, 1073, "tcp" }, + { "bridgecontrol", { NULL }, 1073, "udp" }, + { "warmspotMgmt", { NULL }, 1074, "tcp" }, + { "warmspotMgmt", { NULL }, 1074, "udp" }, + { "rdrmshc", { NULL }, 1075, "tcp" }, + { "rdrmshc", { NULL }, 1075, "udp" }, + { "dab-sti-c", { NULL }, 1076, "tcp" }, + { "dab-sti-c", { NULL }, 1076, "udp" }, + { "imgames", { NULL }, 1077, "tcp" }, + { "imgames", { NULL }, 1077, "udp" }, + { "avocent-proxy", { NULL }, 1078, "tcp" }, + { "avocent-proxy", { NULL }, 1078, "udp" }, + { "asprovatalk", { NULL }, 1079, "tcp" }, + { "asprovatalk", { NULL }, 1079, "udp" }, + { "socks", { NULL }, 1080, "tcp" }, + { "socks", { NULL }, 1080, "udp" }, + { "pvuniwien", { NULL }, 1081, "tcp" }, + { "pvuniwien", { NULL }, 1081, "udp" }, + { "amt-esd-prot", { NULL }, 1082, "tcp" }, + { "amt-esd-prot", { NULL }, 1082, "udp" }, + { "ansoft-lm-1", { NULL }, 1083, "tcp" }, + { "ansoft-lm-1", { NULL }, 1083, "udp" }, + { "ansoft-lm-2", { NULL }, 1084, "tcp" }, + { "ansoft-lm-2", { NULL }, 1084, "udp" }, + { "webobjects", { NULL }, 1085, "tcp" }, + { "webobjects", { NULL }, 1085, "udp" }, + { "cplscrambler-lg", { NULL }, 1086, "tcp" }, + { "cplscrambler-lg", { NULL }, 1086, "udp" }, + { "cplscrambler-in", { NULL }, 1087, "tcp" }, + { "cplscrambler-in", { NULL }, 1087, "udp" }, + { "cplscrambler-al", { NULL }, 1088, "tcp" }, + { "cplscrambler-al", { NULL }, 1088, "udp" }, + { "ff-annunc", { NULL }, 1089, "tcp" }, + { "ff-annunc", { NULL }, 1089, "udp" }, + { "ff-fms", { NULL }, 1090, "tcp" }, + { "ff-fms", { NULL }, 1090, "udp" }, + { "ff-sm", { NULL }, 1091, "tcp" }, + { "ff-sm", { NULL }, 1091, "udp" }, + { "obrpd", { NULL }, 1092, "tcp" }, + { "obrpd", { NULL }, 1092, "udp" }, + { "proofd", { NULL }, 1093, "tcp" }, + { "proofd", { NULL }, 1093, "udp" }, + { "rootd", { NULL }, 1094, "tcp" }, + { "rootd", { NULL }, 1094, "udp" }, + { "nicelink", { NULL }, 1095, "tcp" }, + { "nicelink", { NULL }, 1095, "udp" }, + { "cnrprotocol", { NULL }, 1096, "tcp" }, + { "cnrprotocol", { NULL }, 1096, "udp" }, + { "sunclustermgr", { NULL }, 1097, "tcp" }, + { "sunclustermgr", { NULL }, 1097, "udp" }, + { "rmiactivation", { NULL }, 1098, "tcp" }, + { "rmiactivation", { NULL }, 1098, "udp" }, + { "rmiregistry", { NULL }, 1099, "tcp" }, + { "rmiregistry", { NULL }, 1099, "udp" }, + { "mctp", { NULL }, 1100, "tcp" }, + { "mctp", { NULL }, 1100, "udp" }, + { "pt2-discover", { NULL }, 1101, "tcp" }, + { "pt2-discover", { NULL }, 1101, "udp" }, + { "adobeserver-1", { NULL }, 1102, "tcp" }, + { "adobeserver-1", { NULL }, 1102, "udp" }, + { "adobeserver-2", { NULL }, 1103, "tcp" }, + { "adobeserver-2", { NULL }, 1103, "udp" }, + { "xrl", { NULL }, 1104, "tcp" }, + { "xrl", { NULL }, 1104, "udp" }, + { "ftranhc", { NULL }, 1105, "tcp" }, + { "ftranhc", { NULL }, 1105, "udp" }, + { "isoipsigport-1", { NULL }, 1106, "tcp" }, + { "isoipsigport-1", { NULL }, 1106, "udp" }, + { "isoipsigport-2", { NULL }, 1107, "tcp" }, + { "isoipsigport-2", { NULL }, 1107, "udp" }, + { "ratio-adp", { NULL }, 1108, "tcp" }, + { "ratio-adp", { NULL }, 1108, "udp" }, + { "webadmstart", { NULL }, 1110, "tcp" }, + { "nfsd-keepalive", { NULL }, 1110, "udp" }, + { "lmsocialserver", { NULL }, 1111, "tcp" }, + { "lmsocialserver", { NULL }, 1111, "udp" }, + { "icp", { NULL }, 1112, "tcp" }, + { "icp", { NULL }, 1112, "udp" }, + { "ltp-deepspace", { NULL }, 1113, "tcp" }, + { "ltp-deepspace", { NULL }, 1113, "udp" }, + { "mini-sql", { NULL }, 1114, "tcp" }, + { "mini-sql", { NULL }, 1114, "udp" }, + { "ardus-trns", { NULL }, 1115, "tcp" }, + { "ardus-trns", { NULL }, 1115, "udp" }, + { "ardus-cntl", { NULL }, 1116, "tcp" }, + { "ardus-cntl", { NULL }, 1116, "udp" }, + { "ardus-mtrns", { NULL }, 1117, "tcp" }, + { "ardus-mtrns", { NULL }, 1117, "udp" }, + { "sacred", { NULL }, 1118, "tcp" }, + { "sacred", { NULL }, 1118, "udp" }, + { "bnetgame", { NULL }, 1119, "tcp" }, + { "bnetgame", { NULL }, 1119, "udp" }, + { "bnetfile", { NULL }, 1120, "tcp" }, + { "bnetfile", { NULL }, 1120, "udp" }, + { "rmpp", { NULL }, 1121, "tcp" }, + { "rmpp", { NULL }, 1121, "udp" }, + { "availant-mgr", { NULL }, 1122, "tcp" }, + { "availant-mgr", { NULL }, 1122, "udp" }, + { "murray", { NULL }, 1123, "tcp" }, + { "murray", { NULL }, 1123, "udp" }, + { "hpvmmcontrol", { NULL }, 1124, "tcp" }, + { "hpvmmcontrol", { NULL }, 1124, "udp" }, + { "hpvmmagent", { NULL }, 1125, "tcp" }, + { "hpvmmagent", { NULL }, 1125, "udp" }, + { "hpvmmdata", { NULL }, 1126, "tcp" }, + { "hpvmmdata", { NULL }, 1126, "udp" }, + { "kwdb-commn", { NULL }, 1127, "tcp" }, + { "kwdb-commn", { NULL }, 1127, "udp" }, + { "saphostctrl", { NULL }, 1128, "tcp" }, + { "saphostctrl", { NULL }, 1128, "udp" }, + { "saphostctrls", { NULL }, 1129, "tcp" }, + { "saphostctrls", { NULL }, 1129, "udp" }, + { "casp", { NULL }, 1130, "tcp" }, + { "casp", { NULL }, 1130, "udp" }, + { "caspssl", { NULL }, 1131, "tcp" }, + { "caspssl", { NULL }, 1131, "udp" }, + { "kvm-via-ip", { NULL }, 1132, "tcp" }, + { "kvm-via-ip", { NULL }, 1132, "udp" }, + { "dfn", { NULL }, 1133, "tcp" }, + { "dfn", { NULL }, 1133, "udp" }, + { "aplx", { NULL }, 1134, "tcp" }, + { "aplx", { NULL }, 1134, "udp" }, + { "omnivision", { NULL }, 1135, "tcp" }, + { "omnivision", { NULL }, 1135, "udp" }, + { "hhb-gateway", { NULL }, 1136, "tcp" }, + { "hhb-gateway", { NULL }, 1136, "udp" }, + { "trim", { NULL }, 1137, "tcp" }, + { "trim", { NULL }, 1137, "udp" }, + { "encrypted_admin", { NULL }, 1138, "tcp" }, + { "encrypted_admin", { NULL }, 1138, "udp" }, + { "evm", { NULL }, 1139, "tcp" }, + { "evm", { NULL }, 1139, "udp" }, + { "autonoc", { NULL }, 1140, "tcp" }, + { "autonoc", { NULL }, 1140, "udp" }, + { "mxomss", { NULL }, 1141, "tcp" }, + { "mxomss", { NULL }, 1141, "udp" }, + { "edtools", { NULL }, 1142, "tcp" }, + { "edtools", { NULL }, 1142, "udp" }, + { "imyx", { NULL }, 1143, "tcp" }, + { "imyx", { NULL }, 1143, "udp" }, + { "fuscript", { NULL }, 1144, "tcp" }, + { "fuscript", { NULL }, 1144, "udp" }, + { "x9-icue", { NULL }, 1145, "tcp" }, + { "x9-icue", { NULL }, 1145, "udp" }, + { "audit-transfer", { NULL }, 1146, "tcp" }, + { "audit-transfer", { NULL }, 1146, "udp" }, + { "capioverlan", { NULL }, 1147, "tcp" }, + { "capioverlan", { NULL }, 1147, "udp" }, + { "elfiq-repl", { NULL }, 1148, "tcp" }, + { "elfiq-repl", { NULL }, 1148, "udp" }, + { "bvtsonar", { NULL }, 1149, "tcp" }, + { "bvtsonar", { NULL }, 1149, "udp" }, + { "blaze", { NULL }, 1150, "tcp" }, + { "blaze", { NULL }, 1150, "udp" }, + { "unizensus", { NULL }, 1151, "tcp" }, + { "unizensus", { NULL }, 1151, "udp" }, + { "winpoplanmess", { NULL }, 1152, "tcp" }, + { "winpoplanmess", { NULL }, 1152, "udp" }, + { "c1222-acse", { NULL }, 1153, "tcp" }, + { "c1222-acse", { NULL }, 1153, "udp" }, + { "resacommunity", { NULL }, 1154, "tcp" }, + { "resacommunity", { NULL }, 1154, "udp" }, + { "nfa", { NULL }, 1155, "tcp" }, + { "nfa", { NULL }, 1155, "udp" }, + { "iascontrol-oms", { NULL }, 1156, "tcp" }, + { "iascontrol-oms", { NULL }, 1156, "udp" }, + { "iascontrol", { NULL }, 1157, "tcp" }, + { "iascontrol", { NULL }, 1157, "udp" }, + { "dbcontrol-oms", { NULL }, 1158, "tcp" }, + { "dbcontrol-oms", { NULL }, 1158, "udp" }, + { "oracle-oms", { NULL }, 1159, "tcp" }, + { "oracle-oms", { NULL }, 1159, "udp" }, + { "olsv", { NULL }, 1160, "tcp" }, + { "olsv", { NULL }, 1160, "udp" }, + { "health-polling", { NULL }, 1161, "tcp" }, + { "health-polling", { NULL }, 1161, "udp" }, + { "health-trap", { NULL }, 1162, "tcp" }, + { "health-trap", { NULL }, 1162, "udp" }, + { "sddp", { NULL }, 1163, "tcp" }, + { "sddp", { NULL }, 1163, "udp" }, + { "qsm-proxy", { NULL }, 1164, "tcp" }, + { "qsm-proxy", { NULL }, 1164, "udp" }, + { "qsm-gui", { NULL }, 1165, "tcp" }, + { "qsm-gui", { NULL }, 1165, "udp" }, + { "qsm-remote", { NULL }, 1166, "tcp" }, + { "qsm-remote", { NULL }, 1166, "udp" }, + { "cisco-ipsla", { NULL }, 1167, "tcp" }, + { "cisco-ipsla", { NULL }, 1167, "udp" }, + { "cisco-ipsla", { NULL }, 1167, "sctp" }, + { "vchat", { NULL }, 1168, "tcp" }, + { "vchat", { NULL }, 1168, "udp" }, + { "tripwire", { NULL }, 1169, "tcp" }, + { "tripwire", { NULL }, 1169, "udp" }, + { "atc-lm", { NULL }, 1170, "tcp" }, + { "atc-lm", { NULL }, 1170, "udp" }, + { "atc-appserver", { NULL }, 1171, "tcp" }, + { "atc-appserver", { NULL }, 1171, "udp" }, + { "dnap", { NULL }, 1172, "tcp" }, + { "dnap", { NULL }, 1172, "udp" }, + { "d-cinema-rrp", { NULL }, 1173, "tcp" }, + { "d-cinema-rrp", { NULL }, 1173, "udp" }, + { "fnet-remote-ui", { NULL }, 1174, "tcp" }, + { "fnet-remote-ui", { NULL }, 1174, "udp" }, + { "dossier", { NULL }, 1175, "tcp" }, + { "dossier", { NULL }, 1175, "udp" }, + { "indigo-server", { NULL }, 1176, "tcp" }, + { "indigo-server", { NULL }, 1176, "udp" }, + { "dkmessenger", { NULL }, 1177, "tcp" }, + { "dkmessenger", { NULL }, 1177, "udp" }, + { "sgi-storman", { NULL }, 1178, "tcp" }, + { "sgi-storman", { NULL }, 1178, "udp" }, + { "b2n", { NULL }, 1179, "tcp" }, + { "b2n", { NULL }, 1179, "udp" }, + { "mc-client", { NULL }, 1180, "tcp" }, + { "mc-client", { NULL }, 1180, "udp" }, + { "3comnetman", { NULL }, 1181, "tcp" }, + { "3comnetman", { NULL }, 1181, "udp" }, + { "accelenet", { NULL }, 1182, "tcp" }, + { "accelenet-data", { NULL }, 1182, "udp" }, + { "llsurfup-http", { NULL }, 1183, "tcp" }, + { "llsurfup-http", { NULL }, 1183, "udp" }, + { "llsurfup-https", { NULL }, 1184, "tcp" }, + { "llsurfup-https", { NULL }, 1184, "udp" }, + { "catchpole", { NULL }, 1185, "tcp" }, + { "catchpole", { NULL }, 1185, "udp" }, + { "mysql-cluster", { NULL }, 1186, "tcp" }, + { "mysql-cluster", { NULL }, 1186, "udp" }, + { "alias", { NULL }, 1187, "tcp" }, + { "alias", { NULL }, 1187, "udp" }, + { "hp-webadmin", { NULL }, 1188, "tcp" }, + { "hp-webadmin", { NULL }, 1188, "udp" }, + { "unet", { NULL }, 1189, "tcp" }, + { "unet", { NULL }, 1189, "udp" }, + { "commlinx-avl", { NULL }, 1190, "tcp" }, + { "commlinx-avl", { NULL }, 1190, "udp" }, + { "gpfs", { NULL }, 1191, "tcp" }, + { "gpfs", { NULL }, 1191, "udp" }, + { "caids-sensor", { NULL }, 1192, "tcp" }, + { "caids-sensor", { NULL }, 1192, "udp" }, + { "fiveacross", { NULL }, 1193, "tcp" }, + { "fiveacross", { NULL }, 1193, "udp" }, + { "openvpn", { NULL }, 1194, "tcp" }, + { "openvpn", { NULL }, 1194, "udp" }, + { "rsf-1", { NULL }, 1195, "tcp" }, + { "rsf-1", { NULL }, 1195, "udp" }, + { "netmagic", { NULL }, 1196, "tcp" }, + { "netmagic", { NULL }, 1196, "udp" }, + { "carrius-rshell", { NULL }, 1197, "tcp" }, + { "carrius-rshell", { NULL }, 1197, "udp" }, + { "cajo-discovery", { NULL }, 1198, "tcp" }, + { "cajo-discovery", { NULL }, 1198, "udp" }, + { "dmidi", { NULL }, 1199, "tcp" }, + { "dmidi", { NULL }, 1199, "udp" }, + { "scol", { NULL }, 1200, "tcp" }, + { "scol", { NULL }, 1200, "udp" }, + { "nucleus-sand", { NULL }, 1201, "tcp" }, + { "nucleus-sand", { NULL }, 1201, "udp" }, + { "caiccipc", { NULL }, 1202, "tcp" }, + { "caiccipc", { NULL }, 1202, "udp" }, + { "ssslic-mgr", { NULL }, 1203, "tcp" }, + { "ssslic-mgr", { NULL }, 1203, "udp" }, + { "ssslog-mgr", { NULL }, 1204, "tcp" }, + { "ssslog-mgr", { NULL }, 1204, "udp" }, + { "accord-mgc", { NULL }, 1205, "tcp" }, + { "accord-mgc", { NULL }, 1205, "udp" }, + { "anthony-data", { NULL }, 1206, "tcp" }, + { "anthony-data", { NULL }, 1206, "udp" }, + { "metasage", { NULL }, 1207, "tcp" }, + { "metasage", { NULL }, 1207, "udp" }, + { "seagull-ais", { NULL }, 1208, "tcp" }, + { "seagull-ais", { NULL }, 1208, "udp" }, + { "ipcd3", { NULL }, 1209, "tcp" }, + { "ipcd3", { NULL }, 1209, "udp" }, + { "eoss", { NULL }, 1210, "tcp" }, + { "eoss", { NULL }, 1210, "udp" }, + { "groove-dpp", { NULL }, 1211, "tcp" }, + { "groove-dpp", { NULL }, 1211, "udp" }, + { "lupa", { NULL }, 1212, "tcp" }, + { "lupa", { NULL }, 1212, "udp" }, + { "mpc-lifenet", { NULL }, 1213, "tcp" }, + { "mpc-lifenet", { NULL }, 1213, "udp" }, + { "kazaa", { NULL }, 1214, "tcp" }, + { "kazaa", { NULL }, 1214, "udp" }, + { "scanstat-1", { NULL }, 1215, "tcp" }, + { "scanstat-1", { NULL }, 1215, "udp" }, + { "etebac5", { NULL }, 1216, "tcp" }, + { "etebac5", { NULL }, 1216, "udp" }, + { "hpss-ndapi", { NULL }, 1217, "tcp" }, + { "hpss-ndapi", { NULL }, 1217, "udp" }, + { "aeroflight-ads", { NULL }, 1218, "tcp" }, + { "aeroflight-ads", { NULL }, 1218, "udp" }, + { "aeroflight-ret", { NULL }, 1219, "tcp" }, + { "aeroflight-ret", { NULL }, 1219, "udp" }, + { "qt-serveradmin", { NULL }, 1220, "tcp" }, + { "qt-serveradmin", { NULL }, 1220, "udp" }, + { "sweetware-apps", { NULL }, 1221, "tcp" }, + { "sweetware-apps", { NULL }, 1221, "udp" }, + { "nerv", { NULL }, 1222, "tcp" }, + { "nerv", { NULL }, 1222, "udp" }, + { "tgp", { NULL }, 1223, "tcp" }, + { "tgp", { NULL }, 1223, "udp" }, + { "vpnz", { NULL }, 1224, "tcp" }, + { "vpnz", { NULL }, 1224, "udp" }, + { "slinkysearch", { NULL }, 1225, "tcp" }, + { "slinkysearch", { NULL }, 1225, "udp" }, + { "stgxfws", { NULL }, 1226, "tcp" }, + { "stgxfws", { NULL }, 1226, "udp" }, + { "dns2go", { NULL }, 1227, "tcp" }, + { "dns2go", { NULL }, 1227, "udp" }, + { "florence", { NULL }, 1228, "tcp" }, + { "florence", { NULL }, 1228, "udp" }, + { "zented", { NULL }, 1229, "tcp" }, + { "zented", { NULL }, 1229, "udp" }, + { "periscope", { NULL }, 1230, "tcp" }, + { "periscope", { NULL }, 1230, "udp" }, + { "menandmice-lpm", { NULL }, 1231, "tcp" }, + { "menandmice-lpm", { NULL }, 1231, "udp" }, + { "univ-appserver", { NULL }, 1233, "tcp" }, + { "univ-appserver", { NULL }, 1233, "udp" }, + { "search-agent", { NULL }, 1234, "tcp" }, + { "search-agent", { NULL }, 1234, "udp" }, + { "mosaicsyssvc1", { NULL }, 1235, "tcp" }, + { "mosaicsyssvc1", { NULL }, 1235, "udp" }, + { "bvcontrol", { NULL }, 1236, "tcp" }, + { "bvcontrol", { NULL }, 1236, "udp" }, + { "tsdos390", { NULL }, 1237, "tcp" }, + { "tsdos390", { NULL }, 1237, "udp" }, + { "hacl-qs", { NULL }, 1238, "tcp" }, + { "hacl-qs", { NULL }, 1238, "udp" }, + { "nmsd", { NULL }, 1239, "tcp" }, + { "nmsd", { NULL }, 1239, "udp" }, + { "instantia", { NULL }, 1240, "tcp" }, + { "instantia", { NULL }, 1240, "udp" }, + { "nessus", { NULL }, 1241, "tcp" }, + { "nessus", { NULL }, 1241, "udp" }, + { "nmasoverip", { NULL }, 1242, "tcp" }, + { "nmasoverip", { NULL }, 1242, "udp" }, + { "serialgateway", { NULL }, 1243, "tcp" }, + { "serialgateway", { NULL }, 1243, "udp" }, + { "isbconference1", { NULL }, 1244, "tcp" }, + { "isbconference1", { NULL }, 1244, "udp" }, + { "isbconference2", { NULL }, 1245, "tcp" }, + { "isbconference2", { NULL }, 1245, "udp" }, + { "payrouter", { NULL }, 1246, "tcp" }, + { "payrouter", { NULL }, 1246, "udp" }, + { "visionpyramid", { NULL }, 1247, "tcp" }, + { "visionpyramid", { NULL }, 1247, "udp" }, + { "hermes", { NULL }, 1248, "tcp" }, + { "hermes", { NULL }, 1248, "udp" }, + { "mesavistaco", { NULL }, 1249, "tcp" }, + { "mesavistaco", { NULL }, 1249, "udp" }, + { "swldy-sias", { NULL }, 1250, "tcp" }, + { "swldy-sias", { NULL }, 1250, "udp" }, + { "servergraph", { NULL }, 1251, "tcp" }, + { "servergraph", { NULL }, 1251, "udp" }, + { "bspne-pcc", { NULL }, 1252, "tcp" }, + { "bspne-pcc", { NULL }, 1252, "udp" }, + { "q55-pcc", { NULL }, 1253, "tcp" }, + { "q55-pcc", { NULL }, 1253, "udp" }, + { "de-noc", { NULL }, 1254, "tcp" }, + { "de-noc", { NULL }, 1254, "udp" }, + { "de-cache-query", { NULL }, 1255, "tcp" }, + { "de-cache-query", { NULL }, 1255, "udp" }, + { "de-server", { NULL }, 1256, "tcp" }, + { "de-server", { NULL }, 1256, "udp" }, + { "shockwave2", { NULL }, 1257, "tcp" }, + { "shockwave2", { NULL }, 1257, "udp" }, + { "opennl", { NULL }, 1258, "tcp" }, + { "opennl", { NULL }, 1258, "udp" }, + { "opennl-voice", { NULL }, 1259, "tcp" }, + { "opennl-voice", { NULL }, 1259, "udp" }, + { "ibm-ssd", { NULL }, 1260, "tcp" }, + { "ibm-ssd", { NULL }, 1260, "udp" }, + { "mpshrsv", { NULL }, 1261, "tcp" }, + { "mpshrsv", { NULL }, 1261, "udp" }, + { "qnts-orb", { NULL }, 1262, "tcp" }, + { "qnts-orb", { NULL }, 1262, "udp" }, + { "dka", { NULL }, 1263, "tcp" }, + { "dka", { NULL }, 1263, "udp" }, + { "prat", { NULL }, 1264, "tcp" }, + { "prat", { NULL }, 1264, "udp" }, + { "dssiapi", { NULL }, 1265, "tcp" }, + { "dssiapi", { NULL }, 1265, "udp" }, + { "dellpwrappks", { NULL }, 1266, "tcp" }, + { "dellpwrappks", { NULL }, 1266, "udp" }, + { "epc", { NULL }, 1267, "tcp" }, + { "epc", { NULL }, 1267, "udp" }, + { "propel-msgsys", { NULL }, 1268, "tcp" }, + { "propel-msgsys", { NULL }, 1268, "udp" }, + { "watilapp", { NULL }, 1269, "tcp" }, + { "watilapp", { NULL }, 1269, "udp" }, + { "opsmgr", { NULL }, 1270, "tcp" }, + { "opsmgr", { NULL }, 1270, "udp" }, + { "excw", { NULL }, 1271, "tcp" }, + { "excw", { NULL }, 1271, "udp" }, + { "cspmlockmgr", { NULL }, 1272, "tcp" }, + { "cspmlockmgr", { NULL }, 1272, "udp" }, + { "emc-gateway", { NULL }, 1273, "tcp" }, + { "emc-gateway", { NULL }, 1273, "udp" }, + { "t1distproc", { NULL }, 1274, "tcp" }, + { "t1distproc", { NULL }, 1274, "udp" }, + { "ivcollector", { NULL }, 1275, "tcp" }, + { "ivcollector", { NULL }, 1275, "udp" }, + { "ivmanager", { NULL }, 1276, "tcp" }, + { "ivmanager", { NULL }, 1276, "udp" }, + { "miva-mqs", { NULL }, 1277, "tcp" }, + { "miva-mqs", { NULL }, 1277, "udp" }, + { "dellwebadmin-1", { NULL }, 1278, "tcp" }, + { "dellwebadmin-1", { NULL }, 1278, "udp" }, + { "dellwebadmin-2", { NULL }, 1279, "tcp" }, + { "dellwebadmin-2", { NULL }, 1279, "udp" }, + { "pictrography", { NULL }, 1280, "tcp" }, + { "pictrography", { NULL }, 1280, "udp" }, + { "healthd", { NULL }, 1281, "tcp" }, + { "healthd", { NULL }, 1281, "udp" }, + { "emperion", { NULL }, 1282, "tcp" }, + { "emperion", { NULL }, 1282, "udp" }, + { "productinfo", { NULL }, 1283, "tcp" }, + { "productinfo", { NULL }, 1283, "udp" }, + { "iee-qfx", { NULL }, 1284, "tcp" }, + { "iee-qfx", { NULL }, 1284, "udp" }, + { "neoiface", { NULL }, 1285, "tcp" }, + { "neoiface", { NULL }, 1285, "udp" }, + { "netuitive", { NULL }, 1286, "tcp" }, + { "netuitive", { NULL }, 1286, "udp" }, + { "routematch", { NULL }, 1287, "tcp" }, + { "routematch", { NULL }, 1287, "udp" }, + { "navbuddy", { NULL }, 1288, "tcp" }, + { "navbuddy", { NULL }, 1288, "udp" }, + { "jwalkserver", { NULL }, 1289, "tcp" }, + { "jwalkserver", { NULL }, 1289, "udp" }, + { "winjaserver", { NULL }, 1290, "tcp" }, + { "winjaserver", { NULL }, 1290, "udp" }, + { "seagulllms", { NULL }, 1291, "tcp" }, + { "seagulllms", { NULL }, 1291, "udp" }, + { "dsdn", { NULL }, 1292, "tcp" }, + { "dsdn", { NULL }, 1292, "udp" }, + { "pkt-krb-ipsec", { NULL }, 1293, "tcp" }, + { "pkt-krb-ipsec", { NULL }, 1293, "udp" }, + { "cmmdriver", { NULL }, 1294, "tcp" }, + { "cmmdriver", { NULL }, 1294, "udp" }, + { "ehtp", { NULL }, 1295, "tcp" }, + { "ehtp", { NULL }, 1295, "udp" }, + { "dproxy", { NULL }, 1296, "tcp" }, + { "dproxy", { NULL }, 1296, "udp" }, + { "sdproxy", { NULL }, 1297, "tcp" }, + { "sdproxy", { NULL }, 1297, "udp" }, + { "lpcp", { NULL }, 1298, "tcp" }, + { "lpcp", { NULL }, 1298, "udp" }, + { "hp-sci", { NULL }, 1299, "tcp" }, + { "hp-sci", { NULL }, 1299, "udp" }, + { "h323hostcallsc", { NULL }, 1300, "tcp" }, + { "h323hostcallsc", { NULL }, 1300, "udp" }, + { "ci3-software-1", { NULL }, 1301, "tcp" }, + { "ci3-software-1", { NULL }, 1301, "udp" }, + { "ci3-software-2", { NULL }, 1302, "tcp" }, + { "ci3-software-2", { NULL }, 1302, "udp" }, + { "sftsrv", { NULL }, 1303, "tcp" }, + { "sftsrv", { NULL }, 1303, "udp" }, + { "boomerang", { NULL }, 1304, "tcp" }, + { "boomerang", { NULL }, 1304, "udp" }, + { "pe-mike", { NULL }, 1305, "tcp" }, + { "pe-mike", { NULL }, 1305, "udp" }, + { "re-conn-proto", { NULL }, 1306, "tcp" }, + { "re-conn-proto", { NULL }, 1306, "udp" }, + { "pacmand", { NULL }, 1307, "tcp" }, + { "pacmand", { NULL }, 1307, "udp" }, + { "odsi", { NULL }, 1308, "tcp" }, + { "odsi", { NULL }, 1308, "udp" }, + { "jtag-server", { NULL }, 1309, "tcp" }, + { "jtag-server", { NULL }, 1309, "udp" }, + { "husky", { NULL }, 1310, "tcp" }, + { "husky", { NULL }, 1310, "udp" }, + { "rxmon", { NULL }, 1311, "tcp" }, + { "rxmon", { NULL }, 1311, "udp" }, + { "sti-envision", { NULL }, 1312, "tcp" }, + { "sti-envision", { NULL }, 1312, "udp" }, + { "bmc_patroldb", { NULL }, 1313, "tcp" }, + { "bmc_patroldb", { NULL }, 1313, "udp" }, + { "pdps", { NULL }, 1314, "tcp" }, + { "pdps", { NULL }, 1314, "udp" }, + { "els", { NULL }, 1315, "tcp" }, + { "els", { NULL }, 1315, "udp" }, + { "exbit-escp", { NULL }, 1316, "tcp" }, + { "exbit-escp", { NULL }, 1316, "udp" }, + { "vrts-ipcserver", { NULL }, 1317, "tcp" }, + { "vrts-ipcserver", { NULL }, 1317, "udp" }, + { "krb5gatekeeper", { NULL }, 1318, "tcp" }, + { "krb5gatekeeper", { NULL }, 1318, "udp" }, + { "amx-icsp", { NULL }, 1319, "tcp" }, + { "amx-icsp", { NULL }, 1319, "udp" }, + { "amx-axbnet", { NULL }, 1320, "tcp" }, + { "amx-axbnet", { NULL }, 1320, "udp" }, + { "pip", { NULL }, 1321, "tcp" }, + { "pip", { NULL }, 1321, "udp" }, + { "novation", { NULL }, 1322, "tcp" }, + { "novation", { NULL }, 1322, "udp" }, + { "brcd", { NULL }, 1323, "tcp" }, + { "brcd", { NULL }, 1323, "udp" }, + { "delta-mcp", { NULL }, 1324, "tcp" }, + { "delta-mcp", { NULL }, 1324, "udp" }, + { "dx-instrument", { NULL }, 1325, "tcp" }, + { "dx-instrument", { NULL }, 1325, "udp" }, + { "wimsic", { NULL }, 1326, "tcp" }, + { "wimsic", { NULL }, 1326, "udp" }, + { "ultrex", { NULL }, 1327, "tcp" }, + { "ultrex", { NULL }, 1327, "udp" }, + { "ewall", { NULL }, 1328, "tcp" }, + { "ewall", { NULL }, 1328, "udp" }, + { "netdb-export", { NULL }, 1329, "tcp" }, + { "netdb-export", { NULL }, 1329, "udp" }, + { "streetperfect", { NULL }, 1330, "tcp" }, + { "streetperfect", { NULL }, 1330, "udp" }, + { "intersan", { NULL }, 1331, "tcp" }, + { "intersan", { NULL }, 1331, "udp" }, + { "pcia-rxp-b", { NULL }, 1332, "tcp" }, + { "pcia-rxp-b", { NULL }, 1332, "udp" }, + { "passwrd-policy", { NULL }, 1333, "tcp" }, + { "passwrd-policy", { NULL }, 1333, "udp" }, + { "writesrv", { NULL }, 1334, "tcp" }, + { "writesrv", { NULL }, 1334, "udp" }, + { "digital-notary", { NULL }, 1335, "tcp" }, + { "digital-notary", { NULL }, 1335, "udp" }, + { "ischat", { NULL }, 1336, "tcp" }, + { "ischat", { NULL }, 1336, "udp" }, + { "menandmice-dns", { NULL }, 1337, "tcp" }, + { "menandmice-dns", { NULL }, 1337, "udp" }, + { "wmc-log-svc", { NULL }, 1338, "tcp" }, + { "wmc-log-svc", { NULL }, 1338, "udp" }, + { "kjtsiteserver", { NULL }, 1339, "tcp" }, + { "kjtsiteserver", { NULL }, 1339, "udp" }, + { "naap", { NULL }, 1340, "tcp" }, + { "naap", { NULL }, 1340, "udp" }, + { "qubes", { NULL }, 1341, "tcp" }, + { "qubes", { NULL }, 1341, "udp" }, + { "esbroker", { NULL }, 1342, "tcp" }, + { "esbroker", { NULL }, 1342, "udp" }, + { "re101", { NULL }, 1343, "tcp" }, + { "re101", { NULL }, 1343, "udp" }, + { "icap", { NULL }, 1344, "tcp" }, + { "icap", { NULL }, 1344, "udp" }, + { "vpjp", { NULL }, 1345, "tcp" }, + { "vpjp", { NULL }, 1345, "udp" }, + { "alta-ana-lm", { NULL }, 1346, "tcp" }, + { "alta-ana-lm", { NULL }, 1346, "udp" }, + { "bbn-mmc", { NULL }, 1347, "tcp" }, + { "bbn-mmc", { NULL }, 1347, "udp" }, + { "bbn-mmx", { NULL }, 1348, "tcp" }, + { "bbn-mmx", { NULL }, 1348, "udp" }, + { "sbook", { NULL }, 1349, "tcp" }, + { "sbook", { NULL }, 1349, "udp" }, + { "editbench", { NULL }, 1350, "tcp" }, + { "editbench", { NULL }, 1350, "udp" }, + { "equationbuilder", { NULL }, 1351, "tcp" }, + { "equationbuilder", { NULL }, 1351, "udp" }, + { "lotusnote", { NULL }, 1352, "tcp" }, + { "lotusnote", { NULL }, 1352, "udp" }, + { "relief", { NULL }, 1353, "tcp" }, + { "relief", { NULL }, 1353, "udp" }, + { "XSIP-network", { NULL }, 1354, "tcp" }, + { "XSIP-network", { NULL }, 1354, "udp" }, + { "intuitive-edge", { NULL }, 1355, "tcp" }, + { "intuitive-edge", { NULL }, 1355, "udp" }, + { "cuillamartin", { NULL }, 1356, "tcp" }, + { "cuillamartin", { NULL }, 1356, "udp" }, + { "pegboard", { NULL }, 1357, "tcp" }, + { "pegboard", { NULL }, 1357, "udp" }, + { "connlcli", { NULL }, 1358, "tcp" }, + { "connlcli", { NULL }, 1358, "udp" }, + { "ftsrv", { NULL }, 1359, "tcp" }, + { "ftsrv", { NULL }, 1359, "udp" }, + { "mimer", { NULL }, 1360, "tcp" }, + { "mimer", { NULL }, 1360, "udp" }, + { "linx", { NULL }, 1361, "tcp" }, + { "linx", { NULL }, 1361, "udp" }, + { "timeflies", { NULL }, 1362, "tcp" }, + { "timeflies", { NULL }, 1362, "udp" }, + { "ndm-requester", { NULL }, 1363, "tcp" }, + { "ndm-requester", { NULL }, 1363, "udp" }, + { "ndm-server", { NULL }, 1364, "tcp" }, + { "ndm-server", { NULL }, 1364, "udp" }, + { "adapt-sna", { NULL }, 1365, "tcp" }, + { "adapt-sna", { NULL }, 1365, "udp" }, + { "netware-csp", { NULL }, 1366, "tcp" }, + { "netware-csp", { NULL }, 1366, "udp" }, + { "dcs", { NULL }, 1367, "tcp" }, + { "dcs", { NULL }, 1367, "udp" }, + { "screencast", { NULL }, 1368, "tcp" }, + { "screencast", { NULL }, 1368, "udp" }, + { "gv-us", { NULL }, 1369, "tcp" }, + { "gv-us", { NULL }, 1369, "udp" }, + { "us-gv", { NULL }, 1370, "tcp" }, + { "us-gv", { NULL }, 1370, "udp" }, + { "fc-cli", { NULL }, 1371, "tcp" }, + { "fc-cli", { NULL }, 1371, "udp" }, + { "fc-ser", { NULL }, 1372, "tcp" }, + { "fc-ser", { NULL }, 1372, "udp" }, + { "chromagrafx", { NULL }, 1373, "tcp" }, + { "chromagrafx", { NULL }, 1373, "udp" }, + { "molly", { NULL }, 1374, "tcp" }, + { "molly", { NULL }, 1374, "udp" }, + { "bytex", { NULL }, 1375, "tcp" }, + { "bytex", { NULL }, 1375, "udp" }, + { "ibm-pps", { NULL }, 1376, "tcp" }, + { "ibm-pps", { NULL }, 1376, "udp" }, + { "cichlid", { NULL }, 1377, "tcp" }, + { "cichlid", { NULL }, 1377, "udp" }, + { "elan", { NULL }, 1378, "tcp" }, + { "elan", { NULL }, 1378, "udp" }, + { "dbreporter", { NULL }, 1379, "tcp" }, + { "dbreporter", { NULL }, 1379, "udp" }, + { "telesis-licman", { NULL }, 1380, "tcp" }, + { "telesis-licman", { NULL }, 1380, "udp" }, + { "apple-licman", { NULL }, 1381, "tcp" }, + { "apple-licman", { NULL }, 1381, "udp" }, + { "udt_os", { NULL }, 1382, "tcp" }, + { "udt_os", { NULL }, 1382, "udp" }, + { "gwha", { NULL }, 1383, "tcp" }, + { "gwha", { NULL }, 1383, "udp" }, + { "os-licman", { NULL }, 1384, "tcp" }, + { "os-licman", { NULL }, 1384, "udp" }, + { "atex_elmd", { NULL }, 1385, "tcp" }, + { "atex_elmd", { NULL }, 1385, "udp" }, + { "checksum", { NULL }, 1386, "tcp" }, + { "checksum", { NULL }, 1386, "udp" }, + { "cadsi-lm", { NULL }, 1387, "tcp" }, + { "cadsi-lm", { NULL }, 1387, "udp" }, + { "objective-dbc", { NULL }, 1388, "tcp" }, + { "objective-dbc", { NULL }, 1388, "udp" }, + { "iclpv-dm", { NULL }, 1389, "tcp" }, + { "iclpv-dm", { NULL }, 1389, "udp" }, + { "iclpv-sc", { NULL }, 1390, "tcp" }, + { "iclpv-sc", { NULL }, 1390, "udp" }, + { "iclpv-sas", { NULL }, 1391, "tcp" }, + { "iclpv-sas", { NULL }, 1391, "udp" }, + { "iclpv-pm", { NULL }, 1392, "tcp" }, + { "iclpv-pm", { NULL }, 1392, "udp" }, + { "iclpv-nls", { NULL }, 1393, "tcp" }, + { "iclpv-nls", { NULL }, 1393, "udp" }, + { "iclpv-nlc", { NULL }, 1394, "tcp" }, + { "iclpv-nlc", { NULL }, 1394, "udp" }, + { "iclpv-wsm", { NULL }, 1395, "tcp" }, + { "iclpv-wsm", { NULL }, 1395, "udp" }, + { "dvl-activemail", { NULL }, 1396, "tcp" }, + { "dvl-activemail", { NULL }, 1396, "udp" }, + { "audio-activmail", { NULL }, 1397, "tcp" }, + { "audio-activmail", { NULL }, 1397, "udp" }, + { "video-activmail", { NULL }, 1398, "tcp" }, + { "video-activmail", { NULL }, 1398, "udp" }, + { "cadkey-licman", { NULL }, 1399, "tcp" }, + { "cadkey-licman", { NULL }, 1399, "udp" }, + { "cadkey-tablet", { NULL }, 1400, "tcp" }, + { "cadkey-tablet", { NULL }, 1400, "udp" }, + { "goldleaf-licman", { NULL }, 1401, "tcp" }, + { "goldleaf-licman", { NULL }, 1401, "udp" }, + { "prm-sm-np", { NULL }, 1402, "tcp" }, + { "prm-sm-np", { NULL }, 1402, "udp" }, + { "prm-nm-np", { NULL }, 1403, "tcp" }, + { "prm-nm-np", { NULL }, 1403, "udp" }, + { "igi-lm", { NULL }, 1404, "tcp" }, + { "igi-lm", { NULL }, 1404, "udp" }, + { "ibm-res", { NULL }, 1405, "tcp" }, + { "ibm-res", { NULL }, 1405, "udp" }, + { "netlabs-lm", { NULL }, 1406, "tcp" }, + { "netlabs-lm", { NULL }, 1406, "udp" }, + { "dbsa-lm", { NULL }, 1407, "tcp" }, + { "dbsa-lm", { NULL }, 1407, "udp" }, + { "sophia-lm", { NULL }, 1408, "tcp" }, + { "sophia-lm", { NULL }, 1408, "udp" }, + { "here-lm", { NULL }, 1409, "tcp" }, + { "here-lm", { NULL }, 1409, "udp" }, + { "hiq", { NULL }, 1410, "tcp" }, + { "hiq", { NULL }, 1410, "udp" }, + { "af", { NULL }, 1411, "tcp" }, + { "af", { NULL }, 1411, "udp" }, + { "innosys", { NULL }, 1412, "tcp" }, + { "innosys", { NULL }, 1412, "udp" }, + { "innosys-acl", { NULL }, 1413, "tcp" }, + { "innosys-acl", { NULL }, 1413, "udp" }, + { "ibm-mqseries", { NULL }, 1414, "tcp" }, + { "ibm-mqseries", { NULL }, 1414, "udp" }, + { "dbstar", { NULL }, 1415, "tcp" }, + { "dbstar", { NULL }, 1415, "udp" }, + { "novell-lu6.2", { NULL }, 1416, "tcp" }, + { "novell-lu6.2", { NULL }, 1416, "udp" }, + { "timbuktu-srv1", { NULL }, 1417, "tcp" }, + { "timbuktu-srv1", { NULL }, 1417, "udp" }, + { "timbuktu-srv2", { NULL }, 1418, "tcp" }, + { "timbuktu-srv2", { NULL }, 1418, "udp" }, + { "timbuktu-srv3", { NULL }, 1419, "tcp" }, + { "timbuktu-srv3", { NULL }, 1419, "udp" }, + { "timbuktu-srv4", { NULL }, 1420, "tcp" }, + { "timbuktu-srv4", { NULL }, 1420, "udp" }, + { "gandalf-lm", { NULL }, 1421, "tcp" }, + { "gandalf-lm", { NULL }, 1421, "udp" }, + { "autodesk-lm", { NULL }, 1422, "tcp" }, + { "autodesk-lm", { NULL }, 1422, "udp" }, + { "essbase", { NULL }, 1423, "tcp" }, + { "essbase", { NULL }, 1423, "udp" }, + { "hybrid", { NULL }, 1424, "tcp" }, + { "hybrid", { NULL }, 1424, "udp" }, + { "zion-lm", { NULL }, 1425, "tcp" }, + { "zion-lm", { NULL }, 1425, "udp" }, + { "sais", { NULL }, 1426, "tcp" }, + { "sais", { NULL }, 1426, "udp" }, + { "mloadd", { NULL }, 1427, "tcp" }, + { "mloadd", { NULL }, 1427, "udp" }, + { "informatik-lm", { NULL }, 1428, "tcp" }, + { "informatik-lm", { NULL }, 1428, "udp" }, + { "nms", { NULL }, 1429, "tcp" }, + { "nms", { NULL }, 1429, "udp" }, + { "tpdu", { NULL }, 1430, "tcp" }, + { "tpdu", { NULL }, 1430, "udp" }, + { "rgtp", { NULL }, 1431, "tcp" }, + { "rgtp", { NULL }, 1431, "udp" }, + { "blueberry-lm", { NULL }, 1432, "tcp" }, + { "blueberry-lm", { NULL }, 1432, "udp" }, + { "ms-sql-s", { NULL }, 1433, "tcp" }, + { "ms-sql-s", { NULL }, 1433, "udp" }, + { "ms-sql-m", { NULL }, 1434, "tcp" }, + { "ms-sql-m", { NULL }, 1434, "udp" }, + { "ibm-cics", { NULL }, 1435, "tcp" }, + { "ibm-cics", { NULL }, 1435, "udp" }, + { "saism", { NULL }, 1436, "tcp" }, + { "saism", { NULL }, 1436, "udp" }, + { "tabula", { NULL }, 1437, "tcp" }, + { "tabula", { NULL }, 1437, "udp" }, + { "eicon-server", { NULL }, 1438, "tcp" }, + { "eicon-server", { NULL }, 1438, "udp" }, + { "eicon-x25", { NULL }, 1439, "tcp" }, + { "eicon-x25", { NULL }, 1439, "udp" }, + { "eicon-slp", { NULL }, 1440, "tcp" }, + { "eicon-slp", { NULL }, 1440, "udp" }, + { "cadis-1", { NULL }, 1441, "tcp" }, + { "cadis-1", { NULL }, 1441, "udp" }, + { "cadis-2", { NULL }, 1442, "tcp" }, + { "cadis-2", { NULL }, 1442, "udp" }, + { "ies-lm", { NULL }, 1443, "tcp" }, + { "ies-lm", { NULL }, 1443, "udp" }, + { "marcam-lm", { NULL }, 1444, "tcp" }, + { "marcam-lm", { NULL }, 1444, "udp" }, + { "proxima-lm", { NULL }, 1445, "tcp" }, + { "proxima-lm", { NULL }, 1445, "udp" }, + { "ora-lm", { NULL }, 1446, "tcp" }, + { "ora-lm", { NULL }, 1446, "udp" }, + { "apri-lm", { NULL }, 1447, "tcp" }, + { "apri-lm", { NULL }, 1447, "udp" }, + { "oc-lm", { NULL }, 1448, "tcp" }, + { "oc-lm", { NULL }, 1448, "udp" }, + { "peport", { NULL }, 1449, "tcp" }, + { "peport", { NULL }, 1449, "udp" }, + { "dwf", { NULL }, 1450, "tcp" }, + { "dwf", { NULL }, 1450, "udp" }, + { "infoman", { NULL }, 1451, "tcp" }, + { "infoman", { NULL }, 1451, "udp" }, + { "gtegsc-lm", { NULL }, 1452, "tcp" }, + { "gtegsc-lm", { NULL }, 1452, "udp" }, + { "genie-lm", { NULL }, 1453, "tcp" }, + { "genie-lm", { NULL }, 1453, "udp" }, + { "interhdl_elmd", { NULL }, 1454, "tcp" }, + { "interhdl_elmd", { NULL }, 1454, "udp" }, + { "esl-lm", { NULL }, 1455, "tcp" }, + { "esl-lm", { NULL }, 1455, "udp" }, + { "dca", { NULL }, 1456, "tcp" }, + { "dca", { NULL }, 1456, "udp" }, + { "valisys-lm", { NULL }, 1457, "tcp" }, + { "valisys-lm", { NULL }, 1457, "udp" }, + { "nrcabq-lm", { NULL }, 1458, "tcp" }, + { "nrcabq-lm", { NULL }, 1458, "udp" }, + { "proshare1", { NULL }, 1459, "tcp" }, + { "proshare1", { NULL }, 1459, "udp" }, + { "proshare2", { NULL }, 1460, "tcp" }, + { "proshare2", { NULL }, 1460, "udp" }, + { "ibm_wrless_lan", { NULL }, 1461, "tcp" }, + { "ibm_wrless_lan", { NULL }, 1461, "udp" }, + { "world-lm", { NULL }, 1462, "tcp" }, + { "world-lm", { NULL }, 1462, "udp" }, + { "nucleus", { NULL }, 1463, "tcp" }, + { "nucleus", { NULL }, 1463, "udp" }, + { "msl_lmd", { NULL }, 1464, "tcp" }, + { "msl_lmd", { NULL }, 1464, "udp" }, + { "pipes", { NULL }, 1465, "tcp" }, + { "pipes", { NULL }, 1465, "udp" }, + { "oceansoft-lm", { NULL }, 1466, "tcp" }, + { "oceansoft-lm", { NULL }, 1466, "udp" }, + { "csdmbase", { NULL }, 1467, "tcp" }, + { "csdmbase", { NULL }, 1467, "udp" }, + { "csdm", { NULL }, 1468, "tcp" }, + { "csdm", { NULL }, 1468, "udp" }, + { "aal-lm", { NULL }, 1469, "tcp" }, + { "aal-lm", { NULL }, 1469, "udp" }, + { "uaiact", { NULL }, 1470, "tcp" }, + { "uaiact", { NULL }, 1470, "udp" }, + { "csdmbase", { NULL }, 1471, "tcp" }, + { "csdmbase", { NULL }, 1471, "udp" }, + { "csdm", { NULL }, 1472, "tcp" }, + { "csdm", { NULL }, 1472, "udp" }, + { "openmath", { NULL }, 1473, "tcp" }, + { "openmath", { NULL }, 1473, "udp" }, + { "telefinder", { NULL }, 1474, "tcp" }, + { "telefinder", { NULL }, 1474, "udp" }, + { "taligent-lm", { NULL }, 1475, "tcp" }, + { "taligent-lm", { NULL }, 1475, "udp" }, + { "clvm-cfg", { NULL }, 1476, "tcp" }, + { "clvm-cfg", { NULL }, 1476, "udp" }, + { "ms-sna-server", { NULL }, 1477, "tcp" }, + { "ms-sna-server", { NULL }, 1477, "udp" }, + { "ms-sna-base", { NULL }, 1478, "tcp" }, + { "ms-sna-base", { NULL }, 1478, "udp" }, + { "dberegister", { NULL }, 1479, "tcp" }, + { "dberegister", { NULL }, 1479, "udp" }, + { "pacerforum", { NULL }, 1480, "tcp" }, + { "pacerforum", { NULL }, 1480, "udp" }, + { "airs", { NULL }, 1481, "tcp" }, + { "airs", { NULL }, 1481, "udp" }, + { "miteksys-lm", { NULL }, 1482, "tcp" }, + { "miteksys-lm", { NULL }, 1482, "udp" }, + { "afs", { NULL }, 1483, "tcp" }, + { "afs", { NULL }, 1483, "udp" }, + { "confluent", { NULL }, 1484, "tcp" }, + { "confluent", { NULL }, 1484, "udp" }, + { "lansource", { NULL }, 1485, "tcp" }, + { "lansource", { NULL }, 1485, "udp" }, + { "nms_topo_serv", { NULL }, 1486, "tcp" }, + { "nms_topo_serv", { NULL }, 1486, "udp" }, + { "localinfosrvr", { NULL }, 1487, "tcp" }, + { "localinfosrvr", { NULL }, 1487, "udp" }, + { "docstor", { NULL }, 1488, "tcp" }, + { "docstor", { NULL }, 1488, "udp" }, + { "dmdocbroker", { NULL }, 1489, "tcp" }, + { "dmdocbroker", { NULL }, 1489, "udp" }, + { "insitu-conf", { NULL }, 1490, "tcp" }, + { "insitu-conf", { NULL }, 1490, "udp" }, + { "stone-design-1", { NULL }, 1492, "tcp" }, + { "stone-design-1", { NULL }, 1492, "udp" }, + { "netmap_lm", { NULL }, 1493, "tcp" }, + { "netmap_lm", { NULL }, 1493, "udp" }, + { "ica", { NULL }, 1494, "tcp" }, + { "ica", { NULL }, 1494, "udp" }, + { "cvc", { NULL }, 1495, "tcp" }, + { "cvc", { NULL }, 1495, "udp" }, + { "liberty-lm", { NULL }, 1496, "tcp" }, + { "liberty-lm", { NULL }, 1496, "udp" }, + { "rfx-lm", { NULL }, 1497, "tcp" }, + { "rfx-lm", { NULL }, 1497, "udp" }, + { "sybase-sqlany", { NULL }, 1498, "tcp" }, + { "sybase-sqlany", { NULL }, 1498, "udp" }, + { "fhc", { NULL }, 1499, "tcp" }, + { "fhc", { NULL }, 1499, "udp" }, + { "vlsi-lm", { NULL }, 1500, "tcp" }, + { "vlsi-lm", { NULL }, 1500, "udp" }, + { "saiscm", { NULL }, 1501, "tcp" }, + { "saiscm", { NULL }, 1501, "udp" }, + { "shivadiscovery", { NULL }, 1502, "tcp" }, + { "shivadiscovery", { NULL }, 1502, "udp" }, + { "imtc-mcs", { NULL }, 1503, "tcp" }, + { "imtc-mcs", { NULL }, 1503, "udp" }, + { "evb-elm", { NULL }, 1504, "tcp" }, + { "evb-elm", { NULL }, 1504, "udp" }, + { "funkproxy", { NULL }, 1505, "tcp" }, + { "funkproxy", { NULL }, 1505, "udp" }, + { "utcd", { NULL }, 1506, "tcp" }, + { "utcd", { NULL }, 1506, "udp" }, + { "symplex", { NULL }, 1507, "tcp" }, + { "symplex", { NULL }, 1507, "udp" }, + { "diagmond", { NULL }, 1508, "tcp" }, + { "diagmond", { NULL }, 1508, "udp" }, + { "robcad-lm", { NULL }, 1509, "tcp" }, + { "robcad-lm", { NULL }, 1509, "udp" }, + { "mvx-lm", { NULL }, 1510, "tcp" }, + { "mvx-lm", { NULL }, 1510, "udp" }, + { "3l-l1", { NULL }, 1511, "tcp" }, + { "3l-l1", { NULL }, 1511, "udp" }, + { "wins", { NULL }, 1512, "tcp" }, + { "wins", { NULL }, 1512, "udp" }, + { "fujitsu-dtc", { NULL }, 1513, "tcp" }, + { "fujitsu-dtc", { NULL }, 1513, "udp" }, + { "fujitsu-dtcns", { NULL }, 1514, "tcp" }, + { "fujitsu-dtcns", { NULL }, 1514, "udp" }, + { "ifor-protocol", { NULL }, 1515, "tcp" }, + { "ifor-protocol", { NULL }, 1515, "udp" }, + { "vpad", { NULL }, 1516, "tcp" }, + { "vpad", { NULL }, 1516, "udp" }, + { "vpac", { NULL }, 1517, "tcp" }, + { "vpac", { NULL }, 1517, "udp" }, + { "vpvd", { NULL }, 1518, "tcp" }, + { "vpvd", { NULL }, 1518, "udp" }, + { "vpvc", { NULL }, 1519, "tcp" }, + { "vpvc", { NULL }, 1519, "udp" }, + { "atm-zip-office", { NULL }, 1520, "tcp" }, + { "atm-zip-office", { NULL }, 1520, "udp" }, + { "ncube-lm", { NULL }, 1521, "tcp" }, + { "ncube-lm", { NULL }, 1521, "udp" }, + { "ricardo-lm", { NULL }, 1522, "tcp" }, + { "ricardo-lm", { NULL }, 1522, "udp" }, + { "cichild-lm", { NULL }, 1523, "tcp" }, + { "cichild-lm", { NULL }, 1523, "udp" }, + { "ingreslock", { NULL }, 1524, "tcp" }, + { "ingreslock", { NULL }, 1524, "udp" }, + { "orasrv", { NULL }, 1525, "tcp" }, + { "orasrv", { NULL }, 1525, "udp" }, + { "prospero-np", { NULL }, 1525, "tcp" }, + { "prospero-np", { NULL }, 1525, "udp" }, + { "pdap-np", { NULL }, 1526, "tcp" }, + { "pdap-np", { NULL }, 1526, "udp" }, + { "tlisrv", { NULL }, 1527, "tcp" }, + { "tlisrv", { NULL }, 1527, "udp" }, + { "coauthor", { NULL }, 1529, "tcp" }, + { "coauthor", { NULL }, 1529, "udp" }, + { "rap-service", { NULL }, 1530, "tcp" }, + { "rap-service", { NULL }, 1530, "udp" }, + { "rap-listen", { NULL }, 1531, "tcp" }, + { "rap-listen", { NULL }, 1531, "udp" }, + { "miroconnect", { NULL }, 1532, "tcp" }, + { "miroconnect", { NULL }, 1532, "udp" }, + { "virtual-places", { NULL }, 1533, "tcp" }, + { "virtual-places", { NULL }, 1533, "udp" }, + { "micromuse-lm", { NULL }, 1534, "tcp" }, + { "micromuse-lm", { NULL }, 1534, "udp" }, + { "ampr-info", { NULL }, 1535, "tcp" }, + { "ampr-info", { NULL }, 1535, "udp" }, + { "ampr-inter", { NULL }, 1536, "tcp" }, + { "ampr-inter", { NULL }, 1536, "udp" }, + { "sdsc-lm", { NULL }, 1537, "tcp" }, + { "sdsc-lm", { NULL }, 1537, "udp" }, + { "3ds-lm", { NULL }, 1538, "tcp" }, + { "3ds-lm", { NULL }, 1538, "udp" }, + { "intellistor-lm", { NULL }, 1539, "tcp" }, + { "intellistor-lm", { NULL }, 1539, "udp" }, + { "rds", { NULL }, 1540, "tcp" }, + { "rds", { NULL }, 1540, "udp" }, + { "rds2", { NULL }, 1541, "tcp" }, + { "rds2", { NULL }, 1541, "udp" }, + { "gridgen-elmd", { NULL }, 1542, "tcp" }, + { "gridgen-elmd", { NULL }, 1542, "udp" }, + { "simba-cs", { NULL }, 1543, "tcp" }, + { "simba-cs", { NULL }, 1543, "udp" }, + { "aspeclmd", { NULL }, 1544, "tcp" }, + { "aspeclmd", { NULL }, 1544, "udp" }, + { "vistium-share", { NULL }, 1545, "tcp" }, + { "vistium-share", { NULL }, 1545, "udp" }, + { "abbaccuray", { NULL }, 1546, "tcp" }, + { "abbaccuray", { NULL }, 1546, "udp" }, + { "laplink", { NULL }, 1547, "tcp" }, + { "laplink", { NULL }, 1547, "udp" }, + { "axon-lm", { NULL }, 1548, "tcp" }, + { "axon-lm", { NULL }, 1548, "udp" }, + { "shivahose", { NULL }, 1549, "tcp" }, + { "shivasound", { NULL }, 1549, "udp" }, + { "3m-image-lm", { NULL }, 1550, "tcp" }, + { "3m-image-lm", { NULL }, 1550, "udp" }, + { "hecmtl-db", { NULL }, 1551, "tcp" }, + { "hecmtl-db", { NULL }, 1551, "udp" }, + { "pciarray", { NULL }, 1552, "tcp" }, + { "pciarray", { NULL }, 1552, "udp" }, + { "sna-cs", { NULL }, 1553, "tcp" }, + { "sna-cs", { NULL }, 1553, "udp" }, + { "caci-lm", { NULL }, 1554, "tcp" }, + { "caci-lm", { NULL }, 1554, "udp" }, + { "livelan", { NULL }, 1555, "tcp" }, + { "livelan", { NULL }, 1555, "udp" }, + { "veritas_pbx", { NULL }, 1556, "tcp" }, + { "veritas_pbx", { NULL }, 1556, "udp" }, + { "arbortext-lm", { NULL }, 1557, "tcp" }, + { "arbortext-lm", { NULL }, 1557, "udp" }, + { "xingmpeg", { NULL }, 1558, "tcp" }, + { "xingmpeg", { NULL }, 1558, "udp" }, + { "web2host", { NULL }, 1559, "tcp" }, + { "web2host", { NULL }, 1559, "udp" }, + { "asci-val", { NULL }, 1560, "tcp" }, + { "asci-val", { NULL }, 1560, "udp" }, + { "facilityview", { NULL }, 1561, "tcp" }, + { "facilityview", { NULL }, 1561, "udp" }, + { "pconnectmgr", { NULL }, 1562, "tcp" }, + { "pconnectmgr", { NULL }, 1562, "udp" }, + { "cadabra-lm", { NULL }, 1563, "tcp" }, + { "cadabra-lm", { NULL }, 1563, "udp" }, + { "pay-per-view", { NULL }, 1564, "tcp" }, + { "pay-per-view", { NULL }, 1564, "udp" }, + { "winddlb", { NULL }, 1565, "tcp" }, + { "winddlb", { NULL }, 1565, "udp" }, + { "corelvideo", { NULL }, 1566, "tcp" }, + { "corelvideo", { NULL }, 1566, "udp" }, + { "jlicelmd", { NULL }, 1567, "tcp" }, + { "jlicelmd", { NULL }, 1567, "udp" }, + { "tsspmap", { NULL }, 1568, "tcp" }, + { "tsspmap", { NULL }, 1568, "udp" }, + { "ets", { NULL }, 1569, "tcp" }, + { "ets", { NULL }, 1569, "udp" }, + { "orbixd", { NULL }, 1570, "tcp" }, + { "orbixd", { NULL }, 1570, "udp" }, + { "rdb-dbs-disp", { NULL }, 1571, "tcp" }, + { "rdb-dbs-disp", { NULL }, 1571, "udp" }, + { "chip-lm", { NULL }, 1572, "tcp" }, + { "chip-lm", { NULL }, 1572, "udp" }, + { "itscomm-ns", { NULL }, 1573, "tcp" }, + { "itscomm-ns", { NULL }, 1573, "udp" }, + { "mvel-lm", { NULL }, 1574, "tcp" }, + { "mvel-lm", { NULL }, 1574, "udp" }, + { "oraclenames", { NULL }, 1575, "tcp" }, + { "oraclenames", { NULL }, 1575, "udp" }, + { "moldflow-lm", { NULL }, 1576, "tcp" }, + { "moldflow-lm", { NULL }, 1576, "udp" }, + { "hypercube-lm", { NULL }, 1577, "tcp" }, + { "hypercube-lm", { NULL }, 1577, "udp" }, + { "jacobus-lm", { NULL }, 1578, "tcp" }, + { "jacobus-lm", { NULL }, 1578, "udp" }, + { "ioc-sea-lm", { NULL }, 1579, "tcp" }, + { "ioc-sea-lm", { NULL }, 1579, "udp" }, + { "tn-tl-r1", { NULL }, 1580, "tcp" }, + { "tn-tl-r2", { NULL }, 1580, "udp" }, + { "mil-2045-47001", { NULL }, 1581, "tcp" }, + { "mil-2045-47001", { NULL }, 1581, "udp" }, + { "msims", { NULL }, 1582, "tcp" }, + { "msims", { NULL }, 1582, "udp" }, + { "simbaexpress", { NULL }, 1583, "tcp" }, + { "simbaexpress", { NULL }, 1583, "udp" }, + { "tn-tl-fd2", { NULL }, 1584, "tcp" }, + { "tn-tl-fd2", { NULL }, 1584, "udp" }, + { "intv", { NULL }, 1585, "tcp" }, + { "intv", { NULL }, 1585, "udp" }, + { "ibm-abtact", { NULL }, 1586, "tcp" }, + { "ibm-abtact", { NULL }, 1586, "udp" }, + { "pra_elmd", { NULL }, 1587, "tcp" }, + { "pra_elmd", { NULL }, 1587, "udp" }, + { "triquest-lm", { NULL }, 1588, "tcp" }, + { "triquest-lm", { NULL }, 1588, "udp" }, + { "vqp", { NULL }, 1589, "tcp" }, + { "vqp", { NULL }, 1589, "udp" }, + { "gemini-lm", { NULL }, 1590, "tcp" }, + { "gemini-lm", { NULL }, 1590, "udp" }, + { "ncpm-pm", { NULL }, 1591, "tcp" }, + { "ncpm-pm", { NULL }, 1591, "udp" }, + { "commonspace", { NULL }, 1592, "tcp" }, + { "commonspace", { NULL }, 1592, "udp" }, + { "mainsoft-lm", { NULL }, 1593, "tcp" }, + { "mainsoft-lm", { NULL }, 1593, "udp" }, + { "sixtrak", { NULL }, 1594, "tcp" }, + { "sixtrak", { NULL }, 1594, "udp" }, + { "radio", { NULL }, 1595, "tcp" }, + { "radio", { NULL }, 1595, "udp" }, + { "radio-sm", { NULL }, 1596, "tcp" }, + { "radio-bc", { NULL }, 1596, "udp" }, + { "orbplus-iiop", { NULL }, 1597, "tcp" }, + { "orbplus-iiop", { NULL }, 1597, "udp" }, + { "picknfs", { NULL }, 1598, "tcp" }, + { "picknfs", { NULL }, 1598, "udp" }, + { "simbaservices", { NULL }, 1599, "tcp" }, + { "simbaservices", { NULL }, 1599, "udp" }, + { "issd", { NULL }, 1600, "tcp" }, + { "issd", { NULL }, 1600, "udp" }, + { "aas", { NULL }, 1601, "tcp" }, + { "aas", { NULL }, 1601, "udp" }, + { "inspect", { NULL }, 1602, "tcp" }, + { "inspect", { NULL }, 1602, "udp" }, + { "picodbc", { NULL }, 1603, "tcp" }, + { "picodbc", { NULL }, 1603, "udp" }, + { "icabrowser", { NULL }, 1604, "tcp" }, + { "icabrowser", { NULL }, 1604, "udp" }, + { "slp", { NULL }, 1605, "tcp" }, + { "slp", { NULL }, 1605, "udp" }, + { "slm-api", { NULL }, 1606, "tcp" }, + { "slm-api", { NULL }, 1606, "udp" }, + { "stt", { NULL }, 1607, "tcp" }, + { "stt", { NULL }, 1607, "udp" }, + { "smart-lm", { NULL }, 1608, "tcp" }, + { "smart-lm", { NULL }, 1608, "udp" }, + { "isysg-lm", { NULL }, 1609, "tcp" }, + { "isysg-lm", { NULL }, 1609, "udp" }, + { "taurus-wh", { NULL }, 1610, "tcp" }, + { "taurus-wh", { NULL }, 1610, "udp" }, + { "ill", { NULL }, 1611, "tcp" }, + { "ill", { NULL }, 1611, "udp" }, + { "netbill-trans", { NULL }, 1612, "tcp" }, + { "netbill-trans", { NULL }, 1612, "udp" }, + { "netbill-keyrep", { NULL }, 1613, "tcp" }, + { "netbill-keyrep", { NULL }, 1613, "udp" }, + { "netbill-cred", { NULL }, 1614, "tcp" }, + { "netbill-cred", { NULL }, 1614, "udp" }, + { "netbill-auth", { NULL }, 1615, "tcp" }, + { "netbill-auth", { NULL }, 1615, "udp" }, + { "netbill-prod", { NULL }, 1616, "tcp" }, + { "netbill-prod", { NULL }, 1616, "udp" }, + { "nimrod-agent", { NULL }, 1617, "tcp" }, + { "nimrod-agent", { NULL }, 1617, "udp" }, + { "skytelnet", { NULL }, 1618, "tcp" }, + { "skytelnet", { NULL }, 1618, "udp" }, + { "xs-openstorage", { NULL }, 1619, "tcp" }, + { "xs-openstorage", { NULL }, 1619, "udp" }, + { "faxportwinport", { NULL }, 1620, "tcp" }, + { "faxportwinport", { NULL }, 1620, "udp" }, + { "softdataphone", { NULL }, 1621, "tcp" }, + { "softdataphone", { NULL }, 1621, "udp" }, + { "ontime", { NULL }, 1622, "tcp" }, + { "ontime", { NULL }, 1622, "udp" }, + { "jaleosnd", { NULL }, 1623, "tcp" }, + { "jaleosnd", { NULL }, 1623, "udp" }, + { "udp-sr-port", { NULL }, 1624, "tcp" }, + { "udp-sr-port", { NULL }, 1624, "udp" }, + { "svs-omagent", { NULL }, 1625, "tcp" }, + { "svs-omagent", { NULL }, 1625, "udp" }, + { "shockwave", { NULL }, 1626, "tcp" }, + { "shockwave", { NULL }, 1626, "udp" }, + { "t128-gateway", { NULL }, 1627, "tcp" }, + { "t128-gateway", { NULL }, 1627, "udp" }, + { "lontalk-norm", { NULL }, 1628, "tcp" }, + { "lontalk-norm", { NULL }, 1628, "udp" }, + { "lontalk-urgnt", { NULL }, 1629, "tcp" }, + { "lontalk-urgnt", { NULL }, 1629, "udp" }, + { "oraclenet8cman", { NULL }, 1630, "tcp" }, + { "oraclenet8cman", { NULL }, 1630, "udp" }, + { "visitview", { NULL }, 1631, "tcp" }, + { "visitview", { NULL }, 1631, "udp" }, + { "pammratc", { NULL }, 1632, "tcp" }, + { "pammratc", { NULL }, 1632, "udp" }, + { "pammrpc", { NULL }, 1633, "tcp" }, + { "pammrpc", { NULL }, 1633, "udp" }, + { "loaprobe", { NULL }, 1634, "tcp" }, + { "loaprobe", { NULL }, 1634, "udp" }, + { "edb-server1", { NULL }, 1635, "tcp" }, + { "edb-server1", { NULL }, 1635, "udp" }, + { "isdc", { NULL }, 1636, "tcp" }, + { "isdc", { NULL }, 1636, "udp" }, + { "islc", { NULL }, 1637, "tcp" }, + { "islc", { NULL }, 1637, "udp" }, + { "ismc", { NULL }, 1638, "tcp" }, + { "ismc", { NULL }, 1638, "udp" }, + { "cert-initiator", { NULL }, 1639, "tcp" }, + { "cert-initiator", { NULL }, 1639, "udp" }, + { "cert-responder", { NULL }, 1640, "tcp" }, + { "cert-responder", { NULL }, 1640, "udp" }, + { "invision", { NULL }, 1641, "tcp" }, + { "invision", { NULL }, 1641, "udp" }, + { "isis-am", { NULL }, 1642, "tcp" }, + { "isis-am", { NULL }, 1642, "udp" }, + { "isis-ambc", { NULL }, 1643, "tcp" }, + { "isis-ambc", { NULL }, 1643, "udp" }, + { "saiseh", { NULL }, 1644, "tcp" }, + { "sightline", { NULL }, 1645, "tcp" }, + { "sightline", { NULL }, 1645, "udp" }, + { "sa-msg-port", { NULL }, 1646, "tcp" }, + { "sa-msg-port", { NULL }, 1646, "udp" }, + { "rsap", { NULL }, 1647, "tcp" }, + { "rsap", { NULL }, 1647, "udp" }, + { "concurrent-lm", { NULL }, 1648, "tcp" }, + { "concurrent-lm", { NULL }, 1648, "udp" }, + { "kermit", { NULL }, 1649, "tcp" }, + { "kermit", { NULL }, 1649, "udp" }, + { "nkd", { NULL }, 1650, "tcp" }, + { "nkd", { NULL }, 1650, "udp" }, + { "shiva_confsrvr", { NULL }, 1651, "tcp" }, + { "shiva_confsrvr", { NULL }, 1651, "udp" }, + { "xnmp", { NULL }, 1652, "tcp" }, + { "xnmp", { NULL }, 1652, "udp" }, + { "alphatech-lm", { NULL }, 1653, "tcp" }, + { "alphatech-lm", { NULL }, 1653, "udp" }, + { "stargatealerts", { NULL }, 1654, "tcp" }, + { "stargatealerts", { NULL }, 1654, "udp" }, + { "dec-mbadmin", { NULL }, 1655, "tcp" }, + { "dec-mbadmin", { NULL }, 1655, "udp" }, + { "dec-mbadmin-h", { NULL }, 1656, "tcp" }, + { "dec-mbadmin-h", { NULL }, 1656, "udp" }, + { "fujitsu-mmpdc", { NULL }, 1657, "tcp" }, + { "fujitsu-mmpdc", { NULL }, 1657, "udp" }, + { "sixnetudr", { NULL }, 1658, "tcp" }, + { "sixnetudr", { NULL }, 1658, "udp" }, + { "sg-lm", { NULL }, 1659, "tcp" }, + { "sg-lm", { NULL }, 1659, "udp" }, + { "skip-mc-gikreq", { NULL }, 1660, "tcp" }, + { "skip-mc-gikreq", { NULL }, 1660, "udp" }, + { "netview-aix-1", { NULL }, 1661, "tcp" }, + { "netview-aix-1", { NULL }, 1661, "udp" }, + { "netview-aix-2", { NULL }, 1662, "tcp" }, + { "netview-aix-2", { NULL }, 1662, "udp" }, + { "netview-aix-3", { NULL }, 1663, "tcp" }, + { "netview-aix-3", { NULL }, 1663, "udp" }, + { "netview-aix-4", { NULL }, 1664, "tcp" }, + { "netview-aix-4", { NULL }, 1664, "udp" }, + { "netview-aix-5", { NULL }, 1665, "tcp" }, + { "netview-aix-5", { NULL }, 1665, "udp" }, + { "netview-aix-6", { NULL }, 1666, "tcp" }, + { "netview-aix-6", { NULL }, 1666, "udp" }, + { "netview-aix-7", { NULL }, 1667, "tcp" }, + { "netview-aix-7", { NULL }, 1667, "udp" }, + { "netview-aix-8", { NULL }, 1668, "tcp" }, + { "netview-aix-8", { NULL }, 1668, "udp" }, + { "netview-aix-9", { NULL }, 1669, "tcp" }, + { "netview-aix-9", { NULL }, 1669, "udp" }, + { "netview-aix-10", { NULL }, 1670, "tcp" }, + { "netview-aix-10", { NULL }, 1670, "udp" }, + { "netview-aix-11", { NULL }, 1671, "tcp" }, + { "netview-aix-11", { NULL }, 1671, "udp" }, + { "netview-aix-12", { NULL }, 1672, "tcp" }, + { "netview-aix-12", { NULL }, 1672, "udp" }, + { "proshare-mc-1", { NULL }, 1673, "tcp" }, + { "proshare-mc-1", { NULL }, 1673, "udp" }, + { "proshare-mc-2", { NULL }, 1674, "tcp" }, + { "proshare-mc-2", { NULL }, 1674, "udp" }, + { "pdp", { NULL }, 1675, "tcp" }, + { "pdp", { NULL }, 1675, "udp" }, + { "netcomm1", { NULL }, 1676, "tcp" }, + { "netcomm2", { NULL }, 1676, "udp" }, + { "groupwise", { NULL }, 1677, "tcp" }, + { "groupwise", { NULL }, 1677, "udp" }, + { "prolink", { NULL }, 1678, "tcp" }, + { "prolink", { NULL }, 1678, "udp" }, + { "darcorp-lm", { NULL }, 1679, "tcp" }, + { "darcorp-lm", { NULL }, 1679, "udp" }, + { "microcom-sbp", { NULL }, 1680, "tcp" }, + { "microcom-sbp", { NULL }, 1680, "udp" }, + { "sd-elmd", { NULL }, 1681, "tcp" }, + { "sd-elmd", { NULL }, 1681, "udp" }, + { "lanyon-lantern", { NULL }, 1682, "tcp" }, + { "lanyon-lantern", { NULL }, 1682, "udp" }, + { "ncpm-hip", { NULL }, 1683, "tcp" }, + { "ncpm-hip", { NULL }, 1683, "udp" }, + { "snaresecure", { NULL }, 1684, "tcp" }, + { "snaresecure", { NULL }, 1684, "udp" }, + { "n2nremote", { NULL }, 1685, "tcp" }, + { "n2nremote", { NULL }, 1685, "udp" }, + { "cvmon", { NULL }, 1686, "tcp" }, + { "cvmon", { NULL }, 1686, "udp" }, + { "nsjtp-ctrl", { NULL }, 1687, "tcp" }, + { "nsjtp-ctrl", { NULL }, 1687, "udp" }, + { "nsjtp-data", { NULL }, 1688, "tcp" }, + { "nsjtp-data", { NULL }, 1688, "udp" }, + { "firefox", { NULL }, 1689, "tcp" }, + { "firefox", { NULL }, 1689, "udp" }, + { "ng-umds", { NULL }, 1690, "tcp" }, + { "ng-umds", { NULL }, 1690, "udp" }, + { "empire-empuma", { NULL }, 1691, "tcp" }, + { "empire-empuma", { NULL }, 1691, "udp" }, + { "sstsys-lm", { NULL }, 1692, "tcp" }, + { "sstsys-lm", { NULL }, 1692, "udp" }, + { "rrirtr", { NULL }, 1693, "tcp" }, + { "rrirtr", { NULL }, 1693, "udp" }, + { "rrimwm", { NULL }, 1694, "tcp" }, + { "rrimwm", { NULL }, 1694, "udp" }, + { "rrilwm", { NULL }, 1695, "tcp" }, + { "rrilwm", { NULL }, 1695, "udp" }, + { "rrifmm", { NULL }, 1696, "tcp" }, + { "rrifmm", { NULL }, 1696, "udp" }, + { "rrisat", { NULL }, 1697, "tcp" }, + { "rrisat", { NULL }, 1697, "udp" }, + { "rsvp-encap-1", { NULL }, 1698, "tcp" }, + { "rsvp-encap-1", { NULL }, 1698, "udp" }, + { "rsvp-encap-2", { NULL }, 1699, "tcp" }, + { "rsvp-encap-2", { NULL }, 1699, "udp" }, + { "mps-raft", { NULL }, 1700, "tcp" }, + { "mps-raft", { NULL }, 1700, "udp" }, + { "l2f", { NULL }, 1701, "tcp" }, + { "l2f", { NULL }, 1701, "udp" }, + { "l2tp", { NULL }, 1701, "tcp" }, + { "l2tp", { NULL }, 1701, "udp" }, + { "deskshare", { NULL }, 1702, "tcp" }, + { "deskshare", { NULL }, 1702, "udp" }, + { "hb-engine", { NULL }, 1703, "tcp" }, + { "hb-engine", { NULL }, 1703, "udp" }, + { "bcs-broker", { NULL }, 1704, "tcp" }, + { "bcs-broker", { NULL }, 1704, "udp" }, + { "slingshot", { NULL }, 1705, "tcp" }, + { "slingshot", { NULL }, 1705, "udp" }, + { "jetform", { NULL }, 1706, "tcp" }, + { "jetform", { NULL }, 1706, "udp" }, + { "vdmplay", { NULL }, 1707, "tcp" }, + { "vdmplay", { NULL }, 1707, "udp" }, + { "gat-lmd", { NULL }, 1708, "tcp" }, + { "gat-lmd", { NULL }, 1708, "udp" }, + { "centra", { NULL }, 1709, "tcp" }, + { "centra", { NULL }, 1709, "udp" }, + { "impera", { NULL }, 1710, "tcp" }, + { "impera", { NULL }, 1710, "udp" }, + { "pptconference", { NULL }, 1711, "tcp" }, + { "pptconference", { NULL }, 1711, "udp" }, + { "registrar", { NULL }, 1712, "tcp" }, + { "registrar", { NULL }, 1712, "udp" }, + { "conferencetalk", { NULL }, 1713, "tcp" }, + { "conferencetalk", { NULL }, 1713, "udp" }, + { "sesi-lm", { NULL }, 1714, "tcp" }, + { "sesi-lm", { NULL }, 1714, "udp" }, + { "houdini-lm", { NULL }, 1715, "tcp" }, + { "houdini-lm", { NULL }, 1715, "udp" }, + { "xmsg", { NULL }, 1716, "tcp" }, + { "xmsg", { NULL }, 1716, "udp" }, + { "fj-hdnet", { NULL }, 1717, "tcp" }, + { "fj-hdnet", { NULL }, 1717, "udp" }, + { "h323gatedisc", { NULL }, 1718, "tcp" }, + { "h323gatedisc", { NULL }, 1718, "udp" }, + { "h323gatestat", { NULL }, 1719, "tcp" }, + { "h323gatestat", { NULL }, 1719, "udp" }, + { "h323hostcall", { NULL }, 1720, "tcp" }, + { "h323hostcall", { NULL }, 1720, "udp" }, + { "caicci", { NULL }, 1721, "tcp" }, + { "caicci", { NULL }, 1721, "udp" }, + { "hks-lm", { NULL }, 1722, "tcp" }, + { "hks-lm", { NULL }, 1722, "udp" }, + { "pptp", { NULL }, 1723, "tcp" }, + { "pptp", { NULL }, 1723, "udp" }, + { "csbphonemaster", { NULL }, 1724, "tcp" }, + { "csbphonemaster", { NULL }, 1724, "udp" }, + { "iden-ralp", { NULL }, 1725, "tcp" }, + { "iden-ralp", { NULL }, 1725, "udp" }, + { "iberiagames", { NULL }, 1726, "tcp" }, + { "iberiagames", { NULL }, 1726, "udp" }, + { "winddx", { NULL }, 1727, "tcp" }, + { "winddx", { NULL }, 1727, "udp" }, + { "telindus", { NULL }, 1728, "tcp" }, + { "telindus", { NULL }, 1728, "udp" }, + { "citynl", { NULL }, 1729, "tcp" }, + { "citynl", { NULL }, 1729, "udp" }, + { "roketz", { NULL }, 1730, "tcp" }, + { "roketz", { NULL }, 1730, "udp" }, + { "msiccp", { NULL }, 1731, "tcp" }, + { "msiccp", { NULL }, 1731, "udp" }, + { "proxim", { NULL }, 1732, "tcp" }, + { "proxim", { NULL }, 1732, "udp" }, + { "siipat", { NULL }, 1733, "tcp" }, + { "siipat", { NULL }, 1733, "udp" }, + { "cambertx-lm", { NULL }, 1734, "tcp" }, + { "cambertx-lm", { NULL }, 1734, "udp" }, + { "privatechat", { NULL }, 1735, "tcp" }, + { "privatechat", { NULL }, 1735, "udp" }, + { "street-stream", { NULL }, 1736, "tcp" }, + { "street-stream", { NULL }, 1736, "udp" }, + { "ultimad", { NULL }, 1737, "tcp" }, + { "ultimad", { NULL }, 1737, "udp" }, + { "gamegen1", { NULL }, 1738, "tcp" }, + { "gamegen1", { NULL }, 1738, "udp" }, + { "webaccess", { NULL }, 1739, "tcp" }, + { "webaccess", { NULL }, 1739, "udp" }, + { "encore", { NULL }, 1740, "tcp" }, + { "encore", { NULL }, 1740, "udp" }, + { "cisco-net-mgmt", { NULL }, 1741, "tcp" }, + { "cisco-net-mgmt", { NULL }, 1741, "udp" }, + { "3Com-nsd", { NULL }, 1742, "tcp" }, + { "3Com-nsd", { NULL }, 1742, "udp" }, + { "cinegrfx-lm", { NULL }, 1743, "tcp" }, + { "cinegrfx-lm", { NULL }, 1743, "udp" }, + { "ncpm-ft", { NULL }, 1744, "tcp" }, + { "ncpm-ft", { NULL }, 1744, "udp" }, + { "remote-winsock", { NULL }, 1745, "tcp" }, + { "remote-winsock", { NULL }, 1745, "udp" }, + { "ftrapid-1", { NULL }, 1746, "tcp" }, + { "ftrapid-1", { NULL }, 1746, "udp" }, + { "ftrapid-2", { NULL }, 1747, "tcp" }, + { "ftrapid-2", { NULL }, 1747, "udp" }, + { "oracle-em1", { NULL }, 1748, "tcp" }, + { "oracle-em1", { NULL }, 1748, "udp" }, + { "aspen-services", { NULL }, 1749, "tcp" }, + { "aspen-services", { NULL }, 1749, "udp" }, + { "sslp", { NULL }, 1750, "tcp" }, + { "sslp", { NULL }, 1750, "udp" }, + { "swiftnet", { NULL }, 1751, "tcp" }, + { "swiftnet", { NULL }, 1751, "udp" }, + { "lofr-lm", { NULL }, 1752, "tcp" }, + { "lofr-lm", { NULL }, 1752, "udp" }, + { "oracle-em2", { NULL }, 1754, "tcp" }, + { "oracle-em2", { NULL }, 1754, "udp" }, + { "ms-streaming", { NULL }, 1755, "tcp" }, + { "ms-streaming", { NULL }, 1755, "udp" }, + { "capfast-lmd", { NULL }, 1756, "tcp" }, + { "capfast-lmd", { NULL }, 1756, "udp" }, + { "cnhrp", { NULL }, 1757, "tcp" }, + { "cnhrp", { NULL }, 1757, "udp" }, + { "tftp-mcast", { NULL }, 1758, "tcp" }, + { "tftp-mcast", { NULL }, 1758, "udp" }, + { "spss-lm", { NULL }, 1759, "tcp" }, + { "spss-lm", { NULL }, 1759, "udp" }, + { "www-ldap-gw", { NULL }, 1760, "tcp" }, + { "www-ldap-gw", { NULL }, 1760, "udp" }, + { "cft-0", { NULL }, 1761, "tcp" }, + { "cft-0", { NULL }, 1761, "udp" }, + { "cft-1", { NULL }, 1762, "tcp" }, + { "cft-1", { NULL }, 1762, "udp" }, + { "cft-2", { NULL }, 1763, "tcp" }, + { "cft-2", { NULL }, 1763, "udp" }, + { "cft-3", { NULL }, 1764, "tcp" }, + { "cft-3", { NULL }, 1764, "udp" }, + { "cft-4", { NULL }, 1765, "tcp" }, + { "cft-4", { NULL }, 1765, "udp" }, + { "cft-5", { NULL }, 1766, "tcp" }, + { "cft-5", { NULL }, 1766, "udp" }, + { "cft-6", { NULL }, 1767, "tcp" }, + { "cft-6", { NULL }, 1767, "udp" }, + { "cft-7", { NULL }, 1768, "tcp" }, + { "cft-7", { NULL }, 1768, "udp" }, + { "bmc-net-adm", { NULL }, 1769, "tcp" }, + { "bmc-net-adm", { NULL }, 1769, "udp" }, + { "bmc-net-svc", { NULL }, 1770, "tcp" }, + { "bmc-net-svc", { NULL }, 1770, "udp" }, + { "vaultbase", { NULL }, 1771, "tcp" }, + { "vaultbase", { NULL }, 1771, "udp" }, + { "essweb-gw", { NULL }, 1772, "tcp" }, + { "essweb-gw", { NULL }, 1772, "udp" }, + { "kmscontrol", { NULL }, 1773, "tcp" }, + { "kmscontrol", { NULL }, 1773, "udp" }, + { "global-dtserv", { NULL }, 1774, "tcp" }, + { "global-dtserv", { NULL }, 1774, "udp" }, + { "femis", { NULL }, 1776, "tcp" }, + { "femis", { NULL }, 1776, "udp" }, + { "powerguardian", { NULL }, 1777, "tcp" }, + { "powerguardian", { NULL }, 1777, "udp" }, + { "prodigy-intrnet", { NULL }, 1778, "tcp" }, + { "prodigy-intrnet", { NULL }, 1778, "udp" }, + { "pharmasoft", { NULL }, 1779, "tcp" }, + { "pharmasoft", { NULL }, 1779, "udp" }, + { "dpkeyserv", { NULL }, 1780, "tcp" }, + { "dpkeyserv", { NULL }, 1780, "udp" }, + { "answersoft-lm", { NULL }, 1781, "tcp" }, + { "answersoft-lm", { NULL }, 1781, "udp" }, + { "hp-hcip", { NULL }, 1782, "tcp" }, + { "hp-hcip", { NULL }, 1782, "udp" }, + { "finle-lm", { NULL }, 1784, "tcp" }, + { "finle-lm", { NULL }, 1784, "udp" }, + { "windlm", { NULL }, 1785, "tcp" }, + { "windlm", { NULL }, 1785, "udp" }, + { "funk-logger", { NULL }, 1786, "tcp" }, + { "funk-logger", { NULL }, 1786, "udp" }, + { "funk-license", { NULL }, 1787, "tcp" }, + { "funk-license", { NULL }, 1787, "udp" }, + { "psmond", { NULL }, 1788, "tcp" }, + { "psmond", { NULL }, 1788, "udp" }, + { "hello", { NULL }, 1789, "tcp" }, + { "hello", { NULL }, 1789, "udp" }, + { "nmsp", { NULL }, 1790, "tcp" }, + { "nmsp", { NULL }, 1790, "udp" }, + { "ea1", { NULL }, 1791, "tcp" }, + { "ea1", { NULL }, 1791, "udp" }, + { "ibm-dt-2", { NULL }, 1792, "tcp" }, + { "ibm-dt-2", { NULL }, 1792, "udp" }, + { "rsc-robot", { NULL }, 1793, "tcp" }, + { "rsc-robot", { NULL }, 1793, "udp" }, + { "cera-bcm", { NULL }, 1794, "tcp" }, + { "cera-bcm", { NULL }, 1794, "udp" }, + { "dpi-proxy", { NULL }, 1795, "tcp" }, + { "dpi-proxy", { NULL }, 1795, "udp" }, + { "vocaltec-admin", { NULL }, 1796, "tcp" }, + { "vocaltec-admin", { NULL }, 1796, "udp" }, + { "uma", { NULL }, 1797, "tcp" }, + { "uma", { NULL }, 1797, "udp" }, + { "etp", { NULL }, 1798, "tcp" }, + { "etp", { NULL }, 1798, "udp" }, + { "netrisk", { NULL }, 1799, "tcp" }, + { "netrisk", { NULL }, 1799, "udp" }, + { "ansys-lm", { NULL }, 1800, "tcp" }, + { "ansys-lm", { NULL }, 1800, "udp" }, + { "msmq", { NULL }, 1801, "tcp" }, + { "msmq", { NULL }, 1801, "udp" }, + { "concomp1", { NULL }, 1802, "tcp" }, + { "concomp1", { NULL }, 1802, "udp" }, + { "hp-hcip-gwy", { NULL }, 1803, "tcp" }, + { "hp-hcip-gwy", { NULL }, 1803, "udp" }, + { "enl", { NULL }, 1804, "tcp" }, + { "enl", { NULL }, 1804, "udp" }, + { "enl-name", { NULL }, 1805, "tcp" }, + { "enl-name", { NULL }, 1805, "udp" }, + { "musiconline", { NULL }, 1806, "tcp" }, + { "musiconline", { NULL }, 1806, "udp" }, + { "fhsp", { NULL }, 1807, "tcp" }, + { "fhsp", { NULL }, 1807, "udp" }, + { "oracle-vp2", { NULL }, 1808, "tcp" }, + { "oracle-vp2", { NULL }, 1808, "udp" }, + { "oracle-vp1", { NULL }, 1809, "tcp" }, + { "oracle-vp1", { NULL }, 1809, "udp" }, + { "jerand-lm", { NULL }, 1810, "tcp" }, + { "jerand-lm", { NULL }, 1810, "udp" }, + { "scientia-sdb", { NULL }, 1811, "tcp" }, + { "scientia-sdb", { NULL }, 1811, "udp" }, + { "radius", { NULL }, 1812, "tcp" }, + { "radius", { NULL }, 1812, "udp" }, + { "radius-acct", { NULL }, 1813, "tcp" }, + { "radius-acct", { NULL }, 1813, "udp" }, + { "tdp-suite", { NULL }, 1814, "tcp" }, + { "tdp-suite", { NULL }, 1814, "udp" }, + { "mmpft", { NULL }, 1815, "tcp" }, + { "mmpft", { NULL }, 1815, "udp" }, + { "harp", { NULL }, 1816, "tcp" }, + { "harp", { NULL }, 1816, "udp" }, + { "rkb-oscs", { NULL }, 1817, "tcp" }, + { "rkb-oscs", { NULL }, 1817, "udp" }, + { "etftp", { NULL }, 1818, "tcp" }, + { "etftp", { NULL }, 1818, "udp" }, + { "plato-lm", { NULL }, 1819, "tcp" }, + { "plato-lm", { NULL }, 1819, "udp" }, + { "mcagent", { NULL }, 1820, "tcp" }, + { "mcagent", { NULL }, 1820, "udp" }, + { "donnyworld", { NULL }, 1821, "tcp" }, + { "donnyworld", { NULL }, 1821, "udp" }, + { "es-elmd", { NULL }, 1822, "tcp" }, + { "es-elmd", { NULL }, 1822, "udp" }, + { "unisys-lm", { NULL }, 1823, "tcp" }, + { "unisys-lm", { NULL }, 1823, "udp" }, + { "metrics-pas", { NULL }, 1824, "tcp" }, + { "metrics-pas", { NULL }, 1824, "udp" }, + { "direcpc-video", { NULL }, 1825, "tcp" }, + { "direcpc-video", { NULL }, 1825, "udp" }, + { "ardt", { NULL }, 1826, "tcp" }, + { "ardt", { NULL }, 1826, "udp" }, + { "asi", { NULL }, 1827, "tcp" }, + { "asi", { NULL }, 1827, "udp" }, + { "itm-mcell-u", { NULL }, 1828, "tcp" }, + { "itm-mcell-u", { NULL }, 1828, "udp" }, + { "optika-emedia", { NULL }, 1829, "tcp" }, + { "optika-emedia", { NULL }, 1829, "udp" }, + { "net8-cman", { NULL }, 1830, "tcp" }, + { "net8-cman", { NULL }, 1830, "udp" }, + { "myrtle", { NULL }, 1831, "tcp" }, + { "myrtle", { NULL }, 1831, "udp" }, + { "tht-treasure", { NULL }, 1832, "tcp" }, + { "tht-treasure", { NULL }, 1832, "udp" }, + { "udpradio", { NULL }, 1833, "tcp" }, + { "udpradio", { NULL }, 1833, "udp" }, + { "ardusuni", { NULL }, 1834, "tcp" }, + { "ardusuni", { NULL }, 1834, "udp" }, + { "ardusmul", { NULL }, 1835, "tcp" }, + { "ardusmul", { NULL }, 1835, "udp" }, + { "ste-smsc", { NULL }, 1836, "tcp" }, + { "ste-smsc", { NULL }, 1836, "udp" }, + { "csoft1", { NULL }, 1837, "tcp" }, + { "csoft1", { NULL }, 1837, "udp" }, + { "talnet", { NULL }, 1838, "tcp" }, + { "talnet", { NULL }, 1838, "udp" }, + { "netopia-vo1", { NULL }, 1839, "tcp" }, + { "netopia-vo1", { NULL }, 1839, "udp" }, + { "netopia-vo2", { NULL }, 1840, "tcp" }, + { "netopia-vo2", { NULL }, 1840, "udp" }, + { "netopia-vo3", { NULL }, 1841, "tcp" }, + { "netopia-vo3", { NULL }, 1841, "udp" }, + { "netopia-vo4", { NULL }, 1842, "tcp" }, + { "netopia-vo4", { NULL }, 1842, "udp" }, + { "netopia-vo5", { NULL }, 1843, "tcp" }, + { "netopia-vo5", { NULL }, 1843, "udp" }, + { "direcpc-dll", { NULL }, 1844, "tcp" }, + { "direcpc-dll", { NULL }, 1844, "udp" }, + { "altalink", { NULL }, 1845, "tcp" }, + { "altalink", { NULL }, 1845, "udp" }, + { "tunstall-pnc", { NULL }, 1846, "tcp" }, + { "tunstall-pnc", { NULL }, 1846, "udp" }, + { "slp-notify", { NULL }, 1847, "tcp" }, + { "slp-notify", { NULL }, 1847, "udp" }, + { "fjdocdist", { NULL }, 1848, "tcp" }, + { "fjdocdist", { NULL }, 1848, "udp" }, + { "alpha-sms", { NULL }, 1849, "tcp" }, + { "alpha-sms", { NULL }, 1849, "udp" }, + { "gsi", { NULL }, 1850, "tcp" }, + { "gsi", { NULL }, 1850, "udp" }, + { "ctcd", { NULL }, 1851, "tcp" }, + { "ctcd", { NULL }, 1851, "udp" }, + { "virtual-time", { NULL }, 1852, "tcp" }, + { "virtual-time", { NULL }, 1852, "udp" }, + { "vids-avtp", { NULL }, 1853, "tcp" }, + { "vids-avtp", { NULL }, 1853, "udp" }, + { "buddy-draw", { NULL }, 1854, "tcp" }, + { "buddy-draw", { NULL }, 1854, "udp" }, + { "fiorano-rtrsvc", { NULL }, 1855, "tcp" }, + { "fiorano-rtrsvc", { NULL }, 1855, "udp" }, + { "fiorano-msgsvc", { NULL }, 1856, "tcp" }, + { "fiorano-msgsvc", { NULL }, 1856, "udp" }, + { "datacaptor", { NULL }, 1857, "tcp" }, + { "datacaptor", { NULL }, 1857, "udp" }, + { "privateark", { NULL }, 1858, "tcp" }, + { "privateark", { NULL }, 1858, "udp" }, + { "gammafetchsvr", { NULL }, 1859, "tcp" }, + { "gammafetchsvr", { NULL }, 1859, "udp" }, + { "sunscalar-svc", { NULL }, 1860, "tcp" }, + { "sunscalar-svc", { NULL }, 1860, "udp" }, + { "lecroy-vicp", { NULL }, 1861, "tcp" }, + { "lecroy-vicp", { NULL }, 1861, "udp" }, + { "mysql-cm-agent", { NULL }, 1862, "tcp" }, + { "mysql-cm-agent", { NULL }, 1862, "udp" }, + { "msnp", { NULL }, 1863, "tcp" }, + { "msnp", { NULL }, 1863, "udp" }, + { "paradym-31port", { NULL }, 1864, "tcp" }, + { "paradym-31port", { NULL }, 1864, "udp" }, + { "entp", { NULL }, 1865, "tcp" }, + { "entp", { NULL }, 1865, "udp" }, + { "swrmi", { NULL }, 1866, "tcp" }, + { "swrmi", { NULL }, 1866, "udp" }, + { "udrive", { NULL }, 1867, "tcp" }, + { "udrive", { NULL }, 1867, "udp" }, + { "viziblebrowser", { NULL }, 1868, "tcp" }, + { "viziblebrowser", { NULL }, 1868, "udp" }, + { "transact", { NULL }, 1869, "tcp" }, + { "transact", { NULL }, 1869, "udp" }, + { "sunscalar-dns", { NULL }, 1870, "tcp" }, + { "sunscalar-dns", { NULL }, 1870, "udp" }, + { "canocentral0", { NULL }, 1871, "tcp" }, + { "canocentral0", { NULL }, 1871, "udp" }, + { "canocentral1", { NULL }, 1872, "tcp" }, + { "canocentral1", { NULL }, 1872, "udp" }, + { "fjmpjps", { NULL }, 1873, "tcp" }, + { "fjmpjps", { NULL }, 1873, "udp" }, + { "fjswapsnp", { NULL }, 1874, "tcp" }, + { "fjswapsnp", { NULL }, 1874, "udp" }, + { "westell-stats", { NULL }, 1875, "tcp" }, + { "westell-stats", { NULL }, 1875, "udp" }, + { "ewcappsrv", { NULL }, 1876, "tcp" }, + { "ewcappsrv", { NULL }, 1876, "udp" }, + { "hp-webqosdb", { NULL }, 1877, "tcp" }, + { "hp-webqosdb", { NULL }, 1877, "udp" }, + { "drmsmc", { NULL }, 1878, "tcp" }, + { "drmsmc", { NULL }, 1878, "udp" }, + { "nettgain-nms", { NULL }, 1879, "tcp" }, + { "nettgain-nms", { NULL }, 1879, "udp" }, + { "vsat-control", { NULL }, 1880, "tcp" }, + { "vsat-control", { NULL }, 1880, "udp" }, + { "ibm-mqseries2", { NULL }, 1881, "tcp" }, + { "ibm-mqseries2", { NULL }, 1881, "udp" }, + { "ecsqdmn", { NULL }, 1882, "tcp" }, + { "ecsqdmn", { NULL }, 1882, "udp" }, + { "ibm-mqisdp", { NULL }, 1883, "tcp" }, + { "ibm-mqisdp", { NULL }, 1883, "udp" }, + { "idmaps", { NULL }, 1884, "tcp" }, + { "idmaps", { NULL }, 1884, "udp" }, + { "vrtstrapserver", { NULL }, 1885, "tcp" }, + { "vrtstrapserver", { NULL }, 1885, "udp" }, + { "leoip", { NULL }, 1886, "tcp" }, + { "leoip", { NULL }, 1886, "udp" }, + { "filex-lport", { NULL }, 1887, "tcp" }, + { "filex-lport", { NULL }, 1887, "udp" }, + { "ncconfig", { NULL }, 1888, "tcp" }, + { "ncconfig", { NULL }, 1888, "udp" }, + { "unify-adapter", { NULL }, 1889, "tcp" }, + { "unify-adapter", { NULL }, 1889, "udp" }, + { "wilkenlistener", { NULL }, 1890, "tcp" }, + { "wilkenlistener", { NULL }, 1890, "udp" }, + { "childkey-notif", { NULL }, 1891, "tcp" }, + { "childkey-notif", { NULL }, 1891, "udp" }, + { "childkey-ctrl", { NULL }, 1892, "tcp" }, + { "childkey-ctrl", { NULL }, 1892, "udp" }, + { "elad", { NULL }, 1893, "tcp" }, + { "elad", { NULL }, 1893, "udp" }, + { "o2server-port", { NULL }, 1894, "tcp" }, + { "o2server-port", { NULL }, 1894, "udp" }, + { "b-novative-ls", { NULL }, 1896, "tcp" }, + { "b-novative-ls", { NULL }, 1896, "udp" }, + { "metaagent", { NULL }, 1897, "tcp" }, + { "metaagent", { NULL }, 1897, "udp" }, + { "cymtec-port", { NULL }, 1898, "tcp" }, + { "cymtec-port", { NULL }, 1898, "udp" }, + { "mc2studios", { NULL }, 1899, "tcp" }, + { "mc2studios", { NULL }, 1899, "udp" }, + { "ssdp", { NULL }, 1900, "tcp" }, + { "ssdp", { NULL }, 1900, "udp" }, + { "fjicl-tep-a", { NULL }, 1901, "tcp" }, + { "fjicl-tep-a", { NULL }, 1901, "udp" }, + { "fjicl-tep-b", { NULL }, 1902, "tcp" }, + { "fjicl-tep-b", { NULL }, 1902, "udp" }, + { "linkname", { NULL }, 1903, "tcp" }, + { "linkname", { NULL }, 1903, "udp" }, + { "fjicl-tep-c", { NULL }, 1904, "tcp" }, + { "fjicl-tep-c", { NULL }, 1904, "udp" }, + { "sugp", { NULL }, 1905, "tcp" }, + { "sugp", { NULL }, 1905, "udp" }, + { "tpmd", { NULL }, 1906, "tcp" }, + { "tpmd", { NULL }, 1906, "udp" }, + { "intrastar", { NULL }, 1907, "tcp" }, + { "intrastar", { NULL }, 1907, "udp" }, + { "dawn", { NULL }, 1908, "tcp" }, + { "dawn", { NULL }, 1908, "udp" }, + { "global-wlink", { NULL }, 1909, "tcp" }, + { "global-wlink", { NULL }, 1909, "udp" }, + { "ultrabac", { NULL }, 1910, "tcp" }, + { "ultrabac", { NULL }, 1910, "udp" }, + { "mtp", { NULL }, 1911, "tcp" }, + { "mtp", { NULL }, 1911, "udp" }, + { "rhp-iibp", { NULL }, 1912, "tcp" }, + { "rhp-iibp", { NULL }, 1912, "udp" }, + { "armadp", { NULL }, 1913, "tcp" }, + { "armadp", { NULL }, 1913, "udp" }, + { "elm-momentum", { NULL }, 1914, "tcp" }, + { "elm-momentum", { NULL }, 1914, "udp" }, + { "facelink", { NULL }, 1915, "tcp" }, + { "facelink", { NULL }, 1915, "udp" }, + { "persona", { NULL }, 1916, "tcp" }, + { "persona", { NULL }, 1916, "udp" }, + { "noagent", { NULL }, 1917, "tcp" }, + { "noagent", { NULL }, 1917, "udp" }, + { "can-nds", { NULL }, 1918, "tcp" }, + { "can-nds", { NULL }, 1918, "udp" }, + { "can-dch", { NULL }, 1919, "tcp" }, + { "can-dch", { NULL }, 1919, "udp" }, + { "can-ferret", { NULL }, 1920, "tcp" }, + { "can-ferret", { NULL }, 1920, "udp" }, + { "noadmin", { NULL }, 1921, "tcp" }, + { "noadmin", { NULL }, 1921, "udp" }, + { "tapestry", { NULL }, 1922, "tcp" }, + { "tapestry", { NULL }, 1922, "udp" }, + { "spice", { NULL }, 1923, "tcp" }, + { "spice", { NULL }, 1923, "udp" }, + { "xiip", { NULL }, 1924, "tcp" }, + { "xiip", { NULL }, 1924, "udp" }, + { "discovery-port", { NULL }, 1925, "tcp" }, + { "discovery-port", { NULL }, 1925, "udp" }, + { "egs", { NULL }, 1926, "tcp" }, + { "egs", { NULL }, 1926, "udp" }, + { "videte-cipc", { NULL }, 1927, "tcp" }, + { "videte-cipc", { NULL }, 1927, "udp" }, + { "emsd-port", { NULL }, 1928, "tcp" }, + { "emsd-port", { NULL }, 1928, "udp" }, + { "bandwiz-system", { NULL }, 1929, "tcp" }, + { "bandwiz-system", { NULL }, 1929, "udp" }, + { "driveappserver", { NULL }, 1930, "tcp" }, + { "driveappserver", { NULL }, 1930, "udp" }, + { "amdsched", { NULL }, 1931, "tcp" }, + { "amdsched", { NULL }, 1931, "udp" }, + { "ctt-broker", { NULL }, 1932, "tcp" }, + { "ctt-broker", { NULL }, 1932, "udp" }, + { "xmapi", { NULL }, 1933, "tcp" }, + { "xmapi", { NULL }, 1933, "udp" }, + { "xaapi", { NULL }, 1934, "tcp" }, + { "xaapi", { NULL }, 1934, "udp" }, + { "macromedia-fcs", { NULL }, 1935, "tcp" }, + { "macromedia-fcs", { NULL }, 1935, "udp" }, + { "jetcmeserver", { NULL }, 1936, "tcp" }, + { "jetcmeserver", { NULL }, 1936, "udp" }, + { "jwserver", { NULL }, 1937, "tcp" }, + { "jwserver", { NULL }, 1937, "udp" }, + { "jwclient", { NULL }, 1938, "tcp" }, + { "jwclient", { NULL }, 1938, "udp" }, + { "jvserver", { NULL }, 1939, "tcp" }, + { "jvserver", { NULL }, 1939, "udp" }, + { "jvclient", { NULL }, 1940, "tcp" }, + { "jvclient", { NULL }, 1940, "udp" }, + { "dic-aida", { NULL }, 1941, "tcp" }, + { "dic-aida", { NULL }, 1941, "udp" }, + { "res", { NULL }, 1942, "tcp" }, + { "res", { NULL }, 1942, "udp" }, + { "beeyond-media", { NULL }, 1943, "tcp" }, + { "beeyond-media", { NULL }, 1943, "udp" }, + { "close-combat", { NULL }, 1944, "tcp" }, + { "close-combat", { NULL }, 1944, "udp" }, + { "dialogic-elmd", { NULL }, 1945, "tcp" }, + { "dialogic-elmd", { NULL }, 1945, "udp" }, + { "tekpls", { NULL }, 1946, "tcp" }, + { "tekpls", { NULL }, 1946, "udp" }, + { "sentinelsrm", { NULL }, 1947, "tcp" }, + { "sentinelsrm", { NULL }, 1947, "udp" }, + { "eye2eye", { NULL }, 1948, "tcp" }, + { "eye2eye", { NULL }, 1948, "udp" }, + { "ismaeasdaqlive", { NULL }, 1949, "tcp" }, + { "ismaeasdaqlive", { NULL }, 1949, "udp" }, + { "ismaeasdaqtest", { NULL }, 1950, "tcp" }, + { "ismaeasdaqtest", { NULL }, 1950, "udp" }, + { "bcs-lmserver", { NULL }, 1951, "tcp" }, + { "bcs-lmserver", { NULL }, 1951, "udp" }, + { "mpnjsc", { NULL }, 1952, "tcp" }, + { "mpnjsc", { NULL }, 1952, "udp" }, + { "rapidbase", { NULL }, 1953, "tcp" }, + { "rapidbase", { NULL }, 1953, "udp" }, + { "abr-api", { NULL }, 1954, "tcp" }, + { "abr-api", { NULL }, 1954, "udp" }, + { "abr-secure", { NULL }, 1955, "tcp" }, + { "abr-secure", { NULL }, 1955, "udp" }, + { "vrtl-vmf-ds", { NULL }, 1956, "tcp" }, + { "vrtl-vmf-ds", { NULL }, 1956, "udp" }, + { "unix-status", { NULL }, 1957, "tcp" }, + { "unix-status", { NULL }, 1957, "udp" }, + { "dxadmind", { NULL }, 1958, "tcp" }, + { "dxadmind", { NULL }, 1958, "udp" }, + { "simp-all", { NULL }, 1959, "tcp" }, + { "simp-all", { NULL }, 1959, "udp" }, + { "nasmanager", { NULL }, 1960, "tcp" }, + { "nasmanager", { NULL }, 1960, "udp" }, + { "bts-appserver", { NULL }, 1961, "tcp" }, + { "bts-appserver", { NULL }, 1961, "udp" }, + { "biap-mp", { NULL }, 1962, "tcp" }, + { "biap-mp", { NULL }, 1962, "udp" }, + { "webmachine", { NULL }, 1963, "tcp" }, + { "webmachine", { NULL }, 1963, "udp" }, + { "solid-e-engine", { NULL }, 1964, "tcp" }, + { "solid-e-engine", { NULL }, 1964, "udp" }, + { "tivoli-npm", { NULL }, 1965, "tcp" }, + { "tivoli-npm", { NULL }, 1965, "udp" }, + { "slush", { NULL }, 1966, "tcp" }, + { "slush", { NULL }, 1966, "udp" }, + { "sns-quote", { NULL }, 1967, "tcp" }, + { "sns-quote", { NULL }, 1967, "udp" }, + { "lipsinc", { NULL }, 1968, "tcp" }, + { "lipsinc", { NULL }, 1968, "udp" }, + { "lipsinc1", { NULL }, 1969, "tcp" }, + { "lipsinc1", { NULL }, 1969, "udp" }, + { "netop-rc", { NULL }, 1970, "tcp" }, + { "netop-rc", { NULL }, 1970, "udp" }, + { "netop-school", { NULL }, 1971, "tcp" }, + { "netop-school", { NULL }, 1971, "udp" }, + { "intersys-cache", { NULL }, 1972, "tcp" }, + { "intersys-cache", { NULL }, 1972, "udp" }, + { "dlsrap", { NULL }, 1973, "tcp" }, + { "dlsrap", { NULL }, 1973, "udp" }, + { "drp", { NULL }, 1974, "tcp" }, + { "drp", { NULL }, 1974, "udp" }, + { "tcoflashagent", { NULL }, 1975, "tcp" }, + { "tcoflashagent", { NULL }, 1975, "udp" }, + { "tcoregagent", { NULL }, 1976, "tcp" }, + { "tcoregagent", { NULL }, 1976, "udp" }, + { "tcoaddressbook", { NULL }, 1977, "tcp" }, + { "tcoaddressbook", { NULL }, 1977, "udp" }, + { "unisql", { NULL }, 1978, "tcp" }, + { "unisql", { NULL }, 1978, "udp" }, + { "unisql-java", { NULL }, 1979, "tcp" }, + { "unisql-java", { NULL }, 1979, "udp" }, + { "pearldoc-xact", { NULL }, 1980, "tcp" }, + { "pearldoc-xact", { NULL }, 1980, "udp" }, + { "p2pq", { NULL }, 1981, "tcp" }, + { "p2pq", { NULL }, 1981, "udp" }, + { "estamp", { NULL }, 1982, "tcp" }, + { "estamp", { NULL }, 1982, "udp" }, + { "lhtp", { NULL }, 1983, "tcp" }, + { "lhtp", { NULL }, 1983, "udp" }, + { "bb", { NULL }, 1984, "tcp" }, + { "bb", { NULL }, 1984, "udp" }, + { "hsrp", { NULL }, 1985, "tcp" }, + { "hsrp", { NULL }, 1985, "udp" }, + { "licensedaemon", { NULL }, 1986, "tcp" }, + { "licensedaemon", { NULL }, 1986, "udp" }, + { "tr-rsrb-p1", { NULL }, 1987, "tcp" }, + { "tr-rsrb-p1", { NULL }, 1987, "udp" }, + { "tr-rsrb-p2", { NULL }, 1988, "tcp" }, + { "tr-rsrb-p2", { NULL }, 1988, "udp" }, + { "tr-rsrb-p3", { NULL }, 1989, "tcp" }, + { "tr-rsrb-p3", { NULL }, 1989, "udp" }, + { "mshnet", { NULL }, 1989, "tcp" }, + { "mshnet", { NULL }, 1989, "udp" }, + { "stun-p1", { NULL }, 1990, "tcp" }, + { "stun-p1", { NULL }, 1990, "udp" }, + { "stun-p2", { NULL }, 1991, "tcp" }, + { "stun-p2", { NULL }, 1991, "udp" }, + { "stun-p3", { NULL }, 1992, "tcp" }, + { "stun-p3", { NULL }, 1992, "udp" }, + { "ipsendmsg", { NULL }, 1992, "tcp" }, + { "ipsendmsg", { NULL }, 1992, "udp" }, + { "snmp-tcp-port", { NULL }, 1993, "tcp" }, + { "snmp-tcp-port", { NULL }, 1993, "udp" }, + { "stun-port", { NULL }, 1994, "tcp" }, + { "stun-port", { NULL }, 1994, "udp" }, + { "perf-port", { NULL }, 1995, "tcp" }, + { "perf-port", { NULL }, 1995, "udp" }, + { "tr-rsrb-port", { NULL }, 1996, "tcp" }, + { "tr-rsrb-port", { NULL }, 1996, "udp" }, + { "gdp-port", { NULL }, 1997, "tcp" }, + { "gdp-port", { NULL }, 1997, "udp" }, + { "x25-svc-port", { NULL }, 1998, "tcp" }, + { "x25-svc-port", { NULL }, 1998, "udp" }, + { "tcp-id-port", { NULL }, 1999, "tcp" }, + { "tcp-id-port", { NULL }, 1999, "udp" }, + { "cisco-sccp", { NULL }, 2000, "tcp" }, + { "cisco-sccp", { NULL }, 2000, "udp" }, + { "dc", { NULL }, 2001, "tcp" }, + { "wizard", { NULL }, 2001, "udp" }, + { "globe", { NULL }, 2002, "tcp" }, + { "globe", { NULL }, 2002, "udp" }, + { "brutus", { NULL }, 2003, "tcp" }, + { "brutus", { NULL }, 2003, "udp" }, + { "mailbox", { NULL }, 2004, "tcp" }, + { "emce", { NULL }, 2004, "udp" }, + { "berknet", { NULL }, 2005, "tcp" }, + { "oracle", { NULL }, 2005, "udp" }, + { "invokator", { NULL }, 2006, "tcp" }, + { "raid-cd", { NULL }, 2006, "udp" }, + { "dectalk", { NULL }, 2007, "tcp" }, + { "raid-am", { NULL }, 2007, "udp" }, + { "conf", { NULL }, 2008, "tcp" }, + { "terminaldb", { NULL }, 2008, "udp" }, + { "news", { NULL }, 2009, "tcp" }, + { "whosockami", { NULL }, 2009, "udp" }, + { "search", { NULL }, 2010, "tcp" }, + { "pipe_server", { NULL }, 2010, "udp" }, + { "raid-cc", { NULL }, 2011, "tcp" }, + { "servserv", { NULL }, 2011, "udp" }, + { "ttyinfo", { NULL }, 2012, "tcp" }, + { "raid-ac", { NULL }, 2012, "udp" }, + { "raid-am", { NULL }, 2013, "tcp" }, + { "raid-cd", { NULL }, 2013, "udp" }, + { "troff", { NULL }, 2014, "tcp" }, + { "raid-sf", { NULL }, 2014, "udp" }, + { "cypress", { NULL }, 2015, "tcp" }, + { "raid-cs", { NULL }, 2015, "udp" }, + { "bootserver", { NULL }, 2016, "tcp" }, + { "bootserver", { NULL }, 2016, "udp" }, + { "cypress-stat", { NULL }, 2017, "tcp" }, + { "bootclient", { NULL }, 2017, "udp" }, + { "terminaldb", { NULL }, 2018, "tcp" }, + { "rellpack", { NULL }, 2018, "udp" }, + { "whosockami", { NULL }, 2019, "tcp" }, + { "about", { NULL }, 2019, "udp" }, + { "xinupageserver", { NULL }, 2020, "tcp" }, + { "xinupageserver", { NULL }, 2020, "udp" }, + { "servexec", { NULL }, 2021, "tcp" }, + { "xinuexpansion1", { NULL }, 2021, "udp" }, + { "down", { NULL }, 2022, "tcp" }, + { "xinuexpansion2", { NULL }, 2022, "udp" }, + { "xinuexpansion3", { NULL }, 2023, "tcp" }, + { "xinuexpansion3", { NULL }, 2023, "udp" }, + { "xinuexpansion4", { NULL }, 2024, "tcp" }, + { "xinuexpansion4", { NULL }, 2024, "udp" }, + { "ellpack", { NULL }, 2025, "tcp" }, + { "xribs", { NULL }, 2025, "udp" }, + { "scrabble", { NULL }, 2026, "tcp" }, + { "scrabble", { NULL }, 2026, "udp" }, + { "shadowserver", { NULL }, 2027, "tcp" }, + { "shadowserver", { NULL }, 2027, "udp" }, + { "submitserver", { NULL }, 2028, "tcp" }, + { "submitserver", { NULL }, 2028, "udp" }, + { "hsrpv6", { NULL }, 2029, "tcp" }, + { "hsrpv6", { NULL }, 2029, "udp" }, + { "device2", { NULL }, 2030, "tcp" }, + { "device2", { NULL }, 2030, "udp" }, + { "mobrien-chat", { NULL }, 2031, "tcp" }, + { "mobrien-chat", { NULL }, 2031, "udp" }, + { "blackboard", { NULL }, 2032, "tcp" }, + { "blackboard", { NULL }, 2032, "udp" }, + { "glogger", { NULL }, 2033, "tcp" }, + { "glogger", { NULL }, 2033, "udp" }, + { "scoremgr", { NULL }, 2034, "tcp" }, + { "scoremgr", { NULL }, 2034, "udp" }, + { "imsldoc", { NULL }, 2035, "tcp" }, + { "imsldoc", { NULL }, 2035, "udp" }, + { "e-dpnet", { NULL }, 2036, "tcp" }, + { "e-dpnet", { NULL }, 2036, "udp" }, + { "applus", { NULL }, 2037, "tcp" }, + { "applus", { NULL }, 2037, "udp" }, + { "objectmanager", { NULL }, 2038, "tcp" }, + { "objectmanager", { NULL }, 2038, "udp" }, + { "prizma", { NULL }, 2039, "tcp" }, + { "prizma", { NULL }, 2039, "udp" }, + { "lam", { NULL }, 2040, "tcp" }, + { "lam", { NULL }, 2040, "udp" }, + { "interbase", { NULL }, 2041, "tcp" }, + { "interbase", { NULL }, 2041, "udp" }, + { "isis", { NULL }, 2042, "tcp" }, + { "isis", { NULL }, 2042, "udp" }, + { "isis-bcast", { NULL }, 2043, "tcp" }, + { "isis-bcast", { NULL }, 2043, "udp" }, + { "rimsl", { NULL }, 2044, "tcp" }, + { "rimsl", { NULL }, 2044, "udp" }, + { "cdfunc", { NULL }, 2045, "tcp" }, + { "cdfunc", { NULL }, 2045, "udp" }, + { "sdfunc", { NULL }, 2046, "tcp" }, + { "sdfunc", { NULL }, 2046, "udp" }, + { "dls", { NULL }, 2047, "tcp" }, + { "dls", { NULL }, 2047, "udp" }, + { "dls-monitor", { NULL }, 2048, "tcp" }, + { "dls-monitor", { NULL }, 2048, "udp" }, + { "shilp", { NULL }, 2049, "tcp" }, + { "shilp", { NULL }, 2049, "udp" }, + { "nfs", { NULL }, 2049, "tcp" }, + { "nfs", { NULL }, 2049, "udp" }, + { "nfs", { NULL }, 2049, "sctp" }, + { "av-emb-config", { NULL }, 2050, "tcp" }, + { "av-emb-config", { NULL }, 2050, "udp" }, + { "epnsdp", { NULL }, 2051, "tcp" }, + { "epnsdp", { NULL }, 2051, "udp" }, + { "clearvisn", { NULL }, 2052, "tcp" }, + { "clearvisn", { NULL }, 2052, "udp" }, + { "lot105-ds-upd", { NULL }, 2053, "tcp" }, + { "lot105-ds-upd", { NULL }, 2053, "udp" }, + { "weblogin", { NULL }, 2054, "tcp" }, + { "weblogin", { NULL }, 2054, "udp" }, + { "iop", { NULL }, 2055, "tcp" }, + { "iop", { NULL }, 2055, "udp" }, + { "omnisky", { NULL }, 2056, "tcp" }, + { "omnisky", { NULL }, 2056, "udp" }, + { "rich-cp", { NULL }, 2057, "tcp" }, + { "rich-cp", { NULL }, 2057, "udp" }, + { "newwavesearch", { NULL }, 2058, "tcp" }, + { "newwavesearch", { NULL }, 2058, "udp" }, + { "bmc-messaging", { NULL }, 2059, "tcp" }, + { "bmc-messaging", { NULL }, 2059, "udp" }, + { "teleniumdaemon", { NULL }, 2060, "tcp" }, + { "teleniumdaemon", { NULL }, 2060, "udp" }, + { "netmount", { NULL }, 2061, "tcp" }, + { "netmount", { NULL }, 2061, "udp" }, + { "icg-swp", { NULL }, 2062, "tcp" }, + { "icg-swp", { NULL }, 2062, "udp" }, + { "icg-bridge", { NULL }, 2063, "tcp" }, + { "icg-bridge", { NULL }, 2063, "udp" }, + { "icg-iprelay", { NULL }, 2064, "tcp" }, + { "icg-iprelay", { NULL }, 2064, "udp" }, + { "dlsrpn", { NULL }, 2065, "tcp" }, + { "dlsrpn", { NULL }, 2065, "udp" }, + { "aura", { NULL }, 2066, "tcp" }, + { "aura", { NULL }, 2066, "udp" }, + { "dlswpn", { NULL }, 2067, "tcp" }, + { "dlswpn", { NULL }, 2067, "udp" }, + { "avauthsrvprtcl", { NULL }, 2068, "tcp" }, + { "avauthsrvprtcl", { NULL }, 2068, "udp" }, + { "event-port", { NULL }, 2069, "tcp" }, + { "event-port", { NULL }, 2069, "udp" }, + { "ah-esp-encap", { NULL }, 2070, "tcp" }, + { "ah-esp-encap", { NULL }, 2070, "udp" }, + { "acp-port", { NULL }, 2071, "tcp" }, + { "acp-port", { NULL }, 2071, "udp" }, + { "msync", { NULL }, 2072, "tcp" }, + { "msync", { NULL }, 2072, "udp" }, + { "gxs-data-port", { NULL }, 2073, "tcp" }, + { "gxs-data-port", { NULL }, 2073, "udp" }, + { "vrtl-vmf-sa", { NULL }, 2074, "tcp" }, + { "vrtl-vmf-sa", { NULL }, 2074, "udp" }, + { "newlixengine", { NULL }, 2075, "tcp" }, + { "newlixengine", { NULL }, 2075, "udp" }, + { "newlixconfig", { NULL }, 2076, "tcp" }, + { "newlixconfig", { NULL }, 2076, "udp" }, + { "tsrmagt", { NULL }, 2077, "tcp" }, + { "tsrmagt", { NULL }, 2077, "udp" }, + { "tpcsrvr", { NULL }, 2078, "tcp" }, + { "tpcsrvr", { NULL }, 2078, "udp" }, + { "idware-router", { NULL }, 2079, "tcp" }, + { "idware-router", { NULL }, 2079, "udp" }, + { "autodesk-nlm", { NULL }, 2080, "tcp" }, + { "autodesk-nlm", { NULL }, 2080, "udp" }, + { "kme-trap-port", { NULL }, 2081, "tcp" }, + { "kme-trap-port", { NULL }, 2081, "udp" }, + { "infowave", { NULL }, 2082, "tcp" }, + { "infowave", { NULL }, 2082, "udp" }, + { "radsec", { NULL }, 2083, "tcp" }, + { "radsec", { NULL }, 2083, "udp" }, + { "sunclustergeo", { NULL }, 2084, "tcp" }, + { "sunclustergeo", { NULL }, 2084, "udp" }, + { "ada-cip", { NULL }, 2085, "tcp" }, + { "ada-cip", { NULL }, 2085, "udp" }, + { "gnunet", { NULL }, 2086, "tcp" }, + { "gnunet", { NULL }, 2086, "udp" }, + { "eli", { NULL }, 2087, "tcp" }, + { "eli", { NULL }, 2087, "udp" }, + { "ip-blf", { NULL }, 2088, "tcp" }, + { "ip-blf", { NULL }, 2088, "udp" }, + { "sep", { NULL }, 2089, "tcp" }, + { "sep", { NULL }, 2089, "udp" }, + { "lrp", { NULL }, 2090, "tcp" }, + { "lrp", { NULL }, 2090, "udp" }, + { "prp", { NULL }, 2091, "tcp" }, + { "prp", { NULL }, 2091, "udp" }, + { "descent3", { NULL }, 2092, "tcp" }, + { "descent3", { NULL }, 2092, "udp" }, + { "nbx-cc", { NULL }, 2093, "tcp" }, + { "nbx-cc", { NULL }, 2093, "udp" }, + { "nbx-au", { NULL }, 2094, "tcp" }, + { "nbx-au", { NULL }, 2094, "udp" }, + { "nbx-ser", { NULL }, 2095, "tcp" }, + { "nbx-ser", { NULL }, 2095, "udp" }, + { "nbx-dir", { NULL }, 2096, "tcp" }, + { "nbx-dir", { NULL }, 2096, "udp" }, + { "jetformpreview", { NULL }, 2097, "tcp" }, + { "jetformpreview", { NULL }, 2097, "udp" }, + { "dialog-port", { NULL }, 2098, "tcp" }, + { "dialog-port", { NULL }, 2098, "udp" }, + { "h2250-annex-g", { NULL }, 2099, "tcp" }, + { "h2250-annex-g", { NULL }, 2099, "udp" }, + { "amiganetfs", { NULL }, 2100, "tcp" }, + { "amiganetfs", { NULL }, 2100, "udp" }, + { "rtcm-sc104", { NULL }, 2101, "tcp" }, + { "rtcm-sc104", { NULL }, 2101, "udp" }, + { "zephyr-srv", { NULL }, 2102, "tcp" }, + { "zephyr-srv", { NULL }, 2102, "udp" }, + { "zephyr-clt", { NULL }, 2103, "tcp" }, + { "zephyr-clt", { NULL }, 2103, "udp" }, + { "zephyr-hm", { NULL }, 2104, "tcp" }, + { "zephyr-hm", { NULL }, 2104, "udp" }, + { "minipay", { NULL }, 2105, "tcp" }, + { "minipay", { NULL }, 2105, "udp" }, + { "mzap", { NULL }, 2106, "tcp" }, + { "mzap", { NULL }, 2106, "udp" }, + { "bintec-admin", { NULL }, 2107, "tcp" }, + { "bintec-admin", { NULL }, 2107, "udp" }, + { "comcam", { NULL }, 2108, "tcp" }, + { "comcam", { NULL }, 2108, "udp" }, + { "ergolight", { NULL }, 2109, "tcp" }, + { "ergolight", { NULL }, 2109, "udp" }, + { "umsp", { NULL }, 2110, "tcp" }, + { "umsp", { NULL }, 2110, "udp" }, + { "dsatp", { NULL }, 2111, "tcp" }, + { "dsatp", { NULL }, 2111, "udp" }, + { "idonix-metanet", { NULL }, 2112, "tcp" }, + { "idonix-metanet", { NULL }, 2112, "udp" }, + { "hsl-storm", { NULL }, 2113, "tcp" }, + { "hsl-storm", { NULL }, 2113, "udp" }, + { "newheights", { NULL }, 2114, "tcp" }, + { "newheights", { NULL }, 2114, "udp" }, + { "kdm", { NULL }, 2115, "tcp" }, + { "kdm", { NULL }, 2115, "udp" }, + { "ccowcmr", { NULL }, 2116, "tcp" }, + { "ccowcmr", { NULL }, 2116, "udp" }, + { "mentaclient", { NULL }, 2117, "tcp" }, + { "mentaclient", { NULL }, 2117, "udp" }, + { "mentaserver", { NULL }, 2118, "tcp" }, + { "mentaserver", { NULL }, 2118, "udp" }, + { "gsigatekeeper", { NULL }, 2119, "tcp" }, + { "gsigatekeeper", { NULL }, 2119, "udp" }, + { "qencp", { NULL }, 2120, "tcp" }, + { "qencp", { NULL }, 2120, "udp" }, + { "scientia-ssdb", { NULL }, 2121, "tcp" }, + { "scientia-ssdb", { NULL }, 2121, "udp" }, + { "caupc-remote", { NULL }, 2122, "tcp" }, + { "caupc-remote", { NULL }, 2122, "udp" }, + { "gtp-control", { NULL }, 2123, "tcp" }, + { "gtp-control", { NULL }, 2123, "udp" }, + { "elatelink", { NULL }, 2124, "tcp" }, + { "elatelink", { NULL }, 2124, "udp" }, + { "lockstep", { NULL }, 2125, "tcp" }, + { "lockstep", { NULL }, 2125, "udp" }, + { "pktcable-cops", { NULL }, 2126, "tcp" }, + { "pktcable-cops", { NULL }, 2126, "udp" }, + { "index-pc-wb", { NULL }, 2127, "tcp" }, + { "index-pc-wb", { NULL }, 2127, "udp" }, + { "net-steward", { NULL }, 2128, "tcp" }, + { "net-steward", { NULL }, 2128, "udp" }, + { "cs-live", { NULL }, 2129, "tcp" }, + { "cs-live", { NULL }, 2129, "udp" }, + { "xds", { NULL }, 2130, "tcp" }, + { "xds", { NULL }, 2130, "udp" }, + { "avantageb2b", { NULL }, 2131, "tcp" }, + { "avantageb2b", { NULL }, 2131, "udp" }, + { "solera-epmap", { NULL }, 2132, "tcp" }, + { "solera-epmap", { NULL }, 2132, "udp" }, + { "zymed-zpp", { NULL }, 2133, "tcp" }, + { "zymed-zpp", { NULL }, 2133, "udp" }, + { "avenue", { NULL }, 2134, "tcp" }, + { "avenue", { NULL }, 2134, "udp" }, + { "gris", { NULL }, 2135, "tcp" }, + { "gris", { NULL }, 2135, "udp" }, + { "appworxsrv", { NULL }, 2136, "tcp" }, + { "appworxsrv", { NULL }, 2136, "udp" }, + { "connect", { NULL }, 2137, "tcp" }, + { "connect", { NULL }, 2137, "udp" }, + { "unbind-cluster", { NULL }, 2138, "tcp" }, + { "unbind-cluster", { NULL }, 2138, "udp" }, + { "ias-auth", { NULL }, 2139, "tcp" }, + { "ias-auth", { NULL }, 2139, "udp" }, + { "ias-reg", { NULL }, 2140, "tcp" }, + { "ias-reg", { NULL }, 2140, "udp" }, + { "ias-admind", { NULL }, 2141, "tcp" }, + { "ias-admind", { NULL }, 2141, "udp" }, + { "tdmoip", { NULL }, 2142, "tcp" }, + { "tdmoip", { NULL }, 2142, "udp" }, + { "lv-jc", { NULL }, 2143, "tcp" }, + { "lv-jc", { NULL }, 2143, "udp" }, + { "lv-ffx", { NULL }, 2144, "tcp" }, + { "lv-ffx", { NULL }, 2144, "udp" }, + { "lv-pici", { NULL }, 2145, "tcp" }, + { "lv-pici", { NULL }, 2145, "udp" }, + { "lv-not", { NULL }, 2146, "tcp" }, + { "lv-not", { NULL }, 2146, "udp" }, + { "lv-auth", { NULL }, 2147, "tcp" }, + { "lv-auth", { NULL }, 2147, "udp" }, + { "veritas-ucl", { NULL }, 2148, "tcp" }, + { "veritas-ucl", { NULL }, 2148, "udp" }, + { "acptsys", { NULL }, 2149, "tcp" }, + { "acptsys", { NULL }, 2149, "udp" }, + { "dynamic3d", { NULL }, 2150, "tcp" }, + { "dynamic3d", { NULL }, 2150, "udp" }, + { "docent", { NULL }, 2151, "tcp" }, + { "docent", { NULL }, 2151, "udp" }, + { "gtp-user", { NULL }, 2152, "tcp" }, + { "gtp-user", { NULL }, 2152, "udp" }, + { "ctlptc", { NULL }, 2153, "tcp" }, + { "ctlptc", { NULL }, 2153, "udp" }, + { "stdptc", { NULL }, 2154, "tcp" }, + { "stdptc", { NULL }, 2154, "udp" }, + { "brdptc", { NULL }, 2155, "tcp" }, + { "brdptc", { NULL }, 2155, "udp" }, + { "trp", { NULL }, 2156, "tcp" }, + { "trp", { NULL }, 2156, "udp" }, + { "xnds", { NULL }, 2157, "tcp" }, + { "xnds", { NULL }, 2157, "udp" }, + { "touchnetplus", { NULL }, 2158, "tcp" }, + { "touchnetplus", { NULL }, 2158, "udp" }, + { "gdbremote", { NULL }, 2159, "tcp" }, + { "gdbremote", { NULL }, 2159, "udp" }, + { "apc-2160", { NULL }, 2160, "tcp" }, + { "apc-2160", { NULL }, 2160, "udp" }, + { "apc-2161", { NULL }, 2161, "tcp" }, + { "apc-2161", { NULL }, 2161, "udp" }, + { "navisphere", { NULL }, 2162, "tcp" }, + { "navisphere", { NULL }, 2162, "udp" }, + { "navisphere-sec", { NULL }, 2163, "tcp" }, + { "navisphere-sec", { NULL }, 2163, "udp" }, + { "ddns-v3", { NULL }, 2164, "tcp" }, + { "ddns-v3", { NULL }, 2164, "udp" }, + { "x-bone-api", { NULL }, 2165, "tcp" }, + { "x-bone-api", { NULL }, 2165, "udp" }, + { "iwserver", { NULL }, 2166, "tcp" }, + { "iwserver", { NULL }, 2166, "udp" }, + { "raw-serial", { NULL }, 2167, "tcp" }, + { "raw-serial", { NULL }, 2167, "udp" }, + { "easy-soft-mux", { NULL }, 2168, "tcp" }, + { "easy-soft-mux", { NULL }, 2168, "udp" }, + { "brain", { NULL }, 2169, "tcp" }, + { "brain", { NULL }, 2169, "udp" }, + { "eyetv", { NULL }, 2170, "tcp" }, + { "eyetv", { NULL }, 2170, "udp" }, + { "msfw-storage", { NULL }, 2171, "tcp" }, + { "msfw-storage", { NULL }, 2171, "udp" }, + { "msfw-s-storage", { NULL }, 2172, "tcp" }, + { "msfw-s-storage", { NULL }, 2172, "udp" }, + { "msfw-replica", { NULL }, 2173, "tcp" }, + { "msfw-replica", { NULL }, 2173, "udp" }, + { "msfw-array", { NULL }, 2174, "tcp" }, + { "msfw-array", { NULL }, 2174, "udp" }, + { "airsync", { NULL }, 2175, "tcp" }, + { "airsync", { NULL }, 2175, "udp" }, + { "rapi", { NULL }, 2176, "tcp" }, + { "rapi", { NULL }, 2176, "udp" }, + { "qwave", { NULL }, 2177, "tcp" }, + { "qwave", { NULL }, 2177, "udp" }, + { "bitspeer", { NULL }, 2178, "tcp" }, + { "bitspeer", { NULL }, 2178, "udp" }, + { "vmrdp", { NULL }, 2179, "tcp" }, + { "vmrdp", { NULL }, 2179, "udp" }, + { "mc-gt-srv", { NULL }, 2180, "tcp" }, + { "mc-gt-srv", { NULL }, 2180, "udp" }, + { "eforward", { NULL }, 2181, "tcp" }, + { "eforward", { NULL }, 2181, "udp" }, + { "cgn-stat", { NULL }, 2182, "tcp" }, + { "cgn-stat", { NULL }, 2182, "udp" }, + { "cgn-config", { NULL }, 2183, "tcp" }, + { "cgn-config", { NULL }, 2183, "udp" }, + { "nvd", { NULL }, 2184, "tcp" }, + { "nvd", { NULL }, 2184, "udp" }, + { "onbase-dds", { NULL }, 2185, "tcp" }, + { "onbase-dds", { NULL }, 2185, "udp" }, + { "gtaua", { NULL }, 2186, "tcp" }, + { "gtaua", { NULL }, 2186, "udp" }, + { "ssmc", { NULL }, 2187, "tcp" }, + { "ssmd", { NULL }, 2187, "udp" }, + { "tivoconnect", { NULL }, 2190, "tcp" }, + { "tivoconnect", { NULL }, 2190, "udp" }, + { "tvbus", { NULL }, 2191, "tcp" }, + { "tvbus", { NULL }, 2191, "udp" }, + { "asdis", { NULL }, 2192, "tcp" }, + { "asdis", { NULL }, 2192, "udp" }, + { "drwcs", { NULL }, 2193, "tcp" }, + { "drwcs", { NULL }, 2193, "udp" }, + { "mnp-exchange", { NULL }, 2197, "tcp" }, + { "mnp-exchange", { NULL }, 2197, "udp" }, + { "onehome-remote", { NULL }, 2198, "tcp" }, + { "onehome-remote", { NULL }, 2198, "udp" }, + { "onehome-help", { NULL }, 2199, "tcp" }, + { "onehome-help", { NULL }, 2199, "udp" }, + { "ici", { NULL }, 2200, "tcp" }, + { "ici", { NULL }, 2200, "udp" }, + { "ats", { NULL }, 2201, "tcp" }, + { "ats", { NULL }, 2201, "udp" }, + { "imtc-map", { NULL }, 2202, "tcp" }, + { "imtc-map", { NULL }, 2202, "udp" }, + { "b2-runtime", { NULL }, 2203, "tcp" }, + { "b2-runtime", { NULL }, 2203, "udp" }, + { "b2-license", { NULL }, 2204, "tcp" }, + { "b2-license", { NULL }, 2204, "udp" }, + { "jps", { NULL }, 2205, "tcp" }, + { "jps", { NULL }, 2205, "udp" }, + { "hpocbus", { NULL }, 2206, "tcp" }, + { "hpocbus", { NULL }, 2206, "udp" }, + { "hpssd", { NULL }, 2207, "tcp" }, + { "hpssd", { NULL }, 2207, "udp" }, + { "hpiod", { NULL }, 2208, "tcp" }, + { "hpiod", { NULL }, 2208, "udp" }, + { "rimf-ps", { NULL }, 2209, "tcp" }, + { "rimf-ps", { NULL }, 2209, "udp" }, + { "noaaport", { NULL }, 2210, "tcp" }, + { "noaaport", { NULL }, 2210, "udp" }, + { "emwin", { NULL }, 2211, "tcp" }, + { "emwin", { NULL }, 2211, "udp" }, + { "leecoposserver", { NULL }, 2212, "tcp" }, + { "leecoposserver", { NULL }, 2212, "udp" }, + { "kali", { NULL }, 2213, "tcp" }, + { "kali", { NULL }, 2213, "udp" }, + { "rpi", { NULL }, 2214, "tcp" }, + { "rpi", { NULL }, 2214, "udp" }, + { "ipcore", { NULL }, 2215, "tcp" }, + { "ipcore", { NULL }, 2215, "udp" }, + { "vtu-comms", { NULL }, 2216, "tcp" }, + { "vtu-comms", { NULL }, 2216, "udp" }, + { "gotodevice", { NULL }, 2217, "tcp" }, + { "gotodevice", { NULL }, 2217, "udp" }, + { "bounzza", { NULL }, 2218, "tcp" }, + { "bounzza", { NULL }, 2218, "udp" }, + { "netiq-ncap", { NULL }, 2219, "tcp" }, + { "netiq-ncap", { NULL }, 2219, "udp" }, + { "netiq", { NULL }, 2220, "tcp" }, + { "netiq", { NULL }, 2220, "udp" }, + { "rockwell-csp1", { NULL }, 2221, "tcp" }, + { "rockwell-csp1", { NULL }, 2221, "udp" }, + { "EtherNet/IP-1", { NULL }, 2222, "tcp" }, + { "EtherNet/IP-1", { NULL }, 2222, "udp" }, + { "rockwell-csp2", { NULL }, 2223, "tcp" }, + { "rockwell-csp2", { NULL }, 2223, "udp" }, + { "efi-mg", { NULL }, 2224, "tcp" }, + { "efi-mg", { NULL }, 2224, "udp" }, + { "rcip-itu", { NULL }, 2225, "tcp" }, + { "rcip-itu", { NULL }, 2225, "sctp" }, + { "di-drm", { NULL }, 2226, "tcp" }, + { "di-drm", { NULL }, 2226, "udp" }, + { "di-msg", { NULL }, 2227, "tcp" }, + { "di-msg", { NULL }, 2227, "udp" }, + { "ehome-ms", { NULL }, 2228, "tcp" }, + { "ehome-ms", { NULL }, 2228, "udp" }, + { "datalens", { NULL }, 2229, "tcp" }, + { "datalens", { NULL }, 2229, "udp" }, + { "queueadm", { NULL }, 2230, "tcp" }, + { "queueadm", { NULL }, 2230, "udp" }, + { "wimaxasncp", { NULL }, 2231, "tcp" }, + { "wimaxasncp", { NULL }, 2231, "udp" }, + { "ivs-video", { NULL }, 2232, "tcp" }, + { "ivs-video", { NULL }, 2232, "udp" }, + { "infocrypt", { NULL }, 2233, "tcp" }, + { "infocrypt", { NULL }, 2233, "udp" }, + { "directplay", { NULL }, 2234, "tcp" }, + { "directplay", { NULL }, 2234, "udp" }, + { "sercomm-wlink", { NULL }, 2235, "tcp" }, + { "sercomm-wlink", { NULL }, 2235, "udp" }, + { "nani", { NULL }, 2236, "tcp" }, + { "nani", { NULL }, 2236, "udp" }, + { "optech-port1-lm", { NULL }, 2237, "tcp" }, + { "optech-port1-lm", { NULL }, 2237, "udp" }, + { "aviva-sna", { NULL }, 2238, "tcp" }, + { "aviva-sna", { NULL }, 2238, "udp" }, + { "imagequery", { NULL }, 2239, "tcp" }, + { "imagequery", { NULL }, 2239, "udp" }, + { "recipe", { NULL }, 2240, "tcp" }, + { "recipe", { NULL }, 2240, "udp" }, + { "ivsd", { NULL }, 2241, "tcp" }, + { "ivsd", { NULL }, 2241, "udp" }, + { "foliocorp", { NULL }, 2242, "tcp" }, + { "foliocorp", { NULL }, 2242, "udp" }, + { "magicom", { NULL }, 2243, "tcp" }, + { "magicom", { NULL }, 2243, "udp" }, + { "nmsserver", { NULL }, 2244, "tcp" }, + { "nmsserver", { NULL }, 2244, "udp" }, + { "hao", { NULL }, 2245, "tcp" }, + { "hao", { NULL }, 2245, "udp" }, + { "pc-mta-addrmap", { NULL }, 2246, "tcp" }, + { "pc-mta-addrmap", { NULL }, 2246, "udp" }, + { "antidotemgrsvr", { NULL }, 2247, "tcp" }, + { "antidotemgrsvr", { NULL }, 2247, "udp" }, + { "ums", { NULL }, 2248, "tcp" }, + { "ums", { NULL }, 2248, "udp" }, + { "rfmp", { NULL }, 2249, "tcp" }, + { "rfmp", { NULL }, 2249, "udp" }, + { "remote-collab", { NULL }, 2250, "tcp" }, + { "remote-collab", { NULL }, 2250, "udp" }, + { "dif-port", { NULL }, 2251, "tcp" }, + { "dif-port", { NULL }, 2251, "udp" }, + { "njenet-ssl", { NULL }, 2252, "tcp" }, + { "njenet-ssl", { NULL }, 2252, "udp" }, + { "dtv-chan-req", { NULL }, 2253, "tcp" }, + { "dtv-chan-req", { NULL }, 2253, "udp" }, + { "seispoc", { NULL }, 2254, "tcp" }, + { "seispoc", { NULL }, 2254, "udp" }, + { "vrtp", { NULL }, 2255, "tcp" }, + { "vrtp", { NULL }, 2255, "udp" }, + { "pcc-mfp", { NULL }, 2256, "tcp" }, + { "pcc-mfp", { NULL }, 2256, "udp" }, + { "simple-tx-rx", { NULL }, 2257, "tcp" }, + { "simple-tx-rx", { NULL }, 2257, "udp" }, + { "rcts", { NULL }, 2258, "tcp" }, + { "rcts", { NULL }, 2258, "udp" }, + { "acd-pm", { NULL }, 2259, "tcp" }, + { "acd-pm", { NULL }, 2259, "udp" }, + { "apc-2260", { NULL }, 2260, "tcp" }, + { "apc-2260", { NULL }, 2260, "udp" }, + { "comotionmaster", { NULL }, 2261, "tcp" }, + { "comotionmaster", { NULL }, 2261, "udp" }, + { "comotionback", { NULL }, 2262, "tcp" }, + { "comotionback", { NULL }, 2262, "udp" }, + { "ecwcfg", { NULL }, 2263, "tcp" }, + { "ecwcfg", { NULL }, 2263, "udp" }, + { "apx500api-1", { NULL }, 2264, "tcp" }, + { "apx500api-1", { NULL }, 2264, "udp" }, + { "apx500api-2", { NULL }, 2265, "tcp" }, + { "apx500api-2", { NULL }, 2265, "udp" }, + { "mfserver", { NULL }, 2266, "tcp" }, + { "mfserver", { NULL }, 2266, "udp" }, + { "ontobroker", { NULL }, 2267, "tcp" }, + { "ontobroker", { NULL }, 2267, "udp" }, + { "amt", { NULL }, 2268, "tcp" }, + { "amt", { NULL }, 2268, "udp" }, + { "mikey", { NULL }, 2269, "tcp" }, + { "mikey", { NULL }, 2269, "udp" }, + { "starschool", { NULL }, 2270, "tcp" }, + { "starschool", { NULL }, 2270, "udp" }, + { "mmcals", { NULL }, 2271, "tcp" }, + { "mmcals", { NULL }, 2271, "udp" }, + { "mmcal", { NULL }, 2272, "tcp" }, + { "mmcal", { NULL }, 2272, "udp" }, + { "mysql-im", { NULL }, 2273, "tcp" }, + { "mysql-im", { NULL }, 2273, "udp" }, + { "pcttunnell", { NULL }, 2274, "tcp" }, + { "pcttunnell", { NULL }, 2274, "udp" }, + { "ibridge-data", { NULL }, 2275, "tcp" }, + { "ibridge-data", { NULL }, 2275, "udp" }, + { "ibridge-mgmt", { NULL }, 2276, "tcp" }, + { "ibridge-mgmt", { NULL }, 2276, "udp" }, + { "bluectrlproxy", { NULL }, 2277, "tcp" }, + { "bluectrlproxy", { NULL }, 2277, "udp" }, + { "s3db", { NULL }, 2278, "tcp" }, + { "s3db", { NULL }, 2278, "udp" }, + { "xmquery", { NULL }, 2279, "tcp" }, + { "xmquery", { NULL }, 2279, "udp" }, + { "lnvpoller", { NULL }, 2280, "tcp" }, + { "lnvpoller", { NULL }, 2280, "udp" }, + { "lnvconsole", { NULL }, 2281, "tcp" }, + { "lnvconsole", { NULL }, 2281, "udp" }, + { "lnvalarm", { NULL }, 2282, "tcp" }, + { "lnvalarm", { NULL }, 2282, "udp" }, + { "lnvstatus", { NULL }, 2283, "tcp" }, + { "lnvstatus", { NULL }, 2283, "udp" }, + { "lnvmaps", { NULL }, 2284, "tcp" }, + { "lnvmaps", { NULL }, 2284, "udp" }, + { "lnvmailmon", { NULL }, 2285, "tcp" }, + { "lnvmailmon", { NULL }, 2285, "udp" }, + { "nas-metering", { NULL }, 2286, "tcp" }, + { "nas-metering", { NULL }, 2286, "udp" }, + { "dna", { NULL }, 2287, "tcp" }, + { "dna", { NULL }, 2287, "udp" }, + { "netml", { NULL }, 2288, "tcp" }, + { "netml", { NULL }, 2288, "udp" }, + { "dict-lookup", { NULL }, 2289, "tcp" }, + { "dict-lookup", { NULL }, 2289, "udp" }, + { "sonus-logging", { NULL }, 2290, "tcp" }, + { "sonus-logging", { NULL }, 2290, "udp" }, + { "eapsp", { NULL }, 2291, "tcp" }, + { "eapsp", { NULL }, 2291, "udp" }, + { "mib-streaming", { NULL }, 2292, "tcp" }, + { "mib-streaming", { NULL }, 2292, "udp" }, + { "npdbgmngr", { NULL }, 2293, "tcp" }, + { "npdbgmngr", { NULL }, 2293, "udp" }, + { "konshus-lm", { NULL }, 2294, "tcp" }, + { "konshus-lm", { NULL }, 2294, "udp" }, + { "advant-lm", { NULL }, 2295, "tcp" }, + { "advant-lm", { NULL }, 2295, "udp" }, + { "theta-lm", { NULL }, 2296, "tcp" }, + { "theta-lm", { NULL }, 2296, "udp" }, + { "d2k-datamover1", { NULL }, 2297, "tcp" }, + { "d2k-datamover1", { NULL }, 2297, "udp" }, + { "d2k-datamover2", { NULL }, 2298, "tcp" }, + { "d2k-datamover2", { NULL }, 2298, "udp" }, + { "pc-telecommute", { NULL }, 2299, "tcp" }, + { "pc-telecommute", { NULL }, 2299, "udp" }, + { "cvmmon", { NULL }, 2300, "tcp" }, + { "cvmmon", { NULL }, 2300, "udp" }, + { "cpq-wbem", { NULL }, 2301, "tcp" }, + { "cpq-wbem", { NULL }, 2301, "udp" }, + { "binderysupport", { NULL }, 2302, "tcp" }, + { "binderysupport", { NULL }, 2302, "udp" }, + { "proxy-gateway", { NULL }, 2303, "tcp" }, + { "proxy-gateway", { NULL }, 2303, "udp" }, + { "attachmate-uts", { NULL }, 2304, "tcp" }, + { "attachmate-uts", { NULL }, 2304, "udp" }, + { "mt-scaleserver", { NULL }, 2305, "tcp" }, + { "mt-scaleserver", { NULL }, 2305, "udp" }, + { "tappi-boxnet", { NULL }, 2306, "tcp" }, + { "tappi-boxnet", { NULL }, 2306, "udp" }, + { "pehelp", { NULL }, 2307, "tcp" }, + { "pehelp", { NULL }, 2307, "udp" }, + { "sdhelp", { NULL }, 2308, "tcp" }, + { "sdhelp", { NULL }, 2308, "udp" }, + { "sdserver", { NULL }, 2309, "tcp" }, + { "sdserver", { NULL }, 2309, "udp" }, + { "sdclient", { NULL }, 2310, "tcp" }, + { "sdclient", { NULL }, 2310, "udp" }, + { "messageservice", { NULL }, 2311, "tcp" }, + { "messageservice", { NULL }, 2311, "udp" }, + { "wanscaler", { NULL }, 2312, "tcp" }, + { "wanscaler", { NULL }, 2312, "udp" }, + { "iapp", { NULL }, 2313, "tcp" }, + { "iapp", { NULL }, 2313, "udp" }, + { "cr-websystems", { NULL }, 2314, "tcp" }, + { "cr-websystems", { NULL }, 2314, "udp" }, + { "precise-sft", { NULL }, 2315, "tcp" }, + { "precise-sft", { NULL }, 2315, "udp" }, + { "sent-lm", { NULL }, 2316, "tcp" }, + { "sent-lm", { NULL }, 2316, "udp" }, + { "attachmate-g32", { NULL }, 2317, "tcp" }, + { "attachmate-g32", { NULL }, 2317, "udp" }, + { "cadencecontrol", { NULL }, 2318, "tcp" }, + { "cadencecontrol", { NULL }, 2318, "udp" }, + { "infolibria", { NULL }, 2319, "tcp" }, + { "infolibria", { NULL }, 2319, "udp" }, + { "siebel-ns", { NULL }, 2320, "tcp" }, + { "siebel-ns", { NULL }, 2320, "udp" }, + { "rdlap", { NULL }, 2321, "tcp" }, + { "rdlap", { NULL }, 2321, "udp" }, + { "ofsd", { NULL }, 2322, "tcp" }, + { "ofsd", { NULL }, 2322, "udp" }, + { "3d-nfsd", { NULL }, 2323, "tcp" }, + { "3d-nfsd", { NULL }, 2323, "udp" }, + { "cosmocall", { NULL }, 2324, "tcp" }, + { "cosmocall", { NULL }, 2324, "udp" }, + { "ansysli", { NULL }, 2325, "tcp" }, + { "ansysli", { NULL }, 2325, "udp" }, + { "idcp", { NULL }, 2326, "tcp" }, + { "idcp", { NULL }, 2326, "udp" }, + { "xingcsm", { NULL }, 2327, "tcp" }, + { "xingcsm", { NULL }, 2327, "udp" }, + { "netrix-sftm", { NULL }, 2328, "tcp" }, + { "netrix-sftm", { NULL }, 2328, "udp" }, + { "nvd", { NULL }, 2329, "tcp" }, + { "nvd", { NULL }, 2329, "udp" }, + { "tscchat", { NULL }, 2330, "tcp" }, + { "tscchat", { NULL }, 2330, "udp" }, + { "agentview", { NULL }, 2331, "tcp" }, + { "agentview", { NULL }, 2331, "udp" }, + { "rcc-host", { NULL }, 2332, "tcp" }, + { "rcc-host", { NULL }, 2332, "udp" }, + { "snapp", { NULL }, 2333, "tcp" }, + { "snapp", { NULL }, 2333, "udp" }, + { "ace-client", { NULL }, 2334, "tcp" }, + { "ace-client", { NULL }, 2334, "udp" }, + { "ace-proxy", { NULL }, 2335, "tcp" }, + { "ace-proxy", { NULL }, 2335, "udp" }, + { "appleugcontrol", { NULL }, 2336, "tcp" }, + { "appleugcontrol", { NULL }, 2336, "udp" }, + { "ideesrv", { NULL }, 2337, "tcp" }, + { "ideesrv", { NULL }, 2337, "udp" }, + { "norton-lambert", { NULL }, 2338, "tcp" }, + { "norton-lambert", { NULL }, 2338, "udp" }, + { "3com-webview", { NULL }, 2339, "tcp" }, + { "3com-webview", { NULL }, 2339, "udp" }, + { "wrs_registry", { NULL }, 2340, "tcp" }, + { "wrs_registry", { NULL }, 2340, "udp" }, + { "xiostatus", { NULL }, 2341, "tcp" }, + { "xiostatus", { NULL }, 2341, "udp" }, + { "manage-exec", { NULL }, 2342, "tcp" }, + { "manage-exec", { NULL }, 2342, "udp" }, + { "nati-logos", { NULL }, 2343, "tcp" }, + { "nati-logos", { NULL }, 2343, "udp" }, + { "fcmsys", { NULL }, 2344, "tcp" }, + { "fcmsys", { NULL }, 2344, "udp" }, + { "dbm", { NULL }, 2345, "tcp" }, + { "dbm", { NULL }, 2345, "udp" }, + { "redstorm_join", { NULL }, 2346, "tcp" }, + { "redstorm_join", { NULL }, 2346, "udp" }, + { "redstorm_find", { NULL }, 2347, "tcp" }, + { "redstorm_find", { NULL }, 2347, "udp" }, + { "redstorm_info", { NULL }, 2348, "tcp" }, + { "redstorm_info", { NULL }, 2348, "udp" }, + { "redstorm_diag", { NULL }, 2349, "tcp" }, + { "redstorm_diag", { NULL }, 2349, "udp" }, + { "psbserver", { NULL }, 2350, "tcp" }, + { "psbserver", { NULL }, 2350, "udp" }, + { "psrserver", { NULL }, 2351, "tcp" }, + { "psrserver", { NULL }, 2351, "udp" }, + { "pslserver", { NULL }, 2352, "tcp" }, + { "pslserver", { NULL }, 2352, "udp" }, + { "pspserver", { NULL }, 2353, "tcp" }, + { "pspserver", { NULL }, 2353, "udp" }, + { "psprserver", { NULL }, 2354, "tcp" }, + { "psprserver", { NULL }, 2354, "udp" }, + { "psdbserver", { NULL }, 2355, "tcp" }, + { "psdbserver", { NULL }, 2355, "udp" }, + { "gxtelmd", { NULL }, 2356, "tcp" }, + { "gxtelmd", { NULL }, 2356, "udp" }, + { "unihub-server", { NULL }, 2357, "tcp" }, + { "unihub-server", { NULL }, 2357, "udp" }, + { "futrix", { NULL }, 2358, "tcp" }, + { "futrix", { NULL }, 2358, "udp" }, + { "flukeserver", { NULL }, 2359, "tcp" }, + { "flukeserver", { NULL }, 2359, "udp" }, + { "nexstorindltd", { NULL }, 2360, "tcp" }, + { "nexstorindltd", { NULL }, 2360, "udp" }, + { "tl1", { NULL }, 2361, "tcp" }, + { "tl1", { NULL }, 2361, "udp" }, + { "digiman", { NULL }, 2362, "tcp" }, + { "digiman", { NULL }, 2362, "udp" }, + { "mediacntrlnfsd", { NULL }, 2363, "tcp" }, + { "mediacntrlnfsd", { NULL }, 2363, "udp" }, + { "oi-2000", { NULL }, 2364, "tcp" }, + { "oi-2000", { NULL }, 2364, "udp" }, + { "dbref", { NULL }, 2365, "tcp" }, + { "dbref", { NULL }, 2365, "udp" }, + { "qip-login", { NULL }, 2366, "tcp" }, + { "qip-login", { NULL }, 2366, "udp" }, + { "service-ctrl", { NULL }, 2367, "tcp" }, + { "service-ctrl", { NULL }, 2367, "udp" }, + { "opentable", { NULL }, 2368, "tcp" }, + { "opentable", { NULL }, 2368, "udp" }, + { "l3-hbmon", { NULL }, 2370, "tcp" }, + { "l3-hbmon", { NULL }, 2370, "udp" }, + { "worldwire", { NULL }, 2371, "tcp" }, + { "worldwire", { NULL }, 2371, "udp" }, + { "lanmessenger", { NULL }, 2372, "tcp" }, + { "lanmessenger", { NULL }, 2372, "udp" }, + { "remographlm", { NULL }, 2373, "tcp" }, + { "hydra", { NULL }, 2374, "tcp" }, + { "compaq-https", { NULL }, 2381, "tcp" }, + { "compaq-https", { NULL }, 2381, "udp" }, + { "ms-olap3", { NULL }, 2382, "tcp" }, + { "ms-olap3", { NULL }, 2382, "udp" }, + { "ms-olap4", { NULL }, 2383, "tcp" }, + { "ms-olap4", { NULL }, 2383, "udp" }, + { "sd-request", { NULL }, 2384, "tcp" }, + { "sd-capacity", { NULL }, 2384, "udp" }, + { "sd-data", { NULL }, 2385, "tcp" }, + { "sd-data", { NULL }, 2385, "udp" }, + { "virtualtape", { NULL }, 2386, "tcp" }, + { "virtualtape", { NULL }, 2386, "udp" }, + { "vsamredirector", { NULL }, 2387, "tcp" }, + { "vsamredirector", { NULL }, 2387, "udp" }, + { "mynahautostart", { NULL }, 2388, "tcp" }, + { "mynahautostart", { NULL }, 2388, "udp" }, + { "ovsessionmgr", { NULL }, 2389, "tcp" }, + { "ovsessionmgr", { NULL }, 2389, "udp" }, + { "rsmtp", { NULL }, 2390, "tcp" }, + { "rsmtp", { NULL }, 2390, "udp" }, + { "3com-net-mgmt", { NULL }, 2391, "tcp" }, + { "3com-net-mgmt", { NULL }, 2391, "udp" }, + { "tacticalauth", { NULL }, 2392, "tcp" }, + { "tacticalauth", { NULL }, 2392, "udp" }, + { "ms-olap1", { NULL }, 2393, "tcp" }, + { "ms-olap1", { NULL }, 2393, "udp" }, + { "ms-olap2", { NULL }, 2394, "tcp" }, + { "ms-olap2", { NULL }, 2394, "udp" }, + { "lan900_remote", { NULL }, 2395, "tcp" }, + { "lan900_remote", { NULL }, 2395, "udp" }, + { "wusage", { NULL }, 2396, "tcp" }, + { "wusage", { NULL }, 2396, "udp" }, + { "ncl", { NULL }, 2397, "tcp" }, + { "ncl", { NULL }, 2397, "udp" }, + { "orbiter", { NULL }, 2398, "tcp" }, + { "orbiter", { NULL }, 2398, "udp" }, + { "fmpro-fdal", { NULL }, 2399, "tcp" }, + { "fmpro-fdal", { NULL }, 2399, "udp" }, + { "opequus-server", { NULL }, 2400, "tcp" }, + { "opequus-server", { NULL }, 2400, "udp" }, + { "cvspserver", { NULL }, 2401, "tcp" }, + { "cvspserver", { NULL }, 2401, "udp" }, + { "taskmaster2000", { NULL }, 2402, "tcp" }, + { "taskmaster2000", { NULL }, 2402, "udp" }, + { "taskmaster2000", { NULL }, 2403, "tcp" }, + { "taskmaster2000", { NULL }, 2403, "udp" }, + { "iec-104", { NULL }, 2404, "tcp" }, + { "iec-104", { NULL }, 2404, "udp" }, + { "trc-netpoll", { NULL }, 2405, "tcp" }, + { "trc-netpoll", { NULL }, 2405, "udp" }, + { "jediserver", { NULL }, 2406, "tcp" }, + { "jediserver", { NULL }, 2406, "udp" }, + { "orion", { NULL }, 2407, "tcp" }, + { "orion", { NULL }, 2407, "udp" }, + { "optimanet", { NULL }, 2408, "tcp" }, + { "optimanet", { NULL }, 2408, "udp" }, + { "sns-protocol", { NULL }, 2409, "tcp" }, + { "sns-protocol", { NULL }, 2409, "udp" }, + { "vrts-registry", { NULL }, 2410, "tcp" }, + { "vrts-registry", { NULL }, 2410, "udp" }, + { "netwave-ap-mgmt", { NULL }, 2411, "tcp" }, + { "netwave-ap-mgmt", { NULL }, 2411, "udp" }, + { "cdn", { NULL }, 2412, "tcp" }, + { "cdn", { NULL }, 2412, "udp" }, + { "orion-rmi-reg", { NULL }, 2413, "tcp" }, + { "orion-rmi-reg", { NULL }, 2413, "udp" }, + { "beeyond", { NULL }, 2414, "tcp" }, + { "beeyond", { NULL }, 2414, "udp" }, + { "codima-rtp", { NULL }, 2415, "tcp" }, + { "codima-rtp", { NULL }, 2415, "udp" }, + { "rmtserver", { NULL }, 2416, "tcp" }, + { "rmtserver", { NULL }, 2416, "udp" }, + { "composit-server", { NULL }, 2417, "tcp" }, + { "composit-server", { NULL }, 2417, "udp" }, + { "cas", { NULL }, 2418, "tcp" }, + { "cas", { NULL }, 2418, "udp" }, + { "attachmate-s2s", { NULL }, 2419, "tcp" }, + { "attachmate-s2s", { NULL }, 2419, "udp" }, + { "dslremote-mgmt", { NULL }, 2420, "tcp" }, + { "dslremote-mgmt", { NULL }, 2420, "udp" }, + { "g-talk", { NULL }, 2421, "tcp" }, + { "g-talk", { NULL }, 2421, "udp" }, + { "crmsbits", { NULL }, 2422, "tcp" }, + { "crmsbits", { NULL }, 2422, "udp" }, + { "rnrp", { NULL }, 2423, "tcp" }, + { "rnrp", { NULL }, 2423, "udp" }, + { "kofax-svr", { NULL }, 2424, "tcp" }, + { "kofax-svr", { NULL }, 2424, "udp" }, + { "fjitsuappmgr", { NULL }, 2425, "tcp" }, + { "fjitsuappmgr", { NULL }, 2425, "udp" }, + { "mgcp-gateway", { NULL }, 2427, "tcp" }, + { "mgcp-gateway", { NULL }, 2427, "udp" }, + { "ott", { NULL }, 2428, "tcp" }, + { "ott", { NULL }, 2428, "udp" }, + { "ft-role", { NULL }, 2429, "tcp" }, + { "ft-role", { NULL }, 2429, "udp" }, + { "venus", { NULL }, 2430, "tcp" }, + { "venus", { NULL }, 2430, "udp" }, + { "venus-se", { NULL }, 2431, "tcp" }, + { "venus-se", { NULL }, 2431, "udp" }, + { "codasrv", { NULL }, 2432, "tcp" }, + { "codasrv", { NULL }, 2432, "udp" }, + { "codasrv-se", { NULL }, 2433, "tcp" }, + { "codasrv-se", { NULL }, 2433, "udp" }, + { "pxc-epmap", { NULL }, 2434, "tcp" }, + { "pxc-epmap", { NULL }, 2434, "udp" }, + { "optilogic", { NULL }, 2435, "tcp" }, + { "optilogic", { NULL }, 2435, "udp" }, + { "topx", { NULL }, 2436, "tcp" }, + { "topx", { NULL }, 2436, "udp" }, + { "unicontrol", { NULL }, 2437, "tcp" }, + { "unicontrol", { NULL }, 2437, "udp" }, + { "msp", { NULL }, 2438, "tcp" }, + { "msp", { NULL }, 2438, "udp" }, + { "sybasedbsynch", { NULL }, 2439, "tcp" }, + { "sybasedbsynch", { NULL }, 2439, "udp" }, + { "spearway", { NULL }, 2440, "tcp" }, + { "spearway", { NULL }, 2440, "udp" }, + { "pvsw-inet", { NULL }, 2441, "tcp" }, + { "pvsw-inet", { NULL }, 2441, "udp" }, + { "netangel", { NULL }, 2442, "tcp" }, + { "netangel", { NULL }, 2442, "udp" }, + { "powerclientcsf", { NULL }, 2443, "tcp" }, + { "powerclientcsf", { NULL }, 2443, "udp" }, + { "btpp2sectrans", { NULL }, 2444, "tcp" }, + { "btpp2sectrans", { NULL }, 2444, "udp" }, + { "dtn1", { NULL }, 2445, "tcp" }, + { "dtn1", { NULL }, 2445, "udp" }, + { "bues_service", { NULL }, 2446, "tcp" }, + { "bues_service", { NULL }, 2446, "udp" }, + { "ovwdb", { NULL }, 2447, "tcp" }, + { "ovwdb", { NULL }, 2447, "udp" }, + { "hpppssvr", { NULL }, 2448, "tcp" }, + { "hpppssvr", { NULL }, 2448, "udp" }, + { "ratl", { NULL }, 2449, "tcp" }, + { "ratl", { NULL }, 2449, "udp" }, + { "netadmin", { NULL }, 2450, "tcp" }, + { "netadmin", { NULL }, 2450, "udp" }, + { "netchat", { NULL }, 2451, "tcp" }, + { "netchat", { NULL }, 2451, "udp" }, + { "snifferclient", { NULL }, 2452, "tcp" }, + { "snifferclient", { NULL }, 2452, "udp" }, + { "madge-ltd", { NULL }, 2453, "tcp" }, + { "madge-ltd", { NULL }, 2453, "udp" }, + { "indx-dds", { NULL }, 2454, "tcp" }, + { "indx-dds", { NULL }, 2454, "udp" }, + { "wago-io-system", { NULL }, 2455, "tcp" }, + { "wago-io-system", { NULL }, 2455, "udp" }, + { "altav-remmgt", { NULL }, 2456, "tcp" }, + { "altav-remmgt", { NULL }, 2456, "udp" }, + { "rapido-ip", { NULL }, 2457, "tcp" }, + { "rapido-ip", { NULL }, 2457, "udp" }, + { "griffin", { NULL }, 2458, "tcp" }, + { "griffin", { NULL }, 2458, "udp" }, + { "community", { NULL }, 2459, "tcp" }, + { "community", { NULL }, 2459, "udp" }, + { "ms-theater", { NULL }, 2460, "tcp" }, + { "ms-theater", { NULL }, 2460, "udp" }, + { "qadmifoper", { NULL }, 2461, "tcp" }, + { "qadmifoper", { NULL }, 2461, "udp" }, + { "qadmifevent", { NULL }, 2462, "tcp" }, + { "qadmifevent", { NULL }, 2462, "udp" }, + { "lsi-raid-mgmt", { NULL }, 2463, "tcp" }, + { "lsi-raid-mgmt", { NULL }, 2463, "udp" }, + { "direcpc-si", { NULL }, 2464, "tcp" }, + { "direcpc-si", { NULL }, 2464, "udp" }, + { "lbm", { NULL }, 2465, "tcp" }, + { "lbm", { NULL }, 2465, "udp" }, + { "lbf", { NULL }, 2466, "tcp" }, + { "lbf", { NULL }, 2466, "udp" }, + { "high-criteria", { NULL }, 2467, "tcp" }, + { "high-criteria", { NULL }, 2467, "udp" }, + { "qip-msgd", { NULL }, 2468, "tcp" }, + { "qip-msgd", { NULL }, 2468, "udp" }, + { "mti-tcs-comm", { NULL }, 2469, "tcp" }, + { "mti-tcs-comm", { NULL }, 2469, "udp" }, + { "taskman-port", { NULL }, 2470, "tcp" }, + { "taskman-port", { NULL }, 2470, "udp" }, + { "seaodbc", { NULL }, 2471, "tcp" }, + { "seaodbc", { NULL }, 2471, "udp" }, + { "c3", { NULL }, 2472, "tcp" }, + { "c3", { NULL }, 2472, "udp" }, + { "aker-cdp", { NULL }, 2473, "tcp" }, + { "aker-cdp", { NULL }, 2473, "udp" }, + { "vitalanalysis", { NULL }, 2474, "tcp" }, + { "vitalanalysis", { NULL }, 2474, "udp" }, + { "ace-server", { NULL }, 2475, "tcp" }, + { "ace-server", { NULL }, 2475, "udp" }, + { "ace-svr-prop", { NULL }, 2476, "tcp" }, + { "ace-svr-prop", { NULL }, 2476, "udp" }, + { "ssm-cvs", { NULL }, 2477, "tcp" }, + { "ssm-cvs", { NULL }, 2477, "udp" }, + { "ssm-cssps", { NULL }, 2478, "tcp" }, + { "ssm-cssps", { NULL }, 2478, "udp" }, + { "ssm-els", { NULL }, 2479, "tcp" }, + { "ssm-els", { NULL }, 2479, "udp" }, + { "powerexchange", { NULL }, 2480, "tcp" }, + { "powerexchange", { NULL }, 2480, "udp" }, + { "giop", { NULL }, 2481, "tcp" }, + { "giop", { NULL }, 2481, "udp" }, + { "giop-ssl", { NULL }, 2482, "tcp" }, + { "giop-ssl", { NULL }, 2482, "udp" }, + { "ttc", { NULL }, 2483, "tcp" }, + { "ttc", { NULL }, 2483, "udp" }, + { "ttc-ssl", { NULL }, 2484, "tcp" }, + { "ttc-ssl", { NULL }, 2484, "udp" }, + { "netobjects1", { NULL }, 2485, "tcp" }, + { "netobjects1", { NULL }, 2485, "udp" }, + { "netobjects2", { NULL }, 2486, "tcp" }, + { "netobjects2", { NULL }, 2486, "udp" }, + { "pns", { NULL }, 2487, "tcp" }, + { "pns", { NULL }, 2487, "udp" }, + { "moy-corp", { NULL }, 2488, "tcp" }, + { "moy-corp", { NULL }, 2488, "udp" }, + { "tsilb", { NULL }, 2489, "tcp" }, + { "tsilb", { NULL }, 2489, "udp" }, + { "qip-qdhcp", { NULL }, 2490, "tcp" }, + { "qip-qdhcp", { NULL }, 2490, "udp" }, + { "conclave-cpp", { NULL }, 2491, "tcp" }, + { "conclave-cpp", { NULL }, 2491, "udp" }, + { "groove", { NULL }, 2492, "tcp" }, + { "groove", { NULL }, 2492, "udp" }, + { "talarian-mqs", { NULL }, 2493, "tcp" }, + { "talarian-mqs", { NULL }, 2493, "udp" }, + { "bmc-ar", { NULL }, 2494, "tcp" }, + { "bmc-ar", { NULL }, 2494, "udp" }, + { "fast-rem-serv", { NULL }, 2495, "tcp" }, + { "fast-rem-serv", { NULL }, 2495, "udp" }, + { "dirgis", { NULL }, 2496, "tcp" }, + { "dirgis", { NULL }, 2496, "udp" }, + { "quaddb", { NULL }, 2497, "tcp" }, + { "quaddb", { NULL }, 2497, "udp" }, + { "odn-castraq", { NULL }, 2498, "tcp" }, + { "odn-castraq", { NULL }, 2498, "udp" }, + { "unicontrol", { NULL }, 2499, "tcp" }, + { "unicontrol", { NULL }, 2499, "udp" }, + { "rtsserv", { NULL }, 2500, "tcp" }, + { "rtsserv", { NULL }, 2500, "udp" }, + { "rtsclient", { NULL }, 2501, "tcp" }, + { "rtsclient", { NULL }, 2501, "udp" }, + { "kentrox-prot", { NULL }, 2502, "tcp" }, + { "kentrox-prot", { NULL }, 2502, "udp" }, + { "nms-dpnss", { NULL }, 2503, "tcp" }, + { "nms-dpnss", { NULL }, 2503, "udp" }, + { "wlbs", { NULL }, 2504, "tcp" }, + { "wlbs", { NULL }, 2504, "udp" }, + { "ppcontrol", { NULL }, 2505, "tcp" }, + { "ppcontrol", { NULL }, 2505, "udp" }, + { "jbroker", { NULL }, 2506, "tcp" }, + { "jbroker", { NULL }, 2506, "udp" }, + { "spock", { NULL }, 2507, "tcp" }, + { "spock", { NULL }, 2507, "udp" }, + { "jdatastore", { NULL }, 2508, "tcp" }, + { "jdatastore", { NULL }, 2508, "udp" }, + { "fjmpss", { NULL }, 2509, "tcp" }, + { "fjmpss", { NULL }, 2509, "udp" }, + { "fjappmgrbulk", { NULL }, 2510, "tcp" }, + { "fjappmgrbulk", { NULL }, 2510, "udp" }, + { "metastorm", { NULL }, 2511, "tcp" }, + { "metastorm", { NULL }, 2511, "udp" }, + { "citrixima", { NULL }, 2512, "tcp" }, + { "citrixima", { NULL }, 2512, "udp" }, + { "citrixadmin", { NULL }, 2513, "tcp" }, + { "citrixadmin", { NULL }, 2513, "udp" }, + { "facsys-ntp", { NULL }, 2514, "tcp" }, + { "facsys-ntp", { NULL }, 2514, "udp" }, + { "facsys-router", { NULL }, 2515, "tcp" }, + { "facsys-router", { NULL }, 2515, "udp" }, + { "maincontrol", { NULL }, 2516, "tcp" }, + { "maincontrol", { NULL }, 2516, "udp" }, + { "call-sig-trans", { NULL }, 2517, "tcp" }, + { "call-sig-trans", { NULL }, 2517, "udp" }, + { "willy", { NULL }, 2518, "tcp" }, + { "willy", { NULL }, 2518, "udp" }, + { "globmsgsvc", { NULL }, 2519, "tcp" }, + { "globmsgsvc", { NULL }, 2519, "udp" }, + { "pvsw", { NULL }, 2520, "tcp" }, + { "pvsw", { NULL }, 2520, "udp" }, + { "adaptecmgr", { NULL }, 2521, "tcp" }, + { "adaptecmgr", { NULL }, 2521, "udp" }, + { "windb", { NULL }, 2522, "tcp" }, + { "windb", { NULL }, 2522, "udp" }, + { "qke-llc-v3", { NULL }, 2523, "tcp" }, + { "qke-llc-v3", { NULL }, 2523, "udp" }, + { "optiwave-lm", { NULL }, 2524, "tcp" }, + { "optiwave-lm", { NULL }, 2524, "udp" }, + { "ms-v-worlds", { NULL }, 2525, "tcp" }, + { "ms-v-worlds", { NULL }, 2525, "udp" }, + { "ema-sent-lm", { NULL }, 2526, "tcp" }, + { "ema-sent-lm", { NULL }, 2526, "udp" }, + { "iqserver", { NULL }, 2527, "tcp" }, + { "iqserver", { NULL }, 2527, "udp" }, + { "ncr_ccl", { NULL }, 2528, "tcp" }, + { "ncr_ccl", { NULL }, 2528, "udp" }, + { "utsftp", { NULL }, 2529, "tcp" }, + { "utsftp", { NULL }, 2529, "udp" }, + { "vrcommerce", { NULL }, 2530, "tcp" }, + { "vrcommerce", { NULL }, 2530, "udp" }, + { "ito-e-gui", { NULL }, 2531, "tcp" }, + { "ito-e-gui", { NULL }, 2531, "udp" }, + { "ovtopmd", { NULL }, 2532, "tcp" }, + { "ovtopmd", { NULL }, 2532, "udp" }, + { "snifferserver", { NULL }, 2533, "tcp" }, + { "snifferserver", { NULL }, 2533, "udp" }, + { "combox-web-acc", { NULL }, 2534, "tcp" }, + { "combox-web-acc", { NULL }, 2534, "udp" }, + { "madcap", { NULL }, 2535, "tcp" }, + { "madcap", { NULL }, 2535, "udp" }, + { "btpp2audctr1", { NULL }, 2536, "tcp" }, + { "btpp2audctr1", { NULL }, 2536, "udp" }, + { "upgrade", { NULL }, 2537, "tcp" }, + { "upgrade", { NULL }, 2537, "udp" }, + { "vnwk-prapi", { NULL }, 2538, "tcp" }, + { "vnwk-prapi", { NULL }, 2538, "udp" }, + { "vsiadmin", { NULL }, 2539, "tcp" }, + { "vsiadmin", { NULL }, 2539, "udp" }, + { "lonworks", { NULL }, 2540, "tcp" }, + { "lonworks", { NULL }, 2540, "udp" }, + { "lonworks2", { NULL }, 2541, "tcp" }, + { "lonworks2", { NULL }, 2541, "udp" }, + { "udrawgraph", { NULL }, 2542, "tcp" }, + { "udrawgraph", { NULL }, 2542, "udp" }, + { "reftek", { NULL }, 2543, "tcp" }, + { "reftek", { NULL }, 2543, "udp" }, + { "novell-zen", { NULL }, 2544, "tcp" }, + { "novell-zen", { NULL }, 2544, "udp" }, + { "sis-emt", { NULL }, 2545, "tcp" }, + { "sis-emt", { NULL }, 2545, "udp" }, + { "vytalvaultbrtp", { NULL }, 2546, "tcp" }, + { "vytalvaultbrtp", { NULL }, 2546, "udp" }, + { "vytalvaultvsmp", { NULL }, 2547, "tcp" }, + { "vytalvaultvsmp", { NULL }, 2547, "udp" }, + { "vytalvaultpipe", { NULL }, 2548, "tcp" }, + { "vytalvaultpipe", { NULL }, 2548, "udp" }, + { "ipass", { NULL }, 2549, "tcp" }, + { "ipass", { NULL }, 2549, "udp" }, + { "ads", { NULL }, 2550, "tcp" }, + { "ads", { NULL }, 2550, "udp" }, + { "isg-uda-server", { NULL }, 2551, "tcp" }, + { "isg-uda-server", { NULL }, 2551, "udp" }, + { "call-logging", { NULL }, 2552, "tcp" }, + { "call-logging", { NULL }, 2552, "udp" }, + { "efidiningport", { NULL }, 2553, "tcp" }, + { "efidiningport", { NULL }, 2553, "udp" }, + { "vcnet-link-v10", { NULL }, 2554, "tcp" }, + { "vcnet-link-v10", { NULL }, 2554, "udp" }, + { "compaq-wcp", { NULL }, 2555, "tcp" }, + { "compaq-wcp", { NULL }, 2555, "udp" }, + { "nicetec-nmsvc", { NULL }, 2556, "tcp" }, + { "nicetec-nmsvc", { NULL }, 2556, "udp" }, + { "nicetec-mgmt", { NULL }, 2557, "tcp" }, + { "nicetec-mgmt", { NULL }, 2557, "udp" }, + { "pclemultimedia", { NULL }, 2558, "tcp" }, + { "pclemultimedia", { NULL }, 2558, "udp" }, + { "lstp", { NULL }, 2559, "tcp" }, + { "lstp", { NULL }, 2559, "udp" }, + { "labrat", { NULL }, 2560, "tcp" }, + { "labrat", { NULL }, 2560, "udp" }, + { "mosaixcc", { NULL }, 2561, "tcp" }, + { "mosaixcc", { NULL }, 2561, "udp" }, + { "delibo", { NULL }, 2562, "tcp" }, + { "delibo", { NULL }, 2562, "udp" }, + { "cti-redwood", { NULL }, 2563, "tcp" }, + { "cti-redwood", { NULL }, 2563, "udp" }, + { "hp-3000-telnet", { NULL }, 2564, "tcp" }, + { "coord-svr", { NULL }, 2565, "tcp" }, + { "coord-svr", { NULL }, 2565, "udp" }, + { "pcs-pcw", { NULL }, 2566, "tcp" }, + { "pcs-pcw", { NULL }, 2566, "udp" }, + { "clp", { NULL }, 2567, "tcp" }, + { "clp", { NULL }, 2567, "udp" }, + { "spamtrap", { NULL }, 2568, "tcp" }, + { "spamtrap", { NULL }, 2568, "udp" }, + { "sonuscallsig", { NULL }, 2569, "tcp" }, + { "sonuscallsig", { NULL }, 2569, "udp" }, + { "hs-port", { NULL }, 2570, "tcp" }, + { "hs-port", { NULL }, 2570, "udp" }, + { "cecsvc", { NULL }, 2571, "tcp" }, + { "cecsvc", { NULL }, 2571, "udp" }, + { "ibp", { NULL }, 2572, "tcp" }, + { "ibp", { NULL }, 2572, "udp" }, + { "trustestablish", { NULL }, 2573, "tcp" }, + { "trustestablish", { NULL }, 2573, "udp" }, + { "blockade-bpsp", { NULL }, 2574, "tcp" }, + { "blockade-bpsp", { NULL }, 2574, "udp" }, + { "hl7", { NULL }, 2575, "tcp" }, + { "hl7", { NULL }, 2575, "udp" }, + { "tclprodebugger", { NULL }, 2576, "tcp" }, + { "tclprodebugger", { NULL }, 2576, "udp" }, + { "scipticslsrvr", { NULL }, 2577, "tcp" }, + { "scipticslsrvr", { NULL }, 2577, "udp" }, + { "rvs-isdn-dcp", { NULL }, 2578, "tcp" }, + { "rvs-isdn-dcp", { NULL }, 2578, "udp" }, + { "mpfoncl", { NULL }, 2579, "tcp" }, + { "mpfoncl", { NULL }, 2579, "udp" }, + { "tributary", { NULL }, 2580, "tcp" }, + { "tributary", { NULL }, 2580, "udp" }, + { "argis-te", { NULL }, 2581, "tcp" }, + { "argis-te", { NULL }, 2581, "udp" }, + { "argis-ds", { NULL }, 2582, "tcp" }, + { "argis-ds", { NULL }, 2582, "udp" }, + { "mon", { NULL }, 2583, "tcp" }, + { "mon", { NULL }, 2583, "udp" }, + { "cyaserv", { NULL }, 2584, "tcp" }, + { "cyaserv", { NULL }, 2584, "udp" }, + { "netx-server", { NULL }, 2585, "tcp" }, + { "netx-server", { NULL }, 2585, "udp" }, + { "netx-agent", { NULL }, 2586, "tcp" }, + { "netx-agent", { NULL }, 2586, "udp" }, + { "masc", { NULL }, 2587, "tcp" }, + { "masc", { NULL }, 2587, "udp" }, + { "privilege", { NULL }, 2588, "tcp" }, + { "privilege", { NULL }, 2588, "udp" }, + { "quartus-tcl", { NULL }, 2589, "tcp" }, + { "quartus-tcl", { NULL }, 2589, "udp" }, + { "idotdist", { NULL }, 2590, "tcp" }, + { "idotdist", { NULL }, 2590, "udp" }, + { "maytagshuffle", { NULL }, 2591, "tcp" }, + { "maytagshuffle", { NULL }, 2591, "udp" }, + { "netrek", { NULL }, 2592, "tcp" }, + { "netrek", { NULL }, 2592, "udp" }, + { "mns-mail", { NULL }, 2593, "tcp" }, + { "mns-mail", { NULL }, 2593, "udp" }, + { "dts", { NULL }, 2594, "tcp" }, + { "dts", { NULL }, 2594, "udp" }, + { "worldfusion1", { NULL }, 2595, "tcp" }, + { "worldfusion1", { NULL }, 2595, "udp" }, + { "worldfusion2", { NULL }, 2596, "tcp" }, + { "worldfusion2", { NULL }, 2596, "udp" }, + { "homesteadglory", { NULL }, 2597, "tcp" }, + { "homesteadglory", { NULL }, 2597, "udp" }, + { "citriximaclient", { NULL }, 2598, "tcp" }, + { "citriximaclient", { NULL }, 2598, "udp" }, + { "snapd", { NULL }, 2599, "tcp" }, + { "snapd", { NULL }, 2599, "udp" }, + { "hpstgmgr", { NULL }, 2600, "tcp" }, + { "hpstgmgr", { NULL }, 2600, "udp" }, + { "discp-client", { NULL }, 2601, "tcp" }, + { "discp-client", { NULL }, 2601, "udp" }, + { "discp-server", { NULL }, 2602, "tcp" }, + { "discp-server", { NULL }, 2602, "udp" }, + { "servicemeter", { NULL }, 2603, "tcp" }, + { "servicemeter", { NULL }, 2603, "udp" }, + { "nsc-ccs", { NULL }, 2604, "tcp" }, + { "nsc-ccs", { NULL }, 2604, "udp" }, + { "nsc-posa", { NULL }, 2605, "tcp" }, + { "nsc-posa", { NULL }, 2605, "udp" }, + { "netmon", { NULL }, 2606, "tcp" }, + { "netmon", { NULL }, 2606, "udp" }, + { "connection", { NULL }, 2607, "tcp" }, + { "connection", { NULL }, 2607, "udp" }, + { "wag-service", { NULL }, 2608, "tcp" }, + { "wag-service", { NULL }, 2608, "udp" }, + { "system-monitor", { NULL }, 2609, "tcp" }, + { "system-monitor", { NULL }, 2609, "udp" }, + { "versa-tek", { NULL }, 2610, "tcp" }, + { "versa-tek", { NULL }, 2610, "udp" }, + { "lionhead", { NULL }, 2611, "tcp" }, + { "lionhead", { NULL }, 2611, "udp" }, + { "qpasa-agent", { NULL }, 2612, "tcp" }, + { "qpasa-agent", { NULL }, 2612, "udp" }, + { "smntubootstrap", { NULL }, 2613, "tcp" }, + { "smntubootstrap", { NULL }, 2613, "udp" }, + { "neveroffline", { NULL }, 2614, "tcp" }, + { "neveroffline", { NULL }, 2614, "udp" }, + { "firepower", { NULL }, 2615, "tcp" }, + { "firepower", { NULL }, 2615, "udp" }, + { "appswitch-emp", { NULL }, 2616, "tcp" }, + { "appswitch-emp", { NULL }, 2616, "udp" }, + { "cmadmin", { NULL }, 2617, "tcp" }, + { "cmadmin", { NULL }, 2617, "udp" }, + { "priority-e-com", { NULL }, 2618, "tcp" }, + { "priority-e-com", { NULL }, 2618, "udp" }, + { "bruce", { NULL }, 2619, "tcp" }, + { "bruce", { NULL }, 2619, "udp" }, + { "lpsrecommender", { NULL }, 2620, "tcp" }, + { "lpsrecommender", { NULL }, 2620, "udp" }, + { "miles-apart", { NULL }, 2621, "tcp" }, + { "miles-apart", { NULL }, 2621, "udp" }, + { "metricadbc", { NULL }, 2622, "tcp" }, + { "metricadbc", { NULL }, 2622, "udp" }, + { "lmdp", { NULL }, 2623, "tcp" }, + { "lmdp", { NULL }, 2623, "udp" }, + { "aria", { NULL }, 2624, "tcp" }, + { "aria", { NULL }, 2624, "udp" }, + { "blwnkl-port", { NULL }, 2625, "tcp" }, + { "blwnkl-port", { NULL }, 2625, "udp" }, + { "gbjd816", { NULL }, 2626, "tcp" }, + { "gbjd816", { NULL }, 2626, "udp" }, + { "moshebeeri", { NULL }, 2627, "tcp" }, + { "moshebeeri", { NULL }, 2627, "udp" }, + { "dict", { NULL }, 2628, "tcp" }, + { "dict", { NULL }, 2628, "udp" }, + { "sitaraserver", { NULL }, 2629, "tcp" }, + { "sitaraserver", { NULL }, 2629, "udp" }, + { "sitaramgmt", { NULL }, 2630, "tcp" }, + { "sitaramgmt", { NULL }, 2630, "udp" }, + { "sitaradir", { NULL }, 2631, "tcp" }, + { "sitaradir", { NULL }, 2631, "udp" }, + { "irdg-post", { NULL }, 2632, "tcp" }, + { "irdg-post", { NULL }, 2632, "udp" }, + { "interintelli", { NULL }, 2633, "tcp" }, + { "interintelli", { NULL }, 2633, "udp" }, + { "pk-electronics", { NULL }, 2634, "tcp" }, + { "pk-electronics", { NULL }, 2634, "udp" }, + { "backburner", { NULL }, 2635, "tcp" }, + { "backburner", { NULL }, 2635, "udp" }, + { "solve", { NULL }, 2636, "tcp" }, + { "solve", { NULL }, 2636, "udp" }, + { "imdocsvc", { NULL }, 2637, "tcp" }, + { "imdocsvc", { NULL }, 2637, "udp" }, + { "sybaseanywhere", { NULL }, 2638, "tcp" }, + { "sybaseanywhere", { NULL }, 2638, "udp" }, + { "aminet", { NULL }, 2639, "tcp" }, + { "aminet", { NULL }, 2639, "udp" }, + { "sai_sentlm", { NULL }, 2640, "tcp" }, + { "sai_sentlm", { NULL }, 2640, "udp" }, + { "hdl-srv", { NULL }, 2641, "tcp" }, + { "hdl-srv", { NULL }, 2641, "udp" }, + { "tragic", { NULL }, 2642, "tcp" }, + { "tragic", { NULL }, 2642, "udp" }, + { "gte-samp", { NULL }, 2643, "tcp" }, + { "gte-samp", { NULL }, 2643, "udp" }, + { "travsoft-ipx-t", { NULL }, 2644, "tcp" }, + { "travsoft-ipx-t", { NULL }, 2644, "udp" }, + { "novell-ipx-cmd", { NULL }, 2645, "tcp" }, + { "novell-ipx-cmd", { NULL }, 2645, "udp" }, + { "and-lm", { NULL }, 2646, "tcp" }, + { "and-lm", { NULL }, 2646, "udp" }, + { "syncserver", { NULL }, 2647, "tcp" }, + { "syncserver", { NULL }, 2647, "udp" }, + { "upsnotifyprot", { NULL }, 2648, "tcp" }, + { "upsnotifyprot", { NULL }, 2648, "udp" }, + { "vpsipport", { NULL }, 2649, "tcp" }, + { "vpsipport", { NULL }, 2649, "udp" }, + { "eristwoguns", { NULL }, 2650, "tcp" }, + { "eristwoguns", { NULL }, 2650, "udp" }, + { "ebinsite", { NULL }, 2651, "tcp" }, + { "ebinsite", { NULL }, 2651, "udp" }, + { "interpathpanel", { NULL }, 2652, "tcp" }, + { "interpathpanel", { NULL }, 2652, "udp" }, + { "sonus", { NULL }, 2653, "tcp" }, + { "sonus", { NULL }, 2653, "udp" }, + { "corel_vncadmin", { NULL }, 2654, "tcp" }, + { "corel_vncadmin", { NULL }, 2654, "udp" }, + { "unglue", { NULL }, 2655, "tcp" }, + { "unglue", { NULL }, 2655, "udp" }, + { "kana", { NULL }, 2656, "tcp" }, + { "kana", { NULL }, 2656, "udp" }, + { "sns-dispatcher", { NULL }, 2657, "tcp" }, + { "sns-dispatcher", { NULL }, 2657, "udp" }, + { "sns-admin", { NULL }, 2658, "tcp" }, + { "sns-admin", { NULL }, 2658, "udp" }, + { "sns-query", { NULL }, 2659, "tcp" }, + { "sns-query", { NULL }, 2659, "udp" }, + { "gcmonitor", { NULL }, 2660, "tcp" }, + { "gcmonitor", { NULL }, 2660, "udp" }, + { "olhost", { NULL }, 2661, "tcp" }, + { "olhost", { NULL }, 2661, "udp" }, + { "bintec-capi", { NULL }, 2662, "tcp" }, + { "bintec-capi", { NULL }, 2662, "udp" }, + { "bintec-tapi", { NULL }, 2663, "tcp" }, + { "bintec-tapi", { NULL }, 2663, "udp" }, + { "patrol-mq-gm", { NULL }, 2664, "tcp" }, + { "patrol-mq-gm", { NULL }, 2664, "udp" }, + { "patrol-mq-nm", { NULL }, 2665, "tcp" }, + { "patrol-mq-nm", { NULL }, 2665, "udp" }, + { "extensis", { NULL }, 2666, "tcp" }, + { "extensis", { NULL }, 2666, "udp" }, + { "alarm-clock-s", { NULL }, 2667, "tcp" }, + { "alarm-clock-s", { NULL }, 2667, "udp" }, + { "alarm-clock-c", { NULL }, 2668, "tcp" }, + { "alarm-clock-c", { NULL }, 2668, "udp" }, + { "toad", { NULL }, 2669, "tcp" }, + { "toad", { NULL }, 2669, "udp" }, + { "tve-announce", { NULL }, 2670, "tcp" }, + { "tve-announce", { NULL }, 2670, "udp" }, + { "newlixreg", { NULL }, 2671, "tcp" }, + { "newlixreg", { NULL }, 2671, "udp" }, + { "nhserver", { NULL }, 2672, "tcp" }, + { "nhserver", { NULL }, 2672, "udp" }, + { "firstcall42", { NULL }, 2673, "tcp" }, + { "firstcall42", { NULL }, 2673, "udp" }, + { "ewnn", { NULL }, 2674, "tcp" }, + { "ewnn", { NULL }, 2674, "udp" }, + { "ttc-etap", { NULL }, 2675, "tcp" }, + { "ttc-etap", { NULL }, 2675, "udp" }, + { "simslink", { NULL }, 2676, "tcp" }, + { "simslink", { NULL }, 2676, "udp" }, + { "gadgetgate1way", { NULL }, 2677, "tcp" }, + { "gadgetgate1way", { NULL }, 2677, "udp" }, + { "gadgetgate2way", { NULL }, 2678, "tcp" }, + { "gadgetgate2way", { NULL }, 2678, "udp" }, + { "syncserverssl", { NULL }, 2679, "tcp" }, + { "syncserverssl", { NULL }, 2679, "udp" }, + { "pxc-sapxom", { NULL }, 2680, "tcp" }, + { "pxc-sapxom", { NULL }, 2680, "udp" }, + { "mpnjsomb", { NULL }, 2681, "tcp" }, + { "mpnjsomb", { NULL }, 2681, "udp" }, + { "ncdloadbalance", { NULL }, 2683, "tcp" }, + { "ncdloadbalance", { NULL }, 2683, "udp" }, + { "mpnjsosv", { NULL }, 2684, "tcp" }, + { "mpnjsosv", { NULL }, 2684, "udp" }, + { "mpnjsocl", { NULL }, 2685, "tcp" }, + { "mpnjsocl", { NULL }, 2685, "udp" }, + { "mpnjsomg", { NULL }, 2686, "tcp" }, + { "mpnjsomg", { NULL }, 2686, "udp" }, + { "pq-lic-mgmt", { NULL }, 2687, "tcp" }, + { "pq-lic-mgmt", { NULL }, 2687, "udp" }, + { "md-cg-http", { NULL }, 2688, "tcp" }, + { "md-cg-http", { NULL }, 2688, "udp" }, + { "fastlynx", { NULL }, 2689, "tcp" }, + { "fastlynx", { NULL }, 2689, "udp" }, + { "hp-nnm-data", { NULL }, 2690, "tcp" }, + { "hp-nnm-data", { NULL }, 2690, "udp" }, + { "itinternet", { NULL }, 2691, "tcp" }, + { "itinternet", { NULL }, 2691, "udp" }, + { "admins-lms", { NULL }, 2692, "tcp" }, + { "admins-lms", { NULL }, 2692, "udp" }, + { "pwrsevent", { NULL }, 2694, "tcp" }, + { "pwrsevent", { NULL }, 2694, "udp" }, + { "vspread", { NULL }, 2695, "tcp" }, + { "vspread", { NULL }, 2695, "udp" }, + { "unifyadmin", { NULL }, 2696, "tcp" }, + { "unifyadmin", { NULL }, 2696, "udp" }, + { "oce-snmp-trap", { NULL }, 2697, "tcp" }, + { "oce-snmp-trap", { NULL }, 2697, "udp" }, + { "mck-ivpip", { NULL }, 2698, "tcp" }, + { "mck-ivpip", { NULL }, 2698, "udp" }, + { "csoft-plusclnt", { NULL }, 2699, "tcp" }, + { "csoft-plusclnt", { NULL }, 2699, "udp" }, + { "tqdata", { NULL }, 2700, "tcp" }, + { "tqdata", { NULL }, 2700, "udp" }, + { "sms-rcinfo", { NULL }, 2701, "tcp" }, + { "sms-rcinfo", { NULL }, 2701, "udp" }, + { "sms-xfer", { NULL }, 2702, "tcp" }, + { "sms-xfer", { NULL }, 2702, "udp" }, + { "sms-chat", { NULL }, 2703, "tcp" }, + { "sms-chat", { NULL }, 2703, "udp" }, + { "sms-remctrl", { NULL }, 2704, "tcp" }, + { "sms-remctrl", { NULL }, 2704, "udp" }, + { "sds-admin", { NULL }, 2705, "tcp" }, + { "sds-admin", { NULL }, 2705, "udp" }, + { "ncdmirroring", { NULL }, 2706, "tcp" }, + { "ncdmirroring", { NULL }, 2706, "udp" }, + { "emcsymapiport", { NULL }, 2707, "tcp" }, + { "emcsymapiport", { NULL }, 2707, "udp" }, + { "banyan-net", { NULL }, 2708, "tcp" }, + { "banyan-net", { NULL }, 2708, "udp" }, + { "supermon", { NULL }, 2709, "tcp" }, + { "supermon", { NULL }, 2709, "udp" }, + { "sso-service", { NULL }, 2710, "tcp" }, + { "sso-service", { NULL }, 2710, "udp" }, + { "sso-control", { NULL }, 2711, "tcp" }, + { "sso-control", { NULL }, 2711, "udp" }, + { "aocp", { NULL }, 2712, "tcp" }, + { "aocp", { NULL }, 2712, "udp" }, + { "raventbs", { NULL }, 2713, "tcp" }, + { "raventbs", { NULL }, 2713, "udp" }, + { "raventdm", { NULL }, 2714, "tcp" }, + { "raventdm", { NULL }, 2714, "udp" }, + { "hpstgmgr2", { NULL }, 2715, "tcp" }, + { "hpstgmgr2", { NULL }, 2715, "udp" }, + { "inova-ip-disco", { NULL }, 2716, "tcp" }, + { "inova-ip-disco", { NULL }, 2716, "udp" }, + { "pn-requester", { NULL }, 2717, "tcp" }, + { "pn-requester", { NULL }, 2717, "udp" }, + { "pn-requester2", { NULL }, 2718, "tcp" }, + { "pn-requester2", { NULL }, 2718, "udp" }, + { "scan-change", { NULL }, 2719, "tcp" }, + { "scan-change", { NULL }, 2719, "udp" }, + { "wkars", { NULL }, 2720, "tcp" }, + { "wkars", { NULL }, 2720, "udp" }, + { "smart-diagnose", { NULL }, 2721, "tcp" }, + { "smart-diagnose", { NULL }, 2721, "udp" }, + { "proactivesrvr", { NULL }, 2722, "tcp" }, + { "proactivesrvr", { NULL }, 2722, "udp" }, + { "watchdog-nt", { NULL }, 2723, "tcp" }, + { "watchdog-nt", { NULL }, 2723, "udp" }, + { "qotps", { NULL }, 2724, "tcp" }, + { "qotps", { NULL }, 2724, "udp" }, + { "msolap-ptp2", { NULL }, 2725, "tcp" }, + { "msolap-ptp2", { NULL }, 2725, "udp" }, + { "tams", { NULL }, 2726, "tcp" }, + { "tams", { NULL }, 2726, "udp" }, + { "mgcp-callagent", { NULL }, 2727, "tcp" }, + { "mgcp-callagent", { NULL }, 2727, "udp" }, + { "sqdr", { NULL }, 2728, "tcp" }, + { "sqdr", { NULL }, 2728, "udp" }, + { "tcim-control", { NULL }, 2729, "tcp" }, + { "tcim-control", { NULL }, 2729, "udp" }, + { "nec-raidplus", { NULL }, 2730, "tcp" }, + { "nec-raidplus", { NULL }, 2730, "udp" }, + { "fyre-messanger", { NULL }, 2731, "tcp" }, + { "fyre-messanger", { NULL }, 2731, "udp" }, + { "g5m", { NULL }, 2732, "tcp" }, + { "g5m", { NULL }, 2732, "udp" }, + { "signet-ctf", { NULL }, 2733, "tcp" }, + { "signet-ctf", { NULL }, 2733, "udp" }, + { "ccs-software", { NULL }, 2734, "tcp" }, + { "ccs-software", { NULL }, 2734, "udp" }, + { "netiq-mc", { NULL }, 2735, "tcp" }, + { "netiq-mc", { NULL }, 2735, "udp" }, + { "radwiz-nms-srv", { NULL }, 2736, "tcp" }, + { "radwiz-nms-srv", { NULL }, 2736, "udp" }, + { "srp-feedback", { NULL }, 2737, "tcp" }, + { "srp-feedback", { NULL }, 2737, "udp" }, + { "ndl-tcp-ois-gw", { NULL }, 2738, "tcp" }, + { "ndl-tcp-ois-gw", { NULL }, 2738, "udp" }, + { "tn-timing", { NULL }, 2739, "tcp" }, + { "tn-timing", { NULL }, 2739, "udp" }, + { "alarm", { NULL }, 2740, "tcp" }, + { "alarm", { NULL }, 2740, "udp" }, + { "tsb", { NULL }, 2741, "tcp" }, + { "tsb", { NULL }, 2741, "udp" }, + { "tsb2", { NULL }, 2742, "tcp" }, + { "tsb2", { NULL }, 2742, "udp" }, + { "murx", { NULL }, 2743, "tcp" }, + { "murx", { NULL }, 2743, "udp" }, + { "honyaku", { NULL }, 2744, "tcp" }, + { "honyaku", { NULL }, 2744, "udp" }, + { "urbisnet", { NULL }, 2745, "tcp" }, + { "urbisnet", { NULL }, 2745, "udp" }, + { "cpudpencap", { NULL }, 2746, "tcp" }, + { "cpudpencap", { NULL }, 2746, "udp" }, + { "fjippol-swrly", { NULL }, 2747, "tcp" }, + { "fjippol-swrly", { NULL }, 2747, "udp" }, + { "fjippol-polsvr", { NULL }, 2748, "tcp" }, + { "fjippol-polsvr", { NULL }, 2748, "udp" }, + { "fjippol-cnsl", { NULL }, 2749, "tcp" }, + { "fjippol-cnsl", { NULL }, 2749, "udp" }, + { "fjippol-port1", { NULL }, 2750, "tcp" }, + { "fjippol-port1", { NULL }, 2750, "udp" }, + { "fjippol-port2", { NULL }, 2751, "tcp" }, + { "fjippol-port2", { NULL }, 2751, "udp" }, + { "rsisysaccess", { NULL }, 2752, "tcp" }, + { "rsisysaccess", { NULL }, 2752, "udp" }, + { "de-spot", { NULL }, 2753, "tcp" }, + { "de-spot", { NULL }, 2753, "udp" }, + { "apollo-cc", { NULL }, 2754, "tcp" }, + { "apollo-cc", { NULL }, 2754, "udp" }, + { "expresspay", { NULL }, 2755, "tcp" }, + { "expresspay", { NULL }, 2755, "udp" }, + { "simplement-tie", { NULL }, 2756, "tcp" }, + { "simplement-tie", { NULL }, 2756, "udp" }, + { "cnrp", { NULL }, 2757, "tcp" }, + { "cnrp", { NULL }, 2757, "udp" }, + { "apollo-status", { NULL }, 2758, "tcp" }, + { "apollo-status", { NULL }, 2758, "udp" }, + { "apollo-gms", { NULL }, 2759, "tcp" }, + { "apollo-gms", { NULL }, 2759, "udp" }, + { "sabams", { NULL }, 2760, "tcp" }, + { "sabams", { NULL }, 2760, "udp" }, + { "dicom-iscl", { NULL }, 2761, "tcp" }, + { "dicom-iscl", { NULL }, 2761, "udp" }, + { "dicom-tls", { NULL }, 2762, "tcp" }, + { "dicom-tls", { NULL }, 2762, "udp" }, + { "desktop-dna", { NULL }, 2763, "tcp" }, + { "desktop-dna", { NULL }, 2763, "udp" }, + { "data-insurance", { NULL }, 2764, "tcp" }, + { "data-insurance", { NULL }, 2764, "udp" }, + { "qip-audup", { NULL }, 2765, "tcp" }, + { "qip-audup", { NULL }, 2765, "udp" }, + { "compaq-scp", { NULL }, 2766, "tcp" }, + { "compaq-scp", { NULL }, 2766, "udp" }, + { "uadtc", { NULL }, 2767, "tcp" }, + { "uadtc", { NULL }, 2767, "udp" }, + { "uacs", { NULL }, 2768, "tcp" }, + { "uacs", { NULL }, 2768, "udp" }, + { "exce", { NULL }, 2769, "tcp" }, + { "exce", { NULL }, 2769, "udp" }, + { "veronica", { NULL }, 2770, "tcp" }, + { "veronica", { NULL }, 2770, "udp" }, + { "vergencecm", { NULL }, 2771, "tcp" }, + { "vergencecm", { NULL }, 2771, "udp" }, + { "auris", { NULL }, 2772, "tcp" }, + { "auris", { NULL }, 2772, "udp" }, + { "rbakcup1", { NULL }, 2773, "tcp" }, + { "rbakcup1", { NULL }, 2773, "udp" }, + { "rbakcup2", { NULL }, 2774, "tcp" }, + { "rbakcup2", { NULL }, 2774, "udp" }, + { "smpp", { NULL }, 2775, "tcp" }, + { "smpp", { NULL }, 2775, "udp" }, + { "ridgeway1", { NULL }, 2776, "tcp" }, + { "ridgeway1", { NULL }, 2776, "udp" }, + { "ridgeway2", { NULL }, 2777, "tcp" }, + { "ridgeway2", { NULL }, 2777, "udp" }, + { "gwen-sonya", { NULL }, 2778, "tcp" }, + { "gwen-sonya", { NULL }, 2778, "udp" }, + { "lbc-sync", { NULL }, 2779, "tcp" }, + { "lbc-sync", { NULL }, 2779, "udp" }, + { "lbc-control", { NULL }, 2780, "tcp" }, + { "lbc-control", { NULL }, 2780, "udp" }, + { "whosells", { NULL }, 2781, "tcp" }, + { "whosells", { NULL }, 2781, "udp" }, + { "everydayrc", { NULL }, 2782, "tcp" }, + { "everydayrc", { NULL }, 2782, "udp" }, + { "aises", { NULL }, 2783, "tcp" }, + { "aises", { NULL }, 2783, "udp" }, + { "www-dev", { NULL }, 2784, "tcp" }, + { "www-dev", { NULL }, 2784, "udp" }, + { "aic-np", { NULL }, 2785, "tcp" }, + { "aic-np", { NULL }, 2785, "udp" }, + { "aic-oncrpc", { NULL }, 2786, "tcp" }, + { "aic-oncrpc", { NULL }, 2786, "udp" }, + { "piccolo", { NULL }, 2787, "tcp" }, + { "piccolo", { NULL }, 2787, "udp" }, + { "fryeserv", { NULL }, 2788, "tcp" }, + { "fryeserv", { NULL }, 2788, "udp" }, + { "media-agent", { NULL }, 2789, "tcp" }, + { "media-agent", { NULL }, 2789, "udp" }, + { "plgproxy", { NULL }, 2790, "tcp" }, + { "plgproxy", { NULL }, 2790, "udp" }, + { "mtport-regist", { NULL }, 2791, "tcp" }, + { "mtport-regist", { NULL }, 2791, "udp" }, + { "f5-globalsite", { NULL }, 2792, "tcp" }, + { "f5-globalsite", { NULL }, 2792, "udp" }, + { "initlsmsad", { NULL }, 2793, "tcp" }, + { "initlsmsad", { NULL }, 2793, "udp" }, + { "livestats", { NULL }, 2795, "tcp" }, + { "livestats", { NULL }, 2795, "udp" }, + { "ac-tech", { NULL }, 2796, "tcp" }, + { "ac-tech", { NULL }, 2796, "udp" }, + { "esp-encap", { NULL }, 2797, "tcp" }, + { "esp-encap", { NULL }, 2797, "udp" }, + { "tmesis-upshot", { NULL }, 2798, "tcp" }, + { "tmesis-upshot", { NULL }, 2798, "udp" }, + { "icon-discover", { NULL }, 2799, "tcp" }, + { "icon-discover", { NULL }, 2799, "udp" }, + { "acc-raid", { NULL }, 2800, "tcp" }, + { "acc-raid", { NULL }, 2800, "udp" }, + { "igcp", { NULL }, 2801, "tcp" }, + { "igcp", { NULL }, 2801, "udp" }, + { "veritas-tcp1", { NULL }, 2802, "tcp" }, + { "veritas-udp1", { NULL }, 2802, "udp" }, + { "btprjctrl", { NULL }, 2803, "tcp" }, + { "btprjctrl", { NULL }, 2803, "udp" }, + { "dvr-esm", { NULL }, 2804, "tcp" }, + { "dvr-esm", { NULL }, 2804, "udp" }, + { "wta-wsp-s", { NULL }, 2805, "tcp" }, + { "wta-wsp-s", { NULL }, 2805, "udp" }, + { "cspuni", { NULL }, 2806, "tcp" }, + { "cspuni", { NULL }, 2806, "udp" }, + { "cspmulti", { NULL }, 2807, "tcp" }, + { "cspmulti", { NULL }, 2807, "udp" }, + { "j-lan-p", { NULL }, 2808, "tcp" }, + { "j-lan-p", { NULL }, 2808, "udp" }, + { "corbaloc", { NULL }, 2809, "tcp" }, + { "corbaloc", { NULL }, 2809, "udp" }, + { "netsteward", { NULL }, 2810, "tcp" }, + { "netsteward", { NULL }, 2810, "udp" }, + { "gsiftp", { NULL }, 2811, "tcp" }, + { "gsiftp", { NULL }, 2811, "udp" }, + { "atmtcp", { NULL }, 2812, "tcp" }, + { "atmtcp", { NULL }, 2812, "udp" }, + { "llm-pass", { NULL }, 2813, "tcp" }, + { "llm-pass", { NULL }, 2813, "udp" }, + { "llm-csv", { NULL }, 2814, "tcp" }, + { "llm-csv", { NULL }, 2814, "udp" }, + { "lbc-measure", { NULL }, 2815, "tcp" }, + { "lbc-measure", { NULL }, 2815, "udp" }, + { "lbc-watchdog", { NULL }, 2816, "tcp" }, + { "lbc-watchdog", { NULL }, 2816, "udp" }, + { "nmsigport", { NULL }, 2817, "tcp" }, + { "nmsigport", { NULL }, 2817, "udp" }, + { "rmlnk", { NULL }, 2818, "tcp" }, + { "rmlnk", { NULL }, 2818, "udp" }, + { "fc-faultnotify", { NULL }, 2819, "tcp" }, + { "fc-faultnotify", { NULL }, 2819, "udp" }, + { "univision", { NULL }, 2820, "tcp" }, + { "univision", { NULL }, 2820, "udp" }, + { "vrts-at-port", { NULL }, 2821, "tcp" }, + { "vrts-at-port", { NULL }, 2821, "udp" }, + { "ka0wuc", { NULL }, 2822, "tcp" }, + { "ka0wuc", { NULL }, 2822, "udp" }, + { "cqg-netlan", { NULL }, 2823, "tcp" }, + { "cqg-netlan", { NULL }, 2823, "udp" }, + { "cqg-netlan-1", { NULL }, 2824, "tcp" }, + { "cqg-netlan-1", { NULL }, 2824, "udp" }, + { "slc-systemlog", { NULL }, 2826, "tcp" }, + { "slc-systemlog", { NULL }, 2826, "udp" }, + { "slc-ctrlrloops", { NULL }, 2827, "tcp" }, + { "slc-ctrlrloops", { NULL }, 2827, "udp" }, + { "itm-lm", { NULL }, 2828, "tcp" }, + { "itm-lm", { NULL }, 2828, "udp" }, + { "silkp1", { NULL }, 2829, "tcp" }, + { "silkp1", { NULL }, 2829, "udp" }, + { "silkp2", { NULL }, 2830, "tcp" }, + { "silkp2", { NULL }, 2830, "udp" }, + { "silkp3", { NULL }, 2831, "tcp" }, + { "silkp3", { NULL }, 2831, "udp" }, + { "silkp4", { NULL }, 2832, "tcp" }, + { "silkp4", { NULL }, 2832, "udp" }, + { "glishd", { NULL }, 2833, "tcp" }, + { "glishd", { NULL }, 2833, "udp" }, + { "evtp", { NULL }, 2834, "tcp" }, + { "evtp", { NULL }, 2834, "udp" }, + { "evtp-data", { NULL }, 2835, "tcp" }, + { "evtp-data", { NULL }, 2835, "udp" }, + { "catalyst", { NULL }, 2836, "tcp" }, + { "catalyst", { NULL }, 2836, "udp" }, + { "repliweb", { NULL }, 2837, "tcp" }, + { "repliweb", { NULL }, 2837, "udp" }, + { "starbot", { NULL }, 2838, "tcp" }, + { "starbot", { NULL }, 2838, "udp" }, + { "nmsigport", { NULL }, 2839, "tcp" }, + { "nmsigport", { NULL }, 2839, "udp" }, + { "l3-exprt", { NULL }, 2840, "tcp" }, + { "l3-exprt", { NULL }, 2840, "udp" }, + { "l3-ranger", { NULL }, 2841, "tcp" }, + { "l3-ranger", { NULL }, 2841, "udp" }, + { "l3-hawk", { NULL }, 2842, "tcp" }, + { "l3-hawk", { NULL }, 2842, "udp" }, + { "pdnet", { NULL }, 2843, "tcp" }, + { "pdnet", { NULL }, 2843, "udp" }, + { "bpcp-poll", { NULL }, 2844, "tcp" }, + { "bpcp-poll", { NULL }, 2844, "udp" }, + { "bpcp-trap", { NULL }, 2845, "tcp" }, + { "bpcp-trap", { NULL }, 2845, "udp" }, + { "aimpp-hello", { NULL }, 2846, "tcp" }, + { "aimpp-hello", { NULL }, 2846, "udp" }, + { "aimpp-port-req", { NULL }, 2847, "tcp" }, + { "aimpp-port-req", { NULL }, 2847, "udp" }, + { "amt-blc-port", { NULL }, 2848, "tcp" }, + { "amt-blc-port", { NULL }, 2848, "udp" }, + { "fxp", { NULL }, 2849, "tcp" }, + { "fxp", { NULL }, 2849, "udp" }, + { "metaconsole", { NULL }, 2850, "tcp" }, + { "metaconsole", { NULL }, 2850, "udp" }, + { "webemshttp", { NULL }, 2851, "tcp" }, + { "webemshttp", { NULL }, 2851, "udp" }, + { "bears-01", { NULL }, 2852, "tcp" }, + { "bears-01", { NULL }, 2852, "udp" }, + { "ispipes", { NULL }, 2853, "tcp" }, + { "ispipes", { NULL }, 2853, "udp" }, + { "infomover", { NULL }, 2854, "tcp" }, + { "infomover", { NULL }, 2854, "udp" }, + { "msrp", { NULL }, 2855, "tcp" }, + { "msrp", { NULL }, 2855, "udp" }, + { "cesdinv", { NULL }, 2856, "tcp" }, + { "cesdinv", { NULL }, 2856, "udp" }, + { "simctlp", { NULL }, 2857, "tcp" }, + { "simctlp", { NULL }, 2857, "udp" }, + { "ecnp", { NULL }, 2858, "tcp" }, + { "ecnp", { NULL }, 2858, "udp" }, + { "activememory", { NULL }, 2859, "tcp" }, + { "activememory", { NULL }, 2859, "udp" }, + { "dialpad-voice1", { NULL }, 2860, "tcp" }, + { "dialpad-voice1", { NULL }, 2860, "udp" }, + { "dialpad-voice2", { NULL }, 2861, "tcp" }, + { "dialpad-voice2", { NULL }, 2861, "udp" }, + { "ttg-protocol", { NULL }, 2862, "tcp" }, + { "ttg-protocol", { NULL }, 2862, "udp" }, + { "sonardata", { NULL }, 2863, "tcp" }, + { "sonardata", { NULL }, 2863, "udp" }, + { "astromed-main", { NULL }, 2864, "tcp" }, + { "astromed-main", { NULL }, 2864, "udp" }, + { "pit-vpn", { NULL }, 2865, "tcp" }, + { "pit-vpn", { NULL }, 2865, "udp" }, + { "iwlistener", { NULL }, 2866, "tcp" }, + { "iwlistener", { NULL }, 2866, "udp" }, + { "esps-portal", { NULL }, 2867, "tcp" }, + { "esps-portal", { NULL }, 2867, "udp" }, + { "npep-messaging", { NULL }, 2868, "tcp" }, + { "npep-messaging", { NULL }, 2868, "udp" }, + { "icslap", { NULL }, 2869, "tcp" }, + { "icslap", { NULL }, 2869, "udp" }, + { "daishi", { NULL }, 2870, "tcp" }, + { "daishi", { NULL }, 2870, "udp" }, + { "msi-selectplay", { NULL }, 2871, "tcp" }, + { "msi-selectplay", { NULL }, 2871, "udp" }, + { "radix", { NULL }, 2872, "tcp" }, + { "radix", { NULL }, 2872, "udp" }, + { "dxmessagebase1", { NULL }, 2874, "tcp" }, + { "dxmessagebase1", { NULL }, 2874, "udp" }, + { "dxmessagebase2", { NULL }, 2875, "tcp" }, + { "dxmessagebase2", { NULL }, 2875, "udp" }, + { "sps-tunnel", { NULL }, 2876, "tcp" }, + { "sps-tunnel", { NULL }, 2876, "udp" }, + { "bluelance", { NULL }, 2877, "tcp" }, + { "bluelance", { NULL }, 2877, "udp" }, + { "aap", { NULL }, 2878, "tcp" }, + { "aap", { NULL }, 2878, "udp" }, + { "ucentric-ds", { NULL }, 2879, "tcp" }, + { "ucentric-ds", { NULL }, 2879, "udp" }, + { "synapse", { NULL }, 2880, "tcp" }, + { "synapse", { NULL }, 2880, "udp" }, + { "ndsp", { NULL }, 2881, "tcp" }, + { "ndsp", { NULL }, 2881, "udp" }, + { "ndtp", { NULL }, 2882, "tcp" }, + { "ndtp", { NULL }, 2882, "udp" }, + { "ndnp", { NULL }, 2883, "tcp" }, + { "ndnp", { NULL }, 2883, "udp" }, + { "flashmsg", { NULL }, 2884, "tcp" }, + { "flashmsg", { NULL }, 2884, "udp" }, + { "topflow", { NULL }, 2885, "tcp" }, + { "topflow", { NULL }, 2885, "udp" }, + { "responselogic", { NULL }, 2886, "tcp" }, + { "responselogic", { NULL }, 2886, "udp" }, + { "aironetddp", { NULL }, 2887, "tcp" }, + { "aironetddp", { NULL }, 2887, "udp" }, + { "spcsdlobby", { NULL }, 2888, "tcp" }, + { "spcsdlobby", { NULL }, 2888, "udp" }, + { "rsom", { NULL }, 2889, "tcp" }, + { "rsom", { NULL }, 2889, "udp" }, + { "cspclmulti", { NULL }, 2890, "tcp" }, + { "cspclmulti", { NULL }, 2890, "udp" }, + { "cinegrfx-elmd", { NULL }, 2891, "tcp" }, + { "cinegrfx-elmd", { NULL }, 2891, "udp" }, + { "snifferdata", { NULL }, 2892, "tcp" }, + { "snifferdata", { NULL }, 2892, "udp" }, + { "vseconnector", { NULL }, 2893, "tcp" }, + { "vseconnector", { NULL }, 2893, "udp" }, + { "abacus-remote", { NULL }, 2894, "tcp" }, + { "abacus-remote", { NULL }, 2894, "udp" }, + { "natuslink", { NULL }, 2895, "tcp" }, + { "natuslink", { NULL }, 2895, "udp" }, + { "ecovisiong6-1", { NULL }, 2896, "tcp" }, + { "ecovisiong6-1", { NULL }, 2896, "udp" }, + { "citrix-rtmp", { NULL }, 2897, "tcp" }, + { "citrix-rtmp", { NULL }, 2897, "udp" }, + { "appliance-cfg", { NULL }, 2898, "tcp" }, + { "appliance-cfg", { NULL }, 2898, "udp" }, + { "powergemplus", { NULL }, 2899, "tcp" }, + { "powergemplus", { NULL }, 2899, "udp" }, + { "quicksuite", { NULL }, 2900, "tcp" }, + { "quicksuite", { NULL }, 2900, "udp" }, + { "allstorcns", { NULL }, 2901, "tcp" }, + { "allstorcns", { NULL }, 2901, "udp" }, + { "netaspi", { NULL }, 2902, "tcp" }, + { "netaspi", { NULL }, 2902, "udp" }, + { "suitcase", { NULL }, 2903, "tcp" }, + { "suitcase", { NULL }, 2903, "udp" }, + { "m2ua", { NULL }, 2904, "tcp" }, + { "m2ua", { NULL }, 2904, "udp" }, + { "m2ua", { NULL }, 2904, "sctp" }, + { "m3ua", { NULL }, 2905, "tcp" }, + { "m3ua", { NULL }, 2905, "sctp" }, + { "caller9", { NULL }, 2906, "tcp" }, + { "caller9", { NULL }, 2906, "udp" }, + { "webmethods-b2b", { NULL }, 2907, "tcp" }, + { "webmethods-b2b", { NULL }, 2907, "udp" }, + { "mao", { NULL }, 2908, "tcp" }, + { "mao", { NULL }, 2908, "udp" }, + { "funk-dialout", { NULL }, 2909, "tcp" }, + { "funk-dialout", { NULL }, 2909, "udp" }, + { "tdaccess", { NULL }, 2910, "tcp" }, + { "tdaccess", { NULL }, 2910, "udp" }, + { "blockade", { NULL }, 2911, "tcp" }, + { "blockade", { NULL }, 2911, "udp" }, + { "epicon", { NULL }, 2912, "tcp" }, + { "epicon", { NULL }, 2912, "udp" }, + { "boosterware", { NULL }, 2913, "tcp" }, + { "boosterware", { NULL }, 2913, "udp" }, + { "gamelobby", { NULL }, 2914, "tcp" }, + { "gamelobby", { NULL }, 2914, "udp" }, + { "tksocket", { NULL }, 2915, "tcp" }, + { "tksocket", { NULL }, 2915, "udp" }, + { "elvin_server", { NULL }, 2916, "tcp" }, + { "elvin_server", { NULL }, 2916, "udp" }, + { "elvin_client", { NULL }, 2917, "tcp" }, + { "elvin_client", { NULL }, 2917, "udp" }, + { "kastenchasepad", { NULL }, 2918, "tcp" }, + { "kastenchasepad", { NULL }, 2918, "udp" }, + { "roboer", { NULL }, 2919, "tcp" }, + { "roboer", { NULL }, 2919, "udp" }, + { "roboeda", { NULL }, 2920, "tcp" }, + { "roboeda", { NULL }, 2920, "udp" }, + { "cesdcdman", { NULL }, 2921, "tcp" }, + { "cesdcdman", { NULL }, 2921, "udp" }, + { "cesdcdtrn", { NULL }, 2922, "tcp" }, + { "cesdcdtrn", { NULL }, 2922, "udp" }, + { "wta-wsp-wtp-s", { NULL }, 2923, "tcp" }, + { "wta-wsp-wtp-s", { NULL }, 2923, "udp" }, + { "precise-vip", { NULL }, 2924, "tcp" }, + { "precise-vip", { NULL }, 2924, "udp" }, + { "mobile-file-dl", { NULL }, 2926, "tcp" }, + { "mobile-file-dl", { NULL }, 2926, "udp" }, + { "unimobilectrl", { NULL }, 2927, "tcp" }, + { "unimobilectrl", { NULL }, 2927, "udp" }, + { "redstone-cpss", { NULL }, 2928, "tcp" }, + { "redstone-cpss", { NULL }, 2928, "udp" }, + { "amx-webadmin", { NULL }, 2929, "tcp" }, + { "amx-webadmin", { NULL }, 2929, "udp" }, + { "amx-weblinx", { NULL }, 2930, "tcp" }, + { "amx-weblinx", { NULL }, 2930, "udp" }, + { "circle-x", { NULL }, 2931, "tcp" }, + { "circle-x", { NULL }, 2931, "udp" }, + { "incp", { NULL }, 2932, "tcp" }, + { "incp", { NULL }, 2932, "udp" }, + { "4-tieropmgw", { NULL }, 2933, "tcp" }, + { "4-tieropmgw", { NULL }, 2933, "udp" }, + { "4-tieropmcli", { NULL }, 2934, "tcp" }, + { "4-tieropmcli", { NULL }, 2934, "udp" }, + { "qtp", { NULL }, 2935, "tcp" }, + { "qtp", { NULL }, 2935, "udp" }, + { "otpatch", { NULL }, 2936, "tcp" }, + { "otpatch", { NULL }, 2936, "udp" }, + { "pnaconsult-lm", { NULL }, 2937, "tcp" }, + { "pnaconsult-lm", { NULL }, 2937, "udp" }, + { "sm-pas-1", { NULL }, 2938, "tcp" }, + { "sm-pas-1", { NULL }, 2938, "udp" }, + { "sm-pas-2", { NULL }, 2939, "tcp" }, + { "sm-pas-2", { NULL }, 2939, "udp" }, + { "sm-pas-3", { NULL }, 2940, "tcp" }, + { "sm-pas-3", { NULL }, 2940, "udp" }, + { "sm-pas-4", { NULL }, 2941, "tcp" }, + { "sm-pas-4", { NULL }, 2941, "udp" }, + { "sm-pas-5", { NULL }, 2942, "tcp" }, + { "sm-pas-5", { NULL }, 2942, "udp" }, + { "ttnrepository", { NULL }, 2943, "tcp" }, + { "ttnrepository", { NULL }, 2943, "udp" }, + { "megaco-h248", { NULL }, 2944, "tcp" }, + { "megaco-h248", { NULL }, 2944, "udp" }, + { "megaco-h248", { NULL }, 2944, "sctp" }, + { "h248-binary", { NULL }, 2945, "tcp" }, + { "h248-binary", { NULL }, 2945, "udp" }, + { "h248-binary", { NULL }, 2945, "sctp" }, + { "fjsvmpor", { NULL }, 2946, "tcp" }, + { "fjsvmpor", { NULL }, 2946, "udp" }, + { "gpsd", { NULL }, 2947, "tcp" }, + { "gpsd", { NULL }, 2947, "udp" }, + { "wap-push", { NULL }, 2948, "tcp" }, + { "wap-push", { NULL }, 2948, "udp" }, + { "wap-pushsecure", { NULL }, 2949, "tcp" }, + { "wap-pushsecure", { NULL }, 2949, "udp" }, + { "esip", { NULL }, 2950, "tcp" }, + { "esip", { NULL }, 2950, "udp" }, + { "ottp", { NULL }, 2951, "tcp" }, + { "ottp", { NULL }, 2951, "udp" }, + { "mpfwsas", { NULL }, 2952, "tcp" }, + { "mpfwsas", { NULL }, 2952, "udp" }, + { "ovalarmsrv", { NULL }, 2953, "tcp" }, + { "ovalarmsrv", { NULL }, 2953, "udp" }, + { "ovalarmsrv-cmd", { NULL }, 2954, "tcp" }, + { "ovalarmsrv-cmd", { NULL }, 2954, "udp" }, + { "csnotify", { NULL }, 2955, "tcp" }, + { "csnotify", { NULL }, 2955, "udp" }, + { "ovrimosdbman", { NULL }, 2956, "tcp" }, + { "ovrimosdbman", { NULL }, 2956, "udp" }, + { "jmact5", { NULL }, 2957, "tcp" }, + { "jmact5", { NULL }, 2957, "udp" }, + { "jmact6", { NULL }, 2958, "tcp" }, + { "jmact6", { NULL }, 2958, "udp" }, + { "rmopagt", { NULL }, 2959, "tcp" }, + { "rmopagt", { NULL }, 2959, "udp" }, + { "dfoxserver", { NULL }, 2960, "tcp" }, + { "dfoxserver", { NULL }, 2960, "udp" }, + { "boldsoft-lm", { NULL }, 2961, "tcp" }, + { "boldsoft-lm", { NULL }, 2961, "udp" }, + { "iph-policy-cli", { NULL }, 2962, "tcp" }, + { "iph-policy-cli", { NULL }, 2962, "udp" }, + { "iph-policy-adm", { NULL }, 2963, "tcp" }, + { "iph-policy-adm", { NULL }, 2963, "udp" }, + { "bullant-srap", { NULL }, 2964, "tcp" }, + { "bullant-srap", { NULL }, 2964, "udp" }, + { "bullant-rap", { NULL }, 2965, "tcp" }, + { "bullant-rap", { NULL }, 2965, "udp" }, + { "idp-infotrieve", { NULL }, 2966, "tcp" }, + { "idp-infotrieve", { NULL }, 2966, "udp" }, + { "ssc-agent", { NULL }, 2967, "tcp" }, + { "ssc-agent", { NULL }, 2967, "udp" }, + { "enpp", { NULL }, 2968, "tcp" }, + { "enpp", { NULL }, 2968, "udp" }, + { "essp", { NULL }, 2969, "tcp" }, + { "essp", { NULL }, 2969, "udp" }, + { "index-net", { NULL }, 2970, "tcp" }, + { "index-net", { NULL }, 2970, "udp" }, + { "netclip", { NULL }, 2971, "tcp" }, + { "netclip", { NULL }, 2971, "udp" }, + { "pmsm-webrctl", { NULL }, 2972, "tcp" }, + { "pmsm-webrctl", { NULL }, 2972, "udp" }, + { "svnetworks", { NULL }, 2973, "tcp" }, + { "svnetworks", { NULL }, 2973, "udp" }, + { "signal", { NULL }, 2974, "tcp" }, + { "signal", { NULL }, 2974, "udp" }, + { "fjmpcm", { NULL }, 2975, "tcp" }, + { "fjmpcm", { NULL }, 2975, "udp" }, + { "cns-srv-port", { NULL }, 2976, "tcp" }, + { "cns-srv-port", { NULL }, 2976, "udp" }, + { "ttc-etap-ns", { NULL }, 2977, "tcp" }, + { "ttc-etap-ns", { NULL }, 2977, "udp" }, + { "ttc-etap-ds", { NULL }, 2978, "tcp" }, + { "ttc-etap-ds", { NULL }, 2978, "udp" }, + { "h263-video", { NULL }, 2979, "tcp" }, + { "h263-video", { NULL }, 2979, "udp" }, + { "wimd", { NULL }, 2980, "tcp" }, + { "wimd", { NULL }, 2980, "udp" }, + { "mylxamport", { NULL }, 2981, "tcp" }, + { "mylxamport", { NULL }, 2981, "udp" }, + { "iwb-whiteboard", { NULL }, 2982, "tcp" }, + { "iwb-whiteboard", { NULL }, 2982, "udp" }, + { "netplan", { NULL }, 2983, "tcp" }, + { "netplan", { NULL }, 2983, "udp" }, + { "hpidsadmin", { NULL }, 2984, "tcp" }, + { "hpidsadmin", { NULL }, 2984, "udp" }, + { "hpidsagent", { NULL }, 2985, "tcp" }, + { "hpidsagent", { NULL }, 2985, "udp" }, + { "stonefalls", { NULL }, 2986, "tcp" }, + { "stonefalls", { NULL }, 2986, "udp" }, + { "identify", { NULL }, 2987, "tcp" }, + { "identify", { NULL }, 2987, "udp" }, + { "hippad", { NULL }, 2988, "tcp" }, + { "hippad", { NULL }, 2988, "udp" }, + { "zarkov", { NULL }, 2989, "tcp" }, + { "zarkov", { NULL }, 2989, "udp" }, + { "boscap", { NULL }, 2990, "tcp" }, + { "boscap", { NULL }, 2990, "udp" }, + { "wkstn-mon", { NULL }, 2991, "tcp" }, + { "wkstn-mon", { NULL }, 2991, "udp" }, + { "avenyo", { NULL }, 2992, "tcp" }, + { "avenyo", { NULL }, 2992, "udp" }, + { "veritas-vis1", { NULL }, 2993, "tcp" }, + { "veritas-vis1", { NULL }, 2993, "udp" }, + { "veritas-vis2", { NULL }, 2994, "tcp" }, + { "veritas-vis2", { NULL }, 2994, "udp" }, + { "idrs", { NULL }, 2995, "tcp" }, + { "idrs", { NULL }, 2995, "udp" }, + { "vsixml", { NULL }, 2996, "tcp" }, + { "vsixml", { NULL }, 2996, "udp" }, + { "rebol", { NULL }, 2997, "tcp" }, + { "rebol", { NULL }, 2997, "udp" }, + { "realsecure", { NULL }, 2998, "tcp" }, + { "realsecure", { NULL }, 2998, "udp" }, + { "remoteware-un", { NULL }, 2999, "tcp" }, + { "remoteware-un", { NULL }, 2999, "udp" }, + { "hbci", { NULL }, 3000, "tcp" }, + { "hbci", { NULL }, 3000, "udp" }, + { "remoteware-cl", { NULL }, 3000, "tcp" }, + { "remoteware-cl", { NULL }, 3000, "udp" }, + { "exlm-agent", { NULL }, 3002, "tcp" }, + { "exlm-agent", { NULL }, 3002, "udp" }, + { "remoteware-srv", { NULL }, 3002, "tcp" }, + { "remoteware-srv", { NULL }, 3002, "udp" }, + { "cgms", { NULL }, 3003, "tcp" }, + { "cgms", { NULL }, 3003, "udp" }, + { "csoftragent", { NULL }, 3004, "tcp" }, + { "csoftragent", { NULL }, 3004, "udp" }, + { "geniuslm", { NULL }, 3005, "tcp" }, + { "geniuslm", { NULL }, 3005, "udp" }, + { "ii-admin", { NULL }, 3006, "tcp" }, + { "ii-admin", { NULL }, 3006, "udp" }, + { "lotusmtap", { NULL }, 3007, "tcp" }, + { "lotusmtap", { NULL }, 3007, "udp" }, + { "midnight-tech", { NULL }, 3008, "tcp" }, + { "midnight-tech", { NULL }, 3008, "udp" }, + { "pxc-ntfy", { NULL }, 3009, "tcp" }, + { "pxc-ntfy", { NULL }, 3009, "udp" }, + { "gw", { NULL }, 3010, "tcp" }, + { "ping-pong", { NULL }, 3010, "udp" }, + { "trusted-web", { NULL }, 3011, "tcp" }, + { "trusted-web", { NULL }, 3011, "udp" }, + { "twsdss", { NULL }, 3012, "tcp" }, + { "twsdss", { NULL }, 3012, "udp" }, + { "gilatskysurfer", { NULL }, 3013, "tcp" }, + { "gilatskysurfer", { NULL }, 3013, "udp" }, + { "broker_service", { NULL }, 3014, "tcp" }, + { "broker_service", { NULL }, 3014, "udp" }, + { "nati-dstp", { NULL }, 3015, "tcp" }, + { "nati-dstp", { NULL }, 3015, "udp" }, + { "notify_srvr", { NULL }, 3016, "tcp" }, + { "notify_srvr", { NULL }, 3016, "udp" }, + { "event_listener", { NULL }, 3017, "tcp" }, + { "event_listener", { NULL }, 3017, "udp" }, + { "srvc_registry", { NULL }, 3018, "tcp" }, + { "srvc_registry", { NULL }, 3018, "udp" }, + { "resource_mgr", { NULL }, 3019, "tcp" }, + { "resource_mgr", { NULL }, 3019, "udp" }, + { "cifs", { NULL }, 3020, "tcp" }, + { "cifs", { NULL }, 3020, "udp" }, + { "agriserver", { NULL }, 3021, "tcp" }, + { "agriserver", { NULL }, 3021, "udp" }, + { "csregagent", { NULL }, 3022, "tcp" }, + { "csregagent", { NULL }, 3022, "udp" }, + { "magicnotes", { NULL }, 3023, "tcp" }, + { "magicnotes", { NULL }, 3023, "udp" }, + { "nds_sso", { NULL }, 3024, "tcp" }, + { "nds_sso", { NULL }, 3024, "udp" }, + { "arepa-raft", { NULL }, 3025, "tcp" }, + { "arepa-raft", { NULL }, 3025, "udp" }, + { "agri-gateway", { NULL }, 3026, "tcp" }, + { "agri-gateway", { NULL }, 3026, "udp" }, + { "LiebDevMgmt_C", { NULL }, 3027, "tcp" }, + { "LiebDevMgmt_C", { NULL }, 3027, "udp" }, + { "LiebDevMgmt_DM", { NULL }, 3028, "tcp" }, + { "LiebDevMgmt_DM", { NULL }, 3028, "udp" }, + { "LiebDevMgmt_A", { NULL }, 3029, "tcp" }, + { "LiebDevMgmt_A", { NULL }, 3029, "udp" }, + { "arepa-cas", { NULL }, 3030, "tcp" }, + { "arepa-cas", { NULL }, 3030, "udp" }, + { "eppc", { NULL }, 3031, "tcp" }, + { "eppc", { NULL }, 3031, "udp" }, + { "redwood-chat", { NULL }, 3032, "tcp" }, + { "redwood-chat", { NULL }, 3032, "udp" }, + { "pdb", { NULL }, 3033, "tcp" }, + { "pdb", { NULL }, 3033, "udp" }, + { "osmosis-aeea", { NULL }, 3034, "tcp" }, + { "osmosis-aeea", { NULL }, 3034, "udp" }, + { "fjsv-gssagt", { NULL }, 3035, "tcp" }, + { "fjsv-gssagt", { NULL }, 3035, "udp" }, + { "hagel-dump", { NULL }, 3036, "tcp" }, + { "hagel-dump", { NULL }, 3036, "udp" }, + { "hp-san-mgmt", { NULL }, 3037, "tcp" }, + { "hp-san-mgmt", { NULL }, 3037, "udp" }, + { "santak-ups", { NULL }, 3038, "tcp" }, + { "santak-ups", { NULL }, 3038, "udp" }, + { "cogitate", { NULL }, 3039, "tcp" }, + { "cogitate", { NULL }, 3039, "udp" }, + { "tomato-springs", { NULL }, 3040, "tcp" }, + { "tomato-springs", { NULL }, 3040, "udp" }, + { "di-traceware", { NULL }, 3041, "tcp" }, + { "di-traceware", { NULL }, 3041, "udp" }, + { "journee", { NULL }, 3042, "tcp" }, + { "journee", { NULL }, 3042, "udp" }, + { "brp", { NULL }, 3043, "tcp" }, + { "brp", { NULL }, 3043, "udp" }, + { "epp", { NULL }, 3044, "tcp" }, + { "epp", { NULL }, 3044, "udp" }, + { "responsenet", { NULL }, 3045, "tcp" }, + { "responsenet", { NULL }, 3045, "udp" }, + { "di-ase", { NULL }, 3046, "tcp" }, + { "di-ase", { NULL }, 3046, "udp" }, + { "hlserver", { NULL }, 3047, "tcp" }, + { "hlserver", { NULL }, 3047, "udp" }, + { "pctrader", { NULL }, 3048, "tcp" }, + { "pctrader", { NULL }, 3048, "udp" }, + { "nsws", { NULL }, 3049, "tcp" }, + { "nsws", { NULL }, 3049, "udp" }, + { "gds_db", { NULL }, 3050, "tcp" }, + { "gds_db", { NULL }, 3050, "udp" }, + { "galaxy-server", { NULL }, 3051, "tcp" }, + { "galaxy-server", { NULL }, 3051, "udp" }, + { "apc-3052", { NULL }, 3052, "tcp" }, + { "apc-3052", { NULL }, 3052, "udp" }, + { "dsom-server", { NULL }, 3053, "tcp" }, + { "dsom-server", { NULL }, 3053, "udp" }, + { "amt-cnf-prot", { NULL }, 3054, "tcp" }, + { "amt-cnf-prot", { NULL }, 3054, "udp" }, + { "policyserver", { NULL }, 3055, "tcp" }, + { "policyserver", { NULL }, 3055, "udp" }, + { "cdl-server", { NULL }, 3056, "tcp" }, + { "cdl-server", { NULL }, 3056, "udp" }, + { "goahead-fldup", { NULL }, 3057, "tcp" }, + { "goahead-fldup", { NULL }, 3057, "udp" }, + { "videobeans", { NULL }, 3058, "tcp" }, + { "videobeans", { NULL }, 3058, "udp" }, + { "qsoft", { NULL }, 3059, "tcp" }, + { "qsoft", { NULL }, 3059, "udp" }, + { "interserver", { NULL }, 3060, "tcp" }, + { "interserver", { NULL }, 3060, "udp" }, + { "cautcpd", { NULL }, 3061, "tcp" }, + { "cautcpd", { NULL }, 3061, "udp" }, + { "ncacn-ip-tcp", { NULL }, 3062, "tcp" }, + { "ncacn-ip-tcp", { NULL }, 3062, "udp" }, + { "ncadg-ip-udp", { NULL }, 3063, "tcp" }, + { "ncadg-ip-udp", { NULL }, 3063, "udp" }, + { "rprt", { NULL }, 3064, "tcp" }, + { "rprt", { NULL }, 3064, "udp" }, + { "slinterbase", { NULL }, 3065, "tcp" }, + { "slinterbase", { NULL }, 3065, "udp" }, + { "netattachsdmp", { NULL }, 3066, "tcp" }, + { "netattachsdmp", { NULL }, 3066, "udp" }, + { "fjhpjp", { NULL }, 3067, "tcp" }, + { "fjhpjp", { NULL }, 3067, "udp" }, + { "ls3bcast", { NULL }, 3068, "tcp" }, + { "ls3bcast", { NULL }, 3068, "udp" }, + { "ls3", { NULL }, 3069, "tcp" }, + { "ls3", { NULL }, 3069, "udp" }, + { "mgxswitch", { NULL }, 3070, "tcp" }, + { "mgxswitch", { NULL }, 3070, "udp" }, + { "csd-mgmt-port", { NULL }, 3071, "tcp" }, + { "csd-mgmt-port", { NULL }, 3071, "udp" }, + { "csd-monitor", { NULL }, 3072, "tcp" }, + { "csd-monitor", { NULL }, 3072, "udp" }, + { "vcrp", { NULL }, 3073, "tcp" }, + { "vcrp", { NULL }, 3073, "udp" }, + { "xbox", { NULL }, 3074, "tcp" }, + { "xbox", { NULL }, 3074, "udp" }, + { "orbix-locator", { NULL }, 3075, "tcp" }, + { "orbix-locator", { NULL }, 3075, "udp" }, + { "orbix-config", { NULL }, 3076, "tcp" }, + { "orbix-config", { NULL }, 3076, "udp" }, + { "orbix-loc-ssl", { NULL }, 3077, "tcp" }, + { "orbix-loc-ssl", { NULL }, 3077, "udp" }, + { "orbix-cfg-ssl", { NULL }, 3078, "tcp" }, + { "orbix-cfg-ssl", { NULL }, 3078, "udp" }, + { "lv-frontpanel", { NULL }, 3079, "tcp" }, + { "lv-frontpanel", { NULL }, 3079, "udp" }, + { "stm_pproc", { NULL }, 3080, "tcp" }, + { "stm_pproc", { NULL }, 3080, "udp" }, + { "tl1-lv", { NULL }, 3081, "tcp" }, + { "tl1-lv", { NULL }, 3081, "udp" }, + { "tl1-raw", { NULL }, 3082, "tcp" }, + { "tl1-raw", { NULL }, 3082, "udp" }, + { "tl1-telnet", { NULL }, 3083, "tcp" }, + { "tl1-telnet", { NULL }, 3083, "udp" }, + { "itm-mccs", { NULL }, 3084, "tcp" }, + { "itm-mccs", { NULL }, 3084, "udp" }, + { "pcihreq", { NULL }, 3085, "tcp" }, + { "pcihreq", { NULL }, 3085, "udp" }, + { "jdl-dbkitchen", { NULL }, 3086, "tcp" }, + { "jdl-dbkitchen", { NULL }, 3086, "udp" }, + { "asoki-sma", { NULL }, 3087, "tcp" }, + { "asoki-sma", { NULL }, 3087, "udp" }, + { "xdtp", { NULL }, 3088, "tcp" }, + { "xdtp", { NULL }, 3088, "udp" }, + { "ptk-alink", { NULL }, 3089, "tcp" }, + { "ptk-alink", { NULL }, 3089, "udp" }, + { "stss", { NULL }, 3090, "tcp" }, + { "stss", { NULL }, 3090, "udp" }, + { "1ci-smcs", { NULL }, 3091, "tcp" }, + { "1ci-smcs", { NULL }, 3091, "udp" }, + { "rapidmq-center", { NULL }, 3093, "tcp" }, + { "rapidmq-center", { NULL }, 3093, "udp" }, + { "rapidmq-reg", { NULL }, 3094, "tcp" }, + { "rapidmq-reg", { NULL }, 3094, "udp" }, + { "panasas", { NULL }, 3095, "tcp" }, + { "panasas", { NULL }, 3095, "udp" }, + { "ndl-aps", { NULL }, 3096, "tcp" }, + { "ndl-aps", { NULL }, 3096, "udp" }, + { "itu-bicc-stc", { NULL }, 3097, "sctp" }, + { "umm-port", { NULL }, 3098, "tcp" }, + { "umm-port", { NULL }, 3098, "udp" }, + { "chmd", { NULL }, 3099, "tcp" }, + { "chmd", { NULL }, 3099, "udp" }, + { "opcon-xps", { NULL }, 3100, "tcp" }, + { "opcon-xps", { NULL }, 3100, "udp" }, + { "hp-pxpib", { NULL }, 3101, "tcp" }, + { "hp-pxpib", { NULL }, 3101, "udp" }, + { "slslavemon", { NULL }, 3102, "tcp" }, + { "slslavemon", { NULL }, 3102, "udp" }, + { "autocuesmi", { NULL }, 3103, "tcp" }, + { "autocuesmi", { NULL }, 3103, "udp" }, + { "autocuelog", { NULL }, 3104, "tcp" }, + { "autocuetime", { NULL }, 3104, "udp" }, + { "cardbox", { NULL }, 3105, "tcp" }, + { "cardbox", { NULL }, 3105, "udp" }, + { "cardbox-http", { NULL }, 3106, "tcp" }, + { "cardbox-http", { NULL }, 3106, "udp" }, + { "business", { NULL }, 3107, "tcp" }, + { "business", { NULL }, 3107, "udp" }, + { "geolocate", { NULL }, 3108, "tcp" }, + { "geolocate", { NULL }, 3108, "udp" }, + { "personnel", { NULL }, 3109, "tcp" }, + { "personnel", { NULL }, 3109, "udp" }, + { "sim-control", { NULL }, 3110, "tcp" }, + { "sim-control", { NULL }, 3110, "udp" }, + { "wsynch", { NULL }, 3111, "tcp" }, + { "wsynch", { NULL }, 3111, "udp" }, + { "ksysguard", { NULL }, 3112, "tcp" }, + { "ksysguard", { NULL }, 3112, "udp" }, + { "cs-auth-svr", { NULL }, 3113, "tcp" }, + { "cs-auth-svr", { NULL }, 3113, "udp" }, + { "ccmad", { NULL }, 3114, "tcp" }, + { "ccmad", { NULL }, 3114, "udp" }, + { "mctet-master", { NULL }, 3115, "tcp" }, + { "mctet-master", { NULL }, 3115, "udp" }, + { "mctet-gateway", { NULL }, 3116, "tcp" }, + { "mctet-gateway", { NULL }, 3116, "udp" }, + { "mctet-jserv", { NULL }, 3117, "tcp" }, + { "mctet-jserv", { NULL }, 3117, "udp" }, + { "pkagent", { NULL }, 3118, "tcp" }, + { "pkagent", { NULL }, 3118, "udp" }, + { "d2000kernel", { NULL }, 3119, "tcp" }, + { "d2000kernel", { NULL }, 3119, "udp" }, + { "d2000webserver", { NULL }, 3120, "tcp" }, + { "d2000webserver", { NULL }, 3120, "udp" }, + { "vtr-emulator", { NULL }, 3122, "tcp" }, + { "vtr-emulator", { NULL }, 3122, "udp" }, + { "edix", { NULL }, 3123, "tcp" }, + { "edix", { NULL }, 3123, "udp" }, + { "beacon-port", { NULL }, 3124, "tcp" }, + { "beacon-port", { NULL }, 3124, "udp" }, + { "a13-an", { NULL }, 3125, "tcp" }, + { "a13-an", { NULL }, 3125, "udp" }, + { "ctx-bridge", { NULL }, 3127, "tcp" }, + { "ctx-bridge", { NULL }, 3127, "udp" }, + { "ndl-aas", { NULL }, 3128, "tcp" }, + { "ndl-aas", { NULL }, 3128, "udp" }, + { "netport-id", { NULL }, 3129, "tcp" }, + { "netport-id", { NULL }, 3129, "udp" }, + { "icpv2", { NULL }, 3130, "tcp" }, + { "icpv2", { NULL }, 3130, "udp" }, + { "netbookmark", { NULL }, 3131, "tcp" }, + { "netbookmark", { NULL }, 3131, "udp" }, + { "ms-rule-engine", { NULL }, 3132, "tcp" }, + { "ms-rule-engine", { NULL }, 3132, "udp" }, + { "prism-deploy", { NULL }, 3133, "tcp" }, + { "prism-deploy", { NULL }, 3133, "udp" }, + { "ecp", { NULL }, 3134, "tcp" }, + { "ecp", { NULL }, 3134, "udp" }, + { "peerbook-port", { NULL }, 3135, "tcp" }, + { "peerbook-port", { NULL }, 3135, "udp" }, + { "grubd", { NULL }, 3136, "tcp" }, + { "grubd", { NULL }, 3136, "udp" }, + { "rtnt-1", { NULL }, 3137, "tcp" }, + { "rtnt-1", { NULL }, 3137, "udp" }, + { "rtnt-2", { NULL }, 3138, "tcp" }, + { "rtnt-2", { NULL }, 3138, "udp" }, + { "incognitorv", { NULL }, 3139, "tcp" }, + { "incognitorv", { NULL }, 3139, "udp" }, + { "ariliamulti", { NULL }, 3140, "tcp" }, + { "ariliamulti", { NULL }, 3140, "udp" }, + { "vmodem", { NULL }, 3141, "tcp" }, + { "vmodem", { NULL }, 3141, "udp" }, + { "rdc-wh-eos", { NULL }, 3142, "tcp" }, + { "rdc-wh-eos", { NULL }, 3142, "udp" }, + { "seaview", { NULL }, 3143, "tcp" }, + { "seaview", { NULL }, 3143, "udp" }, + { "tarantella", { NULL }, 3144, "tcp" }, + { "tarantella", { NULL }, 3144, "udp" }, + { "csi-lfap", { NULL }, 3145, "tcp" }, + { "csi-lfap", { NULL }, 3145, "udp" }, + { "bears-02", { NULL }, 3146, "tcp" }, + { "bears-02", { NULL }, 3146, "udp" }, + { "rfio", { NULL }, 3147, "tcp" }, + { "rfio", { NULL }, 3147, "udp" }, + { "nm-game-admin", { NULL }, 3148, "tcp" }, + { "nm-game-admin", { NULL }, 3148, "udp" }, + { "nm-game-server", { NULL }, 3149, "tcp" }, + { "nm-game-server", { NULL }, 3149, "udp" }, + { "nm-asses-admin", { NULL }, 3150, "tcp" }, + { "nm-asses-admin", { NULL }, 3150, "udp" }, + { "nm-assessor", { NULL }, 3151, "tcp" }, + { "nm-assessor", { NULL }, 3151, "udp" }, + { "feitianrockey", { NULL }, 3152, "tcp" }, + { "feitianrockey", { NULL }, 3152, "udp" }, + { "s8-client-port", { NULL }, 3153, "tcp" }, + { "s8-client-port", { NULL }, 3153, "udp" }, + { "ccmrmi", { NULL }, 3154, "tcp" }, + { "ccmrmi", { NULL }, 3154, "udp" }, + { "jpegmpeg", { NULL }, 3155, "tcp" }, + { "jpegmpeg", { NULL }, 3155, "udp" }, + { "indura", { NULL }, 3156, "tcp" }, + { "indura", { NULL }, 3156, "udp" }, + { "e3consultants", { NULL }, 3157, "tcp" }, + { "e3consultants", { NULL }, 3157, "udp" }, + { "stvp", { NULL }, 3158, "tcp" }, + { "stvp", { NULL }, 3158, "udp" }, + { "navegaweb-port", { NULL }, 3159, "tcp" }, + { "navegaweb-port", { NULL }, 3159, "udp" }, + { "tip-app-server", { NULL }, 3160, "tcp" }, + { "tip-app-server", { NULL }, 3160, "udp" }, + { "doc1lm", { NULL }, 3161, "tcp" }, + { "doc1lm", { NULL }, 3161, "udp" }, + { "sflm", { NULL }, 3162, "tcp" }, + { "sflm", { NULL }, 3162, "udp" }, + { "res-sap", { NULL }, 3163, "tcp" }, + { "res-sap", { NULL }, 3163, "udp" }, + { "imprs", { NULL }, 3164, "tcp" }, + { "imprs", { NULL }, 3164, "udp" }, + { "newgenpay", { NULL }, 3165, "tcp" }, + { "newgenpay", { NULL }, 3165, "udp" }, + { "sossecollector", { NULL }, 3166, "tcp" }, + { "sossecollector", { NULL }, 3166, "udp" }, + { "nowcontact", { NULL }, 3167, "tcp" }, + { "nowcontact", { NULL }, 3167, "udp" }, + { "poweronnud", { NULL }, 3168, "tcp" }, + { "poweronnud", { NULL }, 3168, "udp" }, + { "serverview-as", { NULL }, 3169, "tcp" }, + { "serverview-as", { NULL }, 3169, "udp" }, + { "serverview-asn", { NULL }, 3170, "tcp" }, + { "serverview-asn", { NULL }, 3170, "udp" }, + { "serverview-gf", { NULL }, 3171, "tcp" }, + { "serverview-gf", { NULL }, 3171, "udp" }, + { "serverview-rm", { NULL }, 3172, "tcp" }, + { "serverview-rm", { NULL }, 3172, "udp" }, + { "serverview-icc", { NULL }, 3173, "tcp" }, + { "serverview-icc", { NULL }, 3173, "udp" }, + { "armi-server", { NULL }, 3174, "tcp" }, + { "armi-server", { NULL }, 3174, "udp" }, + { "t1-e1-over-ip", { NULL }, 3175, "tcp" }, + { "t1-e1-over-ip", { NULL }, 3175, "udp" }, + { "ars-master", { NULL }, 3176, "tcp" }, + { "ars-master", { NULL }, 3176, "udp" }, + { "phonex-port", { NULL }, 3177, "tcp" }, + { "phonex-port", { NULL }, 3177, "udp" }, + { "radclientport", { NULL }, 3178, "tcp" }, + { "radclientport", { NULL }, 3178, "udp" }, + { "h2gf-w-2m", { NULL }, 3179, "tcp" }, + { "h2gf-w-2m", { NULL }, 3179, "udp" }, + { "mc-brk-srv", { NULL }, 3180, "tcp" }, + { "mc-brk-srv", { NULL }, 3180, "udp" }, + { "bmcpatrolagent", { NULL }, 3181, "tcp" }, + { "bmcpatrolagent", { NULL }, 3181, "udp" }, + { "bmcpatrolrnvu", { NULL }, 3182, "tcp" }, + { "bmcpatrolrnvu", { NULL }, 3182, "udp" }, + { "cops-tls", { NULL }, 3183, "tcp" }, + { "cops-tls", { NULL }, 3183, "udp" }, + { "apogeex-port", { NULL }, 3184, "tcp" }, + { "apogeex-port", { NULL }, 3184, "udp" }, + { "smpppd", { NULL }, 3185, "tcp" }, + { "smpppd", { NULL }, 3185, "udp" }, + { "iiw-port", { NULL }, 3186, "tcp" }, + { "iiw-port", { NULL }, 3186, "udp" }, + { "odi-port", { NULL }, 3187, "tcp" }, + { "odi-port", { NULL }, 3187, "udp" }, + { "brcm-comm-port", { NULL }, 3188, "tcp" }, + { "brcm-comm-port", { NULL }, 3188, "udp" }, + { "pcle-infex", { NULL }, 3189, "tcp" }, + { "pcle-infex", { NULL }, 3189, "udp" }, + { "csvr-proxy", { NULL }, 3190, "tcp" }, + { "csvr-proxy", { NULL }, 3190, "udp" }, + { "csvr-sslproxy", { NULL }, 3191, "tcp" }, + { "csvr-sslproxy", { NULL }, 3191, "udp" }, + { "firemonrcc", { NULL }, 3192, "tcp" }, + { "firemonrcc", { NULL }, 3192, "udp" }, + { "spandataport", { NULL }, 3193, "tcp" }, + { "spandataport", { NULL }, 3193, "udp" }, + { "magbind", { NULL }, 3194, "tcp" }, + { "magbind", { NULL }, 3194, "udp" }, + { "ncu-1", { NULL }, 3195, "tcp" }, + { "ncu-1", { NULL }, 3195, "udp" }, + { "ncu-2", { NULL }, 3196, "tcp" }, + { "ncu-2", { NULL }, 3196, "udp" }, + { "embrace-dp-s", { NULL }, 3197, "tcp" }, + { "embrace-dp-s", { NULL }, 3197, "udp" }, + { "embrace-dp-c", { NULL }, 3198, "tcp" }, + { "embrace-dp-c", { NULL }, 3198, "udp" }, + { "dmod-workspace", { NULL }, 3199, "tcp" }, + { "dmod-workspace", { NULL }, 3199, "udp" }, + { "tick-port", { NULL }, 3200, "tcp" }, + { "tick-port", { NULL }, 3200, "udp" }, + { "cpq-tasksmart", { NULL }, 3201, "tcp" }, + { "cpq-tasksmart", { NULL }, 3201, "udp" }, + { "intraintra", { NULL }, 3202, "tcp" }, + { "intraintra", { NULL }, 3202, "udp" }, + { "netwatcher-mon", { NULL }, 3203, "tcp" }, + { "netwatcher-mon", { NULL }, 3203, "udp" }, + { "netwatcher-db", { NULL }, 3204, "tcp" }, + { "netwatcher-db", { NULL }, 3204, "udp" }, + { "isns", { NULL }, 3205, "tcp" }, + { "isns", { NULL }, 3205, "udp" }, + { "ironmail", { NULL }, 3206, "tcp" }, + { "ironmail", { NULL }, 3206, "udp" }, + { "vx-auth-port", { NULL }, 3207, "tcp" }, + { "vx-auth-port", { NULL }, 3207, "udp" }, + { "pfu-prcallback", { NULL }, 3208, "tcp" }, + { "pfu-prcallback", { NULL }, 3208, "udp" }, + { "netwkpathengine", { NULL }, 3209, "tcp" }, + { "netwkpathengine", { NULL }, 3209, "udp" }, + { "flamenco-proxy", { NULL }, 3210, "tcp" }, + { "flamenco-proxy", { NULL }, 3210, "udp" }, + { "avsecuremgmt", { NULL }, 3211, "tcp" }, + { "avsecuremgmt", { NULL }, 3211, "udp" }, + { "surveyinst", { NULL }, 3212, "tcp" }, + { "surveyinst", { NULL }, 3212, "udp" }, + { "neon24x7", { NULL }, 3213, "tcp" }, + { "neon24x7", { NULL }, 3213, "udp" }, + { "jmq-daemon-1", { NULL }, 3214, "tcp" }, + { "jmq-daemon-1", { NULL }, 3214, "udp" }, + { "jmq-daemon-2", { NULL }, 3215, "tcp" }, + { "jmq-daemon-2", { NULL }, 3215, "udp" }, + { "ferrari-foam", { NULL }, 3216, "tcp" }, + { "ferrari-foam", { NULL }, 3216, "udp" }, + { "unite", { NULL }, 3217, "tcp" }, + { "unite", { NULL }, 3217, "udp" }, + { "smartpackets", { NULL }, 3218, "tcp" }, + { "smartpackets", { NULL }, 3218, "udp" }, + { "wms-messenger", { NULL }, 3219, "tcp" }, + { "wms-messenger", { NULL }, 3219, "udp" }, + { "xnm-ssl", { NULL }, 3220, "tcp" }, + { "xnm-ssl", { NULL }, 3220, "udp" }, + { "xnm-clear-text", { NULL }, 3221, "tcp" }, + { "xnm-clear-text", { NULL }, 3221, "udp" }, + { "glbp", { NULL }, 3222, "tcp" }, + { "glbp", { NULL }, 3222, "udp" }, + { "digivote", { NULL }, 3223, "tcp" }, + { "digivote", { NULL }, 3223, "udp" }, + { "aes-discovery", { NULL }, 3224, "tcp" }, + { "aes-discovery", { NULL }, 3224, "udp" }, + { "fcip-port", { NULL }, 3225, "tcp" }, + { "fcip-port", { NULL }, 3225, "udp" }, + { "isi-irp", { NULL }, 3226, "tcp" }, + { "isi-irp", { NULL }, 3226, "udp" }, + { "dwnmshttp", { NULL }, 3227, "tcp" }, + { "dwnmshttp", { NULL }, 3227, "udp" }, + { "dwmsgserver", { NULL }, 3228, "tcp" }, + { "dwmsgserver", { NULL }, 3228, "udp" }, + { "global-cd-port", { NULL }, 3229, "tcp" }, + { "global-cd-port", { NULL }, 3229, "udp" }, + { "sftdst-port", { NULL }, 3230, "tcp" }, + { "sftdst-port", { NULL }, 3230, "udp" }, + { "vidigo", { NULL }, 3231, "tcp" }, + { "vidigo", { NULL }, 3231, "udp" }, + { "mdtp", { NULL }, 3232, "tcp" }, + { "mdtp", { NULL }, 3232, "udp" }, + { "whisker", { NULL }, 3233, "tcp" }, + { "whisker", { NULL }, 3233, "udp" }, + { "alchemy", { NULL }, 3234, "tcp" }, + { "alchemy", { NULL }, 3234, "udp" }, + { "mdap-port", { NULL }, 3235, "tcp" }, + { "mdap-port", { NULL }, 3235, "udp" }, + { "apparenet-ts", { NULL }, 3236, "tcp" }, + { "apparenet-ts", { NULL }, 3236, "udp" }, + { "apparenet-tps", { NULL }, 3237, "tcp" }, + { "apparenet-tps", { NULL }, 3237, "udp" }, + { "apparenet-as", { NULL }, 3238, "tcp" }, + { "apparenet-as", { NULL }, 3238, "udp" }, + { "apparenet-ui", { NULL }, 3239, "tcp" }, + { "apparenet-ui", { NULL }, 3239, "udp" }, + { "triomotion", { NULL }, 3240, "tcp" }, + { "triomotion", { NULL }, 3240, "udp" }, + { "sysorb", { NULL }, 3241, "tcp" }, + { "sysorb", { NULL }, 3241, "udp" }, + { "sdp-id-port", { NULL }, 3242, "tcp" }, + { "sdp-id-port", { NULL }, 3242, "udp" }, + { "timelot", { NULL }, 3243, "tcp" }, + { "timelot", { NULL }, 3243, "udp" }, + { "onesaf", { NULL }, 3244, "tcp" }, + { "onesaf", { NULL }, 3244, "udp" }, + { "vieo-fe", { NULL }, 3245, "tcp" }, + { "vieo-fe", { NULL }, 3245, "udp" }, + { "dvt-system", { NULL }, 3246, "tcp" }, + { "dvt-system", { NULL }, 3246, "udp" }, + { "dvt-data", { NULL }, 3247, "tcp" }, + { "dvt-data", { NULL }, 3247, "udp" }, + { "procos-lm", { NULL }, 3248, "tcp" }, + { "procos-lm", { NULL }, 3248, "udp" }, + { "ssp", { NULL }, 3249, "tcp" }, + { "ssp", { NULL }, 3249, "udp" }, + { "hicp", { NULL }, 3250, "tcp" }, + { "hicp", { NULL }, 3250, "udp" }, + { "sysscanner", { NULL }, 3251, "tcp" }, + { "sysscanner", { NULL }, 3251, "udp" }, + { "dhe", { NULL }, 3252, "tcp" }, + { "dhe", { NULL }, 3252, "udp" }, + { "pda-data", { NULL }, 3253, "tcp" }, + { "pda-data", { NULL }, 3253, "udp" }, + { "pda-sys", { NULL }, 3254, "tcp" }, + { "pda-sys", { NULL }, 3254, "udp" }, + { "semaphore", { NULL }, 3255, "tcp" }, + { "semaphore", { NULL }, 3255, "udp" }, + { "cpqrpm-agent", { NULL }, 3256, "tcp" }, + { "cpqrpm-agent", { NULL }, 3256, "udp" }, + { "cpqrpm-server", { NULL }, 3257, "tcp" }, + { "cpqrpm-server", { NULL }, 3257, "udp" }, + { "ivecon-port", { NULL }, 3258, "tcp" }, + { "ivecon-port", { NULL }, 3258, "udp" }, + { "epncdp2", { NULL }, 3259, "tcp" }, + { "epncdp2", { NULL }, 3259, "udp" }, + { "iscsi-target", { NULL }, 3260, "tcp" }, + { "iscsi-target", { NULL }, 3260, "udp" }, + { "winshadow", { NULL }, 3261, "tcp" }, + { "winshadow", { NULL }, 3261, "udp" }, + { "necp", { NULL }, 3262, "tcp" }, + { "necp", { NULL }, 3262, "udp" }, + { "ecolor-imager", { NULL }, 3263, "tcp" }, + { "ecolor-imager", { NULL }, 3263, "udp" }, + { "ccmail", { NULL }, 3264, "tcp" }, + { "ccmail", { NULL }, 3264, "udp" }, + { "altav-tunnel", { NULL }, 3265, "tcp" }, + { "altav-tunnel", { NULL }, 3265, "udp" }, + { "ns-cfg-server", { NULL }, 3266, "tcp" }, + { "ns-cfg-server", { NULL }, 3266, "udp" }, + { "ibm-dial-out", { NULL }, 3267, "tcp" }, + { "ibm-dial-out", { NULL }, 3267, "udp" }, + { "msft-gc", { NULL }, 3268, "tcp" }, + { "msft-gc", { NULL }, 3268, "udp" }, + { "msft-gc-ssl", { NULL }, 3269, "tcp" }, + { "msft-gc-ssl", { NULL }, 3269, "udp" }, + { "verismart", { NULL }, 3270, "tcp" }, + { "verismart", { NULL }, 3270, "udp" }, + { "csoft-prev", { NULL }, 3271, "tcp" }, + { "csoft-prev", { NULL }, 3271, "udp" }, + { "user-manager", { NULL }, 3272, "tcp" }, + { "user-manager", { NULL }, 3272, "udp" }, + { "sxmp", { NULL }, 3273, "tcp" }, + { "sxmp", { NULL }, 3273, "udp" }, + { "ordinox-server", { NULL }, 3274, "tcp" }, + { "ordinox-server", { NULL }, 3274, "udp" }, + { "samd", { NULL }, 3275, "tcp" }, + { "samd", { NULL }, 3275, "udp" }, + { "maxim-asics", { NULL }, 3276, "tcp" }, + { "maxim-asics", { NULL }, 3276, "udp" }, + { "awg-proxy", { NULL }, 3277, "tcp" }, + { "awg-proxy", { NULL }, 3277, "udp" }, + { "lkcmserver", { NULL }, 3278, "tcp" }, + { "lkcmserver", { NULL }, 3278, "udp" }, + { "admind", { NULL }, 3279, "tcp" }, + { "admind", { NULL }, 3279, "udp" }, + { "vs-server", { NULL }, 3280, "tcp" }, + { "vs-server", { NULL }, 3280, "udp" }, + { "sysopt", { NULL }, 3281, "tcp" }, + { "sysopt", { NULL }, 3281, "udp" }, + { "datusorb", { NULL }, 3282, "tcp" }, + { "datusorb", { NULL }, 3282, "udp" }, + { "net-assistant", { NULL }, 3283, "tcp" }, + { "net-assistant", { NULL }, 3283, "udp" }, + { "4talk", { NULL }, 3284, "tcp" }, + { "4talk", { NULL }, 3284, "udp" }, + { "plato", { NULL }, 3285, "tcp" }, + { "plato", { NULL }, 3285, "udp" }, + { "e-net", { NULL }, 3286, "tcp" }, + { "e-net", { NULL }, 3286, "udp" }, + { "directvdata", { NULL }, 3287, "tcp" }, + { "directvdata", { NULL }, 3287, "udp" }, + { "cops", { NULL }, 3288, "tcp" }, + { "cops", { NULL }, 3288, "udp" }, + { "enpc", { NULL }, 3289, "tcp" }, + { "enpc", { NULL }, 3289, "udp" }, + { "caps-lm", { NULL }, 3290, "tcp" }, + { "caps-lm", { NULL }, 3290, "udp" }, + { "sah-lm", { NULL }, 3291, "tcp" }, + { "sah-lm", { NULL }, 3291, "udp" }, + { "cart-o-rama", { NULL }, 3292, "tcp" }, + { "cart-o-rama", { NULL }, 3292, "udp" }, + { "fg-fps", { NULL }, 3293, "tcp" }, + { "fg-fps", { NULL }, 3293, "udp" }, + { "fg-gip", { NULL }, 3294, "tcp" }, + { "fg-gip", { NULL }, 3294, "udp" }, + { "dyniplookup", { NULL }, 3295, "tcp" }, + { "dyniplookup", { NULL }, 3295, "udp" }, + { "rib-slm", { NULL }, 3296, "tcp" }, + { "rib-slm", { NULL }, 3296, "udp" }, + { "cytel-lm", { NULL }, 3297, "tcp" }, + { "cytel-lm", { NULL }, 3297, "udp" }, + { "deskview", { NULL }, 3298, "tcp" }, + { "deskview", { NULL }, 3298, "udp" }, + { "pdrncs", { NULL }, 3299, "tcp" }, + { "pdrncs", { NULL }, 3299, "udp" }, + { "mcs-fastmail", { NULL }, 3302, "tcp" }, + { "mcs-fastmail", { NULL }, 3302, "udp" }, + { "opsession-clnt", { NULL }, 3303, "tcp" }, + { "opsession-clnt", { NULL }, 3303, "udp" }, + { "opsession-srvr", { NULL }, 3304, "tcp" }, + { "opsession-srvr", { NULL }, 3304, "udp" }, + { "odette-ftp", { NULL }, 3305, "tcp" }, + { "odette-ftp", { NULL }, 3305, "udp" }, + { "mysql", { NULL }, 3306, "tcp" }, + { "mysql", { NULL }, 3306, "udp" }, + { "opsession-prxy", { NULL }, 3307, "tcp" }, + { "opsession-prxy", { NULL }, 3307, "udp" }, + { "tns-server", { NULL }, 3308, "tcp" }, + { "tns-server", { NULL }, 3308, "udp" }, + { "tns-adv", { NULL }, 3309, "tcp" }, + { "tns-adv", { NULL }, 3309, "udp" }, + { "dyna-access", { NULL }, 3310, "tcp" }, + { "dyna-access", { NULL }, 3310, "udp" }, + { "mcns-tel-ret", { NULL }, 3311, "tcp" }, + { "mcns-tel-ret", { NULL }, 3311, "udp" }, + { "appman-server", { NULL }, 3312, "tcp" }, + { "appman-server", { NULL }, 3312, "udp" }, + { "uorb", { NULL }, 3313, "tcp" }, + { "uorb", { NULL }, 3313, "udp" }, + { "uohost", { NULL }, 3314, "tcp" }, + { "uohost", { NULL }, 3314, "udp" }, + { "cdid", { NULL }, 3315, "tcp" }, + { "cdid", { NULL }, 3315, "udp" }, + { "aicc-cmi", { NULL }, 3316, "tcp" }, + { "aicc-cmi", { NULL }, 3316, "udp" }, + { "vsaiport", { NULL }, 3317, "tcp" }, + { "vsaiport", { NULL }, 3317, "udp" }, + { "ssrip", { NULL }, 3318, "tcp" }, + { "ssrip", { NULL }, 3318, "udp" }, + { "sdt-lmd", { NULL }, 3319, "tcp" }, + { "sdt-lmd", { NULL }, 3319, "udp" }, + { "officelink2000", { NULL }, 3320, "tcp" }, + { "officelink2000", { NULL }, 3320, "udp" }, + { "vnsstr", { NULL }, 3321, "tcp" }, + { "vnsstr", { NULL }, 3321, "udp" }, + { "sftu", { NULL }, 3326, "tcp" }, + { "sftu", { NULL }, 3326, "udp" }, + { "bbars", { NULL }, 3327, "tcp" }, + { "bbars", { NULL }, 3327, "udp" }, + { "egptlm", { NULL }, 3328, "tcp" }, + { "egptlm", { NULL }, 3328, "udp" }, + { "hp-device-disc", { NULL }, 3329, "tcp" }, + { "hp-device-disc", { NULL }, 3329, "udp" }, + { "mcs-calypsoicf", { NULL }, 3330, "tcp" }, + { "mcs-calypsoicf", { NULL }, 3330, "udp" }, + { "mcs-messaging", { NULL }, 3331, "tcp" }, + { "mcs-messaging", { NULL }, 3331, "udp" }, + { "mcs-mailsvr", { NULL }, 3332, "tcp" }, + { "mcs-mailsvr", { NULL }, 3332, "udp" }, + { "dec-notes", { NULL }, 3333, "tcp" }, + { "dec-notes", { NULL }, 3333, "udp" }, + { "directv-web", { NULL }, 3334, "tcp" }, + { "directv-web", { NULL }, 3334, "udp" }, + { "directv-soft", { NULL }, 3335, "tcp" }, + { "directv-soft", { NULL }, 3335, "udp" }, + { "directv-tick", { NULL }, 3336, "tcp" }, + { "directv-tick", { NULL }, 3336, "udp" }, + { "directv-catlg", { NULL }, 3337, "tcp" }, + { "directv-catlg", { NULL }, 3337, "udp" }, + { "anet-b", { NULL }, 3338, "tcp" }, + { "anet-b", { NULL }, 3338, "udp" }, + { "anet-l", { NULL }, 3339, "tcp" }, + { "anet-l", { NULL }, 3339, "udp" }, + { "anet-m", { NULL }, 3340, "tcp" }, + { "anet-m", { NULL }, 3340, "udp" }, + { "anet-h", { NULL }, 3341, "tcp" }, + { "anet-h", { NULL }, 3341, "udp" }, + { "webtie", { NULL }, 3342, "tcp" }, + { "webtie", { NULL }, 3342, "udp" }, + { "ms-cluster-net", { NULL }, 3343, "tcp" }, + { "ms-cluster-net", { NULL }, 3343, "udp" }, + { "bnt-manager", { NULL }, 3344, "tcp" }, + { "bnt-manager", { NULL }, 3344, "udp" }, + { "influence", { NULL }, 3345, "tcp" }, + { "influence", { NULL }, 3345, "udp" }, + { "trnsprntproxy", { NULL }, 3346, "tcp" }, + { "trnsprntproxy", { NULL }, 3346, "udp" }, + { "phoenix-rpc", { NULL }, 3347, "tcp" }, + { "phoenix-rpc", { NULL }, 3347, "udp" }, + { "pangolin-laser", { NULL }, 3348, "tcp" }, + { "pangolin-laser", { NULL }, 3348, "udp" }, + { "chevinservices", { NULL }, 3349, "tcp" }, + { "chevinservices", { NULL }, 3349, "udp" }, + { "findviatv", { NULL }, 3350, "tcp" }, + { "findviatv", { NULL }, 3350, "udp" }, + { "btrieve", { NULL }, 3351, "tcp" }, + { "btrieve", { NULL }, 3351, "udp" }, + { "ssql", { NULL }, 3352, "tcp" }, + { "ssql", { NULL }, 3352, "udp" }, + { "fatpipe", { NULL }, 3353, "tcp" }, + { "fatpipe", { NULL }, 3353, "udp" }, + { "suitjd", { NULL }, 3354, "tcp" }, + { "suitjd", { NULL }, 3354, "udp" }, + { "ordinox-dbase", { NULL }, 3355, "tcp" }, + { "ordinox-dbase", { NULL }, 3355, "udp" }, + { "upnotifyps", { NULL }, 3356, "tcp" }, + { "upnotifyps", { NULL }, 3356, "udp" }, + { "adtech-test", { NULL }, 3357, "tcp" }, + { "adtech-test", { NULL }, 3357, "udp" }, + { "mpsysrmsvr", { NULL }, 3358, "tcp" }, + { "mpsysrmsvr", { NULL }, 3358, "udp" }, + { "wg-netforce", { NULL }, 3359, "tcp" }, + { "wg-netforce", { NULL }, 3359, "udp" }, + { "kv-server", { NULL }, 3360, "tcp" }, + { "kv-server", { NULL }, 3360, "udp" }, + { "kv-agent", { NULL }, 3361, "tcp" }, + { "kv-agent", { NULL }, 3361, "udp" }, + { "dj-ilm", { NULL }, 3362, "tcp" }, + { "dj-ilm", { NULL }, 3362, "udp" }, + { "nati-vi-server", { NULL }, 3363, "tcp" }, + { "nati-vi-server", { NULL }, 3363, "udp" }, + { "creativeserver", { NULL }, 3364, "tcp" }, + { "creativeserver", { NULL }, 3364, "udp" }, + { "contentserver", { NULL }, 3365, "tcp" }, + { "contentserver", { NULL }, 3365, "udp" }, + { "creativepartnr", { NULL }, 3366, "tcp" }, + { "creativepartnr", { NULL }, 3366, "udp" }, + { "tip2", { NULL }, 3372, "tcp" }, + { "tip2", { NULL }, 3372, "udp" }, + { "lavenir-lm", { NULL }, 3373, "tcp" }, + { "lavenir-lm", { NULL }, 3373, "udp" }, + { "cluster-disc", { NULL }, 3374, "tcp" }, + { "cluster-disc", { NULL }, 3374, "udp" }, + { "vsnm-agent", { NULL }, 3375, "tcp" }, + { "vsnm-agent", { NULL }, 3375, "udp" }, + { "cdbroker", { NULL }, 3376, "tcp" }, + { "cdbroker", { NULL }, 3376, "udp" }, + { "cogsys-lm", { NULL }, 3377, "tcp" }, + { "cogsys-lm", { NULL }, 3377, "udp" }, + { "wsicopy", { NULL }, 3378, "tcp" }, + { "wsicopy", { NULL }, 3378, "udp" }, + { "socorfs", { NULL }, 3379, "tcp" }, + { "socorfs", { NULL }, 3379, "udp" }, + { "sns-channels", { NULL }, 3380, "tcp" }, + { "sns-channels", { NULL }, 3380, "udp" }, + { "geneous", { NULL }, 3381, "tcp" }, + { "geneous", { NULL }, 3381, "udp" }, + { "fujitsu-neat", { NULL }, 3382, "tcp" }, + { "fujitsu-neat", { NULL }, 3382, "udp" }, + { "esp-lm", { NULL }, 3383, "tcp" }, + { "esp-lm", { NULL }, 3383, "udp" }, + { "hp-clic", { NULL }, 3384, "tcp" }, + { "hp-clic", { NULL }, 3384, "udp" }, + { "qnxnetman", { NULL }, 3385, "tcp" }, + { "qnxnetman", { NULL }, 3385, "udp" }, + { "gprs-data", { NULL }, 3386, "tcp" }, + { "gprs-sig", { NULL }, 3386, "udp" }, + { "backroomnet", { NULL }, 3387, "tcp" }, + { "backroomnet", { NULL }, 3387, "udp" }, + { "cbserver", { NULL }, 3388, "tcp" }, + { "cbserver", { NULL }, 3388, "udp" }, + { "ms-wbt-server", { NULL }, 3389, "tcp" }, + { "ms-wbt-server", { NULL }, 3389, "udp" }, + { "dsc", { NULL }, 3390, "tcp" }, + { "dsc", { NULL }, 3390, "udp" }, + { "savant", { NULL }, 3391, "tcp" }, + { "savant", { NULL }, 3391, "udp" }, + { "efi-lm", { NULL }, 3392, "tcp" }, + { "efi-lm", { NULL }, 3392, "udp" }, + { "d2k-tapestry1", { NULL }, 3393, "tcp" }, + { "d2k-tapestry1", { NULL }, 3393, "udp" }, + { "d2k-tapestry2", { NULL }, 3394, "tcp" }, + { "d2k-tapestry2", { NULL }, 3394, "udp" }, + { "dyna-lm", { NULL }, 3395, "tcp" }, + { "dyna-lm", { NULL }, 3395, "udp" }, + { "printer_agent", { NULL }, 3396, "tcp" }, + { "printer_agent", { NULL }, 3396, "udp" }, + { "cloanto-lm", { NULL }, 3397, "tcp" }, + { "cloanto-lm", { NULL }, 3397, "udp" }, + { "mercantile", { NULL }, 3398, "tcp" }, + { "mercantile", { NULL }, 3398, "udp" }, + { "csms", { NULL }, 3399, "tcp" }, + { "csms", { NULL }, 3399, "udp" }, + { "csms2", { NULL }, 3400, "tcp" }, + { "csms2", { NULL }, 3400, "udp" }, + { "filecast", { NULL }, 3401, "tcp" }, + { "filecast", { NULL }, 3401, "udp" }, + { "fxaengine-net", { NULL }, 3402, "tcp" }, + { "fxaengine-net", { NULL }, 3402, "udp" }, + { "nokia-ann-ch1", { NULL }, 3405, "tcp" }, + { "nokia-ann-ch1", { NULL }, 3405, "udp" }, + { "nokia-ann-ch2", { NULL }, 3406, "tcp" }, + { "nokia-ann-ch2", { NULL }, 3406, "udp" }, + { "ldap-admin", { NULL }, 3407, "tcp" }, + { "ldap-admin", { NULL }, 3407, "udp" }, + { "BESApi", { NULL }, 3408, "tcp" }, + { "BESApi", { NULL }, 3408, "udp" }, + { "networklens", { NULL }, 3409, "tcp" }, + { "networklens", { NULL }, 3409, "udp" }, + { "networklenss", { NULL }, 3410, "tcp" }, + { "networklenss", { NULL }, 3410, "udp" }, + { "biolink-auth", { NULL }, 3411, "tcp" }, + { "biolink-auth", { NULL }, 3411, "udp" }, + { "xmlblaster", { NULL }, 3412, "tcp" }, + { "xmlblaster", { NULL }, 3412, "udp" }, + { "svnet", { NULL }, 3413, "tcp" }, + { "svnet", { NULL }, 3413, "udp" }, + { "wip-port", { NULL }, 3414, "tcp" }, + { "wip-port", { NULL }, 3414, "udp" }, + { "bcinameservice", { NULL }, 3415, "tcp" }, + { "bcinameservice", { NULL }, 3415, "udp" }, + { "commandport", { NULL }, 3416, "tcp" }, + { "commandport", { NULL }, 3416, "udp" }, + { "csvr", { NULL }, 3417, "tcp" }, + { "csvr", { NULL }, 3417, "udp" }, + { "rnmap", { NULL }, 3418, "tcp" }, + { "rnmap", { NULL }, 3418, "udp" }, + { "softaudit", { NULL }, 3419, "tcp" }, + { "softaudit", { NULL }, 3419, "udp" }, + { "ifcp-port", { NULL }, 3420, "tcp" }, + { "ifcp-port", { NULL }, 3420, "udp" }, + { "bmap", { NULL }, 3421, "tcp" }, + { "bmap", { NULL }, 3421, "udp" }, + { "rusb-sys-port", { NULL }, 3422, "tcp" }, + { "rusb-sys-port", { NULL }, 3422, "udp" }, + { "xtrm", { NULL }, 3423, "tcp" }, + { "xtrm", { NULL }, 3423, "udp" }, + { "xtrms", { NULL }, 3424, "tcp" }, + { "xtrms", { NULL }, 3424, "udp" }, + { "agps-port", { NULL }, 3425, "tcp" }, + { "agps-port", { NULL }, 3425, "udp" }, + { "arkivio", { NULL }, 3426, "tcp" }, + { "arkivio", { NULL }, 3426, "udp" }, + { "websphere-snmp", { NULL }, 3427, "tcp" }, + { "websphere-snmp", { NULL }, 3427, "udp" }, + { "twcss", { NULL }, 3428, "tcp" }, + { "twcss", { NULL }, 3428, "udp" }, + { "gcsp", { NULL }, 3429, "tcp" }, + { "gcsp", { NULL }, 3429, "udp" }, + { "ssdispatch", { NULL }, 3430, "tcp" }, + { "ssdispatch", { NULL }, 3430, "udp" }, + { "ndl-als", { NULL }, 3431, "tcp" }, + { "ndl-als", { NULL }, 3431, "udp" }, + { "osdcp", { NULL }, 3432, "tcp" }, + { "osdcp", { NULL }, 3432, "udp" }, + { "alta-smp", { NULL }, 3433, "tcp" }, + { "alta-smp", { NULL }, 3433, "udp" }, + { "opencm", { NULL }, 3434, "tcp" }, + { "opencm", { NULL }, 3434, "udp" }, + { "pacom", { NULL }, 3435, "tcp" }, + { "pacom", { NULL }, 3435, "udp" }, + { "gc-config", { NULL }, 3436, "tcp" }, + { "gc-config", { NULL }, 3436, "udp" }, + { "autocueds", { NULL }, 3437, "tcp" }, + { "autocueds", { NULL }, 3437, "udp" }, + { "spiral-admin", { NULL }, 3438, "tcp" }, + { "spiral-admin", { NULL }, 3438, "udp" }, + { "hri-port", { NULL }, 3439, "tcp" }, + { "hri-port", { NULL }, 3439, "udp" }, + { "ans-console", { NULL }, 3440, "tcp" }, + { "ans-console", { NULL }, 3440, "udp" }, + { "connect-client", { NULL }, 3441, "tcp" }, + { "connect-client", { NULL }, 3441, "udp" }, + { "connect-server", { NULL }, 3442, "tcp" }, + { "connect-server", { NULL }, 3442, "udp" }, + { "ov-nnm-websrv", { NULL }, 3443, "tcp" }, + { "ov-nnm-websrv", { NULL }, 3443, "udp" }, + { "denali-server", { NULL }, 3444, "tcp" }, + { "denali-server", { NULL }, 3444, "udp" }, + { "monp", { NULL }, 3445, "tcp" }, + { "monp", { NULL }, 3445, "udp" }, + { "3comfaxrpc", { NULL }, 3446, "tcp" }, + { "3comfaxrpc", { NULL }, 3446, "udp" }, + { "directnet", { NULL }, 3447, "tcp" }, + { "directnet", { NULL }, 3447, "udp" }, + { "dnc-port", { NULL }, 3448, "tcp" }, + { "dnc-port", { NULL }, 3448, "udp" }, + { "hotu-chat", { NULL }, 3449, "tcp" }, + { "hotu-chat", { NULL }, 3449, "udp" }, + { "castorproxy", { NULL }, 3450, "tcp" }, + { "castorproxy", { NULL }, 3450, "udp" }, + { "asam", { NULL }, 3451, "tcp" }, + { "asam", { NULL }, 3451, "udp" }, + { "sabp-signal", { NULL }, 3452, "tcp" }, + { "sabp-signal", { NULL }, 3452, "udp" }, + { "pscupd", { NULL }, 3453, "tcp" }, + { "pscupd", { NULL }, 3453, "udp" }, + { "mira", { NULL }, 3454, "tcp" }, + { "prsvp", { NULL }, 3455, "tcp" }, + { "prsvp", { NULL }, 3455, "udp" }, + { "vat", { NULL }, 3456, "tcp" }, + { "vat", { NULL }, 3456, "udp" }, + { "vat-control", { NULL }, 3457, "tcp" }, + { "vat-control", { NULL }, 3457, "udp" }, + { "d3winosfi", { NULL }, 3458, "tcp" }, + { "d3winosfi", { NULL }, 3458, "udp" }, + { "integral", { NULL }, 3459, "tcp" }, + { "integral", { NULL }, 3459, "udp" }, + { "edm-manager", { NULL }, 3460, "tcp" }, + { "edm-manager", { NULL }, 3460, "udp" }, + { "edm-stager", { NULL }, 3461, "tcp" }, + { "edm-stager", { NULL }, 3461, "udp" }, + { "edm-std-notify", { NULL }, 3462, "tcp" }, + { "edm-std-notify", { NULL }, 3462, "udp" }, + { "edm-adm-notify", { NULL }, 3463, "tcp" }, + { "edm-adm-notify", { NULL }, 3463, "udp" }, + { "edm-mgr-sync", { NULL }, 3464, "tcp" }, + { "edm-mgr-sync", { NULL }, 3464, "udp" }, + { "edm-mgr-cntrl", { NULL }, 3465, "tcp" }, + { "edm-mgr-cntrl", { NULL }, 3465, "udp" }, + { "workflow", { NULL }, 3466, "tcp" }, + { "workflow", { NULL }, 3466, "udp" }, + { "rcst", { NULL }, 3467, "tcp" }, + { "rcst", { NULL }, 3467, "udp" }, + { "ttcmremotectrl", { NULL }, 3468, "tcp" }, + { "ttcmremotectrl", { NULL }, 3468, "udp" }, + { "pluribus", { NULL }, 3469, "tcp" }, + { "pluribus", { NULL }, 3469, "udp" }, + { "jt400", { NULL }, 3470, "tcp" }, + { "jt400", { NULL }, 3470, "udp" }, + { "jt400-ssl", { NULL }, 3471, "tcp" }, + { "jt400-ssl", { NULL }, 3471, "udp" }, + { "jaugsremotec-1", { NULL }, 3472, "tcp" }, + { "jaugsremotec-1", { NULL }, 3472, "udp" }, + { "jaugsremotec-2", { NULL }, 3473, "tcp" }, + { "jaugsremotec-2", { NULL }, 3473, "udp" }, + { "ttntspauto", { NULL }, 3474, "tcp" }, + { "ttntspauto", { NULL }, 3474, "udp" }, + { "genisar-port", { NULL }, 3475, "tcp" }, + { "genisar-port", { NULL }, 3475, "udp" }, + { "nppmp", { NULL }, 3476, "tcp" }, + { "nppmp", { NULL }, 3476, "udp" }, + { "ecomm", { NULL }, 3477, "tcp" }, + { "ecomm", { NULL }, 3477, "udp" }, + { "stun", { NULL }, 3478, "tcp" }, + { "stun", { NULL }, 3478, "udp" }, + { "turn", { NULL }, 3478, "tcp" }, + { "turn", { NULL }, 3478, "udp" }, + { "stun-behavior", { NULL }, 3478, "tcp" }, + { "stun-behavior", { NULL }, 3478, "udp" }, + { "twrpc", { NULL }, 3479, "tcp" }, + { "twrpc", { NULL }, 3479, "udp" }, + { "plethora", { NULL }, 3480, "tcp" }, + { "plethora", { NULL }, 3480, "udp" }, + { "cleanerliverc", { NULL }, 3481, "tcp" }, + { "cleanerliverc", { NULL }, 3481, "udp" }, + { "vulture", { NULL }, 3482, "tcp" }, + { "vulture", { NULL }, 3482, "udp" }, + { "slim-devices", { NULL }, 3483, "tcp" }, + { "slim-devices", { NULL }, 3483, "udp" }, + { "gbs-stp", { NULL }, 3484, "tcp" }, + { "gbs-stp", { NULL }, 3484, "udp" }, + { "celatalk", { NULL }, 3485, "tcp" }, + { "celatalk", { NULL }, 3485, "udp" }, + { "ifsf-hb-port", { NULL }, 3486, "tcp" }, + { "ifsf-hb-port", { NULL }, 3486, "udp" }, + { "ltctcp", { NULL }, 3487, "tcp" }, + { "ltcudp", { NULL }, 3487, "udp" }, + { "fs-rh-srv", { NULL }, 3488, "tcp" }, + { "fs-rh-srv", { NULL }, 3488, "udp" }, + { "dtp-dia", { NULL }, 3489, "tcp" }, + { "dtp-dia", { NULL }, 3489, "udp" }, + { "colubris", { NULL }, 3490, "tcp" }, + { "colubris", { NULL }, 3490, "udp" }, + { "swr-port", { NULL }, 3491, "tcp" }, + { "swr-port", { NULL }, 3491, "udp" }, + { "tvdumtray-port", { NULL }, 3492, "tcp" }, + { "tvdumtray-port", { NULL }, 3492, "udp" }, + { "nut", { NULL }, 3493, "tcp" }, + { "nut", { NULL }, 3493, "udp" }, + { "ibm3494", { NULL }, 3494, "tcp" }, + { "ibm3494", { NULL }, 3494, "udp" }, + { "seclayer-tcp", { NULL }, 3495, "tcp" }, + { "seclayer-tcp", { NULL }, 3495, "udp" }, + { "seclayer-tls", { NULL }, 3496, "tcp" }, + { "seclayer-tls", { NULL }, 3496, "udp" }, + { "ipether232port", { NULL }, 3497, "tcp" }, + { "ipether232port", { NULL }, 3497, "udp" }, + { "dashpas-port", { NULL }, 3498, "tcp" }, + { "dashpas-port", { NULL }, 3498, "udp" }, + { "sccip-media", { NULL }, 3499, "tcp" }, + { "sccip-media", { NULL }, 3499, "udp" }, + { "rtmp-port", { NULL }, 3500, "tcp" }, + { "rtmp-port", { NULL }, 3500, "udp" }, + { "isoft-p2p", { NULL }, 3501, "tcp" }, + { "isoft-p2p", { NULL }, 3501, "udp" }, + { "avinstalldisc", { NULL }, 3502, "tcp" }, + { "avinstalldisc", { NULL }, 3502, "udp" }, + { "lsp-ping", { NULL }, 3503, "tcp" }, + { "lsp-ping", { NULL }, 3503, "udp" }, + { "ironstorm", { NULL }, 3504, "tcp" }, + { "ironstorm", { NULL }, 3504, "udp" }, + { "ccmcomm", { NULL }, 3505, "tcp" }, + { "ccmcomm", { NULL }, 3505, "udp" }, + { "apc-3506", { NULL }, 3506, "tcp" }, + { "apc-3506", { NULL }, 3506, "udp" }, + { "nesh-broker", { NULL }, 3507, "tcp" }, + { "nesh-broker", { NULL }, 3507, "udp" }, + { "interactionweb", { NULL }, 3508, "tcp" }, + { "interactionweb", { NULL }, 3508, "udp" }, + { "vt-ssl", { NULL }, 3509, "tcp" }, + { "vt-ssl", { NULL }, 3509, "udp" }, + { "xss-port", { NULL }, 3510, "tcp" }, + { "xss-port", { NULL }, 3510, "udp" }, + { "webmail-2", { NULL }, 3511, "tcp" }, + { "webmail-2", { NULL }, 3511, "udp" }, + { "aztec", { NULL }, 3512, "tcp" }, + { "aztec", { NULL }, 3512, "udp" }, + { "arcpd", { NULL }, 3513, "tcp" }, + { "arcpd", { NULL }, 3513, "udp" }, + { "must-p2p", { NULL }, 3514, "tcp" }, + { "must-p2p", { NULL }, 3514, "udp" }, + { "must-backplane", { NULL }, 3515, "tcp" }, + { "must-backplane", { NULL }, 3515, "udp" }, + { "smartcard-port", { NULL }, 3516, "tcp" }, + { "smartcard-port", { NULL }, 3516, "udp" }, + { "802-11-iapp", { NULL }, 3517, "tcp" }, + { "802-11-iapp", { NULL }, 3517, "udp" }, + { "artifact-msg", { NULL }, 3518, "tcp" }, + { "artifact-msg", { NULL }, 3518, "udp" }, + { "nvmsgd", { NULL }, 3519, "tcp" }, + { "galileo", { NULL }, 3519, "udp" }, + { "galileolog", { NULL }, 3520, "tcp" }, + { "galileolog", { NULL }, 3520, "udp" }, + { "mc3ss", { NULL }, 3521, "tcp" }, + { "mc3ss", { NULL }, 3521, "udp" }, + { "nssocketport", { NULL }, 3522, "tcp" }, + { "nssocketport", { NULL }, 3522, "udp" }, + { "odeumservlink", { NULL }, 3523, "tcp" }, + { "odeumservlink", { NULL }, 3523, "udp" }, + { "ecmport", { NULL }, 3524, "tcp" }, + { "ecmport", { NULL }, 3524, "udp" }, + { "eisport", { NULL }, 3525, "tcp" }, + { "eisport", { NULL }, 3525, "udp" }, + { "starquiz-port", { NULL }, 3526, "tcp" }, + { "starquiz-port", { NULL }, 3526, "udp" }, + { "beserver-msg-q", { NULL }, 3527, "tcp" }, + { "beserver-msg-q", { NULL }, 3527, "udp" }, + { "jboss-iiop", { NULL }, 3528, "tcp" }, + { "jboss-iiop", { NULL }, 3528, "udp" }, + { "jboss-iiop-ssl", { NULL }, 3529, "tcp" }, + { "jboss-iiop-ssl", { NULL }, 3529, "udp" }, + { "gf", { NULL }, 3530, "tcp" }, + { "gf", { NULL }, 3530, "udp" }, + { "joltid", { NULL }, 3531, "tcp" }, + { "joltid", { NULL }, 3531, "udp" }, + { "raven-rmp", { NULL }, 3532, "tcp" }, + { "raven-rmp", { NULL }, 3532, "udp" }, + { "raven-rdp", { NULL }, 3533, "tcp" }, + { "raven-rdp", { NULL }, 3533, "udp" }, + { "urld-port", { NULL }, 3534, "tcp" }, + { "urld-port", { NULL }, 3534, "udp" }, + { "ms-la", { NULL }, 3535, "tcp" }, + { "ms-la", { NULL }, 3535, "udp" }, + { "snac", { NULL }, 3536, "tcp" }, + { "snac", { NULL }, 3536, "udp" }, + { "ni-visa-remote", { NULL }, 3537, "tcp" }, + { "ni-visa-remote", { NULL }, 3537, "udp" }, + { "ibm-diradm", { NULL }, 3538, "tcp" }, + { "ibm-diradm", { NULL }, 3538, "udp" }, + { "ibm-diradm-ssl", { NULL }, 3539, "tcp" }, + { "ibm-diradm-ssl", { NULL }, 3539, "udp" }, + { "pnrp-port", { NULL }, 3540, "tcp" }, + { "pnrp-port", { NULL }, 3540, "udp" }, + { "voispeed-port", { NULL }, 3541, "tcp" }, + { "voispeed-port", { NULL }, 3541, "udp" }, + { "hacl-monitor", { NULL }, 3542, "tcp" }, + { "hacl-monitor", { NULL }, 3542, "udp" }, + { "qftest-lookup", { NULL }, 3543, "tcp" }, + { "qftest-lookup", { NULL }, 3543, "udp" }, + { "teredo", { NULL }, 3544, "tcp" }, + { "teredo", { NULL }, 3544, "udp" }, + { "camac", { NULL }, 3545, "tcp" }, + { "camac", { NULL }, 3545, "udp" }, + { "symantec-sim", { NULL }, 3547, "tcp" }, + { "symantec-sim", { NULL }, 3547, "udp" }, + { "interworld", { NULL }, 3548, "tcp" }, + { "interworld", { NULL }, 3548, "udp" }, + { "tellumat-nms", { NULL }, 3549, "tcp" }, + { "tellumat-nms", { NULL }, 3549, "udp" }, + { "ssmpp", { NULL }, 3550, "tcp" }, + { "ssmpp", { NULL }, 3550, "udp" }, + { "apcupsd", { NULL }, 3551, "tcp" }, + { "apcupsd", { NULL }, 3551, "udp" }, + { "taserver", { NULL }, 3552, "tcp" }, + { "taserver", { NULL }, 3552, "udp" }, + { "rbr-discovery", { NULL }, 3553, "tcp" }, + { "rbr-discovery", { NULL }, 3553, "udp" }, + { "questnotify", { NULL }, 3554, "tcp" }, + { "questnotify", { NULL }, 3554, "udp" }, + { "razor", { NULL }, 3555, "tcp" }, + { "razor", { NULL }, 3555, "udp" }, + { "sky-transport", { NULL }, 3556, "tcp" }, + { "sky-transport", { NULL }, 3556, "udp" }, + { "personalos-001", { NULL }, 3557, "tcp" }, + { "personalos-001", { NULL }, 3557, "udp" }, + { "mcp-port", { NULL }, 3558, "tcp" }, + { "mcp-port", { NULL }, 3558, "udp" }, + { "cctv-port", { NULL }, 3559, "tcp" }, + { "cctv-port", { NULL }, 3559, "udp" }, + { "iniserve-port", { NULL }, 3560, "tcp" }, + { "iniserve-port", { NULL }, 3560, "udp" }, + { "bmc-onekey", { NULL }, 3561, "tcp" }, + { "bmc-onekey", { NULL }, 3561, "udp" }, + { "sdbproxy", { NULL }, 3562, "tcp" }, + { "sdbproxy", { NULL }, 3562, "udp" }, + { "watcomdebug", { NULL }, 3563, "tcp" }, + { "watcomdebug", { NULL }, 3563, "udp" }, + { "esimport", { NULL }, 3564, "tcp" }, + { "esimport", { NULL }, 3564, "udp" }, + { "m2pa", { NULL }, 3565, "tcp" }, + { "m2pa", { NULL }, 3565, "sctp" }, + { "quest-data-hub", { NULL }, 3566, "tcp" }, + { "oap", { NULL }, 3567, "tcp" }, + { "oap", { NULL }, 3567, "udp" }, + { "oap-s", { NULL }, 3568, "tcp" }, + { "oap-s", { NULL }, 3568, "udp" }, + { "mbg-ctrl", { NULL }, 3569, "tcp" }, + { "mbg-ctrl", { NULL }, 3569, "udp" }, + { "mccwebsvr-port", { NULL }, 3570, "tcp" }, + { "mccwebsvr-port", { NULL }, 3570, "udp" }, + { "megardsvr-port", { NULL }, 3571, "tcp" }, + { "megardsvr-port", { NULL }, 3571, "udp" }, + { "megaregsvrport", { NULL }, 3572, "tcp" }, + { "megaregsvrport", { NULL }, 3572, "udp" }, + { "tag-ups-1", { NULL }, 3573, "tcp" }, + { "tag-ups-1", { NULL }, 3573, "udp" }, + { "dmaf-server", { NULL }, 3574, "tcp" }, + { "dmaf-caster", { NULL }, 3574, "udp" }, + { "ccm-port", { NULL }, 3575, "tcp" }, + { "ccm-port", { NULL }, 3575, "udp" }, + { "cmc-port", { NULL }, 3576, "tcp" }, + { "cmc-port", { NULL }, 3576, "udp" }, + { "config-port", { NULL }, 3577, "tcp" }, + { "config-port", { NULL }, 3577, "udp" }, + { "data-port", { NULL }, 3578, "tcp" }, + { "data-port", { NULL }, 3578, "udp" }, + { "ttat3lb", { NULL }, 3579, "tcp" }, + { "ttat3lb", { NULL }, 3579, "udp" }, + { "nati-svrloc", { NULL }, 3580, "tcp" }, + { "nati-svrloc", { NULL }, 3580, "udp" }, + { "kfxaclicensing", { NULL }, 3581, "tcp" }, + { "kfxaclicensing", { NULL }, 3581, "udp" }, + { "press", { NULL }, 3582, "tcp" }, + { "press", { NULL }, 3582, "udp" }, + { "canex-watch", { NULL }, 3583, "tcp" }, + { "canex-watch", { NULL }, 3583, "udp" }, + { "u-dbap", { NULL }, 3584, "tcp" }, + { "u-dbap", { NULL }, 3584, "udp" }, + { "emprise-lls", { NULL }, 3585, "tcp" }, + { "emprise-lls", { NULL }, 3585, "udp" }, + { "emprise-lsc", { NULL }, 3586, "tcp" }, + { "emprise-lsc", { NULL }, 3586, "udp" }, + { "p2pgroup", { NULL }, 3587, "tcp" }, + { "p2pgroup", { NULL }, 3587, "udp" }, + { "sentinel", { NULL }, 3588, "tcp" }, + { "sentinel", { NULL }, 3588, "udp" }, + { "isomair", { NULL }, 3589, "tcp" }, + { "isomair", { NULL }, 3589, "udp" }, + { "wv-csp-sms", { NULL }, 3590, "tcp" }, + { "wv-csp-sms", { NULL }, 3590, "udp" }, + { "gtrack-server", { NULL }, 3591, "tcp" }, + { "gtrack-server", { NULL }, 3591, "udp" }, + { "gtrack-ne", { NULL }, 3592, "tcp" }, + { "gtrack-ne", { NULL }, 3592, "udp" }, + { "bpmd", { NULL }, 3593, "tcp" }, + { "bpmd", { NULL }, 3593, "udp" }, + { "mediaspace", { NULL }, 3594, "tcp" }, + { "mediaspace", { NULL }, 3594, "udp" }, + { "shareapp", { NULL }, 3595, "tcp" }, + { "shareapp", { NULL }, 3595, "udp" }, + { "iw-mmogame", { NULL }, 3596, "tcp" }, + { "iw-mmogame", { NULL }, 3596, "udp" }, + { "a14", { NULL }, 3597, "tcp" }, + { "a14", { NULL }, 3597, "udp" }, + { "a15", { NULL }, 3598, "tcp" }, + { "a15", { NULL }, 3598, "udp" }, + { "quasar-server", { NULL }, 3599, "tcp" }, + { "quasar-server", { NULL }, 3599, "udp" }, + { "trap-daemon", { NULL }, 3600, "tcp" }, + { "trap-daemon", { NULL }, 3600, "udp" }, + { "visinet-gui", { NULL }, 3601, "tcp" }, + { "visinet-gui", { NULL }, 3601, "udp" }, + { "infiniswitchcl", { NULL }, 3602, "tcp" }, + { "infiniswitchcl", { NULL }, 3602, "udp" }, + { "int-rcv-cntrl", { NULL }, 3603, "tcp" }, + { "int-rcv-cntrl", { NULL }, 3603, "udp" }, + { "bmc-jmx-port", { NULL }, 3604, "tcp" }, + { "bmc-jmx-port", { NULL }, 3604, "udp" }, + { "comcam-io", { NULL }, 3605, "tcp" }, + { "comcam-io", { NULL }, 3605, "udp" }, + { "splitlock", { NULL }, 3606, "tcp" }, + { "splitlock", { NULL }, 3606, "udp" }, + { "precise-i3", { NULL }, 3607, "tcp" }, + { "precise-i3", { NULL }, 3607, "udp" }, + { "trendchip-dcp", { NULL }, 3608, "tcp" }, + { "trendchip-dcp", { NULL }, 3608, "udp" }, + { "cpdi-pidas-cm", { NULL }, 3609, "tcp" }, + { "cpdi-pidas-cm", { NULL }, 3609, "udp" }, + { "echonet", { NULL }, 3610, "tcp" }, + { "echonet", { NULL }, 3610, "udp" }, + { "six-degrees", { NULL }, 3611, "tcp" }, + { "six-degrees", { NULL }, 3611, "udp" }, + { "hp-dataprotect", { NULL }, 3612, "tcp" }, + { "hp-dataprotect", { NULL }, 3612, "udp" }, + { "alaris-disc", { NULL }, 3613, "tcp" }, + { "alaris-disc", { NULL }, 3613, "udp" }, + { "sigma-port", { NULL }, 3614, "tcp" }, + { "sigma-port", { NULL }, 3614, "udp" }, + { "start-network", { NULL }, 3615, "tcp" }, + { "start-network", { NULL }, 3615, "udp" }, + { "cd3o-protocol", { NULL }, 3616, "tcp" }, + { "cd3o-protocol", { NULL }, 3616, "udp" }, + { "sharp-server", { NULL }, 3617, "tcp" }, + { "sharp-server", { NULL }, 3617, "udp" }, + { "aairnet-1", { NULL }, 3618, "tcp" }, + { "aairnet-1", { NULL }, 3618, "udp" }, + { "aairnet-2", { NULL }, 3619, "tcp" }, + { "aairnet-2", { NULL }, 3619, "udp" }, + { "ep-pcp", { NULL }, 3620, "tcp" }, + { "ep-pcp", { NULL }, 3620, "udp" }, + { "ep-nsp", { NULL }, 3621, "tcp" }, + { "ep-nsp", { NULL }, 3621, "udp" }, + { "ff-lr-port", { NULL }, 3622, "tcp" }, + { "ff-lr-port", { NULL }, 3622, "udp" }, + { "haipe-discover", { NULL }, 3623, "tcp" }, + { "haipe-discover", { NULL }, 3623, "udp" }, + { "dist-upgrade", { NULL }, 3624, "tcp" }, + { "dist-upgrade", { NULL }, 3624, "udp" }, + { "volley", { NULL }, 3625, "tcp" }, + { "volley", { NULL }, 3625, "udp" }, + { "bvcdaemon-port", { NULL }, 3626, "tcp" }, + { "bvcdaemon-port", { NULL }, 3626, "udp" }, + { "jamserverport", { NULL }, 3627, "tcp" }, + { "jamserverport", { NULL }, 3627, "udp" }, + { "ept-machine", { NULL }, 3628, "tcp" }, + { "ept-machine", { NULL }, 3628, "udp" }, + { "escvpnet", { NULL }, 3629, "tcp" }, + { "escvpnet", { NULL }, 3629, "udp" }, + { "cs-remote-db", { NULL }, 3630, "tcp" }, + { "cs-remote-db", { NULL }, 3630, "udp" }, + { "cs-services", { NULL }, 3631, "tcp" }, + { "cs-services", { NULL }, 3631, "udp" }, + { "distcc", { NULL }, 3632, "tcp" }, + { "distcc", { NULL }, 3632, "udp" }, + { "wacp", { NULL }, 3633, "tcp" }, + { "wacp", { NULL }, 3633, "udp" }, + { "hlibmgr", { NULL }, 3634, "tcp" }, + { "hlibmgr", { NULL }, 3634, "udp" }, + { "sdo", { NULL }, 3635, "tcp" }, + { "sdo", { NULL }, 3635, "udp" }, + { "servistaitsm", { NULL }, 3636, "tcp" }, + { "servistaitsm", { NULL }, 3636, "udp" }, + { "scservp", { NULL }, 3637, "tcp" }, + { "scservp", { NULL }, 3637, "udp" }, + { "ehp-backup", { NULL }, 3638, "tcp" }, + { "ehp-backup", { NULL }, 3638, "udp" }, + { "xap-ha", { NULL }, 3639, "tcp" }, + { "xap-ha", { NULL }, 3639, "udp" }, + { "netplay-port1", { NULL }, 3640, "tcp" }, + { "netplay-port1", { NULL }, 3640, "udp" }, + { "netplay-port2", { NULL }, 3641, "tcp" }, + { "netplay-port2", { NULL }, 3641, "udp" }, + { "juxml-port", { NULL }, 3642, "tcp" }, + { "juxml-port", { NULL }, 3642, "udp" }, + { "audiojuggler", { NULL }, 3643, "tcp" }, + { "audiojuggler", { NULL }, 3643, "udp" }, + { "ssowatch", { NULL }, 3644, "tcp" }, + { "ssowatch", { NULL }, 3644, "udp" }, + { "cyc", { NULL }, 3645, "tcp" }, + { "cyc", { NULL }, 3645, "udp" }, + { "xss-srv-port", { NULL }, 3646, "tcp" }, + { "xss-srv-port", { NULL }, 3646, "udp" }, + { "splitlock-gw", { NULL }, 3647, "tcp" }, + { "splitlock-gw", { NULL }, 3647, "udp" }, + { "fjcp", { NULL }, 3648, "tcp" }, + { "fjcp", { NULL }, 3648, "udp" }, + { "nmmp", { NULL }, 3649, "tcp" }, + { "nmmp", { NULL }, 3649, "udp" }, + { "prismiq-plugin", { NULL }, 3650, "tcp" }, + { "prismiq-plugin", { NULL }, 3650, "udp" }, + { "xrpc-registry", { NULL }, 3651, "tcp" }, + { "xrpc-registry", { NULL }, 3651, "udp" }, + { "vxcrnbuport", { NULL }, 3652, "tcp" }, + { "vxcrnbuport", { NULL }, 3652, "udp" }, + { "tsp", { NULL }, 3653, "tcp" }, + { "tsp", { NULL }, 3653, "udp" }, + { "vaprtm", { NULL }, 3654, "tcp" }, + { "vaprtm", { NULL }, 3654, "udp" }, + { "abatemgr", { NULL }, 3655, "tcp" }, + { "abatemgr", { NULL }, 3655, "udp" }, + { "abatjss", { NULL }, 3656, "tcp" }, + { "abatjss", { NULL }, 3656, "udp" }, + { "immedianet-bcn", { NULL }, 3657, "tcp" }, + { "immedianet-bcn", { NULL }, 3657, "udp" }, + { "ps-ams", { NULL }, 3658, "tcp" }, + { "ps-ams", { NULL }, 3658, "udp" }, + { "apple-sasl", { NULL }, 3659, "tcp" }, + { "apple-sasl", { NULL }, 3659, "udp" }, + { "can-nds-ssl", { NULL }, 3660, "tcp" }, + { "can-nds-ssl", { NULL }, 3660, "udp" }, + { "can-ferret-ssl", { NULL }, 3661, "tcp" }, + { "can-ferret-ssl", { NULL }, 3661, "udp" }, + { "pserver", { NULL }, 3662, "tcp" }, + { "pserver", { NULL }, 3662, "udp" }, + { "dtp", { NULL }, 3663, "tcp" }, + { "dtp", { NULL }, 3663, "udp" }, + { "ups-engine", { NULL }, 3664, "tcp" }, + { "ups-engine", { NULL }, 3664, "udp" }, + { "ent-engine", { NULL }, 3665, "tcp" }, + { "ent-engine", { NULL }, 3665, "udp" }, + { "eserver-pap", { NULL }, 3666, "tcp" }, + { "eserver-pap", { NULL }, 3666, "udp" }, + { "infoexch", { NULL }, 3667, "tcp" }, + { "infoexch", { NULL }, 3667, "udp" }, + { "dell-rm-port", { NULL }, 3668, "tcp" }, + { "dell-rm-port", { NULL }, 3668, "udp" }, + { "casanswmgmt", { NULL }, 3669, "tcp" }, + { "casanswmgmt", { NULL }, 3669, "udp" }, + { "smile", { NULL }, 3670, "tcp" }, + { "smile", { NULL }, 3670, "udp" }, + { "efcp", { NULL }, 3671, "tcp" }, + { "efcp", { NULL }, 3671, "udp" }, + { "lispworks-orb", { NULL }, 3672, "tcp" }, + { "lispworks-orb", { NULL }, 3672, "udp" }, + { "mediavault-gui", { NULL }, 3673, "tcp" }, + { "mediavault-gui", { NULL }, 3673, "udp" }, + { "wininstall-ipc", { NULL }, 3674, "tcp" }, + { "wininstall-ipc", { NULL }, 3674, "udp" }, + { "calltrax", { NULL }, 3675, "tcp" }, + { "calltrax", { NULL }, 3675, "udp" }, + { "va-pacbase", { NULL }, 3676, "tcp" }, + { "va-pacbase", { NULL }, 3676, "udp" }, + { "roverlog", { NULL }, 3677, "tcp" }, + { "roverlog", { NULL }, 3677, "udp" }, + { "ipr-dglt", { NULL }, 3678, "tcp" }, + { "ipr-dglt", { NULL }, 3678, "udp" }, + { "newton-dock", { NULL }, 3679, "tcp" }, + { "newton-dock", { NULL }, 3679, "udp" }, + { "npds-tracker", { NULL }, 3680, "tcp" }, + { "npds-tracker", { NULL }, 3680, "udp" }, + { "bts-x73", { NULL }, 3681, "tcp" }, + { "bts-x73", { NULL }, 3681, "udp" }, + { "cas-mapi", { NULL }, 3682, "tcp" }, + { "cas-mapi", { NULL }, 3682, "udp" }, + { "bmc-ea", { NULL }, 3683, "tcp" }, + { "bmc-ea", { NULL }, 3683, "udp" }, + { "faxstfx-port", { NULL }, 3684, "tcp" }, + { "faxstfx-port", { NULL }, 3684, "udp" }, + { "dsx-agent", { NULL }, 3685, "tcp" }, + { "dsx-agent", { NULL }, 3685, "udp" }, + { "tnmpv2", { NULL }, 3686, "tcp" }, + { "tnmpv2", { NULL }, 3686, "udp" }, + { "simple-push", { NULL }, 3687, "tcp" }, + { "simple-push", { NULL }, 3687, "udp" }, + { "simple-push-s", { NULL }, 3688, "tcp" }, + { "simple-push-s", { NULL }, 3688, "udp" }, + { "daap", { NULL }, 3689, "tcp" }, + { "daap", { NULL }, 3689, "udp" }, + { "svn", { NULL }, 3690, "tcp" }, + { "svn", { NULL }, 3690, "udp" }, + { "magaya-network", { NULL }, 3691, "tcp" }, + { "magaya-network", { NULL }, 3691, "udp" }, + { "intelsync", { NULL }, 3692, "tcp" }, + { "intelsync", { NULL }, 3692, "udp" }, + { "bmc-data-coll", { NULL }, 3695, "tcp" }, + { "bmc-data-coll", { NULL }, 3695, "udp" }, + { "telnetcpcd", { NULL }, 3696, "tcp" }, + { "telnetcpcd", { NULL }, 3696, "udp" }, + { "nw-license", { NULL }, 3697, "tcp" }, + { "nw-license", { NULL }, 3697, "udp" }, + { "sagectlpanel", { NULL }, 3698, "tcp" }, + { "sagectlpanel", { NULL }, 3698, "udp" }, + { "kpn-icw", { NULL }, 3699, "tcp" }, + { "kpn-icw", { NULL }, 3699, "udp" }, + { "lrs-paging", { NULL }, 3700, "tcp" }, + { "lrs-paging", { NULL }, 3700, "udp" }, + { "netcelera", { NULL }, 3701, "tcp" }, + { "netcelera", { NULL }, 3701, "udp" }, + { "ws-discovery", { NULL }, 3702, "tcp" }, + { "ws-discovery", { NULL }, 3702, "udp" }, + { "adobeserver-3", { NULL }, 3703, "tcp" }, + { "adobeserver-3", { NULL }, 3703, "udp" }, + { "adobeserver-4", { NULL }, 3704, "tcp" }, + { "adobeserver-4", { NULL }, 3704, "udp" }, + { "adobeserver-5", { NULL }, 3705, "tcp" }, + { "adobeserver-5", { NULL }, 3705, "udp" }, + { "rt-event", { NULL }, 3706, "tcp" }, + { "rt-event", { NULL }, 3706, "udp" }, + { "rt-event-s", { NULL }, 3707, "tcp" }, + { "rt-event-s", { NULL }, 3707, "udp" }, + { "sun-as-iiops", { NULL }, 3708, "tcp" }, + { "sun-as-iiops", { NULL }, 3708, "udp" }, + { "ca-idms", { NULL }, 3709, "tcp" }, + { "ca-idms", { NULL }, 3709, "udp" }, + { "portgate-auth", { NULL }, 3710, "tcp" }, + { "portgate-auth", { NULL }, 3710, "udp" }, + { "edb-server2", { NULL }, 3711, "tcp" }, + { "edb-server2", { NULL }, 3711, "udp" }, + { "sentinel-ent", { NULL }, 3712, "tcp" }, + { "sentinel-ent", { NULL }, 3712, "udp" }, + { "tftps", { NULL }, 3713, "tcp" }, + { "tftps", { NULL }, 3713, "udp" }, + { "delos-dms", { NULL }, 3714, "tcp" }, + { "delos-dms", { NULL }, 3714, "udp" }, + { "anoto-rendezv", { NULL }, 3715, "tcp" }, + { "anoto-rendezv", { NULL }, 3715, "udp" }, + { "wv-csp-sms-cir", { NULL }, 3716, "tcp" }, + { "wv-csp-sms-cir", { NULL }, 3716, "udp" }, + { "wv-csp-udp-cir", { NULL }, 3717, "tcp" }, + { "wv-csp-udp-cir", { NULL }, 3717, "udp" }, + { "opus-services", { NULL }, 3718, "tcp" }, + { "opus-services", { NULL }, 3718, "udp" }, + { "itelserverport", { NULL }, 3719, "tcp" }, + { "itelserverport", { NULL }, 3719, "udp" }, + { "ufastro-instr", { NULL }, 3720, "tcp" }, + { "ufastro-instr", { NULL }, 3720, "udp" }, + { "xsync", { NULL }, 3721, "tcp" }, + { "xsync", { NULL }, 3721, "udp" }, + { "xserveraid", { NULL }, 3722, "tcp" }, + { "xserveraid", { NULL }, 3722, "udp" }, + { "sychrond", { NULL }, 3723, "tcp" }, + { "sychrond", { NULL }, 3723, "udp" }, + { "blizwow", { NULL }, 3724, "tcp" }, + { "blizwow", { NULL }, 3724, "udp" }, + { "na-er-tip", { NULL }, 3725, "tcp" }, + { "na-er-tip", { NULL }, 3725, "udp" }, + { "array-manager", { NULL }, 3726, "tcp" }, + { "array-manager", { NULL }, 3726, "udp" }, + { "e-mdu", { NULL }, 3727, "tcp" }, + { "e-mdu", { NULL }, 3727, "udp" }, + { "e-woa", { NULL }, 3728, "tcp" }, + { "e-woa", { NULL }, 3728, "udp" }, + { "fksp-audit", { NULL }, 3729, "tcp" }, + { "fksp-audit", { NULL }, 3729, "udp" }, + { "client-ctrl", { NULL }, 3730, "tcp" }, + { "client-ctrl", { NULL }, 3730, "udp" }, + { "smap", { NULL }, 3731, "tcp" }, + { "smap", { NULL }, 3731, "udp" }, + { "m-wnn", { NULL }, 3732, "tcp" }, + { "m-wnn", { NULL }, 3732, "udp" }, + { "multip-msg", { NULL }, 3733, "tcp" }, + { "multip-msg", { NULL }, 3733, "udp" }, + { "synel-data", { NULL }, 3734, "tcp" }, + { "synel-data", { NULL }, 3734, "udp" }, + { "pwdis", { NULL }, 3735, "tcp" }, + { "pwdis", { NULL }, 3735, "udp" }, + { "rs-rmi", { NULL }, 3736, "tcp" }, + { "rs-rmi", { NULL }, 3736, "udp" }, + { "xpanel", { NULL }, 3737, "tcp" }, + { "versatalk", { NULL }, 3738, "tcp" }, + { "versatalk", { NULL }, 3738, "udp" }, + { "launchbird-lm", { NULL }, 3739, "tcp" }, + { "launchbird-lm", { NULL }, 3739, "udp" }, + { "heartbeat", { NULL }, 3740, "tcp" }, + { "heartbeat", { NULL }, 3740, "udp" }, + { "wysdma", { NULL }, 3741, "tcp" }, + { "wysdma", { NULL }, 3741, "udp" }, + { "cst-port", { NULL }, 3742, "tcp" }, + { "cst-port", { NULL }, 3742, "udp" }, + { "ipcs-command", { NULL }, 3743, "tcp" }, + { "ipcs-command", { NULL }, 3743, "udp" }, + { "sasg", { NULL }, 3744, "tcp" }, + { "sasg", { NULL }, 3744, "udp" }, + { "gw-call-port", { NULL }, 3745, "tcp" }, + { "gw-call-port", { NULL }, 3745, "udp" }, + { "linktest", { NULL }, 3746, "tcp" }, + { "linktest", { NULL }, 3746, "udp" }, + { "linktest-s", { NULL }, 3747, "tcp" }, + { "linktest-s", { NULL }, 3747, "udp" }, + { "webdata", { NULL }, 3748, "tcp" }, + { "webdata", { NULL }, 3748, "udp" }, + { "cimtrak", { NULL }, 3749, "tcp" }, + { "cimtrak", { NULL }, 3749, "udp" }, + { "cbos-ip-port", { NULL }, 3750, "tcp" }, + { "cbos-ip-port", { NULL }, 3750, "udp" }, + { "gprs-cube", { NULL }, 3751, "tcp" }, + { "gprs-cube", { NULL }, 3751, "udp" }, + { "vipremoteagent", { NULL }, 3752, "tcp" }, + { "vipremoteagent", { NULL }, 3752, "udp" }, + { "nattyserver", { NULL }, 3753, "tcp" }, + { "nattyserver", { NULL }, 3753, "udp" }, + { "timestenbroker", { NULL }, 3754, "tcp" }, + { "timestenbroker", { NULL }, 3754, "udp" }, + { "sas-remote-hlp", { NULL }, 3755, "tcp" }, + { "sas-remote-hlp", { NULL }, 3755, "udp" }, + { "canon-capt", { NULL }, 3756, "tcp" }, + { "canon-capt", { NULL }, 3756, "udp" }, + { "grf-port", { NULL }, 3757, "tcp" }, + { "grf-port", { NULL }, 3757, "udp" }, + { "apw-registry", { NULL }, 3758, "tcp" }, + { "apw-registry", { NULL }, 3758, "udp" }, + { "exapt-lmgr", { NULL }, 3759, "tcp" }, + { "exapt-lmgr", { NULL }, 3759, "udp" }, + { "adtempusclient", { NULL }, 3760, "tcp" }, + { "adtempusclient", { NULL }, 3760, "udp" }, + { "gsakmp", { NULL }, 3761, "tcp" }, + { "gsakmp", { NULL }, 3761, "udp" }, + { "gbs-smp", { NULL }, 3762, "tcp" }, + { "gbs-smp", { NULL }, 3762, "udp" }, + { "xo-wave", { NULL }, 3763, "tcp" }, + { "xo-wave", { NULL }, 3763, "udp" }, + { "mni-prot-rout", { NULL }, 3764, "tcp" }, + { "mni-prot-rout", { NULL }, 3764, "udp" }, + { "rtraceroute", { NULL }, 3765, "tcp" }, + { "rtraceroute", { NULL }, 3765, "udp" }, + { "listmgr-port", { NULL }, 3767, "tcp" }, + { "listmgr-port", { NULL }, 3767, "udp" }, + { "rblcheckd", { NULL }, 3768, "tcp" }, + { "rblcheckd", { NULL }, 3768, "udp" }, + { "haipe-otnk", { NULL }, 3769, "tcp" }, + { "haipe-otnk", { NULL }, 3769, "udp" }, + { "cindycollab", { NULL }, 3770, "tcp" }, + { "cindycollab", { NULL }, 3770, "udp" }, + { "paging-port", { NULL }, 3771, "tcp" }, + { "paging-port", { NULL }, 3771, "udp" }, + { "ctp", { NULL }, 3772, "tcp" }, + { "ctp", { NULL }, 3772, "udp" }, + { "ctdhercules", { NULL }, 3773, "tcp" }, + { "ctdhercules", { NULL }, 3773, "udp" }, + { "zicom", { NULL }, 3774, "tcp" }, + { "zicom", { NULL }, 3774, "udp" }, + { "ispmmgr", { NULL }, 3775, "tcp" }, + { "ispmmgr", { NULL }, 3775, "udp" }, + { "dvcprov-port", { NULL }, 3776, "tcp" }, + { "dvcprov-port", { NULL }, 3776, "udp" }, + { "jibe-eb", { NULL }, 3777, "tcp" }, + { "jibe-eb", { NULL }, 3777, "udp" }, + { "c-h-it-port", { NULL }, 3778, "tcp" }, + { "c-h-it-port", { NULL }, 3778, "udp" }, + { "cognima", { NULL }, 3779, "tcp" }, + { "cognima", { NULL }, 3779, "udp" }, + { "nnp", { NULL }, 3780, "tcp" }, + { "nnp", { NULL }, 3780, "udp" }, + { "abcvoice-port", { NULL }, 3781, "tcp" }, + { "abcvoice-port", { NULL }, 3781, "udp" }, + { "iso-tp0s", { NULL }, 3782, "tcp" }, + { "iso-tp0s", { NULL }, 3782, "udp" }, + { "bim-pem", { NULL }, 3783, "tcp" }, + { "bim-pem", { NULL }, 3783, "udp" }, + { "bfd-control", { NULL }, 3784, "tcp" }, + { "bfd-control", { NULL }, 3784, "udp" }, + { "bfd-echo", { NULL }, 3785, "tcp" }, + { "bfd-echo", { NULL }, 3785, "udp" }, + { "upstriggervsw", { NULL }, 3786, "tcp" }, + { "upstriggervsw", { NULL }, 3786, "udp" }, + { "fintrx", { NULL }, 3787, "tcp" }, + { "fintrx", { NULL }, 3787, "udp" }, + { "isrp-port", { NULL }, 3788, "tcp" }, + { "isrp-port", { NULL }, 3788, "udp" }, + { "remotedeploy", { NULL }, 3789, "tcp" }, + { "remotedeploy", { NULL }, 3789, "udp" }, + { "quickbooksrds", { NULL }, 3790, "tcp" }, + { "quickbooksrds", { NULL }, 3790, "udp" }, + { "tvnetworkvideo", { NULL }, 3791, "tcp" }, + { "tvnetworkvideo", { NULL }, 3791, "udp" }, + { "sitewatch", { NULL }, 3792, "tcp" }, + { "sitewatch", { NULL }, 3792, "udp" }, + { "dcsoftware", { NULL }, 3793, "tcp" }, + { "dcsoftware", { NULL }, 3793, "udp" }, + { "jaus", { NULL }, 3794, "tcp" }, + { "jaus", { NULL }, 3794, "udp" }, + { "myblast", { NULL }, 3795, "tcp" }, + { "myblast", { NULL }, 3795, "udp" }, + { "spw-dialer", { NULL }, 3796, "tcp" }, + { "spw-dialer", { NULL }, 3796, "udp" }, + { "idps", { NULL }, 3797, "tcp" }, + { "idps", { NULL }, 3797, "udp" }, + { "minilock", { NULL }, 3798, "tcp" }, + { "minilock", { NULL }, 3798, "udp" }, + { "radius-dynauth", { NULL }, 3799, "tcp" }, + { "radius-dynauth", { NULL }, 3799, "udp" }, + { "pwgpsi", { NULL }, 3800, "tcp" }, + { "pwgpsi", { NULL }, 3800, "udp" }, + { "ibm-mgr", { NULL }, 3801, "tcp" }, + { "ibm-mgr", { NULL }, 3801, "udp" }, + { "vhd", { NULL }, 3802, "tcp" }, + { "vhd", { NULL }, 3802, "udp" }, + { "soniqsync", { NULL }, 3803, "tcp" }, + { "soniqsync", { NULL }, 3803, "udp" }, + { "iqnet-port", { NULL }, 3804, "tcp" }, + { "iqnet-port", { NULL }, 3804, "udp" }, + { "tcpdataserver", { NULL }, 3805, "tcp" }, + { "tcpdataserver", { NULL }, 3805, "udp" }, + { "wsmlb", { NULL }, 3806, "tcp" }, + { "wsmlb", { NULL }, 3806, "udp" }, + { "spugna", { NULL }, 3807, "tcp" }, + { "spugna", { NULL }, 3807, "udp" }, + { "sun-as-iiops-ca", { NULL }, 3808, "tcp" }, + { "sun-as-iiops-ca", { NULL }, 3808, "udp" }, + { "apocd", { NULL }, 3809, "tcp" }, + { "apocd", { NULL }, 3809, "udp" }, + { "wlanauth", { NULL }, 3810, "tcp" }, + { "wlanauth", { NULL }, 3810, "udp" }, + { "amp", { NULL }, 3811, "tcp" }, + { "amp", { NULL }, 3811, "udp" }, + { "neto-wol-server", { NULL }, 3812, "tcp" }, + { "neto-wol-server", { NULL }, 3812, "udp" }, + { "rap-ip", { NULL }, 3813, "tcp" }, + { "rap-ip", { NULL }, 3813, "udp" }, + { "neto-dcs", { NULL }, 3814, "tcp" }, + { "neto-dcs", { NULL }, 3814, "udp" }, + { "lansurveyorxml", { NULL }, 3815, "tcp" }, + { "lansurveyorxml", { NULL }, 3815, "udp" }, + { "sunlps-http", { NULL }, 3816, "tcp" }, + { "sunlps-http", { NULL }, 3816, "udp" }, + { "tapeware", { NULL }, 3817, "tcp" }, + { "tapeware", { NULL }, 3817, "udp" }, + { "crinis-hb", { NULL }, 3818, "tcp" }, + { "crinis-hb", { NULL }, 3818, "udp" }, + { "epl-slp", { NULL }, 3819, "tcp" }, + { "epl-slp", { NULL }, 3819, "udp" }, + { "scp", { NULL }, 3820, "tcp" }, + { "scp", { NULL }, 3820, "udp" }, + { "pmcp", { NULL }, 3821, "tcp" }, + { "pmcp", { NULL }, 3821, "udp" }, + { "acp-discovery", { NULL }, 3822, "tcp" }, + { "acp-discovery", { NULL }, 3822, "udp" }, + { "acp-conduit", { NULL }, 3823, "tcp" }, + { "acp-conduit", { NULL }, 3823, "udp" }, + { "acp-policy", { NULL }, 3824, "tcp" }, + { "acp-policy", { NULL }, 3824, "udp" }, + { "ffserver", { NULL }, 3825, "tcp" }, + { "ffserver", { NULL }, 3825, "udp" }, + { "wormux", { NULL }, 3826, "tcp" }, + { "wormux", { NULL }, 3826, "udp" }, + { "netmpi", { NULL }, 3827, "tcp" }, + { "netmpi", { NULL }, 3827, "udp" }, + { "neteh", { NULL }, 3828, "tcp" }, + { "neteh", { NULL }, 3828, "udp" }, + { "neteh-ext", { NULL }, 3829, "tcp" }, + { "neteh-ext", { NULL }, 3829, "udp" }, + { "cernsysmgmtagt", { NULL }, 3830, "tcp" }, + { "cernsysmgmtagt", { NULL }, 3830, "udp" }, + { "dvapps", { NULL }, 3831, "tcp" }, + { "dvapps", { NULL }, 3831, "udp" }, + { "xxnetserver", { NULL }, 3832, "tcp" }, + { "xxnetserver", { NULL }, 3832, "udp" }, + { "aipn-auth", { NULL }, 3833, "tcp" }, + { "aipn-auth", { NULL }, 3833, "udp" }, + { "spectardata", { NULL }, 3834, "tcp" }, + { "spectardata", { NULL }, 3834, "udp" }, + { "spectardb", { NULL }, 3835, "tcp" }, + { "spectardb", { NULL }, 3835, "udp" }, + { "markem-dcp", { NULL }, 3836, "tcp" }, + { "markem-dcp", { NULL }, 3836, "udp" }, + { "mkm-discovery", { NULL }, 3837, "tcp" }, + { "mkm-discovery", { NULL }, 3837, "udp" }, + { "sos", { NULL }, 3838, "tcp" }, + { "sos", { NULL }, 3838, "udp" }, + { "amx-rms", { NULL }, 3839, "tcp" }, + { "amx-rms", { NULL }, 3839, "udp" }, + { "flirtmitmir", { NULL }, 3840, "tcp" }, + { "flirtmitmir", { NULL }, 3840, "udp" }, + { "zfirm-shiprush3", { NULL }, 3841, "tcp" }, + { "zfirm-shiprush3", { NULL }, 3841, "udp" }, + { "nhci", { NULL }, 3842, "tcp" }, + { "nhci", { NULL }, 3842, "udp" }, + { "quest-agent", { NULL }, 3843, "tcp" }, + { "quest-agent", { NULL }, 3843, "udp" }, + { "rnm", { NULL }, 3844, "tcp" }, + { "rnm", { NULL }, 3844, "udp" }, + { "v-one-spp", { NULL }, 3845, "tcp" }, + { "v-one-spp", { NULL }, 3845, "udp" }, + { "an-pcp", { NULL }, 3846, "tcp" }, + { "an-pcp", { NULL }, 3846, "udp" }, + { "msfw-control", { NULL }, 3847, "tcp" }, + { "msfw-control", { NULL }, 3847, "udp" }, + { "item", { NULL }, 3848, "tcp" }, + { "item", { NULL }, 3848, "udp" }, + { "spw-dnspreload", { NULL }, 3849, "tcp" }, + { "spw-dnspreload", { NULL }, 3849, "udp" }, + { "qtms-bootstrap", { NULL }, 3850, "tcp" }, + { "qtms-bootstrap", { NULL }, 3850, "udp" }, + { "spectraport", { NULL }, 3851, "tcp" }, + { "spectraport", { NULL }, 3851, "udp" }, + { "sse-app-config", { NULL }, 3852, "tcp" }, + { "sse-app-config", { NULL }, 3852, "udp" }, + { "sscan", { NULL }, 3853, "tcp" }, + { "sscan", { NULL }, 3853, "udp" }, + { "stryker-com", { NULL }, 3854, "tcp" }, + { "stryker-com", { NULL }, 3854, "udp" }, + { "opentrac", { NULL }, 3855, "tcp" }, + { "opentrac", { NULL }, 3855, "udp" }, + { "informer", { NULL }, 3856, "tcp" }, + { "informer", { NULL }, 3856, "udp" }, + { "trap-port", { NULL }, 3857, "tcp" }, + { "trap-port", { NULL }, 3857, "udp" }, + { "trap-port-mom", { NULL }, 3858, "tcp" }, + { "trap-port-mom", { NULL }, 3858, "udp" }, + { "nav-port", { NULL }, 3859, "tcp" }, + { "nav-port", { NULL }, 3859, "udp" }, + { "sasp", { NULL }, 3860, "tcp" }, + { "sasp", { NULL }, 3860, "udp" }, + { "winshadow-hd", { NULL }, 3861, "tcp" }, + { "winshadow-hd", { NULL }, 3861, "udp" }, + { "giga-pocket", { NULL }, 3862, "tcp" }, + { "giga-pocket", { NULL }, 3862, "udp" }, + { "asap-tcp", { NULL }, 3863, "tcp" }, + { "asap-udp", { NULL }, 3863, "udp" }, + { "asap-sctp", { NULL }, 3863, "sctp" }, + { "asap-tcp-tls", { NULL }, 3864, "tcp" }, + { "asap-sctp-tls", { NULL }, 3864, "sctp" }, + { "xpl", { NULL }, 3865, "tcp" }, + { "xpl", { NULL }, 3865, "udp" }, + { "dzdaemon", { NULL }, 3866, "tcp" }, + { "dzdaemon", { NULL }, 3866, "udp" }, + { "dzoglserver", { NULL }, 3867, "tcp" }, + { "dzoglserver", { NULL }, 3867, "udp" }, + { "diameter", { NULL }, 3868, "tcp" }, + { "diameter", { NULL }, 3868, "sctp" }, + { "ovsam-mgmt", { NULL }, 3869, "tcp" }, + { "ovsam-mgmt", { NULL }, 3869, "udp" }, + { "ovsam-d-agent", { NULL }, 3870, "tcp" }, + { "ovsam-d-agent", { NULL }, 3870, "udp" }, + { "avocent-adsap", { NULL }, 3871, "tcp" }, + { "avocent-adsap", { NULL }, 3871, "udp" }, + { "oem-agent", { NULL }, 3872, "tcp" }, + { "oem-agent", { NULL }, 3872, "udp" }, + { "fagordnc", { NULL }, 3873, "tcp" }, + { "fagordnc", { NULL }, 3873, "udp" }, + { "sixxsconfig", { NULL }, 3874, "tcp" }, + { "sixxsconfig", { NULL }, 3874, "udp" }, + { "pnbscada", { NULL }, 3875, "tcp" }, + { "pnbscada", { NULL }, 3875, "udp" }, + { "dl_agent", { NULL }, 3876, "tcp" }, + { "dl_agent", { NULL }, 3876, "udp" }, + { "xmpcr-interface", { NULL }, 3877, "tcp" }, + { "xmpcr-interface", { NULL }, 3877, "udp" }, + { "fotogcad", { NULL }, 3878, "tcp" }, + { "fotogcad", { NULL }, 3878, "udp" }, + { "appss-lm", { NULL }, 3879, "tcp" }, + { "appss-lm", { NULL }, 3879, "udp" }, + { "igrs", { NULL }, 3880, "tcp" }, + { "igrs", { NULL }, 3880, "udp" }, + { "idac", { NULL }, 3881, "tcp" }, + { "idac", { NULL }, 3881, "udp" }, + { "msdts1", { NULL }, 3882, "tcp" }, + { "msdts1", { NULL }, 3882, "udp" }, + { "vrpn", { NULL }, 3883, "tcp" }, + { "vrpn", { NULL }, 3883, "udp" }, + { "softrack-meter", { NULL }, 3884, "tcp" }, + { "softrack-meter", { NULL }, 3884, "udp" }, + { "topflow-ssl", { NULL }, 3885, "tcp" }, + { "topflow-ssl", { NULL }, 3885, "udp" }, + { "nei-management", { NULL }, 3886, "tcp" }, + { "nei-management", { NULL }, 3886, "udp" }, + { "ciphire-data", { NULL }, 3887, "tcp" }, + { "ciphire-data", { NULL }, 3887, "udp" }, + { "ciphire-serv", { NULL }, 3888, "tcp" }, + { "ciphire-serv", { NULL }, 3888, "udp" }, + { "dandv-tester", { NULL }, 3889, "tcp" }, + { "dandv-tester", { NULL }, 3889, "udp" }, + { "ndsconnect", { NULL }, 3890, "tcp" }, + { "ndsconnect", { NULL }, 3890, "udp" }, + { "rtc-pm-port", { NULL }, 3891, "tcp" }, + { "rtc-pm-port", { NULL }, 3891, "udp" }, + { "pcc-image-port", { NULL }, 3892, "tcp" }, + { "pcc-image-port", { NULL }, 3892, "udp" }, + { "cgi-starapi", { NULL }, 3893, "tcp" }, + { "cgi-starapi", { NULL }, 3893, "udp" }, + { "syam-agent", { NULL }, 3894, "tcp" }, + { "syam-agent", { NULL }, 3894, "udp" }, + { "syam-smc", { NULL }, 3895, "tcp" }, + { "syam-smc", { NULL }, 3895, "udp" }, + { "sdo-tls", { NULL }, 3896, "tcp" }, + { "sdo-tls", { NULL }, 3896, "udp" }, + { "sdo-ssh", { NULL }, 3897, "tcp" }, + { "sdo-ssh", { NULL }, 3897, "udp" }, + { "senip", { NULL }, 3898, "tcp" }, + { "senip", { NULL }, 3898, "udp" }, + { "itv-control", { NULL }, 3899, "tcp" }, + { "itv-control", { NULL }, 3899, "udp" }, + { "udt_os", { NULL }, 3900, "tcp" }, + { "udt_os", { NULL }, 3900, "udp" }, + { "nimsh", { NULL }, 3901, "tcp" }, + { "nimsh", { NULL }, 3901, "udp" }, + { "nimaux", { NULL }, 3902, "tcp" }, + { "nimaux", { NULL }, 3902, "udp" }, + { "charsetmgr", { NULL }, 3903, "tcp" }, + { "charsetmgr", { NULL }, 3903, "udp" }, + { "omnilink-port", { NULL }, 3904, "tcp" }, + { "omnilink-port", { NULL }, 3904, "udp" }, + { "mupdate", { NULL }, 3905, "tcp" }, + { "mupdate", { NULL }, 3905, "udp" }, + { "topovista-data", { NULL }, 3906, "tcp" }, + { "topovista-data", { NULL }, 3906, "udp" }, + { "imoguia-port", { NULL }, 3907, "tcp" }, + { "imoguia-port", { NULL }, 3907, "udp" }, + { "hppronetman", { NULL }, 3908, "tcp" }, + { "hppronetman", { NULL }, 3908, "udp" }, + { "surfcontrolcpa", { NULL }, 3909, "tcp" }, + { "surfcontrolcpa", { NULL }, 3909, "udp" }, + { "prnrequest", { NULL }, 3910, "tcp" }, + { "prnrequest", { NULL }, 3910, "udp" }, + { "prnstatus", { NULL }, 3911, "tcp" }, + { "prnstatus", { NULL }, 3911, "udp" }, + { "gbmt-stars", { NULL }, 3912, "tcp" }, + { "gbmt-stars", { NULL }, 3912, "udp" }, + { "listcrt-port", { NULL }, 3913, "tcp" }, + { "listcrt-port", { NULL }, 3913, "udp" }, + { "listcrt-port-2", { NULL }, 3914, "tcp" }, + { "listcrt-port-2", { NULL }, 3914, "udp" }, + { "agcat", { NULL }, 3915, "tcp" }, + { "agcat", { NULL }, 3915, "udp" }, + { "wysdmc", { NULL }, 3916, "tcp" }, + { "wysdmc", { NULL }, 3916, "udp" }, + { "aftmux", { NULL }, 3917, "tcp" }, + { "aftmux", { NULL }, 3917, "udp" }, + { "pktcablemmcops", { NULL }, 3918, "tcp" }, + { "pktcablemmcops", { NULL }, 3918, "udp" }, + { "hyperip", { NULL }, 3919, "tcp" }, + { "hyperip", { NULL }, 3919, "udp" }, + { "exasoftport1", { NULL }, 3920, "tcp" }, + { "exasoftport1", { NULL }, 3920, "udp" }, + { "herodotus-net", { NULL }, 3921, "tcp" }, + { "herodotus-net", { NULL }, 3921, "udp" }, + { "sor-update", { NULL }, 3922, "tcp" }, + { "sor-update", { NULL }, 3922, "udp" }, + { "symb-sb-port", { NULL }, 3923, "tcp" }, + { "symb-sb-port", { NULL }, 3923, "udp" }, + { "mpl-gprs-port", { NULL }, 3924, "tcp" }, + { "mpl-gprs-port", { NULL }, 3924, "udp" }, + { "zmp", { NULL }, 3925, "tcp" }, + { "zmp", { NULL }, 3925, "udp" }, + { "winport", { NULL }, 3926, "tcp" }, + { "winport", { NULL }, 3926, "udp" }, + { "natdataservice", { NULL }, 3927, "tcp" }, + { "natdataservice", { NULL }, 3927, "udp" }, + { "netboot-pxe", { NULL }, 3928, "tcp" }, + { "netboot-pxe", { NULL }, 3928, "udp" }, + { "smauth-port", { NULL }, 3929, "tcp" }, + { "smauth-port", { NULL }, 3929, "udp" }, + { "syam-webserver", { NULL }, 3930, "tcp" }, + { "syam-webserver", { NULL }, 3930, "udp" }, + { "msr-plugin-port", { NULL }, 3931, "tcp" }, + { "msr-plugin-port", { NULL }, 3931, "udp" }, + { "dyn-site", { NULL }, 3932, "tcp" }, + { "dyn-site", { NULL }, 3932, "udp" }, + { "plbserve-port", { NULL }, 3933, "tcp" }, + { "plbserve-port", { NULL }, 3933, "udp" }, + { "sunfm-port", { NULL }, 3934, "tcp" }, + { "sunfm-port", { NULL }, 3934, "udp" }, + { "sdp-portmapper", { NULL }, 3935, "tcp" }, + { "sdp-portmapper", { NULL }, 3935, "udp" }, + { "mailprox", { NULL }, 3936, "tcp" }, + { "mailprox", { NULL }, 3936, "udp" }, + { "dvbservdsc", { NULL }, 3937, "tcp" }, + { "dvbservdsc", { NULL }, 3937, "udp" }, + { "dbcontrol_agent", { NULL }, 3938, "tcp" }, + { "dbcontrol_agent", { NULL }, 3938, "udp" }, + { "aamp", { NULL }, 3939, "tcp" }, + { "aamp", { NULL }, 3939, "udp" }, + { "xecp-node", { NULL }, 3940, "tcp" }, + { "xecp-node", { NULL }, 3940, "udp" }, + { "homeportal-web", { NULL }, 3941, "tcp" }, + { "homeportal-web", { NULL }, 3941, "udp" }, + { "srdp", { NULL }, 3942, "tcp" }, + { "srdp", { NULL }, 3942, "udp" }, + { "tig", { NULL }, 3943, "tcp" }, + { "tig", { NULL }, 3943, "udp" }, + { "sops", { NULL }, 3944, "tcp" }, + { "sops", { NULL }, 3944, "udp" }, + { "emcads", { NULL }, 3945, "tcp" }, + { "emcads", { NULL }, 3945, "udp" }, + { "backupedge", { NULL }, 3946, "tcp" }, + { "backupedge", { NULL }, 3946, "udp" }, + { "ccp", { NULL }, 3947, "tcp" }, + { "ccp", { NULL }, 3947, "udp" }, + { "apdap", { NULL }, 3948, "tcp" }, + { "apdap", { NULL }, 3948, "udp" }, + { "drip", { NULL }, 3949, "tcp" }, + { "drip", { NULL }, 3949, "udp" }, + { "namemunge", { NULL }, 3950, "tcp" }, + { "namemunge", { NULL }, 3950, "udp" }, + { "pwgippfax", { NULL }, 3951, "tcp" }, + { "pwgippfax", { NULL }, 3951, "udp" }, + { "i3-sessionmgr", { NULL }, 3952, "tcp" }, + { "i3-sessionmgr", { NULL }, 3952, "udp" }, + { "xmlink-connect", { NULL }, 3953, "tcp" }, + { "xmlink-connect", { NULL }, 3953, "udp" }, + { "adrep", { NULL }, 3954, "tcp" }, + { "adrep", { NULL }, 3954, "udp" }, + { "p2pcommunity", { NULL }, 3955, "tcp" }, + { "p2pcommunity", { NULL }, 3955, "udp" }, + { "gvcp", { NULL }, 3956, "tcp" }, + { "gvcp", { NULL }, 3956, "udp" }, + { "mqe-broker", { NULL }, 3957, "tcp" }, + { "mqe-broker", { NULL }, 3957, "udp" }, + { "mqe-agent", { NULL }, 3958, "tcp" }, + { "mqe-agent", { NULL }, 3958, "udp" }, + { "treehopper", { NULL }, 3959, "tcp" }, + { "treehopper", { NULL }, 3959, "udp" }, + { "bess", { NULL }, 3960, "tcp" }, + { "bess", { NULL }, 3960, "udp" }, + { "proaxess", { NULL }, 3961, "tcp" }, + { "proaxess", { NULL }, 3961, "udp" }, + { "sbi-agent", { NULL }, 3962, "tcp" }, + { "sbi-agent", { NULL }, 3962, "udp" }, + { "thrp", { NULL }, 3963, "tcp" }, + { "thrp", { NULL }, 3963, "udp" }, + { "sasggprs", { NULL }, 3964, "tcp" }, + { "sasggprs", { NULL }, 3964, "udp" }, + { "ati-ip-to-ncpe", { NULL }, 3965, "tcp" }, + { "ati-ip-to-ncpe", { NULL }, 3965, "udp" }, + { "bflckmgr", { NULL }, 3966, "tcp" }, + { "bflckmgr", { NULL }, 3966, "udp" }, + { "ppsms", { NULL }, 3967, "tcp" }, + { "ppsms", { NULL }, 3967, "udp" }, + { "ianywhere-dbns", { NULL }, 3968, "tcp" }, + { "ianywhere-dbns", { NULL }, 3968, "udp" }, + { "landmarks", { NULL }, 3969, "tcp" }, + { "landmarks", { NULL }, 3969, "udp" }, + { "lanrevagent", { NULL }, 3970, "tcp" }, + { "lanrevagent", { NULL }, 3970, "udp" }, + { "lanrevserver", { NULL }, 3971, "tcp" }, + { "lanrevserver", { NULL }, 3971, "udp" }, + { "iconp", { NULL }, 3972, "tcp" }, + { "iconp", { NULL }, 3972, "udp" }, + { "progistics", { NULL }, 3973, "tcp" }, + { "progistics", { NULL }, 3973, "udp" }, + { "citysearch", { NULL }, 3974, "tcp" }, + { "citysearch", { NULL }, 3974, "udp" }, + { "airshot", { NULL }, 3975, "tcp" }, + { "airshot", { NULL }, 3975, "udp" }, + { "opswagent", { NULL }, 3976, "tcp" }, + { "opswagent", { NULL }, 3976, "udp" }, + { "opswmanager", { NULL }, 3977, "tcp" }, + { "opswmanager", { NULL }, 3977, "udp" }, + { "secure-cfg-svr", { NULL }, 3978, "tcp" }, + { "secure-cfg-svr", { NULL }, 3978, "udp" }, + { "smwan", { NULL }, 3979, "tcp" }, + { "smwan", { NULL }, 3979, "udp" }, + { "acms", { NULL }, 3980, "tcp" }, + { "acms", { NULL }, 3980, "udp" }, + { "starfish", { NULL }, 3981, "tcp" }, + { "starfish", { NULL }, 3981, "udp" }, + { "eis", { NULL }, 3982, "tcp" }, + { "eis", { NULL }, 3982, "udp" }, + { "eisp", { NULL }, 3983, "tcp" }, + { "eisp", { NULL }, 3983, "udp" }, + { "mapper-nodemgr", { NULL }, 3984, "tcp" }, + { "mapper-nodemgr", { NULL }, 3984, "udp" }, + { "mapper-mapethd", { NULL }, 3985, "tcp" }, + { "mapper-mapethd", { NULL }, 3985, "udp" }, + { "mapper-ws_ethd", { NULL }, 3986, "tcp" }, + { "mapper-ws_ethd", { NULL }, 3986, "udp" }, + { "centerline", { NULL }, 3987, "tcp" }, + { "centerline", { NULL }, 3987, "udp" }, + { "dcs-config", { NULL }, 3988, "tcp" }, + { "dcs-config", { NULL }, 3988, "udp" }, + { "bv-queryengine", { NULL }, 3989, "tcp" }, + { "bv-queryengine", { NULL }, 3989, "udp" }, + { "bv-is", { NULL }, 3990, "tcp" }, + { "bv-is", { NULL }, 3990, "udp" }, + { "bv-smcsrv", { NULL }, 3991, "tcp" }, + { "bv-smcsrv", { NULL }, 3991, "udp" }, + { "bv-ds", { NULL }, 3992, "tcp" }, + { "bv-ds", { NULL }, 3992, "udp" }, + { "bv-agent", { NULL }, 3993, "tcp" }, + { "bv-agent", { NULL }, 3993, "udp" }, + { "iss-mgmt-ssl", { NULL }, 3995, "tcp" }, + { "iss-mgmt-ssl", { NULL }, 3995, "udp" }, + { "abcsoftware", { NULL }, 3996, "tcp" }, + { "abcsoftware", { NULL }, 3996, "udp" }, + { "agentsease-db", { NULL }, 3997, "tcp" }, + { "agentsease-db", { NULL }, 3997, "udp" }, + { "dnx", { NULL }, 3998, "tcp" }, + { "dnx", { NULL }, 3998, "udp" }, + { "nvcnet", { NULL }, 3999, "tcp" }, + { "nvcnet", { NULL }, 3999, "udp" }, + { "terabase", { NULL }, 4000, "tcp" }, + { "terabase", { NULL }, 4000, "udp" }, + { "newoak", { NULL }, 4001, "tcp" }, + { "newoak", { NULL }, 4001, "udp" }, + { "pxc-spvr-ft", { NULL }, 4002, "tcp" }, + { "pxc-spvr-ft", { NULL }, 4002, "udp" }, + { "pxc-splr-ft", { NULL }, 4003, "tcp" }, + { "pxc-splr-ft", { NULL }, 4003, "udp" }, + { "pxc-roid", { NULL }, 4004, "tcp" }, + { "pxc-roid", { NULL }, 4004, "udp" }, + { "pxc-pin", { NULL }, 4005, "tcp" }, + { "pxc-pin", { NULL }, 4005, "udp" }, + { "pxc-spvr", { NULL }, 4006, "tcp" }, + { "pxc-spvr", { NULL }, 4006, "udp" }, + { "pxc-splr", { NULL }, 4007, "tcp" }, + { "pxc-splr", { NULL }, 4007, "udp" }, + { "netcheque", { NULL }, 4008, "tcp" }, + { "netcheque", { NULL }, 4008, "udp" }, + { "chimera-hwm", { NULL }, 4009, "tcp" }, + { "chimera-hwm", { NULL }, 4009, "udp" }, + { "samsung-unidex", { NULL }, 4010, "tcp" }, + { "samsung-unidex", { NULL }, 4010, "udp" }, + { "altserviceboot", { NULL }, 4011, "tcp" }, + { "altserviceboot", { NULL }, 4011, "udp" }, + { "pda-gate", { NULL }, 4012, "tcp" }, + { "pda-gate", { NULL }, 4012, "udp" }, + { "acl-manager", { NULL }, 4013, "tcp" }, + { "acl-manager", { NULL }, 4013, "udp" }, + { "taiclock", { NULL }, 4014, "tcp" }, + { "taiclock", { NULL }, 4014, "udp" }, + { "talarian-mcast1", { NULL }, 4015, "tcp" }, + { "talarian-mcast1", { NULL }, 4015, "udp" }, + { "talarian-mcast2", { NULL }, 4016, "tcp" }, + { "talarian-mcast2", { NULL }, 4016, "udp" }, + { "talarian-mcast3", { NULL }, 4017, "tcp" }, + { "talarian-mcast3", { NULL }, 4017, "udp" }, + { "talarian-mcast4", { NULL }, 4018, "tcp" }, + { "talarian-mcast4", { NULL }, 4018, "udp" }, + { "talarian-mcast5", { NULL }, 4019, "tcp" }, + { "talarian-mcast5", { NULL }, 4019, "udp" }, + { "trap", { NULL }, 4020, "tcp" }, + { "trap", { NULL }, 4020, "udp" }, + { "nexus-portal", { NULL }, 4021, "tcp" }, + { "nexus-portal", { NULL }, 4021, "udp" }, + { "dnox", { NULL }, 4022, "tcp" }, + { "dnox", { NULL }, 4022, "udp" }, + { "esnm-zoning", { NULL }, 4023, "tcp" }, + { "esnm-zoning", { NULL }, 4023, "udp" }, + { "tnp1-port", { NULL }, 4024, "tcp" }, + { "tnp1-port", { NULL }, 4024, "udp" }, + { "partimage", { NULL }, 4025, "tcp" }, + { "partimage", { NULL }, 4025, "udp" }, + { "as-debug", { NULL }, 4026, "tcp" }, + { "as-debug", { NULL }, 4026, "udp" }, + { "bxp", { NULL }, 4027, "tcp" }, + { "bxp", { NULL }, 4027, "udp" }, + { "dtserver-port", { NULL }, 4028, "tcp" }, + { "dtserver-port", { NULL }, 4028, "udp" }, + { "ip-qsig", { NULL }, 4029, "tcp" }, + { "ip-qsig", { NULL }, 4029, "udp" }, + { "jdmn-port", { NULL }, 4030, "tcp" }, + { "jdmn-port", { NULL }, 4030, "udp" }, + { "suucp", { NULL }, 4031, "tcp" }, + { "suucp", { NULL }, 4031, "udp" }, + { "vrts-auth-port", { NULL }, 4032, "tcp" }, + { "vrts-auth-port", { NULL }, 4032, "udp" }, + { "sanavigator", { NULL }, 4033, "tcp" }, + { "sanavigator", { NULL }, 4033, "udp" }, + { "ubxd", { NULL }, 4034, "tcp" }, + { "ubxd", { NULL }, 4034, "udp" }, + { "wap-push-http", { NULL }, 4035, "tcp" }, + { "wap-push-http", { NULL }, 4035, "udp" }, + { "wap-push-https", { NULL }, 4036, "tcp" }, + { "wap-push-https", { NULL }, 4036, "udp" }, + { "ravehd", { NULL }, 4037, "tcp" }, + { "ravehd", { NULL }, 4037, "udp" }, + { "fazzt-ptp", { NULL }, 4038, "tcp" }, + { "fazzt-ptp", { NULL }, 4038, "udp" }, + { "fazzt-admin", { NULL }, 4039, "tcp" }, + { "fazzt-admin", { NULL }, 4039, "udp" }, + { "yo-main", { NULL }, 4040, "tcp" }, + { "yo-main", { NULL }, 4040, "udp" }, + { "houston", { NULL }, 4041, "tcp" }, + { "houston", { NULL }, 4041, "udp" }, + { "ldxp", { NULL }, 4042, "tcp" }, + { "ldxp", { NULL }, 4042, "udp" }, + { "nirp", { NULL }, 4043, "tcp" }, + { "nirp", { NULL }, 4043, "udp" }, + { "ltp", { NULL }, 4044, "tcp" }, + { "ltp", { NULL }, 4044, "udp" }, + { "npp", { NULL }, 4045, "tcp" }, + { "npp", { NULL }, 4045, "udp" }, + { "acp-proto", { NULL }, 4046, "tcp" }, + { "acp-proto", { NULL }, 4046, "udp" }, + { "ctp-state", { NULL }, 4047, "tcp" }, + { "ctp-state", { NULL }, 4047, "udp" }, + { "wafs", { NULL }, 4049, "tcp" }, + { "wafs", { NULL }, 4049, "udp" }, + { "cisco-wafs", { NULL }, 4050, "tcp" }, + { "cisco-wafs", { NULL }, 4050, "udp" }, + { "cppdp", { NULL }, 4051, "tcp" }, + { "cppdp", { NULL }, 4051, "udp" }, + { "interact", { NULL }, 4052, "tcp" }, + { "interact", { NULL }, 4052, "udp" }, + { "ccu-comm-1", { NULL }, 4053, "tcp" }, + { "ccu-comm-1", { NULL }, 4053, "udp" }, + { "ccu-comm-2", { NULL }, 4054, "tcp" }, + { "ccu-comm-2", { NULL }, 4054, "udp" }, + { "ccu-comm-3", { NULL }, 4055, "tcp" }, + { "ccu-comm-3", { NULL }, 4055, "udp" }, + { "lms", { NULL }, 4056, "tcp" }, + { "lms", { NULL }, 4056, "udp" }, + { "wfm", { NULL }, 4057, "tcp" }, + { "wfm", { NULL }, 4057, "udp" }, + { "kingfisher", { NULL }, 4058, "tcp" }, + { "kingfisher", { NULL }, 4058, "udp" }, + { "dlms-cosem", { NULL }, 4059, "tcp" }, + { "dlms-cosem", { NULL }, 4059, "udp" }, + { "dsmeter_iatc", { NULL }, 4060, "tcp" }, + { "dsmeter_iatc", { NULL }, 4060, "udp" }, + { "ice-location", { NULL }, 4061, "tcp" }, + { "ice-location", { NULL }, 4061, "udp" }, + { "ice-slocation", { NULL }, 4062, "tcp" }, + { "ice-slocation", { NULL }, 4062, "udp" }, + { "ice-router", { NULL }, 4063, "tcp" }, + { "ice-router", { NULL }, 4063, "udp" }, + { "ice-srouter", { NULL }, 4064, "tcp" }, + { "ice-srouter", { NULL }, 4064, "udp" }, + { "avanti_cdp", { NULL }, 4065, "tcp" }, + { "avanti_cdp", { NULL }, 4065, "udp" }, + { "pmas", { NULL }, 4066, "tcp" }, + { "pmas", { NULL }, 4066, "udp" }, + { "idp", { NULL }, 4067, "tcp" }, + { "idp", { NULL }, 4067, "udp" }, + { "ipfltbcst", { NULL }, 4068, "tcp" }, + { "ipfltbcst", { NULL }, 4068, "udp" }, + { "minger", { NULL }, 4069, "tcp" }, + { "minger", { NULL }, 4069, "udp" }, + { "tripe", { NULL }, 4070, "tcp" }, + { "tripe", { NULL }, 4070, "udp" }, + { "aibkup", { NULL }, 4071, "tcp" }, + { "aibkup", { NULL }, 4071, "udp" }, + { "zieto-sock", { NULL }, 4072, "tcp" }, + { "zieto-sock", { NULL }, 4072, "udp" }, + { "iRAPP", { NULL }, 4073, "tcp" }, + { "iRAPP", { NULL }, 4073, "udp" }, + { "cequint-cityid", { NULL }, 4074, "tcp" }, + { "cequint-cityid", { NULL }, 4074, "udp" }, + { "perimlan", { NULL }, 4075, "tcp" }, + { "perimlan", { NULL }, 4075, "udp" }, + { "seraph", { NULL }, 4076, "tcp" }, + { "seraph", { NULL }, 4076, "udp" }, + { "ascomalarm", { NULL }, 4077, "udp" }, + { "cssp", { NULL }, 4078, "tcp" }, + { "santools", { NULL }, 4079, "tcp" }, + { "santools", { NULL }, 4079, "udp" }, + { "lorica-in", { NULL }, 4080, "tcp" }, + { "lorica-in", { NULL }, 4080, "udp" }, + { "lorica-in-sec", { NULL }, 4081, "tcp" }, + { "lorica-in-sec", { NULL }, 4081, "udp" }, + { "lorica-out", { NULL }, 4082, "tcp" }, + { "lorica-out", { NULL }, 4082, "udp" }, + { "lorica-out-sec", { NULL }, 4083, "tcp" }, + { "lorica-out-sec", { NULL }, 4083, "udp" }, + { "fortisphere-vm", { NULL }, 4084, "udp" }, + { "ezmessagesrv", { NULL }, 4085, "tcp" }, + { "ftsync", { NULL }, 4086, "udp" }, + { "applusservice", { NULL }, 4087, "tcp" }, + { "npsp", { NULL }, 4088, "tcp" }, + { "opencore", { NULL }, 4089, "tcp" }, + { "opencore", { NULL }, 4089, "udp" }, + { "omasgport", { NULL }, 4090, "tcp" }, + { "omasgport", { NULL }, 4090, "udp" }, + { "ewinstaller", { NULL }, 4091, "tcp" }, + { "ewinstaller", { NULL }, 4091, "udp" }, + { "ewdgs", { NULL }, 4092, "tcp" }, + { "ewdgs", { NULL }, 4092, "udp" }, + { "pvxpluscs", { NULL }, 4093, "tcp" }, + { "pvxpluscs", { NULL }, 4093, "udp" }, + { "sysrqd", { NULL }, 4094, "tcp" }, + { "sysrqd", { NULL }, 4094, "udp" }, + { "xtgui", { NULL }, 4095, "tcp" }, + { "xtgui", { NULL }, 4095, "udp" }, + { "bre", { NULL }, 4096, "tcp" }, + { "bre", { NULL }, 4096, "udp" }, + { "patrolview", { NULL }, 4097, "tcp" }, + { "patrolview", { NULL }, 4097, "udp" }, + { "drmsfsd", { NULL }, 4098, "tcp" }, + { "drmsfsd", { NULL }, 4098, "udp" }, + { "dpcp", { NULL }, 4099, "tcp" }, + { "dpcp", { NULL }, 4099, "udp" }, + { "igo-incognito", { NULL }, 4100, "tcp" }, + { "igo-incognito", { NULL }, 4100, "udp" }, + { "brlp-0", { NULL }, 4101, "tcp" }, + { "brlp-0", { NULL }, 4101, "udp" }, + { "brlp-1", { NULL }, 4102, "tcp" }, + { "brlp-1", { NULL }, 4102, "udp" }, + { "brlp-2", { NULL }, 4103, "tcp" }, + { "brlp-2", { NULL }, 4103, "udp" }, + { "brlp-3", { NULL }, 4104, "tcp" }, + { "brlp-3", { NULL }, 4104, "udp" }, + { "shofarplayer", { NULL }, 4105, "tcp" }, + { "shofarplayer", { NULL }, 4105, "udp" }, + { "synchronite", { NULL }, 4106, "tcp" }, + { "synchronite", { NULL }, 4106, "udp" }, + { "j-ac", { NULL }, 4107, "tcp" }, + { "j-ac", { NULL }, 4107, "udp" }, + { "accel", { NULL }, 4108, "tcp" }, + { "accel", { NULL }, 4108, "udp" }, + { "izm", { NULL }, 4109, "tcp" }, + { "izm", { NULL }, 4109, "udp" }, + { "g2tag", { NULL }, 4110, "tcp" }, + { "g2tag", { NULL }, 4110, "udp" }, + { "xgrid", { NULL }, 4111, "tcp" }, + { "xgrid", { NULL }, 4111, "udp" }, + { "apple-vpns-rp", { NULL }, 4112, "tcp" }, + { "apple-vpns-rp", { NULL }, 4112, "udp" }, + { "aipn-reg", { NULL }, 4113, "tcp" }, + { "aipn-reg", { NULL }, 4113, "udp" }, + { "jomamqmonitor", { NULL }, 4114, "tcp" }, + { "jomamqmonitor", { NULL }, 4114, "udp" }, + { "cds", { NULL }, 4115, "tcp" }, + { "cds", { NULL }, 4115, "udp" }, + { "smartcard-tls", { NULL }, 4116, "tcp" }, + { "smartcard-tls", { NULL }, 4116, "udp" }, + { "hillrserv", { NULL }, 4117, "tcp" }, + { "hillrserv", { NULL }, 4117, "udp" }, + { "netscript", { NULL }, 4118, "tcp" }, + { "netscript", { NULL }, 4118, "udp" }, + { "assuria-slm", { NULL }, 4119, "tcp" }, + { "assuria-slm", { NULL }, 4119, "udp" }, + { "e-builder", { NULL }, 4121, "tcp" }, + { "e-builder", { NULL }, 4121, "udp" }, + { "fprams", { NULL }, 4122, "tcp" }, + { "fprams", { NULL }, 4122, "udp" }, + { "z-wave", { NULL }, 4123, "tcp" }, + { "z-wave", { NULL }, 4123, "udp" }, + { "tigv2", { NULL }, 4124, "tcp" }, + { "tigv2", { NULL }, 4124, "udp" }, + { "opsview-envoy", { NULL }, 4125, "tcp" }, + { "opsview-envoy", { NULL }, 4125, "udp" }, + { "ddrepl", { NULL }, 4126, "tcp" }, + { "ddrepl", { NULL }, 4126, "udp" }, + { "unikeypro", { NULL }, 4127, "tcp" }, + { "unikeypro", { NULL }, 4127, "udp" }, + { "nufw", { NULL }, 4128, "tcp" }, + { "nufw", { NULL }, 4128, "udp" }, + { "nuauth", { NULL }, 4129, "tcp" }, + { "nuauth", { NULL }, 4129, "udp" }, + { "fronet", { NULL }, 4130, "tcp" }, + { "fronet", { NULL }, 4130, "udp" }, + { "stars", { NULL }, 4131, "tcp" }, + { "stars", { NULL }, 4131, "udp" }, + { "nuts_dem", { NULL }, 4132, "tcp" }, + { "nuts_dem", { NULL }, 4132, "udp" }, + { "nuts_bootp", { NULL }, 4133, "tcp" }, + { "nuts_bootp", { NULL }, 4133, "udp" }, + { "nifty-hmi", { NULL }, 4134, "tcp" }, + { "nifty-hmi", { NULL }, 4134, "udp" }, + { "cl-db-attach", { NULL }, 4135, "tcp" }, + { "cl-db-attach", { NULL }, 4135, "udp" }, + { "cl-db-request", { NULL }, 4136, "tcp" }, + { "cl-db-request", { NULL }, 4136, "udp" }, + { "cl-db-remote", { NULL }, 4137, "tcp" }, + { "cl-db-remote", { NULL }, 4137, "udp" }, + { "nettest", { NULL }, 4138, "tcp" }, + { "nettest", { NULL }, 4138, "udp" }, + { "thrtx", { NULL }, 4139, "tcp" }, + { "thrtx", { NULL }, 4139, "udp" }, + { "cedros_fds", { NULL }, 4140, "tcp" }, + { "cedros_fds", { NULL }, 4140, "udp" }, + { "oirtgsvc", { NULL }, 4141, "tcp" }, + { "oirtgsvc", { NULL }, 4141, "udp" }, + { "oidocsvc", { NULL }, 4142, "tcp" }, + { "oidocsvc", { NULL }, 4142, "udp" }, + { "oidsr", { NULL }, 4143, "tcp" }, + { "oidsr", { NULL }, 4143, "udp" }, + { "vvr-control", { NULL }, 4145, "tcp" }, + { "vvr-control", { NULL }, 4145, "udp" }, + { "tgcconnect", { NULL }, 4146, "tcp" }, + { "tgcconnect", { NULL }, 4146, "udp" }, + { "vrxpservman", { NULL }, 4147, "tcp" }, + { "vrxpservman", { NULL }, 4147, "udp" }, + { "hhb-handheld", { NULL }, 4148, "tcp" }, + { "hhb-handheld", { NULL }, 4148, "udp" }, + { "agslb", { NULL }, 4149, "tcp" }, + { "agslb", { NULL }, 4149, "udp" }, + { "PowerAlert-nsa", { NULL }, 4150, "tcp" }, + { "PowerAlert-nsa", { NULL }, 4150, "udp" }, + { "menandmice_noh", { NULL }, 4151, "tcp" }, + { "menandmice_noh", { NULL }, 4151, "udp" }, + { "idig_mux", { NULL }, 4152, "tcp" }, + { "idig_mux", { NULL }, 4152, "udp" }, + { "mbl-battd", { NULL }, 4153, "tcp" }, + { "mbl-battd", { NULL }, 4153, "udp" }, + { "atlinks", { NULL }, 4154, "tcp" }, + { "atlinks", { NULL }, 4154, "udp" }, + { "bzr", { NULL }, 4155, "tcp" }, + { "bzr", { NULL }, 4155, "udp" }, + { "stat-results", { NULL }, 4156, "tcp" }, + { "stat-results", { NULL }, 4156, "udp" }, + { "stat-scanner", { NULL }, 4157, "tcp" }, + { "stat-scanner", { NULL }, 4157, "udp" }, + { "stat-cc", { NULL }, 4158, "tcp" }, + { "stat-cc", { NULL }, 4158, "udp" }, + { "nss", { NULL }, 4159, "tcp" }, + { "nss", { NULL }, 4159, "udp" }, + { "jini-discovery", { NULL }, 4160, "tcp" }, + { "jini-discovery", { NULL }, 4160, "udp" }, + { "omscontact", { NULL }, 4161, "tcp" }, + { "omscontact", { NULL }, 4161, "udp" }, + { "omstopology", { NULL }, 4162, "tcp" }, + { "omstopology", { NULL }, 4162, "udp" }, + { "silverpeakpeer", { NULL }, 4163, "tcp" }, + { "silverpeakpeer", { NULL }, 4163, "udp" }, + { "silverpeakcomm", { NULL }, 4164, "tcp" }, + { "silverpeakcomm", { NULL }, 4164, "udp" }, + { "altcp", { NULL }, 4165, "tcp" }, + { "altcp", { NULL }, 4165, "udp" }, + { "joost", { NULL }, 4166, "tcp" }, + { "joost", { NULL }, 4166, "udp" }, + { "ddgn", { NULL }, 4167, "tcp" }, + { "ddgn", { NULL }, 4167, "udp" }, + { "pslicser", { NULL }, 4168, "tcp" }, + { "pslicser", { NULL }, 4168, "udp" }, + { "iadt", { NULL }, 4169, "tcp" }, + { "iadt-disc", { NULL }, 4169, "udp" }, + { "d-cinema-csp", { NULL }, 4170, "tcp" }, + { "ml-svnet", { NULL }, 4171, "tcp" }, + { "pcoip", { NULL }, 4172, "tcp" }, + { "pcoip", { NULL }, 4172, "udp" }, + { "smcluster", { NULL }, 4174, "tcp" }, + { "bccp", { NULL }, 4175, "tcp" }, + { "tl-ipcproxy", { NULL }, 4176, "tcp" }, + { "wello", { NULL }, 4177, "tcp" }, + { "wello", { NULL }, 4177, "udp" }, + { "storman", { NULL }, 4178, "tcp" }, + { "storman", { NULL }, 4178, "udp" }, + { "MaxumSP", { NULL }, 4179, "tcp" }, + { "MaxumSP", { NULL }, 4179, "udp" }, + { "httpx", { NULL }, 4180, "tcp" }, + { "httpx", { NULL }, 4180, "udp" }, + { "macbak", { NULL }, 4181, "tcp" }, + { "macbak", { NULL }, 4181, "udp" }, + { "pcptcpservice", { NULL }, 4182, "tcp" }, + { "pcptcpservice", { NULL }, 4182, "udp" }, + { "gmmp", { NULL }, 4183, "tcp" }, + { "gmmp", { NULL }, 4183, "udp" }, + { "universe_suite", { NULL }, 4184, "tcp" }, + { "universe_suite", { NULL }, 4184, "udp" }, + { "wcpp", { NULL }, 4185, "tcp" }, + { "wcpp", { NULL }, 4185, "udp" }, + { "boxbackupstore", { NULL }, 4186, "tcp" }, + { "csc_proxy", { NULL }, 4187, "tcp" }, + { "vatata", { NULL }, 4188, "tcp" }, + { "vatata", { NULL }, 4188, "udp" }, + { "pcep", { NULL }, 4189, "tcp" }, + { "sieve", { NULL }, 4190, "tcp" }, + { "dsmipv6", { NULL }, 4191, "udp" }, + { "azeti", { NULL }, 4192, "tcp" }, + { "azeti-bd", { NULL }, 4192, "udp" }, + { "pvxplusio", { NULL }, 4193, "tcp" }, + { "eims-admin", { NULL }, 4199, "tcp" }, + { "eims-admin", { NULL }, 4199, "udp" }, + { "corelccam", { NULL }, 4300, "tcp" }, + { "corelccam", { NULL }, 4300, "udp" }, + { "d-data", { NULL }, 4301, "tcp" }, + { "d-data", { NULL }, 4301, "udp" }, + { "d-data-control", { NULL }, 4302, "tcp" }, + { "d-data-control", { NULL }, 4302, "udp" }, + { "srcp", { NULL }, 4303, "tcp" }, + { "srcp", { NULL }, 4303, "udp" }, + { "owserver", { NULL }, 4304, "tcp" }, + { "owserver", { NULL }, 4304, "udp" }, + { "batman", { NULL }, 4305, "tcp" }, + { "batman", { NULL }, 4305, "udp" }, + { "pinghgl", { NULL }, 4306, "tcp" }, + { "pinghgl", { NULL }, 4306, "udp" }, + { "visicron-vs", { NULL }, 4307, "tcp" }, + { "visicron-vs", { NULL }, 4307, "udp" }, + { "compx-lockview", { NULL }, 4308, "tcp" }, + { "compx-lockview", { NULL }, 4308, "udp" }, + { "dserver", { NULL }, 4309, "tcp" }, + { "dserver", { NULL }, 4309, "udp" }, + { "mirrtex", { NULL }, 4310, "tcp" }, + { "mirrtex", { NULL }, 4310, "udp" }, + { "p6ssmc", { NULL }, 4311, "tcp" }, + { "pscl-mgt", { NULL }, 4312, "tcp" }, + { "perrla", { NULL }, 4313, "tcp" }, + { "fdt-rcatp", { NULL }, 4320, "tcp" }, + { "fdt-rcatp", { NULL }, 4320, "udp" }, + { "rwhois", { NULL }, 4321, "tcp" }, + { "rwhois", { NULL }, 4321, "udp" }, + { "trim-event", { NULL }, 4322, "tcp" }, + { "trim-event", { NULL }, 4322, "udp" }, + { "trim-ice", { NULL }, 4323, "tcp" }, + { "trim-ice", { NULL }, 4323, "udp" }, + { "balour", { NULL }, 4324, "tcp" }, + { "balour", { NULL }, 4324, "udp" }, + { "geognosisman", { NULL }, 4325, "tcp" }, + { "geognosisman", { NULL }, 4325, "udp" }, + { "geognosis", { NULL }, 4326, "tcp" }, + { "geognosis", { NULL }, 4326, "udp" }, + { "jaxer-web", { NULL }, 4327, "tcp" }, + { "jaxer-web", { NULL }, 4327, "udp" }, + { "jaxer-manager", { NULL }, 4328, "tcp" }, + { "jaxer-manager", { NULL }, 4328, "udp" }, + { "publiqare-sync", { NULL }, 4329, "tcp" }, + { "gaia", { NULL }, 4340, "tcp" }, + { "gaia", { NULL }, 4340, "udp" }, + { "lisp-data", { NULL }, 4341, "tcp" }, + { "lisp-data", { NULL }, 4341, "udp" }, + { "lisp-cons", { NULL }, 4342, "tcp" }, + { "lisp-control", { NULL }, 4342, "udp" }, + { "unicall", { NULL }, 4343, "tcp" }, + { "unicall", { NULL }, 4343, "udp" }, + { "vinainstall", { NULL }, 4344, "tcp" }, + { "vinainstall", { NULL }, 4344, "udp" }, + { "m4-network-as", { NULL }, 4345, "tcp" }, + { "m4-network-as", { NULL }, 4345, "udp" }, + { "elanlm", { NULL }, 4346, "tcp" }, + { "elanlm", { NULL }, 4346, "udp" }, + { "lansurveyor", { NULL }, 4347, "tcp" }, + { "lansurveyor", { NULL }, 4347, "udp" }, + { "itose", { NULL }, 4348, "tcp" }, + { "itose", { NULL }, 4348, "udp" }, + { "fsportmap", { NULL }, 4349, "tcp" }, + { "fsportmap", { NULL }, 4349, "udp" }, + { "net-device", { NULL }, 4350, "tcp" }, + { "net-device", { NULL }, 4350, "udp" }, + { "plcy-net-svcs", { NULL }, 4351, "tcp" }, + { "plcy-net-svcs", { NULL }, 4351, "udp" }, + { "pjlink", { NULL }, 4352, "tcp" }, + { "pjlink", { NULL }, 4352, "udp" }, + { "f5-iquery", { NULL }, 4353, "tcp" }, + { "f5-iquery", { NULL }, 4353, "udp" }, + { "qsnet-trans", { NULL }, 4354, "tcp" }, + { "qsnet-trans", { NULL }, 4354, "udp" }, + { "qsnet-workst", { NULL }, 4355, "tcp" }, + { "qsnet-workst", { NULL }, 4355, "udp" }, + { "qsnet-assist", { NULL }, 4356, "tcp" }, + { "qsnet-assist", { NULL }, 4356, "udp" }, + { "qsnet-cond", { NULL }, 4357, "tcp" }, + { "qsnet-cond", { NULL }, 4357, "udp" }, + { "qsnet-nucl", { NULL }, 4358, "tcp" }, + { "qsnet-nucl", { NULL }, 4358, "udp" }, + { "omabcastltkm", { NULL }, 4359, "tcp" }, + { "omabcastltkm", { NULL }, 4359, "udp" }, + { "matrix_vnet", { NULL }, 4360, "tcp" }, + { "nacnl", { NULL }, 4361, "udp" }, + { "afore-vdp-disc", { NULL }, 4362, "udp" }, + { "wxbrief", { NULL }, 4368, "tcp" }, + { "wxbrief", { NULL }, 4368, "udp" }, + { "epmd", { NULL }, 4369, "tcp" }, + { "epmd", { NULL }, 4369, "udp" }, + { "elpro_tunnel", { NULL }, 4370, "tcp" }, + { "elpro_tunnel", { NULL }, 4370, "udp" }, + { "l2c-control", { NULL }, 4371, "tcp" }, + { "l2c-disc", { NULL }, 4371, "udp" }, + { "l2c-data", { NULL }, 4372, "tcp" }, + { "l2c-data", { NULL }, 4372, "udp" }, + { "remctl", { NULL }, 4373, "tcp" }, + { "remctl", { NULL }, 4373, "udp" }, + { "psi-ptt", { NULL }, 4374, "tcp" }, + { "tolteces", { NULL }, 4375, "tcp" }, + { "tolteces", { NULL }, 4375, "udp" }, + { "bip", { NULL }, 4376, "tcp" }, + { "bip", { NULL }, 4376, "udp" }, + { "cp-spxsvr", { NULL }, 4377, "tcp" }, + { "cp-spxsvr", { NULL }, 4377, "udp" }, + { "cp-spxdpy", { NULL }, 4378, "tcp" }, + { "cp-spxdpy", { NULL }, 4378, "udp" }, + { "ctdb", { NULL }, 4379, "tcp" }, + { "ctdb", { NULL }, 4379, "udp" }, + { "xandros-cms", { NULL }, 4389, "tcp" }, + { "xandros-cms", { NULL }, 4389, "udp" }, + { "wiegand", { NULL }, 4390, "tcp" }, + { "wiegand", { NULL }, 4390, "udp" }, + { "apwi-imserver", { NULL }, 4391, "tcp" }, + { "apwi-rxserver", { NULL }, 4392, "tcp" }, + { "apwi-rxspooler", { NULL }, 4393, "tcp" }, + { "apwi-disc", { NULL }, 4394, "udp" }, + { "omnivisionesx", { NULL }, 4395, "tcp" }, + { "omnivisionesx", { NULL }, 4395, "udp" }, + { "fly", { NULL }, 4396, "tcp" }, + { "ds-srv", { NULL }, 4400, "tcp" }, + { "ds-srv", { NULL }, 4400, "udp" }, + { "ds-srvr", { NULL }, 4401, "tcp" }, + { "ds-srvr", { NULL }, 4401, "udp" }, + { "ds-clnt", { NULL }, 4402, "tcp" }, + { "ds-clnt", { NULL }, 4402, "udp" }, + { "ds-user", { NULL }, 4403, "tcp" }, + { "ds-user", { NULL }, 4403, "udp" }, + { "ds-admin", { NULL }, 4404, "tcp" }, + { "ds-admin", { NULL }, 4404, "udp" }, + { "ds-mail", { NULL }, 4405, "tcp" }, + { "ds-mail", { NULL }, 4405, "udp" }, + { "ds-slp", { NULL }, 4406, "tcp" }, + { "ds-slp", { NULL }, 4406, "udp" }, + { "nacagent", { NULL }, 4407, "tcp" }, + { "slscc", { NULL }, 4408, "tcp" }, + { "netcabinet-com", { NULL }, 4409, "tcp" }, + { "itwo-server", { NULL }, 4410, "tcp" }, + { "netrockey6", { NULL }, 4425, "tcp" }, + { "netrockey6", { NULL }, 4425, "udp" }, + { "beacon-port-2", { NULL }, 4426, "tcp" }, + { "beacon-port-2", { NULL }, 4426, "udp" }, + { "drizzle", { NULL }, 4427, "tcp" }, + { "omviserver", { NULL }, 4428, "tcp" }, + { "omviagent", { NULL }, 4429, "tcp" }, + { "rsqlserver", { NULL }, 4430, "tcp" }, + { "rsqlserver", { NULL }, 4430, "udp" }, + { "wspipe", { NULL }, 4431, "tcp" }, + { "netblox", { NULL }, 4441, "udp" }, + { "saris", { NULL }, 4442, "tcp" }, + { "saris", { NULL }, 4442, "udp" }, + { "pharos", { NULL }, 4443, "tcp" }, + { "pharos", { NULL }, 4443, "udp" }, + { "krb524", { NULL }, 4444, "tcp" }, + { "krb524", { NULL }, 4444, "udp" }, + { "nv-video", { NULL }, 4444, "tcp" }, + { "nv-video", { NULL }, 4444, "udp" }, + { "upnotifyp", { NULL }, 4445, "tcp" }, + { "upnotifyp", { NULL }, 4445, "udp" }, + { "n1-fwp", { NULL }, 4446, "tcp" }, + { "n1-fwp", { NULL }, 4446, "udp" }, + { "n1-rmgmt", { NULL }, 4447, "tcp" }, + { "n1-rmgmt", { NULL }, 4447, "udp" }, + { "asc-slmd", { NULL }, 4448, "tcp" }, + { "asc-slmd", { NULL }, 4448, "udp" }, + { "privatewire", { NULL }, 4449, "tcp" }, + { "privatewire", { NULL }, 4449, "udp" }, + { "camp", { NULL }, 4450, "tcp" }, + { "camp", { NULL }, 4450, "udp" }, + { "ctisystemmsg", { NULL }, 4451, "tcp" }, + { "ctisystemmsg", { NULL }, 4451, "udp" }, + { "ctiprogramload", { NULL }, 4452, "tcp" }, + { "ctiprogramload", { NULL }, 4452, "udp" }, + { "nssalertmgr", { NULL }, 4453, "tcp" }, + { "nssalertmgr", { NULL }, 4453, "udp" }, + { "nssagentmgr", { NULL }, 4454, "tcp" }, + { "nssagentmgr", { NULL }, 4454, "udp" }, + { "prchat-user", { NULL }, 4455, "tcp" }, + { "prchat-user", { NULL }, 4455, "udp" }, + { "prchat-server", { NULL }, 4456, "tcp" }, + { "prchat-server", { NULL }, 4456, "udp" }, + { "prRegister", { NULL }, 4457, "tcp" }, + { "prRegister", { NULL }, 4457, "udp" }, + { "mcp", { NULL }, 4458, "tcp" }, + { "mcp", { NULL }, 4458, "udp" }, + { "hpssmgmt", { NULL }, 4484, "tcp" }, + { "hpssmgmt", { NULL }, 4484, "udp" }, + { "assyst-dr", { NULL }, 4485, "tcp" }, + { "icms", { NULL }, 4486, "tcp" }, + { "icms", { NULL }, 4486, "udp" }, + { "prex-tcp", { NULL }, 4487, "tcp" }, + { "awacs-ice", { NULL }, 4488, "tcp" }, + { "awacs-ice", { NULL }, 4488, "udp" }, + { "ipsec-nat-t", { NULL }, 4500, "tcp" }, + { "ipsec-nat-t", { NULL }, 4500, "udp" }, + { "ehs", { NULL }, 4535, "tcp" }, + { "ehs", { NULL }, 4535, "udp" }, + { "ehs-ssl", { NULL }, 4536, "tcp" }, + { "ehs-ssl", { NULL }, 4536, "udp" }, + { "wssauthsvc", { NULL }, 4537, "tcp" }, + { "wssauthsvc", { NULL }, 4537, "udp" }, + { "swx-gate", { NULL }, 4538, "tcp" }, + { "swx-gate", { NULL }, 4538, "udp" }, + { "worldscores", { NULL }, 4545, "tcp" }, + { "worldscores", { NULL }, 4545, "udp" }, + { "sf-lm", { NULL }, 4546, "tcp" }, + { "sf-lm", { NULL }, 4546, "udp" }, + { "lanner-lm", { NULL }, 4547, "tcp" }, + { "lanner-lm", { NULL }, 4547, "udp" }, + { "synchromesh", { NULL }, 4548, "tcp" }, + { "synchromesh", { NULL }, 4548, "udp" }, + { "aegate", { NULL }, 4549, "tcp" }, + { "aegate", { NULL }, 4549, "udp" }, + { "gds-adppiw-db", { NULL }, 4550, "tcp" }, + { "gds-adppiw-db", { NULL }, 4550, "udp" }, + { "ieee-mih", { NULL }, 4551, "tcp" }, + { "ieee-mih", { NULL }, 4551, "udp" }, + { "menandmice-mon", { NULL }, 4552, "tcp" }, + { "menandmice-mon", { NULL }, 4552, "udp" }, + { "icshostsvc", { NULL }, 4553, "tcp" }, + { "msfrs", { NULL }, 4554, "tcp" }, + { "msfrs", { NULL }, 4554, "udp" }, + { "rsip", { NULL }, 4555, "tcp" }, + { "rsip", { NULL }, 4555, "udp" }, + { "dtn-bundle-tcp", { NULL }, 4556, "tcp" }, + { "dtn-bundle-udp", { NULL }, 4556, "udp" }, + { "mtcevrunqss", { NULL }, 4557, "udp" }, + { "mtcevrunqman", { NULL }, 4558, "udp" }, + { "hylafax", { NULL }, 4559, "tcp" }, + { "hylafax", { NULL }, 4559, "udp" }, + { "kwtc", { NULL }, 4566, "tcp" }, + { "kwtc", { NULL }, 4566, "udp" }, + { "tram", { NULL }, 4567, "tcp" }, + { "tram", { NULL }, 4567, "udp" }, + { "bmc-reporting", { NULL }, 4568, "tcp" }, + { "bmc-reporting", { NULL }, 4568, "udp" }, + { "iax", { NULL }, 4569, "tcp" }, + { "iax", { NULL }, 4569, "udp" }, + { "rid", { NULL }, 4590, "tcp" }, + { "l3t-at-an", { NULL }, 4591, "tcp" }, + { "l3t-at-an", { NULL }, 4591, "udp" }, + { "hrpd-ith-at-an", { NULL }, 4592, "udp" }, + { "ipt-anri-anri", { NULL }, 4593, "tcp" }, + { "ipt-anri-anri", { NULL }, 4593, "udp" }, + { "ias-session", { NULL }, 4594, "tcp" }, + { "ias-session", { NULL }, 4594, "udp" }, + { "ias-paging", { NULL }, 4595, "tcp" }, + { "ias-paging", { NULL }, 4595, "udp" }, + { "ias-neighbor", { NULL }, 4596, "tcp" }, + { "ias-neighbor", { NULL }, 4596, "udp" }, + { "a21-an-1xbs", { NULL }, 4597, "tcp" }, + { "a21-an-1xbs", { NULL }, 4597, "udp" }, + { "a16-an-an", { NULL }, 4598, "tcp" }, + { "a16-an-an", { NULL }, 4598, "udp" }, + { "a17-an-an", { NULL }, 4599, "tcp" }, + { "a17-an-an", { NULL }, 4599, "udp" }, + { "piranha1", { NULL }, 4600, "tcp" }, + { "piranha1", { NULL }, 4600, "udp" }, + { "piranha2", { NULL }, 4601, "tcp" }, + { "piranha2", { NULL }, 4601, "udp" }, + { "mtsserver", { NULL }, 4602, "tcp" }, + { "menandmice-upg", { NULL }, 4603, "tcp" }, + { "playsta2-app", { NULL }, 4658, "tcp" }, + { "playsta2-app", { NULL }, 4658, "udp" }, + { "playsta2-lob", { NULL }, 4659, "tcp" }, + { "playsta2-lob", { NULL }, 4659, "udp" }, + { "smaclmgr", { NULL }, 4660, "tcp" }, + { "smaclmgr", { NULL }, 4660, "udp" }, + { "kar2ouche", { NULL }, 4661, "tcp" }, + { "kar2ouche", { NULL }, 4661, "udp" }, + { "oms", { NULL }, 4662, "tcp" }, + { "oms", { NULL }, 4662, "udp" }, + { "noteit", { NULL }, 4663, "tcp" }, + { "noteit", { NULL }, 4663, "udp" }, + { "ems", { NULL }, 4664, "tcp" }, + { "ems", { NULL }, 4664, "udp" }, + { "contclientms", { NULL }, 4665, "tcp" }, + { "contclientms", { NULL }, 4665, "udp" }, + { "eportcomm", { NULL }, 4666, "tcp" }, + { "eportcomm", { NULL }, 4666, "udp" }, + { "mmacomm", { NULL }, 4667, "tcp" }, + { "mmacomm", { NULL }, 4667, "udp" }, + { "mmaeds", { NULL }, 4668, "tcp" }, + { "mmaeds", { NULL }, 4668, "udp" }, + { "eportcommdata", { NULL }, 4669, "tcp" }, + { "eportcommdata", { NULL }, 4669, "udp" }, + { "light", { NULL }, 4670, "tcp" }, + { "light", { NULL }, 4670, "udp" }, + { "acter", { NULL }, 4671, "tcp" }, + { "acter", { NULL }, 4671, "udp" }, + { "rfa", { NULL }, 4672, "tcp" }, + { "rfa", { NULL }, 4672, "udp" }, + { "cxws", { NULL }, 4673, "tcp" }, + { "cxws", { NULL }, 4673, "udp" }, + { "appiq-mgmt", { NULL }, 4674, "tcp" }, + { "appiq-mgmt", { NULL }, 4674, "udp" }, + { "dhct-status", { NULL }, 4675, "tcp" }, + { "dhct-status", { NULL }, 4675, "udp" }, + { "dhct-alerts", { NULL }, 4676, "tcp" }, + { "dhct-alerts", { NULL }, 4676, "udp" }, + { "bcs", { NULL }, 4677, "tcp" }, + { "bcs", { NULL }, 4677, "udp" }, + { "traversal", { NULL }, 4678, "tcp" }, + { "traversal", { NULL }, 4678, "udp" }, + { "mgesupervision", { NULL }, 4679, "tcp" }, + { "mgesupervision", { NULL }, 4679, "udp" }, + { "mgemanagement", { NULL }, 4680, "tcp" }, + { "mgemanagement", { NULL }, 4680, "udp" }, + { "parliant", { NULL }, 4681, "tcp" }, + { "parliant", { NULL }, 4681, "udp" }, + { "finisar", { NULL }, 4682, "tcp" }, + { "finisar", { NULL }, 4682, "udp" }, + { "spike", { NULL }, 4683, "tcp" }, + { "spike", { NULL }, 4683, "udp" }, + { "rfid-rp1", { NULL }, 4684, "tcp" }, + { "rfid-rp1", { NULL }, 4684, "udp" }, + { "autopac", { NULL }, 4685, "tcp" }, + { "autopac", { NULL }, 4685, "udp" }, + { "msp-os", { NULL }, 4686, "tcp" }, + { "msp-os", { NULL }, 4686, "udp" }, + { "nst", { NULL }, 4687, "tcp" }, + { "nst", { NULL }, 4687, "udp" }, + { "mobile-p2p", { NULL }, 4688, "tcp" }, + { "mobile-p2p", { NULL }, 4688, "udp" }, + { "altovacentral", { NULL }, 4689, "tcp" }, + { "altovacentral", { NULL }, 4689, "udp" }, + { "prelude", { NULL }, 4690, "tcp" }, + { "prelude", { NULL }, 4690, "udp" }, + { "mtn", { NULL }, 4691, "tcp" }, + { "mtn", { NULL }, 4691, "udp" }, + { "conspiracy", { NULL }, 4692, "tcp" }, + { "conspiracy", { NULL }, 4692, "udp" }, + { "netxms-agent", { NULL }, 4700, "tcp" }, + { "netxms-agent", { NULL }, 4700, "udp" }, + { "netxms-mgmt", { NULL }, 4701, "tcp" }, + { "netxms-mgmt", { NULL }, 4701, "udp" }, + { "netxms-sync", { NULL }, 4702, "tcp" }, + { "netxms-sync", { NULL }, 4702, "udp" }, + { "npqes-test", { NULL }, 4703, "tcp" }, + { "assuria-ins", { NULL }, 4704, "tcp" }, + { "truckstar", { NULL }, 4725, "tcp" }, + { "truckstar", { NULL }, 4725, "udp" }, + { "a26-fap-fgw", { NULL }, 4726, "udp" }, + { "fcis", { NULL }, 4727, "tcp" }, + { "fcis-disc", { NULL }, 4727, "udp" }, + { "capmux", { NULL }, 4728, "tcp" }, + { "capmux", { NULL }, 4728, "udp" }, + { "gsmtap", { NULL }, 4729, "udp" }, + { "gearman", { NULL }, 4730, "tcp" }, + { "gearman", { NULL }, 4730, "udp" }, + { "remcap", { NULL }, 4731, "tcp" }, + { "ohmtrigger", { NULL }, 4732, "udp" }, + { "resorcs", { NULL }, 4733, "tcp" }, + { "ipdr-sp", { NULL }, 4737, "tcp" }, + { "ipdr-sp", { NULL }, 4737, "udp" }, + { "solera-lpn", { NULL }, 4738, "tcp" }, + { "solera-lpn", { NULL }, 4738, "udp" }, + { "ipfix", { NULL }, 4739, "tcp" }, + { "ipfix", { NULL }, 4739, "udp" }, + { "ipfix", { NULL }, 4739, "sctp" }, + { "ipfixs", { NULL }, 4740, "tcp" }, + { "ipfixs", { NULL }, 4740, "sctp" }, + { "ipfixs", { NULL }, 4740, "udp" }, + { "lumimgrd", { NULL }, 4741, "tcp" }, + { "lumimgrd", { NULL }, 4741, "udp" }, + { "sicct", { NULL }, 4742, "tcp" }, + { "sicct-sdp", { NULL }, 4742, "udp" }, + { "openhpid", { NULL }, 4743, "tcp" }, + { "openhpid", { NULL }, 4743, "udp" }, + { "ifsp", { NULL }, 4744, "tcp" }, + { "ifsp", { NULL }, 4744, "udp" }, + { "fmp", { NULL }, 4745, "tcp" }, + { "fmp", { NULL }, 4745, "udp" }, + { "profilemac", { NULL }, 4749, "tcp" }, + { "profilemac", { NULL }, 4749, "udp" }, + { "ssad", { NULL }, 4750, "tcp" }, + { "ssad", { NULL }, 4750, "udp" }, + { "spocp", { NULL }, 4751, "tcp" }, + { "spocp", { NULL }, 4751, "udp" }, + { "snap", { NULL }, 4752, "tcp" }, + { "snap", { NULL }, 4752, "udp" }, + { "bfd-multi-ctl", { NULL }, 4784, "tcp" }, + { "bfd-multi-ctl", { NULL }, 4784, "udp" }, + { "cncp", { NULL }, 4785, "udp" }, + { "smart-install", { NULL }, 4786, "tcp" }, + { "sia-ctrl-plane", { NULL }, 4787, "tcp" }, + { "iims", { NULL }, 4800, "tcp" }, + { "iims", { NULL }, 4800, "udp" }, + { "iwec", { NULL }, 4801, "tcp" }, + { "iwec", { NULL }, 4801, "udp" }, + { "ilss", { NULL }, 4802, "tcp" }, + { "ilss", { NULL }, 4802, "udp" }, + { "notateit", { NULL }, 4803, "tcp" }, + { "notateit-disc", { NULL }, 4803, "udp" }, + { "aja-ntv4-disc", { NULL }, 4804, "udp" }, + { "htcp", { NULL }, 4827, "tcp" }, + { "htcp", { NULL }, 4827, "udp" }, + { "varadero-0", { NULL }, 4837, "tcp" }, + { "varadero-0", { NULL }, 4837, "udp" }, + { "varadero-1", { NULL }, 4838, "tcp" }, + { "varadero-1", { NULL }, 4838, "udp" }, + { "varadero-2", { NULL }, 4839, "tcp" }, + { "varadero-2", { NULL }, 4839, "udp" }, + { "opcua-tcp", { NULL }, 4840, "tcp" }, + { "opcua-udp", { NULL }, 4840, "udp" }, + { "quosa", { NULL }, 4841, "tcp" }, + { "quosa", { NULL }, 4841, "udp" }, + { "gw-asv", { NULL }, 4842, "tcp" }, + { "gw-asv", { NULL }, 4842, "udp" }, + { "opcua-tls", { NULL }, 4843, "tcp" }, + { "opcua-tls", { NULL }, 4843, "udp" }, + { "gw-log", { NULL }, 4844, "tcp" }, + { "gw-log", { NULL }, 4844, "udp" }, + { "wcr-remlib", { NULL }, 4845, "tcp" }, + { "wcr-remlib", { NULL }, 4845, "udp" }, + { "contamac_icm", { NULL }, 4846, "tcp" }, + { "contamac_icm", { NULL }, 4846, "udp" }, + { "wfc", { NULL }, 4847, "tcp" }, + { "wfc", { NULL }, 4847, "udp" }, + { "appserv-http", { NULL }, 4848, "tcp" }, + { "appserv-http", { NULL }, 4848, "udp" }, + { "appserv-https", { NULL }, 4849, "tcp" }, + { "appserv-https", { NULL }, 4849, "udp" }, + { "sun-as-nodeagt", { NULL }, 4850, "tcp" }, + { "sun-as-nodeagt", { NULL }, 4850, "udp" }, + { "derby-repli", { NULL }, 4851, "tcp" }, + { "derby-repli", { NULL }, 4851, "udp" }, + { "unify-debug", { NULL }, 4867, "tcp" }, + { "unify-debug", { NULL }, 4867, "udp" }, + { "phrelay", { NULL }, 4868, "tcp" }, + { "phrelay", { NULL }, 4868, "udp" }, + { "phrelaydbg", { NULL }, 4869, "tcp" }, + { "phrelaydbg", { NULL }, 4869, "udp" }, + { "cc-tracking", { NULL }, 4870, "tcp" }, + { "cc-tracking", { NULL }, 4870, "udp" }, + { "wired", { NULL }, 4871, "tcp" }, + { "wired", { NULL }, 4871, "udp" }, + { "tritium-can", { NULL }, 4876, "tcp" }, + { "tritium-can", { NULL }, 4876, "udp" }, + { "lmcs", { NULL }, 4877, "tcp" }, + { "lmcs", { NULL }, 4877, "udp" }, + { "inst-discovery", { NULL }, 4878, "udp" }, + { "wsdl-event", { NULL }, 4879, "tcp" }, + { "hislip", { NULL }, 4880, "tcp" }, + { "socp-t", { NULL }, 4881, "udp" }, + { "socp-c", { NULL }, 4882, "udp" }, + { "wmlserver", { NULL }, 4883, "tcp" }, + { "hivestor", { NULL }, 4884, "tcp" }, + { "hivestor", { NULL }, 4884, "udp" }, + { "abbs", { NULL }, 4885, "tcp" }, + { "abbs", { NULL }, 4885, "udp" }, + { "lyskom", { NULL }, 4894, "tcp" }, + { "lyskom", { NULL }, 4894, "udp" }, + { "radmin-port", { NULL }, 4899, "tcp" }, + { "radmin-port", { NULL }, 4899, "udp" }, + { "hfcs", { NULL }, 4900, "tcp" }, + { "hfcs", { NULL }, 4900, "udp" }, + { "flr_agent", { NULL }, 4901, "tcp" }, + { "magiccontrol", { NULL }, 4902, "tcp" }, + { "lutap", { NULL }, 4912, "tcp" }, + { "lutcp", { NULL }, 4913, "tcp" }, + { "bones", { NULL }, 4914, "tcp" }, + { "bones", { NULL }, 4914, "udp" }, + { "frcs", { NULL }, 4915, "tcp" }, + { "atsc-mh-ssc", { NULL }, 4937, "udp" }, + { "eq-office-4940", { NULL }, 4940, "tcp" }, + { "eq-office-4940", { NULL }, 4940, "udp" }, + { "eq-office-4941", { NULL }, 4941, "tcp" }, + { "eq-office-4941", { NULL }, 4941, "udp" }, + { "eq-office-4942", { NULL }, 4942, "tcp" }, + { "eq-office-4942", { NULL }, 4942, "udp" }, + { "munin", { NULL }, 4949, "tcp" }, + { "munin", { NULL }, 4949, "udp" }, + { "sybasesrvmon", { NULL }, 4950, "tcp" }, + { "sybasesrvmon", { NULL }, 4950, "udp" }, + { "pwgwims", { NULL }, 4951, "tcp" }, + { "pwgwims", { NULL }, 4951, "udp" }, + { "sagxtsds", { NULL }, 4952, "tcp" }, + { "sagxtsds", { NULL }, 4952, "udp" }, + { "dbsyncarbiter", { NULL }, 4953, "tcp" }, + { "ccss-qmm", { NULL }, 4969, "tcp" }, + { "ccss-qmm", { NULL }, 4969, "udp" }, + { "ccss-qsm", { NULL }, 4970, "tcp" }, + { "ccss-qsm", { NULL }, 4970, "udp" }, + { "webyast", { NULL }, 4984, "tcp" }, + { "gerhcs", { NULL }, 4985, "tcp" }, + { "mrip", { NULL }, 4986, "tcp" }, + { "mrip", { NULL }, 4986, "udp" }, + { "smar-se-port1", { NULL }, 4987, "tcp" }, + { "smar-se-port1", { NULL }, 4987, "udp" }, + { "smar-se-port2", { NULL }, 4988, "tcp" }, + { "smar-se-port2", { NULL }, 4988, "udp" }, + { "parallel", { NULL }, 4989, "tcp" }, + { "parallel", { NULL }, 4989, "udp" }, + { "busycal", { NULL }, 4990, "tcp" }, + { "busycal", { NULL }, 4990, "udp" }, + { "vrt", { NULL }, 4991, "tcp" }, + { "vrt", { NULL }, 4991, "udp" }, + { "hfcs-manager", { NULL }, 4999, "tcp" }, + { "hfcs-manager", { NULL }, 4999, "udp" }, + { "commplex-main", { NULL }, 5000, "tcp" }, + { "commplex-main", { NULL }, 5000, "udp" }, + { "commplex-link", { NULL }, 5001, "tcp" }, + { "commplex-link", { NULL }, 5001, "udp" }, + { "rfe", { NULL }, 5002, "tcp" }, + { "rfe", { NULL }, 5002, "udp" }, + { "fmpro-internal", { NULL }, 5003, "tcp" }, + { "fmpro-internal", { NULL }, 5003, "udp" }, + { "avt-profile-1", { NULL }, 5004, "tcp" }, + { "avt-profile-1", { NULL }, 5004, "udp" }, + { "avt-profile-1", { NULL }, 5004, "dccp" }, + { "avt-profile-2", { NULL }, 5005, "tcp" }, + { "avt-profile-2", { NULL }, 5005, "udp" }, + { "avt-profile-2", { NULL }, 5005, "dccp" }, + { "wsm-server", { NULL }, 5006, "tcp" }, + { "wsm-server", { NULL }, 5006, "udp" }, + { "wsm-server-ssl", { NULL }, 5007, "tcp" }, + { "wsm-server-ssl", { NULL }, 5007, "udp" }, + { "synapsis-edge", { NULL }, 5008, "tcp" }, + { "synapsis-edge", { NULL }, 5008, "udp" }, + { "winfs", { NULL }, 5009, "tcp" }, + { "winfs", { NULL }, 5009, "udp" }, + { "telelpathstart", { NULL }, 5010, "tcp" }, + { "telelpathstart", { NULL }, 5010, "udp" }, + { "telelpathattack", { NULL }, 5011, "tcp" }, + { "telelpathattack", { NULL }, 5011, "udp" }, + { "nsp", { NULL }, 5012, "tcp" }, + { "nsp", { NULL }, 5012, "udp" }, + { "fmpro-v6", { NULL }, 5013, "tcp" }, + { "fmpro-v6", { NULL }, 5013, "udp" }, + { "onpsocket", { NULL }, 5014, "udp" }, + { "fmwp", { NULL }, 5015, "tcp" }, + { "zenginkyo-1", { NULL }, 5020, "tcp" }, + { "zenginkyo-1", { NULL }, 5020, "udp" }, + { "zenginkyo-2", { NULL }, 5021, "tcp" }, + { "zenginkyo-2", { NULL }, 5021, "udp" }, + { "mice", { NULL }, 5022, "tcp" }, + { "mice", { NULL }, 5022, "udp" }, + { "htuilsrv", { NULL }, 5023, "tcp" }, + { "htuilsrv", { NULL }, 5023, "udp" }, + { "scpi-telnet", { NULL }, 5024, "tcp" }, + { "scpi-telnet", { NULL }, 5024, "udp" }, + { "scpi-raw", { NULL }, 5025, "tcp" }, + { "scpi-raw", { NULL }, 5025, "udp" }, + { "strexec-d", { NULL }, 5026, "tcp" }, + { "strexec-d", { NULL }, 5026, "udp" }, + { "strexec-s", { NULL }, 5027, "tcp" }, + { "strexec-s", { NULL }, 5027, "udp" }, + { "qvr", { NULL }, 5028, "tcp" }, + { "infobright", { NULL }, 5029, "tcp" }, + { "infobright", { NULL }, 5029, "udp" }, + { "surfpass", { NULL }, 5030, "tcp" }, + { "surfpass", { NULL }, 5030, "udp" }, + { "dmp", { NULL }, 5031, "udp" }, + { "asnaacceler8db", { NULL }, 5042, "tcp" }, + { "asnaacceler8db", { NULL }, 5042, "udp" }, + { "swxadmin", { NULL }, 5043, "tcp" }, + { "swxadmin", { NULL }, 5043, "udp" }, + { "lxi-evntsvc", { NULL }, 5044, "tcp" }, + { "lxi-evntsvc", { NULL }, 5044, "udp" }, + { "osp", { NULL }, 5045, "tcp" }, + { "vpm-udp", { NULL }, 5046, "udp" }, + { "iscape", { NULL }, 5047, "udp" }, + { "texai", { NULL }, 5048, "tcp" }, + { "ivocalize", { NULL }, 5049, "tcp" }, + { "ivocalize", { NULL }, 5049, "udp" }, + { "mmcc", { NULL }, 5050, "tcp" }, + { "mmcc", { NULL }, 5050, "udp" }, + { "ita-agent", { NULL }, 5051, "tcp" }, + { "ita-agent", { NULL }, 5051, "udp" }, + { "ita-manager", { NULL }, 5052, "tcp" }, + { "ita-manager", { NULL }, 5052, "udp" }, + { "rlm", { NULL }, 5053, "tcp" }, + { "rlm-admin", { NULL }, 5054, "tcp" }, + { "unot", { NULL }, 5055, "tcp" }, + { "unot", { NULL }, 5055, "udp" }, + { "intecom-ps1", { NULL }, 5056, "tcp" }, + { "intecom-ps1", { NULL }, 5056, "udp" }, + { "intecom-ps2", { NULL }, 5057, "tcp" }, + { "intecom-ps2", { NULL }, 5057, "udp" }, + { "locus-disc", { NULL }, 5058, "udp" }, + { "sds", { NULL }, 5059, "tcp" }, + { "sds", { NULL }, 5059, "udp" }, + { "sip", { NULL }, 5060, "tcp" }, + { "sip", { NULL }, 5060, "udp" }, + { "sip-tls", { NULL }, 5061, "tcp" }, + { "sip-tls", { NULL }, 5061, "udp" }, + { "na-localise", { NULL }, 5062, "tcp" }, + { "na-localise", { NULL }, 5062, "udp" }, + { "csrpc", { NULL }, 5063, "tcp" }, + { "ca-1", { NULL }, 5064, "tcp" }, + { "ca-1", { NULL }, 5064, "udp" }, + { "ca-2", { NULL }, 5065, "tcp" }, + { "ca-2", { NULL }, 5065, "udp" }, + { "stanag-5066", { NULL }, 5066, "tcp" }, + { "stanag-5066", { NULL }, 5066, "udp" }, + { "authentx", { NULL }, 5067, "tcp" }, + { "authentx", { NULL }, 5067, "udp" }, + { "bitforestsrv", { NULL }, 5068, "tcp" }, + { "i-net-2000-npr", { NULL }, 5069, "tcp" }, + { "i-net-2000-npr", { NULL }, 5069, "udp" }, + { "vtsas", { NULL }, 5070, "tcp" }, + { "vtsas", { NULL }, 5070, "udp" }, + { "powerschool", { NULL }, 5071, "tcp" }, + { "powerschool", { NULL }, 5071, "udp" }, + { "ayiya", { NULL }, 5072, "tcp" }, + { "ayiya", { NULL }, 5072, "udp" }, + { "tag-pm", { NULL }, 5073, "tcp" }, + { "tag-pm", { NULL }, 5073, "udp" }, + { "alesquery", { NULL }, 5074, "tcp" }, + { "alesquery", { NULL }, 5074, "udp" }, + { "cp-spxrpts", { NULL }, 5079, "udp" }, + { "onscreen", { NULL }, 5080, "tcp" }, + { "onscreen", { NULL }, 5080, "udp" }, + { "sdl-ets", { NULL }, 5081, "tcp" }, + { "sdl-ets", { NULL }, 5081, "udp" }, + { "qcp", { NULL }, 5082, "tcp" }, + { "qcp", { NULL }, 5082, "udp" }, + { "qfp", { NULL }, 5083, "tcp" }, + { "qfp", { NULL }, 5083, "udp" }, + { "llrp", { NULL }, 5084, "tcp" }, + { "llrp", { NULL }, 5084, "udp" }, + { "encrypted-llrp", { NULL }, 5085, "tcp" }, + { "encrypted-llrp", { NULL }, 5085, "udp" }, + { "aprigo-cs", { NULL }, 5086, "tcp" }, + { "car", { NULL }, 5090, "sctp" }, + { "cxtp", { NULL }, 5091, "sctp" }, + { "magpie", { NULL }, 5092, "udp" }, + { "sentinel-lm", { NULL }, 5093, "tcp" }, + { "sentinel-lm", { NULL }, 5093, "udp" }, + { "hart-ip", { NULL }, 5094, "tcp" }, + { "hart-ip", { NULL }, 5094, "udp" }, + { "sentlm-srv2srv", { NULL }, 5099, "tcp" }, + { "sentlm-srv2srv", { NULL }, 5099, "udp" }, + { "socalia", { NULL }, 5100, "tcp" }, + { "socalia", { NULL }, 5100, "udp" }, + { "talarian-tcp", { NULL }, 5101, "tcp" }, + { "talarian-udp", { NULL }, 5101, "udp" }, + { "oms-nonsecure", { NULL }, 5102, "tcp" }, + { "oms-nonsecure", { NULL }, 5102, "udp" }, + { "actifio-c2c", { NULL }, 5103, "tcp" }, + { "tinymessage", { NULL }, 5104, "udp" }, + { "hughes-ap", { NULL }, 5105, "udp" }, + { "taep-as-svc", { NULL }, 5111, "tcp" }, + { "taep-as-svc", { NULL }, 5111, "udp" }, + { "pm-cmdsvr", { NULL }, 5112, "tcp" }, + { "pm-cmdsvr", { NULL }, 5112, "udp" }, + { "ev-services", { NULL }, 5114, "tcp" }, + { "autobuild", { NULL }, 5115, "tcp" }, + { "emb-proj-cmd", { NULL }, 5116, "udp" }, + { "gradecam", { NULL }, 5117, "tcp" }, + { "nbt-pc", { NULL }, 5133, "tcp" }, + { "nbt-pc", { NULL }, 5133, "udp" }, + { "ppactivation", { NULL }, 5134, "tcp" }, + { "erp-scale", { NULL }, 5135, "tcp" }, + { "minotaur-sa", { NULL }, 5136, "udp" }, + { "ctsd", { NULL }, 5137, "tcp" }, + { "ctsd", { NULL }, 5137, "udp" }, + { "rmonitor_secure", { NULL }, 5145, "tcp" }, + { "rmonitor_secure", { NULL }, 5145, "udp" }, + { "social-alarm", { NULL }, 5146, "tcp" }, + { "atmp", { NULL }, 5150, "tcp" }, + { "atmp", { NULL }, 5150, "udp" }, + { "esri_sde", { NULL }, 5151, "tcp" }, + { "esri_sde", { NULL }, 5151, "udp" }, + { "sde-discovery", { NULL }, 5152, "tcp" }, + { "sde-discovery", { NULL }, 5152, "udp" }, + { "toruxserver", { NULL }, 5153, "tcp" }, + { "bzflag", { NULL }, 5154, "tcp" }, + { "bzflag", { NULL }, 5154, "udp" }, + { "asctrl-agent", { NULL }, 5155, "tcp" }, + { "asctrl-agent", { NULL }, 5155, "udp" }, + { "rugameonline", { NULL }, 5156, "tcp" }, + { "mediat", { NULL }, 5157, "tcp" }, + { "snmpssh", { NULL }, 5161, "tcp" }, + { "snmpssh-trap", { NULL }, 5162, "tcp" }, + { "sbackup", { NULL }, 5163, "tcp" }, + { "vpa", { NULL }, 5164, "tcp" }, + { "vpa-disc", { NULL }, 5164, "udp" }, + { "ife_icorp", { NULL }, 5165, "tcp" }, + { "ife_icorp", { NULL }, 5165, "udp" }, + { "winpcs", { NULL }, 5166, "tcp" }, + { "winpcs", { NULL }, 5166, "udp" }, + { "scte104", { NULL }, 5167, "tcp" }, + { "scte104", { NULL }, 5167, "udp" }, + { "scte30", { NULL }, 5168, "tcp" }, + { "scte30", { NULL }, 5168, "udp" }, + { "aol", { NULL }, 5190, "tcp" }, + { "aol", { NULL }, 5190, "udp" }, + { "aol-1", { NULL }, 5191, "tcp" }, + { "aol-1", { NULL }, 5191, "udp" }, + { "aol-2", { NULL }, 5192, "tcp" }, + { "aol-2", { NULL }, 5192, "udp" }, + { "aol-3", { NULL }, 5193, "tcp" }, + { "aol-3", { NULL }, 5193, "udp" }, + { "cpscomm", { NULL }, 5194, "tcp" }, + { "targus-getdata", { NULL }, 5200, "tcp" }, + { "targus-getdata", { NULL }, 5200, "udp" }, + { "targus-getdata1", { NULL }, 5201, "tcp" }, + { "targus-getdata1", { NULL }, 5201, "udp" }, + { "targus-getdata2", { NULL }, 5202, "tcp" }, + { "targus-getdata2", { NULL }, 5202, "udp" }, + { "targus-getdata3", { NULL }, 5203, "tcp" }, + { "targus-getdata3", { NULL }, 5203, "udp" }, + { "3exmp", { NULL }, 5221, "tcp" }, + { "xmpp-client", { NULL }, 5222, "tcp" }, + { "hpvirtgrp", { NULL }, 5223, "tcp" }, + { "hpvirtgrp", { NULL }, 5223, "udp" }, + { "hpvirtctrl", { NULL }, 5224, "tcp" }, + { "hpvirtctrl", { NULL }, 5224, "udp" }, + { "hp-server", { NULL }, 5225, "tcp" }, + { "hp-server", { NULL }, 5225, "udp" }, + { "hp-status", { NULL }, 5226, "tcp" }, + { "hp-status", { NULL }, 5226, "udp" }, + { "perfd", { NULL }, 5227, "tcp" }, + { "perfd", { NULL }, 5227, "udp" }, + { "hpvroom", { NULL }, 5228, "tcp" }, + { "csedaemon", { NULL }, 5232, "tcp" }, + { "enfs", { NULL }, 5233, "tcp" }, + { "eenet", { NULL }, 5234, "tcp" }, + { "eenet", { NULL }, 5234, "udp" }, + { "galaxy-network", { NULL }, 5235, "tcp" }, + { "galaxy-network", { NULL }, 5235, "udp" }, + { "padl2sim", { NULL }, 5236, "tcp" }, + { "padl2sim", { NULL }, 5236, "udp" }, + { "mnet-discovery", { NULL }, 5237, "tcp" }, + { "mnet-discovery", { NULL }, 5237, "udp" }, + { "downtools", { NULL }, 5245, "tcp" }, + { "downtools-disc", { NULL }, 5245, "udp" }, + { "capwap-control", { NULL }, 5246, "udp" }, + { "capwap-data", { NULL }, 5247, "udp" }, + { "caacws", { NULL }, 5248, "tcp" }, + { "caacws", { NULL }, 5248, "udp" }, + { "caaclang2", { NULL }, 5249, "tcp" }, + { "caaclang2", { NULL }, 5249, "udp" }, + { "soagateway", { NULL }, 5250, "tcp" }, + { "soagateway", { NULL }, 5250, "udp" }, + { "caevms", { NULL }, 5251, "tcp" }, + { "caevms", { NULL }, 5251, "udp" }, + { "movaz-ssc", { NULL }, 5252, "tcp" }, + { "movaz-ssc", { NULL }, 5252, "udp" }, + { "kpdp", { NULL }, 5253, "tcp" }, + { "3com-njack-1", { NULL }, 5264, "tcp" }, + { "3com-njack-1", { NULL }, 5264, "udp" }, + { "3com-njack-2", { NULL }, 5265, "tcp" }, + { "3com-njack-2", { NULL }, 5265, "udp" }, + { "xmpp-server", { NULL }, 5269, "tcp" }, + { "xmp", { NULL }, 5270, "tcp" }, + { "xmp", { NULL }, 5270, "udp" }, + { "cuelink", { NULL }, 5271, "tcp" }, + { "cuelink-disc", { NULL }, 5271, "udp" }, + { "pk", { NULL }, 5272, "tcp" }, + { "pk", { NULL }, 5272, "udp" }, + { "xmpp-bosh", { NULL }, 5280, "tcp" }, + { "undo-lm", { NULL }, 5281, "tcp" }, + { "transmit-port", { NULL }, 5282, "tcp" }, + { "transmit-port", { NULL }, 5282, "udp" }, + { "presence", { NULL }, 5298, "tcp" }, + { "presence", { NULL }, 5298, "udp" }, + { "nlg-data", { NULL }, 5299, "tcp" }, + { "nlg-data", { NULL }, 5299, "udp" }, + { "hacl-hb", { NULL }, 5300, "tcp" }, + { "hacl-hb", { NULL }, 5300, "udp" }, + { "hacl-gs", { NULL }, 5301, "tcp" }, + { "hacl-gs", { NULL }, 5301, "udp" }, + { "hacl-cfg", { NULL }, 5302, "tcp" }, + { "hacl-cfg", { NULL }, 5302, "udp" }, + { "hacl-probe", { NULL }, 5303, "tcp" }, + { "hacl-probe", { NULL }, 5303, "udp" }, + { "hacl-local", { NULL }, 5304, "tcp" }, + { "hacl-local", { NULL }, 5304, "udp" }, + { "hacl-test", { NULL }, 5305, "tcp" }, + { "hacl-test", { NULL }, 5305, "udp" }, + { "sun-mc-grp", { NULL }, 5306, "tcp" }, + { "sun-mc-grp", { NULL }, 5306, "udp" }, + { "sco-aip", { NULL }, 5307, "tcp" }, + { "sco-aip", { NULL }, 5307, "udp" }, + { "cfengine", { NULL }, 5308, "tcp" }, + { "cfengine", { NULL }, 5308, "udp" }, + { "jprinter", { NULL }, 5309, "tcp" }, + { "jprinter", { NULL }, 5309, "udp" }, + { "outlaws", { NULL }, 5310, "tcp" }, + { "outlaws", { NULL }, 5310, "udp" }, + { "permabit-cs", { NULL }, 5312, "tcp" }, + { "permabit-cs", { NULL }, 5312, "udp" }, + { "rrdp", { NULL }, 5313, "tcp" }, + { "rrdp", { NULL }, 5313, "udp" }, + { "opalis-rbt-ipc", { NULL }, 5314, "tcp" }, + { "opalis-rbt-ipc", { NULL }, 5314, "udp" }, + { "hacl-poll", { NULL }, 5315, "tcp" }, + { "hacl-poll", { NULL }, 5315, "udp" }, + { "hpdevms", { NULL }, 5316, "tcp" }, + { "hpdevms", { NULL }, 5316, "udp" }, + { "bsfserver-zn", { NULL }, 5320, "tcp" }, + { "bsfsvr-zn-ssl", { NULL }, 5321, "tcp" }, + { "kfserver", { NULL }, 5343, "tcp" }, + { "kfserver", { NULL }, 5343, "udp" }, + { "xkotodrcp", { NULL }, 5344, "tcp" }, + { "xkotodrcp", { NULL }, 5344, "udp" }, + { "stuns", { NULL }, 5349, "tcp" }, + { "stuns", { NULL }, 5349, "udp" }, + { "turns", { NULL }, 5349, "tcp" }, + { "turns", { NULL }, 5349, "udp" }, + { "stun-behaviors", { NULL }, 5349, "tcp" }, + { "stun-behaviors", { NULL }, 5349, "udp" }, + { "nat-pmp-status", { NULL }, 5350, "tcp" }, + { "nat-pmp-status", { NULL }, 5350, "udp" }, + { "nat-pmp", { NULL }, 5351, "tcp" }, + { "nat-pmp", { NULL }, 5351, "udp" }, + { "dns-llq", { NULL }, 5352, "tcp" }, + { "dns-llq", { NULL }, 5352, "udp" }, + { "mdns", { NULL }, 5353, "tcp" }, + { "mdns", { NULL }, 5353, "udp" }, + { "mdnsresponder", { NULL }, 5354, "tcp" }, + { "mdnsresponder", { NULL }, 5354, "udp" }, + { "llmnr", { NULL }, 5355, "tcp" }, + { "llmnr", { NULL }, 5355, "udp" }, + { "ms-smlbiz", { NULL }, 5356, "tcp" }, + { "ms-smlbiz", { NULL }, 5356, "udp" }, + { "wsdapi", { NULL }, 5357, "tcp" }, + { "wsdapi", { NULL }, 5357, "udp" }, + { "wsdapi-s", { NULL }, 5358, "tcp" }, + { "wsdapi-s", { NULL }, 5358, "udp" }, + { "ms-alerter", { NULL }, 5359, "tcp" }, + { "ms-alerter", { NULL }, 5359, "udp" }, + { "ms-sideshow", { NULL }, 5360, "tcp" }, + { "ms-sideshow", { NULL }, 5360, "udp" }, + { "ms-s-sideshow", { NULL }, 5361, "tcp" }, + { "ms-s-sideshow", { NULL }, 5361, "udp" }, + { "serverwsd2", { NULL }, 5362, "tcp" }, + { "serverwsd2", { NULL }, 5362, "udp" }, + { "net-projection", { NULL }, 5363, "tcp" }, + { "net-projection", { NULL }, 5363, "udp" }, + { "stresstester", { NULL }, 5397, "tcp" }, + { "stresstester", { NULL }, 5397, "udp" }, + { "elektron-admin", { NULL }, 5398, "tcp" }, + { "elektron-admin", { NULL }, 5398, "udp" }, + { "securitychase", { NULL }, 5399, "tcp" }, + { "securitychase", { NULL }, 5399, "udp" }, + { "excerpt", { NULL }, 5400, "tcp" }, + { "excerpt", { NULL }, 5400, "udp" }, + { "excerpts", { NULL }, 5401, "tcp" }, + { "excerpts", { NULL }, 5401, "udp" }, + { "mftp", { NULL }, 5402, "tcp" }, + { "mftp", { NULL }, 5402, "udp" }, + { "hpoms-ci-lstn", { NULL }, 5403, "tcp" }, + { "hpoms-ci-lstn", { NULL }, 5403, "udp" }, + { "hpoms-dps-lstn", { NULL }, 5404, "tcp" }, + { "hpoms-dps-lstn", { NULL }, 5404, "udp" }, + { "netsupport", { NULL }, 5405, "tcp" }, + { "netsupport", { NULL }, 5405, "udp" }, + { "systemics-sox", { NULL }, 5406, "tcp" }, + { "systemics-sox", { NULL }, 5406, "udp" }, + { "foresyte-clear", { NULL }, 5407, "tcp" }, + { "foresyte-clear", { NULL }, 5407, "udp" }, + { "foresyte-sec", { NULL }, 5408, "tcp" }, + { "foresyte-sec", { NULL }, 5408, "udp" }, + { "salient-dtasrv", { NULL }, 5409, "tcp" }, + { "salient-dtasrv", { NULL }, 5409, "udp" }, + { "salient-usrmgr", { NULL }, 5410, "tcp" }, + { "salient-usrmgr", { NULL }, 5410, "udp" }, + { "actnet", { NULL }, 5411, "tcp" }, + { "actnet", { NULL }, 5411, "udp" }, + { "continuus", { NULL }, 5412, "tcp" }, + { "continuus", { NULL }, 5412, "udp" }, + { "wwiotalk", { NULL }, 5413, "tcp" }, + { "wwiotalk", { NULL }, 5413, "udp" }, + { "statusd", { NULL }, 5414, "tcp" }, + { "statusd", { NULL }, 5414, "udp" }, + { "ns-server", { NULL }, 5415, "tcp" }, + { "ns-server", { NULL }, 5415, "udp" }, + { "sns-gateway", { NULL }, 5416, "tcp" }, + { "sns-gateway", { NULL }, 5416, "udp" }, + { "sns-agent", { NULL }, 5417, "tcp" }, + { "sns-agent", { NULL }, 5417, "udp" }, + { "mcntp", { NULL }, 5418, "tcp" }, + { "mcntp", { NULL }, 5418, "udp" }, + { "dj-ice", { NULL }, 5419, "tcp" }, + { "dj-ice", { NULL }, 5419, "udp" }, + { "cylink-c", { NULL }, 5420, "tcp" }, + { "cylink-c", { NULL }, 5420, "udp" }, + { "netsupport2", { NULL }, 5421, "tcp" }, + { "netsupport2", { NULL }, 5421, "udp" }, + { "salient-mux", { NULL }, 5422, "tcp" }, + { "salient-mux", { NULL }, 5422, "udp" }, + { "virtualuser", { NULL }, 5423, "tcp" }, + { "virtualuser", { NULL }, 5423, "udp" }, + { "beyond-remote", { NULL }, 5424, "tcp" }, + { "beyond-remote", { NULL }, 5424, "udp" }, + { "br-channel", { NULL }, 5425, "tcp" }, + { "br-channel", { NULL }, 5425, "udp" }, + { "devbasic", { NULL }, 5426, "tcp" }, + { "devbasic", { NULL }, 5426, "udp" }, + { "sco-peer-tta", { NULL }, 5427, "tcp" }, + { "sco-peer-tta", { NULL }, 5427, "udp" }, + { "telaconsole", { NULL }, 5428, "tcp" }, + { "telaconsole", { NULL }, 5428, "udp" }, + { "base", { NULL }, 5429, "tcp" }, + { "base", { NULL }, 5429, "udp" }, + { "radec-corp", { NULL }, 5430, "tcp" }, + { "radec-corp", { NULL }, 5430, "udp" }, + { "park-agent", { NULL }, 5431, "tcp" }, + { "park-agent", { NULL }, 5431, "udp" }, + { "postgresql", { NULL }, 5432, "tcp" }, + { "postgresql", { NULL }, 5432, "udp" }, + { "pyrrho", { NULL }, 5433, "tcp" }, + { "pyrrho", { NULL }, 5433, "udp" }, + { "sgi-arrayd", { NULL }, 5434, "tcp" }, + { "sgi-arrayd", { NULL }, 5434, "udp" }, + { "sceanics", { NULL }, 5435, "tcp" }, + { "sceanics", { NULL }, 5435, "udp" }, + { "pmip6-cntl", { NULL }, 5436, "udp" }, + { "pmip6-data", { NULL }, 5437, "udp" }, + { "spss", { NULL }, 5443, "tcp" }, + { "spss", { NULL }, 5443, "udp" }, + { "surebox", { NULL }, 5453, "tcp" }, + { "surebox", { NULL }, 5453, "udp" }, + { "apc-5454", { NULL }, 5454, "tcp" }, + { "apc-5454", { NULL }, 5454, "udp" }, + { "apc-5455", { NULL }, 5455, "tcp" }, + { "apc-5455", { NULL }, 5455, "udp" }, + { "apc-5456", { NULL }, 5456, "tcp" }, + { "apc-5456", { NULL }, 5456, "udp" }, + { "silkmeter", { NULL }, 5461, "tcp" }, + { "silkmeter", { NULL }, 5461, "udp" }, + { "ttl-publisher", { NULL }, 5462, "tcp" }, + { "ttl-publisher", { NULL }, 5462, "udp" }, + { "ttlpriceproxy", { NULL }, 5463, "tcp" }, + { "ttlpriceproxy", { NULL }, 5463, "udp" }, + { "quailnet", { NULL }, 5464, "tcp" }, + { "quailnet", { NULL }, 5464, "udp" }, + { "netops-broker", { NULL }, 5465, "tcp" }, + { "netops-broker", { NULL }, 5465, "udp" }, + { "fcp-addr-srvr1", { NULL }, 5500, "tcp" }, + { "fcp-addr-srvr1", { NULL }, 5500, "udp" }, + { "fcp-addr-srvr2", { NULL }, 5501, "tcp" }, + { "fcp-addr-srvr2", { NULL }, 5501, "udp" }, + { "fcp-srvr-inst1", { NULL }, 5502, "tcp" }, + { "fcp-srvr-inst1", { NULL }, 5502, "udp" }, + { "fcp-srvr-inst2", { NULL }, 5503, "tcp" }, + { "fcp-srvr-inst2", { NULL }, 5503, "udp" }, + { "fcp-cics-gw1", { NULL }, 5504, "tcp" }, + { "fcp-cics-gw1", { NULL }, 5504, "udp" }, + { "checkoutdb", { NULL }, 5505, "tcp" }, + { "checkoutdb", { NULL }, 5505, "udp" }, + { "amc", { NULL }, 5506, "tcp" }, + { "amc", { NULL }, 5506, "udp" }, + { "sgi-eventmond", { NULL }, 5553, "tcp" }, + { "sgi-eventmond", { NULL }, 5553, "udp" }, + { "sgi-esphttp", { NULL }, 5554, "tcp" }, + { "sgi-esphttp", { NULL }, 5554, "udp" }, + { "personal-agent", { NULL }, 5555, "tcp" }, + { "personal-agent", { NULL }, 5555, "udp" }, + { "freeciv", { NULL }, 5556, "tcp" }, + { "freeciv", { NULL }, 5556, "udp" }, + { "farenet", { NULL }, 5557, "tcp" }, + { "westec-connect", { NULL }, 5566, "tcp" }, + { "m-oap", { NULL }, 5567, "tcp" }, + { "m-oap", { NULL }, 5567, "udp" }, + { "sdt", { NULL }, 5568, "tcp" }, + { "sdt", { NULL }, 5568, "udp" }, + { "sdmmp", { NULL }, 5573, "tcp" }, + { "sdmmp", { NULL }, 5573, "udp" }, + { "lsi-bobcat", { NULL }, 5574, "tcp" }, + { "ora-oap", { NULL }, 5575, "tcp" }, + { "fdtracks", { NULL }, 5579, "tcp" }, + { "tmosms0", { NULL }, 5580, "tcp" }, + { "tmosms0", { NULL }, 5580, "udp" }, + { "tmosms1", { NULL }, 5581, "tcp" }, + { "tmosms1", { NULL }, 5581, "udp" }, + { "fac-restore", { NULL }, 5582, "tcp" }, + { "fac-restore", { NULL }, 5582, "udp" }, + { "tmo-icon-sync", { NULL }, 5583, "tcp" }, + { "tmo-icon-sync", { NULL }, 5583, "udp" }, + { "bis-web", { NULL }, 5584, "tcp" }, + { "bis-web", { NULL }, 5584, "udp" }, + { "bis-sync", { NULL }, 5585, "tcp" }, + { "bis-sync", { NULL }, 5585, "udp" }, + { "ininmessaging", { NULL }, 5597, "tcp" }, + { "ininmessaging", { NULL }, 5597, "udp" }, + { "mctfeed", { NULL }, 5598, "tcp" }, + { "mctfeed", { NULL }, 5598, "udp" }, + { "esinstall", { NULL }, 5599, "tcp" }, + { "esinstall", { NULL }, 5599, "udp" }, + { "esmmanager", { NULL }, 5600, "tcp" }, + { "esmmanager", { NULL }, 5600, "udp" }, + { "esmagent", { NULL }, 5601, "tcp" }, + { "esmagent", { NULL }, 5601, "udp" }, + { "a1-msc", { NULL }, 5602, "tcp" }, + { "a1-msc", { NULL }, 5602, "udp" }, + { "a1-bs", { NULL }, 5603, "tcp" }, + { "a1-bs", { NULL }, 5603, "udp" }, + { "a3-sdunode", { NULL }, 5604, "tcp" }, + { "a3-sdunode", { NULL }, 5604, "udp" }, + { "a4-sdunode", { NULL }, 5605, "tcp" }, + { "a4-sdunode", { NULL }, 5605, "udp" }, + { "ninaf", { NULL }, 5627, "tcp" }, + { "ninaf", { NULL }, 5627, "udp" }, + { "htrust", { NULL }, 5628, "tcp" }, + { "htrust", { NULL }, 5628, "udp" }, + { "symantec-sfdb", { NULL }, 5629, "tcp" }, + { "symantec-sfdb", { NULL }, 5629, "udp" }, + { "precise-comm", { NULL }, 5630, "tcp" }, + { "precise-comm", { NULL }, 5630, "udp" }, + { "pcanywheredata", { NULL }, 5631, "tcp" }, + { "pcanywheredata", { NULL }, 5631, "udp" }, + { "pcanywherestat", { NULL }, 5632, "tcp" }, + { "pcanywherestat", { NULL }, 5632, "udp" }, + { "beorl", { NULL }, 5633, "tcp" }, + { "beorl", { NULL }, 5633, "udp" }, + { "xprtld", { NULL }, 5634, "tcp" }, + { "xprtld", { NULL }, 5634, "udp" }, + { "sfmsso", { NULL }, 5635, "tcp" }, + { "sfm-db-server", { NULL }, 5636, "tcp" }, + { "cssc", { NULL }, 5637, "tcp" }, + { "amqps", { NULL }, 5671, "tcp" }, + { "amqps", { NULL }, 5671, "udp" }, + { "amqp", { NULL }, 5672, "tcp" }, + { "amqp", { NULL }, 5672, "udp" }, + { "amqp", { NULL }, 5672, "sctp" }, + { "jms", { NULL }, 5673, "tcp" }, + { "jms", { NULL }, 5673, "udp" }, + { "hyperscsi-port", { NULL }, 5674, "tcp" }, + { "hyperscsi-port", { NULL }, 5674, "udp" }, + { "v5ua", { NULL }, 5675, "tcp" }, + { "v5ua", { NULL }, 5675, "udp" }, + { "v5ua", { NULL }, 5675, "sctp" }, + { "raadmin", { NULL }, 5676, "tcp" }, + { "raadmin", { NULL }, 5676, "udp" }, + { "questdb2-lnchr", { NULL }, 5677, "tcp" }, + { "questdb2-lnchr", { NULL }, 5677, "udp" }, + { "rrac", { NULL }, 5678, "tcp" }, + { "rrac", { NULL }, 5678, "udp" }, + { "dccm", { NULL }, 5679, "tcp" }, + { "dccm", { NULL }, 5679, "udp" }, + { "auriga-router", { NULL }, 5680, "tcp" }, + { "auriga-router", { NULL }, 5680, "udp" }, + { "ncxcp", { NULL }, 5681, "tcp" }, + { "ncxcp", { NULL }, 5681, "udp" }, + { "brightcore", { NULL }, 5682, "udp" }, + { "ggz", { NULL }, 5688, "tcp" }, + { "ggz", { NULL }, 5688, "udp" }, + { "qmvideo", { NULL }, 5689, "tcp" }, + { "qmvideo", { NULL }, 5689, "udp" }, + { "proshareaudio", { NULL }, 5713, "tcp" }, + { "proshareaudio", { NULL }, 5713, "udp" }, + { "prosharevideo", { NULL }, 5714, "tcp" }, + { "prosharevideo", { NULL }, 5714, "udp" }, + { "prosharedata", { NULL }, 5715, "tcp" }, + { "prosharedata", { NULL }, 5715, "udp" }, + { "prosharerequest", { NULL }, 5716, "tcp" }, + { "prosharerequest", { NULL }, 5716, "udp" }, + { "prosharenotify", { NULL }, 5717, "tcp" }, + { "prosharenotify", { NULL }, 5717, "udp" }, + { "dpm", { NULL }, 5718, "tcp" }, + { "dpm", { NULL }, 5718, "udp" }, + { "dpm-agent", { NULL }, 5719, "tcp" }, + { "dpm-agent", { NULL }, 5719, "udp" }, + { "ms-licensing", { NULL }, 5720, "tcp" }, + { "ms-licensing", { NULL }, 5720, "udp" }, + { "dtpt", { NULL }, 5721, "tcp" }, + { "dtpt", { NULL }, 5721, "udp" }, + { "msdfsr", { NULL }, 5722, "tcp" }, + { "msdfsr", { NULL }, 5722, "udp" }, + { "omhs", { NULL }, 5723, "tcp" }, + { "omhs", { NULL }, 5723, "udp" }, + { "omsdk", { NULL }, 5724, "tcp" }, + { "omsdk", { NULL }, 5724, "udp" }, + { "ms-ilm", { NULL }, 5725, "tcp" }, + { "ms-ilm-sts", { NULL }, 5726, "tcp" }, + { "asgenf", { NULL }, 5727, "tcp" }, + { "io-dist-data", { NULL }, 5728, "tcp" }, + { "io-dist-group", { NULL }, 5728, "udp" }, + { "openmail", { NULL }, 5729, "tcp" }, + { "openmail", { NULL }, 5729, "udp" }, + { "unieng", { NULL }, 5730, "tcp" }, + { "unieng", { NULL }, 5730, "udp" }, + { "ida-discover1", { NULL }, 5741, "tcp" }, + { "ida-discover1", { NULL }, 5741, "udp" }, + { "ida-discover2", { NULL }, 5742, "tcp" }, + { "ida-discover2", { NULL }, 5742, "udp" }, + { "watchdoc-pod", { NULL }, 5743, "tcp" }, + { "watchdoc-pod", { NULL }, 5743, "udp" }, + { "watchdoc", { NULL }, 5744, "tcp" }, + { "watchdoc", { NULL }, 5744, "udp" }, + { "fcopy-server", { NULL }, 5745, "tcp" }, + { "fcopy-server", { NULL }, 5745, "udp" }, + { "fcopys-server", { NULL }, 5746, "tcp" }, + { "fcopys-server", { NULL }, 5746, "udp" }, + { "tunatic", { NULL }, 5747, "tcp" }, + { "tunatic", { NULL }, 5747, "udp" }, + { "tunalyzer", { NULL }, 5748, "tcp" }, + { "tunalyzer", { NULL }, 5748, "udp" }, + { "rscd", { NULL }, 5750, "tcp" }, + { "rscd", { NULL }, 5750, "udp" }, + { "openmailg", { NULL }, 5755, "tcp" }, + { "openmailg", { NULL }, 5755, "udp" }, + { "x500ms", { NULL }, 5757, "tcp" }, + { "x500ms", { NULL }, 5757, "udp" }, + { "openmailns", { NULL }, 5766, "tcp" }, + { "openmailns", { NULL }, 5766, "udp" }, + { "s-openmail", { NULL }, 5767, "tcp" }, + { "s-openmail", { NULL }, 5767, "udp" }, + { "openmailpxy", { NULL }, 5768, "tcp" }, + { "openmailpxy", { NULL }, 5768, "udp" }, + { "spramsca", { NULL }, 5769, "tcp" }, + { "spramsca", { NULL }, 5769, "udp" }, + { "spramsd", { NULL }, 5770, "tcp" }, + { "spramsd", { NULL }, 5770, "udp" }, + { "netagent", { NULL }, 5771, "tcp" }, + { "netagent", { NULL }, 5771, "udp" }, + { "dali-port", { NULL }, 5777, "tcp" }, + { "dali-port", { NULL }, 5777, "udp" }, + { "vts-rpc", { NULL }, 5780, "tcp" }, + { "3par-evts", { NULL }, 5781, "tcp" }, + { "3par-evts", { NULL }, 5781, "udp" }, + { "3par-mgmt", { NULL }, 5782, "tcp" }, + { "3par-mgmt", { NULL }, 5782, "udp" }, + { "3par-mgmt-ssl", { NULL }, 5783, "tcp" }, + { "3par-mgmt-ssl", { NULL }, 5783, "udp" }, + { "ibar", { NULL }, 5784, "udp" }, + { "3par-rcopy", { NULL }, 5785, "tcp" }, + { "3par-rcopy", { NULL }, 5785, "udp" }, + { "cisco-redu", { NULL }, 5786, "udp" }, + { "waascluster", { NULL }, 5787, "udp" }, + { "xtreamx", { NULL }, 5793, "tcp" }, + { "xtreamx", { NULL }, 5793, "udp" }, + { "spdp", { NULL }, 5794, "udp" }, + { "icmpd", { NULL }, 5813, "tcp" }, + { "icmpd", { NULL }, 5813, "udp" }, + { "spt-automation", { NULL }, 5814, "tcp" }, + { "spt-automation", { NULL }, 5814, "udp" }, + { "wherehoo", { NULL }, 5859, "tcp" }, + { "wherehoo", { NULL }, 5859, "udp" }, + { "ppsuitemsg", { NULL }, 5863, "tcp" }, + { "ppsuitemsg", { NULL }, 5863, "udp" }, + { "rfb", { NULL }, 5900, "tcp" }, + { "rfb", { NULL }, 5900, "udp" }, + { "cm", { NULL }, 5910, "tcp" }, + { "cm", { NULL }, 5910, "udp" }, + { "cpdlc", { NULL }, 5911, "tcp" }, + { "cpdlc", { NULL }, 5911, "udp" }, + { "fis", { NULL }, 5912, "tcp" }, + { "fis", { NULL }, 5912, "udp" }, + { "ads-c", { NULL }, 5913, "tcp" }, + { "ads-c", { NULL }, 5913, "udp" }, + { "indy", { NULL }, 5963, "tcp" }, + { "indy", { NULL }, 5963, "udp" }, + { "mppolicy-v5", { NULL }, 5968, "tcp" }, + { "mppolicy-v5", { NULL }, 5968, "udp" }, + { "mppolicy-mgr", { NULL }, 5969, "tcp" }, + { "mppolicy-mgr", { NULL }, 5969, "udp" }, + { "couchdb", { NULL }, 5984, "tcp" }, + { "couchdb", { NULL }, 5984, "udp" }, + { "wsman", { NULL }, 5985, "tcp" }, + { "wsman", { NULL }, 5985, "udp" }, + { "wsmans", { NULL }, 5986, "tcp" }, + { "wsmans", { NULL }, 5986, "udp" }, + { "wbem-rmi", { NULL }, 5987, "tcp" }, + { "wbem-rmi", { NULL }, 5987, "udp" }, + { "wbem-http", { NULL }, 5988, "tcp" }, + { "wbem-http", { NULL }, 5988, "udp" }, + { "wbem-https", { NULL }, 5989, "tcp" }, + { "wbem-https", { NULL }, 5989, "udp" }, + { "wbem-exp-https", { NULL }, 5990, "tcp" }, + { "wbem-exp-https", { NULL }, 5990, "udp" }, + { "nuxsl", { NULL }, 5991, "tcp" }, + { "nuxsl", { NULL }, 5991, "udp" }, + { "consul-insight", { NULL }, 5992, "tcp" }, + { "consul-insight", { NULL }, 5992, "udp" }, + { "cvsup", { NULL }, 5999, "tcp" }, + { "cvsup", { NULL }, 5999, "udp" }, + { "ndl-ahp-svc", { NULL }, 6064, "tcp" }, + { "ndl-ahp-svc", { NULL }, 6064, "udp" }, + { "winpharaoh", { NULL }, 6065, "tcp" }, + { "winpharaoh", { NULL }, 6065, "udp" }, + { "ewctsp", { NULL }, 6066, "tcp" }, + { "ewctsp", { NULL }, 6066, "udp" }, + { "gsmp", { NULL }, 6068, "tcp" }, + { "gsmp", { NULL }, 6068, "udp" }, + { "trip", { NULL }, 6069, "tcp" }, + { "trip", { NULL }, 6069, "udp" }, + { "messageasap", { NULL }, 6070, "tcp" }, + { "messageasap", { NULL }, 6070, "udp" }, + { "ssdtp", { NULL }, 6071, "tcp" }, + { "ssdtp", { NULL }, 6071, "udp" }, + { "diagnose-proc", { NULL }, 6072, "tcp" }, + { "diagnose-proc", { NULL }, 6072, "udp" }, + { "directplay8", { NULL }, 6073, "tcp" }, + { "directplay8", { NULL }, 6073, "udp" }, + { "max", { NULL }, 6074, "tcp" }, + { "max", { NULL }, 6074, "udp" }, + { "dpm-acm", { NULL }, 6075, "tcp" }, + { "miami-bcast", { NULL }, 6083, "udp" }, + { "p2p-sip", { NULL }, 6084, "tcp" }, + { "konspire2b", { NULL }, 6085, "tcp" }, + { "konspire2b", { NULL }, 6085, "udp" }, + { "pdtp", { NULL }, 6086, "tcp" }, + { "pdtp", { NULL }, 6086, "udp" }, + { "ldss", { NULL }, 6087, "tcp" }, + { "ldss", { NULL }, 6087, "udp" }, + { "raxa-mgmt", { NULL }, 6099, "tcp" }, + { "synchronet-db", { NULL }, 6100, "tcp" }, + { "synchronet-db", { NULL }, 6100, "udp" }, + { "synchronet-rtc", { NULL }, 6101, "tcp" }, + { "synchronet-rtc", { NULL }, 6101, "udp" }, + { "synchronet-upd", { NULL }, 6102, "tcp" }, + { "synchronet-upd", { NULL }, 6102, "udp" }, + { "rets", { NULL }, 6103, "tcp" }, + { "rets", { NULL }, 6103, "udp" }, + { "dbdb", { NULL }, 6104, "tcp" }, + { "dbdb", { NULL }, 6104, "udp" }, + { "primaserver", { NULL }, 6105, "tcp" }, + { "primaserver", { NULL }, 6105, "udp" }, + { "mpsserver", { NULL }, 6106, "tcp" }, + { "mpsserver", { NULL }, 6106, "udp" }, + { "etc-control", { NULL }, 6107, "tcp" }, + { "etc-control", { NULL }, 6107, "udp" }, + { "sercomm-scadmin", { NULL }, 6108, "tcp" }, + { "sercomm-scadmin", { NULL }, 6108, "udp" }, + { "globecast-id", { NULL }, 6109, "tcp" }, + { "globecast-id", { NULL }, 6109, "udp" }, + { "softcm", { NULL }, 6110, "tcp" }, + { "softcm", { NULL }, 6110, "udp" }, + { "spc", { NULL }, 6111, "tcp" }, + { "spc", { NULL }, 6111, "udp" }, + { "dtspcd", { NULL }, 6112, "tcp" }, + { "dtspcd", { NULL }, 6112, "udp" }, + { "dayliteserver", { NULL }, 6113, "tcp" }, + { "wrspice", { NULL }, 6114, "tcp" }, + { "xic", { NULL }, 6115, "tcp" }, + { "xtlserv", { NULL }, 6116, "tcp" }, + { "daylitetouch", { NULL }, 6117, "tcp" }, + { "spdy", { NULL }, 6121, "tcp" }, + { "bex-webadmin", { NULL }, 6122, "tcp" }, + { "bex-webadmin", { NULL }, 6122, "udp" }, + { "backup-express", { NULL }, 6123, "tcp" }, + { "backup-express", { NULL }, 6123, "udp" }, + { "pnbs", { NULL }, 6124, "tcp" }, + { "pnbs", { NULL }, 6124, "udp" }, + { "nbt-wol", { NULL }, 6133, "tcp" }, + { "nbt-wol", { NULL }, 6133, "udp" }, + { "pulsonixnls", { NULL }, 6140, "tcp" }, + { "pulsonixnls", { NULL }, 6140, "udp" }, + { "meta-corp", { NULL }, 6141, "tcp" }, + { "meta-corp", { NULL }, 6141, "udp" }, + { "aspentec-lm", { NULL }, 6142, "tcp" }, + { "aspentec-lm", { NULL }, 6142, "udp" }, + { "watershed-lm", { NULL }, 6143, "tcp" }, + { "watershed-lm", { NULL }, 6143, "udp" }, + { "statsci1-lm", { NULL }, 6144, "tcp" }, + { "statsci1-lm", { NULL }, 6144, "udp" }, + { "statsci2-lm", { NULL }, 6145, "tcp" }, + { "statsci2-lm", { NULL }, 6145, "udp" }, + { "lonewolf-lm", { NULL }, 6146, "tcp" }, + { "lonewolf-lm", { NULL }, 6146, "udp" }, + { "montage-lm", { NULL }, 6147, "tcp" }, + { "montage-lm", { NULL }, 6147, "udp" }, + { "ricardo-lm", { NULL }, 6148, "tcp" }, + { "ricardo-lm", { NULL }, 6148, "udp" }, + { "tal-pod", { NULL }, 6149, "tcp" }, + { "tal-pod", { NULL }, 6149, "udp" }, + { "efb-aci", { NULL }, 6159, "tcp" }, + { "patrol-ism", { NULL }, 6161, "tcp" }, + { "patrol-ism", { NULL }, 6161, "udp" }, + { "patrol-coll", { NULL }, 6162, "tcp" }, + { "patrol-coll", { NULL }, 6162, "udp" }, + { "pscribe", { NULL }, 6163, "tcp" }, + { "pscribe", { NULL }, 6163, "udp" }, + { "lm-x", { NULL }, 6200, "tcp" }, + { "lm-x", { NULL }, 6200, "udp" }, + { "radmind", { NULL }, 6222, "tcp" }, + { "radmind", { NULL }, 6222, "udp" }, + { "jeol-nsdtp-1", { NULL }, 6241, "tcp" }, + { "jeol-nsddp-1", { NULL }, 6241, "udp" }, + { "jeol-nsdtp-2", { NULL }, 6242, "tcp" }, + { "jeol-nsddp-2", { NULL }, 6242, "udp" }, + { "jeol-nsdtp-3", { NULL }, 6243, "tcp" }, + { "jeol-nsddp-3", { NULL }, 6243, "udp" }, + { "jeol-nsdtp-4", { NULL }, 6244, "tcp" }, + { "jeol-nsddp-4", { NULL }, 6244, "udp" }, + { "tl1-raw-ssl", { NULL }, 6251, "tcp" }, + { "tl1-raw-ssl", { NULL }, 6251, "udp" }, + { "tl1-ssh", { NULL }, 6252, "tcp" }, + { "tl1-ssh", { NULL }, 6252, "udp" }, + { "crip", { NULL }, 6253, "tcp" }, + { "crip", { NULL }, 6253, "udp" }, + { "gld", { NULL }, 6267, "tcp" }, + { "grid", { NULL }, 6268, "tcp" }, + { "grid", { NULL }, 6268, "udp" }, + { "grid-alt", { NULL }, 6269, "tcp" }, + { "grid-alt", { NULL }, 6269, "udp" }, + { "bmc-grx", { NULL }, 6300, "tcp" }, + { "bmc-grx", { NULL }, 6300, "udp" }, + { "bmc_ctd_ldap", { NULL }, 6301, "tcp" }, + { "bmc_ctd_ldap", { NULL }, 6301, "udp" }, + { "ufmp", { NULL }, 6306, "tcp" }, + { "ufmp", { NULL }, 6306, "udp" }, + { "scup", { NULL }, 6315, "tcp" }, + { "scup-disc", { NULL }, 6315, "udp" }, + { "abb-escp", { NULL }, 6316, "tcp" }, + { "abb-escp", { NULL }, 6316, "udp" }, + { "repsvc", { NULL }, 6320, "tcp" }, + { "repsvc", { NULL }, 6320, "udp" }, + { "emp-server1", { NULL }, 6321, "tcp" }, + { "emp-server1", { NULL }, 6321, "udp" }, + { "emp-server2", { NULL }, 6322, "tcp" }, + { "emp-server2", { NULL }, 6322, "udp" }, + { "sflow", { NULL }, 6343, "tcp" }, + { "sflow", { NULL }, 6343, "udp" }, + { "gnutella-svc", { NULL }, 6346, "tcp" }, + { "gnutella-svc", { NULL }, 6346, "udp" }, + { "gnutella-rtr", { NULL }, 6347, "tcp" }, + { "gnutella-rtr", { NULL }, 6347, "udp" }, + { "adap", { NULL }, 6350, "tcp" }, + { "adap", { NULL }, 6350, "udp" }, + { "pmcs", { NULL }, 6355, "tcp" }, + { "pmcs", { NULL }, 6355, "udp" }, + { "metaedit-mu", { NULL }, 6360, "tcp" }, + { "metaedit-mu", { NULL }, 6360, "udp" }, + { "metaedit-se", { NULL }, 6370, "tcp" }, + { "metaedit-se", { NULL }, 6370, "udp" }, + { "metatude-mds", { NULL }, 6382, "tcp" }, + { "metatude-mds", { NULL }, 6382, "udp" }, + { "clariion-evr01", { NULL }, 6389, "tcp" }, + { "clariion-evr01", { NULL }, 6389, "udp" }, + { "metaedit-ws", { NULL }, 6390, "tcp" }, + { "metaedit-ws", { NULL }, 6390, "udp" }, + { "faxcomservice", { NULL }, 6417, "tcp" }, + { "faxcomservice", { NULL }, 6417, "udp" }, + { "syserverremote", { NULL }, 6418, "tcp" }, + { "svdrp", { NULL }, 6419, "tcp" }, + { "nim-vdrshell", { NULL }, 6420, "tcp" }, + { "nim-vdrshell", { NULL }, 6420, "udp" }, + { "nim-wan", { NULL }, 6421, "tcp" }, + { "nim-wan", { NULL }, 6421, "udp" }, + { "pgbouncer", { NULL }, 6432, "tcp" }, + { "sun-sr-https", { NULL }, 6443, "tcp" }, + { "sun-sr-https", { NULL }, 6443, "udp" }, + { "sge_qmaster", { NULL }, 6444, "tcp" }, + { "sge_qmaster", { NULL }, 6444, "udp" }, + { "sge_execd", { NULL }, 6445, "tcp" }, + { "sge_execd", { NULL }, 6445, "udp" }, + { "mysql-proxy", { NULL }, 6446, "tcp" }, + { "mysql-proxy", { NULL }, 6446, "udp" }, + { "skip-cert-recv", { NULL }, 6455, "tcp" }, + { "skip-cert-send", { NULL }, 6456, "udp" }, + { "lvision-lm", { NULL }, 6471, "tcp" }, + { "lvision-lm", { NULL }, 6471, "udp" }, + { "sun-sr-http", { NULL }, 6480, "tcp" }, + { "sun-sr-http", { NULL }, 6480, "udp" }, + { "servicetags", { NULL }, 6481, "tcp" }, + { "servicetags", { NULL }, 6481, "udp" }, + { "ldoms-mgmt", { NULL }, 6482, "tcp" }, + { "ldoms-mgmt", { NULL }, 6482, "udp" }, + { "SunVTS-RMI", { NULL }, 6483, "tcp" }, + { "SunVTS-RMI", { NULL }, 6483, "udp" }, + { "sun-sr-jms", { NULL }, 6484, "tcp" }, + { "sun-sr-jms", { NULL }, 6484, "udp" }, + { "sun-sr-iiop", { NULL }, 6485, "tcp" }, + { "sun-sr-iiop", { NULL }, 6485, "udp" }, + { "sun-sr-iiops", { NULL }, 6486, "tcp" }, + { "sun-sr-iiops", { NULL }, 6486, "udp" }, + { "sun-sr-iiop-aut", { NULL }, 6487, "tcp" }, + { "sun-sr-iiop-aut", { NULL }, 6487, "udp" }, + { "sun-sr-jmx", { NULL }, 6488, "tcp" }, + { "sun-sr-jmx", { NULL }, 6488, "udp" }, + { "sun-sr-admin", { NULL }, 6489, "tcp" }, + { "sun-sr-admin", { NULL }, 6489, "udp" }, + { "boks", { NULL }, 6500, "tcp" }, + { "boks", { NULL }, 6500, "udp" }, + { "boks_servc", { NULL }, 6501, "tcp" }, + { "boks_servc", { NULL }, 6501, "udp" }, + { "boks_servm", { NULL }, 6502, "tcp" }, + { "boks_servm", { NULL }, 6502, "udp" }, + { "boks_clntd", { NULL }, 6503, "tcp" }, + { "boks_clntd", { NULL }, 6503, "udp" }, + { "badm_priv", { NULL }, 6505, "tcp" }, + { "badm_priv", { NULL }, 6505, "udp" }, + { "badm_pub", { NULL }, 6506, "tcp" }, + { "badm_pub", { NULL }, 6506, "udp" }, + { "bdir_priv", { NULL }, 6507, "tcp" }, + { "bdir_priv", { NULL }, 6507, "udp" }, + { "bdir_pub", { NULL }, 6508, "tcp" }, + { "bdir_pub", { NULL }, 6508, "udp" }, + { "mgcs-mfp-port", { NULL }, 6509, "tcp" }, + { "mgcs-mfp-port", { NULL }, 6509, "udp" }, + { "mcer-port", { NULL }, 6510, "tcp" }, + { "mcer-port", { NULL }, 6510, "udp" }, + { "netconf-tls", { NULL }, 6513, "tcp" }, + { "syslog-tls", { NULL }, 6514, "tcp" }, + { "syslog-tls", { NULL }, 6514, "udp" }, + { "syslog-tls", { NULL }, 6514, "dccp" }, + { "elipse-rec", { NULL }, 6515, "tcp" }, + { "elipse-rec", { NULL }, 6515, "udp" }, + { "lds-distrib", { NULL }, 6543, "tcp" }, + { "lds-distrib", { NULL }, 6543, "udp" }, + { "lds-dump", { NULL }, 6544, "tcp" }, + { "lds-dump", { NULL }, 6544, "udp" }, + { "apc-6547", { NULL }, 6547, "tcp" }, + { "apc-6547", { NULL }, 6547, "udp" }, + { "apc-6548", { NULL }, 6548, "tcp" }, + { "apc-6548", { NULL }, 6548, "udp" }, + { "apc-6549", { NULL }, 6549, "tcp" }, + { "apc-6549", { NULL }, 6549, "udp" }, + { "fg-sysupdate", { NULL }, 6550, "tcp" }, + { "fg-sysupdate", { NULL }, 6550, "udp" }, + { "sum", { NULL }, 6551, "tcp" }, + { "sum", { NULL }, 6551, "udp" }, + { "xdsxdm", { NULL }, 6558, "tcp" }, + { "xdsxdm", { NULL }, 6558, "udp" }, + { "sane-port", { NULL }, 6566, "tcp" }, + { "sane-port", { NULL }, 6566, "udp" }, + { "esp", { NULL }, 6567, "tcp" }, + { "esp", { NULL }, 6567, "udp" }, + { "canit_store", { NULL }, 6568, "tcp" }, + { "rp-reputation", { NULL }, 6568, "udp" }, + { "affiliate", { NULL }, 6579, "tcp" }, + { "affiliate", { NULL }, 6579, "udp" }, + { "parsec-master", { NULL }, 6580, "tcp" }, + { "parsec-master", { NULL }, 6580, "udp" }, + { "parsec-peer", { NULL }, 6581, "tcp" }, + { "parsec-peer", { NULL }, 6581, "udp" }, + { "parsec-game", { NULL }, 6582, "tcp" }, + { "parsec-game", { NULL }, 6582, "udp" }, + { "joaJewelSuite", { NULL }, 6583, "tcp" }, + { "joaJewelSuite", { NULL }, 6583, "udp" }, + { "mshvlm", { NULL }, 6600, "tcp" }, + { "mstmg-sstp", { NULL }, 6601, "tcp" }, + { "wsscomfrmwk", { NULL }, 6602, "tcp" }, + { "odette-ftps", { NULL }, 6619, "tcp" }, + { "odette-ftps", { NULL }, 6619, "udp" }, + { "kftp-data", { NULL }, 6620, "tcp" }, + { "kftp-data", { NULL }, 6620, "udp" }, + { "kftp", { NULL }, 6621, "tcp" }, + { "kftp", { NULL }, 6621, "udp" }, + { "mcftp", { NULL }, 6622, "tcp" }, + { "mcftp", { NULL }, 6622, "udp" }, + { "ktelnet", { NULL }, 6623, "tcp" }, + { "ktelnet", { NULL }, 6623, "udp" }, + { "datascaler-db", { NULL }, 6624, "tcp" }, + { "datascaler-ctl", { NULL }, 6625, "tcp" }, + { "wago-service", { NULL }, 6626, "tcp" }, + { "wago-service", { NULL }, 6626, "udp" }, + { "nexgen", { NULL }, 6627, "tcp" }, + { "nexgen", { NULL }, 6627, "udp" }, + { "afesc-mc", { NULL }, 6628, "tcp" }, + { "afesc-mc", { NULL }, 6628, "udp" }, + { "mxodbc-connect", { NULL }, 6632, "tcp" }, + { "pcs-sf-ui-man", { NULL }, 6655, "tcp" }, + { "emgmsg", { NULL }, 6656, "tcp" }, + { "palcom-disc", { NULL }, 6657, "udp" }, + { "vocaltec-gold", { NULL }, 6670, "tcp" }, + { "vocaltec-gold", { NULL }, 6670, "udp" }, + { "p4p-portal", { NULL }, 6671, "tcp" }, + { "p4p-portal", { NULL }, 6671, "udp" }, + { "vision_server", { NULL }, 6672, "tcp" }, + { "vision_server", { NULL }, 6672, "udp" }, + { "vision_elmd", { NULL }, 6673, "tcp" }, + { "vision_elmd", { NULL }, 6673, "udp" }, + { "vfbp", { NULL }, 6678, "tcp" }, + { "vfbp-disc", { NULL }, 6678, "udp" }, + { "osaut", { NULL }, 6679, "tcp" }, + { "osaut", { NULL }, 6679, "udp" }, + { "clever-ctrace", { NULL }, 6687, "tcp" }, + { "clever-tcpip", { NULL }, 6688, "tcp" }, + { "tsa", { NULL }, 6689, "tcp" }, + { "tsa", { NULL }, 6689, "udp" }, + { "babel", { NULL }, 6697, "udp" }, + { "kti-icad-srvr", { NULL }, 6701, "tcp" }, + { "kti-icad-srvr", { NULL }, 6701, "udp" }, + { "e-design-net", { NULL }, 6702, "tcp" }, + { "e-design-net", { NULL }, 6702, "udp" }, + { "e-design-web", { NULL }, 6703, "tcp" }, + { "e-design-web", { NULL }, 6703, "udp" }, + { "frc-hp", { NULL }, 6704, "sctp" }, + { "frc-mp", { NULL }, 6705, "sctp" }, + { "frc-lp", { NULL }, 6706, "sctp" }, + { "ibprotocol", { NULL }, 6714, "tcp" }, + { "ibprotocol", { NULL }, 6714, "udp" }, + { "fibotrader-com", { NULL }, 6715, "tcp" }, + { "fibotrader-com", { NULL }, 6715, "udp" }, + { "bmc-perf-agent", { NULL }, 6767, "tcp" }, + { "bmc-perf-agent", { NULL }, 6767, "udp" }, + { "bmc-perf-mgrd", { NULL }, 6768, "tcp" }, + { "bmc-perf-mgrd", { NULL }, 6768, "udp" }, + { "adi-gxp-srvprt", { NULL }, 6769, "tcp" }, + { "adi-gxp-srvprt", { NULL }, 6769, "udp" }, + { "plysrv-http", { NULL }, 6770, "tcp" }, + { "plysrv-http", { NULL }, 6770, "udp" }, + { "plysrv-https", { NULL }, 6771, "tcp" }, + { "plysrv-https", { NULL }, 6771, "udp" }, + { "dgpf-exchg", { NULL }, 6785, "tcp" }, + { "dgpf-exchg", { NULL }, 6785, "udp" }, + { "smc-jmx", { NULL }, 6786, "tcp" }, + { "smc-jmx", { NULL }, 6786, "udp" }, + { "smc-admin", { NULL }, 6787, "tcp" }, + { "smc-admin", { NULL }, 6787, "udp" }, + { "smc-http", { NULL }, 6788, "tcp" }, + { "smc-http", { NULL }, 6788, "udp" }, + { "smc-https", { NULL }, 6789, "tcp" }, + { "smc-https", { NULL }, 6789, "udp" }, + { "hnmp", { NULL }, 6790, "tcp" }, + { "hnmp", { NULL }, 6790, "udp" }, + { "hnm", { NULL }, 6791, "tcp" }, + { "hnm", { NULL }, 6791, "udp" }, + { "acnet", { NULL }, 6801, "tcp" }, + { "acnet", { NULL }, 6801, "udp" }, + { "pentbox-sim", { NULL }, 6817, "tcp" }, + { "ambit-lm", { NULL }, 6831, "tcp" }, + { "ambit-lm", { NULL }, 6831, "udp" }, + { "netmo-default", { NULL }, 6841, "tcp" }, + { "netmo-default", { NULL }, 6841, "udp" }, + { "netmo-http", { NULL }, 6842, "tcp" }, + { "netmo-http", { NULL }, 6842, "udp" }, + { "iccrushmore", { NULL }, 6850, "tcp" }, + { "iccrushmore", { NULL }, 6850, "udp" }, + { "acctopus-cc", { NULL }, 6868, "tcp" }, + { "acctopus-st", { NULL }, 6868, "udp" }, + { "muse", { NULL }, 6888, "tcp" }, + { "muse", { NULL }, 6888, "udp" }, + { "jetstream", { NULL }, 6901, "tcp" }, + { "xsmsvc", { NULL }, 6936, "tcp" }, + { "xsmsvc", { NULL }, 6936, "udp" }, + { "bioserver", { NULL }, 6946, "tcp" }, + { "bioserver", { NULL }, 6946, "udp" }, + { "otlp", { NULL }, 6951, "tcp" }, + { "otlp", { NULL }, 6951, "udp" }, + { "jmact3", { NULL }, 6961, "tcp" }, + { "jmact3", { NULL }, 6961, "udp" }, + { "jmevt2", { NULL }, 6962, "tcp" }, + { "jmevt2", { NULL }, 6962, "udp" }, + { "swismgr1", { NULL }, 6963, "tcp" }, + { "swismgr1", { NULL }, 6963, "udp" }, + { "swismgr2", { NULL }, 6964, "tcp" }, + { "swismgr2", { NULL }, 6964, "udp" }, + { "swistrap", { NULL }, 6965, "tcp" }, + { "swistrap", { NULL }, 6965, "udp" }, + { "swispol", { NULL }, 6966, "tcp" }, + { "swispol", { NULL }, 6966, "udp" }, + { "acmsoda", { NULL }, 6969, "tcp" }, + { "acmsoda", { NULL }, 6969, "udp" }, + { "MobilitySrv", { NULL }, 6997, "tcp" }, + { "MobilitySrv", { NULL }, 6997, "udp" }, + { "iatp-highpri", { NULL }, 6998, "tcp" }, + { "iatp-highpri", { NULL }, 6998, "udp" }, + { "iatp-normalpri", { NULL }, 6999, "tcp" }, + { "iatp-normalpri", { NULL }, 6999, "udp" }, + { "afs3-fileserver", { NULL }, 7000, "tcp" }, + { "afs3-fileserver", { NULL }, 7000, "udp" }, + { "afs3-callback", { NULL }, 7001, "tcp" }, + { "afs3-callback", { NULL }, 7001, "udp" }, + { "afs3-prserver", { NULL }, 7002, "tcp" }, + { "afs3-prserver", { NULL }, 7002, "udp" }, + { "afs3-vlserver", { NULL }, 7003, "tcp" }, + { "afs3-vlserver", { NULL }, 7003, "udp" }, + { "afs3-kaserver", { NULL }, 7004, "tcp" }, + { "afs3-kaserver", { NULL }, 7004, "udp" }, + { "afs3-volser", { NULL }, 7005, "tcp" }, + { "afs3-volser", { NULL }, 7005, "udp" }, + { "afs3-errors", { NULL }, 7006, "tcp" }, + { "afs3-errors", { NULL }, 7006, "udp" }, + { "afs3-bos", { NULL }, 7007, "tcp" }, + { "afs3-bos", { NULL }, 7007, "udp" }, + { "afs3-update", { NULL }, 7008, "tcp" }, + { "afs3-update", { NULL }, 7008, "udp" }, + { "afs3-rmtsys", { NULL }, 7009, "tcp" }, + { "afs3-rmtsys", { NULL }, 7009, "udp" }, + { "ups-onlinet", { NULL }, 7010, "tcp" }, + { "ups-onlinet", { NULL }, 7010, "udp" }, + { "talon-disc", { NULL }, 7011, "tcp" }, + { "talon-disc", { NULL }, 7011, "udp" }, + { "talon-engine", { NULL }, 7012, "tcp" }, + { "talon-engine", { NULL }, 7012, "udp" }, + { "microtalon-dis", { NULL }, 7013, "tcp" }, + { "microtalon-dis", { NULL }, 7013, "udp" }, + { "microtalon-com", { NULL }, 7014, "tcp" }, + { "microtalon-com", { NULL }, 7014, "udp" }, + { "talon-webserver", { NULL }, 7015, "tcp" }, + { "talon-webserver", { NULL }, 7015, "udp" }, + { "dpserve", { NULL }, 7020, "tcp" }, + { "dpserve", { NULL }, 7020, "udp" }, + { "dpserveadmin", { NULL }, 7021, "tcp" }, + { "dpserveadmin", { NULL }, 7021, "udp" }, + { "ctdp", { NULL }, 7022, "tcp" }, + { "ctdp", { NULL }, 7022, "udp" }, + { "ct2nmcs", { NULL }, 7023, "tcp" }, + { "ct2nmcs", { NULL }, 7023, "udp" }, + { "vmsvc", { NULL }, 7024, "tcp" }, + { "vmsvc", { NULL }, 7024, "udp" }, + { "vmsvc-2", { NULL }, 7025, "tcp" }, + { "vmsvc-2", { NULL }, 7025, "udp" }, + { "op-probe", { NULL }, 7030, "tcp" }, + { "op-probe", { NULL }, 7030, "udp" }, + { "arcp", { NULL }, 7070, "tcp" }, + { "arcp", { NULL }, 7070, "udp" }, + { "iwg1", { NULL }, 7071, "tcp" }, + { "iwg1", { NULL }, 7071, "udp" }, + { "empowerid", { NULL }, 7080, "tcp" }, + { "empowerid", { NULL }, 7080, "udp" }, + { "lazy-ptop", { NULL }, 7099, "tcp" }, + { "lazy-ptop", { NULL }, 7099, "udp" }, + { "font-service", { NULL }, 7100, "tcp" }, + { "font-service", { NULL }, 7100, "udp" }, + { "elcn", { NULL }, 7101, "tcp" }, + { "elcn", { NULL }, 7101, "udp" }, + { "aes-x170", { NULL }, 7107, "udp" }, + { "virprot-lm", { NULL }, 7121, "tcp" }, + { "virprot-lm", { NULL }, 7121, "udp" }, + { "scenidm", { NULL }, 7128, "tcp" }, + { "scenidm", { NULL }, 7128, "udp" }, + { "scenccs", { NULL }, 7129, "tcp" }, + { "scenccs", { NULL }, 7129, "udp" }, + { "cabsm-comm", { NULL }, 7161, "tcp" }, + { "cabsm-comm", { NULL }, 7161, "udp" }, + { "caistoragemgr", { NULL }, 7162, "tcp" }, + { "caistoragemgr", { NULL }, 7162, "udp" }, + { "cacsambroker", { NULL }, 7163, "tcp" }, + { "cacsambroker", { NULL }, 7163, "udp" }, + { "fsr", { NULL }, 7164, "tcp" }, + { "fsr", { NULL }, 7164, "udp" }, + { "doc-server", { NULL }, 7165, "tcp" }, + { "doc-server", { NULL }, 7165, "udp" }, + { "aruba-server", { NULL }, 7166, "tcp" }, + { "aruba-server", { NULL }, 7166, "udp" }, + { "casrmagent", { NULL }, 7167, "tcp" }, + { "cnckadserver", { NULL }, 7168, "tcp" }, + { "ccag-pib", { NULL }, 7169, "tcp" }, + { "ccag-pib", { NULL }, 7169, "udp" }, + { "nsrp", { NULL }, 7170, "tcp" }, + { "nsrp", { NULL }, 7170, "udp" }, + { "drm-production", { NULL }, 7171, "tcp" }, + { "drm-production", { NULL }, 7171, "udp" }, + { "zsecure", { NULL }, 7173, "tcp" }, + { "clutild", { NULL }, 7174, "tcp" }, + { "clutild", { NULL }, 7174, "udp" }, + { "fodms", { NULL }, 7200, "tcp" }, + { "fodms", { NULL }, 7200, "udp" }, + { "dlip", { NULL }, 7201, "tcp" }, + { "dlip", { NULL }, 7201, "udp" }, + { "ramp", { NULL }, 7227, "tcp" }, + { "ramp", { NULL }, 7227, "udp" }, + { "citrixupp", { NULL }, 7228, "tcp" }, + { "citrixuppg", { NULL }, 7229, "tcp" }, + { "pads", { NULL }, 7237, "tcp" }, + { "cnap", { NULL }, 7262, "tcp" }, + { "cnap", { NULL }, 7262, "udp" }, + { "watchme-7272", { NULL }, 7272, "tcp" }, + { "watchme-7272", { NULL }, 7272, "udp" }, + { "oma-rlp", { NULL }, 7273, "tcp" }, + { "oma-rlp", { NULL }, 7273, "udp" }, + { "oma-rlp-s", { NULL }, 7274, "tcp" }, + { "oma-rlp-s", { NULL }, 7274, "udp" }, + { "oma-ulp", { NULL }, 7275, "tcp" }, + { "oma-ulp", { NULL }, 7275, "udp" }, + { "oma-ilp", { NULL }, 7276, "tcp" }, + { "oma-ilp", { NULL }, 7276, "udp" }, + { "oma-ilp-s", { NULL }, 7277, "tcp" }, + { "oma-ilp-s", { NULL }, 7277, "udp" }, + { "oma-dcdocbs", { NULL }, 7278, "tcp" }, + { "oma-dcdocbs", { NULL }, 7278, "udp" }, + { "ctxlic", { NULL }, 7279, "tcp" }, + { "ctxlic", { NULL }, 7279, "udp" }, + { "itactionserver1", { NULL }, 7280, "tcp" }, + { "itactionserver1", { NULL }, 7280, "udp" }, + { "itactionserver2", { NULL }, 7281, "tcp" }, + { "itactionserver2", { NULL }, 7281, "udp" }, + { "mzca-action", { NULL }, 7282, "tcp" }, + { "mzca-alert", { NULL }, 7282, "udp" }, + { "lcm-server", { NULL }, 7365, "tcp" }, + { "lcm-server", { NULL }, 7365, "udp" }, + { "mindfilesys", { NULL }, 7391, "tcp" }, + { "mindfilesys", { NULL }, 7391, "udp" }, + { "mrssrendezvous", { NULL }, 7392, "tcp" }, + { "mrssrendezvous", { NULL }, 7392, "udp" }, + { "nfoldman", { NULL }, 7393, "tcp" }, + { "nfoldman", { NULL }, 7393, "udp" }, + { "fse", { NULL }, 7394, "tcp" }, + { "fse", { NULL }, 7394, "udp" }, + { "winqedit", { NULL }, 7395, "tcp" }, + { "winqedit", { NULL }, 7395, "udp" }, + { "hexarc", { NULL }, 7397, "tcp" }, + { "hexarc", { NULL }, 7397, "udp" }, + { "rtps-discovery", { NULL }, 7400, "tcp" }, + { "rtps-discovery", { NULL }, 7400, "udp" }, + { "rtps-dd-ut", { NULL }, 7401, "tcp" }, + { "rtps-dd-ut", { NULL }, 7401, "udp" }, + { "rtps-dd-mt", { NULL }, 7402, "tcp" }, + { "rtps-dd-mt", { NULL }, 7402, "udp" }, + { "ionixnetmon", { NULL }, 7410, "tcp" }, + { "ionixnetmon", { NULL }, 7410, "udp" }, + { "mtportmon", { NULL }, 7421, "tcp" }, + { "mtportmon", { NULL }, 7421, "udp" }, + { "pmdmgr", { NULL }, 7426, "tcp" }, + { "pmdmgr", { NULL }, 7426, "udp" }, + { "oveadmgr", { NULL }, 7427, "tcp" }, + { "oveadmgr", { NULL }, 7427, "udp" }, + { "ovladmgr", { NULL }, 7428, "tcp" }, + { "ovladmgr", { NULL }, 7428, "udp" }, + { "opi-sock", { NULL }, 7429, "tcp" }, + { "opi-sock", { NULL }, 7429, "udp" }, + { "xmpv7", { NULL }, 7430, "tcp" }, + { "xmpv7", { NULL }, 7430, "udp" }, + { "pmd", { NULL }, 7431, "tcp" }, + { "pmd", { NULL }, 7431, "udp" }, + { "faximum", { NULL }, 7437, "tcp" }, + { "faximum", { NULL }, 7437, "udp" }, + { "oracleas-https", { NULL }, 7443, "tcp" }, + { "oracleas-https", { NULL }, 7443, "udp" }, + { "rise", { NULL }, 7473, "tcp" }, + { "rise", { NULL }, 7473, "udp" }, + { "telops-lmd", { NULL }, 7491, "tcp" }, + { "telops-lmd", { NULL }, 7491, "udp" }, + { "silhouette", { NULL }, 7500, "tcp" }, + { "silhouette", { NULL }, 7500, "udp" }, + { "ovbus", { NULL }, 7501, "tcp" }, + { "ovbus", { NULL }, 7501, "udp" }, + { "acplt", { NULL }, 7509, "tcp" }, + { "ovhpas", { NULL }, 7510, "tcp" }, + { "ovhpas", { NULL }, 7510, "udp" }, + { "pafec-lm", { NULL }, 7511, "tcp" }, + { "pafec-lm", { NULL }, 7511, "udp" }, + { "saratoga", { NULL }, 7542, "tcp" }, + { "saratoga", { NULL }, 7542, "udp" }, + { "atul", { NULL }, 7543, "tcp" }, + { "atul", { NULL }, 7543, "udp" }, + { "nta-ds", { NULL }, 7544, "tcp" }, + { "nta-ds", { NULL }, 7544, "udp" }, + { "nta-us", { NULL }, 7545, "tcp" }, + { "nta-us", { NULL }, 7545, "udp" }, + { "cfs", { NULL }, 7546, "tcp" }, + { "cfs", { NULL }, 7546, "udp" }, + { "cwmp", { NULL }, 7547, "tcp" }, + { "cwmp", { NULL }, 7547, "udp" }, + { "tidp", { NULL }, 7548, "tcp" }, + { "tidp", { NULL }, 7548, "udp" }, + { "nls-tl", { NULL }, 7549, "tcp" }, + { "nls-tl", { NULL }, 7549, "udp" }, + { "sncp", { NULL }, 7560, "tcp" }, + { "sncp", { NULL }, 7560, "udp" }, + { "cfw", { NULL }, 7563, "tcp" }, + { "vsi-omega", { NULL }, 7566, "tcp" }, + { "vsi-omega", { NULL }, 7566, "udp" }, + { "dell-eql-asm", { NULL }, 7569, "tcp" }, + { "aries-kfinder", { NULL }, 7570, "tcp" }, + { "aries-kfinder", { NULL }, 7570, "udp" }, + { "sun-lm", { NULL }, 7588, "tcp" }, + { "sun-lm", { NULL }, 7588, "udp" }, + { "indi", { NULL }, 7624, "tcp" }, + { "indi", { NULL }, 7624, "udp" }, + { "simco", { NULL }, 7626, "tcp" }, + { "simco", { NULL }, 7626, "sctp" }, + { "soap-http", { NULL }, 7627, "tcp" }, + { "soap-http", { NULL }, 7627, "udp" }, + { "zen-pawn", { NULL }, 7628, "tcp" }, + { "zen-pawn", { NULL }, 7628, "udp" }, + { "xdas", { NULL }, 7629, "tcp" }, + { "xdas", { NULL }, 7629, "udp" }, + { "hawk", { NULL }, 7630, "tcp" }, + { "tesla-sys-msg", { NULL }, 7631, "tcp" }, + { "pmdfmgt", { NULL }, 7633, "tcp" }, + { "pmdfmgt", { NULL }, 7633, "udp" }, + { "cuseeme", { NULL }, 7648, "tcp" }, + { "cuseeme", { NULL }, 7648, "udp" }, + { "imqstomp", { NULL }, 7672, "tcp" }, + { "imqstomps", { NULL }, 7673, "tcp" }, + { "imqtunnels", { NULL }, 7674, "tcp" }, + { "imqtunnels", { NULL }, 7674, "udp" }, + { "imqtunnel", { NULL }, 7675, "tcp" }, + { "imqtunnel", { NULL }, 7675, "udp" }, + { "imqbrokerd", { NULL }, 7676, "tcp" }, + { "imqbrokerd", { NULL }, 7676, "udp" }, + { "sun-user-https", { NULL }, 7677, "tcp" }, + { "sun-user-https", { NULL }, 7677, "udp" }, + { "pando-pub", { NULL }, 7680, "tcp" }, + { "pando-pub", { NULL }, 7680, "udp" }, + { "collaber", { NULL }, 7689, "tcp" }, + { "collaber", { NULL }, 7689, "udp" }, + { "klio", { NULL }, 7697, "tcp" }, + { "klio", { NULL }, 7697, "udp" }, + { "em7-secom", { NULL }, 7700, "tcp" }, + { "sync-em7", { NULL }, 7707, "tcp" }, + { "sync-em7", { NULL }, 7707, "udp" }, + { "scinet", { NULL }, 7708, "tcp" }, + { "scinet", { NULL }, 7708, "udp" }, + { "medimageportal", { NULL }, 7720, "tcp" }, + { "medimageportal", { NULL }, 7720, "udp" }, + { "nsdeepfreezectl", { NULL }, 7724, "tcp" }, + { "nsdeepfreezectl", { NULL }, 7724, "udp" }, + { "nitrogen", { NULL }, 7725, "tcp" }, + { "nitrogen", { NULL }, 7725, "udp" }, + { "freezexservice", { NULL }, 7726, "tcp" }, + { "freezexservice", { NULL }, 7726, "udp" }, + { "trident-data", { NULL }, 7727, "tcp" }, + { "trident-data", { NULL }, 7727, "udp" }, + { "smip", { NULL }, 7734, "tcp" }, + { "smip", { NULL }, 7734, "udp" }, + { "aiagent", { NULL }, 7738, "tcp" }, + { "aiagent", { NULL }, 7738, "udp" }, + { "scriptview", { NULL }, 7741, "tcp" }, + { "scriptview", { NULL }, 7741, "udp" }, + { "msss", { NULL }, 7742, "tcp" }, + { "sstp-1", { NULL }, 7743, "tcp" }, + { "sstp-1", { NULL }, 7743, "udp" }, + { "raqmon-pdu", { NULL }, 7744, "tcp" }, + { "raqmon-pdu", { NULL }, 7744, "udp" }, + { "prgp", { NULL }, 7747, "tcp" }, + { "prgp", { NULL }, 7747, "udp" }, + { "cbt", { NULL }, 7777, "tcp" }, + { "cbt", { NULL }, 7777, "udp" }, + { "interwise", { NULL }, 7778, "tcp" }, + { "interwise", { NULL }, 7778, "udp" }, + { "vstat", { NULL }, 7779, "tcp" }, + { "vstat", { NULL }, 7779, "udp" }, + { "accu-lmgr", { NULL }, 7781, "tcp" }, + { "accu-lmgr", { NULL }, 7781, "udp" }, + { "minivend", { NULL }, 7786, "tcp" }, + { "minivend", { NULL }, 7786, "udp" }, + { "popup-reminders", { NULL }, 7787, "tcp" }, + { "popup-reminders", { NULL }, 7787, "udp" }, + { "office-tools", { NULL }, 7789, "tcp" }, + { "office-tools", { NULL }, 7789, "udp" }, + { "q3ade", { NULL }, 7794, "tcp" }, + { "q3ade", { NULL }, 7794, "udp" }, + { "pnet-conn", { NULL }, 7797, "tcp" }, + { "pnet-conn", { NULL }, 7797, "udp" }, + { "pnet-enc", { NULL }, 7798, "tcp" }, + { "pnet-enc", { NULL }, 7798, "udp" }, + { "altbsdp", { NULL }, 7799, "tcp" }, + { "altbsdp", { NULL }, 7799, "udp" }, + { "asr", { NULL }, 7800, "tcp" }, + { "asr", { NULL }, 7800, "udp" }, + { "ssp-client", { NULL }, 7801, "tcp" }, + { "ssp-client", { NULL }, 7801, "udp" }, + { "rbt-wanopt", { NULL }, 7810, "tcp" }, + { "rbt-wanopt", { NULL }, 7810, "udp" }, + { "apc-7845", { NULL }, 7845, "tcp" }, + { "apc-7845", { NULL }, 7845, "udp" }, + { "apc-7846", { NULL }, 7846, "tcp" }, + { "apc-7846", { NULL }, 7846, "udp" }, + { "mobileanalyzer", { NULL }, 7869, "tcp" }, + { "rbt-smc", { NULL }, 7870, "tcp" }, + { "pss", { NULL }, 7880, "tcp" }, + { "pss", { NULL }, 7880, "udp" }, + { "ubroker", { NULL }, 7887, "tcp" }, + { "ubroker", { NULL }, 7887, "udp" }, + { "mevent", { NULL }, 7900, "tcp" }, + { "mevent", { NULL }, 7900, "udp" }, + { "tnos-sp", { NULL }, 7901, "tcp" }, + { "tnos-sp", { NULL }, 7901, "udp" }, + { "tnos-dp", { NULL }, 7902, "tcp" }, + { "tnos-dp", { NULL }, 7902, "udp" }, + { "tnos-dps", { NULL }, 7903, "tcp" }, + { "tnos-dps", { NULL }, 7903, "udp" }, + { "qo-secure", { NULL }, 7913, "tcp" }, + { "qo-secure", { NULL }, 7913, "udp" }, + { "t2-drm", { NULL }, 7932, "tcp" }, + { "t2-drm", { NULL }, 7932, "udp" }, + { "t2-brm", { NULL }, 7933, "tcp" }, + { "t2-brm", { NULL }, 7933, "udp" }, + { "supercell", { NULL }, 7967, "tcp" }, + { "supercell", { NULL }, 7967, "udp" }, + { "micromuse-ncps", { NULL }, 7979, "tcp" }, + { "micromuse-ncps", { NULL }, 7979, "udp" }, + { "quest-vista", { NULL }, 7980, "tcp" }, + { "quest-vista", { NULL }, 7980, "udp" }, + { "sossd-collect", { NULL }, 7981, "tcp" }, + { "sossd-agent", { NULL }, 7982, "tcp" }, + { "sossd-disc", { NULL }, 7982, "udp" }, + { "pushns", { NULL }, 7997, "tcp" }, + { "usicontentpush", { NULL }, 7998, "udp" }, + { "irdmi2", { NULL }, 7999, "tcp" }, + { "irdmi2", { NULL }, 7999, "udp" }, + { "irdmi", { NULL }, 8000, "tcp" }, + { "irdmi", { NULL }, 8000, "udp" }, + { "vcom-tunnel", { NULL }, 8001, "tcp" }, + { "vcom-tunnel", { NULL }, 8001, "udp" }, + { "teradataordbms", { NULL }, 8002, "tcp" }, + { "teradataordbms", { NULL }, 8002, "udp" }, + { "mcreport", { NULL }, 8003, "tcp" }, + { "mcreport", { NULL }, 8003, "udp" }, + { "mxi", { NULL }, 8005, "tcp" }, + { "mxi", { NULL }, 8005, "udp" }, + { "http-alt", { NULL }, 8008, "tcp" }, + { "http-alt", { NULL }, 8008, "udp" }, + { "qbdb", { NULL }, 8019, "tcp" }, + { "qbdb", { NULL }, 8019, "udp" }, + { "intu-ec-svcdisc", { NULL }, 8020, "tcp" }, + { "intu-ec-svcdisc", { NULL }, 8020, "udp" }, + { "intu-ec-client", { NULL }, 8021, "tcp" }, + { "intu-ec-client", { NULL }, 8021, "udp" }, + { "oa-system", { NULL }, 8022, "tcp" }, + { "oa-system", { NULL }, 8022, "udp" }, + { "ca-audit-da", { NULL }, 8025, "tcp" }, + { "ca-audit-da", { NULL }, 8025, "udp" }, + { "ca-audit-ds", { NULL }, 8026, "tcp" }, + { "ca-audit-ds", { NULL }, 8026, "udp" }, + { "pro-ed", { NULL }, 8032, "tcp" }, + { "pro-ed", { NULL }, 8032, "udp" }, + { "mindprint", { NULL }, 8033, "tcp" }, + { "mindprint", { NULL }, 8033, "udp" }, + { "vantronix-mgmt", { NULL }, 8034, "tcp" }, + { "vantronix-mgmt", { NULL }, 8034, "udp" }, + { "ampify", { NULL }, 8040, "tcp" }, + { "ampify", { NULL }, 8040, "udp" }, + { "fs-agent", { NULL }, 8042, "tcp" }, + { "fs-server", { NULL }, 8043, "tcp" }, + { "fs-mgmt", { NULL }, 8044, "tcp" }, + { "senomix01", { NULL }, 8052, "tcp" }, + { "senomix01", { NULL }, 8052, "udp" }, + { "senomix02", { NULL }, 8053, "tcp" }, + { "senomix02", { NULL }, 8053, "udp" }, + { "senomix03", { NULL }, 8054, "tcp" }, + { "senomix03", { NULL }, 8054, "udp" }, + { "senomix04", { NULL }, 8055, "tcp" }, + { "senomix04", { NULL }, 8055, "udp" }, + { "senomix05", { NULL }, 8056, "tcp" }, + { "senomix05", { NULL }, 8056, "udp" }, + { "senomix06", { NULL }, 8057, "tcp" }, + { "senomix06", { NULL }, 8057, "udp" }, + { "senomix07", { NULL }, 8058, "tcp" }, + { "senomix07", { NULL }, 8058, "udp" }, + { "senomix08", { NULL }, 8059, "tcp" }, + { "senomix08", { NULL }, 8059, "udp" }, + { "gadugadu", { NULL }, 8074, "tcp" }, + { "gadugadu", { NULL }, 8074, "udp" }, + { "http-alt", { NULL }, 8080, "tcp" }, + { "http-alt", { NULL }, 8080, "udp" }, + { "sunproxyadmin", { NULL }, 8081, "tcp" }, + { "sunproxyadmin", { NULL }, 8081, "udp" }, + { "us-cli", { NULL }, 8082, "tcp" }, + { "us-cli", { NULL }, 8082, "udp" }, + { "us-srv", { NULL }, 8083, "tcp" }, + { "us-srv", { NULL }, 8083, "udp" }, + { "d-s-n", { NULL }, 8086, "tcp" }, + { "d-s-n", { NULL }, 8086, "udp" }, + { "simplifymedia", { NULL }, 8087, "tcp" }, + { "simplifymedia", { NULL }, 8087, "udp" }, + { "radan-http", { NULL }, 8088, "tcp" }, + { "radan-http", { NULL }, 8088, "udp" }, + { "jamlink", { NULL }, 8091, "tcp" }, + { "sac", { NULL }, 8097, "tcp" }, + { "sac", { NULL }, 8097, "udp" }, + { "xprint-server", { NULL }, 8100, "tcp" }, + { "xprint-server", { NULL }, 8100, "udp" }, + { "ldoms-migr", { NULL }, 8101, "tcp" }, + { "mtl8000-matrix", { NULL }, 8115, "tcp" }, + { "mtl8000-matrix", { NULL }, 8115, "udp" }, + { "cp-cluster", { NULL }, 8116, "tcp" }, + { "cp-cluster", { NULL }, 8116, "udp" }, + { "privoxy", { NULL }, 8118, "tcp" }, + { "privoxy", { NULL }, 8118, "udp" }, + { "apollo-data", { NULL }, 8121, "tcp" }, + { "apollo-data", { NULL }, 8121, "udp" }, + { "apollo-admin", { NULL }, 8122, "tcp" }, + { "apollo-admin", { NULL }, 8122, "udp" }, + { "paycash-online", { NULL }, 8128, "tcp" }, + { "paycash-online", { NULL }, 8128, "udp" }, + { "paycash-wbp", { NULL }, 8129, "tcp" }, + { "paycash-wbp", { NULL }, 8129, "udp" }, + { "indigo-vrmi", { NULL }, 8130, "tcp" }, + { "indigo-vrmi", { NULL }, 8130, "udp" }, + { "indigo-vbcp", { NULL }, 8131, "tcp" }, + { "indigo-vbcp", { NULL }, 8131, "udp" }, + { "dbabble", { NULL }, 8132, "tcp" }, + { "dbabble", { NULL }, 8132, "udp" }, + { "isdd", { NULL }, 8148, "tcp" }, + { "isdd", { NULL }, 8148, "udp" }, + { "patrol", { NULL }, 8160, "tcp" }, + { "patrol", { NULL }, 8160, "udp" }, + { "patrol-snmp", { NULL }, 8161, "tcp" }, + { "patrol-snmp", { NULL }, 8161, "udp" }, + { "vmware-fdm", { NULL }, 8182, "tcp" }, + { "vmware-fdm", { NULL }, 8182, "udp" }, + { "proremote", { NULL }, 8183, "tcp" }, + { "itach", { NULL }, 8184, "tcp" }, + { "itach", { NULL }, 8184, "udp" }, + { "spytechphone", { NULL }, 8192, "tcp" }, + { "spytechphone", { NULL }, 8192, "udp" }, + { "blp1", { NULL }, 8194, "tcp" }, + { "blp1", { NULL }, 8194, "udp" }, + { "blp2", { NULL }, 8195, "tcp" }, + { "blp2", { NULL }, 8195, "udp" }, + { "vvr-data", { NULL }, 8199, "tcp" }, + { "vvr-data", { NULL }, 8199, "udp" }, + { "trivnet1", { NULL }, 8200, "tcp" }, + { "trivnet1", { NULL }, 8200, "udp" }, + { "trivnet2", { NULL }, 8201, "tcp" }, + { "trivnet2", { NULL }, 8201, "udp" }, + { "lm-perfworks", { NULL }, 8204, "tcp" }, + { "lm-perfworks", { NULL }, 8204, "udp" }, + { "lm-instmgr", { NULL }, 8205, "tcp" }, + { "lm-instmgr", { NULL }, 8205, "udp" }, + { "lm-dta", { NULL }, 8206, "tcp" }, + { "lm-dta", { NULL }, 8206, "udp" }, + { "lm-sserver", { NULL }, 8207, "tcp" }, + { "lm-sserver", { NULL }, 8207, "udp" }, + { "lm-webwatcher", { NULL }, 8208, "tcp" }, + { "lm-webwatcher", { NULL }, 8208, "udp" }, + { "rexecj", { NULL }, 8230, "tcp" }, + { "rexecj", { NULL }, 8230, "udp" }, + { "synapse-nhttps", { NULL }, 8243, "tcp" }, + { "synapse-nhttps", { NULL }, 8243, "udp" }, + { "pando-sec", { NULL }, 8276, "tcp" }, + { "pando-sec", { NULL }, 8276, "udp" }, + { "synapse-nhttp", { NULL }, 8280, "tcp" }, + { "synapse-nhttp", { NULL }, 8280, "udp" }, + { "blp3", { NULL }, 8292, "tcp" }, + { "blp3", { NULL }, 8292, "udp" }, + { "hiperscan-id", { NULL }, 8293, "tcp" }, + { "blp4", { NULL }, 8294, "tcp" }, + { "blp4", { NULL }, 8294, "udp" }, + { "tmi", { NULL }, 8300, "tcp" }, + { "tmi", { NULL }, 8300, "udp" }, + { "amberon", { NULL }, 8301, "tcp" }, + { "amberon", { NULL }, 8301, "udp" }, + { "tnp-discover", { NULL }, 8320, "tcp" }, + { "tnp-discover", { NULL }, 8320, "udp" }, + { "tnp", { NULL }, 8321, "tcp" }, + { "tnp", { NULL }, 8321, "udp" }, + { "server-find", { NULL }, 8351, "tcp" }, + { "server-find", { NULL }, 8351, "udp" }, + { "cruise-enum", { NULL }, 8376, "tcp" }, + { "cruise-enum", { NULL }, 8376, "udp" }, + { "cruise-swroute", { NULL }, 8377, "tcp" }, + { "cruise-swroute", { NULL }, 8377, "udp" }, + { "cruise-config", { NULL }, 8378, "tcp" }, + { "cruise-config", { NULL }, 8378, "udp" }, + { "cruise-diags", { NULL }, 8379, "tcp" }, + { "cruise-diags", { NULL }, 8379, "udp" }, + { "cruise-update", { NULL }, 8380, "tcp" }, + { "cruise-update", { NULL }, 8380, "udp" }, + { "m2mservices", { NULL }, 8383, "tcp" }, + { "m2mservices", { NULL }, 8383, "udp" }, + { "cvd", { NULL }, 8400, "tcp" }, + { "cvd", { NULL }, 8400, "udp" }, + { "sabarsd", { NULL }, 8401, "tcp" }, + { "sabarsd", { NULL }, 8401, "udp" }, + { "abarsd", { NULL }, 8402, "tcp" }, + { "abarsd", { NULL }, 8402, "udp" }, + { "admind", { NULL }, 8403, "tcp" }, + { "admind", { NULL }, 8403, "udp" }, + { "svcloud", { NULL }, 8404, "tcp" }, + { "svbackup", { NULL }, 8405, "tcp" }, + { "espeech", { NULL }, 8416, "tcp" }, + { "espeech", { NULL }, 8416, "udp" }, + { "espeech-rtp", { NULL }, 8417, "tcp" }, + { "espeech-rtp", { NULL }, 8417, "udp" }, + { "cybro-a-bus", { NULL }, 8442, "tcp" }, + { "cybro-a-bus", { NULL }, 8442, "udp" }, + { "pcsync-https", { NULL }, 8443, "tcp" }, + { "pcsync-https", { NULL }, 8443, "udp" }, + { "pcsync-http", { NULL }, 8444, "tcp" }, + { "pcsync-http", { NULL }, 8444, "udp" }, + { "npmp", { NULL }, 8450, "tcp" }, + { "npmp", { NULL }, 8450, "udp" }, + { "cisco-avp", { NULL }, 8470, "tcp" }, + { "pim-port", { NULL }, 8471, "tcp" }, + { "pim-port", { NULL }, 8471, "sctp" }, + { "otv", { NULL }, 8472, "tcp" }, + { "otv", { NULL }, 8472, "udp" }, + { "vp2p", { NULL }, 8473, "tcp" }, + { "vp2p", { NULL }, 8473, "udp" }, + { "noteshare", { NULL }, 8474, "tcp" }, + { "noteshare", { NULL }, 8474, "udp" }, + { "fmtp", { NULL }, 8500, "tcp" }, + { "fmtp", { NULL }, 8500, "udp" }, + { "rtsp-alt", { NULL }, 8554, "tcp" }, + { "rtsp-alt", { NULL }, 8554, "udp" }, + { "d-fence", { NULL }, 8555, "tcp" }, + { "d-fence", { NULL }, 8555, "udp" }, + { "oap-admin", { NULL }, 8567, "tcp" }, + { "oap-admin", { NULL }, 8567, "udp" }, + { "asterix", { NULL }, 8600, "tcp" }, + { "asterix", { NULL }, 8600, "udp" }, + { "canon-mfnp", { NULL }, 8610, "tcp" }, + { "canon-mfnp", { NULL }, 8610, "udp" }, + { "canon-bjnp1", { NULL }, 8611, "tcp" }, + { "canon-bjnp1", { NULL }, 8611, "udp" }, + { "canon-bjnp2", { NULL }, 8612, "tcp" }, + { "canon-bjnp2", { NULL }, 8612, "udp" }, + { "canon-bjnp3", { NULL }, 8613, "tcp" }, + { "canon-bjnp3", { NULL }, 8613, "udp" }, + { "canon-bjnp4", { NULL }, 8614, "tcp" }, + { "canon-bjnp4", { NULL }, 8614, "udp" }, + { "sun-as-jmxrmi", { NULL }, 8686, "tcp" }, + { "sun-as-jmxrmi", { NULL }, 8686, "udp" }, + { "vnyx", { NULL }, 8699, "tcp" }, + { "vnyx", { NULL }, 8699, "udp" }, + { "dtp-net", { NULL }, 8732, "udp" }, + { "ibus", { NULL }, 8733, "tcp" }, + { "ibus", { NULL }, 8733, "udp" }, + { "mc-appserver", { NULL }, 8763, "tcp" }, + { "mc-appserver", { NULL }, 8763, "udp" }, + { "openqueue", { NULL }, 8764, "tcp" }, + { "openqueue", { NULL }, 8764, "udp" }, + { "ultraseek-http", { NULL }, 8765, "tcp" }, + { "ultraseek-http", { NULL }, 8765, "udp" }, + { "dpap", { NULL }, 8770, "tcp" }, + { "dpap", { NULL }, 8770, "udp" }, + { "msgclnt", { NULL }, 8786, "tcp" }, + { "msgclnt", { NULL }, 8786, "udp" }, + { "msgsrvr", { NULL }, 8787, "tcp" }, + { "msgsrvr", { NULL }, 8787, "udp" }, + { "sunwebadmin", { NULL }, 8800, "tcp" }, + { "sunwebadmin", { NULL }, 8800, "udp" }, + { "truecm", { NULL }, 8804, "tcp" }, + { "truecm", { NULL }, 8804, "udp" }, + { "dxspider", { NULL }, 8873, "tcp" }, + { "dxspider", { NULL }, 8873, "udp" }, + { "cddbp-alt", { NULL }, 8880, "tcp" }, + { "cddbp-alt", { NULL }, 8880, "udp" }, + { "secure-mqtt", { NULL }, 8883, "tcp" }, + { "secure-mqtt", { NULL }, 8883, "udp" }, + { "ddi-tcp-1", { NULL }, 8888, "tcp" }, + { "ddi-udp-1", { NULL }, 8888, "udp" }, + { "ddi-tcp-2", { NULL }, 8889, "tcp" }, + { "ddi-udp-2", { NULL }, 8889, "udp" }, + { "ddi-tcp-3", { NULL }, 8890, "tcp" }, + { "ddi-udp-3", { NULL }, 8890, "udp" }, + { "ddi-tcp-4", { NULL }, 8891, "tcp" }, + { "ddi-udp-4", { NULL }, 8891, "udp" }, + { "ddi-tcp-5", { NULL }, 8892, "tcp" }, + { "ddi-udp-5", { NULL }, 8892, "udp" }, + { "ddi-tcp-6", { NULL }, 8893, "tcp" }, + { "ddi-udp-6", { NULL }, 8893, "udp" }, + { "ddi-tcp-7", { NULL }, 8894, "tcp" }, + { "ddi-udp-7", { NULL }, 8894, "udp" }, + { "ospf-lite", { NULL }, 8899, "tcp" }, + { "ospf-lite", { NULL }, 8899, "udp" }, + { "jmb-cds1", { NULL }, 8900, "tcp" }, + { "jmb-cds1", { NULL }, 8900, "udp" }, + { "jmb-cds2", { NULL }, 8901, "tcp" }, + { "jmb-cds2", { NULL }, 8901, "udp" }, + { "manyone-http", { NULL }, 8910, "tcp" }, + { "manyone-http", { NULL }, 8910, "udp" }, + { "manyone-xml", { NULL }, 8911, "tcp" }, + { "manyone-xml", { NULL }, 8911, "udp" }, + { "wcbackup", { NULL }, 8912, "tcp" }, + { "wcbackup", { NULL }, 8912, "udp" }, + { "dragonfly", { NULL }, 8913, "tcp" }, + { "dragonfly", { NULL }, 8913, "udp" }, + { "twds", { NULL }, 8937, "tcp" }, + { "cumulus-admin", { NULL }, 8954, "tcp" }, + { "cumulus-admin", { NULL }, 8954, "udp" }, + { "sunwebadmins", { NULL }, 8989, "tcp" }, + { "sunwebadmins", { NULL }, 8989, "udp" }, + { "http-wmap", { NULL }, 8990, "tcp" }, + { "http-wmap", { NULL }, 8990, "udp" }, + { "https-wmap", { NULL }, 8991, "tcp" }, + { "https-wmap", { NULL }, 8991, "udp" }, + { "bctp", { NULL }, 8999, "tcp" }, + { "bctp", { NULL }, 8999, "udp" }, + { "cslistener", { NULL }, 9000, "tcp" }, + { "cslistener", { NULL }, 9000, "udp" }, + { "etlservicemgr", { NULL }, 9001, "tcp" }, + { "etlservicemgr", { NULL }, 9001, "udp" }, + { "dynamid", { NULL }, 9002, "tcp" }, + { "dynamid", { NULL }, 9002, "udp" }, + { "ogs-client", { NULL }, 9007, "udp" }, + { "ogs-server", { NULL }, 9008, "tcp" }, + { "pichat", { NULL }, 9009, "tcp" }, + { "pichat", { NULL }, 9009, "udp" }, + { "sdr", { NULL }, 9010, "tcp" }, + { "tambora", { NULL }, 9020, "tcp" }, + { "tambora", { NULL }, 9020, "udp" }, + { "panagolin-ident", { NULL }, 9021, "tcp" }, + { "panagolin-ident", { NULL }, 9021, "udp" }, + { "paragent", { NULL }, 9022, "tcp" }, + { "paragent", { NULL }, 9022, "udp" }, + { "swa-1", { NULL }, 9023, "tcp" }, + { "swa-1", { NULL }, 9023, "udp" }, + { "swa-2", { NULL }, 9024, "tcp" }, + { "swa-2", { NULL }, 9024, "udp" }, + { "swa-3", { NULL }, 9025, "tcp" }, + { "swa-3", { NULL }, 9025, "udp" }, + { "swa-4", { NULL }, 9026, "tcp" }, + { "swa-4", { NULL }, 9026, "udp" }, + { "versiera", { NULL }, 9050, "tcp" }, + { "fio-cmgmt", { NULL }, 9051, "tcp" }, + { "glrpc", { NULL }, 9080, "tcp" }, + { "glrpc", { NULL }, 9080, "udp" }, + { "lcs-ap", { NULL }, 9082, "sctp" }, + { "emc-pp-mgmtsvc", { NULL }, 9083, "tcp" }, + { "aurora", { NULL }, 9084, "tcp" }, + { "aurora", { NULL }, 9084, "udp" }, + { "aurora", { NULL }, 9084, "sctp" }, + { "ibm-rsyscon", { NULL }, 9085, "tcp" }, + { "ibm-rsyscon", { NULL }, 9085, "udp" }, + { "net2display", { NULL }, 9086, "tcp" }, + { "net2display", { NULL }, 9086, "udp" }, + { "classic", { NULL }, 9087, "tcp" }, + { "classic", { NULL }, 9087, "udp" }, + { "sqlexec", { NULL }, 9088, "tcp" }, + { "sqlexec", { NULL }, 9088, "udp" }, + { "sqlexec-ssl", { NULL }, 9089, "tcp" }, + { "sqlexec-ssl", { NULL }, 9089, "udp" }, + { "websm", { NULL }, 9090, "tcp" }, + { "websm", { NULL }, 9090, "udp" }, + { "xmltec-xmlmail", { NULL }, 9091, "tcp" }, + { "xmltec-xmlmail", { NULL }, 9091, "udp" }, + { "XmlIpcRegSvc", { NULL }, 9092, "tcp" }, + { "XmlIpcRegSvc", { NULL }, 9092, "udp" }, + { "hp-pdl-datastr", { NULL }, 9100, "tcp" }, + { "hp-pdl-datastr", { NULL }, 9100, "udp" }, + { "pdl-datastream", { NULL }, 9100, "tcp" }, + { "pdl-datastream", { NULL }, 9100, "udp" }, + { "bacula-dir", { NULL }, 9101, "tcp" }, + { "bacula-dir", { NULL }, 9101, "udp" }, + { "bacula-fd", { NULL }, 9102, "tcp" }, + { "bacula-fd", { NULL }, 9102, "udp" }, + { "bacula-sd", { NULL }, 9103, "tcp" }, + { "bacula-sd", { NULL }, 9103, "udp" }, + { "peerwire", { NULL }, 9104, "tcp" }, + { "peerwire", { NULL }, 9104, "udp" }, + { "xadmin", { NULL }, 9105, "tcp" }, + { "xadmin", { NULL }, 9105, "udp" }, + { "astergate", { NULL }, 9106, "tcp" }, + { "astergate-disc", { NULL }, 9106, "udp" }, + { "astergatefax", { NULL }, 9107, "tcp" }, + { "mxit", { NULL }, 9119, "tcp" }, + { "mxit", { NULL }, 9119, "udp" }, + { "dddp", { NULL }, 9131, "tcp" }, + { "dddp", { NULL }, 9131, "udp" }, + { "apani1", { NULL }, 9160, "tcp" }, + { "apani1", { NULL }, 9160, "udp" }, + { "apani2", { NULL }, 9161, "tcp" }, + { "apani2", { NULL }, 9161, "udp" }, + { "apani3", { NULL }, 9162, "tcp" }, + { "apani3", { NULL }, 9162, "udp" }, + { "apani4", { NULL }, 9163, "tcp" }, + { "apani4", { NULL }, 9163, "udp" }, + { "apani5", { NULL }, 9164, "tcp" }, + { "apani5", { NULL }, 9164, "udp" }, + { "sun-as-jpda", { NULL }, 9191, "tcp" }, + { "sun-as-jpda", { NULL }, 9191, "udp" }, + { "wap-wsp", { NULL }, 9200, "tcp" }, + { "wap-wsp", { NULL }, 9200, "udp" }, + { "wap-wsp-wtp", { NULL }, 9201, "tcp" }, + { "wap-wsp-wtp", { NULL }, 9201, "udp" }, + { "wap-wsp-s", { NULL }, 9202, "tcp" }, + { "wap-wsp-s", { NULL }, 9202, "udp" }, + { "wap-wsp-wtp-s", { NULL }, 9203, "tcp" }, + { "wap-wsp-wtp-s", { NULL }, 9203, "udp" }, + { "wap-vcard", { NULL }, 9204, "tcp" }, + { "wap-vcard", { NULL }, 9204, "udp" }, + { "wap-vcal", { NULL }, 9205, "tcp" }, + { "wap-vcal", { NULL }, 9205, "udp" }, + { "wap-vcard-s", { NULL }, 9206, "tcp" }, + { "wap-vcard-s", { NULL }, 9206, "udp" }, + { "wap-vcal-s", { NULL }, 9207, "tcp" }, + { "wap-vcal-s", { NULL }, 9207, "udp" }, + { "rjcdb-vcards", { NULL }, 9208, "tcp" }, + { "rjcdb-vcards", { NULL }, 9208, "udp" }, + { "almobile-system", { NULL }, 9209, "tcp" }, + { "almobile-system", { NULL }, 9209, "udp" }, + { "oma-mlp", { NULL }, 9210, "tcp" }, + { "oma-mlp", { NULL }, 9210, "udp" }, + { "oma-mlp-s", { NULL }, 9211, "tcp" }, + { "oma-mlp-s", { NULL }, 9211, "udp" }, + { "serverviewdbms", { NULL }, 9212, "tcp" }, + { "serverviewdbms", { NULL }, 9212, "udp" }, + { "serverstart", { NULL }, 9213, "tcp" }, + { "serverstart", { NULL }, 9213, "udp" }, + { "ipdcesgbs", { NULL }, 9214, "tcp" }, + { "ipdcesgbs", { NULL }, 9214, "udp" }, + { "insis", { NULL }, 9215, "tcp" }, + { "insis", { NULL }, 9215, "udp" }, + { "acme", { NULL }, 9216, "tcp" }, + { "acme", { NULL }, 9216, "udp" }, + { "fsc-port", { NULL }, 9217, "tcp" }, + { "fsc-port", { NULL }, 9217, "udp" }, + { "teamcoherence", { NULL }, 9222, "tcp" }, + { "teamcoherence", { NULL }, 9222, "udp" }, + { "mon", { NULL }, 9255, "tcp" }, + { "mon", { NULL }, 9255, "udp" }, + { "pegasus", { NULL }, 9278, "tcp" }, + { "pegasus", { NULL }, 9278, "udp" }, + { "pegasus-ctl", { NULL }, 9279, "tcp" }, + { "pegasus-ctl", { NULL }, 9279, "udp" }, + { "pgps", { NULL }, 9280, "tcp" }, + { "pgps", { NULL }, 9280, "udp" }, + { "swtp-port1", { NULL }, 9281, "tcp" }, + { "swtp-port1", { NULL }, 9281, "udp" }, + { "swtp-port2", { NULL }, 9282, "tcp" }, + { "swtp-port2", { NULL }, 9282, "udp" }, + { "callwaveiam", { NULL }, 9283, "tcp" }, + { "callwaveiam", { NULL }, 9283, "udp" }, + { "visd", { NULL }, 9284, "tcp" }, + { "visd", { NULL }, 9284, "udp" }, + { "n2h2server", { NULL }, 9285, "tcp" }, + { "n2h2server", { NULL }, 9285, "udp" }, + { "n2receive", { NULL }, 9286, "udp" }, + { "cumulus", { NULL }, 9287, "tcp" }, + { "cumulus", { NULL }, 9287, "udp" }, + { "armtechdaemon", { NULL }, 9292, "tcp" }, + { "armtechdaemon", { NULL }, 9292, "udp" }, + { "storview", { NULL }, 9293, "tcp" }, + { "storview", { NULL }, 9293, "udp" }, + { "armcenterhttp", { NULL }, 9294, "tcp" }, + { "armcenterhttp", { NULL }, 9294, "udp" }, + { "armcenterhttps", { NULL }, 9295, "tcp" }, + { "armcenterhttps", { NULL }, 9295, "udp" }, + { "vrace", { NULL }, 9300, "tcp" }, + { "vrace", { NULL }, 9300, "udp" }, + { "sphinxql", { NULL }, 9306, "tcp" }, + { "sphinxapi", { NULL }, 9312, "tcp" }, + { "secure-ts", { NULL }, 9318, "tcp" }, + { "secure-ts", { NULL }, 9318, "udp" }, + { "guibase", { NULL }, 9321, "tcp" }, + { "guibase", { NULL }, 9321, "udp" }, + { "mpidcmgr", { NULL }, 9343, "tcp" }, + { "mpidcmgr", { NULL }, 9343, "udp" }, + { "mphlpdmc", { NULL }, 9344, "tcp" }, + { "mphlpdmc", { NULL }, 9344, "udp" }, + { "ctechlicensing", { NULL }, 9346, "tcp" }, + { "ctechlicensing", { NULL }, 9346, "udp" }, + { "fjdmimgr", { NULL }, 9374, "tcp" }, + { "fjdmimgr", { NULL }, 9374, "udp" }, + { "boxp", { NULL }, 9380, "tcp" }, + { "boxp", { NULL }, 9380, "udp" }, + { "d2dconfig", { NULL }, 9387, "tcp" }, + { "d2ddatatrans", { NULL }, 9388, "tcp" }, + { "adws", { NULL }, 9389, "tcp" }, + { "otp", { NULL }, 9390, "tcp" }, + { "fjinvmgr", { NULL }, 9396, "tcp" }, + { "fjinvmgr", { NULL }, 9396, "udp" }, + { "mpidcagt", { NULL }, 9397, "tcp" }, + { "mpidcagt", { NULL }, 9397, "udp" }, + { "sec-t4net-srv", { NULL }, 9400, "tcp" }, + { "sec-t4net-srv", { NULL }, 9400, "udp" }, + { "sec-t4net-clt", { NULL }, 9401, "tcp" }, + { "sec-t4net-clt", { NULL }, 9401, "udp" }, + { "sec-pc2fax-srv", { NULL }, 9402, "tcp" }, + { "sec-pc2fax-srv", { NULL }, 9402, "udp" }, + { "git", { NULL }, 9418, "tcp" }, + { "git", { NULL }, 9418, "udp" }, + { "tungsten-https", { NULL }, 9443, "tcp" }, + { "tungsten-https", { NULL }, 9443, "udp" }, + { "wso2esb-console", { NULL }, 9444, "tcp" }, + { "wso2esb-console", { NULL }, 9444, "udp" }, + { "sntlkeyssrvr", { NULL }, 9450, "tcp" }, + { "sntlkeyssrvr", { NULL }, 9450, "udp" }, + { "ismserver", { NULL }, 9500, "tcp" }, + { "ismserver", { NULL }, 9500, "udp" }, + { "sma-spw", { NULL }, 9522, "udp" }, + { "mngsuite", { NULL }, 9535, "tcp" }, + { "mngsuite", { NULL }, 9535, "udp" }, + { "laes-bf", { NULL }, 9536, "tcp" }, + { "laes-bf", { NULL }, 9536, "udp" }, + { "trispen-sra", { NULL }, 9555, "tcp" }, + { "trispen-sra", { NULL }, 9555, "udp" }, + { "ldgateway", { NULL }, 9592, "tcp" }, + { "ldgateway", { NULL }, 9592, "udp" }, + { "cba8", { NULL }, 9593, "tcp" }, + { "cba8", { NULL }, 9593, "udp" }, + { "msgsys", { NULL }, 9594, "tcp" }, + { "msgsys", { NULL }, 9594, "udp" }, + { "pds", { NULL }, 9595, "tcp" }, + { "pds", { NULL }, 9595, "udp" }, + { "mercury-disc", { NULL }, 9596, "tcp" }, + { "mercury-disc", { NULL }, 9596, "udp" }, + { "pd-admin", { NULL }, 9597, "tcp" }, + { "pd-admin", { NULL }, 9597, "udp" }, + { "vscp", { NULL }, 9598, "tcp" }, + { "vscp", { NULL }, 9598, "udp" }, + { "robix", { NULL }, 9599, "tcp" }, + { "robix", { NULL }, 9599, "udp" }, + { "micromuse-ncpw", { NULL }, 9600, "tcp" }, + { "micromuse-ncpw", { NULL }, 9600, "udp" }, + { "streamcomm-ds", { NULL }, 9612, "tcp" }, + { "streamcomm-ds", { NULL }, 9612, "udp" }, + { "iadt-tls", { NULL }, 9614, "tcp" }, + { "erunbook_agent", { NULL }, 9616, "tcp" }, + { "erunbook_server", { NULL }, 9617, "tcp" }, + { "condor", { NULL }, 9618, "tcp" }, + { "condor", { NULL }, 9618, "udp" }, + { "odbcpathway", { NULL }, 9628, "tcp" }, + { "odbcpathway", { NULL }, 9628, "udp" }, + { "uniport", { NULL }, 9629, "tcp" }, + { "uniport", { NULL }, 9629, "udp" }, + { "peoctlr", { NULL }, 9630, "tcp" }, + { "peocoll", { NULL }, 9631, "tcp" }, + { "mc-comm", { NULL }, 9632, "udp" }, + { "pqsflows", { NULL }, 9640, "tcp" }, + { "xmms2", { NULL }, 9667, "tcp" }, + { "xmms2", { NULL }, 9667, "udp" }, + { "tec5-sdctp", { NULL }, 9668, "tcp" }, + { "tec5-sdctp", { NULL }, 9668, "udp" }, + { "client-wakeup", { NULL }, 9694, "tcp" }, + { "client-wakeup", { NULL }, 9694, "udp" }, + { "ccnx", { NULL }, 9695, "tcp" }, + { "ccnx", { NULL }, 9695, "udp" }, + { "board-roar", { NULL }, 9700, "tcp" }, + { "board-roar", { NULL }, 9700, "udp" }, + { "l5nas-parchan", { NULL }, 9747, "tcp" }, + { "l5nas-parchan", { NULL }, 9747, "udp" }, + { "board-voip", { NULL }, 9750, "tcp" }, + { "board-voip", { NULL }, 9750, "udp" }, + { "rasadv", { NULL }, 9753, "tcp" }, + { "rasadv", { NULL }, 9753, "udp" }, + { "tungsten-http", { NULL }, 9762, "tcp" }, + { "tungsten-http", { NULL }, 9762, "udp" }, + { "davsrc", { NULL }, 9800, "tcp" }, + { "davsrc", { NULL }, 9800, "udp" }, + { "sstp-2", { NULL }, 9801, "tcp" }, + { "sstp-2", { NULL }, 9801, "udp" }, + { "davsrcs", { NULL }, 9802, "tcp" }, + { "davsrcs", { NULL }, 9802, "udp" }, + { "sapv1", { NULL }, 9875, "tcp" }, + { "sapv1", { NULL }, 9875, "udp" }, + { "sd", { NULL }, 9876, "tcp" }, + { "sd", { NULL }, 9876, "udp" }, + { "cyborg-systems", { NULL }, 9888, "tcp" }, + { "cyborg-systems", { NULL }, 9888, "udp" }, + { "gt-proxy", { NULL }, 9889, "tcp" }, + { "gt-proxy", { NULL }, 9889, "udp" }, + { "monkeycom", { NULL }, 9898, "tcp" }, + { "monkeycom", { NULL }, 9898, "udp" }, + { "sctp-tunneling", { NULL }, 9899, "tcp" }, + { "sctp-tunneling", { NULL }, 9899, "udp" }, + { "iua", { NULL }, 9900, "tcp" }, + { "iua", { NULL }, 9900, "udp" }, + { "iua", { NULL }, 9900, "sctp" }, + { "enrp", { NULL }, 9901, "udp" }, + { "enrp-sctp", { NULL }, 9901, "sctp" }, + { "enrp-sctp-tls", { NULL }, 9902, "sctp" }, + { "domaintime", { NULL }, 9909, "tcp" }, + { "domaintime", { NULL }, 9909, "udp" }, + { "sype-transport", { NULL }, 9911, "tcp" }, + { "sype-transport", { NULL }, 9911, "udp" }, + { "apc-9950", { NULL }, 9950, "tcp" }, + { "apc-9950", { NULL }, 9950, "udp" }, + { "apc-9951", { NULL }, 9951, "tcp" }, + { "apc-9951", { NULL }, 9951, "udp" }, + { "apc-9952", { NULL }, 9952, "tcp" }, + { "apc-9952", { NULL }, 9952, "udp" }, + { "acis", { NULL }, 9953, "tcp" }, + { "acis", { NULL }, 9953, "udp" }, + { "odnsp", { NULL }, 9966, "tcp" }, + { "odnsp", { NULL }, 9966, "udp" }, + { "dsm-scm-target", { NULL }, 9987, "tcp" }, + { "dsm-scm-target", { NULL }, 9987, "udp" }, + { "nsesrvr", { NULL }, 9988, "tcp" }, + { "osm-appsrvr", { NULL }, 9990, "tcp" }, + { "osm-appsrvr", { NULL }, 9990, "udp" }, + { "osm-oev", { NULL }, 9991, "tcp" }, + { "osm-oev", { NULL }, 9991, "udp" }, + { "palace-1", { NULL }, 9992, "tcp" }, + { "palace-1", { NULL }, 9992, "udp" }, + { "palace-2", { NULL }, 9993, "tcp" }, + { "palace-2", { NULL }, 9993, "udp" }, + { "palace-3", { NULL }, 9994, "tcp" }, + { "palace-3", { NULL }, 9994, "udp" }, + { "palace-4", { NULL }, 9995, "tcp" }, + { "palace-4", { NULL }, 9995, "udp" }, + { "palace-5", { NULL }, 9996, "tcp" }, + { "palace-5", { NULL }, 9996, "udp" }, + { "palace-6", { NULL }, 9997, "tcp" }, + { "palace-6", { NULL }, 9997, "udp" }, + { "distinct32", { NULL }, 9998, "tcp" }, + { "distinct32", { NULL }, 9998, "udp" }, + { "distinct", { NULL }, 9999, "tcp" }, + { "distinct", { NULL }, 9999, "udp" }, + { "ndmp", { NULL }, 10000, "tcp" }, + { "ndmp", { NULL }, 10000, "udp" }, + { "scp-config", { NULL }, 10001, "tcp" }, + { "scp-config", { NULL }, 10001, "udp" }, + { "documentum", { NULL }, 10002, "tcp" }, + { "documentum", { NULL }, 10002, "udp" }, + { "documentum_s", { NULL }, 10003, "tcp" }, + { "documentum_s", { NULL }, 10003, "udp" }, + { "emcrmirccd", { NULL }, 10004, "tcp" }, + { "emcrmird", { NULL }, 10005, "tcp" }, + { "mvs-capacity", { NULL }, 10007, "tcp" }, + { "mvs-capacity", { NULL }, 10007, "udp" }, + { "octopus", { NULL }, 10008, "tcp" }, + { "octopus", { NULL }, 10008, "udp" }, + { "swdtp-sv", { NULL }, 10009, "tcp" }, + { "swdtp-sv", { NULL }, 10009, "udp" }, + { "rxapi", { NULL }, 10010, "tcp" }, + { "zabbix-agent", { NULL }, 10050, "tcp" }, + { "zabbix-agent", { NULL }, 10050, "udp" }, + { "zabbix-trapper", { NULL }, 10051, "tcp" }, + { "zabbix-trapper", { NULL }, 10051, "udp" }, + { "qptlmd", { NULL }, 10055, "tcp" }, + { "amanda", { NULL }, 10080, "tcp" }, + { "amanda", { NULL }, 10080, "udp" }, + { "famdc", { NULL }, 10081, "tcp" }, + { "famdc", { NULL }, 10081, "udp" }, + { "itap-ddtp", { NULL }, 10100, "tcp" }, + { "itap-ddtp", { NULL }, 10100, "udp" }, + { "ezmeeting-2", { NULL }, 10101, "tcp" }, + { "ezmeeting-2", { NULL }, 10101, "udp" }, + { "ezproxy-2", { NULL }, 10102, "tcp" }, + { "ezproxy-2", { NULL }, 10102, "udp" }, + { "ezrelay", { NULL }, 10103, "tcp" }, + { "ezrelay", { NULL }, 10103, "udp" }, + { "swdtp", { NULL }, 10104, "tcp" }, + { "swdtp", { NULL }, 10104, "udp" }, + { "bctp-server", { NULL }, 10107, "tcp" }, + { "bctp-server", { NULL }, 10107, "udp" }, + { "nmea-0183", { NULL }, 10110, "tcp" }, + { "nmea-0183", { NULL }, 10110, "udp" }, + { "netiq-endpoint", { NULL }, 10113, "tcp" }, + { "netiq-endpoint", { NULL }, 10113, "udp" }, + { "netiq-qcheck", { NULL }, 10114, "tcp" }, + { "netiq-qcheck", { NULL }, 10114, "udp" }, + { "netiq-endpt", { NULL }, 10115, "tcp" }, + { "netiq-endpt", { NULL }, 10115, "udp" }, + { "netiq-voipa", { NULL }, 10116, "tcp" }, + { "netiq-voipa", { NULL }, 10116, "udp" }, + { "iqrm", { NULL }, 10117, "tcp" }, + { "iqrm", { NULL }, 10117, "udp" }, + { "bmc-perf-sd", { NULL }, 10128, "tcp" }, + { "bmc-perf-sd", { NULL }, 10128, "udp" }, + { "bmc-gms", { NULL }, 10129, "tcp" }, + { "qb-db-server", { NULL }, 10160, "tcp" }, + { "qb-db-server", { NULL }, 10160, "udp" }, + { "snmptls", { NULL }, 10161, "tcp" }, + { "snmpdtls", { NULL }, 10161, "udp" }, + { "snmptls-trap", { NULL }, 10162, "tcp" }, + { "snmpdtls-trap", { NULL }, 10162, "udp" }, + { "trisoap", { NULL }, 10200, "tcp" }, + { "trisoap", { NULL }, 10200, "udp" }, + { "rsms", { NULL }, 10201, "tcp" }, + { "rscs", { NULL }, 10201, "udp" }, + { "apollo-relay", { NULL }, 10252, "tcp" }, + { "apollo-relay", { NULL }, 10252, "udp" }, + { "axis-wimp-port", { NULL }, 10260, "tcp" }, + { "axis-wimp-port", { NULL }, 10260, "udp" }, + { "blocks", { NULL }, 10288, "tcp" }, + { "blocks", { NULL }, 10288, "udp" }, + { "cosir", { NULL }, 10321, "tcp" }, + { "hip-nat-t", { NULL }, 10500, "udp" }, + { "MOS-lower", { NULL }, 10540, "tcp" }, + { "MOS-lower", { NULL }, 10540, "udp" }, + { "MOS-upper", { NULL }, 10541, "tcp" }, + { "MOS-upper", { NULL }, 10541, "udp" }, + { "MOS-aux", { NULL }, 10542, "tcp" }, + { "MOS-aux", { NULL }, 10542, "udp" }, + { "MOS-soap", { NULL }, 10543, "tcp" }, + { "MOS-soap", { NULL }, 10543, "udp" }, + { "MOS-soap-opt", { NULL }, 10544, "tcp" }, + { "MOS-soap-opt", { NULL }, 10544, "udp" }, + { "gap", { NULL }, 10800, "tcp" }, + { "gap", { NULL }, 10800, "udp" }, + { "lpdg", { NULL }, 10805, "tcp" }, + { "lpdg", { NULL }, 10805, "udp" }, + { "nbd", { NULL }, 10809, "tcp" }, + { "nmc-disc", { NULL }, 10810, "udp" }, + { "helix", { NULL }, 10860, "tcp" }, + { "helix", { NULL }, 10860, "udp" }, + { "rmiaux", { NULL }, 10990, "tcp" }, + { "rmiaux", { NULL }, 10990, "udp" }, + { "irisa", { NULL }, 11000, "tcp" }, + { "irisa", { NULL }, 11000, "udp" }, + { "metasys", { NULL }, 11001, "tcp" }, + { "metasys", { NULL }, 11001, "udp" }, + { "netapp-icmgmt", { NULL }, 11104, "tcp" }, + { "netapp-icdata", { NULL }, 11105, "tcp" }, + { "sgi-lk", { NULL }, 11106, "tcp" }, + { "sgi-lk", { NULL }, 11106, "udp" }, + { "vce", { NULL }, 11111, "tcp" }, + { "vce", { NULL }, 11111, "udp" }, + { "dicom", { NULL }, 11112, "tcp" }, + { "dicom", { NULL }, 11112, "udp" }, + { "suncacao-snmp", { NULL }, 11161, "tcp" }, + { "suncacao-snmp", { NULL }, 11161, "udp" }, + { "suncacao-jmxmp", { NULL }, 11162, "tcp" }, + { "suncacao-jmxmp", { NULL }, 11162, "udp" }, + { "suncacao-rmi", { NULL }, 11163, "tcp" }, + { "suncacao-rmi", { NULL }, 11163, "udp" }, + { "suncacao-csa", { NULL }, 11164, "tcp" }, + { "suncacao-csa", { NULL }, 11164, "udp" }, + { "suncacao-websvc", { NULL }, 11165, "tcp" }, + { "suncacao-websvc", { NULL }, 11165, "udp" }, + { "snss", { NULL }, 11171, "udp" }, + { "oemcacao-jmxmp", { NULL }, 11172, "tcp" }, + { "oemcacao-rmi", { NULL }, 11174, "tcp" }, + { "oemcacao-websvc", { NULL }, 11175, "tcp" }, + { "smsqp", { NULL }, 11201, "tcp" }, + { "smsqp", { NULL }, 11201, "udp" }, + { "wifree", { NULL }, 11208, "tcp" }, + { "wifree", { NULL }, 11208, "udp" }, + { "memcache", { NULL }, 11211, "tcp" }, + { "memcache", { NULL }, 11211, "udp" }, + { "imip", { NULL }, 11319, "tcp" }, + { "imip", { NULL }, 11319, "udp" }, + { "imip-channels", { NULL }, 11320, "tcp" }, + { "imip-channels", { NULL }, 11320, "udp" }, + { "arena-server", { NULL }, 11321, "tcp" }, + { "arena-server", { NULL }, 11321, "udp" }, + { "atm-uhas", { NULL }, 11367, "tcp" }, + { "atm-uhas", { NULL }, 11367, "udp" }, + { "hkp", { NULL }, 11371, "tcp" }, + { "hkp", { NULL }, 11371, "udp" }, + { "asgcypresstcps", { NULL }, 11489, "tcp" }, + { "tempest-port", { NULL }, 11600, "tcp" }, + { "tempest-port", { NULL }, 11600, "udp" }, + { "h323callsigalt", { NULL }, 11720, "tcp" }, + { "h323callsigalt", { NULL }, 11720, "udp" }, + { "intrepid-ssl", { NULL }, 11751, "tcp" }, + { "intrepid-ssl", { NULL }, 11751, "udp" }, + { "xoraya", { NULL }, 11876, "tcp" }, + { "xoraya", { NULL }, 11876, "udp" }, + { "x2e-disc", { NULL }, 11877, "udp" }, + { "sysinfo-sp", { NULL }, 11967, "tcp" }, + { "sysinfo-sp", { NULL }, 11967, "udp" }, + { "wmereceiving", { NULL }, 11997, "sctp" }, + { "wmedistribution", { NULL }, 11998, "sctp" }, + { "wmereporting", { NULL }, 11999, "sctp" }, + { "entextxid", { NULL }, 12000, "tcp" }, + { "entextxid", { NULL }, 12000, "udp" }, + { "entextnetwk", { NULL }, 12001, "tcp" }, + { "entextnetwk", { NULL }, 12001, "udp" }, + { "entexthigh", { NULL }, 12002, "tcp" }, + { "entexthigh", { NULL }, 12002, "udp" }, + { "entextmed", { NULL }, 12003, "tcp" }, + { "entextmed", { NULL }, 12003, "udp" }, + { "entextlow", { NULL }, 12004, "tcp" }, + { "entextlow", { NULL }, 12004, "udp" }, + { "dbisamserver1", { NULL }, 12005, "tcp" }, + { "dbisamserver1", { NULL }, 12005, "udp" }, + { "dbisamserver2", { NULL }, 12006, "tcp" }, + { "dbisamserver2", { NULL }, 12006, "udp" }, + { "accuracer", { NULL }, 12007, "tcp" }, + { "accuracer", { NULL }, 12007, "udp" }, + { "accuracer-dbms", { NULL }, 12008, "tcp" }, + { "accuracer-dbms", { NULL }, 12008, "udp" }, + { "edbsrvr", { NULL }, 12010, "tcp" }, + { "vipera", { NULL }, 12012, "tcp" }, + { "vipera", { NULL }, 12012, "udp" }, + { "vipera-ssl", { NULL }, 12013, "tcp" }, + { "vipera-ssl", { NULL }, 12013, "udp" }, + { "rets-ssl", { NULL }, 12109, "tcp" }, + { "rets-ssl", { NULL }, 12109, "udp" }, + { "nupaper-ss", { NULL }, 12121, "tcp" }, + { "nupaper-ss", { NULL }, 12121, "udp" }, + { "cawas", { NULL }, 12168, "tcp" }, + { "cawas", { NULL }, 12168, "udp" }, + { "hivep", { NULL }, 12172, "tcp" }, + { "hivep", { NULL }, 12172, "udp" }, + { "linogridengine", { NULL }, 12300, "tcp" }, + { "linogridengine", { NULL }, 12300, "udp" }, + { "warehouse-sss", { NULL }, 12321, "tcp" }, + { "warehouse-sss", { NULL }, 12321, "udp" }, + { "warehouse", { NULL }, 12322, "tcp" }, + { "warehouse", { NULL }, 12322, "udp" }, + { "italk", { NULL }, 12345, "tcp" }, + { "italk", { NULL }, 12345, "udp" }, + { "tsaf", { NULL }, 12753, "tcp" }, + { "tsaf", { NULL }, 12753, "udp" }, + { "i-zipqd", { NULL }, 13160, "tcp" }, + { "i-zipqd", { NULL }, 13160, "udp" }, + { "bcslogc", { NULL }, 13216, "tcp" }, + { "bcslogc", { NULL }, 13216, "udp" }, + { "rs-pias", { NULL }, 13217, "tcp" }, + { "rs-pias", { NULL }, 13217, "udp" }, + { "emc-vcas-tcp", { NULL }, 13218, "tcp" }, + { "emc-vcas-udp", { NULL }, 13218, "udp" }, + { "powwow-client", { NULL }, 13223, "tcp" }, + { "powwow-client", { NULL }, 13223, "udp" }, + { "powwow-server", { NULL }, 13224, "tcp" }, + { "powwow-server", { NULL }, 13224, "udp" }, + { "doip-data", { NULL }, 13400, "tcp" }, + { "doip-disc", { NULL }, 13400, "udp" }, + { "bprd", { NULL }, 13720, "tcp" }, + { "bprd", { NULL }, 13720, "udp" }, + { "bpdbm", { NULL }, 13721, "tcp" }, + { "bpdbm", { NULL }, 13721, "udp" }, + { "bpjava-msvc", { NULL }, 13722, "tcp" }, + { "bpjava-msvc", { NULL }, 13722, "udp" }, + { "vnetd", { NULL }, 13724, "tcp" }, + { "vnetd", { NULL }, 13724, "udp" }, + { "bpcd", { NULL }, 13782, "tcp" }, + { "bpcd", { NULL }, 13782, "udp" }, + { "vopied", { NULL }, 13783, "tcp" }, + { "vopied", { NULL }, 13783, "udp" }, + { "nbdb", { NULL }, 13785, "tcp" }, + { "nbdb", { NULL }, 13785, "udp" }, + { "nomdb", { NULL }, 13786, "tcp" }, + { "nomdb", { NULL }, 13786, "udp" }, + { "dsmcc-config", { NULL }, 13818, "tcp" }, + { "dsmcc-config", { NULL }, 13818, "udp" }, + { "dsmcc-session", { NULL }, 13819, "tcp" }, + { "dsmcc-session", { NULL }, 13819, "udp" }, + { "dsmcc-passthru", { NULL }, 13820, "tcp" }, + { "dsmcc-passthru", { NULL }, 13820, "udp" }, + { "dsmcc-download", { NULL }, 13821, "tcp" }, + { "dsmcc-download", { NULL }, 13821, "udp" }, + { "dsmcc-ccp", { NULL }, 13822, "tcp" }, + { "dsmcc-ccp", { NULL }, 13822, "udp" }, + { "bmdss", { NULL }, 13823, "tcp" }, + { "dta-systems", { NULL }, 13929, "tcp" }, + { "dta-systems", { NULL }, 13929, "udp" }, + { "medevolve", { NULL }, 13930, "tcp" }, + { "scotty-ft", { NULL }, 14000, "tcp" }, + { "scotty-ft", { NULL }, 14000, "udp" }, + { "sua", { NULL }, 14001, "tcp" }, + { "sua", { NULL }, 14001, "udp" }, + { "sua", { NULL }, 14001, "sctp" }, + { "sage-best-com1", { NULL }, 14033, "tcp" }, + { "sage-best-com1", { NULL }, 14033, "udp" }, + { "sage-best-com2", { NULL }, 14034, "tcp" }, + { "sage-best-com2", { NULL }, 14034, "udp" }, + { "vcs-app", { NULL }, 14141, "tcp" }, + { "vcs-app", { NULL }, 14141, "udp" }, + { "icpp", { NULL }, 14142, "tcp" }, + { "icpp", { NULL }, 14142, "udp" }, + { "gcm-app", { NULL }, 14145, "tcp" }, + { "gcm-app", { NULL }, 14145, "udp" }, + { "vrts-tdd", { NULL }, 14149, "tcp" }, + { "vrts-tdd", { NULL }, 14149, "udp" }, + { "vcscmd", { NULL }, 14150, "tcp" }, + { "vad", { NULL }, 14154, "tcp" }, + { "vad", { NULL }, 14154, "udp" }, + { "cps", { NULL }, 14250, "tcp" }, + { "cps", { NULL }, 14250, "udp" }, + { "ca-web-update", { NULL }, 14414, "tcp" }, + { "ca-web-update", { NULL }, 14414, "udp" }, + { "hde-lcesrvr-1", { NULL }, 14936, "tcp" }, + { "hde-lcesrvr-1", { NULL }, 14936, "udp" }, + { "hde-lcesrvr-2", { NULL }, 14937, "tcp" }, + { "hde-lcesrvr-2", { NULL }, 14937, "udp" }, + { "hydap", { NULL }, 15000, "tcp" }, + { "hydap", { NULL }, 15000, "udp" }, + { "xpilot", { NULL }, 15345, "tcp" }, + { "xpilot", { NULL }, 15345, "udp" }, + { "3link", { NULL }, 15363, "tcp" }, + { "3link", { NULL }, 15363, "udp" }, + { "cisco-snat", { NULL }, 15555, "tcp" }, + { "cisco-snat", { NULL }, 15555, "udp" }, + { "bex-xr", { NULL }, 15660, "tcp" }, + { "bex-xr", { NULL }, 15660, "udp" }, + { "ptp", { NULL }, 15740, "tcp" }, + { "ptp", { NULL }, 15740, "udp" }, + { "2ping", { NULL }, 15998, "udp" }, + { "programmar", { NULL }, 15999, "tcp" }, + { "fmsas", { NULL }, 16000, "tcp" }, + { "fmsascon", { NULL }, 16001, "tcp" }, + { "gsms", { NULL }, 16002, "tcp" }, + { "alfin", { NULL }, 16003, "udp" }, + { "jwpc", { NULL }, 16020, "tcp" }, + { "jwpc-bin", { NULL }, 16021, "tcp" }, + { "sun-sea-port", { NULL }, 16161, "tcp" }, + { "sun-sea-port", { NULL }, 16161, "udp" }, + { "solaris-audit", { NULL }, 16162, "tcp" }, + { "etb4j", { NULL }, 16309, "tcp" }, + { "etb4j", { NULL }, 16309, "udp" }, + { "pduncs", { NULL }, 16310, "tcp" }, + { "pduncs", { NULL }, 16310, "udp" }, + { "pdefmns", { NULL }, 16311, "tcp" }, + { "pdefmns", { NULL }, 16311, "udp" }, + { "netserialext1", { NULL }, 16360, "tcp" }, + { "netserialext1", { NULL }, 16360, "udp" }, + { "netserialext2", { NULL }, 16361, "tcp" }, + { "netserialext2", { NULL }, 16361, "udp" }, + { "netserialext3", { NULL }, 16367, "tcp" }, + { "netserialext3", { NULL }, 16367, "udp" }, + { "netserialext4", { NULL }, 16368, "tcp" }, + { "netserialext4", { NULL }, 16368, "udp" }, + { "connected", { NULL }, 16384, "tcp" }, + { "connected", { NULL }, 16384, "udp" }, + { "xoms", { NULL }, 16619, "tcp" }, + { "newbay-snc-mc", { NULL }, 16900, "tcp" }, + { "newbay-snc-mc", { NULL }, 16900, "udp" }, + { "sgcip", { NULL }, 16950, "tcp" }, + { "sgcip", { NULL }, 16950, "udp" }, + { "intel-rci-mp", { NULL }, 16991, "tcp" }, + { "intel-rci-mp", { NULL }, 16991, "udp" }, + { "amt-soap-http", { NULL }, 16992, "tcp" }, + { "amt-soap-http", { NULL }, 16992, "udp" }, + { "amt-soap-https", { NULL }, 16993, "tcp" }, + { "amt-soap-https", { NULL }, 16993, "udp" }, + { "amt-redir-tcp", { NULL }, 16994, "tcp" }, + { "amt-redir-tcp", { NULL }, 16994, "udp" }, + { "amt-redir-tls", { NULL }, 16995, "tcp" }, + { "amt-redir-tls", { NULL }, 16995, "udp" }, + { "isode-dua", { NULL }, 17007, "tcp" }, + { "isode-dua", { NULL }, 17007, "udp" }, + { "soundsvirtual", { NULL }, 17185, "tcp" }, + { "soundsvirtual", { NULL }, 17185, "udp" }, + { "chipper", { NULL }, 17219, "tcp" }, + { "chipper", { NULL }, 17219, "udp" }, + { "integrius-stp", { NULL }, 17234, "tcp" }, + { "integrius-stp", { NULL }, 17234, "udp" }, + { "ssh-mgmt", { NULL }, 17235, "tcp" }, + { "ssh-mgmt", { NULL }, 17235, "udp" }, + { "db-lsp", { NULL }, 17500, "tcp" }, + { "db-lsp-disc", { NULL }, 17500, "udp" }, + { "ea", { NULL }, 17729, "tcp" }, + { "ea", { NULL }, 17729, "udp" }, + { "zep", { NULL }, 17754, "tcp" }, + { "zep", { NULL }, 17754, "udp" }, + { "zigbee-ip", { NULL }, 17755, "tcp" }, + { "zigbee-ip", { NULL }, 17755, "udp" }, + { "zigbee-ips", { NULL }, 17756, "tcp" }, + { "zigbee-ips", { NULL }, 17756, "udp" }, + { "sw-orion", { NULL }, 17777, "tcp" }, + { "biimenu", { NULL }, 18000, "tcp" }, + { "biimenu", { NULL }, 18000, "udp" }, + { "radpdf", { NULL }, 18104, "tcp" }, + { "racf", { NULL }, 18136, "tcp" }, + { "opsec-cvp", { NULL }, 18181, "tcp" }, + { "opsec-cvp", { NULL }, 18181, "udp" }, + { "opsec-ufp", { NULL }, 18182, "tcp" }, + { "opsec-ufp", { NULL }, 18182, "udp" }, + { "opsec-sam", { NULL }, 18183, "tcp" }, + { "opsec-sam", { NULL }, 18183, "udp" }, + { "opsec-lea", { NULL }, 18184, "tcp" }, + { "opsec-lea", { NULL }, 18184, "udp" }, + { "opsec-omi", { NULL }, 18185, "tcp" }, + { "opsec-omi", { NULL }, 18185, "udp" }, + { "ohsc", { NULL }, 18186, "tcp" }, + { "ohsc", { NULL }, 18186, "udp" }, + { "opsec-ela", { NULL }, 18187, "tcp" }, + { "opsec-ela", { NULL }, 18187, "udp" }, + { "checkpoint-rtm", { NULL }, 18241, "tcp" }, + { "checkpoint-rtm", { NULL }, 18241, "udp" }, + { "gv-pf", { NULL }, 18262, "tcp" }, + { "gv-pf", { NULL }, 18262, "udp" }, + { "ac-cluster", { NULL }, 18463, "tcp" }, + { "ac-cluster", { NULL }, 18463, "udp" }, + { "rds-ib", { NULL }, 18634, "tcp" }, + { "rds-ib", { NULL }, 18634, "udp" }, + { "rds-ip", { NULL }, 18635, "tcp" }, + { "rds-ip", { NULL }, 18635, "udp" }, + { "ique", { NULL }, 18769, "tcp" }, + { "ique", { NULL }, 18769, "udp" }, + { "infotos", { NULL }, 18881, "tcp" }, + { "infotos", { NULL }, 18881, "udp" }, + { "apc-necmp", { NULL }, 18888, "tcp" }, + { "apc-necmp", { NULL }, 18888, "udp" }, + { "igrid", { NULL }, 19000, "tcp" }, + { "igrid", { NULL }, 19000, "udp" }, + { "j-link", { NULL }, 19020, "tcp" }, + { "opsec-uaa", { NULL }, 19191, "tcp" }, + { "opsec-uaa", { NULL }, 19191, "udp" }, + { "ua-secureagent", { NULL }, 19194, "tcp" }, + { "ua-secureagent", { NULL }, 19194, "udp" }, + { "keysrvr", { NULL }, 19283, "tcp" }, + { "keysrvr", { NULL }, 19283, "udp" }, + { "keyshadow", { NULL }, 19315, "tcp" }, + { "keyshadow", { NULL }, 19315, "udp" }, + { "mtrgtrans", { NULL }, 19398, "tcp" }, + { "mtrgtrans", { NULL }, 19398, "udp" }, + { "hp-sco", { NULL }, 19410, "tcp" }, + { "hp-sco", { NULL }, 19410, "udp" }, + { "hp-sca", { NULL }, 19411, "tcp" }, + { "hp-sca", { NULL }, 19411, "udp" }, + { "hp-sessmon", { NULL }, 19412, "tcp" }, + { "hp-sessmon", { NULL }, 19412, "udp" }, + { "fxuptp", { NULL }, 19539, "tcp" }, + { "fxuptp", { NULL }, 19539, "udp" }, + { "sxuptp", { NULL }, 19540, "tcp" }, + { "sxuptp", { NULL }, 19540, "udp" }, + { "jcp", { NULL }, 19541, "tcp" }, + { "jcp", { NULL }, 19541, "udp" }, + { "iec-104-sec", { NULL }, 19998, "tcp" }, + { "dnp-sec", { NULL }, 19999, "tcp" }, + { "dnp-sec", { NULL }, 19999, "udp" }, + { "dnp", { NULL }, 20000, "tcp" }, + { "dnp", { NULL }, 20000, "udp" }, + { "microsan", { NULL }, 20001, "tcp" }, + { "microsan", { NULL }, 20001, "udp" }, + { "commtact-http", { NULL }, 20002, "tcp" }, + { "commtact-http", { NULL }, 20002, "udp" }, + { "commtact-https", { NULL }, 20003, "tcp" }, + { "commtact-https", { NULL }, 20003, "udp" }, + { "openwebnet", { NULL }, 20005, "tcp" }, + { "openwebnet", { NULL }, 20005, "udp" }, + { "ss-idi-disc", { NULL }, 20012, "udp" }, + { "ss-idi", { NULL }, 20013, "tcp" }, + { "opendeploy", { NULL }, 20014, "tcp" }, + { "opendeploy", { NULL }, 20014, "udp" }, + { "nburn_id", { NULL }, 20034, "tcp" }, + { "nburn_id", { NULL }, 20034, "udp" }, + { "tmophl7mts", { NULL }, 20046, "tcp" }, + { "tmophl7mts", { NULL }, 20046, "udp" }, + { "mountd", { NULL }, 20048, "tcp" }, + { "mountd", { NULL }, 20048, "udp" }, + { "nfsrdma", { NULL }, 20049, "tcp" }, + { "nfsrdma", { NULL }, 20049, "udp" }, + { "nfsrdma", { NULL }, 20049, "sctp" }, + { "tolfab", { NULL }, 20167, "tcp" }, + { "tolfab", { NULL }, 20167, "udp" }, + { "ipdtp-port", { NULL }, 20202, "tcp" }, + { "ipdtp-port", { NULL }, 20202, "udp" }, + { "ipulse-ics", { NULL }, 20222, "tcp" }, + { "ipulse-ics", { NULL }, 20222, "udp" }, + { "emwavemsg", { NULL }, 20480, "tcp" }, + { "emwavemsg", { NULL }, 20480, "udp" }, + { "track", { NULL }, 20670, "tcp" }, + { "track", { NULL }, 20670, "udp" }, + { "athand-mmp", { NULL }, 20999, "tcp" }, + { "athand-mmp", { NULL }, 20999, "udp" }, + { "irtrans", { NULL }, 21000, "tcp" }, + { "irtrans", { NULL }, 21000, "udp" }, + { "dfserver", { NULL }, 21554, "tcp" }, + { "dfserver", { NULL }, 21554, "udp" }, + { "vofr-gateway", { NULL }, 21590, "tcp" }, + { "vofr-gateway", { NULL }, 21590, "udp" }, + { "tvpm", { NULL }, 21800, "tcp" }, + { "tvpm", { NULL }, 21800, "udp" }, + { "webphone", { NULL }, 21845, "tcp" }, + { "webphone", { NULL }, 21845, "udp" }, + { "netspeak-is", { NULL }, 21846, "tcp" }, + { "netspeak-is", { NULL }, 21846, "udp" }, + { "netspeak-cs", { NULL }, 21847, "tcp" }, + { "netspeak-cs", { NULL }, 21847, "udp" }, + { "netspeak-acd", { NULL }, 21848, "tcp" }, + { "netspeak-acd", { NULL }, 21848, "udp" }, + { "netspeak-cps", { NULL }, 21849, "tcp" }, + { "netspeak-cps", { NULL }, 21849, "udp" }, + { "snapenetio", { NULL }, 22000, "tcp" }, + { "snapenetio", { NULL }, 22000, "udp" }, + { "optocontrol", { NULL }, 22001, "tcp" }, + { "optocontrol", { NULL }, 22001, "udp" }, + { "optohost002", { NULL }, 22002, "tcp" }, + { "optohost002", { NULL }, 22002, "udp" }, + { "optohost003", { NULL }, 22003, "tcp" }, + { "optohost003", { NULL }, 22003, "udp" }, + { "optohost004", { NULL }, 22004, "tcp" }, + { "optohost004", { NULL }, 22004, "udp" }, + { "optohost004", { NULL }, 22005, "tcp" }, + { "optohost004", { NULL }, 22005, "udp" }, + { "dcap", { NULL }, 22125, "tcp" }, + { "gsidcap", { NULL }, 22128, "tcp" }, + { "wnn6", { NULL }, 22273, "tcp" }, + { "wnn6", { NULL }, 22273, "udp" }, + { "cis", { NULL }, 22305, "tcp" }, + { "cis", { NULL }, 22305, "udp" }, + { "cis-secure", { NULL }, 22343, "tcp" }, + { "cis-secure", { NULL }, 22343, "udp" }, + { "WibuKey", { NULL }, 22347, "tcp" }, + { "WibuKey", { NULL }, 22347, "udp" }, + { "CodeMeter", { NULL }, 22350, "tcp" }, + { "CodeMeter", { NULL }, 22350, "udp" }, + { "vocaltec-wconf", { NULL }, 22555, "tcp" }, + { "vocaltec-phone", { NULL }, 22555, "udp" }, + { "talikaserver", { NULL }, 22763, "tcp" }, + { "talikaserver", { NULL }, 22763, "udp" }, + { "aws-brf", { NULL }, 22800, "tcp" }, + { "aws-brf", { NULL }, 22800, "udp" }, + { "brf-gw", { NULL }, 22951, "tcp" }, + { "brf-gw", { NULL }, 22951, "udp" }, + { "inovaport1", { NULL }, 23000, "tcp" }, + { "inovaport1", { NULL }, 23000, "udp" }, + { "inovaport2", { NULL }, 23001, "tcp" }, + { "inovaport2", { NULL }, 23001, "udp" }, + { "inovaport3", { NULL }, 23002, "tcp" }, + { "inovaport3", { NULL }, 23002, "udp" }, + { "inovaport4", { NULL }, 23003, "tcp" }, + { "inovaport4", { NULL }, 23003, "udp" }, + { "inovaport5", { NULL }, 23004, "tcp" }, + { "inovaport5", { NULL }, 23004, "udp" }, + { "inovaport6", { NULL }, 23005, "tcp" }, + { "inovaport6", { NULL }, 23005, "udp" }, + { "s102", { NULL }, 23272, "udp" }, + { "elxmgmt", { NULL }, 23333, "tcp" }, + { "elxmgmt", { NULL }, 23333, "udp" }, + { "novar-dbase", { NULL }, 23400, "tcp" }, + { "novar-dbase", { NULL }, 23400, "udp" }, + { "novar-alarm", { NULL }, 23401, "tcp" }, + { "novar-alarm", { NULL }, 23401, "udp" }, + { "novar-global", { NULL }, 23402, "tcp" }, + { "novar-global", { NULL }, 23402, "udp" }, + { "aequus", { NULL }, 23456, "tcp" }, + { "aequus-alt", { NULL }, 23457, "tcp" }, + { "med-ltp", { NULL }, 24000, "tcp" }, + { "med-ltp", { NULL }, 24000, "udp" }, + { "med-fsp-rx", { NULL }, 24001, "tcp" }, + { "med-fsp-rx", { NULL }, 24001, "udp" }, + { "med-fsp-tx", { NULL }, 24002, "tcp" }, + { "med-fsp-tx", { NULL }, 24002, "udp" }, + { "med-supp", { NULL }, 24003, "tcp" }, + { "med-supp", { NULL }, 24003, "udp" }, + { "med-ovw", { NULL }, 24004, "tcp" }, + { "med-ovw", { NULL }, 24004, "udp" }, + { "med-ci", { NULL }, 24005, "tcp" }, + { "med-ci", { NULL }, 24005, "udp" }, + { "med-net-svc", { NULL }, 24006, "tcp" }, + { "med-net-svc", { NULL }, 24006, "udp" }, + { "filesphere", { NULL }, 24242, "tcp" }, + { "filesphere", { NULL }, 24242, "udp" }, + { "vista-4gl", { NULL }, 24249, "tcp" }, + { "vista-4gl", { NULL }, 24249, "udp" }, + { "ild", { NULL }, 24321, "tcp" }, + { "ild", { NULL }, 24321, "udp" }, + { "intel_rci", { NULL }, 24386, "tcp" }, + { "intel_rci", { NULL }, 24386, "udp" }, + { "tonidods", { NULL }, 24465, "tcp" }, + { "tonidods", { NULL }, 24465, "udp" }, + { "binkp", { NULL }, 24554, "tcp" }, + { "binkp", { NULL }, 24554, "udp" }, + { "canditv", { NULL }, 24676, "tcp" }, + { "canditv", { NULL }, 24676, "udp" }, + { "flashfiler", { NULL }, 24677, "tcp" }, + { "flashfiler", { NULL }, 24677, "udp" }, + { "proactivate", { NULL }, 24678, "tcp" }, + { "proactivate", { NULL }, 24678, "udp" }, + { "tcc-http", { NULL }, 24680, "tcp" }, + { "tcc-http", { NULL }, 24680, "udp" }, + { "cslg", { NULL }, 24754, "tcp" }, + { "find", { NULL }, 24922, "tcp" }, + { "find", { NULL }, 24922, "udp" }, + { "icl-twobase1", { NULL }, 25000, "tcp" }, + { "icl-twobase1", { NULL }, 25000, "udp" }, + { "icl-twobase2", { NULL }, 25001, "tcp" }, + { "icl-twobase2", { NULL }, 25001, "udp" }, + { "icl-twobase3", { NULL }, 25002, "tcp" }, + { "icl-twobase3", { NULL }, 25002, "udp" }, + { "icl-twobase4", { NULL }, 25003, "tcp" }, + { "icl-twobase4", { NULL }, 25003, "udp" }, + { "icl-twobase5", { NULL }, 25004, "tcp" }, + { "icl-twobase5", { NULL }, 25004, "udp" }, + { "icl-twobase6", { NULL }, 25005, "tcp" }, + { "icl-twobase6", { NULL }, 25005, "udp" }, + { "icl-twobase7", { NULL }, 25006, "tcp" }, + { "icl-twobase7", { NULL }, 25006, "udp" }, + { "icl-twobase8", { NULL }, 25007, "tcp" }, + { "icl-twobase8", { NULL }, 25007, "udp" }, + { "icl-twobase9", { NULL }, 25008, "tcp" }, + { "icl-twobase9", { NULL }, 25008, "udp" }, + { "icl-twobase10", { NULL }, 25009, "tcp" }, + { "icl-twobase10", { NULL }, 25009, "udp" }, + { "rna", { NULL }, 25471, "sctp" }, + { "sauterdongle", { NULL }, 25576, "tcp" }, + { "vocaltec-hos", { NULL }, 25793, "tcp" }, + { "vocaltec-hos", { NULL }, 25793, "udp" }, + { "tasp-net", { NULL }, 25900, "tcp" }, + { "tasp-net", { NULL }, 25900, "udp" }, + { "niobserver", { NULL }, 25901, "tcp" }, + { "niobserver", { NULL }, 25901, "udp" }, + { "nilinkanalyst", { NULL }, 25902, "tcp" }, + { "nilinkanalyst", { NULL }, 25902, "udp" }, + { "niprobe", { NULL }, 25903, "tcp" }, + { "niprobe", { NULL }, 25903, "udp" }, + { "quake", { NULL }, 26000, "tcp" }, + { "quake", { NULL }, 26000, "udp" }, + { "scscp", { NULL }, 26133, "tcp" }, + { "scscp", { NULL }, 26133, "udp" }, + { "wnn6-ds", { NULL }, 26208, "tcp" }, + { "wnn6-ds", { NULL }, 26208, "udp" }, + { "ezproxy", { NULL }, 26260, "tcp" }, + { "ezproxy", { NULL }, 26260, "udp" }, + { "ezmeeting", { NULL }, 26261, "tcp" }, + { "ezmeeting", { NULL }, 26261, "udp" }, + { "k3software-svr", { NULL }, 26262, "tcp" }, + { "k3software-svr", { NULL }, 26262, "udp" }, + { "k3software-cli", { NULL }, 26263, "tcp" }, + { "k3software-cli", { NULL }, 26263, "udp" }, + { "exoline-tcp", { NULL }, 26486, "tcp" }, + { "exoline-udp", { NULL }, 26486, "udp" }, + { "exoconfig", { NULL }, 26487, "tcp" }, + { "exoconfig", { NULL }, 26487, "udp" }, + { "exonet", { NULL }, 26489, "tcp" }, + { "exonet", { NULL }, 26489, "udp" }, + { "imagepump", { NULL }, 27345, "tcp" }, + { "imagepump", { NULL }, 27345, "udp" }, + { "jesmsjc", { NULL }, 27442, "tcp" }, + { "jesmsjc", { NULL }, 27442, "udp" }, + { "kopek-httphead", { NULL }, 27504, "tcp" }, + { "kopek-httphead", { NULL }, 27504, "udp" }, + { "ars-vista", { NULL }, 27782, "tcp" }, + { "ars-vista", { NULL }, 27782, "udp" }, + { "tw-auth-key", { NULL }, 27999, "tcp" }, + { "tw-auth-key", { NULL }, 27999, "udp" }, + { "nxlmd", { NULL }, 28000, "tcp" }, + { "nxlmd", { NULL }, 28000, "udp" }, + { "pqsp", { NULL }, 28001, "tcp" }, + { "siemensgsm", { NULL }, 28240, "tcp" }, + { "siemensgsm", { NULL }, 28240, "udp" }, + { "sgsap", { NULL }, 29118, "sctp" }, + { "otmp", { NULL }, 29167, "tcp" }, + { "otmp", { NULL }, 29167, "udp" }, + { "sbcap", { NULL }, 29168, "sctp" }, + { "iuhsctpassoc", { NULL }, 29169, "sctp" }, + { "pago-services1", { NULL }, 30001, "tcp" }, + { "pago-services1", { NULL }, 30001, "udp" }, + { "pago-services2", { NULL }, 30002, "tcp" }, + { "pago-services2", { NULL }, 30002, "udp" }, + { "kingdomsonline", { NULL }, 30260, "tcp" }, + { "kingdomsonline", { NULL }, 30260, "udp" }, + { "ovobs", { NULL }, 30999, "tcp" }, + { "ovobs", { NULL }, 30999, "udp" }, + { "autotrac-acp", { NULL }, 31020, "tcp" }, + { "yawn", { NULL }, 31029, "udp" }, + { "xqosd", { NULL }, 31416, "tcp" }, + { "xqosd", { NULL }, 31416, "udp" }, + { "tetrinet", { NULL }, 31457, "tcp" }, + { "tetrinet", { NULL }, 31457, "udp" }, + { "lm-mon", { NULL }, 31620, "tcp" }, + { "lm-mon", { NULL }, 31620, "udp" }, + { "dsx_monitor", { NULL }, 31685, "tcp" }, + { "gamesmith-port", { NULL }, 31765, "tcp" }, + { "gamesmith-port", { NULL }, 31765, "udp" }, + { "iceedcp_tx", { NULL }, 31948, "tcp" }, + { "iceedcp_tx", { NULL }, 31948, "udp" }, + { "iceedcp_rx", { NULL }, 31949, "tcp" }, + { "iceedcp_rx", { NULL }, 31949, "udp" }, + { "iracinghelper", { NULL }, 32034, "tcp" }, + { "iracinghelper", { NULL }, 32034, "udp" }, + { "t1distproc60", { NULL }, 32249, "tcp" }, + { "t1distproc60", { NULL }, 32249, "udp" }, + { "apm-link", { NULL }, 32483, "tcp" }, + { "apm-link", { NULL }, 32483, "udp" }, + { "sec-ntb-clnt", { NULL }, 32635, "tcp" }, + { "sec-ntb-clnt", { NULL }, 32635, "udp" }, + { "DMExpress", { NULL }, 32636, "tcp" }, + { "DMExpress", { NULL }, 32636, "udp" }, + { "filenet-powsrm", { NULL }, 32767, "tcp" }, + { "filenet-powsrm", { NULL }, 32767, "udp" }, + { "filenet-tms", { NULL }, 32768, "tcp" }, + { "filenet-tms", { NULL }, 32768, "udp" }, + { "filenet-rpc", { NULL }, 32769, "tcp" }, + { "filenet-rpc", { NULL }, 32769, "udp" }, + { "filenet-nch", { NULL }, 32770, "tcp" }, + { "filenet-nch", { NULL }, 32770, "udp" }, + { "filenet-rmi", { NULL }, 32771, "tcp" }, + { "filenet-rmi", { NULL }, 32771, "udp" }, + { "filenet-pa", { NULL }, 32772, "tcp" }, + { "filenet-pa", { NULL }, 32772, "udp" }, + { "filenet-cm", { NULL }, 32773, "tcp" }, + { "filenet-cm", { NULL }, 32773, "udp" }, + { "filenet-re", { NULL }, 32774, "tcp" }, + { "filenet-re", { NULL }, 32774, "udp" }, + { "filenet-pch", { NULL }, 32775, "tcp" }, + { "filenet-pch", { NULL }, 32775, "udp" }, + { "filenet-peior", { NULL }, 32776, "tcp" }, + { "filenet-peior", { NULL }, 32776, "udp" }, + { "filenet-obrok", { NULL }, 32777, "tcp" }, + { "filenet-obrok", { NULL }, 32777, "udp" }, + { "mlsn", { NULL }, 32801, "tcp" }, + { "mlsn", { NULL }, 32801, "udp" }, + { "retp", { NULL }, 32811, "tcp" }, + { "idmgratm", { NULL }, 32896, "tcp" }, + { "idmgratm", { NULL }, 32896, "udp" }, + { "aurora-balaena", { NULL }, 33123, "tcp" }, + { "aurora-balaena", { NULL }, 33123, "udp" }, + { "diamondport", { NULL }, 33331, "tcp" }, + { "diamondport", { NULL }, 33331, "udp" }, + { "dgi-serv", { NULL }, 33333, "tcp" }, + { "traceroute", { NULL }, 33434, "tcp" }, + { "traceroute", { NULL }, 33434, "udp" }, + { "snip-slave", { NULL }, 33656, "tcp" }, + { "snip-slave", { NULL }, 33656, "udp" }, + { "turbonote-2", { NULL }, 34249, "tcp" }, + { "turbonote-2", { NULL }, 34249, "udp" }, + { "p-net-local", { NULL }, 34378, "tcp" }, + { "p-net-local", { NULL }, 34378, "udp" }, + { "p-net-remote", { NULL }, 34379, "tcp" }, + { "p-net-remote", { NULL }, 34379, "udp" }, + { "dhanalakshmi", { NULL }, 34567, "tcp" }, + { "profinet-rt", { NULL }, 34962, "tcp" }, + { "profinet-rt", { NULL }, 34962, "udp" }, + { "profinet-rtm", { NULL }, 34963, "tcp" }, + { "profinet-rtm", { NULL }, 34963, "udp" }, + { "profinet-cm", { NULL }, 34964, "tcp" }, + { "profinet-cm", { NULL }, 34964, "udp" }, + { "ethercat", { NULL }, 34980, "tcp" }, + { "ethercat", { NULL }, 34980, "udp" }, + { "allpeers", { NULL }, 36001, "tcp" }, + { "allpeers", { NULL }, 36001, "udp" }, + { "s1-control", { NULL }, 36412, "sctp" }, + { "x2-control", { NULL }, 36422, "sctp" }, + { "m2ap", { NULL }, 36443, "sctp" }, + { "m3ap", { NULL }, 36444, "sctp" }, + { "kastenxpipe", { NULL }, 36865, "tcp" }, + { "kastenxpipe", { NULL }, 36865, "udp" }, + { "neckar", { NULL }, 37475, "tcp" }, + { "neckar", { NULL }, 37475, "udp" }, + { "unisys-eportal", { NULL }, 37654, "tcp" }, + { "unisys-eportal", { NULL }, 37654, "udp" }, + { "galaxy7-data", { NULL }, 38201, "tcp" }, + { "galaxy7-data", { NULL }, 38201, "udp" }, + { "fairview", { NULL }, 38202, "tcp" }, + { "fairview", { NULL }, 38202, "udp" }, + { "agpolicy", { NULL }, 38203, "tcp" }, + { "agpolicy", { NULL }, 38203, "udp" }, + { "turbonote-1", { NULL }, 39681, "tcp" }, + { "turbonote-1", { NULL }, 39681, "udp" }, + { "safetynetp", { NULL }, 40000, "tcp" }, + { "safetynetp", { NULL }, 40000, "udp" }, + { "cscp", { NULL }, 40841, "tcp" }, + { "cscp", { NULL }, 40841, "udp" }, + { "csccredir", { NULL }, 40842, "tcp" }, + { "csccredir", { NULL }, 40842, "udp" }, + { "csccfirewall", { NULL }, 40843, "tcp" }, + { "csccfirewall", { NULL }, 40843, "udp" }, + { "ortec-disc", { NULL }, 40853, "udp" }, + { "fs-qos", { NULL }, 41111, "tcp" }, + { "fs-qos", { NULL }, 41111, "udp" }, + { "tentacle", { NULL }, 41121, "tcp" }, + { "crestron-cip", { NULL }, 41794, "tcp" }, + { "crestron-cip", { NULL }, 41794, "udp" }, + { "crestron-ctp", { NULL }, 41795, "tcp" }, + { "crestron-ctp", { NULL }, 41795, "udp" }, + { "candp", { NULL }, 42508, "tcp" }, + { "candp", { NULL }, 42508, "udp" }, + { "candrp", { NULL }, 42509, "tcp" }, + { "candrp", { NULL }, 42509, "udp" }, + { "caerpc", { NULL }, 42510, "tcp" }, + { "caerpc", { NULL }, 42510, "udp" }, + { "reachout", { NULL }, 43188, "tcp" }, + { "reachout", { NULL }, 43188, "udp" }, + { "ndm-agent-port", { NULL }, 43189, "tcp" }, + { "ndm-agent-port", { NULL }, 43189, "udp" }, + { "ip-provision", { NULL }, 43190, "tcp" }, + { "ip-provision", { NULL }, 43190, "udp" }, + { "noit-transport", { NULL }, 43191, "tcp" }, + { "ew-mgmt", { NULL }, 43440, "tcp" }, + { "ew-disc-cmd", { NULL }, 43440, "udp" }, + { "ciscocsdb", { NULL }, 43441, "tcp" }, + { "ciscocsdb", { NULL }, 43441, "udp" }, + { "pmcd", { NULL }, 44321, "tcp" }, + { "pmcd", { NULL }, 44321, "udp" }, + { "pmcdproxy", { NULL }, 44322, "tcp" }, + { "pmcdproxy", { NULL }, 44322, "udp" }, + { "pcp", { NULL }, 44323, "udp" }, + { "rbr-debug", { NULL }, 44553, "tcp" }, + { "rbr-debug", { NULL }, 44553, "udp" }, + { "EtherNet/IP-2", { NULL }, 44818, "tcp" }, + { "EtherNet/IP-2", { NULL }, 44818, "udp" }, + { "invision-ag", { NULL }, 45054, "tcp" }, + { "invision-ag", { NULL }, 45054, "udp" }, + { "eba", { NULL }, 45678, "tcp" }, + { "eba", { NULL }, 45678, "udp" }, + { "qdb2service", { NULL }, 45825, "tcp" }, + { "qdb2service", { NULL }, 45825, "udp" }, + { "ssr-servermgr", { NULL }, 45966, "tcp" }, + { "ssr-servermgr", { NULL }, 45966, "udp" }, + { "mediabox", { NULL }, 46999, "tcp" }, + { "mediabox", { NULL }, 46999, "udp" }, + { "mbus", { NULL }, 47000, "tcp" }, + { "mbus", { NULL }, 47000, "udp" }, + { "winrm", { NULL }, 47001, "tcp" }, + { "dbbrowse", { NULL }, 47557, "tcp" }, + { "dbbrowse", { NULL }, 47557, "udp" }, + { "directplaysrvr", { NULL }, 47624, "tcp" }, + { "directplaysrvr", { NULL }, 47624, "udp" }, + { "ap", { NULL }, 47806, "tcp" }, + { "ap", { NULL }, 47806, "udp" }, + { "bacnet", { NULL }, 47808, "tcp" }, + { "bacnet", { NULL }, 47808, "udp" }, + { "nimcontroller", { NULL }, 48000, "tcp" }, + { "nimcontroller", { NULL }, 48000, "udp" }, + { "nimspooler", { NULL }, 48001, "tcp" }, + { "nimspooler", { NULL }, 48001, "udp" }, + { "nimhub", { NULL }, 48002, "tcp" }, + { "nimhub", { NULL }, 48002, "udp" }, + { "nimgtw", { NULL }, 48003, "tcp" }, + { "nimgtw", { NULL }, 48003, "udp" }, + { "nimbusdb", { NULL }, 48004, "tcp" }, + { "nimbusdbctrl", { NULL }, 48005, "tcp" }, + { "3gpp-cbsp", { NULL }, 48049, "tcp" }, + { "isnetserv", { NULL }, 48128, "tcp" }, + { "isnetserv", { NULL }, 48128, "udp" }, + { "blp5", { NULL }, 48129, "tcp" }, + { "blp5", { NULL }, 48129, "udp" }, + { "com-bardac-dw", { NULL }, 48556, "tcp" }, + { "com-bardac-dw", { NULL }, 48556, "udp" }, + { "iqobject", { NULL }, 48619, "tcp" }, + { "iqobject", { NULL }, 48619, "udp" }, # endif /* USE_IANA_REGISTERED_PORTS */ - { NULL, { NULL }, 0, NULL } + { NULL, { NULL }, 0, NULL } }; struct servent *getservbyport(int port, const char *proto) diff --git a/deps/cares/src/lib/ares_private.h b/deps/cares/src/lib/ares_private.h index 6a9e04af2eb633..fd290c4d311ecd 100644 --- a/deps/cares/src/lib/ares_private.h +++ b/deps/cares/src/lib/ares_private.h @@ -114,6 +114,7 @@ typedef struct ares_rand_state ares_rand_state; #include "ares__htable_strvp.h" #include "ares__htable_szvp.h" #include "ares__htable_asvp.h" +#include "ares__htable_vpvp.h" #include "ares__buf.h" #include "ares_dns_private.h" #include "ares__iface_ips.h" @@ -146,6 +147,11 @@ typedef struct ares_rand_state ares_rand_state; /********* EDNS defines section ******/ +/* Default values for server failover behavior. We retry failed servers with + * a 10% probability and a minimum delay of 5 seconds between retries. + */ +#define DEFAULT_SERVER_RETRY_CHANCE 10 +#define DEFAULT_SERVER_RETRY_DELAY 5000 struct query; @@ -176,6 +182,9 @@ struct server_state { ares__llist_t *connections; struct server_connection *tcp_conn; + /* The next time when we will retry this server if it has hit failures */ + struct timeval next_retry_time; + /* TCP buffer since multiple responses can come back in one read, or partial * in a read */ ares__buf_t *tcp_parser; @@ -315,6 +324,27 @@ struct ares_channeldata { /* Query Cache */ ares__qcache_t *qcache; + + /* Fields controlling server failover behavior. + * The retry chance is the probability (1/N) by which we will retry a failed + * server instead of the best server when selecting a server to send queries + * to. + * The retry delay is the minimum time in milliseconds to wait between doing + * such retries (applied per-server). + */ + unsigned short server_retry_chance; + size_t server_retry_delay; + + /* Callback triggered when a server has a successful or failed response */ + ares_server_state_callback server_state_cb; + void *server_state_cb_data; + + /* TRUE if a reinit is pending. Reinit spawns a thread to read the system + * configuration and then apply the configuration since configuration + * reading may block. The thread handle is provided for waiting on thread + * exit. */ + ares_bool_t reinit_pending; + ares__thread_t *reinit_thread; }; /* Does the domain end in ".onion" or ".onion."? Case-insensitive. */ @@ -408,10 +438,17 @@ typedef struct { ares_bool_t usevc; } ares_sysconfig_t; +ares_status_t ares__sysconfig_set_options(ares_sysconfig_t *sysconfig, + const char *str); + ares_status_t ares__init_by_environment(ares_sysconfig_t *sysconfig); ares_status_t ares__init_sysconfig_files(const ares_channel_t *channel, ares_sysconfig_t *sysconfig); +#ifdef __APPLE__ +ares_status_t ares__init_sysconfig_macos(ares_sysconfig_t *sysconfig); +#endif + ares_status_t ares__parse_sortlist(struct apattern **sortlist, size_t *nsort, const char *str); @@ -497,6 +534,8 @@ ares_status_t ares__sconfig_append_fromstr(ares__llist_t **sconfig, ares_status_t ares_in_addr_to_server_config_llist(const struct in_addr *servers, size_t nservers, ares__llist_t **llist); +ares_status_t ares_get_server_addr(const struct server_state *server, + ares__buf_t *buf); struct ares_hosts_entry; typedef struct ares_hosts_entry ares_hosts_entry_t; @@ -580,9 +619,9 @@ void ares_queue_notify_empty(ares_channel_t *channel); } \ } while (0) -#define ARES_CONFIG_CHECK(x) \ - (x && x->lookups && ares__slist_len(x->servers) > 0 && \ - x->timeout > 0 && x->tries > 0) +#define ARES_CONFIG_CHECK(x) \ + (x && x->lookups && ares__slist_len(x->servers) > 0 && x->timeout > 0 && \ + x->tries > 0) ares_bool_t ares__subnet_match(const struct ares_addr *addr, const struct ares_addr *subnet, @@ -611,8 +650,8 @@ ares_status_t ares_qcache_fetch(ares_channel_t *channel, ares_status_t ares__channel_threading_init(ares_channel_t *channel); void ares__channel_threading_destroy(ares_channel_t *channel); -void ares__channel_lock(ares_channel_t *channel); -void ares__channel_unlock(ares_channel_t *channel); +void ares__channel_lock(const ares_channel_t *channel); +void ares__channel_unlock(const ares_channel_t *channel); struct ares_event_thread; typedef struct ares_event_thread ares_event_thread_t; diff --git a/deps/cares/src/lib/ares_process.c b/deps/cares/src/lib/ares_process.c index b9705ae882b9ff..eefcc78298b5a9 100644 --- a/deps/cares/src/lib/ares_process.c +++ b/deps/cares/src/lib/ares_process.c @@ -50,6 +50,7 @@ #include "ares_nameser.h" #include "ares_dns.h" +static void timeadd(struct timeval *now, size_t millisecs); static ares_bool_t try_again(int errnum); static void write_tcp_data(ares_channel_t *channel, fd_set *write_fds, ares_socket_t write_fd); @@ -70,35 +71,86 @@ static ares_bool_t same_address(const struct sockaddr *sa, static void end_query(ares_channel_t *channel, struct query *query, ares_status_t status, const ares_dns_record_t *dnsrec); -static void server_increment_failures(struct server_state *server) +/* Invoke the server state callback after a success or failure */ +static void invoke_server_state_cb(const struct server_state *server, + ares_bool_t success, int flags) +{ + const ares_channel_t *channel = server->channel; + ares__buf_t *buf; + ares_status_t status; + char *server_string; + + if (channel->server_state_cb == NULL) { + return; + } + + buf = ares__buf_create(); + if (buf == NULL) { + return; + } + + status = ares_get_server_addr(server, buf); + if (status != ARES_SUCCESS) { + ares__buf_destroy(buf); + return; + } + + server_string = ares__buf_finish_str(buf, NULL); + buf = NULL; + if (server_string == NULL) { + return; + } + + channel->server_state_cb(server_string, success, flags, + channel->server_state_cb_data); + ares_free(server_string); +} + +static void server_increment_failures(struct server_state *server, + ares_bool_t used_tcp) { ares__slist_node_t *node; const ares_channel_t *channel = server->channel; + struct timeval next_retry_time; node = ares__slist_node_find(channel->servers, server); if (node == NULL) { return; } + server->consec_failures++; ares__slist_node_reinsert(node); + + next_retry_time = ares__tvnow(); + timeadd(&next_retry_time, channel->server_retry_delay); + server->next_retry_time = next_retry_time; + + invoke_server_state_cb(server, ARES_FALSE, + used_tcp == ARES_TRUE ? ARES_SERV_STATE_TCP + : ARES_SERV_STATE_UDP); } -static void server_set_good(struct server_state *server) +static void server_set_good(struct server_state *server, ares_bool_t used_tcp) { ares__slist_node_t *node; const ares_channel_t *channel = server->channel; - if (!server->consec_failures) { - return; - } - node = ares__slist_node_find(channel->servers, server); if (node == NULL) { return; } - server->consec_failures = 0; - ares__slist_node_reinsert(node); + if (server->consec_failures > 0) { + server->consec_failures = 0; + ares__slist_node_reinsert(node); + } + + server->next_retry_time.tv_sec = 0; + server->next_retry_time.tv_usec = 0; + + invoke_server_state_cb(server, ARES_TRUE, + used_tcp == ARES_TRUE ? ARES_SERV_STATE_TCP + : ARES_SERV_STATE_UDP); } /* return true if now is exactly check time or later */ @@ -561,7 +613,7 @@ static void process_timeouts(ares_channel_t *channel, struct timeval *now) query->timeouts++; conn = query->conn; - server_increment_failures(conn->server); + server_increment_failures(conn->server, query->using_tcp); ares__requeue_query(query, now); ares__check_cleanup_conn(channel, conn); @@ -716,7 +768,7 @@ static ares_status_t process_answer(ares_channel_t *channel, break; } - server_increment_failures(server); + server_increment_failures(server, query->using_tcp); ares__requeue_query(query, now); /* Should any of these cause a connection termination? @@ -732,7 +784,7 @@ static ares_status_t process_answer(ares_channel_t *channel, is_cached = ARES_TRUE; } - server_set_good(server); + server_set_good(server, query->using_tcp); end_query(channel, query, ARES_SUCCESS, rdnsrec); status = ARES_SUCCESS; @@ -755,7 +807,7 @@ static void handle_conn_error(struct server_connection *conn, /* Increment failures first before requeue so it is unlikely to requeue * to the same server */ if (critical_failure) { - server_increment_failures(server); + server_increment_failures(server, conn->is_tcp); } /* This will requeue any connections automatically */ @@ -816,6 +868,66 @@ static struct server_state *ares__random_server(ares_channel_t *channel) return NULL; } +/* Pick a server from the list with failover behavior. + * + * We default to using the first server in the sorted list of servers. That is + * the server with the lowest number of consecutive failures and then the + * highest priority server (by idx) if there is a draw. + * + * However, if a server temporarily goes down and hits some failures, then that + * server will never be retried until all other servers hit the same number of + * failures. This may prevent the server from being retried for a long time. + * + * To resolve this, with some probability we select a failed server to retry + * instead. + */ +static struct server_state *ares__failover_server(ares_channel_t *channel) +{ + struct server_state *first_server = ares__slist_first_val(channel->servers); + struct server_state *last_server = ares__slist_last_val(channel->servers); + unsigned short r; + + /* Defensive code against no servers being available on the channel. */ + if (first_server == NULL) { + return NULL; + } + + /* If no servers have failures, then prefer the first server in the list. */ + if (last_server != NULL && last_server->consec_failures == 0) { + return first_server; + } + + /* If we are not configured with a server retry chance then return the first + * server. + */ + if (channel->server_retry_chance == 0) { + return first_server; + } + + /* Generate a random value to decide whether to retry a failed server. The + * probability to use is 1/channel->server_retry_chance, rounded up to a + * precision of 1/2^B where B is the number of bits in the random value. + * We use an unsigned short for the random value for increased precision. + */ + ares__rand_bytes(channel->rand_state, (unsigned char *)&r, sizeof(r)); + if (r % channel->server_retry_chance == 0) { + /* Select a suitable failed server to retry. */ + struct timeval now = ares__tvnow(); + ares__slist_node_t *node; + for (node = ares__slist_node_first(channel->servers); node != NULL; + node = ares__slist_node_next(node)) { + struct server_state *node_val = ares__slist_node_val(node); + if (node_val != NULL && node_val->consec_failures > 0 && + ares__timedout(&now, &node_val->next_retry_time)) { + return node_val; + } + } + } + + /* If we have not returned yet, then return the first server. */ + return first_server; +} + static ares_status_t ares__append_tcpbuf(struct server_state *server, const struct query *query) { @@ -890,10 +1002,11 @@ ares_status_t ares__send_query(struct query *query, struct timeval *now) /* Choose the server to send the query to */ if (channel->rotate) { + /* Pull random server */ server = ares__random_server(channel); } else { - /* Pull first */ - server = ares__slist_first_val(channel->servers); + /* Pull server with failover behavior */ + server = ares__failover_server(channel); } if (server == NULL) { @@ -918,7 +1031,7 @@ ares_status_t ares__send_query(struct query *query, struct timeval *now) * error codes */ case ARES_ECONNREFUSED: case ARES_EBADFAMILY: - server_increment_failures(server); + server_increment_failures(server, query->using_tcp); query->error_status = status; return ares__requeue_query(query, now); @@ -977,7 +1090,7 @@ ares_status_t ares__send_query(struct query *query, struct timeval *now) * error codes */ case ARES_ECONNREFUSED: case ARES_EBADFAMILY: - server_increment_failures(server); + server_increment_failures(server, query->using_tcp); query->error_status = status; return ares__requeue_query(query, now); @@ -992,7 +1105,7 @@ ares_status_t ares__send_query(struct query *query, struct timeval *now) conn = ares__llist_node_val(node); if (ares__socket_write(channel, conn->fd, query->qbuf, query->qlen) == -1) { /* FIXME: Handle EAGAIN here since it likely can happen. */ - server_increment_failures(server); + server_increment_failures(server, query->using_tcp); status = ares__requeue_query(query, now); /* Only safe to kill connection if it was new, otherwise it should be diff --git a/deps/cares/src/lib/ares_send.c b/deps/cares/src/lib/ares_send.c index 54f2b504d50cac..d15a9b953df962 100644 --- a/deps/cares/src/lib/ares_send.c +++ b/deps/cares/src/lib/ares_send.c @@ -200,7 +200,7 @@ void ares_send(ares_channel_t *channel, const unsigned char *qbuf, int qlen, ares_dns_record_destroy(dnsrec); } -size_t ares_queue_active_queries(ares_channel_t *channel) +size_t ares_queue_active_queries(const ares_channel_t *channel) { size_t len; diff --git a/deps/cares/src/lib/ares_sysconfig.c b/deps/cares/src/lib/ares_sysconfig.c index 474534512af191..d56ee22e08884d 100644 --- a/deps/cares/src/lib/ares_sysconfig.c +++ b/deps/cares/src/lib/ares_sysconfig.c @@ -957,23 +957,24 @@ static ares_status_t ares__init_sysconfig_libresolv(ares_sysconfig_t *sysconfig) if (res.ndots >= 0) { sysconfig->ndots = (size_t)res.ndots; } +/* Apple does not allow configuration of retry, so this is a static dummy + * value, ignore */ +# ifndef __APPLE__ if (res.retry > 0) { sysconfig->tries = (size_t)res.retry; } +# endif if (res.options & RES_ROTATE) { sysconfig->rotate = ARES_TRUE; } if (res.retrans > 0) { +/* Apple does not allow configuration of retrans, so this is a dummy value + * that is extremely high (5s) */ +# ifndef __APPLE__ if (res.retrans > 0) { sysconfig->timeout_ms = (unsigned int)res.retrans * 1000; } -# ifdef __APPLE__ - if (res.retry >= 0) { - sysconfig->timeout_ms /= - ((unsigned int)res.retry + 1) * - (unsigned int)(res.nscount > 0 ? res.nscount : 1); - } # endif } @@ -1083,6 +1084,8 @@ ares_status_t ares__init_by_sysconfig(ares_channel_t *channel) status = ares__init_sysconfig_watt32(&sysconfig); #elif defined(ANDROID) || defined(__ANDROID__) status = ares__init_sysconfig_android(&sysconfig); +#elif defined(__APPLE__) + status = ares__init_sysconfig_macos(&sysconfig); #elif defined(CARES_USE_LIBRESOLV) status = ares__init_sysconfig_libresolv(&sysconfig); #else @@ -1099,7 +1102,14 @@ ares_status_t ares__init_by_sysconfig(ares_channel_t *channel) goto done; } + /* Lock when applying the configuration to the channel. Don't need to + * lock prior to this. */ + + ares__channel_lock(channel); + status = ares_sysconfig_apply(channel, &sysconfig); + ares__channel_unlock(channel); + if (status != ARES_SUCCESS) { goto done; } diff --git a/deps/cares/src/lib/ares_sysconfig_files.c b/deps/cares/src/lib/ares_sysconfig_files.c index 557888bc740a39..5771a581db5ef1 100644 --- a/deps/cares/src/lib/ares_sysconfig_files.c +++ b/deps/cares/src/lib/ares_sysconfig_files.c @@ -436,7 +436,8 @@ static ares_status_t process_option(ares_sysconfig_t *sysconfig, return status; } -static ares_status_t set_options(ares_sysconfig_t *sysconfig, const char *str) +ares_status_t ares__sysconfig_set_options(ares_sysconfig_t *sysconfig, + const char *str) { ares__buf_t *buf = NULL; ares__llist_t *options = NULL; @@ -494,7 +495,7 @@ ares_status_t ares__init_by_environment(ares_sysconfig_t *sysconfig) res_options = getenv("RES_OPTIONS"); if (res_options) { - status = set_options(sysconfig, res_options); + status = ares__sysconfig_set_options(sysconfig, res_options); if (status != ARES_SUCCESS) { return status; } @@ -617,7 +618,7 @@ static ares_status_t parse_resolvconf_line(ares_sysconfig_t *sysconfig, status = ARES_SUCCESS; } } else if (strcmp(option, "options") == 0) { - status = set_options(sysconfig, value); + status = ares__sysconfig_set_options(sysconfig, value); } return status; diff --git a/deps/cares/src/lib/ares_sysconfig_mac.c b/deps/cares/src/lib/ares_sysconfig_mac.c new file mode 100644 index 00000000000000..65548d20f68753 --- /dev/null +++ b/deps/cares/src/lib/ares_sysconfig_mac.c @@ -0,0 +1,314 @@ +/* MIT License + * + * Copyright (c) 2024 The c-ares project and its contributors + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + * SPDX-License-Identifier: MIT + */ + +#ifdef __APPLE__ + +/* The DNS configuration for apple is stored in the system configuration + * database. Apple does provide an emulated `/etc/resolv.conf` on MacOS (but + * not iOS), it cannot, however, represent the entirety of the DNS + * configuration. Alternatively, libresolv could be used to also retrieve some + * system configuration, but it too is not capable of retrieving the entirety + * of the DNS configuration. + * + * Attempts to use the preferred public API of `SCDynamicStoreCreate()` and + * friends yielded incomplete DNS information. Instead, that leaves some apple + * "internal" symbols from `configd` that we need to access in order to get the + * entire configuration. We can see that we're not the only ones to do this as + * Google Chrome also does: + * https://chromium.googlesource.com/chromium/src/+/HEAD/net/dns/dns_config_watcher_mac.cc + * These internal functions are what `libresolv` and `scutil` use to retrieve + * the dns configuration. Since these symbols are not publicly available, we + * will dynamically load the symbols from `libSystem` and import the `dnsinfo.h` + * private header extracted from: + * https://opensource.apple.com/source/configd/configd-1109.140.1/dnsinfo/dnsinfo.h + */ +# include "ares_setup.h" +# include +# include +# include +# include +# include +# include "thirdparty/apple/dnsinfo.h" +# include +# include "ares.h" +# include "ares_private.h" + +typedef struct { + void *handle; + dns_config_t *(*dns_configuration_copy)(void); + void (*dns_configuration_free)(dns_config_t *config); +} dnsinfo_t; + +static void dnsinfo_destroy(dnsinfo_t *dnsinfo) +{ + if (dnsinfo == NULL) { + return; + } + + if (dnsinfo->handle) { + dlclose(dnsinfo->handle); + } + + ares_free(dnsinfo); +} + +static ares_status_t dnsinfo_init(dnsinfo_t **dnsinfo_out) +{ + dnsinfo_t *dnsinfo = NULL; + ares_status_t status = ARES_SUCCESS; + + if (dnsinfo_out == NULL) { + status = ARES_EFORMERR; + goto done; + } + + *dnsinfo_out = NULL; + + dnsinfo = ares_malloc_zero(sizeof(*dnsinfo)); + + if (dnsinfo == NULL) { + status = ARES_ENOMEM; + goto done; + } + + dnsinfo->handle = dlopen("/usr/lib/libSystem.dylib", RTLD_LAZY | RTLD_NOLOAD); + if (dnsinfo->handle == NULL) { + status = ARES_ESERVFAIL; + goto done; + } + + dnsinfo->dns_configuration_copy = + dlsym(dnsinfo->handle, "dns_configuration_copy"); + dnsinfo->dns_configuration_free = + dlsym(dnsinfo->handle, "dns_configuration_free"); + + if (dnsinfo->dns_configuration_copy == NULL || + dnsinfo->dns_configuration_free == NULL) { + status = ARES_ESERVFAIL; + goto done; + } + + +done: + if (status == ARES_SUCCESS) { + *dnsinfo_out = dnsinfo; + } else { + dnsinfo_destroy(dnsinfo); + } + + return status; +} + +static ares_bool_t search_is_duplicate(const ares_sysconfig_t *sysconfig, + const char *name) +{ + size_t i; + for (i = 0; i < sysconfig->ndomains; i++) { + if (strcasecmp(sysconfig->domains[i], name) == 0) { + return ARES_TRUE; + } + } + return ARES_FALSE; +} + +static ares_status_t read_resolver(const dns_resolver_t *resolver, + ares_sysconfig_t *sysconfig) +{ + int i; + unsigned short port = 0; + ares_status_t status = ARES_SUCCESS; + + /* XXX: resolver->domain is for domain-specific servers. When we implement + * this support, we'll want to use this. But for now, we're going to + * skip any servers which set this since we can't properly route. */ + if (resolver->domain != NULL) { + return ARES_SUCCESS; + } + + /* Check to see if DNS server should be used, base this on if the server is + * reachable or can be reachable automatically if we send traffic that + * direction. */ + if (!(resolver->reach_flags & + (kSCNetworkFlagsReachable | + kSCNetworkReachabilityFlagsConnectionOnTraffic))) { + return ARES_SUCCESS; + } + + /* NOTE: it doesn't look like resolver->flags is relevant */ + + /* If there's no nameservers, nothing to do */ + if (resolver->n_nameserver <= 0) { + return ARES_SUCCESS; + } + + /* Default port */ + port = resolver->port; + + /* Append search list */ + if (resolver->n_search > 0) { + char **new_domains = ares_realloc_zero( + sysconfig->domains, sizeof(*sysconfig->domains) * sysconfig->ndomains, + sizeof(*sysconfig->domains) * + (sysconfig->ndomains + (size_t)resolver->n_search)); + if (new_domains == NULL) { + return ARES_ENOMEM; + } + sysconfig->domains = new_domains; + + for (i = 0; i < resolver->n_search; i++) { + /* Skip duplicates */ + if (search_is_duplicate(sysconfig, resolver->search[i])) { + continue; + } + sysconfig->domains[sysconfig->ndomains] = + ares_strdup(resolver->search[i]); + if (sysconfig->domains[sysconfig->ndomains] == NULL) { + return ARES_ENOMEM; + } + sysconfig->ndomains++; + } + } + + /* NOTE: we're going to skip importing the sort addresses for now. Its + * likely not used, its not obvious how to even configure such a thing. + */ +# if 0 + for (i=0; in_sortaddr; i++) { + char val[256]; + inet_ntop(AF_INET, &resolver->sortaddr[i]->address, val, sizeof(val)); + printf("\t\t%s/", val); + inet_ntop(AF_INET, &resolver->sortaddr[i]->mask, val, sizeof(val)); + printf("%s\n", val); + } +# endif + + if (resolver->options != NULL) { + status = ares__sysconfig_set_options(sysconfig, resolver->options); + if (status != ARES_SUCCESS) { + return status; + } + } + + /* NOTE: + * - resolver->timeout appears unused, always 0, so we ignore this + * - resolver->service_identifier doesn't appear relevant to us + * - resolver->cid also isn't relevant + * - resolver->if_index we don't need, if_name is used instead. + */ + + /* XXX: resolver->search_order appears like it might be relevant, we might + * need to sort the resulting list by this metric if we find in the future we + * need to. That said, due to the automatic re-sorting we do, I'm not sure it + * matters. Here's an article on this search order stuff: + * https://www.cnet.com/tech/computing/os-x-10-6-3-and-dns-server-priority-changes/ + */ + + for (i = 0; i < resolver->n_nameserver; i++) { + struct ares_addr addr; + unsigned short addrport; + + if (resolver->nameserver[i]->sa_family == AF_INET) { + struct sockaddr_in *addr_in = + (struct sockaddr_in *)(void *)resolver->nameserver[i]; + addr.family = AF_INET; + memcpy(&addr.addr.addr4, &(addr_in->sin_addr), sizeof(addr.addr.addr4)); + addrport = ntohs(addr_in->sin_port); + } else if (resolver->nameserver[i]->sa_family == AF_INET6) { + struct sockaddr_in6 *addr_in6 = + (struct sockaddr_in6 *)(void *)resolver->nameserver[i]; + addr.family = AF_INET6; + memcpy(&addr.addr.addr6, &(addr_in6->sin6_addr), sizeof(addr.addr.addr6)); + addrport = ntohs(addr_in6->sin6_port); + } else { + continue; + } + + if (addrport == 0) { + addrport = port; + } + status = ares__sconfig_append(&sysconfig->sconfig, &addr, addrport, + addrport, resolver->if_name); + if (status != ARES_SUCCESS) { + return status; + } + } + + return status; +} + +static ares_status_t read_resolvers(dns_resolver_t **resolvers, int nresolvers, + ares_sysconfig_t *sysconfig) +{ + ares_status_t status = ARES_SUCCESS; + int i; + + for (i = 0; status == ARES_SUCCESS && i < nresolvers; i++) { + status = read_resolver(resolvers[i], sysconfig); + } + + return status; +} + +ares_status_t ares__init_sysconfig_macos(ares_sysconfig_t *sysconfig) +{ + dnsinfo_t *dnsinfo = NULL; + dns_config_t *sc_dns = NULL; + ares_status_t status = ARES_SUCCESS; + + status = dnsinfo_init(&dnsinfo); + + if (status != ARES_SUCCESS) { + goto done; + } + + sc_dns = dnsinfo->dns_configuration_copy(); + if (sc_dns == NULL) { + status = ARES_ESERVFAIL; + goto done; + } + + /* There are `resolver`, `scoped_resolver`, and `service_specific_resolver` + * settings. The `scoped_resolver` settings appear to be already available via + * the `resolver` settings and likely are only relevant to link-local dns + * servers which we can already detect via the address itself, so we'll ignore + * the `scoped_resolver` section. It isn't clear what the + * `service_specific_resolver` is used for, I haven't personally seen it + * in use so we'll ignore this until at some point where we find we need it. + * Likely this wasn't available via `/etc/resolv.conf` nor `libresolv` anyhow + * so its not worse to prior configuration methods, worst case. */ + + status = read_resolvers(sc_dns->resolver, sc_dns->n_resolver, sysconfig); + +done: + if (dnsinfo) { + dnsinfo->dns_configuration_free(sc_dns); + dnsinfo_destroy(dnsinfo); + } + return status; +} + + +#endif diff --git a/deps/cares/src/lib/ares_timeout.c b/deps/cares/src/lib/ares_timeout.c index 4e80580b5e0aa4..7e60acb263017f 100644 --- a/deps/cares/src/lib/ares_timeout.c +++ b/deps/cares/src/lib/ares_timeout.c @@ -55,8 +55,8 @@ void ares__timeval_remaining(struct timeval *remaining, } } -struct timeval *ares_timeout(ares_channel_t *channel, struct timeval *maxtv, - struct timeval *tvbuf) +struct timeval *ares_timeout(const ares_channel_t *channel, + struct timeval *maxtv, struct timeval *tvbuf) { const struct query *query; ares__slist_node_t *node; diff --git a/deps/cares/src/lib/ares_update_servers.c b/deps/cares/src/lib/ares_update_servers.c index fce791476327c3..847a78a6e86526 100644 --- a/deps/cares/src/lib/ares_update_servers.c +++ b/deps/cares/src/lib/ares_update_servers.c @@ -167,13 +167,13 @@ static ares_bool_t ares_server_blacklisted(const struct ares_addr *addr) const unsigned char netbase[16]; unsigned char netmask; } blacklist_v6[] = { - /* fec0::/10 was deprecated by [RFC3879] in September 2004. Formerly a - * Site-Local scoped address prefix. These are never valid DNS servers, - * but are known to be returned at least sometimes on Windows and Android. - */ - {{ 0xfe, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + /* fec0::/10 was deprecated by [RFC3879] in September 2004. Formerly a + * Site-Local scoped address prefix. These are never valid DNS servers, + * but are known to be returned at least sometimes on Windows and Android. + */ + { { 0xfe, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, - 10} + 10 } }; size_t i; @@ -405,10 +405,16 @@ ares_status_t ares__sconfig_append(ares__llist_t **sconfig, s->udp_port = udp_port; s->tcp_port = tcp_port; - /* Handle link-local enumeration */ - if (ares_strlen(ll_iface) && ares__addr_is_linklocal(&s->addr)) { + /* Handle link-local enumeration. If an interface is specified on a + * non-link-local address, we'll simply end up ignoring that */ + if (ares__addr_is_linklocal(&s->addr)) { + if (ares_strlen(ll_iface) == 0) { + /* Silently ignore this entry, we require an interface */ + status = ARES_SUCCESS; + goto fail; + } status = ares__sconfig_linklocal(s, ll_iface); - /* Silently ignore this entry */ + /* Silently ignore this entry, we can't validate the interface */ if (status != ARES_SUCCESS) { status = ARES_SUCCESS; goto fail; @@ -587,6 +593,8 @@ static ares_status_t ares__server_create(ares_channel_t *channel, server->udp_port = ares__sconfig_get_port(channel, sconfig, ARES_FALSE); server->tcp_port = ares__sconfig_get_port(channel, sconfig, ARES_TRUE); server->addr.family = sconfig->addr.family; + server->next_retry_time.tv_sec = 0; + server->next_retry_time.tv_usec = 0; if (sconfig->addr.family == AF_INET) { memcpy(&server->addr.addr.addr4, &sconfig->addr.addr.addr4, @@ -711,7 +719,7 @@ ares_status_t ares__servers_update(ares_channel_t *channel, const ares_sconfig_t *sconfig = ares__llist_node_val(node); ares__slist_node_t *snode; - /* Don't add duplicate servers! */ + /* If a server has already appeared in the list of new servers, skip it. */ if (ares__server_isdup(channel, node)) { continue; } @@ -908,7 +916,64 @@ ares_status_t ares_in_addr_to_server_config_llist(const struct in_addr *servers, return ARES_ENOMEM; } -int ares_get_servers(ares_channel_t *channel, struct ares_addr_node **servers) +/* Write out the details of a server to a buffer */ +ares_status_t ares_get_server_addr(const struct server_state *server, + ares__buf_t *buf) +{ + ares_status_t status; + char addr[INET6_ADDRSTRLEN]; + + /* ipv4addr or [ipv6addr] */ + if (server->addr.family == AF_INET6) { + status = ares__buf_append_byte(buf, '['); + if (status != ARES_SUCCESS) { + return status; + } + } + + ares_inet_ntop(server->addr.family, &server->addr.addr, addr, sizeof(addr)); + + status = ares__buf_append_str(buf, addr); + if (status != ARES_SUCCESS) { + return status; + } + + if (server->addr.family == AF_INET6) { + status = ares__buf_append_byte(buf, ']'); + if (status != ARES_SUCCESS) { + return status; + } + } + + /* :port */ + status = ares__buf_append_byte(buf, ':'); + if (status != ARES_SUCCESS) { + return status; + } + + status = ares__buf_append_num_dec(buf, server->udp_port, 0); + if (status != ARES_SUCCESS) { + return status; + } + + /* %iface */ + if (ares_strlen(server->ll_iface)) { + status = ares__buf_append_byte(buf, '%'); + if (status != ARES_SUCCESS) { + return status; + } + + status = ares__buf_append_str(buf, server->ll_iface); + if (status != ARES_SUCCESS) { + return status; + } + } + + return ARES_SUCCESS; +} + +int ares_get_servers(const ares_channel_t *channel, + struct ares_addr_node **servers) { struct ares_addr_node *srvr_head = NULL; struct ares_addr_node *srvr_last = NULL; @@ -962,7 +1027,7 @@ int ares_get_servers(ares_channel_t *channel, struct ares_addr_node **servers) return (int)status; } -int ares_get_servers_ports(ares_channel_t *channel, +int ares_get_servers_ports(const ares_channel_t *channel, struct ares_addr_port_node **servers) { struct ares_addr_port_node *srvr_head = NULL; @@ -1110,7 +1175,7 @@ int ares_set_servers_ports_csv(ares_channel_t *channel, const char *_csv) return (int)set_servers_csv(channel, _csv); } -char *ares_get_servers_csv(ares_channel_t *channel) +char *ares_get_servers_csv(const ares_channel_t *channel) { ares__buf_t *buf = NULL; char *out = NULL; @@ -1127,7 +1192,6 @@ char *ares_get_servers_csv(ares_channel_t *channel) node = ares__slist_node_next(node)) { ares_status_t status; const struct server_state *server = ares__slist_node_val(node); - char addr[64]; if (ares__buf_len(buf)) { status = ares__buf_append_byte(buf, ','); @@ -1136,51 +1200,10 @@ char *ares_get_servers_csv(ares_channel_t *channel) } } - /* ipv4addr or [ipv6addr] */ - if (server->addr.family == AF_INET6) { - status = ares__buf_append_byte(buf, '['); - if (status != ARES_SUCCESS) { - goto done; - } - } - - ares_inet_ntop(server->addr.family, &server->addr.addr, addr, sizeof(addr)); - - status = ares__buf_append_str(buf, addr); - if (status != ARES_SUCCESS) { - goto done; - } - - if (server->addr.family == AF_INET6) { - status = ares__buf_append_byte(buf, ']'); - if (status != ARES_SUCCESS) { - goto done; - } - } - - /* :port */ - status = ares__buf_append_byte(buf, ':'); + status = ares_get_server_addr(server, buf); if (status != ARES_SUCCESS) { goto done; } - - status = ares__buf_append_num_dec(buf, server->udp_port, 0); - if (status != ARES_SUCCESS) { - goto done; - } - - /* %iface */ - if (ares_strlen(server->ll_iface)) { - status = ares__buf_append_byte(buf, '%'); - if (status != ARES_SUCCESS) { - goto done; - } - - status = ares__buf_append_str(buf, server->ll_iface); - if (status != ARES_SUCCESS) { - goto done; - } - } } out = ares__buf_finish_str(buf, NULL); @@ -1191,3 +1214,13 @@ char *ares_get_servers_csv(ares_channel_t *channel) ares__buf_destroy(buf); return out; } + +void ares_set_server_state_callback(ares_channel_t *channel, + ares_server_state_callback cb, void *data) +{ + if (channel == NULL) { + return; + } + channel->server_state_cb = cb; + channel->server_state_cb_data = data; +} diff --git a/deps/cares/src/lib/thirdparty/apple/dnsinfo.h b/deps/cares/src/lib/thirdparty/apple/dnsinfo.h new file mode 100644 index 00000000000000..d51c546f2f58ce --- /dev/null +++ b/deps/cares/src/lib/thirdparty/apple/dnsinfo.h @@ -0,0 +1,128 @@ +/* + * Copyright (c) 2004-2006, 2008, 2009, 2011-2013, 2015-2018 Apple Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ + +#ifndef __DNSINFO_H__ +#define __DNSINFO_H__ + +/* + * These routines provide access to the systems DNS configuration + */ + +#include +#include +#include +#include +#include +#include + +#define DNSINFO_VERSION 20170629 + +#define DEFAULT_SEARCH_ORDER 200000 /* search order for the "default" resolver domain name */ + +#define DNS_PTR(type, name) \ + union { \ + type name; \ + uint64_t _ ## name ## _p; \ + } + +#define DNS_VAR(type, name) \ + type name + + +#pragma pack(4) +typedef struct { + struct in_addr address; + struct in_addr mask; +} dns_sortaddr_t; +#pragma pack() + + +#pragma pack(4) +typedef struct { + DNS_PTR(char *, domain); /* domain */ + DNS_VAR(int32_t, n_nameserver); /* # nameserver */ + DNS_PTR(struct sockaddr **, nameserver); + DNS_VAR(uint16_t, port); /* port (in host byte order) */ + DNS_VAR(int32_t, n_search); /* # search */ + DNS_PTR(char **, search); + DNS_VAR(int32_t, n_sortaddr); /* # sortaddr */ + DNS_PTR(dns_sortaddr_t **, sortaddr); + DNS_PTR(char *, options); /* options */ + DNS_VAR(uint32_t, timeout); /* timeout */ + DNS_VAR(uint32_t, search_order); /* search_order */ + DNS_VAR(uint32_t, if_index); + DNS_VAR(uint32_t, flags); + DNS_VAR(uint32_t, reach_flags); /* SCNetworkReachabilityFlags */ + DNS_VAR(uint32_t, service_identifier); + DNS_PTR(char *, cid); /* configuration identifer */ + DNS_PTR(char *, if_name); /* if_index interface name */ +} dns_resolver_t; +#pragma pack() + + +#define DNS_RESOLVER_FLAGS_REQUEST_A_RECORDS 0x0002 /* always requesting for A dns records in queries */ +#define DNS_RESOLVER_FLAGS_REQUEST_AAAA_RECORDS 0x0004 /* always requesting for AAAA dns records in queries */ + +#define DNS_RESOLVER_FLAGS_REQUEST_ALL_RECORDS \ + (DNS_RESOLVER_FLAGS_REQUEST_A_RECORDS | DNS_RESOLVER_FLAGS_REQUEST_AAAA_RECORDS) + +#define DNS_RESOLVER_FLAGS_SCOPED 0x1000 /* configuration is for scoped questions */ +#define DNS_RESOLVER_FLAGS_SERVICE_SPECIFIC 0x2000 /* configuration is service-specific */ +#define DNS_RESOLVER_FLAGS_SUPPLEMENTAL 0x4000 /* supplemental match configuration */ + + +#pragma pack(4) +typedef struct { + DNS_VAR(int32_t, n_resolver); /* resolver configurations */ + DNS_PTR(dns_resolver_t **, resolver); + DNS_VAR(int32_t, n_scoped_resolver); /* "scoped" resolver configurations */ + DNS_PTR(dns_resolver_t **, scoped_resolver); + DNS_VAR(uint64_t, generation); + DNS_VAR(int32_t, n_service_specific_resolver); + DNS_PTR(dns_resolver_t **, service_specific_resolver); + DNS_VAR(uint32_t, version); +} dns_config_t; +#pragma pack() + + +__BEGIN_DECLS + +/* + * DNS configuration access APIs + */ +const char * +dns_configuration_notify_key (void) API_AVAILABLE(macos(10.4), ios(2.0)); + +dns_config_t * +dns_configuration_copy (void) API_AVAILABLE(macos(10.4), ios(2.0)); + +void +dns_configuration_free (dns_config_t *config) API_AVAILABLE(macos(10.4), ios(2.0)); + +void +_dns_configuration_ack (dns_config_t *config, + const char *bundle_id) API_AVAILABLE(macos(10.8), ios(6.0)); + +__END_DECLS + +#endif /* __DNSINFO_H__ */ diff --git a/deps/cares/src/tools/CMakeLists.txt b/deps/cares/src/tools/CMakeLists.txt index fb795a91741aaf..0016ca4c0b1a0a 100644 --- a/deps/cares/src/tools/CMakeLists.txt +++ b/deps/cares/src/tools/CMakeLists.txt @@ -19,6 +19,10 @@ IF (CARES_BUILD_TOOLS) C_STANDARD 90 ) + IF (ANDROID) + SET_TARGET_PROPERTIES (ahost PROPERTIES C_STANDARD 99) + ENDIF () + TARGET_COMPILE_DEFINITIONS (ahost PRIVATE HAVE_CONFIG_H=1 CARES_NO_DEPRECATED) TARGET_LINK_LIBRARIES (ahost PRIVATE ${PROJECT_NAME}) IF (CARES_INSTALL) @@ -40,6 +44,10 @@ IF (CARES_BUILD_TOOLS) C_STANDARD 90 ) + IF (ANDROID) + SET_TARGET_PROPERTIES (adig PROPERTIES C_STANDARD 99) + ENDIF () + TARGET_COMPILE_DEFINITIONS (adig PRIVATE HAVE_CONFIG_H=1 CARES_NO_DEPRECATED) TARGET_LINK_LIBRARIES (adig PRIVATE ${PROJECT_NAME}) IF (CARES_INSTALL) diff --git a/deps/cares/src/tools/adig.c b/deps/cares/src/tools/adig.c index cd427f4b193526..66c118844e8c7e 100644 --- a/deps/cares/src/tools/adig.c +++ b/deps/cares/src/tools/adig.c @@ -84,12 +84,12 @@ typedef struct { } nv_t; static const nv_t configflags[] = { - {"usevc", ARES_FLAG_USEVC }, - { "primary", ARES_FLAG_PRIMARY }, - { "igntc", ARES_FLAG_IGNTC }, - { "norecurse", ARES_FLAG_NORECURSE}, - { "stayopen", ARES_FLAG_STAYOPEN }, - { "noaliases", ARES_FLAG_NOALIASES} + { "usevc", ARES_FLAG_USEVC }, + { "primary", ARES_FLAG_PRIMARY }, + { "igntc", ARES_FLAG_IGNTC }, + { "norecurse", ARES_FLAG_NORECURSE }, + { "stayopen", ARES_FLAG_STAYOPEN }, + { "noaliases", ARES_FLAG_NOALIASES } }; static const size_t nconfigflags = sizeof(configflags) / sizeof(*configflags); diff --git a/deps/corepack/CHANGELOG.md b/deps/corepack/CHANGELOG.md index 20d282c3a7b8e0..f3a4d9d83380e4 100644 --- a/deps/corepack/CHANGELOG.md +++ b/deps/corepack/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [0.28.2](https://github.com/nodejs/corepack/compare/v0.28.1...v0.28.2) (2024-05-31) + + +### Features + +* update package manager versions ([#481](https://github.com/nodejs/corepack/issues/481)) ([e1abb83](https://github.com/nodejs/corepack/commit/e1abb832416a793b490b2b51b4082fe822fc932c)) + ## [0.28.1](https://github.com/nodejs/corepack/compare/v0.28.0...v0.28.1) (2024-05-10) diff --git a/deps/corepack/README.md b/deps/corepack/README.md index f72f7f71ef77e8..d94614affc5353 100644 --- a/deps/corepack/README.md +++ b/deps/corepack/README.md @@ -247,7 +247,7 @@ same major line. Should you need to upgrade to a new major, use an explicit prevent Corepack showing the URL when it needs to download software, or can be set to `1` to have the URL shown. By default, when Corepack is called explicitly (e.g. `corepack pnpm …`), it is set to `0`; when Corepack is called - implicitely (e.g. `pnpm …`), it is set to `1`. + implicitly (e.g. `pnpm …`), it is set to `1`. When standard input is a TTY and no CI environment is detected, Corepack will ask for user input before starting the download. @@ -304,7 +304,8 @@ same major line. Should you need to upgrade to a new major, use an explicit ### Networking -There are a wide variety of networking issues that can occur while running `corepack` commands. Things to check: +There are a wide variety of networking issues that can occur while running +`corepack` commands. Things to check: - Make sure your network connection is active. - Make sure the host for your request can be resolved by your DNS; try using diff --git a/deps/corepack/dist/lib/corepack.cjs b/deps/corepack/dist/lib/corepack.cjs index e2a2cde7446d24..5e3dbd3a1e5cf6 100644 --- a/deps/corepack/dist/lib/corepack.cjs +++ b/deps/corepack/dist/lib/corepack.cjs @@ -1037,9 +1037,9 @@ var init_lib = __esm({ } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/internal/constants.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/internal/constants.js var require_constants = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/internal/constants.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/internal/constants.js"(exports, module2) { var SEMVER_SPEC_VERSION = "2.0.0"; var MAX_LENGTH = 256; var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */ @@ -1068,18 +1068,18 @@ var require_constants = __commonJS({ } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/internal/debug.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/internal/debug.js var require_debug = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/internal/debug.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/internal/debug.js"(exports, module2) { var debug2 = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => { }; module2.exports = debug2; } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/internal/re.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/internal/re.js var require_re = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/internal/re.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/internal/re.js"(exports, module2) { var { MAX_SAFE_COMPONENT_LENGTH, MAX_SAFE_BUILD_LENGTH, @@ -1162,9 +1162,9 @@ var require_re = __commonJS({ } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/internal/parse-options.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/internal/parse-options.js var require_parse_options = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/internal/parse-options.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/internal/parse-options.js"(exports, module2) { var looseOption = Object.freeze({ loose: true }); var emptyOpts = Object.freeze({}); var parseOptions = (options) => { @@ -1180,9 +1180,9 @@ var require_parse_options = __commonJS({ } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/internal/identifiers.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/internal/identifiers.js var require_identifiers = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/internal/identifiers.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/internal/identifiers.js"(exports, module2) { var numeric = /^[0-9]+$/; var compareIdentifiers = (a, b) => { const anum = numeric.test(a); @@ -1201,9 +1201,9 @@ var require_identifiers = __commonJS({ } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/classes/semver.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/classes/semver.js var require_semver = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/classes/semver.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/classes/semver.js"(exports, module2) { var debug2 = require_debug(); var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants(); var { safeRe: re, t } = require_re(); @@ -1329,7 +1329,7 @@ var require_semver = __commonJS({ do { const a = this.build[i]; const b = other.build[i]; - debug2("prerelease compare", i, a, b); + debug2("build compare", i, a, b); if (a === void 0 && b === void 0) { return 0; } else if (b === void 0) { @@ -1443,9 +1443,9 @@ var require_semver = __commonJS({ } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/parse.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/parse.js var require_parse = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/parse.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/parse.js"(exports, module2) { var SemVer = require_semver(); var parse = (version2, options, throwErrors = false) => { if (version2 instanceof SemVer) { @@ -1464,9 +1464,9 @@ var require_parse = __commonJS({ } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/valid.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/valid.js var require_valid = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/valid.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/valid.js"(exports, module2) { var parse = require_parse(); var valid = (version2, options) => { const v = parse(version2, options); @@ -1476,9 +1476,9 @@ var require_valid = __commonJS({ } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/clean.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/clean.js var require_clean = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/clean.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/clean.js"(exports, module2) { var parse = require_parse(); var clean = (version2, options) => { const s = parse(version2.trim().replace(/^[=v]+/, ""), options); @@ -1488,9 +1488,9 @@ var require_clean = __commonJS({ } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/inc.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/inc.js var require_inc = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/inc.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/inc.js"(exports, module2) { var SemVer = require_semver(); var inc = (version2, release, options, identifier, identifierBase) => { if (typeof options === "string") { @@ -1511,9 +1511,9 @@ var require_inc = __commonJS({ } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/diff.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/diff.js var require_diff = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/diff.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/diff.js"(exports, module2) { var parse = require_parse(); var diff = (version1, version2) => { const v1 = parse(version1, null, true); @@ -1555,36 +1555,36 @@ var require_diff = __commonJS({ } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/major.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/major.js var require_major = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/major.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/major.js"(exports, module2) { var SemVer = require_semver(); var major = (a, loose) => new SemVer(a, loose).major; module2.exports = major; } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/minor.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/minor.js var require_minor = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/minor.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/minor.js"(exports, module2) { var SemVer = require_semver(); var minor = (a, loose) => new SemVer(a, loose).minor; module2.exports = minor; } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/patch.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/patch.js var require_patch = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/patch.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/patch.js"(exports, module2) { var SemVer = require_semver(); var patch = (a, loose) => new SemVer(a, loose).patch; module2.exports = patch; } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/prerelease.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/prerelease.js var require_prerelease = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/prerelease.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/prerelease.js"(exports, module2) { var parse = require_parse(); var prerelease = (version2, options) => { const parsed = parse(version2, options); @@ -1594,36 +1594,36 @@ var require_prerelease = __commonJS({ } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/compare.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/compare.js var require_compare = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/compare.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/compare.js"(exports, module2) { var SemVer = require_semver(); var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose)); module2.exports = compare; } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/rcompare.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/rcompare.js var require_rcompare = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/rcompare.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/rcompare.js"(exports, module2) { var compare = require_compare(); var rcompare = (a, b, loose) => compare(b, a, loose); module2.exports = rcompare; } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/compare-loose.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/compare-loose.js var require_compare_loose = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/compare-loose.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/compare-loose.js"(exports, module2) { var compare = require_compare(); var compareLoose = (a, b) => compare(a, b, true); module2.exports = compareLoose; } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/compare-build.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/compare-build.js var require_compare_build = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/compare-build.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/compare-build.js"(exports, module2) { var SemVer = require_semver(); var compareBuild = (a, b, loose) => { const versionA = new SemVer(a, loose); @@ -1634,81 +1634,81 @@ var require_compare_build = __commonJS({ } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/sort.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/sort.js var require_sort = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/sort.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/sort.js"(exports, module2) { var compareBuild = require_compare_build(); var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose)); module2.exports = sort; } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/rsort.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/rsort.js var require_rsort = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/rsort.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/rsort.js"(exports, module2) { var compareBuild = require_compare_build(); var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose)); module2.exports = rsort; } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/gt.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/gt.js var require_gt = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/gt.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/gt.js"(exports, module2) { var compare = require_compare(); var gt = (a, b, loose) => compare(a, b, loose) > 0; module2.exports = gt; } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/lt.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/lt.js var require_lt = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/lt.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/lt.js"(exports, module2) { var compare = require_compare(); var lt = (a, b, loose) => compare(a, b, loose) < 0; module2.exports = lt; } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/eq.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/eq.js var require_eq = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/eq.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/eq.js"(exports, module2) { var compare = require_compare(); var eq = (a, b, loose) => compare(a, b, loose) === 0; module2.exports = eq; } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/neq.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/neq.js var require_neq = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/neq.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/neq.js"(exports, module2) { var compare = require_compare(); var neq = (a, b, loose) => compare(a, b, loose) !== 0; module2.exports = neq; } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/gte.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/gte.js var require_gte = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/gte.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/gte.js"(exports, module2) { var compare = require_compare(); var gte = (a, b, loose) => compare(a, b, loose) >= 0; module2.exports = gte; } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/lte.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/lte.js var require_lte = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/lte.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/lte.js"(exports, module2) { var compare = require_compare(); var lte = (a, b, loose) => compare(a, b, loose) <= 0; module2.exports = lte; } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/cmp.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/cmp.js var require_cmp = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/cmp.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/cmp.js"(exports, module2) { var eq = require_eq(); var neq = require_neq(); var gt = require_gt(); @@ -1755,9 +1755,9 @@ var require_cmp = __commonJS({ } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/coerce.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/coerce.js var require_coerce = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/coerce.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/coerce.js"(exports, module2) { var SemVer = require_semver(); var parse = require_parse(); var { safeRe: re, t } = require_re(); @@ -1800,1283 +1800,667 @@ var require_coerce = __commonJS({ } }); -// .yarn/cache/yallist-npm-4.0.0-b493d9e907-2286b5e8db.zip/node_modules/yallist/iterator.js -var require_iterator = __commonJS({ - ".yarn/cache/yallist-npm-4.0.0-b493d9e907-2286b5e8db.zip/node_modules/yallist/iterator.js"(exports, module2) { - "use strict"; - module2.exports = function(Yallist) { - Yallist.prototype[Symbol.iterator] = function* () { - for (let walker = this.head; walker; walker = walker.next) { - yield walker.value; +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/internal/lrucache.js +var require_lrucache = __commonJS({ + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/internal/lrucache.js"(exports, module2) { + var LRUCache = class { + constructor() { + this.max = 1e3; + this.map = /* @__PURE__ */ new Map(); + } + get(key) { + const value = this.map.get(key); + if (value === void 0) { + return void 0; + } else { + this.map.delete(key); + this.map.set(key, value); + return value; } - }; + } + delete(key) { + return this.map.delete(key); + } + set(key, value) { + const deleted = this.delete(key); + if (!deleted && value !== void 0) { + if (this.map.size >= this.max) { + const firstKey = this.map.keys().next().value; + this.delete(firstKey); + } + this.map.set(key, value); + } + return this; + } }; + module2.exports = LRUCache; } }); -// .yarn/cache/yallist-npm-4.0.0-b493d9e907-2286b5e8db.zip/node_modules/yallist/yallist.js -var require_yallist = __commonJS({ - ".yarn/cache/yallist-npm-4.0.0-b493d9e907-2286b5e8db.zip/node_modules/yallist/yallist.js"(exports, module2) { - "use strict"; - module2.exports = Yallist; - Yallist.Node = Node; - Yallist.create = Yallist; - function Yallist(list) { - var self2 = this; - if (!(self2 instanceof Yallist)) { - self2 = new Yallist(); - } - self2.tail = null; - self2.head = null; - self2.length = 0; - if (list && typeof list.forEach === "function") { - list.forEach(function(item) { - self2.push(item); - }); - } else if (arguments.length > 0) { - for (var i = 0, l = arguments.length; i < l; i++) { - self2.push(arguments[i]); +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/classes/range.js +var require_range = __commonJS({ + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/classes/range.js"(exports, module2) { + var Range = class _Range { + constructor(range, options) { + options = parseOptions(options); + if (range instanceof _Range) { + if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) { + return range; + } else { + return new _Range(range.raw, options); + } + } + if (range instanceof Comparator) { + this.raw = range.value; + this.set = [[range]]; + this.format(); + return this; + } + this.options = options; + this.loose = !!options.loose; + this.includePrerelease = !!options.includePrerelease; + this.raw = range.trim().split(/\s+/).join(" "); + this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length); + if (!this.set.length) { + throw new TypeError(`Invalid SemVer Range: ${this.raw}`); + } + if (this.set.length > 1) { + const first = this.set[0]; + this.set = this.set.filter((c) => !isNullSet(c[0])); + if (this.set.length === 0) { + this.set = [first]; + } else if (this.set.length > 1) { + for (const c of this.set) { + if (c.length === 1 && isAny(c[0])) { + this.set = [c]; + break; + } + } + } } + this.format(); } - return self2; - } - Yallist.prototype.removeNode = function(node) { - if (node.list !== this) { - throw new Error("removing node which does not belong to this list"); + format() { + this.range = this.set.map((comps) => comps.join(" ").trim()).join("||").trim(); + return this.range; } - var next = node.next; - var prev = node.prev; - if (next) { - next.prev = prev; + toString() { + return this.range; } - if (prev) { - prev.next = next; + parseRange(range) { + const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE); + const memoKey = memoOpts + ":" + range; + const cached = cache.get(memoKey); + if (cached) { + return cached; + } + const loose = this.options.loose; + const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]; + range = range.replace(hr, hyphenReplace(this.options.includePrerelease)); + debug2("hyphen replace", range); + range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace); + debug2("comparator trim", range); + range = range.replace(re[t.TILDETRIM], tildeTrimReplace); + debug2("tilde trim", range); + range = range.replace(re[t.CARETTRIM], caretTrimReplace); + debug2("caret trim", range); + let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options)); + if (loose) { + rangeList = rangeList.filter((comp) => { + debug2("loose invalid filter", comp, this.options); + return !!comp.match(re[t.COMPARATORLOOSE]); + }); + } + debug2("range list", rangeList); + const rangeMap = /* @__PURE__ */ new Map(); + const comparators = rangeList.map((comp) => new Comparator(comp, this.options)); + for (const comp of comparators) { + if (isNullSet(comp)) { + return [comp]; + } + rangeMap.set(comp.value, comp); + } + if (rangeMap.size > 1 && rangeMap.has("")) { + rangeMap.delete(""); + } + const result = [...rangeMap.values()]; + cache.set(memoKey, result); + return result; } - if (node === this.head) { - this.head = next; + intersects(range, options) { + if (!(range instanceof _Range)) { + throw new TypeError("a Range is required"); + } + return this.set.some((thisComparators) => { + return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => { + return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => { + return rangeComparators.every((rangeComparator) => { + return thisComparator.intersects(rangeComparator, options); + }); + }); + }); + }); } - if (node === this.tail) { - this.tail = prev; + // if ANY of the sets match ALL of its comparators, then pass + test(version2) { + if (!version2) { + return false; + } + if (typeof version2 === "string") { + try { + version2 = new SemVer(version2, this.options); + } catch (er) { + return false; + } + } + for (let i = 0; i < this.set.length; i++) { + if (testSet(this.set[i], version2, this.options)) { + return true; + } + } + return false; } - node.list.length--; - node.next = null; - node.prev = null; - node.list = null; - return next; }; - Yallist.prototype.unshiftNode = function(node) { - if (node === this.head) { - return; - } - if (node.list) { - node.list.removeNode(node); - } - var head = this.head; - node.list = this; - node.next = head; - if (head) { - head.prev = node; - } - this.head = node; - if (!this.tail) { - this.tail = node; + module2.exports = Range; + var LRU = require_lrucache(); + var cache = new LRU(); + var parseOptions = require_parse_options(); + var Comparator = require_comparator(); + var debug2 = require_debug(); + var SemVer = require_semver(); + var { + safeRe: re, + t, + comparatorTrimReplace, + tildeTrimReplace, + caretTrimReplace + } = require_re(); + var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants(); + var isNullSet = (c) => c.value === "<0.0.0-0"; + var isAny = (c) => c.value === ""; + var isSatisfiable = (comparators, options) => { + let result = true; + const remainingComparators = comparators.slice(); + let testComparator = remainingComparators.pop(); + while (result && remainingComparators.length) { + result = remainingComparators.every((otherComparator) => { + return testComparator.intersects(otherComparator, options); + }); + testComparator = remainingComparators.pop(); } - this.length++; + return result; }; - Yallist.prototype.pushNode = function(node) { - if (node === this.tail) { - return; - } - if (node.list) { - node.list.removeNode(node); - } - var tail = this.tail; - node.list = this; - node.prev = tail; - if (tail) { - tail.next = node; - } - this.tail = node; - if (!this.head) { - this.head = node; - } - this.length++; + var parseComparator = (comp, options) => { + debug2("comp", comp, options); + comp = replaceCarets(comp, options); + debug2("caret", comp); + comp = replaceTildes(comp, options); + debug2("tildes", comp); + comp = replaceXRanges(comp, options); + debug2("xrange", comp); + comp = replaceStars(comp, options); + debug2("stars", comp); + return comp; }; - Yallist.prototype.push = function() { - for (var i = 0, l = arguments.length; i < l; i++) { - push(this, arguments[i]); - } - return this.length; + var isX = (id) => !id || id.toLowerCase() === "x" || id === "*"; + var replaceTildes = (comp, options) => { + return comp.trim().split(/\s+/).map((c) => replaceTilde(c, options)).join(" "); }; - Yallist.prototype.unshift = function() { - for (var i = 0, l = arguments.length; i < l; i++) { - unshift(this, arguments[i]); - } - return this.length; + var replaceTilde = (comp, options) => { + const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]; + return comp.replace(r, (_, M, m, p, pr) => { + debug2("tilde", comp, _, M, m, p, pr); + let ret; + if (isX(M)) { + ret = ""; + } else if (isX(m)) { + ret = `>=${M}.0.0 <${+M + 1}.0.0-0`; + } else if (isX(p)) { + ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`; + } else if (pr) { + debug2("replaceTilde pr", pr); + ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`; + } else { + ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`; + } + debug2("tilde return", ret); + return ret; + }); }; - Yallist.prototype.pop = function() { - if (!this.tail) { - return void 0; - } - var res = this.tail.value; - this.tail = this.tail.prev; - if (this.tail) { - this.tail.next = null; - } else { - this.head = null; - } - this.length--; - return res; + var replaceCarets = (comp, options) => { + return comp.trim().split(/\s+/).map((c) => replaceCaret(c, options)).join(" "); }; - Yallist.prototype.shift = function() { - if (!this.head) { - return void 0; - } - var res = this.head.value; - this.head = this.head.next; - if (this.head) { - this.head.prev = null; - } else { - this.tail = null; - } - this.length--; - return res; + var replaceCaret = (comp, options) => { + debug2("caret", comp, options); + const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]; + const z = options.includePrerelease ? "-0" : ""; + return comp.replace(r, (_, M, m, p, pr) => { + debug2("caret", comp, _, M, m, p, pr); + let ret; + if (isX(M)) { + ret = ""; + } else if (isX(m)) { + ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`; + } else if (isX(p)) { + if (M === "0") { + ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`; + } else { + ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`; + } + } else if (pr) { + debug2("replaceCaret pr", pr); + if (M === "0") { + if (m === "0") { + ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`; + } else { + ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`; + } + } else { + ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`; + } + } else { + debug2("no pr"); + if (M === "0") { + if (m === "0") { + ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`; + } else { + ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`; + } + } else { + ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`; + } + } + debug2("caret return", ret); + return ret; + }); }; - Yallist.prototype.forEach = function(fn2, thisp) { - thisp = thisp || this; - for (var walker = this.head, i = 0; walker !== null; i++) { - fn2.call(thisp, walker.value, i, this); - walker = walker.next; - } + var replaceXRanges = (comp, options) => { + debug2("replaceXRanges", comp, options); + return comp.split(/\s+/).map((c) => replaceXRange(c, options)).join(" "); }; - Yallist.prototype.forEachReverse = function(fn2, thisp) { - thisp = thisp || this; - for (var walker = this.tail, i = this.length - 1; walker !== null; i--) { - fn2.call(thisp, walker.value, i, this); - walker = walker.prev; - } + var replaceXRange = (comp, options) => { + comp = comp.trim(); + const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]; + return comp.replace(r, (ret, gtlt, M, m, p, pr) => { + debug2("xRange", comp, ret, gtlt, M, m, p, pr); + const xM = isX(M); + const xm = xM || isX(m); + const xp = xm || isX(p); + const anyX = xp; + if (gtlt === "=" && anyX) { + gtlt = ""; + } + pr = options.includePrerelease ? "-0" : ""; + if (xM) { + if (gtlt === ">" || gtlt === "<") { + ret = "<0.0.0-0"; + } else { + ret = "*"; + } + } else if (gtlt && anyX) { + if (xm) { + m = 0; + } + p = 0; + if (gtlt === ">") { + gtlt = ">="; + if (xm) { + M = +M + 1; + m = 0; + p = 0; + } else { + m = +m + 1; + p = 0; + } + } else if (gtlt === "<=") { + gtlt = "<"; + if (xm) { + M = +M + 1; + } else { + m = +m + 1; + } + } + if (gtlt === "<") { + pr = "-0"; + } + ret = `${gtlt + M}.${m}.${p}${pr}`; + } else if (xm) { + ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`; + } else if (xp) { + ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`; + } + debug2("xRange return", ret); + return ret; + }); }; - Yallist.prototype.get = function(n) { - for (var i = 0, walker = this.head; walker !== null && i < n; i++) { - walker = walker.next; - } - if (i === n && walker !== null) { - return walker.value; - } + var replaceStars = (comp, options) => { + debug2("replaceStars", comp, options); + return comp.trim().replace(re[t.STAR], ""); }; - Yallist.prototype.getReverse = function(n) { - for (var i = 0, walker = this.tail; walker !== null && i < n; i++) { - walker = walker.prev; + var replaceGTE0 = (comp, options) => { + debug2("replaceGTE0", comp, options); + return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], ""); + }; + var hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr) => { + if (isX(fM)) { + from = ""; + } else if (isX(fm)) { + from = `>=${fM}.0.0${incPr ? "-0" : ""}`; + } else if (isX(fp)) { + from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`; + } else if (fpr) { + from = `>=${from}`; + } else { + from = `>=${from}${incPr ? "-0" : ""}`; } - if (i === n && walker !== null) { - return walker.value; + if (isX(tM)) { + to = ""; + } else if (isX(tm)) { + to = `<${+tM + 1}.0.0-0`; + } else if (isX(tp)) { + to = `<${tM}.${+tm + 1}.0-0`; + } else if (tpr) { + to = `<=${tM}.${tm}.${tp}-${tpr}`; + } else if (incPr) { + to = `<${tM}.${tm}.${+tp + 1}-0`; + } else { + to = `<=${to}`; } + return `${from} ${to}`.trim(); }; - Yallist.prototype.map = function(fn2, thisp) { - thisp = thisp || this; - var res = new Yallist(); - for (var walker = this.head; walker !== null; ) { - res.push(fn2.call(thisp, walker.value, this)); - walker = walker.next; + var testSet = (set, version2, options) => { + for (let i = 0; i < set.length; i++) { + if (!set[i].test(version2)) { + return false; + } } - return res; - }; - Yallist.prototype.mapReverse = function(fn2, thisp) { - thisp = thisp || this; - var res = new Yallist(); - for (var walker = this.tail; walker !== null; ) { - res.push(fn2.call(thisp, walker.value, this)); - walker = walker.prev; + if (version2.prerelease.length && !options.includePrerelease) { + for (let i = 0; i < set.length; i++) { + debug2(set[i].semver); + if (set[i].semver === Comparator.ANY) { + continue; + } + if (set[i].semver.prerelease.length > 0) { + const allowed = set[i].semver; + if (allowed.major === version2.major && allowed.minor === version2.minor && allowed.patch === version2.patch) { + return true; + } + } + } + return false; } - return res; + return true; }; - Yallist.prototype.reduce = function(fn2, initial) { - var acc; - var walker = this.head; - if (arguments.length > 1) { - acc = initial; - } else if (this.head) { - walker = this.head.next; - acc = this.head.value; - } else { - throw new TypeError("Reduce of empty list with no initial value"); - } - for (var i = 0; walker !== null; i++) { - acc = fn2(acc, walker.value, i); - walker = walker.next; - } - return acc; - }; - Yallist.prototype.reduceReverse = function(fn2, initial) { - var acc; - var walker = this.tail; - if (arguments.length > 1) { - acc = initial; - } else if (this.tail) { - walker = this.tail.prev; - acc = this.tail.value; - } else { - throw new TypeError("Reduce of empty list with no initial value"); - } - for (var i = this.length - 1; walker !== null; i--) { - acc = fn2(acc, walker.value, i); - walker = walker.prev; - } - return acc; - }; - Yallist.prototype.toArray = function() { - var arr = new Array(this.length); - for (var i = 0, walker = this.head; walker !== null; i++) { - arr[i] = walker.value; - walker = walker.next; - } - return arr; - }; - Yallist.prototype.toArrayReverse = function() { - var arr = new Array(this.length); - for (var i = 0, walker = this.tail; walker !== null; i++) { - arr[i] = walker.value; - walker = walker.prev; - } - return arr; - }; - Yallist.prototype.slice = function(from, to) { - to = to || this.length; - if (to < 0) { - to += this.length; - } - from = from || 0; - if (from < 0) { - from += this.length; - } - var ret = new Yallist(); - if (to < from || to < 0) { - return ret; - } - if (from < 0) { - from = 0; - } - if (to > this.length) { - to = this.length; - } - for (var i = 0, walker = this.head; walker !== null && i < from; i++) { - walker = walker.next; - } - for (; walker !== null && i < to; i++, walker = walker.next) { - ret.push(walker.value); - } - return ret; - }; - Yallist.prototype.sliceReverse = function(from, to) { - to = to || this.length; - if (to < 0) { - to += this.length; - } - from = from || 0; - if (from < 0) { - from += this.length; - } - var ret = new Yallist(); - if (to < from || to < 0) { - return ret; - } - if (from < 0) { - from = 0; - } - if (to > this.length) { - to = this.length; - } - for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) { - walker = walker.prev; - } - for (; walker !== null && i > from; i--, walker = walker.prev) { - ret.push(walker.value); - } - return ret; - }; - Yallist.prototype.splice = function(start, deleteCount, ...nodes) { - if (start > this.length) { - start = this.length - 1; - } - if (start < 0) { - start = this.length + start; - } - for (var i = 0, walker = this.head; walker !== null && i < start; i++) { - walker = walker.next; - } - var ret = []; - for (var i = 0; walker && i < deleteCount; i++) { - ret.push(walker.value); - walker = this.removeNode(walker); - } - if (walker === null) { - walker = this.tail; - } - if (walker !== this.head && walker !== this.tail) { - walker = walker.prev; - } - for (var i = 0; i < nodes.length; i++) { - walker = insert(this, walker, nodes[i]); - } - return ret; - }; - Yallist.prototype.reverse = function() { - var head = this.head; - var tail = this.tail; - for (var walker = head; walker !== null; walker = walker.prev) { - var p = walker.prev; - walker.prev = walker.next; - walker.next = p; - } - this.head = tail; - this.tail = head; - return this; - }; - function insert(self2, node, value) { - var inserted = node === self2.head ? new Node(value, null, node, self2) : new Node(value, node, node.next, self2); - if (inserted.next === null) { - self2.tail = inserted; - } - if (inserted.prev === null) { - self2.head = inserted; - } - self2.length++; - return inserted; - } - function push(self2, item) { - self2.tail = new Node(item, self2.tail, null, self2); - if (!self2.head) { - self2.head = self2.tail; - } - self2.length++; - } - function unshift(self2, item) { - self2.head = new Node(item, null, self2.head, self2); - if (!self2.tail) { - self2.tail = self2.head; - } - self2.length++; - } - function Node(value, prev, next, list) { - if (!(this instanceof Node)) { - return new Node(value, prev, next, list); - } - this.list = list; - this.value = value; - if (prev) { - prev.next = this; - this.prev = prev; - } else { - this.prev = null; - } - if (next) { - next.prev = this; - this.next = next; - } else { - this.next = null; - } - } - try { - require_iterator()(Yallist); - } catch (er) { - } } }); -// .yarn/cache/lru-cache-npm-6.0.0-b4c8668fe1-cb53e58278.zip/node_modules/lru-cache/index.js -var require_lru_cache = __commonJS({ - ".yarn/cache/lru-cache-npm-6.0.0-b4c8668fe1-cb53e58278.zip/node_modules/lru-cache/index.js"(exports, module2) { - "use strict"; - var Yallist = require_yallist(); - var MAX = Symbol("max"); - var LENGTH = Symbol("length"); - var LENGTH_CALCULATOR = Symbol("lengthCalculator"); - var ALLOW_STALE = Symbol("allowStale"); - var MAX_AGE = Symbol("maxAge"); - var DISPOSE = Symbol("dispose"); - var NO_DISPOSE_ON_SET = Symbol("noDisposeOnSet"); - var LRU_LIST = Symbol("lruList"); - var CACHE = Symbol("cache"); - var UPDATE_AGE_ON_GET = Symbol("updateAgeOnGet"); - var naiveLength = () => 1; - var LRUCache = class { - constructor(options) { - if (typeof options === "number") - options = { max: options }; - if (!options) - options = {}; - if (options.max && (typeof options.max !== "number" || options.max < 0)) - throw new TypeError("max must be a non-negative number"); - const max = this[MAX] = options.max || Infinity; - const lc = options.length || naiveLength; - this[LENGTH_CALCULATOR] = typeof lc !== "function" ? naiveLength : lc; - this[ALLOW_STALE] = options.stale || false; - if (options.maxAge && typeof options.maxAge !== "number") - throw new TypeError("maxAge must be a number"); - this[MAX_AGE] = options.maxAge || 0; - this[DISPOSE] = options.dispose; - this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false; - this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false; - this.reset(); - } - // resize the cache when the max changes. - set max(mL) { - if (typeof mL !== "number" || mL < 0) - throw new TypeError("max must be a non-negative number"); - this[MAX] = mL || Infinity; - trim(this); - } - get max() { - return this[MAX]; - } - set allowStale(allowStale) { - this[ALLOW_STALE] = !!allowStale; - } - get allowStale() { - return this[ALLOW_STALE]; - } - set maxAge(mA) { - if (typeof mA !== "number") - throw new TypeError("maxAge must be a non-negative number"); - this[MAX_AGE] = mA; - trim(this); - } - get maxAge() { - return this[MAX_AGE]; - } - // resize the cache when the lengthCalculator changes. - set lengthCalculator(lC) { - if (typeof lC !== "function") - lC = naiveLength; - if (lC !== this[LENGTH_CALCULATOR]) { - this[LENGTH_CALCULATOR] = lC; - this[LENGTH] = 0; - this[LRU_LIST].forEach((hit) => { - hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key); - this[LENGTH] += hit.length; - }); - } - trim(this); - } - get lengthCalculator() { - return this[LENGTH_CALCULATOR]; - } - get length() { - return this[LENGTH]; - } - get itemCount() { - return this[LRU_LIST].length; +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/classes/comparator.js +var require_comparator = __commonJS({ + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/classes/comparator.js"(exports, module2) { + var ANY = Symbol("SemVer ANY"); + var Comparator = class _Comparator { + static get ANY() { + return ANY; } - rforEach(fn2, thisp) { - thisp = thisp || this; - for (let walker = this[LRU_LIST].tail; walker !== null; ) { - const prev = walker.prev; - forEachStep(this, fn2, walker, thisp); - walker = prev; + constructor(comp, options) { + options = parseOptions(options); + if (comp instanceof _Comparator) { + if (comp.loose === !!options.loose) { + return comp; + } else { + comp = comp.value; + } } - } - forEach(fn2, thisp) { - thisp = thisp || this; - for (let walker = this[LRU_LIST].head; walker !== null; ) { - const next = walker.next; - forEachStep(this, fn2, walker, thisp); - walker = next; + comp = comp.trim().split(/\s+/).join(" "); + debug2("comparator", comp, options); + this.options = options; + this.loose = !!options.loose; + this.parse(comp); + if (this.semver === ANY) { + this.value = ""; + } else { + this.value = this.operator + this.semver.version; } + debug2("comp", this); } - keys() { - return this[LRU_LIST].toArray().map((k) => k.key); - } - values() { - return this[LRU_LIST].toArray().map((k) => k.value); - } - reset() { - if (this[DISPOSE] && this[LRU_LIST] && this[LRU_LIST].length) { - this[LRU_LIST].forEach((hit) => this[DISPOSE](hit.key, hit.value)); - } - this[CACHE] = /* @__PURE__ */ new Map(); - this[LRU_LIST] = new Yallist(); - this[LENGTH] = 0; - } - dump() { - return this[LRU_LIST].map((hit) => isStale(this, hit) ? false : { - k: hit.key, - v: hit.value, - e: hit.now + (hit.maxAge || 0) - }).toArray().filter((h) => h); - } - dumpLru() { - return this[LRU_LIST]; - } - set(key, value, maxAge) { - maxAge = maxAge || this[MAX_AGE]; - if (maxAge && typeof maxAge !== "number") - throw new TypeError("maxAge must be a number"); - const now = maxAge ? Date.now() : 0; - const len = this[LENGTH_CALCULATOR](value, key); - if (this[CACHE].has(key)) { - if (len > this[MAX]) { - del(this, this[CACHE].get(key)); - return false; - } - const node = this[CACHE].get(key); - const item = node.value; - if (this[DISPOSE]) { - if (!this[NO_DISPOSE_ON_SET]) - this[DISPOSE](key, item.value); - } - item.now = now; - item.maxAge = maxAge; - item.value = value; - this[LENGTH] += len - item.length; - item.length = len; - this.get(key); - trim(this); - return true; + parse(comp) { + const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]; + const m = comp.match(r); + if (!m) { + throw new TypeError(`Invalid comparator: ${comp}`); } - const hit = new Entry(key, value, len, now, maxAge); - if (hit.length > this[MAX]) { - if (this[DISPOSE]) - this[DISPOSE](key, value); - return false; + this.operator = m[1] !== void 0 ? m[1] : ""; + if (this.operator === "=") { + this.operator = ""; + } + if (!m[2]) { + this.semver = ANY; + } else { + this.semver = new SemVer(m[2], this.options.loose); } - this[LENGTH] += hit.length; - this[LRU_LIST].unshift(hit); - this[CACHE].set(key, this[LRU_LIST].head); - trim(this); - return true; - } - has(key) { - if (!this[CACHE].has(key)) - return false; - const hit = this[CACHE].get(key).value; - return !isStale(this, hit); - } - get(key) { - return get(this, key, true); } - peek(key) { - return get(this, key, false); + toString() { + return this.value; } - pop() { - const node = this[LRU_LIST].tail; - if (!node) - return null; - del(this, node); - return node.value; - } - del(key) { - del(this, this[CACHE].get(key)); - } - load(arr) { - this.reset(); - const now = Date.now(); - for (let l = arr.length - 1; l >= 0; l--) { - const hit = arr[l]; - const expiresAt = hit.e || 0; - if (expiresAt === 0) - this.set(hit.k, hit.v); - else { - const maxAge = expiresAt - now; - if (maxAge > 0) { - this.set(hit.k, hit.v, maxAge); - } + test(version2) { + debug2("Comparator.test", version2, this.options.loose); + if (this.semver === ANY || version2 === ANY) { + return true; + } + if (typeof version2 === "string") { + try { + version2 = new SemVer(version2, this.options); + } catch (er) { + return false; } } + return cmp(version2, this.operator, this.semver, this.options); } - prune() { - this[CACHE].forEach((value, key) => get(this, key, false)); - } - }; - var get = (self2, key, doUse) => { - const node = self2[CACHE].get(key); - if (node) { - const hit = node.value; - if (isStale(self2, hit)) { - del(self2, node); - if (!self2[ALLOW_STALE]) - return void 0; - } else { - if (doUse) { - if (self2[UPDATE_AGE_ON_GET]) - node.value.now = Date.now(); - self2[LRU_LIST].unshiftNode(node); - } - } - return hit.value; - } - }; - var isStale = (self2, hit) => { - if (!hit || !hit.maxAge && !self2[MAX_AGE]) - return false; - const diff = Date.now() - hit.now; - return hit.maxAge ? diff > hit.maxAge : self2[MAX_AGE] && diff > self2[MAX_AGE]; - }; - var trim = (self2) => { - if (self2[LENGTH] > self2[MAX]) { - for (let walker = self2[LRU_LIST].tail; self2[LENGTH] > self2[MAX] && walker !== null; ) { - const prev = walker.prev; - del(self2, walker); - walker = prev; + intersects(comp, options) { + if (!(comp instanceof _Comparator)) { + throw new TypeError("a Comparator is required"); } - } - }; - var del = (self2, node) => { - if (node) { - const hit = node.value; - if (self2[DISPOSE]) - self2[DISPOSE](hit.key, hit.value); - self2[LENGTH] -= hit.length; - self2[CACHE].delete(hit.key); - self2[LRU_LIST].removeNode(node); - } - }; - var Entry = class { - constructor(key, value, length, now, maxAge) { - this.key = key; - this.value = value; - this.length = length; - this.now = now; - this.maxAge = maxAge || 0; - } - }; - var forEachStep = (self2, fn2, node, thisp) => { - let hit = node.value; - if (isStale(self2, hit)) { - del(self2, node); - if (!self2[ALLOW_STALE]) - hit = void 0; - } - if (hit) - fn2.call(thisp, hit.value, hit.key, self2); - }; - module2.exports = LRUCache; - } -}); - -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/classes/range.js -var require_range = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/classes/range.js"(exports, module2) { - var Range = class _Range { - constructor(range, options) { - options = parseOptions(options); - if (range instanceof _Range) { - if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) { - return range; - } else { - return new _Range(range.raw, options); + if (this.operator === "") { + if (this.value === "") { + return true; } - } - if (range instanceof Comparator) { - this.raw = range.value; - this.set = [[range]]; - this.format(); - return this; - } - this.options = options; - this.loose = !!options.loose; - this.includePrerelease = !!options.includePrerelease; - this.raw = range.trim().split(/\s+/).join(" "); - this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length); - if (!this.set.length) { - throw new TypeError(`Invalid SemVer Range: ${this.raw}`); - } - if (this.set.length > 1) { - const first = this.set[0]; - this.set = this.set.filter((c) => !isNullSet(c[0])); - if (this.set.length === 0) { - this.set = [first]; - } else if (this.set.length > 1) { - for (const c of this.set) { - if (c.length === 1 && isAny(c[0])) { - this.set = [c]; - break; - } - } + return new Range(comp.value, options).test(this.value); + } else if (comp.operator === "") { + if (comp.value === "") { + return true; } + return new Range(this.value, options).test(comp.semver); } - this.format(); - } - format() { - this.range = this.set.map((comps) => comps.join(" ").trim()).join("||").trim(); - return this.range; - } - toString() { - return this.range; - } - parseRange(range) { - const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE); - const memoKey = memoOpts + ":" + range; - const cached = cache.get(memoKey); - if (cached) { - return cached; - } - const loose = this.options.loose; - const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]; - range = range.replace(hr, hyphenReplace(this.options.includePrerelease)); - debug2("hyphen replace", range); - range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace); - debug2("comparator trim", range); - range = range.replace(re[t.TILDETRIM], tildeTrimReplace); - debug2("tilde trim", range); - range = range.replace(re[t.CARETTRIM], caretTrimReplace); - debug2("caret trim", range); - let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options)); - if (loose) { - rangeList = rangeList.filter((comp) => { - debug2("loose invalid filter", comp, this.options); - return !!comp.match(re[t.COMPARATORLOOSE]); - }); + options = parseOptions(options); + if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) { + return false; } - debug2("range list", rangeList); - const rangeMap = /* @__PURE__ */ new Map(); - const comparators = rangeList.map((comp) => new Comparator(comp, this.options)); - for (const comp of comparators) { - if (isNullSet(comp)) { - return [comp]; - } - rangeMap.set(comp.value, comp); + if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) { + return false; } - if (rangeMap.size > 1 && rangeMap.has("")) { - rangeMap.delete(""); + if (this.operator.startsWith(">") && comp.operator.startsWith(">")) { + return true; } - const result = [...rangeMap.values()]; - cache.set(memoKey, result); - return result; - } - intersects(range, options) { - if (!(range instanceof _Range)) { - throw new TypeError("a Range is required"); + if (this.operator.startsWith("<") && comp.operator.startsWith("<")) { + return true; } - return this.set.some((thisComparators) => { - return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => { - return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => { - return rangeComparators.every((rangeComparator) => { - return thisComparator.intersects(rangeComparator, options); - }); - }); - }); - }); - } - // if ANY of the sets match ALL of its comparators, then pass - test(version2) { - if (!version2) { - return false; + if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) { + return true; } - if (typeof version2 === "string") { - try { - version2 = new SemVer(version2, this.options); - } catch (er) { - return false; - } + if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) { + return true; } - for (let i = 0; i < this.set.length; i++) { - if (testSet(this.set[i], version2, this.options)) { - return true; - } + if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) { + return true; } return false; } }; - module2.exports = Range; - var LRU = require_lru_cache(); - var cache = new LRU({ max: 1e3 }); + module2.exports = Comparator; var parseOptions = require_parse_options(); - var Comparator = require_comparator(); + var { safeRe: re, t } = require_re(); + var cmp = require_cmp(); var debug2 = require_debug(); var SemVer = require_semver(); - var { - safeRe: re, - t, - comparatorTrimReplace, - tildeTrimReplace, - caretTrimReplace - } = require_re(); - var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants(); - var isNullSet = (c) => c.value === "<0.0.0-0"; - var isAny = (c) => c.value === ""; - var isSatisfiable = (comparators, options) => { - let result = true; - const remainingComparators = comparators.slice(); - let testComparator = remainingComparators.pop(); - while (result && remainingComparators.length) { - result = remainingComparators.every((otherComparator) => { - return testComparator.intersects(otherComparator, options); - }); - testComparator = remainingComparators.pop(); + var Range = require_range(); + } +}); + +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/satisfies.js +var require_satisfies = __commonJS({ + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/functions/satisfies.js"(exports, module2) { + var Range = require_range(); + var satisfies = (version2, range, options) => { + try { + range = new Range(range, options); + } catch (er) { + return false; } - return result; - }; - var parseComparator = (comp, options) => { - debug2("comp", comp, options); - comp = replaceCarets(comp, options); - debug2("caret", comp); - comp = replaceTildes(comp, options); - debug2("tildes", comp); - comp = replaceXRanges(comp, options); - debug2("xrange", comp); - comp = replaceStars(comp, options); - debug2("stars", comp); - return comp; - }; - var isX = (id) => !id || id.toLowerCase() === "x" || id === "*"; - var replaceTildes = (comp, options) => { - return comp.trim().split(/\s+/).map((c) => replaceTilde(c, options)).join(" "); + return range.test(version2); }; - var replaceTilde = (comp, options) => { - const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]; - return comp.replace(r, (_, M, m, p, pr) => { - debug2("tilde", comp, _, M, m, p, pr); - let ret; - if (isX(M)) { - ret = ""; - } else if (isX(m)) { - ret = `>=${M}.0.0 <${+M + 1}.0.0-0`; - } else if (isX(p)) { - ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`; - } else if (pr) { - debug2("replaceTilde pr", pr); - ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`; - } else { - ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`; + module2.exports = satisfies; + } +}); + +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/ranges/to-comparators.js +var require_to_comparators = __commonJS({ + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/ranges/to-comparators.js"(exports, module2) { + var Range = require_range(); + var toComparators = (range, options) => new Range(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" ")); + module2.exports = toComparators; + } +}); + +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/ranges/max-satisfying.js +var require_max_satisfying = __commonJS({ + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/ranges/max-satisfying.js"(exports, module2) { + var SemVer = require_semver(); + var Range = require_range(); + var maxSatisfying = (versions, range, options) => { + let max = null; + let maxSV = null; + let rangeObj = null; + try { + rangeObj = new Range(range, options); + } catch (er) { + return null; + } + versions.forEach((v) => { + if (rangeObj.test(v)) { + if (!max || maxSV.compare(v) === -1) { + max = v; + maxSV = new SemVer(max, options); + } } - debug2("tilde return", ret); - return ret; }); + return max; }; - var replaceCarets = (comp, options) => { - return comp.trim().split(/\s+/).map((c) => replaceCaret(c, options)).join(" "); - }; - var replaceCaret = (comp, options) => { - debug2("caret", comp, options); - const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]; - const z = options.includePrerelease ? "-0" : ""; - return comp.replace(r, (_, M, m, p, pr) => { - debug2("caret", comp, _, M, m, p, pr); - let ret; - if (isX(M)) { - ret = ""; - } else if (isX(m)) { - ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`; - } else if (isX(p)) { - if (M === "0") { - ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`; - } else { - ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`; - } - } else if (pr) { - debug2("replaceCaret pr", pr); - if (M === "0") { - if (m === "0") { - ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`; - } else { - ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`; - } - } else { - ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`; - } - } else { - debug2("no pr"); - if (M === "0") { - if (m === "0") { - ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`; - } else { - ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`; - } - } else { - ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`; - } - } - debug2("caret return", ret); - return ret; - }); - }; - var replaceXRanges = (comp, options) => { - debug2("replaceXRanges", comp, options); - return comp.split(/\s+/).map((c) => replaceXRange(c, options)).join(" "); - }; - var replaceXRange = (comp, options) => { - comp = comp.trim(); - const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]; - return comp.replace(r, (ret, gtlt, M, m, p, pr) => { - debug2("xRange", comp, ret, gtlt, M, m, p, pr); - const xM = isX(M); - const xm = xM || isX(m); - const xp = xm || isX(p); - const anyX = xp; - if (gtlt === "=" && anyX) { - gtlt = ""; - } - pr = options.includePrerelease ? "-0" : ""; - if (xM) { - if (gtlt === ">" || gtlt === "<") { - ret = "<0.0.0-0"; - } else { - ret = "*"; - } - } else if (gtlt && anyX) { - if (xm) { - m = 0; - } - p = 0; - if (gtlt === ">") { - gtlt = ">="; - if (xm) { - M = +M + 1; - m = 0; - p = 0; - } else { - m = +m + 1; - p = 0; - } - } else if (gtlt === "<=") { - gtlt = "<"; - if (xm) { - M = +M + 1; - } else { - m = +m + 1; - } - } - if (gtlt === "<") { - pr = "-0"; + module2.exports = maxSatisfying; + } +}); + +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/ranges/min-satisfying.js +var require_min_satisfying = __commonJS({ + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/ranges/min-satisfying.js"(exports, module2) { + var SemVer = require_semver(); + var Range = require_range(); + var minSatisfying = (versions, range, options) => { + let min = null; + let minSV = null; + let rangeObj = null; + try { + rangeObj = new Range(range, options); + } catch (er) { + return null; + } + versions.forEach((v) => { + if (rangeObj.test(v)) { + if (!min || minSV.compare(v) === 1) { + min = v; + minSV = new SemVer(min, options); } - ret = `${gtlt + M}.${m}.${p}${pr}`; - } else if (xm) { - ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`; - } else if (xp) { - ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`; } - debug2("xRange return", ret); - return ret; }); + return min; }; - var replaceStars = (comp, options) => { - debug2("replaceStars", comp, options); - return comp.trim().replace(re[t.STAR], ""); - }; - var replaceGTE0 = (comp, options) => { - debug2("replaceGTE0", comp, options); - return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], ""); - }; - var hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) => { - if (isX(fM)) { - from = ""; - } else if (isX(fm)) { - from = `>=${fM}.0.0${incPr ? "-0" : ""}`; - } else if (isX(fp)) { - from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`; - } else if (fpr) { - from = `>=${from}`; - } else { - from = `>=${from}${incPr ? "-0" : ""}`; - } - if (isX(tM)) { - to = ""; - } else if (isX(tm)) { - to = `<${+tM + 1}.0.0-0`; - } else if (isX(tp)) { - to = `<${tM}.${+tm + 1}.0-0`; - } else if (tpr) { - to = `<=${tM}.${tm}.${tp}-${tpr}`; - } else if (incPr) { - to = `<${tM}.${tm}.${+tp + 1}-0`; - } else { - to = `<=${to}`; + module2.exports = minSatisfying; + } +}); + +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/ranges/min-version.js +var require_min_version = __commonJS({ + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/ranges/min-version.js"(exports, module2) { + var SemVer = require_semver(); + var Range = require_range(); + var gt = require_gt(); + var minVersion = (range, loose) => { + range = new Range(range, loose); + let minver = new SemVer("0.0.0"); + if (range.test(minver)) { + return minver; } - return `${from} ${to}`.trim(); - }; - var testSet = (set, version2, options) => { - for (let i = 0; i < set.length; i++) { - if (!set[i].test(version2)) { - return false; - } + minver = new SemVer("0.0.0-0"); + if (range.test(minver)) { + return minver; } - if (version2.prerelease.length && !options.includePrerelease) { - for (let i = 0; i < set.length; i++) { - debug2(set[i].semver); - if (set[i].semver === Comparator.ANY) { - continue; - } - if (set[i].semver.prerelease.length > 0) { - const allowed = set[i].semver; - if (allowed.major === version2.major && allowed.minor === version2.minor && allowed.patch === version2.patch) { - return true; - } + minver = null; + for (let i = 0; i < range.set.length; ++i) { + const comparators = range.set[i]; + let setMin = null; + comparators.forEach((comparator) => { + const compver = new SemVer(comparator.semver.version); + switch (comparator.operator) { + case ">": + if (compver.prerelease.length === 0) { + compver.patch++; + } else { + compver.prerelease.push(0); + } + compver.raw = compver.format(); + case "": + case ">=": + if (!setMin || gt(compver, setMin)) { + setMin = compver; + } + break; + case "<": + case "<=": + break; + default: + throw new Error(`Unexpected operation: ${comparator.operator}`); } + }); + if (setMin && (!minver || gt(minver, setMin))) { + minver = setMin; } - return false; } - return true; + if (minver && range.test(minver)) { + return minver; + } + return null; }; + module2.exports = minVersion; } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/classes/comparator.js -var require_comparator = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/classes/comparator.js"(exports, module2) { - var ANY = Symbol("SemVer ANY"); - var Comparator = class _Comparator { - static get ANY() { - return ANY; - } - constructor(comp, options) { - options = parseOptions(options); - if (comp instanceof _Comparator) { - if (comp.loose === !!options.loose) { - return comp; - } else { - comp = comp.value; - } - } - comp = comp.trim().split(/\s+/).join(" "); - debug2("comparator", comp, options); - this.options = options; - this.loose = !!options.loose; - this.parse(comp); - if (this.semver === ANY) { - this.value = ""; - } else { - this.value = this.operator + this.semver.version; - } - debug2("comp", this); - } - parse(comp) { - const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]; - const m = comp.match(r); - if (!m) { - throw new TypeError(`Invalid comparator: ${comp}`); - } - this.operator = m[1] !== void 0 ? m[1] : ""; - if (this.operator === "=") { - this.operator = ""; - } - if (!m[2]) { - this.semver = ANY; - } else { - this.semver = new SemVer(m[2], this.options.loose); - } - } - toString() { - return this.value; - } - test(version2) { - debug2("Comparator.test", version2, this.options.loose); - if (this.semver === ANY || version2 === ANY) { - return true; - } - if (typeof version2 === "string") { - try { - version2 = new SemVer(version2, this.options); - } catch (er) { - return false; - } - } - return cmp(version2, this.operator, this.semver, this.options); - } - intersects(comp, options) { - if (!(comp instanceof _Comparator)) { - throw new TypeError("a Comparator is required"); - } - if (this.operator === "") { - if (this.value === "") { - return true; - } - return new Range(comp.value, options).test(this.value); - } else if (comp.operator === "") { - if (comp.value === "") { - return true; - } - return new Range(this.value, options).test(comp.semver); - } - options = parseOptions(options); - if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) { - return false; - } - if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) { - return false; - } - if (this.operator.startsWith(">") && comp.operator.startsWith(">")) { - return true; - } - if (this.operator.startsWith("<") && comp.operator.startsWith("<")) { - return true; - } - if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) { - return true; - } - if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) { - return true; - } - if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) { - return true; - } - return false; - } - }; - module2.exports = Comparator; - var parseOptions = require_parse_options(); - var { safeRe: re, t } = require_re(); - var cmp = require_cmp(); - var debug2 = require_debug(); - var SemVer = require_semver(); - var Range = require_range(); - } -}); - -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/satisfies.js -var require_satisfies = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/satisfies.js"(exports, module2) { - var Range = require_range(); - var satisfies = (version2, range, options) => { - try { - range = new Range(range, options); - } catch (er) { - return false; - } - return range.test(version2); - }; - module2.exports = satisfies; - } -}); - -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/to-comparators.js -var require_to_comparators = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/to-comparators.js"(exports, module2) { - var Range = require_range(); - var toComparators = (range, options) => new Range(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" ")); - module2.exports = toComparators; - } -}); - -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/max-satisfying.js -var require_max_satisfying = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/max-satisfying.js"(exports, module2) { - var SemVer = require_semver(); - var Range = require_range(); - var maxSatisfying = (versions, range, options) => { - let max = null; - let maxSV = null; - let rangeObj = null; - try { - rangeObj = new Range(range, options); - } catch (er) { - return null; - } - versions.forEach((v) => { - if (rangeObj.test(v)) { - if (!max || maxSV.compare(v) === -1) { - max = v; - maxSV = new SemVer(max, options); - } - } - }); - return max; - }; - module2.exports = maxSatisfying; - } -}); - -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/min-satisfying.js -var require_min_satisfying = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/min-satisfying.js"(exports, module2) { - var SemVer = require_semver(); - var Range = require_range(); - var minSatisfying = (versions, range, options) => { - let min = null; - let minSV = null; - let rangeObj = null; - try { - rangeObj = new Range(range, options); - } catch (er) { - return null; - } - versions.forEach((v) => { - if (rangeObj.test(v)) { - if (!min || minSV.compare(v) === 1) { - min = v; - minSV = new SemVer(min, options); - } - } - }); - return min; - }; - module2.exports = minSatisfying; - } -}); - -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/min-version.js -var require_min_version = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/min-version.js"(exports, module2) { - var SemVer = require_semver(); - var Range = require_range(); - var gt = require_gt(); - var minVersion = (range, loose) => { - range = new Range(range, loose); - let minver = new SemVer("0.0.0"); - if (range.test(minver)) { - return minver; - } - minver = new SemVer("0.0.0-0"); - if (range.test(minver)) { - return minver; - } - minver = null; - for (let i = 0; i < range.set.length; ++i) { - const comparators = range.set[i]; - let setMin = null; - comparators.forEach((comparator) => { - const compver = new SemVer(comparator.semver.version); - switch (comparator.operator) { - case ">": - if (compver.prerelease.length === 0) { - compver.patch++; - } else { - compver.prerelease.push(0); - } - compver.raw = compver.format(); - case "": - case ">=": - if (!setMin || gt(compver, setMin)) { - setMin = compver; - } - break; - case "<": - case "<=": - break; - default: - throw new Error(`Unexpected operation: ${comparator.operator}`); - } - }); - if (setMin && (!minver || gt(minver, setMin))) { - minver = setMin; - } - } - if (minver && range.test(minver)) { - return minver; - } - return null; - }; - module2.exports = minVersion; - } -}); - -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/valid.js -var require_valid2 = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/valid.js"(exports, module2) { - var Range = require_range(); - var validRange = (range, options) => { - try { - return new Range(range, options).range || "*"; - } catch (er) { - return null; +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/ranges/valid.js +var require_valid2 = __commonJS({ + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/ranges/valid.js"(exports, module2) { + var Range = require_range(); + var validRange = (range, options) => { + try { + return new Range(range, options).range || "*"; + } catch (er) { + return null; } }; module2.exports = validRange; } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/outside.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/ranges/outside.js var require_outside = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/outside.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/ranges/outside.js"(exports, module2) { var SemVer = require_semver(); var Comparator = require_comparator(); var { ANY } = Comparator; @@ -3142,27 +2526,27 @@ var require_outside = __commonJS({ } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/gtr.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/ranges/gtr.js var require_gtr = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/gtr.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/ranges/gtr.js"(exports, module2) { var outside = require_outside(); var gtr = (version2, range, options) => outside(version2, range, ">", options); module2.exports = gtr; } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/ltr.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/ranges/ltr.js var require_ltr = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/ltr.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/ranges/ltr.js"(exports, module2) { var outside = require_outside(); var ltr = (version2, range, options) => outside(version2, range, "<", options); module2.exports = ltr; } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/intersects.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/ranges/intersects.js var require_intersects = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/intersects.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/ranges/intersects.js"(exports, module2) { var Range = require_range(); var intersects = (r1, r2, options) => { r1 = new Range(r1, options); @@ -3173,9 +2557,9 @@ var require_intersects = __commonJS({ } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/simplify.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/ranges/simplify.js var require_simplify = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/simplify.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/ranges/simplify.js"(exports, module2) { var satisfies = require_satisfies(); var compare = require_compare(); module2.exports = (versions, range, options) => { @@ -3222,9 +2606,9 @@ var require_simplify = __commonJS({ } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/subset.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/ranges/subset.js var require_subset = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/subset.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/ranges/subset.js"(exports, module2) { var Range = require_range(); var Comparator = require_comparator(); var { ANY } = Comparator; @@ -3384,9 +2768,9 @@ var require_subset = __commonJS({ } }); -// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/index.js +// .yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/index.js var require_semver2 = __commonJS({ - ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/index.js"(exports, module2) { + ".yarn/cache/semver-npm-7.6.2-0fec6944bb-97d3441e97.zip/node_modules/semver/index.js"(exports, module2) { var internalRe = require_re(); var constants = require_constants(); var SemVer = require_semver(); @@ -4316,9 +3700,9 @@ var require_proxy_from_env = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/core/errors.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/core/errors.js var require_errors = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/core/errors.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/core/errors.js"(exports, module2) { "use strict"; var UndiciError = class extends Error { constructor(message) { @@ -4530,9 +3914,9 @@ var require_errors = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/core/symbols.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/core/symbols.js var require_symbols = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/core/symbols.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/core/symbols.js"(exports, module2) { module2.exports = { kClose: Symbol("close"), kDestroy: Symbol("destroy"), @@ -4543,7 +3927,6 @@ var require_symbols = __commonJS({ kQueue: Symbol("queue"), kConnect: Symbol("connect"), kConnecting: Symbol("connecting"), - kHeadersList: Symbol("headers list"), kKeepAliveDefaultTimeout: Symbol("default keep alive timeout"), kKeepAliveMaxTimeout: Symbol("max keep alive timeout"), kKeepAliveTimeoutThreshold: Symbol("keep alive timeout threshold"), @@ -4556,6 +3939,7 @@ var require_symbols = __commonJS({ kHost: Symbol("host"), kNoRef: Symbol("no ref"), kBodyUsed: Symbol("used"), + kBody: Symbol("abstracted request body"), kRunning: Symbol("running"), kBlocking: Symbol("blocking"), kPending: Symbol("pending"), @@ -4595,14 +3979,17 @@ var require_symbols = __commonJS({ kConstruct: Symbol("constructable"), kListeners: Symbol("listeners"), kHTTPContext: Symbol("http context"), - kMaxConcurrentStreams: Symbol("max concurrent streams") + kMaxConcurrentStreams: Symbol("max concurrent streams"), + kNoProxyAgent: Symbol("no proxy agent"), + kHttpProxyAgent: Symbol("http proxy agent"), + kHttpsProxyAgent: Symbol("https proxy agent") }; } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/core/constants.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/core/constants.js var require_constants2 = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/core/constants.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/core/constants.js"(exports, module2) { "use strict"; var headerNameLowerCasedRecord = {}; var wellknownHeaderNames = [ @@ -4715,9 +4102,9 @@ var require_constants2 = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/core/tree.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/core/tree.js var require_tree = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/core/tree.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/core/tree.js"(exports, module2) { "use strict"; var { wellknownHeaderNames, @@ -4855,22 +4242,56 @@ var require_tree = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/core/util.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/core/util.js var require_util = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/core/util.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/core/util.js"(exports, module2) { "use strict"; var assert3 = require("node:assert"); - var { kDestroyed, kBodyUsed, kListeners } = require_symbols(); + var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols(); var { IncomingMessage } = require("node:http"); var stream = require("node:stream"); var net = require("node:net"); - var { InvalidArgumentError } = require_errors(); var { Blob: Blob2 } = require("node:buffer"); var nodeUtil = require("node:util"); var { stringify } = require("node:querystring"); + var { EventEmitter: EE } = require("node:events"); + var { InvalidArgumentError } = require_errors(); var { headerNameLowerCasedRecord } = require_constants2(); var { tree } = require_tree(); var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v)); + var BodyAsyncIterable = class { + constructor(body) { + this[kBody] = body; + this[kBodyUsed] = false; + } + async *[Symbol.asyncIterator]() { + assert3(!this[kBodyUsed], "disturbed"); + this[kBodyUsed] = true; + yield* this[kBody]; + } + }; + function wrapRequestBody(body) { + if (isStream(body)) { + if (bodyLength(body) === 0) { + body.on("data", function() { + assert3(false); + }); + } + if (typeof body.readableDidRead !== "boolean") { + body[kBodyUsed] = false; + EE.prototype.on.call(body, "data", function() { + this[kBodyUsed] = true; + }); + } + return body; + } else if (body && typeof body.pipeTo === "function") { + return new BodyAsyncIterable(body); + } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) { + return new BodyAsyncIterable(body); + } else { + return body; + } + } function nop() { } function isStream(obj) { @@ -4898,10 +4319,17 @@ var require_util = __commonJS({ } return url; } + function isValidPort(port) { + const value = parseInt(port, 10); + return value === Number(port) && value >= 0 && value <= 65535; + } + function isHttpOrHttpsPrefixed(value) { + return value != null && value[0] === "h" && value[1] === "t" && value[2] === "t" && value[3] === "p" && (value[4] === ":" || value[4] === "s" && value[5] === ":"); + } function parseURL(url) { if (typeof url === "string") { url = new URL(url); - if (!/^https?:/.test(url.origin || url.protocol)) { + if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) { throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); } return url; @@ -4909,11 +4337,8 @@ var require_util = __commonJS({ if (!url || typeof url !== "object") { throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object."); } - if (!/^https?:/.test(url.origin || url.protocol)) { - throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); - } if (!(url instanceof URL)) { - if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) { + if (url.port != null && url.port !== "" && isValidPort(url.port) === false) { throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer."); } if (url.path != null && typeof url.path !== "string") { @@ -4928,16 +4353,22 @@ var require_util = __commonJS({ if (url.origin != null && typeof url.origin !== "string") { throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined."); } + if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) { + throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); + } const port = url.port != null ? url.port : url.protocol === "https:" ? 443 : 80; - let origin = url.origin != null ? url.origin : `${url.protocol}//${url.hostname}:${port}`; + let origin = url.origin != null ? url.origin : `${url.protocol || ""}//${url.hostname || ""}:${port}`; let path10 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`; - if (origin.endsWith("/")) { - origin = origin.substring(0, origin.length - 1); + if (origin[origin.length - 1] === "/") { + origin = origin.slice(0, origin.length - 1); } - if (path10 && !path10.startsWith("/")) { + if (path10 && path10[0] !== "/") { path10 = `/${path10}`; } - url = new URL(origin + path10); + return new URL(`${origin}${path10}`); + } + if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) { + throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); } return url; } @@ -4995,10 +4426,6 @@ var require_util = __commonJS({ function isDestroyed(body) { return body && !!(body.destroyed || body[kDestroyed] || stream.isDestroyed?.(body)); } - function isReadableAborted(stream2) { - const state = stream2?._readableState; - return isDestroyed(stream2) && state && !state.endEmitted; - } function destroy(stream2, err) { if (stream2 == null || !isStream(stream2) || isDestroyed(stream2)) { return; @@ -5218,7 +4645,7 @@ var require_util = __commonJS({ return true; } var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/; - function isValidHeaderChar(characters) { + function isValidHeaderValue(characters) { return !headerCharRegex.test(characters); } function parseRangeHeader(range) { @@ -5261,7 +4688,6 @@ var require_util = __commonJS({ isReadable, toUSVString, isUSVString, - isReadableAborted, isBlobLike, parseOrigin, parseURL, @@ -5289,20 +4715,22 @@ var require_util = __commonJS({ buildURL, addAbortListener, isValidHTTPToken, - isValidHeaderChar, + isValidHeaderValue, isTokenCharCode, parseRangeHeader, + isValidPort, + isHttpOrHttpsPrefixed, nodeMajor, nodeMinor, - nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13, - safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"] + safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"], + wrapRequestBody }; } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/api/readable.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/api/readable.js var require_readable = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/api/readable.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/api/readable.js"(exports, module2) { "use strict"; var assert3 = require("node:assert"); var { Readable: Readable2 } = require("node:stream"); @@ -5349,9 +4777,13 @@ var require_readable = __commonJS({ return super.destroy(err); } _destroy(err, callback) { - setImmediate(() => { + if (!this[kReading]) { + setImmediate(() => { + callback(err); + }); + } else { callback(err); - }); + } } on(ev, ...args) { if (ev === "data" || ev === "readable") { @@ -5573,9 +5005,9 @@ var require_readable = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/api/util.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/api/util.js var require_util2 = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/api/util.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/api/util.js"(exports, module2) { var assert3 = require("node:assert"); var { ResponseStatusCodeError @@ -5586,16 +5018,22 @@ var require_util2 = __commonJS({ assert3(body); let chunks = []; let length = 0; - for await (const chunk of body) { - chunks.push(chunk); - length += chunk.length; - if (length > CHUNK_LIMIT) { - chunks = null; - break; - } - } + try { + for await (const chunk of body) { + chunks.push(chunk); + length += chunk.length; + if (length > CHUNK_LIMIT) { + chunks = []; + length = 0; + break; + } + } + } catch { + chunks = []; + length = 0; + } const message = `Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`; - if (statusCode === 204 || !contentType || !chunks) { + if (statusCode === 204 || !contentType || !length) { queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers))); return; } @@ -5628,68 +5066,16 @@ var require_util2 = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/api/abort-signal.js -var require_abort_signal = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/api/abort-signal.js"(exports, module2) { - var { addAbortListener } = require_util(); - var { RequestAbortedError } = require_errors(); - var kListener = Symbol("kListener"); - var kSignal = Symbol("kSignal"); - function abort(self2) { - if (self2.abort) { - self2.abort(self2[kSignal]?.reason); - } else { - self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError(); - } - removeSignal(self2); - } - function addSignal(self2, signal) { - self2.reason = null; - self2[kSignal] = null; - self2[kListener] = null; - if (!signal) { - return; - } - if (signal.aborted) { - abort(self2); - return; - } - self2[kSignal] = signal; - self2[kListener] = () => { - abort(self2); - }; - addAbortListener(self2[kSignal], self2[kListener]); - } - function removeSignal(self2) { - if (!self2[kSignal]) { - return; - } - if ("removeEventListener" in self2[kSignal]) { - self2[kSignal].removeEventListener("abort", self2[kListener]); - } else { - self2[kSignal].removeListener("abort", self2[kListener]); - } - self2[kSignal] = null; - self2[kListener] = null; - } - module2.exports = { - addSignal, - removeSignal - }; - } -}); - -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/api/api-request.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/api/api-request.js var require_api_request = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/api/api-request.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/api/api-request.js"(exports, module2) { "use strict"; var assert3 = require("node:assert"); var { Readable: Readable2 } = require_readable(); - var { InvalidArgumentError } = require_errors(); + var { InvalidArgumentError, RequestAbortedError } = require_errors(); var util = require_util(); var { getResolveErrorBodyCallback } = require_util2(); var { AsyncResource } = require("node:async_hooks"); - var { addSignal, removeSignal } = require_abort_signal(); var RequestHandler = class extends AsyncResource { constructor(opts, callback) { if (!opts || typeof opts !== "object") { @@ -5719,6 +5105,7 @@ var require_api_request = __commonJS({ } throw err; } + this.method = method; this.responseHeaders = responseHeaders || null; this.opaque = opaque || null; this.callback = callback; @@ -5730,12 +5117,33 @@ var require_api_request = __commonJS({ this.onInfo = onInfo || null; this.throwOnError = throwOnError; this.highWaterMark = highWaterMark; + this.signal = signal; + this.reason = null; + this.removeAbortListener = null; if (util.isStream(body)) { body.on("error", (err) => { this.onError(err); }); } - addSignal(this, signal); + if (this.signal) { + if (this.signal.aborted) { + this.reason = this.signal.reason ?? new RequestAbortedError(); + } else { + this.removeAbortListener = util.addAbortListener(this.signal, () => { + this.reason = this.signal.reason ?? new RequestAbortedError(); + if (this.res) { + util.destroy(this.res, this.reason); + } else if (this.abort) { + this.abort(this.reason); + } + if (this.removeAbortListener) { + this.res?.off("close", this.removeAbortListener); + this.removeAbortListener(); + this.removeAbortListener = null; + } + }); + } + } } onConnect(abort, context) { if (this.reason) { @@ -5758,15 +5166,24 @@ var require_api_request = __commonJS({ const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers; const contentType = parsedHeaders["content-type"]; const contentLength = parsedHeaders["content-length"]; - const body = new Readable2({ resume, abort, contentType, contentLength, highWaterMark }); + const res = new Readable2({ + resume, + abort, + contentType, + contentLength: this.method !== "HEAD" && contentLength ? Number(contentLength) : null, + highWaterMark + }); + if (this.removeAbortListener) { + res.on("close", this.removeAbortListener); + } this.callback = null; - this.res = body; + this.res = res; if (callback !== null) { if (this.throwOnError && statusCode >= 400) { this.runInAsyncScope( getResolveErrorBodyCallback, null, - { callback, body, contentType, statusCode, statusMessage, headers } + { callback, body: res, contentType, statusCode, statusMessage, headers } ); } else { this.runInAsyncScope(callback, null, null, { @@ -5774,25 +5191,21 @@ var require_api_request = __commonJS({ headers, trailers: this.trailers, opaque, - body, + body: res, context }); } } } onData(chunk) { - const { res } = this; - return res.push(chunk); + return this.res.push(chunk); } onComplete(trailers) { - const { res } = this; - removeSignal(this); util.parseHeaders(trailers, this.trailers); - res.push(null); + this.res.push(null); } onError(err) { const { res, callback, body, opaque } = this; - removeSignal(this); if (callback) { this.callback = null; queueMicrotask(() => { @@ -5809,6 +5222,11 @@ var require_api_request = __commonJS({ this.body = null; util.destroy(body, err); } + if (this.removeAbortListener) { + res?.off("close", this.removeAbortListener); + this.removeAbortListener(); + this.removeAbortListener = null; + } } }; function request(opts, callback) { @@ -5834,9 +5252,60 @@ var require_api_request = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/api/api-stream.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/api/abort-signal.js +var require_abort_signal = __commonJS({ + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/api/abort-signal.js"(exports, module2) { + var { addAbortListener } = require_util(); + var { RequestAbortedError } = require_errors(); + var kListener = Symbol("kListener"); + var kSignal = Symbol("kSignal"); + function abort(self2) { + if (self2.abort) { + self2.abort(self2[kSignal]?.reason); + } else { + self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError(); + } + removeSignal(self2); + } + function addSignal(self2, signal) { + self2.reason = null; + self2[kSignal] = null; + self2[kListener] = null; + if (!signal) { + return; + } + if (signal.aborted) { + abort(self2); + return; + } + self2[kSignal] = signal; + self2[kListener] = () => { + abort(self2); + }; + addAbortListener(self2[kSignal], self2[kListener]); + } + function removeSignal(self2) { + if (!self2[kSignal]) { + return; + } + if ("removeEventListener" in self2[kSignal]) { + self2[kSignal].removeEventListener("abort", self2[kListener]); + } else { + self2[kSignal].removeListener("abort", self2[kListener]); + } + self2[kSignal] = null; + self2[kListener] = null; + } + module2.exports = { + addSignal, + removeSignal + }; + } +}); + +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/api/api-stream.js var require_api_stream = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/api/api-stream.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/api/api-stream.js"(exports, module2) { "use strict"; var assert3 = require("node:assert"); var { finished, PassThrough } = require("node:stream"); @@ -6007,9 +5476,9 @@ var require_api_stream = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/api/api-pipeline.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/api/api-pipeline.js var require_api_pipeline = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/api/api-pipeline.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/api/api-pipeline.js"(exports, module2) { "use strict"; var { Readable: Readable2, @@ -6207,9 +5676,9 @@ var require_api_pipeline = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/api/api-upgrade.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/api/api-upgrade.js var require_api_upgrade = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/api/api-upgrade.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/api/api-upgrade.js"(exports, module2) { "use strict"; var { InvalidArgumentError, SocketError } = require_errors(); var { AsyncResource } = require("node:async_hooks"); @@ -6299,9 +5768,9 @@ var require_api_upgrade = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/api/api-connect.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/api/api-connect.js var require_api_connect = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/api/api-connect.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/api/api-connect.js"(exports, module2) { "use strict"; var assert3 = require("node:assert"); var { AsyncResource } = require("node:async_hooks"); @@ -6389,9 +5858,9 @@ var require_api_connect = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/api/index.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/api/index.js var require_api = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/api/index.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/api/index.js"(exports, module2) { "use strict"; module2.exports.request = require_api_request(); module2.exports.stream = require_api_stream(); @@ -6401,9 +5870,9 @@ var require_api = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/dispatcher/dispatcher.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/dispatcher/dispatcher.js var require_dispatcher = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/dispatcher/dispatcher.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/dispatcher/dispatcher.js"(exports, module2) { "use strict"; var EventEmitter = require("node:events"); var Dispatcher = class extends EventEmitter { @@ -6456,9 +5925,9 @@ var require_dispatcher = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/dispatcher/dispatcher-base.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/dispatcher/dispatcher-base.js var require_dispatcher_base = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports, module2) { "use strict"; var Dispatcher = require_dispatcher(); var { @@ -6466,9 +5935,7 @@ var require_dispatcher_base = __commonJS({ ClientClosedError, InvalidArgumentError } = require_errors(); - var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols(); - var kDestroyed = Symbol("destroyed"); - var kClosed = Symbol("closed"); + var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols(); var kOnDestroyed = Symbol("onDestroyed"); var kOnClosed = Symbol("onClosed"); var kInterceptedDispatch = Symbol("Intercepted Dispatch"); @@ -6619,9 +6086,9 @@ var require_dispatcher_base = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/dispatcher/fixed-queue.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/dispatcher/fixed-queue.js var require_fixed_queue = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports, module2) { "use strict"; var kSize = 2048; var kMask = kSize - 1; @@ -6676,9 +6143,9 @@ var require_fixed_queue = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/dispatcher/pool-stats.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/dispatcher/pool-stats.js var require_pool_stats = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/dispatcher/pool-stats.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/dispatcher/pool-stats.js"(exports, module2) { var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols(); var kPool = Symbol("pool"); var PoolStats = class { @@ -6708,9 +6175,9 @@ var require_pool_stats = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/dispatcher/pool-base.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/dispatcher/pool-base.js var require_pool_base = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/dispatcher/pool-base.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/dispatcher/pool-base.js"(exports, module2) { "use strict"; var DispatcherBase = require_dispatcher_base(); var FixedQueue = require_fixed_queue(); @@ -6863,9 +6330,9 @@ var require_pool_base = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/core/diagnostics.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/core/diagnostics.js var require_diagnostics = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/core/diagnostics.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/core/diagnostics.js"(exports, module2) { "use strict"; var diagnosticsChannel = require("node:diagnostics_channel"); var util = require("node:util"); @@ -7048,9 +6515,9 @@ var require_diagnostics = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/core/request.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/core/request.js var require_request = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/core/request.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/core/request.js"(exports, module2) { "use strict"; var { InvalidArgumentError, @@ -7059,7 +6526,7 @@ var require_request = __commonJS({ var assert3 = require("node:assert"); var { isValidHTTPToken, - isValidHeaderChar, + isValidHeaderValue, isStream, destroy, isBuffer, @@ -7316,7 +6783,7 @@ var require_request = __commonJS({ const arr = []; for (let i = 0; i < val.length; i++) { if (typeof val[i] === "string") { - if (!isValidHeaderChar(val[i])) { + if (!isValidHeaderValue(val[i])) { throw new InvalidArgumentError(`invalid ${key} header`); } arr.push(val[i]); @@ -7330,13 +6797,11 @@ var require_request = __commonJS({ } val = arr; } else if (typeof val === "string") { - if (!isValidHeaderChar(val)) { + if (!isValidHeaderValue(val)) { throw new InvalidArgumentError(`invalid ${key} header`); } } else if (val === null) { val = ""; - } else if (typeof val === "object") { - throw new InvalidArgumentError(`invalid ${key} header`); } else { val = `${val}`; } @@ -7373,9 +6838,9 @@ var require_request = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/core/connect.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/core/connect.js var require_connect = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/core/connect.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/core/connect.js"(exports, module2) { "use strict"; var net = require("node:net"); var assert3 = require("node:assert"); @@ -7533,10 +6998,11 @@ var require_connect = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/util/timers.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/util/timers.js var require_timers = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/util/timers.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/util/timers.js"(exports, module2) { "use strict"; + var TICK_MS = 499; var fastNow = Date.now(); var fastNowTimeout; var fastTimers = []; @@ -7547,7 +7013,7 @@ var require_timers = __commonJS({ while (idx < len) { const timer = fastTimers[idx]; if (timer.state === 0) { - timer.state = fastNow + timer.delay; + timer.state = fastNow + timer.delay - TICK_MS; } else if (timer.state > 0 && fastNow >= timer.state) { timer.state = -1; timer.callback(timer.opaque); @@ -7573,7 +7039,7 @@ var require_timers = __commonJS({ fastNowTimeout.refresh(); } else { clearTimeout(fastNowTimeout); - fastNowTimeout = setTimeout(onTimeout, 1e3); + fastNowTimeout = setTimeout(onTimeout, TICK_MS); if (fastNowTimeout.unref) { fastNowTimeout.unref(); } @@ -7602,7 +7068,7 @@ var require_timers = __commonJS({ }; module2.exports = { setTimeout(callback, delay, opaque) { - return delay < 1e3 ? setTimeout(callback, delay, opaque) : new Timeout(callback, delay, opaque); + return delay <= 1e3 ? setTimeout(callback, delay, opaque) : new Timeout(callback, delay, opaque); }, clearTimeout(timeout) { if (timeout instanceof Timeout) { @@ -7615,9 +7081,9 @@ var require_timers = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/llhttp/utils.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/llhttp/utils.js var require_utils = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/llhttp/utils.js"(exports) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/llhttp/utils.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.enumToMap = void 0; @@ -7635,9 +7101,9 @@ var require_utils = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/llhttp/constants.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/llhttp/constants.js var require_constants3 = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/llhttp/constants.js"(exports) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/llhttp/constants.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SPECIAL_HEADERS = exports.HEADER_STATE = exports.MINOR = exports.MAJOR = exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS = exports.TOKEN = exports.STRICT_TOKEN = exports.HEX = exports.URL_CHAR = exports.STRICT_URL_CHAR = exports.USERINFO_CHARS = exports.MARK = exports.ALPHANUM = exports.NUM = exports.HEX_MAP = exports.NUM_MAP = exports.ALPHA = exports.FINISH = exports.H_METHOD_MAP = exports.METHOD_MAP = exports.METHODS_RTSP = exports.METHODS_ICE = exports.METHODS_HTTP = exports.METHODS = exports.LENIENT_FLAGS = exports.FLAGS = exports.TYPE = exports.ERROR = void 0; @@ -7956,25 +7422,27 @@ var require_constants3 = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/llhttp/llhttp-wasm.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/llhttp/llhttp-wasm.js var require_llhttp_wasm = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports, module2) { + "use strict"; var { Buffer: Buffer2 } = require("node:buffer"); - module2.exports = Buffer2.from("AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=", "base64"); + module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64"); } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js var require_llhttp_simd_wasm = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports, module2) { + "use strict"; var { Buffer: Buffer2 } = require("node:buffer"); - module2.exports = Buffer2.from("AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB4fICEjJSg/QEFERUZHSElKS0xNT1BRUlPeA1dZW1xdYGJlZmdoaWprbG1vcHFyc3R1dnd4eXp7fH1+gAGCAYUBhgGHAYkBiwGMAY0BjgGPAZABkQGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4BzwHQAdEB0gHTAdQB1QHWAdcB2AHZAdoB2wHcAd0B3gHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMBmQKkArAC/gL+AgsgASIEIAJHDfMBQd0BIRAM/wMLIAEiECACRw3dAUHDASEQDP4DCyABIgEgAkcNkAFB9wAhEAz9AwsgASIBIAJHDYYBQe8AIRAM/AMLIAEiASACRw1/QeoAIRAM+wMLIAEiASACRw17QegAIRAM+gMLIAEiASACRw14QeYAIRAM+QMLIAEiASACRw0aQRghEAz4AwsgASIBIAJHDRRBEiEQDPcDCyABIgEgAkcNWUHFACEQDPYDCyABIgEgAkcNSkE/IRAM9QMLIAEiASACRw1IQTwhEAz0AwsgASIBIAJHDUFBMSEQDPMDCyAALQAuQQFGDesDDIcCCyAAIAEiASACEMCAgIAAQQFHDeYBIABCADcDIAznAQsgACABIgEgAhC0gICAACIQDecBIAEhAQz1AgsCQCABIgEgAkcNAEEGIRAM8AMLIAAgAUEBaiIBIAIQu4CAgAAiEA3oASABIQEMMQsgAEIANwMgQRIhEAzVAwsgASIQIAJHDStBHSEQDO0DCwJAIAEiASACRg0AIAFBAWohAUEQIRAM1AMLQQchEAzsAwsgAEIAIAApAyAiESACIAEiEGutIhJ9IhMgEyARVhs3AyAgESASViIURQ3lAUEIIRAM6wMLAkAgASIBIAJGDQAgAEGJgICAADYCCCAAIAE2AgQgASEBQRQhEAzSAwtBCSEQDOoDCyABIQEgACkDIFAN5AEgASEBDPICCwJAIAEiASACRw0AQQshEAzpAwsgACABQQFqIgEgAhC2gICAACIQDeUBIAEhAQzyAgsgACABIgEgAhC4gICAACIQDeUBIAEhAQzyAgsgACABIgEgAhC4gICAACIQDeYBIAEhAQwNCyAAIAEiASACELqAgIAAIhAN5wEgASEBDPACCwJAIAEiASACRw0AQQ8hEAzlAwsgAS0AACIQQTtGDQggEEENRw3oASABQQFqIQEM7wILIAAgASIBIAIQuoCAgAAiEA3oASABIQEM8gILA0ACQCABLQAAQfC1gIAAai0AACIQQQFGDQAgEEECRw3rASAAKAIEIRAgAEEANgIEIAAgECABQQFqIgEQuYCAgAAiEA3qASABIQEM9AILIAFBAWoiASACRw0AC0ESIRAM4gMLIAAgASIBIAIQuoCAgAAiEA3pASABIQEMCgsgASIBIAJHDQZBGyEQDOADCwJAIAEiASACRw0AQRYhEAzgAwsgAEGKgICAADYCCCAAIAE2AgQgACABIAIQuICAgAAiEA3qASABIQFBICEQDMYDCwJAIAEiASACRg0AA0ACQCABLQAAQfC3gIAAai0AACIQQQJGDQACQCAQQX9qDgTlAewBAOsB7AELIAFBAWohAUEIIRAMyAMLIAFBAWoiASACRw0AC0EVIRAM3wMLQRUhEAzeAwsDQAJAIAEtAABB8LmAgABqLQAAIhBBAkYNACAQQX9qDgTeAewB4AHrAewBCyABQQFqIgEgAkcNAAtBGCEQDN0DCwJAIAEiASACRg0AIABBi4CAgAA2AgggACABNgIEIAEhAUEHIRAMxAMLQRkhEAzcAwsgAUEBaiEBDAILAkAgASIUIAJHDQBBGiEQDNsDCyAUIQECQCAULQAAQXNqDhTdAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAgDuAgtBACEQIABBADYCHCAAQa+LgIAANgIQIABBAjYCDCAAIBRBAWo2AhQM2gMLAkAgAS0AACIQQTtGDQAgEEENRw3oASABQQFqIQEM5QILIAFBAWohAQtBIiEQDL8DCwJAIAEiECACRw0AQRwhEAzYAwtCACERIBAhASAQLQAAQVBqDjfnAeYBAQIDBAUGBwgAAAAAAAAACQoLDA0OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEBESExQAC0EeIRAMvQMLQgIhEQzlAQtCAyERDOQBC0IEIREM4wELQgUhEQziAQtCBiERDOEBC0IHIREM4AELQgghEQzfAQtCCSERDN4BC0IKIREM3QELQgshEQzcAQtCDCERDNsBC0INIREM2gELQg4hEQzZAQtCDyERDNgBC0IKIREM1wELQgshEQzWAQtCDCERDNUBC0INIREM1AELQg4hEQzTAQtCDyERDNIBC0IAIRECQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAtAABBUGoON+UB5AEAAQIDBAUGB+YB5gHmAeYB5gHmAeYBCAkKCwwN5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAQ4PEBESE+YBC0ICIREM5AELQgMhEQzjAQtCBCERDOIBC0IFIREM4QELQgYhEQzgAQtCByERDN8BC0IIIREM3gELQgkhEQzdAQtCCiERDNwBC0ILIREM2wELQgwhEQzaAQtCDSERDNkBC0IOIREM2AELQg8hEQzXAQtCCiERDNYBC0ILIREM1QELQgwhEQzUAQtCDSERDNMBC0IOIREM0gELQg8hEQzRAQsgAEIAIAApAyAiESACIAEiEGutIhJ9IhMgEyARVhs3AyAgESASViIURQ3SAUEfIRAMwAMLAkAgASIBIAJGDQAgAEGJgICAADYCCCAAIAE2AgQgASEBQSQhEAynAwtBICEQDL8DCyAAIAEiECACEL6AgIAAQX9qDgW2AQDFAgHRAdIBC0ERIRAMpAMLIABBAToALyAQIQEMuwMLIAEiASACRw3SAUEkIRAMuwMLIAEiDSACRw0eQcYAIRAMugMLIAAgASIBIAIQsoCAgAAiEA3UASABIQEMtQELIAEiECACRw0mQdAAIRAMuAMLAkAgASIBIAJHDQBBKCEQDLgDCyAAQQA2AgQgAEGMgICAADYCCCAAIAEgARCxgICAACIQDdMBIAEhAQzYAQsCQCABIhAgAkcNAEEpIRAMtwMLIBAtAAAiAUEgRg0UIAFBCUcN0wEgEEEBaiEBDBULAkAgASIBIAJGDQAgAUEBaiEBDBcLQSohEAy1AwsCQCABIhAgAkcNAEErIRAMtQMLAkAgEC0AACIBQQlGDQAgAUEgRw3VAQsgAC0ALEEIRg3TASAQIQEMkQMLAkAgASIBIAJHDQBBLCEQDLQDCyABLQAAQQpHDdUBIAFBAWohAQzJAgsgASIOIAJHDdUBQS8hEAyyAwsDQAJAIAEtAAAiEEEgRg0AAkAgEEF2ag4EANwB3AEA2gELIAEhAQzgAQsgAUEBaiIBIAJHDQALQTEhEAyxAwtBMiEQIAEiFCACRg2wAyACIBRrIAAoAgAiAWohFSAUIAFrQQNqIRYCQANAIBQtAAAiF0EgciAXIBdBv39qQf8BcUEaSRtB/wFxIAFB8LuAgABqLQAARw0BAkAgAUEDRw0AQQYhAQyWAwsgAUEBaiEBIBRBAWoiFCACRw0ACyAAIBU2AgAMsQMLIABBADYCACAUIQEM2QELQTMhECABIhQgAkYNrwMgAiAUayAAKAIAIgFqIRUgFCABa0EIaiEWAkADQCAULQAAIhdBIHIgFyAXQb9/akH/AXFBGkkbQf8BcSABQfS7gIAAai0AAEcNAQJAIAFBCEcNAEEFIQEMlQMLIAFBAWohASAUQQFqIhQgAkcNAAsgACAVNgIADLADCyAAQQA2AgAgFCEBDNgBC0E0IRAgASIUIAJGDa4DIAIgFGsgACgCACIBaiEVIBQgAWtBBWohFgJAA0AgFC0AACIXQSByIBcgF0G/f2pB/wFxQRpJG0H/AXEgAUHQwoCAAGotAABHDQECQCABQQVHDQBBByEBDJQDCyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFTYCAAyvAwsgAEEANgIAIBQhAQzXAQsCQCABIgEgAkYNAANAAkAgAS0AAEGAvoCAAGotAAAiEEEBRg0AIBBBAkYNCiABIQEM3QELIAFBAWoiASACRw0AC0EwIRAMrgMLQTAhEAytAwsCQCABIgEgAkYNAANAAkAgAS0AACIQQSBGDQAgEEF2ag4E2QHaAdoB2QHaAQsgAUEBaiIBIAJHDQALQTghEAytAwtBOCEQDKwDCwNAAkAgAS0AACIQQSBGDQAgEEEJRw0DCyABQQFqIgEgAkcNAAtBPCEQDKsDCwNAAkAgAS0AACIQQSBGDQACQAJAIBBBdmoOBNoBAQHaAQALIBBBLEYN2wELIAEhAQwECyABQQFqIgEgAkcNAAtBPyEQDKoDCyABIQEM2wELQcAAIRAgASIUIAJGDagDIAIgFGsgACgCACIBaiEWIBQgAWtBBmohFwJAA0AgFC0AAEEgciABQYDAgIAAai0AAEcNASABQQZGDY4DIAFBAWohASAUQQFqIhQgAkcNAAsgACAWNgIADKkDCyAAQQA2AgAgFCEBC0E2IRAMjgMLAkAgASIPIAJHDQBBwQAhEAynAwsgAEGMgICAADYCCCAAIA82AgQgDyEBIAAtACxBf2oOBM0B1QHXAdkBhwMLIAFBAWohAQzMAQsCQCABIgEgAkYNAANAAkAgAS0AACIQQSByIBAgEEG/f2pB/wFxQRpJG0H/AXEiEEEJRg0AIBBBIEYNAAJAAkACQAJAIBBBnX9qDhMAAwMDAwMDAwEDAwMDAwMDAwMCAwsgAUEBaiEBQTEhEAyRAwsgAUEBaiEBQTIhEAyQAwsgAUEBaiEBQTMhEAyPAwsgASEBDNABCyABQQFqIgEgAkcNAAtBNSEQDKUDC0E1IRAMpAMLAkAgASIBIAJGDQADQAJAIAEtAABBgLyAgABqLQAAQQFGDQAgASEBDNMBCyABQQFqIgEgAkcNAAtBPSEQDKQDC0E9IRAMowMLIAAgASIBIAIQsICAgAAiEA3WASABIQEMAQsgEEEBaiEBC0E8IRAMhwMLAkAgASIBIAJHDQBBwgAhEAygAwsCQANAAkAgAS0AAEF3ag4YAAL+Av4ChAP+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gIA/gILIAFBAWoiASACRw0AC0HCACEQDKADCyABQQFqIQEgAC0ALUEBcUUNvQEgASEBC0EsIRAMhQMLIAEiASACRw3TAUHEACEQDJ0DCwNAAkAgAS0AAEGQwICAAGotAABBAUYNACABIQEMtwILIAFBAWoiASACRw0AC0HFACEQDJwDCyANLQAAIhBBIEYNswEgEEE6Rw2BAyAAKAIEIQEgAEEANgIEIAAgASANEK+AgIAAIgEN0AEgDUEBaiEBDLMCC0HHACEQIAEiDSACRg2aAyACIA1rIAAoAgAiAWohFiANIAFrQQVqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQZDCgIAAai0AAEcNgAMgAUEFRg30AiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyaAwtByAAhECABIg0gAkYNmQMgAiANayAAKAIAIgFqIRYgDSABa0EJaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGWwoCAAGotAABHDf8CAkAgAUEJRw0AQQIhAQz1AgsgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMmQMLAkAgASINIAJHDQBByQAhEAyZAwsCQAJAIA0tAAAiAUEgciABIAFBv39qQf8BcUEaSRtB/wFxQZJ/ag4HAIADgAOAA4ADgAMBgAMLIA1BAWohAUE+IRAMgAMLIA1BAWohAUE/IRAM/wILQcoAIRAgASINIAJGDZcDIAIgDWsgACgCACIBaiEWIA0gAWtBAWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBoMKAgABqLQAARw39AiABQQFGDfACIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJcDC0HLACEQIAEiDSACRg2WAyACIA1rIAAoAgAiAWohFiANIAFrQQ5qIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQaLCgIAAai0AAEcN/AIgAUEORg3wAiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyWAwtBzAAhECABIg0gAkYNlQMgAiANayAAKAIAIgFqIRYgDSABa0EPaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUHAwoCAAGotAABHDfsCAkAgAUEPRw0AQQMhAQzxAgsgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMlQMLQc0AIRAgASINIAJGDZQDIAIgDWsgACgCACIBaiEWIA0gAWtBBWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFB0MKAgABqLQAARw36AgJAIAFBBUcNAEEEIQEM8AILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJQDCwJAIAEiDSACRw0AQc4AIRAMlAMLAkACQAJAAkAgDS0AACIBQSByIAEgAUG/f2pB/wFxQRpJG0H/AXFBnX9qDhMA/QL9Av0C/QL9Av0C/QL9Av0C/QL9Av0CAf0C/QL9AgID/QILIA1BAWohAUHBACEQDP0CCyANQQFqIQFBwgAhEAz8AgsgDUEBaiEBQcMAIRAM+wILIA1BAWohAUHEACEQDPoCCwJAIAEiASACRg0AIABBjYCAgAA2AgggACABNgIEIAEhAUHFACEQDPoCC0HPACEQDJIDCyAQIQECQAJAIBAtAABBdmoOBAGoAqgCAKgCCyAQQQFqIQELQSchEAz4AgsCQCABIgEgAkcNAEHRACEQDJEDCwJAIAEtAABBIEYNACABIQEMjQELIAFBAWohASAALQAtQQFxRQ3HASABIQEMjAELIAEiFyACRw3IAUHSACEQDI8DC0HTACEQIAEiFCACRg2OAyACIBRrIAAoAgAiAWohFiAUIAFrQQFqIRcDQCAULQAAIAFB1sKAgABqLQAARw3MASABQQFGDccBIAFBAWohASAUQQFqIhQgAkcNAAsgACAWNgIADI4DCwJAIAEiASACRw0AQdUAIRAMjgMLIAEtAABBCkcNzAEgAUEBaiEBDMcBCwJAIAEiASACRw0AQdYAIRAMjQMLAkACQCABLQAAQXZqDgQAzQHNAQHNAQsgAUEBaiEBDMcBCyABQQFqIQFBygAhEAzzAgsgACABIgEgAhCugICAACIQDcsBIAEhAUHNACEQDPICCyAALQApQSJGDYUDDKYCCwJAIAEiASACRw0AQdsAIRAMigMLQQAhFEEBIRdBASEWQQAhEAJAAkACQAJAAkACQAJAAkACQCABLQAAQVBqDgrUAdMBAAECAwQFBgjVAQtBAiEQDAYLQQMhEAwFC0EEIRAMBAtBBSEQDAMLQQYhEAwCC0EHIRAMAQtBCCEQC0EAIRdBACEWQQAhFAzMAQtBCSEQQQEhFEEAIRdBACEWDMsBCwJAIAEiASACRw0AQd0AIRAMiQMLIAEtAABBLkcNzAEgAUEBaiEBDKYCCyABIgEgAkcNzAFB3wAhEAyHAwsCQCABIgEgAkYNACAAQY6AgIAANgIIIAAgATYCBCABIQFB0AAhEAzuAgtB4AAhEAyGAwtB4QAhECABIgEgAkYNhQMgAiABayAAKAIAIhRqIRYgASAUa0EDaiEXA0AgAS0AACAUQeLCgIAAai0AAEcNzQEgFEEDRg3MASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyFAwtB4gAhECABIgEgAkYNhAMgAiABayAAKAIAIhRqIRYgASAUa0ECaiEXA0AgAS0AACAUQebCgIAAai0AAEcNzAEgFEECRg3OASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyEAwtB4wAhECABIgEgAkYNgwMgAiABayAAKAIAIhRqIRYgASAUa0EDaiEXA0AgAS0AACAUQenCgIAAai0AAEcNywEgFEEDRg3OASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyDAwsCQCABIgEgAkcNAEHlACEQDIMDCyAAIAFBAWoiASACEKiAgIAAIhANzQEgASEBQdYAIRAM6QILAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgRg0AAkACQAJAIBBBuH9qDgsAAc8BzwHPAc8BzwHPAc8BzwECzwELIAFBAWohAUHSACEQDO0CCyABQQFqIQFB0wAhEAzsAgsgAUEBaiEBQdQAIRAM6wILIAFBAWoiASACRw0AC0HkACEQDIIDC0HkACEQDIEDCwNAAkAgAS0AAEHwwoCAAGotAAAiEEEBRg0AIBBBfmoOA88B0AHRAdIBCyABQQFqIgEgAkcNAAtB5gAhEAyAAwsCQCABIgEgAkYNACABQQFqIQEMAwtB5wAhEAz/AgsDQAJAIAEtAABB8MSAgABqLQAAIhBBAUYNAAJAIBBBfmoOBNIB0wHUAQDVAQsgASEBQdcAIRAM5wILIAFBAWoiASACRw0AC0HoACEQDP4CCwJAIAEiASACRw0AQekAIRAM/gILAkAgAS0AACIQQXZqDhq6AdUB1QG8AdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAcoB1QHVAQDTAQsgAUEBaiEBC0EGIRAM4wILA0ACQCABLQAAQfDGgIAAai0AAEEBRg0AIAEhAQyeAgsgAUEBaiIBIAJHDQALQeoAIRAM+wILAkAgASIBIAJGDQAgAUEBaiEBDAMLQesAIRAM+gILAkAgASIBIAJHDQBB7AAhEAz6AgsgAUEBaiEBDAELAkAgASIBIAJHDQBB7QAhEAz5AgsgAUEBaiEBC0EEIRAM3gILAkAgASIUIAJHDQBB7gAhEAz3AgsgFCEBAkACQAJAIBQtAABB8MiAgABqLQAAQX9qDgfUAdUB1gEAnAIBAtcBCyAUQQFqIQEMCgsgFEEBaiEBDM0BC0EAIRAgAEEANgIcIABBm5KAgAA2AhAgAEEHNgIMIAAgFEEBajYCFAz2AgsCQANAAkAgAS0AAEHwyICAAGotAAAiEEEERg0AAkACQCAQQX9qDgfSAdMB1AHZAQAEAdkBCyABIQFB2gAhEAzgAgsgAUEBaiEBQdwAIRAM3wILIAFBAWoiASACRw0AC0HvACEQDPYCCyABQQFqIQEMywELAkAgASIUIAJHDQBB8AAhEAz1AgsgFC0AAEEvRw3UASAUQQFqIQEMBgsCQCABIhQgAkcNAEHxACEQDPQCCwJAIBQtAAAiAUEvRw0AIBRBAWohAUHdACEQDNsCCyABQXZqIgRBFksN0wFBASAEdEGJgIACcUUN0wEMygILAkAgASIBIAJGDQAgAUEBaiEBQd4AIRAM2gILQfIAIRAM8gILAkAgASIUIAJHDQBB9AAhEAzyAgsgFCEBAkAgFC0AAEHwzICAAGotAABBf2oOA8kClAIA1AELQeEAIRAM2AILAkAgASIUIAJGDQADQAJAIBQtAABB8MqAgABqLQAAIgFBA0YNAAJAIAFBf2oOAssCANUBCyAUIQFB3wAhEAzaAgsgFEEBaiIUIAJHDQALQfMAIRAM8QILQfMAIRAM8AILAkAgASIBIAJGDQAgAEGPgICAADYCCCAAIAE2AgQgASEBQeAAIRAM1wILQfUAIRAM7wILAkAgASIBIAJHDQBB9gAhEAzvAgsgAEGPgICAADYCCCAAIAE2AgQgASEBC0EDIRAM1AILA0AgAS0AAEEgRw3DAiABQQFqIgEgAkcNAAtB9wAhEAzsAgsCQCABIgEgAkcNAEH4ACEQDOwCCyABLQAAQSBHDc4BIAFBAWohAQzvAQsgACABIgEgAhCsgICAACIQDc4BIAEhAQyOAgsCQCABIgQgAkcNAEH6ACEQDOoCCyAELQAAQcwARw3RASAEQQFqIQFBEyEQDM8BCwJAIAEiBCACRw0AQfsAIRAM6QILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEANAIAQtAAAgAUHwzoCAAGotAABHDdABIAFBBUYNzgEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBB+wAhEAzoAgsCQCABIgQgAkcNAEH8ACEQDOgCCwJAAkAgBC0AAEG9f2oODADRAdEB0QHRAdEB0QHRAdEB0QHRAQHRAQsgBEEBaiEBQeYAIRAMzwILIARBAWohAUHnACEQDM4CCwJAIAEiBCACRw0AQf0AIRAM5wILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNzwEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf0AIRAM5wILIABBADYCACAQQQFqIQFBECEQDMwBCwJAIAEiBCACRw0AQf4AIRAM5gILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQfbOgIAAai0AAEcNzgEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf4AIRAM5gILIABBADYCACAQQQFqIQFBFiEQDMsBCwJAIAEiBCACRw0AQf8AIRAM5QILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQfzOgIAAai0AAEcNzQEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf8AIRAM5QILIABBADYCACAQQQFqIQFBBSEQDMoBCwJAIAEiBCACRw0AQYABIRAM5AILIAQtAABB2QBHDcsBIARBAWohAUEIIRAMyQELAkAgASIEIAJHDQBBgQEhEAzjAgsCQAJAIAQtAABBsn9qDgMAzAEBzAELIARBAWohAUHrACEQDMoCCyAEQQFqIQFB7AAhEAzJAgsCQCABIgQgAkcNAEGCASEQDOICCwJAAkAgBC0AAEG4f2oOCADLAcsBywHLAcsBywEBywELIARBAWohAUHqACEQDMkCCyAEQQFqIQFB7QAhEAzIAgsCQCABIgQgAkcNAEGDASEQDOECCyACIARrIAAoAgAiAWohECAEIAFrQQJqIRQCQANAIAQtAAAgAUGAz4CAAGotAABHDckBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgEDYCAEGDASEQDOECC0EAIRAgAEEANgIAIBRBAWohAQzGAQsCQCABIgQgAkcNAEGEASEQDOACCyACIARrIAAoAgAiAWohFCAEIAFrQQRqIRACQANAIAQtAAAgAUGDz4CAAGotAABHDcgBIAFBBEYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGEASEQDOACCyAAQQA2AgAgEEEBaiEBQSMhEAzFAQsCQCABIgQgAkcNAEGFASEQDN8CCwJAAkAgBC0AAEG0f2oOCADIAcgByAHIAcgByAEByAELIARBAWohAUHvACEQDMYCCyAEQQFqIQFB8AAhEAzFAgsCQCABIgQgAkcNAEGGASEQDN4CCyAELQAAQcUARw3FASAEQQFqIQEMgwILAkAgASIEIAJHDQBBhwEhEAzdAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFBiM+AgABqLQAARw3FASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBhwEhEAzdAgsgAEEANgIAIBBBAWohAUEtIRAMwgELAkAgASIEIAJHDQBBiAEhEAzcAgsgAiAEayAAKAIAIgFqIRQgBCABa0EIaiEQAkADQCAELQAAIAFB0M+AgABqLQAARw3EASABQQhGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBiAEhEAzcAgsgAEEANgIAIBBBAWohAUEpIRAMwQELAkAgASIBIAJHDQBBiQEhEAzbAgtBASEQIAEtAABB3wBHDcABIAFBAWohAQyBAgsCQCABIgQgAkcNAEGKASEQDNoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRADQCAELQAAIAFBjM+AgABqLQAARw3BASABQQFGDa8CIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYoBIRAM2QILAkAgASIEIAJHDQBBiwEhEAzZAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBjs+AgABqLQAARw3BASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBiwEhEAzZAgsgAEEANgIAIBBBAWohAUECIRAMvgELAkAgASIEIAJHDQBBjAEhEAzYAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8M+AgABqLQAARw3AASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBjAEhEAzYAgsgAEEANgIAIBBBAWohAUEfIRAMvQELAkAgASIEIAJHDQBBjQEhEAzXAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8s+AgABqLQAARw2/ASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBjQEhEAzXAgsgAEEANgIAIBBBAWohAUEJIRAMvAELAkAgASIEIAJHDQBBjgEhEAzWAgsCQAJAIAQtAABBt39qDgcAvwG/Ab8BvwG/AQG/AQsgBEEBaiEBQfgAIRAMvQILIARBAWohAUH5ACEQDLwCCwJAIAEiBCACRw0AQY8BIRAM1QILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQZHPgIAAai0AAEcNvQEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQY8BIRAM1QILIABBADYCACAQQQFqIQFBGCEQDLoBCwJAIAEiBCACRw0AQZABIRAM1AILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQZfPgIAAai0AAEcNvAEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZABIRAM1AILIABBADYCACAQQQFqIQFBFyEQDLkBCwJAIAEiBCACRw0AQZEBIRAM0wILIAIgBGsgACgCACIBaiEUIAQgAWtBBmohEAJAA0AgBC0AACABQZrPgIAAai0AAEcNuwEgAUEGRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZEBIRAM0wILIABBADYCACAQQQFqIQFBFSEQDLgBCwJAIAEiBCACRw0AQZIBIRAM0gILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQaHPgIAAai0AAEcNugEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZIBIRAM0gILIABBADYCACAQQQFqIQFBHiEQDLcBCwJAIAEiBCACRw0AQZMBIRAM0QILIAQtAABBzABHDbgBIARBAWohAUEKIRAMtgELAkAgBCACRw0AQZQBIRAM0AILAkACQCAELQAAQb9/ag4PALkBuQG5AbkBuQG5AbkBuQG5AbkBuQG5AbkBAbkBCyAEQQFqIQFB/gAhEAy3AgsgBEEBaiEBQf8AIRAMtgILAkAgBCACRw0AQZUBIRAMzwILAkACQCAELQAAQb9/ag4DALgBAbgBCyAEQQFqIQFB/QAhEAy2AgsgBEEBaiEEQYABIRAMtQILAkAgBCACRw0AQZYBIRAMzgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQafPgIAAai0AAEcNtgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZYBIRAMzgILIABBADYCACAQQQFqIQFBCyEQDLMBCwJAIAQgAkcNAEGXASEQDM0CCwJAAkACQAJAIAQtAABBU2oOIwC4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBAbgBuAG4AbgBuAECuAG4AbgBA7gBCyAEQQFqIQFB+wAhEAy2AgsgBEEBaiEBQfwAIRAMtQILIARBAWohBEGBASEQDLQCCyAEQQFqIQRBggEhEAyzAgsCQCAEIAJHDQBBmAEhEAzMAgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBqc+AgABqLQAARw20ASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmAEhEAzMAgsgAEEANgIAIBBBAWohAUEZIRAMsQELAkAgBCACRw0AQZkBIRAMywILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQa7PgIAAai0AAEcNswEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZkBIRAMywILIABBADYCACAQQQFqIQFBBiEQDLABCwJAIAQgAkcNAEGaASEQDMoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUG0z4CAAGotAABHDbIBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGaASEQDMoCCyAAQQA2AgAgEEEBaiEBQRwhEAyvAQsCQCAEIAJHDQBBmwEhEAzJAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBts+AgABqLQAARw2xASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmwEhEAzJAgsgAEEANgIAIBBBAWohAUEnIRAMrgELAkAgBCACRw0AQZwBIRAMyAILAkACQCAELQAAQax/ag4CAAGxAQsgBEEBaiEEQYYBIRAMrwILIARBAWohBEGHASEQDK4CCwJAIAQgAkcNAEGdASEQDMcCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUG4z4CAAGotAABHDa8BIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGdASEQDMcCCyAAQQA2AgAgEEEBaiEBQSYhEAysAQsCQCAEIAJHDQBBngEhEAzGAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBus+AgABqLQAARw2uASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBngEhEAzGAgsgAEEANgIAIBBBAWohAUEDIRAMqwELAkAgBCACRw0AQZ8BIRAMxQILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNrQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZ8BIRAMxQILIABBADYCACAQQQFqIQFBDCEQDKoBCwJAIAQgAkcNAEGgASEQDMQCCyACIARrIAAoAgAiAWohFCAEIAFrQQNqIRACQANAIAQtAAAgAUG8z4CAAGotAABHDawBIAFBA0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGgASEQDMQCCyAAQQA2AgAgEEEBaiEBQQ0hEAypAQsCQCAEIAJHDQBBoQEhEAzDAgsCQAJAIAQtAABBun9qDgsArAGsAawBrAGsAawBrAGsAawBAawBCyAEQQFqIQRBiwEhEAyqAgsgBEEBaiEEQYwBIRAMqQILAkAgBCACRw0AQaIBIRAMwgILIAQtAABB0ABHDakBIARBAWohBAzpAQsCQCAEIAJHDQBBowEhEAzBAgsCQAJAIAQtAABBt39qDgcBqgGqAaoBqgGqAQCqAQsgBEEBaiEEQY4BIRAMqAILIARBAWohAUEiIRAMpgELAkAgBCACRw0AQaQBIRAMwAILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQcDPgIAAai0AAEcNqAEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQaQBIRAMwAILIABBADYCACAQQQFqIQFBHSEQDKUBCwJAIAQgAkcNAEGlASEQDL8CCwJAAkAgBC0AAEGuf2oOAwCoAQGoAQsgBEEBaiEEQZABIRAMpgILIARBAWohAUEEIRAMpAELAkAgBCACRw0AQaYBIRAMvgILAkACQAJAAkACQCAELQAAQb9/ag4VAKoBqgGqAaoBqgGqAaoBqgGqAaoBAaoBqgECqgGqAQOqAaoBBKoBCyAEQQFqIQRBiAEhEAyoAgsgBEEBaiEEQYkBIRAMpwILIARBAWohBEGKASEQDKYCCyAEQQFqIQRBjwEhEAylAgsgBEEBaiEEQZEBIRAMpAILAkAgBCACRw0AQacBIRAMvQILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNpQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQacBIRAMvQILIABBADYCACAQQQFqIQFBESEQDKIBCwJAIAQgAkcNAEGoASEQDLwCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHCz4CAAGotAABHDaQBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGoASEQDLwCCyAAQQA2AgAgEEEBaiEBQSwhEAyhAQsCQCAEIAJHDQBBqQEhEAy7AgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBxc+AgABqLQAARw2jASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBqQEhEAy7AgsgAEEANgIAIBBBAWohAUErIRAMoAELAkAgBCACRw0AQaoBIRAMugILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQcrPgIAAai0AAEcNogEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQaoBIRAMugILIABBADYCACAQQQFqIQFBFCEQDJ8BCwJAIAQgAkcNAEGrASEQDLkCCwJAAkACQAJAIAQtAABBvn9qDg8AAQKkAaQBpAGkAaQBpAGkAaQBpAGkAaQBA6QBCyAEQQFqIQRBkwEhEAyiAgsgBEEBaiEEQZQBIRAMoQILIARBAWohBEGVASEQDKACCyAEQQFqIQRBlgEhEAyfAgsCQCAEIAJHDQBBrAEhEAy4AgsgBC0AAEHFAEcNnwEgBEEBaiEEDOABCwJAIAQgAkcNAEGtASEQDLcCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHNz4CAAGotAABHDZ8BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGtASEQDLcCCyAAQQA2AgAgEEEBaiEBQQ4hEAycAQsCQCAEIAJHDQBBrgEhEAy2AgsgBC0AAEHQAEcNnQEgBEEBaiEBQSUhEAybAQsCQCAEIAJHDQBBrwEhEAy1AgsgAiAEayAAKAIAIgFqIRQgBCABa0EIaiEQAkADQCAELQAAIAFB0M+AgABqLQAARw2dASABQQhGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBrwEhEAy1AgsgAEEANgIAIBBBAWohAUEqIRAMmgELAkAgBCACRw0AQbABIRAMtAILAkACQCAELQAAQat/ag4LAJ0BnQGdAZ0BnQGdAZ0BnQGdAQGdAQsgBEEBaiEEQZoBIRAMmwILIARBAWohBEGbASEQDJoCCwJAIAQgAkcNAEGxASEQDLMCCwJAAkAgBC0AAEG/f2oOFACcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAEBnAELIARBAWohBEGZASEQDJoCCyAEQQFqIQRBnAEhEAyZAgsCQCAEIAJHDQBBsgEhEAyyAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFB2c+AgABqLQAARw2aASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBsgEhEAyyAgsgAEEANgIAIBBBAWohAUEhIRAMlwELAkAgBCACRw0AQbMBIRAMsQILIAIgBGsgACgCACIBaiEUIAQgAWtBBmohEAJAA0AgBC0AACABQd3PgIAAai0AAEcNmQEgAUEGRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbMBIRAMsQILIABBADYCACAQQQFqIQFBGiEQDJYBCwJAIAQgAkcNAEG0ASEQDLACCwJAAkACQCAELQAAQbt/ag4RAJoBmgGaAZoBmgGaAZoBmgGaAQGaAZoBmgGaAZoBApoBCyAEQQFqIQRBnQEhEAyYAgsgBEEBaiEEQZ4BIRAMlwILIARBAWohBEGfASEQDJYCCwJAIAQgAkcNAEG1ASEQDK8CCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUHkz4CAAGotAABHDZcBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG1ASEQDK8CCyAAQQA2AgAgEEEBaiEBQSghEAyUAQsCQCAEIAJHDQBBtgEhEAyuAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFB6s+AgABqLQAARw2WASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBtgEhEAyuAgsgAEEANgIAIBBBAWohAUEHIRAMkwELAkAgBCACRw0AQbcBIRAMrQILAkACQCAELQAAQbt/ag4OAJYBlgGWAZYBlgGWAZYBlgGWAZYBlgGWAQGWAQsgBEEBaiEEQaEBIRAMlAILIARBAWohBEGiASEQDJMCCwJAIAQgAkcNAEG4ASEQDKwCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDZQBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG4ASEQDKwCCyAAQQA2AgAgEEEBaiEBQRIhEAyRAQsCQCAEIAJHDQBBuQEhEAyrAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8M+AgABqLQAARw2TASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBuQEhEAyrAgsgAEEANgIAIBBBAWohAUEgIRAMkAELAkAgBCACRw0AQboBIRAMqgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfLPgIAAai0AAEcNkgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQboBIRAMqgILIABBADYCACAQQQFqIQFBDyEQDI8BCwJAIAQgAkcNAEG7ASEQDKkCCwJAAkAgBC0AAEG3f2oOBwCSAZIBkgGSAZIBAZIBCyAEQQFqIQRBpQEhEAyQAgsgBEEBaiEEQaYBIRAMjwILAkAgBCACRw0AQbwBIRAMqAILIAIgBGsgACgCACIBaiEUIAQgAWtBB2ohEAJAA0AgBC0AACABQfTPgIAAai0AAEcNkAEgAUEHRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbwBIRAMqAILIABBADYCACAQQQFqIQFBGyEQDI0BCwJAIAQgAkcNAEG9ASEQDKcCCwJAAkACQCAELQAAQb5/ag4SAJEBkQGRAZEBkQGRAZEBkQGRAQGRAZEBkQGRAZEBkQECkQELIARBAWohBEGkASEQDI8CCyAEQQFqIQRBpwEhEAyOAgsgBEEBaiEEQagBIRAMjQILAkAgBCACRw0AQb4BIRAMpgILIAQtAABBzgBHDY0BIARBAWohBAzPAQsCQCAEIAJHDQBBvwEhEAylAgsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAELQAAQb9/ag4VAAECA5wBBAUGnAGcAZwBBwgJCgucAQwNDg+cAQsgBEEBaiEBQegAIRAMmgILIARBAWohAUHpACEQDJkCCyAEQQFqIQFB7gAhEAyYAgsgBEEBaiEBQfIAIRAMlwILIARBAWohAUHzACEQDJYCCyAEQQFqIQFB9gAhEAyVAgsgBEEBaiEBQfcAIRAMlAILIARBAWohAUH6ACEQDJMCCyAEQQFqIQRBgwEhEAySAgsgBEEBaiEEQYQBIRAMkQILIARBAWohBEGFASEQDJACCyAEQQFqIQRBkgEhEAyPAgsgBEEBaiEEQZgBIRAMjgILIARBAWohBEGgASEQDI0CCyAEQQFqIQRBowEhEAyMAgsgBEEBaiEEQaoBIRAMiwILAkAgBCACRg0AIABBkICAgAA2AgggACAENgIEQasBIRAMiwILQcABIRAMowILIAAgBSACEKqAgIAAIgENiwEgBSEBDFwLAkAgBiACRg0AIAZBAWohBQyNAQtBwgEhEAyhAgsDQAJAIBAtAABBdmoOBIwBAACPAQALIBBBAWoiECACRw0AC0HDASEQDKACCwJAIAcgAkYNACAAQZGAgIAANgIIIAAgBzYCBCAHIQFBASEQDIcCC0HEASEQDJ8CCwJAIAcgAkcNAEHFASEQDJ8CCwJAAkAgBy0AAEF2ag4EAc4BzgEAzgELIAdBAWohBgyNAQsgB0EBaiEFDIkBCwJAIAcgAkcNAEHGASEQDJ4CCwJAAkAgBy0AAEF2ag4XAY8BjwEBjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BAI8BCyAHQQFqIQcLQbABIRAMhAILAkAgCCACRw0AQcgBIRAMnQILIAgtAABBIEcNjQEgAEEAOwEyIAhBAWohAUGzASEQDIMCCyABIRcCQANAIBciByACRg0BIActAABBUGpB/wFxIhBBCk8NzAECQCAALwEyIhRBmTNLDQAgACAUQQpsIhQ7ATIgEEH//wNzIBRB/v8DcUkNACAHQQFqIRcgACAUIBBqIhA7ATIgEEH//wNxQegHSQ0BCwtBACEQIABBADYCHCAAQcGJgIAANgIQIABBDTYCDCAAIAdBAWo2AhQMnAILQccBIRAMmwILIAAgCCACEK6AgIAAIhBFDcoBIBBBFUcNjAEgAEHIATYCHCAAIAg2AhQgAEHJl4CAADYCECAAQRU2AgxBACEQDJoCCwJAIAkgAkcNAEHMASEQDJoCC0EAIRRBASEXQQEhFkEAIRACQAJAAkACQAJAAkACQAJAAkAgCS0AAEFQag4KlgGVAQABAgMEBQYIlwELQQIhEAwGC0EDIRAMBQtBBCEQDAQLQQUhEAwDC0EGIRAMAgtBByEQDAELQQghEAtBACEXQQAhFkEAIRQMjgELQQkhEEEBIRRBACEXQQAhFgyNAQsCQCAKIAJHDQBBzgEhEAyZAgsgCi0AAEEuRw2OASAKQQFqIQkMygELIAsgAkcNjgFB0AEhEAyXAgsCQCALIAJGDQAgAEGOgICAADYCCCAAIAs2AgRBtwEhEAz+AQtB0QEhEAyWAgsCQCAEIAJHDQBB0gEhEAyWAgsgAiAEayAAKAIAIhBqIRQgBCAQa0EEaiELA0AgBC0AACAQQfzPgIAAai0AAEcNjgEgEEEERg3pASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHSASEQDJUCCyAAIAwgAhCsgICAACIBDY0BIAwhAQy4AQsCQCAEIAJHDQBB1AEhEAyUAgsgAiAEayAAKAIAIhBqIRQgBCAQa0EBaiEMA0AgBC0AACAQQYHQgIAAai0AAEcNjwEgEEEBRg2OASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHUASEQDJMCCwJAIAQgAkcNAEHWASEQDJMCCyACIARrIAAoAgAiEGohFCAEIBBrQQJqIQsDQCAELQAAIBBBg9CAgABqLQAARw2OASAQQQJGDZABIBBBAWohECAEQQFqIgQgAkcNAAsgACAUNgIAQdYBIRAMkgILAkAgBCACRw0AQdcBIRAMkgILAkACQCAELQAAQbt/ag4QAI8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwEBjwELIARBAWohBEG7ASEQDPkBCyAEQQFqIQRBvAEhEAz4AQsCQCAEIAJHDQBB2AEhEAyRAgsgBC0AAEHIAEcNjAEgBEEBaiEEDMQBCwJAIAQgAkYNACAAQZCAgIAANgIIIAAgBDYCBEG+ASEQDPcBC0HZASEQDI8CCwJAIAQgAkcNAEHaASEQDI8CCyAELQAAQcgARg3DASAAQQE6ACgMuQELIABBAjoALyAAIAQgAhCmgICAACIQDY0BQcIBIRAM9AELIAAtAChBf2oOArcBuQG4AQsDQAJAIAQtAABBdmoOBACOAY4BAI4BCyAEQQFqIgQgAkcNAAtB3QEhEAyLAgsgAEEAOgAvIAAtAC1BBHFFDYQCCyAAQQA6AC8gAEEBOgA0IAEhAQyMAQsgEEEVRg3aASAAQQA2AhwgACABNgIUIABBp46AgAA2AhAgAEESNgIMQQAhEAyIAgsCQCAAIBAgAhC0gICAACIEDQAgECEBDIECCwJAIARBFUcNACAAQQM2AhwgACAQNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAyIAgsgAEEANgIcIAAgEDYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAMhwILIBBBFUYN1gEgAEEANgIcIAAgATYCFCAAQdqNgIAANgIQIABBFDYCDEEAIRAMhgILIAAoAgQhFyAAQQA2AgQgECARp2oiFiEBIAAgFyAQIBYgFBsiEBC1gICAACIURQ2NASAAQQc2AhwgACAQNgIUIAAgFDYCDEEAIRAMhQILIAAgAC8BMEGAAXI7ATAgASEBC0EqIRAM6gELIBBBFUYN0QEgAEEANgIcIAAgATYCFCAAQYOMgIAANgIQIABBEzYCDEEAIRAMggILIBBBFUYNzwEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAMgQILIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDI0BCyAAQQw2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAMgAILIBBBFUYNzAEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAM/wELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDIwBCyAAQQ02AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM/gELIBBBFUYNyQEgAEEANgIcIAAgATYCFCAAQcaMgIAANgIQIABBIzYCDEEAIRAM/QELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC5gICAACIQDQAgAUEBaiEBDIsBCyAAQQ42AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM/AELIABBADYCHCAAIAE2AhQgAEHAlYCAADYCECAAQQI2AgxBACEQDPsBCyAQQRVGDcUBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDPoBCyAAQRA2AhwgACABNgIUIAAgEDYCDEEAIRAM+QELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC5gICAACIEDQAgAUEBaiEBDPEBCyAAQRE2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM+AELIBBBFUYNwQEgAEEANgIcIAAgATYCFCAAQcaMgIAANgIQIABBIzYCDEEAIRAM9wELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC5gICAACIQDQAgAUEBaiEBDIgBCyAAQRM2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM9gELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC5gICAACIEDQAgAUEBaiEBDO0BCyAAQRQ2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM9QELIBBBFUYNvQEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAM9AELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDIYBCyAAQRY2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM8wELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC3gICAACIEDQAgAUEBaiEBDOkBCyAAQRc2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM8gELIABBADYCHCAAIAE2AhQgAEHNk4CAADYCECAAQQw2AgxBACEQDPEBC0IBIRELIBBBAWohAQJAIAApAyAiEkL//////////w9WDQAgACASQgSGIBGENwMgIAEhAQyEAQsgAEEANgIcIAAgATYCFCAAQa2JgIAANgIQIABBDDYCDEEAIRAM7wELIABBADYCHCAAIBA2AhQgAEHNk4CAADYCECAAQQw2AgxBACEQDO4BCyAAKAIEIRcgAEEANgIEIBAgEadqIhYhASAAIBcgECAWIBQbIhAQtYCAgAAiFEUNcyAAQQU2AhwgACAQNgIUIAAgFDYCDEEAIRAM7QELIABBADYCHCAAIBA2AhQgAEGqnICAADYCECAAQQ82AgxBACEQDOwBCyAAIBAgAhC0gICAACIBDQEgECEBC0EOIRAM0QELAkAgAUEVRw0AIABBAjYCHCAAIBA2AhQgAEGwmICAADYCECAAQRU2AgxBACEQDOoBCyAAQQA2AhwgACAQNgIUIABBp46AgAA2AhAgAEESNgIMQQAhEAzpAQsgAUEBaiEQAkAgAC8BMCIBQYABcUUNAAJAIAAgECACELuAgIAAIgENACAQIQEMcAsgAUEVRw26ASAAQQU2AhwgACAQNgIUIABB+ZeAgAA2AhAgAEEVNgIMQQAhEAzpAQsCQCABQaAEcUGgBEcNACAALQAtQQJxDQAgAEEANgIcIAAgEDYCFCAAQZaTgIAANgIQIABBBDYCDEEAIRAM6QELIAAgECACEL2AgIAAGiAQIQECQAJAAkACQAJAIAAgECACELOAgIAADhYCAQAEBAQEBAQEBAQEBAQEBAQEBAQDBAsgAEEBOgAuCyAAIAAvATBBwAByOwEwIBAhAQtBJiEQDNEBCyAAQSM2AhwgACAQNgIUIABBpZaAgAA2AhAgAEEVNgIMQQAhEAzpAQsgAEEANgIcIAAgEDYCFCAAQdWLgIAANgIQIABBETYCDEEAIRAM6AELIAAtAC1BAXFFDQFBwwEhEAzOAQsCQCANIAJGDQADQAJAIA0tAABBIEYNACANIQEMxAELIA1BAWoiDSACRw0AC0ElIRAM5wELQSUhEAzmAQsgACgCBCEEIABBADYCBCAAIAQgDRCvgICAACIERQ2tASAAQSY2AhwgACAENgIMIAAgDUEBajYCFEEAIRAM5QELIBBBFUYNqwEgAEEANgIcIAAgATYCFCAAQf2NgIAANgIQIABBHTYCDEEAIRAM5AELIABBJzYCHCAAIAE2AhQgACAQNgIMQQAhEAzjAQsgECEBQQEhFAJAAkACQAJAAkACQAJAIAAtACxBfmoOBwYFBQMBAgAFCyAAIAAvATBBCHI7ATAMAwtBAiEUDAELQQQhFAsgAEEBOgAsIAAgAC8BMCAUcjsBMAsgECEBC0ErIRAMygELIABBADYCHCAAIBA2AhQgAEGrkoCAADYCECAAQQs2AgxBACEQDOIBCyAAQQA2AhwgACABNgIUIABB4Y+AgAA2AhAgAEEKNgIMQQAhEAzhAQsgAEEAOgAsIBAhAQy9AQsgECEBQQEhFAJAAkACQAJAAkAgAC0ALEF7ag4EAwECAAULIAAgAC8BMEEIcjsBMAwDC0ECIRQMAQtBBCEUCyAAQQE6ACwgACAALwEwIBRyOwEwCyAQIQELQSkhEAzFAQsgAEEANgIcIAAgATYCFCAAQfCUgIAANgIQIABBAzYCDEEAIRAM3QELAkAgDi0AAEENRw0AIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDkEBaiEBDHULIABBLDYCHCAAIAE2AgwgACAOQQFqNgIUQQAhEAzdAQsgAC0ALUEBcUUNAUHEASEQDMMBCwJAIA4gAkcNAEEtIRAM3AELAkACQANAAkAgDi0AAEF2ag4EAgAAAwALIA5BAWoiDiACRw0AC0EtIRAM3QELIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDiEBDHQLIABBLDYCHCAAIA42AhQgACABNgIMQQAhEAzcAQsgACgCBCEBIABBADYCBAJAIAAgASAOELGAgIAAIgENACAOQQFqIQEMcwsgAEEsNgIcIAAgATYCDCAAIA5BAWo2AhRBACEQDNsBCyAAKAIEIQQgAEEANgIEIAAgBCAOELGAgIAAIgQNoAEgDiEBDM4BCyAQQSxHDQEgAUEBaiEQQQEhAQJAAkACQAJAAkAgAC0ALEF7ag4EAwECBAALIBAhAQwEC0ECIQEMAQtBBCEBCyAAQQE6ACwgACAALwEwIAFyOwEwIBAhAQwBCyAAIAAvATBBCHI7ATAgECEBC0E5IRAMvwELIABBADoALCABIQELQTQhEAy9AQsgACAALwEwQSByOwEwIAEhAQwCCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQsYCAgAAiBA0AIAEhAQzHAQsgAEE3NgIcIAAgATYCFCAAIAQ2AgxBACEQDNQBCyAAQQg6ACwgASEBC0EwIRAMuQELAkAgAC0AKEEBRg0AIAEhAQwECyAALQAtQQhxRQ2TASABIQEMAwsgAC0AMEEgcQ2UAUHFASEQDLcBCwJAIA8gAkYNAAJAA0ACQCAPLQAAQVBqIgFB/wFxQQpJDQAgDyEBQTUhEAy6AQsgACkDICIRQpmz5syZs+bMGVYNASAAIBFCCn4iETcDICARIAGtQv8BgyISQn+FVg0BIAAgESASfDcDICAPQQFqIg8gAkcNAAtBOSEQDNEBCyAAKAIEIQIgAEEANgIEIAAgAiAPQQFqIgQQsYCAgAAiAg2VASAEIQEMwwELQTkhEAzPAQsCQCAALwEwIgFBCHFFDQAgAC0AKEEBRw0AIAAtAC1BCHFFDZABCyAAIAFB9/sDcUGABHI7ATAgDyEBC0E3IRAMtAELIAAgAC8BMEEQcjsBMAyrAQsgEEEVRg2LASAAQQA2AhwgACABNgIUIABB8I6AgAA2AhAgAEEcNgIMQQAhEAzLAQsgAEHDADYCHCAAIAE2AgwgACANQQFqNgIUQQAhEAzKAQsCQCABLQAAQTpHDQAgACgCBCEQIABBADYCBAJAIAAgECABEK+AgIAAIhANACABQQFqIQEMYwsgAEHDADYCHCAAIBA2AgwgACABQQFqNgIUQQAhEAzKAQsgAEEANgIcIAAgATYCFCAAQbGRgIAANgIQIABBCjYCDEEAIRAMyQELIABBADYCHCAAIAE2AhQgAEGgmYCAADYCECAAQR42AgxBACEQDMgBCyAAQQA2AgALIABBgBI7ASogACAXQQFqIgEgAhCogICAACIQDQEgASEBC0HHACEQDKwBCyAQQRVHDYMBIABB0QA2AhwgACABNgIUIABB45eAgAA2AhAgAEEVNgIMQQAhEAzEAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMXgsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAzDAQsgAEEANgIcIAAgFDYCFCAAQcGogIAANgIQIABBBzYCDCAAQQA2AgBBACEQDMIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxdCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDMEBC0EAIRAgAEEANgIcIAAgATYCFCAAQYCRgIAANgIQIABBCTYCDAzAAQsgEEEVRg19IABBADYCHCAAIAE2AhQgAEGUjYCAADYCECAAQSE2AgxBACEQDL8BC0EBIRZBACEXQQAhFEEBIRALIAAgEDoAKyABQQFqIQECQAJAIAAtAC1BEHENAAJAAkACQCAALQAqDgMBAAIECyAWRQ0DDAILIBQNAQwCCyAXRQ0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQrYCAgAAiEA0AIAEhAQxcCyAAQdgANgIcIAAgATYCFCAAIBA2AgxBACEQDL4BCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQytAQsgAEHZADYCHCAAIAE2AhQgACAENgIMQQAhEAy9AQsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMqwELIABB2gA2AhwgACABNgIUIAAgBDYCDEEAIRAMvAELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKkBCyAAQdwANgIcIAAgATYCFCAAIAQ2AgxBACEQDLsBCwJAIAEtAABBUGoiEEH/AXFBCk8NACAAIBA6ACogAUEBaiEBQc8AIRAMogELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKcBCyAAQd4ANgIcIAAgATYCFCAAIAQ2AgxBACEQDLoBCyAAQQA2AgAgF0EBaiEBAkAgAC0AKUEjTw0AIAEhAQxZCyAAQQA2AhwgACABNgIUIABB04mAgAA2AhAgAEEINgIMQQAhEAy5AQsgAEEANgIAC0EAIRAgAEEANgIcIAAgATYCFCAAQZCzgIAANgIQIABBCDYCDAy3AQsgAEEANgIAIBdBAWohAQJAIAAtAClBIUcNACABIQEMVgsgAEEANgIcIAAgATYCFCAAQZuKgIAANgIQIABBCDYCDEEAIRAMtgELIABBADYCACAXQQFqIQECQCAALQApIhBBXWpBC08NACABIQEMVQsCQCAQQQZLDQBBASAQdEHKAHFFDQAgASEBDFULQQAhECAAQQA2AhwgACABNgIUIABB94mAgAA2AhAgAEEINgIMDLUBCyAQQRVGDXEgAEEANgIcIAAgATYCFCAAQbmNgIAANgIQIABBGjYCDEEAIRAMtAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDFQLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMswELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDE0LIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMsgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDE0LIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMsQELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDFELIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMsAELIABBADYCHCAAIAE2AhQgAEHGioCAADYCECAAQQc2AgxBACEQDK8BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxJCyAAQdIANgIcIAAgATYCFCAAIBA2AgxBACEQDK4BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxJCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDK0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDKwBCyAAQQA2AhwgACABNgIUIABB3IiAgAA2AhAgAEEHNgIMQQAhEAyrAQsgEEE/Rw0BIAFBAWohAQtBBSEQDJABC0EAIRAgAEEANgIcIAAgATYCFCAAQf2SgIAANgIQIABBBzYCDAyoAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMQgsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAynAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMQgsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAymAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMRgsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAylAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMPwsgAEHSADYCHCAAIBQ2AhQgACABNgIMQQAhEAykAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMPwsgAEHTADYCHCAAIBQ2AhQgACABNgIMQQAhEAyjAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMQwsgAEHlADYCHCAAIBQ2AhQgACABNgIMQQAhEAyiAQsgAEEANgIcIAAgFDYCFCAAQcOPgIAANgIQIABBBzYCDEEAIRAMoQELIABBADYCHCAAIAE2AhQgAEHDj4CAADYCECAAQQc2AgxBACEQDKABC0EAIRAgAEEANgIcIAAgFDYCFCAAQYycgIAANgIQIABBBzYCDAyfAQsgAEEANgIcIAAgFDYCFCAAQYycgIAANgIQIABBBzYCDEEAIRAMngELIABBADYCHCAAIBQ2AhQgAEH+kYCAADYCECAAQQc2AgxBACEQDJ0BCyAAQQA2AhwgACABNgIUIABBjpuAgAA2AhAgAEEGNgIMQQAhEAycAQsgEEEVRg1XIABBADYCHCAAIAE2AhQgAEHMjoCAADYCECAAQSA2AgxBACEQDJsBCyAAQQA2AgAgEEEBaiEBQSQhEAsgACAQOgApIAAoAgQhECAAQQA2AgQgACAQIAEQq4CAgAAiEA1UIAEhAQw+CyAAQQA2AgALQQAhECAAQQA2AhwgACAENgIUIABB8ZuAgAA2AhAgAEEGNgIMDJcBCyABQRVGDVAgAEEANgIcIAAgBTYCFCAAQfCMgIAANgIQIABBGzYCDEEAIRAMlgELIAAoAgQhBSAAQQA2AgQgACAFIBAQqYCAgAAiBQ0BIBBBAWohBQtBrQEhEAx7CyAAQcEBNgIcIAAgBTYCDCAAIBBBAWo2AhRBACEQDJMBCyAAKAIEIQYgAEEANgIEIAAgBiAQEKmAgIAAIgYNASAQQQFqIQYLQa4BIRAMeAsgAEHCATYCHCAAIAY2AgwgACAQQQFqNgIUQQAhEAyQAQsgAEEANgIcIAAgBzYCFCAAQZeLgIAANgIQIABBDTYCDEEAIRAMjwELIABBADYCHCAAIAg2AhQgAEHjkICAADYCECAAQQk2AgxBACEQDI4BCyAAQQA2AhwgACAINgIUIABBlI2AgAA2AhAgAEEhNgIMQQAhEAyNAQtBASEWQQAhF0EAIRRBASEQCyAAIBA6ACsgCUEBaiEIAkACQCAALQAtQRBxDQACQAJAAkAgAC0AKg4DAQACBAsgFkUNAwwCCyAUDQEMAgsgF0UNAQsgACgCBCEQIABBADYCBCAAIBAgCBCtgICAACIQRQ09IABByQE2AhwgACAINgIUIAAgEDYCDEEAIRAMjAELIAAoAgQhBCAAQQA2AgQgACAEIAgQrYCAgAAiBEUNdiAAQcoBNgIcIAAgCDYCFCAAIAQ2AgxBACEQDIsBCyAAKAIEIQQgAEEANgIEIAAgBCAJEK2AgIAAIgRFDXQgAEHLATYCHCAAIAk2AhQgACAENgIMQQAhEAyKAQsgACgCBCEEIABBADYCBCAAIAQgChCtgICAACIERQ1yIABBzQE2AhwgACAKNgIUIAAgBDYCDEEAIRAMiQELAkAgCy0AAEFQaiIQQf8BcUEKTw0AIAAgEDoAKiALQQFqIQpBtgEhEAxwCyAAKAIEIQQgAEEANgIEIAAgBCALEK2AgIAAIgRFDXAgAEHPATYCHCAAIAs2AhQgACAENgIMQQAhEAyIAQsgAEEANgIcIAAgBDYCFCAAQZCzgIAANgIQIABBCDYCDCAAQQA2AgBBACEQDIcBCyABQRVGDT8gAEEANgIcIAAgDDYCFCAAQcyOgIAANgIQIABBIDYCDEEAIRAMhgELIABBgQQ7ASggACgCBCEQIABCADcDACAAIBAgDEEBaiIMEKuAgIAAIhBFDTggAEHTATYCHCAAIAw2AhQgACAQNgIMQQAhEAyFAQsgAEEANgIAC0EAIRAgAEEANgIcIAAgBDYCFCAAQdibgIAANgIQIABBCDYCDAyDAQsgACgCBCEQIABCADcDACAAIBAgC0EBaiILEKuAgIAAIhANAUHGASEQDGkLIABBAjoAKAxVCyAAQdUBNgIcIAAgCzYCFCAAIBA2AgxBACEQDIABCyAQQRVGDTcgAEEANgIcIAAgBDYCFCAAQaSMgIAANgIQIABBEDYCDEEAIRAMfwsgAC0ANEEBRw00IAAgBCACELyAgIAAIhBFDTQgEEEVRw01IABB3AE2AhwgACAENgIUIABB1ZaAgAA2AhAgAEEVNgIMQQAhEAx+C0EAIRAgAEEANgIcIABBr4uAgAA2AhAgAEECNgIMIAAgFEEBajYCFAx9C0EAIRAMYwtBAiEQDGILQQ0hEAxhC0EPIRAMYAtBJSEQDF8LQRMhEAxeC0EVIRAMXQtBFiEQDFwLQRchEAxbC0EYIRAMWgtBGSEQDFkLQRohEAxYC0EbIRAMVwtBHCEQDFYLQR0hEAxVC0EfIRAMVAtBISEQDFMLQSMhEAxSC0HGACEQDFELQS4hEAxQC0EvIRAMTwtBOyEQDE4LQT0hEAxNC0HIACEQDEwLQckAIRAMSwtBywAhEAxKC0HMACEQDEkLQc4AIRAMSAtB0QAhEAxHC0HVACEQDEYLQdgAIRAMRQtB2QAhEAxEC0HbACEQDEMLQeQAIRAMQgtB5QAhEAxBC0HxACEQDEALQfQAIRAMPwtBjQEhEAw+C0GXASEQDD0LQakBIRAMPAtBrAEhEAw7C0HAASEQDDoLQbkBIRAMOQtBrwEhEAw4C0GxASEQDDcLQbIBIRAMNgtBtAEhEAw1C0G1ASEQDDQLQboBIRAMMwtBvQEhEAwyC0G/ASEQDDELQcEBIRAMMAsgAEEANgIcIAAgBDYCFCAAQemLgIAANgIQIABBHzYCDEEAIRAMSAsgAEHbATYCHCAAIAQ2AhQgAEH6loCAADYCECAAQRU2AgxBACEQDEcLIABB+AA2AhwgACAMNgIUIABBypiAgAA2AhAgAEEVNgIMQQAhEAxGCyAAQdEANgIcIAAgBTYCFCAAQbCXgIAANgIQIABBFTYCDEEAIRAMRQsgAEH5ADYCHCAAIAE2AhQgACAQNgIMQQAhEAxECyAAQfgANgIcIAAgATYCFCAAQcqYgIAANgIQIABBFTYCDEEAIRAMQwsgAEHkADYCHCAAIAE2AhQgAEHjl4CAADYCECAAQRU2AgxBACEQDEILIABB1wA2AhwgACABNgIUIABByZeAgAA2AhAgAEEVNgIMQQAhEAxBCyAAQQA2AhwgACABNgIUIABBuY2AgAA2AhAgAEEaNgIMQQAhEAxACyAAQcIANgIcIAAgATYCFCAAQeOYgIAANgIQIABBFTYCDEEAIRAMPwsgAEEANgIEIAAgDyAPELGAgIAAIgRFDQEgAEE6NgIcIAAgBDYCDCAAIA9BAWo2AhRBACEQDD4LIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCxgICAACIERQ0AIABBOzYCHCAAIAQ2AgwgACABQQFqNgIUQQAhEAw+CyABQQFqIQEMLQsgD0EBaiEBDC0LIABBADYCHCAAIA82AhQgAEHkkoCAADYCECAAQQQ2AgxBACEQDDsLIABBNjYCHCAAIAQ2AhQgACACNgIMQQAhEAw6CyAAQS42AhwgACAONgIUIAAgBDYCDEEAIRAMOQsgAEHQADYCHCAAIAE2AhQgAEGRmICAADYCECAAQRU2AgxBACEQDDgLIA1BAWohAQwsCyAAQRU2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAw2CyAAQRs2AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAw1CyAAQQ82AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAw0CyAAQQs2AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAwzCyAAQRo2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAwyCyAAQQs2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAwxCyAAQQo2AhwgACABNgIUIABB5JaAgAA2AhAgAEEVNgIMQQAhEAwwCyAAQR42AhwgACABNgIUIABB+ZeAgAA2AhAgAEEVNgIMQQAhEAwvCyAAQQA2AhwgACAQNgIUIABB2o2AgAA2AhAgAEEUNgIMQQAhEAwuCyAAQQQ2AhwgACABNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAwtCyAAQQA2AgAgC0EBaiELC0G4ASEQDBILIABBADYCACAQQQFqIQFB9QAhEAwRCyABIQECQCAALQApQQVHDQBB4wAhEAwRC0HiACEQDBALQQAhECAAQQA2AhwgAEHkkYCAADYCECAAQQc2AgwgACAUQQFqNgIUDCgLIABBADYCACAXQQFqIQFBwAAhEAwOC0EBIQELIAAgAToALCAAQQA2AgAgF0EBaiEBC0EoIRAMCwsgASEBC0E4IRAMCQsCQCABIg8gAkYNAANAAkAgDy0AAEGAvoCAAGotAAAiAUEBRg0AIAFBAkcNAyAPQQFqIQEMBAsgD0EBaiIPIAJHDQALQT4hEAwiC0E+IRAMIQsgAEEAOgAsIA8hAQwBC0ELIRAMBgtBOiEQDAULIAFBAWohAUEtIRAMBAsgACABOgAsIABBADYCACAWQQFqIQFBDCEQDAMLIABBADYCACAXQQFqIQFBCiEQDAILIABBADYCAAsgAEEAOgAsIA0hAUEJIRAMAAsLQQAhECAAQQA2AhwgACALNgIUIABBzZCAgAA2AhAgAEEJNgIMDBcLQQAhECAAQQA2AhwgACAKNgIUIABB6YqAgAA2AhAgAEEJNgIMDBYLQQAhECAAQQA2AhwgACAJNgIUIABBt5CAgAA2AhAgAEEJNgIMDBULQQAhECAAQQA2AhwgACAINgIUIABBnJGAgAA2AhAgAEEJNgIMDBQLQQAhECAAQQA2AhwgACABNgIUIABBzZCAgAA2AhAgAEEJNgIMDBMLQQAhECAAQQA2AhwgACABNgIUIABB6YqAgAA2AhAgAEEJNgIMDBILQQAhECAAQQA2AhwgACABNgIUIABBt5CAgAA2AhAgAEEJNgIMDBELQQAhECAAQQA2AhwgACABNgIUIABBnJGAgAA2AhAgAEEJNgIMDBALQQAhECAAQQA2AhwgACABNgIUIABBl5WAgAA2AhAgAEEPNgIMDA8LQQAhECAAQQA2AhwgACABNgIUIABBl5WAgAA2AhAgAEEPNgIMDA4LQQAhECAAQQA2AhwgACABNgIUIABBwJKAgAA2AhAgAEELNgIMDA0LQQAhECAAQQA2AhwgACABNgIUIABBlYmAgAA2AhAgAEELNgIMDAwLQQAhECAAQQA2AhwgACABNgIUIABB4Y+AgAA2AhAgAEEKNgIMDAsLQQAhECAAQQA2AhwgACABNgIUIABB+4+AgAA2AhAgAEEKNgIMDAoLQQAhECAAQQA2AhwgACABNgIUIABB8ZmAgAA2AhAgAEECNgIMDAkLQQAhECAAQQA2AhwgACABNgIUIABBxJSAgAA2AhAgAEECNgIMDAgLQQAhECAAQQA2AhwgACABNgIUIABB8pWAgAA2AhAgAEECNgIMDAcLIABBAjYCHCAAIAE2AhQgAEGcmoCAADYCECAAQRY2AgxBACEQDAYLQQEhEAwFC0HUACEQIAEiBCACRg0EIANBCGogACAEIAJB2MKAgABBChDFgICAACADKAIMIQQgAygCCA4DAQQCAAsQyoCAgAAACyAAQQA2AhwgAEG1moCAADYCECAAQRc2AgwgACAEQQFqNgIUQQAhEAwCCyAAQQA2AhwgACAENgIUIABBypqAgAA2AhAgAEEJNgIMQQAhEAwBCwJAIAEiBCACRw0AQSIhEAwBCyAAQYmAgIAANgIIIAAgBDYCBEEhIRALIANBEGokgICAgAAgEAuvAQECfyABKAIAIQYCQAJAIAIgA0YNACAEIAZqIQQgBiADaiACayEHIAIgBkF/cyAFaiIGaiEFA0ACQCACLQAAIAQtAABGDQBBAiEEDAMLAkAgBg0AQQAhBCAFIQIMAwsgBkF/aiEGIARBAWohBCACQQFqIgIgA0cNAAsgByEGIAMhAgsgAEEBNgIAIAEgBjYCACAAIAI2AgQPCyABQQA2AgAgACAENgIAIAAgAjYCBAsKACAAEMeAgIAAC/I2AQt/I4CAgIAAQRBrIgEkgICAgAACQEEAKAKg0ICAAA0AQQAQy4CAgABBgNSEgABrIgJB2QBJDQBBACEDAkBBACgC4NOAgAAiBA0AQQBCfzcC7NOAgABBAEKAgISAgIDAADcC5NOAgABBACABQQhqQXBxQdiq1aoFcyIENgLg04CAAEEAQQA2AvTTgIAAQQBBADYCxNOAgAALQQAgAjYCzNOAgABBAEGA1ISAADYCyNOAgABBAEGA1ISAADYCmNCAgABBACAENgKs0ICAAEEAQX82AqjQgIAAA0AgA0HE0ICAAGogA0G40ICAAGoiBDYCACAEIANBsNCAgABqIgU2AgAgA0G80ICAAGogBTYCACADQczQgIAAaiADQcDQgIAAaiIFNgIAIAUgBDYCACADQdTQgIAAaiADQcjQgIAAaiIENgIAIAQgBTYCACADQdDQgIAAaiAENgIAIANBIGoiA0GAAkcNAAtBgNSEgABBeEGA1ISAAGtBD3FBAEGA1ISAAEEIakEPcRsiA2oiBEEEaiACQUhqIgUgA2siA0EBcjYCAEEAQQAoAvDTgIAANgKk0ICAAEEAIAM2ApTQgIAAQQAgBDYCoNCAgABBgNSEgAAgBWpBODYCBAsCQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEHsAUsNAAJAQQAoAojQgIAAIgZBECAAQRNqQXBxIABBC0kbIgJBA3YiBHYiA0EDcUUNAAJAAkAgA0EBcSAEckEBcyIFQQN0IgRBsNCAgABqIgMgBEG40ICAAGooAgAiBCgCCCICRw0AQQAgBkF+IAV3cTYCiNCAgAAMAQsgAyACNgIIIAIgAzYCDAsgBEEIaiEDIAQgBUEDdCIFQQNyNgIEIAQgBWoiBCAEKAIEQQFyNgIEDAwLIAJBACgCkNCAgAAiB00NAQJAIANFDQACQAJAIAMgBHRBAiAEdCIDQQAgA2tycSIDQQAgA2txQX9qIgMgA0EMdkEQcSIDdiIEQQV2QQhxIgUgA3IgBCAFdiIDQQJ2QQRxIgRyIAMgBHYiA0EBdkECcSIEciADIAR2IgNBAXZBAXEiBHIgAyAEdmoiBEEDdCIDQbDQgIAAaiIFIANBuNCAgABqKAIAIgMoAggiAEcNAEEAIAZBfiAEd3EiBjYCiNCAgAAMAQsgBSAANgIIIAAgBTYCDAsgAyACQQNyNgIEIAMgBEEDdCIEaiAEIAJrIgU2AgAgAyACaiIAIAVBAXI2AgQCQCAHRQ0AIAdBeHFBsNCAgABqIQJBACgCnNCAgAAhBAJAAkAgBkEBIAdBA3Z0IghxDQBBACAGIAhyNgKI0ICAACACIQgMAQsgAigCCCEICyAIIAQ2AgwgAiAENgIIIAQgAjYCDCAEIAg2AggLIANBCGohA0EAIAA2ApzQgIAAQQAgBTYCkNCAgAAMDAtBACgCjNCAgAAiCUUNASAJQQAgCWtxQX9qIgMgA0EMdkEQcSIDdiIEQQV2QQhxIgUgA3IgBCAFdiIDQQJ2QQRxIgRyIAMgBHYiA0EBdkECcSIEciADIAR2IgNBAXZBAXEiBHIgAyAEdmpBAnRBuNKAgABqKAIAIgAoAgRBeHEgAmshBCAAIQUCQANAAkAgBSgCECIDDQAgBUEUaigCACIDRQ0CCyADKAIEQXhxIAJrIgUgBCAFIARJIgUbIQQgAyAAIAUbIQAgAyEFDAALCyAAKAIYIQoCQCAAKAIMIgggAEYNACAAKAIIIgNBACgCmNCAgABJGiAIIAM2AgggAyAINgIMDAsLAkAgAEEUaiIFKAIAIgMNACAAKAIQIgNFDQMgAEEQaiEFCwNAIAUhCyADIghBFGoiBSgCACIDDQAgCEEQaiEFIAgoAhAiAw0ACyALQQA2AgAMCgtBfyECIABBv39LDQAgAEETaiIDQXBxIQJBACgCjNCAgAAiB0UNAEEAIQsCQCACQYACSQ0AQR8hCyACQf///wdLDQAgA0EIdiIDIANBgP4/akEQdkEIcSIDdCIEIARBgOAfakEQdkEEcSIEdCIFIAVBgIAPakEQdkECcSIFdEEPdiADIARyIAVyayIDQQF0IAIgA0EVanZBAXFyQRxqIQsLQQAgAmshBAJAAkACQAJAIAtBAnRBuNKAgABqKAIAIgUNAEEAIQNBACEIDAELQQAhAyACQQBBGSALQQF2ayALQR9GG3QhAEEAIQgDQAJAIAUoAgRBeHEgAmsiBiAETw0AIAYhBCAFIQggBg0AQQAhBCAFIQggBSEDDAMLIAMgBUEUaigCACIGIAYgBSAAQR12QQRxakEQaigCACIFRhsgAyAGGyEDIABBAXQhACAFDQALCwJAIAMgCHINAEEAIQhBAiALdCIDQQAgA2tyIAdxIgNFDQMgA0EAIANrcUF/aiIDIANBDHZBEHEiA3YiBUEFdkEIcSIAIANyIAUgAHYiA0ECdkEEcSIFciADIAV2IgNBAXZBAnEiBXIgAyAFdiIDQQF2QQFxIgVyIAMgBXZqQQJ0QbjSgIAAaigCACEDCyADRQ0BCwNAIAMoAgRBeHEgAmsiBiAESSEAAkAgAygCECIFDQAgA0EUaigCACEFCyAGIAQgABshBCADIAggABshCCAFIQMgBQ0ACwsgCEUNACAEQQAoApDQgIAAIAJrTw0AIAgoAhghCwJAIAgoAgwiACAIRg0AIAgoAggiA0EAKAKY0ICAAEkaIAAgAzYCCCADIAA2AgwMCQsCQCAIQRRqIgUoAgAiAw0AIAgoAhAiA0UNAyAIQRBqIQULA0AgBSEGIAMiAEEUaiIFKAIAIgMNACAAQRBqIQUgACgCECIDDQALIAZBADYCAAwICwJAQQAoApDQgIAAIgMgAkkNAEEAKAKc0ICAACEEAkACQCADIAJrIgVBEEkNACAEIAJqIgAgBUEBcjYCBEEAIAU2ApDQgIAAQQAgADYCnNCAgAAgBCADaiAFNgIAIAQgAkEDcjYCBAwBCyAEIANBA3I2AgQgBCADaiIDIAMoAgRBAXI2AgRBAEEANgKc0ICAAEEAQQA2ApDQgIAACyAEQQhqIQMMCgsCQEEAKAKU0ICAACIAIAJNDQBBACgCoNCAgAAiAyACaiIEIAAgAmsiBUEBcjYCBEEAIAU2ApTQgIAAQQAgBDYCoNCAgAAgAyACQQNyNgIEIANBCGohAwwKCwJAAkBBACgC4NOAgABFDQBBACgC6NOAgAAhBAwBC0EAQn83AuzTgIAAQQBCgICEgICAwAA3AuTTgIAAQQAgAUEMakFwcUHYqtWqBXM2AuDTgIAAQQBBADYC9NOAgABBAEEANgLE04CAAEGAgAQhBAtBACEDAkAgBCACQccAaiIHaiIGQQAgBGsiC3EiCCACSw0AQQBBMDYC+NOAgAAMCgsCQEEAKALA04CAACIDRQ0AAkBBACgCuNOAgAAiBCAIaiIFIARNDQAgBSADTQ0BC0EAIQNBAEEwNgL404CAAAwKC0EALQDE04CAAEEEcQ0EAkACQAJAQQAoAqDQgIAAIgRFDQBByNOAgAAhAwNAAkAgAygCACIFIARLDQAgBSADKAIEaiAESw0DCyADKAIIIgMNAAsLQQAQy4CAgAAiAEF/Rg0FIAghBgJAQQAoAuTTgIAAIgNBf2oiBCAAcUUNACAIIABrIAQgAGpBACADa3FqIQYLIAYgAk0NBSAGQf7///8HSw0FAkBBACgCwNOAgAAiA0UNAEEAKAK404CAACIEIAZqIgUgBE0NBiAFIANLDQYLIAYQy4CAgAAiAyAARw0BDAcLIAYgAGsgC3EiBkH+////B0sNBCAGEMuAgIAAIgAgAygCACADKAIEakYNAyAAIQMLAkAgA0F/Rg0AIAJByABqIAZNDQACQCAHIAZrQQAoAujTgIAAIgRqQQAgBGtxIgRB/v///wdNDQAgAyEADAcLAkAgBBDLgICAAEF/Rg0AIAQgBmohBiADIQAMBwtBACAGaxDLgICAABoMBAsgAyEAIANBf0cNBQwDC0EAIQgMBwtBACEADAULIABBf0cNAgtBAEEAKALE04CAAEEEcjYCxNOAgAALIAhB/v///wdLDQEgCBDLgICAACEAQQAQy4CAgAAhAyAAQX9GDQEgA0F/Rg0BIAAgA08NASADIABrIgYgAkE4ak0NAQtBAEEAKAK404CAACAGaiIDNgK404CAAAJAIANBACgCvNOAgABNDQBBACADNgK804CAAAsCQAJAAkACQEEAKAKg0ICAACIERQ0AQcjTgIAAIQMDQCAAIAMoAgAiBSADKAIEIghqRg0CIAMoAggiAw0ADAMLCwJAAkBBACgCmNCAgAAiA0UNACAAIANPDQELQQAgADYCmNCAgAALQQAhA0EAIAY2AszTgIAAQQAgADYCyNOAgABBAEF/NgKo0ICAAEEAQQAoAuDTgIAANgKs0ICAAEEAQQA2AtTTgIAAA0AgA0HE0ICAAGogA0G40ICAAGoiBDYCACAEIANBsNCAgABqIgU2AgAgA0G80ICAAGogBTYCACADQczQgIAAaiADQcDQgIAAaiIFNgIAIAUgBDYCACADQdTQgIAAaiADQcjQgIAAaiIENgIAIAQgBTYCACADQdDQgIAAaiAENgIAIANBIGoiA0GAAkcNAAsgAEF4IABrQQ9xQQAgAEEIakEPcRsiA2oiBCAGQUhqIgUgA2siA0EBcjYCBEEAQQAoAvDTgIAANgKk0ICAAEEAIAM2ApTQgIAAQQAgBDYCoNCAgAAgACAFakE4NgIEDAILIAMtAAxBCHENACAEIAVJDQAgBCAATw0AIARBeCAEa0EPcUEAIARBCGpBD3EbIgVqIgBBACgClNCAgAAgBmoiCyAFayIFQQFyNgIEIAMgCCAGajYCBEEAQQAoAvDTgIAANgKk0ICAAEEAIAU2ApTQgIAAQQAgADYCoNCAgAAgBCALakE4NgIEDAELAkAgAEEAKAKY0ICAACIITw0AQQAgADYCmNCAgAAgACEICyAAIAZqIQVByNOAgAAhAwJAAkACQAJAAkACQAJAA0AgAygCACAFRg0BIAMoAggiAw0ADAILCyADLQAMQQhxRQ0BC0HI04CAACEDA0ACQCADKAIAIgUgBEsNACAFIAMoAgRqIgUgBEsNAwsgAygCCCEDDAALCyADIAA2AgAgAyADKAIEIAZqNgIEIABBeCAAa0EPcUEAIABBCGpBD3EbaiILIAJBA3I2AgQgBUF4IAVrQQ9xQQAgBUEIakEPcRtqIgYgCyACaiICayEDAkAgBiAERw0AQQAgAjYCoNCAgABBAEEAKAKU0ICAACADaiIDNgKU0ICAACACIANBAXI2AgQMAwsCQCAGQQAoApzQgIAARw0AQQAgAjYCnNCAgABBAEEAKAKQ0ICAACADaiIDNgKQ0ICAACACIANBAXI2AgQgAiADaiADNgIADAMLAkAgBigCBCIEQQNxQQFHDQAgBEF4cSEHAkACQCAEQf8BSw0AIAYoAggiBSAEQQN2IghBA3RBsNCAgABqIgBGGgJAIAYoAgwiBCAFRw0AQQBBACgCiNCAgABBfiAId3E2AojQgIAADAILIAQgAEYaIAQgBTYCCCAFIAQ2AgwMAQsgBigCGCEJAkACQCAGKAIMIgAgBkYNACAGKAIIIgQgCEkaIAAgBDYCCCAEIAA2AgwMAQsCQCAGQRRqIgQoAgAiBQ0AIAZBEGoiBCgCACIFDQBBACEADAELA0AgBCEIIAUiAEEUaiIEKAIAIgUNACAAQRBqIQQgACgCECIFDQALIAhBADYCAAsgCUUNAAJAAkAgBiAGKAIcIgVBAnRBuNKAgABqIgQoAgBHDQAgBCAANgIAIAANAUEAQQAoAozQgIAAQX4gBXdxNgKM0ICAAAwCCyAJQRBBFCAJKAIQIAZGG2ogADYCACAARQ0BCyAAIAk2AhgCQCAGKAIQIgRFDQAgACAENgIQIAQgADYCGAsgBigCFCIERQ0AIABBFGogBDYCACAEIAA2AhgLIAcgA2ohAyAGIAdqIgYoAgQhBAsgBiAEQX5xNgIEIAIgA2ogAzYCACACIANBAXI2AgQCQCADQf8BSw0AIANBeHFBsNCAgABqIQQCQAJAQQAoAojQgIAAIgVBASADQQN2dCIDcQ0AQQAgBSADcjYCiNCAgAAgBCEDDAELIAQoAgghAwsgAyACNgIMIAQgAjYCCCACIAQ2AgwgAiADNgIIDAMLQR8hBAJAIANB////B0sNACADQQh2IgQgBEGA/j9qQRB2QQhxIgR0IgUgBUGA4B9qQRB2QQRxIgV0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAQgBXIgAHJrIgRBAXQgAyAEQRVqdkEBcXJBHGohBAsgAiAENgIcIAJCADcCECAEQQJ0QbjSgIAAaiEFAkBBACgCjNCAgAAiAEEBIAR0IghxDQAgBSACNgIAQQAgACAIcjYCjNCAgAAgAiAFNgIYIAIgAjYCCCACIAI2AgwMAwsgA0EAQRkgBEEBdmsgBEEfRht0IQQgBSgCACEAA0AgACIFKAIEQXhxIANGDQIgBEEddiEAIARBAXQhBCAFIABBBHFqQRBqIggoAgAiAA0ACyAIIAI2AgAgAiAFNgIYIAIgAjYCDCACIAI2AggMAgsgAEF4IABrQQ9xQQAgAEEIakEPcRsiA2oiCyAGQUhqIgggA2siA0EBcjYCBCAAIAhqQTg2AgQgBCAFQTcgBWtBD3FBACAFQUlqQQ9xG2pBQWoiCCAIIARBEGpJGyIIQSM2AgRBAEEAKALw04CAADYCpNCAgABBACADNgKU0ICAAEEAIAs2AqDQgIAAIAhBEGpBACkC0NOAgAA3AgAgCEEAKQLI04CAADcCCEEAIAhBCGo2AtDTgIAAQQAgBjYCzNOAgABBACAANgLI04CAAEEAQQA2AtTTgIAAIAhBJGohAwNAIANBBzYCACADQQRqIgMgBUkNAAsgCCAERg0DIAggCCgCBEF+cTYCBCAIIAggBGsiADYCACAEIABBAXI2AgQCQCAAQf8BSw0AIABBeHFBsNCAgABqIQMCQAJAQQAoAojQgIAAIgVBASAAQQN2dCIAcQ0AQQAgBSAAcjYCiNCAgAAgAyEFDAELIAMoAgghBQsgBSAENgIMIAMgBDYCCCAEIAM2AgwgBCAFNgIIDAQLQR8hAwJAIABB////B0sNACAAQQh2IgMgA0GA/j9qQRB2QQhxIgN0IgUgBUGA4B9qQRB2QQRxIgV0IgggCEGAgA9qQRB2QQJxIgh0QQ92IAMgBXIgCHJrIgNBAXQgACADQRVqdkEBcXJBHGohAwsgBCADNgIcIARCADcCECADQQJ0QbjSgIAAaiEFAkBBACgCjNCAgAAiCEEBIAN0IgZxDQAgBSAENgIAQQAgCCAGcjYCjNCAgAAgBCAFNgIYIAQgBDYCCCAEIAQ2AgwMBAsgAEEAQRkgA0EBdmsgA0EfRht0IQMgBSgCACEIA0AgCCIFKAIEQXhxIABGDQMgA0EddiEIIANBAXQhAyAFIAhBBHFqQRBqIgYoAgAiCA0ACyAGIAQ2AgAgBCAFNgIYIAQgBDYCDCAEIAQ2AggMAwsgBSgCCCIDIAI2AgwgBSACNgIIIAJBADYCGCACIAU2AgwgAiADNgIICyALQQhqIQMMBQsgBSgCCCIDIAQ2AgwgBSAENgIIIARBADYCGCAEIAU2AgwgBCADNgIIC0EAKAKU0ICAACIDIAJNDQBBACgCoNCAgAAiBCACaiIFIAMgAmsiA0EBcjYCBEEAIAM2ApTQgIAAQQAgBTYCoNCAgAAgBCACQQNyNgIEIARBCGohAwwDC0EAIQNBAEEwNgL404CAAAwCCwJAIAtFDQACQAJAIAggCCgCHCIFQQJ0QbjSgIAAaiIDKAIARw0AIAMgADYCACAADQFBACAHQX4gBXdxIgc2AozQgIAADAILIAtBEEEUIAsoAhAgCEYbaiAANgIAIABFDQELIAAgCzYCGAJAIAgoAhAiA0UNACAAIAM2AhAgAyAANgIYCyAIQRRqKAIAIgNFDQAgAEEUaiADNgIAIAMgADYCGAsCQAJAIARBD0sNACAIIAQgAmoiA0EDcjYCBCAIIANqIgMgAygCBEEBcjYCBAwBCyAIIAJqIgAgBEEBcjYCBCAIIAJBA3I2AgQgACAEaiAENgIAAkAgBEH/AUsNACAEQXhxQbDQgIAAaiEDAkACQEEAKAKI0ICAACIFQQEgBEEDdnQiBHENAEEAIAUgBHI2AojQgIAAIAMhBAwBCyADKAIIIQQLIAQgADYCDCADIAA2AgggACADNgIMIAAgBDYCCAwBC0EfIQMCQCAEQf///wdLDQAgBEEIdiIDIANBgP4/akEQdkEIcSIDdCIFIAVBgOAfakEQdkEEcSIFdCICIAJBgIAPakEQdkECcSICdEEPdiADIAVyIAJyayIDQQF0IAQgA0EVanZBAXFyQRxqIQMLIAAgAzYCHCAAQgA3AhAgA0ECdEG40oCAAGohBQJAIAdBASADdCICcQ0AIAUgADYCAEEAIAcgAnI2AozQgIAAIAAgBTYCGCAAIAA2AgggACAANgIMDAELIARBAEEZIANBAXZrIANBH0YbdCEDIAUoAgAhAgJAA0AgAiIFKAIEQXhxIARGDQEgA0EddiECIANBAXQhAyAFIAJBBHFqQRBqIgYoAgAiAg0ACyAGIAA2AgAgACAFNgIYIAAgADYCDCAAIAA2AggMAQsgBSgCCCIDIAA2AgwgBSAANgIIIABBADYCGCAAIAU2AgwgACADNgIICyAIQQhqIQMMAQsCQCAKRQ0AAkACQCAAIAAoAhwiBUECdEG40oCAAGoiAygCAEcNACADIAg2AgAgCA0BQQAgCUF+IAV3cTYCjNCAgAAMAgsgCkEQQRQgCigCECAARhtqIAg2AgAgCEUNAQsgCCAKNgIYAkAgACgCECIDRQ0AIAggAzYCECADIAg2AhgLIABBFGooAgAiA0UNACAIQRRqIAM2AgAgAyAINgIYCwJAAkAgBEEPSw0AIAAgBCACaiIDQQNyNgIEIAAgA2oiAyADKAIEQQFyNgIEDAELIAAgAmoiBSAEQQFyNgIEIAAgAkEDcjYCBCAFIARqIAQ2AgACQCAHRQ0AIAdBeHFBsNCAgABqIQJBACgCnNCAgAAhAwJAAkBBASAHQQN2dCIIIAZxDQBBACAIIAZyNgKI0ICAACACIQgMAQsgAigCCCEICyAIIAM2AgwgAiADNgIIIAMgAjYCDCADIAg2AggLQQAgBTYCnNCAgABBACAENgKQ0ICAAAsgAEEIaiEDCyABQRBqJICAgIAAIAMLCgAgABDJgICAAAviDQEHfwJAIABFDQAgAEF4aiIBIABBfGooAgAiAkF4cSIAaiEDAkAgAkEBcQ0AIAJBA3FFDQEgASABKAIAIgJrIgFBACgCmNCAgAAiBEkNASACIABqIQACQCABQQAoApzQgIAARg0AAkAgAkH/AUsNACABKAIIIgQgAkEDdiIFQQN0QbDQgIAAaiIGRhoCQCABKAIMIgIgBEcNAEEAQQAoAojQgIAAQX4gBXdxNgKI0ICAAAwDCyACIAZGGiACIAQ2AgggBCACNgIMDAILIAEoAhghBwJAAkAgASgCDCIGIAFGDQAgASgCCCICIARJGiAGIAI2AgggAiAGNgIMDAELAkAgAUEUaiICKAIAIgQNACABQRBqIgIoAgAiBA0AQQAhBgwBCwNAIAIhBSAEIgZBFGoiAigCACIEDQAgBkEQaiECIAYoAhAiBA0ACyAFQQA2AgALIAdFDQECQAJAIAEgASgCHCIEQQJ0QbjSgIAAaiICKAIARw0AIAIgBjYCACAGDQFBAEEAKAKM0ICAAEF+IAR3cTYCjNCAgAAMAwsgB0EQQRQgBygCECABRhtqIAY2AgAgBkUNAgsgBiAHNgIYAkAgASgCECICRQ0AIAYgAjYCECACIAY2AhgLIAEoAhQiAkUNASAGQRRqIAI2AgAgAiAGNgIYDAELIAMoAgQiAkEDcUEDRw0AIAMgAkF+cTYCBEEAIAA2ApDQgIAAIAEgAGogADYCACABIABBAXI2AgQPCyABIANPDQAgAygCBCICQQFxRQ0AAkACQCACQQJxDQACQCADQQAoAqDQgIAARw0AQQAgATYCoNCAgABBAEEAKAKU0ICAACAAaiIANgKU0ICAACABIABBAXI2AgQgAUEAKAKc0ICAAEcNA0EAQQA2ApDQgIAAQQBBADYCnNCAgAAPCwJAIANBACgCnNCAgABHDQBBACABNgKc0ICAAEEAQQAoApDQgIAAIABqIgA2ApDQgIAAIAEgAEEBcjYCBCABIABqIAA2AgAPCyACQXhxIABqIQACQAJAIAJB/wFLDQAgAygCCCIEIAJBA3YiBUEDdEGw0ICAAGoiBkYaAkAgAygCDCICIARHDQBBAEEAKAKI0ICAAEF+IAV3cTYCiNCAgAAMAgsgAiAGRhogAiAENgIIIAQgAjYCDAwBCyADKAIYIQcCQAJAIAMoAgwiBiADRg0AIAMoAggiAkEAKAKY0ICAAEkaIAYgAjYCCCACIAY2AgwMAQsCQCADQRRqIgIoAgAiBA0AIANBEGoiAigCACIEDQBBACEGDAELA0AgAiEFIAQiBkEUaiICKAIAIgQNACAGQRBqIQIgBigCECIEDQALIAVBADYCAAsgB0UNAAJAAkAgAyADKAIcIgRBAnRBuNKAgABqIgIoAgBHDQAgAiAGNgIAIAYNAUEAQQAoAozQgIAAQX4gBHdxNgKM0ICAAAwCCyAHQRBBFCAHKAIQIANGG2ogBjYCACAGRQ0BCyAGIAc2AhgCQCADKAIQIgJFDQAgBiACNgIQIAIgBjYCGAsgAygCFCICRQ0AIAZBFGogAjYCACACIAY2AhgLIAEgAGogADYCACABIABBAXI2AgQgAUEAKAKc0ICAAEcNAUEAIAA2ApDQgIAADwsgAyACQX5xNgIEIAEgAGogADYCACABIABBAXI2AgQLAkAgAEH/AUsNACAAQXhxQbDQgIAAaiECAkACQEEAKAKI0ICAACIEQQEgAEEDdnQiAHENAEEAIAQgAHI2AojQgIAAIAIhAAwBCyACKAIIIQALIAAgATYCDCACIAE2AgggASACNgIMIAEgADYCCA8LQR8hAgJAIABB////B0sNACAAQQh2IgIgAkGA/j9qQRB2QQhxIgJ0IgQgBEGA4B9qQRB2QQRxIgR0IgYgBkGAgA9qQRB2QQJxIgZ0QQ92IAIgBHIgBnJrIgJBAXQgACACQRVqdkEBcXJBHGohAgsgASACNgIcIAFCADcCECACQQJ0QbjSgIAAaiEEAkACQEEAKAKM0ICAACIGQQEgAnQiA3ENACAEIAE2AgBBACAGIANyNgKM0ICAACABIAQ2AhggASABNgIIIAEgATYCDAwBCyAAQQBBGSACQQF2ayACQR9GG3QhAiAEKAIAIQYCQANAIAYiBCgCBEF4cSAARg0BIAJBHXYhBiACQQF0IQIgBCAGQQRxakEQaiIDKAIAIgYNAAsgAyABNgIAIAEgBDYCGCABIAE2AgwgASABNgIIDAELIAQoAggiACABNgIMIAQgATYCCCABQQA2AhggASAENgIMIAEgADYCCAtBAEEAKAKo0ICAAEF/aiIBQX8gARs2AqjQgIAACwsEAAAAC04AAkAgAA0APwBBEHQPCwJAIABB//8DcQ0AIABBf0wNAAJAIABBEHZAACIAQX9HDQBBAEEwNgL404CAAEF/DwsgAEEQdA8LEMqAgIAAAAvyAgIDfwF+AkAgAkUNACAAIAE6AAAgAiAAaiIDQX9qIAE6AAAgAkEDSQ0AIAAgAToAAiAAIAE6AAEgA0F9aiABOgAAIANBfmogAToAACACQQdJDQAgACABOgADIANBfGogAToAACACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiATYCACADIAIgBGtBfHEiBGoiAkF8aiABNgIAIARBCUkNACADIAE2AgggAyABNgIEIAJBeGogATYCACACQXRqIAE2AgAgBEEZSQ0AIAMgATYCGCADIAE2AhQgAyABNgIQIAMgATYCDCACQXBqIAE2AgAgAkFsaiABNgIAIAJBaGogATYCACACQWRqIAE2AgAgBCADQQRxQRhyIgVrIgJBIEkNACABrUKBgICAEH4hBiADIAVqIQEDQCABIAY3AxggASAGNwMQIAEgBjcDCCABIAY3AwAgAUEgaiEBIAJBYGoiAkEfSw0ACwsgAAsLjkgBAEGACAuGSAEAAAACAAAAAwAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAYAAAAHAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==", "base64"); + module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVuaWVudF9oZWFkZXJzACEhbGxodHRwX3NldF9sZW5pZW50X2NodW5rZWRfbGVuZ3RoACIdbGxodHRwX3NldF9sZW5pZW50X2tlZXBfYWxpdmUAIyRsbGh0dHBfc2V0X2xlbmllbnRfdHJhbnNmZXJfZW5jb2RpbmcAJBhsbGh0dHBfbWVzc2FnZV9uZWVkc19lb2YALgkXAQBBAQsRAQIDBAUKBgcrLSwqKSglJyYK77MCLBYAQYjQACgCAARAAAtBiNAAQQE2AgALFAAgABAwIAAgAjYCOCAAIAE6ACgLFAAgACAALwEyIAAtAC4gABAvEAALHgEBf0HAABAyIgEQMCABQYAINgI4IAEgADoAKCABC48MAQd/AkAgAEUNACAAQQhrIgEgAEEEaygCACIAQXhxIgRqIQUCQCAAQQFxDQAgAEEDcUUNASABIAEoAgAiAGsiAUGc0AAoAgBJDQEgACAEaiEEAkACQEGg0AAoAgAgAUcEQCAAQf8BTQRAIABBA3YhAyABKAIIIgAgASgCDCICRgRAQYzQAEGM0AAoAgBBfiADd3E2AgAMBQsgAiAANgIIIAAgAjYCDAwECyABKAIYIQYgASABKAIMIgBHBEAgACABKAIIIgI2AgggAiAANgIMDAMLIAFBFGoiAygCACICRQRAIAEoAhAiAkUNAiABQRBqIQMLA0AgAyEHIAIiAEEUaiIDKAIAIgINACAAQRBqIQMgACgCECICDQALIAdBADYCAAwCCyAFKAIEIgBBA3FBA0cNAiAFIABBfnE2AgRBlNAAIAQ2AgAgBSAENgIAIAEgBEEBcjYCBAwDC0EAIQALIAZFDQACQCABKAIcIgJBAnRBvNIAaiIDKAIAIAFGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgAUYbaiAANgIAIABFDQELIAAgBjYCGCABKAIQIgIEQCAAIAI2AhAgAiAANgIYCyABQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAFTw0AIAUoAgQiAEEBcUUNAAJAAkACQAJAIABBAnFFBEBBpNAAKAIAIAVGBEBBpNAAIAE2AgBBmNAAQZjQACgCACAEaiIANgIAIAEgAEEBcjYCBCABQaDQACgCAEcNBkGU0ABBADYCAEGg0ABBADYCAAwGC0Gg0AAoAgAgBUYEQEGg0AAgATYCAEGU0ABBlNAAKAIAIARqIgA2AgAgASAAQQFyNgIEIAAgAWogADYCAAwGCyAAQXhxIARqIQQgAEH/AU0EQCAAQQN2IQMgBSgCCCIAIAUoAgwiAkYEQEGM0ABBjNAAKAIAQX4gA3dxNgIADAULIAIgADYCCCAAIAI2AgwMBAsgBSgCGCEGIAUgBSgCDCIARwRAQZzQACgCABogACAFKAIIIgI2AgggAiAANgIMDAMLIAVBFGoiAygCACICRQRAIAUoAhAiAkUNAiAFQRBqIQMLA0AgAyEHIAIiAEEUaiIDKAIAIgINACAAQRBqIQMgACgCECICDQALIAdBADYCAAwCCyAFIABBfnE2AgQgASAEaiAENgIAIAEgBEEBcjYCBAwDC0EAIQALIAZFDQACQCAFKAIcIgJBAnRBvNIAaiIDKAIAIAVGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgBUYbaiAANgIAIABFDQELIAAgBjYCGCAFKAIQIgIEQCAAIAI2AhAgAiAANgIYCyAFQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAEaiAENgIAIAEgBEEBcjYCBCABQaDQACgCAEcNAEGU0AAgBDYCAAwBCyAEQf8BTQRAIARBeHFBtNAAaiEAAn9BjNAAKAIAIgJBASAEQQN2dCIDcUUEQEGM0AAgAiADcjYCACAADAELIAAoAggLIgIgATYCDCAAIAE2AgggASAANgIMIAEgAjYCCAwBC0EfIQIgBEH///8HTQRAIARBJiAEQQh2ZyIAa3ZBAXEgAEEBdGtBPmohAgsgASACNgIcIAFCADcCECACQQJ0QbzSAGohAAJAQZDQACgCACIDQQEgAnQiB3FFBEAgACABNgIAQZDQACADIAdyNgIAIAEgADYCGCABIAE2AgggASABNgIMDAELIARBGSACQQF2a0EAIAJBH0cbdCECIAAoAgAhAAJAA0AgACIDKAIEQXhxIARGDQEgAkEddiEAIAJBAXQhAiADIABBBHFqQRBqIgcoAgAiAA0ACyAHIAE2AgAgASADNgIYIAEgATYCDCABIAE2AggMAQsgAygCCCIAIAE2AgwgAyABNgIIIAFBADYCGCABIAM2AgwgASAANgIIC0Gs0ABBrNAAKAIAQQFrIgBBfyAAGzYCAAsLBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LQAEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABAwIAAgBDYCOCAAIAM6ACggACACOgAtIAAgATYCGAu74gECB38DfiABIAJqIQQCQCAAIgIoAgwiAA0AIAIoAgQEQCACIAE2AgQLIwBBEGsiCCQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIoAhwiA0EBaw7dAdoBAdkBAgMEBQYHCAkKCwwNDtgBDxDXARES1gETFBUWFxgZGhvgAd8BHB0e1QEfICEiIyQl1AEmJygpKiss0wHSAS0u0QHQAS8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRtsBR0hJSs8BzgFLzQFMzAFNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBywHKAbgByQG5AcgBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgEA3AELQQAMxgELQQ4MxQELQQ0MxAELQQ8MwwELQRAMwgELQRMMwQELQRQMwAELQRUMvwELQRYMvgELQRgMvQELQRkMvAELQRoMuwELQRsMugELQRwMuQELQR0MuAELQQgMtwELQR4MtgELQSAMtQELQR8MtAELQQcMswELQSEMsgELQSIMsQELQSMMsAELQSQMrwELQRIMrgELQREMrQELQSUMrAELQSYMqwELQScMqgELQSgMqQELQcMBDKgBC0EqDKcBC0ErDKYBC0EsDKUBC0EtDKQBC0EuDKMBC0EvDKIBC0HEAQyhAQtBMAygAQtBNAyfAQtBDAyeAQtBMQydAQtBMgycAQtBMwybAQtBOQyaAQtBNQyZAQtBxQEMmAELQQsMlwELQToMlgELQTYMlQELQQoMlAELQTcMkwELQTgMkgELQTwMkQELQTsMkAELQT0MjwELQQkMjgELQSkMjQELQT4MjAELQT8MiwELQcAADIoBC0HBAAyJAQtBwgAMiAELQcMADIcBC0HEAAyGAQtBxQAMhQELQcYADIQBC0EXDIMBC0HHAAyCAQtByAAMgQELQckADIABC0HKAAx/C0HLAAx+C0HNAAx9C0HMAAx8C0HOAAx7C0HPAAx6C0HQAAx5C0HRAAx4C0HSAAx3C0HTAAx2C0HUAAx1C0HWAAx0C0HVAAxzC0EGDHILQdcADHELQQUMcAtB2AAMbwtBBAxuC0HZAAxtC0HaAAxsC0HbAAxrC0HcAAxqC0EDDGkLQd0ADGgLQd4ADGcLQd8ADGYLQeEADGULQeAADGQLQeIADGMLQeMADGILQQIMYQtB5AAMYAtB5QAMXwtB5gAMXgtB5wAMXQtB6AAMXAtB6QAMWwtB6gAMWgtB6wAMWQtB7AAMWAtB7QAMVwtB7gAMVgtB7wAMVQtB8AAMVAtB8QAMUwtB8gAMUgtB8wAMUQtB9AAMUAtB9QAMTwtB9gAMTgtB9wAMTQtB+AAMTAtB+QAMSwtB+gAMSgtB+wAMSQtB/AAMSAtB/QAMRwtB/gAMRgtB/wAMRQtBgAEMRAtBgQEMQwtBggEMQgtBgwEMQQtBhAEMQAtBhQEMPwtBhgEMPgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==", "base64"); } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/web/fetch/constants.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/web/fetch/constants.js var require_constants4 = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/web/fetch/constants.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/web/fetch/constants.js"(exports, module2) { "use strict"; var corsSafeListedMethods = ["GET", "HEAD", "POST"]; var corsSafeListedMethodsSet = new Set(corsSafeListedMethods); @@ -8148,9 +7616,9 @@ var require_constants4 = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/web/fetch/global.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/web/fetch/global.js var require_global = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/web/fetch/global.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/web/fetch/global.js"(exports, module2) { "use strict"; var globalOrigin = Symbol.for("undici.globalOrigin.1"); function getGlobalOrigin() { @@ -8184,16 +7652,16 @@ var require_global = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/web/fetch/data-url.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/web/fetch/data-url.js var require_data_url = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/web/fetch/data-url.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/web/fetch/data-url.js"(exports, module2) { "use strict"; var assert3 = require("node:assert"); var encoder = new TextEncoder(); - var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/; + var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/; var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/; var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g; - var HTTP_QUOTED_STRING_TOKENS = /[\u0009\u0020-\u007E\u0080-\u00FF]/; + var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/; function dataURLProcessor(dataURL) { assert3(dataURL.protocol === "data:"); let input = URLSerializer(dataURL, true); @@ -8530,6 +7998,7 @@ var require_data_url = __commonJS({ collectAnHTTPQuotedString, serializeAMimeType, removeChars, + removeHTTPWhitespace, minimizeSupportedMimeType, HTTP_TOKEN_CODEPOINTS, isomorphicDecode @@ -8537,9 +8006,9 @@ var require_data_url = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/web/fetch/webidl.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/web/fetch/webidl.js var require_webidl = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/web/fetch/webidl.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/web/fetch/webidl.js"(exports, module2) { "use strict"; var { types, inspect } = require("node:util"); var { toUSVString } = require_util(); @@ -8564,14 +8033,18 @@ var require_webidl = __commonJS({ message: `"${context.value}" is an invalid ${context.type}.` }); }; - webidl.brandCheck = function(V, I, opts = void 0) { + webidl.brandCheck = function(V, I, opts) { if (opts?.strict !== false) { if (!(V instanceof I)) { - throw new TypeError("Illegal invocation"); + const err = new TypeError("Illegal invocation"); + err.code = "ERR_INVALID_THIS"; + throw err; } } else { if (V?.[Symbol.toStringTag] !== I.prototype[Symbol.toStringTag]) { - throw new TypeError("Illegal invocation"); + const err = new TypeError("Illegal invocation"); + err.code = "ERR_INVALID_THIS"; + throw err; } } }; @@ -8579,7 +8052,7 @@ var require_webidl = __commonJS({ if (length < min) { throw webidl.errors.exception({ message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`, - ...ctx + header: ctx }); } }; @@ -8612,7 +8085,7 @@ var require_webidl = __commonJS({ } } }; - webidl.util.ConvertToInt = function(V, bitLength, signedness, opts = {}) { + webidl.util.ConvertToInt = function(V, bitLength, signedness, opts) { let upperBound; let lowerBound; if (bitLength === 64) { @@ -8633,7 +8106,7 @@ var require_webidl = __commonJS({ if (x === 0) { x = 0; } - if (opts.enforceRange === true) { + if (opts?.enforceRange === true) { if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) { throw webidl.errors.exception({ header: "Integer conversion", @@ -8649,7 +8122,7 @@ var require_webidl = __commonJS({ } return x; } - if (!Number.isNaN(x) && opts.clamp === true) { + if (!Number.isNaN(x) && opts?.clamp === true) { x = Math.min(Math.max(x, lowerBound), upperBound); if (Math.floor(x) % 2 === 0) { x = Math.floor(x); @@ -8689,19 +8162,20 @@ var require_webidl = __commonJS({ } }; webidl.sequenceConverter = function(converter) { - return (V, Iterable) => { + return (V, prefix, argument, Iterable) => { if (webidl.util.Type(V) !== "Object") { throw webidl.errors.exception({ - header: "Sequence", - message: `Value of type ${webidl.util.Type(V)} is not an Object.` + header: prefix, + message: `${argument} (${webidl.util.Stringify(V)}) is not iterable.` }); } const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.(); const seq = []; + let index = 0; if (method === void 0 || typeof method.next !== "function") { throw webidl.errors.exception({ - header: "Sequence", - message: "Object is not an iterator." + header: prefix, + message: `${argument} is not iterable.` }); } while (true) { @@ -8709,25 +8183,25 @@ var require_webidl = __commonJS({ if (done) { break; } - seq.push(converter(value)); + seq.push(converter(value, prefix, `${argument}[${index++}]`)); } return seq; }; }; webidl.recordConverter = function(keyConverter, valueConverter) { - return (O) => { + return (O, prefix, argument) => { if (webidl.util.Type(O) !== "Object") { throw webidl.errors.exception({ - header: "Record", - message: `Value of type ${webidl.util.Type(O)} is not an Object.` + header: prefix, + message: `${argument} ("${webidl.util.Type(O)}") is not an Object.` }); } const result = {}; if (!types.isProxy(O)) { const keys2 = [...Object.getOwnPropertyNames(O), ...Object.getOwnPropertySymbols(O)]; for (const key of keys2) { - const typedKey = keyConverter(key); - const typedValue = valueConverter(O[key]); + const typedKey = keyConverter(key, prefix, argument); + const typedValue = valueConverter(O[key], prefix, argument); result[typedKey] = typedValue; } return result; @@ -8736,8 +8210,8 @@ var require_webidl = __commonJS({ for (const key of keys) { const desc = Reflect.getOwnPropertyDescriptor(O, key); if (desc?.enumerable) { - const typedKey = keyConverter(key); - const typedValue = valueConverter(O[key]); + const typedKey = keyConverter(key, prefix, argument); + const typedValue = valueConverter(O[key], prefix, argument); result[typedKey] = typedValue; } } @@ -8745,25 +8219,25 @@ var require_webidl = __commonJS({ }; }; webidl.interfaceConverter = function(i) { - return (V, opts = {}) => { - if (opts.strict !== false && !(V instanceof i)) { + return (V, prefix, argument, opts) => { + if (opts?.strict !== false && !(V instanceof i)) { throw webidl.errors.exception({ - header: i.name, - message: `Expected ${webidl.util.Stringify(V)} to be an instance of ${i.name}.` + header: prefix, + message: `Expected ${argument} ("${webidl.util.Stringify(V)}") to be an instance of ${i.name}.` }); } return V; }; }; webidl.dictionaryConverter = function(converters) { - return (dictionary) => { + return (dictionary, prefix, argument) => { const type = webidl.util.Type(dictionary); const dict = {}; if (type === "Null" || type === "Undefined") { return dict; } else if (type !== "Object") { throw webidl.errors.exception({ - header: "Dictionary", + header: prefix, message: `Expected ${dictionary} to be one of: Null, Undefined, Object.` }); } @@ -8772,7 +8246,7 @@ var require_webidl = __commonJS({ if (required === true) { if (!Object.hasOwn(dictionary, key)) { throw webidl.errors.exception({ - header: "Dictionary", + header: prefix, message: `Missing required key "${key}".` }); } @@ -8780,13 +8254,13 @@ var require_webidl = __commonJS({ let value = dictionary[key]; const hasDefault = Object.hasOwn(options, "defaultValue"); if (hasDefault && value !== null) { - value = value ?? defaultValue; + value ??= defaultValue(); } if (required || hasDefault || value !== void 0) { - value = converter(value); + value = converter(value, prefix, `${argument}.${key}`); if (options.allowedValues && !options.allowedValues.includes(value)) { throw webidl.errors.exception({ - header: "Dictionary", + header: prefix, message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.` }); } @@ -8797,24 +8271,27 @@ var require_webidl = __commonJS({ }; }; webidl.nullableConverter = function(converter) { - return (V) => { + return (V, prefix, argument) => { if (V === null) { return V; } - return converter(V); + return converter(V, prefix, argument); }; }; - webidl.converters.DOMString = function(V, opts = {}) { - if (V === null && opts.legacyNullToEmptyString) { + webidl.converters.DOMString = function(V, prefix, argument, opts) { + if (V === null && opts?.legacyNullToEmptyString) { return ""; } if (typeof V === "symbol") { - throw new TypeError("Could not convert argument of type symbol to string."); + throw webidl.errors.exception({ + header: prefix, + message: `${argument} is a symbol, which cannot be converted to a DOMString.` + }); } return String(V); }; - webidl.converters.ByteString = function(V) { - const x = webidl.converters.DOMString(V); + webidl.converters.ByteString = function(V, prefix, argument) { + const x = webidl.converters.DOMString(V, prefix, argument); for (let index = 0; index < x.length; index++) { if (x.charCodeAt(index) > 255) { throw new TypeError( @@ -8832,31 +8309,31 @@ var require_webidl = __commonJS({ webidl.converters.any = function(V) { return V; }; - webidl.converters["long long"] = function(V) { - const x = webidl.util.ConvertToInt(V, 64, "signed"); + webidl.converters["long long"] = function(V, prefix, argument) { + const x = webidl.util.ConvertToInt(V, 64, "signed", void 0, prefix, argument); return x; }; - webidl.converters["unsigned long long"] = function(V) { - const x = webidl.util.ConvertToInt(V, 64, "unsigned"); + webidl.converters["unsigned long long"] = function(V, prefix, argument) { + const x = webidl.util.ConvertToInt(V, 64, "unsigned", void 0, prefix, argument); return x; }; - webidl.converters["unsigned long"] = function(V) { - const x = webidl.util.ConvertToInt(V, 32, "unsigned"); + webidl.converters["unsigned long"] = function(V, prefix, argument) { + const x = webidl.util.ConvertToInt(V, 32, "unsigned", void 0, prefix, argument); return x; }; - webidl.converters["unsigned short"] = function(V, opts) { - const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts); + webidl.converters["unsigned short"] = function(V, prefix, argument, opts) { + const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts, prefix, argument); return x; }; - webidl.converters.ArrayBuffer = function(V, opts = {}) { + webidl.converters.ArrayBuffer = function(V, prefix, argument, opts) { if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) { throw webidl.errors.conversionFailed({ - prefix: webidl.util.Stringify(V), - argument: webidl.util.Stringify(V), + prefix, + argument: `${argument} ("${webidl.util.Stringify(V)}")`, types: ["ArrayBuffer"] }); } - if (opts.allowShared === false && types.isSharedArrayBuffer(V)) { + if (opts?.allowShared === false && types.isSharedArrayBuffer(V)) { throw webidl.errors.exception({ header: "ArrayBuffer", message: "SharedArrayBuffer is not allowed." @@ -8870,15 +8347,15 @@ var require_webidl = __commonJS({ } return V; }; - webidl.converters.TypedArray = function(V, T, opts = {}) { + webidl.converters.TypedArray = function(V, T, prefix, name, opts) { if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) { throw webidl.errors.conversionFailed({ - prefix: `${T.name}`, - argument: webidl.util.Stringify(V), + prefix, + argument: `${name} ("${webidl.util.Stringify(V)}")`, types: [T.name] }); } - if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) { + if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) { throw webidl.errors.exception({ header: "ArrayBuffer", message: "SharedArrayBuffer is not allowed." @@ -8892,14 +8369,14 @@ var require_webidl = __commonJS({ } return V; }; - webidl.converters.DataView = function(V, opts = {}) { + webidl.converters.DataView = function(V, prefix, name, opts) { if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) { throw webidl.errors.exception({ - header: "DataView", - message: "Object is not a DataView." + header: prefix, + message: `${name} is not a DataView.` }); } - if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) { + if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) { throw webidl.errors.exception({ header: "ArrayBuffer", message: "SharedArrayBuffer is not allowed." @@ -8913,17 +8390,21 @@ var require_webidl = __commonJS({ } return V; }; - webidl.converters.BufferSource = function(V, opts = {}) { + webidl.converters.BufferSource = function(V, prefix, name, opts) { if (types.isAnyArrayBuffer(V)) { - return webidl.converters.ArrayBuffer(V, { ...opts, allowShared: false }); + return webidl.converters.ArrayBuffer(V, prefix, name, { ...opts, allowShared: false }); } if (types.isTypedArray(V)) { - return webidl.converters.TypedArray(V, V.constructor, { ...opts, allowShared: false }); + return webidl.converters.TypedArray(V, V.constructor, prefix, name, { ...opts, allowShared: false }); } if (types.isDataView(V)) { - return webidl.converters.DataView(V, opts, { ...opts, allowShared: false }); + return webidl.converters.DataView(V, prefix, name, { ...opts, allowShared: false }); } - throw new TypeError(`Could not convert ${webidl.util.Stringify(V)} to a BufferSource.`); + throw webidl.errors.conversionFailed({ + prefix, + argument: `${name} ("${webidl.util.Stringify(V)}")`, + types: ["BufferSource"] + }); }; webidl.converters["sequence"] = webidl.sequenceConverter( webidl.converters.ByteString @@ -8941,9 +8422,9 @@ var require_webidl = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/web/fetch/util.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/web/fetch/util.js var require_util3 = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/web/fetch/util.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/web/fetch/util.js"(exports, module2) { "use strict"; var { Transform } = require("node:stream"); var zlib = require("node:zlib"); @@ -9058,10 +8539,11 @@ var require_util3 = __commonJS({ } function appendRequestOriginHeader(request) { let serializedOrigin = request.origin; + if (serializedOrigin === "client") { + return; + } if (request.responseTainting === "cors" || request.mode === "websocket") { - if (serializedOrigin) { - request.headersList.append("origin", serializedOrigin, true); - } + request.headersList.append("origin", serializedOrigin, true); } else if (request.method !== "GET" && request.method !== "HEAD") { switch (request.referrerPolicy) { case "no-referrer": @@ -9081,9 +8563,7 @@ var require_util3 = __commonJS({ break; default: } - if (serializedOrigin) { - request.headersList.append("origin", serializedOrigin, true); - } + request.headersList.append("origin", serializedOrigin, true); } } function coarsenTime(timestamp, crossOriginIsolatedCapability) { @@ -9480,7 +8960,7 @@ var require_util3 = __commonJS({ configurable: true, value: function forEach(callbackfn, thisArg = globalThis) { webidl.brandCheck(this, object); - webidl.argumentLengthCheck(arguments, 1, { header: `${name}.forEach` }); + webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`); if (typeof callbackfn !== "function") { throw new TypeError( `Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.` @@ -9502,7 +8982,7 @@ var require_util3 = __commonJS({ } }); } - async function fullyReadBody(body, processBody, processBodyError) { + async function fullyReadBody(body, processBody, processBodyError, shouldClone) { const successSteps = processBody; const errorSteps = processBodyError; let reader; @@ -9513,8 +8993,7 @@ var require_util3 = __commonJS({ return; } try { - const result = await readAllBytes(reader); - successSteps(result); + successSteps(await readAllBytes(reader, shouldClone)); } catch (e) { errorSteps(e); } @@ -9532,18 +9011,24 @@ var require_util3 = __commonJS({ } } } + var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/; function isomorphicEncode(input) { - for (let i = 0; i < input.length; i++) { - assert3(input.charCodeAt(i) <= 255); - } + assert3(!invalidIsomorphicEncodeValueRegex.test(input)); return input; } - async function readAllBytes(reader) { + async function readAllBytes(reader, shouldClone) { const bytes = []; let byteLength = 0; while (true) { const { done, value: chunk } = await reader.read(); if (done) { + if (bytes.length === 1) { + const { buffer, byteOffset, byteLength: byteLength2 } = bytes[0]; + if (shouldClone === false) { + return Buffer.from(buffer, byteOffset, byteLength2); + } + return Buffer.from(buffer.slice(byteOffset, byteOffset + byteLength2), 0, byteLength2); + } return Buffer.concat(bytes, byteLength); } if (!isUint8Array(chunk)) { @@ -9749,6 +9234,19 @@ var require_util3 = __commonJS({ const output = textDecoder.decode(buffer); return output; } + var EnvironmentSettingsObjectBase = class { + get baseUrl() { + return getGlobalOrigin(); + } + get origin() { + return this.baseUrl?.origin; + } + policyContainer = makePolicyContainer(); + }; + var EnvironmentSettingsObject = class { + settingsObject = new EnvironmentSettingsObjectBase(); + }; + var environmentSettingsObject = new EnvironmentSettingsObject(); module2.exports = { isAborted, isCancelled, @@ -9800,80 +9298,33 @@ var require_util3 = __commonJS({ createInflate, extractMimeType, getDecodeSplit, - utf8DecodeBytes + utf8DecodeBytes, + environmentSettingsObject }; } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/web/fetch/symbols.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/web/fetch/symbols.js var require_symbols2 = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/web/fetch/symbols.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/web/fetch/symbols.js"(exports, module2) { "use strict"; module2.exports = { kUrl: Symbol("url"), kHeaders: Symbol("headers"), kSignal: Symbol("signal"), kState: Symbol("state"), - kGuard: Symbol("guard"), - kRealm: Symbol("realm"), kDispatcher: Symbol("dispatcher") }; } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/web/fetch/file.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/web/fetch/file.js var require_file = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/web/fetch/file.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/web/fetch/file.js"(exports, module2) { "use strict"; - var { EOL } = require("node:os"); - var { Blob: Blob2, File: NativeFile } = require("node:buffer"); - var { types } = require("node:util"); + var { Blob: Blob2, File } = require("node:buffer"); var { kState } = require_symbols2(); - var { isBlobLike } = require_util3(); var { webidl } = require_webidl(); - var { parseMIMEType, serializeAMimeType } = require_data_url(); - var { kEnumerableProperty } = require_util(); - var encoder = new TextEncoder(); - var File = class _File extends Blob2 { - constructor(fileBits, fileName, options = {}) { - webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" }); - fileBits = webidl.converters["sequence"](fileBits); - fileName = webidl.converters.USVString(fileName); - options = webidl.converters.FilePropertyBag(options); - const n = fileName; - let t = options.type; - let d; - substep: { - if (t) { - t = parseMIMEType(t); - if (t === "failure") { - t = ""; - break substep; - } - t = serializeAMimeType(t).toLowerCase(); - } - d = options.lastModified; - } - super(processBlobParts(fileBits, options), { type: t }); - this[kState] = { - name: n, - lastModified: d, - type: t - }; - } - get name() { - webidl.brandCheck(this, _File); - return this[kState].name; - } - get lastModified() { - webidl.brandCheck(this, _File); - return this[kState].lastModified; - } - get type() { - webidl.brandCheck(this, _File); - return this[kState].type; - } - }; var FileLike = class _FileLike { constructor(blobLike, fileName, options = {}) { const n = fileName; @@ -9922,100 +9373,26 @@ var require_file = __commonJS({ return "File"; } }; - Object.defineProperties(File.prototype, { - [Symbol.toStringTag]: { - value: "File", - configurable: true - }, - name: kEnumerableProperty, - lastModified: kEnumerableProperty - }); webidl.converters.Blob = webidl.interfaceConverter(Blob2); - webidl.converters.BlobPart = function(V, opts) { - if (webidl.util.Type(V) === "Object") { - if (isBlobLike(V)) { - return webidl.converters.Blob(V, { strict: false }); - } - if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) { - return webidl.converters.BufferSource(V, opts); - } - } - return webidl.converters.USVString(V, opts); - }; - webidl.converters["sequence"] = webidl.sequenceConverter( - webidl.converters.BlobPart - ); - webidl.converters.FilePropertyBag = webidl.dictionaryConverter([ - { - key: "lastModified", - converter: webidl.converters["long long"], - get defaultValue() { - return Date.now(); - } - }, - { - key: "type", - converter: webidl.converters.DOMString, - defaultValue: "" - }, - { - key: "endings", - converter: (value) => { - value = webidl.converters.DOMString(value); - value = value.toLowerCase(); - if (value !== "native") { - value = "transparent"; - } - return value; - }, - defaultValue: "transparent" - } - ]); - function processBlobParts(parts, options) { - const bytes = []; - for (const element of parts) { - if (typeof element === "string") { - let s = element; - if (options.endings === "native") { - s = convertLineEndingsNative(s); - } - bytes.push(encoder.encode(s)); - } else if (ArrayBuffer.isView(element) || types.isArrayBuffer(element)) { - if (element.buffer) { - bytes.push( - new Uint8Array(element.buffer, element.byteOffset, element.byteLength) - ); - } else { - bytes.push(new Uint8Array(element)); - } - } else if (isBlobLike(element)) { - bytes.push(element); - } - } - return bytes; - } - function convertLineEndingsNative(s) { - return s.replace(/\r?\n/g, EOL); - } function isFileLike(object) { - return NativeFile && object instanceof NativeFile || object instanceof File || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File"; + return object instanceof File || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File"; } - module2.exports = { File, FileLike, isFileLike }; + module2.exports = { FileLike, isFileLike }; } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/web/fetch/formdata.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/web/fetch/formdata.js var require_formdata = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/web/fetch/formdata.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/web/fetch/formdata.js"(exports, module2) { "use strict"; var { isBlobLike, iteratorMixin } = require_util3(); var { kState } = require_symbols2(); var { kEnumerableProperty } = require_util(); - var { File: UndiciFile, FileLike, isFileLike } = require_file(); + var { FileLike, isFileLike } = require_file(); var { webidl } = require_webidl(); var { File: NativeFile } = require("node:buffer"); var nodeUtil = require("node:util"); - var File = NativeFile ?? UndiciFile; + var File = globalThis.File ?? NativeFile; var FormData = class _FormData { constructor(form) { if (form !== void 0) { @@ -10029,28 +9406,31 @@ var require_formdata = __commonJS({ } append(name, value, filename = void 0) { webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" }); + const prefix = "FormData.append"; + webidl.argumentLengthCheck(arguments, 2, prefix); if (arguments.length === 3 && !isBlobLike(value)) { throw new TypeError( "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'" ); } - name = webidl.converters.USVString(name); - value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value); - filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0; + name = webidl.converters.USVString(name, prefix, "name"); + value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "value", { strict: false }) : webidl.converters.USVString(value, prefix, "value"); + filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "filename") : void 0; const entry = makeEntry(name, value, filename); this[kState].push(entry); } delete(name) { webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" }); - name = webidl.converters.USVString(name); + const prefix = "FormData.delete"; + webidl.argumentLengthCheck(arguments, 1, prefix); + name = webidl.converters.USVString(name, prefix, "name"); this[kState] = this[kState].filter((entry) => entry.name !== name); } get(name) { webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" }); - name = webidl.converters.USVString(name); + const prefix = "FormData.get"; + webidl.argumentLengthCheck(arguments, 1, prefix); + name = webidl.converters.USVString(name, prefix, "name"); const idx = this[kState].findIndex((entry) => entry.name === name); if (idx === -1) { return null; @@ -10059,27 +9439,30 @@ var require_formdata = __commonJS({ } getAll(name) { webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" }); - name = webidl.converters.USVString(name); + const prefix = "FormData.getAll"; + webidl.argumentLengthCheck(arguments, 1, prefix); + name = webidl.converters.USVString(name, prefix, "name"); return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value); } has(name) { webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" }); - name = webidl.converters.USVString(name); + const prefix = "FormData.has"; + webidl.argumentLengthCheck(arguments, 1, prefix); + name = webidl.converters.USVString(name, prefix, "name"); return this[kState].findIndex((entry) => entry.name === name) !== -1; } set(name, value, filename = void 0) { webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" }); + const prefix = "FormData.set"; + webidl.argumentLengthCheck(arguments, 2, prefix); if (arguments.length === 3 && !isBlobLike(value)) { throw new TypeError( "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'" ); } - name = webidl.converters.USVString(name); - value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value); - filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0; + name = webidl.converters.USVString(name, prefix, "name"); + value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "name", { strict: false }) : webidl.converters.USVString(value, prefix, "name"); + filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "name") : void 0; const entry = makeEntry(name, value, filename); const idx = this[kState].findIndex((entry2) => entry2.name === name); if (idx !== -1) { @@ -10135,7 +9518,7 @@ var require_formdata = __commonJS({ type: value.type, lastModified: value.lastModified }; - value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File([value], filename, options) : new FileLike(value, filename, options); + value = value instanceof NativeFile ? new File([value], filename, options) : new FileLike(value, filename, options); } } return { name, value }; @@ -10144,18 +9527,18 @@ var require_formdata = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/web/fetch/formdata-parser.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/web/fetch/formdata-parser.js var require_formdata_parser = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports, module2) { "use strict"; var { isUSVString, bufferToLowerCasedHeaderName } = require_util(); var { utf8DecodeBytes } = require_util3(); var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url(); - var { isFileLike, File: UndiciFile } = require_file(); + var { isFileLike } = require_file(); var { makeEntry } = require_formdata(); var assert3 = require("node:assert"); var { File: NodeFile } = require("node:buffer"); - var File = globalThis.File ?? NodeFile ?? UndiciFile; + var File = globalThis.File ?? NodeFile; var formDataNameBuffer = Buffer.from('form-data; name="'); var filenameBuffer = Buffer.from("; filename"); var dd = Buffer.from("--"); @@ -10390,9 +9773,9 @@ var require_formdata_parser = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/web/fetch/body.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/web/fetch/body.js var require_body = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/web/fetch/body.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/web/fetch/body.js"(exports, module2) { "use strict"; var util = require_util(); var { @@ -10582,18 +9965,18 @@ Content-Type: ${value.type || "application/octet-stream"}\r mimeType = serializeAMimeType(mimeType); } return new Blob2([bytes], { type: mimeType }); - }, instance); + }, instance, false); }, arrayBuffer() { return consumeBody(this, (bytes) => { - return new Uint8Array(bytes).buffer; - }, instance); + return bytes.buffer; + }, instance, true); }, text() { - return consumeBody(this, utf8DecodeBytes, instance); + return consumeBody(this, utf8DecodeBytes, instance, false); }, json() { - return consumeBody(this, parseJSONFromBytes, instance); + return consumeBody(this, parseJSONFromBytes, instance, false); }, formData() { return consumeBody(this, (value) => { @@ -10622,7 +10005,12 @@ Content-Type: ${value.type || "application/octet-stream"}\r throw new TypeError( 'Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".' ); - }, instance); + }, instance, false); + }, + bytes() { + return consumeBody(this, (bytes) => { + return new Uint8Array(bytes.buffer, 0, bytes.byteLength); + }, instance, true); } }; return methods; @@ -10630,10 +10018,10 @@ Content-Type: ${value.type || "application/octet-stream"}\r function mixinBody(prototype) { Object.assign(prototype.prototype, bodyMixinMethods(prototype)); } - async function consumeBody(object, convertBytesToJSValue, instance) { + async function consumeBody(object, convertBytesToJSValue, instance, shouldClone) { webidl.brandCheck(object, instance); if (bodyUnusable(object[kState].body)) { - throw new TypeError("Body is unusable"); + throw new TypeError("Body is unusable: Body has already been read"); } throwIfAborted(object[kState]); const promise = createDeferredPromise(); @@ -10646,10 +10034,10 @@ Content-Type: ${value.type || "application/octet-stream"}\r } }; if (object[kState].body == null) { - successSteps(new Uint8Array()); + successSteps(Buffer.allocUnsafe(0)); return promise.promise; } - await fullyReadBody(object[kState].body, successSteps, errorSteps); + await fullyReadBody(object[kState].body, successSteps, errorSteps, shouldClone); return promise.promise; } function bodyUnusable(body) { @@ -10675,9 +10063,9 @@ Content-Type: ${value.type || "application/octet-stream"}\r } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/dispatcher/client-h1.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/dispatcher/client-h1.js var require_client_h1 = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/dispatcher/client-h1.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/dispatcher/client-h1.js"(exports, module2) { "use strict"; var assert3 = require("node:assert"); var util = require_util(); @@ -11489,7 +10877,7 @@ upgrade: ${upgrade}\r setImmediate(onClose); } } - async function writeBuffer({ abort, body, client, request, socket, contentLength, header, expectsPayload }) { + function writeBuffer({ abort, body, client, request, socket, contentLength, header, expectsPayload }) { try { if (!body) { if (contentLength === 0) { @@ -11690,9 +11078,9 @@ ${len.toString(16)}\r } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/dispatcher/client-h2.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/dispatcher/client-h2.js var require_client_h2 = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/dispatcher/client-h2.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/dispatcher/client-h2.js"(exports, module2) { "use strict"; var assert3 = require("node:assert"); var { pipeline } = require("node:stream"); @@ -11852,11 +11240,10 @@ var require_client_h2 = __commonJS({ util.destroy(this[kSocket], err); } function onHTTP2GoAway(code) { - const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`); + const err = new RequestAbortedError(`HTTP/2: "GOAWAY" frame received with code ${code}`); this[kSocket][kError] = err; this[kClient][kOnError](err); this.unref(); - this.destroy(); util.destroy(this[kSocket], err); } function shouldSendContentLength(method) { @@ -12055,6 +11442,7 @@ var require_client_h2 = __commonJS({ } } else if (util.isStream(body)) { writeStream({ + abort, body, client, request, @@ -12066,6 +11454,7 @@ var require_client_h2 = __commonJS({ }); } else if (util.isIterable(body)) { writeIterable({ + abort, body, client, request, @@ -12190,9 +11579,9 @@ var require_client_h2 = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/handler/redirect-handler.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/handler/redirect-handler.js var require_redirect_handler = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/handler/redirect-handler.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/handler/redirect-handler.js"(exports, module2) { "use strict"; var util = require_util(); var { kBodyUsed } = require_symbols(); @@ -12349,9 +11738,9 @@ var require_redirect_handler = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/interceptor/redirect-interceptor.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/interceptor/redirect-interceptor.js var require_redirect_interceptor = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports, module2) { "use strict"; var RedirectHandler = require_redirect_handler(); function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) { @@ -12371,9 +11760,9 @@ var require_redirect_interceptor = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/dispatcher/client.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/dispatcher/client.js var require_client = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/dispatcher/client.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/dispatcher/client.js"(exports, module2) { "use strict"; var assert3 = require("node:assert"); var net = require("node:net"); @@ -12544,7 +11933,7 @@ var require_client = __commonJS({ allowH2, socketPath, timeout: connectTimeout, - ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, + ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, ...connect2 }); } @@ -12565,7 +11954,7 @@ var require_client = __commonJS({ this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize; this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout; this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout; - this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold; + this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 2e3 : keepAliveTimeoutThreshold; this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout]; this[kServerName] = null; this[kLocalAddress] = localAddress != null ? localAddress : null; @@ -12871,9 +12260,9 @@ var require_client = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/dispatcher/pool.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/dispatcher/pool.js var require_pool = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/dispatcher/pool.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/dispatcher/pool.js"(exports, module2) { "use strict"; var { PoolBase, @@ -12926,7 +12315,7 @@ var require_pool = __commonJS({ allowH2, socketPath, timeout: connectTimeout, - ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, + ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, ...connect }); } @@ -12954,9 +12343,9 @@ var require_pool = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/dispatcher/agent.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/dispatcher/agent.js var require_agent = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/dispatcher/agent.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/dispatcher/agent.js"(exports, module2) { "use strict"; var { InvalidArgumentError } = require_errors(); var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols(); @@ -13051,9 +12440,9 @@ var require_agent = __commonJS({ } }); -// .yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/dispatcher/proxy-agent.js +// .yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/dispatcher/proxy-agent.js var require_proxy_agent = __commonJS({ - ".yarn/cache/undici-npm-6.13.0-1545cd855e-b1b0456e7d.zip/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports, module2) { + ".yarn/cache/undici-npm-6.18.2-c1115b72ab-271df2f77f.zip/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports, module2) { "use strict"; var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols(); var { URL: URL2 } = require("node:url"); @@ -14693,801 +14082,1114 @@ var require_minizlib = __commonJS({ constructor(opts) { super(opts, "Gunzip"); } - }; - var DeflateRaw = class extends Zlib { - constructor(opts) { - super(opts, "DeflateRaw"); + }; + var DeflateRaw = class extends Zlib { + constructor(opts) { + super(opts, "DeflateRaw"); + } + }; + var InflateRaw = class extends Zlib { + constructor(opts) { + super(opts, "InflateRaw"); + } + }; + var Unzip = class extends Zlib { + constructor(opts) { + super(opts, "Unzip"); + } + }; + var Brotli = class extends ZlibBase { + constructor(opts, mode) { + opts = opts || {}; + opts.flush = opts.flush || constants.BROTLI_OPERATION_PROCESS; + opts.finishFlush = opts.finishFlush || constants.BROTLI_OPERATION_FINISH; + super(opts, mode); + this[_fullFlushFlag] = constants.BROTLI_OPERATION_FLUSH; + } + }; + var BrotliCompress = class extends Brotli { + constructor(opts) { + super(opts, "BrotliCompress"); + } + }; + var BrotliDecompress = class extends Brotli { + constructor(opts) { + super(opts, "BrotliDecompress"); + } + }; + exports.Deflate = Deflate; + exports.Inflate = Inflate; + exports.Gzip = Gzip; + exports.Gunzip = Gunzip; + exports.DeflateRaw = DeflateRaw; + exports.InflateRaw = InflateRaw; + exports.Unzip = Unzip; + if (typeof realZlib.BrotliCompress === "function") { + exports.BrotliCompress = BrotliCompress; + exports.BrotliDecompress = BrotliDecompress; + } else { + exports.BrotliCompress = exports.BrotliDecompress = class { + constructor() { + throw new Error("Brotli is not supported in this version of Node.js"); + } + }; + } + } +}); + +// .yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/normalize-windows-path.js +var require_normalize_windows_path = __commonJS({ + ".yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/normalize-windows-path.js"(exports, module2) { + var platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform; + module2.exports = platform !== "win32" ? (p) => p : (p) => p && p.replace(/\\/g, "/"); + } +}); + +// .yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/read-entry.js +var require_read_entry = __commonJS({ + ".yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/read-entry.js"(exports, module2) { + "use strict"; + var { Minipass } = require_minipass(); + var normPath = require_normalize_windows_path(); + var SLURP = Symbol("slurp"); + module2.exports = class ReadEntry extends Minipass { + constructor(header, ex, gex) { + super(); + this.pause(); + this.extended = ex; + this.globalExtended = gex; + this.header = header; + this.startBlockSize = 512 * Math.ceil(header.size / 512); + this.blockRemain = this.startBlockSize; + this.remain = header.size; + this.type = header.type; + this.meta = false; + this.ignore = false; + switch (this.type) { + case "File": + case "OldFile": + case "Link": + case "SymbolicLink": + case "CharacterDevice": + case "BlockDevice": + case "Directory": + case "FIFO": + case "ContiguousFile": + case "GNUDumpDir": + break; + case "NextFileHasLongLinkpath": + case "NextFileHasLongPath": + case "OldGnuLongPath": + case "GlobalExtendedHeader": + case "ExtendedHeader": + case "OldExtendedHeader": + this.meta = true; + break; + default: + this.ignore = true; + } + this.path = normPath(header.path); + this.mode = header.mode; + if (this.mode) { + this.mode = this.mode & 4095; + } + this.uid = header.uid; + this.gid = header.gid; + this.uname = header.uname; + this.gname = header.gname; + this.size = header.size; + this.mtime = header.mtime; + this.atime = header.atime; + this.ctime = header.ctime; + this.linkpath = normPath(header.linkpath); + this.uname = header.uname; + this.gname = header.gname; + if (ex) { + this[SLURP](ex); + } + if (gex) { + this[SLURP](gex, true); + } + } + write(data) { + const writeLen = data.length; + if (writeLen > this.blockRemain) { + throw new Error("writing more to entry than is appropriate"); + } + const r = this.remain; + const br = this.blockRemain; + this.remain = Math.max(0, r - writeLen); + this.blockRemain = Math.max(0, br - writeLen); + if (this.ignore) { + return true; + } + if (r >= writeLen) { + return super.write(data); + } + return super.write(data.slice(0, r)); + } + [SLURP](ex, global2) { + for (const k in ex) { + if (ex[k] !== null && ex[k] !== void 0 && !(global2 && k === "path")) { + this[k] = k === "path" || k === "linkpath" ? normPath(ex[k]) : ex[k]; + } + } + } + }; + } +}); + +// .yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/types.js +var require_types = __commonJS({ + ".yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/types.js"(exports) { + "use strict"; + exports.name = /* @__PURE__ */ new Map([ + ["0", "File"], + // same as File + ["", "OldFile"], + ["1", "Link"], + ["2", "SymbolicLink"], + // Devices and FIFOs aren't fully supported + // they are parsed, but skipped when unpacking + ["3", "CharacterDevice"], + ["4", "BlockDevice"], + ["5", "Directory"], + ["6", "FIFO"], + // same as File + ["7", "ContiguousFile"], + // pax headers + ["g", "GlobalExtendedHeader"], + ["x", "ExtendedHeader"], + // vendor-specific stuff + // skip + ["A", "SolarisACL"], + // like 5, but with data, which should be skipped + ["D", "GNUDumpDir"], + // metadata only, skip + ["I", "Inode"], + // data = link path of next file + ["K", "NextFileHasLongLinkpath"], + // data = path of next file + ["L", "NextFileHasLongPath"], + // skip + ["M", "ContinuationFile"], + // like L + ["N", "OldGnuLongPath"], + // skip + ["S", "SparseFile"], + // skip + ["V", "TapeVolumeHeader"], + // like x + ["X", "OldExtendedHeader"] + ]); + exports.code = new Map(Array.from(exports.name).map((kv) => [kv[1], kv[0]])); + } +}); + +// .yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/large-numbers.js +var require_large_numbers = __commonJS({ + ".yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/large-numbers.js"(exports, module2) { + "use strict"; + var encode = (num, buf) => { + if (!Number.isSafeInteger(num)) { + throw Error("cannot encode number outside of javascript safe integer range"); + } else if (num < 0) { + encodeNegative(num, buf); + } else { + encodePositive(num, buf); + } + return buf; + }; + var encodePositive = (num, buf) => { + buf[0] = 128; + for (var i = buf.length; i > 1; i--) { + buf[i - 1] = num & 255; + num = Math.floor(num / 256); + } + }; + var encodeNegative = (num, buf) => { + buf[0] = 255; + var flipped = false; + num = num * -1; + for (var i = buf.length; i > 1; i--) { + var byte = num & 255; + num = Math.floor(num / 256); + if (flipped) { + buf[i - 1] = onesComp(byte); + } else if (byte === 0) { + buf[i - 1] = 0; + } else { + flipped = true; + buf[i - 1] = twosComp(byte); + } + } + }; + var parse = (buf) => { + const pre = buf[0]; + const value = pre === 128 ? pos(buf.slice(1, buf.length)) : pre === 255 ? twos(buf) : null; + if (value === null) { + throw Error("invalid base256 encoding"); + } + if (!Number.isSafeInteger(value)) { + throw Error("parsed number outside of javascript safe integer range"); + } + return value; + }; + var twos = (buf) => { + var len = buf.length; + var sum = 0; + var flipped = false; + for (var i = len - 1; i > -1; i--) { + var byte = buf[i]; + var f; + if (flipped) { + f = onesComp(byte); + } else if (byte === 0) { + f = byte; + } else { + flipped = true; + f = twosComp(byte); + } + if (f !== 0) { + sum -= f * Math.pow(256, len - i - 1); + } + } + return sum; + }; + var pos = (buf) => { + var len = buf.length; + var sum = 0; + for (var i = len - 1; i > -1; i--) { + var byte = buf[i]; + if (byte !== 0) { + sum += byte * Math.pow(256, len - i - 1); + } + } + return sum; + }; + var onesComp = (byte) => (255 ^ byte) & 255; + var twosComp = (byte) => (255 ^ byte) + 1 & 255; + module2.exports = { + encode, + parse + }; + } +}); + +// .yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/header.js +var require_header = __commonJS({ + ".yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/header.js"(exports, module2) { + "use strict"; + var types = require_types(); + var pathModule = require("path").posix; + var large = require_large_numbers(); + var SLURP = Symbol("slurp"); + var TYPE = Symbol("type"); + var Header = class { + constructor(data, off, ex, gex) { + this.cksumValid = false; + this.needPax = false; + this.nullBlock = false; + this.block = null; + this.path = null; + this.mode = null; + this.uid = null; + this.gid = null; + this.size = null; + this.mtime = null; + this.cksum = null; + this[TYPE] = "0"; + this.linkpath = null; + this.uname = null; + this.gname = null; + this.devmaj = 0; + this.devmin = 0; + this.atime = null; + this.ctime = null; + if (Buffer.isBuffer(data)) { + this.decode(data, off || 0, ex, gex); + } else if (data) { + this.set(data); + } + } + decode(buf, off, ex, gex) { + if (!off) { + off = 0; + } + if (!buf || !(buf.length >= off + 512)) { + throw new Error("need 512 bytes for header"); + } + this.path = decString(buf, off, 100); + this.mode = decNumber(buf, off + 100, 8); + this.uid = decNumber(buf, off + 108, 8); + this.gid = decNumber(buf, off + 116, 8); + this.size = decNumber(buf, off + 124, 12); + this.mtime = decDate(buf, off + 136, 12); + this.cksum = decNumber(buf, off + 148, 12); + this[SLURP](ex); + this[SLURP](gex, true); + this[TYPE] = decString(buf, off + 156, 1); + if (this[TYPE] === "") { + this[TYPE] = "0"; + } + if (this[TYPE] === "0" && this.path.slice(-1) === "/") { + this[TYPE] = "5"; + } + if (this[TYPE] === "5") { + this.size = 0; + } + this.linkpath = decString(buf, off + 157, 100); + if (buf.slice(off + 257, off + 265).toString() === "ustar\x0000") { + this.uname = decString(buf, off + 265, 32); + this.gname = decString(buf, off + 297, 32); + this.devmaj = decNumber(buf, off + 329, 8); + this.devmin = decNumber(buf, off + 337, 8); + if (buf[off + 475] !== 0) { + const prefix = decString(buf, off + 345, 155); + this.path = prefix + "/" + this.path; + } else { + const prefix = decString(buf, off + 345, 130); + if (prefix) { + this.path = prefix + "/" + this.path; + } + this.atime = decDate(buf, off + 476, 12); + this.ctime = decDate(buf, off + 488, 12); + } + } + let sum = 8 * 32; + for (let i = off; i < off + 148; i++) { + sum += buf[i]; + } + for (let i = off + 156; i < off + 512; i++) { + sum += buf[i]; + } + this.cksumValid = sum === this.cksum; + if (this.cksum === null && sum === 8 * 32) { + this.nullBlock = true; + } + } + [SLURP](ex, global2) { + for (const k in ex) { + if (ex[k] !== null && ex[k] !== void 0 && !(global2 && k === "path")) { + this[k] = ex[k]; + } + } + } + encode(buf, off) { + if (!buf) { + buf = this.block = Buffer.alloc(512); + off = 0; + } + if (!off) { + off = 0; + } + if (!(buf.length >= off + 512)) { + throw new Error("need 512 bytes for header"); + } + const prefixSize = this.ctime || this.atime ? 130 : 155; + const split = splitPrefix(this.path || "", prefixSize); + const path10 = split[0]; + const prefix = split[1]; + this.needPax = split[2]; + this.needPax = encString(buf, off, 100, path10) || this.needPax; + this.needPax = encNumber(buf, off + 100, 8, this.mode) || this.needPax; + this.needPax = encNumber(buf, off + 108, 8, this.uid) || this.needPax; + this.needPax = encNumber(buf, off + 116, 8, this.gid) || this.needPax; + this.needPax = encNumber(buf, off + 124, 12, this.size) || this.needPax; + this.needPax = encDate(buf, off + 136, 12, this.mtime) || this.needPax; + buf[off + 156] = this[TYPE].charCodeAt(0); + this.needPax = encString(buf, off + 157, 100, this.linkpath) || this.needPax; + buf.write("ustar\x0000", off + 257, 8); + this.needPax = encString(buf, off + 265, 32, this.uname) || this.needPax; + this.needPax = encString(buf, off + 297, 32, this.gname) || this.needPax; + this.needPax = encNumber(buf, off + 329, 8, this.devmaj) || this.needPax; + this.needPax = encNumber(buf, off + 337, 8, this.devmin) || this.needPax; + this.needPax = encString(buf, off + 345, prefixSize, prefix) || this.needPax; + if (buf[off + 475] !== 0) { + this.needPax = encString(buf, off + 345, 155, prefix) || this.needPax; + } else { + this.needPax = encString(buf, off + 345, 130, prefix) || this.needPax; + this.needPax = encDate(buf, off + 476, 12, this.atime) || this.needPax; + this.needPax = encDate(buf, off + 488, 12, this.ctime) || this.needPax; + } + let sum = 8 * 32; + for (let i = off; i < off + 148; i++) { + sum += buf[i]; + } + for (let i = off + 156; i < off + 512; i++) { + sum += buf[i]; + } + this.cksum = sum; + encNumber(buf, off + 148, 8, this.cksum); + this.cksumValid = true; + return this.needPax; + } + set(data) { + for (const i in data) { + if (data[i] !== null && data[i] !== void 0) { + this[i] = data[i]; + } + } } - }; - var InflateRaw = class extends Zlib { - constructor(opts) { - super(opts, "InflateRaw"); + get type() { + return types.name.get(this[TYPE]) || this[TYPE]; } - }; - var Unzip = class extends Zlib { - constructor(opts) { - super(opts, "Unzip"); + get typeKey() { + return this[TYPE]; } - }; - var Brotli = class extends ZlibBase { - constructor(opts, mode) { - opts = opts || {}; - opts.flush = opts.flush || constants.BROTLI_OPERATION_PROCESS; - opts.finishFlush = opts.finishFlush || constants.BROTLI_OPERATION_FINISH; - super(opts, mode); - this[_fullFlushFlag] = constants.BROTLI_OPERATION_FLUSH; + set type(type) { + if (types.code.has(type)) { + this[TYPE] = types.code.get(type); + } else { + this[TYPE] = type; + } } }; - var BrotliCompress = class extends Brotli { - constructor(opts) { - super(opts, "BrotliCompress"); + var splitPrefix = (p, prefixSize) => { + const pathSize = 100; + let pp = p; + let prefix = ""; + let ret; + const root = pathModule.parse(p).root || "."; + if (Buffer.byteLength(pp) < pathSize) { + ret = [pp, prefix, false]; + } else { + prefix = pathModule.dirname(pp); + pp = pathModule.basename(pp); + do { + if (Buffer.byteLength(pp) <= pathSize && Buffer.byteLength(prefix) <= prefixSize) { + ret = [pp, prefix, false]; + } else if (Buffer.byteLength(pp) > pathSize && Buffer.byteLength(prefix) <= prefixSize) { + ret = [pp.slice(0, pathSize - 1), prefix, true]; + } else { + pp = pathModule.join(pathModule.basename(prefix), pp); + prefix = pathModule.dirname(prefix); + } + } while (prefix !== root && !ret); + if (!ret) { + ret = [p.slice(0, pathSize - 1), "", true]; + } } + return ret; }; - var BrotliDecompress = class extends Brotli { - constructor(opts) { - super(opts, "BrotliDecompress"); - } + var decString = (buf, off, size) => buf.slice(off, off + size).toString("utf8").replace(/\0.*/, ""); + var decDate = (buf, off, size) => numToDate(decNumber(buf, off, size)); + var numToDate = (num) => num === null ? null : new Date(num * 1e3); + var decNumber = (buf, off, size) => buf[off] & 128 ? large.parse(buf.slice(off, off + size)) : decSmallNumber(buf, off, size); + var nanNull = (value) => isNaN(value) ? null : value; + var decSmallNumber = (buf, off, size) => nanNull(parseInt( + buf.slice(off, off + size).toString("utf8").replace(/\0.*$/, "").trim(), + 8 + )); + var MAXNUM = { + 12: 8589934591, + 8: 2097151 }; - exports.Deflate = Deflate; - exports.Inflate = Inflate; - exports.Gzip = Gzip; - exports.Gunzip = Gunzip; - exports.DeflateRaw = DeflateRaw; - exports.InflateRaw = InflateRaw; - exports.Unzip = Unzip; - if (typeof realZlib.BrotliCompress === "function") { - exports.BrotliCompress = BrotliCompress; - exports.BrotliDecompress = BrotliDecompress; - } else { - exports.BrotliCompress = exports.BrotliDecompress = class { - constructor() { - throw new Error("Brotli is not supported in this version of Node.js"); - } - }; - } - } -}); - -// .yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/normalize-windows-path.js -var require_normalize_windows_path = __commonJS({ - ".yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/normalize-windows-path.js"(exports, module2) { - var platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform; - module2.exports = platform !== "win32" ? (p) => p : (p) => p && p.replace(/\\/g, "/"); + var encNumber = (buf, off, size, number) => number === null ? false : number > MAXNUM[size] || number < 0 ? (large.encode(number, buf.slice(off, off + size)), true) : (encSmallNumber(buf, off, size, number), false); + var encSmallNumber = (buf, off, size, number) => buf.write(octalString(number, size), off, size, "ascii"); + var octalString = (number, size) => padOctal(Math.floor(number).toString(8), size); + var padOctal = (string, size) => (string.length === size - 1 ? string : new Array(size - string.length - 1).join("0") + string + " ") + "\0"; + var encDate = (buf, off, size, date) => date === null ? false : encNumber(buf, off, size, date.getTime() / 1e3); + var NULLS = new Array(156).join("\0"); + var encString = (buf, off, size, string) => string === null ? false : (buf.write(string + NULLS, off, size, "utf8"), string.length !== Buffer.byteLength(string) || string.length > size); + module2.exports = Header; } }); -// .yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/read-entry.js -var require_read_entry = __commonJS({ - ".yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/read-entry.js"(exports, module2) { +// .yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/pax.js +var require_pax = __commonJS({ + ".yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/pax.js"(exports, module2) { "use strict"; - var { Minipass } = require_minipass(); - var normPath = require_normalize_windows_path(); - var SLURP = Symbol("slurp"); - module2.exports = class ReadEntry extends Minipass { - constructor(header, ex, gex) { - super(); - this.pause(); - this.extended = ex; - this.globalExtended = gex; - this.header = header; - this.startBlockSize = 512 * Math.ceil(header.size / 512); - this.blockRemain = this.startBlockSize; - this.remain = header.size; - this.type = header.type; - this.meta = false; - this.ignore = false; - switch (this.type) { - case "File": - case "OldFile": - case "Link": - case "SymbolicLink": - case "CharacterDevice": - case "BlockDevice": - case "Directory": - case "FIFO": - case "ContiguousFile": - case "GNUDumpDir": - break; - case "NextFileHasLongLinkpath": - case "NextFileHasLongPath": - case "OldGnuLongPath": - case "GlobalExtendedHeader": - case "ExtendedHeader": - case "OldExtendedHeader": - this.meta = true; - break; - default: - this.ignore = true; - } - this.path = normPath(header.path); - this.mode = header.mode; - if (this.mode) { - this.mode = this.mode & 4095; - } - this.uid = header.uid; - this.gid = header.gid; - this.uname = header.uname; - this.gname = header.gname; - this.size = header.size; - this.mtime = header.mtime; - this.atime = header.atime; - this.ctime = header.ctime; - this.linkpath = normPath(header.linkpath); - this.uname = header.uname; - this.gname = header.gname; - if (ex) { - this[SLURP](ex); - } - if (gex) { - this[SLURP](gex, true); - } + var Header = require_header(); + var path10 = require("path"); + var Pax = class { + constructor(obj, global2) { + this.atime = obj.atime || null; + this.charset = obj.charset || null; + this.comment = obj.comment || null; + this.ctime = obj.ctime || null; + this.gid = obj.gid || null; + this.gname = obj.gname || null; + this.linkpath = obj.linkpath || null; + this.mtime = obj.mtime || null; + this.path = obj.path || null; + this.size = obj.size || null; + this.uid = obj.uid || null; + this.uname = obj.uname || null; + this.dev = obj.dev || null; + this.ino = obj.ino || null; + this.nlink = obj.nlink || null; + this.global = global2 || false; } - write(data) { - const writeLen = data.length; - if (writeLen > this.blockRemain) { - throw new Error("writing more to entry than is appropriate"); + encode() { + const body = this.encodeBody(); + if (body === "") { + return null; } - const r = this.remain; - const br = this.blockRemain; - this.remain = Math.max(0, r - writeLen); - this.blockRemain = Math.max(0, br - writeLen); - if (this.ignore) { - return true; + const bodyLen = Buffer.byteLength(body); + const bufLen = 512 * Math.ceil(1 + bodyLen / 512); + const buf = Buffer.allocUnsafe(bufLen); + for (let i = 0; i < 512; i++) { + buf[i] = 0; } - if (r >= writeLen) { - return super.write(data); + new Header({ + // XXX split the path + // then the path should be PaxHeader + basename, but less than 99, + // prepend with the dirname + path: ("PaxHeader/" + path10.basename(this.path)).slice(0, 99), + mode: this.mode || 420, + uid: this.uid || null, + gid: this.gid || null, + size: bodyLen, + mtime: this.mtime || null, + type: this.global ? "GlobalExtendedHeader" : "ExtendedHeader", + linkpath: "", + uname: this.uname || "", + gname: this.gname || "", + devmaj: 0, + devmin: 0, + atime: this.atime || null, + ctime: this.ctime || null + }).encode(buf); + buf.write(body, 512, bodyLen, "utf8"); + for (let i = bodyLen + 512; i < buf.length; i++) { + buf[i] = 0; } - return super.write(data.slice(0, r)); + return buf; } - [SLURP](ex, global2) { - for (const k in ex) { - if (ex[k] !== null && ex[k] !== void 0 && !(global2 && k === "path")) { - this[k] = k === "path" || k === "linkpath" ? normPath(ex[k]) : ex[k]; - } + encodeBody() { + return this.encodeField("path") + this.encodeField("ctime") + this.encodeField("atime") + this.encodeField("dev") + this.encodeField("ino") + this.encodeField("nlink") + this.encodeField("charset") + this.encodeField("comment") + this.encodeField("gid") + this.encodeField("gname") + this.encodeField("linkpath") + this.encodeField("mtime") + this.encodeField("size") + this.encodeField("uid") + this.encodeField("uname"); + } + encodeField(field) { + if (this[field] === null || this[field] === void 0) { + return ""; + } + const v = this[field] instanceof Date ? this[field].getTime() / 1e3 : this[field]; + const s = " " + (field === "dev" || field === "ino" || field === "nlink" ? "SCHILY." : "") + field + "=" + v + "\n"; + const byteLen = Buffer.byteLength(s); + let digits = Math.floor(Math.log(byteLen) / Math.log(10)) + 1; + if (byteLen + digits >= Math.pow(10, digits)) { + digits += 1; } + const len = digits + byteLen; + return len + s; + } + }; + Pax.parse = (string, ex, g) => new Pax(merge(parseKV(string), ex), g); + var merge = (a, b) => b ? Object.keys(a).reduce((s, k) => (s[k] = a[k], s), b) : a; + var parseKV = (string) => string.replace(/\n$/, "").split("\n").reduce(parseKVLine, /* @__PURE__ */ Object.create(null)); + var parseKVLine = (set, line) => { + const n = parseInt(line, 10); + if (n !== Buffer.byteLength(line) + 1) { + return set; + } + line = line.slice((n + " ").length); + const kv = line.split("="); + const k = kv.shift().replace(/^SCHILY\.(dev|ino|nlink)/, "$1"); + if (!k) { + return set; } + const v = kv.join("="); + set[k] = /^([A-Z]+\.)?([mac]|birth|creation)time$/.test(k) ? new Date(v * 1e3) : /^[0-9]+$/.test(v) ? +v : v; + return set; }; + module2.exports = Pax; } }); -// .yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/types.js -var require_types = __commonJS({ - ".yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/types.js"(exports) { - "use strict"; - exports.name = /* @__PURE__ */ new Map([ - ["0", "File"], - // same as File - ["", "OldFile"], - ["1", "Link"], - ["2", "SymbolicLink"], - // Devices and FIFOs aren't fully supported - // they are parsed, but skipped when unpacking - ["3", "CharacterDevice"], - ["4", "BlockDevice"], - ["5", "Directory"], - ["6", "FIFO"], - // same as File - ["7", "ContiguousFile"], - // pax headers - ["g", "GlobalExtendedHeader"], - ["x", "ExtendedHeader"], - // vendor-specific stuff - // skip - ["A", "SolarisACL"], - // like 5, but with data, which should be skipped - ["D", "GNUDumpDir"], - // metadata only, skip - ["I", "Inode"], - // data = link path of next file - ["K", "NextFileHasLongLinkpath"], - // data = path of next file - ["L", "NextFileHasLongPath"], - // skip - ["M", "ContinuationFile"], - // like L - ["N", "OldGnuLongPath"], - // skip - ["S", "SparseFile"], - // skip - ["V", "TapeVolumeHeader"], - // like x - ["X", "OldExtendedHeader"] - ]); - exports.code = new Map(Array.from(exports.name).map((kv) => [kv[1], kv[0]])); +// .yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/strip-trailing-slashes.js +var require_strip_trailing_slashes = __commonJS({ + ".yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/strip-trailing-slashes.js"(exports, module2) { + module2.exports = (str) => { + let i = str.length - 1; + let slashesStart = -1; + while (i > -1 && str.charAt(i) === "/") { + slashesStart = i; + i--; + } + return slashesStart === -1 ? str : str.slice(0, slashesStart); + }; } }); -// .yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/large-numbers.js -var require_large_numbers = __commonJS({ - ".yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/large-numbers.js"(exports, module2) { +// .yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/warn-mixin.js +var require_warn_mixin = __commonJS({ + ".yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/warn-mixin.js"(exports, module2) { "use strict"; - var encode = (num, buf) => { - if (!Number.isSafeInteger(num)) { - throw Error("cannot encode number outside of javascript safe integer range"); - } else if (num < 0) { - encodeNegative(num, buf); - } else { - encodePositive(num, buf); - } - return buf; - }; - var encodePositive = (num, buf) => { - buf[0] = 128; - for (var i = buf.length; i > 1; i--) { - buf[i - 1] = num & 255; - num = Math.floor(num / 256); - } - }; - var encodeNegative = (num, buf) => { - buf[0] = 255; - var flipped = false; - num = num * -1; - for (var i = buf.length; i > 1; i--) { - var byte = num & 255; - num = Math.floor(num / 256); - if (flipped) { - buf[i - 1] = onesComp(byte); - } else if (byte === 0) { - buf[i - 1] = 0; + module2.exports = (Base) => class extends Base { + warn(code, message, data = {}) { + if (this.file) { + data.file = this.file; + } + if (this.cwd) { + data.cwd = this.cwd; + } + data.code = message instanceof Error && message.code || code; + data.tarCode = code; + if (!this.strict && data.recoverable !== false) { + if (message instanceof Error) { + data = Object.assign(message, data); + message = message.message; + } + this.emit("warn", data.tarCode, message, data); + } else if (message instanceof Error) { + this.emit("error", Object.assign(message, data)); } else { - flipped = true; - buf[i - 1] = twosComp(byte); + this.emit("error", Object.assign(new Error(`${code}: ${message}`), data)); } } }; - var parse = (buf) => { - const pre = buf[0]; - const value = pre === 128 ? pos(buf.slice(1, buf.length)) : pre === 255 ? twos(buf) : null; - if (value === null) { - throw Error("invalid base256 encoding"); - } - if (!Number.isSafeInteger(value)) { - throw Error("parsed number outside of javascript safe integer range"); - } - return value; + } +}); + +// .yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/winchars.js +var require_winchars = __commonJS({ + ".yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/winchars.js"(exports, module2) { + "use strict"; + var raw = [ + "|", + "<", + ">", + "?", + ":" + ]; + var win = raw.map((char) => String.fromCharCode(61440 + char.charCodeAt(0))); + var toWin = new Map(raw.map((char, i) => [char, win[i]])); + var toRaw = new Map(win.map((char, i) => [char, raw[i]])); + module2.exports = { + encode: (s) => raw.reduce((s2, c) => s2.split(c).join(toWin.get(c)), s), + decode: (s) => win.reduce((s2, c) => s2.split(c).join(toRaw.get(c)), s) }; - var twos = (buf) => { - var len = buf.length; - var sum = 0; - var flipped = false; - for (var i = len - 1; i > -1; i--) { - var byte = buf[i]; - var f; - if (flipped) { - f = onesComp(byte); - } else if (byte === 0) { - f = byte; - } else { - flipped = true; - f = twosComp(byte); - } - if (f !== 0) { - sum -= f * Math.pow(256, len - i - 1); - } + } +}); + +// .yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/strip-absolute-path.js +var require_strip_absolute_path = __commonJS({ + ".yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/strip-absolute-path.js"(exports, module2) { + var { isAbsolute, parse } = require("path").win32; + module2.exports = (path10) => { + let r = ""; + let parsed = parse(path10); + while (isAbsolute(path10) || parsed.root) { + const root = path10.charAt(0) === "/" && path10.slice(0, 4) !== "//?/" ? "/" : parsed.root; + path10 = path10.slice(root.length); + r += root; + parsed = parse(path10); } - return sum; + return [r, path10]; }; - var pos = (buf) => { - var len = buf.length; - var sum = 0; - for (var i = len - 1; i > -1; i--) { - var byte = buf[i]; - if (byte !== 0) { - sum += byte * Math.pow(256, len - i - 1); - } + } +}); + +// .yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/mode-fix.js +var require_mode_fix = __commonJS({ + ".yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/mode-fix.js"(exports, module2) { + "use strict"; + module2.exports = (mode, isDir, portable) => { + mode &= 4095; + if (portable) { + mode = (mode | 384) & ~18; } - return sum; - }; - var onesComp = (byte) => (255 ^ byte) & 255; - var twosComp = (byte) => (255 ^ byte) + 1 & 255; - module2.exports = { - encode, - parse + if (isDir) { + if (mode & 256) { + mode |= 64; + } + if (mode & 32) { + mode |= 8; + } + if (mode & 4) { + mode |= 1; + } + } + return mode; }; } }); -// .yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/header.js -var require_header = __commonJS({ - ".yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/header.js"(exports, module2) { +// .yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/write-entry.js +var require_write_entry = __commonJS({ + ".yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/write-entry.js"(exports, module2) { "use strict"; - var types = require_types(); - var pathModule = require("path").posix; - var large = require_large_numbers(); - var SLURP = Symbol("slurp"); - var TYPE = Symbol("type"); - var Header = class { - constructor(data, off, ex, gex) { - this.cksumValid = false; - this.needPax = false; - this.nullBlock = false; - this.block = null; - this.path = null; - this.mode = null; - this.uid = null; - this.gid = null; - this.size = null; - this.mtime = null; - this.cksum = null; - this[TYPE] = "0"; - this.linkpath = null; - this.uname = null; - this.gname = null; - this.devmaj = 0; - this.devmin = 0; - this.atime = null; - this.ctime = null; - if (Buffer.isBuffer(data)) { - this.decode(data, off || 0, ex, gex); - } else if (data) { - this.set(data); - } + var { Minipass } = require_minipass(); + var Pax = require_pax(); + var Header = require_header(); + var fs8 = require("fs"); + var path10 = require("path"); + var normPath = require_normalize_windows_path(); + var stripSlash = require_strip_trailing_slashes(); + var prefixPath = (path11, prefix) => { + if (!prefix) { + return normPath(path11); } - decode(buf, off, ex, gex) { - if (!off) { - off = 0; - } - if (!buf || !(buf.length >= off + 512)) { - throw new Error("need 512 bytes for header"); + path11 = normPath(path11).replace(/^\.(\/|$)/, ""); + return stripSlash(prefix) + "/" + path11; + }; + var maxReadSize = 16 * 1024 * 1024; + var PROCESS = Symbol("process"); + var FILE = Symbol("file"); + var DIRECTORY = Symbol("directory"); + var SYMLINK = Symbol("symlink"); + var HARDLINK = Symbol("hardlink"); + var HEADER = Symbol("header"); + var READ = Symbol("read"); + var LSTAT = Symbol("lstat"); + var ONLSTAT = Symbol("onlstat"); + var ONREAD = Symbol("onread"); + var ONREADLINK = Symbol("onreadlink"); + var OPENFILE = Symbol("openfile"); + var ONOPENFILE = Symbol("onopenfile"); + var CLOSE = Symbol("close"); + var MODE = Symbol("mode"); + var AWAITDRAIN = Symbol("awaitDrain"); + var ONDRAIN = Symbol("ondrain"); + var PREFIX = Symbol("prefix"); + var HAD_ERROR = Symbol("hadError"); + var warner = require_warn_mixin(); + var winchars = require_winchars(); + var stripAbsolutePath = require_strip_absolute_path(); + var modeFix = require_mode_fix(); + var WriteEntry = warner(class WriteEntry extends Minipass { + constructor(p, opt) { + opt = opt || {}; + super(opt); + if (typeof p !== "string") { + throw new TypeError("path is required"); } - this.path = decString(buf, off, 100); - this.mode = decNumber(buf, off + 100, 8); - this.uid = decNumber(buf, off + 108, 8); - this.gid = decNumber(buf, off + 116, 8); - this.size = decNumber(buf, off + 124, 12); - this.mtime = decDate(buf, off + 136, 12); - this.cksum = decNumber(buf, off + 148, 12); - this[SLURP](ex); - this[SLURP](gex, true); - this[TYPE] = decString(buf, off + 156, 1); - if (this[TYPE] === "") { - this[TYPE] = "0"; + this.path = normPath(p); + this.portable = !!opt.portable; + this.myuid = process.getuid && process.getuid() || 0; + this.myuser = process.env.USER || ""; + this.maxReadSize = opt.maxReadSize || maxReadSize; + this.linkCache = opt.linkCache || /* @__PURE__ */ new Map(); + this.statCache = opt.statCache || /* @__PURE__ */ new Map(); + this.preservePaths = !!opt.preservePaths; + this.cwd = normPath(opt.cwd || process.cwd()); + this.strict = !!opt.strict; + this.noPax = !!opt.noPax; + this.noMtime = !!opt.noMtime; + this.mtime = opt.mtime || null; + this.prefix = opt.prefix ? normPath(opt.prefix) : null; + this.fd = null; + this.blockLen = null; + this.blockRemain = null; + this.buf = null; + this.offset = null; + this.length = null; + this.pos = null; + this.remain = null; + if (typeof opt.onwarn === "function") { + this.on("warn", opt.onwarn); } - if (this[TYPE] === "0" && this.path.slice(-1) === "/") { - this[TYPE] = "5"; + let pathWarn = false; + if (!this.preservePaths) { + const [root, stripped] = stripAbsolutePath(this.path); + if (root) { + this.path = stripped; + pathWarn = root; + } } - if (this[TYPE] === "5") { - this.size = 0; + this.win32 = !!opt.win32 || process.platform === "win32"; + if (this.win32) { + this.path = winchars.decode(this.path.replace(/\\/g, "/")); + p = p.replace(/\\/g, "/"); } - this.linkpath = decString(buf, off + 157, 100); - if (buf.slice(off + 257, off + 265).toString() === "ustar\x0000") { - this.uname = decString(buf, off + 265, 32); - this.gname = decString(buf, off + 297, 32); - this.devmaj = decNumber(buf, off + 329, 8); - this.devmin = decNumber(buf, off + 337, 8); - if (buf[off + 475] !== 0) { - const prefix = decString(buf, off + 345, 155); - this.path = prefix + "/" + this.path; - } else { - const prefix = decString(buf, off + 345, 130); - if (prefix) { - this.path = prefix + "/" + this.path; - } - this.atime = decDate(buf, off + 476, 12); - this.ctime = decDate(buf, off + 488, 12); - } + this.absolute = normPath(opt.absolute || path10.resolve(this.cwd, p)); + if (this.path === "") { + this.path = "./"; } - let sum = 8 * 32; - for (let i = off; i < off + 148; i++) { - sum += buf[i]; + if (pathWarn) { + this.warn("TAR_ENTRY_INFO", `stripping ${pathWarn} from absolute path`, { + entry: this, + path: pathWarn + this.path + }); } - for (let i = off + 156; i < off + 512; i++) { - sum += buf[i]; + if (this.statCache.has(this.absolute)) { + this[ONLSTAT](this.statCache.get(this.absolute)); + } else { + this[LSTAT](); } - this.cksumValid = sum === this.cksum; - if (this.cksum === null && sum === 8 * 32) { - this.nullBlock = true; + } + emit(ev, ...data) { + if (ev === "error") { + this[HAD_ERROR] = true; } + return super.emit(ev, ...data); } - [SLURP](ex, global2) { - for (const k in ex) { - if (ex[k] !== null && ex[k] !== void 0 && !(global2 && k === "path")) { - this[k] = ex[k]; + [LSTAT]() { + fs8.lstat(this.absolute, (er, stat) => { + if (er) { + return this.emit("error", er); } - } + this[ONLSTAT](stat); + }); } - encode(buf, off) { - if (!buf) { - buf = this.block = Buffer.alloc(512); - off = 0; - } - if (!off) { - off = 0; - } - if (!(buf.length >= off + 512)) { - throw new Error("need 512 bytes for header"); - } - const prefixSize = this.ctime || this.atime ? 130 : 155; - const split = splitPrefix(this.path || "", prefixSize); - const path10 = split[0]; - const prefix = split[1]; - this.needPax = split[2]; - this.needPax = encString(buf, off, 100, path10) || this.needPax; - this.needPax = encNumber(buf, off + 100, 8, this.mode) || this.needPax; - this.needPax = encNumber(buf, off + 108, 8, this.uid) || this.needPax; - this.needPax = encNumber(buf, off + 116, 8, this.gid) || this.needPax; - this.needPax = encNumber(buf, off + 124, 12, this.size) || this.needPax; - this.needPax = encDate(buf, off + 136, 12, this.mtime) || this.needPax; - buf[off + 156] = this[TYPE].charCodeAt(0); - this.needPax = encString(buf, off + 157, 100, this.linkpath) || this.needPax; - buf.write("ustar\x0000", off + 257, 8); - this.needPax = encString(buf, off + 265, 32, this.uname) || this.needPax; - this.needPax = encString(buf, off + 297, 32, this.gname) || this.needPax; - this.needPax = encNumber(buf, off + 329, 8, this.devmaj) || this.needPax; - this.needPax = encNumber(buf, off + 337, 8, this.devmin) || this.needPax; - this.needPax = encString(buf, off + 345, prefixSize, prefix) || this.needPax; - if (buf[off + 475] !== 0) { - this.needPax = encString(buf, off + 345, 155, prefix) || this.needPax; - } else { - this.needPax = encString(buf, off + 345, 130, prefix) || this.needPax; - this.needPax = encDate(buf, off + 476, 12, this.atime) || this.needPax; - this.needPax = encDate(buf, off + 488, 12, this.ctime) || this.needPax; - } - let sum = 8 * 32; - for (let i = off; i < off + 148; i++) { - sum += buf[i]; - } - for (let i = off + 156; i < off + 512; i++) { - sum += buf[i]; + [ONLSTAT](stat) { + this.statCache.set(this.absolute, stat); + this.stat = stat; + if (!stat.isFile()) { + stat.size = 0; } - this.cksum = sum; - encNumber(buf, off + 148, 8, this.cksum); - this.cksumValid = true; - return this.needPax; + this.type = getType(stat); + this.emit("stat", stat); + this[PROCESS](); } - set(data) { - for (const i in data) { - if (data[i] !== null && data[i] !== void 0) { - this[i] = data[i]; - } + [PROCESS]() { + switch (this.type) { + case "File": + return this[FILE](); + case "Directory": + return this[DIRECTORY](); + case "SymbolicLink": + return this[SYMLINK](); + default: + return this.end(); } } - get type() { - return types.name.get(this[TYPE]) || this[TYPE]; + [MODE](mode) { + return modeFix(mode, this.type === "Directory", this.portable); } - get typeKey() { - return this[TYPE]; + [PREFIX](path11) { + return prefixPath(path11, this.prefix); } - set type(type) { - if (types.code.has(type)) { - this[TYPE] = types.code.get(type); - } else { - this[TYPE] = type; + [HEADER]() { + if (this.type === "Directory" && this.portable) { + this.noMtime = true; + } + this.header = new Header({ + path: this[PREFIX](this.path), + // only apply the prefix to hard links. + linkpath: this.type === "Link" ? this[PREFIX](this.linkpath) : this.linkpath, + // only the permissions and setuid/setgid/sticky bitflags + // not the higher-order bits that specify file type + mode: this[MODE](this.stat.mode), + uid: this.portable ? null : this.stat.uid, + gid: this.portable ? null : this.stat.gid, + size: this.stat.size, + mtime: this.noMtime ? null : this.mtime || this.stat.mtime, + type: this.type, + uname: this.portable ? null : this.stat.uid === this.myuid ? this.myuser : "", + atime: this.portable ? null : this.stat.atime, + ctime: this.portable ? null : this.stat.ctime + }); + if (this.header.encode() && !this.noPax) { + super.write(new Pax({ + atime: this.portable ? null : this.header.atime, + ctime: this.portable ? null : this.header.ctime, + gid: this.portable ? null : this.header.gid, + mtime: this.noMtime ? null : this.mtime || this.header.mtime, + path: this[PREFIX](this.path), + linkpath: this.type === "Link" ? this[PREFIX](this.linkpath) : this.linkpath, + size: this.header.size, + uid: this.portable ? null : this.header.uid, + uname: this.portable ? null : this.header.uname, + dev: this.portable ? null : this.stat.dev, + ino: this.portable ? null : this.stat.ino, + nlink: this.portable ? null : this.stat.nlink + }).encode()); } + super.write(this.header.block); } - }; - var splitPrefix = (p, prefixSize) => { - const pathSize = 100; - let pp = p; - let prefix = ""; - let ret; - const root = pathModule.parse(p).root || "."; - if (Buffer.byteLength(pp) < pathSize) { - ret = [pp, prefix, false]; - } else { - prefix = pathModule.dirname(pp); - pp = pathModule.basename(pp); - do { - if (Buffer.byteLength(pp) <= pathSize && Buffer.byteLength(prefix) <= prefixSize) { - ret = [pp, prefix, false]; - } else if (Buffer.byteLength(pp) > pathSize && Buffer.byteLength(prefix) <= prefixSize) { - ret = [pp.slice(0, pathSize - 1), prefix, true]; - } else { - pp = pathModule.join(pathModule.basename(prefix), pp); - prefix = pathModule.dirname(prefix); - } - } while (prefix !== root && !ret); - if (!ret) { - ret = [p.slice(0, pathSize - 1), "", true]; + [DIRECTORY]() { + if (this.path.slice(-1) !== "/") { + this.path += "/"; } + this.stat.size = 0; + this[HEADER](); + this.end(); } - return ret; - }; - var decString = (buf, off, size) => buf.slice(off, off + size).toString("utf8").replace(/\0.*/, ""); - var decDate = (buf, off, size) => numToDate(decNumber(buf, off, size)); - var numToDate = (num) => num === null ? null : new Date(num * 1e3); - var decNumber = (buf, off, size) => buf[off] & 128 ? large.parse(buf.slice(off, off + size)) : decSmallNumber(buf, off, size); - var nanNull = (value) => isNaN(value) ? null : value; - var decSmallNumber = (buf, off, size) => nanNull(parseInt( - buf.slice(off, off + size).toString("utf8").replace(/\0.*$/, "").trim(), - 8 - )); - var MAXNUM = { - 12: 8589934591, - 8: 2097151 - }; - var encNumber = (buf, off, size, number) => number === null ? false : number > MAXNUM[size] || number < 0 ? (large.encode(number, buf.slice(off, off + size)), true) : (encSmallNumber(buf, off, size, number), false); - var encSmallNumber = (buf, off, size, number) => buf.write(octalString(number, size), off, size, "ascii"); - var octalString = (number, size) => padOctal(Math.floor(number).toString(8), size); - var padOctal = (string, size) => (string.length === size - 1 ? string : new Array(size - string.length - 1).join("0") + string + " ") + "\0"; - var encDate = (buf, off, size, date) => date === null ? false : encNumber(buf, off, size, date.getTime() / 1e3); - var NULLS = new Array(156).join("\0"); - var encString = (buf, off, size, string) => string === null ? false : (buf.write(string + NULLS, off, size, "utf8"), string.length !== Buffer.byteLength(string) || string.length > size); - module2.exports = Header; - } -}); - -// .yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/pax.js -var require_pax = __commonJS({ - ".yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/pax.js"(exports, module2) { - "use strict"; - var Header = require_header(); - var path10 = require("path"); - var Pax = class { - constructor(obj, global2) { - this.atime = obj.atime || null; - this.charset = obj.charset || null; - this.comment = obj.comment || null; - this.ctime = obj.ctime || null; - this.gid = obj.gid || null; - this.gname = obj.gname || null; - this.linkpath = obj.linkpath || null; - this.mtime = obj.mtime || null; - this.path = obj.path || null; - this.size = obj.size || null; - this.uid = obj.uid || null; - this.uname = obj.uname || null; - this.dev = obj.dev || null; - this.ino = obj.ino || null; - this.nlink = obj.nlink || null; - this.global = global2 || false; + [SYMLINK]() { + fs8.readlink(this.absolute, (er, linkpath) => { + if (er) { + return this.emit("error", er); + } + this[ONREADLINK](linkpath); + }); } - encode() { - const body = this.encodeBody(); - if (body === "") { - return null; - } - const bodyLen = Buffer.byteLength(body); - const bufLen = 512 * Math.ceil(1 + bodyLen / 512); - const buf = Buffer.allocUnsafe(bufLen); - for (let i = 0; i < 512; i++) { - buf[i] = 0; - } - new Header({ - // XXX split the path - // then the path should be PaxHeader + basename, but less than 99, - // prepend with the dirname - path: ("PaxHeader/" + path10.basename(this.path)).slice(0, 99), - mode: this.mode || 420, - uid: this.uid || null, - gid: this.gid || null, - size: bodyLen, - mtime: this.mtime || null, - type: this.global ? "GlobalExtendedHeader" : "ExtendedHeader", - linkpath: "", - uname: this.uname || "", - gname: this.gname || "", - devmaj: 0, - devmin: 0, - atime: this.atime || null, - ctime: this.ctime || null - }).encode(buf); - buf.write(body, 512, bodyLen, "utf8"); - for (let i = bodyLen + 512; i < buf.length; i++) { - buf[i] = 0; - } - return buf; + [ONREADLINK](linkpath) { + this.linkpath = normPath(linkpath); + this[HEADER](); + this.end(); } - encodeBody() { - return this.encodeField("path") + this.encodeField("ctime") + this.encodeField("atime") + this.encodeField("dev") + this.encodeField("ino") + this.encodeField("nlink") + this.encodeField("charset") + this.encodeField("comment") + this.encodeField("gid") + this.encodeField("gname") + this.encodeField("linkpath") + this.encodeField("mtime") + this.encodeField("size") + this.encodeField("uid") + this.encodeField("uname"); + [HARDLINK](linkpath) { + this.type = "Link"; + this.linkpath = normPath(path10.relative(this.cwd, linkpath)); + this.stat.size = 0; + this[HEADER](); + this.end(); } - encodeField(field) { - if (this[field] === null || this[field] === void 0) { - return ""; + [FILE]() { + if (this.stat.nlink > 1) { + const linkKey = this.stat.dev + ":" + this.stat.ino; + if (this.linkCache.has(linkKey)) { + const linkpath = this.linkCache.get(linkKey); + if (linkpath.indexOf(this.cwd) === 0) { + return this[HARDLINK](linkpath); + } + } + this.linkCache.set(linkKey, this.absolute); } - const v = this[field] instanceof Date ? this[field].getTime() / 1e3 : this[field]; - const s = " " + (field === "dev" || field === "ino" || field === "nlink" ? "SCHILY." : "") + field + "=" + v + "\n"; - const byteLen = Buffer.byteLength(s); - let digits = Math.floor(Math.log(byteLen) / Math.log(10)) + 1; - if (byteLen + digits >= Math.pow(10, digits)) { - digits += 1; + this[HEADER](); + if (this.stat.size === 0) { + return this.end(); } - const len = digits + byteLen; - return len + s; + this[OPENFILE](); } - }; - Pax.parse = (string, ex, g) => new Pax(merge(parseKV(string), ex), g); - var merge = (a, b) => b ? Object.keys(a).reduce((s, k) => (s[k] = a[k], s), b) : a; - var parseKV = (string) => string.replace(/\n$/, "").split("\n").reduce(parseKVLine, /* @__PURE__ */ Object.create(null)); - var parseKVLine = (set, line) => { - const n = parseInt(line, 10); - if (n !== Buffer.byteLength(line) + 1) { - return set; + [OPENFILE]() { + fs8.open(this.absolute, "r", (er, fd) => { + if (er) { + return this.emit("error", er); + } + this[ONOPENFILE](fd); + }); } - line = line.slice((n + " ").length); - const kv = line.split("="); - const k = kv.shift().replace(/^SCHILY\.(dev|ino|nlink)/, "$1"); - if (!k) { - return set; + [ONOPENFILE](fd) { + this.fd = fd; + if (this[HAD_ERROR]) { + return this[CLOSE](); + } + this.blockLen = 512 * Math.ceil(this.stat.size / 512); + this.blockRemain = this.blockLen; + const bufLen = Math.min(this.blockLen, this.maxReadSize); + this.buf = Buffer.allocUnsafe(bufLen); + this.offset = 0; + this.pos = 0; + this.remain = this.stat.size; + this.length = this.buf.length; + this[READ](); + } + [READ]() { + const { fd, buf, offset, length, pos } = this; + fs8.read(fd, buf, offset, length, pos, (er, bytesRead) => { + if (er) { + return this[CLOSE](() => this.emit("error", er)); + } + this[ONREAD](bytesRead); + }); } - const v = kv.join("="); - set[k] = /^([A-Z]+\.)?([mac]|birth|creation)time$/.test(k) ? new Date(v * 1e3) : /^[0-9]+$/.test(v) ? +v : v; - return set; - }; - module2.exports = Pax; - } -}); - -// .yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/strip-trailing-slashes.js -var require_strip_trailing_slashes = __commonJS({ - ".yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/strip-trailing-slashes.js"(exports, module2) { - module2.exports = (str) => { - let i = str.length - 1; - let slashesStart = -1; - while (i > -1 && str.charAt(i) === "/") { - slashesStart = i; - i--; + [CLOSE](cb) { + fs8.close(this.fd, cb); } - return slashesStart === -1 ? str : str.slice(0, slashesStart); - }; - } -}); - -// .yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/warn-mixin.js -var require_warn_mixin = __commonJS({ - ".yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/warn-mixin.js"(exports, module2) { - "use strict"; - module2.exports = (Base) => class extends Base { - warn(code, message, data = {}) { - if (this.file) { - data.file = this.file; + [ONREAD](bytesRead) { + if (bytesRead <= 0 && this.remain > 0) { + const er = new Error("encountered unexpected EOF"); + er.path = this.absolute; + er.syscall = "read"; + er.code = "EOF"; + return this[CLOSE](() => this.emit("error", er)); } - if (this.cwd) { - data.cwd = this.cwd; + if (bytesRead > this.remain) { + const er = new Error("did not encounter expected EOF"); + er.path = this.absolute; + er.syscall = "read"; + er.code = "EOF"; + return this[CLOSE](() => this.emit("error", er)); } - data.code = message instanceof Error && message.code || code; - data.tarCode = code; - if (!this.strict && data.recoverable !== false) { - if (message instanceof Error) { - data = Object.assign(message, data); - message = message.message; + if (bytesRead === this.remain) { + for (let i = bytesRead; i < this.length && bytesRead < this.blockRemain; i++) { + this.buf[i + this.offset] = 0; + bytesRead++; + this.remain++; } - this.emit("warn", data.tarCode, message, data); - } else if (message instanceof Error) { - this.emit("error", Object.assign(message, data)); + } + const writeBuf = this.offset === 0 && bytesRead === this.buf.length ? this.buf : this.buf.slice(this.offset, this.offset + bytesRead); + const flushed = this.write(writeBuf); + if (!flushed) { + this[AWAITDRAIN](() => this[ONDRAIN]()); } else { - this.emit("error", Object.assign(new Error(`${code}: ${message}`), data)); + this[ONDRAIN](); } } - }; - } -}); - -// .yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/winchars.js -var require_winchars = __commonJS({ - ".yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/winchars.js"(exports, module2) { - "use strict"; - var raw = [ - "|", - "<", - ">", - "?", - ":" - ]; - var win = raw.map((char) => String.fromCharCode(61440 + char.charCodeAt(0))); - var toWin = new Map(raw.map((char, i) => [char, win[i]])); - var toRaw = new Map(win.map((char, i) => [char, raw[i]])); - module2.exports = { - encode: (s) => raw.reduce((s2, c) => s2.split(c).join(toWin.get(c)), s), - decode: (s) => win.reduce((s2, c) => s2.split(c).join(toRaw.get(c)), s) - }; - } -}); - -// .yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/strip-absolute-path.js -var require_strip_absolute_path = __commonJS({ - ".yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/strip-absolute-path.js"(exports, module2) { - var { isAbsolute, parse } = require("path").win32; - module2.exports = (path10) => { - let r = ""; - let parsed = parse(path10); - while (isAbsolute(path10) || parsed.root) { - const root = path10.charAt(0) === "/" && path10.slice(0, 4) !== "//?/" ? "/" : parsed.root; - path10 = path10.slice(root.length); - r += root; - parsed = parse(path10); + [AWAITDRAIN](cb) { + this.once("drain", cb); } - return [r, path10]; - }; - } -}); - -// .yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/mode-fix.js -var require_mode_fix = __commonJS({ - ".yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/mode-fix.js"(exports, module2) { - "use strict"; - module2.exports = (mode, isDir, portable) => { - mode &= 4095; - if (portable) { - mode = (mode | 384) & ~18; + write(writeBuf) { + if (this.blockRemain < writeBuf.length) { + const er = new Error("writing more data than expected"); + er.path = this.absolute; + return this.emit("error", er); + } + this.remain -= writeBuf.length; + this.blockRemain -= writeBuf.length; + this.pos += writeBuf.length; + this.offset += writeBuf.length; + return super.write(writeBuf); } - if (isDir) { - if (mode & 256) { - mode |= 64; + [ONDRAIN]() { + if (!this.remain) { + if (this.blockRemain) { + super.write(Buffer.alloc(this.blockRemain)); + } + return this[CLOSE]((er) => er ? this.emit("error", er) : this.end()); } - if (mode & 32) { - mode |= 8; + if (this.offset >= this.length) { + this.buf = Buffer.allocUnsafe(Math.min(this.blockRemain, this.buf.length)); + this.offset = 0; } - if (mode & 4) { - mode |= 1; + this.length = this.buf.length - this.offset; + this[READ](); + } + }); + var WriteEntrySync = class extends WriteEntry { + [LSTAT]() { + this[ONLSTAT](fs8.lstatSync(this.absolute)); + } + [SYMLINK]() { + this[ONREADLINK](fs8.readlinkSync(this.absolute)); + } + [OPENFILE]() { + this[ONOPENFILE](fs8.openSync(this.absolute, "r")); + } + [READ]() { + let threw = true; + try { + const { fd, buf, offset, length, pos } = this; + const bytesRead = fs8.readSync(fd, buf, offset, length, pos); + this[ONREAD](bytesRead); + threw = false; + } finally { + if (threw) { + try { + this[CLOSE](() => { + }); + } catch (er) { + } + } } } - return mode; - }; - } -}); - -// .yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/write-entry.js -var require_write_entry = __commonJS({ - ".yarn/cache/tar-npm-6.2.1-237800bb20-a5eca3eb50.zip/node_modules/tar/lib/write-entry.js"(exports, module2) { - "use strict"; - var { Minipass } = require_minipass(); - var Pax = require_pax(); - var Header = require_header(); - var fs8 = require("fs"); - var path10 = require("path"); - var normPath = require_normalize_windows_path(); - var stripSlash = require_strip_trailing_slashes(); - var prefixPath = (path11, prefix) => { - if (!prefix) { - return normPath(path11); + [AWAITDRAIN](cb) { + cb(); + } + [CLOSE](cb) { + fs8.closeSync(this.fd); + cb(); } - path11 = normPath(path11).replace(/^\.(\/|$)/, ""); - return stripSlash(prefix) + "/" + path11; }; - var maxReadSize = 16 * 1024 * 1024; - var PROCESS = Symbol("process"); - var FILE = Symbol("file"); - var DIRECTORY = Symbol("directory"); - var SYMLINK = Symbol("symlink"); - var HARDLINK = Symbol("hardlink"); - var HEADER = Symbol("header"); - var READ = Symbol("read"); - var LSTAT = Symbol("lstat"); - var ONLSTAT = Symbol("onlstat"); - var ONREAD = Symbol("onread"); - var ONREADLINK = Symbol("onreadlink"); - var OPENFILE = Symbol("openfile"); - var ONOPENFILE = Symbol("onopenfile"); - var CLOSE = Symbol("close"); - var MODE = Symbol("mode"); - var AWAITDRAIN = Symbol("awaitDrain"); - var ONDRAIN = Symbol("ondrain"); - var PREFIX = Symbol("prefix"); - var HAD_ERROR = Symbol("hadError"); - var warner = require_warn_mixin(); - var winchars = require_winchars(); - var stripAbsolutePath = require_strip_absolute_path(); - var modeFix = require_mode_fix(); - var WriteEntry = warner(class WriteEntry extends Minipass { - constructor(p, opt) { + var WriteEntryTar = warner(class WriteEntryTar extends Minipass { + constructor(readEntry, opt) { opt = opt || {}; super(opt); - if (typeof p !== "string") { - throw new TypeError("path is required"); - } - this.path = normPath(p); - this.portable = !!opt.portable; - this.myuid = process.getuid && process.getuid() || 0; - this.myuser = process.env.USER || ""; - this.maxReadSize = opt.maxReadSize || maxReadSize; - this.linkCache = opt.linkCache || /* @__PURE__ */ new Map(); - this.statCache = opt.statCache || /* @__PURE__ */ new Map(); this.preservePaths = !!opt.preservePaths; - this.cwd = normPath(opt.cwd || process.cwd()); + this.portable = !!opt.portable; this.strict = !!opt.strict; this.noPax = !!opt.noPax; - this.noMtime = !!opt.noMtime; - this.mtime = opt.mtime || null; - this.prefix = opt.prefix ? normPath(opt.prefix) : null; - this.fd = null; - this.blockLen = null; - this.blockRemain = null; - this.buf = null; - this.offset = null; - this.length = null; - this.pos = null; - this.remain = null; + this.noMtime = !!opt.noMtime; + this.readEntry = readEntry; + this.type = readEntry.type; + if (this.type === "Directory" && this.portable) { + this.noMtime = true; + } + this.prefix = opt.prefix || null; + this.path = normPath(readEntry.path); + this.mode = this[MODE](readEntry.mode); + this.uid = this.portable ? null : readEntry.uid; + this.gid = this.portable ? null : readEntry.gid; + this.uname = this.portable ? null : readEntry.uname; + this.gname = this.portable ? null : readEntry.gname; + this.size = readEntry.size; + this.mtime = this.noMtime ? null : opt.mtime || readEntry.mtime; + this.atime = this.portable ? null : readEntry.atime; + this.ctime = this.portable ? null : readEntry.ctime; + this.linkpath = normPath(readEntry.linkpath); if (typeof opt.onwarn === "function") { this.on("warn", opt.onwarn); } @@ -15499,386 +15201,456 @@ var require_write_entry = __commonJS({ pathWarn = root; } } - this.win32 = !!opt.win32 || process.platform === "win32"; - if (this.win32) { - this.path = winchars.decode(this.path.replace(/\\/g, "/")); - p = p.replace(/\\/g, "/"); - } - this.absolute = normPath(opt.absolute || path10.resolve(this.cwd, p)); - if (this.path === "") { - this.path = "./"; - } + this.remain = readEntry.size; + this.blockRemain = readEntry.startBlockSize; + this.header = new Header({ + path: this[PREFIX](this.path), + linkpath: this.type === "Link" ? this[PREFIX](this.linkpath) : this.linkpath, + // only the permissions and setuid/setgid/sticky bitflags + // not the higher-order bits that specify file type + mode: this.mode, + uid: this.portable ? null : this.uid, + gid: this.portable ? null : this.gid, + size: this.size, + mtime: this.noMtime ? null : this.mtime, + type: this.type, + uname: this.portable ? null : this.uname, + atime: this.portable ? null : this.atime, + ctime: this.portable ? null : this.ctime + }); if (pathWarn) { this.warn("TAR_ENTRY_INFO", `stripping ${pathWarn} from absolute path`, { entry: this, path: pathWarn + this.path }); } - if (this.statCache.has(this.absolute)) { - this[ONLSTAT](this.statCache.get(this.absolute)); - } else { - this[LSTAT](); + if (this.header.encode() && !this.noPax) { + super.write(new Pax({ + atime: this.portable ? null : this.atime, + ctime: this.portable ? null : this.ctime, + gid: this.portable ? null : this.gid, + mtime: this.noMtime ? null : this.mtime, + path: this[PREFIX](this.path), + linkpath: this.type === "Link" ? this[PREFIX](this.linkpath) : this.linkpath, + size: this.size, + uid: this.portable ? null : this.uid, + uname: this.portable ? null : this.uname, + dev: this.portable ? null : this.readEntry.dev, + ino: this.portable ? null : this.readEntry.ino, + nlink: this.portable ? null : this.readEntry.nlink + }).encode()); + } + super.write(this.header.block); + readEntry.pipe(this); + } + [PREFIX](path11) { + return prefixPath(path11, this.prefix); + } + [MODE](mode) { + return modeFix(mode, this.type === "Directory", this.portable); + } + write(data) { + const writeLen = data.length; + if (writeLen > this.blockRemain) { + throw new Error("writing more to entry than is appropriate"); + } + this.blockRemain -= writeLen; + return super.write(data); + } + end() { + if (this.blockRemain) { + super.write(Buffer.alloc(this.blockRemain)); + } + return super.end(); + } + }); + WriteEntry.Sync = WriteEntrySync; + WriteEntry.Tar = WriteEntryTar; + var getType = (stat) => stat.isFile() ? "File" : stat.isDirectory() ? "Directory" : stat.isSymbolicLink() ? "SymbolicLink" : "Unsupported"; + module2.exports = WriteEntry; + } +}); + +// .yarn/cache/yallist-npm-4.0.0-b493d9e907-2286b5e8db.zip/node_modules/yallist/iterator.js +var require_iterator = __commonJS({ + ".yarn/cache/yallist-npm-4.0.0-b493d9e907-2286b5e8db.zip/node_modules/yallist/iterator.js"(exports, module2) { + "use strict"; + module2.exports = function(Yallist) { + Yallist.prototype[Symbol.iterator] = function* () { + for (let walker = this.head; walker; walker = walker.next) { + yield walker.value; + } + }; + }; + } +}); + +// .yarn/cache/yallist-npm-4.0.0-b493d9e907-2286b5e8db.zip/node_modules/yallist/yallist.js +var require_yallist = __commonJS({ + ".yarn/cache/yallist-npm-4.0.0-b493d9e907-2286b5e8db.zip/node_modules/yallist/yallist.js"(exports, module2) { + "use strict"; + module2.exports = Yallist; + Yallist.Node = Node; + Yallist.create = Yallist; + function Yallist(list) { + var self2 = this; + if (!(self2 instanceof Yallist)) { + self2 = new Yallist(); + } + self2.tail = null; + self2.head = null; + self2.length = 0; + if (list && typeof list.forEach === "function") { + list.forEach(function(item) { + self2.push(item); + }); + } else if (arguments.length > 0) { + for (var i = 0, l = arguments.length; i < l; i++) { + self2.push(arguments[i]); } } - emit(ev, ...data) { - if (ev === "error") { - this[HAD_ERROR] = true; - } - return super.emit(ev, ...data); + return self2; + } + Yallist.prototype.removeNode = function(node) { + if (node.list !== this) { + throw new Error("removing node which does not belong to this list"); + } + var next = node.next; + var prev = node.prev; + if (next) { + next.prev = prev; + } + if (prev) { + prev.next = next; + } + if (node === this.head) { + this.head = next; + } + if (node === this.tail) { + this.tail = prev; + } + node.list.length--; + node.next = null; + node.prev = null; + node.list = null; + return next; + }; + Yallist.prototype.unshiftNode = function(node) { + if (node === this.head) { + return; + } + if (node.list) { + node.list.removeNode(node); + } + var head = this.head; + node.list = this; + node.next = head; + if (head) { + head.prev = node; + } + this.head = node; + if (!this.tail) { + this.tail = node; + } + this.length++; + }; + Yallist.prototype.pushNode = function(node) { + if (node === this.tail) { + return; + } + if (node.list) { + node.list.removeNode(node); + } + var tail = this.tail; + node.list = this; + node.prev = tail; + if (tail) { + tail.next = node; + } + this.tail = node; + if (!this.head) { + this.head = node; + } + this.length++; + }; + Yallist.prototype.push = function() { + for (var i = 0, l = arguments.length; i < l; i++) { + push(this, arguments[i]); + } + return this.length; + }; + Yallist.prototype.unshift = function() { + for (var i = 0, l = arguments.length; i < l; i++) { + unshift(this, arguments[i]); + } + return this.length; + }; + Yallist.prototype.pop = function() { + if (!this.tail) { + return void 0; + } + var res = this.tail.value; + this.tail = this.tail.prev; + if (this.tail) { + this.tail.next = null; + } else { + this.head = null; + } + this.length--; + return res; + }; + Yallist.prototype.shift = function() { + if (!this.head) { + return void 0; + } + var res = this.head.value; + this.head = this.head.next; + if (this.head) { + this.head.prev = null; + } else { + this.tail = null; + } + this.length--; + return res; + }; + Yallist.prototype.forEach = function(fn2, thisp) { + thisp = thisp || this; + for (var walker = this.head, i = 0; walker !== null; i++) { + fn2.call(thisp, walker.value, i, this); + walker = walker.next; + } + }; + Yallist.prototype.forEachReverse = function(fn2, thisp) { + thisp = thisp || this; + for (var walker = this.tail, i = this.length - 1; walker !== null; i--) { + fn2.call(thisp, walker.value, i, this); + walker = walker.prev; + } + }; + Yallist.prototype.get = function(n) { + for (var i = 0, walker = this.head; walker !== null && i < n; i++) { + walker = walker.next; + } + if (i === n && walker !== null) { + return walker.value; + } + }; + Yallist.prototype.getReverse = function(n) { + for (var i = 0, walker = this.tail; walker !== null && i < n; i++) { + walker = walker.prev; } - [LSTAT]() { - fs8.lstat(this.absolute, (er, stat) => { - if (er) { - return this.emit("error", er); - } - this[ONLSTAT](stat); - }); + if (i === n && walker !== null) { + return walker.value; } - [ONLSTAT](stat) { - this.statCache.set(this.absolute, stat); - this.stat = stat; - if (!stat.isFile()) { - stat.size = 0; - } - this.type = getType(stat); - this.emit("stat", stat); - this[PROCESS](); + }; + Yallist.prototype.map = function(fn2, thisp) { + thisp = thisp || this; + var res = new Yallist(); + for (var walker = this.head; walker !== null; ) { + res.push(fn2.call(thisp, walker.value, this)); + walker = walker.next; } - [PROCESS]() { - switch (this.type) { - case "File": - return this[FILE](); - case "Directory": - return this[DIRECTORY](); - case "SymbolicLink": - return this[SYMLINK](); - default: - return this.end(); - } + return res; + }; + Yallist.prototype.mapReverse = function(fn2, thisp) { + thisp = thisp || this; + var res = new Yallist(); + for (var walker = this.tail; walker !== null; ) { + res.push(fn2.call(thisp, walker.value, this)); + walker = walker.prev; } - [MODE](mode) { - return modeFix(mode, this.type === "Directory", this.portable); + return res; + }; + Yallist.prototype.reduce = function(fn2, initial) { + var acc; + var walker = this.head; + if (arguments.length > 1) { + acc = initial; + } else if (this.head) { + walker = this.head.next; + acc = this.head.value; + } else { + throw new TypeError("Reduce of empty list with no initial value"); } - [PREFIX](path11) { - return prefixPath(path11, this.prefix); + for (var i = 0; walker !== null; i++) { + acc = fn2(acc, walker.value, i); + walker = walker.next; } - [HEADER]() { - if (this.type === "Directory" && this.portable) { - this.noMtime = true; - } - this.header = new Header({ - path: this[PREFIX](this.path), - // only apply the prefix to hard links. - linkpath: this.type === "Link" ? this[PREFIX](this.linkpath) : this.linkpath, - // only the permissions and setuid/setgid/sticky bitflags - // not the higher-order bits that specify file type - mode: this[MODE](this.stat.mode), - uid: this.portable ? null : this.stat.uid, - gid: this.portable ? null : this.stat.gid, - size: this.stat.size, - mtime: this.noMtime ? null : this.mtime || this.stat.mtime, - type: this.type, - uname: this.portable ? null : this.stat.uid === this.myuid ? this.myuser : "", - atime: this.portable ? null : this.stat.atime, - ctime: this.portable ? null : this.stat.ctime - }); - if (this.header.encode() && !this.noPax) { - super.write(new Pax({ - atime: this.portable ? null : this.header.atime, - ctime: this.portable ? null : this.header.ctime, - gid: this.portable ? null : this.header.gid, - mtime: this.noMtime ? null : this.mtime || this.header.mtime, - path: this[PREFIX](this.path), - linkpath: this.type === "Link" ? this[PREFIX](this.linkpath) : this.linkpath, - size: this.header.size, - uid: this.portable ? null : this.header.uid, - uname: this.portable ? null : this.header.uname, - dev: this.portable ? null : this.stat.dev, - ino: this.portable ? null : this.stat.ino, - nlink: this.portable ? null : this.stat.nlink - }).encode()); - } - super.write(this.header.block); + return acc; + }; + Yallist.prototype.reduceReverse = function(fn2, initial) { + var acc; + var walker = this.tail; + if (arguments.length > 1) { + acc = initial; + } else if (this.tail) { + walker = this.tail.prev; + acc = this.tail.value; + } else { + throw new TypeError("Reduce of empty list with no initial value"); } - [DIRECTORY]() { - if (this.path.slice(-1) !== "/") { - this.path += "/"; - } - this.stat.size = 0; - this[HEADER](); - this.end(); + for (var i = this.length - 1; walker !== null; i--) { + acc = fn2(acc, walker.value, i); + walker = walker.prev; } - [SYMLINK]() { - fs8.readlink(this.absolute, (er, linkpath) => { - if (er) { - return this.emit("error", er); - } - this[ONREADLINK](linkpath); - }); + return acc; + }; + Yallist.prototype.toArray = function() { + var arr = new Array(this.length); + for (var i = 0, walker = this.head; walker !== null; i++) { + arr[i] = walker.value; + walker = walker.next; } - [ONREADLINK](linkpath) { - this.linkpath = normPath(linkpath); - this[HEADER](); - this.end(); + return arr; + }; + Yallist.prototype.toArrayReverse = function() { + var arr = new Array(this.length); + for (var i = 0, walker = this.tail; walker !== null; i++) { + arr[i] = walker.value; + walker = walker.prev; } - [HARDLINK](linkpath) { - this.type = "Link"; - this.linkpath = normPath(path10.relative(this.cwd, linkpath)); - this.stat.size = 0; - this[HEADER](); - this.end(); + return arr; + }; + Yallist.prototype.slice = function(from, to) { + to = to || this.length; + if (to < 0) { + to += this.length; } - [FILE]() { - if (this.stat.nlink > 1) { - const linkKey = this.stat.dev + ":" + this.stat.ino; - if (this.linkCache.has(linkKey)) { - const linkpath = this.linkCache.get(linkKey); - if (linkpath.indexOf(this.cwd) === 0) { - return this[HARDLINK](linkpath); - } - } - this.linkCache.set(linkKey, this.absolute); - } - this[HEADER](); - if (this.stat.size === 0) { - return this.end(); - } - this[OPENFILE](); + from = from || 0; + if (from < 0) { + from += this.length; } - [OPENFILE]() { - fs8.open(this.absolute, "r", (er, fd) => { - if (er) { - return this.emit("error", er); - } - this[ONOPENFILE](fd); - }); + var ret = new Yallist(); + if (to < from || to < 0) { + return ret; } - [ONOPENFILE](fd) { - this.fd = fd; - if (this[HAD_ERROR]) { - return this[CLOSE](); - } - this.blockLen = 512 * Math.ceil(this.stat.size / 512); - this.blockRemain = this.blockLen; - const bufLen = Math.min(this.blockLen, this.maxReadSize); - this.buf = Buffer.allocUnsafe(bufLen); - this.offset = 0; - this.pos = 0; - this.remain = this.stat.size; - this.length = this.buf.length; - this[READ](); + if (from < 0) { + from = 0; } - [READ]() { - const { fd, buf, offset, length, pos } = this; - fs8.read(fd, buf, offset, length, pos, (er, bytesRead) => { - if (er) { - return this[CLOSE](() => this.emit("error", er)); - } - this[ONREAD](bytesRead); - }); + if (to > this.length) { + to = this.length; } - [CLOSE](cb) { - fs8.close(this.fd, cb); + for (var i = 0, walker = this.head; walker !== null && i < from; i++) { + walker = walker.next; } - [ONREAD](bytesRead) { - if (bytesRead <= 0 && this.remain > 0) { - const er = new Error("encountered unexpected EOF"); - er.path = this.absolute; - er.syscall = "read"; - er.code = "EOF"; - return this[CLOSE](() => this.emit("error", er)); - } - if (bytesRead > this.remain) { - const er = new Error("did not encounter expected EOF"); - er.path = this.absolute; - er.syscall = "read"; - er.code = "EOF"; - return this[CLOSE](() => this.emit("error", er)); - } - if (bytesRead === this.remain) { - for (let i = bytesRead; i < this.length && bytesRead < this.blockRemain; i++) { - this.buf[i + this.offset] = 0; - bytesRead++; - this.remain++; - } - } - const writeBuf = this.offset === 0 && bytesRead === this.buf.length ? this.buf : this.buf.slice(this.offset, this.offset + bytesRead); - const flushed = this.write(writeBuf); - if (!flushed) { - this[AWAITDRAIN](() => this[ONDRAIN]()); - } else { - this[ONDRAIN](); - } + for (; walker !== null && i < to; i++, walker = walker.next) { + ret.push(walker.value); } - [AWAITDRAIN](cb) { - this.once("drain", cb); + return ret; + }; + Yallist.prototype.sliceReverse = function(from, to) { + to = to || this.length; + if (to < 0) { + to += this.length; } - write(writeBuf) { - if (this.blockRemain < writeBuf.length) { - const er = new Error("writing more data than expected"); - er.path = this.absolute; - return this.emit("error", er); - } - this.remain -= writeBuf.length; - this.blockRemain -= writeBuf.length; - this.pos += writeBuf.length; - this.offset += writeBuf.length; - return super.write(writeBuf); + from = from || 0; + if (from < 0) { + from += this.length; } - [ONDRAIN]() { - if (!this.remain) { - if (this.blockRemain) { - super.write(Buffer.alloc(this.blockRemain)); - } - return this[CLOSE]((er) => er ? this.emit("error", er) : this.end()); - } - if (this.offset >= this.length) { - this.buf = Buffer.allocUnsafe(Math.min(this.blockRemain, this.buf.length)); - this.offset = 0; - } - this.length = this.buf.length - this.offset; - this[READ](); + var ret = new Yallist(); + if (to < from || to < 0) { + return ret; } - }); - var WriteEntrySync = class extends WriteEntry { - [LSTAT]() { - this[ONLSTAT](fs8.lstatSync(this.absolute)); + if (from < 0) { + from = 0; } - [SYMLINK]() { - this[ONREADLINK](fs8.readlinkSync(this.absolute)); + if (to > this.length) { + to = this.length; } - [OPENFILE]() { - this[ONOPENFILE](fs8.openSync(this.absolute, "r")); + for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) { + walker = walker.prev; } - [READ]() { - let threw = true; - try { - const { fd, buf, offset, length, pos } = this; - const bytesRead = fs8.readSync(fd, buf, offset, length, pos); - this[ONREAD](bytesRead); - threw = false; - } finally { - if (threw) { - try { - this[CLOSE](() => { - }); - } catch (er) { - } - } - } + for (; walker !== null && i > from; i--, walker = walker.prev) { + ret.push(walker.value); } - [AWAITDRAIN](cb) { - cb(); + return ret; + }; + Yallist.prototype.splice = function(start, deleteCount, ...nodes) { + if (start > this.length) { + start = this.length - 1; } - [CLOSE](cb) { - fs8.closeSync(this.fd); - cb(); + if (start < 0) { + start = this.length + start; + } + for (var i = 0, walker = this.head; walker !== null && i < start; i++) { + walker = walker.next; + } + var ret = []; + for (var i = 0; walker && i < deleteCount; i++) { + ret.push(walker.value); + walker = this.removeNode(walker); + } + if (walker === null) { + walker = this.tail; + } + if (walker !== this.head && walker !== this.tail) { + walker = walker.prev; + } + for (var i = 0; i < nodes.length; i++) { + walker = insert(this, walker, nodes[i]); } + return ret; }; - var WriteEntryTar = warner(class WriteEntryTar extends Minipass { - constructor(readEntry, opt) { - opt = opt || {}; - super(opt); - this.preservePaths = !!opt.preservePaths; - this.portable = !!opt.portable; - this.strict = !!opt.strict; - this.noPax = !!opt.noPax; - this.noMtime = !!opt.noMtime; - this.readEntry = readEntry; - this.type = readEntry.type; - if (this.type === "Directory" && this.portable) { - this.noMtime = true; - } - this.prefix = opt.prefix || null; - this.path = normPath(readEntry.path); - this.mode = this[MODE](readEntry.mode); - this.uid = this.portable ? null : readEntry.uid; - this.gid = this.portable ? null : readEntry.gid; - this.uname = this.portable ? null : readEntry.uname; - this.gname = this.portable ? null : readEntry.gname; - this.size = readEntry.size; - this.mtime = this.noMtime ? null : opt.mtime || readEntry.mtime; - this.atime = this.portable ? null : readEntry.atime; - this.ctime = this.portable ? null : readEntry.ctime; - this.linkpath = normPath(readEntry.linkpath); - if (typeof opt.onwarn === "function") { - this.on("warn", opt.onwarn); - } - let pathWarn = false; - if (!this.preservePaths) { - const [root, stripped] = stripAbsolutePath(this.path); - if (root) { - this.path = stripped; - pathWarn = root; - } - } - this.remain = readEntry.size; - this.blockRemain = readEntry.startBlockSize; - this.header = new Header({ - path: this[PREFIX](this.path), - linkpath: this.type === "Link" ? this[PREFIX](this.linkpath) : this.linkpath, - // only the permissions and setuid/setgid/sticky bitflags - // not the higher-order bits that specify file type - mode: this.mode, - uid: this.portable ? null : this.uid, - gid: this.portable ? null : this.gid, - size: this.size, - mtime: this.noMtime ? null : this.mtime, - type: this.type, - uname: this.portable ? null : this.uname, - atime: this.portable ? null : this.atime, - ctime: this.portable ? null : this.ctime - }); - if (pathWarn) { - this.warn("TAR_ENTRY_INFO", `stripping ${pathWarn} from absolute path`, { - entry: this, - path: pathWarn + this.path - }); - } - if (this.header.encode() && !this.noPax) { - super.write(new Pax({ - atime: this.portable ? null : this.atime, - ctime: this.portable ? null : this.ctime, - gid: this.portable ? null : this.gid, - mtime: this.noMtime ? null : this.mtime, - path: this[PREFIX](this.path), - linkpath: this.type === "Link" ? this[PREFIX](this.linkpath) : this.linkpath, - size: this.size, - uid: this.portable ? null : this.uid, - uname: this.portable ? null : this.uname, - dev: this.portable ? null : this.readEntry.dev, - ino: this.portable ? null : this.readEntry.ino, - nlink: this.portable ? null : this.readEntry.nlink - }).encode()); - } - super.write(this.header.block); - readEntry.pipe(this); + Yallist.prototype.reverse = function() { + var head = this.head; + var tail = this.tail; + for (var walker = head; walker !== null; walker = walker.prev) { + var p = walker.prev; + walker.prev = walker.next; + walker.next = p; } - [PREFIX](path11) { - return prefixPath(path11, this.prefix); + this.head = tail; + this.tail = head; + return this; + }; + function insert(self2, node, value) { + var inserted = node === self2.head ? new Node(value, null, node, self2) : new Node(value, node, node.next, self2); + if (inserted.next === null) { + self2.tail = inserted; } - [MODE](mode) { - return modeFix(mode, this.type === "Directory", this.portable); + if (inserted.prev === null) { + self2.head = inserted; } - write(data) { - const writeLen = data.length; - if (writeLen > this.blockRemain) { - throw new Error("writing more to entry than is appropriate"); - } - this.blockRemain -= writeLen; - return super.write(data); + self2.length++; + return inserted; + } + function push(self2, item) { + self2.tail = new Node(item, self2.tail, null, self2); + if (!self2.head) { + self2.head = self2.tail; } - end() { - if (this.blockRemain) { - super.write(Buffer.alloc(this.blockRemain)); - } - return super.end(); + self2.length++; + } + function unshift(self2, item) { + self2.head = new Node(item, null, self2.head, self2); + if (!self2.tail) { + self2.tail = self2.head; } - }); - WriteEntry.Sync = WriteEntrySync; - WriteEntry.Tar = WriteEntryTar; - var getType = (stat) => stat.isFile() ? "File" : stat.isDirectory() ? "Directory" : stat.isSymbolicLink() ? "SymbolicLink" : "Unsupported"; - module2.exports = WriteEntry; + self2.length++; + } + function Node(value, prev, next, list) { + if (!(this instanceof Node)) { + return new Node(value, prev, next, list); + } + this.list = list; + this.value = value; + if (prev) { + prev.next = this; + this.prev = prev; + } else { + this.prev = null; + } + if (next) { + next.prev = this; + this.next = next; + } else { + this.next = null; + } + } + try { + require_iterator()(Yallist); + } catch (er) { + } } }); @@ -22417,7 +22189,7 @@ function String2(descriptor, ...args) { } // package.json -var version = "0.28.1"; +var version = "0.28.2"; // sources/Engine.ts var import_fs4 = __toESM(require("fs")); @@ -22429,7 +22201,7 @@ var import_semver4 = __toESM(require_semver2()); var config_default = { definitions: { npm: { - default: "10.7.0+sha1.c87e0bbb7a53422670e423d0198120760f67c3b7", + default: "10.8.1+sha1.1f1cb1305cd9246b9efe07d8629874df23157a2f", fetchLatestFrom: { type: "npm", package: "npm" @@ -22466,7 +22238,7 @@ var config_default = { } }, pnpm: { - default: "9.1.0+sha1.217063ce3fcbf44f3051666f38b810f1ddefee4a", + default: "9.1.4+sha1.2432063d815cfa88fd9fef1d85a445e3f609851d", fetchLatestFrom: { type: "npm", package: "pnpm" @@ -23695,7 +23467,7 @@ var EnableCommand = class extends Command { static usage = Command.Usage({ description: `Add the Corepack shims to the install directories`, details: ` - When run, this commmand will check whether the shims for the specified package managers can be found with the correct values inside the install directory. If not, or if they don't exist, they will be created. + When run, this command will check whether the shims for the specified package managers can be found with the correct values inside the install directory. If not, or if they don't exist, they will be created. By default it will locate the install directory by running the equivalent of \`which corepack\`, but this can be tweaked by explicitly passing the install directory via the \`--install-directory\` flag. `, diff --git a/deps/corepack/package.json b/deps/corepack/package.json index 3737c1920844d3..c1e1618ee1a8b2 100644 --- a/deps/corepack/package.json +++ b/deps/corepack/package.json @@ -1,6 +1,6 @@ { "name": "corepack", - "version": "0.28.1", + "version": "0.28.2", "homepage": "https://github.com/nodejs/corepack#readme", "bugs": { "url": "https://github.com/nodejs/corepack/issues" diff --git a/deps/googletest/include/gtest/gtest-death-test.h b/deps/googletest/include/gtest/gtest-death-test.h index 08fef8c7d34645..3c61909726f3c1 100644 --- a/deps/googletest/include/gtest/gtest-death-test.h +++ b/deps/googletest/include/gtest/gtest-death-test.h @@ -293,8 +293,8 @@ class GTEST_API_ KilledBySignal { // statement is compiled but not executed, to ensure that // EXPECT_DEATH_IF_SUPPORTED compiles with a certain // parameter if and only if EXPECT_DEATH compiles with it. -// regex - A regex that a macro such as EXPECT_DEATH would use to test -// the output of statement. This parameter has to be +// regex_or_matcher - A regex that a macro such as EXPECT_DEATH would use +// to test the output of statement. This parameter has to be // compiled but not evaluated by this macro, to ensure that // this macro only accepts expressions that a macro such as // EXPECT_DEATH would accept. @@ -311,13 +311,13 @@ class GTEST_API_ KilledBySignal { // statement unconditionally returns or throws. The Message constructor at // the end allows the syntax of streaming additional messages into the // macro, for compilational compatibility with EXPECT_DEATH/ASSERT_DEATH. -#define GTEST_UNSUPPORTED_DEATH_TEST(statement, regex, terminator) \ +#define GTEST_UNSUPPORTED_DEATH_TEST(statement, regex_or_matcher, terminator) \ GTEST_AMBIGUOUS_ELSE_BLOCKER_ \ if (::testing::internal::AlwaysTrue()) { \ GTEST_LOG_(WARNING) << "Death tests are not supported on this platform.\n" \ << "Statement '" #statement "' cannot be verified."; \ } else if (::testing::internal::AlwaysFalse()) { \ - ::testing::internal::RE::PartialMatch(".*", (regex)); \ + ::testing::internal::MakeDeathTestMatcher(regex_or_matcher); \ GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_(statement); \ terminator; \ } else \ diff --git a/deps/googletest/include/gtest/internal/gtest-death-test-internal.h b/deps/googletest/include/gtest/internal/gtest-death-test-internal.h index 3925e36baf12f5..b363259ec60203 100644 --- a/deps/googletest/include/gtest/internal/gtest-death-test-internal.h +++ b/deps/googletest/include/gtest/internal/gtest-death-test-internal.h @@ -46,6 +46,7 @@ #include "gtest/gtest-matchers.h" #include "gtest/internal/gtest-internal.h" +#include "gtest/internal/gtest-port.h" GTEST_DECLARE_string_(internal_run_death_test); @@ -55,6 +56,28 @@ namespace internal { // Name of the flag (needed for parsing Google Test flag). const char kInternalRunDeathTestFlag[] = "internal_run_death_test"; +// A string passed to EXPECT_DEATH (etc.) is caught by one of these overloads +// and interpreted as a regex (rather than an Eq matcher) for legacy +// compatibility. +inline Matcher MakeDeathTestMatcher( + ::testing::internal::RE regex) { + return ContainsRegex(regex.pattern()); +} +inline Matcher MakeDeathTestMatcher(const char* regex) { + return ContainsRegex(regex); +} +inline Matcher MakeDeathTestMatcher( + const ::std::string& regex) { + return ContainsRegex(regex); +} + +// If a Matcher is passed to EXPECT_DEATH (etc.), it's +// used directly. +inline Matcher MakeDeathTestMatcher( + Matcher matcher) { + return matcher; +} + #ifdef GTEST_HAS_DEATH_TEST GTEST_DISABLE_MSC_WARNINGS_PUSH_(4251 \ @@ -168,28 +191,6 @@ class DefaultDeathTestFactory : public DeathTestFactory { // by a signal, or exited normally with a nonzero exit code. GTEST_API_ bool ExitedUnsuccessfully(int exit_status); -// A string passed to EXPECT_DEATH (etc.) is caught by one of these overloads -// and interpreted as a regex (rather than an Eq matcher) for legacy -// compatibility. -inline Matcher MakeDeathTestMatcher( - ::testing::internal::RE regex) { - return ContainsRegex(regex.pattern()); -} -inline Matcher MakeDeathTestMatcher(const char* regex) { - return ContainsRegex(regex); -} -inline Matcher MakeDeathTestMatcher( - const ::std::string& regex) { - return ContainsRegex(regex); -} - -// If a Matcher is passed to EXPECT_DEATH (etc.), it's -// used directly. -inline Matcher MakeDeathTestMatcher( - Matcher matcher) { - return matcher; -} - // Traps C++ exceptions escaping statement and reports them as test // failures. Note that trapping SEH exceptions is not implemented here. #if GTEST_HAS_EXCEPTIONS diff --git a/deps/nghttp2/lib/Makefile.in b/deps/nghttp2/lib/Makefile.in index a5653128884f26..aeae3d76cc49d7 100644 --- a/deps/nghttp2/lib/Makefile.in +++ b/deps/nghttp2/lib/Makefile.in @@ -328,7 +328,7 @@ EXTRACFLAG = @EXTRACFLAG@ EXTRA_DEFS = @EXTRA_DEFS@ FGREP = @FGREP@ GREP = @GREP@ -HAVE_CXX14 = @HAVE_CXX14@ +HAVE_CXX20 = @HAVE_CXX20@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff --git a/deps/nghttp2/lib/includes/Makefile.in b/deps/nghttp2/lib/includes/Makefile.in index 47f46764652434..128496617d6441 100644 --- a/deps/nghttp2/lib/includes/Makefile.in +++ b/deps/nghttp2/lib/includes/Makefile.in @@ -233,7 +233,7 @@ EXTRACFLAG = @EXTRACFLAG@ EXTRA_DEFS = @EXTRA_DEFS@ FGREP = @FGREP@ GREP = @GREP@ -HAVE_CXX14 = @HAVE_CXX14@ +HAVE_CXX20 = @HAVE_CXX20@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff --git a/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h b/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h index a21d6a1605e010..c2f3323459480d 100644 --- a/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h +++ b/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h @@ -29,7 +29,7 @@ * @macro * Version number of the nghttp2 library release */ -#define NGHTTP2_VERSION "1.61.0" +#define NGHTTP2_VERSION "1.62.1" /** * @macro @@ -37,6 +37,6 @@ * release. This is a 24 bit number with 8 bits for major number, 8 bits * for minor and 8 bits for patch. Version 1.2.3 becomes 0x010203. */ -#define NGHTTP2_VERSION_NUM 0x013d00 +#define NGHTTP2_VERSION_NUM 0x013e01 #endif /* NGHTTP2VER_H */ diff --git a/deps/nghttp2/lib/nghttp2_buf.c b/deps/nghttp2/lib/nghttp2_buf.c index 101035f923ec64..15cd674a650fc0 100644 --- a/deps/nghttp2/lib/nghttp2_buf.c +++ b/deps/nghttp2/lib/nghttp2_buf.c @@ -61,7 +61,7 @@ int nghttp2_buf_reserve(nghttp2_buf *buf, size_t new_cap, nghttp2_mem *mem) { return 0; } - new_cap = nghttp2_max(new_cap, cap * 2); + new_cap = nghttp2_max_size(new_cap, cap * 2); ptr = nghttp2_mem_realloc(mem, buf->begin, new_cap); if (ptr == NULL) { @@ -343,7 +343,7 @@ int nghttp2_bufs_add(nghttp2_bufs *bufs, const void *data, size_t len) { while (len) { buf = &bufs->cur->buf; - nwrite = nghttp2_min(nghttp2_buf_avail(buf), len); + nwrite = nghttp2_min_size(nghttp2_buf_avail(buf), len); if (nwrite == 0) { rv = bufs_alloc_chain(bufs); if (rv != 0) { diff --git a/deps/nghttp2/lib/nghttp2_hd.c b/deps/nghttp2/lib/nghttp2_hd.c index 1b0c71331ae61f..cab6ec8fc7d2b4 100644 --- a/deps/nghttp2/lib/nghttp2_hd.c +++ b/deps/nghttp2/lib/nghttp2_hd.c @@ -1245,13 +1245,13 @@ static void hd_context_shrink_table_size(nghttp2_hd_context *context, int nghttp2_hd_deflate_change_table_size( nghttp2_hd_deflater *deflater, size_t settings_max_dynamic_table_size) { - size_t next_bufsize = nghttp2_min(settings_max_dynamic_table_size, - deflater->deflate_hd_table_bufsize_max); + size_t next_bufsize = nghttp2_min_size( + settings_max_dynamic_table_size, deflater->deflate_hd_table_bufsize_max); deflater->ctx.hd_table_bufsize_max = next_bufsize; deflater->min_hd_table_bufsize_max = - nghttp2_min(deflater->min_hd_table_bufsize_max, next_bufsize); + nghttp2_min_size(deflater->min_hd_table_bufsize_max, next_bufsize); deflater->notify_table_size_change = 1; @@ -1738,7 +1738,7 @@ static nghttp2_ssize hd_inflate_read_huff(nghttp2_hd_inflater *inflater, static nghttp2_ssize hd_inflate_read(nghttp2_hd_inflater *inflater, nghttp2_buf *buf, const uint8_t *in, const uint8_t *last) { - size_t len = nghttp2_min((size_t)(last - in), inflater->left); + size_t len = nghttp2_min_size((size_t)(last - in), inflater->left); buf->last = nghttp2_cpymem(buf->last, in, len); @@ -1962,8 +1962,8 @@ nghttp2_ssize nghttp2_hd_inflate_hd_nv(nghttp2_hd_inflater *inflater, rfin = 0; rv = hd_inflate_read_len( inflater, &rfin, in, last, 5, - nghttp2_min(inflater->min_hd_table_bufsize_max, - inflater->settings_hd_table_bufsize_max)); + nghttp2_min_size(inflater->min_hd_table_bufsize_max, + inflater->settings_hd_table_bufsize_max)); if (rv < 0) { goto fail; } diff --git a/deps/nghttp2/lib/nghttp2_hd_huffman.c b/deps/nghttp2/lib/nghttp2_hd_huffman.c index 959053f774eda3..f848f3690b347d 100644 --- a/deps/nghttp2/lib/nghttp2_hd_huffman.c +++ b/deps/nghttp2/lib/nghttp2_hd_huffman.c @@ -116,7 +116,9 @@ nghttp2_ssize nghttp2_hd_huff_decode(nghttp2_hd_huff_decode_context *ctx, uint8_t c; /* We use the decoding algorithm described in - http://graphics.ics.uci.edu/pub/Prefix.pdf */ + - http://graphics.ics.uci.edu/pub/Prefix.pdf [!!! NO LONGER VALID !!!] + - https://ics.uci.edu/~dan/pubs/Prefix.pdf + - https://github.com/nghttp2/nghttp2/files/15141264/Prefix.pdf */ for (; src != end;) { c = *src++; t = &huff_decode_table[t->fstate & 0x1ff][c >> 4]; diff --git a/deps/nghttp2/lib/nghttp2_helper.c b/deps/nghttp2/lib/nghttp2_helper.c index b3563d98e0d910..9a2407ab6f518f 100644 --- a/deps/nghttp2/lib/nghttp2_helper.c +++ b/deps/nghttp2/lib/nghttp2_helper.c @@ -160,7 +160,7 @@ int nghttp2_adjust_local_window_size(int32_t *local_window_size_ptr, int32_t recv_reduction_delta; int32_t delta; int32_t new_recv_window_size = - nghttp2_max(0, *recv_window_size_ptr) - *delta_ptr; + nghttp2_max_int32(0, *recv_window_size_ptr) - *delta_ptr; if (new_recv_window_size >= 0) { *recv_window_size_ptr = new_recv_window_size; @@ -177,7 +177,7 @@ int nghttp2_adjust_local_window_size(int32_t *local_window_size_ptr, *local_window_size_ptr += delta; /* If there is recv_reduction due to earlier window_size reduction, we have to adjust it too. */ - recv_reduction_delta = nghttp2_min(*recv_reduction_ptr, delta); + recv_reduction_delta = nghttp2_min_int32(*recv_reduction_ptr, delta); *recv_reduction_ptr -= recv_reduction_delta; if (*recv_window_size_ptr < 0) { *recv_window_size_ptr += recv_reduction_delta; @@ -233,7 +233,7 @@ int nghttp2_increase_local_window_size(int32_t *local_window_size_ptr, *local_window_size_ptr += delta; /* If there is recv_reduction due to earlier window_size reduction, we have to adjust it too. */ - recv_reduction_delta = nghttp2_min(*recv_reduction_ptr, delta); + recv_reduction_delta = nghttp2_min_int32(*recv_reduction_ptr, delta); *recv_reduction_ptr -= recv_reduction_delta; *recv_window_size_ptr += recv_reduction_delta; diff --git a/deps/nghttp2/lib/nghttp2_helper.h b/deps/nghttp2/lib/nghttp2_helper.h index b1f18ce541ac36..01b85c44ed0f4d 100644 --- a/deps/nghttp2/lib/nghttp2_helper.h +++ b/deps/nghttp2/lib/nghttp2_helper.h @@ -35,8 +35,31 @@ #include #include "nghttp2_mem.h" -#define nghttp2_min(A, B) ((A) < (B) ? (A) : (B)) -#define nghttp2_max(A, B) ((A) > (B) ? (A) : (B)) +#define nghttp2_max_def(SUFFIX, T) \ + static inline T nghttp2_max_##SUFFIX(T a, T b) { return a < b ? b : a; } + +nghttp2_max_def(int8, int8_t); +nghttp2_max_def(int16, int16_t); +nghttp2_max_def(int32, int32_t); +nghttp2_max_def(int64, int64_t); +nghttp2_max_def(uint8, uint8_t); +nghttp2_max_def(uint16, uint16_t); +nghttp2_max_def(uint32, uint32_t); +nghttp2_max_def(uint64, uint64_t); +nghttp2_max_def(size, size_t); + +#define nghttp2_min_def(SUFFIX, T) \ + static inline T nghttp2_min_##SUFFIX(T a, T b) { return a < b ? a : b; } + +nghttp2_min_def(int8, int8_t); +nghttp2_min_def(int16, int16_t); +nghttp2_min_def(int32, int32_t); +nghttp2_min_def(int64, int64_t); +nghttp2_min_def(uint8, uint8_t); +nghttp2_min_def(uint16, uint16_t); +nghttp2_min_def(uint32, uint32_t); +nghttp2_min_def(uint64, uint64_t); +nghttp2_min_def(size, size_t); #define lstreq(A, B, N) ((sizeof((A)) - 1) == (N) && memcmp((A), (B), (N)) == 0) diff --git a/deps/nghttp2/lib/nghttp2_pq.c b/deps/nghttp2/lib/nghttp2_pq.c index 64353acc961dc3..e79ba8365e82e2 100644 --- a/deps/nghttp2/lib/nghttp2_pq.c +++ b/deps/nghttp2/lib/nghttp2_pq.c @@ -69,7 +69,7 @@ int nghttp2_pq_push(nghttp2_pq *pq, nghttp2_pq_entry *item) { void *nq; size_t ncapacity; - ncapacity = nghttp2_max(4, (pq->capacity * 2)); + ncapacity = nghttp2_max_size(4, (pq->capacity * 2)); nq = nghttp2_mem_realloc(pq->mem, pq->q, ncapacity * sizeof(nghttp2_pq_entry *)); diff --git a/deps/nghttp2/lib/nghttp2_ratelim.c b/deps/nghttp2/lib/nghttp2_ratelim.c index 7011655b006f7c..604ac0801a7acc 100644 --- a/deps/nghttp2/lib/nghttp2_ratelim.c +++ b/deps/nghttp2/lib/nghttp2_ratelim.c @@ -61,7 +61,7 @@ void nghttp2_ratelim_update(nghttp2_ratelim *rl, uint64_t tstamp) { } rl->val += gain; - rl->val = nghttp2_min(rl->val, rl->burst); + rl->val = nghttp2_min_uint64(rl->val, rl->burst); } int nghttp2_ratelim_drain(nghttp2_ratelim *rl, uint64_t n) { diff --git a/deps/nghttp2/lib/nghttp2_session.c b/deps/nghttp2/lib/nghttp2_session.c index 004a4dffaa7903..54746fb37b376d 100644 --- a/deps/nghttp2/lib/nghttp2_session.c +++ b/deps/nghttp2/lib/nghttp2_session.c @@ -1700,10 +1700,11 @@ int nghttp2_session_adjust_idle_stream(nghttp2_session *session) { /* Make minimum number of idle streams 16, and maximum 100, which are arbitrary chosen numbers. */ - max = nghttp2_min( - 100, nghttp2_max( - 16, nghttp2_min(session->local_settings.max_concurrent_streams, - session->pending_local_max_concurrent_stream))); + max = nghttp2_min_uint32( + 100, nghttp2_max_uint32( + 16, nghttp2_min_uint32( + session->local_settings.max_concurrent_streams, + session->pending_local_max_concurrent_stream))); DEBUGF("stream: adjusting kept idle streams num_idle_streams=%zu, max=%zu\n", session->num_idle_streams, max); @@ -2131,10 +2132,11 @@ static nghttp2_ssize nghttp2_session_enforce_flow_control_limits( session->remote_window_size, session->remote_settings.max_frame_size, stream->stream_id, stream->remote_window_size); - return nghttp2_min(nghttp2_min(nghttp2_min(requested_window_size, - stream->remote_window_size), - session->remote_window_size), - (int32_t)session->remote_settings.max_frame_size); + return nghttp2_min_int32( + nghttp2_min_int32(nghttp2_min_int32((int32_t)requested_window_size, + stream->remote_window_size), + session->remote_window_size), + (int32_t)session->remote_settings.max_frame_size); } /* @@ -2218,7 +2220,7 @@ static nghttp2_ssize session_call_select_padding(nghttp2_session *session, } max_paddedlen = - nghttp2_min(frame->hd.length + NGHTTP2_MAX_PADLEN, max_payloadlen); + nghttp2_min_size(frame->hd.length + NGHTTP2_MAX_PADLEN, max_payloadlen); if (session->callbacks.select_padding_callback2) { rv = session->callbacks.select_padding_callback2( @@ -2248,8 +2250,8 @@ static int session_headers_add_pad(nghttp2_session *session, aob = &session->aob; framebufs = &aob->framebufs; - max_payloadlen = nghttp2_min(NGHTTP2_MAX_PAYLOADLEN, - frame->hd.length + NGHTTP2_MAX_PADLEN); + max_payloadlen = nghttp2_min_size(NGHTTP2_MAX_PAYLOADLEN, + frame->hd.length + NGHTTP2_MAX_PADLEN); padded_payloadlen = session_call_select_padding(session, frame, max_payloadlen); @@ -2289,7 +2291,7 @@ static int session_pack_extension(nghttp2_session *session, nghttp2_bufs *bufs, session->callbacks.pack_extension_callback); buf = &bufs->head->buf; - buflen = nghttp2_min(nghttp2_buf_avail(buf), NGHTTP2_MAX_PAYLOADLEN); + buflen = nghttp2_min_size(nghttp2_buf_avail(buf), NGHTTP2_MAX_PAYLOADLEN); if (session->callbacks.pack_extension_callback2) { rv = session->callbacks.pack_extension_callback2(session, buf->last, buflen, @@ -4708,7 +4710,8 @@ int nghttp2_session_update_local_settings(nghttp2_session *session, case NGHTTP2_SETTINGS_HEADER_TABLE_SIZE: header_table_size_seen = 1; header_table_size = iv[i].value; - min_header_table_size = nghttp2_min(min_header_table_size, iv[i].value); + min_header_table_size = + nghttp2_min_uint32(min_header_table_size, iv[i].value); break; case NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE: new_initial_window_size = (int32_t)iv[i].value; @@ -5594,7 +5597,7 @@ static int session_update_consumed_size(nghttp2_session *session, /* recv_window_size may be smaller than consumed_size, because it may be decreased by negative value with nghttp2_submit_window_update(). */ - recv_size = nghttp2_min(*consumed_size_ptr, *recv_window_size_ptr); + recv_size = nghttp2_min_int32(*consumed_size_ptr, *recv_window_size_ptr); if (nghttp2_should_send_window_update(local_window_size, recv_size)) { rv = nghttp2_session_add_window_update(session, NGHTTP2_FLAG_NONE, @@ -5717,7 +5720,7 @@ static int session_on_data_received_fail_fast(nghttp2_session *session) { static size_t inbound_frame_payload_readlen(nghttp2_inbound_frame *iframe, const uint8_t *in, const uint8_t *last) { - return nghttp2_min((size_t)(last - in), iframe->payloadleft); + return nghttp2_min_size((size_t)(last - in), iframe->payloadleft); } /* @@ -5732,8 +5735,8 @@ static size_t inbound_frame_buf_read(nghttp2_inbound_frame *iframe, const uint8_t *in, const uint8_t *last) { size_t readlen; - readlen = - nghttp2_min((size_t)(last - in), nghttp2_buf_mark_avail(&iframe->sbuf)); + readlen = nghttp2_min_size((size_t)(last - in), + nghttp2_buf_mark_avail(&iframe->sbuf)); iframe->sbuf.last = nghttp2_cpymem(iframe->sbuf.last, in, readlen); @@ -5900,7 +5903,7 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, for (;;) { switch (iframe->state) { case NGHTTP2_IB_READ_CLIENT_MAGIC: - readlen = nghttp2_min(inlen, iframe->payloadleft); + readlen = nghttp2_min_size(inlen, iframe->payloadleft); if (memcmp(&NGHTTP2_CLIENT_MAGIC[NGHTTP2_CLIENT_MAGIC_LEN - iframe->payloadleft], @@ -7509,7 +7512,8 @@ int nghttp2_session_add_goaway(nghttp2_session *session, int32_t last_stream_id, /* last_stream_id must not be increased from the value previously sent */ - last_stream_id = nghttp2_min(last_stream_id, session->local_last_stream_id); + last_stream_id = + nghttp2_min_int32(last_stream_id, session->local_last_stream_id); nghttp2_frame_goaway_init(&frame->goaway, last_stream_id, error_code, opaque_data_copy, opaque_data_len); @@ -7823,7 +7827,8 @@ int nghttp2_session_pack_data(nghttp2_session *session, nghttp2_bufs *bufs, frame->hd.length = (size_t)payloadlen; frame->data.padlen = 0; - max_payloadlen = nghttp2_min(datamax, frame->hd.length + NGHTTP2_MAX_PADLEN); + max_payloadlen = + nghttp2_min_size(datamax, frame->hd.length + NGHTTP2_MAX_PADLEN); padded_payloadlen = session_call_select_padding(session, frame, max_payloadlen); @@ -7997,7 +8002,7 @@ int32_t nghttp2_session_get_stream_remote_window_size(nghttp2_session *session, /* stream->remote_window_size can be negative when SETTINGS_INITIAL_WINDOW_SIZE is changed. */ - return nghttp2_max(0, stream->remote_window_size); + return nghttp2_max_int32(0, stream->remote_window_size); } int32_t nghttp2_session_get_remote_window_size(nghttp2_session *session) { diff --git a/deps/nghttp2/lib/nghttp2_stream.c b/deps/nghttp2/lib/nghttp2_stream.c index f1951f879d7927..bf8b8c39e25acb 100644 --- a/deps/nghttp2/lib/nghttp2_stream.c +++ b/deps/nghttp2/lib/nghttp2_stream.c @@ -312,7 +312,7 @@ int32_t nghttp2_stream_dep_distributed_weight(nghttp2_stream *stream, int32_t weight) { weight = stream->weight * weight / stream->sum_dep_weight; - return nghttp2_max(1, weight); + return nghttp2_max_int32(1, weight); } #ifdef STREAM_DEP_DEBUG diff --git a/deps/nghttp2/lib/nghttp2_submit.c b/deps/nghttp2/lib/nghttp2_submit.c index f947969cd99c1f..72e6588ffbe77d 100644 --- a/deps/nghttp2/lib/nghttp2_submit.c +++ b/deps/nghttp2/lib/nghttp2_submit.c @@ -411,10 +411,10 @@ int nghttp2_submit_window_update(nghttp2_session *session, uint8_t flags, if (window_size_increment > 0) { if (stream_id == 0) { session->consumed_size = - nghttp2_max(0, session->consumed_size - window_size_increment); + nghttp2_max_int32(0, session->consumed_size - window_size_increment); } else { stream->consumed_size = - nghttp2_max(0, stream->consumed_size - window_size_increment); + nghttp2_max_int32(0, stream->consumed_size - window_size_increment); } return nghttp2_session_add_window_update(session, 0, stream_id, diff --git a/deps/npm/bin/npm-prefix.js b/deps/npm/bin/npm-prefix.js index 3ff43de0dd84de..b0b0ace6a92ab9 100755 --- a/deps/npm/bin/npm-prefix.js +++ b/deps/npm/bin/npm-prefix.js @@ -3,7 +3,7 @@ // without having to load all of npm first // It does not accept argv params -const path = require('path') +const path = require('node:path') const Config = require('@npmcli/config') const { definitions, flatten, shorthands } = require('@npmcli/config/lib/definitions') const config = new Config({ diff --git a/deps/npm/docs/content/commands/npm-diff.md b/deps/npm/docs/content/commands/npm-diff.md index e93aef383c3f27..5248410972785d 100644 --- a/deps/npm/docs/content/commands/npm-diff.md +++ b/deps/npm/docs/content/commands/npm-diff.md @@ -248,12 +248,15 @@ folder instead of the current working directory. See If you ask npm to install a package and don't tell it a specific version, then it will install the specified tag. -Also the tag that is added to the package@version specified by the `npm tag` -command, if no explicit tag is given. +It is the tag added to the package@version specified in the `npm dist-tag +add` command, if no explicit tag is given. When used by the `npm diff` command, this is the tag used to fetch the tarball that will be compared with the local files by default. +If used in the `npm publish` command, this is the tag that will be added to +the package submitted to the registry. + #### `workspace` diff --git a/deps/npm/docs/content/commands/npm-ls.md b/deps/npm/docs/content/commands/npm-ls.md index 89a4bd3604ce40..eb9314720d91ce 100644 --- a/deps/npm/docs/content/commands/npm-ls.md +++ b/deps/npm/docs/content/commands/npm-ls.md @@ -27,7 +27,7 @@ packages will *also* show the paths to the specified packages. For example, running `npm ls promzard` in npm's source tree will show: ```bash -npm@10.7.0 /path/to/npm +npm@10.8.1 /path/to/npm └─┬ init-package-json@0.0.4 └── promzard@0.1.5 ``` diff --git a/deps/npm/docs/content/commands/npm-publish.md b/deps/npm/docs/content/commands/npm-publish.md index a9c368e218543f..6bff5ff1c30201 100644 --- a/deps/npm/docs/content/commands/npm-publish.md +++ b/deps/npm/docs/content/commands/npm-publish.md @@ -95,12 +95,15 @@ built. If you ask npm to install a package and don't tell it a specific version, then it will install the specified tag. -Also the tag that is added to the package@version specified by the `npm tag` -command, if no explicit tag is given. +It is the tag added to the package@version specified in the `npm dist-tag +add` command, if no explicit tag is given. When used by the `npm diff` command, this is the tag used to fetch the tarball that will be compared with the local files by default. +If used in the `npm publish` command, this is the tag that will be added to +the package submitted to the registry. + #### `access` diff --git a/deps/npm/docs/content/commands/npm.md b/deps/npm/docs/content/commands/npm.md index eb9a779cfdee9d..fc19d7c5531669 100644 --- a/deps/npm/docs/content/commands/npm.md +++ b/deps/npm/docs/content/commands/npm.md @@ -14,7 +14,7 @@ Note: This command is unaware of workspaces. ### Version -10.7.0 +10.8.1 ### Description diff --git a/deps/npm/docs/content/configuring-npm/package-json.md b/deps/npm/docs/content/configuring-npm/package-json.md index 43037477491e35..099be58239b247 100644 --- a/deps/npm/docs/content/configuring-npm/package-json.md +++ b/deps/npm/docs/content/configuring-npm/package-json.md @@ -368,7 +368,7 @@ For example, myapp could have this: ```json { "bin": { - "myapp": "./cli.js" + "myapp": "bin/cli.js" } } ``` @@ -385,7 +385,7 @@ package, then you can just supply it as a string. For example: { "name": "my-program", "version": "1.2.5", - "bin": "./path/to/program" + "bin": "path/to/program" } ``` @@ -396,7 +396,7 @@ would be the same as this: "name": "my-program", "version": "1.2.5", "bin": { - "my-program": "./path/to/program" + "my-program": "path/to/program" } } ``` @@ -497,7 +497,7 @@ walking the folder. ### repository Specify the place where your code lives. This is helpful for people who -want to contribute. If the git repo is on GitHub, then the `npm docs` +want to contribute. If the git repo is on GitHub, then the `npm repo` command will be able to find you. Do it like this: @@ -818,11 +818,12 @@ to express this. If you depend on features introduced in 1.5.2, use ### peerDependenciesMeta -When a user installs your package, npm will emit warnings if packages -specified in `peerDependencies` are not already installed. The -`peerDependenciesMeta` field serves to provide npm more information on how +The `peerDependenciesMeta` field serves to provide npm more information on how your peer dependencies are to be used. Specifically, it allows peer -dependencies to be marked as optional. +dependencies to be marked as optional. Npm will not automatically install +optional peer dependencies. This allows you to +integrate and interact with a variety of host packages without requiring +all of them to be installed. For example: @@ -842,11 +843,6 @@ For example: } ``` -Marking a peer dependency as optional ensures npm will not emit a warning -if the `soy-milk` package is not installed on the host. This allows you to -integrate and interact with a variety of host packages without requiring -all of them to be installed. - ### bundleDependencies This defines an array of package names that will be bundled when publishing diff --git a/deps/npm/docs/content/using-npm/config.md b/deps/npm/docs/content/using-npm/config.md index 7158ee304ba46c..6143e59d46a040 100644 --- a/deps/npm/docs/content/using-npm/config.md +++ b/deps/npm/docs/content/using-npm/config.md @@ -1217,7 +1217,7 @@ a semver. Like the `rc` in `1.2.0-rc.8`. * Type: Boolean When set to `true`, npm will display a progress bar during time intensive -operations, if `process.stderr` is a TTY. +operations, if `process.stderr` and `process.stdout` are a TTY. Set to `false` to suppress the progress bar. @@ -1567,12 +1567,15 @@ See also the `ca` config. If you ask npm to install a package and don't tell it a specific version, then it will install the specified tag. -Also the tag that is added to the package@version specified by the `npm tag` -command, if no explicit tag is given. +It is the tag added to the package@version specified in the `npm dist-tag +add` command, if no explicit tag is given. When used by the `npm diff` command, this is the tag used to fetch the tarball that will be compared with the local files by default. +If used in the `npm publish` command, this is the tag that will be added to +the package submitted to the registry. + #### `tag-version-prefix` diff --git a/deps/npm/docs/content/using-npm/removal.md b/deps/npm/docs/content/using-npm/removal.md index 25dbb80baa7a95..3b94a7d18f9d7c 100644 --- a/deps/npm/docs/content/using-npm/removal.md +++ b/deps/npm/docs/content/using-npm/removal.md @@ -12,11 +12,7 @@ So sad to see you go. sudo npm uninstall npm -g ``` -Or, if that fails, get the npm source code, and do: - -```bash -sudo make uninstall -``` +Or, if that fails, please proceed to more severe uninstalling methods. ### More Severe Uninstalling diff --git a/deps/npm/docs/lib/index.js b/deps/npm/docs/lib/index.js index 5f8501ead27b83..b88d20cca35585 100644 --- a/deps/npm/docs/lib/index.js +++ b/deps/npm/docs/lib/index.js @@ -157,7 +157,7 @@ const replaceHelpLinks = (src) => { const transformMan = (src, { data, unified, remarkParse, remarkMan }) => unified() .use(remarkParse) - .use(remarkMan) + .use(remarkMan, { version: `NPM@${version}` }) .processSync(`# ${data.title}(${data.section}) - ${data.description}\n\n${src}`) .toString() diff --git a/deps/npm/docs/output/commands/npm-access.html b/deps/npm/docs/output/commands/npm-access.html index 3263227f8afd5f..65ffb9e90b89f0 100644 --- a/deps/npm/docs/output/commands/npm-access.html +++ b/deps/npm/docs/output/commands/npm-access.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
-

npm-access

+

+ npm-access + @10.8.1 +

Set access level on published packages
diff --git a/deps/npm/docs/output/commands/npm-adduser.html b/deps/npm/docs/output/commands/npm-adduser.html index e515eaa5adabda..9543d85ad76089 100644 --- a/deps/npm/docs/output/commands/npm-adduser.html +++ b/deps/npm/docs/output/commands/npm-adduser.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
-

npm-adduser

+

+ npm-adduser + @10.8.1 +

Add a registry user account
diff --git a/deps/npm/docs/output/commands/npm-audit.html b/deps/npm/docs/output/commands/npm-audit.html index 5e8e9d66bb2e59..358a1f07ec803c 100644 --- a/deps/npm/docs/output/commands/npm-audit.html +++ b/deps/npm/docs/output/commands/npm-audit.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
-

npm-audit

+

+ npm-audit + @10.8.1 +

Run a security audit
diff --git a/deps/npm/docs/output/commands/npm-bugs.html b/deps/npm/docs/output/commands/npm-bugs.html index b3f7987e53a092..3fb83b80a2250b 100644 --- a/deps/npm/docs/output/commands/npm-bugs.html +++ b/deps/npm/docs/output/commands/npm-bugs.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
-

npm-bugs

+

+ npm-bugs + @10.8.1 +

Report bugs for a package in a web browser
diff --git a/deps/npm/docs/output/commands/npm-cache.html b/deps/npm/docs/output/commands/npm-cache.html index b5ddd5a5ad5c43..354d40937b8f06 100644 --- a/deps/npm/docs/output/commands/npm-cache.html +++ b/deps/npm/docs/output/commands/npm-cache.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
-

npm-cache

+

+ npm-cache + @10.8.1 +

Manipulates packages cache
diff --git a/deps/npm/docs/output/commands/npm-ci.html b/deps/npm/docs/output/commands/npm-ci.html index 4dffceba0d4d5c..ee45b84236f061 100644 --- a/deps/npm/docs/output/commands/npm-ci.html +++ b/deps/npm/docs/output/commands/npm-ci.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
-

npm-ci

+

+ npm-ci + @10.8.1 +

Clean install a project
diff --git a/deps/npm/docs/output/commands/npm-completion.html b/deps/npm/docs/output/commands/npm-completion.html index d43bbf99fcdea5..1f0c580725e5fc 100644 --- a/deps/npm/docs/output/commands/npm-completion.html +++ b/deps/npm/docs/output/commands/npm-completion.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
-

npm-completion

+

+ npm-completion + @10.8.1 +

Tab Completion for npm
diff --git a/deps/npm/docs/output/commands/npm-config.html b/deps/npm/docs/output/commands/npm-config.html index 70a60390e0f90d..72d1ca5deb4525 100644 --- a/deps/npm/docs/output/commands/npm-config.html +++ b/deps/npm/docs/output/commands/npm-config.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
-

npm-config

+

+ npm-config + @10.8.1 +

Manage the npm configuration files
diff --git a/deps/npm/docs/output/commands/npm-dedupe.html b/deps/npm/docs/output/commands/npm-dedupe.html index 625fe39bbd36c7..8cf60ac2d0d94a 100644 --- a/deps/npm/docs/output/commands/npm-dedupe.html +++ b/deps/npm/docs/output/commands/npm-dedupe.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
-

npm-dedupe

+

+ npm-dedupe + @10.8.1 +

Reduce duplication in the package tree
diff --git a/deps/npm/docs/output/commands/npm-deprecate.html b/deps/npm/docs/output/commands/npm-deprecate.html index f332437e1035c3..4088528e81ab3f 100644 --- a/deps/npm/docs/output/commands/npm-deprecate.html +++ b/deps/npm/docs/output/commands/npm-deprecate.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
-

npm-deprecate

+

+ npm-deprecate + @10.8.1 +

Deprecate a version of a package
diff --git a/deps/npm/docs/output/commands/npm-diff.html b/deps/npm/docs/output/commands/npm-diff.html index 13569c85f1837f..0b39ea05f1d4ec 100644 --- a/deps/npm/docs/output/commands/npm-diff.html +++ b/deps/npm/docs/output/commands/npm-diff.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
-

npm-diff

+

+ npm-diff + @10.8.1 +

The registry diff command
@@ -326,10 +334,11 @@

tag

If you ask npm to install a package and don't tell it a specific version, then it will install the specified tag.

-

Also the tag that is added to the package@version specified by the npm tag -command, if no explicit tag is given.

+

It is the tag added to the package@version specified in the npm dist-tag add command, if no explicit tag is given.

When used by the npm diff command, this is the tag used to fetch the tarball that will be compared with the local files by default.

+

If used in the npm publish command, this is the tag that will be added to +the package submitted to the registry.

workspace

  • Default:
  • diff --git a/deps/npm/docs/output/commands/npm-dist-tag.html b/deps/npm/docs/output/commands/npm-dist-tag.html index 1e75f62f1fcb49..ccaa92003210aa 100644 --- a/deps/npm/docs/output/commands/npm-dist-tag.html +++ b/deps/npm/docs/output/commands/npm-dist-tag.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-dist-tag

    +

    + npm-dist-tag + @10.8.1 +

    Modify package distribution tags
    diff --git a/deps/npm/docs/output/commands/npm-docs.html b/deps/npm/docs/output/commands/npm-docs.html index 53885437ec9a19..206df2950ea64c 100644 --- a/deps/npm/docs/output/commands/npm-docs.html +++ b/deps/npm/docs/output/commands/npm-docs.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-docs

    +

    + npm-docs + @10.8.1 +

    Open documentation for a package in a web browser
    diff --git a/deps/npm/docs/output/commands/npm-doctor.html b/deps/npm/docs/output/commands/npm-doctor.html index fc4f7643fad896..f3d9c9daf2c731 100644 --- a/deps/npm/docs/output/commands/npm-doctor.html +++ b/deps/npm/docs/output/commands/npm-doctor.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-doctor

    +

    + npm-doctor + @10.8.1 +

    Check the health of your npm environment
    diff --git a/deps/npm/docs/output/commands/npm-edit.html b/deps/npm/docs/output/commands/npm-edit.html index 52c8e573836abc..bf8bd4a2a7d70f 100644 --- a/deps/npm/docs/output/commands/npm-edit.html +++ b/deps/npm/docs/output/commands/npm-edit.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-edit

    +

    + npm-edit + @10.8.1 +

    Edit an installed package
    diff --git a/deps/npm/docs/output/commands/npm-exec.html b/deps/npm/docs/output/commands/npm-exec.html index 51f6c2b75e4566..649cf404ef08f0 100644 --- a/deps/npm/docs/output/commands/npm-exec.html +++ b/deps/npm/docs/output/commands/npm-exec.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-exec

    +

    + npm-exec + @10.8.1 +

    Run a command from a local or remote npm package
    diff --git a/deps/npm/docs/output/commands/npm-explain.html b/deps/npm/docs/output/commands/npm-explain.html index 74305d399bc6d4..ab47be253e44b6 100644 --- a/deps/npm/docs/output/commands/npm-explain.html +++ b/deps/npm/docs/output/commands/npm-explain.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-explain

    +

    + npm-explain + @10.8.1 +

    Explain installed packages
    diff --git a/deps/npm/docs/output/commands/npm-explore.html b/deps/npm/docs/output/commands/npm-explore.html index 2e52c73f3f7c26..21070286a1859b 100644 --- a/deps/npm/docs/output/commands/npm-explore.html +++ b/deps/npm/docs/output/commands/npm-explore.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-explore

    +

    + npm-explore + @10.8.1 +

    Browse an installed package
    diff --git a/deps/npm/docs/output/commands/npm-find-dupes.html b/deps/npm/docs/output/commands/npm-find-dupes.html index 86546d345d46cc..9846600156fcb3 100644 --- a/deps/npm/docs/output/commands/npm-find-dupes.html +++ b/deps/npm/docs/output/commands/npm-find-dupes.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-find-dupes

    +

    + npm-find-dupes + @10.8.1 +

    Find duplication in the package tree
    diff --git a/deps/npm/docs/output/commands/npm-fund.html b/deps/npm/docs/output/commands/npm-fund.html index 7193d179f23a33..2fc63283ec761f 100644 --- a/deps/npm/docs/output/commands/npm-fund.html +++ b/deps/npm/docs/output/commands/npm-fund.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-fund

    +

    + npm-fund + @10.8.1 +

    Retrieve funding information
    diff --git a/deps/npm/docs/output/commands/npm-help-search.html b/deps/npm/docs/output/commands/npm-help-search.html index c8ae1b63192108..e97e3d24b699ff 100644 --- a/deps/npm/docs/output/commands/npm-help-search.html +++ b/deps/npm/docs/output/commands/npm-help-search.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-help-search

    +

    + npm-help-search + @10.8.1 +

    Search npm help documentation
    diff --git a/deps/npm/docs/output/commands/npm-help.html b/deps/npm/docs/output/commands/npm-help.html index 3cf78e35bf1f62..12aa45130822cd 100644 --- a/deps/npm/docs/output/commands/npm-help.html +++ b/deps/npm/docs/output/commands/npm-help.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-help

    +

    + npm-help + @10.8.1 +

    Get help on npm
    diff --git a/deps/npm/docs/output/commands/npm-hook.html b/deps/npm/docs/output/commands/npm-hook.html index 46077516384cc5..afd472bda02375 100644 --- a/deps/npm/docs/output/commands/npm-hook.html +++ b/deps/npm/docs/output/commands/npm-hook.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-hook

    +

    + npm-hook + @10.8.1 +

    Manage registry hooks
    diff --git a/deps/npm/docs/output/commands/npm-init.html b/deps/npm/docs/output/commands/npm-init.html index 9094984dd20efa..634768de35c536 100644 --- a/deps/npm/docs/output/commands/npm-init.html +++ b/deps/npm/docs/output/commands/npm-init.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-init

    +

    + npm-init + @10.8.1 +

    Create a package.json file
    diff --git a/deps/npm/docs/output/commands/npm-install-ci-test.html b/deps/npm/docs/output/commands/npm-install-ci-test.html index 407dbf9a2dd6bd..9a7123b892b34f 100644 --- a/deps/npm/docs/output/commands/npm-install-ci-test.html +++ b/deps/npm/docs/output/commands/npm-install-ci-test.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-install-ci-test

    +

    + npm-install-ci-test + @10.8.1 +

    Install a project with a clean slate and run tests
    diff --git a/deps/npm/docs/output/commands/npm-install-test.html b/deps/npm/docs/output/commands/npm-install-test.html index bdbe82f5d3442a..f953d621cc9ec8 100644 --- a/deps/npm/docs/output/commands/npm-install-test.html +++ b/deps/npm/docs/output/commands/npm-install-test.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-install-test

    +

    + npm-install-test + @10.8.1 +

    Install package(s) and run tests
    diff --git a/deps/npm/docs/output/commands/npm-install.html b/deps/npm/docs/output/commands/npm-install.html index 774da9fc37b106..23cc94750d0ad5 100644 --- a/deps/npm/docs/output/commands/npm-install.html +++ b/deps/npm/docs/output/commands/npm-install.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-install

    +

    + npm-install + @10.8.1 +

    Install a package
    diff --git a/deps/npm/docs/output/commands/npm-link.html b/deps/npm/docs/output/commands/npm-link.html index 93ec04390fc5b2..e018b25adde2b9 100644 --- a/deps/npm/docs/output/commands/npm-link.html +++ b/deps/npm/docs/output/commands/npm-link.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-link

    +

    + npm-link + @10.8.1 +

    Symlink a package folder
    diff --git a/deps/npm/docs/output/commands/npm-login.html b/deps/npm/docs/output/commands/npm-login.html index 5ffff8aa627168..4ecb190ad3db7b 100644 --- a/deps/npm/docs/output/commands/npm-login.html +++ b/deps/npm/docs/output/commands/npm-login.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-login

    +

    + npm-login + @10.8.1 +

    Login to a registry user account
    diff --git a/deps/npm/docs/output/commands/npm-logout.html b/deps/npm/docs/output/commands/npm-logout.html index 5767772b68c4f0..724292567d79a9 100644 --- a/deps/npm/docs/output/commands/npm-logout.html +++ b/deps/npm/docs/output/commands/npm-logout.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-logout

    +

    + npm-logout + @10.8.1 +

    Log out of the registry
    diff --git a/deps/npm/docs/output/commands/npm-ls.html b/deps/npm/docs/output/commands/npm-ls.html index be2287797a8f30..df92c00c059cd6 100644 --- a/deps/npm/docs/output/commands/npm-ls.html +++ b/deps/npm/docs/output/commands/npm-ls.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-ls

    +

    + npm-ls + @10.8.1 +

    List installed packages
    @@ -160,7 +168,7 @@

    Description

    the results to only the paths to the packages named. Note that nested packages will also show the paths to the specified packages. For example, running npm ls promzard in npm's source tree will show:

    -
    npm@10.7.0 /path/to/npm
    +
    npm@10.8.1 /path/to/npm
     └─┬ init-package-json@0.0.4
       └── promzard@0.1.5
     
    diff --git a/deps/npm/docs/output/commands/npm-org.html b/deps/npm/docs/output/commands/npm-org.html index 601abc6369724e..84e9c5968b9a8a 100644 --- a/deps/npm/docs/output/commands/npm-org.html +++ b/deps/npm/docs/output/commands/npm-org.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-org

    +

    + npm-org + @10.8.1 +

    Manage orgs
    diff --git a/deps/npm/docs/output/commands/npm-outdated.html b/deps/npm/docs/output/commands/npm-outdated.html index 96689fb906c263..2bd3e8079825b8 100644 --- a/deps/npm/docs/output/commands/npm-outdated.html +++ b/deps/npm/docs/output/commands/npm-outdated.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-outdated

    +

    + npm-outdated + @10.8.1 +

    Check for outdated packages
    diff --git a/deps/npm/docs/output/commands/npm-owner.html b/deps/npm/docs/output/commands/npm-owner.html index dab34abe97c14a..2877b42a263767 100644 --- a/deps/npm/docs/output/commands/npm-owner.html +++ b/deps/npm/docs/output/commands/npm-owner.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-owner

    +

    + npm-owner + @10.8.1 +

    Manage package owners
    diff --git a/deps/npm/docs/output/commands/npm-pack.html b/deps/npm/docs/output/commands/npm-pack.html index f8f5d784224d73..143a87d02e59ba 100644 --- a/deps/npm/docs/output/commands/npm-pack.html +++ b/deps/npm/docs/output/commands/npm-pack.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-pack

    +

    + npm-pack + @10.8.1 +

    Create a tarball from a package
    diff --git a/deps/npm/docs/output/commands/npm-ping.html b/deps/npm/docs/output/commands/npm-ping.html index 708238b04497f8..f78d6c5be6e640 100644 --- a/deps/npm/docs/output/commands/npm-ping.html +++ b/deps/npm/docs/output/commands/npm-ping.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-ping

    +

    + npm-ping + @10.8.1 +

    Ping npm registry
    diff --git a/deps/npm/docs/output/commands/npm-pkg.html b/deps/npm/docs/output/commands/npm-pkg.html index d60ca0b0f4aac7..bfa083f4db1fb1 100644 --- a/deps/npm/docs/output/commands/npm-pkg.html +++ b/deps/npm/docs/output/commands/npm-pkg.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-pkg

    +

    + npm-pkg + @10.8.1 +

    Manages your package.json
    diff --git a/deps/npm/docs/output/commands/npm-prefix.html b/deps/npm/docs/output/commands/npm-prefix.html index 41789e3e315088..726177323d7072 100644 --- a/deps/npm/docs/output/commands/npm-prefix.html +++ b/deps/npm/docs/output/commands/npm-prefix.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-prefix

    +

    + npm-prefix + @10.8.1 +

    Display prefix
    diff --git a/deps/npm/docs/output/commands/npm-profile.html b/deps/npm/docs/output/commands/npm-profile.html index e0c913a6b46b22..58dbf8d78faf7a 100644 --- a/deps/npm/docs/output/commands/npm-profile.html +++ b/deps/npm/docs/output/commands/npm-profile.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-profile

    +

    + npm-profile + @10.8.1 +

    Change settings on your registry profile
    diff --git a/deps/npm/docs/output/commands/npm-prune.html b/deps/npm/docs/output/commands/npm-prune.html index 94d016027e8363..06c076db286e32 100644 --- a/deps/npm/docs/output/commands/npm-prune.html +++ b/deps/npm/docs/output/commands/npm-prune.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-prune

    +

    + npm-prune + @10.8.1 +

    Remove extraneous packages
    diff --git a/deps/npm/docs/output/commands/npm-publish.html b/deps/npm/docs/output/commands/npm-publish.html index b5b18b4ddca610..970a2228070cbb 100644 --- a/deps/npm/docs/output/commands/npm-publish.html +++ b/deps/npm/docs/output/commands/npm-publish.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-publish

    +

    + npm-publish + @10.8.1 +

    Publish a package
    @@ -225,10 +233,11 @@

    tag

If you ask npm to install a package and don't tell it a specific version, then it will install the specified tag.

-

Also the tag that is added to the package@version specified by the npm tag -command, if no explicit tag is given.

+

It is the tag added to the package@version specified in the npm dist-tag add command, if no explicit tag is given.

When used by the npm diff command, this is the tag used to fetch the tarball that will be compared with the local files by default.

+

If used in the npm publish command, this is the tag that will be added to +the package submitted to the registry.

access

  • Default: 'public' for new packages, existing packages it will not change the diff --git a/deps/npm/docs/output/commands/npm-query.html b/deps/npm/docs/output/commands/npm-query.html index 228de6787fd408..4327c1245f90d0 100644 --- a/deps/npm/docs/output/commands/npm-query.html +++ b/deps/npm/docs/output/commands/npm-query.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-query

    +

    + npm-query + @10.8.1 +

    Dependency selector query
    diff --git a/deps/npm/docs/output/commands/npm-rebuild.html b/deps/npm/docs/output/commands/npm-rebuild.html index ee3ba1e8163502..b722d7456a506a 100644 --- a/deps/npm/docs/output/commands/npm-rebuild.html +++ b/deps/npm/docs/output/commands/npm-rebuild.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-rebuild

    +

    + npm-rebuild + @10.8.1 +

    Rebuild a package
    diff --git a/deps/npm/docs/output/commands/npm-repo.html b/deps/npm/docs/output/commands/npm-repo.html index 4278ffae934975..dd77662cb434d9 100644 --- a/deps/npm/docs/output/commands/npm-repo.html +++ b/deps/npm/docs/output/commands/npm-repo.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-repo

    +

    + npm-repo + @10.8.1 +

    Open package repository page in the browser
    diff --git a/deps/npm/docs/output/commands/npm-restart.html b/deps/npm/docs/output/commands/npm-restart.html index 368252f58ea5b3..6573171d2ca1b5 100644 --- a/deps/npm/docs/output/commands/npm-restart.html +++ b/deps/npm/docs/output/commands/npm-restart.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-restart

    +

    + npm-restart + @10.8.1 +

    Restart a package
    diff --git a/deps/npm/docs/output/commands/npm-root.html b/deps/npm/docs/output/commands/npm-root.html index d300a0caaf8fb6..b0d2d2743346e0 100644 --- a/deps/npm/docs/output/commands/npm-root.html +++ b/deps/npm/docs/output/commands/npm-root.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-root

    +

    + npm-root + @10.8.1 +

    Display npm root
    diff --git a/deps/npm/docs/output/commands/npm-run-script.html b/deps/npm/docs/output/commands/npm-run-script.html index 9f0c03940e83d3..9639f09baae960 100644 --- a/deps/npm/docs/output/commands/npm-run-script.html +++ b/deps/npm/docs/output/commands/npm-run-script.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-run-script

    +

    + npm-run-script + @10.8.1 +

    Run arbitrary package scripts
    diff --git a/deps/npm/docs/output/commands/npm-sbom.html b/deps/npm/docs/output/commands/npm-sbom.html index 01302780a2ab77..d0f10a7ccc0816 100644 --- a/deps/npm/docs/output/commands/npm-sbom.html +++ b/deps/npm/docs/output/commands/npm-sbom.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-sbom

    +

    + npm-sbom + @10.8.1 +

    Generate a Software Bill of Materials (SBOM)
    diff --git a/deps/npm/docs/output/commands/npm-search.html b/deps/npm/docs/output/commands/npm-search.html index 3d7821531f730a..6a4897dfe29940 100644 --- a/deps/npm/docs/output/commands/npm-search.html +++ b/deps/npm/docs/output/commands/npm-search.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-search

    +

    + npm-search + @10.8.1 +

    Search for packages
    diff --git a/deps/npm/docs/output/commands/npm-shrinkwrap.html b/deps/npm/docs/output/commands/npm-shrinkwrap.html index fd219fe06a4ce8..24957cb2d3864d 100644 --- a/deps/npm/docs/output/commands/npm-shrinkwrap.html +++ b/deps/npm/docs/output/commands/npm-shrinkwrap.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-shrinkwrap

    +

    + npm-shrinkwrap + @10.8.1 +

    Lock down dependency versions for publication
    diff --git a/deps/npm/docs/output/commands/npm-star.html b/deps/npm/docs/output/commands/npm-star.html index 58f8c0946bfb5e..4adbcafb8c0e24 100644 --- a/deps/npm/docs/output/commands/npm-star.html +++ b/deps/npm/docs/output/commands/npm-star.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-star

    +

    + npm-star + @10.8.1 +

    Mark your favorite packages
    diff --git a/deps/npm/docs/output/commands/npm-stars.html b/deps/npm/docs/output/commands/npm-stars.html index 18ffb8529d31a8..05dc3fea90abff 100644 --- a/deps/npm/docs/output/commands/npm-stars.html +++ b/deps/npm/docs/output/commands/npm-stars.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-stars

    +

    + npm-stars + @10.8.1 +

    View packages marked as favorites
    diff --git a/deps/npm/docs/output/commands/npm-start.html b/deps/npm/docs/output/commands/npm-start.html index 79647edf37980d..76b0727b964c86 100644 --- a/deps/npm/docs/output/commands/npm-start.html +++ b/deps/npm/docs/output/commands/npm-start.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-start

    +

    + npm-start + @10.8.1 +

    Start a package
    diff --git a/deps/npm/docs/output/commands/npm-stop.html b/deps/npm/docs/output/commands/npm-stop.html index a744a635d665cc..8044aa976bb6d4 100644 --- a/deps/npm/docs/output/commands/npm-stop.html +++ b/deps/npm/docs/output/commands/npm-stop.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-stop

    +

    + npm-stop + @10.8.1 +

    Stop a package
    diff --git a/deps/npm/docs/output/commands/npm-team.html b/deps/npm/docs/output/commands/npm-team.html index 6752bb38102d7a..61646ebf3e5615 100644 --- a/deps/npm/docs/output/commands/npm-team.html +++ b/deps/npm/docs/output/commands/npm-team.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-team

    +

    + npm-team + @10.8.1 +

    Manage organization teams and team memberships
    diff --git a/deps/npm/docs/output/commands/npm-test.html b/deps/npm/docs/output/commands/npm-test.html index 6e1732ade6b13a..4889992fe96bb7 100644 --- a/deps/npm/docs/output/commands/npm-test.html +++ b/deps/npm/docs/output/commands/npm-test.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-test

    +

    + npm-test + @10.8.1 +

    Test a package
    diff --git a/deps/npm/docs/output/commands/npm-token.html b/deps/npm/docs/output/commands/npm-token.html index 33b66d08e69def..76a0ddc501cd72 100644 --- a/deps/npm/docs/output/commands/npm-token.html +++ b/deps/npm/docs/output/commands/npm-token.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-token

    +

    + npm-token + @10.8.1 +

    Manage your authentication tokens
    diff --git a/deps/npm/docs/output/commands/npm-uninstall.html b/deps/npm/docs/output/commands/npm-uninstall.html index 4a4e6c274a09e7..d8816dc7538056 100644 --- a/deps/npm/docs/output/commands/npm-uninstall.html +++ b/deps/npm/docs/output/commands/npm-uninstall.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-uninstall

    +

    + npm-uninstall + @10.8.1 +

    Remove a package
    diff --git a/deps/npm/docs/output/commands/npm-unpublish.html b/deps/npm/docs/output/commands/npm-unpublish.html index cf952c56f4cfdf..0ef9855c1e2499 100644 --- a/deps/npm/docs/output/commands/npm-unpublish.html +++ b/deps/npm/docs/output/commands/npm-unpublish.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-unpublish

    +

    + npm-unpublish + @10.8.1 +

    Remove a package from the registry
    diff --git a/deps/npm/docs/output/commands/npm-unstar.html b/deps/npm/docs/output/commands/npm-unstar.html index 602e555e760e14..5bc670d8e683e5 100644 --- a/deps/npm/docs/output/commands/npm-unstar.html +++ b/deps/npm/docs/output/commands/npm-unstar.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-unstar

    +

    + npm-unstar + @10.8.1 +

    Remove an item from your favorite packages
    diff --git a/deps/npm/docs/output/commands/npm-update.html b/deps/npm/docs/output/commands/npm-update.html index 462bca7b771628..c4992cee5b6c73 100644 --- a/deps/npm/docs/output/commands/npm-update.html +++ b/deps/npm/docs/output/commands/npm-update.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-update

    +

    + npm-update + @10.8.1 +

    Update packages
    diff --git a/deps/npm/docs/output/commands/npm-version.html b/deps/npm/docs/output/commands/npm-version.html index 4977af5173cf55..de99cea865a282 100644 --- a/deps/npm/docs/output/commands/npm-version.html +++ b/deps/npm/docs/output/commands/npm-version.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-version

    +

    + npm-version + @10.8.1 +

    Bump a package version
    diff --git a/deps/npm/docs/output/commands/npm-view.html b/deps/npm/docs/output/commands/npm-view.html index af43193dd0869b..d84240fa2b72b6 100644 --- a/deps/npm/docs/output/commands/npm-view.html +++ b/deps/npm/docs/output/commands/npm-view.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-view

    +

    + npm-view + @10.8.1 +

    View registry info
    diff --git a/deps/npm/docs/output/commands/npm-whoami.html b/deps/npm/docs/output/commands/npm-whoami.html index 9e5050b06ee9e4..c025f1975f92d0 100644 --- a/deps/npm/docs/output/commands/npm-whoami.html +++ b/deps/npm/docs/output/commands/npm-whoami.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-whoami

    +

    + npm-whoami + @10.8.1 +

    Display npm username
    diff --git a/deps/npm/docs/output/commands/npm.html b/deps/npm/docs/output/commands/npm.html index 1a279cf259db33..81a9e3aa38f9e9 100644 --- a/deps/npm/docs/output/commands/npm.html +++ b/deps/npm/docs/output/commands/npm.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm

    +

    + npm + @10.8.1 +

    javascript package manager
    @@ -150,7 +158,7 @@

    Table of contents

    Note: This command is unaware of workspaces.

    Version

    -

    10.7.0

    +

    10.8.1

    Description

    npm is the package manager for the Node JavaScript platform. It puts modules in place so that node can find them, and manages dependency diff --git a/deps/npm/docs/output/commands/npx.html b/deps/npm/docs/output/commands/npx.html index d2bebc34c0c484..0f25bd41f35af6 100644 --- a/deps/npm/docs/output/commands/npx.html +++ b/deps/npm/docs/output/commands/npx.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@

    -

    npx

    +

    + npx + @10.8.1 +

    Run a command from a local or remote npm package
    diff --git a/deps/npm/docs/output/configuring-npm/folders.html b/deps/npm/docs/output/configuring-npm/folders.html index cb97ac6ad25326..f0eebc8665cf58 100644 --- a/deps/npm/docs/output/configuring-npm/folders.html +++ b/deps/npm/docs/output/configuring-npm/folders.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    folders

    +

    + folders + @10.8.1 +

    Folder Structures Used by npm
    diff --git a/deps/npm/docs/output/configuring-npm/install.html b/deps/npm/docs/output/configuring-npm/install.html index 996082d018ea30..2d874b6f05696c 100644 --- a/deps/npm/docs/output/configuring-npm/install.html +++ b/deps/npm/docs/output/configuring-npm/install.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    install

    +

    + install + @10.8.1 +

    Download and install node and npm
    diff --git a/deps/npm/docs/output/configuring-npm/npm-global.html b/deps/npm/docs/output/configuring-npm/npm-global.html new file mode 100644 index 00000000000000..f0eebc8665cf58 --- /dev/null +++ b/deps/npm/docs/output/configuring-npm/npm-global.html @@ -0,0 +1,330 @@ + + +folders + + + + + +
    +
    +

    + folders + @10.8.1 +

    +Folder Structures Used by npm +
    + +
    +

    Table of contents

    + +
    + +

    Description

    +

    npm puts various things on your computer. That's its job.

    +

    This document will tell you what it puts where.

    +

    tl;dr

    +
      +
    • Local install (default): puts stuff in ./node_modules of the current +package root.
    • +
    • Global install (with -g): puts stuff in /usr/local or wherever node +is installed.
    • +
    • Install it locally if you're going to require() it.
    • +
    • Install it globally if you're going to run it on the command line.
    • +
    • If you need both, then install it in both places, or use npm link.
    • +
    +

    prefix Configuration

    +

    The prefix config defaults to the location where +node is installed. On most systems, this is /usr/local. On Windows, it's +%AppData%\npm. On Unix systems, it's one level up, since node is typically +installed at {prefix}/bin/node rather than {prefix}/node.exe.

    +

    When the global flag is set, npm installs things into this prefix. +When it is not set, it uses the root of the current package, or the +current working directory if not in a package already.

    +

    Node Modules

    +

    Packages are dropped into the node_modules folder under the prefix. +When installing locally, this means that you can +require("packagename") to load its main module, or +require("packagename/lib/path/to/sub/module") to load other modules.

    +

    Global installs on Unix systems go to {prefix}/lib/node_modules. +Global installs on Windows go to {prefix}/node_modules (that is, no +lib folder.)

    +

    Scoped packages are installed the same way, except they are grouped together +in a sub-folder of the relevant node_modules folder with the name of that +scope prefix by the @ symbol, e.g. npm install @myorg/package would place +the package in {prefix}/node_modules/@myorg/package. See +scope for more details.

    +

    If you wish to require() a package, then install it locally.

    +

    Executables

    +

    When in global mode, executables are linked into {prefix}/bin on Unix, +or directly into {prefix} on Windows. Ensure that path is in your +terminal's PATH environment to run them.

    +

    When in local mode, executables are linked into +./node_modules/.bin so that they can be made available to scripts run +through npm. (For example, so that a test runner will be in the path +when you run npm test.)

    +

    Man Pages

    +

    When in global mode, man pages are linked into {prefix}/share/man.

    +

    When in local mode, man pages are not installed.

    +

    Man pages are not installed on Windows systems.

    +

    Cache

    +

    See npm cache. Cache files are stored in ~/.npm on Posix, or +%LocalAppData%/npm-cache on Windows.

    +

    This is controlled by the cache config param.

    +

    Temp Files

    +

    Temporary files are stored by default in the folder specified by the +tmp config, which defaults to the TMPDIR, TMP, or +TEMP environment variables, or /tmp on Unix and c:\windows\temp on Windows.

    +

    Temp files are given a unique folder under this root for each run of the +program, and are deleted upon successful exit.

    +

    More Information

    +

    When installing locally, npm first tries to find an appropriate +prefix folder. This is so that npm install foo@1.2.3 will install +to the sensible root of your package, even if you happen to have cded +into some other folder.

    +

    Starting at the $PWD, npm will walk up the folder tree checking for a +folder that contains either a package.json file, or a node_modules +folder. If such a thing is found, then that is treated as the effective +"current directory" for the purpose of running npm commands. (This +behavior is inspired by and similar to git's .git-folder seeking +logic when running git commands in a working dir.)

    +

    If no package root is found, then the current folder is used.

    +

    When you run npm install foo@1.2.3, then the package is loaded into +the cache, and then unpacked into ./node_modules/foo. Then, any of +foo's dependencies are similarly unpacked into +./node_modules/foo/node_modules/....

    +

    Any bin files are symlinked to ./node_modules/.bin/, so that they may +be found by npm scripts when necessary.

    +

    Global Installation

    +

    If the global config is set to true, then npm will +install packages "globally".

    +

    For global installation, packages are installed roughly the same way, +but using the folders described above.

    +

    Cycles, Conflicts, and Folder Parsimony

    +

    Cycles are handled using the property of node's module system that it +walks up the directories looking for node_modules folders. So, at every +stage, if a package is already installed in an ancestor node_modules +folder, then it is not installed at the current location.

    +

    Consider the case above, where foo -> bar -> baz. Imagine if, in +addition to that, baz depended on bar, so you'd have: +foo -> bar -> baz -> bar -> baz .... However, since the folder +structure is: foo/node_modules/bar/node_modules/baz, there's no need to +put another copy of bar into .../baz/node_modules, since when baz calls +require("bar"), it will get the copy that is installed in +foo/node_modules/bar.

    +

    This shortcut is only used if the exact same +version would be installed in multiple nested node_modules folders. It +is still possible to have a/node_modules/b/node_modules/a if the two +"a" packages are different versions. However, without repeating the +exact same package multiple times, an infinite regress will always be +prevented.

    +

    Another optimization can be made by installing dependencies at the +highest level possible, below the localized "target" folder (hoisting). +Since version 3, npm hoists dependencies by default.

    +

    Example

    +

    Consider this dependency graph:

    +
    foo
    ++-- blerg@1.2.5
    ++-- bar@1.2.3
    +|   +-- blerg@1.x (latest=1.3.7)
    +|   +-- baz@2.x
    +|   |   `-- quux@3.x
    +|   |       `-- bar@1.2.3 (cycle)
    +|   `-- asdf@*
    +`-- baz@1.2.3
    +    `-- quux@3.x
    +        `-- bar
    +
    +

    In this case, we might expect a folder structure like this +(with all dependencies hoisted to the highest level possible):

    +
    foo
    ++-- node_modules
    +    +-- blerg (1.2.5) <---[A]
    +    +-- bar (1.2.3) <---[B]
    +    |   +-- node_modules
    +    |       +-- baz (2.0.2) <---[C]
    +    +-- asdf (2.3.4)
    +    +-- baz (1.2.3) <---[D]
    +    +-- quux (3.2.0) <---[E]
    +
    +

    Since foo depends directly on bar@1.2.3 and baz@1.2.3, those are +installed in foo's node_modules folder.

    +

    Even though the latest copy of blerg is 1.3.7, foo has a specific +dependency on version 1.2.5. So, that gets installed at [A]. Since the +parent installation of blerg satisfies bar's dependency on blerg@1.x, +it does not install another copy under [B].

    +

    Bar [B] also has dependencies on baz and asdf. Because it depends on baz@2.x, it cannot +re-use the baz@1.2.3 installed in the parent node_modules folder [D], +and must install its own copy [C]. In order to minimize duplication, npm hoists +dependencies to the top level by default, so asdf is installed under [A].

    +

    Underneath bar, the baz -> quux -> bar dependency creates a cycle. +However, because bar is already in quux's ancestry [B], it does not +unpack another copy of bar into that folder. Likewise, quux's [E] +folder tree is empty, because its dependency on bar is satisfied +by the parent folder copy installed at [B].

    +

    For a graphical breakdown of what is installed where, use npm ls.

    +

    Publishing

    +

    Upon publishing, npm will look in the node_modules folder. If any of +the items there are not in the bundleDependencies array, then they will +not be included in the package tarball.

    +

    This allows a package maintainer to install all of their dependencies +(and dev dependencies) locally, but only re-publish those items that +cannot be found elsewhere. See package.json for more information.

    +

    See also

    +
    + + +
    + + + + \ No newline at end of file diff --git a/deps/npm/docs/output/configuring-npm/npm-json.html b/deps/npm/docs/output/configuring-npm/npm-json.html new file mode 100644 index 00000000000000..895df5190c2487 --- /dev/null +++ b/deps/npm/docs/output/configuring-npm/npm-json.html @@ -0,0 +1,1080 @@ + + +package.json + + + + + +
    +
    +

    + package.json + @10.8.1 +

    +Specifics of npm's package.json handling +
    + +
    +

    Table of contents

    + +
    + +

    Description

    +

    This document is all you need to know about what's required in your +package.json file. It must be actual JSON, not just a JavaScript object +literal.

    +

    A lot of the behavior described in this document is affected by the config +settings described in config.

    +

    name

    +

    If you plan to publish your package, the most important things in your +package.json are the name and version fields as they will be required. The +name and version together form an identifier that is assumed to be +completely unique. Changes to the package should come along with changes +to the version. If you don't plan to publish your package, the name and +version fields are optional.

    +

    The name is what your thing is called.

    +

    Some rules:

    +
      +
    • The name must be less than or equal to 214 characters. This includes the +scope for scoped packages.
    • +
    • The names of scoped packages can begin with a dot or an underscore. This +is not permitted without a scope.
    • +
    • New packages must not have uppercase letters in the name.
    • +
    • The name ends up being part of a URL, an argument on the command line, +and a folder name. Therefore, the name can't contain any non-URL-safe +characters.
    • +
    +

    Some tips:

    +
      +
    • Don't use the same name as a core Node module.
    • +
    • Don't put "js" or "node" in the name. It's assumed that it's js, since +you're writing a package.json file, and you can specify the engine using +the "engines" field. (See below.)
    • +
    • The name will probably be passed as an argument to require(), so it +should be something short, but also reasonably descriptive.
    • +
    • You may want to check the npm registry to see if there's something by +that name already, before you get too attached to it. +https://www.npmjs.com/
    • +
    +

    A name can be optionally prefixed by a scope, e.g. @myorg/mypackage. See +scope for more detail.

    +

    version

    +

    If you plan to publish your package, the most important things in your +package.json are the name and version fields as they will be required. The +name and version together form an identifier that is assumed to be +completely unique. Changes to the package should come along with changes +to the version. If you don't plan to publish your package, the name and +version fields are optional.

    +

    Version must be parseable by +node-semver, which is bundled with +npm as a dependency. (npm install semver to use it yourself.)

    +

    description

    +

    Put a description in it. It's a string. This helps people discover your +package, as it's listed in npm search.

    +

    keywords

    +

    Put keywords in it. It's an array of strings. This helps people discover +your package as it's listed in npm search.

    +

    homepage

    +

    The URL to the project homepage.

    +

    Example:

    +
    "homepage": "https://github.com/owner/project#readme"
    +
    +

    bugs

    +

    The URL to your project's issue tracker and / or the email address to which +issues should be reported. These are helpful for people who encounter +issues with your package.

    +

    It should look like this:

    +
    {
    +  "bugs": {
    +    "url": "https://github.com/owner/project/issues",
    +    "email": "project@hostname.com"
    +  }
    +}
    +
    +

    You can specify either one or both values. If you want to provide only a +URL, you can specify the value for "bugs" as a simple string instead of an +object.

    +

    If a URL is provided, it will be used by the npm bugs command.

    +

    license

    +

    You should specify a license for your package so that people know how they +are permitted to use it, and any restrictions you're placing on it.

    +

    If you're using a common license such as BSD-2-Clause or MIT, add a current +SPDX license identifier for the license you're using, like this:

    +
    {
    +  "license" : "BSD-3-Clause"
    +}
    +
    +

    You can check the full list of SPDX license +IDs. Ideally you should pick one that is +OSI approved.

    +

    If your package is licensed under multiple common licenses, use an SPDX +license expression syntax version 2.0 +string, like this:

    +
    {
    +  "license" : "(ISC OR GPL-3.0)"
    +}
    +
    +

    If you are using a license that hasn't been assigned an SPDX identifier, or if +you are using a custom license, use a string value like this one:

    +
    {
    +  "license" : "SEE LICENSE IN <filename>"
    +}
    +
    +

    Then include a file named <filename> at the top level of the package.

    +

    Some old packages used license objects or a "licenses" property containing +an array of license objects:

    +
    // Not valid metadata
    +{
    +  "license" : {
    +    "type" : "ISC",
    +    "url" : "https://opensource.org/licenses/ISC"
    +  }
    +}
    +
    +// Not valid metadata
    +{
    +  "licenses" : [
    +    {
    +      "type": "MIT",
    +      "url": "https://www.opensource.org/licenses/mit-license.php"
    +    },
    +    {
    +      "type": "Apache-2.0",
    +      "url": "https://opensource.org/licenses/apache2.0.php"
    +    }
    +  ]
    +}
    +
    +

    Those styles are now deprecated. Instead, use SPDX expressions, like this:

    +
    {
    +  "license": "ISC"
    +}
    +
    +
    {
    +  "license": "(MIT OR Apache-2.0)"
    +}
    +
    +

    Finally, if you do not wish to grant others the right to use a private or +unpublished package under any terms:

    +
    {
    +  "license": "UNLICENSED"
    +}
    +
    +

    Consider also setting "private": true to prevent accidental publication.

    +

    people fields: author, contributors

    +

    The "author" is one person. "contributors" is an array of people. A +"person" is an object with a "name" field and optionally "url" and "email", +like this:

    +
    {
    +  "name" : "Barney Rubble",
    +  "email" : "b@rubble.com",
    +  "url" : "http://barnyrubble.tumblr.com/"
    +}
    +
    +

    Or you can shorten that all into a single string, and npm will parse it for +you:

    +
    {
    +  "author": "Barney Rubble <b@rubble.com> (http://barnyrubble.tumblr.com/)"
    +}
    +
    +

    Both email and url are optional either way.

    +

    npm also sets a top-level "maintainers" field with your npm user info.

    +

    funding

    +

    You can specify an object containing a URL that provides up-to-date +information about ways to help fund development of your package, or a +string URL, or an array of these:

    +
    {
    +  "funding": {
    +    "type" : "individual",
    +    "url" : "http://example.com/donate"
    +  },
    +
    +  "funding": {
    +    "type" : "patreon",
    +    "url" : "https://www.patreon.com/my-account"
    +  },
    +
    +  "funding": "http://example.com/donate",
    +
    +  "funding": [
    +    {
    +      "type" : "individual",
    +      "url" : "http://example.com/donate"
    +    },
    +    "http://example.com/donateAlso",
    +    {
    +      "type" : "patreon",
    +      "url" : "https://www.patreon.com/my-account"
    +    }
    +  ]
    +}
    +
    +

    Users can use the npm fund subcommand to list the funding URLs of all +dependencies of their project, direct and indirect. A shortcut to visit +each funding url is also available when providing the project name such as: +npm fund <projectname> (when there are multiple URLs, the first one will +be visited)

    +

    files

    +

    The optional files field is an array of file patterns that describes the +entries to be included when your package is installed as a dependency. File +patterns follow a similar syntax to .gitignore, but reversed: including a +file, directory, or glob pattern (*, **/*, and such) will make it so +that file is included in the tarball when it's packed. Omitting the field +will make it default to ["*"], which means it will include all files.

    +

    Some special files and directories are also included or excluded regardless +of whether they exist in the files array (see below).

    +

    You can also provide a .npmignore file in the root of your package or in +subdirectories, which will keep files from being included. At the root of +your package it will not override the "files" field, but in subdirectories +it will. The .npmignore file works just like a .gitignore. If there is +a .gitignore file, and .npmignore is missing, .gitignore's contents +will be used instead.

    +

    Certain files are always included, regardless of settings:

    +
      +
    • package.json
    • +
    • README
    • +
    • LICENSE / LICENCE
    • +
    • The file in the "main" field
    • +
    • The file(s) in the "bin" field
    • +
    +

    README & LICENSE can have any case and extension.

    +

    Some files are always ignored by default:

    +
      +
    • *.orig
    • +
    • .*.swp
    • +
    • .DS_Store
    • +
    • ._*
    • +
    • .git
    • +
    • .hg
    • +
    • .lock-wscript
    • +
    • .npmrc
    • +
    • .svn
    • +
    • .wafpickle-N
    • +
    • CVS
    • +
    • config.gypi
    • +
    • node_modules
    • +
    • npm-debug.log
    • +
    • package-lock.json (use +npm-shrinkwrap.json +if you wish it to be published)
    • +
    • pnpm-lock.yaml
    • +
    • yarn.lock
    • +
    +

    Most of these ignored files can be included specifically if included in +the files globs. Exceptions to this are:

    +
      +
    • .git
    • +
    • .npmrc
    • +
    • node_modules
    • +
    • package-lock.json
    • +
    • pnpm-lock.yaml
    • +
    • yarn.lock
    • +
    +

    These can not be included.

    +

    main

    +

    The main field is a module ID that is the primary entry point to your +program. That is, if your package is named foo, and a user installs it, +and then does require("foo"), then your main module's exports object will +be returned.

    +

    This should be a module relative to the root of your package folder.

    +

    For most modules, it makes the most sense to have a main script and often +not much else.

    +

    If main is not set, it defaults to index.js in the package's root folder.

    +

    browser

    +

    If your module is meant to be used client-side the browser field should be +used instead of the main field. This is helpful to hint users that it might +rely on primitives that aren't available in Node.js modules. (e.g. +window)

    +

    bin

    +

    A lot of packages have one or more executable files that they'd like to +install into the PATH. npm makes this pretty easy (in fact, it uses this +feature to install the "npm" executable.)

    +

    To use this, supply a bin field in your package.json which is a map of +command name to local file name. When this package is installed globally, +that file will be either linked inside the global bins directory or +a cmd (Windows Command File) will be created which executes the specified +file in the bin field, so it is available to run by name or name.cmd (on +Windows PowerShell). When this package is installed as a dependency in another +package, the file will be linked where it will be available to that package +either directly by npm exec or by name in other scripts when invoking them +via npm run-script.

    +

    For example, myapp could have this:

    +
    {
    +  "bin": {
    +    "myapp": "bin/cli.js"
    +  }
    +}
    +
    +

    So, when you install myapp, in case of unix-like OS it'll create a symlink +from the cli.js script to /usr/local/bin/myapp and in case of windows it +will create a cmd file usually at C:\Users\{Username}\AppData\Roaming\npm\myapp.cmd +which runs the cli.js script.

    +

    If you have a single executable, and its name should be the name of the +package, then you can just supply it as a string. For example:

    +
    {
    +  "name": "my-program",
    +  "version": "1.2.5",
    +  "bin": "path/to/program"
    +}
    +
    +

    would be the same as this:

    +
    {
    +  "name": "my-program",
    +  "version": "1.2.5",
    +  "bin": {
    +    "my-program": "path/to/program"
    +  }
    +}
    +
    +

    Please make sure that your file(s) referenced in bin starts with +#!/usr/bin/env node, otherwise the scripts are started without the node +executable!

    +

    Note that you can also set the executable files using directories.bin.

    +

    See folders for more info on +executables.

    +

    man

    +

    Specify either a single file or an array of filenames to put in place for +the man program to find.

    +

    If only a single file is provided, then it's installed such that it is the +result from man <pkgname>, regardless of its actual filename. For +example:

    +
    {
    +  "name": "foo",
    +  "version": "1.2.3",
    +  "description": "A packaged foo fooer for fooing foos",
    +  "main": "foo.js",
    +  "man": "./man/doc.1"
    +}
    +
    +

    would link the ./man/doc.1 file in such that it is the target for man foo

    +

    If the filename doesn't start with the package name, then it's prefixed. +So, this:

    +
    {
    +  "name": "foo",
    +  "version": "1.2.3",
    +  "description": "A packaged foo fooer for fooing foos",
    +  "main": "foo.js",
    +  "man": [
    +    "./man/foo.1",
    +    "./man/bar.1"
    +  ]
    +}
    +
    +

    will create files to do man foo and man foo-bar.

    +

    Man files must end with a number, and optionally a .gz suffix if they are +compressed. The number dictates which man section the file is installed +into.

    +
    {
    +  "name": "foo",
    +  "version": "1.2.3",
    +  "description": "A packaged foo fooer for fooing foos",
    +  "main": "foo.js",
    +  "man": [
    +    "./man/foo.1",
    +    "./man/foo.2"
    +  ]
    +}
    +
    +

    will create entries for man foo and man 2 foo

    +

    directories

    +

    The CommonJS Packages spec +details a few ways that you can indicate the structure of your package +using a directories object. If you look at npm's +package.json, you'll see that it +has directories for doc, lib, and man.

    +

    In the future, this information may be used in other creative ways.

    +

    directories.bin

    +

    If you specify a bin directory in directories.bin, all the files in +that folder will be added.

    +

    Because of the way the bin directive works, specifying both a bin path +and setting directories.bin is an error. If you want to specify +individual files, use bin, and for all the files in an existing bin +directory, use directories.bin.

    +

    directories.man

    +

    A folder that is full of man pages. Sugar to generate a "man" array by +walking the folder.

    +

    repository

    +

    Specify the place where your code lives. This is helpful for people who +want to contribute. If the git repo is on GitHub, then the npm repo +command will be able to find you.

    +

    Do it like this:

    +
    {
    +  "repository": {
    +    "type": "git",
    +    "url": "https://github.com/npm/cli.git"
    +  }
    +}
    +
    +

    The URL should be a publicly available (perhaps read-only) URL that can be +handed directly to a VCS program without any modification. It should not +be a URL to an html project page that you put in your browser. It's for +computers.

    +

    For GitHub, GitHub gist, Bitbucket, or GitLab repositories you can use the +same shortcut syntax you use for npm install:

    +
    {
    +  "repository": "npm/npm",
    +
    +  "repository": "github:user/repo",
    +
    +  "repository": "gist:11081aaa281",
    +
    +  "repository": "bitbucket:user/repo",
    +
    +  "repository": "gitlab:user/repo"
    +}
    +
    +

    If the package.json for your package is not in the root directory (for +example if it is part of a monorepo), you can specify the directory in +which it lives:

    +
    {
    +  "repository": {
    +    "type": "git",
    +    "url": "https://github.com/facebook/react.git",
    +    "directory": "packages/react-dom"
    +  }
    +}
    +
    +

    scripts

    +

    The "scripts" property is a dictionary containing script commands that are +run at various times in the lifecycle of your package. The key is the +lifecycle event, and the value is the command to run at that point.

    +

    See scripts to find out more about writing package +scripts.

    +

    config

    +

    A "config" object can be used to set configuration parameters used in +package scripts that persist across upgrades. For instance, if a package +had the following:

    +
    {
    +  "name": "foo",
    +  "config": {
    +    "port": "8080"
    +  }
    +}
    +
    +

    It could also have a "start" command that referenced the +npm_package_config_port environment variable.

    +

    dependencies

    +

    Dependencies are specified in a simple object that maps a package name to a +version range. The version range is a string which has one or more +space-separated descriptors. Dependencies can also be identified with a +tarball or git URL.

    +

    Please do not put test harnesses or transpilers or other "development" +time tools in your dependencies object. See devDependencies, below.

    +

    See semver for more details about specifying version ranges.

    +
      +
    • version Must match version exactly
    • +
    • >version Must be greater than version
    • +
    • >=version etc
    • +
    • <version
    • +
    • <=version
    • +
    • ~version "Approximately equivalent to version" See +semver
    • +
    • ^version "Compatible with version" See semver
    • +
    • 1.2.x 1.2.0, 1.2.1, etc., but not 1.3.0
    • +
    • http://... See 'URLs as Dependencies' below
    • +
    • * Matches any version
    • +
    • "" (just an empty string) Same as *
    • +
    • version1 - version2 Same as >=version1 <=version2.
    • +
    • range1 || range2 Passes if either range1 or range2 are satisfied.
    • +
    • git... See 'Git URLs as Dependencies' below
    • +
    • user/repo See 'GitHub URLs' below
    • +
    • tag A specific version tagged and published as tag See npm dist-tag
    • +
    • path/path/path See Local Paths below
    • +
    +

    For example, these are all valid:

    +
    {
    +  "dependencies": {
    +    "foo": "1.0.0 - 2.9999.9999",
    +    "bar": ">=1.0.2 <2.1.2",
    +    "baz": ">1.0.2 <=2.3.4",
    +    "boo": "2.0.1",
    +    "qux": "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0",
    +    "asd": "http://asdf.com/asdf.tar.gz",
    +    "til": "~1.2",
    +    "elf": "~1.2.3",
    +    "two": "2.x",
    +    "thr": "3.3.x",
    +    "lat": "latest",
    +    "dyl": "file:../dyl"
    +  }
    +}
    +
    +

    URLs as Dependencies

    +

    You may specify a tarball URL in place of a version range.

    +

    This tarball will be downloaded and installed locally to your package at +install time.

    +

    Git URLs as Dependencies

    +

    Git URLs are of the form:

    +
    <protocol>://[<user>[:<password>]@]<hostname>[:<port>][:][/]<path>[#<commit-ish> | #semver:<semver>]
    +
    +

    <protocol> is one of git, git+ssh, git+http, git+https, or +git+file.

    +

    If #<commit-ish> is provided, it will be used to clone exactly that +commit. If the commit-ish has the format #semver:<semver>, <semver> can +be any valid semver range or exact version, and npm will look for any tags +or refs matching that range in the remote repository, much as it would for +a registry dependency. If neither #<commit-ish> or #semver:<semver> is +specified, then the default branch is used.

    +

    Examples:

    +
    git+ssh://git@github.com:npm/cli.git#v1.0.27
    +git+ssh://git@github.com:npm/cli#semver:^5.0
    +git+https://isaacs@github.com/npm/cli.git
    +git://github.com/npm/cli.git#v1.0.27
    +
    +

    When installing from a git repository, the presence of certain fields in the +package.json will cause npm to believe it needs to perform a build. To do so +your repository will be cloned into a temporary directory, all of its deps +installed, relevant scripts run, and the resulting directory packed and +installed.

    +

    This flow will occur if your git dependency uses workspaces, or if any of the +following scripts are present:

    +
      +
    • build
    • +
    • prepare
    • +
    • prepack
    • +
    • preinstall
    • +
    • install
    • +
    • postinstall
    • +
    +

    If your git repository includes pre-built artifacts, you will likely want to +make sure that none of the above scripts are defined, or your dependency +will be rebuilt for every installation.

    +

    GitHub URLs

    +

    As of version 1.1.65, you can refer to GitHub URLs as just "foo": +"user/foo-project". Just as with git URLs, a commit-ish suffix can be +included. For example:

    +
    {
    +  "name": "foo",
    +  "version": "0.0.0",
    +  "dependencies": {
    +    "express": "expressjs/express",
    +    "mocha": "mochajs/mocha#4727d357ea",
    +    "module": "user/repo#feature\/branch"
    +  }
    +}
    +
    +

    Local Paths

    +

    As of version 2.0.0 you can provide a path to a local directory that +contains a package. Local paths can be saved using npm install -S or npm install --save, using any of these forms:

    +
    ../foo/bar
    +~/foo/bar
    +./foo/bar
    +/foo/bar
    +
    +

    in which case they will be normalized to a relative path and added to your +package.json. For example:

    +
    {
    +  "name": "baz",
    +  "dependencies": {
    +    "bar": "file:../foo/bar"
    +  }
    +}
    +
    +

    This feature is helpful for local offline development and creating tests +that require npm installing where you don't want to hit an external server, +but should not be used when publishing your package to the public registry.

    +

    note: Packages linked by local path will not have their own +dependencies installed when npm install is ran in this case. You must +run npm install from inside the local path itself.

    +

    devDependencies

    +

    If someone is planning on downloading and using your module in their +program, then they probably don't want or need to download and build the +external test or documentation framework that you use.

    +

    In this case, it's best to map these additional items in a +devDependencies object.

    +

    These things will be installed when doing npm link or npm install from +the root of a package, and can be managed like any other npm configuration +param. See config for more on the topic.

    +

    For build steps that are not platform-specific, such as compiling +CoffeeScript or other languages to JavaScript, use the prepare script to +do this, and make the required package a devDependency.

    +

    For example:

    +
    {
    +  "name": "ethopia-waza",
    +  "description": "a delightfully fruity coffee varietal",
    +  "version": "1.2.3",
    +  "devDependencies": {
    +    "coffee-script": "~1.6.3"
    +  },
    +  "scripts": {
    +    "prepare": "coffee -o lib/ -c src/waza.coffee"
    +  },
    +  "main": "lib/waza.js"
    +}
    +
    +

    The prepare script will be run before publishing, so that users can +consume the functionality without requiring them to compile it themselves. +In dev mode (ie, locally running npm install), it'll run this script as +well, so that you can test it easily.

    +

    peerDependencies

    +

    In some cases, you want to express the compatibility of your package with a +host tool or library, while not necessarily doing a require of this host. +This is usually referred to as a plugin. Notably, your module may be +exposing a specific interface, expected and specified by the host +documentation.

    +

    For example:

    +
    {
    +  "name": "tea-latte",
    +  "version": "1.3.5",
    +  "peerDependencies": {
    +    "tea": "2.x"
    +  }
    +}
    +
    +

    This ensures your package tea-latte can be installed along with the +second major version of the host package tea only. npm install tea-latte could possibly yield the following dependency graph:

    +
    ├── tea-latte@1.3.5
    +└── tea@2.2.0
    +
    +

    In npm versions 3 through 6, peerDependencies were not automatically +installed, and would raise a warning if an invalid version of the peer +dependency was found in the tree. As of npm v7, peerDependencies are +installed by default.

    +

    Trying to install another plugin with a conflicting requirement may cause +an error if the tree cannot be resolved correctly. For this reason, make +sure your plugin requirement is as broad as possible, and not to lock it +down to specific patch versions.

    +

    Assuming the host complies with semver, only changes +in the host package's major version will break your plugin. Thus, if you've +worked with every 1.x version of the host package, use "^1.0" or "1.x" +to express this. If you depend on features introduced in 1.5.2, use +"^1.5.2".

    +

    peerDependenciesMeta

    +

    The peerDependenciesMeta field serves to provide npm more information on how +your peer dependencies are to be used. Specifically, it allows peer +dependencies to be marked as optional. Npm will not automatically install +optional peer dependencies. This allows you to +integrate and interact with a variety of host packages without requiring +all of them to be installed.

    +

    For example:

    +
    {
    +  "name": "tea-latte",
    +  "version": "1.3.5",
    +  "peerDependencies": {
    +    "tea": "2.x",
    +    "soy-milk": "1.2"
    +  },
    +  "peerDependenciesMeta": {
    +    "soy-milk": {
    +      "optional": true
    +    }
    +  }
    +}
    +
    +

    bundleDependencies

    +

    This defines an array of package names that will be bundled when publishing +the package.

    +

    In cases where you need to preserve npm packages locally or have them +available through a single file download, you can bundle the packages in a +tarball file by specifying the package names in the bundleDependencies +array and executing npm pack.

    +

    For example:

    +

    If we define a package.json like this:

    +
    {
    +  "name": "awesome-web-framework",
    +  "version": "1.0.0",
    +  "bundleDependencies": [
    +    "renderized",
    +    "super-streams"
    +  ]
    +}
    +
    +

    we can obtain awesome-web-framework-1.0.0.tgz file by running npm pack. +This file contains the dependencies renderized and super-streams which +can be installed in a new project by executing npm install awesome-web-framework-1.0.0.tgz. Note that the package names do not +include any versions, as that information is specified in dependencies.

    +

    If this is spelled "bundledDependencies", then that is also honored.

    +

    Alternatively, "bundleDependencies" can be defined as a boolean value. A +value of true will bundle all dependencies, a value of false will bundle +none.

    +

    optionalDependencies

    +

    If a dependency can be used, but you would like npm to proceed if it cannot +be found or fails to install, then you may put it in the +optionalDependencies object. This is a map of package name to version or +URL, just like the dependencies object. The difference is that build +failures do not cause installation to fail. Running npm install --omit=optional will prevent these dependencies from being installed.

    +

    It is still your program's responsibility to handle the lack of the +dependency. For example, something like this:

    +
    try {
    +  var foo = require('foo')
    +  var fooVersion = require('foo/package.json').version
    +} catch (er) {
    +  foo = null
    +}
    +if ( notGoodFooVersion(fooVersion) ) {
    +  foo = null
    +}
    +
    +// .. then later in your program ..
    +
    +if (foo) {
    +  foo.doFooThings()
    +}
    +
    +

    Entries in optionalDependencies will override entries of the same name in +dependencies, so it's usually best to only put in one place.

    +

    overrides

    +

    If you need to make specific changes to dependencies of your dependencies, for +example replacing the version of a dependency with a known security issue, +replacing an existing dependency with a fork, or making sure that the same +version of a package is used everywhere, then you may add an override.

    +

    Overrides provide a way to replace a package in your dependency tree with +another version, or another package entirely. These changes can be scoped as +specific or as vague as desired.

    +

    Overrides are only considered in the root package.json file for a project. +Overrides in installed dependencies (including +workspaces) are not considered in dependency tree +resolution. Published packages may dictate their resolutions by pinning +dependencies or using an +npm-shrinkwrap.json file.

    +

    To make sure the package foo is always installed as version 1.0.0 no matter +what version your dependencies rely on:

    +
    {
    +  "overrides": {
    +    "foo": "1.0.0"
    +  }
    +}
    +
    +

    The above is a short hand notation, the full object form can be used to allow +overriding a package itself as well as a child of the package. This will cause +foo to always be 1.0.0 while also making bar at any depth beyond foo +also 1.0.0:

    +
    {
    +  "overrides": {
    +    "foo": {
    +      ".": "1.0.0",
    +      "bar": "1.0.0"
    +    }
    +  }
    +}
    +
    +

    To only override foo to be 1.0.0 when it's a child (or grandchild, or great +grandchild, etc) of the package bar:

    +
    {
    +  "overrides": {
    +    "bar": {
    +      "foo": "1.0.0"
    +    }
    +  }
    +}
    +
    +

    Keys can be nested to any arbitrary length. To override foo only when it's a +child of bar and only when bar is a child of baz:

    +
    {
    +  "overrides": {
    +    "baz": {
    +      "bar": {
    +        "foo": "1.0.0"
    +      }
    +    }
    +  }
    +}
    +
    +

    The key of an override can also include a version, or range of versions. +To override foo to 1.0.0, but only when it's a child of bar@2.0.0:

    +
    {
    +  "overrides": {
    +    "bar@2.0.0": {
    +      "foo": "1.0.0"
    +    }
    +  }
    +}
    +
    +

    You may not set an override for a package that you directly depend on unless +both the dependency and the override itself share the exact same spec. To make +this limitation easier to deal with, overrides may also be defined as a +reference to a spec for a direct dependency by prefixing the name of the +package you wish the version to match with a $.

    +
    {
    +  "dependencies": {
    +    "foo": "^1.0.0"
    +  },
    +  "overrides": {
    +    // BAD, will throw an EOVERRIDE error
    +    // "foo": "^2.0.0"
    +    // GOOD, specs match so override is allowed
    +    // "foo": "^1.0.0"
    +    // BEST, the override is defined as a reference to the dependency
    +    "foo": "$foo",
    +    // the referenced package does not need to match the overridden one
    +    "bar": "$foo"
    +  }
    +}
    +
    +

    engines

    +

    You can specify the version of node that your stuff works on:

    +
    {
    +  "engines": {
    +    "node": ">=0.10.3 <15"
    +  }
    +}
    +
    +

    And, like with dependencies, if you don't specify the version (or if you +specify "*" as the version), then any version of node will do.

    +

    You can also use the "engines" field to specify which versions of npm are +capable of properly installing your program. For example:

    +
    {
    +  "engines": {
    +    "npm": "~1.0.20"
    +  }
    +}
    +
    +

    Unless the user has set the +engine-strict config flag, this field is +advisory only and will only produce warnings when your package is installed as a +dependency.

    +

    os

    +

    You can specify which operating systems your +module will run on:

    +
    {
    +  "os": [
    +    "darwin",
    +    "linux"
    +  ]
    +}
    +
    +

    You can also block instead of allowing operating systems, just prepend the +blocked os with a '!':

    +
    {
    +  "os": [
    +    "!win32"
    +  ]
    +}
    +
    +

    The host operating system is determined by process.platform

    +

    It is allowed to both block and allow an item, although there isn't any +good reason to do this.

    +

    cpu

    +

    If your code only runs on certain cpu architectures, +you can specify which ones.

    +
    {
    +  "cpu": [
    +    "x64",
    +    "ia32"
    +  ]
    +}
    +
    +

    Like the os option, you can also block architectures:

    +
    {
    +  "cpu": [
    +    "!arm",
    +    "!mips"
    +  ]
    +}
    +
    +

    The host architecture is determined by process.arch

    +

    private

    +

    If you set "private": true in your package.json, then npm will refuse to +publish it.

    +

    This is a way to prevent accidental publication of private repositories. +If you would like to ensure that a given package is only ever published to +a specific registry (for example, an internal registry), then use the +publishConfig dictionary described below to override the registry +config param at publish-time.

    +

    publishConfig

    +

    This is a set of config values that will be used at publish-time. It's +especially handy if you want to set the tag, registry or access, so that +you can ensure that a given package is not tagged with "latest", published +to the global public registry or that a scoped module is private by +default.

    +

    See config to see the list of config options that +can be overridden.

    +

    workspaces

    +

    The optional workspaces field is an array of file patterns that describes +locations within the local file system that the install client should look +up to find each workspace that needs to be +symlinked to the top level node_modules folder.

    +

    It can describe either the direct paths of the folders to be used as +workspaces or it can define globs that will resolve to these same folders.

    +

    In the following example, all folders located inside the folder +./packages will be treated as workspaces as long as they have valid +package.json files inside them:

    +
    {
    +  "name": "workspace-example",
    +  "workspaces": [
    +    "./packages/*"
    +  ]
    +}
    +
    +

    See workspaces for more examples.

    +

    DEFAULT VALUES

    +

    npm will default some values based on package contents.

    +
      +
    • +

      "scripts": {"start": "node server.js"}

      +

      If there is a server.js file in the root of your package, then npm will +default the start command to node server.js.

      +
    • +
    • +

      "scripts":{"install": "node-gyp rebuild"}

      +

      If there is a binding.gyp file in the root of your package and you have +not defined an install or preinstall script, npm will default the +install command to compile using node-gyp.

      +
    • +
    • +

      "contributors": [...]

      +

      If there is an AUTHORS file in the root of your package, npm will treat +each line as a Name <email> (url) format, where email and url are +optional. Lines which start with a # or are blank, will be ignored.

      +
    • +
    +

    SEE ALSO

    +
    + + +
    + + + + \ No newline at end of file diff --git a/deps/npm/docs/output/configuring-npm/npm-shrinkwrap-json.html b/deps/npm/docs/output/configuring-npm/npm-shrinkwrap-json.html index f03832d0f9fd60..b8b858fa618e02 100644 --- a/deps/npm/docs/output/configuring-npm/npm-shrinkwrap-json.html +++ b/deps/npm/docs/output/configuring-npm/npm-shrinkwrap-json.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npm-shrinkwrap.json

    +

    + npm-shrinkwrap.json + @10.8.1 +

    A publishable lockfile
    diff --git a/deps/npm/docs/output/configuring-npm/npmrc.html b/deps/npm/docs/output/configuring-npm/npmrc.html index c33c803690c56e..763c87f83f4f13 100644 --- a/deps/npm/docs/output/configuring-npm/npmrc.html +++ b/deps/npm/docs/output/configuring-npm/npmrc.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    npmrc

    +

    + npmrc + @10.8.1 +

    The npm config files
    diff --git a/deps/npm/docs/output/configuring-npm/package-json.html b/deps/npm/docs/output/configuring-npm/package-json.html index 3a0e58663c6ac7..895df5190c2487 100644 --- a/deps/npm/docs/output/configuring-npm/package-json.html +++ b/deps/npm/docs/output/configuring-npm/package-json.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    package.json

    +

    + package.json + @10.8.1 +

    Specifics of npm's package.json handling
    @@ -427,7 +435,7 @@

    bin

    For example, myapp could have this:

    {
       "bin": {
    -    "myapp": "./cli.js"
    +    "myapp": "bin/cli.js"
       }
     }
     
    @@ -440,7 +448,7 @@

    bin

    {
       "name": "my-program",
       "version": "1.2.5",
    -  "bin": "./path/to/program"
    +  "bin": "path/to/program"
     }
     

    would be the same as this:

    @@ -448,7 +456,7 @@

    bin

    "name": "my-program", "version": "1.2.5", "bin": { - "my-program": "./path/to/program" + "my-program": "path/to/program" } } @@ -521,7 +529,7 @@

    directories.man

    walking the folder.

    repository

    Specify the place where your code lives. This is helpful for people who -want to contribute. If the git repo is on GitHub, then the npm docs +want to contribute. If the git repo is on GitHub, then the npm repo command will be able to find you.

    Do it like this:

    {
    @@ -766,11 +774,12 @@ 

    peerDependencies

    to express this. If you depend on features introduced in 1.5.2, use "^1.5.2".

    peerDependenciesMeta

    -

    When a user installs your package, npm will emit warnings if packages -specified in peerDependencies are not already installed. The -peerDependenciesMeta field serves to provide npm more information on how +

    The peerDependenciesMeta field serves to provide npm more information on how your peer dependencies are to be used. Specifically, it allows peer -dependencies to be marked as optional.

    +dependencies to be marked as optional. Npm will not automatically install +optional peer dependencies. This allows you to +integrate and interact with a variety of host packages without requiring +all of them to be installed.

    For example:

    {
       "name": "tea-latte",
    @@ -786,10 +795,6 @@ 

    peerDependenciesMeta

    } }
    -

    Marking a peer dependency as optional ensures npm will not emit a warning -if the soy-milk package is not installed on the host. This allows you to -integrate and interact with a variety of host packages without requiring -all of them to be installed.

    bundleDependencies

    This defines an array of package names that will be bundled when publishing the package.

    diff --git a/deps/npm/docs/output/configuring-npm/package-lock-json.html b/deps/npm/docs/output/configuring-npm/package-lock-json.html index ca61021db3a36a..838934d71c4c9f 100644 --- a/deps/npm/docs/output/configuring-npm/package-lock-json.html +++ b/deps/npm/docs/output/configuring-npm/package-lock-json.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    package-lock.json

    +

    + package-lock.json + @10.8.1 +

    A manifestation of the manifest
    diff --git a/deps/npm/docs/output/using-npm/config.html b/deps/npm/docs/output/using-npm/config.html index 2a3ead1b706956..79db31dc5c396a 100644 --- a/deps/npm/docs/output/using-npm/config.html +++ b/deps/npm/docs/output/using-npm/config.html @@ -113,6 +113,11 @@ line-height: 1; } +header.title .version { + font-size: 0.8em; + color: #666666; +} + footer#edit { border-top: solid 1px #e1e4e8; margin: 3em 0 4em 0; @@ -136,7 +141,10 @@
    -

    config

    +

    + config + @10.8.1 +

    More than you probably want to know about npm configuration
    @@ -1023,7 +1031,7 @@

    progress

  • Type: Boolean

When set to true, npm will display a progress bar during time intensive -operations, if process.stderr is a TTY.

+operations, if process.stderr and process.stdout are a TTY.

Set to false to suppress the progress bar.

provenance

    @@ -1265,10 +1273,11 @@

    tag

If you ask npm to install a package and don't tell it a specific version, then it will install the specified tag.

-

Also the tag that is added to the package@version specified by the npm tag -command, if no explicit tag is given.

+

It is the tag added to the package@version specified in the npm dist-tag add command, if no explicit tag is given.

When used by the npm diff command, this is the tag used to fetch the tarball that will be compared with the local files by default.

+

If used in the npm publish command, this is the tag that will be added to +the package submitted to the registry.

tag-version-prefix