From 8500114854d334839074f46df1edcf0e86578879 Mon Sep 17 00:00:00 2001 From: Ofek Lev Date: Mon, 3 Jul 2023 16:29:45 -0400 Subject: [PATCH 01/77] Add percentage-based utilization metrics (#15138) * Add percentage-based utilization metrics * address review * fix --- disk/datadog_checks/disk/disk.py | 14 ++++++++++---- disk/metadata.csv | 6 ++++-- disk/tests/metrics.py | 9 ++++++++- disk/tests/test_e2e.py | 3 +++ 4 files changed, 25 insertions(+), 7 deletions(-) diff --git a/disk/datadog_checks/disk/disk.py b/disk/datadog_checks/disk/disk.py index c7dda8cee92b3..0018f38f33977 100644 --- a/disk/datadog_checks/disk/disk.py +++ b/disk/datadog_checks/disk/disk.py @@ -275,7 +275,9 @@ def _collect_part_metrics(self, part, usage): # For legacy reasons, the standard unit it kB metrics[self.METRIC_DISK.format(name)] = getattr(usage, name) / 1024 - # FIXME: 8.x, use percent, a lot more logical than in_use + metrics[self.METRIC_DISK.format('utilized')] = usage.percent + + # TODO: deprecate in favor of `utilized` metric metrics[self.METRIC_DISK.format('in_use')] = usage.percent / 100 if Platform.is_unix(): @@ -311,9 +313,13 @@ def _collect_inodes_metrics(self, mountpoint): metrics[self.METRIC_INODE.format('total')] = total metrics[self.METRIC_INODE.format('free')] = free - metrics[self.METRIC_INODE.format('used')] = total - free - # FIXME: 8.x, use percent, a lot more logical than in_use - metrics[self.METRIC_INODE.format('in_use')] = (total - free) / total + + used = total - free + metrics[self.METRIC_INODE.format('used')] = used + metrics[self.METRIC_INODE.format('utilized')] = (used / total) * 100 + + # TODO: deprecate in favor of `utilized` metric + metrics[self.METRIC_INODE.format('in_use')] = used / total return metrics diff --git a/disk/metadata.csv b/disk/metadata.csv index c820723e6c6a3..86f96d44d2069 100644 --- a/disk/metadata.csv +++ b/disk/metadata.csv @@ -1,13 +1,15 @@ metric_name,metric_type,interval,unit_name,per_unit_name,description,orientation,integration,short_name,curated_metric system.disk.free,gauge,,byte,,The amount of disk space that is free.,1,system,disk free, -system.disk.in_use,gauge,,percent,,The amount of disk space in use as a percent of the total.,-1,system,disk in use, +system.disk.in_use,gauge,,fraction,,The amount of disk space in use as a percent of the total.,-1,system,disk in use, system.disk.read_time,count,,millisecond,,The time in ms spent reading per device,0,system,disk read time, system.disk.read_time_pct,rate,,percent,,Percent of time spent reading from disk.,0,system,disk read time pct, system.disk.total,gauge,,byte,,The total amount of disk space.,0,system,disk total, system.disk.used,gauge,,byte,,The amount of disk space in use.,-1,system,disk used, +system.disk.utilized,gauge,,percent,,The amount of disk space in use as a percentage of the total.,-1,system,disk utilized, system.disk.write_time,count,,millisecond,,The time in ms spent writing per device.,0,system,disk write time, system.disk.write_time_pct,rate,,percent,,Percent of time spent writing to disk.,0,system,disk write time pct, system.fs.inodes.free,gauge,,inode,,The number of free inodes.,1,system,inodes free, -system.fs.inodes.in_use,gauge,,fraction,,The number of inodes in use as a fraction of the total.,-1,system,inodes in use, +system.fs.inodes.in_use,gauge,,fraction,,The number of inodes in use as a percent of the total.,-1,system,inodes in use, system.fs.inodes.total,gauge,,inode,,The total number of inodes.,0,system,inodes total, system.fs.inodes.used,gauge,,inode,,The number of inodes in use.,-1,system,inodes used, +system.fs.inodes.utilized,gauge,,percent,,The number of inodes in use as a percentage of the total.,-1,system,inodes utilized, diff --git a/disk/tests/metrics.py b/disk/tests/metrics.py index 2056e021b9329..74012df923176 100644 --- a/disk/tests/metrics.py +++ b/disk/tests/metrics.py @@ -1,7 +1,13 @@ # (C) Datadog, Inc. 2018-present # All rights reserved # Licensed under a 3-clause BSD style license (see LICENSE) -CORE_GAUGES = {'system.disk.total': 5, 'system.disk.used': 4, 'system.disk.free': 1, 'system.disk.in_use': 0.80} +CORE_GAUGES = { + 'system.disk.total': 5, + 'system.disk.used': 4, + 'system.disk.free': 1, + 'system.disk.in_use': 0.80, + 'system.disk.utilized': 80, +} CORE_RATES = {'system.disk.write_time_pct': 9.0, 'system.disk.read_time_pct': 5.0} CORE_COUNTS = {'system.disk.write_time': 90.0, 'system.disk.read_time': 50.0} UNIX_GAUGES = { @@ -9,5 +15,6 @@ 'system.fs.inodes.used': 1, 'system.fs.inodes.free': 9, 'system.fs.inodes.in_use': 0.10, + 'system.fs.inodes.utilized': 10, } UNIX_GAUGES.update(CORE_GAUGES) diff --git a/disk/tests/test_e2e.py b/disk/tests/test_e2e.py index 8f9e9e12d31d0..50c35633bdaf3 100644 --- a/disk/tests/test_e2e.py +++ b/disk/tests/test_e2e.py @@ -13,6 +13,7 @@ 'system.disk.in_use', 'system.disk.total', 'system.disk.used', + 'system.disk.utilized', ] else: EXPECTED_DEVICES = ['overlay', 'shm', 'tmpfs', '/dev/sdb1'] @@ -21,10 +22,12 @@ 'system.disk.in_use', 'system.disk.total', 'system.disk.used', + 'system.disk.utilized', 'system.fs.inodes.free', 'system.fs.inodes.in_use', 'system.fs.inodes.total', 'system.fs.inodes.used', + 'system.fs.inodes.utilized', ] From 6d22733bd9f5e870e4fe8d81c8d39293d4734368 Mon Sep 17 00:00:00 2001 From: Florent Clarret Date: Tue, 4 Jul 2023 08:17:39 +0200 Subject: [PATCH 02/77] Add a section about CI Pipeline visibility (#15120) * Add a section about CI Pipeline visibility * fix link * wording --------- Co-authored-by: Kari Halsted --- gitlab/README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gitlab/README.md b/gitlab/README.md index 85d44ccc91aa6..ebc44afc1e8be 100644 --- a/gitlab/README.md +++ b/gitlab/README.md @@ -8,6 +8,8 @@ Integration that allows to: See [Monitoring GitLab with Prometheus][1] for more information. +For more in-depth monitoring of your GitLab pipelines, check out [CI Pipeline Visibility][17]. CI Pipeline Visibility provides granular insights into your user workflow, lets you access detailed Git metadata, and tracks pipeline performance over time. + ## Setup ### Installation @@ -132,4 +134,5 @@ Need help? Contact [Datadog support][14]. [13]: https://github.com/DataDog/integrations-core/blob/master/gitlab/assets/service_checks.json [14]: https://docs.datadoghq.com/help/ [15]: https://docs.gitlab.com/ee/user/admin_area/monitoring/health_check.html#readiness -[16]: https://github.com/DataDog/integrations-core/blob/7.43.x/gitlab/datadog_checks/gitlab/data/conf.yaml.example \ No newline at end of file +[16]: https://github.com/DataDog/integrations-core/blob/7.43.x/gitlab/datadog_checks/gitlab/data/conf.yaml.example +[17]: https://app.datadoghq.com/ci/getting-started \ No newline at end of file From 64ca3e8319c0941e3c8fe68f2457d201a63b1b96 Mon Sep 17 00:00:00 2001 From: Florent Clarret Date: Tue, 4 Jul 2023 09:14:15 +0200 Subject: [PATCH 03/77] Add recommended monitors (#15122) --- torchserve/assets/monitors/error_ratio.json | 28 +++++++++++++++++++++ torchserve/manifest.json | 5 +++- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 torchserve/assets/monitors/error_ratio.json diff --git a/torchserve/assets/monitors/error_ratio.json b/torchserve/assets/monitors/error_ratio.json new file mode 100644 index 0000000000000..ac2d47e2aa4bc --- /dev/null +++ b/torchserve/assets/monitors/error_ratio.json @@ -0,0 +1,28 @@ +{ + "name": "TorchServe: Requests error ratio is high", + "type": "query alert", + "query": "sum(last_1h):(sum:torchserve.openmetrics.requests.4xx.count{*}.as_count() + sum:torchserve.openmetrics.requests.5xx.count{*}.as_count()) / (sum:torchserve.openmetrics.requests.2xx.count{*}.as_count() + sum:torchserve.openmetrics.requests.4xx.count{*}.as_count() + sum:torchserve.openmetrics.requests.5xx.count{*}.as_count()) > 0.1", + "message": "{{#is_alert}}\\nThe error ratio is high!.\\n{{/is_alert}}", + "tags": [ + "integration:torchserve" + ], + "options": { + "thresholds": { + "critical": 0.1, + "warning": 0.05 + }, + "notify_audit": false, + "require_full_window": false, + "notify_no_data": false, + "renotify_interval": 0, + "include_tags": false, + "avalanche_window": 10, + "new_host_delay": 300, + "silenced": {} + }, + "priority": null, + "restricted_roles": null, + "recommended_monitor_metadata": { + "description": "Notify your team when the error ratio is too high." + } +} \ No newline at end of file diff --git a/torchserve/manifest.json b/torchserve/manifest.json index 24c7c8e73ce14..538c947fa27ad 100644 --- a/torchserve/manifest.json +++ b/torchserve/manifest.json @@ -42,8 +42,11 @@ "torchserve" ] }, + "monitors": { + "error_ratio": "assets/monitors/error_ratio.json" + }, "logs": { - "source": "impala" + "source": "torchserve" } }, "author": { From 2aaeed3f1bb342b4bff1792ef7e234ba5f3252c0 Mon Sep 17 00:00:00 2001 From: Florent Clarret Date: Tue, 4 Jul 2023 10:44:26 +0200 Subject: [PATCH 04/77] Revert "Upgrade ddtrace to 1.11.2 on Python 3 (#14367)" (#15143) This reverts commit a72fbb38119854db6f00f71dfa4c65fd1a298c1d. --- .../datadog_checks/base/data/agent_requirements.in | 3 +-- datadog_checks_base/datadog_checks/base/utils/tracing.py | 9 +++------ datadog_checks_base/pyproject.toml | 3 +-- datadog_checks_base/tests/base/utils/test_tracing.py | 9 ++------- 4 files changed, 7 insertions(+), 17 deletions(-) diff --git a/datadog_checks_base/datadog_checks/base/data/agent_requirements.in b/datadog_checks_base/datadog_checks/base/data/agent_requirements.in index 829122930e2e7..bffa1bdfc8a95 100644 --- a/datadog_checks_base/datadog_checks/base/data/agent_requirements.in +++ b/datadog_checks_base/datadog_checks/base/data/agent_requirements.in @@ -21,8 +21,7 @@ contextlib2==0.6.0.post1; python_version < '3.0' cryptography==3.3.2; python_version < '3.0' cryptography==39.0.1; python_version > '3.0' ddtrace==0.32.2; sys_platform == 'win32' and python_version < '3.0' -ddtrace==0.53.2; sys_platform != 'win32' and python_version < '3.0' -ddtrace==1.11.2; python_version > '3.0' +ddtrace==0.53.2; (sys_platform != 'win32' and (sys_platform != 'darwin' or platform_machine != 'arm64' and python_version > '3.0')) or python_version > '3.0' dnspython==1.16.0 enum34==1.1.10; python_version < '3.0' foundationdb==6.3.24; python_version > '3.0' diff --git a/datadog_checks_base/datadog_checks/base/utils/tracing.py b/datadog_checks_base/datadog_checks/base/utils/tracing.py index 228103e1b4af3..e04feefc9319e 100644 --- a/datadog_checks_base/datadog_checks/base/utils/tracing.py +++ b/datadog_checks_base/datadog_checks/base/utils/tracing.py @@ -70,10 +70,7 @@ def traced_warning(f, tracer): The error message is set to the warning message. """ try: - try: - from ddtrace.constants import ERROR_MSG, ERROR_TYPE - except ImportError: - from ddtrace.ext.errors import ERROR_MSG, ERROR_TYPE + from ddtrace.ext import errors def wrapper(self, warning_message, *args, **kwargs): integration_name = _get_integration_name(f.__name__, self, *args, **kwargs) @@ -87,8 +84,8 @@ def wrapper(self, warning_message, *args, **kwargs): if args: _formatted_message = _formatted_message % args span.set_tag('_dd.origin', INTEGRATION_TRACING_SERVICE_NAME) - span.set_tag(ERROR_MSG, _formatted_message) - span.set_tag(ERROR_TYPE, "AgentCheck.warning") + span.set_tag(errors.ERROR_MSG, _formatted_message) + span.set_tag(errors.ERROR_TYPE, "AgentCheck.warning") span.set_traceback() span.error = 1 return f(self, warning_message, *args, **kwargs) diff --git a/datadog_checks_base/pyproject.toml b/datadog_checks_base/pyproject.toml index fb85c7853f103..caa9a47227ee4 100644 --- a/datadog_checks_base/pyproject.toml +++ b/datadog_checks_base/pyproject.toml @@ -46,8 +46,7 @@ deps = [ "cryptography==3.3.2; python_version < '3.0'", "cryptography==39.0.1; python_version > '3.0'", "ddtrace==0.32.2; sys_platform == 'win32' and python_version < '3.0'", - "ddtrace==0.53.2; sys_platform != 'win32' and python_version < '3.0'", - "ddtrace==1.11.2; python_version > '3.0'", + "ddtrace==0.53.2; (sys_platform != 'win32' and (sys_platform != 'darwin' or platform_machine != 'arm64' and python_version > '3.0')) or python_version > '3.0'", "enum34==1.1.10; python_version < '3.0'", "immutables==0.19; python_version > '3.0'", "importlib-metadata==2.1.3; python_version < '3.8'", diff --git a/datadog_checks_base/tests/base/utils/test_tracing.py b/datadog_checks_base/tests/base/utils/test_tracing.py index 2ee9b88490972..635272b9d6bb8 100644 --- a/datadog_checks_base/tests/base/utils/test_tracing.py +++ b/datadog_checks_base/tests/base/utils/test_tracing.py @@ -15,11 +15,6 @@ traced_class, ) -try: - from ddtrace.constants import ERROR_MSG, ERROR_TYPE -except ImportError: - from ddtrace.ext.errors import ERROR_MSG, ERROR_TYPE - class MockAgentCheck(object): def __init__(self, *args, **kwargs): @@ -101,8 +96,8 @@ def _get_config(key): warning_span_tag_calls = tracer.trace().__enter__().set_tag.call_args_list assert mock.call('_dd.origin', INTEGRATION_TRACING_SERVICE_NAME) in warning_span_tag_calls - assert mock.call(ERROR_MSG, 'whoops oh no') in warning_span_tag_calls - assert mock.call(ERROR_TYPE, 'AgentCheck.warning') in warning_span_tag_calls + assert mock.call('error.msg', 'whoops oh no') in warning_span_tag_calls + assert mock.call('error.type', 'AgentCheck.warning') in warning_span_tag_calls exhaustive_only_methods = {'__init__', 'dummy_method'} if integration_tracing_exhaustive: From e76cdf01308aa345ce2376afc0d04babbb4b4a70 Mon Sep 17 00:00:00 2001 From: Alexandre Yang Date: Tue, 4 Jul 2023 12:15:24 +0200 Subject: [PATCH 05/77] Update assert_extend_* (#15132) --- snmp/tests/test_e2e_core_profiles/utils.py | 86 +++++++++++++++------- 1 file changed, 61 insertions(+), 25 deletions(-) diff --git a/snmp/tests/test_e2e_core_profiles/utils.py b/snmp/tests/test_e2e_core_profiles/utils.py index 5ac72bc22ce85..06967fdee4da8 100644 --- a/snmp/tests/test_e2e_core_profiles/utils.py +++ b/snmp/tests/test_e2e_core_profiles/utils.py @@ -26,12 +26,20 @@ def assert_common_metrics(aggregator, common_tags): def assert_extend_generic_if(aggregator, common_tags): + # fmt: off """Add the following to the snmprec - 1.3.6.1.2.1.2.1.0|2|28""" +1.3.6.1.2.1.2.1.0|2|28 + """ + # fmt: on aggregator.assert_metric("snmp.ifNumber", metric_type=aggregator.GAUGE, tags=common_tags) def assert_extend_generic_ip(aggregator, common_tags): + # fmt: off + """Add the following to the snmprec +1.3.6.1.2.1.4.31.1.1.4.1 = Counter64: 310637142 + """ + # fmt: on aggregator.assert_metric( "snmp.ipSystemStatsHCInReceives", metric_type=aggregator.COUNT, @@ -40,14 +48,29 @@ def assert_extend_generic_ip(aggregator, common_tags): def assert_extend_generic_tcp(aggregator, common_tags): + # fmt: off + """Add the following to the snmprec +1.3.6.1.2.1.6.5.0|65|4698 + """ + # fmt: on aggregator.assert_metric("snmp.tcpActiveOpens", metric_type=aggregator.COUNT, tags=common_tags) def assert_extend_generic_udp(aggregator, common_tags): + # fmt: off + """Add the following to the snmprec +1.3.6.1.2.1.7.8.0|70|6116206687099577350 + """ + # fmt: on aggregator.assert_metric("snmp.udpHCInDatagrams", metric_type=aggregator.COUNT, tags=common_tags) def assert_extend_generic_ospf(aggregator, common_tags): + # fmt: off + """Add the following to the snmprec +1.3.6.1.2.1.14.10.1.6.192.29.116.26.0|2|8 + """ + # fmt: on aggregator.assert_metric( "snmp.ospfNbr", metric_type=aggregator.GAUGE, tags=common_tags + ["neighbor_state:full"], value=1 ) @@ -57,6 +80,11 @@ def assert_extend_generic_ospf(aggregator, common_tags): def assert_extend_generic_bgp4(aggregator, common_tags): + # fmt: off + """Add the following to the snmprec +1.3.6.1.2.1.15.3.1.3.244.12.239.177|2|2 + """ + # fmt: on aggregator.assert_metric( "snmp.bgpPeerAdminStatus", metric_type=aggregator.GAUGE, @@ -82,18 +110,21 @@ def assert_extend_cisco_cpu_memory(aggregator, common_tags): def assert_extend_generic_host_resources(aggregator, common_tags): + # fmt: off """Add the following to the snmprec - 1.3.6.1.2.1.25.1.1.0|67|201526890 - 1.3.6.1.2.1.25.2.3.1.1.4|2|4 - 1.3.6.1.2.1.25.2.3.1.1.31|2|31 - 1.3.6.1.2.1.25.2.3.1.2.4|6|1.3.6.1.3.167.36 - 1.3.6.1.2.1.25.2.3.1.2.31|6|1.3.6.1.3 - 1.3.6.1.2.1.25.2.3.1.3.4|4x|6b65707420627574207468656972204a61646564206275742064726976696e67 - 1.3.6.1.2.1.25.2.3.1.3.31|4x|7a6f6d62696573206f78656e206b657074204a6164656420717561696e746c79207a6f6d62696573 - 1.3.6.1.2.1.25.2.3.1.5.4|2|17 - 1.3.6.1.2.1.25.2.3.1.5.31|2|21 - 1.3.6.1.2.1.25.2.3.1.6.4|2|30 - 1.3.6.1.2.1.25.2.3.1.6.31|2|4""" +1.3.6.1.2.1.25.1.1.0|67|201526890 +1.3.6.1.2.1.25.2.3.1.1.4|2|4 +1.3.6.1.2.1.25.2.3.1.1.31|2|31 +1.3.6.1.2.1.25.2.3.1.2.4|6|1.3.6.1.3.167.36 +1.3.6.1.2.1.25.2.3.1.2.31|6|1.3.6.1.3 +1.3.6.1.2.1.25.2.3.1.3.4|4x|6b65707420627574207468656972204a61646564206275742064726976696e67 +1.3.6.1.2.1.25.2.3.1.3.31|4x|7a6f6d62696573206f78656e206b657074204a6164656420717561696e746c79207a6f6d62696573 +1.3.6.1.2.1.25.2.3.1.5.4|2|17 +1.3.6.1.2.1.25.2.3.1.5.31|2|21 +1.3.6.1.2.1.25.2.3.1.6.4|2|30 +1.3.6.1.2.1.25.2.3.1.6.31|2|4 + """ + # fmt: on aggregator.assert_metric("snmp.hrSystemUptime", metric_type=aggregator.GAUGE, tags=common_tags) cpu_rows = ['10', '21'] @@ -125,26 +156,31 @@ def assert_extend_generic_host_resources(aggregator, common_tags): def assert_extend_generic_host_resources_base(aggregator, common_tags): + # fmt: off """Add the following to the snmprec - 1.3.6.1.2.1.25.1.1.0|67|201526890 +1.3.6.1.2.1.25.1.1.0|67|201526890 """ + # fmt: on aggregator.assert_metric("snmp.hrSystemUptime", metric_type=aggregator.GAUGE, tags=common_tags) def assert_extend_entity_sensor(aggregator, common_tags): + # fmt: off """Add the following to the snmprec - 1.3.6.1.2.1.99.1.1.1.1.8|2|9 - 1.3.6.1.2.1.99.1.1.1.2.8|2|7 - 1.3.6.1.2.1.99.1.1.1.3.8|2|7 - 1.3.6.1.2.1.99.1.1.1.4.8|2|2 - 1.3.6.1.2.1.99.1.1.1.5.8|2|3 - 1.3.6.1.2.1.99.1.1.1.6.8|4x|64726976696e672064726976696e6720666f727761726420616374656420746865697220627574 - 1.3.6.1.2.1.99.1.1.1.7.8|67|2113891456 - 1.3.6.1.2.1.99.1.1.1.8.8|66|6698 - 1.3.6.1.6.3.10.2.1.1.0|4x|4a616465642062757420666f7277617264 - 1.3.6.1.6.3.10.2.1.2.0|2|31 - 1.3.6.1.6.3.10.2.1.3.0|2|31 - 1.3.6.1.6.3.10.2.1.4.0|2|1234""" +1.3.6.1.2.1.99.1.1.1.1.8|2|9 +1.3.6.1.2.1.99.1.1.1.2.8|2|7 +1.3.6.1.2.1.99.1.1.1.3.8|2|7 +1.3.6.1.2.1.99.1.1.1.4.8|2|2 +1.3.6.1.2.1.99.1.1.1.5.8|2|3 +1.3.6.1.2.1.99.1.1.1.6.8|4x|64726976696e672064726976696e6720666f727761726420616374656420746865697220627574 +1.3.6.1.2.1.99.1.1.1.7.8|67|2113891456 +1.3.6.1.2.1.99.1.1.1.8.8|66|6698 +1.3.6.1.6.3.10.2.1.1.0|4x|4a616465642062757420666f7277617264 +1.3.6.1.6.3.10.2.1.2.0|2|31 +1.3.6.1.6.3.10.2.1.3.0|2|31 +1.3.6.1.6.3.10.2.1.4.0|2|1234 + """ + # fmt: on additional_tags = [ 'ent_phy_sensor_oper_status:nonoperational', 'ent_phy_sensor_precision:7', From b077f7fb5076b7a6bb379718bf30e16f91e91d3e Mon Sep 17 00:00:00 2001 From: Elizaveta Eremina <70374721+lizaerem@users.noreply.github.com> Date: Tue, 4 Jul 2023 13:17:14 +0300 Subject: [PATCH 06/77] [NDM] [SNMP] Add assert_metrics_using_metadata (#14858) * add assert_metrics_using_metadata to test_profiles.py * add assert_metrics_using_metadata to test_check.py * add metrics to metadata.csv * revert test_check.py * add assert_metrics_using_metadata to test_e2e_core.py * add metrics to metadata.csv * delete invalid unit names * reformat test_profiles.py * add assert_metrics_using_metadata() to test_e2e_core_vs_python.py * add assert_metrics_using_metadata() to test_profile_3com.py * add assert_metrics_using_metadata() to test_profile_3com_huawei.py * import get_metadata_metrics * update metadata.csv * add assert_metrics_using_metadata() to different profiles * small update (description) to metadata.csv * update metadata.csv * delete duplication in metadata.csv * sort metadata.csv * solve conflict with metadata.csv * solve conflict with metadata.csv * conflict with metadata.csv * delete duplicates metadata.csv * delete duplicates metadata.csv * delete unused metrics from metadata.csv * delete unused metric from metadata.csv * delete assert_metrics_using_metadata() from assert_python_vs_core * restore two accidentally deleted metrics * delete check_submission_type from e2e core tests * delete check_submission_type from e2e tests * delete unused import * delete unnecessary assert_metrics_using_metadata --- snmp/metadata.csv | 77 ++++++++++++------- snmp/tests/test_e2e_core.py | 6 ++ .../test_profile_3com.py | 3 + .../test_profile_cisco.py | 3 + .../test_profile_dell.py | 3 + .../test_profile_fortinet.py | 3 + .../test_profile_hp_ilo.py | 2 +- .../test_profile_juniper.py | 4 + snmp/tests/test_profiles.py | 16 ++++ 9 files changed, 90 insertions(+), 27 deletions(-) diff --git a/snmp/metadata.csv b/snmp/metadata.csv index 7c9234e1cb4a6..f72ce56506ef4 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -8,6 +8,8 @@ datadog.snmp_traps.invalid_packet,count,,packet,,The number of invalid SNMP Trap datadog.snmp_traps.received,count,,packet,,The total number of SNMP Traps received.,0,snmp,, datadog.snmp_traps.traps_not_enriched,count,,packet,,The number of SNMP Traps that were not enriched.,0,snmp,, datadog.snmp_traps.vars_not_enriched,count,,,,The number of SNMP Traps variables that were not enriched.,0,snmp,, +snmp.accessPoint,gauge,,,,Constant metric equal to 1,0,snmp,, +snmp.accessPointInterface,gauge,,,,Constant metric equal to 1,0,snmp,, snmp.adapterCollisions,count,,,,[Dell iDRAC] Total number of single collisions.,0,snmp,, snmp.adapterRxBytes,count,,byte,,[Dell iDRAC] Total number of bytes received.,0,snmp,, snmp.adapterRxDropped,count,,packet,,[Dell iDRAC] Total number of receive packets dropped due to overrun.,0,snmp,, @@ -20,8 +22,8 @@ snmp.adapterTxErrors,count,,packet,,[Dell iDRAC] Total number of packets that fa snmp.adapterTxPackets,count,,packet,,[Dell iDRAC] Total packets transmitted.,0,snmp,, snmp.amperageProbeReading,gauge,,milliampere,,[Dell iDRAC] The reading for an amperage probe.,0,snmp,, snmp.amperageProbeStatus,gauge,,milliampere,,[Dell iDRAC] The probe status of the amperage probe.,0,snmp,, -snmp.aristaEgressQueuePktsDropped,gauge,,,,[Arista] The number of packets discarded from this egress queue.,0,snmp,, -snmp.aristaIngressQueuePktsDropped,gauge,,,,[Arista] The number of dropped packets due to congestion at the ingress port in an interface.,0,snmp,, +snmp.aristaEgressQueuePktsDropped,count,,,,[Arista] The number of packets discarded from this egress queue.,0,snmp,, +snmp.aristaIngressQueuePktsDropped,count,,,,[Arista] The number of dropped packets due to congestion at the ingress port in an interface.,0,snmp,, snmp.axAppGlobalAllowedCurrentValue,gauge,,,,"[A10-AX-MIB] The current value for the allowed system resource.",0,snmp,, snmp.axAppGlobalAllowedMaxValue,gauge,,,,"[A10-AX-MIB] The maximum value for the allowed system resource.",0,snmp,, snmp.axAppGlobalBufferConfigLimit,gauge,,,,"[A10-AX-MIB] Application buffer configured limit.",0,snmp,, @@ -117,8 +119,8 @@ snmp.cccaRouterCallsInProgress,gauge,,,,[Cisco UC Virtual Machine] [Cisco ICM] [ snmp.cccaRouterCallsInQueue,gauge,,,,[Cisco UC Virtual Machine] [Cisco ICM] [Cisco ISR 4431] The total number of calls queued in all network Voice Response Units (VRUs) from the router's perspective.,0,snmp,, snmp.ccmRegisteredGateways,gauge,,,,"[Cisco UC Virtual Machine] [Cisco ICM] [Cisco ISR 4431] The number of gateways that are registered and actively in communication with the local call manager.",0,snmp,, snmp.ccmRegisteredPhones,gauge,,,,"[Cisco UC Virtual Machine] [Cisco ICM] [Cisco ISR 4431] The number of phones that are registered and actively in communication with the local call manager.",0,snmp,, -snmp.ccmRejectedPhones,rate,,,,"[Cisco UC Virtual Machine] [Cisco ICM] [Cisco ISR 4431] The number of phones whose registration requests were rejected by the local call manager.",0,snmp,, -snmp.ccmUnregisteredPhones,rate,,,,"[Cisco UC Virtual Machine] [Cisco ICM] [Cisco ISR 4431] The number of phones that are unregistered or have lost contact with the local call manager.",0,snmp,, +snmp.ccmRejectedPhones,gauge,,,,"[Cisco UC Virtual Machine] [Cisco ICM] [Cisco ISR 4431] The number of phones whose registration requests were rejected by the local call manager.",0,snmp,, +snmp.ccmUnregisteredPhones,gauge,,,,"[Cisco UC Virtual Machine] [Cisco ICM] [Cisco ISR 4431] The number of phones that are unregistered or have lost contact with the local call manager.",0,snmp,, snmp.ccvpLicAggMaxPortsInUse,gauge,,,,"[Cisco UC Virtual Machine] [Cisco ICM] [Cisco ISR 4431] The peak number of simultaneous port licenses used since the start of the system.",0,snmp,, snmp.ccvpLicRtPortsInUse,gauge,,,,"[Cisco UC Virtual Machine] [Cisco ICM] [Cisco ISR 4431] The number of port licenses currently in use on the call server.",0,snmp,, snmp.ccvpSipIntAvgLatency1,gauge,,,,"[Cisco UC Virtual Machine] [Cisco ICM] [Cisco ISR 4431] The average period of time elapsed between the arrival of a CONNECT message from ICM and when the call is actually answered, on the first transfer request for the calls",0,snmp,, @@ -132,13 +134,17 @@ snmp.cefcFRUPowerAdminStatus,gauge,,,,[Cisco c3850] [Cisco Nexus] [Cisco ASA 552 snmp.cefcFRUPowerOperStatus,gauge,,,,[Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] Operational FRU power state.,0,snmp,, snmp.cefcFanTrayOperStatus,gauge,,,,[Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] The operational state of the fan or fan tray.,0,snmp,, snmp.cfInterconnectStatus,gauge,,,,"[NetApp] The current status of the interconnect (notPresent(1), down(2), partialFailure(3), up(4)).",0,snmp,, -snmp.cfwConnectionStatCount,rate,,,,[Cisco ASA 5525] This is an integer that contains the value of the resource statistic.,0,snmp,, +snmp.cfwConnectionStatCount,gauge,,,,[Cisco ASA 5525] This is an integer that contains the value of the resource statistic.,0,snmp,, +snmp.cfwConnectionStatValue,gauge,,,,[Cisco ASA 5525] This is an integer that contains the value of the resource statistic.,0,snmp,, snmp.cfwHardwareStatusValue,gauge,,,,[Cisco ASA 5525] This object contains the current status of the resource.,0,snmp,, snmp.cieIfInputQueueDrops,gauge,,packet,,[Cisco c3850] The number of input packets dropped.,0,snmp,, snmp.cieIfLastInTime,gauge,,millisecond,,[Cisco c3850] The elapsed time in milliseconds since the last protocol input packet was received.,0,snmp,, snmp.cieIfLastOutTime,gauge,,millisecond,,[Cisco c3850] The elapsed time in milliseconds since the last protocol output packet was transmitted.,0,snmp,, snmp.cieIfOutputQueueDrops,gauge,,packet,,[Cisco c3850] The number of output packets dropped by the interface even though no error was detected to prevent them being transmitted.,0,snmp,, snmp.cieIfResetCount,count,,,,[Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] The number of times the interface was internally reset and brought up.,0,snmp,, +snmp.cipSecGlobalActiveTunnels,gauge,,,,[Cisco ASA 5525] The total number of currently active IPsec Phase-2 Tunnels.,0,snmp,, +snmp.cipSecGlobalHcInOctets,count,,,,[Cisco ASA 5525] A high capacity count of the total number of octets received by all current and previous IPsec Phase-2 Tunnels.,0,snmp,, +snmp.cipSecGlobalHcOutOctets,count,,,,[Cisco ASA 5525] A high capacity count of the total number of octets sent by all current and previous IPsec Phase-2 Tunnels.,0,snmp,, snmp.ciscoEnvMonFanState,gauge,,,,[Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] The current state of the fan being instrumented.,0,snmp,, snmp.ciscoEnvMonSupplyState,gauge,,,,[Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] The current state of the power supply being instrumented.,0,snmp,, snmp.ciscoEnvMonTemperatureStatusValue,gauge,,,,[Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] The current value of the testpoint being instrumented.,0,snmp,, @@ -306,6 +312,10 @@ snmp.cpqSm2NicXmitErrorPackets,count,,packet,,[HP ILO4] Remote Insight/ Integrat snmp.cpqSm2NicXmitQueueLength,count,,packet,,[HP ILO4] Remote Insight/ Integrated Lights-Out Network Interface Controller Number of Outstanding Packets in Transmit Queue.,0,snmp,, snmp.cpqSm2NicXmitTotalPackets,count,,packet,,[HP ILO4] Remote Insight/ Integrated Lights-Out Network Interface Controller Total Transmit Packets.,0,snmp,, snmp.cpu.usage,gauge,,percent,,"Percentage of CPU currently being used.",0,snmp,, +snmp.crasNumDeclinedSessions,gauge,,,,[Cisco ASA 5525] The number of session setup attempts (counted since the last time the notification 'ciscoRasTooManyFailedAuths' was issued) which were declined due to authentication or authorization failure.,0,snmp,, +snmp.crasNumSessions,gauge,,,,[Cisco ASA 5525] The number of currently active sessions.,0,snmp,, +snmp.crasNumSetupFailInsufResources,count,,,,[Cisco ASA 5525] The number of session setup attempts that failed due to insufficient resources.,0,snmp,, +snmp.crasNumUsers,gauge,,,,[Cisco ASA 5525] The number of users who have active sessions.,0,snmp,, snmp.cswStackPortOperStatus,gauge,,,,[Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] The state of the stackport.,0,snmp,, snmp.cswSwitchState,gauge,,,,[Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] The current state of a switch.,0,snmp,, snmp.currentxy1,gauge,,,,[Legacy Chatsworth] The XY1 branch current draw in 1/100 amp.,0,snmp,, @@ -488,11 +498,11 @@ snmp.fgVpnTunEntInOctets,gauge,,byte,,[Fortinet FortiGate] The number of bytes r snmp.fgVpnTunEntOutOctets,gauge,,byte,,[Fortinet FortiGate] The number of bytes sent out on tunnel.,0,snmp,, snmp.fgVpnTunEntStatus,gauge,,,,[Fortinet FortiGate] The current status of tunnel (up or down).,0,snmp,, snmp.fruInformationStatus,gauge,,,,[Dell iDRAC] The status of the field replaceable unit information.,0,snmp,, -snmp.fwAccepted,gauge,,packet,,[Checkpoint Firewall] Number of accepted packets.,0,snmp,, -snmp.fwDropped,gauge,,packet,,[Checkpoint Firewall] Number of dropped packets.,0,snmp,, +snmp.fwAccepted,count,,packet,,[Checkpoint Firewall] Number of accepted packets.,0,snmp,, +snmp.fwDropped,count,,packet,,[Checkpoint Firewall] Number of dropped packets.,0,snmp,, snmp.fwNumConn,gauge,,connection,,[Checkpoint Firewall] Number of concurrent IPv6 and IPv4 connections.,0,snmp,, snmp.fwPeakNumConn,gauge,,connection,,[Checkpoint Firewall] Peak number of concurrent connections since last reboot.,0,snmp,, -snmp.fwRejected,gauge,,packet,,[Checkpoint Firewall] Number of rejected packets.,0,snmp,, +snmp.fwRejected,count,,packet,,[Checkpoint Firewall] Number of rejected packets.,0,snmp,, snmp.hrProcessorLoad,gauge,,,,"[HOST-RESOURCES-MIB] The average, over the last minute, of the percentage of time that this processor was not idle. Implementations may approximate this one minute smoothing period if necessary.",0,snmp,, snmp.hrSWRunPerfCPU,gauge,,,,[Cisco UC Virtual Machine] [Cisco ICM] [Cisco ISR 4431] The number of centi-seconds of the total system's CPU resources consumed by this process.,0,snmp,, snmp.hrSWRunPerfMem,gauge,,,,[Cisco UC Virtual Machine] [Cisco ICM] [Cisco ISR 4431] The total amount of real system memory allocated to this process.,0,snmp,, @@ -507,7 +517,7 @@ snmp.hrSystemProcesses,gauge,,,,"[HOST-RESOURCES-MIB] The number of process cont snmp.hrSystemUptime,gauge,,,,"[HOST-RESOURCES-MIB] The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.",0,snmp,, snmp.humidityProbe1,gauge,,,,[Legacy Chatsworth] The probe 1 humidity in 1/100 %.,0,snmp,, snmp.humidityProbe2,gauge,,,,[Legacy Chatsworth] The probe 2 humidity in 1/100 %.,0,snmp,, -snmp.hwdevMFanStatus,gauge,,,,"[A3COM-HUAWEI-LswDEVM-MIB] Fan status",0,snmp,, +snmp.hwdevMFanStatus,gauge,,,,"[A3COM-HUAWEI-LswDEVM-MIB] Fan status (constant metric equal to 1).",0,snmp,, snmp.hwdevMPowerStatus,gauge,,,,"[A3COM-HUAWEI-LswDEVM-MIB] Power status",0,snmp,, snmp.ifAdminStatus,gauge,,,,[Generic router] [F5 BIG-IP] [Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] The desired state of the interface.,0,snmp,, snmp.ifBandwidthInUsage.rate,gauge,,percent,,"[Generic router] The percent rate of used received bandwidth.",0,snmp,, @@ -523,7 +533,7 @@ snmp.ifHCOutOctets,count,,byte,,[Generic router] [Cisco c3850] [Cisco Nexus] [Ci snmp.ifHCOutOctets.rate,gauge,,byte,second,[Generic router] [Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] The total number of octets transmitted out of the interface including framing characters.,0,snmp,, snmp.ifHCOutUcastPkts,count,,packet,,[Generic router] [Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] The total number of packets higher-level protocols requested be transmitted that were not addressed to a multicast or broadcast address at this sub-layer including those that were discarded or not sent.,0,snmp,, snmp.ifHighInOctets,count,,byte,,"[NetApp] The total number of bytes received on the interface, including framing characters.",0,snmp,, -snmp.ifHighInOctets.rate,rate,,byte,second,"[NetApp] The number bytes per second received on the interface, including framing characters.",0,snmp,, +snmp.ifHighInOctets.rate,gauge,,byte,second,"[NetApp] The number bytes per second received on the interface, including framing characters.",0,snmp,, snmp.ifHighSpeed,gauge,,,,"[Generic router] An estimate of the interface's current bandwidth in units of 1,000,000 bits per second, or the nominal bandwidth.",0,snmp,, snmp.ifInDiscards,count,,packet,,[Generic router] [Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] The number of inbound packets chosen to be discarded even though no errors had been detected to prevent them being deliverable to a higher-layer protocol.,0,snmp,, snmp.ifInDiscards.rate,gauge,,packet,second,[Generic router] [Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] The number of inbound packets chosen to be discarded even though no errors had been detected to prevent them being deliverable to a higher-layer protocol.,0,snmp,, @@ -713,14 +723,15 @@ snmp.ltmNodeAddrMonitorState,gauge,,,,[F5 BIG-IP] The internal TMM monitor state snmp.ltmNodeAddrMonitorStatus,gauge,,,,[F5 BIG-IP] The load balancing state for a given node (including parent status).,0,snmp,, snmp.ltmNodeAddrNumber,gauge,,,,[F5 BIG-IP] The current number of nodes.,0,snmp,, snmp.ltmNodeAddrRatio,gauge,,,,[F5 BIG-IP] The load balancing ration on a given node.,0,snmp,, +snmp.ltmNodeAddrSessionStatus,gauge,,,,[F5 BIG-IP] The hierarchical status of the session (including parent status) for the specified node address.,0,snmp,, snmp.ltmNodeAddrStatCurSessions,gauge,,,,[F5 BIG-IP] The current number of sessions going through a given node.,0,snmp,, snmp.ltmNodeAddrStatCurrentConnsPerSec,gauge,,,,[F5 BIG-IP] The current rate of connections to a given node.,0,snmp,, snmp.ltmNodeAddrStatDurationRateExceeded,gauge,,,,[F5 BIG-IP] The cumulative amount of time a given node exceeded its connection rate limit.,0,snmp,, -snmp.ltmNodeAddrStatServerBytesIn,rate,,,,[F5 BIG-IP] The number of bytes received per second by a given node.,0,snmp,, -snmp.ltmNodeAddrStatServerBytesOut,rate,,,,[F5 BIG-IP] The number of bytes sent per second by a given node.,0,snmp,, +snmp.ltmNodeAddrStatServerBytesIn,gauge,,,,[F5 BIG-IP] The number of bytes received per second by a given node.,0,snmp,, +snmp.ltmNodeAddrStatServerBytesOut,gauge,,,,[F5 BIG-IP] The number of bytes sent per second by a given node.,0,snmp,, snmp.ltmNodeAddrStatServerCurConns,gauge,,,,[F5 BIG-IP] The current number of server connections to a given node.,0,snmp,, -snmp.ltmNodeAddrStatServerPktsIn,rate,,,,[F5 BIG-IP] The number of packets received per second by a given node.,0,snmp,, -snmp.ltmNodeAddrStatServerPktsOut,rate,,,,[F5 BIG-IP] The number of packets sent per second by a given node.,0,snmp,, +snmp.ltmNodeAddrStatServerPktsIn,gauge,,,,[F5 BIG-IP] The number of packets received per second by a given node.,0,snmp,, +snmp.ltmNodeAddrStatServerPktsOut,gauge,,,,[F5 BIG-IP] The number of packets sent per second by a given node.,0,snmp,, snmp.ltmNodeAddrStatServerTotConns,count,,,,[F5 BIG-IP] The total number of server connections to a given node.,0,snmp,, snmp.ltmNodeAddrStatTotRequests,count,,,,[F5 BIG-IP] The total number of requests processed by a given node.,0,snmp,, snmp.ltmPoolActiveMemberCnt,gauge,,,,[F5 BIG-IP] The current number of active members in a given pool.,0,snmp,, @@ -739,11 +750,11 @@ snmp.ltmPoolMemberStatConnqServiced,count,,,,[F5 BIG-IP] The total number of con snmp.ltmPoolMemberStatCurSessions,gauge,,,,[F5 BIG-IP] The current number of sessions to a given pool member.,0,snmp,, snmp.ltmPoolMemberStatCurrentConnsPerSec,gauge,,,,[F5 BIG-IP] The current rate of connections to a given pool member.,0,snmp,, snmp.ltmPoolMemberStatDurationRateExceeded,gauge,,,,[F5 BIG-IP] The cumulative amount of time a given pool member exceeded its connection rate limit.,0,snmp,, -snmp.ltmPoolMemberStatServerBytesIn,rate,,,,[F5 BIG-IP] The number of bytes received per second by a given pool member.,0,snmp,, -snmp.ltmPoolMemberStatServerBytesOut,rate,,,,[F5 BIG-IP] The number of bytes sent per second by a given pool member.,0,snmp,, +snmp.ltmPoolMemberStatServerBytesIn,gauge,,,,[F5 BIG-IP] The number of bytes received per second by a given pool member.,0,snmp,, +snmp.ltmPoolMemberStatServerBytesOut,gauge,,,,[F5 BIG-IP] The number of bytes sent per second by a given pool member.,0,snmp,, snmp.ltmPoolMemberStatServerCurConns,gauge,,,,[F5 BIG-IP] The current number of server connections to a given pool member.,0,snmp,, -snmp.ltmPoolMemberStatServerPktsIn,rate,,,,[F5 BIG-IP] The number of packets received per second by a given pool member.,0,snmp,, -snmp.ltmPoolMemberStatServerPktsOut,rate,,,,[F5 BIG-IP] The number of packets sent per second by a given pool member.,0,snmp,, +snmp.ltmPoolMemberStatServerPktsIn,gauge,,,,[F5 BIG-IP] The number of packets received per second by a given pool member.,0,snmp,, +snmp.ltmPoolMemberStatServerPktsOut,gauge,,,,[F5 BIG-IP] The number of packets sent per second by a given pool member.,0,snmp,, snmp.ltmPoolMemberStatServerTotConns,count,,,,[F5 BIG-IP] The total number of server connections to a given pool member.,0,snmp,, snmp.ltmPoolMemberStatTotRequests,count,,,,[F5 BIG-IP] The total number of requests processed by a given pool member.,0,snmp,, snmp.ltmPoolNumber,gauge,,,,[F5 BIG-IP] The current number of pools.,0,snmp,, @@ -751,22 +762,22 @@ snmp.ltmPoolStatConnqAgeHead,gauge,,,,[F5 BIG-IP] Age in milliseconds of the old snmp.ltmPoolStatConnqDepth,gauge,,,,[F5 BIG-IP] The current number of connections in the queue of a given pool.,0,snmp,, snmp.ltmPoolStatConnqServiced,count,,,,[F5 BIG-IP] The total number of connections that have been removed from the queue of a given pool.,0,snmp,, snmp.ltmPoolStatCurSessions,gauge,,,,[F5 BIG-IP] The current number of sessions to a given pool.,0,snmp,, -snmp.ltmPoolStatServerBytesIn,rate,,,,[F5 BIG-IP] The number of bytes received per second by a given pool.,0,snmp,, -snmp.ltmPoolStatServerBytesOut,rate,,,,[F5 BIG-IP] The number of bytes sent per second by a given pool.,0,snmp,, +snmp.ltmPoolStatServerBytesIn,gauge,,,,[F5 BIG-IP] The number of bytes received per second by a given pool.,0,snmp,, +snmp.ltmPoolStatServerBytesOut,gauge,,,,[F5 BIG-IP] The number of bytes sent per second by a given pool.,0,snmp,, snmp.ltmPoolStatServerCurConns,gauge,,,,[F5 BIG-IP] The current number of server connections to a given pool.,0,snmp,, -snmp.ltmPoolStatServerPktsIn,rate,,,,[F5 BIG-IP] The number of packets received per second by a given pool.,0,snmp,, -snmp.ltmPoolStatServerPktsOut,rate,,,,[F5 BIG-IP] The number of packets sent per second by a given pool.,0,snmp,, +snmp.ltmPoolStatServerPktsIn,gauge,,,,[F5 BIG-IP] The number of packets received per second by a given pool.,0,snmp,, +snmp.ltmPoolStatServerPktsOut,gauge,,,,[F5 BIG-IP] The number of packets sent per second by a given pool.,0,snmp,, snmp.ltmPoolStatServerTotConns,count,,,,[F5 BIG-IP] The total number of connections to a given pool.,0,snmp,, snmp.ltmPoolStatTotRequests,count,,,,[F5 BIG-IP] The total number of requests processed by a given pool.,0,snmp,, snmp.ltmVirtualServConnLimit,gauge,,,,[F5 BIG-IP] The maximum number of connections on a virtual server.,0,snmp,, snmp.ltmVirtualServEnabled,gauge,,,,[F5 BIG-IP] Whether a given virtual server is enabled.,0,snmp,, snmp.ltmVirtualServNumber,gauge,,,,[F5 BIG-IP] The number of virtual servers.,0,snmp,, -snmp.ltmVirtualServStatClientBytesIn,rate,,,,[F5 BIG-IP] The number of bytes received per second by a given virtual server.,0,snmp,, -snmp.ltmVirtualServStatClientBytesOut,rate,,,,[F5 BIG-IP] The number of bytes sent per second by a given virtual server.,0,snmp,, +snmp.ltmVirtualServStatClientBytesIn,gauge,,,,[F5 BIG-IP] The number of bytes received per second by a given virtual server.,0,snmp,, +snmp.ltmVirtualServStatClientBytesOut,gauge,,,,[F5 BIG-IP] The number of bytes sent per second by a given virtual server.,0,snmp,, snmp.ltmVirtualServStatClientCurConns,gauge,,,,[F5 BIG-IP] The current number of connections to a given virtual server.,0,snmp,, snmp.ltmVirtualServStatClientEvictedConns,count,,,,[F5 BIG-IP] The total number of connections evicted on a given virtual server.,0,snmp,, -snmp.ltmVirtualServStatClientPktsIn,rate,,,,[F5 BIG-IP] The number of packets received per second by a given virtual server.,0,snmp,, -snmp.ltmVirtualServStatClientPktsOut,rate,,,,[F5 BIG-IP] The number of packets sent per second by a given virtual server.,0,snmp,, +snmp.ltmVirtualServStatClientPktsIn,gauge,,,,[F5 BIG-IP] The number of packets received per second by a given virtual server.,0,snmp,, +snmp.ltmVirtualServStatClientPktsOut,gauge,,,,[F5 BIG-IP] The number of packets sent per second by a given virtual server.,0,snmp,, snmp.ltmVirtualServStatClientSlowKilled,count,,,,[F5 BIG-IP] The total number of slow connections killed on a given virtual server.,0,snmp,, snmp.ltmVirtualServStatClientTotConns,count,,,,[F5 BIG-IP] The total number of client connections on a given virtual server.,0,snmp,, snmp.ltmVirtualServStatCurrentConnsPerSec,gauge,,,,[F5 BIG-IP] The current rate of connections to a given virtual server.,0,snmp,, @@ -874,6 +885,7 @@ snmp.panSessionMax,gauge,,session,,[Palo Alto] Total number of sessions supporte snmp.panSessionSslProxyUtilization,gauge,,session,,[Palo Alto] SSL proxy Session utilization percentage.,0,snmp,, snmp.panSessionUtilization,gauge,,,,[Palo Alto] Session table utilization percentage. Values should be between 0 and 100.,0,snmp,, snmp.pduRole,gauge,,,,"[Legacy Chatsworth] PDU Role, 1 = primary, 0 = secondary.",0,snmp,, +snmp.peerConnectionByState,gauge,,,,Constant metric equal to 1,0,snmp,, snmp.physicalDiskCapacityInMB,gauge,,mebibyte,,[Dell iDRAC] The size of the physical disk in megabytes.,0,snmp,, snmp.physicalDiskFreeSpaceInMB,gauge,,mebibyte,,[Dell iDRAC] The amount of free space in megabytes on the physical disk.,0,snmp,, snmp.physicalDiskState,gauge,,,,[Dell iDRAC] The current state of this physical disk. See Dell documentation to learn more: https://dtdg.co/snmp-physical-disk-state ,0,snmp,, @@ -1048,13 +1060,23 @@ snmp.udpHCInDatagrams,count,,datagram,,"[Generic router] [Cisco c3850] [Cisco Ne snmp.udpHCOutDatagrams,count,,datagram,,"[Generic router] [Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] [Arista] [Checkpoint Firewall] [F5 BIG-IP] [HPE Proliant] [Palo Alto] [Dell Poweredge] The total number of UDP datagrams sent from this entity, for devices that can transmit more than 1 million UDP datagrams per second.",0,snmp,, snmp.udpInErrors,count,,datagram,,[Generic router] [Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] [Arista] [Checkpoint Firewall] [F5 BIG-IP] [HPE Proliant] [Palo Alto] [Dell Poweredge] The number of received UDP datagrams that could not be delivered for reasons other than the lack of an application at the destination port.,0,snmp,, snmp.udpNoPorts,count,,datagram,,[Generic router] [Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] [Arista] [Checkpoint Firewall] [F5 BIG-IP] [HPE Proliant] [Palo Alto] [Dell Poweredge] The total number of received UDP datagrams for which there was no application at the destination port.,0,snmp,, +snmp.uioSensorStatusTemperatureDegC,gauge,,degree celsius,,The sensor's current temperature reading in degrees Celsius.,0,snmp,, snmp.upsAdvBatteryCapacity,gauge,,percent,,[APC UPS] The remaining battery capacity expressed in percent of full capacity.,0,snmp,, snmp.upsAdvBatteryNumOfBadBattPacks,gauge,,unit,,[APC UPS] The number of external battery packs connected to the UPS that are defective.,0,snmp,, +snmp.upsAdvBatteryNumOfBattPacks,gauge,,,,The number of external battery packs connected to the UPS.,0,snmp,, snmp.upsAdvBatteryReplaceIndicator,gauge,,event,,[APC UPS] Indicates whether the UPS batteries need replacing.,0,snmp,, snmp.upsAdvBatteryRunTimeRemaining,gauge,,time,,[APC UPS] The UPS battery run time remaining before battery exhaustion.,0,snmp,, snmp.upsAdvBatteryTemperature,gauge,,degree celsius,,[APC UPS] The current internal UPS temperature expressed in Celsius.,0,snmp,, +snmp.upsAdvInputFrequency,gauge,,hertz,,The current input frequency to the UPS system in Hz.,0,snmp,, snmp.upsAdvInputLineFailCause,gauge,,,,[APC UPS] Error status of last failed transfer to UPS battery power.,0,snmp,, +snmp.upsAdvInputLineVoltage,gauge,,,,The current utility line voltage in VAC.,0,snmp,, +snmp.upsAdvOutputActivePower,gauge,,watt,,The total output active power of the UPS system in W.,0,snmp,, +snmp.upsAdvOutputApparentPower,gauge,,,,The total output apparent power of all phases of the UPS system in VA.,0,snmp,, +snmp.upsAdvOutputCurrent,gauge,,ampere,,The current in amperes drawn by the load on the UPS.,0,snmp,, +snmp.upsAdvOutputEnergyUsage,gauge,,,,The output energy usage of the UPS in kWh.,0,snmp,, +snmp.upsAdvOutputFrequency,gauge,,hertz,,The current output frequency of the UPS system in Hz.,0,snmp,, snmp.upsAdvOutputLoad,gauge,,percent,,[APC UPS] The current UPS load expressed in percent of rated capacity.,0,snmp,, +snmp.upsAdvOutputVoltage,gauge,,,,The output voltage of the UPS system in VAC.,0,snmp,, snmp.upsAdvTestDiagnosticsResults,gauge,,,,[APC UPS] The results of the last UPS diagnostics test performed.,0,snmp,, snmp.upsAlarmTime,gauge,,,,"[UPS-MIB] The value of sysUpTime when the alarm condition was detected. If the alarm condition was detected at the time of agent startup and presumably existed before agent startup, the value of upsAlarmTime shall equal 0.",0,snmp,, snmp.upsAlarmsPresent,gauge,,,,"[UPS-MIB] The present number of active alarm conditions.",0,snmp,, @@ -1077,6 +1099,7 @@ snmp.upsBypassPower,gauge,,,,"[UPS-MIB] The present true power conveyed by the b snmp.upsBypassVoltage,gauge,,,,"[UPS-MIB] The present bypass voltage.",0,snmp,, snmp.upsEstimatedChargeRemaining,gauge,,,,"[UPS-MIB] An estimate of the battery charge remaining expressed as a percent of full charge.",0,snmp,, snmp.upsEstimatedMinutesRemaining,gauge,,,,"[UPS-MIB] An estimate of the time to battery charge depletion under the present load conditions if the utility power is off and remains off, or if it were to be lost and remain off.",0,snmp,, +snmp.upsHighPrecExtdBatteryTemperature,gauge,,degree celsius,,[APC UPS] The current internal UPS temperature expressed in tenths of degrees Celsius.,0,snmp,, snmp.upsHighPrecInputFrequency,gauge,,hertz,,[APC UPS] The current input frequency to the UPS system in tenths of Hz.,0,snmp,, snmp.upsHighPrecInputLineVoltage,gauge,,,,[APC UPS] The current utility line voltage in tenths of VAC.,0,snmp,, snmp.upsHighPrecOutputCurrent,gauge,,,,[APC UPS] The current in tenths of amperes drawn by the load on the UPS.,0,snmp,, @@ -1109,4 +1132,6 @@ snmp.voltageyz1,gauge,,,,[Legacy Chatsworth] The branch YZ1 voltage in 1/10 volt snmp.voltageyz2,gauge,,,,[Legacy Chatsworth] The branch YZ2 voltage in 1/10 volts.,0,snmp,, snmp.voltagezx1,gauge,,,,[Legacy Chatsworth] The branch ZX1 voltage in 1/10 volts.,0,snmp,, snmp.voltagezx2,gauge,,,,[Legacy Chatsworth] The branch ZX2 voltage in 1/10 volts.,0,snmp,, +snmp.wlan,gauge,,,,Constant metric equal to 1,0,snmp,, snmp.wlsxSysExtPacketLossPercent,gauge,,,,[Aruba] The packet loss count of the switch.,0,snmp,, + diff --git a/snmp/tests/test_e2e_core.py b/snmp/tests/test_e2e_core.py index b31fea181d1b2..2d5e16dc9f71d 100644 --- a/snmp/tests/test_e2e_core.py +++ b/snmp/tests/test_e2e_core.py @@ -4,6 +4,7 @@ import pytest from datadog_checks.dev.docker import get_container_ip +from datadog_checks.dev.utils import get_metadata_metrics from tests.common import SNMP_CONTAINER_NAME from . import common, metrics @@ -205,6 +206,7 @@ def assert_apc_ups_metrics(dd_agent_check, config): aggregator.assert_metric(metric, value=value, metric_type=aggregator.GAUGE, count=2, tags=tags) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) def test_e2e_memory_cpu_f5_big_ip(dd_agent_check): @@ -423,6 +425,7 @@ def test_e2e_meraki_cloud_controller(dd_agent_check): value=1, ) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) def test_e2e_core_detect_metrics_using_apc_ups_metrics(dd_agent_check): @@ -512,6 +515,7 @@ def test_e2e_core_cisco_csr(dd_agent_check): aggregator.assert_metric('snmp.peerConnectionByState', metric_type=aggregator.GAUGE, tags=metric_tags, value=1) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) def test_e2e_cisco_nexus(dd_agent_check): @@ -625,6 +629,7 @@ def test_e2e_cisco_nexus(dd_agent_check): aggregator.assert_metric('snmp.sysUpTimeInstance', count=2) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) def test_e2e_cisco_legacy_wlc(dd_agent_check): @@ -739,3 +744,4 @@ def test_e2e_cisco_legacy_wlc(dd_agent_check): aggregator.assert_metric('snmp.bsnDot11EssNumberOfMobileStations', metric_type=aggregator.GAUGE, tags=wlan_tags) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_3com.py b/snmp/tests/test_e2e_core_profiles/test_profile_3com.py index c5185717c0792..686d6a7518fec 100644 --- a/snmp/tests/test_e2e_core_profiles/test_profile_3com.py +++ b/snmp/tests/test_e2e_core_profiles/test_profile_3com.py @@ -4,6 +4,8 @@ import pytest +from datadog_checks.dev.utils import get_metadata_metrics + from .. import common from ..test_e2e_core_metadata import assert_device_metadata from .utils import ( @@ -32,6 +34,7 @@ def test_e2e_profile_3com(dd_agent_check): assert_common_metrics(aggregator, common_tags) assert_extend_generic_if(aggregator, common_tags) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) # --- TEST METADATA --- device = { diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_cisco.py b/snmp/tests/test_e2e_core_profiles/test_profile_cisco.py index 9475e3027a469..99d0454ead263 100644 --- a/snmp/tests/test_e2e_core_profiles/test_profile_cisco.py +++ b/snmp/tests/test_e2e_core_profiles/test_profile_cisco.py @@ -4,6 +4,8 @@ import pytest +from datadog_checks.dev.utils import get_metadata_metrics + from .. import common from ..test_e2e_core_metadata import assert_device_metadata from .utils import ( @@ -44,6 +46,7 @@ def test_e2e_profile_cisco(dd_agent_check): assert_extend_generic_bgp4(aggregator, common_tags) assert_extend_cisco_cpu_memory(aggregator, common_tags) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) # --- TEST METADATA --- device = { diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_dell.py b/snmp/tests/test_e2e_core_profiles/test_profile_dell.py index dc69ad3c3f511..08ef8775b4d69 100644 --- a/snmp/tests/test_e2e_core_profiles/test_profile_dell.py +++ b/snmp/tests/test_e2e_core_profiles/test_profile_dell.py @@ -4,6 +4,8 @@ import pytest +from datadog_checks.dev.utils import get_metadata_metrics + from .. import common from ..test_e2e_core_metadata import assert_device_metadata from .utils import ( @@ -36,6 +38,7 @@ def test_e2e_profile_dell(dd_agent_check): assert_extend_generic_tcp(aggregator, common_tags) assert_extend_generic_udp(aggregator, common_tags) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) # --- TEST METADATA --- device = { diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_fortinet.py b/snmp/tests/test_e2e_core_profiles/test_profile_fortinet.py index 05c92fab41fae..402724f9dac11 100644 --- a/snmp/tests/test_e2e_core_profiles/test_profile_fortinet.py +++ b/snmp/tests/test_e2e_core_profiles/test_profile_fortinet.py @@ -4,6 +4,8 @@ import pytest +from datadog_checks.dev.utils import get_metadata_metrics + from .. import common from ..test_e2e_core_metadata import assert_device_metadata from .utils import ( @@ -70,6 +72,7 @@ def test_e2e_profile_fortinet_fortiswitch(dd_agent_check): assert_common_metrics(aggregator, common_tags) assert_extend_generic_if(aggregator, common_tags) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) # --- TEST METADATA --- device = { diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_hp_ilo.py b/snmp/tests/test_e2e_core_profiles/test_profile_hp_ilo.py index 6632f88df0a58..7aeda43afa65a 100644 --- a/snmp/tests/test_e2e_core_profiles/test_profile_hp_ilo.py +++ b/snmp/tests/test_e2e_core_profiles/test_profile_hp_ilo.py @@ -153,7 +153,7 @@ def test_e2e_profile_hp_ilo(dd_agent_check): aggregator.assert_metric('snmp.{}'.format(metric), metric_type=aggregator.GAUGE, tags=tags) aggregator.assert_all_metrics_covered() - aggregator.assert_metrics_using_metadata(get_metadata_metrics(), check_submission_type=True) + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) # --- TEST METADATA --- device = { diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_juniper.py b/snmp/tests/test_e2e_core_profiles/test_profile_juniper.py index ce91289b121b9..8016df190e4f5 100644 --- a/snmp/tests/test_e2e_core_profiles/test_profile_juniper.py +++ b/snmp/tests/test_e2e_core_profiles/test_profile_juniper.py @@ -4,6 +4,8 @@ import pytest +from datadog_checks.dev.utils import get_metadata_metrics + from .. import common from ..test_e2e_core_metadata import assert_device_metadata from .utils import ( @@ -45,6 +47,7 @@ def test_e2e_profile_juniper(dd_agent_check): assert_extend_generic_host_resources(aggregator, common_tags) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) # --- TEST METADATA --- device = { @@ -91,6 +94,7 @@ def test_e2e_profile_juniper_variation(dd_agent_check): assert_extend_generic_host_resources(aggregator, common_tags) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) # --- TEST METADATA --- device = { diff --git a/snmp/tests/test_profiles.py b/snmp/tests/test_profiles.py index 1fe0a5f27e03d..04cf4af3e7914 100644 --- a/snmp/tests/test_profiles.py +++ b/snmp/tests/test_profiles.py @@ -233,6 +233,7 @@ def test_cisco_voice(aggregator): aggregator.assert_metric('snmp.{}'.format(metric), metric_type=aggregator.GAUGE, tags=instance_tags) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics(), check_submission_type=True) @pytest.mark.usefixtures("dd_environment") @@ -404,6 +405,7 @@ def test_f5(aggregator): aggregator.assert_metric('snmp.sysUpTimeInstance', count=1) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics(), check_submission_type=True) @pytest.mark.usefixtures("dd_environment") @@ -456,6 +458,7 @@ def test_device(aggregator): ) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics(), check_submission_type=True) @pytest.mark.usefixtures("dd_environment") @@ -513,6 +516,7 @@ def test_f5_router(aggregator): aggregator.assert_metric('snmp.sysUpTimeInstance', count=1) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics(), check_submission_type=True) @pytest.mark.usefixtures("dd_environment") @@ -649,6 +653,7 @@ def test_cisco_3850(aggregator): aggregator.assert_metric('snmp.sysUpTimeInstance', count=1) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics(), check_submission_type=True) @pytest.mark.usefixtures("dd_environment") @@ -691,6 +696,7 @@ def test_meraki_cloud_controller(aggregator): aggregator.assert_metric('snmp.sysUpTimeInstance', count=1) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics(), check_submission_type=True) @pytest.mark.usefixtures("dd_environment") @@ -1108,6 +1114,7 @@ def test_cisco_nexus(aggregator): aggregator.assert_metric('snmp.sysUpTimeInstance', count=1) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics(), check_submission_type=True) @pytest.mark.usefixtures("dd_environment") @@ -1709,6 +1716,7 @@ def test_generic_host_resources(aggregator): aggregator.assert_metric('snmp.hrProcessorLoad', count=1, tags=tags) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics(), check_submission_type=True) @pytest.mark.usefixtures("dd_environment") @@ -1759,6 +1767,7 @@ def test_palo_alto(aggregator): # Needs cross table entLogicalDescr tag aggregator.assert_metric('snmp.panEntryFanTrayPowerUsed', metric_type=aggregator.GAUGE, tags=common_tags) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics(), check_submission_type=True) @pytest.mark.usefixtures("dd_environment") @@ -1912,6 +1921,7 @@ def assert_cisco_asa(aggregator, profile): aggregator.assert_metric('snmp.{}'.format(rtt), metric_type=aggregator.GAUGE, tags=tags) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics(), check_submission_type=True) @pytest.mark.usefixtures("dd_environment") @@ -2061,6 +2071,7 @@ def test_checkpoint_firewall(aggregator): aggregator.assert_metric('snmp.{}'.format(metric), metric_type=aggregator.GAUGE, tags=common_tags) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics(), check_submission_type=True) @pytest.mark.usefixtures("dd_environment") @@ -2103,6 +2114,7 @@ def test_arista(aggregator): aggregator.assert_metric('snmp.sysUpTimeInstance', metric_type=aggregator.GAUGE, tags=common_tags, count=1) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics(), check_submission_type=True) @pytest.mark.usefixtures("dd_environment") @@ -2169,6 +2181,7 @@ def test_aruba(aggregator): aggregator.assert_metric('snmp.{}'.format(metric), metric_type=aggregator.GAUGE, tags=tags, count=1) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics(), check_submission_type=True) @pytest.mark.usefixtures("dd_environment") @@ -2397,6 +2410,7 @@ def test_apc_ups(aggregator): aggregator.assert_metric(metric, value=value, metric_type=aggregator.GAUGE, count=1, tags=tags) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics(), check_submission_type=True) @pytest.mark.usefixtures("dd_environment") @@ -2610,6 +2624,7 @@ def test_netapp(aggregator): aggregator.assert_metric('snmp.sysUpTimeInstance', metric_type=aggregator.GAUGE, tags=common_tags, count=1) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics(), check_submission_type=True) @pytest.mark.usefixtures("dd_environment") @@ -2640,6 +2655,7 @@ def test_cisco_catalyst(aggregator): aggregator.assert_metric('snmp.sysUpTimeInstance', count=1) common.assert_common_metrics(aggregator, common_tags) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics(), check_submission_type=True) @pytest.mark.parametrize("file", ["juniper-ex", "juniper-ex-variation"]) From 8ca0fd1eafb13d4e834b35d31c98a4b7c18c5bb3 Mon Sep 17 00:00:00 2001 From: Florent Clarret Date: Tue, 4 Jul 2023 14:43:04 +0200 Subject: [PATCH 07/77] Bump torchserve version in tests (#15146) --- torchserve/hatch.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/torchserve/hatch.toml b/torchserve/hatch.toml index aa10a2abc4190..fa216e44abc32 100644 --- a/torchserve/hatch.toml +++ b/torchserve/hatch.toml @@ -6,5 +6,5 @@ version = ["0.8"] [envs.default.overrides] matrix.version.env-vars = [ - { key = "TORCHSERVE_VERSION", value = "0.8.0", if = ["0.8"] }, + { key = "TORCHSERVE_VERSION", value = "0.8.1", if = ["0.8"] }, ] From 938d5f8a970b90cc6bb51b2c7cb1cd1b9e04b6b1 Mon Sep 17 00:00:00 2001 From: Alexandre Yang Date: Tue, 4 Jul 2023 14:53:26 +0200 Subject: [PATCH 08/77] Add profile chrysalis-luna-hsm (#15133) --- .../default_profiles/chrysalis-luna-hsm.yaml | 54 +++++++++++++++ .../snmp/data/default_profiles/chrysalis.yaml | 8 +++ snmp/metadata.csv | 8 +++ .../compose/data/chrysalis-luna-hsm.snmprec | 15 +++++ .../test_profile_chrysalis_luna_hsm.py | 67 +++++++++++++++++++ snmp/tests/test_e2e_core_profiles/utils.py | 9 +++ 6 files changed, 161 insertions(+) create mode 100644 snmp/datadog_checks/snmp/data/default_profiles/chrysalis-luna-hsm.yaml create mode 100644 snmp/datadog_checks/snmp/data/default_profiles/chrysalis.yaml create mode 100644 snmp/tests/compose/data/chrysalis-luna-hsm.snmprec create mode 100644 snmp/tests/test_e2e_core_profiles/test_profile_chrysalis_luna_hsm.py diff --git a/snmp/datadog_checks/snmp/data/default_profiles/chrysalis-luna-hsm.yaml b/snmp/datadog_checks/snmp/data/default_profiles/chrysalis-luna-hsm.yaml new file mode 100644 index 0000000000000..2fae5104a1e9c --- /dev/null +++ b/snmp/datadog_checks/snmp/data/default_profiles/chrysalis-luna-hsm.yaml @@ -0,0 +1,54 @@ +extends: + - chrysalis.yaml + - _generic-tcp.yaml + - _generic-ucd.yaml +sysobjectid: + - 1.3.6.1.4.1.12383.3.1.1 +metrics: + - MIB: CHRYSALIS-UTSP-MIB + symbol: + OID: 1.3.6.1.4.1.12383.3.1.1.1.0 + name: hsmOperationRequests + - MIB: CHRYSALIS-UTSP-MIB + symbol: + OID: 1.3.6.1.4.1.12383.3.1.1.2.0 + name: hsmOperationErrors + - MIB: CHRYSALIS-UTSP-MIB + symbol: + OID: 1.3.6.1.4.1.12383.3.1.1.3.0 + name: hsmCriticalEvents + - MIB: CHRYSALIS-UTSP-MIB + symbol: + OID: 1.3.6.1.4.1.12383.3.1.1.4.0 + name: hsmNonCriticalEvents +# TODO: enum in scalar metric is not supported yet (keep this metric and this comment in profile until it's fixed) +# - MIB: CHRYSALIS-UTSP-MIB +# symbol: +# OID: 1.3.6.1.4.1.12383.3.1.2.1.0 +# name: ntlsOperStatus +# enum: +# up: 1 +# down: 2 +# unknown: 3 + - MIB: CHRYSALIS-UTSP-MIB + symbol: + OID: 1.3.6.1.4.1.12383.3.1.2.2.0 + name: ntlsConnectedClients + - MIB: CHRYSALIS-UTSP-MIB + symbol: + OID: 1.3.6.1.4.1.12383.3.1.2.3.0 + name: ntlsLinks + - MIB: CHRYSALIS-UTSP-MIB + symbol: + OID: 1.3.6.1.4.1.12383.3.1.2.4.0 + name: ntlsSuccessfulClientConnections + - MIB: CHRYSALIS-UTSP-MIB + symbol: + OID: 1.3.6.1.4.1.12383.3.1.2.5.0 + name: ntlsFailedClientConnections +# TODO: sending tags for scalar metric is not supported yet (keep this metric and this) +# - MIB: CHRYSALIS-UTSP-MIB +# OID: 1.3.6.1.4.1.12383.3.1.2.6.0 +# symbol: ntlsCertExpireDay +# tag: ntls_cert_expire_day + diff --git a/snmp/datadog_checks/snmp/data/default_profiles/chrysalis.yaml b/snmp/datadog_checks/snmp/data/default_profiles/chrysalis.yaml new file mode 100644 index 0000000000000..cc3fd1866217b --- /dev/null +++ b/snmp/datadog_checks/snmp/data/default_profiles/chrysalis.yaml @@ -0,0 +1,8 @@ +extends: + - _base.yaml + +metadata: + device: + fields: + vendor: + value: "chrysalis" diff --git a/snmp/metadata.csv b/snmp/metadata.csv index f72ce56506ef4..59405d7743e75 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -515,6 +515,10 @@ snmp.hrSystemMaxProcesses,gauge,,,,"[HOST-RESOURCES-MIB] The maximum number of p snmp.hrSystemNumUsers,gauge,,,,"[HOST-RESOURCES-MIB] The number of user sessions for which this host is storing state information. A session is a collection of processes requiring a single act of user authentication and possibly subject to collective job control.",0,snmp,, snmp.hrSystemProcesses,gauge,,,,"[HOST-RESOURCES-MIB] The number of process contexts currently loaded or running on this system.",0,snmp,, snmp.hrSystemUptime,gauge,,,,"[HOST-RESOURCES-MIB] The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.",0,snmp,, +snmp.hsmCriticalEvents,gauge,,,,"[CHRYSALIS-UTSP-MIB] This Counter64 objects' value indicates the total number of critical HSM events detected.",0,snmp,, +snmp.hsmNonCriticalEvents,gauge,,,,"[CHRYSALIS-UTSP-MIB] This Counter64 objects' value indicates the total number of non-critical HSM events detected.",0,snmp,, +snmp.hsmOperationErrors,gauge,,,,"[CHRYSALIS-UTSP-MIB] This Counter64 objects' value indicates the total number of HSM operations requested which have resulted in errors.",0,snmp,, +snmp.hsmOperationRequests,gauge,,,,"[CHRYSALIS-UTSP-MIB] This Counter64 objects' value indicates the total number of HSM operations requested.",0,snmp,, snmp.humidityProbe1,gauge,,,,[Legacy Chatsworth] The probe 1 humidity in 1/100 %.,0,snmp,, snmp.humidityProbe2,gauge,,,,[Legacy Chatsworth] The probe 2 humidity in 1/100 %.,0,snmp,, snmp.hwdevMFanStatus,gauge,,,,"[A3COM-HUAWEI-LswDEVM-MIB] Fan status (constant metric equal to 1).",0,snmp,, @@ -821,6 +825,10 @@ snmp.networkDeviceStatus,gauge,,,,[Dell iDRAC] The status of the network device. snmp.nodeHealth,gauge,,,,[Isilon] The overall health of the node.,0,snmp,, snmp.nodeIfsInBytes,gauge,,byte,,[Isilon] The number of bytes into /ifs through this node.,0,snmp,, snmp.nodeIfsOutBytes,gauge,,byte,,[Isilon] The number of bytes out of /ifs through this node.,0,snmp,, +snmp.ntlsConnectedClients,gauge,,,,"[CHRYSALIS-UTSP-MIB] This Gauge32 objects' value indicates the current number of connected clients of the NTLS.",0,snmp,, +snmp.ntlsFailedClientConnections,gauge,,,,"[CHRYSALIS-UTSP-MIB] This Counter64 objects' value indicates the total number of unsuccessful client connections of the NTLS.",0,snmp,, +snmp.ntlsLinks,gauge,,,,"[CHRYSALIS-UTSP-MIB] This Gauge32 objects' value indicates the current number of links of the NTLS.",0,snmp,, +snmp.ntlsSuccessfulClientConnections,gauge,,,,"[CHRYSALIS-UTSP-MIB] This Counter64 objects' value indicates the total number of successful client connections of the NTLS.",0,snmp,, snmp.operatingSystemMemoryAvailablePageFileSize,gauge,,kibibyte,,[Dell Poweredge] The available page file memory in the Operating System Memory in Kbytes.,0,snmp,, snmp.operatingSystemMemoryAvailablePhysicalSize,gauge,,kibibyte,,[Dell Poweredge] The available physical memory in the Operating System Memory in Kbytes.,0,snmp,, snmp.operatingSystemMemoryAvailableVirtualSize,gauge,,kibibyte,,[Dell Poweredge] The available virtual memory in the Operating System Memory in Kbytes.,0,snmp,, diff --git a/snmp/tests/compose/data/chrysalis-luna-hsm.snmprec b/snmp/tests/compose/data/chrysalis-luna-hsm.snmprec new file mode 100644 index 0000000000000..7fb9b69227f78 --- /dev/null +++ b/snmp/tests/compose/data/chrysalis-luna-hsm.snmprec @@ -0,0 +1,15 @@ +1.3.6.1.2.1.1.1.0|4|chrysalis-luna-hsm Device Description +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.12383.3.1.1 +1.3.6.1.2.1.1.5.0|4|chrysalis-luna-hsm.device.name +1.3.6.1.2.1.6.5.0|65|4698 +1.3.6.1.4.1.2021.4.3.0|2|1048572 +1.3.6.1.4.1.12383.3.1.1.1.0|70|15656507373710707410 +1.3.6.1.4.1.12383.3.1.1.2.0|70|1795642380728188989 +1.3.6.1.4.1.12383.3.1.1.3.0|70|3643489073726383715 +1.3.6.1.4.1.12383.3.1.1.4.0|70|1423617782667419805 +1.3.6.1.4.1.12383.3.1.2.1.0|2|1 +1.3.6.1.4.1.12383.3.1.2.2.0|66|3585857118 +1.3.6.1.4.1.12383.3.1.2.3.0|66|1538819231 +1.3.6.1.4.1.12383.3.1.2.4.0|70|2356101529089265055 +1.3.6.1.4.1.12383.3.1.2.5.0|70|8456864294142956087 +1.3.6.1.4.1.12383.3.1.2.6.0|4x|6b65707420717561696e746c79206b657074206f78656e20666f7277617264207a6f6d6269657320717561696e746c79 diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_chrysalis_luna_hsm.py b/snmp/tests/test_e2e_core_profiles/test_profile_chrysalis_luna_hsm.py new file mode 100644 index 0000000000000..cc9cff5ac36f6 --- /dev/null +++ b/snmp/tests/test_e2e_core_profiles/test_profile_chrysalis_luna_hsm.py @@ -0,0 +1,67 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +import pytest + +from datadog_checks.dev.utils import get_metadata_metrics + +from .. import common +from ..test_e2e_core_metadata import assert_device_metadata +from .utils import ( + assert_common_metrics, + assert_extend_generic_tcp, + assert_extend_generic_ucd, + create_e2e_core_test_config, + get_device_ip_from_config, +) + +pytestmark = [pytest.mark.e2e, common.py3_plus_only, common.snmp_integration_only] + + +def test_e2e_profile_chrysalis_luna_hsm(dd_agent_check): + config = create_e2e_core_test_config('chrysalis-luna-hsm') + aggregator = common.dd_agent_check_wrapper(dd_agent_check, config, rate=True) + + ip_address = get_device_ip_from_config(config) + common_tags = [ + 'snmp_profile:chrysalis-luna-hsm', + 'snmp_host:chrysalis-luna-hsm.device.name', + 'device_namespace:default', + 'snmp_device:' + ip_address, + ] + [] + + # --- TEST EXTENDED METRICS --- + assert_extend_generic_tcp(aggregator, common_tags) + assert_extend_generic_ucd(aggregator, common_tags) + + # --- TEST METRICS --- + assert_common_metrics(aggregator, common_tags) + + aggregator.assert_metric('snmp.hsmCriticalEvents', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.hsmNonCriticalEvents', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.hsmOperationErrors', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.hsmOperationRequests', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ntlsConnectedClients', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ntlsFailedClientConnections', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ntlsLinks', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ntlsSuccessfulClientConnections', metric_type=aggregator.GAUGE, tags=common_tags) + + # --- TEST METADATA --- + device = { + 'description': 'chrysalis-luna-hsm Device Description', + 'id': 'default:' + ip_address, + 'id_tags': ['device_namespace:default', 'snmp_device:' + ip_address], + 'ip_address': '' + ip_address, + 'name': 'chrysalis-luna-hsm.device.name', + 'profile': 'chrysalis-luna-hsm', + 'status': 1, + 'sys_object_id': '1.3.6.1.4.1.12383.3.1.1', + 'vendor': 'chrysalis', + } + device['tags'] = common_tags + assert_device_metadata(aggregator, device) + + # --- CHECK COVERAGE --- + aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) diff --git a/snmp/tests/test_e2e_core_profiles/utils.py b/snmp/tests/test_e2e_core_profiles/utils.py index 06967fdee4da8..8be9ada673583 100644 --- a/snmp/tests/test_e2e_core_profiles/utils.py +++ b/snmp/tests/test_e2e_core_profiles/utils.py @@ -189,3 +189,12 @@ def assert_extend_entity_sensor(aggregator, common_tags): 'ent_phy_sensor_units_display:driving driving forward acted their but', ] aggregator.assert_metric("snmp.entPhySensorValue", metric_type=aggregator.GAUGE, tags=common_tags + additional_tags) + + +def assert_extend_generic_ucd(aggregator, common_tags): + # fmt:off + """Add the following to the snmprec +1.3.6.1.4.1.2021.4.3.0|2|1048572 + """ + # fmt:on + aggregator.assert_metric("snmp.memTotalSwap", metric_type=aggregator.GAUGE, tags=common_tags) From e43529bab67b02678d6e840b73830966bb9b8fac Mon Sep 17 00:00:00 2001 From: Thibaud Cheruy Date: Tue, 4 Jul 2023 15:26:48 +0200 Subject: [PATCH 09/77] [SNMP] Add profile for alcatel-lucent ent (#15094) * Add profile for alcatel-lucent ent * Format * Update metadata * Fix cpu and memory tagging * Fix cpu/mem index --- .../default_profiles/alcatel-lucent-ent.yaml | 303 ++++++++++++++ .../data/default_profiles/alcatel-lucent.yaml | 9 + snmp/metadata.csv | 4 + .../compose/data/alcatel-lucent-ent.snmprec | 372 ++++++++++++++++++ .../test_profile_alcatel_lucent_ent.py | 133 +++++++ 5 files changed, 821 insertions(+) create mode 100644 snmp/datadog_checks/snmp/data/default_profiles/alcatel-lucent-ent.yaml create mode 100644 snmp/datadog_checks/snmp/data/default_profiles/alcatel-lucent.yaml create mode 100644 snmp/tests/compose/data/alcatel-lucent-ent.snmprec create mode 100644 snmp/tests/test_e2e_core_profiles/test_profile_alcatel_lucent_ent.py diff --git a/snmp/datadog_checks/snmp/data/default_profiles/alcatel-lucent-ent.yaml b/snmp/datadog_checks/snmp/data/default_profiles/alcatel-lucent-ent.yaml new file mode 100644 index 0000000000000..25c4e382f2c65 --- /dev/null +++ b/snmp/datadog_checks/snmp/data/default_profiles/alcatel-lucent-ent.yaml @@ -0,0 +1,303 @@ +extends: + - alcatel-lucent.yaml +sysobjectid: + - 1.3.6.1.4.1.6486.801.1.1.2.1.* +metrics: + - MIB: ALCATEL-ENT1-HEALTH-MIB + table: + name: healthModuleTable + OID: 1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1 + symbols: + - name: cpu.usage + OID: 1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.11 + metric_tags: + - column: + name: healthModuleChassisId + OID: 1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.14 + tag: health_module_chassis_id + - index: 1 # healthModuleSlot + tag: cpu + - MIB: ALCATEL-ENT1-HEALTH-MIB + table: + name: healthModuleTable + OID: 1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1 + symbols: + - name: memory.usage + OID: 1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.8 + metric_tags: + - column: + name: healthModuleChassisId + OID: 1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.14 + tag: health_module_chassis_id + - index: 1 # healthModuleSlot + tag: mem + - MIB: ALCATEL-ENT1-CHASSIS-MIB + table: + name: chasEntPhysicalTable + OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.1 + symbols: + - name: chasEntPhysical + constant_value_one: true + metric_tags: + - column: + name: entPhysicalClass + OID: 1.3.6.1.2.1.47.1.1.1.1.5 + tag: ent_physical_class + mapping: + 1: other + 2: unknown + 3: chassis + 4: backplane + 5: container + 6: power_supply + 7: fan + 8: sensor + 9: module + 10: port + 11: stack + 12: cpu + - column: + name: entPhysicalName + OID: 1.3.6.1.2.1.47.1.1.1.1.7 + tag: ent_physical_name + - column: + name: entPhysicalSerialNum + OID: 1.3.6.1.2.1.47.1.1.1.1.11 + tag: ent_physical_serial_num + - column: + name: entPhysicalModelName + OID: 1.3.6.1.2.1.47.1.1.1.1.13 + tag: ent_physical_model_name + - column: + OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.1 + name: chasEntPhysAdminStatus + tag: chas_ent_phys_admin_status + mapping: + 1: unknown + 2: power_off + 3: power_on + 4: reset + 5: takeover + 6: reset_all + 7: standby + - column: + OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.2 + name: chasEntPhysOperStatus + tag: chas_ent_phys_oper_status + mapping: + 1: up + 2: down + 3: testing + 4: unknown + 5: secondary + 6: not_present + 7: unpowered + 8: master + - column: + OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.6 + name: chasEntPhysLedStatusOk1 + tag: chas_ent_phys_led_status_ok1 + mapping: + 0: not_applicable + 1: off + 2: green_on + 3: green_blink + 4: amber_on + 5: amber_blink + - column: + OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.7 + name: chasEntPhysLedStatusOk2 + tag: chas_ent_phys_led_status_ok2 + mapping: + 0: not_applicable + 1: off + 2: green_on + 3: green_blink + 4: amber_on + 5: amber_blink + - column: + OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.8 + name: chasEntPhysLedStatusPrimaryCMM + tag: chas_ent_phys_led_status_primary_cmm + mapping: + 0: not_applicable + 1: off + 2: green_on + 3: green_blink + 4: amber_on + 5: amber_blink + - column: + OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.9 + name: chasEntPhysLedStatusSecondaryCMM + tag: chas_ent_phys_led_status_secondary_cmm + mapping: + 0: not_applicable + 1: off + 2: green_on + 3: green_blink + 4: amber_on + 5: amber_blink + - column: + OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.10 + name: chasEntPhysLedStatusTemperature + tag: chas_ent_phys_led_status_temperature + mapping: + 0: not_applicable + 1: off + 2: green_on + 3: green_blink + 4: amber_on + 5: amber_blink + - column: + OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.11 + name: chasEntPhysLedStatusFan + tag: chas_ent_phys_led_status_fan + mapping: + 0: not_applicable + 1: off + 2: green_on + 3: green_blink + 4: amber_on + 5: amber_blink + - column: + OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.12 + name: chasEntPhysLedStatusBackupPS + tag: chas_ent_phys_led_status_backup_ps + mapping: + 0: not_applicable + 1: off + 2: green_on + 3: green_blink + 4: amber_on + 5: amber_blink + - column: + OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.13 + name: chasEntPhysLedStatusInternalPS + tag: chas_ent_phys_led_status_internal_ps + mapping: + 0: not_applicable + 1: off + 2: green_on + 3: green_blink + 4: amber_on + 5: amber_blink + - column: + OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.14 + name: chasEntPhysLedStatusControl + tag: chas_ent_phys_led_status_control + mapping: + 0: not_applicable + 1: off + 2: green_on + 3: green_blink + 4: amber_on + 5: amber_blink + - column: + OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.15 + name: chasEntPhysLedStatusFabric + tag: chas_ent_phys_led_status_fabric + mapping: + 0: not_applicable + 1: off + 2: green_on + 3: green_blink + 4: amber_on + 5: amber_blink + - column: + OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.16 + name: chasEntPhysLedStatusPS + tag: chas_ent_phys_led_status_ps + mapping: + 0: not_applicable + 1: off + 2: green_on + 3: green_blink + 4: amber_on + 5: amber_blink + - MIB: ALCATEL-ENT1-CHASSIS-MIB + table: + name: chasEntTemperatureTable + OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.2 + symbols: + - name: chasEntTempCurrent + OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.2.1.1 + metric_tags: + - column: + name: entPhysicalClass + OID: 1.3.6.1.2.1.47.1.1.1.1.5 + tag: ent_physical_class + mapping: + 1: other + 2: unknown + 3: chassis + 4: backplane + 5: container + 6: power_supply + 7: fan + 8: sensor + 9: module + 10: port + 11: stack + 12: cpu + - column: + name: entPhysicalName + OID: 1.3.6.1.2.1.47.1.1.1.1.7 + tag: ent_physical_name + - column: + name: entPhysicalSerialNum + OID: 1.3.6.1.2.1.47.1.1.1.1.11 + tag: ent_physical_serial_num + - column: + name: entPhysicalModelName + OID: 1.3.6.1.2.1.47.1.1.1.1.13 + tag: ent_physical_model_name + - column: + OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.2.1.4 + name: chasEntTempStatus + tag: chas_ent_temp_status + mapping: + 1: unknown + 2: not_present + 3: under_threshold + 4: over_first_threshold + 5: over_danger_threshold + - MIB: ALCATEL-ENT1-CHASSIS-MIB + table: + name: alaChasEntPhysFanTable + OID: 1.3.6.1.4.1.6486.801.1.1.1.3.1.1.11 + symbols: + - name: alaChasEntPhysFanSpeed + OID: 1.3.6.1.4.1.6486.801.1.1.1.3.1.1.11.1.4 + metric_tags: + - column: + OID: 1.3.6.1.4.1.6486.801.1.1.1.3.1.1.11.1.2 + name: alaChasEntPhysFanStatus + tag: ala_chas_ent_phys_fan_status + mapping: + 0: no_status + 1: not_running + 2: running + - MIB: ALCATEL-ENT1-CHASSIS-MIB + table: + name: alaChasBpsPowerSupplyTable + OID: 1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4 + symbols: + - name: alaChasBpsPowerSupply + constant_value_one: true + metric_tags: + - column: + name: alaChasBpsPowerSupplyName + OID: 1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.3 + tag: ala_chas_bps_power_supply_name + - column: + name: alaChasBpsPowerSupplySerialNum + OID: 1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.8 + tag: ala_chas_bps_power_supply_serial_num + - column: + OID: 1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.10 + name: alaChasBpsPowerSupplyOperStatus + tag: ala_chas_bps_power_supply_oper_status + mapping: + 1: up + 2: down + 3: unknown diff --git a/snmp/datadog_checks/snmp/data/default_profiles/alcatel-lucent.yaml b/snmp/datadog_checks/snmp/data/default_profiles/alcatel-lucent.yaml new file mode 100644 index 0000000000000..6e343585e8033 --- /dev/null +++ b/snmp/datadog_checks/snmp/data/default_profiles/alcatel-lucent.yaml @@ -0,0 +1,9 @@ +extends: + - _base.yaml + - _generic-if.yaml + +metadata: + device: + fields: + vendor: + value: "alcatel-lucent" \ No newline at end of file diff --git a/snmp/metadata.csv b/snmp/metadata.csv index 59405d7743e75..107ac1b7846be 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -20,6 +20,8 @@ snmp.adapterTxBytes,count,,byte,,[Dell iDRAC] Total number of bytes transmitted. snmp.adapterTxDropped,count,,packet,,[Dell iDRAC] Total number of transmit packets dropped due to successive collisions.,0,snmp,, snmp.adapterTxErrors,count,,packet,,[Dell iDRAC] Total number of packets that failed to transmit.,0,snmp,, snmp.adapterTxPackets,count,,packet,,[Dell iDRAC] Total packets transmitted.,0,snmp,, +snmp.alaChasBpsPowerSupply,gauge,,,,"[ALCATEL-ENT1-CHASSIS-MIB] This table contains BPS power supplies details Make 'sum by {X}' queries" to count elements with the tag X.",0,snmp,, +snmp.alaChasEntPhysFanSpeed,gauge,,,,"[ALCATEL-ENT1-CHASSIS-MIB] Chassis fan speed.",0,snmp,, snmp.amperageProbeReading,gauge,,milliampere,,[Dell iDRAC] The reading for an amperage probe.,0,snmp,, snmp.amperageProbeStatus,gauge,,milliampere,,[Dell iDRAC] The probe status of the amperage probe.,0,snmp,, snmp.aristaEgressQueuePktsDropped,count,,,,[Arista] The number of packets discarded from this egress queue.,0,snmp,, @@ -137,6 +139,8 @@ snmp.cfInterconnectStatus,gauge,,,,"[NetApp] The current status of the interconn snmp.cfwConnectionStatCount,gauge,,,,[Cisco ASA 5525] This is an integer that contains the value of the resource statistic.,0,snmp,, snmp.cfwConnectionStatValue,gauge,,,,[Cisco ASA 5525] This is an integer that contains the value of the resource statistic.,0,snmp,, snmp.cfwHardwareStatusValue,gauge,,,,[Cisco ASA 5525] This object contains the current status of the resource.,0,snmp,, +snmp.chasEntPhysical,gauge,,,,"[ALCATEL-ENT1-CHASSIS-MIB] This table contains one row per physical entity. It is an extension for the entity physical table (rfc 2737) that is instantiated for every physical entity object. The fields are not always significant for every object. Make 'sum by {X}' queries" to count elements with the tag X.",0,snmp,, +snmp.chasEntTempCurrent,gauge,,,,"[ALCATEL-ENT1-CHASSIS-MIB] This object indicates the current output of the temperature sensor in degrees Celsius.",0,snmp,, snmp.cieIfInputQueueDrops,gauge,,packet,,[Cisco c3850] The number of input packets dropped.,0,snmp,, snmp.cieIfLastInTime,gauge,,millisecond,,[Cisco c3850] The elapsed time in milliseconds since the last protocol input packet was received.,0,snmp,, snmp.cieIfLastOutTime,gauge,,millisecond,,[Cisco c3850] The elapsed time in milliseconds since the last protocol output packet was transmitted.,0,snmp,, diff --git a/snmp/tests/compose/data/alcatel-lucent-ent.snmprec b/snmp/tests/compose/data/alcatel-lucent-ent.snmprec new file mode 100644 index 0000000000000..5a6e684aca35e --- /dev/null +++ b/snmp/tests/compose/data/alcatel-lucent-ent.snmprec @@ -0,0 +1,372 @@ +1.3.6.1.2.1.1.1.0|4|alcatel-lucent-ent Device Description +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.6486.801.1.1.2.1.9.4.2.4.2.1 +1.3.6.1.2.1.1.5.0|4|alcatel-lucent-ent.device.name +1.3.6.1.2.1.2.1.0|2|4 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.1.5|2|7 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.1.15|2|1 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.2.5|2|4 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.2.15|2|8 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.3.5|2|26 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.3.15|2|13 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.4.5|4x|717561696e746c79206b657074206f78656e20717561696e746c79 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.4.15|4x|7a6f6d62696573207468656972 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.5.5|4|quaintly +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.5.15|4x|64726976696e67207a6f6d62696573 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.6.5|2|2 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.6.15|2|0 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.7.5|2|3 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.7.15|2|2 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.8.5|2|0 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.8.15|2|1 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.9.5|2|3 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.9.15|2|5 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.10.5|2|2 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.10.15|2|2 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.11.5|2|5 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.11.15|2|4 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.12.5|2|2 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.12.15|2|2 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.13.5|2|2 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.13.15|2|2 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.14.5|2|5 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.14.15|2|2 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.15.5|2|5 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.15.15|2|5 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.16.5|2|1 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.16.15|2|5 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.17.5|4x|6163746564207468656972 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.17.15|4x|746865697220627574 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.18.5|4|acted +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.18.15|4x|627574206f78656e +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.19.5|4x|717561696e746c79206b657074 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.19.15|4x|6f78656e204a61646564 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.20.5|4x|616374656420666f7277617264 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.20.15|4x|4a6164656420717561696e746c79 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.21.5|4|but +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.21.15|4|but +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.22.5|4x|717561696e746c79207468656972 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.22.15|4|acted +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.23.5|4|zombies +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.23.15|4x|64726976696e67207468656972 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.24.5|4x|7a6f6d62696573206163746564 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.24.15|4|driving +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.25.5|4|Jaded +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.25.15|4x|4a616465642062757420627574 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.26.5|2|17 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.26.15|2|24 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.27.5|2|11 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.27.15|2|6 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.28.5|2|18 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.28.15|2|1 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.29.5|4|zombies +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.29.15|4x|717561696e746c79207468656972 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.30.5|4|kept +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.30.15|4|forward +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.31.5|4x|111111111111 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.31.15|4x|111111111111 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.32.5|4x|64726976696e67207468656972 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.32.15|4x|717561696e746c7920627574206163746564206b6570742064726976696e67 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.33.5|2|2 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.33.15|2|0 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.34.5|2|6 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.34.15|2|19 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.35.5|2|3 +1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.35.15|2|0 +1.3.6.1.4.1.6486.801.1.1.1.1.1.2.1.1.22|2|3 +1.3.6.1.4.1.6486.801.1.1.1.1.1.2.1.1.29|2|8 +1.3.6.1.4.1.6486.801.1.1.1.1.1.2.1.2.22|2|8 +1.3.6.1.4.1.6486.801.1.1.1.1.1.2.1.2.29|2|6 +1.3.6.1.4.1.6486.801.1.1.1.1.1.2.1.3.22|2|30 +1.3.6.1.4.1.6486.801.1.1.1.1.1.2.1.3.29|2|30 +1.3.6.1.4.1.6486.801.1.1.1.1.1.2.1.4.22|2|2 +1.3.6.1.4.1.6486.801.1.1.1.1.1.2.1.4.29|2|1 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.1.1|2|1 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.1.4|2|1 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.2.1|2|1 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.2.4|2|5 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.3.1|66|42933 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.3.4|66|42797 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.4.1|2|2 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.4.4|2|2 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.5.1|2|2 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.5.4|2|4 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.6.1|2|4 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.6.4|2|2 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.7.1|2|3 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.7.4|2|4 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.8.1|4x|6f78656e2062757420627574206b6570742064726976696e67204a61646564 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.8.4|4x|6f78656e206163746564206f78656e206163746564207a6f6d62696573 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.9.1|4x|627574206b657074204a61646564207468656972206b657074207468656972207468656972206f78656e206f78656e +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.9.4|4x|6b657074207a6f6d62696573207a6f6d62696573206275742061637465642062757420666f7277617264206b657074207468656972 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.10.1|4x|666f727761726420666f727761726420666f7277617264206f78656e20717561696e746c79204a61646564 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.10.4|4x|7468656972207a6f6d6269657320627574204a61646564 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.11.1|2|13 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.11.4|2|8 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.12.1|64x|6757e9f8 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.12.4|64x|a6bef181 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.13.1|64x|0bff8e9e +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.13.4|64x|8362ac03 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.14.1|2|16 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.14.4|2|15 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.2.1.1.10|65|1030961110 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.2.1.1.14|65|348905218 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.2.1.2.10|66|47050 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.2.1.2.14|66|47082 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.2.1.3.10|2|14 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.2.1.3.14|2|23 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.1.1|66|13 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.1.3|66|2 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.2.1|2|28 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.2.3|2|22 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.3.1|65|4052280832 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.3.3|65|773701047 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.4.1|2|5 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.4.3|2|1 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.5.1|2|25 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.5.3|2|22 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.6.1|2|30 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.6.3|2|30 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.7.1|2|8 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.7.3|2|18 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.8.1|2|12 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.8.3|2|6 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.9.1|2|21 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.9.3|2|18 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.10.1|2|9 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.10.3|2|6 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.11.1|2|21 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.11.3|2|6 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.12.1|2|29 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.12.3|2|20 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.13.1|2|8 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.13.3|2|30 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.14.1|2|21 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.14.3|2|2 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.15.1|2|7 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.15.3|2|23 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.16.1|2|25 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.16.3|2|27 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.17.1|2|21 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.17.3|2|25 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.18.1|2|20 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.18.3|2|0 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.19.1|2|2 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.19.3|2|30 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.20.1|2|6 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.20.3|2|13 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.21.1|2|3 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.21.3|2|18 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.22.1|2|25 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.22.3|2|30 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.23.1|2|5 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.23.3|2|15 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.24.1|2|2 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.24.3|2|2 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.25.1|2|1 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.25.3|2|2 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.4.1.1.14|2|14 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.4.1.1.16|2|16 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.4.1.2.14|66|44817 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.4.1.2.16|66|21332 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.4.1.3.14|4x|64726976696e67204a61646564207a6f6d62696573206163746564207468656972 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.4.1.3.16|4x|62757420627574206b657074206f78656e207a6f6d6269657320627574 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.4.1.4.14|4x|7468656972204a61646564 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.4.1.4.16|4x|616374656420666f7277617264206f78656e204a61646564 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.4.1.5.14|2|3 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.4.1.5.16|2|1 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.4.1.6.14|66|46638 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.4.1.6.16|66|47235 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.4.1.7.14|2|2 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.4.1.7.16|2|3 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.4.1.8.14|4x|666f727761726420717561696e746c79 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.4.1.8.16|4|but +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.5.1.0|66|35584 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.5.2.0|2|2 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.5.3.0|4x|717561696e746c792064726976696e67206f78656e204a616465642064726976696e67204a6164656420717561696e746c7920666f7277617264206b657074 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.5.4.0|4x|4a61646564206b65707420717561696e746c79204a61646564206b65707420666f7277617264206b65707420616374656420717561696e746c79 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.5.5.0|4x|7a6f6d62696573207a6f6d62696573206f78656e206f78656e +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.5.6.0|4x|64726976696e67206b657074206b65707420627574 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.5.7.0|2|1 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.5.8.0|2|3 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.6.1.1.12|2|12 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.6.1.1.31|2|31 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.6.1.2.12|2|3 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.6.1.2.31|2|3 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.7.1.0|2|30 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.7.2.0|2|3 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.7.3.0|2|3 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.7.4.0|2|6 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.7.5.0|2|4 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.7.6.0|4x|62757420717561696e746c79206f78656e204a61646564204a61646564206163746564 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.7.7.0|2|1 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.7.8.0|2|2 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.7.9.0|4x|61637465642064726976696e67206f78656e20666f727761726420616374656420717561696e746c79 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.8.1.1.11|2|11 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.8.1.1.16|2|16 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.8.1.2.11|66|61728 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.8.1.2.16|66|49781 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.8.1.3.11|66|23063 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.8.1.3.16|66|19024 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.8.1.4.11|66|16871 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.8.1.4.16|66|30719 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.8.1.5.11|66|41361 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.8.1.5.16|66|34205 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.9.1.1.8|2|8 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.9.1.1.12|2|12 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.9.1.2.8|66|26827 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.9.1.2.12|66|23545 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.9.1.3.8|66|12160 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.9.1.3.12|66|7005 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.9.1.4.8|2|21 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.9.1.4.12|2|25 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.10.1.1.4|2|4 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.10.1.1.12|2|12 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.10.1.2.4|2|1 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.10.1.2.12|2|0 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.11.1.1.6.2|2|2 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.11.1.1.15.14|2|14 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.11.1.2.6.2|2|2 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.11.1.2.15.14|2|2 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.11.1.3.6.2|2|2 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.11.1.3.15.14|2|1 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.11.1.4.6.2|66|35712 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.11.1.4.15.14|66|59844 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.13.1.0|2|1 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.13.2.0|2|12 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.13.3.0|2|30 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.13.4.0|4x|746865697220616374656420627574 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.13.5.0|2|9 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.13.6.0|2|28 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.13.7.0|4x|616374656420616374656420717561696e746c79206b6570742062757420627574206f78656e +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.13.8.0|4x|717561696e746c79207468656972 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.13.9.0|2|5 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.13.10.0|2|21 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.13.11.0|2|1 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.13.12.0|4x|717561696e746c79204a61646564206f78656e20627574204a61646564206163746564206163746564 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.13.13.0|2|29 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.13.14.0|2|17 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.13.15.0|2|16 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.13.16.0|2|2 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.13.17.0|2|3 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.13.18.0|2|1 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.13.19.0|2|3 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.13.20.0|2|1 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.13.21.0|2|19 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.13.22.0|2|2 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.1.1.1.1|2|1 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.1.1.1.3|2|3 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.1.1.2.1|2|2 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.1.1.2.3|2|2 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.1.1.3.1|2|4 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.1.1.3.3|2|13 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.1.1.4.1|2|21 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.1.1.4.3|2|23 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.1.1.5.1|2|8 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.1.1.5.3|2|3 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.2.1.1.2|2|2 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.2.1.1.4|2|4 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.2.1.2.2|2|2 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.2.1.2.4|2|1 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.2.1.3.2|2|4 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.2.1.3.4|2|1 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.2.1.4.2|2|5 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.2.1.4.4|2|1 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.2.1.5.2|4|acted +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.2.1.5.4|4|Jaded +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.3.1.1.1|2|3 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.3.1.1.2|2|3 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.1.1.3|2|1 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.1.1.4|2|1 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.2.1.3|2|3 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.2.1.4|2|4 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.3.1.3|4x|6163746564207468656972207a6f6d6269657320666f7277617264206f78656e +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.3.1.4|4|Jaded +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.4.1.3|4x|6163746564207a6f6d62696573204a6164656420627574206f78656e20616374656420717561696e746c79204a61646564207a6f6d62696573 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.4.1.4|4x|4a61646564206f78656e2074686569722064726976696e67207468656972204a61646564 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.5.1.3|4|oxen +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.5.1.4|4x|64726976696e6720666f7277617264206f78656e +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.6.1.3|4x|666f7277617264207468656972 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.6.1.4|4|forward +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.7.1.3|4|driving +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.7.1.4|4|kept +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.8.1.3|4x|616374656420666f7277617264207a6f6d62696573204a6164656420627574 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.8.1.4|4x|64726976696e6720717561696e746c79206b657074 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.9.1.3|4|forward +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.9.1.4|4|driving +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.10.1.3|2|3 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.10.1.4|2|1 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.11.1.3|2|6 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.11.1.4|2|14 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.5.1.1.1|2|0 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.5.1.1.3|2|23 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.5.1.2.1|2|30 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.5.1.2.3|2|20 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.5.1.3.1|2|9 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.5.1.3.3|2|19 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.5.1.4.1|2|0 +1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.5.1.4.3|2|21 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.1.21|2|21 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.1.27|2|27 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.2.21|2|23 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.2.27|2|25 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.3.21|2|12 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.3.27|2|24 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.4.21|2|24 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.4.27|2|9 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.5.21|2|12 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.5.27|2|8 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.6.21|2|3 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.6.27|2|16 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.7.21|2|19 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.7.27|2|15 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.8.21|2|29 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.8.27|2|3 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.9.21|2|18 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.9.27|2|26 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.10.21|2|20 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.10.27|2|22 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.11.21|2|27 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.11.27|2|20 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.12.21|2|17 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.12.27|2|5 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.13.21|2|7 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.13.27|2|18 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.14.21|2|0 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.14.27|2|1 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.15.21|2|7 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.15.27|2|28 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.16.21|2|15 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.16.27|2|13 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.17.21|2|0 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.17.27|2|9 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.18.21|2|21 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.18.27|2|23 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.2.1.1.1.1|2|1 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.2.1.1.1.16|2|16 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.2.1.1.2.1|2|20 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.2.1.1.2.16|2|5 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.2.1.1.3.1|2|29 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.2.1.1.3.16|2|29 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.2.1.1.4.1|2|20 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.2.1.1.4.16|2|4 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.2.1.1.5.1|2|23 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.2.1.1.5.16|2|12 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.2.1.1.6.1|2|27 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.2.1.1.6.16|2|20 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.2.1.1.7.1|2|0 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.2.1.1.7.16|2|17 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.3.1.0|2|19 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.4.1.0|2|6 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.4.2.0|2|27 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.4.3.0|2|0 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.4.4.0|2|30 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.4.5.0|2|1 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.5.1.0|2|3 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.5.2.0|2|3 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.5.3.0|2|1 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.5.4.0|2|3 +1.3.6.1.4.1.6486.801.1.2.1.16.1.1.5.5.0|2|1 +1.3.6.1.6.3.10.2.1.1.0|4x|666f727761726420746865697220616374656420627574207a6f6d62696573 +1.3.6.1.6.3.10.2.1.2.0|2|5 +1.3.6.1.6.3.10.2.1.3.0|2|30 +1.3.6.1.6.3.10.2.1.4.0|2|100000000 diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_alcatel_lucent_ent.py b/snmp/tests/test_e2e_core_profiles/test_profile_alcatel_lucent_ent.py new file mode 100644 index 0000000000000..8172f2315cb9e --- /dev/null +++ b/snmp/tests/test_e2e_core_profiles/test_profile_alcatel_lucent_ent.py @@ -0,0 +1,133 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +import pytest + +from datadog_checks.dev.utils import get_metadata_metrics + +from .. import common +from ..test_e2e_core_metadata import assert_device_metadata +from .utils import ( + assert_common_metrics, + assert_extend_generic_if, + create_e2e_core_test_config, + get_device_ip_from_config, +) + +pytestmark = [pytest.mark.e2e, common.py3_plus_only, common.snmp_integration_only] + + +def test_e2e_profile_alcatel_lucent_ent(dd_agent_check): + config = create_e2e_core_test_config('alcatel-lucent-ent') + aggregator = common.dd_agent_check_wrapper(dd_agent_check, config, rate=True) + + ip_address = get_device_ip_from_config(config) + common_tags = [ + 'snmp_profile:alcatel-lucent-ent', + 'snmp_host:alcatel-lucent-ent.device.name', + 'device_namespace:default', + 'snmp_device:' + ip_address, + ] + + # --- TEST EXTENDED METRICS --- + assert_extend_generic_if(aggregator, common_tags) + + # --- TEST METRICS --- + assert_common_metrics(aggregator, common_tags) + + tag_rows = [ + ['health_module_chassis_id:0', 'cpu:21'], + ['health_module_chassis_id:1', 'cpu:27'], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.cpu.usage', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + tag_rows = [ + ['health_module_chassis_id:0', 'mem:21'], + ['health_module_chassis_id:1', 'mem:27'], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.memory.usage', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + tag_rows = [ + [ + 'chas_ent_phys_admin_status:standby', + 'chas_ent_phys_led_status_backup_ps:green_on', + 'chas_ent_phys_led_status_control:amber_blink', + 'chas_ent_phys_led_status_fabric:amber_blink', + 'chas_ent_phys_led_status_fan:amber_blink', + 'chas_ent_phys_led_status_internal_ps:green_on', + 'chas_ent_phys_led_status_ok1:green_on', + 'chas_ent_phys_led_status_ok2:green_blink', + 'chas_ent_phys_led_status_primary_cmm:not_applicable', + 'chas_ent_phys_led_status_ps:off', + 'chas_ent_phys_led_status_secondary_cmm:green_blink', + 'chas_ent_phys_led_status_temperature:green_on', + ], + [ + 'chas_ent_phys_admin_status:unknown', + 'chas_ent_phys_led_status_backup_ps:green_on', + 'chas_ent_phys_led_status_control:green_on', + 'chas_ent_phys_led_status_fabric:amber_blink', + 'chas_ent_phys_led_status_fan:amber_on', + 'chas_ent_phys_led_status_internal_ps:green_on', + 'chas_ent_phys_led_status_ok1:not_applicable', + 'chas_ent_phys_led_status_ok2:green_on', + 'chas_ent_phys_led_status_primary_cmm:off', + 'chas_ent_phys_led_status_ps:amber_blink', + 'chas_ent_phys_led_status_secondary_cmm:amber_blink', + 'chas_ent_phys_led_status_temperature:green_on', + ], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.chasEntPhysical', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + tag_rows = [ + ['chas_ent_temp_status:not_present'], + ['chas_ent_temp_status:unknown'], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.chasEntTempCurrent', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + tag_rows = [ + ['ala_chas_ent_phys_fan_status:running'], + ] + for tag_row in tag_rows: + aggregator.assert_metric( + 'snmp.alaChasEntPhysFanSpeed', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + + tag_rows = [ + [ + 'ala_chas_bps_power_supply_name:Jaded', + 'ala_chas_bps_power_supply_oper_status:up', + 'ala_chas_bps_power_supply_serial_num:driving quaintly kept', + ], + [ + 'ala_chas_bps_power_supply_name:acted their zombies forward oxen', + 'ala_chas_bps_power_supply_oper_status:unknown', + 'ala_chas_bps_power_supply_serial_num:acted forward zombies Jaded but', + ], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.alaChasBpsPowerSupply', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + # --- TEST METADATA --- + device = { + 'description': 'alcatel-lucent-ent Device Description', + 'id': 'default:' + ip_address, + 'id_tags': ['device_namespace:default', 'snmp_device:' + ip_address], + 'ip_address': '' + ip_address, + 'name': 'alcatel-lucent-ent.device.name', + 'profile': 'alcatel-lucent-ent', + 'status': 1, + 'sys_object_id': '1.3.6.1.4.1.6486.801.1.1.2.1.9.4.2.4.2.1', + 'vendor': 'alcatel-lucent', + } + device['tags'] = common_tags + assert_device_metadata(aggregator, device) + + # --- CHECK COVERAGE --- + aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) From 705c272953c0766c957e3abe8f47e68eb11a389b Mon Sep 17 00:00:00 2001 From: Florian Veaux Date: Tue, 4 Jul 2023 15:37:25 +0200 Subject: [PATCH 10/77] [NDM] Add bluecat-server profile (#15125) * [NDM] Add bluecat-server profile * style * Address review * Fix conflicts --- .../data/default_profiles/bluecat-server.yaml | 79 ++++++++++++++ snmp/metadata.csv | 2 + .../tests/compose/data/bluecat-server.snmprec | 63 +++++++++++ snmp/tests/compose/data/watchguard.snmprec | 14 +++ .../test_profile_bluecat_server.py | 101 ++++++++++++++++++ snmp/tests/test_e2e_core_profiles/utils.py | 68 +++++++----- 6 files changed, 299 insertions(+), 28 deletions(-) create mode 100644 snmp/datadog_checks/snmp/data/default_profiles/bluecat-server.yaml create mode 100644 snmp/tests/compose/data/bluecat-server.snmprec create mode 100644 snmp/tests/test_e2e_core_profiles/test_profile_bluecat_server.py diff --git a/snmp/datadog_checks/snmp/data/default_profiles/bluecat-server.yaml b/snmp/datadog_checks/snmp/data/default_profiles/bluecat-server.yaml new file mode 100644 index 0000000000000..89d988cc0812c --- /dev/null +++ b/snmp/datadog_checks/snmp/data/default_profiles/bluecat-server.yaml @@ -0,0 +1,79 @@ +extends: + - _base.yaml + - _generic-if.yaml + - _generic-host-resources-base.yaml + - _generic-ucd.yaml + +sysobjectid: + - 1.3.6.1.4.1.13315.2.* + +metadata: + device: + fields: + vendor: + value: "bluecat" + +metrics: + - MIB: BCN-DHCPV4-MIB + table: + OID: 1.3.6.1.4.1.13315.3.1.1.2.2.2 + name: bcnDhcpv4SubnetTable + symbols: + - OID: 1.3.6.1.4.1.13315.3.1.1.2.2.2.1.4 + name: bcnDhcpv4SubnetFreeAddresses + metric_tags: + - column: + OID: 1.3.6.1.4.1.13315.3.1.1.2.2.2.1.1 + name: bcnDhcpv4SubnetIP + tag: bcn_dhcpv4_subnet_ip + - column: + OID: 1.3.6.1.4.1.13315.3.1.1.2.2.2.1.2 + name: bcnDhcpv4SubnetMask + tag: bcn_dhcpv4_subnet_mask + - column: + OID: 1.3.6.1.4.1.13315.3.1.1.2.2.2.1.3 + name: bcnDhcpv4SubnetSize + tag: bcn_dhcpv4_subnet_size + - column: + OID: 1.3.6.1.4.1.13315.3.1.1.2.2.2.1.5 + name: bcnDhcpv4SubnetLowThreshold + tag: bcn_dhcpv4_subnet_low_threshold + - column: + OID: 1.3.6.1.4.1.13315.3.1.1.2.2.2.1.6 + name: bcnDhcpv4SubnetHighThreshold + tag: bcn_dhcpv4_subnet_high_threshold + - MIB: BCN-DHCPV4-MIB + table: + OID: 1.3.6.1.4.1.13315.3.1.1.2.2.3 + name: bcnDhcpv4PoolTable + symbols: + - OID: 1.3.6.1.4.1.13315.3.1.1.2.2.3.1.5 + name: bcnDhcpv4PoolFreeAddresses + metric_tags: + - column: + OID: 1.3.6.1.4.1.13315.3.1.1.2.2.3.1.1 + name: bcnDhcpv4PoolStartIP + tag: bcn_dhcpv4_pool_start_ip + - column: + OID: 1.3.6.1.4.1.13315.3.1.1.2.2.3.1.2 + name: bcnDhcpv4PoolEndIP + tag: bcn_dhcpv4_pool_end_ip + - column: + OID: 1.3.6.1.4.1.13315.3.1.1.2.2.3.1.3 + name: bcnDhcpv4PoolSubnetIP + tag: bcn_dhcpv4_pool_subnet_ip + - column: + OID: 1.3.6.1.4.1.13315.3.1.1.2.2.3.1.4 + name: bcnDhcpv4PoolSize + tag: bcn_dhcpv4_pool_size + +metric_tags: + - OID: 1.3.6.1.4.1.13315.3.2.2.1.1.0 + symbol: bcnSysIdProduct + tag: bcn_sys_id_product + - OID: 1.3.6.1.4.1.13315.3.2.2.1.2.0 + symbol: bcnSysIdOSRelease + tag: bcn_sys_id_os_release + - OID: 1.3.6.1.4.1.13315.3.2.2.1.5.0 + symbol: bcnSysIdPlatform + tag: bcn_sys_id_platform diff --git a/snmp/metadata.csv b/snmp/metadata.csv index 107ac1b7846be..3e673b9b5689c 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -84,6 +84,8 @@ snmp.axVirtualServerStatTotalSuccL7Reqs,count,,,,"[A10-AX-MIB] The number of suc snmp.batteryReading,gauge,,,,[Dell Poweredge] The reading of the battery.,0,snmp,, snmp.batteryState,gauge,,,,[Dell iDRAC] The current state of the battery.,0,snmp,, snmp.batteryStatus,gauge,,,,[Dell Poweredge] The status of the battery.,0,snmp,, +snmp.bcnDhcpv4PoolFreeAddresses,gauge,,,,"[BCN-DHCPV4-MIB] The number of IPs addresses available in this pool.",0,snmp,, +snmp.bcnDhcpv4SubnetFreeAddresses,gauge,,,,"[BCN-DHCPV4-MIB] The number of IPs addresses available in this subnet.",0,snmp,, snmp.bgpPeerAdminStatus,gauge,,,,[Arista] [Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] [Cisco CSR1000v] [F5 BIG-IP] [Juniper MX] [Juniper EX] [Juniper SRX] The desired state of the BGP connection.,0,snmp,, snmp.bgpPeerConnectRetryInterval,gauge,,second,,[Arista] [Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] [Cisco CSR1000v] [F5 BIG-IP] [Juniper MX] [Juniper EX] [Juniper SRX] The time interval in seconds for the ConnectRetry timer.,0,snmp,, snmp.bgpPeerFsmEstablishedTime,gauge,,second,,[Arista] [Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] [Cisco CSR1000v] [F5 BIG-IP] [Juniper MX] [Juniper EX] [Juniper SRX] This timer indicates how long (in seconds) this peer has been in the Established state or how long since this peer was last in the Established state.,0,snmp,, diff --git a/snmp/tests/compose/data/bluecat-server.snmprec b/snmp/tests/compose/data/bluecat-server.snmprec new file mode 100644 index 0000000000000..02bc10c32ad87 --- /dev/null +++ b/snmp/tests/compose/data/bluecat-server.snmprec @@ -0,0 +1,63 @@ +1.3.6.1.2.1.1.1.0|4|bluecat-server Device Description +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.13315.2.1 +1.3.6.1.2.1.1.5.0|4|bluecat-server.device.name +1.3.6.1.2.1.2.1.0|2|28 +1.3.6.1.2.1.25.1.1.0|67|201526890 +1.3.6.1.2.1.25.2.3.1.1.4|2|4 +1.3.6.1.2.1.25.2.3.1.1.31|2|31 +1.3.6.1.2.1.25.2.3.1.2.4|6|1.3.6.1.3.167.36 +1.3.6.1.2.1.25.2.3.1.2.31|6|1.3.6.1.3 +1.3.6.1.2.1.25.2.3.1.3.4|4x|6b65707420627574207468656972204a61646564206275742064726976696e67 +1.3.6.1.2.1.25.2.3.1.3.31|4x|7a6f6d62696573206f78656e206b657074204a6164656420717561696e746c79207a6f6d62696573 +1.3.6.1.2.1.25.2.3.1.5.4|2|17 +1.3.6.1.2.1.25.2.3.1.5.31|2|21 +1.3.6.1.2.1.25.2.3.1.6.4|2|30 +1.3.6.1.2.1.25.2.3.1.6.31|2|4 +1.3.6.1.2.1.25.3.3.1.1.10|2|10 +1.3.6.1.2.1.25.3.3.1.1.21|2|21 +1.3.6.1.2.1.25.3.3.1.2.10|2|31 +1.3.6.1.2.1.25.3.3.1.2.21|2|15 +1.3.6.1.4.1.2021.10.1.5.1|2|18 +1.3.6.1.4.1.13315.3.1.1.2.1.1.0|2|2 +1.3.6.1.4.1.13315.3.1.1.2.1.2.0|64x|4fb5a15f +1.3.6.1.4.1.13315.3.1.1.2.1.3.0|66|1908841805 +1.3.6.1.4.1.13315.3.1.1.2.2.1.1.1.88.12.40.67|64x|580c2843 +1.3.6.1.4.1.13315.3.1.1.2.2.1.1.1.91.105.197.160|64x|5b69c5a0 +1.3.6.1.4.1.13315.3.1.1.2.2.1.1.2.88.12.40.67|66|27141 +1.3.6.1.4.1.13315.3.1.1.2.2.1.1.2.91.105.197.160|66|8483 +1.3.6.1.4.1.13315.3.1.1.2.2.1.1.3.88.12.40.67|66|46003 +1.3.6.1.4.1.13315.3.1.1.2.2.1.1.3.91.105.197.160|66|23028 +1.3.6.1.4.1.13315.3.1.1.2.2.1.1.4.88.12.40.67|66|39931 +1.3.6.1.4.1.13315.3.1.1.2.2.1.1.4.91.105.197.160|66|60717 +1.3.6.1.4.1.13315.3.1.1.2.2.1.1.5.88.12.40.67|4x|111111111111 +1.3.6.1.4.1.13315.3.1.1.2.2.1.1.5.91.105.197.160|4x|111111111111 +1.3.6.1.4.1.13315.3.1.1.2.2.1.1.6.88.12.40.67|4|driving +1.3.6.1.4.1.13315.3.1.1.2.2.1.1.6.91.105.197.160|4x|6b65707420717561696e746c792064726976696e67 +1.3.6.1.4.1.13315.3.1.1.2.2.2.1.1.53.202.135.190|64x|35ca87be +1.3.6.1.4.1.13315.3.1.1.2.2.2.1.1.171.172.73.225|64x|abac49e1 +1.3.6.1.4.1.13315.3.1.1.2.2.2.1.2.53.202.135.190|64x|aded032e +1.3.6.1.4.1.13315.3.1.1.2.2.2.1.2.171.172.73.225|64x|58f77fd9 +1.3.6.1.4.1.13315.3.1.1.2.2.2.1.3.53.202.135.190|66|29950 +1.3.6.1.4.1.13315.3.1.1.2.2.2.1.3.171.172.73.225|66|64705 +1.3.6.1.4.1.13315.3.1.1.2.2.2.1.4.53.202.135.190|66|26722 +1.3.6.1.4.1.13315.3.1.1.2.2.2.1.4.171.172.73.225|66|22626 +1.3.6.1.4.1.13315.3.1.1.2.2.2.1.5.53.202.135.190|66|20994 +1.3.6.1.4.1.13315.3.1.1.2.2.2.1.5.171.172.73.225|66|9664 +1.3.6.1.4.1.13315.3.1.1.2.2.2.1.6.53.202.135.190|66|36313 +1.3.6.1.4.1.13315.3.1.1.2.2.2.1.6.171.172.73.225|66|6107 +1.3.6.1.4.1.13315.3.1.1.2.2.3.1.1.70.175.239.238|64x|46afefee +1.3.6.1.4.1.13315.3.1.1.2.2.3.1.1.186.152.75.142|64x|ba984b8e +1.3.6.1.4.1.13315.3.1.1.2.2.3.1.2.70.175.239.238|64x|8a29f814 +1.3.6.1.4.1.13315.3.1.1.2.2.3.1.2.186.152.75.142|64x|3aefc3e2 +1.3.6.1.4.1.13315.3.1.1.2.2.3.1.3.70.175.239.238|64x|73bbbbe1 +1.3.6.1.4.1.13315.3.1.1.2.2.3.1.3.186.152.75.142|64x|108ccba3 +1.3.6.1.4.1.13315.3.1.1.2.2.3.1.4.70.175.239.238|66|55389 +1.3.6.1.4.1.13315.3.1.1.2.2.3.1.4.186.152.75.142|66|59812 +1.3.6.1.4.1.13315.3.1.1.2.2.3.1.5.70.175.239.238|66|44535 +1.3.6.1.4.1.13315.3.1.1.2.2.3.1.5.186.152.75.142|66|7724 +1.3.6.1.4.1.13315.3.1.1.2.2.4.1.1.17.23.224.149|64x|1117e095 +1.3.6.1.4.1.13315.3.1.1.2.2.4.1.1.77.201.182.201|64x|4dc9b6c9 +1.3.6.1.4.1.13315.3.1.1.3.1.1.0|2|20 +1.3.6.1.4.1.13315.3.1.1.3.1.2.0|4x|746865697220616374656420627574 +1.3.6.1.4.1.13315.3.1.1.3.1.3.0|2|8 +1.3.6.1.4.1.13315.3.1.1.3.1.4.0|64x|415a88a8 diff --git a/snmp/tests/compose/data/watchguard.snmprec b/snmp/tests/compose/data/watchguard.snmprec index a00c82ae4290e..a7e31acb4c611 100644 --- a/snmp/tests/compose/data/watchguard.snmprec +++ b/snmp/tests/compose/data/watchguard.snmprec @@ -3,3 +3,17 @@ 1.3.6.1.2.1.1.5.0|4|watchguard.device.name 1.3.6.1.2.1.2.1.0|2|28 1.3.6.1.2.1.25.1.1.0|67|201526890 +1.3.6.1.2.1.25.2.3.1.1.4|2|4 +1.3.6.1.2.1.25.2.3.1.1.31|2|31 +1.3.6.1.2.1.25.2.3.1.2.4|6|1.3.6.1.3.167.36 +1.3.6.1.2.1.25.2.3.1.2.31|6|1.3.6.1.3 +1.3.6.1.2.1.25.2.3.1.3.4|4x|6b65707420627574207468656972204a61646564206275742064726976696e67 +1.3.6.1.2.1.25.2.3.1.3.31|4x|7a6f6d62696573206f78656e206b657074204a6164656420717561696e746c79207a6f6d62696573 +1.3.6.1.2.1.25.2.3.1.5.4|2|17 +1.3.6.1.2.1.25.2.3.1.5.31|2|21 +1.3.6.1.2.1.25.2.3.1.6.4|2|30 +1.3.6.1.2.1.25.2.3.1.6.31|2|4 +1.3.6.1.2.1.25.3.3.1.1.10|2|10 +1.3.6.1.2.1.25.3.3.1.1.21|2|21 +1.3.6.1.2.1.25.3.3.1.2.10|2|31 +1.3.6.1.2.1.25.3.3.1.2.21|2|15 \ No newline at end of file diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_bluecat_server.py b/snmp/tests/test_e2e_core_profiles/test_profile_bluecat_server.py new file mode 100644 index 0000000000000..739f0835ed71c --- /dev/null +++ b/snmp/tests/test_e2e_core_profiles/test_profile_bluecat_server.py @@ -0,0 +1,101 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +import pytest + +from datadog_checks.dev.utils import get_metadata_metrics + +from .. import common +from ..test_e2e_core_metadata import assert_device_metadata +from .utils import ( + assert_common_metrics, + assert_extend_generic_host_resources_base, + assert_extend_generic_if, + assert_extend_generic_ucd, + create_e2e_core_test_config, + get_device_ip_from_config, +) + +pytestmark = [pytest.mark.e2e, common.py3_plus_only, common.snmp_integration_only] + + +def test_e2e_profile_bluecat_server(dd_agent_check): + config = create_e2e_core_test_config('bluecat-server') + aggregator = common.dd_agent_check_wrapper(dd_agent_check, config, rate=True) + + ip_address = get_device_ip_from_config(config) + common_tags = [ + 'snmp_profile:bluecat-server', + 'snmp_host:bluecat-server.device.name', + 'device_namespace:default', + 'snmp_device:' + ip_address, + ] + [] + + # --- TEST EXTENDED METRICS --- + # Examples: + assert_extend_generic_if(aggregator, common_tags) + assert_extend_generic_host_resources_base(aggregator, common_tags) + assert_extend_generic_ucd(aggregator, common_tags) + + # --- TEST METRICS --- + assert_common_metrics(aggregator, common_tags) + + tag_rows = [ + [ + 'bcn_dhcpv4_subnet_high_threshold:36313', + 'bcn_dhcpv4_subnet_ip:53.202.135.190', + 'bcn_dhcpv4_subnet_low_threshold:20994', + 'bcn_dhcpv4_subnet_mask:173.237.3.46', + 'bcn_dhcpv4_subnet_size:29950', + ], + [ + 'bcn_dhcpv4_subnet_high_threshold:6107', + 'bcn_dhcpv4_subnet_ip:171.172.73.225', + 'bcn_dhcpv4_subnet_low_threshold:9664', + 'bcn_dhcpv4_subnet_mask:88.247.127.217', + 'bcn_dhcpv4_subnet_size:64705', + ], + ] + for tag_row in tag_rows: + aggregator.assert_metric( + 'snmp.bcnDhcpv4SubnetFreeAddresses', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + + tag_rows = [ + [ + 'bcn_dhcpv4_pool_start_ip:70.175.239.238', + 'bcn_dhcpv4_pool_end_ip:138.41.248.20', + 'bcn_dhcpv4_pool_size:55389', + 'bcn_dhcpv4_pool_subnet_ip:115.187.187.225', + ], + [ + 'bcn_dhcpv4_pool_start_ip:186.152.75.142', + 'bcn_dhcpv4_pool_end_ip:58.239.195.226', + 'bcn_dhcpv4_pool_size:59812', + 'bcn_dhcpv4_pool_subnet_ip:16.140.203.163', + ], + ] + for tag_row in tag_rows: + aggregator.assert_metric( + 'snmp.bcnDhcpv4PoolFreeAddresses', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + + # --- TEST METADATA --- + device = { + 'description': 'bluecat-server Device Description', + 'id': 'default:' + ip_address, + 'id_tags': ['device_namespace:default', 'snmp_device:' + ip_address], + 'ip_address': '' + ip_address, + 'name': 'bluecat-server.device.name', + 'profile': 'bluecat-server', + 'status': 1, + 'sys_object_id': '1.3.6.1.4.1.13315.2.1', + 'vendor': 'bluecat', + } + device['tags'] = common_tags + assert_device_metadata(aggregator, device) + + # --- CHECK COVERAGE --- + aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) diff --git a/snmp/tests/test_e2e_core_profiles/utils.py b/snmp/tests/test_e2e_core_profiles/utils.py index 8be9ada673583..febd9be26792c 100644 --- a/snmp/tests/test_e2e_core_profiles/utils.py +++ b/snmp/tests/test_e2e_core_profiles/utils.py @@ -109,31 +109,29 @@ def assert_extend_cisco_cpu_memory(aggregator, common_tags): ) -def assert_extend_generic_host_resources(aggregator, common_tags): - # fmt: off - """Add the following to the snmprec -1.3.6.1.2.1.25.1.1.0|67|201526890 -1.3.6.1.2.1.25.2.3.1.1.4|2|4 -1.3.6.1.2.1.25.2.3.1.1.31|2|31 -1.3.6.1.2.1.25.2.3.1.2.4|6|1.3.6.1.3.167.36 -1.3.6.1.2.1.25.2.3.1.2.31|6|1.3.6.1.3 -1.3.6.1.2.1.25.2.3.1.3.4|4x|6b65707420627574207468656972204a61646564206275742064726976696e67 -1.3.6.1.2.1.25.2.3.1.3.31|4x|7a6f6d62696573206f78656e206b657074204a6164656420717561696e746c79207a6f6d62696573 -1.3.6.1.2.1.25.2.3.1.5.4|2|17 -1.3.6.1.2.1.25.2.3.1.5.31|2|21 -1.3.6.1.2.1.25.2.3.1.6.4|2|30 -1.3.6.1.2.1.25.2.3.1.6.31|2|4 - """ - # fmt: on +def assert_extend_generic_host_resources_base(aggregator, common_tags): aggregator.assert_metric("snmp.hrSystemUptime", metric_type=aggregator.GAUGE, tags=common_tags) cpu_rows = ['10', '21'] for cpu_row in cpu_rows: - aggregator.assert_metric('snmp.cpu.usage', metric_type=aggregator.GAUGE, tags=common_tags + ['cpu:' + cpu_row]) aggregator.assert_metric( 'snmp.hrProcessorLoad', metric_type=aggregator.GAUGE, tags=common_tags + ['processorid:' + cpu_row] ) + hr_mem_rows = [ + ['storagedesc:kept but their Jaded but driving', 'storagetype:1.3.6.1.3.167.36'], + ['storagedesc:kept but their Jaded but driving', 'storagetype:1.3.6.1.3.167.36'], + ] + for mem_row in hr_mem_rows: + aggregator.assert_metric('snmp.hrStorageSize', metric_type=aggregator.GAUGE, tags=common_tags + mem_row) + aggregator.assert_metric('snmp.hrStorageUsed', metric_type=aggregator.GAUGE, tags=common_tags + mem_row) + + +def assert_extend_generic_host_resources_cpu_mem(aggregator, common_tags): + cpu_rows = ['10', '21'] + for cpu_row in cpu_rows: + aggregator.assert_metric('snmp.cpu.usage', metric_type=aggregator.GAUGE, tags=common_tags + ['cpu:' + cpu_row]) + mem_rows = ['31', '4'] for mem_row in mem_rows: aggregator.assert_metric( @@ -146,22 +144,36 @@ def assert_extend_generic_host_resources(aggregator, common_tags): 'snmp.memory.used', metric_type=aggregator.GAUGE, tags=common_tags + ['mem:' + mem_row] ) - hr_mem_rows = [ - ['storagedesc:kept but their Jaded but driving', 'storagetype:1.3.6.1.3.167.36'], - ['storagedesc:kept but their Jaded but driving', 'storagetype:1.3.6.1.3.167.36'], - ] - for mem_row in hr_mem_rows: - aggregator.assert_metric('snmp.hrStorageSize', metric_type=aggregator.GAUGE, tags=common_tags + mem_row) - aggregator.assert_metric('snmp.hrStorageUsed', metric_type=aggregator.GAUGE, tags=common_tags + mem_row) - -def assert_extend_generic_host_resources_base(aggregator, common_tags): +def assert_extend_generic_host_resources(aggregator, common_tags): # fmt: off """Add the following to the snmprec +<<<<<<< HEAD 1.3.6.1.2.1.25.1.1.0|67|201526890 - """ +1.3.6.1.2.1.25.2.3.1.1.4|2|4 +1.3.6.1.2.1.25.2.3.1.1.31|2|31 +1.3.6.1.2.1.25.2.3.1.2.4|6|1.3.6.1.3.167.36 +1.3.6.1.2.1.25.2.3.1.2.31|6|1.3.6.1.3 +1.3.6.1.2.1.25.2.3.1.3.4|4x|6b65707420627574207468656972204a61646564206275742064726976696e67 +1.3.6.1.2.1.25.2.3.1.3.31|4x|7a6f6d62696573206f78656e206b657074204a6164656420717561696e746c79207a6f6d62696573 +1.3.6.1.2.1.25.2.3.1.5.4|2|17 +1.3.6.1.2.1.25.2.3.1.5.31|2|21 +1.3.6.1.2.1.25.2.3.1.6.4|2|30 +1.3.6.1.2.1.25.2.3.1.6.31|2|4 +1.3.6.1.2.1.25.3.3.1.1.10|2|10 +1.3.6.1.2.1.25.3.3.1.1.21|2|21 +1.3.6.1.2.1.25.3.3.1.2.10|2|31 +1.3.6.1.2.1.25.3.3.1.2.21|2|15""" # fmt: on - aggregator.assert_metric("snmp.hrSystemUptime", metric_type=aggregator.GAUGE, tags=common_tags) + assert_extend_generic_host_resources_cpu_mem(aggregator, common_tags) + assert_extend_generic_host_resources_base(aggregator, common_tags) + + +def assert_extend_generic_ucd(aggregator, common_tags): + """Add the following to the snmprec + 1.3.6.1.4.1.2021.10.1.5.1|2|18 + """ + aggregator.assert_metric('snmp.cpu.usage', metric_type=aggregator.GAUGE, tags=common_tags) def assert_extend_entity_sensor(aggregator, common_tags): From a89b04c356cbc5062a00af79c4e0d6670850e1e5 Mon Sep 17 00:00:00 2001 From: Alexandre Yang Date: Tue, 4 Jul 2023 15:54:18 +0200 Subject: [PATCH 11/77] Document _cisco-cpu-memory.yaml metrics (#15149) --- .../data/default_profiles/_cisco-cpu-memory.yaml | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/snmp/datadog_checks/snmp/data/default_profiles/_cisco-cpu-memory.yaml b/snmp/datadog_checks/snmp/data/default_profiles/_cisco-cpu-memory.yaml index 57b9b54e13cfd..d78c7603c0174 100644 --- a/snmp/datadog_checks/snmp/data/default_profiles/_cisco-cpu-memory.yaml +++ b/snmp/datadog_checks/snmp/data/default_profiles/_cisco-cpu-memory.yaml @@ -6,11 +6,10 @@ metrics: OID: 1.3.6.1.4.1.9.9.109.1.1.1 name: cpmCPUTotalTable symbols: - - OID: 1.3.6.1.4.1.9.9.109.1.1.1.1.7 - # core check only + - OID: 1.3.6.1.4.1.9.9.109.1.1.1.1.7 # cpmCPUTotal1minRev name: cpu.usage metric_tags: - - index: 1 + - index: 1 # cpmCPUTotalIndex tag: cpu - MIB: CISCO-MEMORY-POOL-MIB @@ -18,12 +17,10 @@ metrics: OID: 1.3.6.1.4.1.9.9.48.1.1 name: ciscoMemoryPoolTable symbols: - - OID: 1.3.6.1.4.1.9.9.48.1.1.1.5 - # core check only + - OID: 1.3.6.1.4.1.9.9.48.1.1.1.5 # ciscoMemoryPoolUsed name: memory.used - - OID: 1.3.6.1.4.1.9.9.48.1.1.1.6 - # core check only + - OID: 1.3.6.1.4.1.9.9.48.1.1.1.6 # ciscoMemoryPoolFree name: memory.free metric_tags: - - tag: mem - index: 1 \ No newline at end of file + - index: 1 # ciscoMemoryPoolType + tag: mem From 1bc5f140777e3f8a0a0264f734c8dd939b2853a3 Mon Sep 17 00:00:00 2001 From: Thibaud Cheruy Date: Tue, 4 Jul 2023 15:55:29 +0200 Subject: [PATCH 12/77] [SNMP] Add profile for alcatel-lucent ind (#15095) * Add profile for alcatel-lucent ent * Format * Add profile for alcatel-lucent ind * Update metadata * Update metadata * Update metadata * Apply suggestions from code review Co-authored-by: Alexandre Yang * Fix cpu and memory tagging * Fix cpu/mem index --------- Co-authored-by: Alexandre Yang --- .../default_profiles/alcatel-lucent-ind.yaml | 233 ++++++++++ snmp/metadata.csv | 3 +- .../compose/data/alcatel-lucent-ind.snmprec | 430 ++++++++++++++++++ .../test_profile_alcatel_lucent_ind.py | 101 ++++ 4 files changed, 766 insertions(+), 1 deletion(-) create mode 100644 snmp/datadog_checks/snmp/data/default_profiles/alcatel-lucent-ind.yaml create mode 100644 snmp/tests/compose/data/alcatel-lucent-ind.snmprec create mode 100644 snmp/tests/test_e2e_core_profiles/test_profile_alcatel_lucent_ind.py diff --git a/snmp/datadog_checks/snmp/data/default_profiles/alcatel-lucent-ind.yaml b/snmp/datadog_checks/snmp/data/default_profiles/alcatel-lucent-ind.yaml new file mode 100644 index 0000000000000..58943df95cc9b --- /dev/null +++ b/snmp/datadog_checks/snmp/data/default_profiles/alcatel-lucent-ind.yaml @@ -0,0 +1,233 @@ +extends: + - alcatel-lucent.yaml +sysobjectid: + - 1.3.6.1.4.1.6486.800.1.1.2.1.* +metrics: + - MIB: ALCATEL-IND1-HEALTH-MIB + symbol: + name: cpu.usage + OID: 1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.14.0 # healthDeviceCpu1MinAvg + - MIB: ALCATEL-IND1-HEALTH-MIB + symbol: + name: memory.usage + OID: 1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.10.0 # healthDeviceMemory1MinAvg + - MIB: ALCATEL-IND1-HEALTH-MIB + symbol: + name: healthDeviceTemperatureChas1MinAvg + OID: 1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.18.0 + - MIB: ALCATEL-IND1-CHASSIS-MIB + table: + name: chasEntPhysicalTable + OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1 + symbols: + - name: chasEntPhysical + constant_value_one: true + metric_tags: + - column: + OID: 1.3.6.1.2.1.47.1.1.1.1.5 + name: entPhysicalClass + tag: ent_physical_class + mapping: + 1: other + 2: unknown + 3: chassis + 4: backplane + 5: container + 6: power_supply + 7: fan + 8: sensor + 9: module + 10: port + 11: stack + 12: cpu + - column: + OID: 1.3.6.1.2.1.47.1.1.1.1.7 + name: entPhysicalName + tag: ent_physical_name + - column: + OID: 1.3.6.1.2.1.47.1.1.1.1.11 + name: entPhysicalSerialNum + tag: ent_physical_serial_num + - column: + OID: 1.3.6.1.2.1.47.1.1.1.1.13 + name: entPhysicalModelName + tag: ent_physical_model_name + - column: + OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.1 + name: chasEntPhysAdminStatus + tag: chas_ent_phys_admin_status + mapping: + 1: unknown + 2: power_off + 3: power_on + 4: reset + 5: takeover + 6: reset_all + 7: standby + - column: + OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.2 + name: chasEntPhysOperStatus + tag: chas_ent_phys_oper_status + mapping: + 1: up + 2: down + 3: testing + 4: unknown + 5: secondary + 6: not_present + 7: unpowered + 8: master + - column: + OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.8 + name: chasEntPhysLedStatusOk1 + tag: chas_ent_phys_led_status_ok1 + mapping: + 0: not_applicable + 1: off + 2: green_on + 3: green_blink + 4: amber_on + 5: amber_blink + - column: + OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.9 + name: chasEntPhysLedStatusOk2 + tag: chas_ent_phys_led_status_ok2 + mapping: + 0: not_applicable + 1: off + 2: green_on + 3: green_blink + 4: amber_on + 5: amber_blink + - column: + OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.10 + name: chasEntPhysLedStatusPrimaryCMM + tag: chas_ent_phys_led_status_primary_cmm + mapping: + 0: not_applicable + 1: off + 2: green_on + 3: green_blink + 4: amber_on + 5: amber_blink + - column: + OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.11 + name: chasEntPhysLedStatusSecondaryCMM + tag: chas_ent_phys_led_status_secondary_cmm + mapping: + 0: not_applicable + 1: off + 2: green_on + 3: green_blink + 4: amber_on + 5: amber_blink + - column: + OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.12 + name: chasEntPhysLedStatusTemperature + tag: chas_ent_phys_led_status_temperature + mapping: + 0: not_applicable + 1: off + 2: green_on + 3: green_blink + 4: amber_on + 5: amber_blink + - column: + OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.13 + name: chasEntPhysLedStatusFan + tag: chas_ent_phys_led_status_fan + mapping: + 0: not_applicable + 1: off + 2: green_on + 3: green_blink + 4: amber_on + 5: amber_blink + - column: + OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.14 + name: chasEntPhysLedStatusFan1 + tag: chas_ent_phys_led_status_fan1 + mapping: + 0: not_applicable + 1: off + 2: green_on + 3: green_blink + 4: amber_on + 5: amber_blink + - column: + OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.15 + name: chasEntPhysLedStatusFan2 + tag: chas_ent_phys_led_status_fan2 + mapping: + 0: not_applicable + 1: off + 2: green_on + 3: green_blink + 4: amber_on + 5: amber_blink + - column: + OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.16 + name: chasEntPhysLedStatusFan3 + tag: chas_ent_phys_led_status_fan3 + mapping: + 0: not_applicable + 1: off + 2: green_on + 3: green_blink + 4: amber_on + 5: amber_blink + - column: + OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.17 + name: chasEntPhysLedStatusBackupPS + tag: chas_ent_phys_led_status_backup_ps + mapping: + 0: not_applicable + 1: off + 2: green_on + 3: green_blink + 4: amber_on + 5: amber_blink + - column: + OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.18 + name: chasEntPhysLedStatusInternalPS + tag: chas_ent_phys_led_status_internal_ps + mapping: + 0: not_applicable + 1: off + 2: green_on + 3: green_blink + 4: amber_on + 5: amber_blink + - column: + OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.19 + name: chasEntPhysLedStatusControl + tag: chas_ent_phys_led_status_control + mapping: + 0: not_applicable + 1: off + 2: green_on + 3: green_blink + 4: amber_on + 5: amber_blink + - column: + OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.20 + name: chasEntPhysLedStatusFabric + tag: chas_ent_phys_led_status_fabric + mapping: + 0: not_applicable + 1: off + 2: green_on + 3: green_blink + 4: amber_on + 5: amber_blink + - column: + OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.21 + name: chasEntPhysLedStatusPSU + tag: chas_ent_phys_led_status_psu + mapping: + 0: not_applicable + 1: off + 2: green_on + 3: green_blink + 4: amber_on + 5: amber_blink diff --git a/snmp/metadata.csv b/snmp/metadata.csv index 3e673b9b5689c..6a83fee24f45e 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -141,7 +141,7 @@ snmp.cfInterconnectStatus,gauge,,,,"[NetApp] The current status of the interconn snmp.cfwConnectionStatCount,gauge,,,,[Cisco ASA 5525] This is an integer that contains the value of the resource statistic.,0,snmp,, snmp.cfwConnectionStatValue,gauge,,,,[Cisco ASA 5525] This is an integer that contains the value of the resource statistic.,0,snmp,, snmp.cfwHardwareStatusValue,gauge,,,,[Cisco ASA 5525] This object contains the current status of the resource.,0,snmp,, -snmp.chasEntPhysical,gauge,,,,"[ALCATEL-ENT1-CHASSIS-MIB] This table contains one row per physical entity. It is an extension for the entity physical table (rfc 2737) that is instantiated for every physical entity object. The fields are not always significant for every object. Make 'sum by {X}' queries" to count elements with the tag X.",0,snmp,, +snmp.chasEntPhysical,gauge,,,,"[ALCATEL-IND1-CHASSIS-MIB] [ALCATEL-ENT1-CHASSIS-MIB] This table contains one row per physical entity. It is an extension for the entity physical table (rfc 2737) that is instantiated for every physical entity object. The fields are not always significant for every object. Make 'sum by {X}' queries" to count elements with the tag X.",0,snmp,, snmp.chasEntTempCurrent,gauge,,,,"[ALCATEL-ENT1-CHASSIS-MIB] This object indicates the current output of the temperature sensor in degrees Celsius.",0,snmp,, snmp.cieIfInputQueueDrops,gauge,,packet,,[Cisco c3850] The number of input packets dropped.,0,snmp,, snmp.cieIfLastInTime,gauge,,millisecond,,[Cisco c3850] The elapsed time in milliseconds since the last protocol input packet was received.,0,snmp,, @@ -509,6 +509,7 @@ snmp.fwDropped,count,,packet,,[Checkpoint Firewall] Number of dropped packets.,0 snmp.fwNumConn,gauge,,connection,,[Checkpoint Firewall] Number of concurrent IPv6 and IPv4 connections.,0,snmp,, snmp.fwPeakNumConn,gauge,,connection,,[Checkpoint Firewall] Peak number of concurrent connections since last reboot.,0,snmp,, snmp.fwRejected,count,,packet,,[Checkpoint Firewall] Number of rejected packets.,0,snmp,, +snmp.healthDeviceTemperatureChas1MinAvg,gauge,,,,"[ALCATEL-IND1-HEALTH-MIB] Average chassis temperature over the last minute (percent).",0,snmp,, snmp.hrProcessorLoad,gauge,,,,"[HOST-RESOURCES-MIB] The average, over the last minute, of the percentage of time that this processor was not idle. Implementations may approximate this one minute smoothing period if necessary.",0,snmp,, snmp.hrSWRunPerfCPU,gauge,,,,[Cisco UC Virtual Machine] [Cisco ICM] [Cisco ISR 4431] The number of centi-seconds of the total system's CPU resources consumed by this process.,0,snmp,, snmp.hrSWRunPerfMem,gauge,,,,[Cisco UC Virtual Machine] [Cisco ICM] [Cisco ISR 4431] The total amount of real system memory allocated to this process.,0,snmp,, diff --git a/snmp/tests/compose/data/alcatel-lucent-ind.snmprec b/snmp/tests/compose/data/alcatel-lucent-ind.snmprec new file mode 100644 index 0000000000000..91c5b469514db --- /dev/null +++ b/snmp/tests/compose/data/alcatel-lucent-ind.snmprec @@ -0,0 +1,430 @@ +1.3.6.1.2.1.1.1.0|4|alcatel-lucent-ind Device Description +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.6486.800.1.1.2.1.9.1.1 +1.3.6.1.2.1.1.5.0|4|alcatel-lucent-ind.device.name +1.3.6.1.2.1.2.1.0|2|4 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.1.22|2|3 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.1.28|2|6 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.2.22|2|6 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.2.28|2|3 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.3.22|4x|717561696e746c79206f78656e206b657074206275742064726976696e67206f78656e +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.3.28|4x|7468656972206f78656e20627574206163746564207a6f6d626965732074686569722062757420666f7277617264206163746564 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.4.22|2|27 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.4.28|2|23 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.5.22|4x|4a61646564204a61646564 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.5.28|4x|7a6f6d6269657320627574 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.6.22|4x|62757420627574 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.6.28|4|driving +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.7.22|4x|627574206b657074 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.7.28|4|zombies +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.8.22|2|1 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.8.28|2|5 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.9.22|2|0 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.9.28|2|3 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.10.22|2|0 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.10.28|2|2 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.11.22|2|4 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.11.28|2|1 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.12.22|2|5 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.12.28|2|5 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.13.22|2|0 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.13.28|2|0 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.14.22|2|0 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.14.28|2|4 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.15.22|2|0 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.15.28|2|2 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.16.22|2|4 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.16.28|2|5 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.17.22|2|3 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.17.28|2|0 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.18.22|2|1 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.18.28|2|0 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.19.22|2|3 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.19.28|2|1 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.20.22|2|0 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.20.28|2|4 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.21.22|2|1 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.21.28|2|3 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.22.22|4x|4a61646564206b657074 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.22.28|4|driving +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.23.22|4|quaintly +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.23.28|4|their +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.24.22|4x|62757420666f7277617264 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.24.28|4x|7a6f6d62696573207468656972 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.25.22|4x|64726976696e67206f78656e +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.25.28|4x|7468656972206f78656e +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.26.22|4x|7a6f6d62696573206163746564 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.26.28|4x|64726976696e6720627574 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.27.22|2|0 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.27.28|2|27 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.28.22|2|3 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.28.28|2|28 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.29.22|2|0 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.29.28|2|29 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.30.22|4x|6163746564204a61646564 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.30.28|4|their +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.31.22|4x|62757420666f7277617264 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.31.28|4|zombies +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.32.22|4x|111111111111 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.32.28|4x|111111111111 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.33.22|4x|6163746564206b657074207468656972 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.33.28|4|forward +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.34.22|2|1 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.34.28|2|21 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.35.22|4x|6b657074206f78656e +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.35.28|4x|62757420627574 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.36.22|2|1 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.36.28|2|1 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.37.22|4x|61637465642061637465642064726976696e67207a6f6d6269657320666f72776172642062757420627574206f78656e +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.37.28|4x|6163746564204a61646564206b657074206b657074206f78656e204a61646564206b657074 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.38.22|2|2 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.38.28|2|2 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.1.1.1.10|2|1 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.1.1.1.12|2|1 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.1.1.2.10|2|13 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.1.1.2.12|2|15 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.1.1.3.10|2|3 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.1.1.3.12|2|5 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.1.1.4.10|66|9719 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.1.1.4.12|66|23424 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.1.1.5.10|2|2 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.1.1.5.12|2|3 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.1.1.6.10|2|4 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.1.1.6.12|2|3 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.1.1.7.10|2|4 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.1.1.7.12|2|4 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.1.1.8.10|2|3 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.1.1.8.12|2|4 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.2.1.1.4|65|2784002063 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.2.1.1.27|65|2224192705 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.2.1.2.4|66|52293 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.2.1.2.27|66|7100 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.1.7|66|3 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.1.24|66|8 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.2.7|2|21 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.2.24|2|7 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.3.7|65|4204788604 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.3.24|65|1238750188 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.4.7|2|21 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.4.24|2|16 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.5.7|2|23 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.5.24|2|4 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.6.7|2|1 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.6.24|2|4 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.7.7|2|31 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.7.24|2|26 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.8.7|2|30 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.8.24|2|31 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.9.7|2|10 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.9.24|2|9 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.4.1.1.20|2|20 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.4.1.1.28|2|28 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.4.1.2.20|66|10645 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.4.1.2.28|66|29744 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.4.1.3.20|4x|6b657074206163746564206163746564206163746564207a6f6d62696573206b65707420717561696e746c79 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.4.1.3.28|4x|6b657074206b657074207468656972 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.4.1.4.20|4x|7a6f6d62696573206f78656e204a61646564206f78656e206f78656e +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.4.1.4.28|4x|717561696e746c79207468656972 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.4.1.5.20|2|3 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.4.1.5.28|2|1 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.4.1.6.20|66|34919 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.4.1.6.28|66|1181 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.4.1.7.20|2|4 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.4.1.7.28|2|2 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.4.1.8.20|4x|666f727761726420666f7277617264 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.4.1.8.28|4x|4a61646564206163746564 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.5.1.0|66|46599 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.5.2.0|2|0 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.5.3.0|4x|4a6164656420717561696e746c7920627574204a61646564204a61646564 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.5.4.0|4x|6b6570742064726976696e67207a6f6d62696573 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.5.5.0|4|their +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.5.6.0|4x|6f78656e2064726976696e67 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.5.7.0|2|2 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.5.8.0|2|5 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.6.1.1.14|2|14 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.6.1.2.14|2|2 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.7.1.0|2|13 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.7.2.0|2|3 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.7.3.0|2|2 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.8.1.1.22|2|22 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.8.1.1.23|2|23 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.8.1.2.22|66|54737 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.8.1.2.23|66|40711 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.8.1.3.22|66|43085 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.8.1.3.23|66|21983 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.9.1.1.1|2|1 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.9.1.1.2|2|2 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.9.1.2.1|66|62155 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.9.1.2.2|66|25598 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.9.1.3.1|66|6268 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.9.1.3.2|66|63187 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.9.1.4.1|2|25 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.9.1.4.2|2|13 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.10.1.1.7|2|7 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.10.1.2.7|2|0 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.11.1.1.1.15|2|15 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.11.1.1.18.5|2|5 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.11.1.2.1.15|2|0 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.11.1.2.18.5|2|1 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.12.0|2|1 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.13.0|2|2 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.14.0|2|0 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.15.0|2|1 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.16.0|4x|6163746564207a6f6d62696573204a6164656420627574 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.17.0|2|7 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.18.0|4x|717561696e746c7920717561696e746c79207468656972206b657074 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.19.0|2|1 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.21.0|2|1 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.22.0|2|2 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.23.0|2|0 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.24.0|2|28 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.25.0|2|6 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.26.0|2|24 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.27.0|2|11 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.28.0|4x|4a61646564204a61646564 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.29.0|4x|4a61646564206f78656e +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.30.0|4x|717561696e746c79206163746564 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.31.1.1.1|66|1 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.31.1.1.3|66|3 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.31.1.2.1|66|7 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.31.1.2.3|66|3 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.31.1.3.1|4x|4a6164656420627574 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.31.1.3.3|4|driving +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.32.1.1.2|66|2 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.32.1.1.4|66|4 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.32.1.2.2|4|oxen +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.32.1.2.4|4x|6b657074206f78656e20666f7277617264206f78656e20717561696e746c79 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.32.1.3.2|4x|6b657074206b657074206b657074204a6164656420717561696e746c7920627574207468656972 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.32.1.3.4|4x|666f7277617264207a6f6d62696573206b657074206163746564 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.32.1.4.2|4x|6163746564207a6f6d6269657320616374656420746865697220627574 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.32.1.4.4|4x|74686569722064726976696e672062757420666f727761726420746865697220717561696e746c792064726976696e67 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.32.1.5.2|4|their +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.32.1.5.4|4x|62757420717561696e746c79 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.32.1.6.2|4|driving +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.32.1.6.4|4x|64726976696e6720666f727761726420627574206f78656e +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.32.1.7.2|4x|746865697220627574 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.32.1.7.4|4x|6275742064726976696e67 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.32.1.8.2|4|oxen +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.32.1.8.4|4|zombies +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.32.1.9.2|2|3 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.32.1.9.4|2|2 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.32.1.10.2|2|4 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.32.1.10.4|2|18 +1.3.6.1.4.1.6486.800.1.1.1.3.1.2.1.33.1.0|2|0 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.1.0|2|21 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.2.0|2|10 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.3.0|2|24 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.4.0|2|24 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.5.0|2|18 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.6.0|2|31 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.7.0|2|20 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.8.0|2|25 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.9.0|2|14 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.10.0|2|30 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.11.0|2|14 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.12.0|2|4 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.13.0|2|19 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.14.0|2|3 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.15.0|2|1 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.16.0|2|31 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.17.0|2|10 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.18.0|2|17 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.19.0|2|18 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.20.0|2|29 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.21.0|2|23 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.22.0|2|5 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.23.0|2|6 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.24.0|2|8 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.1.14|2|14 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.1.31|2|31 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.2.14|2|29 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.2.31|2|6 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.3.14|2|12 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.3.31|2|20 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.4.14|2|5 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.4.31|2|21 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.5.14|2|23 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.5.31|2|15 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.6.14|2|27 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.6.31|2|10 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.7.14|2|0 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.7.31|2|12 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.8.14|2|18 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.8.31|2|28 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.9.14|2|0 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.9.31|2|20 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.10.14|2|11 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.10.31|2|28 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.11.14|2|13 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.11.31|2|13 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.12.14|2|18 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.12.31|2|26 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.13.14|2|17 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.13.31|2|5 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.14.14|2|15 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.14.31|2|25 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.15.14|2|7 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.15.31|2|6 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.16.14|2|3 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.16.31|2|27 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.17.14|2|30 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.17.31|2|1 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.1.7.10|2|7 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.1.12.11|2|12 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.2.7.10|2|10 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.2.12.11|2|11 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.3.7.10|2|1 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.3.12.11|2|1 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.4.7.10|2|6 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.4.12.11|2|1 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.5.7.10|2|0 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.5.12.11|2|29 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.6.7.10|2|13 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.6.12.11|2|22 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.7.7.10|2|7 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.7.12.11|2|16 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.8.7.10|2|2 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.8.12.11|2|29 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.9.7.10|2|12 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.9.12.11|2|4 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.10.7.10|2|29 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.10.12.11|2|8 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.11.7.10|2|11 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.11.12.11|2|28 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.12.7.10|2|5 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.12.12.11|2|27 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.13.7.10|2|16 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.13.12.11|2|15 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.14.7.10|2|27 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.14.12.11|2|16 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.15.7.10|2|20 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.15.12.11|2|4 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.16.7.10|2|1 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.3.1.1.16.12.11|2|2 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.4.1.0|2|9 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.4.2.0|2|27 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.5.1.0|2|9 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.5.2.0|2|30 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.5.3.0|2|11 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.5.4.0|2|24 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.5.5.0|2|11 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.5.6.0|2|14 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.5.7.0|2|17 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.5.8.0|2|8 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.5.9.0|2|17 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.5.10.0|2|0 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.6.1.0|2|2 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.6.2.0|2|2 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.6.3.0|2|3 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.6.4.0|2|2 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.6.5.0|2|1 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.6.6.0|2|3 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.6.7.0|2|2 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.6.8.0|2|1 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.6.9.0|2|3 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.6.10.0|2|3 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.6.11.0|4x|6b657074206f78656e206f78656e207a6f6d62696573206b657074 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.7.1.1.1.26.1|2|26 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.7.1.1.1.27.11|2|27 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.7.1.1.2.26.1|2|1 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.7.1.1.2.27.11|2|11 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.7.1.1.3.26.1|2|22 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.7.1.1.3.27.11|2|31 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.7.1.1.4.26.1|2|13 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.7.1.1.4.27.11|2|3 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.1.11|2|11 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.1.18|2|18 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.2.11|2|1 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.2.18|2|15 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.3.11|2|29 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.3.18|2|20 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.4.11|2|23 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.4.18|2|17 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.5.11|2|3 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.5.18|2|7 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.6.11|2|13 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.6.18|2|8 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.7.11|2|24 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.7.18|2|6 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.8.11|2|1 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.8.18|2|2 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.9.11|2|23 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.9.18|2|5 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.10.11|2|12 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.10.18|2|22 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.11.11|2|0 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.11.18|2|17 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.12.11|2|23 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.12.18|2|1 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.13.11|2|23 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.13.18|2|26 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.14.11|2|8 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.14.18|2|28 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.15.11|2|9 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.15.18|2|13 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.16.11|2|18 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.16.18|2|11 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.17.11|2|30 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.17.18|2|11 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.18.11|2|17 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.18.18|2|28 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.19.11|2|1 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.19.18|2|30 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.20.11|2|25 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.20.18|2|6 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.21.11|2|22 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.21.18|2|3 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.22.11|2|29 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.22.18|2|0 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.23.11|2|7 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.23.18|2|22 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.24.11|2|12 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.24.18|2|5 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.25.11|2|1 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.25.18|2|17 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.26.11|2|9 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.26.18|2|15 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.27.11|2|27 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.27.18|2|20 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.28.11|2|28 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.28.18|2|21 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.29.11|2|13 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.29.18|2|28 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.30.11|2|5 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.30.18|2|7 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.31.11|2|12 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.31.18|2|29 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.32.11|2|24 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.32.18|2|0 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.33.11|2|27 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.8.1.1.33.18|2|28 +1.3.6.1.4.1.6486.800.1.3.2.4.2.1.0|2|1 +1.3.6.1.4.1.6486.800.1.3.2.4.2.2.0|2|19 +1.3.6.1.4.1.6486.800.1.3.2.4.2.3.0|2|25 +1.3.6.1.4.1.6486.800.1.3.2.4.2.4.0|4x|6f78656e207a6f6d62696573 +1.3.6.1.4.1.6486.800.1.3.2.4.2.5.0|2|15 +1.3.6.1.4.1.6486.800.1.3.2.4.2.6.0|2|25 +1.3.6.1.4.1.6486.800.1.3.2.4.2.7.0|4x|616374656420666f7277617264 +1.3.6.1.4.1.6486.800.1.3.2.4.2.8.0|4x|6275742064726976696e672061637465642064726976696e67204a61646564206f78656e +1.3.6.1.4.1.6486.800.1.3.2.4.2.9.0|2|1 +1.3.6.1.4.1.6486.800.1.3.2.4.2.10.0|2|30 +1.3.6.1.4.1.6486.800.1.3.2.4.2.11.0|2|22 +1.3.6.1.4.1.6486.800.1.3.2.4.2.12.0|4x|6b65707420666f7277617264207468656972206f78656e207468656972206b657074204a61646564 +1.3.6.1.4.1.6486.800.1.3.2.4.2.13.0|2|8 +1.3.6.1.4.1.6486.800.1.3.2.4.2.16.0|2|18 +1.3.6.1.4.1.6486.800.1.3.2.4.2.17.0|2|17 +1.3.6.1.4.1.6486.800.1.3.2.4.2.18.0|2|16 +1.3.6.1.4.1.6486.800.1.3.2.4.2.19.0|2|4 +1.3.6.1.4.1.6486.800.1.3.2.4.2.20.0|66|44232 +1.3.6.1.4.1.6486.800.1.3.2.4.2.21.0|66|84 +1.3.6.1.4.1.6486.800.1.3.2.4.2.22.0|66|67 +1.3.6.1.4.1.6486.800.1.3.2.4.2.23.0|2|0 +1.3.6.1.4.1.6486.800.1.3.2.4.2.24.0|2|1 +1.3.6.1.4.1.6486.800.1.3.2.4.2.25.0|2|1 +1.3.6.1.4.1.6486.800.1.3.2.4.2.26.0|2|1 +1.3.6.1.6.3.1.1.4.1.0|6|1.3.6.1.3.32 +1.3.6.1.6.3.1.1.4.3.0|6|1.3.6.1.3.155.2.120.76.66.12.248.1.115 +1.3.6.1.6.3.1.1.6.1.0|2|22 +1.3.6.1.6.3.10.2.1.1.0|4x|7a6f6d6269657320627574206163746564206f78656e2064726976696e67 +1.3.6.1.6.3.10.2.1.2.0|2|21 +1.3.6.1.6.3.10.2.1.3.0|2|13 +1.3.6.1.6.3.10.2.1.4.0|2|100000 diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_alcatel_lucent_ind.py b/snmp/tests/test_e2e_core_profiles/test_profile_alcatel_lucent_ind.py new file mode 100644 index 0000000000000..54468523209c9 --- /dev/null +++ b/snmp/tests/test_e2e_core_profiles/test_profile_alcatel_lucent_ind.py @@ -0,0 +1,101 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +import pytest + +from datadog_checks.dev.utils import get_metadata_metrics + +from .. import common +from ..test_e2e_core_metadata import assert_device_metadata +from .utils import ( + assert_common_metrics, + assert_extend_generic_if, + create_e2e_core_test_config, + get_device_ip_from_config, +) + +pytestmark = [pytest.mark.e2e, common.py3_plus_only, common.snmp_integration_only] + + +def test_e2e_profile_alcatel_lucent_ind(dd_agent_check): + config = create_e2e_core_test_config('alcatel-lucent-ind') + aggregator = common.dd_agent_check_wrapper(dd_agent_check, config, rate=True) + + ip_address = get_device_ip_from_config(config) + common_tags = [ + 'snmp_profile:alcatel-lucent-ind', + 'snmp_host:alcatel-lucent-ind.device.name', + 'device_namespace:default', + 'snmp_device:' + ip_address, + ] + + # --- TEST EXTENDED METRICS --- + assert_extend_generic_if(aggregator, common_tags) + + # --- TEST METRICS --- + assert_common_metrics(aggregator, common_tags) + + aggregator.assert_metric('snmp.cpu.usage', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.healthDeviceTemperatureChas1MinAvg', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.memory.usage', metric_type=aggregator.GAUGE, tags=common_tags) + + tag_rows = [ + [ + 'chas_ent_phys_admin_status:reset_all', + 'chas_ent_phys_led_status_backup_ps:not_applicable', + 'chas_ent_phys_led_status_control:off', + 'chas_ent_phys_led_status_fabric:amber_on', + 'chas_ent_phys_led_status_fan1:amber_on', + 'chas_ent_phys_led_status_fan2:green_on', + 'chas_ent_phys_led_status_fan3:amber_blink', + 'chas_ent_phys_led_status_fan:not_applicable', + 'chas_ent_phys_led_status_internal_ps:not_applicable', + 'chas_ent_phys_led_status_ok1:amber_blink', + 'chas_ent_phys_led_status_ok2:green_blink', + 'chas_ent_phys_led_status_primary_cmm:green_on', + 'chas_ent_phys_led_status_psu:green_blink', + 'chas_ent_phys_led_status_secondary_cmm:off', + 'chas_ent_phys_led_status_temperature:amber_blink', + 'chas_ent_phys_oper_status:testing', + ], + [ + 'chas_ent_phys_admin_status:power_on', + 'chas_ent_phys_led_status_backup_ps:green_blink', + 'chas_ent_phys_led_status_control:green_blink', + 'chas_ent_phys_led_status_fabric:not_applicable', + 'chas_ent_phys_led_status_fan1:not_applicable', + 'chas_ent_phys_led_status_fan2:not_applicable', + 'chas_ent_phys_led_status_fan3:amber_on', + 'chas_ent_phys_led_status_fan:not_applicable', + 'chas_ent_phys_led_status_internal_ps:off', + 'chas_ent_phys_led_status_ok1:off', + 'chas_ent_phys_led_status_ok2:not_applicable', + 'chas_ent_phys_led_status_primary_cmm:not_applicable', + 'chas_ent_phys_led_status_psu:off', + 'chas_ent_phys_led_status_secondary_cmm:amber_on', + 'chas_ent_phys_led_status_temperature:amber_blink', + 'chas_ent_phys_oper_status:not_present', + ], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.chasEntPhysical', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + # --- TEST METADATA --- + device = { + 'description': 'alcatel-lucent-ind Device Description', + 'id': 'default:' + ip_address, + 'id_tags': ['device_namespace:default', 'snmp_device:' + ip_address], + 'ip_address': '' + ip_address, + 'name': 'alcatel-lucent-ind.device.name', + 'profile': 'alcatel-lucent-ind', + 'status': 1, + 'sys_object_id': '1.3.6.1.4.1.6486.800.1.1.2.1.9.1.1', + 'vendor': 'alcatel-lucent', + } + device['tags'] = common_tags + assert_device_metadata(aggregator, device) + + # --- CHECK COVERAGE --- + aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) From 2c5eaf597f3e094b21d0372ad0bad84147c0b944 Mon Sep 17 00:00:00 2001 From: Florian Veaux Date: Tue, 4 Jul 2023 17:28:36 +0200 Subject: [PATCH 13/77] NDM: Remove duplicate assert_extend_generic_ucd (#15156) --- snmp/tests/compose/data/bluecat-server.snmprec | 2 +- snmp/tests/test_e2e_core_profiles/utils.py | 8 -------- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/snmp/tests/compose/data/bluecat-server.snmprec b/snmp/tests/compose/data/bluecat-server.snmprec index 02bc10c32ad87..5b5097fdf0639 100644 --- a/snmp/tests/compose/data/bluecat-server.snmprec +++ b/snmp/tests/compose/data/bluecat-server.snmprec @@ -17,7 +17,7 @@ 1.3.6.1.2.1.25.3.3.1.1.21|2|21 1.3.6.1.2.1.25.3.3.1.2.10|2|31 1.3.6.1.2.1.25.3.3.1.2.21|2|15 -1.3.6.1.4.1.2021.10.1.5.1|2|18 +1.3.6.1.4.1.2021.4.3.0|2|1048572 1.3.6.1.4.1.13315.3.1.1.2.1.1.0|2|2 1.3.6.1.4.1.13315.3.1.1.2.1.2.0|64x|4fb5a15f 1.3.6.1.4.1.13315.3.1.1.2.1.3.0|66|1908841805 diff --git a/snmp/tests/test_e2e_core_profiles/utils.py b/snmp/tests/test_e2e_core_profiles/utils.py index febd9be26792c..6e9a698f4c837 100644 --- a/snmp/tests/test_e2e_core_profiles/utils.py +++ b/snmp/tests/test_e2e_core_profiles/utils.py @@ -148,7 +148,6 @@ def assert_extend_generic_host_resources_cpu_mem(aggregator, common_tags): def assert_extend_generic_host_resources(aggregator, common_tags): # fmt: off """Add the following to the snmprec -<<<<<<< HEAD 1.3.6.1.2.1.25.1.1.0|67|201526890 1.3.6.1.2.1.25.2.3.1.1.4|2|4 1.3.6.1.2.1.25.2.3.1.1.31|2|31 @@ -169,13 +168,6 @@ def assert_extend_generic_host_resources(aggregator, common_tags): assert_extend_generic_host_resources_base(aggregator, common_tags) -def assert_extend_generic_ucd(aggregator, common_tags): - """Add the following to the snmprec - 1.3.6.1.4.1.2021.10.1.5.1|2|18 - """ - aggregator.assert_metric('snmp.cpu.usage', metric_type=aggregator.GAUGE, tags=common_tags) - - def assert_extend_entity_sensor(aggregator, common_tags): # fmt: off """Add the following to the snmprec From d05d354a5af6e604563d95b4cb102d61278a8bf1 Mon Sep 17 00:00:00 2001 From: Thibaud Cheruy Date: Tue, 4 Jul 2023 18:00:47 +0200 Subject: [PATCH 14/77] [SNMP] Add profile for alcatel-lucent omni access WLC (#15101) * Add profile for alcatel-lucent ent * Format * Add profile for alcatel-lucent ind * Add profile for alcatel-lucent omnic access WLC * Update metadata * Update metadata * Update metadata * Apply suggestions from code review Co-authored-by: Alexandre Yang * Fix cpu and memory tagging * Fix cpu tagging and scalar OIDs * Fix cpu/mem index * Empty-Commit to trigger CI --------- Co-authored-by: Alexandre Yang --- .../alcatel-lucent-omni-access-wlc.yaml | 72 ++++++++ snmp/metadata.csv | 4 + .../alcatel-lucent-omni-access-wlc.snmprec | 173 ++++++++++++++++++ ..._profile_alcatel_lucent_omni_access_wlc.py | 89 +++++++++ 4 files changed, 338 insertions(+) create mode 100644 snmp/datadog_checks/snmp/data/default_profiles/alcatel-lucent-omni-access-wlc.yaml create mode 100644 snmp/tests/compose/data/alcatel-lucent-omni-access-wlc.snmprec create mode 100644 snmp/tests/test_e2e_core_profiles/test_profile_alcatel_lucent_omni_access_wlc.py diff --git a/snmp/datadog_checks/snmp/data/default_profiles/alcatel-lucent-omni-access-wlc.yaml b/snmp/datadog_checks/snmp/data/default_profiles/alcatel-lucent-omni-access-wlc.yaml new file mode 100644 index 0000000000000..301c96ebb41d2 --- /dev/null +++ b/snmp/datadog_checks/snmp/data/default_profiles/alcatel-lucent-omni-access-wlc.yaml @@ -0,0 +1,72 @@ +extends: + - alcatel-lucent.yaml +sysobjectid: + - 1.3.6.1.4.1.6486.800.1.1.2.2.2.* +metrics: + - MIB: WLSX-SWITCH-MIB + table: + name: wlsxSysXProcessorTable + OID: 1.3.6.1.4.1.14823.2.2.1.1.1.9 + symbols: + - name: cpu.usage + OID: 1.3.6.1.4.1.14823.2.2.1.1.1.9.1.3 + metric_tags: + - index: 1 + tag: cpu + - column: + OID: 1.3.6.1.4.1.14823.2.2.1.1.1.9.1.2 + name: sysXProcessorDescr + tag: sys_x_processor_descr + - MIB: WLSX-SWITCH-MIB + table: + name: wlsxSysXStorageTable + OID: 1.3.6.1.4.1.14823.2.2.1.1.1.10 + symbols: + - name: sysXStorageSize + OID: 1.3.6.1.4.1.14823.2.2.1.1.1.10.1.3 + - name: sysXStorageUsed + OID: 1.3.6.1.4.1.14823.2.2.1.1.1.10.1.4 + metric_tags: + - column: + OID: 1.3.6.1.4.1.14823.2.2.1.1.1.10.1.2 + name: sysXStorageType + tag: sys_x_storage_type + mapping: + 1: ram + 2: flash_memory + - column: + OID: 1.3.6.1.4.1.14823.2.2.1.1.1.10.1.5 + name: sysXStorageName + tag: sys_x_storage_name + - MIB: WLSX-SWITCH-MIB + table: + name: wlsxSysXMemoryTable + OID: 1.3.6.1.4.1.14823.2.2.1.1.1.11 + symbols: + - name: memory.total + OID: 1.3.6.1.4.1.14823.2.2.1.1.1.11.1.2 + - name: memory.used + OID: 1.3.6.1.4.1.14823.2.2.1.1.1.11.1.3 + - name: memory.free + OID: 1.3.6.1.4.1.14823.2.2.1.1.1.11.1.4 + metric_tags: + - index: 1 + tag: mem + - MIB: WLSX-SWITCH-MIB + symbol: + name: wlsxSwitchTotalNumAccessPoints + OID: 1.3.6.1.4.1.14823.2.2.1.1.3.1.0 + - MIB: WLSX-SWITCH-MIB + symbol: + name: wlsxSwitchTotalNumStationsAssociated + OID: 1.3.6.1.4.1.14823.2.2.1.1.3.2.0 +metric_tags: + - OID: 1.3.6.1.4.1.14823.2.2.1.1.1.2.0 + symbol: wlsxModelName + tag: wlsx_model_name + - OID: 1.3.6.1.4.1.14823.2.2.1.1.1.4.0 + symbol: wlsxSwitchRole + tag: wlsx_switch_role + - OID: 1.3.6.1.4.1.14823.2.2.1.1.1.12.0 + symbol: wlsxSwitchLicenseSerialNumber + tag: wlsx_switch_license_serial_number diff --git a/snmp/metadata.csv b/snmp/metadata.csv index 6a83fee24f45e..e9899968b637b 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -1037,6 +1037,8 @@ snmp.sysUdpStatConnects,count,,,,[F5 BIG-IP] The number of connections establish snmp.sysUdpStatConnfails,count,,,,[F5 BIG-IP] The number of connection failures.,0,snmp,, snmp.sysUdpStatOpen,gauge,,,,[F5 BIG-IP] The number of current open connections.,0,snmp,, snmp.sysUpTimeInstance,gauge,,,,The time (in hundredths of a second) since the network management portion of the system was last re-initialized.,0,snmp,, +snmp.sysXStorageSize,gauge,,,,"[WLSX-SWITCH-MIB] size of the storage filesystem in MB.",0,snmp,, +snmp.sysXStorageUsed,gauge,,,,"[WLSX-SWITCH-MIB] size of the storage filesystem in MB.",0,snmp,, snmp.systemBIOSStatus,gauge,,,,[Dell iDRAC] The status of the system BIOS.,0,snmp,, snmp.systemBatteryReading,gauge,,,,[Dell iDRAC] The reading of the battery.,0,snmp,, snmp.systemBatteryStatus,gauge,,,,[Dell iDRAC] The status of the battery.,0,snmp,, @@ -1148,5 +1150,7 @@ snmp.voltageyz2,gauge,,,,[Legacy Chatsworth] The branch YZ2 voltage in 1/10 volt snmp.voltagezx1,gauge,,,,[Legacy Chatsworth] The branch ZX1 voltage in 1/10 volts.,0,snmp,, snmp.voltagezx2,gauge,,,,[Legacy Chatsworth] The branch ZX2 voltage in 1/10 volts.,0,snmp,, snmp.wlan,gauge,,,,Constant metric equal to 1,0,snmp,, +snmp.wlsxSwitchTotalNumAccessPoints,gauge,,,,"[WLSX-SWITCH-MIB] Total Number of Access Points Connected to this switch.",0,snmp,, +snmp.wlsxSwitchTotalNumStationsAssociated,gauge,,,,"[WLSX-SWITCH-MIB] Total Number of Stations Associated to this switch.",0,snmp,, snmp.wlsxSysExtPacketLossPercent,gauge,,,,[Aruba] The packet loss count of the switch.,0,snmp,, diff --git a/snmp/tests/compose/data/alcatel-lucent-omni-access-wlc.snmprec b/snmp/tests/compose/data/alcatel-lucent-omni-access-wlc.snmprec new file mode 100644 index 0000000000000..9d01ca3afe9c8 --- /dev/null +++ b/snmp/tests/compose/data/alcatel-lucent-omni-access-wlc.snmprec @@ -0,0 +1,173 @@ +1.3.6.1.2.1.1.1.0|4|alcatel-lucent-omni-access-wlc Device Description +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.6486.800.1.1.2.2.2.1.1.4 +1.3.6.1.2.1.1.5.0|4|alcatel-lucent-omni-access-wlc.device.name +1.3.6.1.2.1.2.1.0|2|4 +1.3.6.1.4.1.14823.2.2.1.1.1.1.0|4|kept +1.3.6.1.4.1.14823.2.2.1.1.1.2.0|4x|717561696e746c79204a61646564206f78656e206f78656e +1.3.6.1.4.1.14823.2.2.1.1.1.3.0|64x|367fe9d7 +1.3.6.1.4.1.14823.2.2.1.1.1.4.0|2|3 +1.3.6.1.4.1.14823.2.2.1.1.1.5.0|64x|89b99650 +1.3.6.1.4.1.14823.2.2.1.1.1.6.1.1.53.65.91.77|64x|35415b4d +1.3.6.1.4.1.14823.2.2.1.1.1.6.1.1.152.86.165.136|64x|9856a588 +1.3.6.1.4.1.14823.2.2.1.1.1.6.1.2.53.65.91.77|2|2 +1.3.6.1.4.1.14823.2.2.1.1.1.6.1.2.152.86.165.136|2|2 +1.3.6.1.4.1.14823.2.2.1.1.1.7.0|2|6 +1.3.6.1.4.1.14823.2.2.1.1.1.8.1.1.11|2|11 +1.3.6.1.4.1.14823.2.2.1.1.1.8.1.1.24|2|24 +1.3.6.1.4.1.14823.2.2.1.1.1.8.1.2.11|4x|7468656972204a616465642064726976696e67206f78656e206f78656e +1.3.6.1.4.1.14823.2.2.1.1.1.8.1.2.24|4|quaintly +1.3.6.1.4.1.14823.2.2.1.1.1.8.1.3.11|4x|4a616465642064726976696e67206163746564204a6164656420666f7277617264 +1.3.6.1.4.1.14823.2.2.1.1.1.8.1.3.24|4|acted +1.3.6.1.4.1.14823.2.2.1.1.1.8.1.4.11|4x|666f727761726420717561696e746c792064726976696e6720717561696e746c79 +1.3.6.1.4.1.14823.2.2.1.1.1.8.1.4.24|4x|64726976696e67207468656972207468656972207468656972 +1.3.6.1.4.1.14823.2.2.1.1.1.8.1.5.11|4x|7a6f6d6269657320627574204a616465642062757420717561696e746c79207468656972 +1.3.6.1.4.1.14823.2.2.1.1.1.8.1.5.24|4x|4a61646564206f78656e204a61646564 +1.3.6.1.4.1.14823.2.2.1.1.1.8.1.6.11|4x|4a61646564206b657074206b657074 +1.3.6.1.4.1.14823.2.2.1.1.1.8.1.6.24|4|oxen +1.3.6.1.4.1.14823.2.2.1.1.1.9.1.1.4|2|4 +1.3.6.1.4.1.14823.2.2.1.1.1.9.1.1.27|2|27 +1.3.6.1.4.1.14823.2.2.1.1.1.9.1.2.4|4x|4a6164656420616374656420717561696e746c7920746865697220666f7277617264204a6164656420666f7277617264206f78656e204a61646564 +1.3.6.1.4.1.14823.2.2.1.1.1.9.1.2.27|4x|7a6f6d62696573207a6f6d62696573207468656972206163746564204a61646564 +1.3.6.1.4.1.14823.2.2.1.1.1.9.1.3.4|2|14 +1.3.6.1.4.1.14823.2.2.1.1.1.9.1.3.27|2|16 +1.3.6.1.4.1.14823.2.2.1.1.1.10.1.1.15|2|15 +1.3.6.1.4.1.14823.2.2.1.1.1.10.1.1.18|2|18 +1.3.6.1.4.1.14823.2.2.1.1.1.10.1.2.15|2|2 +1.3.6.1.4.1.14823.2.2.1.1.1.10.1.2.18|2|2 +1.3.6.1.4.1.14823.2.2.1.1.1.10.1.3.15|2|31 +1.3.6.1.4.1.14823.2.2.1.1.1.10.1.3.18|2|30 +1.3.6.1.4.1.14823.2.2.1.1.1.10.1.4.15|2|12 +1.3.6.1.4.1.14823.2.2.1.1.1.10.1.4.18|2|9 +1.3.6.1.4.1.14823.2.2.1.1.1.10.1.5.15|4|oxen +1.3.6.1.4.1.14823.2.2.1.1.1.10.1.5.18|4x|6163746564206f78656e206f78656e20746865697220717561696e746c79 +1.3.6.1.4.1.14823.2.2.1.1.1.11.1.1.1|2|1 +1.3.6.1.4.1.14823.2.2.1.1.1.11.1.1.24|2|24 +1.3.6.1.4.1.14823.2.2.1.1.1.11.1.2.1|2|2 +1.3.6.1.4.1.14823.2.2.1.1.1.11.1.2.24|2|21 +1.3.6.1.4.1.14823.2.2.1.1.1.11.1.3.1|2|13 +1.3.6.1.4.1.14823.2.2.1.1.1.11.1.3.24|2|27 +1.3.6.1.4.1.14823.2.2.1.1.1.11.1.4.1|2|9 +1.3.6.1.4.1.14823.2.2.1.1.1.11.1.4.24|2|0 +1.3.6.1.4.1.14823.2.2.1.1.1.12.0|4x|717561696e746c79206f78656e207468656972 +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.1.93.47.133.56|64x|5d2f8538 +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.1.227.21.43.124|64x|e3152b7c +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.2.93.47.133.56|4x|111111111111 +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.2.227.21.43.124|4x|111111111111 +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.3.93.47.133.56|4x|7a6f6d62696573204a61646564206b657074206f78656e20627574 +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.3.227.21.43.124|4x|6163746564206f78656e206f78656e +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.4.93.47.133.56|4|forward +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.4.227.21.43.124|4x|6163746564207468656972 +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.5.93.47.133.56|67|1562705459 +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.5.227.21.43.124|67|2489059202 +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.6.93.47.133.56|2|6 +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.6.227.21.43.124|2|6 +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.7.93.47.133.56|4x|7a6f6d6269657320627574 +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.7.227.21.43.124|4x|666f72776172642064726976696e67 +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.8.93.47.133.56|4|their +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.8.227.21.43.124|4x|64726976696e6720627574206f78656e206f78656e204a61646564 +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.9.93.47.133.56|2|27 +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.9.227.21.43.124|2|19 +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.10.93.47.133.56|2|15 +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.10.227.21.43.124|2|30 +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.11.93.47.133.56|2|16 +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.11.227.21.43.124|2|6 +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.12.93.47.133.56|4x|627574207468656972207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.12.227.21.43.124|4|but +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.13.93.47.133.56|2|2 +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.13.227.21.43.124|2|2 +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.14.93.47.133.56|2|27 +1.3.6.1.4.1.14823.2.2.1.1.2.1.1.14.227.21.43.124|2|4 +1.3.6.1.4.1.14823.2.2.1.1.2.2.1.1.6.17.17.17.17.17.17.6.17.17.17.17.17.17|4x|111111111111 +1.3.6.1.4.1.14823.2.2.1.1.2.2.1.2.6.17.17.17.17.17.17.6.17.17.17.17.17.17|4x|111111111111 +1.3.6.1.4.1.14823.2.2.1.1.2.2.1.3.6.17.17.17.17.17.17.6.17.17.17.17.17.17|4x|6b6570742064726976696e672064726976696e67 +1.3.6.1.4.1.14823.2.2.1.1.2.2.1.4.6.17.17.17.17.17.17.6.17.17.17.17.17.17|4x|7468656972206163746564206f78656e +1.3.6.1.4.1.14823.2.2.1.1.2.2.1.5.6.17.17.17.17.17.17.6.17.17.17.17.17.17|66|34570 +1.3.6.1.4.1.14823.2.2.1.1.2.2.1.6.6.17.17.17.17.17.17.6.17.17.17.17.17.17|4x|616374656420627574 +1.3.6.1.4.1.14823.2.2.1.1.2.2.1.7.6.17.17.17.17.17.17.6.17.17.17.17.17.17|2|18 +1.3.6.1.4.1.14823.2.2.1.1.2.2.1.8.6.17.17.17.17.17.17.6.17.17.17.17.17.17|2|3 +1.3.6.1.4.1.14823.2.2.1.1.2.2.1.9.6.17.17.17.17.17.17.6.17.17.17.17.17.17|2|11 +1.3.6.1.4.1.14823.2.2.1.1.2.3.1.1.6.17.17.17.17.17.17.6.17.17.17.17.17.17|65|2028423429 +1.3.6.1.4.1.14823.2.2.1.1.2.3.1.2.6.17.17.17.17.17.17.6.17.17.17.17.17.17|65|3424533565 +1.3.6.1.4.1.14823.2.2.1.1.2.3.1.3.6.17.17.17.17.17.17.6.17.17.17.17.17.17|65|984599151 +1.3.6.1.4.1.14823.2.2.1.1.2.3.1.4.6.17.17.17.17.17.17.6.17.17.17.17.17.17|65|418156021 +1.3.6.1.4.1.14823.2.2.1.1.2.3.1.5.6.17.17.17.17.17.17.6.17.17.17.17.17.17|2|16 +1.3.6.1.4.1.14823.2.2.1.1.2.3.1.6.6.17.17.17.17.17.17.6.17.17.17.17.17.17|2|9 +1.3.6.1.4.1.14823.2.2.1.1.2.3.1.7.6.17.17.17.17.17.17.6.17.17.17.17.17.17|2|4 +1.3.6.1.4.1.14823.2.2.1.1.2.3.1.8.6.17.17.17.17.17.17.6.17.17.17.17.17.17|2|26 +1.3.6.1.4.1.14823.2.2.1.1.2.3.1.9.6.17.17.17.17.17.17.6.17.17.17.17.17.17|2|22 +1.3.6.1.4.1.14823.2.2.1.1.2.3.1.10.6.17.17.17.17.17.17.6.17.17.17.17.17.17|2|25 +1.3.6.1.4.1.14823.2.2.1.1.3.1.0|66|6512 +1.3.6.1.4.1.14823.2.2.1.1.3.2.0|66|38397 +1.3.6.1.4.1.14823.2.2.1.1.3.3.1.1.6.17.17.17.17.17.17|4x|111111111111 +1.3.6.1.4.1.14823.2.2.1.1.3.3.1.2.6.17.17.17.17.17.17|4x|6b657074207468656972206f78656e204a61646564206163746564207468656972206f78656e206f78656e206163746564 +1.3.6.1.4.1.14823.2.2.1.1.3.3.1.3.6.17.17.17.17.17.17|66|42853 +1.3.6.1.4.1.14823.2.2.1.1.3.3.1.4.6.17.17.17.17.17.17|66|35347 +1.3.6.1.4.1.14823.2.2.1.1.3.3.1.5.6.17.17.17.17.17.17|64x|fcefa60f +1.3.6.1.4.1.14823.2.2.1.1.3.3.1.6.6.17.17.17.17.17.17|2|2 +1.3.6.1.4.1.14823.2.2.1.1.3.3.1.7.6.17.17.17.17.17.17|2|2 +1.3.6.1.4.1.14823.2.2.1.1.3.3.1.8.6.17.17.17.17.17.17|2|21 +1.3.6.1.4.1.14823.2.2.1.1.3.3.1.9.6.17.17.17.17.17.17|4x|6b6570742064726976696e672062757420627574206b657074 +1.3.6.1.4.1.14823.2.2.1.1.3.3.1.10.6.17.17.17.17.17.17|67|1837712147 +1.3.6.1.4.1.14823.2.2.1.1.3.3.1.11.6.17.17.17.17.17.17|67|732050889 +1.3.6.1.4.1.14823.2.2.1.1.3.3.1.12.6.17.17.17.17.17.17|2|1 +1.3.6.1.4.1.14823.2.2.1.1.3.3.1.13.6.17.17.17.17.17.17|2|1 +1.3.6.1.4.1.14823.2.2.1.1.3.3.1.14.6.17.17.17.17.17.17|2|29 +1.3.6.1.4.1.14823.2.2.1.1.3.3.1.15.6.17.17.17.17.17.17|2|6 +1.3.6.1.4.1.14823.2.2.1.1.3.3.1.16.6.17.17.17.17.17.17|2|7 +1.3.6.1.4.1.14823.2.2.1.1.3.4.1.1.13.102.111.114.119.97.114.100.32.116.104.101.105.114.196.91.97.189|4x|666f7277617264207468656972 +1.3.6.1.4.1.14823.2.2.1.1.3.4.1.1.17.97.99.116.101.100.32.74.97.100.101.100.32.74.97.100.101.100.23.43.20.40|4x|6163746564204a61646564204a61646564 +1.3.6.1.4.1.14823.2.2.1.1.3.4.1.2.13.102.111.114.119.97.114.100.32.116.104.101.105.114.196.91.97.189|64x|c45b61bd +1.3.6.1.4.1.14823.2.2.1.1.3.4.1.2.17.97.99.116.101.100.32.74.97.100.101.100.32.74.97.100.101.100.23.43.20.40|64x|172b1428 +1.3.6.1.4.1.14823.2.2.1.1.3.4.1.3.13.102.111.114.119.97.114.100.32.116.104.101.105.114.196.91.97.189|64x|172b3e7d +1.3.6.1.4.1.14823.2.2.1.1.3.4.1.3.17.97.99.116.101.100.32.74.97.100.101.100.32.74.97.100.101.100.23.43.20.40|64x|e1daf889 +1.3.6.1.4.1.14823.2.2.1.1.3.4.1.4.13.102.111.114.119.97.114.100.32.116.104.101.105.114.196.91.97.189|4x|111111111111 +1.3.6.1.4.1.14823.2.2.1.1.3.4.1.4.17.97.99.116.101.100.32.74.97.100.101.100.32.74.97.100.101.100.23.43.20.40|4x|111111111111 +1.3.6.1.4.1.14823.2.2.1.1.3.4.1.5.13.102.111.114.119.97.114.100.32.116.104.101.105.114.196.91.97.189|4x|111111111111 +1.3.6.1.4.1.14823.2.2.1.1.3.4.1.5.17.97.99.116.101.100.32.74.97.100.101.100.32.74.97.100.101.100.23.43.20.40|4x|111111111111 +1.3.6.1.4.1.14823.2.2.1.1.3.4.1.6.13.102.111.114.119.97.114.100.32.116.104.101.105.114.196.91.97.189|2|7 +1.3.6.1.4.1.14823.2.2.1.1.3.4.1.6.17.97.99.116.101.100.32.74.97.100.101.100.32.74.97.100.101.100.23.43.20.40|2|5 +1.3.6.1.4.1.14823.2.2.1.1.3.4.1.7.13.102.111.114.119.97.114.100.32.116.104.101.105.114.196.91.97.189|4x|111111111111 +1.3.6.1.4.1.14823.2.2.1.1.3.4.1.7.17.97.99.116.101.100.32.74.97.100.101.100.32.74.97.100.101.100.23.43.20.40|4x|111111111111 +1.3.6.1.4.1.14823.2.2.1.1.3.5.1.1.6.17.17.17.17.17.17|2|24 +1.3.6.1.4.1.14823.2.2.1.1.3.5.1.2.6.17.17.17.17.17.17|2|16 +1.3.6.1.4.1.14823.2.2.1.1.3.5.1.3.6.17.17.17.17.17.17|2|31 +1.3.6.1.4.1.14823.2.2.1.1.3.5.1.4.6.17.17.17.17.17.17|2|20 +1.3.6.1.4.1.14823.2.2.1.1.3.5.1.5.6.17.17.17.17.17.17|2|2 +1.3.6.1.4.1.14823.2.2.1.1.3.5.1.6.6.17.17.17.17.17.17|2|4 +1.3.6.1.4.1.14823.2.2.1.1.3.5.1.7.6.17.17.17.17.17.17|2|2 +1.3.6.1.4.1.14823.2.2.1.1.3.5.1.8.6.17.17.17.17.17.17|65|1496357911 +1.3.6.1.4.1.14823.2.2.1.1.3.5.1.9.6.17.17.17.17.17.17|65|2654170947 +1.3.6.1.4.1.14823.2.2.1.1.3.5.1.10.6.17.17.17.17.17.17|65|681126846 +1.3.6.1.4.1.14823.2.2.1.1.3.5.1.11.6.17.17.17.17.17.17|65|620983193 +1.3.6.1.4.1.14823.2.2.1.1.3.5.1.12.6.17.17.17.17.17.17|2|30 +1.3.6.1.4.1.14823.2.2.1.1.3.5.1.13.6.17.17.17.17.17.17|2|19 +1.3.6.1.4.1.14823.2.2.1.1.3.5.1.14.6.17.17.17.17.17.17|2|6 +1.3.6.1.4.1.14823.2.2.1.1.3.5.1.15.6.17.17.17.17.17.17|2|8 +1.3.6.1.4.1.14823.2.2.1.1.3.5.1.16.6.17.17.17.17.17.17|2|24 +1.3.6.1.4.1.14823.2.2.1.1.3.5.1.17.6.17.17.17.17.17.17|2|26 +1.3.6.1.4.1.14823.2.2.1.1.100.100.1.0|4x|6163746564206b657074 +1.3.6.1.4.1.14823.2.2.1.1.100.100.2.0|2|3 +1.3.6.1.4.1.14823.2.2.1.1.100.100.4.0|2|8 +1.3.6.1.4.1.14823.2.2.1.1.100.100.5.0|2|20 +1.3.6.1.4.1.14823.2.2.1.1.100.100.6.0|4x|7468656972207a6f6d62696573 +1.3.6.1.4.1.14823.2.2.1.1.100.100.7.0|4|kept +1.3.6.1.4.1.14823.2.2.1.1.100.100.8.0|4x|666f72776172642074686569722062757420666f727761726420666f7277617264206f78656e +1.3.6.1.4.1.14823.2.2.1.1.100.100.9.0|4x|6f78656e204a61646564206163746564204a61646564 +1.3.6.1.4.1.14823.2.2.1.1.100.100.10.0|4x|111111111111 +1.3.6.1.4.1.14823.2.2.1.1.100.100.11.0|2|5 +1.3.6.1.4.1.14823.2.2.1.1.100.100.12.0|64x|f513b021 +1.3.6.1.4.1.14823.2.2.1.1.100.100.13.0|4x|111111111111 +1.3.6.1.4.1.14823.2.2.1.1.100.100.14.0|4x|111111111111 +1.3.6.1.4.1.14823.2.2.1.1.100.100.15.0|4x|64726976696e67207a6f6d62696573206f78656e +1.3.6.1.4.1.14823.2.2.1.1.100.100.16.0|4x|7a6f6d62696573206b6570742064726976696e6720616374656420666f7277617264206163746564207468656972206f78656e +1.3.6.1.4.1.14823.2.2.1.1.100.100.17.0|64x|69b928d2 +1.3.6.1.4.1.14823.2.2.1.1.100.100.18.0|2|2 +1.3.6.1.4.1.14823.2.2.1.1.100.100.19.0|2|23 +1.3.6.1.4.1.14823.2.2.1.1.100.100.20.0|64x|f8da4313 +1.3.6.1.4.1.14823.2.2.1.1.100.100.21.0|2|2 +1.3.6.1.4.1.14823.2.2.1.1.100.100.22.0|2|24 +1.3.6.1.4.1.14823.2.2.1.1.100.100.23.0|4x|64726976696e6720616374656420666f727761726420627574206f78656e204a61646564207a6f6d62696573 +1.3.6.1.4.1.14823.2.2.1.1.100.100.24.0|4x|6163746564206f78656e2064726976696e6720627574206b65707420666f7277617264207a6f6d626965732062757420666f7277617264 +1.3.6.1.4.1.14823.2.2.1.1.100.100.25.0|64x|172da2fe +1.3.6.1.4.1.14823.2.2.1.1.100.100.26.0|2|29 +1.3.6.1.4.1.14823.2.2.1.1.100.100.27.0|2|0 diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_alcatel_lucent_omni_access_wlc.py b/snmp/tests/test_e2e_core_profiles/test_profile_alcatel_lucent_omni_access_wlc.py new file mode 100644 index 0000000000000..f78a312d91879 --- /dev/null +++ b/snmp/tests/test_e2e_core_profiles/test_profile_alcatel_lucent_omni_access_wlc.py @@ -0,0 +1,89 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +import pytest + +from datadog_checks.dev.utils import get_metadata_metrics + +from .. import common +from ..test_e2e_core_metadata import assert_device_metadata +from .utils import ( + assert_common_metrics, + assert_extend_generic_if, + create_e2e_core_test_config, + get_device_ip_from_config, +) + +pytestmark = [pytest.mark.e2e, common.py3_plus_only, common.snmp_integration_only] + + +def test_e2e_profile_alcatel_lucent_omni_access_wlc(dd_agent_check): + config = create_e2e_core_test_config('alcatel-lucent-omni-access-wlc') + aggregator = common.dd_agent_check_wrapper(dd_agent_check, config, rate=True) + + ip_address = get_device_ip_from_config(config) + common_tags = [ + 'snmp_profile:alcatel-lucent-omni-access-wlc', + 'snmp_host:alcatel-lucent-omni-access-wlc.device.name', + 'device_namespace:default', + 'snmp_device:' + ip_address, + ] + [ + 'wlsx_model_name:quaintly Jaded oxen oxen', + 'wlsx_switch_license_serial_number:quaintly oxen their', + 'wlsx_switch_role:3', + ] + + # --- TEST EXTENDED METRICS --- + assert_extend_generic_if(aggregator, common_tags) + + # --- TEST METRICS --- + assert_common_metrics(aggregator, common_tags) + + aggregator.assert_metric('snmp.wlsxSwitchTotalNumAccessPoints', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric( + 'snmp.wlsxSwitchTotalNumStationsAssociated', metric_type=aggregator.GAUGE, tags=common_tags + ) + tag_rows = [ + ['sys_x_processor_descr:Jaded acted quaintly their forward Jaded forward oxen Jaded', 'cpu:4'], + ['sys_x_processor_descr:zombies zombies their acted Jaded', "cpu:27"], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.cpu.usage', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + tag_rows = [ + ['sys_x_storage_name:acted oxen oxen their quaintly', 'sys_x_storage_type:flash_memory'], + ['sys_x_storage_name:oxen', 'sys_x_storage_type:flash_memory'], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.sysXStorageSize', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.sysXStorageUsed', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + tag_rows = [ + ['mem:1'], + ['mem:24'], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.memory.free', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.memory.total', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.memory.used', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.memory.usage', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + # --- TEST METADATA --- + device = { + 'description': 'alcatel-lucent-omni-access-wlc Device Description', + 'id': 'default:' + ip_address, + 'id_tags': ['device_namespace:default', 'snmp_device:' + ip_address], + 'ip_address': '' + ip_address, + 'name': 'alcatel-lucent-omni-access-wlc.device.name', + 'profile': 'alcatel-lucent-omni-access-wlc', + 'status': 1, + 'sys_object_id': '1.3.6.1.4.1.6486.800.1.1.2.2.2.1.1.4', + 'vendor': 'alcatel-lucent', + } + device['tags'] = common_tags + assert_device_metadata(aggregator, device) + + # --- CHECK COVERAGE --- + aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) From 108c3cdeb3371e14585f039278f55bf27bc8486e Mon Sep 17 00:00:00 2001 From: Florent Clarret Date: Tue, 4 Jul 2023 18:33:36 +0200 Subject: [PATCH 15/77] Fix the numbered list (#15142) --- temporal/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/temporal/README.md b/temporal/README.md index 6c448c347afa6..49a98b150a080 100644 --- a/temporal/README.md +++ b/temporal/README.md @@ -37,7 +37,7 @@ See the [sample temporal.d/conf.yaml][4] for all available configuration options 3. Uncomment and edit the logs configuration block in your `temporal.d/conf.yaml` file, and set the `path` to point to the file you configured on your Temporal Cluster. -3. [Restart the Agent][5]. +4. [Restart the Agent][5]. ### Validation From 78481a8c82740ee6c79016292e347938722dcf01 Mon Sep 17 00:00:00 2001 From: Philippe Beaudequin Date: Wed, 5 Jul 2023 07:43:27 +0200 Subject: [PATCH 16/77] Logs integrations synchronisation from logs-backend to integrations-core - TorchServe (#15152) --- torchserve/assets/logs/torchserve.yaml | 224 +++++++++++++++++++ torchserve/assets/logs/torchserve_tests.yaml | 170 ++++++++++++++ 2 files changed, 394 insertions(+) create mode 100644 torchserve/assets/logs/torchserve.yaml create mode 100644 torchserve/assets/logs/torchserve_tests.yaml diff --git a/torchserve/assets/logs/torchserve.yaml b/torchserve/assets/logs/torchserve.yaml new file mode 100644 index 0000000000000..994bb556e9a98 --- /dev/null +++ b/torchserve/assets/logs/torchserve.yaml @@ -0,0 +1,224 @@ +id: torchserve +metric_id: torchserve +facets: + - name: Method + source: log + path: http.method + groups: + - Web Access + - name: Status Code + source: log + path: http.status_code + groups: + - Web Access + - name: URL Path + source: log + path: http.url + groups: + - Web Access + - name: Version + source: log + path: http.version + groups: + - Web Access + - name: Thread Name + source: log + path: logger.thread_name + groups: + - Source Code + - name: City Name + source: log + path: network.client.geoip.city.name + groups: + - Geoip + - name: Continent Code + source: log + path: network.client.geoip.continent.code + groups: + - Geoip + - name: Continent Name + source: log + path: network.client.geoip.continent.name + groups: + - Geoip + - name: Country ISO Code + source: log + path: network.client.geoip.country.iso_code + groups: + - Geoip + - name: Country Name + source: log + path: network.client.geoip.country.name + groups: + - Geoip + - name: Subdivision ISO Code + source: log + path: network.client.geoip.subdivision.iso_code + groups: + - Geoip + - name: Subdivision Name + source: log + path: network.client.geoip.subdivision.name + groups: + - Geoip + - name: Client IP + source: log + path: network.client.ip + groups: + - Web Access + - name: Client Port + source: log + path: network.client.port + groups: + - Web Access + - name: Bytes Written + source: log + path: network.bytes_written + groups: + - Web Access + type: double + facetType: range + unit: + family: bytes + name: byte + - name: Worker id + source: log + path: worker.id + groups: + - TorchServe + - name: Model name + source: log + path: model.name + groups: + - TorchServe + - name: Backend response time + source: log + path: backend.response_time + groups: + - TorchServe + - name: Inference time + source: log + path: inference.time + groups: + - TorchServe + - name: Job backend time + source: log + path: job.backend_time + groups: + - TorchServe + - name: Job waiting time + source: log + path: job.waiting_time + groups: + - TorchServe + - name: Job done + source: log + path: job.done + groups: + - TorchServe + - name: Command timestamp + source: log + path: command.timestamp + groups: + - TorchServe + - name: Command name + source: log + path: command.name + groups: + - TorchServe +pipeline: + type: pipeline + name: TorchServe + enabled: true + filter: + query: source:torchserve + processors: + - type: grok-parser + name: Parsing TorchServe logs + enabled: true + source: message + samples: + - 2023-06-22T09:07:42,741 - /172.22.0.1:58654 "POST /predictions/linear_regression_1_1 HTTP/1.1" 200 10 + - '2023-06-22T11:45:28,868 [INFO ] W-9003-linear_regression_2_2_1-stdout MODEL_LOG - Backend received inference at: 1687434328' + - "2023-06-22T12:29:13,817 [INFO ] W-9003-linear_regression_2_2_1 ACCESS_LOG - /172.22.0.1:65308 \"POST /predictions/linear_regression_2_2 HTTP/1.1\" 200 12\n" + - '2023-06-22T11:45:28,857 [DEBUG] W-9001-linear_regression_1_2_2 org.pytorch.serve.wlm.WorkerThread - sent a reply, jobdone: true' + - '2023-06-22T11:45:28,863 [INFO ] W-9003-linear_regression_2_2_1 org.pytorch.serve.wlm.WorkerThread - Flushing req.cmd PREDICT to backend at: 1687434328863' + grok: + supportRules: | + _date %{date("yyyy-MM-dd'T'HH:mm:ss,SSS", "UTC"):timestamp} + _client_ip %{ipOrHost:network.client.ip} + _client_port %{port:network.client.port} + _method %{word:http.method} + _url %{notSpace:http.url} + _version HTTP\/%{regex("\\d+\\.\\d+"):http.version} + _status_code %{integer:http.status_code} + _bytes_written %{integer:network.bytes_written} + _log_level %{notSpace:level} + _worker_id %{integer:worker.id} + _model_name %{data:model.name} + _output %{notSpace:output} + _file_name %{notSpace:file.name} + _response_time %{integer:backend.response_time} + _inference_time %{integer:inference.time} + _job_backend_time %{integer:job.backend_time} + _job_waiting_time %{integer:job.waiting_time} + _job_done %{boolean:job.done} + _command_timestamp %{integer:command.timestamp} + _command_name %{notSpace:command.name} + + _thread_name (W-%{_worker_id}-%{_model_name}(-%{_output})?|%{notSpace}) + _torchserve_log_prefix (%{_date} \[%{_log_level}[ ]*] %{_thread_name:logger.thread_name}) + + _default_message %{data} + _backend_response_time_message (Backend response time: %{_response_time}) + _job_time_message (Waiting time ns: %{_job_waiting_time}, Backend time ns: %{_job_backend_time}) + _job_done_message (sent a reply, jobdone: %{_job_done}) + _model_inference_message (Backend received inference at: %{_inference_time}) + _flush_message (Flushing req.cmd %{_command_name} to backend at: %{_command_timestamp}) + + _torchserve_message (%{_backend_response_time_message}|%{_job_time_message}|%{_model_inference_message}|%{_job_done_message}|%{_flush_message}|%{_default_message}) + + _torchserve_log (%{_torchserve_log_prefix} (ACCESS_LOG|MODEL_LOG|%{_file_name}) - (%{_access_log:message}|%{_torchserve_message:message})) + _access_log (/%{_client_ip}:%{_client_port} "%{_method} %{_url} %{_version}" %{_status_code} (?>%{_bytes_written}|-)) + matchRules: | + access_log %{_date} - %{_access_log:message} + torchserve_log %{_torchserve_log} + - type: date-remapper + name: Define `timestamp` as the official date of the log + enabled: true + sources: + - timestamp + - type: message-remapper + name: Define `message` as the official message of the log + enabled: true + sources: + - message + - type: category-processor + name: Categorise status code + enabled: true + categories: + - filter: + query: '@http.status_code:[200 TO 299]' + name: info + - filter: + query: '@http.status_code:[300 TO 399]' + name: notice + - filter: + query: '@http.status_code:[400 TO 499]' + name: warning + - filter: + query: '@http.status_code:[500 TO 599]' + name: error + target: level + - type: status-remapper + name: Define `level` as the official status of the log + enabled: true + sources: + - level + - type: geo-ip-parser + name: Geolocalize client IP + enabled: true + sources: + - network.client.ip + target: network.client.geoip + ip_processing_behavior: do-nothing diff --git a/torchserve/assets/logs/torchserve_tests.yaml b/torchserve/assets/logs/torchserve_tests.yaml new file mode 100644 index 0000000000000..d0b2fe898a669 --- /dev/null +++ b/torchserve/assets/logs/torchserve_tests.yaml @@ -0,0 +1,170 @@ +id: "torchserve" +tests: + - + sample: "2023-06-22T09:07:42,741 - /172.22.0.1:58654 \"POST /predictions/linear_regression_1_1 HTTP/1.1\" 200 10" + result: + custom: + http: + method: "POST" + status_code: 200 + url: "/predictions/linear_regression_1_1" + version: "1.1" + level: "info" + network: + bytes_written: 10 + client: + geoip: {} + ip: "172.22.0.1" + port: "58654" + timestamp: 1687424862741 + message: "/172.22.0.1:58654 \"POST /predictions/linear_regression_1_1 HTTP/1.1\" 200 10" + tags: + - "source:LOGS_SOURCE" + timestamp: 1687424862741 + - + sample: "2023-06-22T11:45:28,868 [INFO ] W-9003-linear_regression_2_2_1-stdout MODEL_LOG - Backend received inference at: 1687434328" + result: + custom: + inference: + time: 1687434328 + level: "INFO" + logger: + thread_name: "W-9003-linear_regression_2_2_1-stdout" + model: + name: "linear_regression_2_2_1" + output: "stdout" + timestamp: 1687434328868 + worker: + id: 9003 + message: "Backend received inference at: 1687434328" + tags: + - "source:LOGS_SOURCE" + timestamp: 1687434328868 + - + sample: "2023-06-22T12:29:13,817 [INFO ] W-9003-linear_regression_2_2_1 ACCESS_LOG - /172.22.0.1:65308 \"POST /predictions/linear_regression_2_2 HTTP/1.1\" 200 12" + result: + custom: + http: + method: "POST" + status_code: 200 + url: "/predictions/linear_regression_2_2" + version: "1.1" + level: "info" + logger: + thread_name: "W-9003-linear_regression_2_2_1" + model: + name: "linear_regression_2_2_1" + network: + bytes_written: 12 + client: + geoip: {} + ip: "172.22.0.1" + port: "65308" + timestamp: 1687436953817 + worker: + id: 9003 + message: "/172.22.0.1:65308 \"POST /predictions/linear_regression_2_2 HTTP/1.1\" 200 12" + tags: + - "source:LOGS_SOURCE" + timestamp: 1687436953817 + - + sample: "2023-06-22T11:45:28,857 [DEBUG] W-9001-linear_regression_1_2_2 org.pytorch.serve.wlm.WorkerThread - sent a reply, jobdone: true" + result: + custom: + file: + name: "org.pytorch.serve.wlm.WorkerThread" + job: + done: true + level: "DEBUG" + logger: + thread_name: "W-9001-linear_regression_1_2_2" + model: + name: "linear_regression_1_2_2" + timestamp: 1687434328857 + worker: + id: 9001 + message: "sent a reply, jobdone: true" + tags: + - "source:LOGS_SOURCE" + timestamp: 1687434328857 + - + sample: "2023-06-22T11:45:28,863 [INFO ] W-9003-linear_regression_2_2_1 org.pytorch.serve.wlm.WorkerThread - Flushing req.cmd PREDICT to backend at: 1687434328863" + result: + custom: + command: + name: "PREDICT" + timestamp: 1687434328863 + file: + name: "org.pytorch.serve.wlm.WorkerThread" + level: "INFO" + logger: + thread_name: "W-9003-linear_regression_2_2_1" + model: + name: "linear_regression_2_2_1" + timestamp: 1687434328863 + worker: + id: 9003 + message: "Flushing req.cmd PREDICT to backend at: 1687434328863" + tags: + - "source:LOGS_SOURCE" + timestamp: 1687434328863 + - + sample: "2023-06-22T09:10:51,755 [INFO ] W-9005-linear_regression_3_2_1 org.pytorch.serve.wlm.WorkerThread - Backend response time: 6" + result: + custom: + backend: + response_time: 6 + file: + name: "org.pytorch.serve.wlm.WorkerThread" + level: "INFO" + logger: + thread_name: "W-9005-linear_regression_3_2_1" + model: + name: "linear_regression_3_2_1" + timestamp: 1687425051755 + worker: + id: 9005 + message: "Backend response time: 6" + tags: + - "source:LOGS_SOURCE" + timestamp: 1687425051755 + - + sample: "2023-06-22T09:10:51,746 [DEBUG] W-9005-linear_regression_3_2_1 org.pytorch.serve.job.Job - Waiting time ns: 329042, Backend time ns: 12583833" + result: + custom: + file: + name: "org.pytorch.serve.job.Job" + job: + backend_time: 12583833 + waiting_time: 329042 + level: "DEBUG" + logger: + thread_name: "W-9005-linear_regression_3_2_1" + model: + name: "linear_regression_3_2_1" + timestamp: 1687425051746 + worker: + id: 9005 + message: "Waiting time ns: 329042, Backend time ns: 12583833" + tags: + - "source:LOGS_SOURCE" + timestamp: 1687425051746 + - + sample: "2023-06-22T09:10:51,746 [DEBUG] W-9005-linear_regression_3_2_1 org.pytorch.serve.job.Job - test" + result: + custom: + file: + name: "org.pytorch.serve.job.Job" + level: "DEBUG" + logger: + thread_name: "W-9005-linear_regression_3_2_1" + model: + name: "linear_regression_3_2_1" + timestamp: 1687425051746 + worker: + id: 9005 + message: "test" + tags: + - "source:LOGS_SOURCE" + timestamp: 1687425051746 + From 2f072b9c0343fc907827401c5b897dfaa4592393 Mon Sep 17 00:00:00 2001 From: Florent Clarret Date: Wed, 5 Jul 2023 07:44:20 +0200 Subject: [PATCH 17/77] Document log collection (#15151) * Document log collection * Apply suggestions from code review Co-authored-by: Kari Halsted <12926135+kayayarai@users.noreply.github.com> --------- Co-authored-by: Kari Halsted <12926135+kayayarai@users.noreply.github.com> --- ibm_ace/README.md | 19 +++++++++++++++++++ ibm_ace/manifest.json | 3 +++ 2 files changed, 22 insertions(+) diff --git a/ibm_ace/README.md b/ibm_ace/README.md index c998e0d622feb..9c2f4175957e1 100644 --- a/ibm_ace/README.md +++ b/ibm_ace/README.md @@ -95,6 +95,25 @@ The IBM ACE integration does not include any events. See [service_checks.json][8] for a list of service checks provided by this integration. +### Log collection + +1. Collecting logs is disabled by default in the Datadog Agent. Enable it in your `datadog.yaml` file: + + ```yaml + logs_enabled: true + ``` + +2. To start collecting your IBM ACE logs, add this configuration block to your `ibm_ace.d/conf.yaml` file: + + ```yaml + logs: + - type: file + path: /home/aceuser/ace-server/log/integration_server.txt + source: ibm_ace + ``` + + Change the `path` parameter value based on your environment. See the [sample `ibm_ace.d/conf.yaml` file][4] for all available configuration options. + ## Troubleshooting Need help? Contact [Datadog support][9]. diff --git a/ibm_ace/manifest.json b/ibm_ace/manifest.json index f00fc8d16ef3a..02fac7f65ccae 100644 --- a/ibm_ace/manifest.json +++ b/ibm_ace/manifest.json @@ -45,6 +45,9 @@ }, "dashboards": { "IBM ACE Overview": "assets/dashboards/overview.json" + }, + "logs": { + "source": "ibm_ace" } } } \ No newline at end of file From de41cc57cf0b6029919bcc171dc8b585422e3ec6 Mon Sep 17 00:00:00 2001 From: Florent Clarret Date: Wed, 5 Jul 2023 07:45:47 +0200 Subject: [PATCH 18/77] Update the dashboard (#15121) * Update the dashboard * Update gitlab/assets/dashboards/overview.json Co-authored-by: Kari Halsted <12926135+kayayarai@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Kari Halsted <12926135+kayayarai@users.noreply.github.com> --------- Co-authored-by: Kari Halsted <12926135+kayayarai@users.noreply.github.com> --- gitlab/assets/dashboards/overview.json | 3032 ++++++++++++------------ 1 file changed, 1516 insertions(+), 1516 deletions(-) diff --git a/gitlab/assets/dashboards/overview.json b/gitlab/assets/dashboards/overview.json index 931a752c009db..843dbb5f89d3e 100644 --- a/gitlab/assets/dashboards/overview.json +++ b/gitlab/assets/dashboards/overview.json @@ -1,1611 +1,1611 @@ { - "title": "GitLab Overview", - "description": "**GitLab**\n\nThis dashboard provides an overview of your GitLab environment. It provides insights into CI metrics, project information, and any issues in your environment through the log stream and monitor summary. The dashboard also includes metrics and checks relevant to related services like Gitaly (population of these widgets is contingent on them being enabled through the integration's configuration). \n\nFor more in-depth monitoring of your GitLab pipelines, check out [CI Pipeline Visibility](https://app.datadoghq.com/ci/getting-started).", - "widgets": [ - { - "id": 6955576996753366, + "title": "GitLab Overview", + "description": "**GitLab**\n\nThis dashboard provides an overview of your GitLab environment. It provides insights into your CI metrics, project information, and any issues in your environment through the log stream and monitor summary. The dashboard also includes metrics and checks relevant to related services like Gitaly. Population of these widgets is contingent on them being enabled in the integration's configuration. \n\nFor more in-depth monitoring of your GitLab pipelines, check out [CI Pipeline Visibility](https://app.datadoghq.com/ci/getting-started).", + "widgets": [ + { + "id": 6955576996753366, + "definition": { + "title": "New group", + "banner_img": "/static/images/logos/gitlab_small.svg", + "show_title": false, + "type": "group", + "layout_type": "ordered", + "widgets": [ + { + "id": 5765057495183900, "definition": { - "title": "New group", - "banner_img": "/static/images/logos/gitlab_small.svg", - "show_title": false, - "type": "group", - "layout_type": "ordered", - "widgets": [ + "type": "note", + "content": "**GitLab**\n\nThis dashboard provides an overview of your GitLab environment. It provides insights into your CI metrics, project information, and any issues in your environment through the log stream and monitor summary. The dashboard also includes metrics and checks relevant to related services like Gitaly. Population of these widgets is contingent on them being enabled in the integration's configuration. \n\nFor more in-depth monitoring of your GitLab pipelines, check out [CI Pipeline Visibility](https://app.datadoghq.com/ci/getting-started).", + "background_color": "white", + "font_size": "14", + "text_align": "left", + "vertical_align": "top", + "show_tick": false, + "tick_pos": "50%", + "tick_edge": "left", + "has_padding": true + }, + "layout": { + "x": 0, + "y": 0, + "width": 5, + "height": 3 + } + }, + { + "id": 607314244154516, + "definition": { + "type": "note", + "content": "**Useful Links**\n\n* [Integration Docs](https://docs.datadoghq.com/integrations/gitlab/)\n* [CI Pipeline Visibility](https://app.datadoghq.com/ci/getting-started)", + "background_color": "white", + "font_size": "16", + "text_align": "left", + "vertical_align": "top", + "show_tick": false, + "tick_pos": "50%", + "tick_edge": "left", + "has_padding": true + }, + "layout": { + "x": 0, + "y": 3, + "width": 5, + "height": 2 + } + } + ] + }, + "layout": { + "x": 0, + "y": 0, + "width": 5, + "height": 8 + } + }, + { + "id": 8178300534998464, + "definition": { + "title": "Overview", + "background_color": "vivid_orange", + "show_title": true, + "type": "group", + "layout_type": "ordered", + "widgets": [ + { + "id": 2501952917707794, + "definition": { + "type": "note", + "content": "This section provides you with an overview of your system activity and any GitLab alerts. The service checks on the left indicate the health of your GitLab environment, while the ones on the right show the readiness of various GitLab dependencies. ", + "background_color": "orange", + "font_size": "14", + "text_align": "center", + "vertical_align": "center", + "show_tick": false, + "tick_pos": "50%", + "tick_edge": "left", + "has_padding": true + }, + "layout": { + "x": 0, + "y": 0, + "width": 7, + "height": 1 + } + }, + { + "id": 8740824674228522, + "definition": { + "title": "GitLab Monitor Summary", + "type": "manage_status", + "display_format": "countsAndList", + "color_preference": "text", + "hide_zero_counts": true, + "query": "gitlab", + "sort": "status,asc", + "count": 50, + "start": 0, + "summary_type": "monitors", + "show_priority": false, + "show_last_triggered": false + }, + "layout": { + "x": 0, + "y": 1, + "width": 3, + "height": 6 + } + }, + { + "id": 3431939964933534, + "definition": { + "title": "OpenMetrics", + "title_size": "16", + "title_align": "left", + "time": { + "live_span": "1d" + }, + "type": "check_status", + "check": "gitlab.openmetrics.health", + "grouping": "cluster", + "group_by": [], + "tags": [] + }, + "layout": { + "x": 3, + "y": 1, + "width": 2, + "height": 1 + } + }, + { + "id": 8968856187029008, + "definition": { + "title": "Readiness - Master", + "title_size": "16", + "title_align": "left", + "time": { + "live_span": "1d" + }, + "type": "check_status", + "check": "gitlab.readiness.master", + "grouping": "cluster", + "group_by": [], + "tags": [] + }, + "layout": { + "x": 5, + "y": 1, + "width": 2, + "height": 1 + } + }, + { + "id": 6987039090862476, + "definition": { + "title": "Health", + "title_size": "16", + "title_align": "left", + "time": { + "live_span": "1d" + }, + "type": "check_status", + "check": "gitlab.health", + "grouping": "cluster", + "group_by": [], + "tags": [] + }, + "layout": { + "x": 3, + "y": 2, + "width": 2, + "height": 1 + } + }, + { + "id": 4138512152235570, + "definition": { + "title": "Readiness - Database", + "title_size": "16", + "title_align": "left", + "time": { + "live_span": "1d" + }, + "type": "check_status", + "check": "gitlab.readiness.database", + "grouping": "cluster", + "group_by": [], + "tags": [] + }, + "layout": { + "x": 5, + "y": 2, + "width": 2, + "height": 1 + } + }, + { + "id": 5502861672310260, + "definition": { + "title": "Liveness", + "title_size": "16", + "title_align": "left", + "time": { + "live_span": "1d" + }, + "type": "check_status", + "check": "gitlab.liveness", + "grouping": "cluster", + "group_by": [], + "tags": [] + }, + "layout": { + "x": 3, + "y": 3, + "width": 2, + "height": 1 + } + }, + { + "id": 2118195457092352, + "definition": { + "title": "Readiness - Queues ", + "title_size": "16", + "title_align": "left", + "time": { + "live_span": "1d" + }, + "type": "check_status", + "check": "gitlab.readiness.queues", + "grouping": "cluster", + "group_by": [], + "tags": [] + }, + "layout": { + "x": 5, + "y": 3, + "width": 2, + "height": 1 + } + }, + { + "id": 4220545334262462, + "definition": { + "title": "GitLab User Sessions Login", + "title_size": "16", + "title_align": "left", + "show_legend": false, + "legend_layout": "horizontal", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "formulas": [ { - "id": 5765057495183900, - "definition": { - "type": "note", - "content": "**GitLab**\n\nThis dashboard provides an overview of your GitLab environment. It provides insights into CI metrics, project information, and any issues in your environment through the log stream and monitor summary. The dashboard also includes metrics and checks relevant to related services like Gitaly (population of these widgets is contingent on them being enabled through the integration's configuration). \n\nFor more in-depth monitoring of your GitLab pipelines, check out [CI Pipeline Visibility](https://app.datadoghq.com/ci/getting-started).", - "background_color": "white", - "font_size": "14", - "text_align": "left", - "vertical_align": "top", - "show_tick": false, - "tick_pos": "50%", - "tick_edge": "left", - "has_padding": true - }, - "layout": { - "x": 0, - "y": 0, - "width": 5, - "height": 3 - } - }, + "formula": "query1" + } + ], + "queries": [ { - "id": 607314244154516, - "definition": { - "type": "note", - "content": "**Useful Links**\n\n* [Integration Docs](https://docs.datadoghq.com/integrations/gitlab/?tab=host)\n* [CI Pipeline Visibility](https://app.datadoghq.com/ci/getting-started)", - "background_color": "white", - "font_size": "16", - "text_align": "left", - "vertical_align": "top", - "show_tick": false, - "tick_pos": "50%", - "tick_edge": "left", - "has_padding": true - }, - "layout": { - "x": 0, - "y": 3, - "width": 5, - "height": 2 - } + "name": "query1", + "data_source": "metrics", + "query": "sum:gitlab.user_session_logins.count{*}.as_count()" } - ] + ], + "response_format": "timeseries", + "style": { + "palette": "dog_classic", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 3, + "y": 4, + "width": 4, + "height": 3 + } + } + ] + }, + "layout": { + "x": 5, + "y": 0, + "width": 7, + "height": 8 + } + }, + { + "id": 8025458456001434, + "definition": { + "title": "Load and Project Information", + "background_color": "vivid_orange", + "show_title": true, + "type": "group", + "layout_type": "ordered", + "widgets": [ + { + "id": 1042082565617324, + "definition": { + "type": "note", + "content": "Load metrics show the volume, type, and rate of incoming HTTP requests and their routing to the appropriate controllers or actions within GitLab. Project metrics show repository creation and pushed branches, indicating the specifics of your project progress rather than the system health itself. \n", + "background_color": "orange", + "font_size": "14", + "text_align": "center", + "vertical_align": "center", + "show_tick": false, + "tick_pos": "50%", + "tick_edge": "left", + "has_padding": true }, "layout": { - "x": 0, - "y": 0, - "width": 5, - "height": 8 + "x": 0, + "y": 0, + "width": 12, + "height": 1 } - }, - { - "id": 8178300534998464, + }, + { + "id": 2594147831316846, "definition": { - "title": "Overview", - "background_color": "vivid_orange", - "show_title": true, - "type": "group", - "layout_type": "ordered", - "widgets": [ + "title": "Rack HTTP Requests", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "horizontal", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "formulas": [ { - "id": 2501952917707794, - "definition": { - "type": "note", - "content": "This section provides you with an overview of your system activity and any GitLab alerts. The service checks on the left speak to the health of your GitLab environment, while the ones on the right report on the Readiness of various GitLab Dependencies.", - "background_color": "orange", - "font_size": "14", - "text_align": "center", - "vertical_align": "center", - "show_tick": false, - "tick_pos": "50%", - "tick_edge": "left", - "has_padding": true - }, - "layout": { - "x": 0, - "y": 0, - "width": 7, - "height": 1 - } - }, + "formula": "query1" + } + ], + "queries": [ { - "id": 8740824674228522, - "definition": { - "title": "GitLab Monitor Summary", - "type": "manage_status", - "display_format": "countsAndList", - "color_preference": "text", - "hide_zero_counts": true, - "query": "gitlab", - "sort": "status,asc", - "count": 50, - "start": 0, - "summary_type": "monitors", - "show_priority": false, - "show_last_triggered": false - }, - "layout": { - "x": 0, - "y": 1, - "width": 3, - "height": 6 - } - }, + "name": "query1", + "data_source": "metrics", + "query": "sum:gitlab.rack.http_requests.count{$gitlab_host,$gitlab_port} by {method}.as_count()" + } + ], + "response_format": "timeseries", + "style": { + "palette": "dog_classic", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "bars" + } + ], + "markers": [] + }, + "layout": { + "x": 0, + "y": 1, + "width": 4, + "height": 3 + } + }, + { + "id": 5780514876525742, + "definition": { + "title": "Total HTTP Requests Duration", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "horizontal", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "formulas": [ { - "id": 3431939964933534, - "definition": { - "title": "OpenMetrics", - "title_size": "16", - "title_align": "left", - "time": { - "live_span": "1d" - }, - "type": "check_status", - "check": "gitlab.openmetrics.health", - "grouping": "cluster", - "group_by": [], - "tags": [] - }, - "layout": { - "x": 3, - "y": 1, - "width": 2, - "height": 1 - } - }, + "formula": "query1" + } + ], + "queries": [ { - "id": 8968856187029008, - "definition": { - "title": "Readiness - Master", - "title_size": "16", - "title_align": "left", - "time": { - "live_span": "1d" - }, - "type": "check_status", - "check": "gitlab.readiness.master", - "grouping": "cluster", - "group_by": [], - "tags": [] - }, - "layout": { - "x": 5, - "y": 1, - "width": 2, - "height": 1 - } - }, + "name": "query1", + "data_source": "metrics", + "query": "sum:gitlab.rack.http_request_duration_seconds.count{$gitlab_host,$gitlab_port} by {method}.as_count()" + } + ], + "response_format": "timeseries", + "style": { + "palette": "dog_classic", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "area" + } + ] + }, + "layout": { + "x": 4, + "y": 1, + "width": 4, + "height": 3 + } + }, + { + "id": 6563719774479316, + "definition": { + "title": "SQL Execution Time", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "horizontal", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "formulas": [ { - "id": 6987039090862476, - "definition": { - "title": "Health", - "title_size": "16", - "title_align": "left", - "time": { - "live_span": "1d" - }, - "type": "check_status", - "check": "gitlab.health", - "grouping": "cluster", - "group_by": [], - "tags": [] - }, - "layout": { - "x": 3, - "y": 2, - "width": 2, - "height": 1 - } - }, + "formula": "query1" + } + ], + "queries": [ { - "id": 4138512152235570, - "definition": { - "title": "Readiness - Database", - "title_size": "16", - "title_align": "left", - "time": { - "live_span": "1d" - }, - "type": "check_status", - "check": "gitlab.readiness.database", - "grouping": "cluster", - "group_by": [], - "tags": [] - }, - "layout": { - "x": 5, - "y": 2, - "width": 2, - "height": 1 - } - }, + "name": "query1", + "data_source": "metrics", + "query": "sum:gitlab.sql_duration_seconds.count{$gitlab_port,$gitlab_host} by {action}.as_count()" + } + ], + "response_format": "timeseries", + "style": { + "palette": "dog_classic", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 8, + "y": 1, + "width": 4, + "height": 3 + } + }, + { + "id": 1749822540525006, + "definition": { + "title": "New Repositories Created", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "formulas": [ { - "id": 5502861672310260, - "definition": { - "title": "Liveness", - "title_size": "16", - "title_align": "left", - "time": { - "live_span": "1d" - }, - "type": "check_status", - "check": "gitlab.liveness", - "grouping": "cluster", - "group_by": [], - "tags": [] - }, - "layout": { - "x": 3, - "y": 3, - "width": 2, - "height": 1 - } - }, + "formula": "query1" + } + ], + "queries": [ { - "id": 2118195457092352, - "definition": { - "title": "Readiness - Queues ", - "title_size": "16", - "title_align": "left", - "time": { - "live_span": "1d" - }, - "type": "check_status", - "check": "gitlab.readiness.queues", - "grouping": "cluster", - "group_by": [], - "tags": [] - }, - "layout": { - "x": 5, - "y": 3, - "width": 2, - "height": 1 - } - }, + "name": "query1", + "data_source": "metrics", + "query": "sum:gitlab.transaction.event_create_repository.count{*}.as_count()" + } + ], + "response_format": "timeseries", + "style": { + "palette": "dog_classic", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "bars" + } + ] + }, + "layout": { + "x": 0, + "y": 4, + "width": 6, + "height": 2 + } + }, + { + "id": 8288120010562058, + "definition": { + "title": "Branches Pushed", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "formulas": [ { - "id": 4220545334262462, - "definition": { - "title": "GitLab User Sessions Login", - "title_size": "16", - "title_align": "left", - "show_legend": false, - "legend_layout": "horizontal", - "legend_columns": [ - "avg", - "min", - "max", - "value", - "sum" - ], - "type": "timeseries", - "requests": [ - { - "formulas": [ - { - "formula": "query1" - } - ], - "queries": [ - { - "name": "query1", - "data_source": "metrics", - "query": "sum:gitlab.user_session_logins.count{*}.as_count()" - } - ], - "response_format": "timeseries", - "style": { - "palette": "dog_classic", - "line_type": "solid", - "line_width": "normal" - }, - "display_type": "line" - } - ] - }, - "layout": { - "x": 3, - "y": 4, - "width": 4, - "height": 3 - } + "formula": "query1" + } + ], + "queries": [ + { + "name": "query1", + "data_source": "metrics", + "query": "sum:gitlab.transaction.event_push_branch.count{$gitlab_host,$gitlab_port,$service}.as_count()" } - ] + ], + "response_format": "timeseries", + "style": { + "palette": "dog_classic", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "bars" + } + ] }, "layout": { - "x": 5, - "y": 0, - "width": 7, - "height": 8 + "x": 6, + "y": 4, + "width": 6, + "height": 2 } - }, - { - "id": 8025458456001434, + } + ] + }, + "layout": { + "x": 0, + "y": 8, + "width": 12, + "height": 7 + } + }, + { + "id": 7751449879193624, + "definition": { + "title": "CI Metrics", + "background_color": "vivid_orange", + "show_title": true, + "type": "group", + "layout_type": "ordered", + "widgets": [ + { + "id": 2866154983425430, "definition": { - "title": "Load and Project Information", - "background_color": "vivid_orange", - "show_title": true, - "type": "group", - "layout_type": "ordered", - "widgets": [ + "type": "note", + "content": "Pipelines created is a count. Creation duration is the latency between when a pipeline is created and when it is triggered to start running. Builds is the number of jobs executed throughout all stages within each pipeline. For more granular data on CI metrics or Git metadata, check out [CI Pipeline Visibility](https://app.datadoghq.com/ci/getting-started). ", + "background_color": "orange", + "font_size": "14", + "text_align": "center", + "vertical_align": "center", + "show_tick": false, + "tick_pos": "50%", + "tick_edge": "left", + "has_padding": true + }, + "layout": { + "x": 0, + "y": 0, + "width": 12, + "height": 1 + } + }, + { + "id": 3446180236609690, + "definition": { + "title": "Pipelines Created", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "formulas": [ { - "id": 1042082565617324, - "definition": { - "type": "note", - "content": "Load metrics inform on the volume, type, and rate of incoming HTTP requests and their routing to the appropriate controllers/actions within GitLab. Project metrics report on repository creation and pushed branches, informing on the specifics of your project progress rather than the system health itself.", - "background_color": "orange", - "font_size": "14", - "text_align": "center", - "vertical_align": "center", - "show_tick": false, - "tick_pos": "50%", - "tick_edge": "left", - "has_padding": true - }, - "layout": { - "x": 0, - "y": 0, - "width": 12, - "height": 1 - } - }, + "formula": "query1" + } + ], + "queries": [ { - "id": 2594147831316846, - "definition": { - "title": "Rack HTTP Requests", - "title_size": "16", - "title_align": "left", - "show_legend": true, - "legend_layout": "horizontal", - "legend_columns": [ - "avg", - "min", - "max", - "value", - "sum" - ], - "type": "timeseries", - "requests": [ - { - "formulas": [ - { - "formula": "query1" - } - ], - "queries": [ - { - "name": "query1", - "data_source": "metrics", - "query": "sum:gitlab.rack.http_requests.count{$gitlab_host,$gitlab_port} by {method}.as_count()" - } - ], - "response_format": "timeseries", - "style": { - "palette": "dog_classic", - "line_type": "solid", - "line_width": "normal" - }, - "display_type": "bars" - } - ], - "markers": [] - }, - "layout": { - "x": 0, - "y": 1, - "width": 4, - "height": 3 - } + "name": "query1", + "data_source": "metrics", + "query": "sum:gitlab.pipelines_created.count{*}.as_count()" + } + ], + "response_format": "timeseries", + "style": { + "palette": "dog_classic", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "bars" + } + ] + }, + "layout": { + "x": 0, + "y": 1, + "width": 4, + "height": 2 + } + }, + { + "id": 5505379012575576, + "definition": { + "title": "Creation Duration", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "formulas": [ + { + "formula": "query1" + } + ], + "queries": [ + { + "name": "query1", + "data_source": "metrics", + "query": "sum:gitlab.ci_pipeline_creation_duration_seconds.sum{*}.as_count()" + } + ], + "response_format": "timeseries", + "style": { + "palette": "dog_classic", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 4, + "y": 1, + "width": 4, + "height": 2 + } + }, + { + "id": 950305498918084, + "definition": { + "title": "Builds per pipelines", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "formulas": [ + { + "formula": "query1" + } + ], + "queries": [ + { + "name": "query1", + "data_source": "metrics", + "query": "sum:gitlab.ci_pipeline_size_builds.sum{$gitlab_host,$gitlab_port}.as_count()" + } + ], + "response_format": "timeseries", + "style": { + "palette": "dog_classic", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 8, + "y": 1, + "width": 4, + "height": 2 + } + } + ] + }, + "layout": { + "x": 0, + "y": 15, + "width": 12, + "height": 4 + } + }, + { + "id": 4965434358555720, + "definition": { + "title": "Gitaly metrics", + "background_color": "vivid_orange", + "show_title": true, + "type": "group", + "layout_type": "ordered", + "widgets": [ + { + "id": 3886077082488710, + "definition": { + "type": "note", + "content": "Gitaly is a centralized service handling file access and storage for GitLab. The status checks indicate the health of the Gitaly subservice. The query values show the portion of virtual memory and file descriptors used out of the maximum available. To have this data populated, enable Gitaly monitoring in the integration configuration. ", + "background_color": "orange", + "font_size": "14", + "text_align": "center", + "vertical_align": "center", + "show_tick": false, + "tick_pos": "50%", + "tick_edge": "left", + "has_padding": true + }, + "layout": { + "x": 0, + "y": 0, + "width": 12, + "height": 1 + } + }, + { + "id": 4866996724957672, + "definition": { + "title": "Gitaly Endpoint Satus", + "title_size": "16", + "title_align": "left", + "type": "check_status", + "check": "gitlab.gitaly.openmetrics.health", + "grouping": "cluster", + "group_by": [], + "tags": [] + }, + "layout": { + "x": 0, + "y": 1, + "width": 2, + "height": 2 + } + }, + { + "id": 3037390893501968, + "definition": { + "title": "Count of FD", + "title_size": "16", + "title_align": "left", + "type": "query_value", + "requests": [ + { + "response_format": "scalar", + "queries": [ + { + "query": "sum:gitlab.gitaly.process_open_fds{*}", + "data_source": "metrics", + "name": "query1", + "aggregator": "avg" + } + ], + "formulas": [ + { + "formula": "query1" + } + ] + } + ], + "autoscale": true, + "precision": 2, + "timeseries_background": { + "type": "area", + "yaxis": { + "include_zero": true + } + } + }, + "layout": { + "x": 2, + "y": 1, + "width": 2, + "height": 1 + } + }, + { + "id": 2839371544156156, + "definition": { + "title": "Gitaly gRPC Server Messages", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "horizontal", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "formulas": [ + { + "alias": "Sent", + "formula": "query1" }, { - "id": 5780514876525742, - "definition": { - "title": "Total HTTP Requests Duration", - "title_size": "16", - "title_align": "left", - "show_legend": true, - "legend_layout": "horizontal", - "legend_columns": [ - "avg", - "min", - "max", - "value", - "sum" - ], - "type": "timeseries", - "requests": [ - { - "formulas": [ - { - "formula": "query1" - } - ], - "queries": [ - { - "name": "query1", - "data_source": "metrics", - "query": "sum:gitlab.rack.http_request_duration_seconds.count{$gitlab_host,$gitlab_port} by {method}.as_count()" - } - ], - "response_format": "timeseries", - "style": { - "palette": "dog_classic", - "line_type": "solid", - "line_width": "normal" - }, - "display_type": "area" - } - ] - }, - "layout": { - "x": 4, - "y": 1, - "width": 4, - "height": 3 - } + "alias": "Received", + "formula": "query2" }, { - "id": 6563719774479316, - "definition": { - "title": "SQL Execution Time", - "title_size": "16", - "title_align": "left", - "show_legend": true, - "legend_layout": "horizontal", - "legend_columns": [ - "avg", - "min", - "max", - "value", - "sum" - ], - "type": "timeseries", - "requests": [ - { - "formulas": [ - { - "formula": "query1" - } - ], - "queries": [ - { - "name": "query1", - "data_source": "metrics", - "query": "sum:gitlab.sql_duration_seconds.count{$gitlab_port,$gitlab_host} by {action}.as_count()" - } - ], - "response_format": "timeseries", - "style": { - "palette": "dog_classic", - "line_type": "solid", - "line_width": "normal" - }, - "display_type": "line" - } - ] - }, - "layout": { - "x": 8, - "y": 1, - "width": 4, - "height": 3 - } + "alias": "Count", + "formula": "query3" + } + ], + "queries": [ + { + "query": "sum:gitlab.gitaly.grpc_server.msg_sent.count{*}.as_count()", + "data_source": "metrics", + "name": "query1" }, { - "id": 1749822540525006, - "definition": { - "title": "New Repositories Created", - "title_size": "16", - "title_align": "left", - "show_legend": true, - "legend_layout": "auto", - "legend_columns": [ - "avg", - "min", - "max", - "value", - "sum" - ], - "type": "timeseries", - "requests": [ - { - "formulas": [ - { - "formula": "query1" - } - ], - "queries": [ - { - "name": "query1", - "data_source": "metrics", - "query": "sum:gitlab.transaction.event_create_repository.count{*}.as_count()" - } - ], - "response_format": "timeseries", - "style": { - "palette": "dog_classic", - "line_type": "solid", - "line_width": "normal" - }, - "display_type": "bars" - } - ] - }, - "layout": { - "x": 0, - "y": 4, - "width": 6, - "height": 2 - } + "query": "sum:gitlab.gitaly.grpc_server.msg_received.count{*}.as_count()", + "data_source": "metrics", + "name": "query2" }, { - "id": 8288120010562058, - "definition": { - "title": "Branches Pushed", - "title_size": "16", - "title_align": "left", - "show_legend": true, - "legend_layout": "auto", - "legend_columns": [ - "avg", - "min", - "max", - "value", - "sum" - ], - "type": "timeseries", - "requests": [ - { - "formulas": [ - { - "formula": "query1" - } - ], - "queries": [ - { - "name": "query1", - "data_source": "metrics", - "query": "sum:gitlab.transaction.event_push_branch.count{$gitlab_host,$gitlab_port,$service}.as_count()" - } - ], - "response_format": "timeseries", - "style": { - "palette": "dog_classic", - "line_type": "solid", - "line_width": "normal" - }, - "display_type": "bars" - } - ] - }, - "layout": { - "x": 6, - "y": 4, - "width": 6, - "height": 2 - } + "query": "sum:gitlab.gitaly.grpc_server.started.count{*}.as_count()", + "data_source": "metrics", + "name": "query3" } - ] + ], + "response_format": "timeseries", + "style": { + "palette": "classic" + }, + "display_type": "line" + } + ] }, "layout": { - "x": 0, - "y": 8, - "width": 12, - "height": 7 + "x": 4, + "y": 1, + "width": 8, + "height": 4 } - }, - { - "id": 7751449879193624, + }, + { + "id": 7253417443768112, "definition": { - "title": "CI Metrics", - "background_color": "vivid_orange", - "show_title": true, - "type": "group", - "layout_type": "ordered", - "widgets": [ + "title": "Max FD", + "title_size": "16", + "title_align": "left", + "type": "query_value", + "requests": [ + { + "response_format": "scalar", + "queries": [ { - "id": 2866154983425430, - "definition": { - "type": "note", - "content": "Pipelines created refers to a count, while creation duration refers to the latency between when a pipeline is created to the moment it is triggered to start running. Builds refer to the number of jobs executed throughout all stages within each pipeline.", - "background_color": "orange", - "font_size": "14", - "text_align": "center", - "vertical_align": "center", - "show_tick": false, - "tick_pos": "50%", - "tick_edge": "left", - "has_padding": true - }, - "layout": { - "x": 0, - "y": 0, - "width": 12, - "height": 1 - } - }, + "query": "sum:gitlab.gitaly.process_max_fds{*}", + "data_source": "metrics", + "name": "query1", + "aggregator": "avg" + } + ], + "formulas": [ { - "id": 3446180236609690, - "definition": { - "title": "Pipelines Created", - "title_size": "16", - "title_align": "left", - "show_legend": true, - "legend_layout": "auto", - "legend_columns": [ - "avg", - "min", - "max", - "value", - "sum" - ], - "type": "timeseries", - "requests": [ - { - "formulas": [ - { - "formula": "query1" - } - ], - "queries": [ - { - "name": "query1", - "data_source": "metrics", - "query": "sum:gitlab.pipelines_created.count{*}.as_count()" - } - ], - "response_format": "timeseries", - "style": { - "palette": "dog_classic", - "line_type": "solid", - "line_width": "normal" - }, - "display_type": "bars" - } - ] - }, - "layout": { - "x": 0, - "y": 1, - "width": 4, - "height": 2 - } - }, + "formula": "query1" + } + ] + } + ], + "autoscale": true, + "precision": 2 + }, + "layout": { + "x": 2, + "y": 2, + "width": 2, + "height": 1 + } + }, + { + "id": 7598978194878980, + "definition": { + "title": "Virtual Memory Size", + "title_size": "16", + "title_align": "left", + "type": "query_value", + "requests": [ + { + "response_format": "scalar", + "queries": [ { - "id": 5505379012575576, - "definition": { - "title": "Creation Duration", - "title_size": "16", - "title_align": "left", - "show_legend": true, - "legend_layout": "auto", - "legend_columns": [ - "avg", - "min", - "max", - "value", - "sum" - ], - "type": "timeseries", - "requests": [ - { - "formulas": [ - { - "formula": "query1" - } - ], - "queries": [ - { - "name": "query1", - "data_source": "metrics", - "query": "sum:gitlab.ci_pipeline_creation_duration_seconds.sum{*}.as_count()" - } - ], - "response_format": "timeseries", - "style": { - "palette": "dog_classic", - "line_type": "solid", - "line_width": "normal" - }, - "display_type": "line" - } - ] - }, - "layout": { - "x": 4, - "y": 1, - "width": 4, - "height": 2 - } - }, + "query": "sum:gitlab.gitaly.process_virtual_memory_bytes{*}", + "data_source": "metrics", + "name": "query1", + "aggregator": "avg" + } + ], + "formulas": [ { - "id": 950305498918084, - "definition": { - "title": "Builds per pipelines", - "title_size": "16", - "title_align": "left", - "show_legend": true, - "legend_layout": "auto", - "legend_columns": [ - "avg", - "min", - "max", - "value", - "sum" - ], - "type": "timeseries", - "requests": [ - { - "formulas": [ - { - "formula": "query1" - } - ], - "queries": [ - { - "name": "query1", - "data_source": "metrics", - "query": "sum:gitlab.ci_pipeline_size_builds.sum{$gitlab_host,$gitlab_port}.as_count()" - } - ], - "response_format": "timeseries", - "style": { - "palette": "dog_classic", - "line_type": "solid", - "line_width": "normal" - }, - "display_type": "line" - } - ] - }, - "layout": { - "x": 8, - "y": 1, - "width": 4, - "height": 2 - } + "formula": "query1" } - ] + ] + } + ], + "autoscale": true, + "precision": 2, + "timeseries_background": { + "type": "area", + "yaxis": { + "include_zero": true + } + } }, "layout": { - "x": 0, - "y": 15, - "width": 12, - "height": 4 + "x": 0, + "y": 3, + "width": 2, + "height": 1 } - }, - { - "id": 4965434358555720, + }, + { + "id": 670476045242598, "definition": { - "title": "Gitaly metrics", - "background_color": "vivid_orange", - "show_title": true, - "type": "group", - "layout_type": "ordered", - "widgets": [ + "title": "Gitaly Readiness Status", + "title_size": "16", + "title_align": "left", + "type": "check_status", + "check": "gitlab.readiness.gitaly", + "grouping": "cluster", + "group_by": [], + "tags": [] + }, + "layout": { + "x": 2, + "y": 3, + "width": 2, + "height": 2 + } + }, + { + "id": 5339758046154614, + "definition": { + "title": "Max Available Virtual Memory", + "title_size": "16", + "title_align": "left", + "type": "query_value", + "requests": [ + { + "response_format": "scalar", + "queries": [ { - "id": 3886077082488710, - "definition": { - "type": "note", - "content": "Gitaly is a centralized service handling file access and storage for GitLab. The status checks inform on the health of the Gitaly subservice, while the query values speak to the portion of virtual memory and File Descriptors used out of the maximum available. To have this section populated, enable Gitaly monitoring through configuration.", - "background_color": "orange", - "font_size": "14", - "text_align": "center", - "vertical_align": "center", - "show_tick": false, - "tick_pos": "50%", - "tick_edge": "left", - "has_padding": true - }, - "layout": { - "x": 0, - "y": 0, - "width": 12, - "height": 1 - } - }, + "query": "sum:gitlab.gitaly.process_virtual_memory_max_bytes{*}", + "data_source": "metrics", + "name": "query1", + "aggregator": "avg" + } + ], + "formulas": [ { - "id": 4866996724957672, - "definition": { - "title": "Gitaly Endpoint Satus", - "title_size": "16", - "title_align": "left", - "type": "check_status", - "check": "gitlab.gitaly.openmetrics.health", - "grouping": "cluster", - "group_by": [], - "tags": [] - }, - "layout": { - "x": 0, - "y": 1, - "width": 2, - "height": 2 - } - }, + "formula": "query1" + } + ] + } + ], + "autoscale": true, + "precision": 2 + }, + "layout": { + "x": 0, + "y": 4, + "width": 2, + "height": 1 + } + } + ] + }, + "layout": { + "x": 0, + "y": 0, + "width": 12, + "height": 6, + "is_column_break": true + } + }, + { + "id": 1337901742269816, + "definition": { + "title": "Rails Information", + "background_color": "vivid_orange", + "show_title": true, + "type": "group", + "layout_type": "ordered", + "widgets": [ + { + "id": 5673463017827586, + "definition": { + "type": "note", + "content": "This section shows the number of times data is read from the cache, and the time required for background jobs to be processed and completed within the Rails job queue. ", + "background_color": "orange", + "font_size": "14", + "text_align": "center", + "vertical_align": "center", + "show_tick": false, + "tick_pos": "50%", + "tick_edge": "left", + "has_padding": true + }, + "layout": { + "x": 0, + "y": 0, + "width": 12, + "height": 1 + } + }, + { + "id": 8318750693927450, + "definition": { + "title": "Cache Read Count", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "horizontal", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "formulas": [ { - "id": 3037390893501968, - "definition": { - "title": "Count of FD", - "title_size": "16", - "title_align": "left", - "type": "query_value", - "requests": [ - { - "response_format": "scalar", - "queries": [ - { - "query": "sum:gitlab.gitaly.process_open_fds{*}", - "data_source": "metrics", - "name": "query1", - "aggregator": "avg" - } - ], - "formulas": [ - { - "formula": "query1" - } - ] - } - ], - "autoscale": true, - "precision": 2, - "timeseries_background": { - "type": "area", - "yaxis": { - "include_zero": true - } - } - }, - "layout": { - "x": 2, - "y": 1, - "width": 2, - "height": 1 - } + "alias": "Hit", + "style": { + "palette": "green", + "palette_index": 3 + }, + "formula": "query1" }, { - "id": 2839371544156156, - "definition": { - "title": "Gitaly gRPC Server Messages", - "title_size": "16", - "title_align": "left", - "show_legend": true, - "legend_layout": "horizontal", - "legend_columns": [ - "avg", - "min", - "max", - "value", - "sum" - ], - "type": "timeseries", - "requests": [ - { - "formulas": [ - { - "alias": "Sent", - "formula": "query1" - }, - { - "alias": "Received", - "formula": "query2" - }, - { - "alias": "Count", - "formula": "query3" - } - ], - "queries": [ - { - "query": "sum:gitlab.gitaly.grpc_server.msg_sent.count{*}.as_count()", - "data_source": "metrics", - "name": "query1" - }, - { - "query": "sum:gitlab.gitaly.grpc_server.msg_received.count{*}.as_count()", - "data_source": "metrics", - "name": "query2" - }, - { - "query": "sum:gitlab.gitaly.grpc_server.started.count{*}.as_count()", - "data_source": "metrics", - "name": "query3" - } - ], - "response_format": "timeseries", - "style": { - "palette": "classic" - }, - "display_type": "line" - } - ] - }, - "layout": { - "x": 4, - "y": 1, - "width": 8, - "height": 4 - } - }, + "alias": "Miss", + "style": { + "palette": "warm", + "palette_index": 4 + }, + "formula": "query2" + } + ], + "queries": [ { - "id": 7253417443768112, - "definition": { - "title": "Max FD", - "title_size": "16", - "title_align": "left", - "type": "query_value", - "requests": [ - { - "response_format": "scalar", - "queries": [ - { - "query": "sum:gitlab.gitaly.process_max_fds{*}", - "data_source": "metrics", - "name": "query1", - "aggregator": "avg" - } - ], - "formulas": [ - { - "formula": "query1" - } - ] - } - ], - "autoscale": true, - "precision": 2 - }, - "layout": { - "x": 2, - "y": 2, - "width": 2, - "height": 1 - } + "name": "query1", + "data_source": "metrics", + "query": "sum:gitlab.transaction.cache_read_hit_count.count{*}.as_count()" }, { - "id": 7598978194878980, - "definition": { - "title": "Virtual Memory Size", - "title_size": "16", - "title_align": "left", - "type": "query_value", - "requests": [ - { - "response_format": "scalar", - "queries": [ - { - "query": "sum:gitlab.gitaly.process_virtual_memory_bytes{*}", - "data_source": "metrics", - "name": "query1", - "aggregator": "avg" - } - ], - "formulas": [ - { - "formula": "query1" - } - ] - } - ], - "autoscale": true, - "precision": 2, - "timeseries_background": { - "type": "area", - "yaxis": { - "include_zero": true - } - } - }, - "layout": { - "x": 0, - "y": 3, - "width": 2, - "height": 1 - } - }, + "name": "query2", + "data_source": "metrics", + "query": "sum:gitlab.transaction.cache_read_miss_count.count{*}.as_count()" + } + ], + "response_format": "timeseries", + "style": { + "palette": "dog_classic", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "bars" + } + ], + "yaxis": { + "scale": "sqrt", + "include_zero": false + } + }, + "layout": { + "x": 0, + "y": 1, + "width": 6, + "height": 3 + } + }, + { + "id": 5846035468542530, + "definition": { + "title": "Latency (Rails Queue Duration in seconds)", + "title_size": "16", + "title_align": "left", + "show_legend": false, + "legend_layout": "horizontal", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "formulas": [ { - "id": 670476045242598, - "definition": { - "title": "Gitaly Readiness Status", - "title_size": "16", - "title_align": "left", - "type": "check_status", - "check": "gitlab.readiness.gitaly", - "grouping": "cluster", - "group_by": [], - "tags": [] - }, - "layout": { - "x": 2, - "y": 3, - "width": 2, - "height": 2 - } - }, + "alias": "Hit", + "formula": "query1" + } + ], + "queries": [ { - "id": 5339758046154614, - "definition": { - "title": "Max Available Virtual Memory", - "title_size": "16", - "title_align": "left", - "type": "query_value", - "requests": [ - { - "response_format": "scalar", - "queries": [ - { - "query": "sum:gitlab.gitaly.process_virtual_memory_max_bytes{*}", - "data_source": "metrics", - "name": "query1", - "aggregator": "avg" - } - ], - "formulas": [ - { - "formula": "query1" - } - ] - } - ], - "autoscale": true, - "precision": 2 - }, - "layout": { - "x": 0, - "y": 4, - "width": 2, - "height": 1 - } + "name": "query1", + "data_source": "metrics", + "query": "sum:gitlab.rails_queue_duration_seconds.sum{*}.as_count()" } - ] + ], + "response_format": "timeseries", + "style": { + "palette": "dog_classic", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ], + "yaxis": { + "scale": "sqrt", + "include_zero": false + } }, "layout": { - "x": 0, - "y": 19, - "width": 12, - "height": 6, - "is_column_break": true + "x": 6, + "y": 1, + "width": 6, + "height": 3 } - }, - { - "id": 1337901742269816, + } + ] + }, + "layout": { + "x": 0, + "y": 6, + "width": 12, + "height": 5 + } + }, + { + "id": 2477076154696754, + "definition": { + "title": "Redis metrics", + "background_color": "vivid_orange", + "show_title": true, + "type": "group", + "layout_type": "ordered", + "widgets": [ + { + "id": 3252110506236862, "definition": { - "title": "Rails Information", - "background_color": "vivid_orange", - "show_title": true, - "type": "group", - "layout_type": "ordered", - "widgets": [ + "type": "note", + "content": "This section shows the connection between GitLab and Redis with metrics like the number of new Redis database connections and client requests to the Redis server. ", + "background_color": "orange", + "font_size": "14", + "text_align": "center", + "vertical_align": "center", + "show_tick": false, + "tick_pos": "50%", + "tick_edge": "left", + "has_padding": true + }, + "layout": { + "x": 0, + "y": 0, + "width": 12, + "height": 1 + } + }, + { + "id": 1321587967734686, + "definition": { + "title": "New Redis Connections", + "title_size": "16", + "title_align": "left", + "show_legend": false, + "legend_layout": "vertical", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "formulas": [ { - "id": 5673463017827586, - "definition": { - "type": "note", - "content": "This section informs on the number of times data is read from the cache, and time required for background jobs to be processed and completed within the Rails job queue.", - "background_color": "orange", - "font_size": "14", - "text_align": "center", - "vertical_align": "center", - "show_tick": false, - "tick_pos": "50%", - "tick_edge": "left", - "has_padding": true - }, - "layout": { - "x": 0, - "y": 0, - "width": 12, - "height": 1 - } - }, + "formula": "query1" + } + ], + "queries": [ { - "id": 8318750693927450, - "definition": { - "title": "Cache Read Count", - "title_size": "16", - "title_align": "left", - "show_legend": true, - "legend_layout": "horizontal", - "legend_columns": [ - "avg", - "min", - "max", - "value", - "sum" - ], - "type": "timeseries", - "requests": [ - { - "formulas": [ - { - "alias": "Hit", - "style": { - "palette": "green", - "palette_index": 3 - }, - "formula": "query1" - }, - { - "alias": "Miss", - "style": { - "palette": "warm", - "palette_index": 4 - }, - "formula": "query2" - } - ], - "queries": [ - { - "name": "query1", - "data_source": "metrics", - "query": "sum:gitlab.transaction.cache_read_hit_count.count{*}.as_count()" - }, - { - "name": "query2", - "data_source": "metrics", - "query": "sum:gitlab.transaction.cache_read_miss_count.count{*}.as_count()" - } - ], - "response_format": "timeseries", - "style": { - "palette": "dog_classic", - "line_type": "solid", - "line_width": "normal" - }, - "display_type": "bars" - } - ], - "yaxis": { - "scale": "sqrt", - "include_zero": false - } - }, - "layout": { - "x": 0, - "y": 1, - "width": 6, - "height": 3 - } - }, + "query": "sum:gitlab.transaction.new_redis_connections.count{*} by {service,action}.as_count()", + "data_source": "metrics", + "name": "query1" + } + ], + "response_format": "timeseries", + "style": { + "palette": "classic" + }, + "display_type": "bars" + } + ] + }, + "layout": { + "x": 0, + "y": 1, + "width": 4, + "height": 3 + } + }, + { + "id": 4934938896855774, + "definition": { + "title": "Client requests", + "title_size": "16", + "title_align": "left", + "show_legend": false, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "formulas": [ { - "id": 5846035468542530, - "definition": { - "title": "Latency (Rails Queue Duration in seconds)", - "title_size": "16", - "title_align": "left", - "show_legend": false, - "legend_layout": "horizontal", - "legend_columns": [ - "avg", - "min", - "max", - "value", - "sum" - ], - "type": "timeseries", - "requests": [ - { - "formulas": [ - { - "alias": "Hit", - "formula": "query1" - } - ], - "queries": [ - { - "name": "query1", - "data_source": "metrics", - "query": "sum:gitlab.rails_queue_duration_seconds.sum{*}.as_count()" - } - ], - "response_format": "timeseries", - "style": { - "palette": "dog_classic", - "line_type": "solid", - "line_width": "normal" - }, - "display_type": "line" - } - ], - "yaxis": { - "scale": "sqrt", - "include_zero": false - } - }, - "layout": { - "x": 6, - "y": 1, - "width": 6, - "height": 3 - } + "formula": "query1" + } + ], + "queries": [ + { + "query": "sum:gitlab.redis.client_requests.count{$gitlab_host,$gitlab_port} by {service}.as_count()", + "data_source": "metrics", + "name": "query1" + } + ], + "response_format": "timeseries", + "style": { + "palette": "classic" + }, + "display_type": "bars" + } + ] + }, + "layout": { + "x": 4, + "y": 1, + "width": 4, + "height": 3 + } + }, + { + "id": 703576912425752, + "definition": { + "title": "Client Requests Duration", + "title_size": "16", + "title_align": "left", + "show_legend": false, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "formulas": [ + { + "formula": "query1" + } + ], + "queries": [ + { + "query": "sum:gitlab.redis.client_requests_duration_seconds.sum{$gitlab_host,$gitlab_port} by {service}.as_count()", + "data_source": "metrics", + "name": "query1" } - ] + ], + "response_format": "timeseries", + "style": { + "palette": "classic", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] }, "layout": { - "x": 0, - "y": 25, - "width": 12, - "height": 5 + "x": 8, + "y": 1, + "width": 4, + "height": 3 } - }, - { - "id": 2477076154696754, + } + ] + }, + "layout": { + "x": 0, + "y": 11, + "width": 12, + "height": 5 + } + }, + { + "id": 7683584978020270, + "definition": { + "title": "Logs", + "title_align": "left", + "background_color": "vivid_orange", + "show_title": true, + "type": "group", + "layout_type": "ordered", + "widgets": [ + { + "id": 5558939457584862, "definition": { - "title": "Redis metrics", - "background_color": "vivid_orange", - "show_title": true, - "type": "group", - "layout_type": "ordered", - "widgets": [ + "type": "note", + "content": "When investigating logs, you can refer to the list of logs by service for insights into each section of your GitLab environment. In situations where you notice an increase in the ratio of error logs, you can refer to the log stream set up to filter erroneous logs for your perusal.\n", + "background_color": "orange", + "font_size": "14", + "text_align": "center", + "vertical_align": "center", + "show_tick": false, + "tick_pos": "50%", + "tick_edge": "left", + "has_padding": true + }, + "layout": { + "x": 0, + "y": 0, + "width": 12, + "height": 1 + } + }, + { + "id": 5248391597999240, + "definition": { + "title": "Logs by Service", + "title_size": "16", + "title_align": "left", + "type": "toplist", + "requests": [ + { + "response_format": "scalar", + "queries": [ { - "id": 3252110506236862, - "definition": { - "type": "note", - "content": "This section informs on the connection between GitLab and Redis through metrics like the number of new Redis Database connections and client requests to the Redis server.", - "background_color": "orange", - "font_size": "14", - "text_align": "center", - "vertical_align": "center", - "show_tick": false, - "tick_pos": "50%", - "tick_edge": "left", - "has_padding": true - }, - "layout": { - "x": 0, - "y": 0, - "width": 12, - "height": 1 + "data_source": "logs", + "name": "query1", + "indexes": [ + "*" + ], + "compute": { + "aggregation": "count" + }, + "group_by": [ + { + "facet": "service", + "limit": 10, + "sort": { + "order": "desc", + "aggregation": "count" + } } + ], + "search": { + "query": "source:gitlab" + } + } + ], + "formulas": [ + { + "formula": "query1", + "limit": { + "count": 10, + "order": "desc" + } + } + ] + } + ], + "style": {} + }, + "layout": { + "x": 0, + "y": 1, + "width": 3, + "height": 3 + } + }, + { + "id": 4685619350283530, + "definition": { + "title": "Error Logs", + "title_size": "16", + "requests": [ + { + "response_format": "event_list", + "query": { + "data_source": "logs_stream", + "query_string": "status:(error OR critical) source:gitlab", + "indexes": [], + "storage": "hot", + "sort": { + "order": "desc", + "column": "timestamp" + } + }, + "columns": [ + { + "field": "status_line", + "width": "auto" }, { - "id": 1321587967734686, - "definition": { - "title": "New Redis Connections", - "title_size": "16", - "title_align": "left", - "show_legend": false, - "legend_layout": "vertical", - "legend_columns": [ - "avg", - "min", - "max", - "value", - "sum" - ], - "type": "timeseries", - "requests": [ - { - "formulas": [ - { - "formula": "query1" - } - ], - "queries": [ - { - "query": "sum:gitlab.transaction.new_redis_connections.count{*} by {service,action}.as_count()", - "data_source": "metrics", - "name": "query1" - } - ], - "response_format": "timeseries", - "style": { - "palette": "classic" - }, - "display_type": "bars" - } - ] - }, - "layout": { - "x": 0, - "y": 1, - "width": 4, - "height": 3 - } + "field": "timestamp", + "width": "auto" }, { - "id": 4934938896855774, - "definition": { - "title": "Client requests", - "title_size": "16", - "title_align": "left", - "show_legend": false, - "legend_layout": "auto", - "legend_columns": [ - "avg", - "min", - "max", - "value", - "sum" - ], - "type": "timeseries", - "requests": [ - { - "formulas": [ - { - "formula": "query1" - } - ], - "queries": [ - { - "query": "sum:gitlab.redis.client_requests.count{$gitlab_host,$gitlab_port} by {service}.as_count()", - "data_source": "metrics", - "name": "query1" - } - ], - "response_format": "timeseries", - "style": { - "palette": "classic" - }, - "display_type": "bars" - } - ] - }, - "layout": { - "x": 4, - "y": 1, - "width": 4, - "height": 3 - } + "field": "host", + "width": "auto" }, { - "id": 703576912425752, - "definition": { - "title": "Client Requests Duration", - "title_size": "16", - "title_align": "left", - "show_legend": false, - "legend_layout": "auto", - "legend_columns": [ - "avg", - "min", - "max", - "value", - "sum" - ], - "type": "timeseries", - "requests": [ - { - "formulas": [ - { - "formula": "query1" - } - ], - "queries": [ - { - "query": "sum:gitlab.redis.client_requests_duration_seconds.sum{$gitlab_host,$gitlab_port} by {service}.as_count()", - "data_source": "metrics", - "name": "query1" - } - ], - "response_format": "timeseries", - "style": { - "palette": "classic", - "line_type": "solid", - "line_width": "normal" - }, - "display_type": "line" - } - ] - }, - "layout": { - "x": 8, - "y": 1, - "width": 4, - "height": 3 - } + "field": "service", + "width": "auto" + }, + { + "field": "content", + "width": "auto" } - ] + ] + } + ], + "type": "list_stream" }, "layout": { - "x": 0, - "y": 30, - "width": 12, - "height": 5 + "x": 3, + "y": 1, + "width": 4, + "height": 3 } - }, - { - "id": 7683584978020270, + }, + { + "id": 2336098657145386, "definition": { - "title": "Logs", - "title_align": "left", - "background_color": "vivid_orange", - "show_title": true, - "type": "group", - "layout_type": "ordered", - "widgets": [ + "title": "Complete GitLab Log Stream", + "title_size": "16", + "requests": [ + { + "response_format": "event_list", + "query": { + "data_source": "logs_stream", + "query_string": "source:gitlab", + "indexes": [], + "storage": "hot", + "sort": { + "order": "desc", + "column": "timestamp" + } + }, + "columns": [ { - "id": 5558939457584862, - "definition": { - "type": "note", - "content": "When investigating logs, you can refer to the list of logs by service for insights into each section of your GitLab environment. In situations where you notice an increase in the ratio of error logs, you can refer to the log stream set up to filter erroneous logs for your perusal.\n", - "background_color": "orange", - "font_size": "14", - "text_align": "center", - "vertical_align": "center", - "show_tick": false, - "tick_pos": "50%", - "tick_edge": "left", - "has_padding": true - }, - "layout": { - "x": 0, - "y": 0, - "width": 12, - "height": 1 - } + "field": "status_line", + "width": "auto" }, { - "id": 5248391597999240, - "definition": { - "title": "Logs by Service", - "title_size": "16", - "title_align": "left", - "type": "toplist", - "requests": [ - { - "response_format": "scalar", - "queries": [ - { - "data_source": "logs", - "name": "query1", - "indexes": [ - "*" - ], - "compute": { - "aggregation": "count" - }, - "group_by": [ - { - "facet": "service", - "limit": 10, - "sort": { - "order": "desc", - "aggregation": "count" - } - } - ], - "search": { - "query": "source:gitlab" - } - } - ], - "formulas": [ - { - "formula": "query1", - "limit": { - "count": 10, - "order": "desc" - } - } - ] - } - ], - "style": {} - }, - "layout": { - "x": 0, - "y": 1, - "width": 3, - "height": 3 - } + "field": "timestamp", + "width": "auto" }, { - "id": 4685619350283530, - "definition": { - "title": "Error Logs", - "title_size": "16", - "requests": [ - { - "response_format": "event_list", - "query": { - "data_source": "logs_stream", - "query_string": "status:(error OR critical) source:gitlab", - "indexes": [], - "storage": "hot", - "sort": { - "order": "desc", - "column": "timestamp" - } - }, - "columns": [ - { - "field": "status_line", - "width": "auto" - }, - { - "field": "timestamp", - "width": "auto" - }, - { - "field": "host", - "width": "auto" - }, - { - "field": "service", - "width": "auto" - }, - { - "field": "content", - "width": "auto" - } - ] - } - ], - "type": "list_stream" - }, - "layout": { - "x": 3, - "y": 1, - "width": 4, - "height": 3 - } + "field": "host", + "width": "auto" }, { - "id": 2336098657145386, - "definition": { - "title": "Complete GitLab Log Stream", - "title_size": "16", - "requests": [ - { - "response_format": "event_list", - "query": { - "data_source": "logs_stream", - "query_string": "source:gitlab", - "indexes": [], - "storage": "hot", - "sort": { - "order": "desc", - "column": "timestamp" - } - }, - "columns": [ - { - "field": "status_line", - "width": "auto" - }, - { - "field": "timestamp", - "width": "auto" - }, - { - "field": "host", - "width": "auto" - }, - { - "field": "service", - "width": "auto" - }, - { - "field": "content", - "width": "auto" - } - ] - } - ], - "type": "list_stream" - }, - "layout": { - "x": 7, - "y": 1, - "width": 5, - "height": 3 - } + "field": "service", + "width": "auto" + }, + { + "field": "content", + "width": "auto" } - ] + ] + } + ], + "type": "list_stream" }, "layout": { - "x": 0, - "y": 35, - "width": 12, - "height": 5 + "x": 7, + "y": 1, + "width": 5, + "height": 3 } - } - ], - "template_variables": [ - { - "name": "gitlab_host", - "prefix": "gitlab_host", - "available_values": [], - "default": "*" - }, - { - "name": "gitlab_port", - "prefix": "gitlab_port", - "available_values": [], - "default": "*" - }, - { - "name": "service", - "available_values": [], - "default": "*" - } - ], - "layout_type": "ordered", - "notify_list": [], - "reflow_type": "fixed" + } + ] + }, + "layout": { + "x": 0, + "y": 16, + "width": 12, + "height": 5 + } + } + ], + "template_variables": [ + { + "name": "gitlab_host", + "prefix": "gitlab_host", + "available_values": [], + "default": "*" + }, + { + "name": "gitlab_port", + "prefix": "gitlab_port", + "available_values": [], + "default": "*" + }, + { + "name": "service", + "available_values": [], + "default": "*" + } + ], + "layout_type": "ordered", + "notify_list": [], + "reflow_type": "fixed" } \ No newline at end of file From f88e9f6fdb1cbbdbeb6ea353f94b323939315d49 Mon Sep 17 00:00:00 2001 From: Florent Clarret Date: Wed, 5 Jul 2023 08:01:20 +0200 Subject: [PATCH 19/77] Document log collection (#15148) * Document log collection * Apply suggestions from code review Co-authored-by: Kari Halsted <12926135+kayayarai@users.noreply.github.com> --------- Co-authored-by: Kari Halsted <12926135+kayayarai@users.noreply.github.com> --- boundary/README.md | 19 +++++++++++++++++++ boundary/manifest.json | 7 +++++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/boundary/README.md b/boundary/README.md index b8c05f9a9852e..a98f6aa288248 100644 --- a/boundary/README.md +++ b/boundary/README.md @@ -74,6 +74,25 @@ The Boundary integration does not include any events. See [service_checks.json][8] for a list of service checks provided by this integration. +### Log collection + +1. Collecting logs is disabled by default in the Datadog Agent. Enable it in your `datadog.yaml` file: + + ```yaml + logs_enabled: true + ``` + +2. To start collecting your Boundary logs, add this configuration block to your `boundary.d/conf.yaml` file: + + ```yaml + logs: + - type: file + source: boundary + path: /var/log/boundary/events.ndjson + ``` + + Change the `path` parameter value based on your environment. See the [sample `boundary.d/conf.yaml` file][4] for all available configuration options. + ## Troubleshooting Need help? Contact [Datadog support][9]. diff --git a/boundary/manifest.json b/boundary/manifest.json index e51dfd9b965cf..ade02e4aa8836 100644 --- a/boundary/manifest.json +++ b/boundary/manifest.json @@ -48,7 +48,10 @@ "[Boundary] High active connections": "assets/monitors/active_connections.json" }, "dashboards": { - "Boundary Overview": "assets/dashboards/boundary_overview.json" - } + "Boundary Overview": "assets/dashboards/boundary_overview.json" + }, + "logs": { + "source": "boundary" + } } } From 11a7ca104fafe88f15e193ec7d9bc740b361c6a1 Mon Sep 17 00:00:00 2001 From: Alexandre Yang Date: Wed, 5 Jul 2023 09:11:51 +0200 Subject: [PATCH 20/77] Add profile cisco-firepower-asa (#15157) --- .../default_profiles/cisco-firepower-asa.yaml | 71 ++ snmp/metadata.csv | 3 +- .../compose/data/cisco-firepower-asa.snmprec | 814 ++++++++++++++++++ .../test_profile_cisco_firepower_asa.py | 72 ++ 4 files changed, 959 insertions(+), 1 deletion(-) create mode 100644 snmp/datadog_checks/snmp/data/default_profiles/cisco-firepower-asa.yaml create mode 100644 snmp/tests/compose/data/cisco-firepower-asa.snmprec create mode 100644 snmp/tests/test_e2e_core_profiles/test_profile_cisco_firepower_asa.py diff --git a/snmp/datadog_checks/snmp/data/default_profiles/cisco-firepower-asa.yaml b/snmp/datadog_checks/snmp/data/default_profiles/cisco-firepower-asa.yaml new file mode 100644 index 0000000000000..9d94799472fb3 --- /dev/null +++ b/snmp/datadog_checks/snmp/data/default_profiles/cisco-firepower-asa.yaml @@ -0,0 +1,71 @@ +extends: + - _base.yaml + - _generic-if.yaml + # This profile does not import cisco.yaml on purpose +sysobjectid: + - 1.3.6.1.4.1.9.1.1902 # Cisco VASA (Cisco Firepower Threat Defense, Version 6.7.0.2) + - 1.3.6.1.4.1.9.1.1903 # Cisco VASA System Context + - 1.3.6.1.4.1.9.1.1904 # Cisco VASA Security Context + - 1.3.6.1.4.1.9.1.2286 # Cisco FPR 9000 SM24 + - 1.3.6.1.4.1.9.1.2288 # Cisco FPR 9000 SM36 + - 1.3.6.1.4.1.9.1.2313 # Cisco FPR 4110 SM12 + - 1.3.6.1.4.1.9.1.2314 # Cisco FPR 4120 SM24 + - 1.3.6.1.4.1.9.1.2315 # Cisco FPR 4140 SM36 + - 1.3.6.1.4.1.9.1.2316 # Cisco FPR 4150 SM44 + - 1.3.6.1.4.1.9.1.2409 # Cisco FPR 9000 SM44 + - 1.3.6.1.4.1.9.1.2663 # Cisco FPR 1120 NGFW + - 1.3.6.1.4.1.9.1.2757 # Cisco FPR 9000 SM56 + - 1.3.6.1.4.1.9.1.2772 # Cisco FPR 9000 SM40 + - 1.3.6.1.4.1.9.1.2773 # Cisco FPR 9000 SM48 + - 1.3.6.1.4.1.9.1.2774 # Cisco FPR 4115 SM24 + - 1.3.6.1.4.1.9.1.2775 # Cisco FPR 4125 SM32 + - 1.3.6.1.4.1.9.1.2776 # Cisco FPR 4145 SM44 +metadata: + device: + fields: + vendor: + value: "cisco" +metrics: + - MIB: CISCO-PROCESS-MIB + table: + OID: 1.3.6.1.4.1.9.9.109.1.1.1 + name: cpmCPUTotalTable + symbols: + - OID: 1.3.6.1.4.1.9.9.109.1.1.1.1.7 # cpmCPUTotal1minRev + name: cpu.usage + metric_tags: + - index: 1 # cpmCPUTotalIndex + tag: cpu + - MIB: CISCO-ENHANCED-MEMPOOL-MIB + symbol: + name: memory.used + OID: 1.3.6.1.4.1.9.9.221.1.1.1.1.7.1.1 # cempMemPoolUsed.1.1 + - MIB: CISCO-ENHANCED-MEMPOOL-MIB + symbol: + name: memory.free + OID: 1.3.6.1.4.1.9.9.221.1.1.1.1.8.1.1 # cempMemPoolFree.1.1 + - MIB: CISCO-REMOTE-ACCESS-MONITOR-MIB + symbol: + OID: 1.3.6.1.4.1.9.9.392.1.4.1.2.0 + name: crasNumDeclinedSessions + - MIB: CISCO-REMOTE-ACCESS-MONITOR-MIB + symbol: + OID: 1.3.6.1.4.1.9.9.392.1.3.1.0 + name: crasNumSessions + - MIB: CISCO-REMOTE-ACCESS-MONITOR-MIB + symbol: + OID: 1.3.6.1.4.1.9.9.392.1.1.1.0 + name: crasMaxSessionsSupportable + - MIB: CISCO-REMOTE-ACCESS-MONITOR-MIB + symbol: + OID: 1.3.6.1.4.1.9.9.392.1.3.3.0 + name: crasNumUsers + - MIB: CISCO-REMOTE-ACCESS-MONITOR-MIB + symbol: + OID: 1.3.6.1.4.1.9.9.392.1.1.2.0 + name: crasMaxUsersSupportable + - MIB: CISCO-REMOTE-ACCESS-MONITOR-MIB + symbol: + OID: 1.3.6.1.4.1.9.9.392.1.4.1.3.0 + name: crasNumSetupFailInsufResources + forced_type: monotonic_count diff --git a/snmp/metadata.csv b/snmp/metadata.csv index e9899968b637b..c7b796196d042 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -318,6 +318,8 @@ snmp.cpqSm2NicXmitErrorPackets,count,,packet,,[HP ILO4] Remote Insight/ Integrat snmp.cpqSm2NicXmitQueueLength,count,,packet,,[HP ILO4] Remote Insight/ Integrated Lights-Out Network Interface Controller Number of Outstanding Packets in Transmit Queue.,0,snmp,, snmp.cpqSm2NicXmitTotalPackets,count,,packet,,[HP ILO4] Remote Insight/ Integrated Lights-Out Network Interface Controller Total Transmit Packets.,0,snmp,, snmp.cpu.usage,gauge,,percent,,"Percentage of CPU currently being used.",0,snmp,, +snmp.crasMaxSessionsSupportable,gauge,,,,"[CISCO-REMOTE-ACCESS-MONITOR-MIB] The maximum number of remote access sessions that may be supported on this device. If the device imposes no arbitrary limit on the maximum number of sessions, it should return a value of 0.",0,snmp,, +snmp.crasMaxUsersSupportable,gauge,,,,"[CISCO-REMOTE-ACCESS-MONITOR-MIB] The maximum number of remote access users for whom Remote Access sessions may be supported on this device. If the device imposes no arbitrary limit on the maximum number of users, it should return a value of 0.",0,snmp,, snmp.crasNumDeclinedSessions,gauge,,,,[Cisco ASA 5525] The number of session setup attempts (counted since the last time the notification 'ciscoRasTooManyFailedAuths' was issued) which were declined due to authentication or authorization failure.,0,snmp,, snmp.crasNumSessions,gauge,,,,[Cisco ASA 5525] The number of currently active sessions.,0,snmp,, snmp.crasNumSetupFailInsufResources,count,,,,[Cisco ASA 5525] The number of session setup attempts that failed due to insufficient resources.,0,snmp,, @@ -1153,4 +1155,3 @@ snmp.wlan,gauge,,,,Constant metric equal to 1,0,snmp,, snmp.wlsxSwitchTotalNumAccessPoints,gauge,,,,"[WLSX-SWITCH-MIB] Total Number of Access Points Connected to this switch.",0,snmp,, snmp.wlsxSwitchTotalNumStationsAssociated,gauge,,,,"[WLSX-SWITCH-MIB] Total Number of Stations Associated to this switch.",0,snmp,, snmp.wlsxSysExtPacketLossPercent,gauge,,,,[Aruba] The packet loss count of the switch.,0,snmp,, - diff --git a/snmp/tests/compose/data/cisco-firepower-asa.snmprec b/snmp/tests/compose/data/cisco-firepower-asa.snmprec new file mode 100644 index 0000000000000..6bdea10939688 --- /dev/null +++ b/snmp/tests/compose/data/cisco-firepower-asa.snmprec @@ -0,0 +1,814 @@ +1.3.6.1.2.1.1.1.0|4|cisco-firepower-asa Device Description +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.9.1.1902 +1.3.6.1.2.1.1.5.0|4|cisco-firepower-asa.device.name +1.3.6.1.2.1.2.1.0|2|28 +1.3.6.1.4.1.9.9.109.1.1.1.1.1.7885|66|7885 +1.3.6.1.4.1.9.9.109.1.1.1.1.1.34646|66|34646 +1.3.6.1.4.1.9.9.109.1.1.1.1.2.7885|2|10 +1.3.6.1.4.1.9.9.109.1.1.1.1.2.34646|2|1 +1.3.6.1.4.1.9.9.109.1.1.1.1.3.7885|66|3 +1.3.6.1.4.1.9.9.109.1.1.1.1.3.34646|66|3 +1.3.6.1.4.1.9.9.109.1.1.1.1.4.7885|66|3 +1.3.6.1.4.1.9.9.109.1.1.1.1.4.34646|66|3 +1.3.6.1.4.1.9.9.109.1.1.1.1.5.7885|66|3 +1.3.6.1.4.1.9.9.109.1.1.1.1.5.34646|66|3 +1.3.6.1.4.1.9.9.109.1.1.1.1.6.7885|66|3 +1.3.6.1.4.1.9.9.109.1.1.1.1.6.34646|66|3 +1.3.6.1.4.1.9.9.109.1.1.1.1.7.7885|66|3 +1.3.6.1.4.1.9.9.109.1.1.1.1.7.34646|66|3 +1.3.6.1.4.1.9.9.109.1.1.1.1.8.7885|66|3 +1.3.6.1.4.1.9.9.109.1.1.1.1.8.34646|66|3 +1.3.6.1.4.1.9.9.109.1.1.1.1.9.7885|66|52585 +1.3.6.1.4.1.9.9.109.1.1.1.1.9.34646|66|46633 +1.3.6.1.4.1.9.9.109.1.1.1.1.10.7885|66|3 +1.3.6.1.4.1.9.9.109.1.1.1.1.10.34646|66|3 +1.3.6.1.4.1.9.9.109.1.1.1.1.11.7885|66|3 +1.3.6.1.4.1.9.9.109.1.1.1.1.11.34646|66|3 +1.3.6.1.4.1.9.9.109.1.1.1.1.12.7885|66|2989058067 +1.3.6.1.4.1.9.9.109.1.1.1.1.12.34646|66|3197618026 +1.3.6.1.4.1.9.9.109.1.1.1.1.13.7885|66|2069999569 +1.3.6.1.4.1.9.9.109.1.1.1.1.13.34646|66|2084150646 +1.3.6.1.4.1.9.9.109.1.1.1.1.14.7885|66|2622872612 +1.3.6.1.4.1.9.9.109.1.1.1.1.14.34646|66|1074797094 +1.3.6.1.4.1.9.9.109.1.1.1.1.15.7885|66|1464299954 +1.3.6.1.4.1.9.9.109.1.1.1.1.15.34646|66|999098597 +1.3.6.1.4.1.9.9.109.1.1.1.1.16.7885|66|2780891351 +1.3.6.1.4.1.9.9.109.1.1.1.1.16.34646|66|1169899948 +1.3.6.1.4.1.9.9.109.1.1.1.1.17.7885|70|13090729415023280881 +1.3.6.1.4.1.9.9.109.1.1.1.1.17.34646|70|2135500910888025095 +1.3.6.1.4.1.9.9.109.1.1.1.1.18.7885|66|3318265720 +1.3.6.1.4.1.9.9.109.1.1.1.1.18.34646|66|709270680 +1.3.6.1.4.1.9.9.109.1.1.1.1.19.7885|70|16656080902886183298 +1.3.6.1.4.1.9.9.109.1.1.1.1.19.34646|70|5275794158426781447 +1.3.6.1.4.1.9.9.109.1.1.1.1.20.7885|66|121873779 +1.3.6.1.4.1.9.9.109.1.1.1.1.20.34646|66|3927498537 +1.3.6.1.4.1.9.9.109.1.1.1.1.21.7885|70|2333642565366649022 +1.3.6.1.4.1.9.9.109.1.1.1.1.21.34646|70|4856400807011372570 +1.3.6.1.4.1.9.9.109.1.1.1.1.22.7885|66|2061941759 +1.3.6.1.4.1.9.9.109.1.1.1.1.22.34646|66|1781953999 +1.3.6.1.4.1.9.9.109.1.1.1.1.23.7885|70|2807489671671370704 +1.3.6.1.4.1.9.9.109.1.1.1.1.23.34646|70|16820660137565235407 +1.3.6.1.4.1.9.9.109.1.1.1.1.24.7885|66|21615 +1.3.6.1.4.1.9.9.109.1.1.1.1.24.34646|66|29899 +1.3.6.1.4.1.9.9.109.1.1.1.1.25.7885|66|37270 +1.3.6.1.4.1.9.9.109.1.1.1.1.25.34646|66|59250 +1.3.6.1.4.1.9.9.109.1.1.1.1.26.7885|66|41153 +1.3.6.1.4.1.9.9.109.1.1.1.1.26.34646|66|41249 +1.3.6.1.4.1.9.9.109.1.1.1.1.27.7885|66|439984899 +1.3.6.1.4.1.9.9.109.1.1.1.1.27.34646|66|3963771428 +1.3.6.1.4.1.9.9.109.1.1.1.1.28.7885|66|2020554787 +1.3.6.1.4.1.9.9.109.1.1.1.1.28.34646|66|631853182 +1.3.6.1.4.1.9.9.109.1.1.1.1.29.7885|70|11466987173379626114 +1.3.6.1.4.1.9.9.109.1.1.1.1.29.34646|70|1727615324197980208 +1.3.6.1.4.1.9.9.109.1.1.2.1.1.8874.53202|66|53202 +1.3.6.1.4.1.9.9.109.1.1.2.1.1.40596.44592|66|44592 +1.3.6.1.4.1.9.9.109.1.1.2.1.2.8874.53202|2|18 +1.3.6.1.4.1.9.9.109.1.1.2.1.2.40596.44592|2|18 +1.3.6.1.4.1.9.9.109.1.1.2.1.3.8874.53202|66|3 +1.3.6.1.4.1.9.9.109.1.1.2.1.3.40596.44592|66|3 +1.3.6.1.4.1.9.9.109.1.1.2.1.4.8874.53202|66|3 +1.3.6.1.4.1.9.9.109.1.1.2.1.4.40596.44592|66|3 +1.3.6.1.4.1.9.9.109.1.1.2.1.5.8874.53202|66|3 +1.3.6.1.4.1.9.9.109.1.1.2.1.5.40596.44592|66|3 +1.3.6.1.4.1.9.9.109.1.1.2.1.6.8874.53202|66|1223 +1.3.6.1.4.1.9.9.109.1.1.2.1.6.40596.44592|66|17562 +1.3.6.1.4.1.9.9.109.1.1.2.1.7.8874.53202|66|2092 +1.3.6.1.4.1.9.9.109.1.1.2.1.7.40596.44592|66|19167 +1.3.6.1.4.1.9.9.109.1.1.2.1.8.8874.53202|66|26900 +1.3.6.1.4.1.9.9.109.1.1.2.1.8.40596.44592|66|61979 +1.3.6.1.4.1.9.9.109.1.2.1.1.1.18313.31884|66|31884 +1.3.6.1.4.1.9.9.109.1.2.1.1.1.49906.15631|66|15631 +1.3.6.1.4.1.9.9.109.1.2.1.1.2.18313.31884|4x|666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.109.1.2.1.1.2.49906.15631|4x|717561696e746c79206b657074 +1.3.6.1.4.1.9.9.109.1.2.1.1.3.18313.31884|2|6 +1.3.6.1.4.1.9.9.109.1.2.1.1.3.49906.15631|2|2 +1.3.6.1.4.1.9.9.109.1.2.1.1.4.18313.31884|66|31437 +1.3.6.1.4.1.9.9.109.1.2.1.1.4.49906.15631|66|39736 +1.3.6.1.4.1.9.9.109.1.2.1.1.5.18313.31884|67|1891520300 +1.3.6.1.4.1.9.9.109.1.2.1.1.5.49906.15631|67|1421510265 +1.3.6.1.4.1.9.9.109.1.2.1.1.6.18313.31884|66|27637 +1.3.6.1.4.1.9.9.109.1.2.1.1.6.49906.15631|66|54857 +1.3.6.1.4.1.9.9.109.1.2.2.1.1.18051.21316|66|1757937958 +1.3.6.1.4.1.9.9.109.1.2.2.1.1.34364.43124|66|1158751066 +1.3.6.1.4.1.9.9.109.1.2.2.1.2.18051.21316|66|2717267502 +1.3.6.1.4.1.9.9.109.1.2.2.1.2.34364.43124|66|3056213812 +1.3.6.1.4.1.9.9.109.1.2.2.1.3.18051.21316|65|3614662698 +1.3.6.1.4.1.9.9.109.1.2.2.1.3.34364.43124|65|2368338889 +1.3.6.1.4.1.9.9.109.1.2.2.1.4.18051.21316|65|3947489308 +1.3.6.1.4.1.9.9.109.1.2.2.1.4.34364.43124|65|1120342207 +1.3.6.1.4.1.9.9.109.1.2.2.1.5.18051.21316|66|3 +1.3.6.1.4.1.9.9.109.1.2.2.1.5.34364.43124|66|3 +1.3.6.1.4.1.9.9.109.1.2.2.1.6.18051.21316|66|3 +1.3.6.1.4.1.9.9.109.1.2.2.1.6.34364.43124|66|3 +1.3.6.1.4.1.9.9.109.1.2.2.1.7.18051.21316|66|3 +1.3.6.1.4.1.9.9.109.1.2.2.1.7.34364.43124|66|3 +1.3.6.1.4.1.9.9.109.1.2.2.1.8.18051.21316|2|4 +1.3.6.1.4.1.9.9.109.1.2.2.1.8.34364.43124|2|4 +1.3.6.1.4.1.9.9.109.1.2.3.1.1.11150.12110|66|2040076133 +1.3.6.1.4.1.9.9.109.1.2.3.1.1.18181.33404|66|1216973993 +1.3.6.1.4.1.9.9.109.1.2.3.1.2.11150.12110|66|2957301211 +1.3.6.1.4.1.9.9.109.1.2.3.1.2.18181.33404|66|4030163015 +1.3.6.1.4.1.9.9.109.1.2.3.1.3.11150.12110|65|1870042827 +1.3.6.1.4.1.9.9.109.1.2.3.1.3.18181.33404|65|1123437885 +1.3.6.1.4.1.9.9.109.1.2.3.1.4.11150.12110|65|336160711 +1.3.6.1.4.1.9.9.109.1.2.3.1.4.18181.33404|65|344314588 +1.3.6.1.4.1.9.9.109.1.2.3.1.5.11150.12110|66|3 +1.3.6.1.4.1.9.9.109.1.2.3.1.5.18181.33404|66|3 +1.3.6.1.4.1.9.9.109.1.2.3.1.6.11150.12110|66|3 +1.3.6.1.4.1.9.9.109.1.2.3.1.6.18181.33404|66|3 +1.3.6.1.4.1.9.9.109.1.2.3.1.7.11150.12110|66|3 +1.3.6.1.4.1.9.9.109.1.2.3.1.7.18181.33404|66|3 +1.3.6.1.4.1.9.9.109.1.2.3.1.8.11150.12110|2|4 +1.3.6.1.4.1.9.9.109.1.2.3.1.8.18181.33404|2|2 +1.3.6.1.4.1.9.9.109.1.2.3.1.9.11150.12110|2|2 +1.3.6.1.4.1.9.9.109.1.2.3.1.9.18181.33404|2|3 +1.3.6.1.4.1.9.9.109.1.2.3.1.10.11150.12110|2|1 +1.3.6.1.4.1.9.9.109.1.2.3.1.10.18181.33404|2|2 +1.3.6.1.4.1.9.9.109.1.2.3.1.11.11150.12110|65|3151294208 +1.3.6.1.4.1.9.9.109.1.2.3.1.11.18181.33404|65|3213979434 +1.3.6.1.4.1.9.9.109.1.2.3.1.12.11150.12110|65|2031274810 +1.3.6.1.4.1.9.9.109.1.2.3.1.12.18181.33404|65|3431034677 +1.3.6.1.4.1.9.9.109.1.2.3.1.13.11150.12110|2|3 +1.3.6.1.4.1.9.9.109.1.2.3.1.13.18181.33404|2|2 +1.3.6.1.4.1.9.9.109.1.2.3.1.14.11150.12110|4x|666f7277617264204a61646564 +1.3.6.1.4.1.9.9.109.1.2.3.1.14.18181.33404|4x|62757420717561696e746c7920746865697220717561696e746c7920666f727761726420627574206f78656e20627574 +1.3.6.1.4.1.9.9.109.1.2.3.1.15.11150.12110|66|59078 +1.3.6.1.4.1.9.9.109.1.2.3.1.15.18181.33404|66|52540 +1.3.6.1.4.1.9.9.109.1.2.3.1.16.11150.12110|66|2168022294 +1.3.6.1.4.1.9.9.109.1.2.3.1.16.18181.33404|66|3881349618 +1.3.6.1.4.1.9.9.109.1.2.3.1.17.11150.12110|66|2873335406 +1.3.6.1.4.1.9.9.109.1.2.3.1.17.18181.33404|66|3884801075 +1.3.6.1.4.1.9.9.109.1.2.3.1.18.11150.12110|66|122235948 +1.3.6.1.4.1.9.9.109.1.2.3.1.18.18181.33404|66|1306969775 +1.3.6.1.4.1.9.9.109.1.2.3.1.19.11150.12110|66|2893252026 +1.3.6.1.4.1.9.9.109.1.2.3.1.19.18181.33404|66|3174373379 +1.3.6.1.4.1.9.9.109.1.2.3.1.20.11150.12110|70|13836248970053455656 +1.3.6.1.4.1.9.9.109.1.2.3.1.20.18181.33404|70|15215780851821360751 +1.3.6.1.4.1.9.9.109.1.2.3.1.21.11150.12110|66|720409577 +1.3.6.1.4.1.9.9.109.1.2.3.1.21.18181.33404|66|78871435 +1.3.6.1.4.1.9.9.109.1.2.3.1.22.11150.12110|70|4846162640971794396 +1.3.6.1.4.1.9.9.109.1.2.3.1.22.18181.33404|70|4662867440655686036 +1.3.6.1.4.1.9.9.109.1.2.3.1.23.11150.12110|66|63130 +1.3.6.1.4.1.9.9.109.1.2.3.1.23.18181.33404|66|36181 +1.3.6.1.4.1.9.9.109.1.2.3.1.24.11150.12110|70|16930669091734630017 +1.3.6.1.4.1.9.9.109.1.2.3.1.24.18181.33404|70|660796967341940504 +1.3.6.1.4.1.9.9.109.1.2.3.1.25.11150.12110|66|3618508917 +1.3.6.1.4.1.9.9.109.1.2.3.1.25.18181.33404|66|1750777991 +1.3.6.1.4.1.9.9.109.1.2.3.1.26.11150.12110|70|12328303609525189059 +1.3.6.1.4.1.9.9.109.1.2.3.1.26.18181.33404|70|1666175067717773759 +1.3.6.1.4.1.9.9.109.1.2.3.1.27.11150.12110|66|1800591887 +1.3.6.1.4.1.9.9.109.1.2.3.1.27.18181.33404|66|1299789283 +1.3.6.1.4.1.9.9.109.1.2.3.1.28.11150.12110|70|16381641000385087183 +1.3.6.1.4.1.9.9.109.1.2.3.1.28.18181.33404|70|10812970736448025391 +1.3.6.1.4.1.9.9.109.1.2.3.1.29.11150.12110|66|443586346 +1.3.6.1.4.1.9.9.109.1.2.3.1.29.18181.33404|66|3145091504 +1.3.6.1.4.1.9.9.109.1.2.3.1.30.11150.12110|70|6423403332094932779 +1.3.6.1.4.1.9.9.109.1.2.3.1.30.18181.33404|70|13505697420405986790 +1.3.6.1.4.1.9.9.109.1.2.4.1.1.11398.2|2|2 +1.3.6.1.4.1.9.9.109.1.2.4.1.1.20548.2|2|2 +1.3.6.1.4.1.9.9.109.1.2.4.1.2.11398.2|66|84 +1.3.6.1.4.1.9.9.109.1.2.4.1.2.20548.2|66|4 +1.3.6.1.4.1.9.9.109.1.2.4.1.3.11398.2|66|32179 +1.3.6.1.4.1.9.9.109.1.2.4.1.3.20548.2|66|4637 +1.3.6.1.4.1.9.9.109.1.2.4.1.4.11398.2|66|41 +1.3.6.1.4.1.9.9.109.1.2.4.1.4.20548.2|66|97 +1.3.6.1.4.1.9.9.109.1.2.4.1.5.11398.2|66|24014 +1.3.6.1.4.1.9.9.109.1.2.4.1.5.20548.2|66|62749 +1.3.6.1.4.1.9.9.109.1.2.4.1.6.11398.2|2|1 +1.3.6.1.4.1.9.9.109.1.2.4.1.6.20548.2|2|1 +1.3.6.1.4.1.9.9.109.1.2.5.1.0|66|6 +1.3.6.1.4.1.9.9.109.1.2.5.2.0|66|18768 +1.3.6.1.4.1.9.9.109.1.2.5.3.1.1.19102.65272|66|65272 +1.3.6.1.4.1.9.9.109.1.2.5.3.1.1.55820.18670|66|18670 +1.3.6.1.4.1.9.9.109.1.2.5.3.1.2.19102.65272|66|57341 +1.3.6.1.4.1.9.9.109.1.2.5.3.1.2.55820.18670|66|38178 +1.3.6.1.4.1.9.9.109.1.2.5.3.1.3.19102.65272|66|3 +1.3.6.1.4.1.9.9.109.1.2.5.3.1.3.55820.18670|66|3 +1.3.6.1.4.1.9.9.109.1.2.5.3.1.4.19102.65272|66|3 +1.3.6.1.4.1.9.9.109.1.2.5.3.1.4.55820.18670|66|3 +1.3.6.1.4.1.9.9.109.1.2.5.3.1.5.19102.65272|67|2065562617 +1.3.6.1.4.1.9.9.109.1.2.5.3.1.5.55820.18670|67|583830605 +1.3.6.1.4.1.9.9.109.1.2.5.4.1.1.929.22850.43041|66|43041 +1.3.6.1.4.1.9.9.109.1.2.5.4.1.1.62156.25469.1502|66|1502 +1.3.6.1.4.1.9.9.109.1.2.5.4.1.2.929.22850.43041|66|8671 +1.3.6.1.4.1.9.9.109.1.2.5.4.1.2.62156.25469.1502|66|5545 +1.3.6.1.4.1.9.9.109.1.2.5.4.1.3.929.22850.43041|4x|64726976696e672064726976696e67206163746564206b65707420746865697220666f7277617264206f78656e +1.3.6.1.4.1.9.9.109.1.2.5.4.1.3.62156.25469.1502|4x|7a6f6d62696573206275742064726976696e6720717561696e746c79204a61646564204a61646564204a61646564 +1.3.6.1.4.1.9.9.109.1.2.5.4.1.4.929.22850.43041|67|4109442267 +1.3.6.1.4.1.9.9.109.1.2.5.4.1.4.62156.25469.1502|67|2450476609 +1.3.6.1.4.1.9.9.109.1.2.5.4.1.5.929.22850.43041|66|3 +1.3.6.1.4.1.9.9.109.1.2.5.4.1.5.62156.25469.1502|66|3 +1.3.6.1.4.1.9.9.109.1.3.1.1.1.26692.2730.38314|66|38314 +1.3.6.1.4.1.9.9.109.1.3.1.1.1.32685.14480.41071|66|41071 +1.3.6.1.4.1.9.9.109.1.3.1.1.2.26692.2730.38314|4x|627574207a6f6d626965732064726976696e672064726976696e6720616374656420666f7277617264206275742061637465642064726976696e67 +1.3.6.1.4.1.9.9.109.1.3.1.1.2.32685.14480.41071|4x|62757420627574207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.109.1.3.1.1.3.26692.2730.38314|66|0 +1.3.6.1.4.1.9.9.109.1.3.1.1.3.32685.14480.41071|66|57 +1.3.6.1.4.1.9.9.109.1.3.1.1.4.26692.2730.38314|2|12 +1.3.6.1.4.1.9.9.109.1.3.1.1.4.32685.14480.41071|2|3 +1.3.6.1.4.1.9.9.109.1.3.1.1.5.26692.2730.38314|6|1.3.6.1.3.141.159.161.223.205.150.32 +1.3.6.1.4.1.9.9.109.1.3.1.1.5.32685.14480.41071|6|1.3.6.1.3.194.105 +1.3.6.1.4.1.9.9.109.1.3.1.1.6.26692.2730.38314|66|1396170348 +1.3.6.1.4.1.9.9.109.1.3.1.1.6.32685.14480.41071|66|2936652282 +1.3.6.1.4.1.9.9.109.1.3.1.1.7.26692.2730.38314|66|3743874156 +1.3.6.1.4.1.9.9.109.1.3.1.1.7.32685.14480.41071|66|3715357265 +1.3.6.1.4.1.9.9.109.1.3.1.1.8.26692.2730.38314|66|448542063 +1.3.6.1.4.1.9.9.109.1.3.1.1.8.32685.14480.41071|66|355555502 +1.3.6.1.4.1.9.9.109.1.3.1.1.9.26692.2730.38314|70|17184506277497916056 +1.3.6.1.4.1.9.9.109.1.3.1.1.9.32685.14480.41071|70|5490381032222757776 +1.3.6.1.4.1.9.9.109.1.4.1.1.1.1756.40397.64098|66|64098 +1.3.6.1.4.1.9.9.109.1.4.1.1.1.33481.29654.61594|66|61594 +1.3.6.1.4.1.9.9.109.1.4.1.1.2.1756.40397.64098|4x|7468656972207a6f6d62696573 +1.3.6.1.4.1.9.9.109.1.4.1.1.2.33481.29654.61594|4x|6f78656e207a6f6d62696573 +1.3.6.1.4.1.9.9.109.1.4.1.1.3.1756.40397.64098|66|3 +1.3.6.1.4.1.9.9.109.1.4.1.1.3.33481.29654.61594|66|3 +1.3.6.1.4.1.9.9.109.1.4.1.1.4.1756.40397.64098|66|3 +1.3.6.1.4.1.9.9.109.1.4.1.1.4.33481.29654.61594|66|3 +1.3.6.1.4.1.9.9.109.1.4.1.1.5.1756.40397.64098|66|3 +1.3.6.1.4.1.9.9.109.1.4.1.1.5.33481.29654.61594|66|3 +1.3.6.1.4.1.9.9.109.1.4.1.1.6.1756.40397.64098|66|3114341326 +1.3.6.1.4.1.9.9.109.1.4.1.1.6.33481.29654.61594|66|307199001 +1.3.6.1.4.1.9.9.109.1.4.1.1.7.1756.40397.64098|66|1526023552 +1.3.6.1.4.1.9.9.109.1.4.1.1.7.33481.29654.61594|66|3755941563 +1.3.6.1.4.1.9.9.109.1.4.1.1.8.1756.40397.64098|65|1469713869 +1.3.6.1.4.1.9.9.109.1.4.1.1.8.33481.29654.61594|65|1711932059 +1.3.6.1.4.1.9.9.109.1.4.1.1.9.1756.40397.64098|65|4237297688 +1.3.6.1.4.1.9.9.109.1.4.1.1.9.33481.29654.61594|65|1677443502 +1.3.6.1.4.1.9.9.109.1.4.1.1.10.1756.40397.64098|66|3982992476 +1.3.6.1.4.1.9.9.109.1.4.1.1.10.33481.29654.61594|66|1556926619 +1.3.6.1.4.1.9.9.109.1.4.1.1.11.1756.40397.64098|70|12155218579174835067 +1.3.6.1.4.1.9.9.109.1.4.1.1.11.33481.29654.61594|70|4608523092198743067 +1.3.6.1.4.1.9.9.109.1.4.1.1.12.1756.40397.64098|66|1525671520 +1.3.6.1.4.1.9.9.109.1.4.1.1.12.33481.29654.61594|66|3636135236 +1.3.6.1.4.1.9.9.109.1.4.1.1.13.1756.40397.64098|70|11759639219761221205 +1.3.6.1.4.1.9.9.109.1.4.1.1.13.33481.29654.61594|70|4963720931156138597 +1.3.6.1.4.1.9.9.221.1.1.1.1.1.1.1|2|22 +1.3.6.1.4.1.9.9.221.1.1.1.1.2.1.1|2|12 +1.3.6.1.4.1.9.9.221.1.1.1.1.3.1.1|4x|717561696e746c79206275742062757420717561696e746c79207a6f6d626965732074686569722074686569722064726976696e67 +1.3.6.1.4.1.9.9.221.1.1.1.1.4.1.1|6|1.3.6.1.3.101.206.92 +1.3.6.1.4.1.9.9.221.1.1.1.1.5.1.1|2|7 +1.3.6.1.4.1.9.9.221.1.1.1.1.6.1.1|2|1 +1.3.6.1.4.1.9.9.221.1.1.1.1.7.1.1|66|2997506057 +1.3.6.1.4.1.9.9.221.1.1.1.1.8.1.1|66|4243612506 +1.3.6.1.4.1.9.9.221.1.1.1.1.9.1.1|66|3816007372 +1.3.6.1.4.1.9.9.221.1.1.1.1.10.1.1|66|2587331188 +1.3.6.1.4.1.9.9.221.1.1.1.1.11.1.1|66|744591802 +1.3.6.1.4.1.9.9.221.1.1.1.1.12.1.1|65|2392680687 +1.3.6.1.4.1.9.9.221.1.1.1.1.13.1.1|65|428680332 +1.3.6.1.4.1.9.9.221.1.1.1.1.14.1.1|65|3828544771 +1.3.6.1.4.1.9.9.221.1.1.1.1.15.1.1|65|2610181872 +1.3.6.1.4.1.9.9.221.1.1.1.1.16.1.1|66|227042712 +1.3.6.1.4.1.9.9.221.1.1.1.1.17.1.1|66|3446152878 +1.3.6.1.4.1.9.9.221.1.1.1.1.18.1.1|70|16082168907690576016 +1.3.6.1.4.1.9.9.221.1.1.1.1.19.1.1|66|3759458601 +1.3.6.1.4.1.9.9.221.1.1.1.1.20.1.1|70|5514509467697481984 +1.3.6.1.4.1.9.9.221.1.1.1.1.21.1.1|66|923369593 +1.3.6.1.4.1.9.9.221.1.1.1.1.22.1.1|70|12807763019763526487 +1.3.6.1.4.1.9.9.221.1.1.1.1.23.1.1|66|328059248 +1.3.6.1.4.1.9.9.221.1.1.1.1.24.1.1|70|2123035830975500506 +1.3.6.1.4.1.9.9.221.1.1.1.1.25.1.1|66|49537597 +1.3.6.1.4.1.9.9.221.1.1.1.1.26.1.1|70|1476788727164485029 +1.3.6.1.4.1.9.9.221.1.1.1.1.27.1.1|66|2035932233 +1.3.6.1.4.1.9.9.221.1.1.1.1.28.1.1|70|597139087188809418 +1.3.6.1.4.1.9.9.221.1.1.2.1.1.7.1069|66|1069 +1.3.6.1.4.1.9.9.221.1.1.2.1.1.8.16674|66|16674 +1.3.6.1.4.1.9.9.221.1.1.2.1.1.11.11214|66|11214 +1.3.6.1.4.1.9.9.221.1.1.2.1.1.19.49972|66|49972 +1.3.6.1.4.1.9.9.221.1.1.2.1.2.7.1069|2|24 +1.3.6.1.4.1.9.9.221.1.1.2.1.2.8.16674|2|16 +1.3.6.1.4.1.9.9.221.1.1.2.1.2.11.11214|2|28 +1.3.6.1.4.1.9.9.221.1.1.2.1.2.19.49972|2|2 +1.3.6.1.4.1.9.9.221.1.1.2.1.3.7.1069|4x|4a6164656420666f7277617264 +1.3.6.1.4.1.9.9.221.1.1.2.1.3.8.16674|4x|717561696e746c79206b657074207468656972 +1.3.6.1.4.1.9.9.221.1.1.2.1.3.11.11214|4x|64726976696e6720666f727761726420717561696e746c792062757420627574204a6164656420717561696e746c79207468656972204a61646564 +1.3.6.1.4.1.9.9.221.1.1.2.1.3.19.49972|4x|64726976696e67207a6f6d62696573206b657074206f78656e2074686569722074686569722061637465642064726976696e67206b657074 +1.3.6.1.4.1.9.9.221.1.1.2.1.4.7.1069|2|1 +1.3.6.1.4.1.9.9.221.1.1.2.1.4.8.16674|2|1 +1.3.6.1.4.1.9.9.221.1.1.2.1.4.11.11214|2|1 +1.3.6.1.4.1.9.9.221.1.1.2.1.4.19.49972|2|2 +1.3.6.1.4.1.9.9.221.1.1.2.1.5.7.1069|66|52087 +1.3.6.1.4.1.9.9.221.1.1.2.1.5.8.16674|66|39796 +1.3.6.1.4.1.9.9.221.1.1.2.1.5.11.11214|66|64199 +1.3.6.1.4.1.9.9.221.1.1.2.1.5.19.49972|66|60360 +1.3.6.1.4.1.9.9.221.1.1.2.1.6.7.1069|66|9279 +1.3.6.1.4.1.9.9.221.1.1.2.1.6.8.16674|66|35801 +1.3.6.1.4.1.9.9.221.1.1.2.1.6.11.11214|66|45407 +1.3.6.1.4.1.9.9.221.1.1.2.1.6.19.49972|66|33392 +1.3.6.1.4.1.9.9.221.1.1.2.1.7.7.1069|66|64744 +1.3.6.1.4.1.9.9.221.1.1.2.1.7.8.16674|66|63015 +1.3.6.1.4.1.9.9.221.1.1.2.1.7.11.11214|66|18273 +1.3.6.1.4.1.9.9.221.1.1.2.1.7.19.49972|66|60774 +1.3.6.1.4.1.9.9.221.1.1.2.1.8.7.1069|66|42802 +1.3.6.1.4.1.9.9.221.1.1.2.1.8.8.16674|66|30298 +1.3.6.1.4.1.9.9.221.1.1.2.1.8.11.11214|66|52958 +1.3.6.1.4.1.9.9.221.1.1.2.1.8.19.49972|66|35697 +1.3.6.1.4.1.9.9.221.1.1.2.1.9.7.1069|66|28674 +1.3.6.1.4.1.9.9.221.1.1.2.1.9.8.16674|66|33641 +1.3.6.1.4.1.9.9.221.1.1.2.1.9.11.11214|66|25627 +1.3.6.1.4.1.9.9.221.1.1.2.1.9.19.49972|66|61692 +1.3.6.1.4.1.9.9.221.1.1.2.1.10.7.1069|66|1566917843 +1.3.6.1.4.1.9.9.221.1.1.2.1.10.8.16674|66|3958969064 +1.3.6.1.4.1.9.9.221.1.1.2.1.10.11.11214|66|2554803299 +1.3.6.1.4.1.9.9.221.1.1.2.1.10.19.49972|66|3724660517 +1.3.6.1.4.1.9.9.221.1.1.2.1.11.7.1069|66|4212973489 +1.3.6.1.4.1.9.9.221.1.1.2.1.11.8.16674|66|3093247138 +1.3.6.1.4.1.9.9.221.1.1.2.1.11.11.11214|66|6056473 +1.3.6.1.4.1.9.9.221.1.1.2.1.11.19.49972|66|517488427 +1.3.6.1.4.1.9.9.221.1.1.2.1.12.7.1069|65|431882275 +1.3.6.1.4.1.9.9.221.1.1.2.1.12.8.16674|65|3678944098 +1.3.6.1.4.1.9.9.221.1.1.2.1.12.11.11214|65|547774139 +1.3.6.1.4.1.9.9.221.1.1.2.1.12.19.49972|65|541685059 +1.3.6.1.4.1.9.9.221.1.1.2.1.13.7.1069|65|2734432032 +1.3.6.1.4.1.9.9.221.1.1.2.1.13.8.16674|65|2955369453 +1.3.6.1.4.1.9.9.221.1.1.2.1.13.11.11214|65|937324352 +1.3.6.1.4.1.9.9.221.1.1.2.1.13.19.49972|65|10067140 +1.3.6.1.4.1.9.9.221.1.1.2.1.14.7.1069|65|96092684 +1.3.6.1.4.1.9.9.221.1.1.2.1.14.8.16674|65|1642668430 +1.3.6.1.4.1.9.9.221.1.1.2.1.14.11.11214|65|3042610487 +1.3.6.1.4.1.9.9.221.1.1.2.1.14.19.49972|65|262821419 +1.3.6.1.4.1.9.9.221.1.1.2.1.15.7.1069|65|3542295677 +1.3.6.1.4.1.9.9.221.1.1.2.1.15.8.16674|65|2487816470 +1.3.6.1.4.1.9.9.221.1.1.2.1.15.11.11214|65|764591325 +1.3.6.1.4.1.9.9.221.1.1.2.1.15.19.49972|65|4151116380 +1.3.6.1.4.1.9.9.221.1.1.2.1.16.7.1069|2|4 +1.3.6.1.4.1.9.9.221.1.1.2.1.16.8.16674|2|3 +1.3.6.1.4.1.9.9.221.1.1.2.1.16.11.11214|2|3 +1.3.6.1.4.1.9.9.221.1.1.2.1.16.19.49972|2|29 +1.3.6.1.4.1.9.9.221.1.1.2.1.17.7.1069|65|2625314571 +1.3.6.1.4.1.9.9.221.1.1.2.1.17.8.16674|65|1916715667 +1.3.6.1.4.1.9.9.221.1.1.2.1.17.11.11214|65|2114471577 +1.3.6.1.4.1.9.9.221.1.1.2.1.17.19.49972|65|2317900638 +1.3.6.1.4.1.9.9.221.1.1.2.1.18.7.1069|67|2302723347 +1.3.6.1.4.1.9.9.221.1.1.2.1.18.8.16674|67|3349326138 +1.3.6.1.4.1.9.9.221.1.1.2.1.18.11.11214|67|2626847434 +1.3.6.1.4.1.9.9.221.1.1.2.1.18.19.49972|67|2882827487 +1.3.6.1.4.1.9.9.221.1.1.2.1.19.7.1069|65|4276189561 +1.3.6.1.4.1.9.9.221.1.1.2.1.19.8.16674|65|1944673467 +1.3.6.1.4.1.9.9.221.1.1.2.1.19.11.11214|65|3618704711 +1.3.6.1.4.1.9.9.221.1.1.2.1.19.19.49972|65|3907320923 +1.3.6.1.4.1.9.9.221.1.1.2.1.20.7.1069|65|2195349426 +1.3.6.1.4.1.9.9.221.1.1.2.1.20.8.16674|65|2704796616 +1.3.6.1.4.1.9.9.221.1.1.2.1.20.11.11214|65|2897398769 +1.3.6.1.4.1.9.9.221.1.1.2.1.20.19.49972|65|1282260193 +1.3.6.1.4.1.9.9.221.1.1.2.1.21.7.1069|65|2931573227 +1.3.6.1.4.1.9.9.221.1.1.2.1.21.8.16674|65|577021932 +1.3.6.1.4.1.9.9.221.1.1.2.1.21.11.11214|65|3665337878 +1.3.6.1.4.1.9.9.221.1.1.2.1.21.19.49972|65|1455743680 +1.3.6.1.4.1.9.9.221.1.1.2.1.22.7.1069|65|1135817927 +1.3.6.1.4.1.9.9.221.1.1.2.1.22.8.16674|65|3074040901 +1.3.6.1.4.1.9.9.221.1.1.2.1.22.11.11214|65|187877219 +1.3.6.1.4.1.9.9.221.1.1.2.1.22.19.49972|65|3043289800 +1.3.6.1.4.1.9.9.221.1.1.3.1.1.7.38878|66|4907 +1.3.6.1.4.1.9.9.221.1.1.3.1.1.19.61910|66|15334 +1.3.6.1.4.1.9.9.221.1.1.3.1.1.20.55450|66|37569 +1.3.6.1.4.1.9.9.221.1.1.3.1.1.30.20567|66|59489 +1.3.6.1.4.1.9.9.221.1.1.3.1.2.7.38878|66|1428071333 +1.3.6.1.4.1.9.9.221.1.1.3.1.2.19.61910|66|3498635821 +1.3.6.1.4.1.9.9.221.1.1.3.1.2.20.55450|66|193812855 +1.3.6.1.4.1.9.9.221.1.1.3.1.2.30.20567|66|2267991411 +1.3.6.1.4.1.9.9.221.1.1.3.1.3.7.38878|66|3680694625 +1.3.6.1.4.1.9.9.221.1.1.3.1.3.19.61910|66|2148816965 +1.3.6.1.4.1.9.9.221.1.1.3.1.3.20.55450|66|2099649256 +1.3.6.1.4.1.9.9.221.1.1.3.1.3.30.20567|66|4202601945 +1.3.6.1.4.1.9.9.221.1.1.3.1.4.7.38878|65|1964397416 +1.3.6.1.4.1.9.9.221.1.1.3.1.4.19.61910|65|2861936976 +1.3.6.1.4.1.9.9.221.1.1.3.1.4.20.55450|65|2591802918 +1.3.6.1.4.1.9.9.221.1.1.3.1.4.30.20567|65|886892847 +1.3.6.1.4.1.9.9.221.1.1.3.1.5.7.38878|65|2927401514 +1.3.6.1.4.1.9.9.221.1.1.3.1.5.19.61910|65|2757762278 +1.3.6.1.4.1.9.9.221.1.1.3.1.5.20.55450|65|4113005542 +1.3.6.1.4.1.9.9.221.1.1.3.1.5.30.20567|65|4272740020 +1.3.6.1.4.1.9.9.221.1.1.3.1.6.7.38878|66|3324404839 +1.3.6.1.4.1.9.9.221.1.1.3.1.6.19.61910|66|3344072225 +1.3.6.1.4.1.9.9.221.1.1.3.1.6.20.55450|66|2542573156 +1.3.6.1.4.1.9.9.221.1.1.3.1.6.30.20567|66|1664166076 +1.3.6.1.4.1.9.9.221.1.1.3.1.7.7.38878|65|3831314228 +1.3.6.1.4.1.9.9.221.1.1.3.1.7.19.61910|65|416524624 +1.3.6.1.4.1.9.9.221.1.1.3.1.7.20.55450|65|1767149321 +1.3.6.1.4.1.9.9.221.1.1.3.1.7.30.20567|65|1276259936 +1.3.6.1.4.1.9.9.221.1.2.1.0|2|2 +1.3.6.1.4.1.9.9.392.1.1.1.0|2|0 +1.3.6.1.4.1.9.9.392.1.1.2.0|2|5 +1.3.6.1.4.1.9.9.392.1.1.3.0|2|23 +1.3.6.1.4.1.9.9.392.1.1.4.0|2|10 +1.3.6.1.4.1.9.9.392.1.2.1.0|66|2803534396 +1.3.6.1.4.1.9.9.392.1.3.1.0|66|3268161111 +1.3.6.1.4.1.9.9.392.1.3.2.0|65|435607216 +1.3.6.1.4.1.9.9.392.1.3.3.0|66|1001195838 +1.3.6.1.4.1.9.9.392.1.3.4.0|66|60281417 +1.3.6.1.4.1.9.9.392.1.3.5.0|70|16090791158456248789 +1.3.6.1.4.1.9.9.392.1.3.6.0|70|18002023713495303729 +1.3.6.1.4.1.9.9.392.1.3.7.0|70|7646720772614973751 +1.3.6.1.4.1.9.9.392.1.3.8.0|70|14773516710939390745 +1.3.6.1.4.1.9.9.392.1.3.9.0|70|1048295947833218100 +1.3.6.1.4.1.9.9.392.1.3.10.0|70|5593909218482990094 +1.3.6.1.4.1.9.9.392.1.3.11.0|70|10455312359949724177 +1.3.6.1.4.1.9.9.392.1.3.12.0|70|6943761252398149168 +1.3.6.1.4.1.9.9.392.1.3.21.1.1.5.116.104.101.105.114.20|4|their +1.3.6.1.4.1.9.9.392.1.3.21.1.1.10.107.101.112.116.32.97.99.116.101.100.14|4x|6b657074206163746564 +1.3.6.1.4.1.9.9.392.1.3.21.1.1.11.98.117.116.32.102.111.114.119.97.114.100.24|4x|62757420666f7277617264 +1.3.6.1.4.1.9.9.392.1.3.21.1.1.11.116.104.101.105.114.32.97.99.116.101.100.1|4x|7468656972206163746564 +1.3.6.1.4.1.9.9.392.1.3.21.1.1.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|4x|4a6164656420666f727761726420666f72776172642062757420666f7277617264 +1.3.6.1.4.1.9.9.392.1.3.21.1.1.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|4x|666f7277617264207468656972206f78656e206f78656e207468656972207a6f6d62696573 +1.3.6.1.4.1.9.9.392.1.3.21.1.2.5.116.104.101.105.114.20|4x|64726976696e672064726976696e67206163746564 +1.3.6.1.4.1.9.9.392.1.3.21.1.2.10.107.101.112.116.32.97.99.116.101.100.14|4x|4a61646564206163746564204a6164656420717561696e746c7920666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.392.1.3.21.1.2.11.98.117.116.32.102.111.114.119.97.114.100.24|4x|746865697220616374656420717561696e746c7920627574 +1.3.6.1.4.1.9.9.392.1.3.21.1.2.11.116.104.101.105.114.32.97.99.116.101.100.1|4x|62757420717561696e746c792064726976696e672064726976696e6720666f7277617264206163746564 +1.3.6.1.4.1.9.9.392.1.3.21.1.2.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|4x|74686569722064726976696e67 +1.3.6.1.4.1.9.9.392.1.3.21.1.2.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|4x|4a61646564204a61646564 +1.3.6.1.4.1.9.9.392.1.3.21.1.3.5.116.104.101.105.114.20|2|20 +1.3.6.1.4.1.9.9.392.1.3.21.1.3.10.107.101.112.116.32.97.99.116.101.100.14|2|14 +1.3.6.1.4.1.9.9.392.1.3.21.1.3.11.98.117.116.32.102.111.114.119.97.114.100.24|2|24 +1.3.6.1.4.1.9.9.392.1.3.21.1.3.11.116.104.101.105.114.32.97.99.116.101.100.1|2|1 +1.3.6.1.4.1.9.9.392.1.3.21.1.3.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|2|5 +1.3.6.1.4.1.9.9.392.1.3.21.1.3.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|2|6 +1.3.6.1.4.1.9.9.392.1.3.21.1.4.5.116.104.101.105.114.20|2|4 +1.3.6.1.4.1.9.9.392.1.3.21.1.4.10.107.101.112.116.32.97.99.116.101.100.14|2|1 +1.3.6.1.4.1.9.9.392.1.3.21.1.4.11.98.117.116.32.102.111.114.119.97.114.100.24|2|4 +1.3.6.1.4.1.9.9.392.1.3.21.1.4.11.116.104.101.105.114.32.97.99.116.101.100.1|2|7 +1.3.6.1.4.1.9.9.392.1.3.21.1.4.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|2|2 +1.3.6.1.4.1.9.9.392.1.3.21.1.4.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|2|7 +1.3.6.1.4.1.9.9.392.1.3.21.1.5.5.116.104.101.105.114.20|2|2 +1.3.6.1.4.1.9.9.392.1.3.21.1.5.10.107.101.112.116.32.97.99.116.101.100.14|2|3 +1.3.6.1.4.1.9.9.392.1.3.21.1.5.11.98.117.116.32.102.111.114.119.97.114.100.24|2|6 +1.3.6.1.4.1.9.9.392.1.3.21.1.5.11.116.104.101.105.114.32.97.99.116.101.100.1|2|4 +1.3.6.1.4.1.9.9.392.1.3.21.1.5.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|2|4 +1.3.6.1.4.1.9.9.392.1.3.21.1.5.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|2|2 +1.3.6.1.4.1.9.9.392.1.3.21.1.6.5.116.104.101.105.114.20|65|3892424637 +1.3.6.1.4.1.9.9.392.1.3.21.1.6.10.107.101.112.116.32.97.99.116.101.100.14|65|2539264001 +1.3.6.1.4.1.9.9.392.1.3.21.1.6.11.98.117.116.32.102.111.114.119.97.114.100.24|65|145504807 +1.3.6.1.4.1.9.9.392.1.3.21.1.6.11.116.104.101.105.114.32.97.99.116.101.100.1|65|4235844967 +1.3.6.1.4.1.9.9.392.1.3.21.1.6.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|65|3868113734 +1.3.6.1.4.1.9.9.392.1.3.21.1.6.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|65|3768046277 +1.3.6.1.4.1.9.9.392.1.3.21.1.7.5.116.104.101.105.114.20|2|0 +1.3.6.1.4.1.9.9.392.1.3.21.1.7.10.107.101.112.116.32.97.99.116.101.100.14|2|1 +1.3.6.1.4.1.9.9.392.1.3.21.1.7.11.98.117.116.32.102.111.114.119.97.114.100.24|2|0 +1.3.6.1.4.1.9.9.392.1.3.21.1.7.11.116.104.101.105.114.32.97.99.116.101.100.1|2|1 +1.3.6.1.4.1.9.9.392.1.3.21.1.7.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|2|16 +1.3.6.1.4.1.9.9.392.1.3.21.1.7.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|2|0 +1.3.6.1.4.1.9.9.392.1.3.21.1.8.5.116.104.101.105.114.20|4x|627574206b657074207a6f6d626965732062757420616374656420666f7277617264207468656972 +1.3.6.1.4.1.9.9.392.1.3.21.1.8.10.107.101.112.116.32.97.99.116.101.100.14|4x|717561696e746c79206163746564206b657074204a61646564206275742064726976696e67 +1.3.6.1.4.1.9.9.392.1.3.21.1.8.11.98.117.116.32.102.111.114.119.97.114.100.24|4x|7a6f6d62696573207a6f6d62696573207a6f6d6269657320717561696e746c7920717561696e746c79206f78656e206b65707420717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.392.1.3.21.1.8.11.116.104.101.105.114.32.97.99.116.101.100.1|4x|6b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.392.1.3.21.1.8.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|4x|717561696e746c79204a616465642062757420616374656420666f7277617264206b65707420627574206f78656e207468656972 +1.3.6.1.4.1.9.9.392.1.3.21.1.8.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|4x|627574206b657074204a616465642064726976696e672064726976696e67 +1.3.6.1.4.1.9.9.392.1.3.21.1.9.5.116.104.101.105.114.20|2|3 +1.3.6.1.4.1.9.9.392.1.3.21.1.9.10.107.101.112.116.32.97.99.116.101.100.14|2|0 +1.3.6.1.4.1.9.9.392.1.3.21.1.9.11.98.117.116.32.102.111.114.119.97.114.100.24|2|2 +1.3.6.1.4.1.9.9.392.1.3.21.1.9.11.116.104.101.105.114.32.97.99.116.101.100.1|2|0 +1.3.6.1.4.1.9.9.392.1.3.21.1.9.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|2|4 +1.3.6.1.4.1.9.9.392.1.3.21.1.9.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|2|1 +1.3.6.1.4.1.9.9.392.1.3.21.1.10.5.116.104.101.105.114.20|4x|7a6f6d626965732064726976696e67204a61646564204a6164656420746865697220666f727761726420717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.392.1.3.21.1.10.10.107.101.112.116.32.97.99.116.101.100.14|4x|62757420666f727761726420666f7277617264 +1.3.6.1.4.1.9.9.392.1.3.21.1.10.11.98.117.116.32.102.111.114.119.97.114.100.24|4x|7a6f6d62696573207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.392.1.3.21.1.10.11.116.104.101.105.114.32.97.99.116.101.100.1|4x|61637465642064726976696e67204a61646564 +1.3.6.1.4.1.9.9.392.1.3.21.1.10.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|4x|64726976696e67207a6f6d62696573207468656972204a61646564206b6570742062757420616374656420616374656420627574 +1.3.6.1.4.1.9.9.392.1.3.21.1.10.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|4x|616374656420666f7277617264206f78656e20666f72776172642074686569722061637465642062757420666f7277617264206b657074 +1.3.6.1.4.1.9.9.392.1.3.21.1.11.5.116.104.101.105.114.20|2|6 +1.3.6.1.4.1.9.9.392.1.3.21.1.11.10.107.101.112.116.32.97.99.116.101.100.14|2|5 +1.3.6.1.4.1.9.9.392.1.3.21.1.11.11.98.117.116.32.102.111.114.119.97.114.100.24|2|2 +1.3.6.1.4.1.9.9.392.1.3.21.1.11.11.116.104.101.105.114.32.97.99.116.101.100.1|2|1 +1.3.6.1.4.1.9.9.392.1.3.21.1.11.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|2|1 +1.3.6.1.4.1.9.9.392.1.3.21.1.11.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|2|2 +1.3.6.1.4.1.9.9.392.1.3.21.1.12.5.116.104.101.105.114.20|6|1.3.6.1.3.12 +1.3.6.1.4.1.9.9.392.1.3.21.1.12.10.107.101.112.116.32.97.99.116.101.100.14|6|1.3.6.1.3 +1.3.6.1.4.1.9.9.392.1.3.21.1.12.11.98.117.116.32.102.111.114.119.97.114.100.24|6|1.3.6.1.3.242.179.253.233.159.195.201.51.226 +1.3.6.1.4.1.9.9.392.1.3.21.1.12.11.116.104.101.105.114.32.97.99.116.101.100.1|6|1.3.6.1.3.25.230.109.216.105.130.230 +1.3.6.1.4.1.9.9.392.1.3.21.1.12.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|6|1.3.6.1.3.52 +1.3.6.1.4.1.9.9.392.1.3.21.1.12.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|6|1.3.6.1.3.157.96.59.23.117.124.138.3.134 +1.3.6.1.4.1.9.9.392.1.3.21.1.13.5.116.104.101.105.114.20|2|1 +1.3.6.1.4.1.9.9.392.1.3.21.1.13.10.107.101.112.116.32.97.99.116.101.100.14|2|2 +1.3.6.1.4.1.9.9.392.1.3.21.1.13.11.98.117.116.32.102.111.114.119.97.114.100.24|2|2 +1.3.6.1.4.1.9.9.392.1.3.21.1.13.11.116.104.101.105.114.32.97.99.116.101.100.1|2|5 +1.3.6.1.4.1.9.9.392.1.3.21.1.13.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|2|5 +1.3.6.1.4.1.9.9.392.1.3.21.1.13.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|2|3 +1.3.6.1.4.1.9.9.392.1.3.21.1.14.5.116.104.101.105.114.20|2|1 +1.3.6.1.4.1.9.9.392.1.3.21.1.14.10.107.101.112.116.32.97.99.116.101.100.14|2|4 +1.3.6.1.4.1.9.9.392.1.3.21.1.14.11.98.117.116.32.102.111.114.119.97.114.100.24|2|4 +1.3.6.1.4.1.9.9.392.1.3.21.1.14.11.116.104.101.105.114.32.97.99.116.101.100.1|2|1 +1.3.6.1.4.1.9.9.392.1.3.21.1.14.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|2|2 +1.3.6.1.4.1.9.9.392.1.3.21.1.14.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|2|3 +1.3.6.1.4.1.9.9.392.1.3.21.1.15.5.116.104.101.105.114.20|2|2 +1.3.6.1.4.1.9.9.392.1.3.21.1.15.10.107.101.112.116.32.97.99.116.101.100.14|2|1 +1.3.6.1.4.1.9.9.392.1.3.21.1.15.11.98.117.116.32.102.111.114.119.97.114.100.24|2|2 +1.3.6.1.4.1.9.9.392.1.3.21.1.15.11.116.104.101.105.114.32.97.99.116.101.100.1|2|1 +1.3.6.1.4.1.9.9.392.1.3.21.1.15.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|2|3 +1.3.6.1.4.1.9.9.392.1.3.21.1.15.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|2|2 +1.3.6.1.4.1.9.9.392.1.3.21.1.16.5.116.104.101.105.114.20|66|36074 +1.3.6.1.4.1.9.9.392.1.3.21.1.16.10.107.101.112.116.32.97.99.116.101.100.14|66|62343 +1.3.6.1.4.1.9.9.392.1.3.21.1.16.11.98.117.116.32.102.111.114.119.97.114.100.24|66|26387 +1.3.6.1.4.1.9.9.392.1.3.21.1.16.11.116.104.101.105.114.32.97.99.116.101.100.1|66|28996 +1.3.6.1.4.1.9.9.392.1.3.21.1.16.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|66|13068 +1.3.6.1.4.1.9.9.392.1.3.21.1.16.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|66|22229 +1.3.6.1.4.1.9.9.392.1.3.21.1.17.5.116.104.101.105.114.20|4x|4a61646564207a6f6d626965732074686569722064726976696e672064726976696e672064726976696e67 +1.3.6.1.4.1.9.9.392.1.3.21.1.17.10.107.101.112.116.32.97.99.116.101.100.14|4x|64726976696e67207a6f6d6269657320717561696e746c7920627574206f78656e20666f7277617264207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.392.1.3.21.1.17.11.98.117.116.32.102.111.114.119.97.114.100.24|4x|61637465642064726976696e6720666f72776172642064726976696e67206b657074 +1.3.6.1.4.1.9.9.392.1.3.21.1.17.11.116.104.101.105.114.32.97.99.116.101.100.1|4x|6163746564206f78656e20616374656420627574 +1.3.6.1.4.1.9.9.392.1.3.21.1.17.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|4x|6f78656e204a61646564 +1.3.6.1.4.1.9.9.392.1.3.21.1.17.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|4x|717561696e746c7920717561696e746c79206f78656e +1.3.6.1.4.1.9.9.392.1.3.21.1.18.5.116.104.101.105.114.20|4|Jaded +1.3.6.1.4.1.9.9.392.1.3.21.1.18.10.107.101.112.116.32.97.99.116.101.100.14|4x|4a6164656420627574206f78656e206f78656e20717561696e746c79 +1.3.6.1.4.1.9.9.392.1.3.21.1.18.11.98.117.116.32.102.111.114.119.97.114.100.24|4x|7a6f6d62696573204a6164656420666f7277617264207a6f6d626965732062757420666f7277617264206b65707420666f727761726420666f7277617264 +1.3.6.1.4.1.9.9.392.1.3.21.1.18.11.116.104.101.105.114.32.97.99.116.101.100.1|4x|6163746564204a61646564206f78656e +1.3.6.1.4.1.9.9.392.1.3.21.1.18.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|4x|6f78656e2064726976696e67206163746564206163746564 +1.3.6.1.4.1.9.9.392.1.3.21.1.18.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|4x|746865697220717561696e746c79207468656972206f78656e2064726976696e6720717561696e746c79207468656972 +1.3.6.1.4.1.9.9.392.1.3.21.1.19.5.116.104.101.105.114.20|4x|4a6164656420627574 +1.3.6.1.4.1.9.9.392.1.3.21.1.19.10.107.101.112.116.32.97.99.116.101.100.14|4x|61637465642062757420616374656420717561696e746c79206b657074206f78656e206f78656e +1.3.6.1.4.1.9.9.392.1.3.21.1.19.11.98.117.116.32.102.111.114.119.97.114.100.24|4x|64726976696e67207a6f6d626965732061637465642062757420616374656420627574 +1.3.6.1.4.1.9.9.392.1.3.21.1.19.11.116.104.101.105.114.32.97.99.116.101.100.1|4x|6b657074206b65707420666f727761726420717561696e746c79206163746564206163746564206163746564207468656972204a61646564 +1.3.6.1.4.1.9.9.392.1.3.21.1.19.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|4x|6163746564206b657074206163746564206b657074206163746564 +1.3.6.1.4.1.9.9.392.1.3.21.1.19.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|4x|717561696e746c79204a616465642062757420616374656420717561696e746c7920627574 +1.3.6.1.4.1.9.9.392.1.3.21.1.20.5.116.104.101.105.114.20|4x|627574206b657074206f78656e207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.392.1.3.21.1.20.10.107.101.112.116.32.97.99.116.101.100.14|4x|7468656972207468656972206b65707420627574207a6f6d62696573204a61646564207468656972206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.392.1.3.21.1.20.11.98.117.116.32.102.111.114.119.97.114.100.24|4x|6b6570742064726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.392.1.3.21.1.20.11.116.104.101.105.114.32.97.99.116.101.100.1|4x|666f7277617264204a61646564204a616465642064726976696e672064726976696e6720717561696e746c79207468656972206f78656e +1.3.6.1.4.1.9.9.392.1.3.21.1.20.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|4x|64726976696e6720666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.392.1.3.21.1.20.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|4x|666f727761726420666f7277617264206b657074 +1.3.6.1.4.1.9.9.392.1.3.21.1.21.5.116.104.101.105.114.20|2|16 +1.3.6.1.4.1.9.9.392.1.3.21.1.21.10.107.101.112.116.32.97.99.116.101.100.14|2|3 +1.3.6.1.4.1.9.9.392.1.3.21.1.21.11.98.117.116.32.102.111.114.119.97.114.100.24|2|0 +1.3.6.1.4.1.9.9.392.1.3.21.1.21.11.116.104.101.105.114.32.97.99.116.101.100.1|2|3 +1.3.6.1.4.1.9.9.392.1.3.21.1.21.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|2|1 +1.3.6.1.4.1.9.9.392.1.3.21.1.21.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|2|4 +1.3.6.1.4.1.9.9.392.1.3.21.1.22.5.116.104.101.105.114.20|4x|717561696e746c79207a6f6d6269657320616374656420666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.392.1.3.21.1.22.10.107.101.112.116.32.97.99.116.101.100.14|4|driving +1.3.6.1.4.1.9.9.392.1.3.21.1.22.11.98.117.116.32.102.111.114.119.97.114.100.24|4x|64726976696e672062757420717561696e746c79 +1.3.6.1.4.1.9.9.392.1.3.21.1.22.11.116.104.101.105.114.32.97.99.116.101.100.1|4x|6f78656e2062757420666f7277617264207a6f6d626965732062757420627574206f78656e20717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.392.1.3.21.1.22.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|4|kept +1.3.6.1.4.1.9.9.392.1.3.21.1.22.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|4x|627574206f78656e2074686569722064726976696e6720627574 +1.3.6.1.4.1.9.9.392.1.3.21.1.23.5.116.104.101.105.114.20|2|16 +1.3.6.1.4.1.9.9.392.1.3.21.1.23.10.107.101.112.116.32.97.99.116.101.100.14|2|16 +1.3.6.1.4.1.9.9.392.1.3.21.1.23.11.98.117.116.32.102.111.114.119.97.114.100.24|2|4 +1.3.6.1.4.1.9.9.392.1.3.21.1.23.11.116.104.101.105.114.32.97.99.116.101.100.1|2|2 +1.3.6.1.4.1.9.9.392.1.3.21.1.23.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|2|0 +1.3.6.1.4.1.9.9.392.1.3.21.1.23.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|2|3 +1.3.6.1.4.1.9.9.392.1.3.21.1.24.5.116.104.101.105.114.20|4x|717561696e746c79207a6f6d62696573206163746564204a61646564206b6570742064726976696e672074686569722064726976696e67206163746564 +1.3.6.1.4.1.9.9.392.1.3.21.1.24.10.107.101.112.116.32.97.99.116.101.100.14|4x|64726976696e6720666f727761726420746865697220616374656420616374656420666f7277617264206163746564 +1.3.6.1.4.1.9.9.392.1.3.21.1.24.11.98.117.116.32.102.111.114.119.97.114.100.24|4x|64726976696e6720666f727761726420616374656420616374656420746865697220717561696e746c7920717561696e746c79207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.392.1.3.21.1.24.11.116.104.101.105.114.32.97.99.116.101.100.1|4x|616374656420616374656420717561696e746c79207468656972204a61646564 +1.3.6.1.4.1.9.9.392.1.3.21.1.24.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|4x|74686569722064726976696e6720717561696e746c792064726976696e672074686569722064726976696e67 +1.3.6.1.4.1.9.9.392.1.3.21.1.24.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|4|forward +1.3.6.1.4.1.9.9.392.1.3.21.1.25.5.116.104.101.105.114.20|2|4 +1.3.6.1.4.1.9.9.392.1.3.21.1.25.10.107.101.112.116.32.97.99.116.101.100.14|2|3 +1.3.6.1.4.1.9.9.392.1.3.21.1.25.11.98.117.116.32.102.111.114.119.97.114.100.24|2|3 +1.3.6.1.4.1.9.9.392.1.3.21.1.25.11.116.104.101.105.114.32.97.99.116.101.100.1|2|4 +1.3.6.1.4.1.9.9.392.1.3.21.1.25.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|2|16 +1.3.6.1.4.1.9.9.392.1.3.21.1.25.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|2|1 +1.3.6.1.4.1.9.9.392.1.3.21.1.26.5.116.104.101.105.114.20|4x|6163746564206f78656e20717561696e746c7920746865697220746865697220666f7277617264206163746564 +1.3.6.1.4.1.9.9.392.1.3.21.1.26.10.107.101.112.116.32.97.99.116.101.100.14|4x|7a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.392.1.3.21.1.26.11.98.117.116.32.102.111.114.119.97.114.100.24|4x|616374656420717561696e746c7920666f7277617264206b657074 +1.3.6.1.4.1.9.9.392.1.3.21.1.26.11.116.104.101.105.114.32.97.99.116.101.100.1|4x|666f7277617264206f78656e2064726976696e6720746865697220627574 +1.3.6.1.4.1.9.9.392.1.3.21.1.26.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|4x|746865697220717561696e746c7920717561696e746c7920717561696e746c7920717561696e746c79206275742074686569722064726976696e67 +1.3.6.1.4.1.9.9.392.1.3.21.1.26.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|4x|6f78656e204a61646564204a6164656420666f7277617264204a61646564206b657074207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.392.1.3.21.1.27.5.116.104.101.105.114.20|2|1 +1.3.6.1.4.1.9.9.392.1.3.21.1.27.10.107.101.112.116.32.97.99.116.101.100.14|2|1 +1.3.6.1.4.1.9.9.392.1.3.21.1.27.11.98.117.116.32.102.111.114.119.97.114.100.24|2|1 +1.3.6.1.4.1.9.9.392.1.3.21.1.27.11.116.104.101.105.114.32.97.99.116.101.100.1|2|2 +1.3.6.1.4.1.9.9.392.1.3.21.1.27.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|2|4 +1.3.6.1.4.1.9.9.392.1.3.21.1.27.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|2|0 +1.3.6.1.4.1.9.9.392.1.3.21.1.28.5.116.104.101.105.114.20|4x|616374656420717561696e746c7920717561696e746c79206b657074206275742064726976696e67204a616465642064726976696e67206f78656e +1.3.6.1.4.1.9.9.392.1.3.21.1.28.10.107.101.112.116.32.97.99.116.101.100.14|4x|6f78656e206b65707420627574206b657074204a61646564 +1.3.6.1.4.1.9.9.392.1.3.21.1.28.11.98.117.116.32.102.111.114.119.97.114.100.24|4x|4a6164656420666f7277617264204a61646564 +1.3.6.1.4.1.9.9.392.1.3.21.1.28.11.116.104.101.105.114.32.97.99.116.101.100.1|4x|7468656972206b6570742062757420616374656420627574 +1.3.6.1.4.1.9.9.392.1.3.21.1.28.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|4x|6f78656e20666f7277617264207468656972 +1.3.6.1.4.1.9.9.392.1.3.21.1.28.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|4x|666f7277617264206b657074 +1.3.6.1.4.1.9.9.392.1.3.21.1.29.5.116.104.101.105.114.20|2|4 +1.3.6.1.4.1.9.9.392.1.3.21.1.29.10.107.101.112.116.32.97.99.116.101.100.14|2|3 +1.3.6.1.4.1.9.9.392.1.3.21.1.29.11.98.117.116.32.102.111.114.119.97.114.100.24|2|3 +1.3.6.1.4.1.9.9.392.1.3.21.1.29.11.116.104.101.105.114.32.97.99.116.101.100.1|2|2 +1.3.6.1.4.1.9.9.392.1.3.21.1.29.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|2|2 +1.3.6.1.4.1.9.9.392.1.3.21.1.29.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|2|3 +1.3.6.1.4.1.9.9.392.1.3.21.1.30.5.116.104.101.105.114.20|4x|6f78656e207a6f6d6269657320627574207468656972206b657074 +1.3.6.1.4.1.9.9.392.1.3.21.1.30.10.107.101.112.116.32.97.99.116.101.100.14|4x|616374656420717561696e746c7920616374656420717561696e746c792074686569722064726976696e67206b657074 +1.3.6.1.4.1.9.9.392.1.3.21.1.30.11.98.117.116.32.102.111.114.119.97.114.100.24|4|kept +1.3.6.1.4.1.9.9.392.1.3.21.1.30.11.116.104.101.105.114.32.97.99.116.101.100.1|4x|746865697220666f727761726420666f727761726420666f7277617264204a61646564 +1.3.6.1.4.1.9.9.392.1.3.21.1.30.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|4x|6163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.392.1.3.21.1.30.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|4x|666f727761726420717561696e746c792064726976696e67206b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.392.1.3.21.1.31.5.116.104.101.105.114.20|70|8450617886453856868 +1.3.6.1.4.1.9.9.392.1.3.21.1.31.10.107.101.112.116.32.97.99.116.101.100.14|70|8641903503143430071 +1.3.6.1.4.1.9.9.392.1.3.21.1.31.11.98.117.116.32.102.111.114.119.97.114.100.24|70|8228850457410498773 +1.3.6.1.4.1.9.9.392.1.3.21.1.31.11.116.104.101.105.114.32.97.99.116.101.100.1|70|6806155632813507962 +1.3.6.1.4.1.9.9.392.1.3.21.1.31.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|70|3229289279471797598 +1.3.6.1.4.1.9.9.392.1.3.21.1.31.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|70|6172160363499121903 +1.3.6.1.4.1.9.9.392.1.3.21.1.32.5.116.104.101.105.114.20|70|908829866217128708 +1.3.6.1.4.1.9.9.392.1.3.21.1.32.10.107.101.112.116.32.97.99.116.101.100.14|70|13422312102917855199 +1.3.6.1.4.1.9.9.392.1.3.21.1.32.11.98.117.116.32.102.111.114.119.97.114.100.24|70|12943491547545207130 +1.3.6.1.4.1.9.9.392.1.3.21.1.32.11.116.104.101.105.114.32.97.99.116.101.100.1|70|10015251159652491166 +1.3.6.1.4.1.9.9.392.1.3.21.1.32.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|70|3904738211973529226 +1.3.6.1.4.1.9.9.392.1.3.21.1.32.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|70|5289634475860392810 +1.3.6.1.4.1.9.9.392.1.3.21.1.33.5.116.104.101.105.114.20|70|3357308833583444213 +1.3.6.1.4.1.9.9.392.1.3.21.1.33.10.107.101.112.116.32.97.99.116.101.100.14|70|15394025958397345110 +1.3.6.1.4.1.9.9.392.1.3.21.1.33.11.98.117.116.32.102.111.114.119.97.114.100.24|70|4974007959628753301 +1.3.6.1.4.1.9.9.392.1.3.21.1.33.11.116.104.101.105.114.32.97.99.116.101.100.1|70|14051168196062618647 +1.3.6.1.4.1.9.9.392.1.3.21.1.33.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|70|4314272583479115351 +1.3.6.1.4.1.9.9.392.1.3.21.1.33.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|70|2393014185657799799 +1.3.6.1.4.1.9.9.392.1.3.21.1.34.5.116.104.101.105.114.20|70|10882007973210745497 +1.3.6.1.4.1.9.9.392.1.3.21.1.34.10.107.101.112.116.32.97.99.116.101.100.14|70|16998258816560074973 +1.3.6.1.4.1.9.9.392.1.3.21.1.34.11.98.117.116.32.102.111.114.119.97.114.100.24|70|2213191264002262789 +1.3.6.1.4.1.9.9.392.1.3.21.1.34.11.116.104.101.105.114.32.97.99.116.101.100.1|70|16969174094706671922 +1.3.6.1.4.1.9.9.392.1.3.21.1.34.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|70|820492928274682864 +1.3.6.1.4.1.9.9.392.1.3.21.1.34.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|70|12602772584801731180 +1.3.6.1.4.1.9.9.392.1.3.21.1.35.5.116.104.101.105.114.20|70|2387403936413099795 +1.3.6.1.4.1.9.9.392.1.3.21.1.35.10.107.101.112.116.32.97.99.116.101.100.14|70|12903249074724357891 +1.3.6.1.4.1.9.9.392.1.3.21.1.35.11.98.117.116.32.102.111.114.119.97.114.100.24|70|4248549730352116204 +1.3.6.1.4.1.9.9.392.1.3.21.1.35.11.116.104.101.105.114.32.97.99.116.101.100.1|70|12165642625031070693 +1.3.6.1.4.1.9.9.392.1.3.21.1.35.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|70|18166347582645653164 +1.3.6.1.4.1.9.9.392.1.3.21.1.35.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|70|4116054825171799321 +1.3.6.1.4.1.9.9.392.1.3.21.1.36.5.116.104.101.105.114.20|70|4187685935324461726 +1.3.6.1.4.1.9.9.392.1.3.21.1.36.10.107.101.112.116.32.97.99.116.101.100.14|70|16418363484722957186 +1.3.6.1.4.1.9.9.392.1.3.21.1.36.11.98.117.116.32.102.111.114.119.97.114.100.24|70|15578312210989700592 +1.3.6.1.4.1.9.9.392.1.3.21.1.36.11.116.104.101.105.114.32.97.99.116.101.100.1|70|768997791256343702 +1.3.6.1.4.1.9.9.392.1.3.21.1.36.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|70|4289037699647558521 +1.3.6.1.4.1.9.9.392.1.3.21.1.36.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|70|6023018234535382877 +1.3.6.1.4.1.9.9.392.1.3.21.1.37.5.116.104.101.105.114.20|2|1 +1.3.6.1.4.1.9.9.392.1.3.21.1.37.10.107.101.112.116.32.97.99.116.101.100.14|2|3 +1.3.6.1.4.1.9.9.392.1.3.21.1.37.11.98.117.116.32.102.111.114.119.97.114.100.24|2|3 +1.3.6.1.4.1.9.9.392.1.3.21.1.37.11.116.104.101.105.114.32.97.99.116.101.100.1|2|3 +1.3.6.1.4.1.9.9.392.1.3.21.1.37.33.74.97.100.101.100.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.98.117.116.32.102.111.114.119.97.114.100.5|2|1 +1.3.6.1.4.1.9.9.392.1.3.21.1.37.37.102.111.114.119.97.114.100.32.116.104.101.105.114.32.111.120.101.110.32.111.120.101.110.32.116.104.101.105.114.32.122.111.109.98.105.101.115.6|2|1 +1.3.6.1.4.1.9.9.392.1.3.22.1.1.4.111.120.101.110|4|oxen +1.3.6.1.4.1.9.9.392.1.3.22.1.1.7.122.111.109.98.105.101.115|4|zombies +1.3.6.1.4.1.9.9.392.1.3.22.1.1.13.122.111.109.98.105.101.115.32.97.99.116.101.100|4x|7a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.392.1.3.22.1.1.30.116.104.101.105.114.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115|4x|746865697220717561696e746c7920666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.392.1.3.22.1.1.33.111.120.101.110.32.107.101.112.116.32.97.99.116.101.100.32.122.111.109.98.105.101.115.32.98.117.116.32.97.99.116.101.100|4x|6f78656e206b657074206163746564207a6f6d6269657320627574206163746564 +1.3.6.1.4.1.9.9.392.1.3.22.1.1.58.116.104.101.105.114.32.122.111.109.98.105.101.115.32.97.99.116.101.100.32.122.111.109.98.105.101.115.32.122.111.109.98.105.101.115.32.116.104.101.105.114.32.74.97.100.101.100.32.97.99.116.101.100.32.107.101.112.116|4x|7468656972207a6f6d62696573206163746564207a6f6d62696573207a6f6d62696573207468656972204a61646564206163746564206b657074 +1.3.6.1.4.1.9.9.392.1.3.22.1.2.4.111.120.101.110|2|9 +1.3.6.1.4.1.9.9.392.1.3.22.1.2.7.122.111.109.98.105.101.115|2|5 +1.3.6.1.4.1.9.9.392.1.3.22.1.2.13.122.111.109.98.105.101.115.32.97.99.116.101.100|2|25 +1.3.6.1.4.1.9.9.392.1.3.22.1.2.30.116.104.101.105.114.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115|2|21 +1.3.6.1.4.1.9.9.392.1.3.22.1.2.33.111.120.101.110.32.107.101.112.116.32.97.99.116.101.100.32.122.111.109.98.105.101.115.32.98.117.116.32.97.99.116.101.100|2|18 +1.3.6.1.4.1.9.9.392.1.3.22.1.2.58.116.104.101.105.114.32.122.111.109.98.105.101.115.32.97.99.116.101.100.32.122.111.109.98.105.101.115.32.122.111.109.98.105.101.115.32.116.104.101.105.114.32.74.97.100.101.100.32.97.99.116.101.100.32.107.101.112.116|2|19 +1.3.6.1.4.1.9.9.392.1.3.22.1.3.4.111.120.101.110|70|2047612640325497033 +1.3.6.1.4.1.9.9.392.1.3.22.1.3.7.122.111.109.98.105.101.115|70|16391151759449751905 +1.3.6.1.4.1.9.9.392.1.3.22.1.3.13.122.111.109.98.105.101.115.32.97.99.116.101.100|70|16522046272742980156 +1.3.6.1.4.1.9.9.392.1.3.22.1.3.30.116.104.101.105.114.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115|70|652012195008836652 +1.3.6.1.4.1.9.9.392.1.3.22.1.3.33.111.120.101.110.32.107.101.112.116.32.97.99.116.101.100.32.122.111.109.98.105.101.115.32.98.117.116.32.97.99.116.101.100|70|15168685937123432447 +1.3.6.1.4.1.9.9.392.1.3.22.1.3.58.116.104.101.105.114.32.122.111.109.98.105.101.115.32.97.99.116.101.100.32.122.111.109.98.105.101.115.32.122.111.109.98.105.101.115.32.116.104.101.105.114.32.74.97.100.101.100.32.97.99.116.101.100.32.107.101.112.116|70|2226362598770171161 +1.3.6.1.4.1.9.9.392.1.3.22.1.4.4.111.120.101.110|70|11477224711546814877 +1.3.6.1.4.1.9.9.392.1.3.22.1.4.7.122.111.109.98.105.101.115|70|14272638377029368561 +1.3.6.1.4.1.9.9.392.1.3.22.1.4.13.122.111.109.98.105.101.115.32.97.99.116.101.100|70|5477962613623696202 +1.3.6.1.4.1.9.9.392.1.3.22.1.4.30.116.104.101.105.114.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115|70|15341247042691778821 +1.3.6.1.4.1.9.9.392.1.3.22.1.4.33.111.120.101.110.32.107.101.112.116.32.97.99.116.101.100.32.122.111.109.98.105.101.115.32.98.117.116.32.97.99.116.101.100|70|14422939822168342320 +1.3.6.1.4.1.9.9.392.1.3.22.1.4.58.116.104.101.105.114.32.122.111.109.98.105.101.115.32.97.99.116.101.100.32.122.111.109.98.105.101.115.32.122.111.109.98.105.101.115.32.116.104.101.105.114.32.74.97.100.101.100.32.97.99.116.101.100.32.107.101.112.116|70|958200016270405773 +1.3.6.1.4.1.9.9.392.1.3.22.1.5.4.111.120.101.110|70|9136966322332416844 +1.3.6.1.4.1.9.9.392.1.3.22.1.5.7.122.111.109.98.105.101.115|70|10429086602857374540 +1.3.6.1.4.1.9.9.392.1.3.22.1.5.13.122.111.109.98.105.101.115.32.97.99.116.101.100|70|1115308779120891072 +1.3.6.1.4.1.9.9.392.1.3.22.1.5.30.116.104.101.105.114.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115|70|7060704190420191281 +1.3.6.1.4.1.9.9.392.1.3.22.1.5.33.111.120.101.110.32.107.101.112.116.32.97.99.116.101.100.32.122.111.109.98.105.101.115.32.98.117.116.32.97.99.116.101.100|70|8825755909270570075 +1.3.6.1.4.1.9.9.392.1.3.22.1.5.58.116.104.101.105.114.32.122.111.109.98.105.101.115.32.97.99.116.101.100.32.122.111.109.98.105.101.115.32.122.111.109.98.105.101.115.32.116.104.101.105.114.32.74.97.100.101.100.32.97.99.116.101.100.32.107.101.112.116|70|6903700881791115718 +1.3.6.1.4.1.9.9.392.1.3.22.1.6.4.111.120.101.110|70|11891281661032501974 +1.3.6.1.4.1.9.9.392.1.3.22.1.6.7.122.111.109.98.105.101.115|70|17735957473232822135 +1.3.6.1.4.1.9.9.392.1.3.22.1.6.13.122.111.109.98.105.101.115.32.97.99.116.101.100|70|17879365725841405449 +1.3.6.1.4.1.9.9.392.1.3.22.1.6.30.116.104.101.105.114.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115|70|4486258914171984804 +1.3.6.1.4.1.9.9.392.1.3.22.1.6.33.111.120.101.110.32.107.101.112.116.32.97.99.116.101.100.32.122.111.109.98.105.101.115.32.98.117.116.32.97.99.116.101.100|70|12345635909051801101 +1.3.6.1.4.1.9.9.392.1.3.22.1.6.58.116.104.101.105.114.32.122.111.109.98.105.101.115.32.97.99.116.101.100.32.122.111.109.98.105.101.115.32.122.111.109.98.105.101.115.32.116.104.101.105.114.32.74.97.100.101.100.32.97.99.116.101.100.32.107.101.112.116|70|12336365505671991936 +1.3.6.1.4.1.9.9.392.1.3.22.1.7.4.111.120.101.110|70|6468478090894124683 +1.3.6.1.4.1.9.9.392.1.3.22.1.7.7.122.111.109.98.105.101.115|70|7454799994457585471 +1.3.6.1.4.1.9.9.392.1.3.22.1.7.13.122.111.109.98.105.101.115.32.97.99.116.101.100|70|13481660072839568643 +1.3.6.1.4.1.9.9.392.1.3.22.1.7.30.116.104.101.105.114.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115|70|9295110518759189369 +1.3.6.1.4.1.9.9.392.1.3.22.1.7.33.111.120.101.110.32.107.101.112.116.32.97.99.116.101.100.32.122.111.109.98.105.101.115.32.98.117.116.32.97.99.116.101.100|70|16416614669360748744 +1.3.6.1.4.1.9.9.392.1.3.22.1.7.58.116.104.101.105.114.32.122.111.109.98.105.101.115.32.97.99.116.101.100.32.122.111.109.98.105.101.115.32.122.111.109.98.105.101.115.32.116.104.101.105.114.32.74.97.100.101.100.32.97.99.116.101.100.32.107.101.112.116|70|4148411980076070003 +1.3.6.1.4.1.9.9.392.1.3.22.1.8.4.111.120.101.110|70|12876503792928818688 +1.3.6.1.4.1.9.9.392.1.3.22.1.8.7.122.111.109.98.105.101.115|70|9256654352437867457 +1.3.6.1.4.1.9.9.392.1.3.22.1.8.13.122.111.109.98.105.101.115.32.97.99.116.101.100|70|15881779265839241239 +1.3.6.1.4.1.9.9.392.1.3.22.1.8.30.116.104.101.105.114.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115|70|18394095740042591087 +1.3.6.1.4.1.9.9.392.1.3.22.1.8.33.111.120.101.110.32.107.101.112.116.32.97.99.116.101.100.32.122.111.109.98.105.101.115.32.98.117.116.32.97.99.116.101.100|70|14738846523367692994 +1.3.6.1.4.1.9.9.392.1.3.22.1.8.58.116.104.101.105.114.32.122.111.109.98.105.101.115.32.97.99.116.101.100.32.122.111.109.98.105.101.115.32.122.111.109.98.105.101.115.32.116.104.101.105.114.32.74.97.100.101.100.32.97.99.116.101.100.32.107.101.112.116|70|4676389308937353051 +1.3.6.1.4.1.9.9.392.1.3.23.0|66|3852243483 +1.3.6.1.4.1.9.9.392.1.3.24.0|65|2349331209 +1.3.6.1.4.1.9.9.392.1.3.25.0|66|2047 +1.3.6.1.4.1.9.9.392.1.3.26.0|66|1335529191 +1.3.6.1.4.1.9.9.392.1.3.27.0|65|2035027050 +1.3.6.1.4.1.9.9.392.1.3.28.0|66|31374 +1.3.6.1.4.1.9.9.392.1.3.29.0|66|4207517742 +1.3.6.1.4.1.9.9.392.1.3.30.0|65|4180373741 +1.3.6.1.4.1.9.9.392.1.3.31.0|66|6613 +1.3.6.1.4.1.9.9.392.1.3.32.0|66|2813444679 +1.3.6.1.4.1.9.9.392.1.3.33.0|65|3851161707 +1.3.6.1.4.1.9.9.392.1.3.34.0|66|62272 +1.3.6.1.4.1.9.9.392.1.3.35.0|66|14159875 +1.3.6.1.4.1.9.9.392.1.3.36.0|65|3883317115 +1.3.6.1.4.1.9.9.392.1.3.37.0|66|50028 +1.3.6.1.4.1.9.9.392.1.3.38.0|66|3279975961 +1.3.6.1.4.1.9.9.392.1.3.39.0|65|1488764151 +1.3.6.1.4.1.9.9.392.1.3.40.0|66|41742 +1.3.6.1.4.1.9.9.392.1.3.41.0|66|14485 +1.3.6.1.4.1.9.9.392.1.4.1.1.0|70|18191376460131457350 +1.3.6.1.4.1.9.9.392.1.4.1.2.0|66|20242 +1.3.6.1.4.1.9.9.392.1.4.1.3.0|70|17391001316583792845 +1.3.6.1.4.1.9.9.392.1.4.1.4.0|70|13295398267127599754 +1.3.6.1.4.1.9.9.392.1.4.2.1.0|66|60544 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.1.4111|66|4111 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.1.6022|66|6022 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.1.8837|66|8837 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.1.35923|66|35923 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.1.41046|66|41046 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.1.56402|66|56402 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.2.4111|4x|64726976696e672074686569722064726976696e67207a6f6d6269657320666f72776172642064726976696e67206163746564206b657074 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.2.6022|4x|717561696e746c7920746865697220627574 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.2.8837|4x|62757420746865697220717561696e746c79 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.2.35923|4x|616374656420627574206f78656e +1.3.6.1.4.1.9.9.392.1.4.3.1.1.2.41046|4x|717561696e746c79206b657074206f78656e +1.3.6.1.4.1.9.9.392.1.4.3.1.1.2.56402|4x|666f7277617264206f78656e20746865697220717561696e746c7920627574206163746564204a61646564 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.3.4111|4x|4a616465642064726976696e67 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.3.6022|4x|6b657074204a61646564207a6f6d62696573207a6f6d6269657320717561696e746c7920666f7277617264207468656972 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.3.8837|4x|666f727761726420717561696e746c7920717561696e746c792061637465642062757420717561696e746c7920616374656420666f727761726420627574 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.3.35923|4x|666f7277617264206f78656e20746865697220616374656420627574 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.3.41046|4x|6b6570742064726976696e67204a61646564207468656972207a6f6d62696573204a616465642064726976696e67204a61646564 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.3.56402|4x|7a6f6d62696573207468656972207468656972204a6164656420627574206163746564207a6f6d62696573206b657074 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.4.4111|2|2 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.4.6022|2|2 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.4.8837|2|2 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.4.35923|2|2 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.4.41046|2|2 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.4.56402|2|2 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.5.4111|2|1 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.5.6022|2|8 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.5.8837|2|6 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.5.35923|2|5 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.5.41046|2|1 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.5.56402|2|2 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.6.4111|67|2548721491 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.6.6022|67|3645925212 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.6.8837|67|3919292033 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.6.35923|67|22734315 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.6.41046|67|885952514 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.6.56402|67|1941361368 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.7.4111|2|25 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.7.6022|2|21 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.7.8837|2|24 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.7.35923|2|4 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.7.41046|2|13 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.7.56402|2|25 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.8.4111|2|0 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.8.6022|2|16 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.8.8837|2|16 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.8.35923|2|3 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.8.41046|2|0 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.8.56402|2|4 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.9.4111|4x|6b65707420616374656420627574206b657074206b657074204a6164656420717561696e746c792062757420717561696e746c79 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.9.6022|4x|64726976696e672062757420627574207468656972207a6f6d62696573207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.9.8837|4x|6f78656e206163746564 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.9.35923|4x|6b65707420616374656420666f7277617264 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.9.41046|4|Jaded +1.3.6.1.4.1.9.9.392.1.4.3.1.1.9.56402|4x|627574204a6164656420717561696e746c79206b65707420717561696e746c79207468656972207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.10.4111|2|0 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.10.6022|2|1 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.10.8837|2|0 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.10.35923|2|16 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.10.41046|2|3 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.10.56402|2|3 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.11.4111|4x|64726976696e67204a616465642064726976696e67206163746564207a6f6d62696573206275742064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.11.6022|4x|6f78656e2064726976696e6720627574207a6f6d62696573207468656972206163746564206f78656e +1.3.6.1.4.1.9.9.392.1.4.3.1.1.11.8837|4x|717561696e746c79207a6f6d62696573207a6f6d6269657320666f7277617264206f78656e206163746564 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.11.35923|4x|6b657074206163746564207468656972 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.11.41046|4x|616374656420717561696e746c79 +1.3.6.1.4.1.9.9.392.1.4.3.1.1.11.56402|4x|7a6f6d626965732064726976696e67206f78656e20717561696e746c79206b657074206b657074 +1.3.6.1.4.1.9.9.392.1.4.3.2.0|66|61181 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.1.30.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.97.99.116.101.100|4x|717561696e746c7920666f727761726420666f7277617264206163746564 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.1.35.97.99.116.101.100.32.113.117.97.105.110.116.108.121.32.116.104.101.105.114.32.113.117.97.105.110.116.108.121.32.74.97.100.101.100|4x|616374656420717561696e746c7920746865697220717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.1.40.102.111.114.119.97.114.100.32.116.104.101.105.114.32.74.97.100.101.100.32.113.117.97.105.110.116.108.121.32.74.97.100.101.100.32.97.99.116.101.100|4x|666f7277617264207468656972204a6164656420717561696e746c79204a61646564206163746564 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.1.45.100.114.105.118.105.110.103.32.97.99.116.101.100.32.97.99.116.101.100.32.102.111.114.119.97.114.100.32.111.120.101.110.32.111.120.101.110.32.100.114.105.118.105.110.103|4x|64726976696e6720616374656420616374656420666f7277617264206f78656e206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.1.49.122.111.109.98.105.101.115.32.122.111.109.98.105.101.115.32.97.99.116.101.100.32.100.114.105.118.105.110.103.32.107.101.112.116.32.98.117.116.32.107.101.112.116.32.74.97.100.101.100|4x|7a6f6d62696573207a6f6d626965732061637465642064726976696e67206b65707420627574206b657074204a61646564 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.1.50.107.101.112.116.32.113.117.97.105.110.116.108.121.32.100.114.105.118.105.110.103.32.102.111.114.119.97.114.100.32.74.97.100.101.100.32.113.117.97.105.110.116.108.121.32.116.104.101.105.114|4x|6b65707420717561696e746c792064726976696e6720666f7277617264204a6164656420717561696e746c79207468656972 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.2.30.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.97.99.116.101.100|70|13769617253008903145 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.2.35.97.99.116.101.100.32.113.117.97.105.110.116.108.121.32.116.104.101.105.114.32.113.117.97.105.110.116.108.121.32.74.97.100.101.100|70|16228920049990328294 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.2.40.102.111.114.119.97.114.100.32.116.104.101.105.114.32.74.97.100.101.100.32.113.117.97.105.110.116.108.121.32.74.97.100.101.100.32.97.99.116.101.100|70|3440539543161503206 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.2.45.100.114.105.118.105.110.103.32.97.99.116.101.100.32.97.99.116.101.100.32.102.111.114.119.97.114.100.32.111.120.101.110.32.111.120.101.110.32.100.114.105.118.105.110.103|70|10300947980501447927 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.2.49.122.111.109.98.105.101.115.32.122.111.109.98.105.101.115.32.97.99.116.101.100.32.100.114.105.118.105.110.103.32.107.101.112.116.32.98.117.116.32.107.101.112.116.32.74.97.100.101.100|70|3406652730480094862 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.2.50.107.101.112.116.32.113.117.97.105.110.116.108.121.32.100.114.105.118.105.110.103.32.102.111.114.119.97.114.100.32.74.97.100.101.100.32.113.117.97.105.110.116.108.121.32.116.104.101.105.114|70|18401350421935178895 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.3.30.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.97.99.116.101.100|70|12066547017097074453 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.3.35.97.99.116.101.100.32.113.117.97.105.110.116.108.121.32.116.104.101.105.114.32.113.117.97.105.110.116.108.121.32.74.97.100.101.100|70|4374308711356813234 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.3.40.102.111.114.119.97.114.100.32.116.104.101.105.114.32.74.97.100.101.100.32.113.117.97.105.110.116.108.121.32.74.97.100.101.100.32.97.99.116.101.100|70|15746266747692509389 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.3.45.100.114.105.118.105.110.103.32.97.99.116.101.100.32.97.99.116.101.100.32.102.111.114.119.97.114.100.32.111.120.101.110.32.111.120.101.110.32.100.114.105.118.105.110.103|70|9987714920828635367 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.3.49.122.111.109.98.105.101.115.32.122.111.109.98.105.101.115.32.97.99.116.101.100.32.100.114.105.118.105.110.103.32.107.101.112.116.32.98.117.116.32.107.101.112.116.32.74.97.100.101.100|70|2964764540551413808 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.3.50.107.101.112.116.32.113.117.97.105.110.116.108.121.32.100.114.105.118.105.110.103.32.102.111.114.119.97.114.100.32.74.97.100.101.100.32.113.117.97.105.110.116.108.121.32.116.104.101.105.114|70|7077120827006016580 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.4.30.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.97.99.116.101.100|70|131315612573062481 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.4.35.97.99.116.101.100.32.113.117.97.105.110.116.108.121.32.116.104.101.105.114.32.113.117.97.105.110.116.108.121.32.74.97.100.101.100|70|18125974942243409881 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.4.40.102.111.114.119.97.114.100.32.116.104.101.105.114.32.74.97.100.101.100.32.113.117.97.105.110.116.108.121.32.74.97.100.101.100.32.97.99.116.101.100|70|8951359669274589016 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.4.45.100.114.105.118.105.110.103.32.97.99.116.101.100.32.97.99.116.101.100.32.102.111.114.119.97.114.100.32.111.120.101.110.32.111.120.101.110.32.100.114.105.118.105.110.103|70|13898908100696054778 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.4.49.122.111.109.98.105.101.115.32.122.111.109.98.105.101.115.32.97.99.116.101.100.32.100.114.105.118.105.110.103.32.107.101.112.116.32.98.117.116.32.107.101.112.116.32.74.97.100.101.100|70|2917907066057521314 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.4.50.107.101.112.116.32.113.117.97.105.110.116.108.121.32.100.114.105.118.105.110.103.32.102.111.114.119.97.114.100.32.74.97.100.101.100.32.113.117.97.105.110.116.108.121.32.116.104.101.105.114|70|10712212211320988528 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.5.30.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.97.99.116.101.100|70|16283519825060390290 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.5.35.97.99.116.101.100.32.113.117.97.105.110.116.108.121.32.116.104.101.105.114.32.113.117.97.105.110.116.108.121.32.74.97.100.101.100|70|13904525553365001543 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.5.40.102.111.114.119.97.114.100.32.116.104.101.105.114.32.74.97.100.101.100.32.113.117.97.105.110.116.108.121.32.74.97.100.101.100.32.97.99.116.101.100|70|4874842454045760037 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.5.45.100.114.105.118.105.110.103.32.97.99.116.101.100.32.97.99.116.101.100.32.102.111.114.119.97.114.100.32.111.120.101.110.32.111.120.101.110.32.100.114.105.118.105.110.103|70|15451463573477897168 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.5.49.122.111.109.98.105.101.115.32.122.111.109.98.105.101.115.32.97.99.116.101.100.32.100.114.105.118.105.110.103.32.107.101.112.116.32.98.117.116.32.107.101.112.116.32.74.97.100.101.100|70|7079584751427632983 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.5.50.107.101.112.116.32.113.117.97.105.110.116.108.121.32.100.114.105.118.105.110.103.32.102.111.114.119.97.114.100.32.74.97.100.101.100.32.113.117.97.105.110.116.108.121.32.116.104.101.105.114|70|3496876472438388905 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.6.30.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.102.111.114.119.97.114.100.32.97.99.116.101.100|70|1693513775922266844 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.6.35.97.99.116.101.100.32.113.117.97.105.110.116.108.121.32.116.104.101.105.114.32.113.117.97.105.110.116.108.121.32.74.97.100.101.100|70|18170365127117468174 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.6.40.102.111.114.119.97.114.100.32.116.104.101.105.114.32.74.97.100.101.100.32.113.117.97.105.110.116.108.121.32.74.97.100.101.100.32.97.99.116.101.100|70|1782740199098577023 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.6.45.100.114.105.118.105.110.103.32.97.99.116.101.100.32.97.99.116.101.100.32.102.111.114.119.97.114.100.32.111.120.101.110.32.111.120.101.110.32.100.114.105.118.105.110.103|70|17025745166506394198 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.6.49.122.111.109.98.105.101.115.32.122.111.109.98.105.101.115.32.97.99.116.101.100.32.100.114.105.118.105.110.103.32.107.101.112.116.32.98.117.116.32.107.101.112.116.32.74.97.100.101.100|70|8759011417863224449 +1.3.6.1.4.1.9.9.392.1.4.4.1.1.6.50.107.101.112.116.32.113.117.97.105.110.116.108.121.32.100.114.105.118.105.110.103.32.102.111.114.119.97.114.100.32.74.97.100.101.100.32.113.117.97.105.110.116.108.121.32.116.104.101.105.114|70|4522851901729678381 +1.3.6.1.4.1.9.9.392.1.5.1.1.0|70|15524837876824753897 +1.3.6.1.4.1.9.9.392.1.6.1.0|2|0 +1.3.6.1.4.1.9.9.392.1.6.2.0|66|62661 +1.3.6.1.4.1.9.9.392.1.6.3.0|2|9 +1.3.6.1.4.1.9.9.392.1.7.1.0|2|2 +1.3.6.1.4.1.9.9.392.1.7.2.0|2|2 +1.3.6.1.4.1.9.9.392.1.7.3.0|2|1 +1.3.6.1.6.3.10.2.1.1.0|4x|6f78656e204a61646564 +1.3.6.1.6.3.10.2.1.2.0|2|4 +1.3.6.1.6.3.10.2.1.3.0|2|28 +1.3.6.1.6.3.10.2.1.4.0|2|1000 diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_cisco_firepower_asa.py b/snmp/tests/test_e2e_core_profiles/test_profile_cisco_firepower_asa.py new file mode 100644 index 0000000000000..00cb3a8f0c275 --- /dev/null +++ b/snmp/tests/test_e2e_core_profiles/test_profile_cisco_firepower_asa.py @@ -0,0 +1,72 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +import pytest + +from datadog_checks.dev.utils import get_metadata_metrics + +from .. import common +from ..test_e2e_core_metadata import assert_device_metadata +from .utils import ( + assert_common_metrics, + assert_extend_generic_if, + create_e2e_core_test_config, + get_device_ip_from_config, +) + +pytestmark = [pytest.mark.e2e, common.py3_plus_only, common.snmp_integration_only] + + +def test_e2e_profile_cisco_firepower_asa(dd_agent_check): + config = create_e2e_core_test_config('cisco-firepower-asa') + aggregator = common.dd_agent_check_wrapper(dd_agent_check, config, rate=True) + + ip_address = get_device_ip_from_config(config) + common_tags = [ + 'snmp_profile:cisco-firepower-asa', + 'snmp_host:cisco-firepower-asa.device.name', + 'device_namespace:default', + 'snmp_device:' + ip_address, + ] + [] + + # --- TEST EXTENDED METRICS --- + assert_extend_generic_if(aggregator, common_tags) + + # --- TEST METRICS --- + assert_common_metrics(aggregator, common_tags) + + aggregator.assert_metric('snmp.crasMaxSessionsSupportable', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.crasMaxUsersSupportable', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.crasNumDeclinedSessions', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.crasNumSessions', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.crasNumSetupFailInsufResources', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.crasNumUsers', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.memory.free', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.memory.usage', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.memory.used', metric_type=aggregator.GAUGE, tags=common_tags) + tag_rows = [ + ['cpu:34646'], + ['cpu:7885'], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.cpu.usage', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + # --- TEST METADATA --- + device = { + 'description': 'cisco-firepower-asa Device Description', + 'id': 'default:' + ip_address, + 'id_tags': ['device_namespace:default', 'snmp_device:' + ip_address], + 'ip_address': '' + ip_address, + 'name': 'cisco-firepower-asa.device.name', + 'profile': 'cisco-firepower-asa', + 'status': 1, + 'sys_object_id': '1.3.6.1.4.1.9.1.1902', + 'vendor': 'cisco', + } + device['tags'] = common_tags + assert_device_metadata(aggregator, device) + + # --- CHECK COVERAGE --- + aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) From de2649e35ccd9d4cf6a2e647c551c4aeefebd079 Mon Sep 17 00:00:00 2001 From: Sarah Wang Date: Wed, 5 Jul 2023 03:19:52 -0400 Subject: [PATCH 21/77] Update formatting for changelogs (#15034) * Update formatting for changelogs * Update zk/CHANGELOG.md Co-authored-by: Bryce Eadie --------- Co-authored-by: Bryce Eadie --- zk/CHANGELOG.md | 171 ++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 135 insertions(+), 36 deletions(-) diff --git a/zk/CHANGELOG.md b/zk/CHANGELOG.md index 49251ffddc057..8bccf2377a87d 100644 --- a/zk/CHANGELOG.md +++ b/zk/CHANGELOG.md @@ -2,128 +2,227 @@ ## 4.2.2 / 2023-02-13 / Agent 7.44.0 -* [Fixed] Ensure Zookeeper command execution in proxy environments. See [#13935](https://github.com/DataDog/integrations-core/pull/13935). +***Fixed***: + +* Ensure Zookeeper command execution in proxy environments. See [#13935](https://github.com/DataDog/integrations-core/pull/13935). + ## 4.2.1 / 2022-12-09 / Agent 7.42.0 -* [Fixed] Stop using deprecated `distutils.version` classes. See [#13408](https://github.com/DataDog/integrations-core/pull/13408). -* [Fixed] Make version parsing more flexible to increase compatibility. See [#13171](https://github.com/DataDog/integrations-core/pull/13171). Thanks [pnovitskiy](https://github.com/pnovitskiy). +***Fixed***: + +* Stop using deprecated `distutils.version` classes. See [#13408](https://github.com/DataDog/integrations-core/pull/13408). +* Make version parsing more flexible to increase compatibility. See [#13171](https://github.com/DataDog/integrations-core/pull/13171). Thanks [pnovitskiy](https://github.com/pnovitskiy). + ## 4.2.0 / 2022-04-05 / Agent 7.36.0 -* [Added] Add metric_patterns options to filter all metric submission by a list of regexes. See [#11695](https://github.com/DataDog/integrations-core/pull/11695). +***Added***: + +* Add metric_patterns options to filter all metric submission by a list of regexes. See [#11695](https://github.com/DataDog/integrations-core/pull/11695). + ## 4.1.0 / 2022-02-19 / Agent 7.35.0 -* [Added] Add `pyproject.toml` file. See [#11463](https://github.com/DataDog/integrations-core/pull/11463). -* [Fixed] Fix namespace packaging on Python 2. See [#11532](https://github.com/DataDog/integrations-core/pull/11532). +***Added***: + +* Add `pyproject.toml` file. See [#11463](https://github.com/DataDog/integrations-core/pull/11463). + +***Fixed***: + +* Fix namespace packaging on Python 2. See [#11532](https://github.com/DataDog/integrations-core/pull/11532). + ## 4.0.0 / 2022-01-08 / Agent 7.34.0 -* [Fixed] Add comment to autogenerated model files. See [#10945](https://github.com/DataDog/integrations-core/pull/10945). -* [Changed] Add `server` default group for all monitor special cases. See [#10976](https://github.com/DataDog/integrations-core/pull/10976). +***Changed***: + +* Add `server` default group for all monitor special cases. See [#10976](https://github.com/DataDog/integrations-core/pull/10976). + +***Fixed***: + +* Add comment to autogenerated model files. See [#10945](https://github.com/DataDog/integrations-core/pull/10945). + ## 3.1.1 / 2021-11-13 / Agent 7.33.0 -* [Fixed] Added verbose logging for parsing 'mntr' output. See [#10531](https://github.com/DataDog/integrations-core/pull/10531). Thanks [Kyle-Neale](https://github.com/Kyle-Neale). +***Fixed***: + +* Added verbose logging for parsing 'mntr' output. See [#10531](https://github.com/DataDog/integrations-core/pull/10531). Thanks [Kyle-Neale](https://github.com/Kyle-Neale). + ## 3.1.0 / 2021-10-04 / Agent 7.32.0 -* [Added] Disable generic tags. See [#10027](https://github.com/DataDog/integrations-core/pull/10027). +***Added***: + +* Disable generic tags. See [#10027](https://github.com/DataDog/integrations-core/pull/10027). + ## 3.0.0 / 2021-08-22 / Agent 7.31.0 -* [Changed] Remove messages for integrations for OK service checks. See [#9888](https://github.com/DataDog/integrations-core/pull/9888). +***Changed***: + +* Remove messages for integrations for OK service checks. See [#9888](https://github.com/DataDog/integrations-core/pull/9888). + ## 2.10.0 / 2021-05-28 / Agent 7.29.0 -* [Added] Add runtime configuration validation. See [#9010](https://github.com/DataDog/integrations-core/pull/9010). +***Added***: + +* Add runtime configuration validation. See [#9010](https://github.com/DataDog/integrations-core/pull/9010). + ## 2.9.3 / 2021-03-07 / Agent 7.27.0 -* [Fixed] Bump minimum base package version. See [#8443](https://github.com/DataDog/integrations-core/pull/8443). +***Fixed***: + +* Bump minimum base package version. See [#8443](https://github.com/DataDog/integrations-core/pull/8443). + ## 2.9.2 / 2020-12-15 / Agent 7.25.0 -* [Fixed] Ensure connection failure message is shown on Python 2. See [#8197](https://github.com/DataDog/integrations-core/pull/8197). +***Fixed***: + +* Ensure connection failure message is shown on Python 2. See [#8197](https://github.com/DataDog/integrations-core/pull/8197). + ## 2.9.1 / 2020-12-11 -* [Fixed] Bump allowed base check package versions. See [#8160](https://github.com/DataDog/integrations-core/pull/8160). -* [Fixed] Update small typo in tls-specific options documentation. See [#8103](https://github.com/DataDog/integrations-core/pull/8103). +***Fixed***: + +* Bump allowed base check package versions. See [#8160](https://github.com/DataDog/integrations-core/pull/8160). +* Update small typo in tls-specific options documentation. See [#8103](https://github.com/DataDog/integrations-core/pull/8103). + ## 2.9.0 / 2020-11-18 -* [Added] Add SSL Support for Zookeeper. See [#7884](https://github.com/DataDog/integrations-core/pull/7884). +***Added***: + +* Add SSL Support for Zookeeper. See [#7884](https://github.com/DataDog/integrations-core/pull/7884). + ## 2.8.0 / 2020-10-31 / Agent 7.24.0 -* [Added] [doc] Add encoding in log config sample. See [#7708](https://github.com/DataDog/integrations-core/pull/7708). +***Added***: + +* [doc] Add encoding in log config sample. See [#7708](https://github.com/DataDog/integrations-core/pull/7708). + ## 2.7.0 / 2020-08-10 / Agent 7.22.0 -* [Added] Use config specs. See [#6950](https://github.com/DataDog/integrations-core/pull/6950). -* [Fixed] Update logs config service field to optional. See [#7209](https://github.com/DataDog/integrations-core/pull/7209). +***Added***: + +* Use config specs. See [#6950](https://github.com/DataDog/integrations-core/pull/6950). + +***Fixed***: + +* Update logs config service field to optional. See [#7209](https://github.com/DataDog/integrations-core/pull/7209). + ## 2.6.1 / 2020-06-29 / Agent 7.21.0 -* [Fixed] Use Agent6 style init. See [#6949](https://github.com/DataDog/integrations-core/pull/6949). +***Fixed***: + +* Use Agent6 style init. See [#6949](https://github.com/DataDog/integrations-core/pull/6949). + ## 2.6.0 / 2020-05-17 / Agent 7.20.0 -* [Added] Allow optional dependency installation for all checks. See [#6589](https://github.com/DataDog/integrations-core/pull/6589). +***Added***: + +* Allow optional dependency installation for all checks. See [#6589](https://github.com/DataDog/integrations-core/pull/6589). + ## 2.5.0 / 2020-05-04 -* [Added] Add new metrics for ZK version 3.6. See [#6421](https://github.com/DataDog/integrations-core/pull/6421). +***Added***: + +* Add new metrics for ZK version 3.6. See [#6421](https://github.com/DataDog/integrations-core/pull/6421). + ## 2.4.2 / 2020-04-13 / Agent 7.19.0 -* [Fixed] Handle non-integers when parsing latency values. See [#6323](https://github.com/DataDog/integrations-core/pull/6323). +***Fixed***: + +* Handle non-integers when parsing latency values. See [#6323](https://github.com/DataDog/integrations-core/pull/6323). + ## 2.4.1 / 2020-04-04 -* [Fixed] Update deprecated imports. See [#6088](https://github.com/DataDog/integrations-core/pull/6088). -* [Fixed] Remove logs sourcecategory. See [#6121](https://github.com/DataDog/integrations-core/pull/6121). +***Fixed***: + +* Update deprecated imports. See [#6088](https://github.com/DataDog/integrations-core/pull/6088). +* Remove logs sourcecategory. See [#6121](https://github.com/DataDog/integrations-core/pull/6121). + ## 2.4.0 / 2020-01-13 / Agent 7.17.0 -* [Added] Use lazy logging format. See [#5398](https://github.com/DataDog/integrations-core/pull/5398). +***Added***: + +* Use lazy logging format. See [#5398](https://github.com/DataDog/integrations-core/pull/5398). + ## 2.3.0 / 2019-12-02 / Agent 7.16.0 -* [Added] Add version metadata. See [#4927](https://github.com/DataDog/integrations-core/pull/4927). +***Added***: + +* Add version metadata. See [#4927](https://github.com/DataDog/integrations-core/pull/4927). + ## 2.2.0 / 2019-05-14 / Agent 6.12.0 -* [Added] Adhere to code style. See [#3586](https://github.com/DataDog/integrations-core/pull/3586). +***Added***: + +* Adhere to code style. See [#3586](https://github.com/DataDog/integrations-core/pull/3586). + ## 2.1.0 / 2019-01-04 / Agent 6.9.0 -* [Added] Support Python 3. See [#2781](https://github.com/DataDog/integrations-core/pull/2781). +***Added***: + +* Support Python 3. See [#2781](https://github.com/DataDog/integrations-core/pull/2781). + ## 2.0.0 / 2018-11-30 / Agent 6.8.0 -* [Removed] Removed incorrect metric name 'bytes_outstanding'. See [#2476](https://github.com/DataDog/integrations-core/pull/2476). +***Removed***: + +* Removed incorrect metric name 'bytes_outstanding'. See [#2476](https://github.com/DataDog/integrations-core/pull/2476). + ## 1.2.1 / 2018-09-04 / Agent 6.5.0 -* [Fixed] Add data files to the wheel package. See [#1727](https://github.com/DataDog/integrations-core/pull/1727). +***Fixed***: + +* Add data files to the wheel package. See [#1727](https://github.com/DataDog/integrations-core/pull/1727). + ## 1.2.0 / 2018-01-10 -* [IMPROVEMENT] Add `zookeeper.packets.received` and `zookeeper.packets.sent` as `rate` metrics +***Added***: + +* Add `zookeeper.packets.received` and `zookeeper.packets.sent` as `rate` metrics + for the `stat` command output to correct the incorrect `zookeeper.bytes_received` and `zookeeper.bytes_sent` metrics. See [#816](https://github.com/DataDog/integrations-core/pull/816) ## 1.1.0 / 2017-07-18 -* [IMPROVEMENT] Replace usage of deprecated `AgentCheck.set` method with `gauge`. See [#473](https://github.com/DataDog/integrations-core/issues/473) +***Fixed***: + +* Replace usage of deprecated `AgentCheck.set` method with `gauge`. See [#473](https://github.com/DataDog/integrations-core/issues/473) + ## 1.0.1 / 2017-04-24 -* [BUGFIX] Fix version parsing causing false positives with `3.4.10`. See [#341](https://github.com/DataDog/integrations-core/issues/341) +***Fixed***: + +* Fix version parsing causing false positives with `3.4.10`. See [#341](https://github.com/DataDog/integrations-core/issues/341) + ## 1.0.0 / 2017-03-22 -* [FEATURE] adds zk integration. +***Added***: + +* adds zk integration. + From 55fb7949a6d4596ed6f1ad811ee51d3a316937f7 Mon Sep 17 00:00:00 2001 From: mathieucolin <38884429+mathieucolin@users.noreply.github.com> Date: Wed, 5 Jul 2023 09:23:22 +0200 Subject: [PATCH 22/77] updating query for the CrashloopBackOff recommended monitor (#15063) --- kubernetes/assets/monitors/monitor_pod_crashloopbackoff.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubernetes/assets/monitors/monitor_pod_crashloopbackoff.json b/kubernetes/assets/monitors/monitor_pod_crashloopbackoff.json index b40fd9e59c871..2163551079fdd 100644 --- a/kubernetes/assets/monitors/monitor_pod_crashloopbackoff.json +++ b/kubernetes/assets/monitors/monitor_pod_crashloopbackoff.json @@ -1,7 +1,7 @@ { "name": "[kubernetes] Pod {{pod_name.name}} is CrashloopBackOff on namespace {{kube_namespace.name}}", "type": "query alert", - "query": "max(last_10m):max:kubernetes_state.container.status_report.count.waiting{reason:crashloopbackoff} by {kube_cluster_name,kube_namespace,pod_name} >= 1", + "query": "max(last_10m):default_zero(max:kubernetes_state.container.status_report.count.waiting{reason:crashloopbackoff} by {kube_cluster_name,kube_namespace,pod_name}) >= 1", "message": "pod {{pod_name.name}} is in CrashloopBackOff on {{kube_namespace.name}} \n This alert could generate several alerts for a bad deployment. Adjust the thresholds of the query to suit your infrastructure.", "tags": [ "integration:kubernetes" From b7fa51f5f7dbdd5ff0715d5c095796c393fc31a3 Mon Sep 17 00:00:00 2001 From: NouhaManai Date: Wed, 5 Jul 2023 09:26:28 +0200 Subject: [PATCH 23/77] Add profile for Exagrid (#15137) --- .../snmp/data/default_profiles/exagrid.yaml | 84 +++++++++++++++ snmp/metadata.csv | 15 +++ snmp/tests/compose/data/exagrid.snmprec | 56 ++++++++++ .../test_profile_exagrid.py | 101 ++++++++++++++++++ 4 files changed, 256 insertions(+) create mode 100644 snmp/datadog_checks/snmp/data/default_profiles/exagrid.yaml create mode 100644 snmp/tests/compose/data/exagrid.snmprec create mode 100644 snmp/tests/test_e2e_core_profiles/test_profile_exagrid.py diff --git a/snmp/datadog_checks/snmp/data/default_profiles/exagrid.yaml b/snmp/datadog_checks/snmp/data/default_profiles/exagrid.yaml new file mode 100644 index 0000000000000..3ac4269809daa --- /dev/null +++ b/snmp/datadog_checks/snmp/data/default_profiles/exagrid.yaml @@ -0,0 +1,84 @@ +extends: + - _base.yaml + - _generic-host-resources.yaml + - _generic-if.yaml + +sysobjectid: + - 1.3.6.1.4.1.14941.3.* + +metadata: + device: + fields: + vendor: + value: "exagrid" + +metrics: + - MIB: EXAGRID-MIB + symbol: + OID: 1.3.6.1.4.1.14941.4.1.1.0 + name: egLandingSpaceConfiguredWholeGigabytes + - MIB: EXAGRID-MIB + symbol: + OID: 1.3.6.1.4.1.14941.4.1.2.0 + name: egLandingSpaceConfiguredFractionalGigabytes + - MIB: EXAGRID-MIB + symbol: + OID: 1.3.6.1.4.1.14941.4.1.3.0 + name: egLandingSpaceAvailableWholeGigabytes + - MIB: EXAGRID-MIB + symbol: + OID: 1.3.6.1.4.1.14941.4.1.4.0 + name: egLandingSpaceAvailableFractionalGigabytes + - MIB: EXAGRID-MIB + symbol: + OID: 1.3.6.1.4.1.14941.4.2.1.0 + name: egRetentionSpaceConfiguredWholeGigabytes + - MIB: EXAGRID-MIB + symbol: + OID: 1.3.6.1.4.1.14941.4.2.2.0 + name: egRetentionSpaceConfiguredFractionalGigabytes + - MIB: EXAGRID-MIB + symbol: + OID: 1.3.6.1.4.1.14941.4.2.3.0 + name: egRetentionSpaceAvailableWholeGigabytes + - MIB: EXAGRID-MIB + symbol: + OID: 1.3.6.1.4.1.14941.4.2.4.0 + name: egRetentionSpaceAvailableFractionalGigabytes + - MIB: EXAGRID-MIB + symbol: + OID: 1.3.6.1.4.1.14941.4.3.1.0 + name: egBackupDataAvailableWholeGigabytes + - MIB: EXAGRID-MIB + symbol: + OID: 1.3.6.1.4.1.14941.4.3.2.0 + name: egBackupDataAvailableFractionalGigabytes + - MIB: EXAGRID-MIB + symbol: + OID: 1.3.6.1.4.1.14941.4.3.3.0 + name: egBackupDataSpaceConsumedWholeGigabytes + - MIB: EXAGRID-MIB + symbol: + OID: 1.3.6.1.4.1.14941.4.3.4.0 + name: egBackupDataSpaceConsumedFractionalGigabytes + - MIB: EXAGRID-MIB + symbol: + OID: 1.3.6.1.4.1.14941.4.4.1.0 + name: egPendingDeduplicationWholeGigabytes + - MIB: EXAGRID-MIB + symbol: + OID: 1.3.6.1.4.1.14941.4.4.2.0 + name: egPendingDeduplicationFractionalGigabytes + - MIB: EXAGRID-MIB + symbol: + OID: 1.3.6.1.4.1.14941.4.4.3.0 + name: egPendingDeduplicationAge + # - MIB: EXAGRID-MIB + # symbol: + # OID: 1.3.6.1.4.1.14941.4.6 + # name: exagridServerStatus + # mapping: + # 1: no_alarm + # 2: warning_alarm + # 3: error_alarm + # TODO: Support `constant_value_one` and `metric_tags` for scalar OID metrics diff --git a/snmp/metadata.csv b/snmp/metadata.csv index c7b796196d042..9071f35bd002c 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -432,6 +432,21 @@ snmp.dskPercent,gauge,,,,"[UCD-SNMP-MIB] Percentage of space used on disk",0,snm snmp.dskPercentNode,gauge,,,,"[UCD-SNMP-MIB] Percentage of inodes used on disk",0,snmp,, snmp.dskTotal,gauge,,,,"[UCD-SNMP-MIB] Total size of the disk/partion (kBytes). For large disks (>2Tb), this value will latch at INT32_MAX (2147483647).",0,snmp,, snmp.dskUsed,gauge,,,,"[UCD-SNMP-MIB] Used space on the disk. For large heavily-used disks (>2Tb), this value will latch at INT32_MAX (2147483647).",0,snmp,, +snmp.egBackupDataAvailableFractionalGigabytes,gauge,,,,"[EXAGRID-MIB] The amount of data available for restore by a backup application below 1 Gigabyte in bytes",0,snmp,, +snmp.egBackupDataAvailableWholeGigabytes,gauge,,,,"[EXAGRID-MIB] The amount of data available for restore by a backup application scaled to GigaBytes (10^9) bytes",0,snmp,, +snmp.egBackupDataSpaceConsumedFractionalGigabytes,gauge,,,,"[EXAGRID-MIB] The amount of consumed retention space below 1 Gigabyte in bytes",0,snmp,, +snmp.egBackupDataSpaceConsumedWholeGigabytes,gauge,,,,"[EXAGRID-MIB] The amount of consumed retention space scaled to GigaBytes (10^9) bytes",0,snmp,, +snmp.egLandingSpaceAvailableFractionalGigabytes,gauge,,,,"[EXAGRID-MIB] The amount of available landing space below 1 Gigabyte in bytes",0,snmp,, +snmp.egLandingSpaceAvailableWholeGigabytes,gauge,,,,"[EXAGRID-MIB] The amount of available landing space scaled to GigaBytes (10^9) bytes",0,snmp,, +snmp.egLandingSpaceConfiguredFractionalGigabytes,gauge,,,,"[EXAGRID-MIB] The amount of configured landing space below 1 Gigabyte in bytes",0,snmp,, +snmp.egLandingSpaceConfiguredWholeGigabytes,gauge,,,,"[EXAGRID-MIB] The amount of configured landing space scaled to GigaBytes (10^9) bytes",0,snmp,, +snmp.egPendingDeduplicationAge,gauge,,,,"[EXAGRID-MIB] The amount of time that data has been available for deduplication, but has not yet been deduplicated",0,snmp,, +snmp.egPendingDeduplicationFractionalGigabytes,gauge,,,,"[EXAGRID-MIB] The amount of data not yet deduplicated below 1 Gigabyte in bytes",0,snmp,, +snmp.egPendingDeduplicationWholeGigabytes,gauge,,,,"[EXAGRID-MIB] The amount of data not yet deduplicated scaled to GigaBytes (10^9) bytes",0,snmp,, +snmp.egRetentionSpaceAvailableFractionalGigabytes,gauge,,,,"[EXAGRID-MIB] The amount of available retention space below 1 Gigabyte in bytes",0,snmp,, +snmp.egRetentionSpaceAvailableWholeGigabytes,gauge,,,,"[EXAGRID-MIB] The amount of available retention space scaled to GigaBytes (10^9) bytes",0,snmp,, +snmp.egRetentionSpaceConfiguredFractionalGigabytes,gauge,,,,"[EXAGRID-MIB] The amount of configured retention space below 1 Gigabyte in bytes",0,snmp,, +snmp.egRetentionSpaceConfiguredWholeGigabytes,gauge,,,,"[EXAGRID-MIB] The amount of configured retention space scaled to GigaBytes (10^9) bytes",0,snmp,, snmp.egressAclCurrentCounters,gauge,,,,,0,snmp,, snmp.egressAclCurrentEntries,gauge,,,,"",0,snmp,, snmp.egressAclCurrentMeters,gauge,,,,"",0,snmp,, diff --git a/snmp/tests/compose/data/exagrid.snmprec b/snmp/tests/compose/data/exagrid.snmprec new file mode 100644 index 0000000000000..c437b6b7756ab --- /dev/null +++ b/snmp/tests/compose/data/exagrid.snmprec @@ -0,0 +1,56 @@ +1.3.6.1.2.1.1.1.0|4|exagrid Device Description +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.14941.3.999 +1.3.6.1.2.1.1.5.0|4|exagrid.device.name +1.3.6.1.2.1.2.1.0|2|28 +1.3.6.1.2.1.25.1.1.0|67|201526890 +1.3.6.1.2.1.25.2.3.1.1.4|2|4 +1.3.6.1.2.1.25.2.3.1.1.31|2|31 +1.3.6.1.2.1.25.2.3.1.2.4|6|1.3.6.1.3.167.36 +1.3.6.1.2.1.25.2.3.1.2.31|6|1.3.6.1.3 +1.3.6.1.2.1.25.2.3.1.3.4|4x|6b65707420627574207468656972204a61646564206275742064726976696e67 +1.3.6.1.2.1.25.2.3.1.3.31|4x|7a6f6d62696573206f78656e206b657074204a6164656420717561696e746c79207a6f6d62696573 +1.3.6.1.2.1.25.2.3.1.5.4|2|17 +1.3.6.1.2.1.25.2.3.1.5.31|2|21 +1.3.6.1.2.1.25.2.3.1.6.4|2|30 +1.3.6.1.2.1.25.2.3.1.6.31|2|4 +1.3.6.1.2.1.25.3.3.1.1.10|2|10 +1.3.6.1.2.1.25.3.3.1.1.21|2|21 +1.3.6.1.2.1.25.3.3.1.2.10|2|31 +1.3.6.1.2.1.25.3.3.1.2.21|2|15 +1.3.6.1.4.1.14941.2.1.0|4|oxen +1.3.6.1.4.1.14941.2.2.0|4x|6f78656e207a6f6d62696573206f78656e207468656972 +1.3.6.1.4.1.14941.2.3.0|4x|666f7277617264206b657074206b657074204a61646564207a6f6d6269657320627574 +1.3.6.1.4.1.14941.2.4.0|4x|4a61646564204a61646564204a6164656420666f7277617264206b657074207a6f6d62696573 +1.3.6.1.4.1.14941.2.5.0|4x|717561696e746c792064726976696e672064726976696e6720666f727761726420717561696e746c79207a6f6d6269657320627574204a61646564207a6f6d62696573 +1.3.6.1.4.1.14941.2.6.0|4x|6b657074207468656972204a61646564 +1.3.6.1.4.1.14941.2.7.0|4x|6275742061637465642064726976696e672064726976696e67206f78656e206b657074206f78656e +1.3.6.1.4.1.14941.2.8.0|4|their +1.3.6.1.4.1.14941.2.9.0|4x|666f7277617264207a6f6d62696573204a61646564 +1.3.6.1.4.1.14941.2.10.0|4x|6f78656e20666f7277617264206b657074204a61646564206163746564207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.14941.2.11.0|4x|6b657074207a6f6d6269657320717561696e746c79206b65707420627574207468656972 +1.3.6.1.4.1.14941.2.12.0|4x|6b65707420746865697220666f7277617264207468656972207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.14941.2.13.0|4x|6b65707420627574207468656972204a61646564206f78656e207a6f6d62696573 +1.3.6.1.4.1.14941.2.14.0|4x|7a6f6d6269657320717561696e746c79204a61646564206f78656e2064726976696e67 +1.3.6.1.4.1.14941.2.15.0|4x|7a6f6d62696573204a616465642064726976696e6720616374656420627574204a6164656420717561696e746c79 +1.3.6.1.4.1.14941.4.1.1.0|66|192538091 +1.3.6.1.4.1.14941.4.1.2.0|66|1619988292 +1.3.6.1.4.1.14941.4.1.3.0|66|1251296121 +1.3.6.1.4.1.14941.4.1.4.0|66|1895110690 +1.3.6.1.4.1.14941.4.2.1.0|66|3876349370 +1.3.6.1.4.1.14941.4.2.2.0|66|2138476746 +1.3.6.1.4.1.14941.4.2.3.0|66|3287396673 +1.3.6.1.4.1.14941.4.2.4.0|66|1760854258 +1.3.6.1.4.1.14941.4.3.1.0|66|3824356757 +1.3.6.1.4.1.14941.4.3.2.0|66|2313008966 +1.3.6.1.4.1.14941.4.3.3.0|66|2846755462 +1.3.6.1.4.1.14941.4.3.4.0|66|1280180494 +1.3.6.1.4.1.14941.4.4.1.0|66|3008904144 +1.3.6.1.4.1.14941.4.4.2.0|66|127938589 +1.3.6.1.4.1.14941.4.4.3.0|67|3494277662 +1.3.6.1.4.1.14941.4.5.1.0|66|3324669542 +1.3.6.1.4.1.14941.4.5.2.0|66|3199025636 +1.3.6.1.4.1.14941.4.5.3.0|67|955033286 +1.3.6.1.4.1.14941.4.6.1.0|2|22 +1.3.6.1.6.3.1.1.4.1.0|6|1.3.6.1.3.6.60.123.232.193.34.194 +1.3.6.1.6.3.1.1.4.3.0|6|1.3.6.1.3.162.147.195.8.83.210.97.36.54 +1.3.6.1.6.3.1.1.6.1.0|2|27 diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_exagrid.py b/snmp/tests/test_e2e_core_profiles/test_profile_exagrid.py new file mode 100644 index 0000000000000..604feecddda99 --- /dev/null +++ b/snmp/tests/test_e2e_core_profiles/test_profile_exagrid.py @@ -0,0 +1,101 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +import pytest + +from datadog_checks.dev.utils import get_metadata_metrics + +from .. import common +from ..test_e2e_core_metadata import assert_device_metadata +from .utils import ( + assert_common_metrics, + assert_extend_generic_host_resources, + assert_extend_generic_if, + create_e2e_core_test_config, + get_device_ip_from_config, +) + +pytestmark = [pytest.mark.e2e, common.py3_plus_only, common.snmp_integration_only] + + +def test_e2e_profile_exagrid(dd_agent_check): + config = create_e2e_core_test_config('exagrid') + aggregator = common.dd_agent_check_wrapper(dd_agent_check, config, rate=True) + + ip_address = get_device_ip_from_config(config) + common_tags = [ + 'snmp_profile:exagrid', + 'snmp_host:exagrid.device.name', + 'device_namespace:default', + 'snmp_device:' + ip_address, + ] + + # --- TEST EXTENDED METRICS --- + # Examples: + assert_extend_generic_host_resources(aggregator, common_tags) + assert_extend_generic_if(aggregator, common_tags) + + # --- TEST METRICS --- + assert_common_metrics(aggregator, common_tags) + + aggregator.assert_metric( + 'snmp.egBackupDataAvailableFractionalGigabytes', metric_type=aggregator.GAUGE, tags=common_tags + ) + aggregator.assert_metric('snmp.egBackupDataAvailableWholeGigabytes', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric( + 'snmp.egBackupDataSpaceConsumedFractionalGigabytes', metric_type=aggregator.GAUGE, tags=common_tags + ) + aggregator.assert_metric( + 'snmp.egBackupDataSpaceConsumedWholeGigabytes', metric_type=aggregator.GAUGE, tags=common_tags + ) + aggregator.assert_metric( + 'snmp.egLandingSpaceAvailableFractionalGigabytes', metric_type=aggregator.GAUGE, tags=common_tags + ) + aggregator.assert_metric( + 'snmp.egLandingSpaceAvailableWholeGigabytes', metric_type=aggregator.GAUGE, tags=common_tags + ) + aggregator.assert_metric( + 'snmp.egLandingSpaceConfiguredFractionalGigabytes', metric_type=aggregator.GAUGE, tags=common_tags + ) + aggregator.assert_metric( + 'snmp.egLandingSpaceConfiguredWholeGigabytes', metric_type=aggregator.GAUGE, tags=common_tags + ) + aggregator.assert_metric('snmp.egPendingDeduplicationAge', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric( + 'snmp.egPendingDeduplicationFractionalGigabytes', metric_type=aggregator.GAUGE, tags=common_tags + ) + aggregator.assert_metric( + 'snmp.egPendingDeduplicationWholeGigabytes', metric_type=aggregator.GAUGE, tags=common_tags + ) + aggregator.assert_metric( + 'snmp.egRetentionSpaceAvailableFractionalGigabytes', metric_type=aggregator.GAUGE, tags=common_tags + ) + aggregator.assert_metric( + 'snmp.egRetentionSpaceAvailableWholeGigabytes', metric_type=aggregator.GAUGE, tags=common_tags + ) + aggregator.assert_metric( + 'snmp.egRetentionSpaceConfiguredFractionalGigabytes', metric_type=aggregator.GAUGE, tags=common_tags + ) + aggregator.assert_metric( + 'snmp.egRetentionSpaceConfiguredWholeGigabytes', metric_type=aggregator.GAUGE, tags=common_tags + ) + + # --- TEST METADATA --- + device = { + 'description': 'exagrid Device Description', + 'id': 'default:' + ip_address, + 'id_tags': ['device_namespace:default', 'snmp_device:' + ip_address], + 'ip_address': '' + ip_address, + 'name': 'exagrid.device.name', + 'profile': 'exagrid', + 'status': 1, + 'sys_object_id': '1.3.6.1.4.1.14941.3.999', + 'vendor': 'exagrid', + } + device['tags'] = common_tags + assert_device_metadata(aggregator, device) + + # --- CHECK COVERAGE --- + aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) From 47a696a75c8114db6b153b686b78de9db88ba144 Mon Sep 17 00:00:00 2001 From: Sarah Wang Date: Wed, 5 Jul 2023 03:31:07 -0400 Subject: [PATCH 24/77] Update formatting for changelogs (#14976) * Update formatting for changelogs * Update oracle/CHANGELOG.md Co-authored-by: Ofek Lev --------- Co-authored-by: Ofek Lev --- oracle/CHANGELOG.md | 308 ++++++++++++++++++++++++++++++++++---------- 1 file changed, 238 insertions(+), 70 deletions(-) diff --git a/oracle/CHANGELOG.md b/oracle/CHANGELOG.md index 545d5b4d2a4ee..24fbd727aca19 100644 --- a/oracle/CHANGELOG.md +++ b/oracle/CHANGELOG.md @@ -2,193 +2,352 @@ ## 4.1.1 / 2023-05-26 -* [Fixed] Update dependencies. See [#14594](https://github.com/DataDog/integrations-core/pull/14594). +***Fixed***: + +* Update dependencies. See [#14594](https://github.com/DataDog/integrations-core/pull/14594). + ## 4.1.0 / 2023-04-14 / Agent 7.45.0 -* [Added] Update dependencies. See [#14357](https://github.com/DataDog/integrations-core/pull/14357). -* [Added] Add thick mode for oracledb. See [#14166](https://github.com/DataDog/integrations-core/pull/14166). -* [Fixed] Update GV$PROCESS query. See [#14143](https://github.com/DataDog/integrations-core/pull/14143). Thanks [jake-condello](https://github.com/jake-condello). +***Added***: + +* Update dependencies. See [#14357](https://github.com/DataDog/integrations-core/pull/14357). +* Add thick mode for oracledb. See [#14166](https://github.com/DataDog/integrations-core/pull/14166). + +***Fixed***: + +* Update GV$PROCESS query. See [#14143](https://github.com/DataDog/integrations-core/pull/14143). Thanks [jake-condello](https://github.com/jake-condello). + ## 4.0.1 / 2023-01-20 / Agent 7.43.0 -* [Fixed] Do not add `can_use_jdbc` to `check_initializations`. See [#13521](https://github.com/DataDog/integrations-core/pull/13521). +***Fixed***: + +* Do not add `can_use_jdbc` to `check_initializations`. See [#13521](https://github.com/DataDog/integrations-core/pull/13521). + ## 4.0.0 / 2022-12-09 / Agent 7.42.0 -* [Fixed] Update dependencies. See [#13478](https://github.com/DataDog/integrations-core/pull/13478). -* [Fixed] Skip empty columns when metric_prefix is used for custom queries. See [#13234](https://github.com/DataDog/integrations-core/pull/13234). -* [Changed] Update Oracle check to use python-oracledb library. See [#13298](https://github.com/DataDog/integrations-core/pull/13298). +***Changed***: + +* Update Oracle check to use python-oracledb library. See [#13298](https://github.com/DataDog/integrations-core/pull/13298). + +***Fixed***: + +* Update dependencies. See [#13478](https://github.com/DataDog/integrations-core/pull/13478). +* Skip empty columns when metric_prefix is used for custom queries. See [#13234](https://github.com/DataDog/integrations-core/pull/13234). + ## 3.9.5 / 2022-08-05 / Agent 7.39.0 -* [Fixed] Dependency updates. See [#12653](https://github.com/DataDog/integrations-core/pull/12653). +***Fixed***: + +* Dependency updates. See [#12653](https://github.com/DataDog/integrations-core/pull/12653). + ## 3.9.4 / 2022-05-15 / Agent 7.37.0 -* [Fixed] Add a lock around jdbc connection. See [#11877](https://github.com/DataDog/integrations-core/pull/11877). -* [Fixed] Do not close closed connection. See [#11874](https://github.com/DataDog/integrations-core/pull/11874). +***Fixed***: + +* Add a lock around jdbc connection. See [#11877](https://github.com/DataDog/integrations-core/pull/11877). +* Do not close closed connection. See [#11874](https://github.com/DataDog/integrations-core/pull/11874). + ## 3.9.3 / 2022-04-14 / Agent 7.36.0 -* [Fixed] Handle NoneType protocol validation. See [#11837](https://github.com/DataDog/integrations-core/pull/11837). +***Fixed***: + +* Handle NoneType protocol validation. See [#11837](https://github.com/DataDog/integrations-core/pull/11837). + ## 3.9.2 / 2022-04-11 -* [Fixed] Ensure connect raises exception on failure. See [#11787](https://github.com/DataDog/integrations-core/pull/11787). +***Fixed***: + +* Ensure connect raises exception on failure. See [#11787](https://github.com/DataDog/integrations-core/pull/11787). + ## 3.9.1 / 2022-04-07 -* [Fixed] Fix protocol validation. See [#11791](https://github.com/DataDog/integrations-core/pull/11791). +***Fixed***: + +* Fix protocol validation. See [#11791](https://github.com/DataDog/integrations-core/pull/11791). + ## 3.9.0 / 2022-04-05 -* [Added] Upgrade dependencies. See [#11726](https://github.com/DataDog/integrations-core/pull/11726). +***Added***: + +* Upgrade dependencies. See [#11726](https://github.com/DataDog/integrations-core/pull/11726). + ## 3.8.0 / 2022-03-25 -* [Added] Add metric_patterns options to filter all metric submission by a list of regexes. See [#11695](https://github.com/DataDog/integrations-core/pull/11695). -* [Fixed] Properly report a critical service check status if connection to database fails using the Oracle client. See [#11691](https://github.com/DataDog/integrations-core/pull/11691). -* [Fixed] Fix validation for the `protocol` param. See [#11675](https://github.com/DataDog/integrations-core/pull/11675). +***Added***: + +* Add metric_patterns options to filter all metric submission by a list of regexes. See [#11695](https://github.com/DataDog/integrations-core/pull/11695). + +***Fixed***: + +* Properly report a critical service check status if connection to database fails using the Oracle client. See [#11691](https://github.com/DataDog/integrations-core/pull/11691). +* Fix validation for the `protocol` param. See [#11675](https://github.com/DataDog/integrations-core/pull/11675). + ## 3.7.0 / 2022-02-19 / Agent 7.35.0 -* [Added] Add `pyproject.toml` file. See [#11410](https://github.com/DataDog/integrations-core/pull/11410). -* [Fixed] Fix namespace packaging on Python 2. See [#11532](https://github.com/DataDog/integrations-core/pull/11532). +***Added***: + +* Add `pyproject.toml` file. See [#11410](https://github.com/DataDog/integrations-core/pull/11410). + +***Fixed***: + +* Fix namespace packaging on Python 2. See [#11532](https://github.com/DataDog/integrations-core/pull/11532). + ## 3.6.0 / 2022-01-08 / Agent 7.34.0 -* [Added] Add TCPS support for Oracle DB. See [#10591](https://github.com/DataDog/integrations-core/pull/10591). -* [Fixed] Add comment to autogenerated model files. See [#10945](https://github.com/DataDog/integrations-core/pull/10945). +***Added***: + +* Add TCPS support for Oracle DB. See [#10591](https://github.com/DataDog/integrations-core/pull/10591). + +***Fixed***: + +* Add comment to autogenerated model files. See [#10945](https://github.com/DataDog/integrations-core/pull/10945). + ## 3.5.0 / 2021-10-04 / Agent 7.32.0 -* [Added] Sync configs with new option and bump base requirement. See [#10315](https://github.com/DataDog/integrations-core/pull/10315). -* [Added] Update dependencies. See [#10258](https://github.com/DataDog/integrations-core/pull/10258). -* [Added] Disable generic tags. See [#10027](https://github.com/DataDog/integrations-core/pull/10027). -* [Fixed] Add server as generic tag. See [#10100](https://github.com/DataDog/integrations-core/pull/10100). +***Added***: + +* Sync configs with new option and bump base requirement. See [#10315](https://github.com/DataDog/integrations-core/pull/10315). +* Update dependencies. See [#10258](https://github.com/DataDog/integrations-core/pull/10258). +* Disable generic tags. See [#10027](https://github.com/DataDog/integrations-core/pull/10027). + +***Fixed***: + +* Add server as generic tag. See [#10100](https://github.com/DataDog/integrations-core/pull/10100). + ## 3.4.0 / 2021-09-02 -* [Added] Add new service check `oracle.can_query`. See [#10004](https://github.com/DataDog/integrations-core/pull/10004). +***Added***: + +* Add new service check `oracle.can_query`. See [#10004](https://github.com/DataDog/integrations-core/pull/10004). + ## 3.3.4 / 2021-08-04 / Agent 7.31.0 -* [Fixed] Create dns with instant client. See [#9712](https://github.com/DataDog/integrations-core/pull/9712). +***Fixed***: + +* Create dns with instant client. See [#9712](https://github.com/DataDog/integrations-core/pull/9712). + ## 3.3.3 / 2021-07-30 -* [Fixed] Explicitly close connection after query error. See [#9800](https://github.com/DataDog/integrations-core/pull/9800). +***Fixed***: + +* Explicitly close connection after query error. See [#9800](https://github.com/DataDog/integrations-core/pull/9800). + ## 3.3.2 / 2021-07-22 / Agent 7.30.0 -* [Fixed] Properly allow deprecated required config. See [#9750](https://github.com/DataDog/integrations-core/pull/9750). -* [Fixed] Bump base package dependency. See [#9666](https://github.com/DataDog/integrations-core/pull/9666). +***Fixed***: + +* Properly allow deprecated required config. See [#9750](https://github.com/DataDog/integrations-core/pull/9750). +* Bump base package dependency. See [#9666](https://github.com/DataDog/integrations-core/pull/9666). + ## 3.3.1 / 2021-07-12 -* [Fixed] Bump base package dependency. See [#9666](https://github.com/DataDog/integrations-core/pull/9666). -* [Fixed] Dont use connection string for client. See [#9219](https://github.com/DataDog/integrations-core/pull/9219). +***Fixed***: + +* Bump base package dependency. See [#9666](https://github.com/DataDog/integrations-core/pull/9666). +* Dont use connection string for client. See [#9219](https://github.com/DataDog/integrations-core/pull/9219). + ## 3.3.0 / 2021-04-19 / Agent 7.28.0 -* [Added] Add runtime configuration validation. See [#8966](https://github.com/DataDog/integrations-core/pull/8966). +***Added***: + +* Add runtime configuration validation. See [#8966](https://github.com/DataDog/integrations-core/pull/8966). + ## 3.2.0 / 2021-03-07 / Agent 7.27.0 -* [Added] Upgrade JPype1 to 1.2.1. See [#8479](https://github.com/DataDog/integrations-core/pull/8479). -* [Fixed] Bump minimum base package version. See [#8443](https://github.com/DataDog/integrations-core/pull/8443). +***Added***: + +* Upgrade JPype1 to 1.2.1. See [#8479](https://github.com/DataDog/integrations-core/pull/8479). + +***Fixed***: + +* Bump minimum base package version. See [#8443](https://github.com/DataDog/integrations-core/pull/8443). + ## 3.1.1 / 2021-01-25 / Agent 7.26.0 -* [Fixed] Make more explicit which connection was established. See [#8416](https://github.com/DataDog/integrations-core/pull/8416). -* [Fixed] Correct default template usage. See [#8233](https://github.com/DataDog/integrations-core/pull/8233). +***Fixed***: + +* Make more explicit which connection was established. See [#8416](https://github.com/DataDog/integrations-core/pull/8416). +* Correct default template usage. See [#8233](https://github.com/DataDog/integrations-core/pull/8233). + ## 3.1.0 / 2020-11-25 / Agent 7.25.0 -* [Added] Cache the client connection when there are no errors. See [#8083](https://github.com/DataDog/integrations-core/pull/8083). -* [Fixed] Add config spec. See [#7988](https://github.com/DataDog/integrations-core/pull/7988). +***Added***: + +* Cache the client connection when there are no errors. See [#8083](https://github.com/DataDog/integrations-core/pull/8083). + +***Fixed***: + +* Add config spec. See [#7988](https://github.com/DataDog/integrations-core/pull/7988). + ## 3.0.0 / 2020-10-31 / Agent 7.24.0 -* [Changed] QueryManager - Prevent queries leaking between check instances. See [#7750](https://github.com/DataDog/integrations-core/pull/7750). +***Changed***: + +* QueryManager - Prevent queries leaking between check instances. See [#7750](https://github.com/DataDog/integrations-core/pull/7750). + ## 2.1.1 / 2020-09-21 / Agent 7.23.0 -* [Fixed] Fix style for the latest release of Black. See [#7438](https://github.com/DataDog/integrations-core/pull/7438). -* [Fixed] Bump jaydebeapi and jpype1. See [#6963](https://github.com/DataDog/integrations-core/pull/6963). +***Fixed***: + +* Fix style for the latest release of Black. See [#7438](https://github.com/DataDog/integrations-core/pull/7438). +* Bump jaydebeapi and jpype1. See [#6963](https://github.com/DataDog/integrations-core/pull/6963). + ## 2.1.0 / 2020-05-17 / Agent 7.20.0 -* [Added] Allow optional dependency installation for all checks. See [#6589](https://github.com/DataDog/integrations-core/pull/6589). +***Added***: + +* Allow optional dependency installation for all checks. See [#6589](https://github.com/DataDog/integrations-core/pull/6589). + ## 2.0.1 / 2020-04-04 / Agent 7.19.0 -* [Fixed] Lazy import of JDBC libraries. See [#6118](https://github.com/DataDog/integrations-core/pull/6118). +***Fixed***: + +* Lazy import of JDBC libraries. See [#6118](https://github.com/DataDog/integrations-core/pull/6118). + ## 2.0.0 / 2020-02-22 / Agent 7.18.0 -* [Changed] Migrate to QueryManager. See [#5529](https://github.com/DataDog/integrations-core/pull/5529). +***Changed***: + +* Migrate to QueryManager. See [#5529](https://github.com/DataDog/integrations-core/pull/5529). + ## 1.12.0 / 2020-02-04 -* [Added] Add ability to only collect data defined in `custom_queries`. See [#5217](https://github.com/DataDog/integrations-core/pull/5217). Thanks [nowhammies](https://github.com/nowhammies). +***Added***: + +* Add ability to only collect data defined in `custom_queries`. See [#5217](https://github.com/DataDog/integrations-core/pull/5217). Thanks [nowhammies](https://github.com/nowhammies). + ## 1.11.0 / 2020-01-13 / Agent 7.17.0 -* [Added] Use lazy logging format. See [#5398](https://github.com/DataDog/integrations-core/pull/5398). -* [Added] Use lazy logging format. See [#5377](https://github.com/DataDog/integrations-core/pull/5377). -* [Fixed] Fix deprecated exception. See [#5182](https://github.com/DataDog/integrations-core/pull/5182). +***Added***: + +* Use lazy logging format. See [#5398](https://github.com/DataDog/integrations-core/pull/5398). +* Use lazy logging format. See [#5377](https://github.com/DataDog/integrations-core/pull/5377). + +***Fixed***: + +* Fix deprecated exception. See [#5182](https://github.com/DataDog/integrations-core/pull/5182). + ## 1.10.1 / 2019-10-07 / Agent 6.15.0 -* [Fixed] Use fetchall instead of iterating cursor for custom queries. This fixes an issue with the JDBC driver. See [#4664](https://github.com/DataDog/integrations-core/pull/4664). +***Fixed***: + +* Use fetchall instead of iterating cursor for custom queries. This fixes an issue with the JDBC driver. See [#4664](https://github.com/DataDog/integrations-core/pull/4664). + ## 1.10.0 / 2019-08-24 / Agent 6.14.0 -* [Added] Upgrade JPype1 to 0.7.0. See [#4211](https://github.com/DataDog/integrations-core/pull/4211). +***Added***: + +* Upgrade JPype1 to 0.7.0. See [#4211](https://github.com/DataDog/integrations-core/pull/4211). + ## 1.9.0 / 2019-07-08 / Agent 6.13.0 -* [Added] Upgrade dependencies for Python 3.7 binary wheels. See [#4030](https://github.com/DataDog/integrations-core/pull/4030). +***Added***: + +* Upgrade dependencies for Python 3.7 binary wheels. See [#4030](https://github.com/DataDog/integrations-core/pull/4030). + ## 1.8.0 / 2019-06-01 / Agent 6.12.0 -* [Added] Support multiple results in custom queries. See [#3765](https://github.com/DataDog/integrations-core/pull/3765). +***Added***: + +* Support multiple results in custom queries. See [#3765](https://github.com/DataDog/integrations-core/pull/3765). + ## 1.7.0 / 2019-05-14 -* [Added] Turn an info log into debug. See [#3661](https://github.com/DataDog/integrations-core/pull/3661). -* [Added] Adhere to code style. See [#3552](https://github.com/DataDog/integrations-core/pull/3552). +***Added***: + +* Turn an info log into debug. See [#3661](https://github.com/DataDog/integrations-core/pull/3661). +* Adhere to code style. See [#3552](https://github.com/DataDog/integrations-core/pull/3552). + ## 1.6.0 / 2019-03-29 / Agent 6.11.0 -* [Added] Add custom_queries config globally. See [#3231](https://github.com/DataDog/integrations-core/pull/3231). +***Added***: + +* Add custom_queries config globally. See [#3231](https://github.com/DataDog/integrations-core/pull/3231). + ## 1.5.0 / 2019-02-18 / Agent 6.10.0 -* [Added] Support Python 3. See [#3037](https://github.com/DataDog/integrations-core/pull/3037). -* [Fixed] Fix tablespace metrics. See [#2841](https://github.com/DataDog/integrations-core/pull/2841). +***Added***: + +* Support Python 3. See [#3037](https://github.com/DataDog/integrations-core/pull/3037). + +***Fixed***: + +* Fix tablespace metrics. See [#2841](https://github.com/DataDog/integrations-core/pull/2841). + ## 1.4.0 / 2018-09-04 / Agent 6.5.0 -* [Added] Add process metrics. See [#1856](https://github.com/DataDog/integrations-core/pull/1856). -* [Fixed] Add data files to the wheel package. See [#1727](https://github.com/DataDog/integrations-core/pull/1727). +***Added***: + +* Add process metrics. See [#1856](https://github.com/DataDog/integrations-core/pull/1856). + +***Fixed***: + +* Add data files to the wheel package. See [#1727](https://github.com/DataDog/integrations-core/pull/1727). + ## 1.3.0 / 2018-06-07 -* [Added] Support custom queries. See [#1528](https://github.com/DataDog/integrations-core/pull/1528). -* [Added] [oracle] Add ability to use the JDBC Driver instead of cx_Oracle. See [#1459](https://github.com/DataDog/integrations-core/pull/1459). -* [FEATURE] ability to use the JDBC Driver instead of `cx_Oracle` to connect to the database. See [#1459](https://github.com/DataDog/integrations-core/issues/1459) +***Added***: + +* Support custom queries. See [#1528](https://github.com/DataDog/integrations-core/pull/1528). +* Add ability to use the JDBC Driver instead of cx_Oracle. See [#1459](https://github.com/DataDog/integrations-core/pull/1459). +* ability to use the JDBC Driver instead of `cx_Oracle` to connect to the database. See [#1459](https://github.com/DataDog/integrations-core/issues/1459) + ## 1.2.0 / 2018-05-11 -* [FEATURE] adds metric `oracle.tablespace.offline`. See [#1402](https://github.com/DataDog/integrations-core/issues/1402) -* [BUGFIX] fix for DB with offline tablespace. See #1402 +***Added***: + +* adds metric `oracle.tablespace.offline`. See [#1402](https://github.com/DataDog/integrations-core/issues/1402) + +***Fixed***: + +* fix for DB with offline tablespace. See #1402 + ## 1.1.0 / 2018-05-11 -* [FEATURE] adds custom tag support to service checks. +***Added***: + +* adds custom tag support to service checks. + ## 1.0.1 / 2018-05-11 @@ -197,9 +356,18 @@ The metric `oracle.gc_cr_receive_time` has been renamed to `oracle.gc_cr_block_received` to address an erroneous metric name. Please update your dashboards and monitors. -* [BUGFIX] fix metric name to: `gc_cr_block_received`. See #1179 +***Fixed***: + +* fix metric name to: `gc_cr_block_received`. See #1179 + ## 1.0.0 / 2017-10-10 -* [FEATURE] adds oracle integration. See [#680](https://github.com/DataDog/integrations-core/issues/680). -* [BUGFIX] adds oracle integration. See [#690](https://github.com/DataDog/integrations-core/issues/690). (Thanks [@dwjvaughan](https://github.com/dwjvaughan)) +***Added***: + +* adds oracle integration. See [#680](https://github.com/DataDog/integrations-core/issues/680). + +***Fixed***: + +* adds oracle integration. See [#690](https://github.com/DataDog/integrations-core/issues/690). (Thanks [@dwjvaughan](https://github.com/dwjvaughan)) + From c14175f97e6bd1eaa01c69007a3c88ea79677c0a Mon Sep 17 00:00:00 2001 From: aquiladayc <56868556+aquiladayc@users.noreply.github.com> Date: Wed, 5 Jul 2023 16:34:43 +0900 Subject: [PATCH 25/77] Add ephemeral storage metrics for fargate check (#14775) * update e * remove lines * Update CHANGELOG.md Draft CHANGELOG.md * Update metadata.csv * Update metadata.json * Update conftest.py * Update CHANGELOG.md Remove change log * Update ecs_fargate.py Add __init__ function * Fix ecs_fargate.py and add tests * Update ecs_fargate/tests/fixtures/metadata_v4.json Co-authored-by: Cedric Lamoriniere * Update ecs_fargate/tests/fixtures/stats_linux_v4.json Co-authored-by: Cedric Lamoriniere * Update test_unit_v4.py Update license term * Update test_unit_v4.py update license format * Update metadata.csv Fix unit name * Update amazon_fargate_overview.json Update default dashboard * Update amazon_fargate_overview.json Fix typo --------- Co-authored-by: Cedric Lamoriniere --- .../dashboards/amazon_fargate_overview.json | 121 ++++- .../datadog_checks/ecs_fargate/ecs_fargate.py | 72 ++- ecs_fargate/metadata.csv | 2 + ecs_fargate/tests/conftest.py | 58 +++ ecs_fargate/tests/fixtures/metadata.json | 2 +- ecs_fargate/tests/fixtures/metadata_v4.json | 135 ++++++ .../tests/fixtures/stats_linux_v4.json | 417 ++++++++++++++++++ ecs_fargate/tests/test_unit_v4.py | 119 +++++ 8 files changed, 907 insertions(+), 19 deletions(-) create mode 100644 ecs_fargate/tests/fixtures/metadata_v4.json create mode 100644 ecs_fargate/tests/fixtures/stats_linux_v4.json create mode 100644 ecs_fargate/tests/test_unit_v4.py diff --git a/ecs_fargate/assets/dashboards/amazon_fargate_overview.json b/ecs_fargate/assets/dashboards/amazon_fargate_overview.json index a3800b7ea251f..91403158e90bb 100644 --- a/ecs_fargate/assets/dashboards/amazon_fargate_overview.json +++ b/ecs_fargate/assets/dashboards/amazon_fargate_overview.json @@ -1,6 +1,6 @@ { "title": "Amazon Fargate Overview", - "description": "## Amazon Fargate\n\nThis dashboard displays key metrics from your Amazon ECS cluster on AWS Fargate, such as cpu, memory, IO usage, and network.\n\nFurther reading on ECS-Fargate:\n\n- [Datadog ECS-Fargate integration docs](https://docs.datadoghq.com/integrations/ecs_fargate/)\n- [Integration setup docs](https://docs.datadoghq.com/integrations/faq/integration-setup-ecs-fargate/?tab=rediswebui)\n", + "description": "## Amazon Fargate\n\nThis dashboard displays key metrics from your Amazon ECS cluster on AWS Fargate, such as cpu, memory, IO usage, network and Ephemeral Storage\n\nFurther reading on ECS-Fargate:\n\n- [Datadog ECS-Fargate integration docs](https://docs.datadoghq.com/integrations/ecs_fargate/)\n- [Integration setup docs](https://docs.datadoghq.com/integrations/faq/integration-setup-ecs-fargate/?tab=rediswebui)\n", "widgets": [ { "id": 0, @@ -664,9 +664,126 @@ "width": 47, "height": 15 } + }, + { + "id": 3114557731825634, + "layout": { + "x": 1, + "y": 82, + "width": 95, + "height": 5 + }, + "definition": { + "type": "note", + "content": "Ephemeral Storage", + "background_color": "gray", + "font_size": "24", + "text_align": "center", + "show_tick": true, + "tick_pos": "50%", + "tick_edge": "bottom" + } + }, + { + "id": 256850209781962, + "layout": { + "x": 1, + "y": 89, + "width": 47, + "height": 15 + }, + "definition": { + "title": "Reserved MiB of Ephemeral Storage per task, cluster", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": + [ + "avg", + "min", + "max", + "value", + "sum" + ], + "time": + {}, + "type": "timeseries", + "requests": [ + { + "formulas": [ + { + "formula": "query1" + } + ], + "queries": [ + { + "name": "query1", + "data_source": "metrics", + "query": "avg:ecs.fargate.ephemeral_storage.reserved{*} by {task_name,cluster_name}" + } + ], + "response_format": "timeseries", + "style": { + "palette": "dog_classic", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + } + }, + { + "id": 6562039189475188, + "layout": { + "x": 49, + "y": 89, + "width": 47, + "height": 15 + }, + "definition": { + "title": "Average # of utilized MiB of Ephemeral Storage per task, cluster", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "time": {}, + "type": "timeseries", + "requests": [ + { + "formulas": [ + { + "formula": "query1" + } + ], + "queries": [ + { + "name": "query1", + "data_source": "metrics", + "query": "avg:ecs.fargate.ephemeral_storage.utilized{*} by {task_name,cluster_name}" + } + ], + "response_format": "timeseries", + "style": { + "palette": "dog_classic", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + } } ], - "template_variables": [], +"template_variables": [], "layout_type": "free", "is_read_only": true, "notify_list": [] diff --git a/ecs_fargate/datadog_checks/ecs_fargate/ecs_fargate.py b/ecs_fargate/datadog_checks/ecs_fargate/ecs_fargate.py index 3e4587c2ec82a..0ee420697350a 100644 --- a/ecs_fargate/datadog_checks/ecs_fargate/ecs_fargate.py +++ b/ecs_fargate/datadog_checks/ecs_fargate/ecs_fargate.py @@ -3,6 +3,8 @@ # Licensed under Simplified BSD License (see LICENSE) from __future__ import division +import os + import requests from dateutil import parser from six import iteritems @@ -37,11 +39,18 @@ def c_is_excluded(name, image, namespace=""): # Fargate related constants EVENT_TYPE = SOURCE_TYPE_NAME = 'ecs.fargate' -API_ENDPOINT = 'http://169.254.170.2/v2' -METADATA_ROUTE = '/metadata' -STATS_ROUTE = '/stats' DEFAULT_TIMEOUT = 5 +# Fargate ECS Endpoint v2 +API_ENDPOINT_V2 = 'http://169.254.170.2/v2' +METADATA_ROUTE_V2 = '/metadata' +STATS_ROUTE_V2 = '/stats' + +# Fargate ECS Endpoint v4 +API_ENDPOINT_V4_ENV_VAR = 'ECS_CONTAINER_METADATA_URI_V4' +METADATA_ROUTE_V4 = '/task' +STATS_ROUTE_V4 = '/task/stats' + # Default value is maxed out for some cgroup metrics CGROUP_NO_VALUE = 0x7FFFFFFFFFFFF000 @@ -67,14 +76,36 @@ def c_is_excluded(name, image, namespace=""): NETWORK_RATE_METRICS = {'rx_bytes': 'ecs.fargate.net.bytes_rcvd', 'tx_bytes': 'ecs.fargate.net.bytes_sent'} TASK_TAGGER_ENTITY_ID = "internal://global-entity-id" +EPHEMERAL_STORAGE_GAUGE_METRICS = { + 'Utilized': 'ecs.fargate.ephemeral_storage.utilized', + 'Reserved': 'ecs.fargate.ephemeral_storage.reserved', +} + class FargateCheck(AgentCheck): HTTP_CONFIG_REMAPPER = {'timeout': {'name': 'timeout', 'default': DEFAULT_TIMEOUT}} + def __init__(self, name, init_config, instances): + # Fargate metadata endpoint https://docs.aws.amazon.com/AmazonECS/latest/userguide/task-metadata-endpoint-v4-fargate.html + self.API_ENDPOINT = os.environ.get(API_ENDPOINT_V4_ENV_VAR) + + if self.API_ENDPOINT is None: + # If v4 endpoint is not available, fall back to v2 + self.API_ENDPOINT = API_ENDPOINT_V2 + self.METADATA_ROUTE = METADATA_ROUTE_V2 + self.STATS_ROUTE = STATS_ROUTE_V2 + else: + # Otherwise set v4 routes + self.METADATA_ROUTE = METADATA_ROUTE_V4 + self.STATS_ROUTE = STATS_ROUTE_V4 + + super(FargateCheck, self).__init__(name, init_config, instances) + def check(self, _): - metadata_endpoint = API_ENDPOINT + METADATA_ROUTE - stats_endpoint = API_ENDPOINT + STATS_ROUTE + metadata_endpoint = self.API_ENDPOINT + self.METADATA_ROUTE + stats_endpoint = self.API_ENDPOINT + self.STATS_ROUTE + custom_tags = self.instance.get('tags', []) try: @@ -138,18 +169,26 @@ def check(self, _): if container.get('Limits', {}).get('CPU', 0) > 0: self.gauge('ecs.fargate.cpu.limit', container['Limits']['CPU'], container_tags[c_id]) - # Generating task tags only if we need to push the only task metric - if metadata.get('Limits', {}).get('CPU', 0) > 0: - task_tags = get_tags(TASK_TAGGER_ENTITY_ID, True) or [] - # Compatibility with previous versions of the check - compat_tags = [] - for tag in task_tags: - if tag.startswith(("task_family:", "task_version:")): - compat_tags.append("ecs_" + tag) - elif tag.startswith("cluster_name:"): - compat_tags.append(tag.replace("cluster_name:", "ecs_cluster:")) - task_tags = task_tags + compat_tags + custom_tags + # Create task tags + task_tags = get_tags(TASK_TAGGER_ENTITY_ID, True) or [] + # Compatibility with previous versions of the check + compat_tags = [] + for tag in task_tags: + if tag.startswith(("task_family:", "task_version:")): + compat_tags.append("ecs_" + tag) + elif tag.startswith("cluster_name:"): + compat_tags.append(tag.replace("cluster_name:", "ecs_cluster:")) + + task_tags = task_tags + compat_tags + custom_tags + + ## Ephemeral Storage Metrics + if 'EphemeralStorageMetrics' in metadata: + es_metrics = metadata['EphemeralStorageMetrics'] + for field_name, metric_value in iteritems(es_metrics): + metric_name = EPHEMERAL_STORAGE_GAUGE_METRICS.get(field_name) + self.gauge(metric_name, metric_value, task_tags) + if metadata.get('Limits', {}).get('CPU', 0) > 0: self.gauge('ecs.fargate.cpu.task.limit', metadata['Limits']['CPU'] * 10**9, task_tags) try: @@ -298,6 +337,7 @@ def submit_perf_metrics(self, container_tags, container_id, container_stats): blkio_stats = [] for blkio_stat in blkio_stats: + if blkio_stat["op"] == "Read" and "value" in blkio_stat: read_counter += blkio_stat["value"] elif blkio_stat["op"] == "Write" and "value" in blkio_stat: diff --git a/ecs_fargate/metadata.csv b/ecs_fargate/metadata.csv index 08d7e35288880..2045e37049189 100644 --- a/ecs_fargate/metadata.csv +++ b/ecs_fargate/metadata.csv @@ -30,3 +30,5 @@ ecs.fargate.net.packet.in_dropped,gauge,,packet,,Number of ingoing packets dropp ecs.fargate.net.packet.out_dropped,gauge,,packet,,Number of outgoing packets dropped (Fargate 1.4.0+ required).,-1,amazon_fargate,out packets dropped, ecs.fargate.net.bytes_rcvd,rate,,byte,,Number of bytes received (Fargate 1.4.0+ required).,0,amazon_fargate, bytes received, ecs.fargate.net.bytes_sent,rate,,byte,,Number of bytes sent (Fargate 1.4.0+ required).,0,amazon_fargate,bytes sent, +ecs.fargate.ephemeral_storage.utilized,gauge,,mebibyte,,The current ephemeral storage usage of this task. (Fargate 1.4.0+ required).,0,amazon_fargate,ephemeral storage utilized, +ecs.fargate.ephemeral_storage.reserved,gauge,,mebibyte,,The reserved ephemeral storage of this task. (Fargate 1.4.0+ required).,0,amazon_fargate,ephemeral storage reserved, diff --git a/ecs_fargate/tests/conftest.py b/ecs_fargate/tests/conftest.py index 92c248f417825..f94dd2e825528 100644 --- a/ecs_fargate/tests/conftest.py +++ b/ecs_fargate/tests/conftest.py @@ -14,6 +14,7 @@ INSTANCE_TAGS = ['foo:bar'] LINUX_STATS_FIXTURE = 'stats_linux.json' +LINUX_STATS_FIXTURE_V4 = 'stats_linux_v4.json' WINDOWS_STATS_FIXTURE = 'stats_windows.json' EXPECTED_CONTAINER_METRICS_LINUX = [ @@ -53,6 +54,11 @@ "ecs.fargate.cpu.task.limit", ] +EXPECTED_TASK_EPHEMERAL_METRICS = [ + 'ecs.fargate.ephemeral_storage.utilized', + 'ecs.fargate.ephemeral_storage.reserved', +] + EXTRA_EXPECTED_CONTAINER_METRICS_LINUX = [ 'ecs.fargate.cpu.limit', 'ecs.fargate.mem.hierarchical_memory_limit', @@ -70,6 +76,7 @@ def mocked_requests_get_linux(*args, **kwargs): + # v2 if args[0].endswith("/metadata"): return MockResponse(file_path=os.path.join(HERE, 'fixtures', 'metadata.json')) elif args[0].endswith("/stats"): @@ -78,6 +85,15 @@ def mocked_requests_get_linux(*args, **kwargs): return MockResponse(status_code=404) +def mocked_requests_get_linux_v4(*args, **kwargs): + if args[0].endswith("/task"): + return MockResponse(file_path=os.path.join(HERE, 'fixtures', 'metadata_v4.json')) + elif args[0].endswith("/task/stats"): + return MockResponse(file_path=os.path.join(HERE, 'fixtures', LINUX_STATS_FIXTURE_V4)) + else: + return MockResponse(status_code=404) + + def mocked_requests_get_windows(*args, **kwargs): if args[0].endswith("/metadata"): return MockResponse(file_path=os.path.join(HERE, 'fixtures', 'metadata.json')) @@ -151,6 +167,48 @@ def mocked_get_tags(entity, _): return tag_store.get(entity, []) +def mocked_get_tags_v4(entity, _): + # Values taken from Agent6's TestParseMetadataV10 test + tag_store = { + "container_id://67cd8a22b533459696d4ccab5278e009-3344678718": [ + "docker_image:akirahiiro/apmtest-ping:1.0.3", + "image_name:akirahiiro/apmtest-ping", + "short_image:apmtest-ping", + "image_tag:1.0.3", + "cluster_name:akira-fargate-check-cluster", + "task_family:akira-fargate-check", + "task_version:1", + "ecs_container_name:apmtest-ping", + "container_id:67cd8a22b533459696d4ccab5278e009-3344678718", + "container_name:apmtest-ping", + "task_arn:arn:aws:ecs:ap-northeast-1:601427279990:task/akira-fargate-check-cluster/67cd8a22b533459696d4ccab5278e009", + ], + "container_id://67cd8a22b533459696d4ccab5278e009-2860414825": [ + "docker_image:public.ecr.aws/b1o7r7e0/akira-agent-fgcheck:9", + "image_name:public.ecr.aws/b1o7r7e0/akira-agent-fgcheck", + "short_image:akira-agent-fgcheck", + "image_tag:9", + "cluster_name:akira-fargate-check-cluster", + "task_family:akira-fargate-check", + "task_version:1", + "ecs_container_name:dd-agent", + "container_id:67cd8a22b533459696d4ccab5278e009-2860414825", + "container_name:dd-agent", + "task_arn:arn:aws:ecs:ap-northeast-1:601427279990:task/akira-fargate-check-cluster/67cd8a22b533459696d4ccab5278e009", + ], + "internal://global-entity-id": [ + "cluster_name:akira-fargate-check-cluster", + "task_family:akira-fargate-check", + "task_version:1", + "task_arn:arn:aws:ecs:ap-northeast-1:601427279990:task/akira-fargate-check-cluster/67cd8a22b533459696d4ccab5278e009", + ], + } + # Match agent 6.5 behaviour of not accepting None + if entity is None: + raise ValueError("None is not a valid entity id") + return tag_store.get(entity, []) + + def mocked_is_excluded(name, image): if image.startswith("amazon/amazon-ecs-pause"): return True diff --git a/ecs_fargate/tests/fixtures/metadata.json b/ecs_fargate/tests/fixtures/metadata.json index 4083daf2586fd..b1488e24b3d97 100644 --- a/ecs_fargate/tests/fixtures/metadata.json +++ b/ecs_fargate/tests/fixtures/metadata.json @@ -104,4 +104,4 @@ "CPU": 2, "Memory": 4096 } -} \ No newline at end of file +} diff --git a/ecs_fargate/tests/fixtures/metadata_v4.json b/ecs_fargate/tests/fixtures/metadata_v4.json new file mode 100644 index 0000000000000..fdd76e9ee17f6 --- /dev/null +++ b/ecs_fargate/tests/fixtures/metadata_v4.json @@ -0,0 +1,135 @@ +{ + "Cluster": "arn:aws:ecs:ap-northeast-1:601427279990:cluster/akira-fargate-check-cluster", + "TaskARN": "arn:aws:ecs:ap-northeast-1:601427279990:task/akira-fargate-check-cluster/67cd8a22b533459696d4ccab5278e009", + "Family": "akira-fargate-check", + "Revision": "1", + "DesiredStatus": "RUNNING", + "KnownStatus": "RUNNING", + "Limits": + { + "CPU": 1, + "Memory": 3072 + }, + "PullStartedAt": "2023-06-20T01:13:03.763177835Z", + "PullStoppedAt": "2023-06-20T01:13:30.942112076Z", + "AvailabilityZone": "ap-northeast-1d", + "Containers": + [ + { + "DockerId": "67cd8a22b533459696d4ccab5278e009-2860414825", + "Name": "dd-agent", + "DockerName": "dd-agent", + "Image": "public.ecr.aws/b1o7r7e0/akira-agent-fgcheck:9", + "ImageID": "sha256:9d285ef4b9bac6f4c58211b711436dd507db7ba1f52605ae463102ee31b0f49b", + "Labels": + { + "com.amazonaws.ecs.cluster": "arn:aws:ecs:ap-northeast-1:601427279990:cluster/akira-fargate-check-cluster", + "com.amazonaws.ecs.container-name": "dd-agent", + "com.amazonaws.ecs.task-arn": "arn:aws:ecs:ap-northeast-1:601427279990:task/akira-fargate-check-cluster/67cd8a22b533459696d4ccab5278e009", + "com.amazonaws.ecs.task-definition-family": "akira-fargate-check", + "com.amazonaws.ecs.task-definition-version": "1" + }, + "DesiredStatus": "RUNNING", + "KnownStatus": "RUNNING", + "Limits": + { + "CPU": 2 + }, + "CreatedAt": "2023-06-20T01:13:35.073930071Z", + "StartedAt": "2023-06-20T01:13:35.073930071Z", + "Type": "NORMAL", + "Networks": + [ + { + "NetworkMode": "awsvpc", + "IPv4Addresses": + [ + "172.31.38.118" + ], + "AttachmentIndex": 0, + "MACAddress": "0e:e9:74:a3:d1:ab", + "IPv4SubnetCIDRBlock": "172.31.32.0/20", + "DomainNameServers": + [ + "172.31.0.2" + ], + "DomainNameSearchList": + [ + "ap-northeast-1.compute.internal" + ], + "PrivateDNSName": "ip-172-31-38-118.ap-northeast-1.compute.internal", + "SubnetGatewayIpv4Address": "172.31.32.1/20" + } + ], + "ContainerARN": "arn:aws:ecs:ap-northeast-1:601427279990:container/akira-fargate-check-cluster/67cd8a22b533459696d4ccab5278e009/a1241647-2e14-4653-bcbf-ecad62209a2c", + "LogOptions": + { + "awslogs-create-group": "true", + "awslogs-group": "/ecs/akira-fargate-check", + "awslogs-region": "us-east-2", + "awslogs-stream": "ecs/dd-agent/67cd8a22b533459696d4ccab5278e009" + }, + "LogDriver": "awslogs" + }, + { + "DockerId": "67cd8a22b533459696d4ccab5278e009-3344678718", + "Name": "apmtest-ping", + "DockerName": "apmtest-ping", + "Image": "akirahiiro/apmtest-ping:1.0.3", + "ImageID": "sha256:89d560b293f9c04a31eff4b69e59b5b375cead0d8ed20074f55e774c4e45a018", + "Labels": + { + "com.amazonaws.ecs.cluster": "arn:aws:ecs:ap-northeast-1:601427279990:cluster/akira-fargate-check-cluster", + "com.amazonaws.ecs.container-name": "apmtest-ping", + "com.amazonaws.ecs.task-arn": "arn:aws:ecs:ap-northeast-1:601427279990:task/akira-fargate-check-cluster/67cd8a22b533459696d4ccab5278e009", + "com.amazonaws.ecs.task-definition-family": "akira-fargate-check", + "com.amazonaws.ecs.task-definition-version": "1" + }, + "DesiredStatus": "RUNNING", + "KnownStatus": "RUNNING", + "Limits": + { + "CPU": 2 + }, + "CreatedAt": "2023-06-20T01:13:34.891627424Z", + "StartedAt": "2023-06-20T01:13:34.891627424Z", + "Type": "NORMAL", + "Networks": + [ + { + "NetworkMode": "awsvpc", + "IPv4Addresses": + [ + "172.31.38.118" + ], + "AttachmentIndex": 0, + "MACAddress": "0e:e9:74:a3:d1:ab", + "IPv4SubnetCIDRBlock": "172.31.32.0/20", + "DomainNameServers": + [ + "172.31.0.2" + ], + "DomainNameSearchList": + [ + "ap-northeast-1.compute.internal" + ], + "PrivateDNSName": "ip-172-31-38-118.ap-northeast-1.compute.internal", + "SubnetGatewayIpv4Address": "172.31.32.1/20" + } + ], + "ContainerARN": "arn:aws:ecs:ap-northeast-1:601427279990:container/akira-fargate-check-cluster/67cd8a22b533459696d4ccab5278e009/ae76367e-3352-4e74-9567-20050c15491c" + } + ], + "LaunchType": "FARGATE", + "ClockDrift": + { + "ClockErrorBound": 0.4347665, + "ReferenceTimestamp": "2023-06-20T01:18:13Z", + "ClockSynchronizationStatus": "SYNCHRONIZED" + }, + "EphemeralStorageMetrics": + { + "Utilized": 2925, + "Reserved": 21499 + } +} diff --git a/ecs_fargate/tests/fixtures/stats_linux_v4.json b/ecs_fargate/tests/fixtures/stats_linux_v4.json new file mode 100644 index 0000000000000..c3bce08c9032f --- /dev/null +++ b/ecs_fargate/tests/fixtures/stats_linux_v4.json @@ -0,0 +1,417 @@ +{ + "67cd8a22b533459696d4ccab5278e009-2860414825": + { + "read": "2023-06-20T01:19:45.077342978Z", + "preread": "2023-06-20T01:19:35.076984286Z", + "pids_stats": + {}, + "blkio_stats": { + "io_service_bytes_recursive": + [ + { + "major": 259, + "minor": 0, + "op": "Read", + "value": 0 + }, + { + "major": 259, + "minor": 0, + "op": "Write", + "value": 57344 + }, + { + "major": 259, + "minor": 0, + "op": "Sync", + "value": 0 + }, + { + "major": 259, + "minor": 0, + "op": "Async", + "value": 57344 + }, + { + "major": 259, + "minor": 0, + "op": "Discard", + "value": 0 + }, + { + "major": 259, + "minor": 0, + "op": "Total", + "value": 57344 + }, + { + "major": 259, + "minor": 1, + "op": "Read", + "value": 143360 + }, + { + "major": 259, + "minor": 1, + "op": "Write", + "value": 0 + }, + { + "major": 259, + "minor": 1, + "op": "Sync", + "value": 143360 + }, + { + "major": 259, + "minor": 1, + "op": "Async", + "value": 0 + }, + { + "major": 259, + "minor": 1, + "op": "Discard", + "value": 0 + }, + { + "major": 259, + "minor": 1, + "op": "Total", + "value": 143360 + } + ], + "io_serviced_recursive": + [ + { + "major": 259, + "minor": 0, + "op": "Read", + "value": 0 + }, + { + "major": 259, + "minor": 0, + "op": "Write", + "value": 14 + }, + { + "major": 259, + "minor": 0, + "op": "Sync", + "value": 0 + }, + { + "major": 259, + "minor": 0, + "op": "Async", + "value": 14 + }, + { + "major": 259, + "minor": 0, + "op": "Discard", + "value": 0 + }, + { + "major": 259, + "minor": 0, + "op": "Total", + "value": 14 + }, + { + "major": 259, + "minor": 1, + "op": "Read", + "value": 2 + }, + { + "major": 259, + "minor": 1, + "op": "Write", + "value": 0 + }, + { + "major": 259, + "minor": 1, + "op": "Sync", + "value": 2 + }, + { + "major": 259, + "minor": 1, + "op": "Async", + "value": 0 + }, + { + "major": 259, + "minor": 1, + "op": "Discard", + "value": 0 + }, + { + "major": 259, + "minor": 1, + "op": "Total", + "value": 2 + } + ], + "io_queue_recursive": + [], + "io_service_time_recursive": + [], + "io_wait_time_recursive": + [], + "io_merged_recursive": + [], + "io_time_recursive": + [], + "sectors_recursive": + [] + }, + "num_procs": 0, + "storage_stats": + {}, + "cpu_stats": + { + "cpu_usage": + { + "total_usage": 4817594472, + "percpu_usage": + [ + 2130796487, + 1675103146 + ], + "usage_in_kernelmode": 540000000, + "usage_in_usermode": 2300000000 + }, + "system_cpu_usage": 1039490000000, + "online_cpus": 2, + "throttling_data": + { + "periods": 0, + "throttled_periods": 0, + "throttled_time": 0 + } + }, + "precpu_stats": + { + "cpu_usage": + { + "total_usage": 4731035320, + "percpu_usage": + [ + 2095343340, + 1642174563 + ], + "usage_in_kernelmode": 540000000, + "usage_in_usermode": 2280000000 + }, + "system_cpu_usage": 1019570000000, + "online_cpus": 2, + "throttling_data": + { + "periods": 0, + "throttled_periods": 0, + "throttled_time": 0 + } + }, + "memory_stats": + { + "usage": 160886784, + "max_usage": 205619200, + "stats": + { + "active_anon": 0, + "active_file": 1081344, + "cache": 5136384, + "dirty": 0, + "hierarchical_memory_limit": 3221225472, + "hierarchical_memsw_limit": 92233720, + "inactive_anon": 147873792, + "inactive_file": 3919872, + "mapped_file": 0, + "pgfault": 125499, + "pgmajfault": 0, + "pgpgin": 83193, + "pgpgout": 45842, + "rss": 147873792, + "rss_huge": 0, + "total_active_anon": 0, + "total_active_file": 1081344, + "total_cache": 5136384, + "total_dirty": 0, + "total_inactive_anon": 147873792, + "total_inactive_file": 3919872, + "total_mapped_file": 0, + "total_pgfault": 125499, + "total_pgmajfault": 0, + "total_pgpgin": 83193, + "total_pgpgout": 45842, + "total_rss": 147873792, + "total_rss_huge": 0, + "total_unevictable": 0, + "total_writeback": 135168, + "unevictable": 0, + "writeback": 135168 + }, + "limit": 922337 + }, + "name": "dd-agent", + "id": "67cd8a22b533459696d4ccab5278e009-2860414825", + "networks": + { + "eth1": + { + "rx_bytes": 781187362, + "rx_packets": 527514, + "rx_errors": 0, + "rx_dropped": 0, + "tx_bytes": 971750, + "tx_packets": 6117, + "tx_errors": 0, + "tx_dropped": 0 + } + }, + "network_rate_stats": + { + "rx_bytes_per_sec": 1911.331442643617, + "tx_bytes_per_sec": 2390.9142405361977 + } + }, + "67cd8a22b533459696d4ccab5278e009-3344678718": + { + "read": "2023-06-20T01:19:44.895193503Z", + "preread": "2023-06-20T01:19:34.895391778Z", + "pids_stats": + {}, + "blkio_stats": + { + "io_service_bytes_recursive": + [], + "io_serviced_recursive": + [], + "io_queue_recursive": + [], + "io_service_time_recursive": + [], + "io_wait_time_recursive": + [], + "io_merged_recursive": + [], + "io_time_recursive": + [], + "sectors_recursive": + [] + }, + "num_procs": 0, + "storage_stats": + {}, + "cpu_stats": + { + "cpu_usage": + { + "total_usage": 977249587, + "percpu_usage": + [ + 317451515, + 454575659 + ], + "usage_in_kernelmode": 90000000, + "usage_in_usermode": 750000000 + }, + "system_cpu_usage": 1039130000000, + "online_cpus": 2, + "throttling_data": + { + "periods": 0, + "throttled_periods": 0, + "throttled_time": 0 + } + }, + "precpu_stats": + { + "cpu_usage": + { + "total_usage": 970577025, + "percpu_usage": + [ + 315805506, + 450950344 + ], + "usage_in_kernelmode": 90000000, + "usage_in_usermode": 740000000 + }, + "system_cpu_usage": 1019220000000, + "online_cpus": 2, + "throttling_data": + { + "periods": 0, + "throttled_periods": 0, + "throttled_time": 0 + } + }, + "memory_stats": + { + "usage": 34865152, + "max_usage": 36872192, + "stats": + { + "active_anon": 0, + "active_file": 0, + "cache": 0, + "dirty": 135168, + "hierarchical_memory_limit": 3221225472, + "hierarchical_memsw_limit": 36854771712, + "inactive_anon": 32169984, + "inactive_file": 0, + "mapped_file": 0, + "pgfault": 16896, + "pgmajfault": 0, + "pgpgin": 10626, + "pgpgout": 2707, + "rss": 32169984, + "rss_huge": 0, + "total_active_anon": 0, + "total_active_file": 0, + "total_cache": 0, + "total_dirty": 135168, + "total_inactive_anon": 32169984, + "total_inactive_file": 0, + "total_mapped_file": 0, + "total_pgfault": 16896, + "total_pgmajfault": 0, + "total_pgpgin": 10626, + "total_pgpgout": 2707, + "total_rss": 32169984, + "total_rss_huge": 0, + "total_unevictable": 0, + "total_writeback": 0, + "unevictable": 0, + "writeback": 0 + }, + "limit": 92233 + }, + "name": "apmtest-ping", + "id": "67cd8a22b533459696d4ccab5278e009-3344678718", + "networks": + { + "eth1": + { + "rx_bytes": 781186753, + "rx_packets": 527511, + "rx_errors": 0, + "rx_dropped": 0, + "tx_bytes": 971042, + "tx_packets": 6113, + "tx_errors": 0, + "tx_dropped": 0 + } + }, + "network_rate_stats": + { + "rx_bytes_per_sec": 1850.5366907760217, + "tx_bytes_per_sec": 2320.246003749541 + } + } +} diff --git a/ecs_fargate/tests/test_unit_v4.py b/ecs_fargate/tests/test_unit_v4.py new file mode 100644 index 0000000000000..7488215661cc3 --- /dev/null +++ b/ecs_fargate/tests/test_unit_v4.py @@ -0,0 +1,119 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) +from __future__ import unicode_literals + +import os + +import mock +import pytest + +from datadog_checks.ecs_fargate import FargateCheck + +from .conftest import ( + EXPECTED_CONTAINER_METRICS_LINUX, + EXPECTED_TASK_EPHEMERAL_METRICS, + EXPECTED_TASK_METRICS, + EXTRA_EXPECTED_CONTAINER_METRICS_LINUX, + EXTRA_NETWORK_METRICS, + INSTANCE_TAGS, + mocked_get_tags_v4, + mocked_is_excluded, + mocked_requests_get_linux_v4, +) + +HERE = os.path.dirname(os.path.abspath(__file__)) + + +@pytest.mark.unit +def test_no_config(aggregator, dd_run_check): + # Set a dummy url to emulate API v4 + os.environ['ECS_CONTAINER_METADATA_URI_V4'] = 'http://169.254.170.2/v4/xxx-xxx' + + instance = {} + check = FargateCheck('ecs_fargate', {}, [instance]) + dd_run_check(check) + aggregator.assert_service_check("fargate_check", status=FargateCheck.CRITICAL, tags=[], count=1) + + +@pytest.mark.integration +def test_successful_check_linux_v4(check, aggregator, dd_run_check): + """ + Testing successful fargate check on Linux on ECS ENDPOINT API v4. + """ + + with mock.patch('datadog_checks.ecs_fargate.ecs_fargate.requests.get', side_effect=mocked_requests_get_linux_v4): + with mock.patch("datadog_checks.ecs_fargate.ecs_fargate.get_tags", side_effect=mocked_get_tags_v4): + with mock.patch("datadog_checks.ecs_fargate.ecs_fargate.c_is_excluded", side_effect=mocked_is_excluded): + dd_run_check(check) + + aggregator.assert_service_check("fargate_check", status=FargateCheck.OK, tags=INSTANCE_TAGS, count=1) + + common_tags = INSTANCE_TAGS + [ + # Tagger + 'cluster_name:akira-fargate-check-cluster', + 'task_family:akira-fargate-check', + 'task_version:1', + # Compat + 'ecs_cluster:akira-fargate-check-cluster', + 'ecs_task_family:akira-fargate-check', + 'ecs_task_version:1', + ] + + container_tags = [ + [ + # Tagger + "docker_image:akirahiiro/apmtest-ping:1.0.3", + "image_name:akirahiiro/apmtest-ping", + "short_image:apmtest-ping", + "image_tag:1.0.3", + "ecs_container_name:apmtest-ping", + "container_id:67cd8a22b533459696d4ccab5278e009-3344678718", + "container_name:apmtest-ping", + "task_arn:arn:aws:ecs:ap-northeast-1:601427279990:task/akira-fargate-check-cluster/67cd8a22b533459696d4ccab5278e009", + # Compat + 'docker_name:apmtest-ping', + ], + [ + # Tagger + "docker_image:public.ecr.aws/b1o7r7e0/akira-agent-fgcheck:9", + "image_name:public.ecr.aws/b1o7r7e0/akira-agent-fgcheck", + "short_image:akira-agent-fgcheck", + "image_tag:9", + "ecs_container_name:dd-agent", + "container_id:67cd8a22b533459696d4ccab5278e009-2860414825", + "container_name:dd-agent", + "task_arn:arn:aws:ecs:ap-northeast-1:601427279990:task/akira-fargate-check-cluster/67cd8a22b533459696d4ccab5278e009", + # Compat + 'docker_name:dd-agent', + ], + ] + + task_tags = [ + # Tagger + "task_arn:arn:aws:ecs:ap-northeast-1:601427279990:task/akira-fargate-check-cluster/67cd8a22b533459696d4ccab5278e009", + ] + + extra_expected_metrics_for_container = [ + EXTRA_EXPECTED_CONTAINER_METRICS_LINUX, + EXTRA_EXPECTED_CONTAINER_METRICS_LINUX, + [], # pause container get fewer metrics + ] + + for i in range(2): + tags = common_tags + container_tags[i] + for metric in EXPECTED_CONTAINER_METRICS_LINUX: + aggregator.assert_metric(metric, count=1, tags=tags) + for metric in extra_expected_metrics_for_container[i]: + aggregator.assert_metric(metric, count=1, tags=tags) + + for metric in EXTRA_NETWORK_METRICS: + aggregator.assert_metric(metric, count=2) # 2 network interfaces + + for metric in EXPECTED_TASK_METRICS: + aggregator.assert_metric(metric, count=1, tags=common_tags + task_tags, value=1 * 10**9) + + for metric in EXPECTED_TASK_EPHEMERAL_METRICS: + aggregator.assert_metric(metric, count=1, tags=common_tags + task_tags) + + aggregator.assert_all_metrics_covered() From f8ad23f7d696369e50326e88cc4c93d93640e215 Mon Sep 17 00:00:00 2001 From: Esther Kim Date: Wed, 5 Jul 2023 03:45:58 -0400 Subject: [PATCH 26/77] Added troubleshooting information for log processing rules (#14728) * Added troubleshooting section for missing logs * Changed the header * Apply suggestions from code review Co-authored-by: Heston Hoffman --------- Co-authored-by: Heston Hoffman Co-authored-by: Florent Clarret --- win32_event_log/README.md | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/win32_event_log/README.md b/win32_event_log/README.md index 8f1a94bd270a9..afe772ea59a36 100644 --- a/win32_event_log/README.md +++ b/win32_event_log/README.md @@ -464,12 +464,33 @@ The Win32 Event log check does not include any service checks. ## Troubleshooting -Need help? Contact [Datadog support][7]. +Need help? Contact [Datadog support][7] with an [Agent Flare][25]. + +### Log processing rules are not working + +If you are using log processing rules to filter out logs, verify that the raw logs match the regular expression (regex) pattern you configured. In the configuration below, log levels must be either `warning` or `error`. Any other value is excluded. + +```yaml + - type: windows_event + channel_path: System + source: windows.events + service: Windows + log_processing_rules: + - type: include_at_match + name: system_errors_and_warnings + pattern: '"level":"((?i)warning|error)"' +``` + +To troubleshoot your log processing rules: +1. Remove or comment out the `log_processing_rules` stanza. +1. Restart the Agent. +1. Send a test log that includes the values you're attempting to catch. If the log appears in Datadog, there is probably an issue with your regex. Compare your regex against the log file to make sure you're capturing the right phrases. ## Further Reading Additional helpful documentation, links, and articles: +- [Advanced Log Collection][26] - [Monitoring Windows Server 2012][9] - [How to collect Windows Server 2012 metrics][10] - [Monitoring Windows Server 2012 with Datadog][11] @@ -497,3 +518,5 @@ Additional helpful documentation, links, and articles: [22]: https://github.com/DataDog/integrations-core/blob/master/win32_event_log/datadog_checks/win32_event_log/data/conf.yaml.example#L87C32-L87C32 [23]: https://raw.githubusercontent.com/DataDog/integrations-core/master/win32_event_log/images/filter-event-viewer.png [24]: https://raw.githubusercontent.com/DataDog/integrations-core/master/win32_event_log/images/xml-query-event-viewer.png +[25]: https://docs.datadoghq.com/agent/troubleshooting/send_a_flare/?tab=agentv6v7 +[26]: https://docs.datadoghq.com/agent/logs/advanced_log_collection/?tab=configurationfile From bebf4c2b626d4d77d3722004a86cf57a7ecce3bb Mon Sep 17 00:00:00 2001 From: Cody Swaney Date: Wed, 5 Jul 2023 03:51:40 -0400 Subject: [PATCH 27/77] Link to current datadog helm chart repository (#14725) --- oom_kill/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oom_kill/README.md b/oom_kill/README.md index fdc8bd04b7fd4..9aade2ce2f3cd 100644 --- a/oom_kill/README.md +++ b/oom_kill/README.md @@ -122,7 +122,7 @@ Need help? Contact [Datadog support][7]. [1]: https://app.datadoghq.com/account/settings#agent [2]: https://github.com/DataDog/datadog-agent/blob/master/cmd/agent/dist/conf.d/oom_kill.d/conf.yaml.example [3]: https://docs.datadoghq.com/agent/guide/agent-commands/#start-stop-and-restart-the-agent -[4]: https://github.com/helm/charts/tree/master/stable/datadog +[4]: https://github.com/DataDog/helm-charts [5]: https://docs.datadoghq.com/agent/guide/agent-commands/#agent-status-and-information [6]: https://github.com/DataDog/integrations-core/blob/master/oom_kill/metadata.csv [7]: https://docs.datadoghq.com/help/ From be0219d2ae52f17382532b16bb5a880e0bdd6fc5 Mon Sep 17 00:00:00 2001 From: Shuo Xiang Date: Wed, 5 Jul 2023 01:00:09 -0700 Subject: [PATCH 28/77] Fix Typo in the init script (#14663) --- databricks/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/databricks/README.md b/databricks/README.md index eb5885d82e613..7460f728ce1ee 100644 --- a/databricks/README.md +++ b/databricks/README.md @@ -134,15 +134,15 @@ After creating the `datadog-install-driver-workers.sh` script, add the init scri %python dbutils.fs.put("dbfs://datadog-install-driver-workers.sh",""" -#!/bin/bash -cat < /tmp/start_datadog.sh - #!/bin/bash date -u +"%Y-%m-%d %H:%M:%S UTC" echo "Running on the driver? $DB_IS_DRIVER" echo "Driver ip: $DB_DRIVER_IP" +cat < /tmp/start_datadog.sh +#!/bin/bash + if [[ \${DB_IS_DRIVER} = "TRUE" ]]; then echo "Installing Datadog Agent on the driver (master node)." @@ -368,4 +368,4 @@ Need help? Contact [Datadog support][10]. [10]: https://docs.datadoghq.com/help/ [12]: https://docs.databricks.com/notebooks/ipywidgets.html#requirements [13]: https://github.com/DataDog/datadog-agent/blob/7.43.x/pkg/config/config_template.yaml#L1262-L1266 -[14]: https://docs.databricks.com/notebooks/ipywidgets.html \ No newline at end of file +[14]: https://docs.databricks.com/notebooks/ipywidgets.html From 5c4fbe0968f5277a07655a6a3a7c35437b6c89fe Mon Sep 17 00:00:00 2001 From: NouhaManai Date: Wed, 5 Jul 2023 10:27:24 +0200 Subject: [PATCH 29/77] Add aruba-clearpass profile (#15088) * add aruba-clearpass profile * add descriptions * update descriptions * Update snmp/metadata.csv * typo --------- Co-authored-by: Alexandre Yang --- .../default_profiles/aruba-clearpass.yaml | 224 ++++++ snmp/metadata.csv | 49 ++ .../compose/data/aruba-clearpass.snmprec | 674 ++++++++++++++++++ .../test_profile_aruba_clearpass.py | 150 ++++ 4 files changed, 1097 insertions(+) create mode 100644 snmp/datadog_checks/snmp/data/default_profiles/aruba-clearpass.yaml create mode 100644 snmp/tests/compose/data/aruba-clearpass.snmprec create mode 100644 snmp/tests/test_e2e_core_profiles/test_profile_aruba_clearpass.py diff --git a/snmp/datadog_checks/snmp/data/default_profiles/aruba-clearpass.yaml b/snmp/datadog_checks/snmp/data/default_profiles/aruba-clearpass.yaml new file mode 100644 index 0000000000000..2f7c9427e36e4 --- /dev/null +++ b/snmp/datadog_checks/snmp/data/default_profiles/aruba-clearpass.yaml @@ -0,0 +1,224 @@ +extends: + - aruba.yaml + +sysobjectid: + - 1.3.6.1.4.1.14823.1.6.1 +metrics: + - MIB: HOST-RESOURCES-MIB + symbol: + name: cpu.usage + OID: 1.3.6.1.2.1.25.3.3.1.2.196608 + - MIB: UCD-SNMP-MIB + symbol: + name: memory.total + OID: 1.3.6.1.4.1.2021.4.5.0 + - MIB: UCD-SNMP-MIB + symbol: + name: memory.free + OID: 1.3.6.1.4.1.2021.4.6.0 + - MIB: CPPM-MIB + table: + name: cppmSystemTable + OID: 1.3.6.1.4.1.14823.1.6.1.1.1.1 + symbols: + - name: cppmSystemMemoryTotal + OID: 1.3.6.1.4.1.14823.1.6.1.1.1.1.1.12 + - name: cppmSystemMemoryFree + OID: 1.3.6.1.4.1.14823.1.6.1.1.1.1.1.13 + - name: cppmSystemDiskSpaceTotal + OID: 1.3.6.1.4.1.14823.1.6.1.1.1.1.1.14 + - name: cppmSystemDiskSpaceFree + OID: 1.3.6.1.4.1.14823.1.6.1.1.1.1.1.15 + metric_tags: + - column: + OID: 1.3.6.1.4.1.14823.1.6.1.1.1.1.1.4 + name: cppmSystemHostname + tag: cppm_system_hostname + - MIB: CPPM-MIB + table: + name: radiusServerTable + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.1 + symbols: + - name: radPolicyEvalTime + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.1.1.1 + - name: radAuthRequestTime + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.1.1.2 + - name: radServerCounterSuccess + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.1.1.3 + - name: radServerCounterFailure + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.1.1.4 + - name: radServerCounterCount + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.1.1.5 + metric_tags: + - column: + OID: 1.3.6.1.4.1.14823.1.6.1.1.1.1.1.4 + name: cppmSystemHostname + tag: cppm_system_hostname + - MIB: CPPM-MIB + table: + name: radiusServerAuthTable + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.2 + symbols: + - name: radAuthCounterSuccess + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.2.1.3 + - name: radAuthCounterFailure + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.2.1.4 + - name: radAuthCounterCount + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.2.1.5 + - name: radAuthCounterTime + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.2.1.6 + metric_tags: + - column: + name: radAuthSourceName + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.2.1.2 + tag: rad_auth_source_name + - MIB: CPPM-MIB + table: + name: policyServerTable + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.3 + symbols: + - name: psServicePolicyEvalCount + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.3.1.1 + - name: psRolemappingPolicyEvalCount + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.3.1.2 + - name: psPosturePolicyEvalCount + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.3.1.3 + - name: psAuditPolicyEvalCount + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.3.1.4 + - name: psRestrictionPolicyEvalCount + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.3.1.5 + - name: psEnforcementPolicyEvalCount + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.3.1.6 + - name: psServicePolicyEvalTime + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.3.1.7 + - name: psRolemappingPolicyEvalTime + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.3.1.8 + - name: psPosturePolicyEvalTime + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.3.1.9 + - name: psAuditPolicyEvalTime + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.3.1.10 + - name: psRestrictionPolicyEvalTime + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.3.1.11 + - name: psEnforcementPolicyEvalTime + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.3.1.12 + - name: psSessionlogTime + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.3.1.13 + - name: psAuthCounterSuccess + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.3.1.14 + - name: psAuthCounterFailure + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.3.1.15 + - name: psAuthCounterTotal + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.3.1.16 + - name: dailySuccessAuthCount + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.3.1.17 + - name: dailyFailedAuthCount + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.3.1.18 + - name: dailyTotalAuthCount + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.3.1.19 + metric_tags: + - column: + OID: 1.3.6.1.4.1.14823.1.6.1.1.1.1.1.4 + name: cppmSystemHostname + tag: cppm_system_hostname + - MIB: CPPM-MIB + table: + name: policyServerAutzTable + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.5 + symbols: + - name: psAutzCounterSuccess + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.5.1.3 + - name: psAutzCounterFailure + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.5.1.4 + - name: psAutzCounterCount + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.5.1.5 + - name: psAutzCounterTime + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.5.1.6 + metric_tags: + - column: + name: psAutzSourceName + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.5.1.2 + tag: ps_autz_source_name + - MIB: CPPM-MIB + table: + name: tacacsAuthTable + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.7 + symbols: + - name: tacAuthCounterSuccess + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.7.1.1 + - name: tacAuthCounterFailure + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.7.1.2 + - name: tacAuthCounterCount + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.7.1.3 + - name: tacAuthCounterTime + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.7.1.4 + - name: tacAuthCounterAuthTime + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.7.1.5 + - name: tacServicePolicyEvalTime + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.7.1.6 + - name: tacPolicyEvalTime + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.7.1.7 + metric_tags: + - column: + OID: 1.3.6.1.4.1.14823.1.6.1.1.1.1.1.4 + name: cppmSystemHostname + tag: cppm_system_hostname + - MIB: CPPM-MIB + table: + name: tacacsAutzTable + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.8 + symbols: + - name: tacAutzCounterSuccess + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.8.1.1 + - name: tacAutzCounterFailure + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.8.1.2 + - name: tacAutzCounterCount + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.8.1.3 + - name: tacAutzCounterTime + OID: 1.3.6.1.4.1.14823.1.6.1.1.2.8.1.4 + metric_tags: + - column: + OID: 1.3.6.1.4.1.14823.1.6.1.1.1.1.1.4 + name: cppmSystemHostname + tag: cppm_system_hostname + - MIB: CPPM-MIB + table: + name: networkTrafficTable + OID: 1.3.6.1.4.1.14823.1.6.1.1.3.1 + symbols: + - name: nwAppPort + OID: 1.3.6.1.4.1.14823.1.6.1.1.3.1.1.3 + - name: nwTrafficTotal + OID: 1.3.6.1.4.1.14823.1.6.1.1.3.1.1.4 + metric_tags: + - column: + name: nwAppName + OID: 1.3.6.1.4.1.14823.1.6.1.1.3.1.1.2 + tag: nw_app_name +metric_tags: + - OID: 1.3.6.1.4.1.14823.1.6.1.1.1.1.1.3.0 + symbol: cppmSystemVersion + tag: cppm_system_version + - OID: 1.3.6.1.4.1.14823.1.6.1.1.1.1.1.5.0 + symbol: cppmClusterNodeType + tag: cppm_cluster_node_type + - OID: 1.3.6.1.4.1.14823.1.6.1.1.1.1.1.6.0 + symbol: cppmZoneName + tag: cppm_zone_name + - OID: 1.3.6.1.4.1.14823.1.6.1.1.1.1.1.7.0 + symbol: cppmNumClusterNodes + tag: cppm_num_cluster_nodes + - OID: 1.3.6.1.4.1.14823.1.6.1.1.1.1.1.8.0 + symbol: cppmNwMgmtPortIPAddress + tag: cppm_nw_mgmt_port_ip_address + - OID: 1.3.6.1.4.1.14823.1.6.1.1.1.1.1.9.0 + symbol: cppmNwMgmtPortMACAddress + tag: cppm_nw_mgmt_port_mac_address + - OID: 1.3.6.1.4.1.14823.1.6.1.1.1.1.1.10.0 + symbol: cppmNwDataPortIPAddress + tag: cppm_nw_data_port_ip_address + - OID: 1.3.6.1.4.1.14823.1.6.1.1.1.1.1.11.0 + symbol: cppmNwDataPortMACAddress + tag: cppm_nw_data_port_mac_address + - OID: 1.3.6.1.4.1.14823.1.6.1.1.1.1.1.16.0 + symbol: cppmSystemNumCPUs + tag: cppm_system_num_cp_us diff --git a/snmp/metadata.csv b/snmp/metadata.csv index 9071f35bd002c..b2dc925198e82 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -224,6 +224,10 @@ snmp.cpmCPUMemoryFree,gauge,,,,[Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] The snmp.cpmCPUMemoryUsed,gauge,,,,[Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] The overall CPU wide system memory currently in use.,0,snmp,, snmp.cpmCPUTotal1minRev,gauge,,percent,,[Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] The overall CPU busy percentage in the last 1 minute period.,0,snmp,, snmp.cpmCPUTotalMonIntervalValue,gauge,,percent,,[Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] The overall CPU busy percentage in the last cpmCPUMonInterval period.,0,snmp,, +snmp.cppmSystemDiskSpaceFree,gauge,,byte,,"[CPPM-MIB] Amount of free disk space (bytes) in the ClearPass server",0,snmp,, +snmp.cppmSystemDiskSpaceTotal,gauge,,byte,,"[CPPM-MIB] Total amount of disk space available (bytes) in the ClearPass server",0,snmp,, +snmp.cppmSystemMemoryFree,gauge,,byte,,"[CPPM-MIB] Amount of free memory (bytes) in the ClearPass server",0,snmp,, +snmp.cppmSystemMemoryTotal,gauge,,byte,,"[CPPM-MIB] Total amount of memory available (bytes) in the ClearPass server",0,snmp,, snmp.cpqDaCntlrCondition,gauge,,,,"[HPE Proliant] The condition of the device. This value represents the overall condition of this controller, and any associated logical drives, physical drives, and cache modules.",0,snmp,, snmp.cpqDaPhyDrvCurrentTemperature,gauge,,degree celsius,,[HPE PROLIANT] [HP ILO4] Physical Drive current temperature in degrees Celsius.,0,snmp,, snmp.cpqDaPhyDrvFactReallocs,gauge,,,,[HPE PROLIANT] [HP ILO4] The number of spare sectors available for remapping at the time the physical drive was shipped.,0,snmp,, @@ -337,6 +341,9 @@ snmp.cvCallVolMediaOutgoingCalls,gauge,,,,"[Cisco UC Virtual Machine] [Cisco ICM snmp.cvCallVolPeerIncomingCalls,gauge,,,,"[Cisco UC Virtual Machine] [Cisco ICM] [Cisco ISR 4431] The total number of active calls that has selected the dialpeer as an incoming dialpeer.",0,snmp,, snmp.cvCallVolPeerOutgoingCalls,gauge,,,,"[Cisco UC Virtual Machine] [Cisco ICM] [Cisco ISR 4431] The total number of active calls that has selected the dialpeer as an outgoing dialpeer.",0,snmp,, snmp.cvsChassisUpTime,gauge,,time,,[Cisco ASA 5525] The time (in hundredths of a second) since the chassis device was last re-initialized.,0,snmp,, +snmp.dailyFailedAuthCount,gauge,,,,"[CPPM-MIB] Total number of failed authentications computed over 24 hours",0,snmp,, +snmp.dailySuccessAuthCount,gauge,,,,"[CPPM-MIB] Total number of successful authentications computed over 24 hours",0,snmp,, +snmp.dailyTotalAuthCount,gauge,,,,"[CPPM-MIB] Total number of authentications computed over 24 hours",0,snmp,, snmp.devClientCount,gauge,,,,[Cisco Meraki] The number of clients currently associated with the device.,0,snmp,, snmp.devInterfaceRecvBytes,gauge,,byte,,[Cisco Meraki] The number of bytes received on this interface.,0,snmp,, snmp.devInterfaceRecvPkts,gauge,,packet,,[Cisco Meraki] The number of packets received on this interface.,0,snmp,, @@ -853,6 +860,8 @@ snmp.ntlsConnectedClients,gauge,,,,"[CHRYSALIS-UTSP-MIB] This Gauge32 objects' v snmp.ntlsFailedClientConnections,gauge,,,,"[CHRYSALIS-UTSP-MIB] This Counter64 objects' value indicates the total number of unsuccessful client connections of the NTLS.",0,snmp,, snmp.ntlsLinks,gauge,,,,"[CHRYSALIS-UTSP-MIB] This Gauge32 objects' value indicates the current number of links of the NTLS.",0,snmp,, snmp.ntlsSuccessfulClientConnections,gauge,,,,"[CHRYSALIS-UTSP-MIB] This Counter64 objects' value indicates the total number of successful client connections of the NTLS.",0,snmp,, +snmp.nwAppPort,gauge,,,,"[CPPM-MIB] Network application port number.",0,snmp,, +snmp.nwTrafficTotal,gauge,,byte,,"[CPPM-MIB] Total network traffic in bytes.",0,snmp,, snmp.operatingSystemMemoryAvailablePageFileSize,gauge,,kibibyte,,[Dell Poweredge] The available page file memory in the Operating System Memory in Kbytes.,0,snmp,, snmp.operatingSystemMemoryAvailablePhysicalSize,gauge,,kibibyte,,[Dell Poweredge] The available physical memory in the Operating System Memory in Kbytes.,0,snmp,, snmp.operatingSystemMemoryAvailableVirtualSize,gauge,,kibibyte,,[Dell Poweredge] The available virtual memory in the Operating System Memory in Kbytes.,0,snmp,, @@ -952,10 +961,39 @@ snmp.processorDeviceStatusStatus,gauge,,,,[Dell iDRAC] The status of the process snmp.processorDeviceThreadCount,gauge,,thread,,[Dell Poweredge] The number of processor threads detected for the processor device.,0,snmp,, snmp.processorDeviceVoltage,gauge,,millivolt,,[Dell iDRAC] The voltage powering the processor device in millivolts.,0,snmp,, snmp.protocolOpsPerSecond,gauge,,operation,,[Isilon] The number of operations per second for the last 5 second.,0,snmp,, +snmp.psAuditPolicyEvalCount,gauge,,,,"[CPPM-MIB] Total number of audit policies evaluated.",0,snmp,, +snmp.psAuditPolicyEvalTime,gauge,,millisecond,,"[CPPM-MIB] Time taken (ms) for the evaluation of audit policies.",0,snmp,, +snmp.psAuthCounterFailure,gauge,,,,"[CPPM-MIB] Total number of failed authentications computed on the Policy Server.",0,snmp,, +snmp.psAuthCounterSuccess,gauge,,,,"[CPPM-MIB] Total number of successful authentications computed on the Policy Server.",0,snmp,, +snmp.psAuthCounterTotal,gauge,,,,"[CPPM-MIB] Total number of authentications computed on the Policy Server.",0,snmp,, +snmp.psAutzCounterCount,gauge,,,,"[CPPM-MIB] Total number of Policy authorizations.",0,snmp,, +snmp.psAutzCounterFailure,gauge,,,,"[CPPM-MIB] Total number of failed Policy authorizations.",0,snmp,, +snmp.psAutzCounterSuccess,gauge,,,,"[CPPM-MIB] Total number of successful Policy authorizations.",0,snmp,, +snmp.psAutzCounterTime,gauge,,millisecond,,"[CPPM-MIB] Time taken (ms) for Policy authorizations.",0,snmp,, +snmp.psEnforcementPolicyEvalCount,gauge,,,,"[CPPM-MIB] Total number of enforcement policies evaluated.",0,snmp,, +snmp.psEnforcementPolicyEvalTime,gauge,,millisecond,,"[CPPM-MIB] Time taken (ms) for the evaluation of enforcement policies.",0,snmp,, +snmp.psPosturePolicyEvalCount,gauge,,,,"[CPPM-MIB] Total number of posture policies evaluated.",0,snmp,, +snmp.psPosturePolicyEvalTime,gauge,,millisecond,,"[CPPM-MIB] Time taken (ms) for the evaluation of posture policies.",0,snmp,, +snmp.psRestrictionPolicyEvalCount,gauge,,,,"[CPPM-MIB] Total number of restriction policies evaluated.",0,snmp,, +snmp.psRestrictionPolicyEvalTime,gauge,,millisecond,,"[CPPM-MIB] Time taken (ms) for the evaluation of restriction policies.",0,snmp,, +snmp.psRolemappingPolicyEvalCount,gauge,,,,"[CPPM-MIB] Total number of role mapping policies evaluated.",0,snmp,, +snmp.psRolemappingPolicyEvalTime,gauge,,millisecond,,"[CPPM-MIB] Time taken (ms) for the evaluation of role mapping policies.",0,snmp,, +snmp.psServicePolicyEvalCount,gauge,,,,"[CPPM-MIB] Total number of service policies evaluated.",0,snmp,, +snmp.psServicePolicyEvalTime,gauge,,millisecond,,"[CPPM-MIB] Time taken (ms) for the evaluation of service policies.",0,snmp,, +snmp.psSessionlogTime,gauge,,millisecond,,"[CPPM-MIB] Time taken (ms) for session logging.",0,snmp,, snmp.quotaAdvisoryThreshold,gauge,,byte,,[Isilon] The advisory threshold in bytes.,0,snmp,, snmp.quotaHardThreshold,gauge,,byte,,[Isilon] The hard threshold in bytes.,0,snmp,, snmp.quotaSoftThreshold,gauge,,byte,,[Isilon] The soft threshold in bytes.,0,snmp,, snmp.quotaUsage,gauge,,byte,,[Isilon] The current quota usage in bytes.,0,snmp,, +snmp.radAuthCounterCount,gauge,,,,"[CPPM-MIB] Total number of RADIUS authentications.",0,snmp,, +snmp.radAuthCounterFailure,gauge,,,,"[CPPM-MIB] Total number of failed RADIUS authentications.",0,snmp,, +snmp.radAuthCounterSuccess,gauge,,,,"[CPPM-MIB] Total number of successful RADIUS authentications.",0,snmp,, +snmp.radAuthCounterTime,gauge,,millisecond,,"[CPPM-MIB] Time taken (ms) to authenticate against an authentication source.",0,snmp,, +snmp.radAuthRequestTime,gauge,,millisecond,,"[CPPM-MIB] Total time taken (ms) for RADIUS request end-to-end.",0,snmp,, +snmp.radPolicyEvalTime,gauge,,millisecond,,"[CPPM-MIB] Total time taken (ms) for policy evaluation from RADIUS server prespective.",0,snmp,, +snmp.radServerCounterCount,gauge,,,,"[CPPM-MIB] Total RADIUS request count.",0,snmp,, +snmp.radServerCounterFailure,gauge,,,,"[CPPM-MIB] Failed RADIUS request count.",0,snmp,, +snmp.radServerCounterSuccess,gauge,,,,"[CPPM-MIB] Successful RADIUS request count.",0,snmp,, snmp.receptacleEnergyoutlet10s,count,,,,"[Legacy Chatsworth] The outlet10 receptacle energy accumulated in decaWatt-secs, divide by 360 to obtain Watt-hr.",0,snmp,, snmp.receptacleEnergyoutlet11s,count,,,,"[Legacy Chatsworth] The outlet11 receptacle energy accumulated in decaWatt-secs, divide by 360 to obtain Watt-hr.",0,snmp,, snmp.receptacleEnergyoutlet12s,count,,,,"[Legacy Chatsworth] The outlet12 receptacle energy accumulated in decaWatt-secs, divide by 360 to obtain Watt-hr.",0,snmp,, @@ -1073,6 +1111,17 @@ snmp.systemStatePowerUnitStatusRedundancy,gauge,,,,[Dell iDRAC] The combined red snmp.systemStateProcessorDeviceStatusCombined,gauge,,,,[Dell iDRAC] The combined status of all processor devices of this system.,0,snmp,, snmp.systemStateTemperatureStatisticsStatusCombined,gauge,,,,[Dell iDRAC] The combined status of all temperature statistics objects of this system.,0,snmp,, snmp.systemStateTemperatureStatusCombined,gauge,,,,[Dell iDRAC] The combined status of all temperature probes of this system.,0,snmp,, +snmp.tacAuthCounterAuthTime,gauge,,millisecond,,"[CPPM-MIB] Time taken (ms) for TACACS+ authentications.",0,snmp,, +snmp.tacAuthCounterCount,gauge,,,,"[CPPM-MIB] Total number of TACACS+ authentications.",0,snmp,, +snmp.tacAuthCounterFailure,gauge,,,,"[CPPM-MIB] Total number of failed TACACS+ authentications.",0,snmp,, +snmp.tacAuthCounterSuccess,gauge,,,,"[CPPM-MIB] Total number of successful TACACS+ authentications.",0,snmp,, +snmp.tacAuthCounterTime,gauge,,millisecond,,"[CPPM-MIB] Total time taken (ms) to perform TACACS+ authentications end-to-end.",0,snmp,, +snmp.tacAutzCounterCount,gauge,,,,"[CPPM-MIB] Total number of TACACS+ authorizations.",0,snmp,, +snmp.tacAutzCounterFailure,gauge,,,,"[CPPM-MIB] Total number of failed TACACS+ authorizations.",0,snmp,, +snmp.tacAutzCounterSuccess,gauge,,,,"[CPPM-MIB] Total number of successful TACACS+ authorizations.",0,snmp,, +snmp.tacAutzCounterTime,gauge,,millisecond,,"[CPPM-MIB] Total time taken (ms) to perform TACACS+ authorization end-to-end.",0,snmp,, +snmp.tacPolicyEvalTime,gauge,,millisecond,,"[CPPM-MIB] Time taken (ms) for TACACS+ policy evaluation.",0,snmp,, +snmp.tacServicePolicyEvalTime,gauge,,millisecond,,"[CPPM-MIB] Time taken (ms) for TACACS+ service policy evaluation.",0,snmp,, snmp.tcpActiveOpens,count,,,,[Generic router] [Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] [Arista] [Checkpoint Firewall] [F5 BIG-IP] [HPE Proliant] [Palo Alto] [Dell Poweredge] The number of times that TCP connections have made a direct transition to the SYN-SENT state from the CLOSED state.,0,snmp,, snmp.tcpAttemptFails,count,,,,"[Generic router] [Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] [Arista] [Checkpoint Firewall] [F5 BIG-IP] [HPE Proliant] [Palo Alto] [Dell Poweredge] The number of times that TCP connections have made a direct transition to the CLOSED state from either the SYN-SENT state or the SYN-RCVD state, or to the LISTEN state from the SYN-RCVD state.",0,snmp,, snmp.tcpCurrEstab,gauge,,,,[Generic router] [Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] [Arista] [Checkpoint Firewall] [F5 BIG-IP] [HPE Proliant] [Palo Alto] [Dell Poweredge] The number of TCP connections for which the current state is either ESTABLISHED or CLOSE-WAIT.,0,snmp,, diff --git a/snmp/tests/compose/data/aruba-clearpass.snmprec b/snmp/tests/compose/data/aruba-clearpass.snmprec new file mode 100644 index 0000000000000..3b91429f079e0 --- /dev/null +++ b/snmp/tests/compose/data/aruba-clearpass.snmprec @@ -0,0 +1,674 @@ +1.3.6.1.2.1.1.1.0|4|aruba-clearpass Device Description +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.14823.1.6.1 +1.3.6.1.2.1.1.5.0|4|aruba-clearpass.device.name +1.3.6.1.2.1.2.1.0|2|4 +1.3.6.1.2.1.14.10.1.6.192.29.116.26.0|2|8 +1.3.6.1.2.1.25.1.1.0|67|4008480960 +1.3.6.1.2.1.25.1.2.0|4x|07d209150d352003 +1.3.6.1.2.1.25.1.3.0|2|27 +1.3.6.1.2.1.25.1.4.0|4x|7a6f6d6269657320627574 +1.3.6.1.2.1.25.1.5.0|66|1832960440 +1.3.6.1.2.1.25.1.6.0|66|599138565 +1.3.6.1.2.1.25.1.7.0|2|28 +1.3.6.1.2.1.25.2.2.0|2|12 +1.3.6.1.2.1.25.2.3.1.1.18|2|18 +1.3.6.1.2.1.25.2.3.1.1.25|2|25 +1.3.6.1.2.1.25.2.3.1.2.18|6|1.3.6.1.3.152.151.208.149.222.183.191.245.232 +1.3.6.1.2.1.25.2.3.1.2.25|6|1.3.6.1.3.210 +1.3.6.1.2.1.25.2.3.1.3.18|4x|4a6164656420666f72776172642064726976696e67 +1.3.6.1.2.1.25.2.3.1.3.25|4x|666f727761726420666f7277617264204a6164656420717561696e746c79206b65707420666f7277617264204a61646564206b657074 +1.3.6.1.2.1.25.2.3.1.4.18|2|24 +1.3.6.1.2.1.25.2.3.1.4.25|2|11 +1.3.6.1.2.1.25.2.3.1.5.18|2|24 +1.3.6.1.2.1.25.2.3.1.5.25|2|5 +1.3.6.1.2.1.25.2.3.1.6.18|2|4 +1.3.6.1.2.1.25.2.3.1.6.25|2|15 +1.3.6.1.2.1.25.2.3.1.7.18|65|3964261034 +1.3.6.1.2.1.25.2.3.1.7.25|65|721062327 +1.3.6.1.2.1.25.3.2.1.1.17|2|17 +1.3.6.1.2.1.25.3.2.1.2.17|6|1.3.6.1.3.224.237.200.190.101.209 +1.3.6.1.2.1.25.3.2.1.3.17|4x|6f78656e206275742064726976696e67 +1.3.6.1.2.1.25.3.2.1.4.17|6|1.3.6.1.3.42.78 +1.3.6.1.2.1.25.3.2.1.5.17|2|2 +1.3.6.1.2.1.25.3.2.1.6.17|65|2379796945 +1.3.6.1.2.1.25.3.3.1.1.21|6|1.3.6.1.3.172.161.254.51.119.32 +1.3.6.1.2.1.25.3.3.1.1.27|6|1.3.6.1.3 +1.3.6.1.2.1.25.3.3.1.2.21|2|18 +1.3.6.1.2.1.25.3.3.1.2.27|2|4 +1.3.6.1.2.1.25.3.4.1.1.23|2|6 +1.3.6.1.2.1.25.3.4.1.1.29|2|12 +1.3.6.1.2.1.25.3.5.1.1.7|2|5 +1.3.6.1.2.1.25.3.5.1.1.22|2|4 +1.3.6.1.2.1.25.3.5.1.2.7|4x|717561696e746c7920717561696e746c79 +1.3.6.1.2.1.25.3.5.1.2.22|4x|4a6164656420616374656420666f727761726420717561696e746c79206f78656e206b65707420746865697220627574204a61646564 +1.3.6.1.2.1.25.3.6.1.1.25|2|2 +1.3.6.1.2.1.25.3.6.1.1.27|2|2 +1.3.6.1.2.1.25.3.6.1.2.25|2|3 +1.3.6.1.2.1.25.3.6.1.2.27|2|6 +1.3.6.1.2.1.25.3.6.1.3.25|2|2 +1.3.6.1.2.1.25.3.6.1.3.27|2|2 +1.3.6.1.2.1.25.3.6.1.4.25|2|18 +1.3.6.1.2.1.25.3.6.1.4.27|2|18 +1.3.6.1.2.1.25.3.7.1.1.1.6|2|6 +1.3.6.1.2.1.25.3.7.1.1.15.27|2|27 +1.3.6.1.2.1.25.3.7.1.2.1.6|4x|64726976696e6720666f7277617264207a6f6d62696573207a6f6d62696573204a6164656420746865697220627574 +1.3.6.1.2.1.25.3.7.1.2.15.27|4x|666f72776172642064726976696e6720717561696e746c7920627574207a6f6d62696573206f78656e206f78656e204a61646564 +1.3.6.1.2.1.25.3.7.1.3.1.6|4x|6b657074204a6164656420666f72776172642064726976696e67207468656972207468656972 +1.3.6.1.2.1.25.3.7.1.3.15.27|4x|4a61646564206b657074206f78656e206b657074 +1.3.6.1.2.1.25.3.7.1.4.1.6|2|11 +1.3.6.1.2.1.25.3.7.1.4.15.27|2|18 +1.3.6.1.2.1.25.3.7.1.5.1.6|2|30 +1.3.6.1.2.1.25.3.7.1.5.15.27|2|18 +1.3.6.1.2.1.25.3.8.1.1.21|2|21 +1.3.6.1.2.1.25.3.8.1.1.24|2|24 +1.3.6.1.2.1.25.3.8.1.2.21|4x|64726976696e6720666f7277617264204a6164656420616374656420746865697220717561696e746c79207a6f6d62696573 +1.3.6.1.2.1.25.3.8.1.2.24|4x|6f78656e206b657074204a61646564206163746564206b657074206f78656e207468656972204a6164656420717561696e746c79 +1.3.6.1.2.1.25.3.8.1.3.21|4x|627574206f78656e20616374656420746865697220616374656420717561696e746c792064726976696e67 +1.3.6.1.2.1.25.3.8.1.3.24|4x|7a6f6d626965732062757420627574206163746564206f78656e20666f7277617264 +1.3.6.1.2.1.25.3.8.1.4.21|6|1.3.6.1.3.71.193.227.3.223.195.180 +1.3.6.1.2.1.25.3.8.1.4.24|6|1.3.6.1.3.99.52 +1.3.6.1.2.1.25.3.8.1.5.21|2|2 +1.3.6.1.2.1.25.3.8.1.5.24|2|1 +1.3.6.1.2.1.25.3.8.1.6.21|2|1 +1.3.6.1.2.1.25.3.8.1.6.24|2|1 +1.3.6.1.2.1.25.3.8.1.7.21|2|18 +1.3.6.1.2.1.25.3.8.1.7.24|2|31 +1.3.6.1.2.1.25.3.8.1.8.21|4x|07d209150d352003 +1.3.6.1.2.1.25.3.8.1.8.24|4x|07d209150d352003 +1.3.6.1.2.1.25.3.8.1.9.21|4x|07d209150d352003 +1.3.6.1.2.1.25.3.8.1.9.24|4x|07d209150d352003 +1.3.6.1.2.1.25.4.1.0|2|16 +1.3.6.1.2.1.25.4.2.1.1.22|2|22 +1.3.6.1.2.1.25.4.2.1.1.26|2|26 +1.3.6.1.2.1.25.4.2.1.2.22|4x|6163746564206f78656e20627574206275742064726976696e67204a61646564207468656972 +1.3.6.1.2.1.25.4.2.1.2.26|4x|7a6f6d62696573206b657074 +1.3.6.1.2.1.25.4.2.1.3.22|6|1.3.6.1.3.137.68.7.47.28.56.8.83.149 +1.3.6.1.2.1.25.4.2.1.3.26|6|1.3.6.1.3.116.239.2.113.209 +1.3.6.1.2.1.25.4.2.1.4.22|4x|717561696e746c79204a61646564207a6f6d6269657320717561696e746c79207a6f6d62696573204a61646564207a6f6d62696573206b65707420627574 +1.3.6.1.2.1.25.4.2.1.4.26|4x|627574206f78656e206b6570742062757420666f72776172642064726976696e67204a61646564207a6f6d6269657320717561696e746c79 +1.3.6.1.2.1.25.4.2.1.5.22|4|oxen +1.3.6.1.2.1.25.4.2.1.5.26|4|driving +1.3.6.1.2.1.25.4.2.1.6.22|2|3 +1.3.6.1.2.1.25.4.2.1.6.26|2|1 +1.3.6.1.2.1.25.4.2.1.7.22|2|4 +1.3.6.1.2.1.25.4.2.1.7.26|2|1 +1.3.6.1.2.1.25.5.1.1.1.1|2|6 +1.3.6.1.2.1.25.5.1.1.1.12|2|17 +1.3.6.1.2.1.25.5.1.1.2.1|2|31 +1.3.6.1.2.1.25.5.1.1.2.12|2|15 +1.3.6.1.2.1.25.6.1.0|67|3638549618 +1.3.6.1.2.1.25.6.2.0|67|1478628381 +1.3.6.1.2.1.25.6.3.1.1.11|2|11 +1.3.6.1.2.1.25.6.3.1.1.31|2|31 +1.3.6.1.2.1.25.6.3.1.2.11|4x|627574206b657074207a6f6d62696573 +1.3.6.1.2.1.25.6.3.1.2.31|4x|746865697220717561696e746c792062757420666f7277617264 +1.3.6.1.2.1.25.6.3.1.3.11|6|1.3.6.1.3.198.92.32.134.216.132.163.212 +1.3.6.1.2.1.25.6.3.1.3.31|6|1.3.6.1.3.80.52.122.68.145 +1.3.6.1.2.1.25.6.3.1.4.11|2|2 +1.3.6.1.2.1.25.6.3.1.4.31|2|1 +1.3.6.1.2.1.25.6.3.1.5.11|4x|07d209150d352003 +1.3.6.1.2.1.25.6.3.1.5.31|4x|07d209150d352003 +1.3.6.1.4.1.2021.2.1.1.11|2|11 +1.3.6.1.4.1.2021.2.1.1.15|2|15 +1.3.6.1.4.1.2021.2.1.2.11|4x|746865697220746865697220666f727761726420666f7277617264 +1.3.6.1.4.1.2021.2.1.2.15|4x|717561696e746c7920616374656420666f727761726420717561696e746c79204a6164656420627574 +1.3.6.1.4.1.2021.2.1.3.11|2|11 +1.3.6.1.4.1.2021.2.1.3.15|2|4 +1.3.6.1.4.1.2021.2.1.4.11|2|13 +1.3.6.1.4.1.2021.2.1.4.15|2|3 +1.3.6.1.4.1.2021.2.1.5.11|2|6 +1.3.6.1.4.1.2021.2.1.5.15|2|28 +1.3.6.1.4.1.2021.2.1.100.11|2|0 +1.3.6.1.4.1.2021.2.1.100.15|2|0 +1.3.6.1.4.1.2021.2.1.101.11|4x|627574206f78656e20666f72776172642064726976696e6720666f7277617264 +1.3.6.1.4.1.2021.2.1.101.15|4x|6f78656e207a6f6d62696573207468656972207a6f6d62696573207468656972 +1.3.6.1.4.1.2021.2.1.102.11|2|1 +1.3.6.1.4.1.2021.2.1.102.15|2|1 +1.3.6.1.4.1.2021.2.1.103.11|4x|64726976696e67207468656972204a61646564207a6f6d62696573204a61646564206f78656e206b657074207a6f6d62696573206163746564 +1.3.6.1.4.1.2021.2.1.103.15|4x|6f78656e206f78656e206f78656e2062757420717561696e746c79 +1.3.6.1.4.1.2021.4.1.0|2|5 +1.3.6.1.4.1.2021.4.2.0|4x|4a616465642064726976696e67206163746564206163746564 +1.3.6.1.4.1.2021.4.3.0|2|4 +1.3.6.1.4.1.2021.4.4.0|2|0 +1.3.6.1.4.1.2021.4.5.0|2|16 +1.3.6.1.4.1.2021.4.6.0|2|12 +1.3.6.1.4.1.2021.4.7.0|2|17 +1.3.6.1.4.1.2021.4.8.0|2|27 +1.3.6.1.4.1.2021.4.9.0|2|14 +1.3.6.1.4.1.2021.4.10.0|2|24 +1.3.6.1.4.1.2021.4.11.0|2|6 +1.3.6.1.4.1.2021.4.12.0|2|17 +1.3.6.1.4.1.2021.4.13.0|2|15 +1.3.6.1.4.1.2021.4.14.0|2|8 +1.3.6.1.4.1.2021.4.15.0|2|12 +1.3.6.1.4.1.2021.4.16.0|2|4 +1.3.6.1.4.1.2021.4.17.0|2|7 +1.3.6.1.4.1.2021.4.18.0|70|3977963946920890692 +1.3.6.1.4.1.2021.4.19.0|70|15323469086494745729 +1.3.6.1.4.1.2021.4.20.0|70|3502763893321187877 +1.3.6.1.4.1.2021.4.21.0|70|15823615663237099198 +1.3.6.1.4.1.2021.4.22.0|70|6934097695172420180 +1.3.6.1.4.1.2021.4.23.0|70|14452724836324350180 +1.3.6.1.4.1.2021.4.24.0|70|16308468273312524676 +1.3.6.1.4.1.2021.4.25.0|70|8990319259690086269 +1.3.6.1.4.1.2021.4.26.0|70|17274703223799953786 +1.3.6.1.4.1.2021.4.100.0|2|1 +1.3.6.1.4.1.2021.4.101.0|4x|717561696e746c79207468656972 +1.3.6.1.4.1.2021.8.1.1.9|2|9 +1.3.6.1.4.1.2021.8.1.1.23|2|23 +1.3.6.1.4.1.2021.8.1.2.9|4x|616374656420616374656420746865697220666f72776172642064726976696e67204a6164656420666f7277617264 +1.3.6.1.4.1.2021.8.1.2.23|4x|4a6164656420717561696e746c79 +1.3.6.1.4.1.2021.8.1.3.9|4x|61637465642074686569722064726976696e67207468656972 +1.3.6.1.4.1.2021.8.1.3.23|4x|6f78656e207468656972207468656972204a616465642061637465642064726976696e67 +1.3.6.1.4.1.2021.8.1.100.9|2|26 +1.3.6.1.4.1.2021.8.1.100.23|2|25 +1.3.6.1.4.1.2021.8.1.101.9|4x|7468656972206f78656e206f78656e206f78656e207a6f6d62696573207468656972206b657074206163746564204a61646564 +1.3.6.1.4.1.2021.8.1.101.23|4x|627574206f78656e204a61646564207a6f6d62696573206275742064726976696e672062757420717561696e746c79 +1.3.6.1.4.1.2021.8.1.102.9|2|0 +1.3.6.1.4.1.2021.8.1.102.23|2|1 +1.3.6.1.4.1.2021.8.1.103.9|4x|6b6570742062757420627574206f78656e20717561696e746c792064726976696e6720666f727761726420627574 +1.3.6.1.4.1.2021.8.1.103.23|4x|6f78656e206b657074204a61646564207468656972204a6164656420666f7277617264 +1.3.6.1.4.1.2021.9.1.1.10|2|10 +1.3.6.1.4.1.2021.9.1.1.14|2|14 +1.3.6.1.4.1.2021.9.1.2.10|4x|6f78656e20666f727761726420746865697220666f727761726420666f7277617264 +1.3.6.1.4.1.2021.9.1.2.14|4x|6163746564206f78656e20717561696e746c7920666f7277617264 +1.3.6.1.4.1.2021.9.1.3.10|4x|74686569722074686569722064726976696e6720666f7277617264207a6f6d62696573206163746564207a6f6d62696573 +1.3.6.1.4.1.2021.9.1.3.14|4x|7a6f6d62696573207468656972 +1.3.6.1.4.1.2021.9.1.4.10|2|6 +1.3.6.1.4.1.2021.9.1.4.14|2|25 +1.3.6.1.4.1.2021.9.1.5.10|2|12 +1.3.6.1.4.1.2021.9.1.5.14|2|3 +1.3.6.1.4.1.2021.9.1.6.10|2|29 +1.3.6.1.4.1.2021.9.1.6.14|2|22 +1.3.6.1.4.1.2021.9.1.7.10|2|18 +1.3.6.1.4.1.2021.9.1.7.14|2|23 +1.3.6.1.4.1.2021.9.1.8.10|2|6 +1.3.6.1.4.1.2021.9.1.8.14|2|29 +1.3.6.1.4.1.2021.9.1.9.10|2|6 +1.3.6.1.4.1.2021.9.1.9.14|2|31 +1.3.6.1.4.1.2021.9.1.10.10|2|30 +1.3.6.1.4.1.2021.9.1.10.14|2|3 +1.3.6.1.4.1.2021.9.1.11.10|66|36918 +1.3.6.1.4.1.2021.9.1.11.14|66|28244 +1.3.6.1.4.1.2021.9.1.12.10|66|20714 +1.3.6.1.4.1.2021.9.1.12.14|66|15404 +1.3.6.1.4.1.2021.9.1.13.10|66|65342 +1.3.6.1.4.1.2021.9.1.13.14|66|22672 +1.3.6.1.4.1.2021.9.1.14.10|66|45727 +1.3.6.1.4.1.2021.9.1.14.14|66|61719 +1.3.6.1.4.1.2021.9.1.15.10|66|25422 +1.3.6.1.4.1.2021.9.1.15.14|66|22663 +1.3.6.1.4.1.2021.9.1.16.10|66|52147 +1.3.6.1.4.1.2021.9.1.16.14|66|47305 +1.3.6.1.4.1.2021.9.1.100.10|2|1 +1.3.6.1.4.1.2021.9.1.100.14|2|0 +1.3.6.1.4.1.2021.9.1.101.10|4x|717561696e746c7920666f7277617264 +1.3.6.1.4.1.2021.9.1.101.14|4|their +1.3.6.1.4.1.2021.10.1.1.1|2|1 +1.3.6.1.4.1.2021.10.1.1.2|2|2 +1.3.6.1.4.1.2021.10.1.2.1|4x|627574207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.2021.10.1.2.2|4x|6f78656e206f78656e20717561696e746c79 +1.3.6.1.4.1.2021.10.1.3.1|4x|6b6570742064726976696e67207a6f6d62696573204a6164656420666f7277617264206163746564206f78656e206163746564204a61646564 +1.3.6.1.4.1.2021.10.1.3.2|4x|717561696e746c79206b657074207a6f6d62696573206163746564207a6f6d62696573 +1.3.6.1.4.1.2021.10.1.4.1|4x|7a6f6d6269657320627574204a61646564204a61646564 +1.3.6.1.4.1.2021.10.1.4.2|4x|6b65707420627574 +1.3.6.1.4.1.2021.10.1.5.1|2|26 +1.3.6.1.4.1.2021.10.1.5.2|2|0 +1.3.6.1.4.1.2021.10.1.6.1|68|driving +1.3.6.1.4.1.2021.10.1.6.2|68|forward +1.3.6.1.4.1.2021.10.1.100.1|2|0 +1.3.6.1.4.1.2021.10.1.100.2|2|0 +1.3.6.1.4.1.2021.10.1.101.1|4|quaintly +1.3.6.1.4.1.2021.10.1.101.2|4x|64726976696e67206b657074207468656972206b657074207a6f6d62696573206b657074206163746564 +1.3.6.1.4.1.2021.11.1.0|2|30 +1.3.6.1.4.1.2021.11.2.0|4x|717561696e746c79207468656972204a61646564 +1.3.6.1.4.1.2021.11.3.0|2|1 +1.3.6.1.4.1.2021.11.4.0|2|9 +1.3.6.1.4.1.2021.11.5.0|2|10 +1.3.6.1.4.1.2021.11.6.0|2|25 +1.3.6.1.4.1.2021.11.7.0|2|24 +1.3.6.1.4.1.2021.11.8.0|2|2 +1.3.6.1.4.1.2021.11.9.0|2|9 +1.3.6.1.4.1.2021.11.10.0|2|27 +1.3.6.1.4.1.2021.11.11.0|2|1 +1.3.6.1.4.1.2021.11.50.0|65|4004647439 +1.3.6.1.4.1.2021.11.51.0|65|493869881 +1.3.6.1.4.1.2021.11.52.0|65|166490070 +1.3.6.1.4.1.2021.11.53.0|65|1614063111 +1.3.6.1.4.1.2021.11.54.0|65|1100362733 +1.3.6.1.4.1.2021.11.55.0|65|4074974883 +1.3.6.1.4.1.2021.11.56.0|65|1941515899 +1.3.6.1.4.1.2021.11.57.0|65|256304538 +1.3.6.1.4.1.2021.11.58.0|65|2931032110 +1.3.6.1.4.1.2021.11.59.0|65|916749579 +1.3.6.1.4.1.2021.11.60.0|65|4115355784 +1.3.6.1.4.1.2021.11.61.0|65|145476773 +1.3.6.1.4.1.2021.11.62.0|65|1523207496 +1.3.6.1.4.1.2021.11.63.0|65|1012162144 +1.3.6.1.4.1.2021.11.64.0|65|3953007051 +1.3.6.1.4.1.2021.11.65.0|65|3028372581 +1.3.6.1.4.1.2021.11.66.0|65|3250286296 +1.3.6.1.4.1.2021.11.67.0|2|19 +1.3.6.1.4.1.2021.15.1.1.11|2|11 +1.3.6.1.4.1.2021.15.1.1.19|2|19 +1.3.6.1.4.1.2021.15.1.2.11|4x|4a61646564206275742062757420717561696e746c79206f78656e206163746564204a61646564206b657074206f78656e +1.3.6.1.4.1.2021.15.1.2.19|4x|62757420627574207a6f6d62696573206b657074206b657074 +1.3.6.1.4.1.2021.15.1.3.11|2|29 +1.3.6.1.4.1.2021.15.1.3.19|2|8 +1.3.6.1.4.1.2021.15.1.4.11|2|6 +1.3.6.1.4.1.2021.15.1.4.19|2|17 +1.3.6.1.4.1.2021.15.1.100.11|2|0 +1.3.6.1.4.1.2021.15.1.100.19|2|1 +1.3.6.1.4.1.2021.15.1.101.11|4x|666f7277617264204a6164656420717561696e746c792064726976696e67204a61646564 +1.3.6.1.4.1.2021.15.1.101.19|4x|7a6f6d62696573207468656972206b65707420627574 +1.3.6.1.4.1.2021.16.1.0|2|30 +1.3.6.1.4.1.2021.16.2.1.1.2|2|2 +1.3.6.1.4.1.2021.16.2.1.1.27|2|27 +1.3.6.1.4.1.2021.16.2.1.2.2|4|oxen +1.3.6.1.4.1.2021.16.2.1.2.27|4x|6163746564207a6f6d6269657320746865697220627574207a6f6d6269657320627574207a6f6d62696573 +1.3.6.1.4.1.2021.16.2.1.3.2|4x|64726976696e672062757420666f7277617264207a6f6d62696573204a61646564 +1.3.6.1.4.1.2021.16.2.1.3.27|4x|4a616465642061637465642061637465642062757420666f7277617264206b657074 +1.3.6.1.4.1.2021.16.2.1.4.2|4x|627574206f78656e207a6f6d6269657320666f7277617264206163746564206b657074 +1.3.6.1.4.1.2021.16.2.1.4.27|4|Jaded +1.3.6.1.4.1.2021.16.2.1.5.2|65|2856618419 +1.3.6.1.4.1.2021.16.2.1.5.27|65|3868987484 +1.3.6.1.4.1.2021.16.2.1.6.2|2|25 +1.3.6.1.4.1.2021.16.2.1.6.27|2|24 +1.3.6.1.4.1.2021.16.2.1.7.2|65|2771353297 +1.3.6.1.4.1.2021.16.2.1.7.27|65|3053190670 +1.3.6.1.4.1.2021.16.2.1.8.2|2|9 +1.3.6.1.4.1.2021.16.2.1.8.27|2|6 +1.3.6.1.4.1.2021.16.2.1.9.2|65|54285711 +1.3.6.1.4.1.2021.16.2.1.9.27|65|2126961374 +1.3.6.1.4.1.2021.16.2.1.10.2|2|13 +1.3.6.1.4.1.2021.16.2.1.10.27|2|7 +1.3.6.1.4.1.2021.16.2.1.11.2|2|9 +1.3.6.1.4.1.2021.16.2.1.11.27|2|0 +1.3.6.1.4.1.2021.16.2.1.100.2|2|0 +1.3.6.1.4.1.2021.16.2.1.100.27|2|0 +1.3.6.1.4.1.2021.16.2.1.101.2|4x|64726976696e67207468656972207a6f6d62696573204a616465642064726976696e6720717561696e746c7920666f7277617264206f78656e +1.3.6.1.4.1.2021.16.2.1.101.27|4x|6163746564207a6f6d6269657320627574204a6164656420627574207a6f6d62696573206163746564 +1.3.6.1.4.1.2021.100.1.0|2|19 +1.3.6.1.4.1.2021.100.2.0|4x|7a6f6d62696573206163746564206163746564 +1.3.6.1.4.1.2021.100.3.0|4x|6f78656e206f78656e20717561696e746c79 +1.3.6.1.4.1.2021.100.4.0|4x|6f78656e20717561696e746c79204a6164656420717561696e746c79206b657074206163746564207a6f6d62696573 +1.3.6.1.4.1.2021.100.5.0|4x|7a6f6d62696573206f78656e2064726976696e67206163746564207a6f6d6269657320666f72776172642074686569722064726976696e67206163746564 +1.3.6.1.4.1.2021.100.6.0|4x|666f7277617264207a6f6d6269657320627574207a6f6d62696573204a61646564 +1.3.6.1.4.1.2021.100.10.0|2|27 +1.3.6.1.4.1.2021.100.11.0|2|20 +1.3.6.1.4.1.2021.100.12.0|2|3 +1.3.6.1.4.1.2021.100.13.0|2|12 +1.3.6.1.4.1.2021.100.20.0|2|7 +1.3.6.1.4.1.2021.101.1.0|2|23 +1.3.6.1.4.1.2021.101.2.0|4|Jaded +1.3.6.1.4.1.2021.101.100.0|2|0 +1.3.6.1.4.1.2021.101.101.0|4x|6163746564207468656972206f78656e2064726976696e67204a61646564207a6f6d6269657320717561696e746c79206f78656e2064726976696e67 +1.3.6.1.4.1.2021.102.1.1.1.3.6.1.3.87.250.12.79.184.51.254|6|1.3.6.1.3.87.250.12.79.184.51.254 +1.3.6.1.4.1.2021.102.1.1.1.3.6.1.3.212.179|6|1.3.6.1.3.212.179 +1.3.6.1.4.1.2021.102.1.2.1.3.6.1.3.87.250.12.79.184.51.254|4x|6b657074206b657074204a616465642064726976696e672074686569722062757420666f7277617264206163746564 +1.3.6.1.4.1.2021.102.1.2.1.3.6.1.3.212.179|4x|4a61646564207468656972207a6f6d62696573 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.1.2|4x|6163746564207468656972 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.1.6|4x|62757420666f7277617264206275742062757420666f727761726420627574206b657074204a61646564 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.1.18|4x|666f7277617264206f78656e20717561696e746c79204a61646564204a6164656420627574207468656972 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.1.26|4x|64726976696e672064726976696e6720717561696e746c79207a6f6d62696573207468656972 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.2.2|4x|7468656972204a61646564204a6164656420627574 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.2.6|4x|666f7277617264206b657074 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.2.18|4|forward +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.2.26|4|acted +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.3.2|4x|666f727761726420717561696e746c7920627574206163746564206f78656e207468656972 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.3.6|4x|6b657074206163746564206163746564206b657074207a6f6d62696573204a6164656420717561696e746c79207468656972206b657074 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.3.18|4x|6f78656e2074686569722064726976696e67206f78656e20717561696e746c7920717561696e746c79206b657074207468656972204a61646564 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.3.26|4x|616374656420717561696e746c79 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.4.2|4x|666f7277617264207a6f6d62696573207a6f6d62696573206b657074 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.4.6|4x|62757420717561696e746c7920666f7277617264207a6f6d6269657320666f7277617264207468656972 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.4.18|4x|616374656420717561696e746c79 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.4.26|4x|6163746564204a61646564 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.5.2|4x|6163746564206275742064726976696e6720717561696e746c79206f78656e20627574206163746564 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.5.6|4x|64726976696e67207a6f6d62696573206163746564206f78656e206163746564206163746564 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.5.18|4x|627574206b657074204a61646564206b6570742064726976696e67 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.5.26|4x|7a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.6.2|4x|6f78656e206163746564206b65707420627574207468656972206f78656e +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.6.6|4x|6163746564204a6164656420627574206f78656e207468656972 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.6.18|4x|616374656420666f7277617264207a6f6d62696573 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.6.26|4x|6163746564207468656972207a6f6d626965732062757420666f7277617264204a61646564206f78656e207a6f6d62696573206b657074 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.7.2|2|26 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.7.6|2|7 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.7.18|2|19 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.7.26|2|5 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.8.2|64x|087bb00f +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.8.6|64x|88144cf0 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.8.18|64x|8b73076b +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.8.26|64x|97b00a9d +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.9.2|4x|6b657074206275742064726976696e67 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.9.6|4x|7468656972207468656972 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.9.18|4|driving +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.9.26|4x|4a616465642064726976696e67 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.10.2|64x|bc8878c1 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.10.6|64x|121dc3e4 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.10.18|64x|68c1b388 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.10.26|64x|6c55be2b +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.11.2|4|oxen +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.11.6|4|acted +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.11.18|4x|6f78656e206f78656e20717561696e746c79 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.11.26|4|but +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.12.2|70|7033092650739632342 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.12.6|70|9401235379027673582 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.12.18|70|4625418065316619471 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.12.26|70|13872704151663808079 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.13.2|70|4287005482772193873 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.13.6|70|17688864862319581609 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.13.18|70|1758085667326343606 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.13.26|70|10978330082391422574 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.14.2|70|11525885114227678067 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.14.6|70|4110615758417425543 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.14.18|70|7358725227884473690 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.14.26|70|1019610266421676606 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.15.2|70|13339060145432866278 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.15.6|70|3204850177340929436 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.15.18|70|10842268540310165725 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.15.26|70|2278094307237064029 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.16.2|2|27 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.16.6|2|24 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.16.18|2|20 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.16.26|2|8 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.17.2|67|3244987066 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.17.6|67|2598923641 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.17.18|67|3214852219 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.17.26|67|896204977 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.18.2|2|2 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.18.6|2|6 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.18.18|2|18 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.18.26|2|26 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.19.2|4x|74686569722062757420717561696e746c79206163746564 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.19.6|4x|64726976696e67204a61646564207a6f6d62696573204a616465642064726976696e67 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.19.18|4x|6163746564204a61646564206163746564207a6f6d62696573206f78656e +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.19.26|4x|6163746564207a6f6d626965732062757420666f7277617264204a61646564207468656972206163746564 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.20.2|4x|4a61646564207a6f6d6269657320616374656420746865697220616374656420717561696e746c79206275742064726976696e67206163746564 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.20.6|4x|746865697220717561696e746c79 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.20.18|4x|6163746564206275742064726976696e67204a6164656420627574206b657074206163746564 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.20.26|4|driving +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.21.2|4x|6f78656e2064726976696e672064726976696e67206f78656e20746865697220627574 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.21.6|4x|64726976696e6720616374656420666f7277617264 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.21.18|4x|4a61646564206b657074206163746564206b657074204a61646564 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.21.26|4x|6163746564207a6f6d62696573206b6570742064726976696e67207a6f6d626965732064726976696e672062757420666f7277617264 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.22.2|4x|7a6f6d6269657320666f727761726420746865697220627574204a61646564207a6f6d62696573207468656972 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.22.6|4x|64726976696e67206b657074204a61646564207a6f6d626965732064726976696e6720627574206275742064726976696e67206b657074 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.22.18|4x|6b65707420627574207468656972207a6f6d62696573204a6164656420717561696e746c79206b657074 +1.3.6.1.4.1.14823.1.6.1.1.1.1.1.22.26|4x|62757420717561696e746c79207a6f6d626965732064726976696e67 +1.3.6.1.4.1.14823.1.6.1.1.2.1.1.1.7.100.114.105.118.105.110.103|2|29 +1.3.6.1.4.1.14823.1.6.1.1.2.1.1.1.11.102.111.114.119.97.114.100.32.98.117.116|2|31 +1.3.6.1.4.1.14823.1.6.1.1.2.1.1.1.18.122.111.109.98.105.101.115.32.107.101.112.116.32.97.99.116.101.100|2|2 +1.3.6.1.4.1.14823.1.6.1.1.2.1.1.1.31.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115.32.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|2|18 +1.3.6.1.4.1.14823.1.6.1.1.2.1.1.2.7.100.114.105.118.105.110.103|2|7 +1.3.6.1.4.1.14823.1.6.1.1.2.1.1.2.11.102.111.114.119.97.114.100.32.98.117.116|2|18 +1.3.6.1.4.1.14823.1.6.1.1.2.1.1.2.18.122.111.109.98.105.101.115.32.107.101.112.116.32.97.99.116.101.100|2|20 +1.3.6.1.4.1.14823.1.6.1.1.2.1.1.2.31.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115.32.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|2|15 +1.3.6.1.4.1.14823.1.6.1.1.2.1.1.3.7.100.114.105.118.105.110.103|2|15 +1.3.6.1.4.1.14823.1.6.1.1.2.1.1.3.11.102.111.114.119.97.114.100.32.98.117.116|2|20 +1.3.6.1.4.1.14823.1.6.1.1.2.1.1.3.18.122.111.109.98.105.101.115.32.107.101.112.116.32.97.99.116.101.100|2|19 +1.3.6.1.4.1.14823.1.6.1.1.2.1.1.3.31.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115.32.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|2|22 +1.3.6.1.4.1.14823.1.6.1.1.2.1.1.4.7.100.114.105.118.105.110.103|2|5 +1.3.6.1.4.1.14823.1.6.1.1.2.1.1.4.11.102.111.114.119.97.114.100.32.98.117.116|2|9 +1.3.6.1.4.1.14823.1.6.1.1.2.1.1.4.18.122.111.109.98.105.101.115.32.107.101.112.116.32.97.99.116.101.100|2|13 +1.3.6.1.4.1.14823.1.6.1.1.2.1.1.4.31.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115.32.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|2|0 +1.3.6.1.4.1.14823.1.6.1.1.2.1.1.5.7.100.114.105.118.105.110.103|2|13 +1.3.6.1.4.1.14823.1.6.1.1.2.1.1.5.11.102.111.114.119.97.114.100.32.98.117.116|2|12 +1.3.6.1.4.1.14823.1.6.1.1.2.1.1.5.18.122.111.109.98.105.101.115.32.107.101.112.116.32.97.99.116.101.100|2|13 +1.3.6.1.4.1.14823.1.6.1.1.2.1.1.5.31.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115.32.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|2|14 +1.3.6.1.4.1.14823.1.6.1.1.2.2.1.1.3|2|3 +1.3.6.1.4.1.14823.1.6.1.1.2.2.1.1.9|2|9 +1.3.6.1.4.1.14823.1.6.1.1.2.2.1.1.13|2|13 +1.3.6.1.4.1.14823.1.6.1.1.2.2.1.1.14|2|14 +1.3.6.1.4.1.14823.1.6.1.1.2.2.1.2.3|4x|6f78656e206275742064726976696e67206f78656e204a6164656420627574 +1.3.6.1.4.1.14823.1.6.1.1.2.2.1.2.9|4x|4a616465642062757420717561696e746c79207a6f6d6269657320717561696e746c792064726976696e67206f78656e +1.3.6.1.4.1.14823.1.6.1.1.2.2.1.2.13|4x|666f727761726420666f7277617264 +1.3.6.1.4.1.14823.1.6.1.1.2.2.1.2.14|4x|717561696e746c79206b657074204a61646564204a61646564204a61646564206f78656e20717561696e746c79206f78656e +1.3.6.1.4.1.14823.1.6.1.1.2.2.1.3.3|2|23 +1.3.6.1.4.1.14823.1.6.1.1.2.2.1.3.9|2|2 +1.3.6.1.4.1.14823.1.6.1.1.2.2.1.3.13|2|7 +1.3.6.1.4.1.14823.1.6.1.1.2.2.1.3.14|2|1 +1.3.6.1.4.1.14823.1.6.1.1.2.2.1.4.3|2|22 +1.3.6.1.4.1.14823.1.6.1.1.2.2.1.4.9|2|19 +1.3.6.1.4.1.14823.1.6.1.1.2.2.1.4.13|2|5 +1.3.6.1.4.1.14823.1.6.1.1.2.2.1.4.14|2|20 +1.3.6.1.4.1.14823.1.6.1.1.2.2.1.5.3|2|17 +1.3.6.1.4.1.14823.1.6.1.1.2.2.1.5.9|2|26 +1.3.6.1.4.1.14823.1.6.1.1.2.2.1.5.13|2|17 +1.3.6.1.4.1.14823.1.6.1.1.2.2.1.5.14|2|1 +1.3.6.1.4.1.14823.1.6.1.1.2.2.1.6.3|2|1 +1.3.6.1.4.1.14823.1.6.1.1.2.2.1.6.9|2|23 +1.3.6.1.4.1.14823.1.6.1.1.2.2.1.6.13|2|31 +1.3.6.1.4.1.14823.1.6.1.1.2.2.1.6.14|2|9 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.1.5.116.104.101.105.114|2|21 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.1.24.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115.32.113.117.97.105.110.116.108.121|2|14 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.1.44.74.97.100.101.100.32.74.97.100.101.100.32.102.111.114.119.97.114.100.32.111.120.101.110.32.98.117.116.32.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|2|30 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.1.55.100.114.105.118.105.110.103.32.102.111.114.119.97.114.100.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.97.99.116.101.100.32.98.117.116.32.100.114.105.118.105.110.103.32.107.101.112.116|2|8 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.2.5.116.104.101.105.114|2|18 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.2.24.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115.32.113.117.97.105.110.116.108.121|2|8 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.2.44.74.97.100.101.100.32.74.97.100.101.100.32.102.111.114.119.97.114.100.32.111.120.101.110.32.98.117.116.32.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|2|20 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.2.55.100.114.105.118.105.110.103.32.102.111.114.119.97.114.100.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.97.99.116.101.100.32.98.117.116.32.100.114.105.118.105.110.103.32.107.101.112.116|2|1 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.3.5.116.104.101.105.114|2|23 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.3.24.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115.32.113.117.97.105.110.116.108.121|2|17 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.3.44.74.97.100.101.100.32.74.97.100.101.100.32.102.111.114.119.97.114.100.32.111.120.101.110.32.98.117.116.32.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|2|27 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.3.55.100.114.105.118.105.110.103.32.102.111.114.119.97.114.100.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.97.99.116.101.100.32.98.117.116.32.100.114.105.118.105.110.103.32.107.101.112.116|2|24 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.4.5.116.104.101.105.114|2|8 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.4.24.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115.32.113.117.97.105.110.116.108.121|2|31 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.4.44.74.97.100.101.100.32.74.97.100.101.100.32.102.111.114.119.97.114.100.32.111.120.101.110.32.98.117.116.32.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|2|5 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.4.55.100.114.105.118.105.110.103.32.102.111.114.119.97.114.100.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.97.99.116.101.100.32.98.117.116.32.100.114.105.118.105.110.103.32.107.101.112.116|2|29 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.5.5.116.104.101.105.114|2|30 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.5.24.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115.32.113.117.97.105.110.116.108.121|2|7 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.5.44.74.97.100.101.100.32.74.97.100.101.100.32.102.111.114.119.97.114.100.32.111.120.101.110.32.98.117.116.32.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|2|28 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.5.55.100.114.105.118.105.110.103.32.102.111.114.119.97.114.100.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.97.99.116.101.100.32.98.117.116.32.100.114.105.118.105.110.103.32.107.101.112.116|2|30 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.6.5.116.104.101.105.114|2|8 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.6.24.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115.32.113.117.97.105.110.116.108.121|2|15 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.6.44.74.97.100.101.100.32.74.97.100.101.100.32.102.111.114.119.97.114.100.32.111.120.101.110.32.98.117.116.32.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|2|23 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.6.55.100.114.105.118.105.110.103.32.102.111.114.119.97.114.100.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.97.99.116.101.100.32.98.117.116.32.100.114.105.118.105.110.103.32.107.101.112.116|2|9 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.7.5.116.104.101.105.114|2|8 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.7.24.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115.32.113.117.97.105.110.116.108.121|2|0 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.7.44.74.97.100.101.100.32.74.97.100.101.100.32.102.111.114.119.97.114.100.32.111.120.101.110.32.98.117.116.32.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|2|29 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.7.55.100.114.105.118.105.110.103.32.102.111.114.119.97.114.100.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.97.99.116.101.100.32.98.117.116.32.100.114.105.118.105.110.103.32.107.101.112.116|2|8 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.8.5.116.104.101.105.114|2|29 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.8.24.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115.32.113.117.97.105.110.116.108.121|2|12 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.8.44.74.97.100.101.100.32.74.97.100.101.100.32.102.111.114.119.97.114.100.32.111.120.101.110.32.98.117.116.32.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|2|23 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.8.55.100.114.105.118.105.110.103.32.102.111.114.119.97.114.100.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.97.99.116.101.100.32.98.117.116.32.100.114.105.118.105.110.103.32.107.101.112.116|2|15 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.9.5.116.104.101.105.114|2|18 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.9.24.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115.32.113.117.97.105.110.116.108.121|2|3 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.9.44.74.97.100.101.100.32.74.97.100.101.100.32.102.111.114.119.97.114.100.32.111.120.101.110.32.98.117.116.32.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|2|24 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.9.55.100.114.105.118.105.110.103.32.102.111.114.119.97.114.100.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.97.99.116.101.100.32.98.117.116.32.100.114.105.118.105.110.103.32.107.101.112.116|2|7 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.10.5.116.104.101.105.114|2|5 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.10.24.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115.32.113.117.97.105.110.116.108.121|2|17 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.10.44.74.97.100.101.100.32.74.97.100.101.100.32.102.111.114.119.97.114.100.32.111.120.101.110.32.98.117.116.32.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|2|12 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.10.55.100.114.105.118.105.110.103.32.102.111.114.119.97.114.100.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.97.99.116.101.100.32.98.117.116.32.100.114.105.118.105.110.103.32.107.101.112.116|2|3 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.11.5.116.104.101.105.114|2|29 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.11.24.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115.32.113.117.97.105.110.116.108.121|2|10 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.11.44.74.97.100.101.100.32.74.97.100.101.100.32.102.111.114.119.97.114.100.32.111.120.101.110.32.98.117.116.32.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|2|20 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.11.55.100.114.105.118.105.110.103.32.102.111.114.119.97.114.100.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.97.99.116.101.100.32.98.117.116.32.100.114.105.118.105.110.103.32.107.101.112.116|2|4 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.12.5.116.104.101.105.114|2|13 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.12.24.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115.32.113.117.97.105.110.116.108.121|2|13 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.12.44.74.97.100.101.100.32.74.97.100.101.100.32.102.111.114.119.97.114.100.32.111.120.101.110.32.98.117.116.32.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|2|31 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.12.55.100.114.105.118.105.110.103.32.102.111.114.119.97.114.100.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.97.99.116.101.100.32.98.117.116.32.100.114.105.118.105.110.103.32.107.101.112.116|2|15 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.13.5.116.104.101.105.114|2|28 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.13.24.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115.32.113.117.97.105.110.116.108.121|2|17 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.13.44.74.97.100.101.100.32.74.97.100.101.100.32.102.111.114.119.97.114.100.32.111.120.101.110.32.98.117.116.32.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|2|20 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.13.55.100.114.105.118.105.110.103.32.102.111.114.119.97.114.100.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.97.99.116.101.100.32.98.117.116.32.100.114.105.118.105.110.103.32.107.101.112.116|2|24 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.14.5.116.104.101.105.114|2|28 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.14.24.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115.32.113.117.97.105.110.116.108.121|2|5 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.14.44.74.97.100.101.100.32.74.97.100.101.100.32.102.111.114.119.97.114.100.32.111.120.101.110.32.98.117.116.32.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|2|17 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.14.55.100.114.105.118.105.110.103.32.102.111.114.119.97.114.100.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.97.99.116.101.100.32.98.117.116.32.100.114.105.118.105.110.103.32.107.101.112.116|2|22 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.15.5.116.104.101.105.114|2|16 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.15.24.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115.32.113.117.97.105.110.116.108.121|2|1 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.15.44.74.97.100.101.100.32.74.97.100.101.100.32.102.111.114.119.97.114.100.32.111.120.101.110.32.98.117.116.32.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|2|31 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.15.55.100.114.105.118.105.110.103.32.102.111.114.119.97.114.100.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.97.99.116.101.100.32.98.117.116.32.100.114.105.118.105.110.103.32.107.101.112.116|2|18 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.16.5.116.104.101.105.114|2|24 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.16.24.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115.32.113.117.97.105.110.116.108.121|2|23 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.16.44.74.97.100.101.100.32.74.97.100.101.100.32.102.111.114.119.97.114.100.32.111.120.101.110.32.98.117.116.32.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|2|4 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.16.55.100.114.105.118.105.110.103.32.102.111.114.119.97.114.100.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.97.99.116.101.100.32.98.117.116.32.100.114.105.118.105.110.103.32.107.101.112.116|2|27 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.17.5.116.104.101.105.114|2|30 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.17.24.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115.32.113.117.97.105.110.116.108.121|2|5 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.17.44.74.97.100.101.100.32.74.97.100.101.100.32.102.111.114.119.97.114.100.32.111.120.101.110.32.98.117.116.32.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|2|29 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.17.55.100.114.105.118.105.110.103.32.102.111.114.119.97.114.100.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.97.99.116.101.100.32.98.117.116.32.100.114.105.118.105.110.103.32.107.101.112.116|2|5 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.18.5.116.104.101.105.114|2|11 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.18.24.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115.32.113.117.97.105.110.116.108.121|2|3 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.18.44.74.97.100.101.100.32.74.97.100.101.100.32.102.111.114.119.97.114.100.32.111.120.101.110.32.98.117.116.32.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|2|0 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.18.55.100.114.105.118.105.110.103.32.102.111.114.119.97.114.100.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.97.99.116.101.100.32.98.117.116.32.100.114.105.118.105.110.103.32.107.101.112.116|2|20 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.19.5.116.104.101.105.114|2|14 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.19.24.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115.32.113.117.97.105.110.116.108.121|2|6 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.19.44.74.97.100.101.100.32.74.97.100.101.100.32.102.111.114.119.97.114.100.32.111.120.101.110.32.98.117.116.32.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|2|9 +1.3.6.1.4.1.14823.1.6.1.1.2.3.1.19.55.100.114.105.118.105.110.103.32.102.111.114.119.97.114.100.32.113.117.97.105.110.116.108.121.32.102.111.114.119.97.114.100.32.97.99.116.101.100.32.98.117.116.32.100.114.105.118.105.110.103.32.107.101.112.116|2|10 +1.3.6.1.4.1.14823.1.6.1.1.2.4.1.1.0|2|0 +1.3.6.1.4.1.14823.1.6.1.1.2.4.1.1.1|2|1 +1.3.6.1.4.1.14823.1.6.1.1.2.4.1.1.24|2|24 +1.3.6.1.4.1.14823.1.6.1.1.2.4.1.1.25|2|25 +1.3.6.1.4.1.14823.1.6.1.1.2.4.1.2.0|4x|6b657074206b657074206163746564 +1.3.6.1.4.1.14823.1.6.1.1.2.4.1.2.1|4x|717561696e746c79204a6164656420627574206275742064726976696e67 +1.3.6.1.4.1.14823.1.6.1.1.2.4.1.2.24|4x|666f727761726420627574206163746564204a6164656420666f7277617264 +1.3.6.1.4.1.14823.1.6.1.1.2.4.1.2.25|4x|717561696e746c79204a61646564 +1.3.6.1.4.1.14823.1.6.1.1.2.4.1.3.0|2|29 +1.3.6.1.4.1.14823.1.6.1.1.2.4.1.3.1|2|4 +1.3.6.1.4.1.14823.1.6.1.1.2.4.1.3.24|2|29 +1.3.6.1.4.1.14823.1.6.1.1.2.4.1.3.25|2|18 +1.3.6.1.4.1.14823.1.6.1.1.2.5.1.1.8|2|8 +1.3.6.1.4.1.14823.1.6.1.1.2.5.1.1.17|2|17 +1.3.6.1.4.1.14823.1.6.1.1.2.5.1.1.21|2|21 +1.3.6.1.4.1.14823.1.6.1.1.2.5.1.1.30|2|30 +1.3.6.1.4.1.14823.1.6.1.1.2.5.1.2.8|4|their +1.3.6.1.4.1.14823.1.6.1.1.2.5.1.2.17|4x|717561696e746c79204a6164656420746865697220746865697220717561696e746c79206b657074206275742064726976696e6720627574 +1.3.6.1.4.1.14823.1.6.1.1.2.5.1.2.21|4x|627574206b657074 +1.3.6.1.4.1.14823.1.6.1.1.2.5.1.2.30|4x|6f78656e20717561696e746c792064726976696e6720746865697220717561696e746c7920666f7277617264207a6f6d62696573206f78656e207468656972 +1.3.6.1.4.1.14823.1.6.1.1.2.5.1.3.8|2|1 +1.3.6.1.4.1.14823.1.6.1.1.2.5.1.3.17|2|24 +1.3.6.1.4.1.14823.1.6.1.1.2.5.1.3.21|2|16 +1.3.6.1.4.1.14823.1.6.1.1.2.5.1.3.30|2|2 +1.3.6.1.4.1.14823.1.6.1.1.2.5.1.4.8|2|11 +1.3.6.1.4.1.14823.1.6.1.1.2.5.1.4.17|2|14 +1.3.6.1.4.1.14823.1.6.1.1.2.5.1.4.21|2|1 +1.3.6.1.4.1.14823.1.6.1.1.2.5.1.4.30|2|16 +1.3.6.1.4.1.14823.1.6.1.1.2.5.1.5.8|2|5 +1.3.6.1.4.1.14823.1.6.1.1.2.5.1.5.17|2|23 +1.3.6.1.4.1.14823.1.6.1.1.2.5.1.5.21|2|25 +1.3.6.1.4.1.14823.1.6.1.1.2.5.1.5.30|2|13 +1.3.6.1.4.1.14823.1.6.1.1.2.5.1.6.8|2|8 +1.3.6.1.4.1.14823.1.6.1.1.2.5.1.6.17|2|28 +1.3.6.1.4.1.14823.1.6.1.1.2.5.1.6.21|2|14 +1.3.6.1.4.1.14823.1.6.1.1.2.5.1.6.30|2|23 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.1.2|2|2 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.1.4|2|4 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.1.15|2|15 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.1.18|2|18 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.2.2|4|acted +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.2.4|4x|666f72776172642064726976696e67206163746564 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.2.15|4x|6b657074206f78656e2064726976696e67 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.2.18|4x|4a6164656420666f7277617264 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.3.2|2|25 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.3.4|2|22 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.3.15|2|12 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.3.18|2|8 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.4.2|2|20 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.4.4|2|17 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.4.15|2|26 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.4.18|2|31 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.5.2|2|21 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.5.4|2|3 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.5.15|2|18 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.5.18|2|30 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.6.2|2|31 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.6.4|2|6 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.6.15|2|1 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.6.18|2|13 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.7.2|2|5 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.7.4|2|12 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.7.15|2|22 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.7.18|2|0 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.8.2|2|12 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.8.4|2|13 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.8.15|2|2 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.8.18|2|29 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.9.2|2|0 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.9.4|2|2 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.9.15|2|20 +1.3.6.1.4.1.14823.1.6.1.1.2.6.1.9.18|2|29 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.1.19.98.117.116.32.100.114.105.118.105.110.103.32.122.111.109.98.105.101.115|2|6 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.1.43.100.114.105.118.105.110.103.32.116.104.101.105.114.32.116.104.101.105.114.32.97.99.116.101.100.32.107.101.112.116.32.107.101.112.116.32.100.114.105.118.105.110.103|2|8 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.1.44.100.114.105.118.105.110.103.32.122.111.109.98.105.101.115.32.111.120.101.110.32.116.104.101.105.114.32.100.114.105.118.105.110.103.32.107.101.112.116.32.107.101.112.116|2|15 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.1.57.113.117.97.105.110.116.108.121.32.74.97.100.101.100.32.111.120.101.110.32.98.117.116.32.102.111.114.119.97.114.100.32.113.117.97.105.110.116.108.121.32.98.117.116.32.107.101.112.116.32.122.111.109.98.105.101.115|2|31 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.2.19.98.117.116.32.100.114.105.118.105.110.103.32.122.111.109.98.105.101.115|2|6 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.2.43.100.114.105.118.105.110.103.32.116.104.101.105.114.32.116.104.101.105.114.32.97.99.116.101.100.32.107.101.112.116.32.107.101.112.116.32.100.114.105.118.105.110.103|2|9 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.2.44.100.114.105.118.105.110.103.32.122.111.109.98.105.101.115.32.111.120.101.110.32.116.104.101.105.114.32.100.114.105.118.105.110.103.32.107.101.112.116.32.107.101.112.116|2|23 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.2.57.113.117.97.105.110.116.108.121.32.74.97.100.101.100.32.111.120.101.110.32.98.117.116.32.102.111.114.119.97.114.100.32.113.117.97.105.110.116.108.121.32.98.117.116.32.107.101.112.116.32.122.111.109.98.105.101.115|2|23 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.3.19.98.117.116.32.100.114.105.118.105.110.103.32.122.111.109.98.105.101.115|2|28 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.3.43.100.114.105.118.105.110.103.32.116.104.101.105.114.32.116.104.101.105.114.32.97.99.116.101.100.32.107.101.112.116.32.107.101.112.116.32.100.114.105.118.105.110.103|2|5 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.3.44.100.114.105.118.105.110.103.32.122.111.109.98.105.101.115.32.111.120.101.110.32.116.104.101.105.114.32.100.114.105.118.105.110.103.32.107.101.112.116.32.107.101.112.116|2|12 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.3.57.113.117.97.105.110.116.108.121.32.74.97.100.101.100.32.111.120.101.110.32.98.117.116.32.102.111.114.119.97.114.100.32.113.117.97.105.110.116.108.121.32.98.117.116.32.107.101.112.116.32.122.111.109.98.105.101.115|2|16 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.4.19.98.117.116.32.100.114.105.118.105.110.103.32.122.111.109.98.105.101.115|2|29 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.4.43.100.114.105.118.105.110.103.32.116.104.101.105.114.32.116.104.101.105.114.32.97.99.116.101.100.32.107.101.112.116.32.107.101.112.116.32.100.114.105.118.105.110.103|2|17 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.4.44.100.114.105.118.105.110.103.32.122.111.109.98.105.101.115.32.111.120.101.110.32.116.104.101.105.114.32.100.114.105.118.105.110.103.32.107.101.112.116.32.107.101.112.116|2|13 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.4.57.113.117.97.105.110.116.108.121.32.74.97.100.101.100.32.111.120.101.110.32.98.117.116.32.102.111.114.119.97.114.100.32.113.117.97.105.110.116.108.121.32.98.117.116.32.107.101.112.116.32.122.111.109.98.105.101.115|2|4 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.5.19.98.117.116.32.100.114.105.118.105.110.103.32.122.111.109.98.105.101.115|2|8 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.5.43.100.114.105.118.105.110.103.32.116.104.101.105.114.32.116.104.101.105.114.32.97.99.116.101.100.32.107.101.112.116.32.107.101.112.116.32.100.114.105.118.105.110.103|2|13 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.5.44.100.114.105.118.105.110.103.32.122.111.109.98.105.101.115.32.111.120.101.110.32.116.104.101.105.114.32.100.114.105.118.105.110.103.32.107.101.112.116.32.107.101.112.116|2|16 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.5.57.113.117.97.105.110.116.108.121.32.74.97.100.101.100.32.111.120.101.110.32.98.117.116.32.102.111.114.119.97.114.100.32.113.117.97.105.110.116.108.121.32.98.117.116.32.107.101.112.116.32.122.111.109.98.105.101.115|2|30 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.6.19.98.117.116.32.100.114.105.118.105.110.103.32.122.111.109.98.105.101.115|2|10 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.6.43.100.114.105.118.105.110.103.32.116.104.101.105.114.32.116.104.101.105.114.32.97.99.116.101.100.32.107.101.112.116.32.107.101.112.116.32.100.114.105.118.105.110.103|2|23 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.6.44.100.114.105.118.105.110.103.32.122.111.109.98.105.101.115.32.111.120.101.110.32.116.104.101.105.114.32.100.114.105.118.105.110.103.32.107.101.112.116.32.107.101.112.116|2|9 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.6.57.113.117.97.105.110.116.108.121.32.74.97.100.101.100.32.111.120.101.110.32.98.117.116.32.102.111.114.119.97.114.100.32.113.117.97.105.110.116.108.121.32.98.117.116.32.107.101.112.116.32.122.111.109.98.105.101.115|2|18 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.7.19.98.117.116.32.100.114.105.118.105.110.103.32.122.111.109.98.105.101.115|2|6 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.7.43.100.114.105.118.105.110.103.32.116.104.101.105.114.32.116.104.101.105.114.32.97.99.116.101.100.32.107.101.112.116.32.107.101.112.116.32.100.114.105.118.105.110.103|2|9 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.7.44.100.114.105.118.105.110.103.32.122.111.109.98.105.101.115.32.111.120.101.110.32.116.104.101.105.114.32.100.114.105.118.105.110.103.32.107.101.112.116.32.107.101.112.116|2|11 +1.3.6.1.4.1.14823.1.6.1.1.2.7.1.7.57.113.117.97.105.110.116.108.121.32.74.97.100.101.100.32.111.120.101.110.32.98.117.116.32.102.111.114.119.97.114.100.32.113.117.97.105.110.116.108.121.32.98.117.116.32.107.101.112.116.32.122.111.109.98.105.101.115|2|3 +1.3.6.1.4.1.14823.1.6.1.1.2.8.1.1.4.107.101.112.116|2|8 +1.3.6.1.4.1.14823.1.6.1.1.2.8.1.1.31.102.111.114.119.97.114.100.32.107.101.112.116.32.100.114.105.118.105.110.103.32.74.97.100.101.100.32.107.101.112.116|2|25 +1.3.6.1.4.1.14823.1.6.1.1.2.8.1.1.40.100.114.105.118.105.110.103.32.98.117.116.32.111.120.101.110.32.107.101.112.116.32.100.114.105.118.105.110.103.32.74.97.100.101.100.32.107.101.112.116|2|4 +1.3.6.1.4.1.14823.1.6.1.1.2.8.1.1.51.116.104.101.105.114.32.98.117.116.32.100.114.105.118.105.110.103.32.97.99.116.101.100.32.111.120.101.110.32.98.117.116.32.107.101.112.116.32.100.114.105.118.105.110.103.32.97.99.116.101.100|2|14 +1.3.6.1.4.1.14823.1.6.1.1.2.8.1.2.4.107.101.112.116|2|6 +1.3.6.1.4.1.14823.1.6.1.1.2.8.1.2.31.102.111.114.119.97.114.100.32.107.101.112.116.32.100.114.105.118.105.110.103.32.74.97.100.101.100.32.107.101.112.116|2|7 +1.3.6.1.4.1.14823.1.6.1.1.2.8.1.2.40.100.114.105.118.105.110.103.32.98.117.116.32.111.120.101.110.32.107.101.112.116.32.100.114.105.118.105.110.103.32.74.97.100.101.100.32.107.101.112.116|2|1 +1.3.6.1.4.1.14823.1.6.1.1.2.8.1.2.51.116.104.101.105.114.32.98.117.116.32.100.114.105.118.105.110.103.32.97.99.116.101.100.32.111.120.101.110.32.98.117.116.32.107.101.112.116.32.100.114.105.118.105.110.103.32.97.99.116.101.100|2|20 +1.3.6.1.4.1.14823.1.6.1.1.2.8.1.3.4.107.101.112.116|2|20 +1.3.6.1.4.1.14823.1.6.1.1.2.8.1.3.31.102.111.114.119.97.114.100.32.107.101.112.116.32.100.114.105.118.105.110.103.32.74.97.100.101.100.32.107.101.112.116|2|18 +1.3.6.1.4.1.14823.1.6.1.1.2.8.1.3.40.100.114.105.118.105.110.103.32.98.117.116.32.111.120.101.110.32.107.101.112.116.32.100.114.105.118.105.110.103.32.74.97.100.101.100.32.107.101.112.116|2|4 +1.3.6.1.4.1.14823.1.6.1.1.2.8.1.3.51.116.104.101.105.114.32.98.117.116.32.100.114.105.118.105.110.103.32.97.99.116.101.100.32.111.120.101.110.32.98.117.116.32.107.101.112.116.32.100.114.105.118.105.110.103.32.97.99.116.101.100|2|0 +1.3.6.1.4.1.14823.1.6.1.1.2.8.1.4.4.107.101.112.116|2|21 +1.3.6.1.4.1.14823.1.6.1.1.2.8.1.4.31.102.111.114.119.97.114.100.32.107.101.112.116.32.100.114.105.118.105.110.103.32.74.97.100.101.100.32.107.101.112.116|2|1 +1.3.6.1.4.1.14823.1.6.1.1.2.8.1.4.40.100.114.105.118.105.110.103.32.98.117.116.32.111.120.101.110.32.107.101.112.116.32.100.114.105.118.105.110.103.32.74.97.100.101.100.32.107.101.112.116|2|1 +1.3.6.1.4.1.14823.1.6.1.1.2.8.1.4.51.116.104.101.105.114.32.98.117.116.32.100.114.105.118.105.110.103.32.97.99.116.101.100.32.111.120.101.110.32.98.117.116.32.107.101.112.116.32.100.114.105.118.105.110.103.32.97.99.116.101.100|2|10 +1.3.6.1.4.1.14823.1.6.1.1.3.1.1.1.5|2|5 +1.3.6.1.4.1.14823.1.6.1.1.3.1.1.1.13|2|13 +1.3.6.1.4.1.14823.1.6.1.1.3.1.1.1.28|2|28 +1.3.6.1.4.1.14823.1.6.1.1.3.1.1.1.29|2|29 +1.3.6.1.4.1.14823.1.6.1.1.3.1.1.2.5|4x|7468656972207a6f6d626965732064726976696e672062757420627574 +1.3.6.1.4.1.14823.1.6.1.1.3.1.1.2.13|4x|6f78656e204a61646564204a6164656420666f7277617264206f78656e206b657074 +1.3.6.1.4.1.14823.1.6.1.1.3.1.1.2.28|4x|6f78656e20746865697220746865697220627574207468656972206163746564206f78656e204a61646564 +1.3.6.1.4.1.14823.1.6.1.1.3.1.1.2.29|4x|746865697220666f7277617264204a61646564206b657074207a6f6d62696573 +1.3.6.1.4.1.14823.1.6.1.1.3.1.1.3.5|2|5 +1.3.6.1.4.1.14823.1.6.1.1.3.1.1.3.13|2|12 +1.3.6.1.4.1.14823.1.6.1.1.3.1.1.3.28|2|30 +1.3.6.1.4.1.14823.1.6.1.1.3.1.1.3.29|2|14 +1.3.6.1.4.1.14823.1.6.1.1.3.1.1.4.5|70|8524386078887292961 +1.3.6.1.4.1.14823.1.6.1.1.3.1.1.4.13|70|7692622368437165235 +1.3.6.1.4.1.14823.1.6.1.1.3.1.1.4.28|70|7819083906190317280 +1.3.6.1.4.1.14823.1.6.1.1.3.1.1.4.29|70|8310476299059598301 +1.3.6.1.4.1.14823.1.6.1.1.200.100.1.0|4x|6f78656e20746865697220717561696e746c79206163746564206f78656e206f78656e206f78656e20717561696e746c79206b657074 +1.3.6.1.4.1.14823.1.6.1.1.200.100.2.0|64x|f43973f8 +1.3.6.1.4.1.14823.1.6.1.1.200.100.3.0|64x|2c499f66 +1.3.6.1.4.1.14823.1.6.1.1.200.100.4.0|4x|6b65707420666f7277617264206f78656e206b65707420717561696e746c7920717561696e746c79 +1.3.6.1.4.1.14823.1.6.1.1.200.100.5.0|4x|4a61646564206f78656e2074686569722064726976696e67 +1.3.6.1.4.1.14823.1.6.1.1.200.100.6.0|2|17 +1.3.6.1.4.1.14823.1.6.1.1.200.100.7.0|2|16 +1.3.6.1.4.1.14823.1.6.1.1.200.100.8.0|2|26 +1.3.6.1.4.1.14823.1.6.1.1.200.100.9.0|2|11 +1.3.6.1.4.1.14823.1.6.1.1.200.100.10.0|2|5 +1.3.6.1.4.1.14823.1.6.1.1.200.100.11.0|2|13 +1.3.6.1.4.1.14823.1.6.1.1.200.100.12.0|2|1 +1.3.6.1.4.1.14823.1.6.1.1.200.100.13.0|2|0 +1.3.6.1.4.1.14823.1.6.1.1.200.100.14.0|4|Jaded +1.3.6.1.4.1.14823.1.6.1.1.200.100.15.0|4x|6b65707420746865697220666f727761726420616374656420666f7277617264 +1.3.6.1.4.1.14823.1.6.1.1.200.100.16.0|2|15 +1.3.6.1.4.1.14823.1.6.1.1.200.100.17.0|4x|7a6f6d62696573206b657074204a61646564206163746564206163746564206b657074204a61646564 +1.3.6.1.4.1.14823.1.6.1.1.200.100.18.0|2|22 +1.3.6.1.4.1.14823.1.6.1.1.200.100.19.0|4x|4a61646564206163746564207a6f6d62696573206163746564 +1.3.6.1.4.1.14823.1.6.1.1.200.100.20.0|2|3 +1.3.6.1.4.1.14823.1.6.1.1.200.100.35.0|4x|666f7277617264206b65707420616374656420717561696e746c79 +1.3.6.1.4.1.14823.1.6.1.1.200.100.37.0|4|kept +1.3.6.1.6.3.1.1.4.1.0|6|1.3.6.1.3.158 +1.3.6.1.6.3.1.1.4.3.0|6|1.3.6.1.3.216.235.202.49.51 +1.3.6.1.6.3.1.1.6.1.0|2|24 diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_aruba_clearpass.py b/snmp/tests/test_e2e_core_profiles/test_profile_aruba_clearpass.py new file mode 100644 index 0000000000000..0ec0c3384d4a9 --- /dev/null +++ b/snmp/tests/test_e2e_core_profiles/test_profile_aruba_clearpass.py @@ -0,0 +1,150 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +import pytest + +from datadog_checks.dev.utils import get_metadata_metrics + +from .. import common +from ..test_e2e_core_metadata import assert_device_metadata +from .utils import ( + assert_common_metrics, + assert_extend_generic_if, + assert_extend_generic_ospf, + create_e2e_core_test_config, + get_device_ip_from_config, +) + +pytestmark = [pytest.mark.e2e, common.py3_plus_only, common.snmp_integration_only] + + +def test_e2e_profile_aruba_clearpass(dd_agent_check): + config = create_e2e_core_test_config('aruba-clearpass') + aggregator = common.dd_agent_check_wrapper(dd_agent_check, config, rate=True) + + ip_address = get_device_ip_from_config(config) + common_tags = [ + 'snmp_profile:aruba-clearpass', + 'snmp_host:aruba-clearpass.device.name', + 'device_namespace:default', + 'snmp_device:' + ip_address, + ] + + # --- TEST EXTENDED METRICS --- + assert_extend_generic_if(aggregator, common_tags) + assert_extend_generic_ospf(aggregator, common_tags) + + # --- TEST METRICS --- + assert_common_metrics(aggregator, common_tags) + + tag_rows = [ + ['cppm_system_hostname:acted Jaded'], + ['cppm_system_hostname:acted quaintly'], + ['cppm_system_hostname:but quaintly forward zombies forward their'], + ['cppm_system_hostname:forward zombies zombies kept'], + ] + for tag_row in tag_rows: + aggregator.assert_metric( + 'snmp.cppmSystemDiskSpaceFree', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cppmSystemDiskSpaceTotal', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric('snmp.cppmSystemMemoryFree', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.cppmSystemMemoryTotal', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + aggregator.assert_metric('snmp.radAuthRequestTime', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.radPolicyEvalTime', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.radServerCounterCount', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.radServerCounterFailure', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.radServerCounterSuccess', metric_type=aggregator.GAUGE, tags=common_tags) + + tag_rows = [ + ['rad_auth_source_name:Jaded but quaintly zombies quaintly driving oxen'], + ['rad_auth_source_name:forward forward'], + ['rad_auth_source_name:oxen but driving oxen Jaded but'], + ['rad_auth_source_name:quaintly kept Jaded Jaded Jaded oxen quaintly oxen'], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.radAuthCounterCount', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.radAuthCounterFailure', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.radAuthCounterSuccess', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.radAuthCounterTime', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + aggregator.assert_metric('snmp.dailyFailedAuthCount', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.dailySuccessAuthCount', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.dailyTotalAuthCount', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.psAuditPolicyEvalCount', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.psAuditPolicyEvalTime', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.psAuthCounterFailure', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.psAuthCounterSuccess', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.psAuthCounterTotal', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.psEnforcementPolicyEvalCount', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.psEnforcementPolicyEvalTime', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.psPosturePolicyEvalCount', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.psPosturePolicyEvalTime', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.psRestrictionPolicyEvalCount', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.psRestrictionPolicyEvalTime', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.psRolemappingPolicyEvalCount', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.psRolemappingPolicyEvalTime', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.psServicePolicyEvalCount', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.psServicePolicyEvalTime', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.psSessionlogTime', metric_type=aggregator.GAUGE, tags=common_tags) + + tag_rows = [ + ['ps_autz_source_name:but kept'], + ['ps_autz_source_name:oxen quaintly driving their quaintly forward zombies oxen their'], + ['ps_autz_source_name:quaintly Jaded their their quaintly kept but driving but'], + ['ps_autz_source_name:their'], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.psAutzCounterCount', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.psAutzCounterFailure', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.psAutzCounterSuccess', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.psAutzCounterTime', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + aggregator.assert_metric('snmp.tacAuthCounterAuthTime', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.tacAuthCounterCount', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.tacAuthCounterFailure', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.tacAuthCounterSuccess', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.tacAuthCounterTime', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.tacPolicyEvalTime', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.tacServicePolicyEvalTime', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.tacAutzCounterCount', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.tacAutzCounterFailure', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.tacAutzCounterSuccess', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.tacAutzCounterTime', metric_type=aggregator.GAUGE, tags=common_tags) + + tag_rows = [ + ['nw_app_name:oxen Jaded Jaded forward oxen kept'], + ['nw_app_name:oxen their their but their acted oxen Jaded'], + ['nw_app_name:their forward Jaded kept zombies'], + ['nw_app_name:their zombies driving but but'], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.nwAppPort', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.nwTrafficTotal', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + aggregator.assert_metric('snmp.memory.free', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.memory.total', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.memory.usage', metric_type=aggregator.GAUGE, tags=common_tags) + + # --- TEST METADATA --- + device = { + 'description': 'aruba-clearpass Device Description', + 'id': 'default:' + ip_address, + 'id_tags': ['device_namespace:default', 'snmp_device:' + ip_address], + 'ip_address': '' + ip_address, + 'name': 'aruba-clearpass.device.name', + 'profile': 'aruba-clearpass', + 'status': 1, + 'sys_object_id': '1.3.6.1.4.1.14823.1.6.1', + 'vendor': 'aruba', + } + device['tags'] = common_tags + assert_device_metadata(aggregator, device) + + # --- CHECK COVERAGE --- + aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) From 2d69bf8ffc384e4aeb8487b09b90b0b0f41002a9 Mon Sep 17 00:00:00 2001 From: NouhaManai Date: Wed, 5 Jul 2023 10:36:19 +0200 Subject: [PATCH 30/77] Add profile for Aruba-cx-switch (#15107) * add profile aruba-cx-switch * comment * typo * fix --- .../default_profiles/aruba-cx-switch.yaml | 127 ++++++++ snmp/metadata.csv | 5 + .../compose/data/aruba-cx-switch.snmprec | 286 ++++++++++++++++++ .../test_profile_aruba_cx_switch.py | 192 ++++++++++++ 4 files changed, 610 insertions(+) create mode 100644 snmp/datadog_checks/snmp/data/default_profiles/aruba-cx-switch.yaml create mode 100644 snmp/tests/compose/data/aruba-cx-switch.snmprec create mode 100644 snmp/tests/test_e2e_core_profiles/test_profile_aruba_cx_switch.py diff --git a/snmp/datadog_checks/snmp/data/default_profiles/aruba-cx-switch.yaml b/snmp/datadog_checks/snmp/data/default_profiles/aruba-cx-switch.yaml new file mode 100644 index 0000000000000..69deb915f7e64 --- /dev/null +++ b/snmp/datadog_checks/snmp/data/default_profiles/aruba-cx-switch.yaml @@ -0,0 +1,127 @@ +extends: + - aruba.yaml +sysobjectid: + - 1.3.6.1.4.1.47196.4.1.1.1.* + - 1.3.6.1.4.1.47196.4.1.1.1.1 + - 1.3.6.1.4.1.47196.4.1.1.1.2 + - 1.3.6.1.4.1.47196.4.1.1.1.3 + - 1.3.6.1.4.1.47196.4.1.1.1.5 + - 1.3.6.1.4.1.47196.4.1.1.1.50 + - 1.3.6.1.4.1.47196.4.1.1.1.70 + - 1.3.6.1.4.1.47196.4.1.1.1.101 + - 1.3.6.1.4.1.47196.4.1.1.1.103 + - 1.3.6.1.4.1.47196.4.1.1.1.104 + - 1.3.6.1.4.1.47196.4.1.1.1.150 + - 1.3.6.1.4.1.47196.4.1.1.1.304 + - 1.3.6.1.4.1.47196.4.1.1.1.405 +metrics: + - MIB: HOST-RESOURCES-MIB + symbol: + name: memory.total + OID: 1.3.6.1.2.1.25.2.3.1.5.1 # hrStorageSize.1 + - MIB: HOST-RESOURCES-MIB + symbol: + name: memory.used + OID: 1.3.6.1.2.1.25.2.3.1.6.1 # hrStorageUsed.1 + - MIB: HOST-RESOURCES-MIB + symbol: + name: cpu.usage + OID: 1.3.6.1.2.1.25.3.3.1.2.196608 # hrProcessorLoad.196608 + - MIB: ARUBAWIRED-TEMPSENSOR-MIB + table: + OID: 1.3.6.1.4.1.47196.4.1.1.3.11.3.1 + name: arubaWiredTempSensorTable + symbols: + - name: arubaWiredTempSensorTemperature + OID: 1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.7 + metric_tags: + - column: + name: arubaWiredTempSensorName + OID: 1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.5 + tag: aruba_wired_temp_sensor_name + - column: + OID: 1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.6 + name: arubaWiredTempSensorState + tag: aruba_wired_temp_sensor_state + - MIB: ARUBAWIRED-POWERSUPPLY-MIB + table: + OID: 1.3.6.1.4.1.47196.4.1.1.3.11.2.1 + name: arubaWiredPowerSupplyTable + symbols: + - name: arubaWiredPSUInstantaneousPower + OID: 1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.7 + - name: arubaWiredPSUNumberFailures + OID: 1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.9 + metric_tags: + - column: + name: arubaWiredPSUName + OID: 1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.3 + tag: aruba_wired_psu_name + - column: + name: arubaWiredPSUProductName + OID: 1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.5 + tag: aruba_wired_psu_product_name + - column: + name: arubaWiredPSUSerialNumber + OID: 1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.6 + tag: aruba_wired_psu_serial_number + - column: + name: arubaWiredPSUAirflowDirection + OID: 1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.10 + tag: aruba_wired_psu_airflow_direction + - column: + OID: 1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.4 + name: arubaWiredPSUState + tag: aruba_wired_psu_state + - MIB: ARUBAWIRED-FANTRAY-MIB + table: + OID: 1.3.6.1.4.1.47196.4.1.1.3.11.4.1 + name: arubaWiredFanTrayTable + symbols: + - name: arubaWiredFanTray + constant_value_one: true + metric_tags: + - column: + name: arubaWiredFanTrayName + OID: 1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.3 + tag: aruba_wired_fan_tray_name + - column: + name: arubaWiredFanTrayProductName + OID: 1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.5 + tag: aruba_wired_fan_tray_product_name + - column: + name: arubaWiredFanTraySerialNumber + OID: 1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.6 + tag: aruba_wired_fan_tray_serial_number + - column: + OID: 1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.4 + name: arubaWiredFanTrayState + tag: aruba_wired_fan_tray_state + - MIB: ARUBAWIRED-FAN-MIB + table: + OID: 1.3.6.1.4.1.47196.4.1.1.3.11.5.1 + name: arubaWiredFanTable + symbols: + - name: arubaWiredFanRPM + OID: 1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.8 + metric_tags: + - column: + name: arubaWiredFanName + OID: 1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.4 + tag: aruba_wired_fan_name + - column: + name: arubaWiredFanProductName + OID: 1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.6 + tag: aruba_wired_fan_product_name + - column: + name: arubaWiredFanSerialNumber + OID: 1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.7 + tag: aruba_wired_fan_serial_number + - column: + name: arubaWiredFanAirflowDirection + OID: 1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.9 + tag: aruba_wired_fan_airflow_direction + - column: + OID: 1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.5 + name: arubaWiredFanState + tag: aruba_wired_fan_state diff --git a/snmp/metadata.csv b/snmp/metadata.csv index b2dc925198e82..079ce49164f52 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -26,6 +26,11 @@ snmp.amperageProbeReading,gauge,,milliampere,,[Dell iDRAC] The reading for an am snmp.amperageProbeStatus,gauge,,milliampere,,[Dell iDRAC] The probe status of the amperage probe.,0,snmp,, snmp.aristaEgressQueuePktsDropped,count,,,,[Arista] The number of packets discarded from this egress queue.,0,snmp,, snmp.aristaIngressQueuePktsDropped,count,,,,[Arista] The number of dropped packets due to congestion at the ingress port in an interface.,0,snmp,, +snmp.arubaWiredFanRPM,gauge,,,,"[ARUBAWIRED-FAN-MIB] Current RPM read for the fan.",0,snmp,, +snmp.arubaWiredFanTray,gauge,,,,"[ARUBAWIRED-FANTRAY-MIB] This table contains one row per switch fan tray entity. (Make 'sum by {X}' queries to count elements with the tag X.)",0,snmp,, +snmp.arubaWiredPSUInstantaneousPower,gauge,,,,"[ARUBAWIRED-POWERSUPPLY-MIB] Total instantaneous power supplied by the power supply in Watts.",0,snmp,, +snmp.arubaWiredPSUNumberFailures,gauge,,,,"[ARUBAWIRED-POWERSUPPLY-MIB] Number of failures the power supply has experienced since the most recent insertion of the power supply and boot of the system. The number of failures for a power supply will be cleared if the power supply is removed from the system or if the system is rebooted. For non removable power supplies, the number of failures will not clear until the system reboots. Failure...",0,snmp,, +snmp.arubaWiredTempSensorTemperature,gauge,,,,"[ARUBAWIRED-TEMPSENSOR-MIB] Current temperature value read from the temperature sensor.",0,snmp,, snmp.axAppGlobalAllowedCurrentValue,gauge,,,,"[A10-AX-MIB] The current value for the allowed system resource.",0,snmp,, snmp.axAppGlobalAllowedMaxValue,gauge,,,,"[A10-AX-MIB] The maximum value for the allowed system resource.",0,snmp,, snmp.axAppGlobalBufferConfigLimit,gauge,,,,"[A10-AX-MIB] Application buffer configured limit.",0,snmp,, diff --git a/snmp/tests/compose/data/aruba-cx-switch.snmprec b/snmp/tests/compose/data/aruba-cx-switch.snmprec new file mode 100644 index 0000000000000..3a261bfd74ec7 --- /dev/null +++ b/snmp/tests/compose/data/aruba-cx-switch.snmprec @@ -0,0 +1,286 @@ +1.3.6.1.2.1.1.1.0|4|aruba-cx-switch Device Description +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.47196.4.1.1.1.999 +1.3.6.1.2.1.1.5.0|4|aruba-cx-switch.device.name +1.3.6.1.2.1.2.1.0|2|28 +1.3.6.1.2.1.14.10.1.6.192.29.116.26.0|2|8 +1.3.6.1.2.1.25.1.1.0|67|1767435735 +1.3.6.1.2.1.25.1.2.0|4x|07d209150d352003 +1.3.6.1.2.1.25.1.3.0|2|24 +1.3.6.1.2.1.25.1.4.0|4x|7a6f6d62696573206f78656e20627574 +1.3.6.1.2.1.25.1.5.0|66|386540944 +1.3.6.1.2.1.25.1.6.0|66|2585169394 +1.3.6.1.2.1.25.1.7.0|2|5 +1.3.6.1.2.1.25.2.2.0|2|7 +1.3.6.1.2.1.25.2.3.1.1.2|2|2 +1.3.6.1.2.1.25.2.3.1.1.20|2|20 +1.3.6.1.2.1.25.2.3.1.2.2|6|1.3.6.1.3.128.145.60.205.250.204.50 +1.3.6.1.2.1.25.2.3.1.2.20|6|1.3.6.1.3.80.72 +1.3.6.1.2.1.25.2.3.1.3.2|4x|6163746564207a6f6d62696573206b657074206163746564206f78656e +1.3.6.1.2.1.25.2.3.1.3.20|4x|7a6f6d62696573207a6f6d62696573207a6f6d62696573 +1.3.6.1.2.1.25.2.3.1.4.2|2|7 +1.3.6.1.2.1.25.2.3.1.4.20|2|5 +1.3.6.1.2.1.25.2.3.1.5.1|2|14 +1.3.6.1.2.1.25.2.3.1.6.1|2|7 +1.3.6.1.2.1.25.2.3.1.7.2|65|999856500 +1.3.6.1.2.1.25.2.3.1.7.20|65|1682063357 +1.3.6.1.2.1.25.3.2.1.1.19|2|19 +1.3.6.1.2.1.25.3.2.1.2.19|6|1.3.6.1.3.182.32.214.119.111.111.23 +1.3.6.1.2.1.25.3.2.1.3.19|4x|717561696e746c79206f78656e2064726976696e67206b65707420627574 +1.3.6.1.2.1.25.3.2.1.4.19|6|1.3.6.1.3.117.183.138.78.156 +1.3.6.1.2.1.25.3.2.1.5.19|2|1 +1.3.6.1.2.1.25.3.2.1.6.19|65|2809157683 +1.3.6.1.2.1.25.3.3.1.1.16|6|1.3.6.1.3.61.95.86.124 +1.3.6.1.2.1.25.3.3.1.1.23|6|1.3.6.1.3.178.249.65.152.203.247.168.12.230 +1.3.6.1.2.1.25.3.3.1.2.196608|2|13 +1.3.6.1.2.1.25.3.4.1.1.3|2|9 +1.3.6.1.2.1.25.3.4.1.1.19|2|20 +1.3.6.1.2.1.25.3.5.1.1.15|2|2 +1.3.6.1.2.1.25.3.5.1.1.17|2|3 +1.3.6.1.2.1.25.3.5.1.2.15|4x|616374656420717561696e746c7920717561696e746c79 +1.3.6.1.2.1.25.3.5.1.2.17|4x|627574207a6f6d62696573206163746564206b657074206163746564206f78656e20746865697220746865697220717561696e746c79 +1.3.6.1.2.1.25.3.6.1.1.17|2|2 +1.3.6.1.2.1.25.3.6.1.1.23|2|2 +1.3.6.1.2.1.25.3.6.1.2.17|2|4 +1.3.6.1.2.1.25.3.6.1.2.23|2|4 +1.3.6.1.2.1.25.3.6.1.3.17|2|1 +1.3.6.1.2.1.25.3.6.1.3.23|2|2 +1.3.6.1.2.1.25.3.6.1.4.17|2|9 +1.3.6.1.2.1.25.3.6.1.4.23|2|16 +1.3.6.1.2.1.25.3.7.1.1.25.16|2|16 +1.3.6.1.2.1.25.3.7.1.1.31.26|2|26 +1.3.6.1.2.1.25.3.7.1.2.25.16|4x|6f78656e207a6f6d62696573206b6570742064726976696e67207a6f6d62696573206b657074206f78656e206f78656e +1.3.6.1.2.1.25.3.7.1.2.31.26|4x|4a61646564204a6164656420717561696e746c79204a61646564206f78656e206b657074206f78656e207a6f6d62696573207a6f6d62696573 +1.3.6.1.2.1.25.3.7.1.3.25.16|4x|7a6f6d62696573204a6164656420717561696e746c79206b657074206f78656e207468656972206275742064726976696e67 +1.3.6.1.2.1.25.3.7.1.3.31.26|4x|6163746564206b65707420666f7277617264207468656972204a61646564206f78656e207a6f6d6269657320717561696e746c79 +1.3.6.1.2.1.25.3.7.1.4.25.16|2|25 +1.3.6.1.2.1.25.3.7.1.4.31.26|2|6 +1.3.6.1.2.1.25.3.7.1.5.25.16|2|10 +1.3.6.1.2.1.25.3.7.1.5.31.26|2|25 +1.3.6.1.2.1.25.3.8.1.1.26|2|26 +1.3.6.1.2.1.25.3.8.1.1.30|2|30 +1.3.6.1.2.1.25.3.8.1.2.26|4x|6b657074204a616465642074686569722062757420717561696e746c79207a6f6d626965732064726976696e6720746865697220717561696e746c79 +1.3.6.1.2.1.25.3.8.1.2.30|4x|64726976696e6720616374656420616374656420666f7277617264206f78656e206b657074204a61646564207a6f6d62696573 +1.3.6.1.2.1.25.3.8.1.3.26|4x|62757420666f727761726420616374656420717561696e746c79206b657074206f78656e +1.3.6.1.2.1.25.3.8.1.3.30|4x|6f78656e207a6f6d62696573207468656972206b6570742064726976696e67206b657074207468656972 +1.3.6.1.2.1.25.3.8.1.4.26|6|1.3.6.1.3.221.188.190.61.149.124.59.64 +1.3.6.1.2.1.25.3.8.1.4.30|6|1.3.6.1.3.213.74.154.72.249.169 +1.3.6.1.2.1.25.3.8.1.5.26|2|1 +1.3.6.1.2.1.25.3.8.1.5.30|2|2 +1.3.6.1.2.1.25.3.8.1.6.26|2|1 +1.3.6.1.2.1.25.3.8.1.6.30|2|1 +1.3.6.1.2.1.25.3.8.1.7.26|2|21 +1.3.6.1.2.1.25.3.8.1.7.30|2|20 +1.3.6.1.2.1.25.3.8.1.8.26|4x|07d209150d352003 +1.3.6.1.2.1.25.3.8.1.8.30|4x|07d209150d352003 +1.3.6.1.2.1.25.3.8.1.9.26|4x|07d209150d352003 +1.3.6.1.2.1.25.3.8.1.9.30|4x|07d209150d352003 +1.3.6.1.2.1.25.4.1.0|2|9 +1.3.6.1.2.1.25.4.2.1.1.3|2|3 +1.3.6.1.2.1.25.4.2.1.1.19|2|19 +1.3.6.1.2.1.25.4.2.1.2.3|4|forward +1.3.6.1.2.1.25.4.2.1.2.19|4x|4a61646564206f78656e204a61646564206f78656e206b65707420666f7277617264206b657074 +1.3.6.1.2.1.25.4.2.1.3.3|6|1.3.6.1.3.125 +1.3.6.1.2.1.25.4.2.1.3.19|6|1.3.6.1.3.206 +1.3.6.1.2.1.25.4.2.1.4.3|4x|7468656972207468656972206f78656e206b65707420627574 +1.3.6.1.2.1.25.4.2.1.4.19|4x|4a61646564206b657074207468656972206b6570742064726976696e67207468656972204a61646564207a6f6d626965732064726976696e67 +1.3.6.1.2.1.25.4.2.1.5.3|4x|4a616465642064726976696e67207a6f6d62696573206275742064726976696e67 +1.3.6.1.2.1.25.4.2.1.5.19|4x|717561696e746c792062757420717561696e746c79206f78656e20666f727761726420717561696e746c79207a6f6d62696573204a6164656420717561696e746c79 +1.3.6.1.2.1.25.4.2.1.6.3|2|4 +1.3.6.1.2.1.25.4.2.1.6.19|2|4 +1.3.6.1.2.1.25.4.2.1.7.3|2|1 +1.3.6.1.2.1.25.4.2.1.7.19|2|2 +1.3.6.1.2.1.25.5.1.1.1.8|2|30 +1.3.6.1.2.1.25.5.1.1.1.16|2|13 +1.3.6.1.2.1.25.5.1.1.2.8|2|23 +1.3.6.1.2.1.25.5.1.1.2.16|2|18 +1.3.6.1.2.1.25.6.1.0|67|3022102597 +1.3.6.1.2.1.25.6.2.0|67|1495452959 +1.3.6.1.2.1.25.6.3.1.1.9|2|9 +1.3.6.1.2.1.25.6.3.1.1.30|2|30 +1.3.6.1.2.1.25.6.3.1.2.9|4x|6b65707420746865697220666f7277617264207468656972206f78656e207a6f6d626965732064726976696e672064726976696e67 +1.3.6.1.2.1.25.6.3.1.2.30|4x|6b657074206b657074 +1.3.6.1.2.1.25.6.3.1.3.9|6|1.3.6.1.3.96.84 +1.3.6.1.2.1.25.6.3.1.3.30|6|1.3.6.1.3.116.26 +1.3.6.1.2.1.25.6.3.1.4.9|2|3 +1.3.6.1.2.1.25.6.3.1.4.30|2|1 +1.3.6.1.2.1.25.6.3.1.5.9|4x|07d209150d352003 +1.3.6.1.2.1.25.6.3.1.5.30|4x|07d209150d352003 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.1.3.6|2|3 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.1.5.15|2|5 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.1.21.18|2|21 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.1.29.27|2|29 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.2.3.6|2|6 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.2.5.15|2|15 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.2.21.18|2|18 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.2.29.27|2|27 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.3.3.6|4x|666f7277617264206b657074 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.3.5.15|4|zombies +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.3.21.18|4x|666f7277617264206b657074 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.3.29.27|4x|6f78656e20666f7277617264206b657074 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.4.3.6|4|zombies +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.4.5.15|4|acted +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.4.21.18|4x|6b6570742064726976696e67206f78656e +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.4.29.27|4|Jaded +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.5.3.6|4x|627574206b657074207468656972 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.5.5.15|4x|627574206f78656e20627574 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.5.21.18|4x|666f72776172642064726976696e67 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.5.29.27|4|oxen +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.6.3.6|4x|616374656420627574204a61646564 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.6.5.15|4|forward +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.6.21.18|4|kept +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.6.29.27|4x|6163746564207468656972 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.7.3.6|2|8 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.7.5.15|2|8 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.7.21.18|2|29 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.7.29.27|2|30 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.8.3.6|2|10 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.8.5.15|2|18 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.8.21.18|2|24 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.8.29.27|2|21 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.9.3.6|2|3 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.9.5.15|2|11 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.9.21.18|2|6 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.9.29.27|2|11 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.10.3.6|4x|746865697220627574 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.10.5.15|4|oxen +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.10.21.18|4x|6f78656e2064726976696e67207468656972 +1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.10.29.27|4x|6163746564207468656972 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.1.7.3.25.6|2|7 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.1.10.3.7.29|2|10 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.1.16.14.5.1|2|16 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.1.23.18.11.25|2|23 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.1.25.24.21.2|2|25 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.1.30.3.31.18|2|30 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.2.7.3.25.6|2|3 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.2.10.3.7.29|2|3 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.2.16.14.5.1|2|14 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.2.23.18.11.25|2|18 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.2.25.24.21.2|2|24 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.2.30.3.31.18|2|3 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.3.7.3.25.6|2|25 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.3.10.3.7.29|2|7 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.3.16.14.5.1|2|5 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.3.23.18.11.25|2|11 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.3.25.24.21.2|2|21 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.3.30.3.31.18|2|31 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.4.7.3.25.6|2|6 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.4.10.3.7.29|2|29 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.4.16.14.5.1|2|1 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.4.23.18.11.25|2|25 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.4.25.24.21.2|2|2 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.4.30.3.31.18|2|18 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.5.7.3.25.6|4x|64726976696e672064726976696e67 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.5.10.3.7.29|4x|6b657074207468656972207a6f6d6269657320627574206b657074204a61646564 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.5.16.14.5.1|4|but +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.5.23.18.11.25|4|oxen +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.5.25.24.21.2|4x|666f72776172642064726976696e672061637465642064726976696e6720627574 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.5.30.3.31.18|4x|6b657074207a6f6d62696573 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.6.7.3.25.6|4x|717561696e746c7920627574 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.6.10.3.7.29|4|quaintly +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.6.16.14.5.1|4|driving +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.6.23.18.11.25|4|driving +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.6.25.24.21.2|4x|616374656420717561696e746c79207468656972 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.6.30.3.31.18|4x|4a61646564207468656972206b657074 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.7.7.3.25.6|2|18 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.7.10.3.7.29|2|19 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.7.16.14.5.1|2|18 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.7.23.18.11.25|2|26 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.7.25.24.21.2|2|30 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.7.30.3.31.18|2|5 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.8.7.3.25.6|2|27 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.8.10.3.7.29|2|16 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.8.16.14.5.1|2|14 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.8.23.18.11.25|2|28 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.8.25.24.21.2|2|23 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.8.30.3.31.18|2|4 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.9.7.3.25.6|2|7 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.9.10.3.7.29|2|30 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.9.16.14.5.1|2|3 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.9.23.18.11.25|2|30 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.9.25.24.21.2|2|12 +1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.9.30.3.31.18|2|21 +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.1.18.9|2|18 +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.1.18.13|2|18 +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.1.24.25|2|24 +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.1.25.7|2|25 +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.2.18.9|2|9 +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.2.18.13|2|13 +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.2.24.25|2|25 +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.2.25.7|2|7 +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.3.18.9|4x|64726976696e672064726976696e67 +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.3.18.13|4x|7468656972207468656972 +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.3.24.25|4x|6163746564204a61646564 +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.3.25.7|4x|717561696e746c792064726976696e67 +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.4.18.9|4x|4a61646564207468656972204a61646564 +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.4.18.13|4x|6163746564206163746564204a61646564 +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.4.24.25|4x|666f7277617264206f78656e +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.4.25.7|4|kept +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.5.18.9|4x|4a61646564207a6f6d62696573 +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.5.18.13|4|kept +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.5.24.25|4x|627574207a6f6d6269657320627574206b657074206163746564 +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.5.25.7|4x|6f78656e204a61646564 +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.6.18.9|4|forward +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.6.18.13|4x|7a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.6.24.25|4|forward +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.6.25.7|4x|4a616465642062757420666f7277617264 +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.7.18.9|2|18 +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.7.18.13|2|16 +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.7.24.25|2|26 +1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.7.25.7|2|16 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.1.2.6.25|2|2 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.1.2.6.26|2|2 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.1.3.10.22|2|3 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.1.5.22.13|2|5 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.1.7.31.15|2|7 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.1.28.23.16|2|28 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.2.2.6.25|2|6 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.2.2.6.26|2|6 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.2.3.10.22|2|10 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.2.5.22.13|2|22 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.2.7.31.15|2|31 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.2.28.23.16|2|23 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.3.2.6.25|2|25 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.3.2.6.26|2|26 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.3.3.10.22|2|22 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.3.5.22.13|2|13 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.3.7.31.15|2|15 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.3.28.23.16|2|16 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.4.2.6.25|4x|6b657074206b657074 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.4.2.6.26|4|kept +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.4.3.10.22|4x|7a6f6d62696573204a61646564 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.4.5.22.13|4|oxen +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.4.7.31.15|4|but +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.4.28.23.16|4x|6b65707420717561696e746c79206163746564 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.5.2.6.25|4x|64726976696e67207a6f6d6269657320627574 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.5.2.6.26|4|their +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.5.3.10.22|4x|6f78656e20717561696e746c79 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.5.5.22.13|4|their +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.5.7.31.15|4|forward +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.5.28.23.16|4x|6f78656e206f78656e20627574 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.6.2.6.25|4|zombies +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.6.2.6.26|4x|64726976696e6720717561696e746c7920627574 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.6.3.10.22|4x|64726976696e67207a6f6d62696573 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.6.5.22.13|4x|7468656972207a6f6d62696573 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.6.7.31.15|4|zombies +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.6.28.23.16|4x|666f727761726420717561696e746c79 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.7.2.6.25|4|their +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.7.2.6.26|4x|666f7277617264207468656972206b657074 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.7.3.10.22|4x|717561696e746c792064726976696e67 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.7.5.22.13|4|forward +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.7.7.31.15|4x|6b657074206163746564206b657074 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.7.28.23.16|4|but +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.8.2.6.25|2|31 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.8.2.6.26|2|29 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.8.3.10.22|2|4 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.8.5.22.13|2|10 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.8.7.31.15|2|10 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.8.28.23.16|2|3 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.9.2.6.25|4x|4a61646564207468656972 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.9.2.6.26|4x|6b6570742061637465642064726976696e67 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.9.3.10.22|4|zombies +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.9.5.22.13|4x|6f78656e206f78656e +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.9.7.31.15|4x|62757420627574 +1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.9.28.23.16|4x|6163746564206b657074 +1.3.6.1.6.3.1.1.4.1.0|6|1.3.6.1.3.5.155.146.239.240.134 +1.3.6.1.6.3.1.1.4.3.0|6|1.3.6.1.3 +1.3.6.1.6.3.1.1.6.1.0|2|4 diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_aruba_cx_switch.py b/snmp/tests/test_e2e_core_profiles/test_profile_aruba_cx_switch.py new file mode 100644 index 0000000000000..3ec6e5cd98423 --- /dev/null +++ b/snmp/tests/test_e2e_core_profiles/test_profile_aruba_cx_switch.py @@ -0,0 +1,192 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +import pytest + +from datadog_checks.dev.utils import get_metadata_metrics + +from .. import common +from ..test_e2e_core_metadata import assert_device_metadata +from .utils import ( + assert_common_metrics, + assert_extend_generic_if, + assert_extend_generic_ospf, + create_e2e_core_test_config, + get_device_ip_from_config, +) + +pytestmark = [pytest.mark.e2e, common.py3_plus_only, common.snmp_integration_only] + + +def test_e2e_profile_aruba_cx_switch(dd_agent_check): + config = create_e2e_core_test_config('aruba-cx-switch') + aggregator = common.dd_agent_check_wrapper(dd_agent_check, config, rate=True) + + ip_address = get_device_ip_from_config(config) + common_tags = [ + 'snmp_profile:aruba-cx-switch', + 'snmp_host:aruba-cx-switch.device.name', + 'device_namespace:default', + 'snmp_device:' + ip_address, + ] + + # --- TEST EXTENDED METRICS --- + assert_extend_generic_if(aggregator, common_tags) + assert_extend_generic_ospf(aggregator, common_tags) + + # --- TEST METRICS --- + assert_common_metrics(aggregator, common_tags) + + aggregator.assert_metric('snmp.cpu.usage', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.memory.total', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.memory.used', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.memory.usage', metric_type=aggregator.GAUGE, tags=common_tags) + tag_rows = [ + ['aruba_wired_temp_sensor_name:but', 'aruba_wired_temp_sensor_state:driving'], + ['aruba_wired_temp_sensor_name:driving driving', 'aruba_wired_temp_sensor_state:quaintly but'], + [ + 'aruba_wired_temp_sensor_name:forward driving acted driving but', + 'aruba_wired_temp_sensor_state:acted quaintly their', + ], + ['aruba_wired_temp_sensor_name:kept their zombies but kept Jaded', 'aruba_wired_temp_sensor_state:quaintly'], + ['aruba_wired_temp_sensor_name:kept zombies', 'aruba_wired_temp_sensor_state:Jaded their kept'], + ['aruba_wired_temp_sensor_name:oxen', 'aruba_wired_temp_sensor_state:driving'], + ] + for tag_row in tag_rows: + aggregator.assert_metric( + 'snmp.arubaWiredTempSensorTemperature', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + + tag_rows = [ + [ + 'aruba_wired_psu_airflow_direction:acted their', + 'aruba_wired_psu_name:oxen forward kept', + 'aruba_wired_psu_product_name:oxen', + 'aruba_wired_psu_serial_number:acted their', + 'aruba_wired_psu_state:Jaded', + ], + [ + 'aruba_wired_psu_airflow_direction:oxen', + 'aruba_wired_psu_name:zombies', + 'aruba_wired_psu_product_name:but oxen but', + 'aruba_wired_psu_serial_number:forward', + 'aruba_wired_psu_state:acted', + ], + [ + 'aruba_wired_psu_airflow_direction:oxen driving their', + 'aruba_wired_psu_name:forward kept', + 'aruba_wired_psu_product_name:forward driving', + 'aruba_wired_psu_serial_number:kept', + 'aruba_wired_psu_state:kept driving oxen', + ], + [ + 'aruba_wired_psu_airflow_direction:their but', + 'aruba_wired_psu_name:forward kept', + 'aruba_wired_psu_product_name:but kept their', + 'aruba_wired_psu_serial_number:acted but Jaded', + 'aruba_wired_psu_state:zombies', + ], + ] + for tag_row in tag_rows: + aggregator.assert_metric( + 'snmp.arubaWiredPSUInstantaneousPower', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.arubaWiredPSUNumberFailures', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + + tag_rows = [ + [ + 'aruba_wired_fan_tray_name:acted Jaded', + 'aruba_wired_fan_tray_product_name:but zombies but kept acted', + 'aruba_wired_fan_tray_serial_number:forward', + 'aruba_wired_fan_tray_state:forward oxen', + ], + [ + 'aruba_wired_fan_tray_name:driving driving', + 'aruba_wired_fan_tray_product_name:Jaded zombies', + 'aruba_wired_fan_tray_serial_number:forward', + 'aruba_wired_fan_tray_state:Jaded their Jaded', + ], + [ + 'aruba_wired_fan_tray_name:quaintly driving', + 'aruba_wired_fan_tray_product_name:oxen Jaded', + 'aruba_wired_fan_tray_serial_number:Jaded but forward', + 'aruba_wired_fan_tray_state:kept', + ], + [ + 'aruba_wired_fan_tray_name:their their', + 'aruba_wired_fan_tray_product_name:kept', + 'aruba_wired_fan_tray_serial_number:zombies quaintly', + 'aruba_wired_fan_tray_state:acted acted Jaded', + ], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.arubaWiredFanTray', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + tag_rows = [ + [ + 'aruba_wired_fan_airflow_direction:Jaded their', + 'aruba_wired_fan_name:kept kept', + 'aruba_wired_fan_product_name:zombies', + 'aruba_wired_fan_serial_number:their', + 'aruba_wired_fan_state:driving zombies but', + ], + [ + 'aruba_wired_fan_airflow_direction:acted kept', + 'aruba_wired_fan_name:kept quaintly acted', + 'aruba_wired_fan_product_name:forward quaintly', + 'aruba_wired_fan_serial_number:but', + 'aruba_wired_fan_state:oxen oxen but', + ], + [ + 'aruba_wired_fan_airflow_direction:but but', + 'aruba_wired_fan_name:but', + 'aruba_wired_fan_product_name:zombies', + 'aruba_wired_fan_serial_number:kept acted kept', + 'aruba_wired_fan_state:forward', + ], + [ + 'aruba_wired_fan_airflow_direction:kept acted driving', + 'aruba_wired_fan_name:kept', + 'aruba_wired_fan_product_name:driving quaintly but', + 'aruba_wired_fan_serial_number:forward their kept', + 'aruba_wired_fan_state:their', + ], + [ + 'aruba_wired_fan_airflow_direction:oxen oxen', + 'aruba_wired_fan_name:oxen', + 'aruba_wired_fan_product_name:their zombies', + 'aruba_wired_fan_serial_number:forward', + 'aruba_wired_fan_state:their', + ], + [ + 'aruba_wired_fan_airflow_direction:zombies', + 'aruba_wired_fan_name:zombies Jaded', + 'aruba_wired_fan_product_name:driving zombies', + 'aruba_wired_fan_serial_number:quaintly driving', + 'aruba_wired_fan_state:oxen quaintly', + ], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.arubaWiredFanRPM', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + # --- TEST METADATA --- + device = { + 'description': 'aruba-cx-switch Device Description', + 'id': 'default:' + ip_address, + 'id_tags': ['device_namespace:default', 'snmp_device:' + ip_address], + 'ip_address': '' + ip_address, + 'name': 'aruba-cx-switch.device.name', + 'profile': 'aruba-cx-switch', + 'status': 1, + 'sys_object_id': '1.3.6.1.4.1.47196.4.1.1.1.999', + 'vendor': 'aruba', + } + device['tags'] = common_tags + assert_device_metadata(aggregator, device) + + # --- CHECK COVERAGE --- + aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) From 970a6c6a4db59acfd1cb1bf7713d86724e7300d7 Mon Sep 17 00:00:00 2001 From: Minyi Zhu Date: Wed, 5 Jul 2023 04:53:02 -0400 Subject: [PATCH 31/77] Add crd.count to the OOTB dashboard, update kubernetes_state_core metadata.csv (#15159) --- .../dashboards/kubernetes_clusters.json | 35 +++++++++++++++++++ kubernetes_state_core/metadata.csv | 1 + 2 files changed, 36 insertions(+) diff --git a/kubernetes/assets/dashboards/kubernetes_clusters.json b/kubernetes/assets/dashboards/kubernetes_clusters.json index de0cc3ffa5a50..a6c85b77bcd6c 100644 --- a/kubernetes/assets/dashboards/kubernetes_clusters.json +++ b/kubernetes/assets/dashboards/kubernetes_clusters.json @@ -786,6 +786,41 @@ "x": 10, "y": 2 } + }, + { + "id": 112162236360634, + "definition": { + "title": "CRDs", + "title_size": "16", + "title_align": "left", + "type": "query_value", + "requests": [ + { + "response_format": "scalar", + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "sum:kubernetes_state.crd.count{$scope,$cluster}", + "aggregator": "last" + } + ], + "formulas": [ + { + "formula": "query1" + } + ] + } + ], + "custom_links": [], + "precision": 0 + }, + "layout": { + "x": 0, + "y": 4, + "width": 2, + "height": 2 + } } ] }, diff --git a/kubernetes_state_core/metadata.csv b/kubernetes_state_core/metadata.csv index a74d0076ccb38..5e5c9b2c3fd59 100644 --- a/kubernetes_state_core/metadata.csv +++ b/kubernetes_state_core/metadata.csv @@ -130,3 +130,4 @@ kubernetes_state.service.count,gauge,,,,Number of services. Tags:`kube_namespace kubernetes_state.service.type,gauge,,,,Service types. Tags:`kube_namespace` `kube_service` `type`.,0,kubernetes_state_core,k8s_state.svc.type, kubernetes_state.ingress.count,gauge,,,,Number of ingresses. Tags:`kube_namespace`.,0,kubernetes_state_core,k8s_state.ingress.count, kubernetes_state.ingress.path,gauge,,,,Information about the ingress path. Tags:`kube_namespace` `kube_ingress_path` `kube_ingress` `kube_service` `kube_service_port` `kube_ingress_host` .,0,kubernetes_state_core,k8s_state.ingress.path, +kubernetes_state.crd.count,gauge,,,,Number of crds. Tags:`kube_namespace`.,0,kubernetes_state_core,k8s_state.crd.count, From 294d798cf91ca51af81c04e43403c019d9f90ec1 Mon Sep 17 00:00:00 2001 From: Elizaveta Eremina <70374721+lizaerem@users.noreply.github.com> Date: Wed, 5 Jul 2023 11:59:45 +0300 Subject: [PATCH 32/77] [NDM] [SNMP] Update F5 BIGIP profile (#15049) * add ltmVsStatusAvailState to f5-big-ip.yaml * add metric to metrics.py * delete metric from metrics.py (since it's constant) * update .snmprec * add test for ltmVsStatus metric * formatting * formatting * formatting * add missing metric * rename the test name to avoid collision * revert test_e2e_core.py * generate test, update metrics.csv * skip metric * add new line (try to run frozen check) * delete duplicates metadata.csv * delete duplicates metadata.csv * format * format * format... * format..... * final format * delete unused import; sort import; * update metadata.csv * format * resolve conflict with aruba profile * restore accidentally deleted line * add new tags * fix tags naming * fix .snmprec * fix f5_big_ip test * fix test_f5 * fix formatting * fix formatting * delete unnecessary metrics from metadata.csv Co-authored-by: Alexandre Yang * delete unnecessary assertion * restore comment --------- Co-authored-by: Alexandre Yang --- .../snmp/data/default_profiles/f5-big-ip.yaml | 34 ++ snmp/metadata.csv | 1 + snmp/tests/compose/data/f5-big-ip.snmprec | 13 + .../test_profile_f5_big_ip.py | 458 ++++++++++++++++++ snmp/tests/test_e2e_core_vs_python.py | 5 +- 5 files changed, 509 insertions(+), 2 deletions(-) create mode 100644 snmp/tests/test_e2e_core_profiles/test_profile_f5_big_ip.py diff --git a/snmp/datadog_checks/snmp/data/default_profiles/f5-big-ip.yaml b/snmp/datadog_checks/snmp/data/default_profiles/f5-big-ip.yaml index 427e2d1011612..7be8a60947d58 100644 --- a/snmp/datadog_checks/snmp/data/default_profiles/f5-big-ip.yaml +++ b/snmp/datadog_checks/snmp/data/default_profiles/f5-big-ip.yaml @@ -256,6 +256,40 @@ metrics: OID: 1.3.6.1.4.1.3375.2.2.10.1.2.1.1 name: ltmVirtualServName + - MIB: F5-BIGIP-LOCAL-MIB + table: + OID: 1.3.6.1.4.1.3375.2.2.10.13.2 + name: ltmVsStatusTable + symbols: + # Gauges + - name: ltmVsStatus + constant_value_one: true + metric_tags: + - tag: ltm_vs_status_avail_state + column: + OID: 1.3.6.1.4.1.3375.2.2.10.13.2.1.2 + name: ltmVsStatusAvailState + mapping: + 0: none + 1: green + 2: yellow + 3: red + 4: blue + 5: gray + - tag: ltm_vs_status_name + column: + OID: 1.3.6.1.4.1.3375.2.2.10.13.2.1.1 + name: ltmVsStatusName + - tag: ltm_vs_status_enabled_state + column: + OID: 1.3.6.1.4.1.3375.2.2.10.13.2.1.3 + name: ltmVsStatusEnabledState + mapping: + 0: none + 1: enabled + 2: disabled + 3: disabledbyparent + - MIB: F5-BIGIP-LOCAL-MIB table: OID: 1.3.6.1.4.1.3375.2.2.10.2.3 diff --git a/snmp/metadata.csv b/snmp/metadata.csv index 079ce49164f52..68b4e08015938 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -827,6 +827,7 @@ snmp.ltmVirtualServStatTotRequests,count,,,,[F5 BIG-IP] The total number of requ snmp.ltmVirtualServStatVsUsageRatio1m,gauge,,,,[F5 BIG-IP] The percentage of time a given virtual server was busy over the last minute.,0,snmp,, snmp.ltmVirtualServStatVsUsageRatio5m,gauge,,,,[F5 BIG-IP] The percentage of time a given virtual server was busy over the last 5 minutes.,0,snmp,, snmp.ltmVirtualServStatVsUsageRatio5s,gauge,,,,[F5 BIG-IP] The percentage of time a given virtual server was busy over the last 5 seconds.,0,snmp,, +snmp.ltmVsStatus,gauge,,,,[F5 BIG-IP] Stores status information of virtual servers.,0,snmp,, snmp.memActiveReal64,gauge,,byte,,[Checkpoint Firewall] Active real memory (memory used by applications that is not cached to the disk) in bytes.,0,snmp,, snmp.memActiveVirtual64,gauge,,byte,,[Checkpoint Firewall] The size in bytes of the virtual-memory working segment pages that have actually been touched.,0,snmp,, snmp.memAvailSwap,gauge,,,,"[UCD-SNMP-MIB] The amount of swap space currently unused or available.",0,snmp,, diff --git a/snmp/tests/compose/data/f5-big-ip.snmprec b/snmp/tests/compose/data/f5-big-ip.snmprec index d1cc8416b126f..87e91566c82b7 100644 --- a/snmp/tests/compose/data/f5-big-ip.snmprec +++ b/snmp/tests/compose/data/f5-big-ip.snmprec @@ -28767,6 +28767,19 @@ 1.3.6.1.4.1.3375.2.2.10.11.2.0|2|0 1.3.6.1.4.1.3375.2.2.10.12.1.0|2|0 1.3.6.1.4.1.3375.2.2.10.13.1.0|2|0 +1.3.6.1.4.1.3375.2.2.10.13.2.1.1.1|4x|73657276657231 +1.3.6.1.4.1.3375.2.2.10.13.2.1.1.2|4x|73657276657232 +1.3.6.1.4.1.3375.2.2.10.13.2.1.1.3|4x|73657276657233 +1.3.6.1.4.1.3375.2.2.10.13.2.1.2.0|2|0 +1.3.6.1.4.1.3375.2.2.10.13.2.1.2.1|2|1 +1.3.6.1.4.1.3375.2.2.10.13.2.1.2.2|2|2 +1.3.6.1.4.1.3375.2.2.10.13.2.1.2.3|2|3 +1.3.6.1.4.1.3375.2.2.10.13.2.1.2.4|2|4 +1.3.6.1.4.1.3375.2.2.10.13.2.1.2.5|2|5 +1.3.6.1.4.1.3375.2.2.10.13.2.1.3.0|2|0 +1.3.6.1.4.1.3375.2.2.10.13.2.1.3.1|2|1 +1.3.6.1.4.1.3375.2.2.10.13.2.1.3.2|2|2 +1.3.6.1.4.1.3375.2.2.10.13.2.1.3.3|2|3 1.3.6.1.4.1.3375.2.2.10.14.1.0|2|0 1.3.6.1.4.1.3375.2.2.10.15.1.0|2|0 1.3.6.1.4.1.3375.2.2.10.16.1.0|2|0 diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_f5_big_ip.py b/snmp/tests/test_e2e_core_profiles/test_profile_f5_big_ip.py new file mode 100644 index 0000000000000..c2375db1a5c89 --- /dev/null +++ b/snmp/tests/test_e2e_core_profiles/test_profile_f5_big_ip.py @@ -0,0 +1,458 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +import pytest + +from datadog_checks.dev.utils import get_metadata_metrics + +from .. import common +from ..metrics import ( + IF_BANDWIDTH_USAGE, + IF_COUNTS, + IF_GAUGES, + IF_RATES, + IF_SCALAR_GAUGE, + IP_COUNTS, +) +from ..test_e2e_core_metadata import assert_device_metadata +from .utils import ( + assert_common_metrics, + create_e2e_core_test_config, + get_device_ip_from_config, +) + +pytestmark = [pytest.mark.e2e, common.py3_plus_only, common.snmp_integration_only] + + +def test_e2e_profile_f5_big_ip(dd_agent_check): + config = create_e2e_core_test_config('f5-big-ip') + aggregator = common.dd_agent_check_wrapper(dd_agent_check, config, rate=True) + + ip_address = get_device_ip_from_config(config) + common_tags = [ + 'snmp_profile:f5-big-ip', + 'snmp_host:f5-big-ip-adc-good-byol-1-vm.c.datadog-integrations-lab.internal', + 'device_namespace:default', + 'snmp_device:' + ip_address, + 'device_vendor:f5', + ] + [] + + # --- TEST EXTENDED METRICS --- + + # --- TEST METRICS --- + assert_common_metrics(aggregator, common_tags) + + aggregator.assert_metric('snmp.ltmNodeAddrNumber', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ltmPoolMemberNumber', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ltmPoolNumber', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ltmVirtualServNumber', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.sysClientsslStatCurConns', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.sysClientsslStatDecryptedBytesIn', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.sysClientsslStatDecryptedBytesOut', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.sysClientsslStatEncryptedBytesIn', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.sysClientsslStatEncryptedBytesOut', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.sysClientsslStatHandshakeFailures', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.sysGlobalHostOtherMemoryTotal', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.sysGlobalHostOtherMemoryUsed', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.sysGlobalHostSwapTotal', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.sysGlobalHostSwapUsed', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.sysGlobalTmmStatMemoryTotal', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.sysGlobalTmmStatMemoryUsed', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.sysStatMemoryTotal', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.sysStatMemoryUsed', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.sysTcpStatAcceptfails', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.sysTcpStatAccepts', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.sysTcpStatCloseWait', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.sysTcpStatConnects', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.sysTcpStatConnfails', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.sysTcpStatFinWait', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.sysTcpStatOpen', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.sysTcpStatTimeWait', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.sysUdpStatAcceptfails', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.sysUdpStatAccepts', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.sysUdpStatConnects', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.sysUdpStatConnfails', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.sysUdpStatOpen', metric_type=aggregator.GAUGE, tags=common_tags) + + tag_rows = [ + ['cpu:0'], + ['cpu:1'], + ] + for tag_row in tag_rows: + aggregator.assert_metric( + 'snmp.sysMultiHostCpuUsageRatio', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + + tag_rows = [ + ['cpu:0'], + ['cpu:1'], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.sysMultiHostCpuIdle', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.sysMultiHostCpuIowait', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.sysMultiHostCpuIrq', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.sysMultiHostCpuNice', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric( + 'snmp.sysMultiHostCpuSoftirq', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric('snmp.sysMultiHostCpuSystem', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.sysMultiHostCpuUser', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + tag_rows = [ + ['server:server1'], + ['server:server2'], + ['server:server3'], + ] + for tag_row in tag_rows: + aggregator.assert_metric( + 'snmp.ltmVirtualServConnLimit', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric('snmp.ltmVirtualServEnabled', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + tag_rows = [ + ['ltm_vs_status_avail_state:blue'], + ['ltm_vs_status_avail_state:gray'], + ['ltm_vs_status_avail_state:green', 'ltm_vs_status_enabled_state:enabled', 'ltm_vs_status_name:server1'], + ['ltm_vs_status_avail_state:none', 'ltm_vs_status_enabled_state:none'], + ['ltm_vs_status_avail_state:red', 'ltm_vs_status_enabled_state:disabledbyparent', 'ltm_vs_status_name:server3'], + ['ltm_vs_status_avail_state:yellow', 'ltm_vs_status_enabled_state:disabled', 'ltm_vs_status_name:server2'], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.ltmVsStatus', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + tag_rows = [ + ['server:server1'], + ['server:server2'], + ['server:server3'], + ] + for tag_row in tag_rows: + aggregator.assert_metric( + 'snmp.ltmVirtualServStatClientBytesIn', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmVirtualServStatClientBytesOut', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmVirtualServStatClientCurConns', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmVirtualServStatClientPktsIn', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmVirtualServStatClientPktsOut', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmVirtualServStatCurrentConnsPerSec', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmVirtualServStatDurationRateExceeded', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmVirtualServStatVsUsageRatio1m', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmVirtualServStatVsUsageRatio5m', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmVirtualServStatVsUsageRatio5s', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + + tag_rows = [ + ['server:server1'], + ['server:server2'], + ['server:server3'], + ] + for tag_row in tag_rows: + aggregator.assert_metric( + 'snmp.ltmVirtualServStatClientEvictedConns', metric_type=aggregator.COUNT, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmVirtualServStatClientSlowKilled', metric_type=aggregator.COUNT, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmVirtualServStatClientTotConns', metric_type=aggregator.COUNT, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmVirtualServStatNoNodesErrors', metric_type=aggregator.COUNT, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmVirtualServStatTotRequests', metric_type=aggregator.COUNT, tags=common_tags + tag_row + ) + + tag_rows = [ + ['node:node1'], + ['node:node2'], + ['node:node3'], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.ltmNodeAddrConnLimit', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric( + 'snmp.ltmNodeAddrDynamicRatio', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmNodeAddrMonitorState', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmNodeAddrMonitorStatus', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric('snmp.ltmNodeAddrRatio', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric( + 'snmp.ltmNodeAddrSessionStatus', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + + tag_rows = [ + ['node:node1'], + ['node:node2'], + ['node:node3'], + ] + for tag_row in tag_rows: + aggregator.assert_metric( + 'snmp.ltmNodeAddrStatCurSessions', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmNodeAddrStatCurrentConnsPerSec', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmNodeAddrStatDurationRateExceeded', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmNodeAddrStatServerBytesIn', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmNodeAddrStatServerBytesOut', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmNodeAddrStatServerCurConns', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmNodeAddrStatServerPktsIn', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmNodeAddrStatServerPktsOut', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + + tag_rows = [ + ['node:node1'], + ['node:node2'], + ['node:node3'], + ] + for tag_row in tag_rows: + aggregator.assert_metric( + 'snmp.ltmNodeAddrStatServerTotConns', metric_type=aggregator.COUNT, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmNodeAddrStatTotRequests', metric_type=aggregator.COUNT, tags=common_tags + tag_row + ) + + tag_rows = [ + ['pool:pool1'], + ['pool:pool2'], + ] + for tag_row in tag_rows: + aggregator.assert_metric( + 'snmp.ltmPoolActiveMemberCnt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmPoolDynamicRatioSum', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric('snmp.ltmPoolMemberCnt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + tag_rows = [ + ['pool:pool1'], + ['pool:pool2'], + ] + for tag_row in tag_rows: + aggregator.assert_metric( + 'snmp.ltmPoolStatConnqAgeHead', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric('snmp.ltmPoolStatConnqDepth', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric( + 'snmp.ltmPoolStatCurSessions', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmPoolStatServerBytesIn', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmPoolStatServerBytesOut', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmPoolStatServerCurConns', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmPoolStatServerPktsIn', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmPoolStatServerPktsOut', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + + tag_rows = [ + ['pool:pool1'], + ['pool:pool2'], + ] + for tag_row in tag_rows: + aggregator.assert_metric( + 'snmp.ltmPoolStatConnqServiced', metric_type=aggregator.COUNT, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmPoolStatServerTotConns', metric_type=aggregator.COUNT, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmPoolStatTotRequests', metric_type=aggregator.COUNT, tags=common_tags + tag_row + ) + + tag_rows = [ + ['node:node1', 'pool:pool1'], + ['node:node2', 'pool:pool1'], + ['node:node3', 'pool:pool2'], + ] + for tag_row in tag_rows: + aggregator.assert_metric( + 'snmp.ltmPoolMemberConnLimit', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmPoolMemberDynamicRatio', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmPoolMemberMonitorState', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmPoolMemberMonitorStatus', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric('snmp.ltmPoolMemberRatio', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric( + 'snmp.ltmPoolMemberSessionStatus', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + + tag_rows = [ + ['node:node1', 'pool:pool1'], + ['node:node2', 'pool:pool1'], + ['node:node3', 'pool:pool2'], + ] + for tag_row in tag_rows: + aggregator.assert_metric( + 'snmp.ltmPoolMemberStatConnqAgeHead', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmPoolMemberStatConnqDepth', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmPoolMemberStatCurSessions', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmPoolMemberStatCurrentConnsPerSec', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmPoolMemberStatDurationRateExceeded', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmPoolMemberStatServerBytesIn', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmPoolMemberStatServerBytesOut', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmPoolMemberStatServerCurConns', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmPoolMemberStatServerPktsIn', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmPoolMemberStatServerPktsOut', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + + tag_rows = [ + ['node:node1', 'pool:pool1'], + ['node:node2', 'pool:pool1'], + ['node:node3', 'pool:pool2'], + ] + for tag_row in tag_rows: + aggregator.assert_metric( + 'snmp.ltmPoolMemberStatConnqServiced', metric_type=aggregator.COUNT, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmPoolMemberStatServerTotConns', metric_type=aggregator.COUNT, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.ltmPoolMemberStatTotRequests', metric_type=aggregator.COUNT, tags=common_tags + tag_row + ) + + interfaces = [ + ('1.0', 'desc2'), + ('mgmt', 'desc1'), + ('/Common/internal', 'desc5'), + ('/Common/http-tunnel', 'desc3'), + ('/Common/socks-tunnel', 'desc4'), + ] + interfaces_with_bandwidth_usage = { + '1.0', + 'mgmt', + '/Common/internal', + } + + for metric in IF_SCALAR_GAUGE: + aggregator.assert_metric('snmp.{}'.format(metric), metric_type=aggregator.GAUGE, tags=common_tags, count=2) + for interface, desc in interfaces: + interface_tags = ['interface:{}'.format(interface), 'interface_alias:{}'.format(desc)] + common_tags + for metric in IF_COUNTS: + aggregator.assert_metric( + 'snmp.{}'.format(metric), metric_type=aggregator.COUNT, tags=interface_tags, count=1 + ) + for metric in IF_RATES: + aggregator.assert_metric( + 'snmp.{}'.format(metric), metric_type=aggregator.GAUGE, tags=interface_tags, count=1 + ) + + if interface in interfaces_with_bandwidth_usage: + for metric in IF_BANDWIDTH_USAGE: + aggregator.assert_metric( + 'snmp.{}'.format(metric), metric_type=aggregator.GAUGE, tags=interface_tags, count=1 + ) + + for metric in IF_GAUGES: + aggregator.assert_metric( + 'snmp.{}'.format(metric), + metric_type=aggregator.GAUGE, + tags=interface_tags, + count=2, + ) + + for version in ['ipv4', 'ipv6']: + ip_tags = ['ipversion:{}'.format(version)] + common_tags + for metric in IP_COUNTS: + aggregator.assert_metric('snmp.{}'.format(metric), metric_type=aggregator.COUNT, tags=ip_tags, count=1) + + aggregator.assert_metric('snmp.sysUpTimeInstance', count=2) + aggregator.assert_metric('snmp.cpu.usage', count=4) + aggregator.assert_metric('snmp.ifInSpeed', count=6) + aggregator.assert_metric('snmp.ifOutSpeed', count=6) + aggregator.assert_metric('snmp.memory.total', count=2) + aggregator.assert_metric('snmp.memory.usage', count=2) + aggregator.assert_metric('snmp.memory.used', count=2) + + # --- TEST METADATA --- + device = { + 'description': 'BIG-IP Virtual Edition : Linux 3.10.0-862.14.4.el7.ve.x86_64 : BIG-IP software release 15.0.1, ' + 'build 0.0.11', + 'id': 'default:' + ip_address, + 'id_tags': ['device_namespace:default', 'snmp_device:' + ip_address], + 'ip_address': '' + ip_address, + 'name': 'f5-big-ip-adc-good-byol-1-vm.c.datadog-integrations-lab.internal', + 'os_name': 'Linux', + 'os_version': '3.10.0-862.14.4.el7.ve.x86_64', + 'product_name': 'BIG-IP', + 'serial_number': '26ff4a4d-190e-12ac-d4257ed36ba6', + 'location': 'Network Closet 1', + 'model': 'Z100', + 'profile': 'f5-big-ip', + 'status': 1, + 'sys_object_id': '1.3.6.1.4.1.3375.2.1.3.4.43', + 'vendor': 'f5', + 'version': '15.0.1', + } + device['tags'] = common_tags + assert_device_metadata(aggregator, device) + + # --- CHECK COVERAGE --- + aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) diff --git a/snmp/tests/test_e2e_core_vs_python.py b/snmp/tests/test_e2e_core_vs_python.py index f1de717a8d1a6..ac3f9575da343 100644 --- a/snmp/tests/test_e2e_core_vs_python.py +++ b/snmp/tests/test_e2e_core_vs_python.py @@ -24,7 +24,7 @@ ] # Profiles may contain symbols declared twice with different names and the same OID -# Python check does handles one single metric name per OID symbol +# Python check does handle one single metric name per OID symbol SKIPPED_CORE_ONLY_METRICS = [ 'snmp.memory.total', 'snmp.memory.used', @@ -37,6 +37,7 @@ 'snmp.ifInSpeed', 'snmp.ifOutSpeed', 'snmp.peerConnectionByState', # BGP4 constant metric, not handled by python check + 'snmp.ltmVsStatus', # F5-BIG-IP constant metric 'snmp.ospfNbr', # OSPF constant metrics, not handled by python check 'snmp.ospfVirtNbr', 'snmp.ospfIf', @@ -414,7 +415,7 @@ def test_e2e_profile_dell_poweredge(dd_agent_check): assert_python_vs_core(dd_agent_check, config, metrics_to_skip=metric_to_skip) -def test_e2e_profile_f5_big_ip(dd_agent_check): +def test_e2e_core_vs_python_profile_f5_big_ip(dd_agent_check): config = common.generate_container_profile_config("f5-big-ip") metrics_to_skip = SKIPPED_CORE_ONLY_METRICS assert_python_vs_core( From 5fadf98a028ece74a48595b1e88b92ab8b8dd681 Mon Sep 17 00:00:00 2001 From: Len Gamburg <98782554+iglendd@users.noreply.github.com> Date: Wed, 5 Jul 2023 05:16:00 -0400 Subject: [PATCH 33/77] Added a warning about very large directory check (#14559) * Added a warning about very large directory check Added to the troubleshooting section. Not sure if needs to be translated to other languages. * Minor edit * Update directory/README.md Co-authored-by: Austin Lai <76412946+alai97@users.noreply.github.com> --------- Co-authored-by: Florent Clarret Co-authored-by: Austin Lai <76412946+alai97@users.noreply.github.com> --- directory/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/directory/README.md b/directory/README.md index acc4383896c85..486d8881370ff 100644 --- a/directory/README.md +++ b/directory/README.md @@ -56,6 +56,10 @@ See [service_checks.json][7] for a list of service checks provided by this integ ## Troubleshooting +When running the check against very large directories and recursion is set to true, be aware that is an intensive operation on the I/O and CPU. The default check frequency, every 15 seconds, may need to be adjusted. + +For example, if there is a directory with 15,000 files and sub-directories, and the check runs 30-40 seconds with high CPU usage, if you do not set up less frequent check frequency, the check with high CPU runs effectively and continuously. + Need help? Contact [Datadog support][8]. From 34cc3ded6210f27ff8e6602b25f8f3f5b3398d59 Mon Sep 17 00:00:00 2001 From: Florent Clarret Date: Wed, 5 Jul 2023 11:18:52 +0200 Subject: [PATCH 34/77] Update the helm charts link (#15161) --- tcp_queue_length/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tcp_queue_length/README.md b/tcp_queue_length/README.md index 93391918a8033..57582cee66306 100644 --- a/tcp_queue_length/README.md +++ b/tcp_queue_length/README.md @@ -104,6 +104,6 @@ Need help? Contact [Datadog support][5]. [1]: https://github.com/DataDog/datadog-agent/blob/master/cmd/agent/dist/conf.d/tcp_queue_length.d/conf.yaml.example [2]: https://docs.datadoghq.com/agent/guide/agent-commands/#start-stop-and-restart-the-agent -[3]: https://github.com/helm/charts/tree/master/stable/datadog +[3]: https://github.com/DataDog/helm-charts [4]: https://github.com/DataDog/integrations-core/blob/master/tcp_queue_length/metadata.csv [5]: https://docs.datadoghq.com/help/ From ad848ae79c3f6b3b621fdd254fdb858ede3eda49 Mon Sep 17 00:00:00 2001 From: HantingZhang2 <42933443+HantingZhang2@users.noreply.github.com> Date: Wed, 5 Jul 2023 11:50:59 +0200 Subject: [PATCH 35/77] Add doc for more Kubernetes config steps (#14361) * Add doc for more Kubernetes config steps Current agent Helm chart does not allow adding NET_ADMIN Linux capability to agent which is necessary for the network check to collect AWS ENA metrics. This PR is to provide a workaround by patching the helm deployment afterwards. * Update the patch code --- network/README.md | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/network/README.md b/network/README.md index d8cb704e73064..373afc09da2d5 100644 --- a/network/README.md +++ b/network/README.md @@ -40,7 +40,32 @@ Linux: Configure the following sudoers rule for this to work: dd-agent ALL=NOPASSWD: /usr/sbin/conntrack -S ``` -Kubernetes: Conntrack metrics are available by default in Kubernetes < v1.11 or when using the `host` networking mode in Kubernetes v1.11+. +**Kubernetes**: + +Conntrack metrics are available by default in Kubernetes < v1.11 or when using the `host` networking mode in Kubernetes v1.11+. + +In order to collect AWS ENA metrics, use `host` network mode and if you are using Datadog [Helm Chart][11]: +Save the following content into a file named `daemonset-patch.yaml`: +``` +spec: + template: + spec: + containers: + - name: agent + securityContext: + capabilities: + add: + - NET_ADMIN +``` + +and patch your agent deployment with: +``` +kubectl patch daemonset datadog --patch-file daemonset-patch.yaml +kubectl rollout restart daemonset datadog +``` + +If you are using Deamonset, add the above content directly into datadog agent's manifest. + ### Validation @@ -80,3 +105,4 @@ The Network check does not include any service checks. [8]: https://github.com/DataDog/integrations-core/blob/master/network/CHANGELOG.md#1110--2019-05-14 [9]: https://docs.datadoghq.com/integrations/guide/send-tcp-udp-host-metrics-to-the-datadog-api/ [10]: https://docs.datadoghq.com/monitors/monitor_types/network/ +[11]: https://docs.datadoghq.com/containers/kubernetes/installation/?tab=helm#installation From ced8b39e568d75605a84a9f85f4354315c5710d7 Mon Sep 17 00:00:00 2001 From: Ben Malec Date: Wed, 5 Jul 2023 04:55:39 -0500 Subject: [PATCH 36/77] Added total connections received and instantaneous kbps metrics (#14467) * Added total connections received and instantaneous kbps metrics * Apply suggestions from code review Co-authored-by: Andrew Zhang --------- Co-authored-by: Florent Clarret Co-authored-by: Andrew Zhang --- redisdb/datadog_checks/redisdb/redisdb.py | 3 +++ redisdb/metadata.csv | 3 +++ redisdb/tests/test_e2e.py | 3 +++ 3 files changed, 9 insertions(+) diff --git a/redisdb/datadog_checks/redisdb/redisdb.py b/redisdb/datadog_checks/redisdb/redisdb.py index 7175f1a1283b5..c663b5853495d 100644 --- a/redisdb/datadog_checks/redisdb/redisdb.py +++ b/redisdb/datadog_checks/redisdb/redisdb.py @@ -71,6 +71,9 @@ class Redis(AgentCheck): 'bytes_sent_per_sec': 'redis.bytes_sent_per_sec', # Note: 'bytes_received_per_sec' and 'bytes_sent_per_sec' are only # available on Azure Redis + 'instantaneous_input_kbps': 'redis.net.instantaneous_input', + 'instantaneous_output_kbps': 'redis.net.instantaneous_output', + 'total_connections_received': 'redis.net.total_connections_received', # pubsub 'pubsub_channels': 'redis.pubsub.channels', 'pubsub_patterns': 'redis.pubsub.patterns', diff --git a/redisdb/metadata.csv b/redisdb/metadata.csv index 5eba9333cbb44..2e1471f51d3ec 100644 --- a/redisdb/metadata.csv +++ b/redisdb/metadata.csv @@ -47,6 +47,9 @@ redis.net.rejected,gauge,,connection,,The number of rejected connections.,-1,red redis.net.slaves,gauge,,connection,,The number of connected slaves.,0,redis,slaves, redis.net.maxclients,gauge,,connection,,The maximum number of connected clients.,0,redis,maxclients, redis.perf.latest_fork_usec,gauge,,microsecond,,The duration of the latest fork.,-1,redis,latest fork usec, +redis.net.total_connections_received,gauge,,connection,,Total number of connections accepted by the server.,-1,redis,total connections received, +redis.net.instantaneous_input,gauge,,kibibyte,second,The network's read rate per second in KB/sec.,-1,redis,network input rate, +redis.net.instantaneous_output,gauge,,kibibyte,second,The network's write rate per second in KB/sec.,-1,redis,network output rate, redis.persist,gauge,,key,,The number of keys persisted (redis.keys - redis.expires).,0,redis,persist, redis.persist.percent,gauge,,percent,,Percentage of total keys that are persisted.,0,redis,persist pct, redis.ping.latency_ms,gauge,,millisecond,,The latency of the redis PING command.,0,redis,ping latency, diff --git a/redisdb/tests/test_e2e.py b/redisdb/tests/test_e2e.py index 8debc0ede4309..c99c14f25a7f3 100644 --- a/redisdb/tests/test_e2e.py +++ b/redisdb/tests/test_e2e.py @@ -30,6 +30,9 @@ def assert_common_metrics(aggregator): aggregator.assert_metric('redis.mem.lua', count=2, tags=tags) aggregator.assert_metric('redis.net.instantaneous_ops_per_sec', count=2, tags=tags) aggregator.assert_metric('redis.perf.latest_fork_usec', count=2, tags=tags) + aggregator.assert_metric('redis.net.total_connections_received', count=2, tags=tags) + aggregator.assert_metric('redis.net.instantaneous_input', count=2, tags=tags) + aggregator.assert_metric('redis.net.instantaneous_output', count=2, tags=tags) aggregator.assert_metric('redis.keys.evicted', count=2, tags=tags) aggregator.assert_metric('redis.net.slaves', count=2, tags=tags) aggregator.assert_metric('redis.clients.blocked', count=2, tags=tags) From fe49cbc6ed2b6df9e8ce73b8d198f0015d7ffe12 Mon Sep 17 00:00:00 2001 From: Vincent Boulineau <58430298+vboulineau@users.noreply.github.com> Date: Wed, 5 Jul 2023 13:02:57 +0200 Subject: [PATCH 37/77] kubelet: fallback from image to imageID to align with Go couterpart (#15131) --- kubelet/datadog_checks/kubelet/common.py | 14 +- kubelet/tests/fixtures/pods_images_sha.json | 423 ++++++++++++++++++++ kubelet/tests/test_common.py | 35 ++ 3 files changed, 471 insertions(+), 1 deletion(-) create mode 100644 kubelet/tests/fixtures/pods_images_sha.json diff --git a/kubelet/datadog_checks/kubelet/common.py b/kubelet/datadog_checks/kubelet/common.py index e71ef0d660a27..b64c4010521b9 100644 --- a/kubelet/datadog_checks/kubelet/common.py +++ b/kubelet/datadog_checks/kubelet/common.py @@ -2,6 +2,8 @@ # All rights reserved # Licensed under Simplified BSD License (see LICENSE) +import re + from datadog_checks.base.utils.tagging import tagger try: @@ -197,7 +199,17 @@ def is_excluded(self, cid, pod_uid=None): self.cache[cid] = True return True - excluded = c_is_excluded(ctr.get("name"), ctr.get("image"), self.container_id_to_namespace.get(cid, "")) + # Image cannot be always used as-is as it may be a sha256, like: + # image: sha256:86700713f90f670eefce301d0bada81d3e44f16917fe5da072c34d8814cc1f09 + # imageID: gcr.io/foo@sha256:2babda8ec819e24d5a6342095e8f8a25a67b44eb7231ae253ecc2c448632f07e + # If we identify a sha256, we'll fallback to `imageID` as we, at least, get the image path. + # Image and ImageID are populated by Kubelet from CRI API: + # https://github.com/kubernetes/kubernetes/blob/8c33d3ef7b2f099c7bb81f340f332dbf3a959548/pkg/kubelet/kuberuntime/kuberuntime_container.go#L586C6-L622 + image = ctr.get("image") + if image.startswith("sha256:") and len(image) == 71: # 7 + 64 + image = re.sub(r"^[a-z-]+://", "", ctr.get("imageID")) + + excluded = c_is_excluded(ctr.get("name"), image, self.container_id_to_namespace.get(cid, "")) self.cache[cid] = excluded return excluded diff --git a/kubelet/tests/fixtures/pods_images_sha.json b/kubelet/tests/fixtures/pods_images_sha.json new file mode 100644 index 0000000000000..c81169cbb29aa --- /dev/null +++ b/kubelet/tests/fixtures/pods_images_sha.json @@ -0,0 +1,423 @@ +{ + "items": [ + { + "status": { + "qosClass": "Burstable", + "containerStatuses": [ + { + "restartCount": 0, + "name": "fluentd-gcp", + "image": "asia.gcr.io/google-containers/fluentd-gcp:2.0.10", + "imageID": "docker-pullable://asia.gcr.io/google-containers/fluentd-gcp@sha256:a81a2c0137aee9f8a3e870898773976df9b63b27809bed2a4b9297531fb3c3c9", + "state": { + "running": { + "startedAt": "2018-02-13T16:10:45Z" + } + }, + "ready": true, + "lastState": {}, + "containerID": "docker://5741ed2471c0e458b6b95db40ba05d1a5ee168256638a0264f08703e48d76561" + }, + { + "restartCount": 0, + "name": "prometheus-to-sd-exporter", + "image": "sha256:5831390762c790b0375c202579fd41dd5f40c71950f7538adbe14b0c16f35d56", + "imageID": "docker-pullable://asia.gcr.io/p@sha256:5831390762c790b0375c202579fd41dd5f40c71950f7538adbe14b0c16f35d56", + "state": { + "running": { + "startedAt": "2018-02-13T16:10:46Z" + } + }, + "ready": true, + "lastState": {}, + "containerID": "docker://580cb469826a10317fd63cc780441920f49913ae63918d4c7b19a72347645b05" + } + ], + "podIP": "10.8.2.4", + "startTime": "2018-02-13T14:57:17Z", + "hostIP": "10.132.0.4", + "phase": "Running", + "conditions": [ + { + "status": "True", + "lastProbeTime": null, + "type": "Initialized", + "lastTransitionTime": "2018-02-13T14:57:17Z" + }, + { + "status": "True", + "lastProbeTime": null, + "type": "Ready", + "lastTransitionTime": "2018-02-13T16:10:47Z" + }, + { + "status": "True", + "lastProbeTime": null, + "type": "PodScheduled", + "lastTransitionTime": "2018-02-13T14:57:27Z" + } + ] + }, + "spec": { + "dnsPolicy": "Default", + "securityContext": {}, + "serviceAccountName": "fluentd-gcp", + "schedulerName": "default-scheduler", + "serviceAccount": "fluentd-gcp", + "nodeSelector": { + "beta.kubernetes.io/fluentd-ds-ready": "true" + }, + "terminationGracePeriodSeconds": 30, + "restartPolicy": "Always", + "volumes": [ + { + "hostPath": { + "path": "/var/log", + "type": "" + }, + "name": "varlog" + }, + { + "hostPath": { + "path": "/var/lib/docker/containers", + "type": "" + }, + "name": "varlibdockercontainers" + }, + { + "hostPath": { + "path": "/usr/lib64", + "type": "" + }, + "name": "libsystemddir" + }, + { + "configMap": { + "name": "fluentd-gcp-config-v1.2.3", + "defaultMode": 420 + }, + "name": "config-volume" + }, + { + "secret": { + "defaultMode": 420, + "secretName": "fluentd-gcp-token-vcd8d" + }, + "name": "fluentd-gcp-token-vcd8d" + } + ], + "tolerations": [ + { + "effect": "NoSchedule", + "key": "node.alpha.kubernetes.io/ismaster" + }, + { + "operator": "Exists", + "effect": "NoExecute" + }, + { + "operator": "Exists", + "effect": "NoSchedule" + }, + { + "operator": "Exists", + "effect": "NoExecute", + "key": "node.kubernetes.io/not-ready" + }, + { + "operator": "Exists", + "effect": "NoExecute", + "key": "node.kubernetes.io/unreachable" + }, + { + "operator": "Exists", + "effect": "NoSchedule", + "key": "node.kubernetes.io/disk-pressure" + }, + { + "operator": "Exists", + "effect": "NoSchedule", + "key": "node.kubernetes.io/memory-pressure" + } + ], + "containers": [ + { + "livenessProbe": { + "timeoutSeconds": 1, + "exec": { + "command": [ + "/bin/sh", + "-c", + "LIVENESS_THRESHOLD_SECONDS=${LIVENESS_THRESHOLD_SECONDS:-300}; STUCK_THRESHOLD_SECONDS=${LIVENESS_THRESHOLD_SECONDS:-900}; if [ ! -e /var/log/fluentd-buffers ]; then\n exit 1;\nfi; LAST_MODIFIED_DATE=`stat /var/log/fluentd-buffers | grep Modify | sed -r \"s/Modify: (.*)/\\1/\"`; LAST_MODIFIED_TIMESTAMP=`date -d \"$LAST_MODIFIED_DATE\" +%s`; if [ `date +%s` -gt `expr $LAST_MODIFIED_TIMESTAMP + $STUCK_THRESHOLD_SECONDS` ]; then\n rm -rf /var/log/fluentd-buffers;\n exit 1;\nfi; if [ `date +%s` -gt `expr $LAST_MODIFIED_TIMESTAMP + $LIVENESS_THRESHOLD_SECONDS` ]; then\n exit 1;\nfi;\n" + ] + }, + "initialDelaySeconds": 600, + "periodSeconds": 60, + "successThreshold": 1, + "failureThreshold": 3 + }, + "terminationMessagePath": "/dev/termination-log", + "name": "fluentd-gcp", + "image": "gcr.io/google-containers/fluentd-gcp:2.0.10", + "volumeMounts": [ + { + "mountPath": "/var/log", + "name": "varlog" + }, + { + "readOnly": true, + "mountPath": "/var/lib/docker/containers", + "name": "varlibdockercontainers" + }, + { + "readOnly": true, + "mountPath": "/host/lib", + "name": "libsystemddir" + }, + { + "mountPath": "/etc/fluent/config.d", + "name": "config-volume" + }, + { + "readOnly": true, + "mountPath": "/var/run/secrets/kubernetes.io/serviceaccount", + "name": "fluentd-gcp-token-vcd8d" + } + ], + "terminationMessagePolicy": "File", + "env": [ + { + "name": "FLUENTD_ARGS", + "value": "--no-supervisor -q" + } + ], + "imagePullPolicy": "IfNotPresent", + "resources": { + "requests": { + "cpu": "100m", + "memory": "200Mi" + }, + "limits": { + "memory": "300Mi" + } + } + }, + { + "terminationMessagePath": "/dev/termination-log", + "name": "prometheus-to-sd-exporter", + "image": "gcr.io/google-containers/prometheus-to-sd:v0.2.2", + "volumeMounts": [ + { + "readOnly": true, + "mountPath": "/var/run/secrets/kubernetes.io/serviceaccount", + "name": "fluentd-gcp-token-vcd8d" + } + ], + "terminationMessagePolicy": "File", + "command": [ + "/monitor", + "--stackdriver-prefix=container.googleapis.com/internal/addons", + "--api-override=https://monitoring.googleapis.com/", + "--source=fluentd:http://localhost:31337?whitelisted=stackdriver_successful_requests_count,stackdriver_failed_requests_count,stackdriver_ingested_entries_count,stackdriver_dropped_entries_count", + "--pod-id=$(POD_NAME)", + "--namespace-id=$(POD_NAMESPACE)" + ], + "env": [ + { + "valueFrom": { + "fieldRef": { + "fieldPath": "metadata.name", + "apiVersion": "v1" + } + }, + "name": "POD_NAME" + }, + { + "valueFrom": { + "fieldRef": { + "fieldPath": "metadata.namespace", + "apiVersion": "v1" + } + }, + "name": "POD_NAMESPACE" + } + ], + "imagePullPolicy": "IfNotPresent", + "resources": {} + } + ], + "nodeName": "gke-haissam-default-pool-be5066f1-wnvn" + }, + "metadata": { + "name": "fluentd-gcp-v2.0.10-9q9t4", + "labels": { + "k8s-app": "fluentd-gcp", + "version": "v2.0.10", + "pod-template-generation": "1", + "kubernetes.io/cluster-service": "true", + "controller-revision-hash": "1108666223" + }, + "namespace": "kube-system", + "ownerReferences": [ + { + "kind": "DaemonSet", + "name": "fluentd-gcp-v2.0.10", + "apiVersion": "extensions/v1beta1", + "controller": true, + "blockOwnerDeletion": true, + "uid": "77585c76-10cc-11e8-bd5a-42010af00137" + } + ], + "resourceVersion": "30704838", + "generateName": "fluentd-gcp-v2.0.10-", + "creationTimestamp": "2018-02-13T14:57:17Z", + "annotations": { + "scheduler.alpha.kubernetes.io/critical-pod": "", + "kubernetes.io/config.source": "api", + "kubernetes.io/config.seen": "2018-02-13T16:10:19.509264637Z" + }, + "selfLink": "/api/v1/namespaces/kube-system/pods/fluentd-gcp-v2.0.10-9q9t4", + "uid": "2edfd4d9-10ce-11e8-bd5a-42010af00137" + } + }, + { + "metadata": { + "name": "db2-5c78c65d4b-w48vz", + "generateName": "db2-5c78c65d4b-", + "namespace": "default", + "selfLink": "/api/v1/namespaces/default/pods/db2-5c78c65d4b-w48vz", + "uid": "c0d8f166-94c4-11e8-96a3-42010a840157", + "resourceVersion": "992", + "creationTimestamp": "2018-07-31T13:22:20Z", + "labels": { + "app": "hello", + "pod-template-hash": "1734721806", + "tier": "backend", + "track": "stable" + }, + "annotations": { + "kubernetes.io/config.seen": "2018-07-31T13:22:20.546954126Z", + "kubernetes.io/config.source": "api", + "kubernetes.io/limit-ranger": "LimitRanger plugin set: cpu request for container redis" + }, + "ownerReferences": [ + { + "apiVersion": "extensions/v1beta1", + "kind": "ReplicaSet", + "name": "db2-5c78c65d4b", + "uid": "c0ce85a4-94c4-11e8-96a3-42010a840157", + "controller": true, + "blockOwnerDeletion": true + } + ] + }, + "spec": { + "volumes": [ + { + "name": "default-token-4tr8v", + "secret": { + "secretName": "default-token-4tr8v", + "defaultMode": 420 + } + } + ], + "containers": [ + { + "name": "redis", + "image": "redis:3.2", + "ports": [ + { + "containerPort": 6379, + "protocol": "TCP" + } + ], + "resources": { + "requests": { + "cpu": "100m" + } + }, + "volumeMounts": [ + { + "name": "default-token-4tr8v", + "readOnly": true, + "mountPath": "/var/run/secrets/kubernetes.io/serviceaccount" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "serviceAccountName": "default", + "serviceAccount": "default", + "nodeName": "gke-xvello-containerd-default-pool-43a2b388-xkm6", + "securityContext": {}, + "schedulerName": "default-scheduler", + "tolerations": [ + { + "key": "node.kubernetes.io/not-ready", + "operator": "Exists", + "effect": "NoExecute", + "tolerationSeconds": 300 + }, + { + "key": "node.kubernetes.io/unreachable", + "operator": "Exists", + "effect": "NoExecute", + "tolerationSeconds": 300 + } + ], + "priority": 0 + }, + "status": { + "phase": "Running", + "conditions": [ + { + "type": "Initialized", + "status": "True", + "lastProbeTime": null, + "lastTransitionTime": "2018-07-31T13:22:52Z" + }, + { + "type": "Ready", + "status": "True", + "lastProbeTime": null, + "lastTransitionTime": "2018-07-31T13:23:49Z" + }, + { + "type": "PodScheduled", + "status": "True", + "lastProbeTime": null, + "lastTransitionTime": "2018-07-31T13:22:20Z" + } + ], + "hostIP": "10.132.0.20", + "podIP": "10.40.1.68", + "startTime": "2018-07-31T13:22:52Z", + "containerStatuses": [ + { + "name": "redis", + "state": { + "running": { + "startedAt": "2018-07-31T13:23:41Z" + } + }, + "lastState": {}, + "ready": true, + "restartCount": 0, + "image": "sha256:b0e0e30549716e5a53d455c7cde800578358ed7cfd9686113433597cea56d899", + "imageID": "docker.io/library/redis@sha256:b0e0e30549716e5a53d455c7cde800578358ed7cfd9686113433597cea56d899", + "containerID": "containerd://1258aef41f9b5181dd6b2328f0248af12af5e5e897dc197bd32d59e3dad4f9f4" + } + ], + "qosClass": "Burstable" + } + } + ], + "kind": "PodList", + "apiVersion": "v1", + "metadata": {} +} diff --git a/kubelet/tests/test_common.py b/kubelet/tests/test_common.py index 6c578d7fc81d1..50f20b012eded 100644 --- a/kubelet/tests/test_common.py +++ b/kubelet/tests/test_common.py @@ -71,6 +71,41 @@ def test_container_filter(monkeypatch): c_is_excluded.assert_called_with(ctr_name, ctr_image, namespace) +def test_container_filter_imageID(monkeypatch): + c_is_excluded = mock.Mock(return_value=True) + monkeypatch.setattr('datadog_checks.kubelet.common.c_is_excluded', c_is_excluded) + + pods = json.loads(mock_from_file('pods_images_sha.json')) + pod_list_utils = PodListUtils(pods) + + # Test normal image + c_is_excluded.reset_mock() + assert pod_list_utils.is_excluded("docker://5741ed2471c0e458b6b95db40ba05d1a5ee168256638a0264f08703e48d76561") + c_is_excluded.assert_called_once_with( + mock.ANY, + "asia.gcr.io/google-containers/fluentd-gcp:2.0.10", + mock.ANY, + ) + + # Test fallback to imageID removing any prefix + c_is_excluded.reset_mock() + assert pod_list_utils.is_excluded("docker://580cb469826a10317fd63cc780441920f49913ae63918d4c7b19a72347645b05") + c_is_excluded.assert_called_once_with( + mock.ANY, + "asia.gcr.io/p@sha256:5831390762c790b0375c202579fd41dd5f40c71950f7538adbe14b0c16f35d56", + mock.ANY, + ) + + # Test fallback to imageID without anything to remove + c_is_excluded.reset_mock() + assert pod_list_utils.is_excluded("containerd://1258aef41f9b5181dd6b2328f0248af12af5e5e897dc197bd32d59e3dad4f9f4") + c_is_excluded.assert_called_once_with( + mock.ANY, + "docker.io/library/redis@sha256:b0e0e30549716e5a53d455c7cde800578358ed7cfd9686113433597cea56d899", + mock.ANY, + ) + + def test_filter_staticpods(monkeypatch): c_is_excluded = mock.Mock(return_value=True) monkeypatch.setattr('datadog_checks.kubelet.common.c_is_excluded', c_is_excluded) From 524459b5535f1d33cda3272bd4efb00d45dffc58 Mon Sep 17 00:00:00 2001 From: Fanny Jiang Date: Wed, 5 Jul 2023 08:25:55 -0400 Subject: [PATCH 38/77] Document how to populate sql metrics (#13827) * document e2e sql script * apply review suggestions * fix sql script * Update cockroachdb/tests/docker/docker-compose.yaml * address --------- Co-authored-by: Florent Clarret --- cockroachdb/tests/README.md | 5 +++ cockroachdb/tests/conftest.py | 11 +++++- cockroachdb/tests/docker/docker-compose.yaml | 2 + cockroachdb/tests/docker/sql.sh | 41 ++++++++++++++++++++ 4 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 cockroachdb/tests/README.md create mode 100755 cockroachdb/tests/docker/sql.sh diff --git a/cockroachdb/tests/README.md b/cockroachdb/tests/README.md new file mode 100644 index 0000000000000..f74e72fd6a4b9 --- /dev/null +++ b/cockroachdb/tests/README.md @@ -0,0 +1,5 @@ +# E2E + +## Populate `cockroachdb.sql.*` metrics + +You may want to populate the `cockroachdb.sql` metrics for development purposes or for generating sample data such as for a dashboard. Included in the `/tests/docker/` directory is a SQL script, `sql.sh`, that runs various SQL commands on a loop. To run this script, enable the E2E cockroachdb container by doing the following: `POPULATE_METRICS="true" ddev env start cockroachdb py3.9-22.1` diff --git a/cockroachdb/tests/conftest.py b/cockroachdb/tests/conftest.py index ab495a6fe1952..9021b9c884b5b 100644 --- a/cockroachdb/tests/conftest.py +++ b/cockroachdb/tests/conftest.py @@ -6,7 +6,8 @@ import pytest from packaging.version import parse as parse_version -from datadog_checks.dev import docker_run +from datadog_checks.base import is_affirmative +from datadog_checks.dev import docker_run, run_command from .common import COCKROACHDB_VERSION, HOST, PORT @@ -17,10 +18,14 @@ @pytest.fixture(scope='session') def dd_environment(instance): env_vars = {'COCKROACHDB_START_COMMAND': _get_start_command()} + + conditions = [run_sql] if is_affirmative(os.environ.get("POPULATE_METRICS")) else None + with docker_run( os.path.join(DOCKER_DIR, 'docker-compose.yaml'), env_vars=env_vars, endpoints=instance['openmetrics_endpoint'], + conditions=conditions, ): yield instance @@ -43,3 +48,7 @@ def _get_start_command(): if COCKROACHDB_VERSION != 'latest' and parse_version(COCKROACHDB_VERSION) < parse_version('20.2'): return 'start' return 'start-single-node' + + +def run_sql(): + return run_command(['docker', 'exec', '-d', 'cockroachdb', '/bin/bash', '/sql.sh'], capture=True, check=True) diff --git a/cockroachdb/tests/docker/docker-compose.yaml b/cockroachdb/tests/docker/docker-compose.yaml index 08d6111208eb7..9d9e97dd4dabd 100644 --- a/cockroachdb/tests/docker/docker-compose.yaml +++ b/cockroachdb/tests/docker/docker-compose.yaml @@ -12,6 +12,8 @@ services: ports: - "26257:26257" - "8080:8080" + volumes: + - ./sql.sh:/sql.sh networks: - roachnet diff --git a/cockroachdb/tests/docker/sql.sh b/cockroachdb/tests/docker/sql.sh new file mode 100755 index 0000000000000..ea1d997f1911b --- /dev/null +++ b/cockroachdb/tests/docker/sql.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# SQL script that performs SELECT, INSERT, CREATE, DELETE commands on a loop in cockroachdb. +# See /tests/README.md. + +echo Wait for servers to be up +sleep 10 + +HOSTPARAMS="--host cockroachdb --insecure" +SQL="/cockroach/cockroach.sh sql $HOSTPARAMS" + +while : + do + $SQL --watch 1m -e """ + CREATE DATABASE IF NOT EXISTS places; + CREATE TABLE IF NOT EXISTS cities ( + id UUID NOT NULL DEFAULT gen_random_uuid(), + city STRING NOT NULL, + country STRING NOT NULL, + population INT8 NOT NULL, + CONSTRAINT \"primary\" PRIMARY KEY (city ASC, ID ASC) + ); + INSERT INTO cities (city, country, population) VALUES ('New York City', 'USA', 8804190), ('Boston', 'USA', 654776), ('Madrid', 'Spain', 6975017), ('Paris', 'France', 2206488); + SELECT * FROM cities; + CREATE INDEX IF NOT EXISTS city_idx ON cities (city DESC); + UPDATE cities SET population=10000000 WHERE city = 'New York City'; + INSERT INTO cities (city, country, population) VALUES ('Nowhere', 'USA', 0); + SELECT city FROM cities WHERE population > 0; + DELETE FROM cities WHERE city = 'Nowhere'; + DROP TABLE cities; + SELECT * from fake_table; + """ + + random_num=$(( $RANDOM % 300 + 60 )) + + if [ $(random_num % 2) -gt 275 ]; then + $SQL -e "SELECT * from fake_table;" + fi + + echo Sleeping... + sleep random_num + done From 3a817a6dc0452be298292f5d66f47e5c8c3c2099 Mon Sep 17 00:00:00 2001 From: Adam WEAVER <43756933+aweaver89@users.noreply.github.com> Date: Wed, 5 Jul 2023 12:54:28 +0000 Subject: [PATCH 39/77] Update mongo default config for multihost (#13454) * Update mongo default config for multihost Starting in 4.0.2 we automatically enable the mongo option directConnection. This breaks any existing setups that specify multiple hosts to balance requests as described in our docs. There is a workaround, but we don't give any details on how to do this. * Update spec.yaml * Update spec.yaml * reformat spec file Co-authored-by: Bryce Eadie * Revert "Update mongo default config for multihost" This reverts commit 554dae3f4f6cb69eb6a7734101899242b8a1f958. * sync spec file with config example --------- Co-authored-by: Bryce Eadie Co-authored-by: Florent Clarret --- mongo/assets/configuration/spec.yaml | 7 ++++++- mongo/datadog_checks/mongo/data/conf.yaml.example | 4 ++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/mongo/assets/configuration/spec.yaml b/mongo/assets/configuration/spec.yaml index 47caa1e9ba3d5..8ecfb2e5f7fae 100644 --- a/mongo/assets/configuration/spec.yaml +++ b/mongo/assets/configuration/spec.yaml @@ -29,6 +29,11 @@ files: Do not specify more than one host here unless you are connecting to a mongos instance and you want to balance requests performed by the agent to multiple mongos instances. + + If you need to monitor multiple mongos instances and are using version 7.39 or later of the Agent, + configure the integration to disable directConnection, which is enabled by default starting in 4.0.2. + This can be done by setting options.directConnection to 'false'. + value: example: - : @@ -233,4 +238,4 @@ files: - type: file path: /var/log/mongodb/mongodb.log source: mongo - service: \ No newline at end of file + service: diff --git a/mongo/datadog_checks/mongo/data/conf.yaml.example b/mongo/datadog_checks/mongo/data/conf.yaml.example index d1226c857c6df..dc5931ae5c856 100644 --- a/mongo/datadog_checks/mongo/data/conf.yaml.example +++ b/mongo/datadog_checks/mongo/data/conf.yaml.example @@ -33,6 +33,10 @@ instances: ## ## Do not specify more than one host here unless you are connecting to a mongos instance ## and you want to balance requests performed by the agent to multiple mongos instances. + ## + ## If you need to monitor multiple mongos instances and are using version 7.39 or later of the Agent, + ## configure the integration to disable directConnection, which is enabled by default starting in 4.0.2. + ## This can be done by setting options.directConnection to 'false'. # - hosts: - : From adb45fd9468bb4ab614f503b2a87a8475884f799 Mon Sep 17 00:00:00 2001 From: vivek-datadog <131680079+vivek-datadog@users.noreply.github.com> Date: Wed, 5 Jul 2023 15:01:08 +0200 Subject: [PATCH 40/77] Add VerbosityLevels class for ddev cli/terminal use (#14780) * Add VerbosityLevels class Signed-off-by: Vivekanand Ilango --- ddev/src/ddev/cli/application.py | 6 +++--- ddev/src/ddev/cli/terminal.py | 22 ++++++++-------------- ddev/src/ddev/config/constants.py | 8 ++++++++ 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/ddev/src/ddev/cli/application.py b/ddev/src/ddev/cli/application.py index 9f802d9e82f50..3e3fb1cfd50dd 100644 --- a/ddev/src/ddev/cli/application.py +++ b/ddev/src/ddev/cli/application.py @@ -7,7 +7,7 @@ from typing import cast from ddev.cli.terminal import Terminal -from ddev.config.constants import AppEnvVars +from ddev.config.constants import AppEnvVars, VerbosityLevels from ddev.config.file import ConfigFile, RootConfig from ddev.repo.core import Repository from ddev.utils.fs import Path @@ -22,8 +22,8 @@ def __init__(self, exit_func, *args, **kwargs): self.__exit_func = exit_func self.config_file = ConfigFile() - self.quiet = self.verbosity < 0 - self.verbose = self.verbosity > 0 + self.quiet = self.verbosity < VerbosityLevels.INFO + self.verbose = self.verbosity > VerbosityLevels.INFO # Lazily set these as we acquire more knowledge about the desired environment self.__repo = cast(Repository, None) diff --git a/ddev/src/ddev/cli/terminal.py b/ddev/src/ddev/cli/terminal.py index 7d0568db318d8..30f08c6c47e29 100644 --- a/ddev/src/ddev/cli/terminal.py +++ b/ddev/src/ddev/cli/terminal.py @@ -15,6 +15,8 @@ from rich.style import Style from rich.text import Text +from ddev.config.constants import VerbosityLevels + if TYPE_CHECKING: from rich.status import Status @@ -101,7 +103,7 @@ def __exit__(self, exc_type, exc_val, exc_tb): return old_message, final_text = self.__messages.pop() - if self.__verbosity > 0: + if self.__verbosity > VerbosityLevels.INFO: if not final_text: final_text = old_message.plain final_text = f'Finished {final_text[:1].lower()}{final_text[1:]}' @@ -182,43 +184,35 @@ def display_critical(self, text='', **kwargs): self.console.stderr = False def display_error(self, text='', stderr=True, indent=None, link=None, **kwargs): - if self.verbosity < -2: + if self.verbosity < VerbosityLevels.ERROR: return self.output(text, self._style_level_error, stderr=stderr, indent=indent, link=link, **kwargs) def display_warning(self, text='', stderr=True, indent=None, link=None, **kwargs): - if self.verbosity < -1: + if self.verbosity < VerbosityLevels.WARN: return self.output(text, self._style_level_warning, stderr=stderr, indent=indent, link=link, **kwargs) def display_info(self, text='', stderr=True, indent=None, link=None, **kwargs): - if self.verbosity < 0: + if self.verbosity < VerbosityLevels.INFO: return self.output(text, self._style_level_info, stderr=stderr, indent=indent, link=link, **kwargs) def display_success(self, text='', stderr=True, indent=None, link=None, **kwargs): - if self.verbosity < 0: + if self.verbosity < VerbosityLevels.INFO: return self.output(text, self._style_level_success, stderr=stderr, indent=indent, link=link, **kwargs) def display_waiting(self, text='', stderr=True, indent=None, link=None, **kwargs): - if self.verbosity < 0: + if self.verbosity < VerbosityLevels.INFO: return self.output(text, self._style_level_waiting, stderr=stderr, indent=indent, link=link, **kwargs) - def display_debug(self, text='', level=1, stderr=True, indent=None, link=None, **kwargs): - if not 1 <= level <= 3: - raise ValueError('Debug output can only have verbosity levels between 1 and 3 (inclusive)') - elif self.verbosity < level: - return - - self.output(text, self._style_level_debug, stderr=stderr, indent=indent, link=link, **kwargs) - def display_header(self, title=''): self.console.rule(Text(title, self._style_level_success)) diff --git a/ddev/src/ddev/config/constants.py b/ddev/src/ddev/config/constants.py index 80ea9fdba1ac1..cce140ca7b301 100644 --- a/ddev/src/ddev/config/constants.py +++ b/ddev/src/ddev/config/constants.py @@ -13,3 +13,11 @@ class AppEnvVars: class ConfigEnvVars: CONFIG = 'DDEV_CONFIG' + + +class VerbosityLevels: + ERROR = -2 + WARNING = -1 + INFO = 0 + DEBUG = 1 + TRACE = 2 From 08fc78c97c863a2792ae8838f2a5f9e9cdeaa63b Mon Sep 17 00:00:00 2001 From: Sarah Witt Date: Wed, 5 Jul 2023 09:13:56 -0400 Subject: [PATCH 41/77] Add runtime configuration validation (#14362) * Add config models to openstack * Add enabled value * Update openstack_controller/assets/configuration/spec.yaml Co-authored-by: Ofek Lev * Use dd_run_check in config tests --------- Co-authored-by: Ofek Lev --- .../assets/configuration/spec.yaml | 4 +- .../config_models/__init__.py | 24 ++ .../config_models/defaults.py | 258 ++++++++++++++++++ .../config_models/instance.py | 130 +++++++++ .../config_models/shared.py | 60 ++++ .../config_models/validators.py | 13 + .../data/conf.yaml.example | 4 +- openstack_controller/tests/test_config.py | 12 +- 8 files changed, 495 insertions(+), 10 deletions(-) create mode 100644 openstack_controller/datadog_checks/openstack_controller/config_models/__init__.py create mode 100644 openstack_controller/datadog_checks/openstack_controller/config_models/defaults.py create mode 100644 openstack_controller/datadog_checks/openstack_controller/config_models/instance.py create mode 100644 openstack_controller/datadog_checks/openstack_controller/config_models/shared.py create mode 100644 openstack_controller/datadog_checks/openstack_controller/config_models/validators.py diff --git a/openstack_controller/assets/configuration/spec.yaml b/openstack_controller/assets/configuration/spec.yaml index 0d2a9369e8f80..e4f32926cffc1 100644 --- a/openstack_controller/assets/configuration/spec.yaml +++ b/openstack_controller/assets/configuration/spec.yaml @@ -15,14 +15,13 @@ files: - template: instances options: - name: name - required: true description: | Unique identifier for this instance. value: example: type: string + enabled: true - name: user - required: true description: | Password authentication is the only auth method supported User expects username, password, and user domain id @@ -36,6 +35,7 @@ files: domain: id: type: object + enabled: true - name: whitelist_project_names description: | IDs of projects to whitelist for monitoring (by default the agent collects limit metrics from all projects) diff --git a/openstack_controller/datadog_checks/openstack_controller/config_models/__init__.py b/openstack_controller/datadog_checks/openstack_controller/config_models/__init__.py new file mode 100644 index 0000000000000..bb07629c89aca --- /dev/null +++ b/openstack_controller/datadog_checks/openstack_controller/config_models/__init__.py @@ -0,0 +1,24 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +# This file is autogenerated. +# To change this file you should edit assets/configuration/spec.yaml and then run the following commands: +# ddev -x validate config -s +# ddev -x validate models -s + +from .instance import InstanceConfig +from .shared import SharedConfig + + +class ConfigMixin: + _config_model_instance: InstanceConfig + _config_model_shared: SharedConfig + + @property + def config(self) -> InstanceConfig: + return self._config_model_instance + + @property + def shared_config(self) -> SharedConfig: + return self._config_model_shared diff --git a/openstack_controller/datadog_checks/openstack_controller/config_models/defaults.py b/openstack_controller/datadog_checks/openstack_controller/config_models/defaults.py new file mode 100644 index 0000000000000..17549092fb0de --- /dev/null +++ b/openstack_controller/datadog_checks/openstack_controller/config_models/defaults.py @@ -0,0 +1,258 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +# This file is autogenerated. +# To change this file you should edit assets/configuration/spec.yaml and then run the following commands: +# ddev -x validate config -s +# ddev -x validate models -s + +from datadog_checks.base.utils.models.fields import get_default_field_value + + +def shared_proxy(field, value): + return get_default_field_value(field, value) + + +def shared_service(field, value): + return get_default_field_value(field, value) + + +def shared_skip_proxy(field, value): + return False + + +def shared_timeout(field, value): + return 10 + + +def instance_allow_redirects(field, value): + return True + + +def instance_auth_token(field, value): + return get_default_field_value(field, value) + + +def instance_auth_type(field, value): + return 'basic' + + +def instance_aws_host(field, value): + return get_default_field_value(field, value) + + +def instance_aws_region(field, value): + return get_default_field_value(field, value) + + +def instance_aws_service(field, value): + return get_default_field_value(field, value) + + +def instance_blacklist_project_names(field, value): + return [] + + +def instance_collect_hypervisor_load(field, value): + return True + + +def instance_collect_hypervisor_metrics(field, value): + return True + + +def instance_collect_network_metrics(field, value): + return True + + +def instance_collect_project_metrics(field, value): + return True + + +def instance_collect_server_diagnostic_metrics(field, value): + return True + + +def instance_collect_server_flavor_metrics(field, value): + return True + + +def instance_connect_timeout(field, value): + return get_default_field_value(field, value) + + +def instance_disable_generic_tags(field, value): + return False + + +def instance_empty_default_hostname(field, value): + return False + + +def instance_exclude_network_ids(field, value): + return [] + + +def instance_exclude_server_ids(field, value): + return [] + + +def instance_extra_headers(field, value): + return get_default_field_value(field, value) + + +def instance_headers(field, value): + return get_default_field_value(field, value) + + +def instance_kerberos_auth(field, value): + return 'disabled' + + +def instance_kerberos_cache(field, value): + return get_default_field_value(field, value) + + +def instance_kerberos_delegate(field, value): + return False + + +def instance_kerberos_force_initiate(field, value): + return False + + +def instance_kerberos_hostname(field, value): + return get_default_field_value(field, value) + + +def instance_kerberos_keytab(field, value): + return get_default_field_value(field, value) + + +def instance_kerberos_principal(field, value): + return get_default_field_value(field, value) + + +def instance_keystone_server_url(field, value): + return get_default_field_value(field, value) + + +def instance_log_requests(field, value): + return False + + +def instance_metric_patterns(field, value): + return get_default_field_value(field, value) + + +def instance_min_collection_interval(field, value): + return 15 + + +def instance_name(field, value): + return get_default_field_value(field, value) + + +def instance_ntlm_domain(field, value): + return get_default_field_value(field, value) + + +def instance_openstack_cloud_name(field, value): + return get_default_field_value(field, value) + + +def instance_openstack_config_file_path(field, value): + return get_default_field_value(field, value) + + +def instance_paginated_limit(field, value): + return 1000 + + +def instance_password(field, value): + return get_default_field_value(field, value) + + +def instance_persist_connections(field, value): + return False + + +def instance_proxy(field, value): + return get_default_field_value(field, value) + + +def instance_read_timeout(field, value): + return get_default_field_value(field, value) + + +def instance_request_size(field, value): + return 16 + + +def instance_service(field, value): + return get_default_field_value(field, value) + + +def instance_skip_proxy(field, value): + return False + + +def instance_tags(field, value): + return get_default_field_value(field, value) + + +def instance_timeout(field, value): + return 10 + + +def instance_tls_ca_cert(field, value): + return get_default_field_value(field, value) + + +def instance_tls_cert(field, value): + return get_default_field_value(field, value) + + +def instance_tls_ignore_warning(field, value): + return False + + +def instance_tls_private_key(field, value): + return get_default_field_value(field, value) + + +def instance_tls_protocols_allowed(field, value): + return get_default_field_value(field, value) + + +def instance_tls_use_host_header(field, value): + return False + + +def instance_tls_verify(field, value): + return True + + +def instance_use_agent_proxy(field, value): + return True + + +def instance_use_legacy_auth_encoding(field, value): + return True + + +def instance_use_shortname(field, value): + return False + + +def instance_user(field, value): + return get_default_field_value(field, value) + + +def instance_username(field, value): + return get_default_field_value(field, value) + + +def instance_whitelist_project_names(field, value): + return [] diff --git a/openstack_controller/datadog_checks/openstack_controller/config_models/instance.py b/openstack_controller/datadog_checks/openstack_controller/config_models/instance.py new file mode 100644 index 0000000000000..bc065bc853c89 --- /dev/null +++ b/openstack_controller/datadog_checks/openstack_controller/config_models/instance.py @@ -0,0 +1,130 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +# This file is autogenerated. +# To change this file you should edit assets/configuration/spec.yaml and then run the following commands: +# ddev -x validate config -s +# ddev -x validate models -s + +from __future__ import annotations + +from typing import Any, Mapping, Optional, Sequence + +from pydantic import BaseModel, root_validator, validator + +from datadog_checks.base.utils.functions import identity +from datadog_checks.base.utils.models import validation + +from . import defaults, validators + + +class AuthToken(BaseModel): + class Config: + allow_mutation = False + + reader: Optional[Mapping[str, Any]] + writer: Optional[Mapping[str, Any]] + + +class MetricPatterns(BaseModel): + class Config: + allow_mutation = False + + exclude: Optional[Sequence[str]] + include: Optional[Sequence[str]] + + +class Proxy(BaseModel): + class Config: + allow_mutation = False + + http: Optional[str] + https: Optional[str] + no_proxy: Optional[Sequence[str]] + + +class InstanceConfig(BaseModel): + class Config: + allow_mutation = False + + allow_redirects: Optional[bool] + auth_token: Optional[AuthToken] + auth_type: Optional[str] + aws_host: Optional[str] + aws_region: Optional[str] + aws_service: Optional[str] + blacklist_project_names: Optional[Sequence[str]] + collect_hypervisor_load: Optional[bool] + collect_hypervisor_metrics: Optional[bool] + collect_network_metrics: Optional[bool] + collect_project_metrics: Optional[bool] + collect_server_diagnostic_metrics: Optional[bool] + collect_server_flavor_metrics: Optional[bool] + connect_timeout: Optional[float] + disable_generic_tags: Optional[bool] + empty_default_hostname: Optional[bool] + exclude_network_ids: Optional[Sequence[str]] + exclude_server_ids: Optional[Sequence[str]] + extra_headers: Optional[Mapping[str, Any]] + headers: Optional[Mapping[str, Any]] + kerberos_auth: Optional[str] + kerberos_cache: Optional[str] + kerberos_delegate: Optional[bool] + kerberos_force_initiate: Optional[bool] + kerberos_hostname: Optional[str] + kerberos_keytab: Optional[str] + kerberos_principal: Optional[str] + keystone_server_url: Optional[str] + log_requests: Optional[bool] + metric_patterns: Optional[MetricPatterns] + min_collection_interval: Optional[float] + name: Optional[str] + ntlm_domain: Optional[str] + openstack_cloud_name: Optional[str] + openstack_config_file_path: Optional[str] + paginated_limit: Optional[int] + password: Optional[str] + persist_connections: Optional[bool] + proxy: Optional[Proxy] + read_timeout: Optional[float] + request_size: Optional[float] + service: Optional[str] + skip_proxy: Optional[bool] + tags: Optional[Sequence[str]] + timeout: Optional[float] + tls_ca_cert: Optional[str] + tls_cert: Optional[str] + tls_ignore_warning: Optional[bool] + tls_private_key: Optional[str] + tls_protocols_allowed: Optional[Sequence[str]] + tls_use_host_header: Optional[bool] + tls_verify: Optional[bool] + use_agent_proxy: Optional[bool] + use_legacy_auth_encoding: Optional[bool] + use_shortname: Optional[bool] + user: Optional[Mapping[str, Any]] + username: Optional[str] + whitelist_project_names: Optional[Sequence[str]] + + @root_validator(pre=True) + def _initial_validation(cls, values): + return validation.core.initialize_config(getattr(validators, 'initialize_instance', identity)(values)) + + @validator('*', pre=True, always=True) + def _ensure_defaults(cls, v, field): + if v is not None or field.required: + return v + + return getattr(defaults, f'instance_{field.name}')(field, v) + + @validator('*') + def _run_validations(cls, v, field): + if not v: + return v + + return getattr(validators, f'instance_{field.name}', identity)(v, field=field) + + @root_validator(pre=False) + def _final_validation(cls, values): + return validation.core.finalize_config(getattr(validators, 'finalize_instance', identity)(values)) diff --git a/openstack_controller/datadog_checks/openstack_controller/config_models/shared.py b/openstack_controller/datadog_checks/openstack_controller/config_models/shared.py new file mode 100644 index 0000000000000..5bf22be279a60 --- /dev/null +++ b/openstack_controller/datadog_checks/openstack_controller/config_models/shared.py @@ -0,0 +1,60 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +# This file is autogenerated. +# To change this file you should edit assets/configuration/spec.yaml and then run the following commands: +# ddev -x validate config -s +# ddev -x validate models -s + +from __future__ import annotations + +from typing import Optional, Sequence + +from pydantic import BaseModel, root_validator, validator + +from datadog_checks.base.utils.functions import identity +from datadog_checks.base.utils.models import validation + +from . import defaults, validators + + +class Proxy(BaseModel): + class Config: + allow_mutation = False + + http: Optional[str] + https: Optional[str] + no_proxy: Optional[Sequence[str]] + + +class SharedConfig(BaseModel): + class Config: + allow_mutation = False + + proxy: Optional[Proxy] + service: Optional[str] + skip_proxy: Optional[bool] + timeout: Optional[float] + + @root_validator(pre=True) + def _initial_validation(cls, values): + return validation.core.initialize_config(getattr(validators, 'initialize_shared', identity)(values)) + + @validator('*', pre=True, always=True) + def _ensure_defaults(cls, v, field): + if v is not None or field.required: + return v + + return getattr(defaults, f'shared_{field.name}')(field, v) + + @validator('*') + def _run_validations(cls, v, field): + if not v: + return v + + return getattr(validators, f'shared_{field.name}', identity)(v, field=field) + + @root_validator(pre=False) + def _final_validation(cls, values): + return validation.core.finalize_config(getattr(validators, 'finalize_shared', identity)(values)) diff --git a/openstack_controller/datadog_checks/openstack_controller/config_models/validators.py b/openstack_controller/datadog_checks/openstack_controller/config_models/validators.py new file mode 100644 index 0000000000000..b799bc7cf3264 --- /dev/null +++ b/openstack_controller/datadog_checks/openstack_controller/config_models/validators.py @@ -0,0 +1,13 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +# Here you can include additional config validators or transformers +# +# def initialize_instance(values, **kwargs): +# if 'my_option' not in values and 'my_legacy_option' in values: +# values['my_option'] = values['my_legacy_option'] +# if values.get('my_number') > 10: +# raise ValueError('my_number max value is 10, got %s' % str(values.get('my_number'))) +# +# return values diff --git a/openstack_controller/datadog_checks/openstack_controller/data/conf.yaml.example b/openstack_controller/datadog_checks/openstack_controller/data/conf.yaml.example index 7b1423d424fba..dcfdd6264630e 100644 --- a/openstack_controller/datadog_checks/openstack_controller/data/conf.yaml.example +++ b/openstack_controller/datadog_checks/openstack_controller/data/conf.yaml.example @@ -33,12 +33,12 @@ init_config: # instances: - ## @param name - string - required + ## @param name - string - optional ## Unique identifier for this instance. # - name: - ## @param user - mapping - required + ## @param user - mapping - optional ## Password authentication is the only auth method supported ## User expects username, password, and user domain id ## `user` should resolve to a structure like diff --git a/openstack_controller/tests/test_config.py b/openstack_controller/tests/test_config.py index f389db9d19371..63523c73e8627 100644 --- a/openstack_controller/tests/test_config.py +++ b/openstack_controller/tests/test_config.py @@ -25,12 +25,12 @@ ), ], ) -def test_config_invalid(instance, exception_msg): +def test_config_invalid(instance, exception_msg, dd_run_check): check = OpenStackControllerCheck(CHECK_NAME, {}, [instance]) with pytest.raises(Exception, match=exception_msg): - check.check(instance) + dd_run_check(check) @pytest.mark.parametrize( @@ -67,12 +67,12 @@ def test_config_invalid(instance, exception_msg): ), ], ) -def test_config_invalid_openstack_auth(instance, exception_msg): +def test_config_invalid_openstack_auth(instance, exception_msg, dd_run_check): check = OpenStackControllerCheck(CHECK_NAME, {}, [instance]) with pytest.raises(Exception, match=exception_msg): - check.check(instance) + dd_run_check(check) @pytest.mark.parametrize( @@ -113,10 +113,10 @@ def test_config_invalid_openstack_auth(instance, exception_msg): ), ], ) -def test_config_warning(instance, warning_msg, caplog): +def test_config_warning(instance, warning_msg, caplog, dd_run_check): caplog.set_level(logging.WARN) check = OpenStackControllerCheck(CHECK_NAME, {}, [instance]) - check.check(instance) + dd_run_check(check) assert warning_msg in caplog.text From c59b6f822ebc0aefa991bdad9d769a32c3b3eaf6 Mon Sep 17 00:00:00 2001 From: Andrew Zhang Date: Wed, 5 Jul 2023 09:38:38 -0400 Subject: [PATCH 42/77] Update downloader test data after v12 ceremony (#15140) --- .../data/datadog-active-directory-1.10.0.zip | Bin 10524858 -> 10611730 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/datadog_checks_downloader/tests/data/datadog-active-directory-1.10.0.zip b/datadog_checks_downloader/tests/data/datadog-active-directory-1.10.0.zip index 720ec35133484413573fd116b99fd6541b269feb..049ca12ab0dc7f4602967b3818213fa97c976f55 100644 GIT binary patch delta 765407 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

)7}0N# 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

hf zx|dvEbWO9dwN~9hSm~DIb#1#NIMQ)U32xn-3|$v{6^@`V0bpE0xD zip2=wk;3w4Mjs;8Cvne3mZYJm6B?V`KR~XYu!URFrik>MF=x5(+z_d?3%ds1r(%ltagkP>WlZy|)P43E2}2GxjogNy?4 zgfI2Ge^whRR50Ayk!qn(-dKWD#-}?G90Qe3ZoV{g~2IVB2 zz)~ub^j3jJ;lu}n9mG)K5?*JEnQ;o4EO)`|-(SvuPshk~jJX3%0xsHiWBLkuJ=o}g zqgZ(2RM8|Zn)qM~dgT|Om*7?u%&D2mV(aI6F22gmW2 z#7q)~OGzJ9LgiicJxk^_x0UC<5+CF-pNT?Pt@M-2=;rd;q7nd1;BXQ{j-|4=C;^kk z%0D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 z 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%0AdN@zR^(}- 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 delta 695977 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�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 lhqK4OTDk=bmSat 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%0D=ugyHd|5F706a4Hnpdy?x%+AFMriy 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 z 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 H{_Xz(Y&$>_ From 79def9785173e2f63eb714cae5a2adcdaad28d86 Mon Sep 17 00:00:00 2001 From: Andrew Zhang Date: Wed, 5 Jul 2023 09:42:40 -0400 Subject: [PATCH 43/77] Update Kafka and Kafka Consumer README and dashboard (#15141) * Update Kafka and Kafka Consumer README and dashboard * Apply suggestions from code review Co-authored-by: Kari Halsted <12926135+kayayarai@users.noreply.github.com> --------- Co-authored-by: Kari Halsted <12926135+kayayarai@users.noreply.github.com> --- kafka/README.md | 3 +++ kafka/assets/dashboards/kafka_dashboard.json | 6 +++--- kafka_consumer/README.md | 3 +++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/kafka/README.md b/kafka/README.md index a35a89d72e11a..13664b1e75500 100644 --- a/kafka/README.md +++ b/kafka/README.md @@ -13,6 +13,8 @@ This check has a limit of 350 metrics per instance. The number of returned metri To collect Kafka consumer metrics, see the [kafka_consumer check][3]. +If you would benefit from visualizing the topology of your streaming data pipelines, or from investigating localized bottlenecks within your data streams setup, check out [Data Streams Monitoring][24]. + **Note**: This integration attached sample configuration works only for Kafka >= 0.8.2. If you are running a version older than that, see the [Agent v5.2.x released sample files][22]. @@ -177,3 +179,4 @@ See [service_checks.json][15] for a list of service checks provided by this inte [21]: https://www.datadoghq.com/blog/monitor-kafka-with-datadog [22]: https://raw.githubusercontent.com/DataDog/dd-agent/5.2.1/conf.d/kafka.yaml.example [23]: https://www.datadoghq.com/knowledge-center/apache-kafka/ +[24]: https://www.datadoghq.com/product/data-streams-monitoring/ diff --git a/kafka/assets/dashboards/kafka_dashboard.json b/kafka/assets/dashboards/kafka_dashboard.json index 1cfb5354e9ec9..97c07c011edf8 100644 --- a/kafka/assets/dashboards/kafka_dashboard.json +++ b/kafka/assets/dashboards/kafka_dashboard.json @@ -1,6 +1,6 @@ { "author_name": "Datadog", - "description": "## Kafka Overview Dashboard\n\nThis dashboard provides an overview of your Kafka environment. It displays metrics from Kafka, Zookeeper and Kafka Consumer Integrations with Datadog, giving you a 360-view of the health and observability measures of your Kafka Cluster. To have the all groups populated with data, you will have to enable all 3 integrations. However, enabling the Kafka integration alone will populate most of the dashboard widgets. \n\nFor more information, please refer to:\n* [Kafka Integration Doc](https://docs.datadoghq.com/integrations/kafka/?tab=host)\n* [Kafka Blog by Datadog](https://www.datadoghq.com/blog/monitor-kafka-with-datadog/)\n* [ZooKeeper Integration Doc](https://docs.datadoghq.com/integrations/zk/?tab=host)", + "description": "## Kafka Overview Dashboard\n\nThis dashboard provides an overview of your Kafka environment. It displays metrics from Kafka, Zookeeper, and Kafka Consumer Integrations with Datadog, giving you a complete view of the health and observability measures of your Kafka Cluster. Enabling the Kafka integration alone populates most of the dashboard widgets. To have the all groups populated with data, enable all three integrations.\n\nIf you would benefit from visualizing the topology of your streaming data pipelines, or from investigating localized bottlenecks within your data streams setup, check out [Data Streams Monitoring](https://www.datadoghq.com/product/data-streams-monitoring/).\n\nFor more information, read:\n* [Kafka integration documentation](https://docs.datadoghq.com/integrations/kafka/?tab=host)\n* [Monitoring Kafka blog post](https://www.datadoghq.com/blog/monitor-kafka-with-datadog/)\n* [ZooKeeper integration documentation](https://docs.datadoghq.com/integrations/zk/?tab=host)", "layout_type": "ordered", "template_variables": [ { @@ -61,7 +61,7 @@ { "definition": { "background_color": "white", - "content": "**Kafka Integration Overview Dashboard**\n\nThis dashboard provides an overview of your Kafka environment. It displays metrics from Kafka, Zookeeper and Kafka Consumer Integrations with Datadog, giving you a 360-view of the health and observability measures of your Kafka Cluster. To have the all groups populated with data, you will have to enable all 3 integrations. However, enabling the Kafka integration alone will populate most of the dashboard widgets.", + "content": "**Kafka Integration Overview Dashboard**\n\nThis dashboard provides an overview of your Kafka environment. It displays metrics from Kafka, Zookeeper and Kafka Consumer Integrations with Datadog, giving you a 360-view of the health and observability measures of your Kafka Cluster. To have the all groups populated with data, you will have to enable all 3 integrations. However, enabling the Kafka integration alone will populate most of the dashboard widgets.\n\nIf you would benefit from visualizing the topology of your streaming data pipelines, or from investigating localized bottlenecks within your data streams setup, check out [Data Streams Monitoring](https://www.datadoghq.com/product/data-streams-monitoring/).", "font_size": "14", "has_padding": true, "show_tick": false, @@ -82,7 +82,7 @@ { "definition": { "background_color": "white", - "content": "**Useful Links**\n\n* [Kafka Integration Doc](https://docs.datadoghq.com/integrations/kafka/?tab=host)\n* [Kafka Blog by Datadog](https://www.datadoghq.com/blog/monitor-kafka-with-datadog/)\n* [ZooKeeper Integration Doc](https://docs.datadoghq.com/integrations/zk/?tab=host)", + "content": "Useful Links**\n\n* [Kafka Integration Doc](https://docs.datadoghq.com/integrations/kafka/?tab=host)\n* [Kafka Blog by Datadog](https://www.datadoghq.com/blog/monitor-kafka-with-datadog/)\n* [ZooKeeper Integration Doc](https://docs.datadoghq.com/integrations/zk/?tab=host)\n* [Data Streams Monitoring](https://www.datadoghq.com/product/data-streams-monitoring/)", "font_size": "16", "has_padding": true, "show_tick": false, diff --git a/kafka_consumer/README.md b/kafka_consumer/README.md index 81fe7cc04e1bb..a4274ce26f320 100644 --- a/kafka_consumer/README.md +++ b/kafka_consumer/README.md @@ -6,6 +6,8 @@ This Agent check only collects metrics for message offsets. If you want to collect JMX metrics from the Kafka brokers or Java-based consumers/producers, see the kafka check. +If you would benefit from visualizing the topology of your streaming data pipelines, or from investigating localized bottlenecks within your data streams setup, check out [Data Streams Monitoring][16]. + This check fetches the highwater offsets from the Kafka brokers, consumer offsets that are stored in Kafka or zookeeper (for old-style consumers), and the calculated consumer lag (which is the difference between the broker offset and the consumer offset). **Note:** This integration ensures that consumer offsets are checked before broker offsets because worst case is that consumer lag is a little overstated. Doing it in reverse can understate consumer lag to the point of having negative values, which is a dire scenario usually indicating messages are being skipped. @@ -128,3 +130,4 @@ sudo service datadog-agent restart [13]: https://www.datadoghq.com/blog/monitoring-kafka-performance-metrics [14]: https://www.datadoghq.com/blog/collecting-kafka-performance-metrics [15]: https://www.datadoghq.com/blog/monitor-kafka-with-datadog +[16]: https://www.datadoghq.com/product/data-streams-monitoring/ From 9fd15bb2786995647ee5da423922d7b65cbfd4c6 Mon Sep 17 00:00:00 2001 From: Alexandre Yang Date: Wed, 5 Jul 2023 15:44:46 +0200 Subject: [PATCH 44/77] Add profile cisco-access-point (#15147) --- .../default_profiles/cisco-access-point.yaml | 52 ++++++ snmp/metadata.csv | 9 ++ .../compose/data/cisco-access-point.snmprec | 148 ++++++++++++++++++ .../test_profile_cisco_access_point.py | 91 +++++++++++ snmp/tests/test_e2e_core_profiles/utils.py | 10 ++ 5 files changed, 310 insertions(+) create mode 100644 snmp/datadog_checks/snmp/data/default_profiles/cisco-access-point.yaml create mode 100644 snmp/tests/compose/data/cisco-access-point.snmprec create mode 100644 snmp/tests/test_e2e_core_profiles/test_profile_cisco_access_point.py diff --git a/snmp/datadog_checks/snmp/data/default_profiles/cisco-access-point.yaml b/snmp/datadog_checks/snmp/data/default_profiles/cisco-access-point.yaml new file mode 100644 index 0000000000000..53bb46ecc3d16 --- /dev/null +++ b/snmp/datadog_checks/snmp/data/default_profiles/cisco-access-point.yaml @@ -0,0 +1,52 @@ +extends: + - cisco.yaml +sysobjectid: + - 1.3.6.1.4.1.9.1.525 # Cisco AIR AP 1210 + - 1.3.6.1.4.1.9.1.618 # Cisco AIR AP 1130 + - 1.3.6.1.4.1.9.1.1660 # AIR-SAP1602E-C-K9 + - 1.3.6.1.4.1.9.1.2371 # Cisco Aironet 1830 +metrics: + - MIB: CISCO-DOT11-ASSOCIATION-MIB + table: + name: cDot11ActiveDevicesTable + OID: 1.3.6.1.4.1.9.9.273.1.1.2 + symbols: + - name: cDot11ActiveWirelessClients + OID: 1.3.6.1.4.1.9.9.273.1.1.2.1.1 + - name: cDot11ActiveBridges + OID: 1.3.6.1.4.1.9.9.273.1.1.2.1.2 + - name: cDot11ActiveRepeaters + OID: 1.3.6.1.4.1.9.9.273.1.1.2.1.3 + metric_tags: + - tag: if_name + column: + name: ifName + OID: 1.3.6.1.2.1.31.1.1.1.1 + - MIB: CISCO-DOT11-ASSOCIATION-MIB + table: + name: cDot11AssociationStatsTable + OID: 1.3.6.1.4.1.9.9.273.1.1.3 + symbols: + - name: cDot11AssStatsAssociated + OID: 1.3.6.1.4.1.9.9.273.1.1.3.1.1 + metric_type: monotonic_count + - name: cDot11AssStatsAuthenticated + OID: 1.3.6.1.4.1.9.9.273.1.1.3.1.2 + metric_type: monotonic_count + - name: cDot11AssStatsRoamedIn + OID: 1.3.6.1.4.1.9.9.273.1.1.3.1.3 + metric_type: monotonic_count + - name: cDot11AssStatsRoamedAway + OID: 1.3.6.1.4.1.9.9.273.1.1.3.1.4 + metric_type: monotonic_count + - name: cDot11AssStatsDeauthenticated + OID: 1.3.6.1.4.1.9.9.273.1.1.3.1.5 + metric_type: monotonic_count + - name: cDot11AssStatsDisassociated + OID: 1.3.6.1.4.1.9.9.273.1.1.3.1.6 + metric_type: monotonic_count + metric_tags: + - tag: if_name + column: + name: ifName + OID: 1.3.6.1.2.1.31.1.1.1.1 diff --git a/snmp/metadata.csv b/snmp/metadata.csv index 68b4e08015938..ff4346d495a83 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -119,6 +119,15 @@ snmp.bsnAPIfLoadTxUtilization,gauge,,percent,,[Cisco-WLC] The percentage of time snmp.bsnAPIfPoorSNRClients,gauge,,,,[Cisco-WLC] The number of clients with poor SNR.,0,snmp,, snmp.bsnApIfNoOfUsers,gauge,,,,[Cisco-WLC] The number of clients connected to the interface.,0,snmp,, snmp.bsnDot11EssNumberOfMobileStations,gauge,,,,[Cisco-WLC] The number of mobile stations currently associated with the ESS (WLAN).,0,snmp,, +snmp.cDot11ActiveBridges,gauge,,,,"[CISCO-DOT11-ASSOCIATION-MIB] This is the number of bridges currently associating with this device on this interface.",0,snmp,, +snmp.cDot11ActiveRepeaters,gauge,,,,"[CISCO-DOT11-ASSOCIATION-MIB] This is the number of repeaters currently associating with this device on this interface.",0,snmp,, +snmp.cDot11ActiveWirelessClients,gauge,,,,"[CISCO-DOT11-ASSOCIATION-MIB] This is the number of wireless clients currently associating with this device on this interface.",0,snmp,, +snmp.cDot11AssStatsAssociated,count,,,,"[CISCO-DOT11-ASSOCIATION-MIB] This object counts the number of stations associated with this device on this interface since device re-started.",0,snmp,, +snmp.cDot11AssStatsAuthenticated,count,,,,"[CISCO-DOT11-ASSOCIATION-MIB] This object counts the number of stations authenticated with this device on this interface since device re-started.",0,snmp,, +snmp.cDot11AssStatsDeauthenticated,count,,,,"[CISCO-DOT11-ASSOCIATION-MIB] This object counts the number of stations deauthenticated with this device on this interface since device re-started.",0,snmp,, +snmp.cDot11AssStatsDisassociated,count,,,,"[CISCO-DOT11-ASSOCIATION-MIB] This object counts the number of stations disassociated with this device on this interface since device re-started.",0,snmp,, +snmp.cDot11AssStatsRoamedAway,count,,,,"[CISCO-DOT11-ASSOCIATION-MIB] This object counts the number of stations roamed away from this device on this interface since device re-started.",0,snmp,, +snmp.cDot11AssStatsRoamedIn,count,,,,"[CISCO-DOT11-ASSOCIATION-MIB] This object counts the number of stations roamed from another device to this device on this interface since device re-started.",0,snmp,, snmp.cacheDeviceCurrentSize,gauge,,kibibyte,,[Dell Poweredge] Current size of the Dell Cache Device in KBytes.,0,snmp,, snmp.cacheDeviceMaximumSize,gauge,,kibibyte,,[Dell Poweredge] Maximum size of the Dell Cache Device in KBytes.,0,snmp,, snmp.cacheDeviceStatus,gauge,,,,[Dell Poweredge] The status of the Dell Cache Device.,0,snmp,, diff --git a/snmp/tests/compose/data/cisco-access-point.snmprec b/snmp/tests/compose/data/cisco-access-point.snmprec new file mode 100644 index 0000000000000..51b4deb656940 --- /dev/null +++ b/snmp/tests/compose/data/cisco-access-point.snmprec @@ -0,0 +1,148 @@ +1.3.6.1.2.1.1.1.0|4|cisco-access-point Device Description +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.9.1.525 +1.3.6.1.2.1.1.5.0|4|cisco-access-point.device.name +1.3.6.1.2.1.31.1.1.1.1.10|4|eth11 +1.3.6.1.2.1.31.1.1.1.1.21|4|eth12 +1.3.6.1.2.1.31.1.1.1.1.23|4|eth0 +1.3.6.1.2.1.31.1.1.1.1.30|4|eth1 +1.3.6.1.4.1.9.9.109.1.1.1.1.12.712|66|353 +1.3.6.1.4.1.9.9.273.1.1.1.0|4x|000000000000 +1.3.6.1.4.1.9.9.273.1.1.2.1.1.23|66|2000 +1.3.6.1.4.1.9.9.273.1.1.2.1.1.30|66|100 +1.3.6.1.4.1.9.9.273.1.1.2.1.2.23|66|100 +1.3.6.1.4.1.9.9.273.1.1.2.1.2.30|66|300 +1.3.6.1.4.1.9.9.273.1.1.2.1.3.23|66|300 +1.3.6.1.4.1.9.9.273.1.1.2.1.3.30|66|1000 +1.3.6.1.4.1.9.9.273.1.1.3.1.1.10|65|978825568 +1.3.6.1.4.1.9.9.273.1.1.3.1.1.21|65|4100113847 +1.3.6.1.4.1.9.9.273.1.1.3.1.2.10|65|2109404553 +1.3.6.1.4.1.9.9.273.1.1.3.1.2.21|65|876171759 +1.3.6.1.4.1.9.9.273.1.1.3.1.3.10|65|2714981562 +1.3.6.1.4.1.9.9.273.1.1.3.1.3.21|65|2270315705 +1.3.6.1.4.1.9.9.273.1.1.3.1.4.10|65|2179663946 +1.3.6.1.4.1.9.9.273.1.1.3.1.4.21|65|588480418 +1.3.6.1.4.1.9.9.273.1.1.3.1.5.10|65|3735453928 +1.3.6.1.4.1.9.9.273.1.1.3.1.5.21|65|2510879441 +1.3.6.1.4.1.9.9.273.1.1.3.1.6.10|65|2459504537 +1.3.6.1.4.1.9.9.273.1.1.3.1.6.21|65|3965654134 +1.3.6.1.4.1.9.9.273.1.1.4.1.1.8|4x|000000000000 +1.3.6.1.4.1.9.9.273.1.1.4.1.1.18|4x|000000000000 +1.3.6.1.4.1.9.9.273.1.1.4.1.2.8|65|2819002753 +1.3.6.1.4.1.9.9.273.1.1.4.1.2.18|65|833805259 +1.3.6.1.4.1.9.9.273.1.1.4.1.3.8|65|2323973853 +1.3.6.1.4.1.9.9.273.1.1.4.1.3.18|65|3314659876 +1.3.6.1.4.1.9.9.273.1.1.4.1.4.8|65|2874685366 +1.3.6.1.4.1.9.9.273.1.1.4.1.4.18|65|2550714754 +1.3.6.1.4.1.9.9.273.1.1.4.1.5.8|65|3054172692 +1.3.6.1.4.1.9.9.273.1.1.4.1.5.18|65|2300954710 +1.3.6.1.4.1.9.9.273.1.1.4.1.6.8|65|3697579315 +1.3.6.1.4.1.9.9.273.1.1.4.1.6.18|65|1598414164 +1.3.6.1.4.1.9.9.273.1.2.1.1.1.16.29.100.114.105.118.105.110.103.32.74.97.100.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|4x|000000000000 +1.3.6.1.4.1.9.9.273.1.2.1.1.1.21.13.116.104.101.105.114.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|4x|000000000000 +1.3.6.1.4.1.9.9.273.1.2.1.1.2.16.29.100.114.105.118.105.110.103.32.74.97.100.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|4x|000000000000 +1.3.6.1.4.1.9.9.273.1.2.1.1.2.21.13.116.104.101.105.114.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|4x|000000000000 +1.3.6.1.4.1.9.9.273.1.2.1.1.3.16.29.100.114.105.118.105.110.103.32.74.97.100.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|2|5 +1.3.6.1.4.1.9.9.273.1.2.1.1.3.21.13.116.104.101.105.114.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|2|2 +1.3.6.1.4.1.9.9.273.1.2.1.1.4.16.29.100.114.105.118.105.110.103.32.74.97.100.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|2|1 +1.3.6.1.4.1.9.9.273.1.2.1.1.4.21.13.116.104.101.105.114.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|2|1 +1.3.6.1.4.1.9.9.273.1.2.1.1.5.16.29.100.114.105.118.105.110.103.32.74.97.100.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|2|12 +1.3.6.1.4.1.9.9.273.1.2.1.1.5.21.13.116.104.101.105.114.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|2|13 +1.3.6.1.4.1.9.9.273.1.2.1.1.6.16.29.100.114.105.118.105.110.103.32.74.97.100.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|2|1 +1.3.6.1.4.1.9.9.273.1.2.1.1.6.21.13.116.104.101.105.114.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|2|1 +1.3.6.1.4.1.9.9.273.1.2.1.1.7.16.29.100.114.105.118.105.110.103.32.74.97.100.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|2|2 +1.3.6.1.4.1.9.9.273.1.2.1.1.7.21.13.116.104.101.105.114.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|2|1 +1.3.6.1.4.1.9.9.273.1.2.1.1.8.16.29.100.114.105.118.105.110.103.32.74.97.100.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|2|2 +1.3.6.1.4.1.9.9.273.1.2.1.1.8.21.13.116.104.101.105.114.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|2|2 +1.3.6.1.4.1.9.9.273.1.2.1.1.9.16.29.100.114.105.118.105.110.103.32.74.97.100.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|2|2 +1.3.6.1.4.1.9.9.273.1.2.1.1.9.21.13.116.104.101.105.114.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|2|1 +1.3.6.1.4.1.9.9.273.1.2.1.1.10.16.29.100.114.105.118.105.110.103.32.74.97.100.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|66|1428 +1.3.6.1.4.1.9.9.273.1.2.1.1.10.21.13.116.104.101.105.114.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|66|156 +1.3.6.1.4.1.9.9.273.1.2.1.1.11.16.29.100.114.105.118.105.110.103.32.74.97.100.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|4x|6163746564206275742064726976696e672064726976696e67204a6164656420717561696e746c7920666f7277617264206163746564206b657074 +1.3.6.1.4.1.9.9.273.1.2.1.1.11.21.13.116.104.101.105.114.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|4x|717561696e746c79207a6f6d626965732074686569722064726976696e6720717561696e746c7920666f72776172642064726976696e6720627574 +1.3.6.1.4.1.9.9.273.1.2.1.1.12.16.29.100.114.105.118.105.110.103.32.74.97.100.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|4|forward +1.3.6.1.4.1.9.9.273.1.2.1.1.12.21.13.116.104.101.105.114.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|4x|7a6f6d6269657320717561696e746c79206b65707420717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.273.1.2.1.1.13.16.29.100.114.105.118.105.110.103.32.74.97.100.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|4x|717561696e746c7920717561696e746c792064726976696e67206b657074 +1.3.6.1.4.1.9.9.273.1.2.1.1.13.21.13.116.104.101.105.114.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|4x|6163746564207a6f6d62696573207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.273.1.2.1.1.14.16.29.100.114.105.118.105.110.103.32.74.97.100.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|2|3 +1.3.6.1.4.1.9.9.273.1.2.1.1.14.21.13.116.104.101.105.114.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|2|1 +1.3.6.1.4.1.9.9.273.1.2.1.1.15.16.29.100.114.105.118.105.110.103.32.74.97.100.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|2|2 +1.3.6.1.4.1.9.9.273.1.2.1.1.15.21.13.116.104.101.105.114.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|2|1 +1.3.6.1.4.1.9.9.273.1.2.1.1.16.16.29.100.114.105.118.105.110.103.32.74.97.100.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|4x|717561696e746c7920717561696e746c79206163746564207a6f6d626965732064726976696e67206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.273.1.2.1.1.16.21.13.116.104.101.105.114.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|4x|62757420666f727761726420666f7277617264207a6f6d62696573206f78656e206b657074204a6164656420666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.273.1.2.1.1.17.16.29.100.114.105.118.105.110.103.32.74.97.100.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|66|2971 +1.3.6.1.4.1.9.9.273.1.2.1.1.17.21.13.116.104.101.105.114.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|66|475 +1.3.6.1.4.1.9.9.273.1.2.1.1.18.16.29.100.114.105.118.105.110.103.32.74.97.100.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|2|4 +1.3.6.1.4.1.9.9.273.1.2.1.1.18.21.13.116.104.101.105.114.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|2|22 +1.3.6.1.4.1.9.9.273.1.2.1.1.19.16.29.100.114.105.118.105.110.103.32.74.97.100.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|2|2 +1.3.6.1.4.1.9.9.273.1.2.1.1.19.21.13.116.104.101.105.114.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|2|1 +1.3.6.1.4.1.9.9.273.1.2.1.1.20.16.29.100.114.105.118.105.110.103.32.74.97.100.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|4x|61637465642064726976696e67207a6f6d62696573207a6f6d62696573206f78656e20746865697220746865697220666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.273.1.2.1.1.20.21.13.116.104.101.105.114.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|4x|4a61646564206b657074206b65707420627574207a6f6d62696573 +1.3.6.1.4.1.9.9.273.1.2.1.1.21.16.29.100.114.105.118.105.110.103.32.74.97.100.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|4x|6f78656e20746865697220627574 +1.3.6.1.4.1.9.9.273.1.2.1.1.21.21.13.116.104.101.105.114.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|4x|4a6164656420627574206f78656e204a61646564 +1.3.6.1.4.1.9.9.273.1.2.1.1.22.16.29.100.114.105.118.105.110.103.32.74.97.100.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|4x|6f78656e206163746564207468656972206b657074207468656972 +1.3.6.1.4.1.9.9.273.1.2.1.1.22.21.13.116.104.101.105.114.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|4x|64726976696e67206275742074686569722064726976696e67204a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.273.1.2.1.1.23.16.29.100.114.105.118.105.110.103.32.74.97.100.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|4x|6f78656e20666f7277617264204a61646564206163746564206b657074206163746564206b657074 +1.3.6.1.4.1.9.9.273.1.2.1.1.23.21.13.116.104.101.105.114.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|4x|6b65707420616374656420666f7277617264206163746564 +1.3.6.1.4.1.9.9.273.1.2.1.1.24.16.29.100.114.105.118.105.110.103.32.74.97.100.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|4x|6163746564207a6f6d62696573204a61646564204a61646564 +1.3.6.1.4.1.9.9.273.1.2.1.1.24.21.13.116.104.101.105.114.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|4x|6f78656e207a6f6d62696573 +1.3.6.1.4.1.9.9.273.1.2.1.1.25.16.29.100.114.105.118.105.110.103.32.74.97.100.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|6|1.3.6.1.3.0.93.195.131 +1.3.6.1.4.1.9.9.273.1.2.1.1.25.21.13.116.104.101.105.114.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|6|1.3.6.1.3 +1.3.6.1.4.1.9.9.273.1.2.1.1.26.16.29.100.114.105.118.105.110.103.32.74.97.100.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|4|acted +1.3.6.1.4.1.9.9.273.1.2.1.1.26.21.13.116.104.101.105.114.32.100.114.105.118.105.110.103.6.0.0.0.0.0.0|4x|4a61646564207468656972204a616465642061637465642064726976696e67206b657074206f78656e206163746564 +1.3.6.1.4.1.9.9.273.1.3.1.1.1.10.9.107.101.112.116.32.111.120.101.110.6.0.0.0.0.0.0|4x|6b657074204a61646564 +1.3.6.1.4.1.9.9.273.1.3.1.1.1.20.8.113.117.97.105.110.116.108.121.6.0.0.0.0.0.0|4x|717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.273.1.3.1.1.2.10.9.107.101.112.116.32.111.120.101.110.6.0.0.0.0.0.0|66|11087 +1.3.6.1.4.1.9.9.273.1.3.1.1.2.20.8.113.117.97.105.110.116.108.121.6.0.0.0.0.0.0|66|5530 +1.3.6.1.4.1.9.9.273.1.3.1.1.3.10.9.107.101.112.116.32.111.120.101.110.6.0.0.0.0.0.0|2|0 +1.3.6.1.4.1.9.9.273.1.3.1.1.3.20.8.113.117.97.105.110.116.108.121.6.0.0.0.0.0.0|2|0 +1.3.6.1.4.1.9.9.273.1.3.1.1.4.10.9.107.101.112.116.32.111.120.101.110.6.0.0.0.0.0.0|66|58 +1.3.6.1.4.1.9.9.273.1.3.1.1.4.20.8.113.117.97.105.110.116.108.121.6.0.0.0.0.0.0|66|2 +1.3.6.1.4.1.9.9.273.1.3.1.1.5.10.9.107.101.112.116.32.111.120.101.110.6.0.0.0.0.0.0|66|2821121875 +1.3.6.1.4.1.9.9.273.1.3.1.1.5.20.8.113.117.97.105.110.116.108.121.6.0.0.0.0.0.0|66|1418281716 +1.3.6.1.4.1.9.9.273.1.3.1.1.6.10.9.107.101.112.116.32.111.120.101.110.6.0.0.0.0.0.0|65|2842907210 +1.3.6.1.4.1.9.9.273.1.3.1.1.6.20.8.113.117.97.105.110.116.108.121.6.0.0.0.0.0.0|65|3614715596 +1.3.6.1.4.1.9.9.273.1.3.1.1.7.10.9.107.101.112.116.32.111.120.101.110.6.0.0.0.0.0.0|65|4292832976 +1.3.6.1.4.1.9.9.273.1.3.1.1.7.20.8.113.117.97.105.110.116.108.121.6.0.0.0.0.0.0|65|1173027641 +1.3.6.1.4.1.9.9.273.1.3.1.1.8.10.9.107.101.112.116.32.111.120.101.110.6.0.0.0.0.0.0|65|2372952009 +1.3.6.1.4.1.9.9.273.1.3.1.1.8.20.8.113.117.97.105.110.116.108.121.6.0.0.0.0.0.0|65|1802626379 +1.3.6.1.4.1.9.9.273.1.3.1.1.9.10.9.107.101.112.116.32.111.120.101.110.6.0.0.0.0.0.0|65|632926524 +1.3.6.1.4.1.9.9.273.1.3.1.1.9.20.8.113.117.97.105.110.116.108.121.6.0.0.0.0.0.0|65|3697178544 +1.3.6.1.4.1.9.9.273.1.3.1.1.10.10.9.107.101.112.116.32.111.120.101.110.6.0.0.0.0.0.0|65|245891027 +1.3.6.1.4.1.9.9.273.1.3.1.1.10.20.8.113.117.97.105.110.116.108.121.6.0.0.0.0.0.0|65|2156447241 +1.3.6.1.4.1.9.9.273.1.3.1.1.11.10.9.107.101.112.116.32.111.120.101.110.6.0.0.0.0.0.0|65|119734854 +1.3.6.1.4.1.9.9.273.1.3.1.1.11.20.8.113.117.97.105.110.116.108.121.6.0.0.0.0.0.0|65|636606037 +1.3.6.1.4.1.9.9.273.1.3.1.1.12.10.9.107.101.112.116.32.111.120.101.110.6.0.0.0.0.0.0|65|2893954359 +1.3.6.1.4.1.9.9.273.1.3.1.1.12.20.8.113.117.97.105.110.116.108.121.6.0.0.0.0.0.0|65|3564264092 +1.3.6.1.4.1.9.9.273.1.3.1.1.13.10.9.107.101.112.116.32.111.120.101.110.6.0.0.0.0.0.0|65|2877943108 +1.3.6.1.4.1.9.9.273.1.3.1.1.13.20.8.113.117.97.105.110.116.108.121.6.0.0.0.0.0.0|65|443343506 +1.3.6.1.4.1.9.9.273.1.3.1.1.14.10.9.107.101.112.116.32.111.120.101.110.6.0.0.0.0.0.0|65|2084031522 +1.3.6.1.4.1.9.9.273.1.3.1.1.14.20.8.113.117.97.105.110.116.108.121.6.0.0.0.0.0.0|65|3093088804 +1.3.6.1.4.1.9.9.273.1.3.1.1.15.10.9.107.101.112.116.32.111.120.101.110.6.0.0.0.0.0.0|65|3309474122 +1.3.6.1.4.1.9.9.273.1.3.1.1.15.20.8.113.117.97.105.110.116.108.121.6.0.0.0.0.0.0|65|4127961640 +1.3.6.1.4.1.9.9.273.1.5.1.1.17|4x|000000000000 +1.3.6.1.4.1.9.9.273.1.5.1.1.18|4x|000000000000 +1.3.6.1.4.1.9.9.273.1.5.1.2.17|2|6 +1.3.6.1.4.1.9.9.273.1.5.1.2.18|2|1 +1.3.6.1.4.1.9.9.273.1.5.1.3.17|4x|6b65707420666f7277617264206163746564206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.273.1.5.1.3.18|4x|7a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.273.1.5.1.4.17|4|quaintly +1.3.6.1.4.1.9.9.273.1.5.1.4.18|4x|666f727761726420666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.273.1.5.1.5.17|4x|717561696e746c792064726976696e67206163746564206f78656e2062757420666f7277617264206f78656e206b657074 +1.3.6.1.4.1.9.9.273.1.5.1.5.18|4x|7468656972206f78656e20627574206f78656e206f78656e +1.3.6.1.4.1.9.9.273.1.5.1.6.17|4x|6f78656e2062757420666f7277617264206b657074207a6f6d6269657320717561696e746c79206b657074204a61646564206b657074 +1.3.6.1.4.1.9.9.273.1.5.1.6.18|4x|717561696e746c792064726976696e6720666f72776172642061637465642064726976696e67206163746564 +1.3.6.1.4.1.9.9.273.1.5.1.7.17|4x|666f727761726420666f7277617264206163746564206f78656e204a61646564204a61646564206b657074 +1.3.6.1.4.1.9.9.273.1.5.1.7.18|4x|666f7277617264204a61646564206f78656e +1.3.6.1.4.1.9.9.273.1.5.1.8.17|4x|717561696e746c79206b65707420717561696e746c79206f78656e207a6f6d62696573 +1.3.6.1.4.1.9.9.273.1.5.1.8.18|4|acted +1.3.6.1.4.1.9.9.273.1.5.1.9.17|2|2 +1.3.6.1.4.1.9.9.273.1.5.1.9.18|2|1 +1.3.6.1.4.1.9.9.273.1.5.1.10.17|4x|6b65707420666f72776172642064726976696e6720666f7277617264207468656972 +1.3.6.1.4.1.9.9.273.1.5.1.10.18|4x|64726976696e672062757420717561696e746c79204a61646564 +1.3.6.1.6.3.1.1.4.1.0|6|1.3.6.1.3.62.53.159 +1.3.6.1.6.3.1.1.4.3.0|6|1.3.6.1.3.132.131.74.73.142.79.81.238 +1.3.6.1.6.3.1.1.6.1.0|2|16 +1.3.6.1.6.3.10.2.1.1.0|4x|6b65707420717561696e746c7920627574206b65707420717561696e746c79 +1.3.6.1.6.3.10.2.1.2.0|2|12 +1.3.6.1.6.3.10.2.1.3.0|2|30 +1.3.6.1.6.3.10.2.1.4.0|2|1000 diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_cisco_access_point.py b/snmp/tests/test_e2e_core_profiles/test_profile_cisco_access_point.py new file mode 100644 index 0000000000000..8a2d22a809bb9 --- /dev/null +++ b/snmp/tests/test_e2e_core_profiles/test_profile_cisco_access_point.py @@ -0,0 +1,91 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +import pytest + +from datadog_checks.dev.utils import get_metadata_metrics + +from .. import common +from ..test_e2e_core_metadata import assert_device_metadata +from .utils import ( + assert_common_metrics, + assert_extend_cisco, + create_e2e_core_test_config, + get_device_ip_from_config, +) + +pytestmark = [pytest.mark.e2e, common.py3_plus_only, common.snmp_integration_only] + + +def test_e2e_profile_cisco_access_point(dd_agent_check): + config = create_e2e_core_test_config('cisco-access-point') + aggregator = common.dd_agent_check_wrapper(dd_agent_check, config, rate=True) + + ip_address = get_device_ip_from_config(config) + common_tags = [ + 'snmp_profile:cisco-access-point', + 'snmp_host:cisco-access-point.device.name', + 'device_namespace:default', + 'snmp_device:' + ip_address, + ] + [] + + # --- TEST EXTENDED METRICS --- + assert_extend_cisco(aggregator, common_tags) + + # --- TEST METRICS --- + assert_common_metrics(aggregator, common_tags) + + tag_rows = [ + ['if_name:eth0'], + ['if_name:eth1'], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.cDot11ActiveBridges', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.cDot11ActiveRepeaters', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric( + 'snmp.cDot11ActiveWirelessClients', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + + tag_rows = [ + ['if_name:eth11'], + ['if_name:eth12'], + ] + for tag_row in tag_rows: + aggregator.assert_metric( + 'snmp.cDot11AssStatsAssociated', metric_type=aggregator.COUNT, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cDot11AssStatsAuthenticated', metric_type=aggregator.COUNT, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cDot11AssStatsDeauthenticated', metric_type=aggregator.COUNT, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cDot11AssStatsDisassociated', metric_type=aggregator.COUNT, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cDot11AssStatsRoamedAway', metric_type=aggregator.COUNT, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cDot11AssStatsRoamedIn', metric_type=aggregator.COUNT, tags=common_tags + tag_row + ) + + # --- TEST METADATA --- + device = { + 'description': 'cisco-access-point Device Description', + 'id': 'default:' + ip_address, + 'id_tags': ['device_namespace:default', 'snmp_device:' + ip_address], + 'ip_address': '' + ip_address, + 'name': 'cisco-access-point.device.name', + 'profile': 'cisco-access-point', + 'status': 1, + 'sys_object_id': '1.3.6.1.4.1.9.1.525', + 'vendor': 'cisco', + } + device['tags'] = common_tags + assert_device_metadata(aggregator, device) + + # --- CHECK COVERAGE --- + aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) diff --git a/snmp/tests/test_e2e_core_profiles/utils.py b/snmp/tests/test_e2e_core_profiles/utils.py index 6e9a698f4c837..696887122e154 100644 --- a/snmp/tests/test_e2e_core_profiles/utils.py +++ b/snmp/tests/test_e2e_core_profiles/utils.py @@ -202,3 +202,13 @@ def assert_extend_generic_ucd(aggregator, common_tags): """ # fmt:on aggregator.assert_metric("snmp.memTotalSwap", metric_type=aggregator.GAUGE, tags=common_tags) + + +def assert_extend_cisco(aggregator, common_tags): + # fmt:off + """Add the following to the snmprec +1.3.6.1.4.1.9.9.109.1.1.1.1.12.712|66|353 + """ + # fmt:on + tags = ['cpu:712'] + aggregator.assert_metric("snmp.cpmCPUMemoryUsed", metric_type=aggregator.GAUGE, tags=common_tags + tags) From 759ceb34f8049b1c85d294890b0e8ce2c4521534 Mon Sep 17 00:00:00 2001 From: vivek-datadog <131680079+vivek-datadog@users.noreply.github.com> Date: Wed, 5 Jul 2023 16:47:21 +0200 Subject: [PATCH 45/77] [AI-2985] Add process signature for flink integration (#15155) --- flink/manifest.json | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/flink/manifest.json b/flink/manifest.json index a6053dedd542f..b5350136b7a93 100644 --- a/flink/manifest.json +++ b/flink/manifest.json @@ -41,7 +41,22 @@ }, "service_checks": { "metadata_path": "assets/service_checks.json" - } + }, + "process_signatures": [ + "java org.apache.flink.client.python.PythonShellParser", + "java org.apache.flink.container.entrypoint.StandaloneApplicationClusterEntryPoint", + "java org.apache.flink.kubernetes.entrypoint.KubernetesSessionClusterEntrypoint", + "java org.apache.flink.kubernetes.entrypoint.KubernetesApplicationClusterEntrypoint", + "java org.apache.flink.kubernetes.taskmanager.KubernetesTaskExecutorRunner", + "java org.apache.flink.kubernetes.cli.KubernetesSessionCli", + "java org.apache.flink.runtime.taskexecutor.TaskManagerRunner", + "java org.apache.flink.runtime.zookeeper.FlinkZooKeeperQuorumPeer", + "java org.apache.flink.runtime.webmonitor.history.HistoryServer", + "java org.apache.flink.runtime.entrypoint.StandaloneSessionClusterEntrypoint", + "java org.apache.flink.table.gateway.SqlGateway", + "java org.apache.flink.table.client.SqlClient", + "java org.apache.flink.yarn.cli.FlinkYarnSessionCli" + ] }, "dashboards": { "Flink Overview": "assets/dashboards/overview.json" From 857e82fad0d11d132209362228eb8d438c468afc Mon Sep 17 00:00:00 2001 From: Shanel Huang Date: Wed, 5 Jul 2023 10:54:06 -0400 Subject: [PATCH 46/77] Rename windows event log (#15118) * change page title to Windows Event Log * Rename win32 Event Log to Windows Event Log --- win32_event_log/README.md | 8 ++++---- win32_event_log/manifest.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/win32_event_log/README.md b/win32_event_log/README.md index afe772ea59a36..19f4c4667acec 100644 --- a/win32_event_log/README.md +++ b/win32_event_log/README.md @@ -2,9 +2,9 @@ ## Overview -The Win32 Event Log check watches for Windows Event Logs and forwards them to Datadog. +This integration watches for Windows Event Logs and forwards them to Datadog. -Enable this check to: +Enable this integration to: - Track system and application events in Datadog. - Correlate system and application events with the rest of your application. @@ -452,7 +452,7 @@ Logs Agent ### Metrics -The Win32 Event log check does not include any metrics. +The Windows Event Log check does not include any metrics. ### Events @@ -460,7 +460,7 @@ All Windows events are forwarded to Datadog. ### Service Checks -The Win32 Event log check does not include any service checks. +The Windows Event Log check does not include any service checks. ## Troubleshooting diff --git a/win32_event_log/manifest.json b/win32_event_log/manifest.json index 3fe7b80b30eef..021f7bb22dc6b 100644 --- a/win32_event_log/manifest.json +++ b/win32_event_log/manifest.json @@ -9,7 +9,7 @@ "support": "README.md#Support", "changelog": "CHANGELOG.md", "description": "Send Windows events to your Datadog event stream.", - "title": "Win32 Event Log", + "title": "Windows Event Log", "media": [], "classifier_tags": [ "Supported OS::Windows", From 84b127f2ad27a53341596250a2e94b2fb6a2bdcc Mon Sep 17 00:00:00 2001 From: NouhaManai Date: Wed, 5 Jul 2023 17:06:11 +0200 Subject: [PATCH 47/77] Add profile for extreme-switching (#15164) * init * add profile for extreme-switching * add memory metrics * Update snmp/datadog_checks/snmp/data/default_profiles/extreme-switching.yaml Co-authored-by: Alexandre Yang * update test * lint --------- Co-authored-by: Alexandre Yang --- .../default_profiles/extreme-switching.yaml | 117 ++++++ snmp/metadata.csv | 2 + .../compose/data/extreme-switching.snmprec | 342 ++++++++++++++++++ .../test_profile_extreme_switching.py | 71 ++++ 4 files changed, 532 insertions(+) create mode 100644 snmp/datadog_checks/snmp/data/default_profiles/extreme-switching.yaml create mode 100644 snmp/tests/compose/data/extreme-switching.snmprec create mode 100644 snmp/tests/test_e2e_core_profiles/test_profile_extreme_switching.py diff --git a/snmp/datadog_checks/snmp/data/default_profiles/extreme-switching.yaml b/snmp/datadog_checks/snmp/data/default_profiles/extreme-switching.yaml new file mode 100644 index 0000000000000..4bd153f9239a6 --- /dev/null +++ b/snmp/datadog_checks/snmp/data/default_profiles/extreme-switching.yaml @@ -0,0 +1,117 @@ +extends: + - _base.yaml + - _generic-if.yaml + - _generic-entity-sensor.yaml + +sysobjectid: + - 1.3.6.1.4.1.1916.2.89 + - 1.3.6.1.4.1.1916.2.343 + +metadata: + device: + fields: + vendor: + value: "extreme-networks" + +metrics: + - MIB: EXTREME-SOFTWARE-MONITOR-MIB + symbol: + name: cpu.usage + OID: 1.3.6.1.4.1.1916.1.32.1.2.0 + - MIB: EXTREME-SOFTWARE-MONITOR-MIB + table: + name: extremeMemoryMonitorSystemTable + OID: 1.3.6.1.4.1.1916.1.32.2.2 + symbols: + - name: memory.total + OID: 1.3.6.1.4.1.1916.1.32.2.2.1.2 + - name: memory.free + OID: 1.3.6.1.4.1.1916.1.32.2.2.1.3 + metric_tags: + - index: 1 # extremeMemoryMonitorSystemSlotId + tag: mem + # - MIB: EXTREME-SYSTEM-MIB + # symbol: + # name: extremeOverTemperatureAlarm + # OID: 1.3.6.1.4.1.1916.1.1.1.7.0 + # enum: + # true: 1 + # false: 2 + # TODO: enum in scalar metric is not supported yet (keep this metric and this + # comment in profile until it's fixed) + - MIB: EXTREME-SYSTEM-MIB + symbol: + name: extremeCurrentTemperature + OID: 1.3.6.1.4.1.1916.1.1.1.8.0 + # - MIB: EXTREME-SYSTEM-MIB + # symbol: + # name: extremePrimaryPowerOperational + # OID: 1.3.6.1.4.1.1916.1.1.1.10.0 + # enum: + # true: 1 + # false: 2 + # TODO: enum in scalar metric is not supported yet (keep this metric and this + # comment in profile until it's fixed) + # - MIB: EXTREME-SYSTEM-MIB + # symbol: + # name: extremeRedundantPowerStatus + # OID: 1.3.6.1.4.1.1916.1.1.1.11.0 + # enum: + # notPresent: 1 + # presentOK: 2 + # presentNotOK: 3 + # TODO: enum in scalar metric is not supported yet (keep this metric and this + # comment in profile until it's fixed) + # - MIB: EXTREME-SYSTEM-MIB + # symbol: + # name: extremeRedundantPowerAlarm + # OID: 1.3.6.1.4.1.1916.1.1.1.12.0 + # enum: + # true: 1 + # false: 2 + # TODO: enum in scalar metric is not supported yet (keep this metric and this + # comment in profile until it's fixed) + # - MIB: EXTREME-SYSTEM-MIB + # symbol: + # name: extremePrimarySoftwareRev + # OID: 1.3.6.1.4.1.1916.1.1.1.13.0 + # scalar string metric is not supported yet (keep this metric and this comment in profile until it's fixed) + # - MIB: EXTREME-SYSTEM-MIB + # symbol: + # name: extremeSecondarySoftwareRev + # OID: 1.3.6.1.4.1.1916.1.1.1.14.0 + # scalar string metric is not supported yet (keep this metric and this comment in profile until it's fixed) + - MIB: EXTREME-SYSTEM-MIB + symbol: + name: extremeInputPowerVoltage + OID: 1.3.6.1.4.1.1916.1.1.1.20.0 + # - MIB: EXTREME-SYSTEM-MIB + # symbol: + # name: extremePowerStatus + # OID: 1.3.6.1.4.1.1916.1.1.1.21.0 + # enum: + # notPresent: 1 + # presentOK: 2 + # presentNotOK: 3 + # TODO: enum in scalar metric is not supported yet (keep this metric and this + # comment in profile until it's fixed) + # - MIB: EXTREME-SYSTEM-MIB + # symbol: + # name: extremePowerAlarm + # OID: 1.3.6.1.4.1.1916.1.1.1.22.0 + # enum: + # true: 1 + # false: 2 + # TODO: enum in scalar metric is not supported yet (keep this metric and this + # comment in profile until it's fixed) + # - MIB: EXTREME-SYSTEM-MIB + # symbol: + # name: extremeSystemPowerState + # OID: 1.3.6.1.4.1.1916.1.1.1.36.0 + # enum: + # computing: 1 + # sufficientButNotRedundantPower: 2 + # redundantPowerAvailable: 3 + # insufficientPower: 4 + # TODO: enum in scalar metric is not supported yet (keep this metric and this + # comment in profile until it's fixed) diff --git a/snmp/metadata.csv b/snmp/metadata.csv index ff4346d495a83..8083fd0ddc08e 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -495,6 +495,8 @@ snmp.externalrelay1_element_seven,gauge,,,,"[ROOMALERT3S-MIB] The status of the snmp.externalrelay1_element_six,gauge,,,,"[ROOMALERT3S-MIB] The status of the sixth element on external relay 1.",0,snmp,, snmp.externalrelay1_element_three,gauge,,,,"[ROOMALERT3S-MIB] The status of the third element on external relay 1.",0,snmp,, snmp.externalrelay1_element_two,gauge,,,,"[ROOMALERT3S-MIB] The status of the second element on external relay 1.",0,snmp,, +snmp.extremeCurrentTemperature,gauge,,,,"[EXTREME-SYSTEM-MIB] Current temperature in degrees celcius measured inside device enclosure.",0,snmp,, +snmp.extremeInputPowerVoltage,gauge,,,,"[EXTREME-SYSTEM-MIB] The input power voltage at which the system is currently operating.",0,snmp,, snmp.fanSpeed,gauge,,,,[Isilon] The current speed of the fan in revolutions per minute,0,snmp,, snmp.fanSpeedSensorStatus,gauge,,,,[Checkpoint Firewall] 0 = OK Otherwise = problem,0,snmp,, snmp.fanSpeedSensorValue,gauge,,hertz,,[Checkpoint Firewall] Fan rotations per minute.,0,snmp,, diff --git a/snmp/tests/compose/data/extreme-switching.snmprec b/snmp/tests/compose/data/extreme-switching.snmprec new file mode 100644 index 0000000000000..ac1f30aa2ec12 --- /dev/null +++ b/snmp/tests/compose/data/extreme-switching.snmprec @@ -0,0 +1,342 @@ +1.3.6.1.2.1.1.1.0|4|extreme-switching Device Description +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.1916.2.89 +1.3.6.1.2.1.1.5.0|4|extreme-switching.device.name +1.3.6.1.2.1.2.1.0|2|28 +1.3.6.1.2.1.99.1.1.1.1.8|2|9 +1.3.6.1.2.1.99.1.1.1.2.8|2|7 +1.3.6.1.2.1.99.1.1.1.3.8|2|7 +1.3.6.1.2.1.99.1.1.1.4.8|2|2 +1.3.6.1.2.1.99.1.1.1.5.8|2|3 +1.3.6.1.2.1.99.1.1.1.6.8|4x|64726976696e672064726976696e6720666f727761726420616374656420746865697220627574 +1.3.6.1.2.1.99.1.1.1.7.8|67|2113891456 +1.3.6.1.2.1.99.1.1.1.8.8|66|6698 +1.3.6.1.4.1.1916.1.1.1.3.0|2|2 +1.3.6.1.4.1.1916.1.1.1.4.0|2|1 +1.3.6.1.4.1.1916.1.1.1.5.0|2|3 +1.3.6.1.4.1.1916.1.1.1.6.0|2|3 +1.3.6.1.4.1.1916.1.1.1.7.0|2|2 +1.3.6.1.4.1.1916.1.1.1.8.0|2|8 +1.3.6.1.4.1.1916.1.1.1.9.1.1.0|2|0 +1.3.6.1.4.1.1916.1.1.1.9.1.1.2|2|2 +1.3.6.1.4.1.1916.1.1.1.9.1.2.0|2|2 +1.3.6.1.4.1.1916.1.1.1.9.1.2.2|2|1 +1.3.6.1.4.1.1916.1.1.1.9.1.3.0|2|25 +1.3.6.1.4.1.1916.1.1.1.9.1.3.2|2|29 +1.3.6.1.4.1.1916.1.1.1.9.1.4.0|2|18 +1.3.6.1.4.1.1916.1.1.1.9.1.4.2|2|17 +1.3.6.1.4.1.1916.1.1.1.10.0|2|2 +1.3.6.1.4.1.1916.1.1.1.11.0|2|3 +1.3.6.1.4.1.1916.1.1.1.12.0|2|2 +1.3.6.1.4.1.1916.1.1.1.13.0|4x|62757420666f7277617264204a61646564206f78656e204a61646564 +1.3.6.1.4.1.1916.1.1.1.14.0|4x|6163746564207a6f6d6269657320666f727761726420666f72776172642061637465642062757420717561696e746c79204a616465642064726976696e67 +1.3.6.1.4.1.1916.1.1.1.15.0|2|1 +1.3.6.1.4.1.1916.1.1.1.16.0|4x|6b657074207468656972207468656972207a6f6d62696573206163746564 +1.3.6.1.4.1.1916.1.1.1.17.0|4x|746865697220666f7277617264 +1.3.6.1.4.1.1916.1.1.1.18.0|4x|74686569722064726976696e67206f78656e2064726976696e67206163746564 +1.3.6.1.4.1.1916.1.1.1.19.0|4x|7468656972207a6f6d6269657320666f7277617264206163746564 +1.3.6.1.4.1.1916.1.1.1.20.0|2|3 +1.3.6.1.4.1.1916.1.1.1.21.0|2|3 +1.3.6.1.4.1.1916.1.1.1.22.0|2|2 +1.3.6.1.4.1.1916.1.1.1.23.0|2|1 +1.3.6.1.4.1.1916.1.1.1.25.0|4x|6b65707420666f7277617264 +1.3.6.1.4.1.1916.1.1.1.26.0|2|2 +1.3.6.1.4.1.1916.1.1.1.27.1.1.9|2|9 +1.3.6.1.4.1.1916.1.1.1.27.1.1.23|2|23 +1.3.6.1.4.1.1916.1.1.1.27.1.2.9|2|4 +1.3.6.1.4.1.1916.1.1.1.27.1.2.23|2|2 +1.3.6.1.4.1.1916.1.1.1.27.1.3.9|2|4 +1.3.6.1.4.1.1916.1.1.1.27.1.3.23|2|2 +1.3.6.1.4.1.1916.1.1.1.27.1.4.9|4x|666f7277617264207a6f6d62696573206b65707420666f727761726420717561696e746c7920666f7277617264206f78656e204a6164656420627574 +1.3.6.1.4.1.1916.1.1.1.27.1.4.23|4x|6f78656e20666f7277617264204a6164656420666f7277617264206163746564 +1.3.6.1.4.1.1916.1.1.1.27.1.5.9|2|14 +1.3.6.1.4.1.1916.1.1.1.27.1.5.23|2|11 +1.3.6.1.4.1.1916.1.1.1.27.1.6.9|2|-1 +1.3.6.1.4.1.1916.1.1.1.27.1.6.23|2|-1 +1.3.6.1.4.1.1916.1.1.1.27.1.7.9|2|-1 +1.3.6.1.4.1.1916.1.1.1.27.1.7.23|2|-1 +1.3.6.1.4.1.1916.1.1.1.27.1.8.9|2|4 +1.3.6.1.4.1.1916.1.1.1.27.1.8.23|2|2 +1.3.6.1.4.1.1916.1.1.1.27.1.9.9|2|29 +1.3.6.1.4.1.1916.1.1.1.27.1.9.23|2|20 +1.3.6.1.4.1.1916.1.1.1.27.1.10.9|2|22 +1.3.6.1.4.1.1916.1.1.1.27.1.10.23|2|1 +1.3.6.1.4.1.1916.1.1.1.27.1.11.9|2|15 +1.3.6.1.4.1.1916.1.1.1.27.1.11.23|2|21 +1.3.6.1.4.1.1916.1.1.1.28.0|2|24 +1.3.6.1.4.1.1916.1.1.1.29.1.1.35368.31.74.97.100.101.100.32.111.120.101.110.32.98.117.116.32.107.101.112.116.32.122.111.109.98.105.101.115.32.98.117.116|66|35368 +1.3.6.1.4.1.1916.1.1.1.29.1.1.58651.25.98.117.116.32.122.111.109.98.105.101.115.32.97.99.116.101.100.32.122.111.109.98.105.101.115|66|58651 +1.3.6.1.4.1.1916.1.1.1.29.1.2.35368.31.74.97.100.101.100.32.111.120.101.110.32.98.117.116.32.107.101.112.116.32.122.111.109.98.105.101.115.32.98.117.116|4x|4a61646564206f78656e20627574206b657074207a6f6d6269657320627574 +1.3.6.1.4.1.1916.1.1.1.29.1.2.58651.25.98.117.116.32.122.111.109.98.105.101.115.32.97.99.116.101.100.32.122.111.109.98.105.101.115|4x|627574207a6f6d62696573206163746564207a6f6d62696573 +1.3.6.1.4.1.1916.1.1.1.29.1.3.35368.31.74.97.100.101.100.32.111.120.101.110.32.98.117.116.32.107.101.112.116.32.122.111.109.98.105.101.115.32.98.117.116|66|47733 +1.3.6.1.4.1.1916.1.1.1.29.1.3.58651.25.98.117.116.32.122.111.109.98.105.101.115.32.97.99.116.101.100.32.122.111.109.98.105.101.115|66|63438 +1.3.6.1.4.1.1916.1.1.1.29.1.4.35368.31.74.97.100.101.100.32.111.120.101.110.32.98.117.116.32.107.101.112.116.32.122.111.109.98.105.101.115.32.98.117.116|66|32813 +1.3.6.1.4.1.1916.1.1.1.29.1.4.58651.25.98.117.116.32.122.111.109.98.105.101.115.32.97.99.116.101.100.32.122.111.109.98.105.101.115|66|39445 +1.3.6.1.4.1.1916.1.1.1.29.1.5.35368.31.74.97.100.101.100.32.111.120.101.110.32.98.117.116.32.107.101.112.116.32.122.111.109.98.105.101.115.32.98.117.116|4|but +1.3.6.1.4.1.1916.1.1.1.29.1.5.58651.25.98.117.116.32.122.111.109.98.105.101.115.32.97.99.116.101.100.32.122.111.109.98.105.101.115|4x|6f78656e20666f7277617264206f78656e20666f7277617264206275742074686569722064726976696e67 +1.3.6.1.4.1.1916.1.1.1.29.1.6.35368.31.74.97.100.101.100.32.111.120.101.110.32.98.117.116.32.107.101.112.116.32.122.111.109.98.105.101.115.32.98.117.116|66|30220 +1.3.6.1.4.1.1916.1.1.1.29.1.6.58651.25.98.117.116.32.122.111.109.98.105.101.115.32.97.99.116.101.100.32.122.111.109.98.105.101.115|66|45347 +1.3.6.1.4.1.1916.1.1.1.29.1.7.35368.31.74.97.100.101.100.32.111.120.101.110.32.98.117.116.32.107.101.112.116.32.122.111.109.98.105.101.115.32.98.117.116|66|36170 +1.3.6.1.4.1.1916.1.1.1.29.1.7.58651.25.98.117.116.32.122.111.109.98.105.101.115.32.97.99.116.101.100.32.122.111.109.98.105.101.115|66|22590 +1.3.6.1.4.1.1916.1.1.1.30.0|64x|85bd18b1 +1.3.6.1.4.1.1916.1.1.1.31.0|2|2 +1.3.6.1.4.1.1916.1.1.1.32.0|2|1 +1.3.6.1.4.1.1916.1.1.1.33.0|2|3 +1.3.6.1.4.1.1916.1.1.1.34.1.1.0|2|0 +1.3.6.1.4.1.1916.1.1.1.34.1.1.1|2|1 +1.3.6.1.4.1.1916.1.1.1.34.1.2.0|2|23 +1.3.6.1.4.1.1916.1.1.1.34.1.2.1|2|28 +1.3.6.1.4.1.1916.1.1.1.34.1.3.0|2|19 +1.3.6.1.4.1.1916.1.1.1.34.1.3.1|2|3 +1.3.6.1.4.1.1916.1.1.1.34.1.4.0|2|25 +1.3.6.1.4.1.1916.1.1.1.34.1.4.1|2|5 +1.3.6.1.4.1.1916.1.1.1.34.1.5.0|2|28 +1.3.6.1.4.1.1916.1.1.1.34.1.5.1|2|17 +1.3.6.1.4.1.1916.1.1.1.34.1.6.0|2|22 +1.3.6.1.4.1.1916.1.1.1.34.1.6.1|2|19 +1.3.6.1.4.1.1916.1.1.1.34.1.7.0|2|28 +1.3.6.1.4.1.1916.1.1.1.34.1.7.1|2|5 +1.3.6.1.4.1.1916.1.1.1.34.1.8.0|2|8 +1.3.6.1.4.1.1916.1.1.1.34.1.8.1|2|13 +1.3.6.1.4.1.1916.1.1.1.34.1.9.0|2|2 +1.3.6.1.4.1.1916.1.1.1.34.1.9.1|2|2 +1.3.6.1.4.1.1916.1.1.1.34.1.10.0|4x|666f727761726420666f727761726420717561696e746c79206f78656e206b657074206b6570742064726976696e6720746865697220627574 +1.3.6.1.4.1.1916.1.1.1.34.1.10.1|4x|6f78656e20717561696e746c792061637465642062757420666f72776172642064726976696e67 +1.3.6.1.4.1.1916.1.1.1.34.1.11.0|2|2 +1.3.6.1.4.1.1916.1.1.1.34.1.11.1|2|0 +1.3.6.1.4.1.1916.1.1.1.34.1.12.0|2|7 +1.3.6.1.4.1.1916.1.1.1.34.1.12.1|2|0 +1.3.6.1.4.1.1916.1.1.1.35.1.1.2|2|2 +1.3.6.1.4.1.1916.1.1.1.35.1.2.2|2|0 +1.3.6.1.4.1.1916.1.1.1.35.1.3.2|2|1 +1.3.6.1.4.1.1916.1.1.1.36.0|2|1 +1.3.6.1.4.1.1916.1.1.1.37.0|70|15292115589047214353 +1.3.6.1.4.1.1916.1.1.1.38.1.1.0.11|2|0 +1.3.6.1.4.1.1916.1.1.1.38.1.1.31.30|2|31 +1.3.6.1.4.1.1916.1.1.1.38.1.2.0.11|2|11 +1.3.6.1.4.1.1916.1.1.1.38.1.2.31.30|2|30 +1.3.6.1.4.1.1916.1.1.1.38.1.3.0.11|2|17 +1.3.6.1.4.1.1916.1.1.1.38.1.3.31.30|2|1 +1.3.6.1.4.1.1916.1.1.1.38.1.4.0.11|2|24 +1.3.6.1.4.1.1916.1.1.1.38.1.4.31.30|2|22 +1.3.6.1.4.1.1916.1.1.1.38.1.5.0.11|2|0 +1.3.6.1.4.1.1916.1.1.1.38.1.5.31.30|2|3 +1.3.6.1.4.1.1916.1.1.1.39.1.1.24|2|24 +1.3.6.1.4.1.1916.1.1.1.39.1.1.30|2|30 +1.3.6.1.4.1.1916.1.1.1.39.1.2.24|2|0 +1.3.6.1.4.1.1916.1.1.1.39.1.2.30|2|16 +1.3.6.1.4.1.1916.1.1.1.39.1.3.24|2|18 +1.3.6.1.4.1.1916.1.1.1.39.1.3.30|2|3 +1.3.6.1.4.1.1916.1.1.1.40.1.0|2|3 +1.3.6.1.4.1.1916.1.1.1.40.2.0|2|6 +1.3.6.1.4.1.1916.1.1.1.41.1.1.5|2|5 +1.3.6.1.4.1.1916.1.1.1.41.1.1.11|2|11 +1.3.6.1.4.1.1916.1.1.1.41.1.2.5|2|30 +1.3.6.1.4.1.1916.1.1.1.41.1.2.11|2|5 +1.3.6.1.4.1.1916.1.1.1.41.1.3.5|2|1 +1.3.6.1.4.1.1916.1.1.1.41.1.3.11|2|3 +1.3.6.1.4.1.1916.1.1.1.41.1.4.5|2|23 +1.3.6.1.4.1.1916.1.1.1.41.1.4.11|2|11 +1.3.6.1.4.1.1916.1.1.1.42.1.1.2|2|2 +1.3.6.1.4.1.1916.1.1.1.42.1.1.4|2|4 +1.3.6.1.4.1.1916.1.1.1.42.1.2.2|4x|111111111111 +1.3.6.1.4.1.1916.1.1.1.42.1.2.4|4x|111111111111 +1.3.6.1.4.1.1916.1.1.1.42.1.3.2|4x|717561696e746c7920717561696e746c792064726976696e67 +1.3.6.1.4.1.1916.1.1.1.42.1.3.4|4x|6f78656e20717561696e746c79204a61646564206163746564 +1.3.6.1.4.1.1916.1.1.1.42.1.4.2|2|5 +1.3.6.1.4.1.1916.1.1.1.42.1.4.4|2|6 +1.3.6.1.4.1.1916.1.1.1.42.1.5.2|2|0 +1.3.6.1.4.1.1916.1.1.1.42.1.5.4|2|0 +1.3.6.1.4.1.1916.1.1.1.42.1.6.2|2|1 +1.3.6.1.4.1.1916.1.1.1.42.1.6.4|2|0 +1.3.6.1.4.1.1916.1.1.1.42.1.7.2|2|2 +1.3.6.1.4.1.1916.1.1.1.42.1.7.4|2|3 +1.3.6.1.4.1.1916.1.1.1.42.1.8.2|2|18 +1.3.6.1.4.1.1916.1.1.1.42.1.8.4|2|29 +1.3.6.1.4.1.1916.1.1.1.42.1.9.2|2|2004 +1.3.6.1.4.1.1916.1.1.1.42.1.9.4|2|2004 +1.3.6.1.4.1.1916.1.1.1.42.1.10.2|2|21 +1.3.6.1.4.1.1916.1.1.1.42.1.10.4|2|12 +1.3.6.1.4.1.1916.1.1.1.42.1.11.2|2|27 +1.3.6.1.4.1.1916.1.1.1.42.1.11.4|2|7 +1.3.6.1.4.1.1916.1.1.1.42.1.12.2|2|1 +1.3.6.1.4.1.1916.1.1.1.42.1.12.4|2|25 +1.3.6.1.4.1.1916.1.1.1.42.1.13.2|2|1 +1.3.6.1.4.1.1916.1.1.1.42.1.13.4|2|0 +1.3.6.1.4.1.1916.1.1.1.42.1.14.2|2|0 +1.3.6.1.4.1.1916.1.1.1.42.1.14.4|2|0 +1.3.6.1.4.1.1916.1.1.1.42.1.15.2|2|2 +1.3.6.1.4.1.1916.1.1.1.42.1.15.4|2|4 +1.3.6.1.4.1.1916.1.1.1.43.1.1.9|2|9 +1.3.6.1.4.1.1916.1.1.1.43.1.1.14|2|14 +1.3.6.1.4.1.1916.1.1.1.43.1.2.9|2|5 +1.3.6.1.4.1.1916.1.1.1.43.1.2.14|2|2 +1.3.6.1.4.1.1916.1.1.1.43.1.3.9|4x|666f727761726420746865697220666f7277617264 +1.3.6.1.4.1.1916.1.1.1.43.1.3.14|4x|616374656420666f727761726420666f7277617264206f78656e20627574206b65707420717561696e746c79 +1.3.6.1.4.1.1916.1.1.1.43.1.4.9|2|2 +1.3.6.1.4.1.1916.1.1.1.43.1.4.14|2|2 +1.3.6.1.4.1.1916.1.1.1.43.1.5.9|4|but +1.3.6.1.4.1.1916.1.1.1.43.1.5.14|4x|6b657074207a6f6d62696573204a6164656420717561696e746c79206f78656e +1.3.6.1.4.1.1916.1.1.1.43.1.6.9|4x|627574206b657074204a61646564 +1.3.6.1.4.1.1916.1.1.1.43.1.6.14|4x|6f78656e207468656972206b657074207a6f6d62696573206f78656e20746865697220627574204a61646564207a6f6d62696573 +1.3.6.1.4.1.1916.1.1.1.43.1.7.9|4x|62757420717561696e746c7920627574 +1.3.6.1.4.1.1916.1.1.1.43.1.7.14|4x|62757420666f7277617264206163746564 +1.3.6.1.4.1.1916.1.1.1.43.1.8.9|2|1 +1.3.6.1.4.1.1916.1.1.1.43.1.8.14|2|0 +1.3.6.1.4.1.1916.1.1.1.43.1.9.9|2|0 +1.3.6.1.4.1.1916.1.1.1.43.1.9.14|2|1 +1.3.6.1.4.1.1916.1.1.1.43.1.10.9|2|6 +1.3.6.1.4.1.1916.1.1.1.43.1.10.14|2|5 +1.3.6.1.4.1.1916.1.1.1.43.1.11.9|4x|616374656420746865697220666f7277617264206163746564206163746564206163746564 +1.3.6.1.4.1.1916.1.1.1.43.1.11.14|4x|64726976696e672061637465642064726976696e67 +1.3.6.1.4.1.1916.1.1.1.43.1.12.9|2|4 +1.3.6.1.4.1.1916.1.1.1.43.1.12.14|2|3 +1.3.6.1.4.1.1916.1.1.1.43.1.13.9|2|26 +1.3.6.1.4.1.1916.1.1.1.43.1.13.14|2|31 +1.3.6.1.4.1.1916.1.1.1.44.1.1.2|2|2 +1.3.6.1.4.1.1916.1.1.1.44.1.1.19|2|19 +1.3.6.1.4.1.1916.1.1.1.44.1.2.2|2|9 +1.3.6.1.4.1.1916.1.1.1.44.1.2.19|2|5 +1.3.6.1.4.1.1916.1.1.1.44.1.3.2|4x|6f78656e206163746564 +1.3.6.1.4.1.1916.1.1.1.44.1.3.19|4x|717561696e746c7920627574 +1.3.6.1.4.1.1916.1.1.1.44.1.4.2|2|2 +1.3.6.1.4.1.1916.1.1.1.44.1.4.19|2|2 +1.3.6.1.4.1.1916.1.1.1.44.1.5.2|4|zombies +1.3.6.1.4.1.1916.1.1.1.44.1.5.19|4x|6163746564206b657074 +1.3.6.1.4.1.1916.1.1.1.44.1.6.2|2|0 +1.3.6.1.4.1.1916.1.1.1.44.1.6.19|2|0 +1.3.6.1.4.1.1916.1.1.1.44.1.7.2|4x|746865697220666f727761726420666f7277617264 +1.3.6.1.4.1.1916.1.1.1.44.1.7.19|4x|616374656420717561696e746c79207468656972206b657074207a6f6d62696573206f78656e206163746564206b65707420627574 +1.3.6.1.4.1.1916.1.1.1.44.1.8.2|2|6 +1.3.6.1.4.1.1916.1.1.1.44.1.8.19|2|8 +1.3.6.1.4.1.1916.1.1.1.44.1.9.2|2|3 +1.3.6.1.4.1.1916.1.1.1.44.1.9.19|2|5 +1.3.6.1.4.1.1916.1.1.1.45.1.1.0|2|1 +1.3.6.1.4.1.1916.1.1.1.45.1.2.0|2|2 +1.3.6.1.4.1.1916.1.1.1.48.0|4x|61637465642062757420627574204a61646564207468656972206b6570742064726976696e67 +1.3.6.1.4.1.1916.1.1.1.49.0|4x|4a6164656420717561696e746c79 +1.3.6.1.4.1.1916.1.1.1.50.0|2|3 +1.3.6.1.4.1.1916.1.1.1.51.0|4x|7468656972207a6f6d62696573206163746564206f78656e2064726976696e67206f78656e207468656972207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.1916.1.1.1.52.0|4x|6163746564204a6164656420666f7277617264207a6f6d62696573 +1.3.6.1.4.1.1916.1.1.1.53.1.0|4x|4a61646564207468656972207a6f6d62696573204a6164656420717561696e746c79 +1.3.6.1.4.1.1916.1.1.1.53.2.0|2|1 +1.3.6.1.4.1.1916.1.1.1.53.3.0|2|21 +1.3.6.1.4.1.1916.1.1.2.1.0|2|12 +1.3.6.1.4.1.1916.1.1.2.2.1.1.2|2|2 +1.3.6.1.4.1.1916.1.1.2.2.1.1.13|2|13 +1.3.6.1.4.1.1916.1.1.2.2.1.2.2|4x|7a6f6d62696573206275742064726976696e672064726976696e672064726976696e67207468656972 +1.3.6.1.4.1.1916.1.1.2.2.1.2.13|4x|6b65707420616374656420717561696e746c7920717561696e746c79206f78656e20666f7277617264 +1.3.6.1.4.1.1916.1.1.2.2.1.3.2|2|7 +1.3.6.1.4.1.1916.1.1.2.2.1.3.13|2|22 +1.3.6.1.4.1.1916.1.1.2.2.1.4.2|2|29 +1.3.6.1.4.1.1916.1.1.2.2.1.4.13|2|1 +1.3.6.1.4.1.1916.1.1.2.2.1.5.2|2|8 +1.3.6.1.4.1.1916.1.1.2.2.1.5.13|2|9 +1.3.6.1.4.1.1916.1.1.2.2.1.6.2|4x|666f72776172642064726976696e67 +1.3.6.1.4.1.1916.1.1.2.2.1.6.13|4x|7a6f6d62696573207468656972 +1.3.6.1.4.1.1916.1.1.2.3.0|2|21 +1.3.6.1.4.1.1916.1.1.3.1.0|2|3 +1.3.6.1.4.1.1916.1.1.3.2.0|2|2 +1.3.6.1.4.1.1916.1.1.3.3.0|2|16 +1.3.6.1.4.1.1916.1.1.4.1.0|2|17 +1.3.6.1.4.1.1916.1.1.4.2.0|4x|6163746564206f78656e2064726976696e67204a6164656420666f727761726420627574 +1.3.6.1.4.1.1916.1.1.7.1.0|2|1 +1.3.6.1.4.1.1916.1.1.7.2.0|4x|4a61646564206f78656e +1.3.6.1.4.1.1916.1.1.7.3.0|4x|6f78656e204a61646564206f78656e207a6f6d6269657320616374656420616374656420627574204a61646564206b657074 +1.3.6.1.4.1.1916.1.32.1.1.0|2|27 +1.3.6.1.4.1.1916.1.32.1.2.0|2|1 +1.3.6.1.4.1.1916.1.32.1.3.1.1.11241.107.101.112.116.32.98.117.116.32.97.99.116.101.100|66|11241 +1.3.6.1.4.1.1916.1.32.1.3.1.1.23249.100.114.105.118.105.110.103.32.107.101.112.116.32.74.97.100.101.100.32.122.111.109.98.105.101.115|66|23249 +1.3.6.1.4.1.1916.1.32.1.3.1.2.11241.107.101.112.116.32.98.117.116.32.97.99.116.101.100|4x|6b65707420627574206163746564 +1.3.6.1.4.1.1916.1.32.1.3.1.2.23249.100.114.105.118.105.110.103.32.107.101.112.116.32.74.97.100.101.100.32.122.111.109.98.105.101.115|4x|64726976696e67206b657074204a61646564207a6f6d62696573 +1.3.6.1.4.1.1916.1.32.1.3.1.3.11241.107.101.112.116.32.98.117.116.32.97.99.116.101.100|66|16261 +1.3.6.1.4.1.1916.1.32.1.3.1.3.23249.100.114.105.118.105.110.103.32.107.101.112.116.32.74.97.100.101.100.32.122.111.109.98.105.101.115|66|48571 +1.3.6.1.4.1.1916.1.32.1.3.1.4.11241.107.101.112.116.32.98.117.116.32.97.99.116.101.100|4x|7468656972206275742064726976696e672062757420627574207a6f6d62696573 +1.3.6.1.4.1.1916.1.32.1.3.1.4.23249.100.114.105.118.105.110.103.32.107.101.112.116.32.74.97.100.101.100.32.122.111.109.98.105.101.115|4x|6b657074204a61646564204a61646564207468656972206275742061637465642074686569722064726976696e67 +1.3.6.1.4.1.1916.1.32.1.3.1.5.11241.107.101.112.116.32.98.117.116.32.97.99.116.101.100|4x|746865697220717561696e746c79207a6f6d62696573207468656972204a61646564 +1.3.6.1.4.1.1916.1.32.1.3.1.5.23249.100.114.105.118.105.110.103.32.107.101.112.116.32.74.97.100.101.100.32.122.111.109.98.105.101.115|4x|7a6f6d6269657320666f7277617264204a61646564204a61646564 +1.3.6.1.4.1.1916.1.32.1.3.1.6.11241.107.101.112.116.32.98.117.116.32.97.99.116.101.100|4x|6163746564206b65707420717561696e746c79204a6164656420717561696e746c79206b657074207a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.1916.1.32.1.3.1.6.23249.100.114.105.118.105.110.103.32.107.101.112.116.32.74.97.100.101.100.32.122.111.109.98.105.101.115|4x|64726976696e67206163746564207a6f6d62696573206163746564 +1.3.6.1.4.1.1916.1.32.1.3.1.7.11241.107.101.112.116.32.98.117.116.32.97.99.116.101.100|4x|64726976696e67207a6f6d6269657320717561696e746c79206b657074 +1.3.6.1.4.1.1916.1.32.1.3.1.7.23249.100.114.105.118.105.110.103.32.107.101.112.116.32.74.97.100.101.100.32.122.111.109.98.105.101.115|4x|717561696e746c79206b65707420666f7277617264 +1.3.6.1.4.1.1916.1.32.1.3.1.8.11241.107.101.112.116.32.98.117.116.32.97.99.116.101.100|4|zombies +1.3.6.1.4.1.1916.1.32.1.3.1.8.23249.100.114.105.118.105.110.103.32.107.101.112.116.32.74.97.100.101.100.32.122.111.109.98.105.101.115|4|acted +1.3.6.1.4.1.1916.1.32.1.3.1.9.11241.107.101.112.116.32.98.117.116.32.97.99.116.101.100|4x|717561696e746c79207468656972204a61646564 +1.3.6.1.4.1.1916.1.32.1.3.1.9.23249.100.114.105.118.105.110.103.32.107.101.112.116.32.74.97.100.101.100.32.122.111.109.98.105.101.115|4x|666f727761726420717561696e746c79 +1.3.6.1.4.1.1916.1.32.1.3.1.10.11241.107.101.112.116.32.98.117.116.32.97.99.116.101.100|4x|6163746564207a6f6d6269657320746865697220717561696e746c7920627574 +1.3.6.1.4.1.1916.1.32.1.3.1.10.23249.100.114.105.118.105.110.103.32.107.101.112.116.32.74.97.100.101.100.32.122.111.109.98.105.101.115|4|kept +1.3.6.1.4.1.1916.1.32.1.3.1.11.11241.107.101.112.116.32.98.117.116.32.97.99.116.101.100|4x|6b657074206b657074 +1.3.6.1.4.1.1916.1.32.1.3.1.11.23249.100.114.105.118.105.110.103.32.107.101.112.116.32.74.97.100.101.100.32.122.111.109.98.105.101.115|4x|61637465642064726976696e67206b657074206163746564204a61646564206f78656e +1.3.6.1.4.1.1916.1.32.1.3.1.12.11241.107.101.112.116.32.98.117.116.32.97.99.116.101.100|4x|627574206f78656e +1.3.6.1.4.1.1916.1.32.1.3.1.12.23249.100.114.105.118.105.110.103.32.107.101.112.116.32.74.97.100.101.100.32.122.111.109.98.105.101.115|4x|7468656972206f78656e207a6f6d62696573206b657074207a6f6d62696573 +1.3.6.1.4.1.1916.1.32.1.3.1.13.11241.107.101.112.116.32.98.117.116.32.97.99.116.101.100|4x|7a6f6d6269657320627574206275742062757420746865697220717561696e746c79207a6f6d6269657320717561696e746c79207468656972 +1.3.6.1.4.1.1916.1.32.1.3.1.13.23249.100.114.105.118.105.110.103.32.107.101.112.116.32.74.97.100.101.100.32.122.111.109.98.105.101.115|4x|74686569722061637465642074686569722064726976696e6720717561696e746c7920666f7277617264206b657074 +1.3.6.1.4.1.1916.1.32.1.3.1.14.11241.107.101.112.116.32.98.117.116.32.97.99.116.101.100|4x|717561696e746c79204a61646564206b657074 +1.3.6.1.4.1.1916.1.32.1.3.1.14.23249.100.114.105.118.105.110.103.32.107.101.112.116.32.74.97.100.101.100.32.122.111.109.98.105.101.115|4x|7a6f6d6269657320666f7277617264 +1.3.6.1.4.1.1916.1.32.1.4.1.1.9384|66|9384 +1.3.6.1.4.1.1916.1.32.1.4.1.1.13754|66|13754 +1.3.6.1.4.1.1916.1.32.1.4.1.5.9384|4x|717561696e746c7920616374656420666f727761726420627574206b657074 +1.3.6.1.4.1.1916.1.32.1.4.1.5.13754|4x|6b657074204a61646564206b65707420666f727761726420666f72776172642064726976696e67207a6f6d62696573 +1.3.6.1.4.1.1916.1.32.1.4.1.6.9384|4x|7468656972206b65707420627574206b657074206f78656e2064726976696e67 +1.3.6.1.4.1.1916.1.32.1.4.1.6.13754|4x|6f78656e206b657074 +1.3.6.1.4.1.1916.1.32.1.4.1.7.9384|4|kept +1.3.6.1.4.1.1916.1.32.1.4.1.7.13754|4x|64726976696e67206f78656e2074686569722064726976696e67 +1.3.6.1.4.1.1916.1.32.1.4.1.8.9384|4x|717561696e746c7920717561696e746c79206163746564206f78656e204a616465642064726976696e6720627574 +1.3.6.1.4.1.1916.1.32.1.4.1.8.13754|4x|717561696e746c79206163746564204a6164656420717561696e746c79207a6f6d62696573206b657074204a61646564 +1.3.6.1.4.1.1916.1.32.1.4.1.9.9384|4x|7a6f6d62696573207a6f6d626965732064726976696e672064726976696e6720746865697220627574 +1.3.6.1.4.1.1916.1.32.1.4.1.9.13754|4|acted +1.3.6.1.4.1.1916.1.32.1.4.1.10.9384|4x|6b657074206163746564206b65707420717561696e746c79206b657074207a6f6d62696573 +1.3.6.1.4.1.1916.1.32.1.4.1.10.13754|4x|717561696e746c79206f78656e2062757420616374656420717561696e746c79204a61646564206f78656e20666f7277617264 +1.3.6.1.4.1.1916.1.32.1.4.1.11.9384|4x|627574206b65707420717561696e746c79 +1.3.6.1.4.1.1916.1.32.1.4.1.11.13754|4x|666f72776172642064726976696e6720616374656420717561696e746c7920717561696e746c7920666f727761726420717561696e746c79204a61646564207a6f6d62696573 +1.3.6.1.4.1.1916.1.32.1.4.1.12.9384|4x|746865697220746865697220746865697220717561696e746c79206b6570742064726976696e6720717561696e746c7920717561696e746c79 +1.3.6.1.4.1.1916.1.32.1.4.1.12.13754|4|oxen +1.3.6.1.4.1.1916.1.32.1.5.0|2|25 +1.3.6.1.4.1.1916.1.32.1.6.0|4x|616374656420717561696e746c7920666f727761726420627574206163746564207a6f6d6269657320717561696e746c79207468656972 +1.3.6.1.4.1.1916.1.32.2.2.1.1.12719|66|12719 +1.3.6.1.4.1.1916.1.32.2.2.1.1.63847|66|63847 +1.3.6.1.4.1.1916.1.32.2.2.1.2.12719|4|30 +1.3.6.1.4.1.1916.1.32.2.2.1.2.63847|4|40 +1.3.6.1.4.1.1916.1.32.2.2.1.3.12719|4|10 +1.3.6.1.4.1.1916.1.32.2.2.1.3.63847|4|20 +1.3.6.1.4.1.1916.1.32.2.2.1.4.12719|4|Jaded +1.3.6.1.4.1.1916.1.32.2.2.1.4.63847|4|zombies +1.3.6.1.4.1.1916.1.32.2.2.1.5.12719|4|their +1.3.6.1.4.1.1916.1.32.2.2.1.5.63847|4|quaintly +1.3.6.1.4.1.1916.1.32.2.3.1.1.1187.107.101.112.116.32.97.99.116.101.100.32.116.104.101.105.114.32.102.111.114.119.97.114.100|66|1187 +1.3.6.1.4.1.1916.1.32.2.3.1.1.19356.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|66|19356 +1.3.6.1.4.1.1916.1.32.2.3.1.2.1187.107.101.112.116.32.97.99.116.101.100.32.116.104.101.105.114.32.102.111.114.119.97.114.100|4x|6b65707420616374656420746865697220666f7277617264 +1.3.6.1.4.1.1916.1.32.2.3.1.2.19356.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|4x|666f72776172642064726976696e67 +1.3.6.1.4.1.1916.1.32.2.3.1.3.1187.107.101.112.116.32.97.99.116.101.100.32.116.104.101.105.114.32.102.111.114.119.97.114.100|66|53398 +1.3.6.1.4.1.1916.1.32.2.3.1.3.19356.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|66|2334 +1.3.6.1.4.1.1916.1.32.2.3.1.4.1187.107.101.112.116.32.97.99.116.101.100.32.116.104.101.105.114.32.102.111.114.119.97.114.100|66|20187 +1.3.6.1.4.1.1916.1.32.2.3.1.4.19356.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|66|48417 +1.3.6.1.4.1.1916.1.32.2.3.1.5.1187.107.101.112.116.32.97.99.116.101.100.32.116.104.101.105.114.32.102.111.114.119.97.114.100|4|Jaded +1.3.6.1.4.1.1916.1.32.2.3.1.5.19356.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|4|forward +1.3.6.1.4.1.1916.1.32.2.3.1.6.1187.107.101.112.116.32.97.99.116.101.100.32.116.104.101.105.114.32.102.111.114.119.97.114.100|66|58589 +1.3.6.1.4.1.1916.1.32.2.3.1.6.19356.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|66|41117 +1.3.6.1.4.1.1916.1.32.2.3.1.7.1187.107.101.112.116.32.97.99.116.101.100.32.116.104.101.105.114.32.102.111.114.119.97.114.100|66|28021 +1.3.6.1.4.1.1916.1.32.2.3.1.7.19356.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|66|48961 +1.3.6.1.4.1.1916.1.32.2.3.1.8.1187.107.101.112.116.32.97.99.116.101.100.32.116.104.101.105.114.32.102.111.114.119.97.114.100|66|13941 +1.3.6.1.4.1.1916.1.32.2.3.1.8.19356.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|66|9213 +1.3.6.1.4.1.1916.1.32.2.3.1.9.1187.107.101.112.116.32.97.99.116.101.100.32.116.104.101.105.114.32.102.111.114.119.97.114.100|66|27934 +1.3.6.1.4.1.1916.1.32.2.3.1.9.19356.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|66|46153 +1.3.6.1.4.1.1916.1.32.2.3.1.10.1187.107.101.112.116.32.97.99.116.101.100.32.116.104.101.105.114.32.102.111.114.119.97.114.100|66|16698 +1.3.6.1.4.1.1916.1.32.2.3.1.10.19356.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|66|2407 +1.3.6.1.4.1.1916.1.32.2.3.1.11.1187.107.101.112.116.32.97.99.116.101.100.32.116.104.101.105.114.32.102.111.114.119.97.114.100|66|1947 +1.3.6.1.4.1.1916.1.32.2.3.1.11.19356.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|66|21167 +1.3.6.1.4.1.1916.1.32.2.3.1.12.1187.107.101.112.116.32.97.99.116.101.100.32.116.104.101.105.114.32.102.111.114.119.97.114.100|66|54438 +1.3.6.1.4.1.1916.1.32.2.3.1.12.19356.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|66|60424 +1.3.6.1.4.1.1916.1.32.2.3.1.13.1187.107.101.112.116.32.97.99.116.101.100.32.116.104.101.105.114.32.102.111.114.119.97.114.100|66|31460 +1.3.6.1.4.1.1916.1.32.2.3.1.13.19356.102.111.114.119.97.114.100.32.100.114.105.118.105.110.103|66|24022 +1.3.6.1.4.1.1916.1.32.4.1.0|4x|6f78656e20717561696e746c79207468656972206163746564204a61646564 +1.3.6.1.4.1.1916.1.32.4.2.0|4x|627574206b657074 +1.3.6.1.4.1.1916.1.32.4.3.0|4x|7a6f6d6269657320717561696e746c79204a61646564206f78656e206163746564206b657074 +1.3.6.1.4.1.1916.1.32.4.4.0|2|26 +1.3.6.1.4.1.1916.1.32.5.1.0|2|28 +1.3.6.1.6.3.1.1.4.1.0|6|1.3.6.1.3.15.2.161.83.113.211.176 +1.3.6.1.6.3.1.1.4.3.0|6|1.3.6.1.3.143.55.113.114 +1.3.6.1.6.3.1.1.6.1.0|2|15 +1.3.6.1.6.3.10.2.1.1.0|4x|4a616465642062757420666f7277617264 +1.3.6.1.6.3.10.2.1.2.0|2|31 +1.3.6.1.6.3.10.2.1.3.0|2|31 +1.3.6.1.6.3.10.2.1.4.0|2|1234 diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_extreme_switching.py b/snmp/tests/test_e2e_core_profiles/test_profile_extreme_switching.py new file mode 100644 index 0000000000000..b2ca43acd1ae4 --- /dev/null +++ b/snmp/tests/test_e2e_core_profiles/test_profile_extreme_switching.py @@ -0,0 +1,71 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +import pytest + +from datadog_checks.dev.utils import get_metadata_metrics + +from .. import common +from ..test_e2e_core_metadata import assert_device_metadata +from .utils import ( + assert_common_metrics, + assert_extend_entity_sensor, + assert_extend_generic_if, + create_e2e_core_test_config, + get_device_ip_from_config, +) + +pytestmark = [pytest.mark.e2e, common.py3_plus_only, common.snmp_integration_only] + + +def test_e2e_profile_extreme_switching(dd_agent_check): + config = create_e2e_core_test_config('extreme-switching') + aggregator = common.dd_agent_check_wrapper(dd_agent_check, config, rate=True) + + ip_address = get_device_ip_from_config(config) + common_tags = [ + 'snmp_profile:extreme-switching', + 'snmp_host:extreme-switching.device.name', + 'device_namespace:default', + 'snmp_device:' + ip_address, + ] + + # --- TEST EXTENDED METRICS --- + assert_extend_generic_if(aggregator, common_tags) + assert_extend_entity_sensor(aggregator, common_tags) + + # --- TEST METRICS --- + assert_common_metrics(aggregator, common_tags) + + aggregator.assert_metric('snmp.cpu.usage', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.extremeCurrentTemperature', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.extremeInputPowerVoltage', metric_type=aggregator.GAUGE, tags=common_tags) + + tag_rows = [ + ['mem:12719'], + ['mem:63847'], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.memory.free', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.memory.total', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.memory.usage', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + # --- TEST METADATA --- + device = { + 'description': 'extreme-switching Device Description', + 'id': 'default:' + ip_address, + 'id_tags': ['device_namespace:default', 'snmp_device:' + ip_address], + 'ip_address': '' + ip_address, + 'name': 'extreme-switching.device.name', + 'profile': 'extreme-switching', + 'status': 1, + 'sys_object_id': '1.3.6.1.4.1.1916.2.89', + 'vendor': 'extreme-networks', + } + device['tags'] = common_tags + assert_device_metadata(aggregator, device) + + # --- CHECK COVERAGE --- + aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) From 7a1695a97d8e46ead77ef4e930570cb9e699f91a Mon Sep 17 00:00:00 2001 From: Alexandre Yang Date: Wed, 5 Jul 2023 18:14:15 +0200 Subject: [PATCH 48/77] Add profile cisco-firepower (#15160) --- .../default_profiles/cisco-firepower.yaml | 134 + snmp/metadata.csv | 4 + .../compose/data/cisco-firepower.snmprec | 9670 +++++++++++++++++ .../test_profile_cisco_firepower.py | 116 + 4 files changed, 9924 insertions(+) create mode 100644 snmp/datadog_checks/snmp/data/default_profiles/cisco-firepower.yaml create mode 100644 snmp/tests/compose/data/cisco-firepower.snmprec create mode 100644 snmp/tests/test_e2e_core_profiles/test_profile_cisco_firepower.py diff --git a/snmp/datadog_checks/snmp/data/default_profiles/cisco-firepower.yaml b/snmp/datadog_checks/snmp/data/default_profiles/cisco-firepower.yaml new file mode 100644 index 0000000000000..522d4e8561867 --- /dev/null +++ b/snmp/datadog_checks/snmp/data/default_profiles/cisco-firepower.yaml @@ -0,0 +1,134 @@ +extends: + - _base.yaml + - _generic-if.yaml + # This profile does not import cisco.yaml on purpose +sysobjectid: + - 1.3.6.1.4.1.9.1.2404 # Cisco FPR 2110td + - 1.3.6.1.4.1.9.1.2405 # Cisco FPR 2120td + - 1.3.6.1.4.1.9.1.2406 # Cisco FPR 2130td + - 1.3.6.1.4.1.9.1.2407 # Cisco FPR 2140td + - 1.3.6.1.4.1.9.1.2778 # Cisco FPR 4125 K9 + - 1.3.6.1.4.1.9.1.2292 # Cisco FPR 4150 K9 + # Following sysObjectID requires more investigation to be certain if we should include it: + # - 1.3.6.1.4.1.9.12.3.1.3.1788 # Cisco FPR 4120 +metadata: + device: + fields: + vendor: + value: "cisco" +metrics: + - MIB: CISCO-PROCESS-MIB + table: + OID: 1.3.6.1.4.1.9.9.109.1.1.1 + name: cpmCPUTotalTable + symbols: + - OID: 1.3.6.1.4.1.9.9.109.1.1.1.1.7 # cpmCPUTotal1minRev + name: cpu.usage + metric_tags: + - index: 1 # cpmCPUTotalIndex + tag: cpu + - MIB: CISCO-FIREPOWER-SM-MIB + table: + OID: 1.3.6.1.4.1.9.9.826.1.71.20 + name: cfprSmMonitorTable + symbols: + - OID: 1.3.6.1.4.1.9.9.826.1.71.20.1.21 # cfprSmMonitorMemFree + name: memory.free + - OID: 1.3.6.1.4.1.9.9.826.1.71.20.1.23 # cfprSmMonitorMemUsed + name: memory.used + metric_tags: + - index: 1 # cfprSmMonitorInstanceId + tag: mem + - MIB: CISCO-FIREPOWER-SM-MIB + table: + OID: 1.3.6.1.4.1.9.9.826.1.71.20 + name: cfprSmMonitorTable + symbols: + - OID: 1.3.6.1.4.1.9.9.826.1.71.20.1.17 + name: cfprSmMonitorDataDiskAvailable + - OID: 1.3.6.1.4.1.9.9.826.1.71.20.1.18 + name: cfprSmMonitorDataDiskTotal + metric_tags: + - tag: cfpr_sm_monitor_dn + column: + OID: 1.3.6.1.4.1.9.9.826.1.71.20.1.2 + name: cfprSmMonitorDn + - MIB: CISCO-FIREPOWER-EQUIPMENT-MIB + table: + OID: 1.3.6.1.4.1.9.9.826.1.20.34 + name: cfprEquipmentFanTable + symbols: + - name: cfprEquipmentFan + constant_value_one: true + metric_tags: + - tag: cfpr_equipment_fan_dn + column: + OID: 1.3.6.1.4.1.9.9.826.1.20.34.1.2 + name: cfprEquipmentFanDn + - column: + OID: 1.3.6.1.4.1.9.9.826.1.20.34.1.10 + name: cfprEquipmentFanOperState + tag: cfpr_equipment_fan_oper_state + mapping: + 0: unknown + 1: operable + 2: inoperable + 3: degraded + 4: powered_off + 5: power_problem + 6: removed + 7: voltage_problem + 8: thermal_problem + 9: performance_problem + 10: accessibility_problem + 11: identity_unestablishable + 12: bios_post_timeout + 13: disabled + 14: malformed_fru + 51: fabric_conn_problem + 52: fabric_unsupported_conn + 81: config + 82: equipment_problem + 83: decomissioning + 84: chassis_limit_exceeded + 100: not_supported + 101: discovery + 102: discovery_failed + 103: identify + 104: post_failure + 105: upgrade_problem + 106: peer_comm_problem + 107: auto_upgrade + 108: link_activate_blocked + - MIB: CISCO-FIREPOWER-EQUIPMENT-MIB + table: + OID: 1.3.6.1.4.1.9.9.826.1.20.109 + name: cfprEquipmentPsuTable + symbols: + - name: cfprEquipmentPsu + constant_value_one: true + metric_tags: + - tag: cfpr_equipment_psu_dn + column: + OID: 1.3.6.1.4.1.9.9.826.1.20.109.1.2 + name: cfprEquipmentPsuDn + - column: + OID: 1.3.6.1.4.1.9.9.826.1.20.109.1.13 + name: cfprEquipmentPsuPower + tag: cfpr_equipment_psu_power + mapping: + 0: unknown + 1: on + 2: test + 3: off + 4: online + 5: offline + 6: offduty + 7: degraded + 8: power_save + 9: error + 10: ok + 11: failed + 12: oir_failed + 13: oir_invalid + 100: not_supported diff --git a/snmp/metadata.csv b/snmp/metadata.csv index 8083fd0ddc08e..7fa3151772e8e 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -152,6 +152,10 @@ snmp.cefcFRUPowerAdminStatus,gauge,,,,[Cisco c3850] [Cisco Nexus] [Cisco ASA 552 snmp.cefcFRUPowerOperStatus,gauge,,,,[Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] Operational FRU power state.,0,snmp,, snmp.cefcFanTrayOperStatus,gauge,,,,[Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] The operational state of the fan or fan tray.,0,snmp,, snmp.cfInterconnectStatus,gauge,,,,"[NetApp] The current status of the interconnect (notPresent(1), down(2), partialFailure(3), up(4)).",0,snmp,, +snmp.cfprEquipmentFan,gauge,,,,"[CISCO-FIREPOWER-EQUIPMENT-MIB] Cisco Firepower equipment:Fan managed object table (Make 'sum by {X}' queries to count elements with the tag X.)",0,snmp,, +snmp.cfprEquipmentPsu,gauge,,,,"[CISCO-FIREPOWER-EQUIPMENT-MIB] Cisco Firepower equipment:Psu managed object table (Make 'sum by {X}' queries to count elements with the tag X.)",0,snmp,, +snmp.cfprSmMonitorDataDiskAvailable,gauge,,,,"[CISCO-FIREPOWER-SM-MIB] Cisco Firepower sm:Monitor:dataDiskAvailable managed object property",0,snmp,, +snmp.cfprSmMonitorDataDiskTotal,gauge,,,,"[CISCO-FIREPOWER-SM-MIB] Cisco Firepower sm:Monitor:dataDiskTotal managed object property",0,snmp,, snmp.cfwConnectionStatCount,gauge,,,,[Cisco ASA 5525] This is an integer that contains the value of the resource statistic.,0,snmp,, snmp.cfwConnectionStatValue,gauge,,,,[Cisco ASA 5525] This is an integer that contains the value of the resource statistic.,0,snmp,, snmp.cfwHardwareStatusValue,gauge,,,,[Cisco ASA 5525] This object contains the current status of the resource.,0,snmp,, diff --git a/snmp/tests/compose/data/cisco-firepower.snmprec b/snmp/tests/compose/data/cisco-firepower.snmprec new file mode 100644 index 0000000000000..f13c51296bcc3 --- /dev/null +++ b/snmp/tests/compose/data/cisco-firepower.snmprec @@ -0,0 +1,9670 @@ +1.3.6.1.2.1.1.1.0|4|cisco-firepower Device Description +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.9.1.2404 +1.3.6.1.2.1.1.5.0|4|cisco-firepower.device.name +1.3.6.1.2.1.2.1.0|2|28 +1.3.6.1.4.1.9.9.109.1.1.1.1.1.7541|66|7541 +1.3.6.1.4.1.9.9.109.1.1.1.1.1.34881|66|34881 +1.3.6.1.4.1.9.9.109.1.1.1.1.2.7541|2|19 +1.3.6.1.4.1.9.9.109.1.1.1.1.2.34881|2|31 +1.3.6.1.4.1.9.9.109.1.1.1.1.3.7541|66|1 +1.3.6.1.4.1.9.9.109.1.1.1.1.3.34881|66|100 +1.3.6.1.4.1.9.9.109.1.1.1.1.4.7541|66|3 +1.3.6.1.4.1.9.9.109.1.1.1.1.4.34881|66|1 +1.3.6.1.4.1.9.9.109.1.1.1.1.5.7541|66|100 +1.3.6.1.4.1.9.9.109.1.1.1.1.5.34881|66|3 +1.3.6.1.4.1.9.9.109.1.1.1.1.6.7541|66|1 +1.3.6.1.4.1.9.9.109.1.1.1.1.6.34881|66|100 +1.3.6.1.4.1.9.9.109.1.1.1.1.7.7541|66|3 +1.3.6.1.4.1.9.9.109.1.1.1.1.7.34881|66|1 +1.3.6.1.4.1.9.9.109.1.1.1.1.8.7541|66|100 +1.3.6.1.4.1.9.9.109.1.1.1.1.8.34881|66|3 +1.3.6.1.4.1.9.9.109.1.1.1.1.9.7541|66|24277 +1.3.6.1.4.1.9.9.109.1.1.1.1.9.34881|66|25989 +1.3.6.1.4.1.9.9.109.1.1.1.1.10.7541|66|1 +1.3.6.1.4.1.9.9.109.1.1.1.1.10.34881|66|100 +1.3.6.1.4.1.9.9.109.1.1.1.1.11.7541|66|3 +1.3.6.1.4.1.9.9.109.1.1.1.1.11.34881|66|1 +1.3.6.1.4.1.9.9.109.1.1.1.1.12.7541|66|2563564931 +1.3.6.1.4.1.9.9.109.1.1.1.1.12.34881|66|684329594 +1.3.6.1.4.1.9.9.109.1.1.1.1.13.7541|66|1563789285 +1.3.6.1.4.1.9.9.109.1.1.1.1.13.34881|66|1019228525 +1.3.6.1.4.1.9.9.109.1.1.1.1.14.7541|66|3337459516 +1.3.6.1.4.1.9.9.109.1.1.1.1.14.34881|66|14779493 +1.3.6.1.4.1.9.9.109.1.1.1.1.15.7541|66|282234308 +1.3.6.1.4.1.9.9.109.1.1.1.1.15.34881|66|1707124382 +1.3.6.1.4.1.9.9.109.1.1.1.1.16.7541|66|1638309544 +1.3.6.1.4.1.9.9.109.1.1.1.1.16.34881|66|86457821 +1.3.6.1.4.1.9.9.109.1.1.1.1.17.7541|70|4742311592198845102 +1.3.6.1.4.1.9.9.109.1.1.1.1.17.34881|70|14255050139245898202 +1.3.6.1.4.1.9.9.109.1.1.1.1.18.7541|66|4132217289 +1.3.6.1.4.1.9.9.109.1.1.1.1.18.34881|66|4246241077 +1.3.6.1.4.1.9.9.109.1.1.1.1.19.7541|70|10064161515273468298 +1.3.6.1.4.1.9.9.109.1.1.1.1.19.34881|70|16321271989552695293 +1.3.6.1.4.1.9.9.109.1.1.1.1.20.7541|66|1097491845 +1.3.6.1.4.1.9.9.109.1.1.1.1.20.34881|66|1455432521 +1.3.6.1.4.1.9.9.109.1.1.1.1.21.7541|70|13555826210984944747 +1.3.6.1.4.1.9.9.109.1.1.1.1.21.34881|70|12894497585504798281 +1.3.6.1.4.1.9.9.109.1.1.1.1.22.7541|66|345487758 +1.3.6.1.4.1.9.9.109.1.1.1.1.22.34881|66|4081514169 +1.3.6.1.4.1.9.9.109.1.1.1.1.23.7541|70|3235491312015277020 +1.3.6.1.4.1.9.9.109.1.1.1.1.23.34881|70|17128272838242041851 +1.3.6.1.4.1.9.9.109.1.1.1.1.24.7541|66|12820 +1.3.6.1.4.1.9.9.109.1.1.1.1.24.34881|66|62916 +1.3.6.1.4.1.9.9.109.1.1.1.1.25.7541|66|34128 +1.3.6.1.4.1.9.9.109.1.1.1.1.25.34881|66|32827 +1.3.6.1.4.1.9.9.109.1.1.1.1.26.7541|66|22128 +1.3.6.1.4.1.9.9.109.1.1.1.1.26.34881|66|2309 +1.3.6.1.4.1.9.9.109.1.1.1.1.27.7541|66|3138251132 +1.3.6.1.4.1.9.9.109.1.1.1.1.27.34881|66|1907316992 +1.3.6.1.4.1.9.9.109.1.1.1.1.28.7541|66|1967272037 +1.3.6.1.4.1.9.9.109.1.1.1.1.28.34881|66|2344026241 +1.3.6.1.4.1.9.9.109.1.1.1.1.29.7541|70|1643256657831219611 +1.3.6.1.4.1.9.9.109.1.1.1.1.29.34881|70|6069032150105448362 +1.3.6.1.4.1.9.9.109.1.1.2.1.1.27915.37953|66|37953 +1.3.6.1.4.1.9.9.109.1.1.2.1.1.53199.27822|66|27822 +1.3.6.1.4.1.9.9.109.1.1.2.1.2.27915.37953|2|9 +1.3.6.1.4.1.9.9.109.1.1.2.1.2.53199.27822|2|15 +1.3.6.1.4.1.9.9.109.1.1.2.1.3.27915.37953|66|3 +1.3.6.1.4.1.9.9.109.1.1.2.1.3.53199.27822|66|3 +1.3.6.1.4.1.9.9.109.1.1.2.1.4.27915.37953|66|100 +1.3.6.1.4.1.9.9.109.1.1.2.1.4.53199.27822|66|100 +1.3.6.1.4.1.9.9.109.1.1.2.1.5.27915.37953|66|1 +1.3.6.1.4.1.9.9.109.1.1.2.1.5.53199.27822|66|1 +1.3.6.1.4.1.9.9.109.1.1.2.1.6.27915.37953|66|31206 +1.3.6.1.4.1.9.9.109.1.1.2.1.6.53199.27822|66|62023 +1.3.6.1.4.1.9.9.109.1.1.2.1.7.27915.37953|66|41910 +1.3.6.1.4.1.9.9.109.1.1.2.1.7.53199.27822|66|39688 +1.3.6.1.4.1.9.9.109.1.1.2.1.8.27915.37953|66|14470 +1.3.6.1.4.1.9.9.109.1.1.2.1.8.53199.27822|66|51899 +1.3.6.1.4.1.9.9.109.1.2.1.1.1.3774.31037|66|31037 +1.3.6.1.4.1.9.9.109.1.2.1.1.1.9373.30235|66|30235 +1.3.6.1.4.1.9.9.109.1.2.1.1.2.3774.31037|4|their +1.3.6.1.4.1.9.9.109.1.2.1.1.2.9373.30235|4x|7468656972206163746564206f78656e206f78656e204a61646564 +1.3.6.1.4.1.9.9.109.1.2.1.1.3.3774.31037|2|5 +1.3.6.1.4.1.9.9.109.1.2.1.1.3.9373.30235|2|1 +1.3.6.1.4.1.9.9.109.1.2.1.1.4.3774.31037|66|44088 +1.3.6.1.4.1.9.9.109.1.2.1.1.4.9373.30235|66|62858 +1.3.6.1.4.1.9.9.109.1.2.1.1.5.3774.31037|67|373648861 +1.3.6.1.4.1.9.9.109.1.2.1.1.5.9373.30235|67|2775796438 +1.3.6.1.4.1.9.9.109.1.2.1.1.6.3774.31037|66|49875 +1.3.6.1.4.1.9.9.109.1.2.1.1.6.9373.30235|66|56315 +1.3.6.1.4.1.9.9.109.1.2.2.1.1.21252.44299|66|2449117251 +1.3.6.1.4.1.9.9.109.1.2.2.1.1.42481.33512|66|2598277455 +1.3.6.1.4.1.9.9.109.1.2.2.1.2.21252.44299|66|12505375 +1.3.6.1.4.1.9.9.109.1.2.2.1.2.42481.33512|66|3320739837 +1.3.6.1.4.1.9.9.109.1.2.2.1.3.21252.44299|65|2927833971 +1.3.6.1.4.1.9.9.109.1.2.2.1.3.42481.33512|65|3679617933 +1.3.6.1.4.1.9.9.109.1.2.2.1.4.21252.44299|65|3857665371 +1.3.6.1.4.1.9.9.109.1.2.2.1.4.42481.33512|65|4265802036 +1.3.6.1.4.1.9.9.109.1.2.2.1.5.21252.44299|66|3 +1.3.6.1.4.1.9.9.109.1.2.2.1.5.42481.33512|66|3 +1.3.6.1.4.1.9.9.109.1.2.2.1.6.21252.44299|66|100 +1.3.6.1.4.1.9.9.109.1.2.2.1.6.42481.33512|66|100 +1.3.6.1.4.1.9.9.109.1.2.2.1.7.21252.44299|66|1 +1.3.6.1.4.1.9.9.109.1.2.2.1.7.42481.33512|66|1 +1.3.6.1.4.1.9.9.109.1.2.2.1.8.21252.44299|2|5 +1.3.6.1.4.1.9.9.109.1.2.2.1.8.42481.33512|2|4 +1.3.6.1.4.1.9.9.109.1.2.3.1.1.13911.19198|66|1631881814 +1.3.6.1.4.1.9.9.109.1.2.3.1.1.32635.31971|66|1395976517 +1.3.6.1.4.1.9.9.109.1.2.3.1.2.13911.19198|66|4049237151 +1.3.6.1.4.1.9.9.109.1.2.3.1.2.32635.31971|66|802537194 +1.3.6.1.4.1.9.9.109.1.2.3.1.3.13911.19198|65|1192570936 +1.3.6.1.4.1.9.9.109.1.2.3.1.3.32635.31971|65|3576907240 +1.3.6.1.4.1.9.9.109.1.2.3.1.4.13911.19198|65|1043385698 +1.3.6.1.4.1.9.9.109.1.2.3.1.4.32635.31971|65|963371748 +1.3.6.1.4.1.9.9.109.1.2.3.1.5.13911.19198|66|3 +1.3.6.1.4.1.9.9.109.1.2.3.1.5.32635.31971|66|3 +1.3.6.1.4.1.9.9.109.1.2.3.1.6.13911.19198|66|100 +1.3.6.1.4.1.9.9.109.1.2.3.1.6.32635.31971|66|100 +1.3.6.1.4.1.9.9.109.1.2.3.1.7.13911.19198|66|1 +1.3.6.1.4.1.9.9.109.1.2.3.1.7.32635.31971|66|1 +1.3.6.1.4.1.9.9.109.1.2.3.1.8.13911.19198|2|1 +1.3.6.1.4.1.9.9.109.1.2.3.1.8.32635.31971|2|2 +1.3.6.1.4.1.9.9.109.1.2.3.1.9.13911.19198|2|3 +1.3.6.1.4.1.9.9.109.1.2.3.1.9.32635.31971|2|2 +1.3.6.1.4.1.9.9.109.1.2.3.1.10.13911.19198|2|2 +1.3.6.1.4.1.9.9.109.1.2.3.1.10.32635.31971|2|2 +1.3.6.1.4.1.9.9.109.1.2.3.1.11.13911.19198|65|3158790814 +1.3.6.1.4.1.9.9.109.1.2.3.1.11.32635.31971|65|3941327902 +1.3.6.1.4.1.9.9.109.1.2.3.1.12.13911.19198|65|3983541527 +1.3.6.1.4.1.9.9.109.1.2.3.1.12.32635.31971|65|4193150513 +1.3.6.1.4.1.9.9.109.1.2.3.1.13.13911.19198|2|2 +1.3.6.1.4.1.9.9.109.1.2.3.1.13.32635.31971|2|7 +1.3.6.1.4.1.9.9.109.1.2.3.1.14.13911.19198|4x|717561696e746c79206b657074206f78656e207a6f6d62696573207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.109.1.2.3.1.14.32635.31971|4x|64726976696e67204a61646564 +1.3.6.1.4.1.9.9.109.1.2.3.1.15.13911.19198|66|14292 +1.3.6.1.4.1.9.9.109.1.2.3.1.15.32635.31971|66|1773 +1.3.6.1.4.1.9.9.109.1.2.3.1.16.13911.19198|66|4251630049 +1.3.6.1.4.1.9.9.109.1.2.3.1.16.32635.31971|66|1639906839 +1.3.6.1.4.1.9.9.109.1.2.3.1.17.13911.19198|66|1280067950 +1.3.6.1.4.1.9.9.109.1.2.3.1.17.32635.31971|66|1427242764 +1.3.6.1.4.1.9.9.109.1.2.3.1.18.13911.19198|66|4029802899 +1.3.6.1.4.1.9.9.109.1.2.3.1.18.32635.31971|66|246817631 +1.3.6.1.4.1.9.9.109.1.2.3.1.19.13911.19198|66|3556430805 +1.3.6.1.4.1.9.9.109.1.2.3.1.19.32635.31971|66|3341012176 +1.3.6.1.4.1.9.9.109.1.2.3.1.20.13911.19198|70|3226137212820023140 +1.3.6.1.4.1.9.9.109.1.2.3.1.20.32635.31971|70|14782434971097379421 +1.3.6.1.4.1.9.9.109.1.2.3.1.21.13911.19198|66|3282150004 +1.3.6.1.4.1.9.9.109.1.2.3.1.21.32635.31971|66|3161598848 +1.3.6.1.4.1.9.9.109.1.2.3.1.22.13911.19198|70|4039557101903075437 +1.3.6.1.4.1.9.9.109.1.2.3.1.22.32635.31971|70|4053970640884082536 +1.3.6.1.4.1.9.9.109.1.2.3.1.23.13911.19198|66|31593 +1.3.6.1.4.1.9.9.109.1.2.3.1.23.32635.31971|66|60350 +1.3.6.1.4.1.9.9.109.1.2.3.1.24.13911.19198|70|17623696040862551228 +1.3.6.1.4.1.9.9.109.1.2.3.1.24.32635.31971|70|9161333538714007860 +1.3.6.1.4.1.9.9.109.1.2.3.1.25.13911.19198|66|1605805038 +1.3.6.1.4.1.9.9.109.1.2.3.1.25.32635.31971|66|1050803223 +1.3.6.1.4.1.9.9.109.1.2.3.1.26.13911.19198|70|2934951126071603215 +1.3.6.1.4.1.9.9.109.1.2.3.1.26.32635.31971|70|628093547236910974 +1.3.6.1.4.1.9.9.109.1.2.3.1.27.13911.19198|66|3180989104 +1.3.6.1.4.1.9.9.109.1.2.3.1.27.32635.31971|66|990393953 +1.3.6.1.4.1.9.9.109.1.2.3.1.28.13911.19198|70|13551748765024744250 +1.3.6.1.4.1.9.9.109.1.2.3.1.28.32635.31971|70|1161837603195448285 +1.3.6.1.4.1.9.9.109.1.2.3.1.29.13911.19198|66|2478575328 +1.3.6.1.4.1.9.9.109.1.2.3.1.29.32635.31971|66|149309496 +1.3.6.1.4.1.9.9.109.1.2.3.1.30.13911.19198|70|14962260131622701764 +1.3.6.1.4.1.9.9.109.1.2.3.1.30.32635.31971|70|1019678627356693790 +1.3.6.1.4.1.9.9.109.1.2.4.1.1.22536.1|2|1 +1.3.6.1.4.1.9.9.109.1.2.4.1.1.53136.2|2|2 +1.3.6.1.4.1.9.9.109.1.2.4.1.2.22536.1|66|10 +1.3.6.1.4.1.9.9.109.1.2.4.1.2.53136.2|66|71 +1.3.6.1.4.1.9.9.109.1.2.4.1.3.22536.1|66|14869 +1.3.6.1.4.1.9.9.109.1.2.4.1.3.53136.2|66|60719 +1.3.6.1.4.1.9.9.109.1.2.4.1.4.22536.1|66|45 +1.3.6.1.4.1.9.9.109.1.2.4.1.4.53136.2|66|54 +1.3.6.1.4.1.9.9.109.1.2.4.1.5.22536.1|66|27755 +1.3.6.1.4.1.9.9.109.1.2.4.1.5.53136.2|66|20606 +1.3.6.1.4.1.9.9.109.1.2.4.1.6.22536.1|2|3 +1.3.6.1.4.1.9.9.109.1.2.4.1.6.53136.2|2|4 +1.3.6.1.4.1.9.9.109.1.2.5.1.0|66|29 +1.3.6.1.4.1.9.9.109.1.2.5.2.0|66|20108 +1.3.6.1.4.1.9.9.109.1.2.5.3.1.1.62238.43091|66|43091 +1.3.6.1.4.1.9.9.109.1.2.5.3.1.1.63598.32165|66|32165 +1.3.6.1.4.1.9.9.109.1.2.5.3.1.2.62238.43091|66|54142 +1.3.6.1.4.1.9.9.109.1.2.5.3.1.2.63598.32165|66|209 +1.3.6.1.4.1.9.9.109.1.2.5.3.1.3.62238.43091|66|3 +1.3.6.1.4.1.9.9.109.1.2.5.3.1.3.63598.32165|66|1 +1.3.6.1.4.1.9.9.109.1.2.5.3.1.4.62238.43091|66|100 +1.3.6.1.4.1.9.9.109.1.2.5.3.1.4.63598.32165|66|3 +1.3.6.1.4.1.9.9.109.1.2.5.3.1.5.62238.43091|67|2018353890 +1.3.6.1.4.1.9.9.109.1.2.5.3.1.5.63598.32165|67|2437630222 +1.3.6.1.4.1.9.9.109.1.2.5.4.1.1.11009.56759.9097|66|9097 +1.3.6.1.4.1.9.9.109.1.2.5.4.1.1.63683.28710.23588|66|23588 +1.3.6.1.4.1.9.9.109.1.2.5.4.1.2.11009.56759.9097|66|55464 +1.3.6.1.4.1.9.9.109.1.2.5.4.1.2.63683.28710.23588|66|55929 +1.3.6.1.4.1.9.9.109.1.2.5.4.1.3.11009.56759.9097|4x|4a6164656420666f72776172642064726976696e6720666f72776172642061637465642062757420666f7277617264204a61646564 +1.3.6.1.4.1.9.9.109.1.2.5.4.1.3.63683.28710.23588|4x|6163746564206f78656e206f78656e20717561696e746c79206163746564206b65707420666f7277617264206163746564204a61646564 +1.3.6.1.4.1.9.9.109.1.2.5.4.1.4.11009.56759.9097|67|2260057886 +1.3.6.1.4.1.9.9.109.1.2.5.4.1.4.63683.28710.23588|67|3146724697 +1.3.6.1.4.1.9.9.109.1.2.5.4.1.5.11009.56759.9097|66|100 +1.3.6.1.4.1.9.9.109.1.2.5.4.1.5.63683.28710.23588|66|1 +1.3.6.1.4.1.9.9.109.1.3.1.1.1.2518.36458.24247|66|24247 +1.3.6.1.4.1.9.9.109.1.3.1.1.1.43286.8857.8469|66|8469 +1.3.6.1.4.1.9.9.109.1.3.1.1.2.2518.36458.24247|4x|616374656420627574206163746564206b657074 +1.3.6.1.4.1.9.9.109.1.3.1.1.2.43286.8857.8469|4x|666f727761726420616374656420746865697220627574 +1.3.6.1.4.1.9.9.109.1.3.1.1.3.2518.36458.24247|66|41 +1.3.6.1.4.1.9.9.109.1.3.1.1.3.43286.8857.8469|66|63 +1.3.6.1.4.1.9.9.109.1.3.1.1.4.2518.36458.24247|2|6 +1.3.6.1.4.1.9.9.109.1.3.1.1.4.43286.8857.8469|2|1 +1.3.6.1.4.1.9.9.109.1.3.1.1.5.2518.36458.24247|6|1.3.6.1.3.213.217.52.139.117 +1.3.6.1.4.1.9.9.109.1.3.1.1.5.43286.8857.8469|6|1.3.6.1.3.145.9 +1.3.6.1.4.1.9.9.109.1.3.1.1.6.2518.36458.24247|66|714761247 +1.3.6.1.4.1.9.9.109.1.3.1.1.6.43286.8857.8469|66|49079385 +1.3.6.1.4.1.9.9.109.1.3.1.1.7.2518.36458.24247|66|3188279851 +1.3.6.1.4.1.9.9.109.1.3.1.1.7.43286.8857.8469|66|2382069269 +1.3.6.1.4.1.9.9.109.1.3.1.1.8.2518.36458.24247|66|1643855178 +1.3.6.1.4.1.9.9.109.1.3.1.1.8.43286.8857.8469|66|2746681164 +1.3.6.1.4.1.9.9.109.1.3.1.1.9.2518.36458.24247|70|13451768914832629675 +1.3.6.1.4.1.9.9.109.1.3.1.1.9.43286.8857.8469|70|3064408190991182004 +1.3.6.1.4.1.9.9.109.1.4.1.1.1.53123.15380.25349|66|25349 +1.3.6.1.4.1.9.9.109.1.4.1.1.1.61970.49229.41728|66|41728 +1.3.6.1.4.1.9.9.109.1.4.1.1.2.53123.15380.25349|4x|627574207468656972206b657074204a61646564 +1.3.6.1.4.1.9.9.109.1.4.1.1.2.61970.49229.41728|4|Jaded +1.3.6.1.4.1.9.9.109.1.4.1.1.3.53123.15380.25349|66|3 +1.3.6.1.4.1.9.9.109.1.4.1.1.3.61970.49229.41728|66|3 +1.3.6.1.4.1.9.9.109.1.4.1.1.4.53123.15380.25349|66|100 +1.3.6.1.4.1.9.9.109.1.4.1.1.4.61970.49229.41728|66|100 +1.3.6.1.4.1.9.9.109.1.4.1.1.5.53123.15380.25349|66|1 +1.3.6.1.4.1.9.9.109.1.4.1.1.5.61970.49229.41728|66|1 +1.3.6.1.4.1.9.9.109.1.4.1.1.6.53123.15380.25349|66|2360103875 +1.3.6.1.4.1.9.9.109.1.4.1.1.6.61970.49229.41728|66|1643040382 +1.3.6.1.4.1.9.9.109.1.4.1.1.7.53123.15380.25349|66|1856922193 +1.3.6.1.4.1.9.9.109.1.4.1.1.7.61970.49229.41728|66|2527023980 +1.3.6.1.4.1.9.9.109.1.4.1.1.8.53123.15380.25349|65|1499326385 +1.3.6.1.4.1.9.9.109.1.4.1.1.8.61970.49229.41728|65|3121157152 +1.3.6.1.4.1.9.9.109.1.4.1.1.9.53123.15380.25349|65|3414371544 +1.3.6.1.4.1.9.9.109.1.4.1.1.9.61970.49229.41728|65|2194217003 +1.3.6.1.4.1.9.9.109.1.4.1.1.10.53123.15380.25349|66|1399059496 +1.3.6.1.4.1.9.9.109.1.4.1.1.10.61970.49229.41728|66|3468471718 +1.3.6.1.4.1.9.9.109.1.4.1.1.11.53123.15380.25349|70|2091013541614322864 +1.3.6.1.4.1.9.9.109.1.4.1.1.11.61970.49229.41728|70|12779702982697091479 +1.3.6.1.4.1.9.9.109.1.4.1.1.12.53123.15380.25349|66|4129368327 +1.3.6.1.4.1.9.9.109.1.4.1.1.12.61970.49229.41728|66|800034571 +1.3.6.1.4.1.9.9.109.1.4.1.1.13.53123.15380.25349|70|11013978534037337906 +1.3.6.1.4.1.9.9.109.1.4.1.1.13.61970.49229.41728|70|7499375947429722471 +1.3.6.1.4.1.9.9.826.1.20.1.1.1.32301|66|32301 +1.3.6.1.4.1.9.9.826.1.20.1.1.1.33084|66|33084 +1.3.6.1.4.1.9.9.826.1.20.1.1.1.36711|66|36711 +1.3.6.1.4.1.9.9.826.1.20.1.1.1.62418|66|62418 +1.3.6.1.4.1.9.9.826.1.20.1.1.2.32301|4x|4a61646564206b657074206163746564207a6f6d6269657320627574206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.1.1.2.33084|4x|6b657074207468656972206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.1.1.2.36711|4x|4a61646564206f78656e206b657074207468656972204a6164656420717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.1.1.2.62418|4x|7468656972206b6570742061637465642064726976696e672074686569722064726976696e67204a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.1.1.3.32301|4x|717561696e746c79207a6f6d626965732061637465642064726976696e67207a6f6d62696573207468656972206f78656e206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.1.1.3.33084|4x|666f7277617264204a61646564204a6164656420746865697220666f7277617264206b65707420627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.1.1.3.36711|4x|6f78656e206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.1.1.3.62418|4x|666f727761726420717561696e746c79206f78656e20616374656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.1.1.4.32301|66|978720853 +1.3.6.1.4.1.9.9.826.1.20.1.1.4.33084|66|2826305926 +1.3.6.1.4.1.9.9.826.1.20.1.1.4.36711|66|617684753 +1.3.6.1.4.1.9.9.826.1.20.1.1.4.62418|66|2566501929 +1.3.6.1.4.1.9.9.826.1.20.1.1.5.32301|4|kept +1.3.6.1.4.1.9.9.826.1.20.1.1.5.33084|4x|4a6164656420717561696e746c79204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.1.1.5.36711|4|zombies +1.3.6.1.4.1.9.9.826.1.20.1.1.5.62418|4x|6b65707420666f7277617264207468656972207468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.1.1.6.32301|4x|666f7277617264206b65707420666f727761726420627574206f78656e206163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.1.1.6.33084|4x|746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.1.1.6.36711|4x|64726976696e67206f78656e20627574204a61646564206f78656e20666f7277617264206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.1.1.6.62418|4x|717561696e746c79204a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.1.1.7.32301|66|2378909448 +1.3.6.1.4.1.9.9.826.1.20.1.1.7.33084|66|3159434706 +1.3.6.1.4.1.9.9.826.1.20.1.1.7.36711|66|2517195021 +1.3.6.1.4.1.9.9.826.1.20.1.1.7.62418|66|2230006542 +1.3.6.1.4.1.9.9.826.1.20.1.1.8.32301|4x|64726976696e67207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.1.1.8.33084|4x|746865697220717561696e746c79204a6164656420666f72776172642061637465642064726976696e672064726976696e6720717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.1.1.8.36711|4x|6f78656e2064726976696e6720746865697220666f7277617264206f78656e207a6f6d62696573204a61646564 +1.3.6.1.4.1.9.9.826.1.20.1.1.8.62418|4x|6275742064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.1.1.9.32301|66|3816934612 +1.3.6.1.4.1.9.9.826.1.20.1.1.9.33084|66|4151466552 +1.3.6.1.4.1.9.9.826.1.20.1.1.9.36711|66|2563821845 +1.3.6.1.4.1.9.9.826.1.20.1.1.9.62418|66|3372812343 +1.3.6.1.4.1.9.9.826.1.20.1.1.10.32301|2|1 +1.3.6.1.4.1.9.9.826.1.20.1.1.10.33084|2|1 +1.3.6.1.4.1.9.9.826.1.20.1.1.10.36711|2|2 +1.3.6.1.4.1.9.9.826.1.20.1.1.10.62418|2|1 +1.3.6.1.4.1.9.9.826.1.20.2.1.1.18982|66|18982 +1.3.6.1.4.1.9.9.826.1.20.2.1.1.35632|66|35632 +1.3.6.1.4.1.9.9.826.1.20.2.1.1.44455|66|44455 +1.3.6.1.4.1.9.9.826.1.20.2.1.1.47750|66|47750 +1.3.6.1.4.1.9.9.826.1.20.2.1.2.18982|4x|6f78656e206163746564206f78656e206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.2.1.2.35632|4x|7a6f6d6269657320717561696e746c7920666f7277617264206163746564204a616465642061637465642064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.2.1.2.44455|4x|6f78656e2064726976696e6720666f72776172642062757420666f7277617264206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.2.1.2.47750|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.2.1.3.18982|4x|64726976696e672064726976696e6720666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.2.1.3.35632|4x|6f78656e20627574206163746564207468656972206f78656e +1.3.6.1.4.1.9.9.826.1.20.2.1.3.44455|4x|61637465642062757420717561696e746c7920717561696e746c792064726976696e6720666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.2.1.3.47750|4x|7468656972207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.2.1.4.18982|4x|62757420717561696e746c79206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.2.1.4.35632|4|but +1.3.6.1.4.1.9.9.826.1.20.2.1.4.44455|4x|62757420746865697220666f72776172642064726976696e6720717561696e746c7920666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.2.1.4.47750|4x|666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.2.1.5.18982|70|11742230251233996169 +1.3.6.1.4.1.9.9.826.1.20.2.1.5.35632|70|13020133791281692662 +1.3.6.1.4.1.9.9.826.1.20.2.1.5.44455|70|4635840622497370392 +1.3.6.1.4.1.9.9.826.1.20.2.1.5.47750|70|4708821814193135677 +1.3.6.1.4.1.9.9.826.1.20.2.1.6.18982|70|840025114291957102 +1.3.6.1.4.1.9.9.826.1.20.2.1.6.35632|70|8358033862150805862 +1.3.6.1.4.1.9.9.826.1.20.2.1.6.44455|70|12212885532920082043 +1.3.6.1.4.1.9.9.826.1.20.2.1.6.47750|70|17770110664957499762 +1.3.6.1.4.1.9.9.826.1.20.2.1.7.18982|4x|62757420627574207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.2.1.7.35632|4x|4a61646564207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.2.1.7.44455|4x|4a6164656420627574207468656972204a6164656420627574204a61646564206f78656e20666f727761726420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.2.1.7.47750|4x|717561696e746c792064726976696e67206b65707420717561696e746c79206f78656e2064726976696e672064726976696e6720717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.2.1.8.18982|4x|74686569722064726976696e6720666f72776172642062757420717561696e746c79206b657074207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.2.1.8.35632|4x|6f78656e20627574206f78656e20627574206f78656e207468656972204a61646564206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.2.1.8.44455|4x|717561696e746c79206163746564206b6570742064726976696e67207a6f6d62696573204a61646564204a61646564206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.2.1.8.47750|4x|666f7277617264204a61646564207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.2.1.9.18982|66|3356984897 +1.3.6.1.4.1.9.9.826.1.20.2.1.9.35632|66|3606733309 +1.3.6.1.4.1.9.9.826.1.20.2.1.9.44455|66|860078842 +1.3.6.1.4.1.9.9.826.1.20.2.1.9.47750|66|1585309085 +1.3.6.1.4.1.9.9.826.1.20.2.1.10.18982|2|1 +1.3.6.1.4.1.9.9.826.1.20.2.1.10.35632|2|2 +1.3.6.1.4.1.9.9.826.1.20.2.1.10.44455|2|0 +1.3.6.1.4.1.9.9.826.1.20.2.1.10.47750|2|0 +1.3.6.1.4.1.9.9.826.1.20.3.1.1.5112|66|5112 +1.3.6.1.4.1.9.9.826.1.20.3.1.1.17300|66|17300 +1.3.6.1.4.1.9.9.826.1.20.3.1.1.20721|66|20721 +1.3.6.1.4.1.9.9.826.1.20.3.1.1.33038|66|33038 +1.3.6.1.4.1.9.9.826.1.20.3.1.2.5112|4x|64726976696e672064726976696e672074686569722064726976696e672062757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.3.1.2.17300|4x|7468656972207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.3.1.2.20721|4x|64726976696e67204a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.3.1.2.33038|4x|6f78656e206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.3.1.3.5112|4x|62757420666f7277617264206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.3.1.3.17300|4x|64726976696e6720627574206f78656e +1.3.6.1.4.1.9.9.826.1.20.3.1.3.20721|4x|717561696e746c79206b657074206b6570742064726976696e672064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.3.1.3.33038|4x|7a6f6d6269657320746865697220717561696e746c79207a6f6d6269657320746865697220717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.3.1.4.5112|4x|6b657074207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.3.1.4.17300|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.3.1.4.20721|4x|64726976696e67207468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.3.1.4.33038|4|oxen +1.3.6.1.4.1.9.9.826.1.20.3.1.5.5112|4x|7a6f6d62696573204a616465642064726976696e6720666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.3.1.5.17300|4x|666f7277617264207a6f6d62696573204a61646564207468656972204a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.3.1.5.20721|4x|717561696e746c7920717561696e746c79204a6164656420616374656420717561696e746c7920616374656420666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.3.1.5.33038|4x|666f7277617264206f78656e204a616465642064726976696e67204a61646564204a61646564206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.3.1.6.5112|2|1 +1.3.6.1.4.1.9.9.826.1.20.3.1.6.17300|2|1 +1.3.6.1.4.1.9.9.826.1.20.3.1.6.20721|2|1 +1.3.6.1.4.1.9.9.826.1.20.3.1.6.33038|2|1 +1.3.6.1.4.1.9.9.826.1.20.3.1.7.5112|4x|717561696e746c7920627574206f78656e20717561696e746c7920666f7277617264206b6570742064726976696e672064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.3.1.7.17300|4x|666f7277617264206f78656e20627574204a61646564204a61646564206163746564206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.3.1.7.20721|4x|6163746564206163746564204a61646564207a6f6d6269657320666f7277617264206f78656e206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.3.1.7.33038|4x|746865697220717561696e746c79206f78656e207a6f6d626965732062757420717561696e746c7920717561696e746c79207468656972207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.3.1.8.5112|4x|64726976696e672064726976696e67206275742064726976696e67207468656972206163746564207468656972 +1.3.6.1.4.1.9.9.826.1.20.3.1.8.17300|4x|717561696e746c792064726976696e67204a6164656420717561696e746c79204a61646564207a6f6d62696573206f78656e2064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.3.1.8.20721|4x|6b65707420717561696e746c79206163746564206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.3.1.8.33038|4x|746865697220627574206b65707420666f727761726420666f72776172642064726976696e67206f78656e206b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.3.1.9.5112|4x|4a61646564206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.3.1.9.17300|4x|7a6f6d62696573207a6f6d62696573206b657074206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.3.1.9.20721|4x|666f727761726420666f72776172642074686569722064726976696e67206f78656e204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.3.1.9.33038|4x|6f78656e206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.3.1.10.5112|66|1432438448 +1.3.6.1.4.1.9.9.826.1.20.3.1.10.17300|66|137316268 +1.3.6.1.4.1.9.9.826.1.20.3.1.10.20721|66|3741446756 +1.3.6.1.4.1.9.9.826.1.20.3.1.10.33038|66|3804727734 +1.3.6.1.4.1.9.9.826.1.20.3.1.11.5112|2|1 +1.3.6.1.4.1.9.9.826.1.20.3.1.11.17300|2|1 +1.3.6.1.4.1.9.9.826.1.20.3.1.11.20721|2|2 +1.3.6.1.4.1.9.9.826.1.20.3.1.11.33038|2|1 +1.3.6.1.4.1.9.9.826.1.20.4.1.1.18590|66|18590 +1.3.6.1.4.1.9.9.826.1.20.4.1.1.21250|66|21250 +1.3.6.1.4.1.9.9.826.1.20.4.1.1.46698|66|46698 +1.3.6.1.4.1.9.9.826.1.20.4.1.1.49178|66|49178 +1.3.6.1.4.1.9.9.826.1.20.4.1.2.18590|4x|74686569722064726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.4.1.2.21250|4x|64726976696e6720746865697220717561696e746c79206b657074204a61646564206f78656e20666f7277617264206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.4.1.2.46698|4x|4a616465642064726976696e67206b65707420717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.4.1.2.49178|4x|666f72776172642064726976696e672064726976696e67206b657074206f78656e206f78656e206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.4.1.3.18590|4|oxen +1.3.6.1.4.1.9.9.826.1.20.4.1.3.21250|4x|666f7277617264207a6f6d6269657320666f727761726420616374656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.4.1.3.46698|4x|6f78656e20666f7277617264207a6f6d62696573207a6f6d62696573206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.4.1.3.49178|4x|666f727761726420627574206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.4.1.4.18590|2|2 +1.3.6.1.4.1.9.9.826.1.20.4.1.4.21250|2|2 +1.3.6.1.4.1.9.9.826.1.20.4.1.4.46698|2|2 +1.3.6.1.4.1.9.9.826.1.20.4.1.4.49178|2|2 +1.3.6.1.4.1.9.9.826.1.20.4.1.5.18590|2|1 +1.3.6.1.4.1.9.9.826.1.20.4.1.5.21250|2|2 +1.3.6.1.4.1.9.9.826.1.20.4.1.5.46698|2|1 +1.3.6.1.4.1.9.9.826.1.20.4.1.5.49178|2|1 +1.3.6.1.4.1.9.9.826.1.20.4.1.6.18590|66|4185863747 +1.3.6.1.4.1.9.9.826.1.20.4.1.6.21250|66|123687697 +1.3.6.1.4.1.9.9.826.1.20.4.1.6.46698|66|2695327559 +1.3.6.1.4.1.9.9.826.1.20.4.1.6.49178|66|3321589732 +1.3.6.1.4.1.9.9.826.1.20.4.1.7.18590|66|1562883102 +1.3.6.1.4.1.9.9.826.1.20.4.1.7.21250|66|612499272 +1.3.6.1.4.1.9.9.826.1.20.4.1.7.46698|66|816630522 +1.3.6.1.4.1.9.9.826.1.20.4.1.7.49178|66|3132286946 +1.3.6.1.4.1.9.9.826.1.20.4.1.8.18590|66|516582501 +1.3.6.1.4.1.9.9.826.1.20.4.1.8.21250|66|3729430539 +1.3.6.1.4.1.9.9.826.1.20.4.1.8.46698|66|894984514 +1.3.6.1.4.1.9.9.826.1.20.4.1.8.49178|66|936377229 +1.3.6.1.4.1.9.9.826.1.20.4.1.9.18590|66|1501092161 +1.3.6.1.4.1.9.9.826.1.20.4.1.9.21250|66|2129046937 +1.3.6.1.4.1.9.9.826.1.20.4.1.9.46698|66|55648803 +1.3.6.1.4.1.9.9.826.1.20.4.1.9.49178|66|3587281598 +1.3.6.1.4.1.9.9.826.1.20.4.1.10.18590|66|2040552579 +1.3.6.1.4.1.9.9.826.1.20.4.1.10.21250|66|821260433 +1.3.6.1.4.1.9.9.826.1.20.4.1.10.46698|66|2390943047 +1.3.6.1.4.1.9.9.826.1.20.4.1.10.49178|66|830606660 +1.3.6.1.4.1.9.9.826.1.20.4.1.11.18590|4x|6b657074206f78656e20616374656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.4.1.11.21250|4x|666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.4.1.11.46698|4|kept +1.3.6.1.4.1.9.9.826.1.20.4.1.11.49178|4x|627574207468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.4.1.12.18590|4x|666f727761726420666f7277617264204a6164656420666f7277617264207a6f6d6269657320717561696e746c79206163746564207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.4.1.12.21250|4|forward +1.3.6.1.4.1.9.9.826.1.20.4.1.12.46698|4x|64726976696e6720627574206f78656e207a6f6d62696573204a6164656420717561696e746c79207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.20.4.1.12.49178|4x|7468656972206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.4.1.13.18590|66|1088663363 +1.3.6.1.4.1.9.9.826.1.20.4.1.13.21250|66|3212964294 +1.3.6.1.4.1.9.9.826.1.20.4.1.13.46698|66|489342632 +1.3.6.1.4.1.9.9.826.1.20.4.1.13.49178|66|1063431006 +1.3.6.1.4.1.9.9.826.1.20.4.1.14.18590|4x|6b657074207a6f6d6269657320666f7277617264204a61646564204a616465642074686569722064726976696e67204a61646564207468656972 +1.3.6.1.4.1.9.9.826.1.20.4.1.14.21250|4x|666f7277617264204a616465642061637465642062757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.4.1.14.46698|4x|4a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.4.1.14.49178|4x|746865697220717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.4.1.15.18590|4x|64726976696e6720627574207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.4.1.15.21250|4x|666f7277617264204a61646564207468656972206f78656e206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.4.1.15.46698|4x|6163746564206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.4.1.15.49178|4x|6275742061637465642061637465642064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.5.1.1.1850|66|1850 +1.3.6.1.4.1.9.9.826.1.20.5.1.1.40650|66|40650 +1.3.6.1.4.1.9.9.826.1.20.5.1.1.56993|66|56993 +1.3.6.1.4.1.9.9.826.1.20.5.1.1.57669|66|57669 +1.3.6.1.4.1.9.9.826.1.20.5.1.2.1850|4x|6f78656e2064726976696e6720666f7277617264206f78656e20616374656420666f727761726420717561696e746c79206b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.5.1.2.40650|4x|717561696e746c79206163746564207468656972 +1.3.6.1.4.1.9.9.826.1.20.5.1.2.56993|4|their +1.3.6.1.4.1.9.9.826.1.20.5.1.2.57669|4x|64726976696e672064726976696e67206b657074206f78656e206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.5.1.3.1850|4x|6163746564206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.5.1.3.40650|4x|7a6f6d626965732064726976696e6720666f7277617264207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.5.1.3.56993|4x|7a6f6d62696573204a61646564 +1.3.6.1.4.1.9.9.826.1.20.5.1.3.57669|4|acted +1.3.6.1.4.1.9.9.826.1.20.5.1.4.1850|4x|6f78656e20616374656420627574204a61646564207468656972207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.5.1.4.40650|4x|746865697220666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.5.1.4.56993|4x|62757420717561696e746c7920616374656420666f7277617264206b6570742064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.5.1.4.57669|4x|627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.5.1.5.1850|4x|6f78656e206275742064726976696e67206b657074206163746564 +1.3.6.1.4.1.9.9.826.1.20.5.1.5.40650|4x|6163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.5.1.5.56993|4x|4a616465642064726976696e67207468656972207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.5.1.5.57669|4x|6b657074206163746564204a61646564206275742064726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.5.1.6.1850|4x|7a6f6d62696573206f78656e207468656972206163746564204a61646564207a6f6d626965732064726976696e67204a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.5.1.6.40650|4x|62757420666f727761726420717561696e746c7920666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.5.1.6.56993|4x|6f78656e20666f727761726420666f727761726420717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.5.1.6.57669|4x|7a6f6d6269657320717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.5.1.7.1850|66|4095443727 +1.3.6.1.4.1.9.9.826.1.20.5.1.7.40650|66|741235242 +1.3.6.1.4.1.9.9.826.1.20.5.1.7.56993|66|494804052 +1.3.6.1.4.1.9.9.826.1.20.5.1.7.57669|66|2036437761 +1.3.6.1.4.1.9.9.826.1.20.5.1.8.1850|2|1 +1.3.6.1.4.1.9.9.826.1.20.5.1.8.40650|2|2 +1.3.6.1.4.1.9.9.826.1.20.5.1.8.56993|2|1 +1.3.6.1.4.1.9.9.826.1.20.5.1.8.57669|2|0 +1.3.6.1.4.1.9.9.826.1.20.5.1.9.1850|2|1 +1.3.6.1.4.1.9.9.826.1.20.5.1.9.40650|2|2 +1.3.6.1.4.1.9.9.826.1.20.5.1.9.56993|2|2 +1.3.6.1.4.1.9.9.826.1.20.5.1.9.57669|2|1 +1.3.6.1.4.1.9.9.826.1.20.6.1.1.4275|66|4275 +1.3.6.1.4.1.9.9.826.1.20.6.1.1.5163|66|5163 +1.3.6.1.4.1.9.9.826.1.20.6.1.1.12587|66|12587 +1.3.6.1.4.1.9.9.826.1.20.6.1.1.45584|66|45584 +1.3.6.1.4.1.9.9.826.1.20.6.1.2.4275|4x|627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.6.1.2.5163|4x|666f7277617264206b6570742064726976696e672064726976696e67206f78656e2074686569722064726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.6.1.2.12587|4x|7a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.6.1.2.45584|4x|64726976696e67206b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.6.1.3.4275|4x|6f78656e20717561696e746c79207a6f6d62696573204a61646564206163746564207468656972207a6f6d62696573204a61646564 +1.3.6.1.4.1.9.9.826.1.20.6.1.3.5163|4x|6b65707420717561696e746c79206b657074206b657074206b657074206b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.6.1.3.12587|4|their +1.3.6.1.4.1.9.9.826.1.20.6.1.3.45584|4|their +1.3.6.1.4.1.9.9.826.1.20.6.1.4.4275|2|2 +1.3.6.1.4.1.9.9.826.1.20.6.1.4.5163|2|1 +1.3.6.1.4.1.9.9.826.1.20.6.1.4.12587|2|3 +1.3.6.1.4.1.9.9.826.1.20.6.1.4.45584|2|1 +1.3.6.1.4.1.9.9.826.1.20.6.1.5.4275|2|3 +1.3.6.1.4.1.9.9.826.1.20.6.1.5.5163|2|2 +1.3.6.1.4.1.9.9.826.1.20.6.1.5.12587|2|0 +1.3.6.1.4.1.9.9.826.1.20.6.1.5.45584|2|0 +1.3.6.1.4.1.9.9.826.1.20.6.1.6.4275|4x|7468656972206f78656e2062757420627574 +1.3.6.1.4.1.9.9.826.1.20.6.1.6.5163|4x|616374656420627574206f78656e +1.3.6.1.4.1.9.9.826.1.20.6.1.6.12587|4x|4a61646564204a61646564206163746564204a61646564206f78656e207468656972207a6f6d62696573206b657074 +1.3.6.1.4.1.9.9.826.1.20.6.1.6.45584|4x|746865697220666f7277617264206163746564206f78656e206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.6.1.7.4275|4x|7a6f6d62696573206b65707420717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.6.1.7.5163|4x|64726976696e67206b65707420666f7277617264206f78656e +1.3.6.1.4.1.9.9.826.1.20.6.1.7.12587|4x|64726976696e67206f78656e +1.3.6.1.4.1.9.9.826.1.20.6.1.7.45584|4x|627574204a61646564207468656972206163746564206163746564206b6570742064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.6.1.8.4275|66|516338354 +1.3.6.1.4.1.9.9.826.1.20.6.1.8.5163|66|2872940867 +1.3.6.1.4.1.9.9.826.1.20.6.1.8.12587|66|3222098036 +1.3.6.1.4.1.9.9.826.1.20.6.1.8.45584|66|2500645832 +1.3.6.1.4.1.9.9.826.1.20.6.1.9.4275|66|88848008 +1.3.6.1.4.1.9.9.826.1.20.6.1.9.5163|66|2032164706 +1.3.6.1.4.1.9.9.826.1.20.6.1.9.12587|66|2138509312 +1.3.6.1.4.1.9.9.826.1.20.6.1.9.45584|66|1208046166 +1.3.6.1.4.1.9.9.826.1.20.6.1.10.4275|4|kept +1.3.6.1.4.1.9.9.826.1.20.6.1.10.5163|4x|7468656972204a61646564 +1.3.6.1.4.1.9.9.826.1.20.6.1.10.12587|4x|717561696e746c79206f78656e2061637465642064726976696e672064726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.6.1.10.45584|4x|64726976696e67206f78656e204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.6.1.11.4275|4x|6163746564204a6164656420666f7277617264206b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.6.1.11.5163|4x|746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.6.1.11.12587|4x|64726976696e67206b657074207a6f6d6269657320746865697220717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.6.1.11.45584|4x|6b657074204a616465642061637465642064726976696e67204a61646564207468656972 +1.3.6.1.4.1.9.9.826.1.20.6.1.12.4275|4x|64726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.6.1.12.5163|4x|6163746564206f78656e2064726976696e67207a6f6d62696573204a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.6.1.12.12587|4x|6b65707420627574206163746564206b657074207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.6.1.12.45584|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.6.1.13.4275|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.6.1.13.5163|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.6.1.13.12587|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.6.1.13.45584|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.6.1.14.4275|4x|717561696e746c79206f78656e206163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.6.1.14.5163|4x|7a6f6d626965732064726976696e6720616374656420717561696e746c7920717561696e746c7920666f7277617264207a6f6d62696573206b657074 +1.3.6.1.4.1.9.9.826.1.20.6.1.14.12587|4x|4a61646564204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.6.1.14.45584|4x|6f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.6.1.15.4275|66|3681855798 +1.3.6.1.4.1.9.9.826.1.20.6.1.15.5163|66|121739140 +1.3.6.1.4.1.9.9.826.1.20.6.1.15.12587|66|3772037102 +1.3.6.1.4.1.9.9.826.1.20.6.1.15.45584|66|3797299343 +1.3.6.1.4.1.9.9.826.1.20.6.1.16.4275|66|405047844 +1.3.6.1.4.1.9.9.826.1.20.6.1.16.5163|66|2637766616 +1.3.6.1.4.1.9.9.826.1.20.6.1.16.12587|66|934202739 +1.3.6.1.4.1.9.9.826.1.20.6.1.16.45584|66|2136445874 +1.3.6.1.4.1.9.9.826.1.20.6.1.17.4275|4x|7a6f6d6269657320746865697220717561696e746c792064726976696e67204a61646564207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.6.1.17.5163|4x|6163746564207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.6.1.17.12587|4|kept +1.3.6.1.4.1.9.9.826.1.20.6.1.17.45584|4x|7a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.6.1.18.4275|2|2 +1.3.6.1.4.1.9.9.826.1.20.6.1.18.5163|2|5 +1.3.6.1.4.1.9.9.826.1.20.6.1.18.12587|2|3 +1.3.6.1.4.1.9.9.826.1.20.6.1.18.45584|2|3 +1.3.6.1.4.1.9.9.826.1.20.7.1.1.13450|66|13450 +1.3.6.1.4.1.9.9.826.1.20.7.1.1.14477|66|14477 +1.3.6.1.4.1.9.9.826.1.20.7.1.1.17646|66|17646 +1.3.6.1.4.1.9.9.826.1.20.7.1.1.20570|66|20570 +1.3.6.1.4.1.9.9.826.1.20.7.1.2.13450|4x|717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.7.1.2.14477|4|kept +1.3.6.1.4.1.9.9.826.1.20.7.1.2.17646|4x|64726976696e672061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.7.1.2.20570|4x|74686569722064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.7.1.3.13450|4x|7a6f6d6269657320627574206275742064726976696e6720627574206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.7.1.3.14477|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.7.1.3.17646|4x|7468656972207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.7.1.3.20570|4x|6275742064726976696e6720746865697220627574204a61646564207468656972206163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.7.1.4.13450|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.7.1.4.14477|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.7.1.4.17646|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.7.1.4.20570|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.7.1.5.13450|2|0 +1.3.6.1.4.1.9.9.826.1.20.7.1.5.14477|2|0 +1.3.6.1.4.1.9.9.826.1.20.7.1.5.17646|2|0 +1.3.6.1.4.1.9.9.826.1.20.7.1.5.20570|2|0 +1.3.6.1.4.1.9.9.826.1.20.7.1.6.13450|4x|666f727761726420666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.7.1.6.14477|4x|4a616465642064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.7.1.6.17646|4x|6163746564207a6f6d62696573206163746564204a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.7.1.6.20570|4x|6f78656e207a6f6d626965732064726976696e672064726976696e6720717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.7.1.7.13450|2|3 +1.3.6.1.4.1.9.9.826.1.20.7.1.7.14477|2|3 +1.3.6.1.4.1.9.9.826.1.20.7.1.7.17646|2|4 +1.3.6.1.4.1.9.9.826.1.20.7.1.7.20570|2|4 +1.3.6.1.4.1.9.9.826.1.20.7.1.8.13450|66|956660225 +1.3.6.1.4.1.9.9.826.1.20.7.1.8.14477|66|534403661 +1.3.6.1.4.1.9.9.826.1.20.7.1.8.17646|66|3015572457 +1.3.6.1.4.1.9.9.826.1.20.7.1.8.20570|66|3134979141 +1.3.6.1.4.1.9.9.826.1.20.7.1.9.13450|66|4171393223 +1.3.6.1.4.1.9.9.826.1.20.7.1.9.14477|66|2592701623 +1.3.6.1.4.1.9.9.826.1.20.7.1.9.17646|66|4028693539 +1.3.6.1.4.1.9.9.826.1.20.7.1.9.20570|66|88497832 +1.3.6.1.4.1.9.9.826.1.20.7.1.10.13450|4x|6163746564206f78656e2074686569722064726976696e67206f78656e20717561696e746c792064726976696e67206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.7.1.10.14477|4x|7a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.7.1.10.17646|4|their +1.3.6.1.4.1.9.9.826.1.20.7.1.10.20570|4x|64726976696e6720746865697220666f7277617264206f78656e2074686569722064726976696e672062757420717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.7.1.11.13450|4x|717561696e746c79206163746564206b657074206b657074 +1.3.6.1.4.1.9.9.826.1.20.7.1.11.14477|4x|717561696e746c79206b65707420717561696e746c7920666f7277617264206275742064726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.7.1.11.17646|4x|64726976696e67206f78656e20717561696e746c7920717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.7.1.11.20570|4x|62757420627574207468656972206f78656e206b65707420746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.8.1.1.12109|66|12109 +1.3.6.1.4.1.9.9.826.1.20.8.1.1.25610|66|25610 +1.3.6.1.4.1.9.9.826.1.20.8.1.1.42352|66|42352 +1.3.6.1.4.1.9.9.826.1.20.8.1.1.58395|66|58395 +1.3.6.1.4.1.9.9.826.1.20.8.1.2.12109|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.8.1.2.25610|4x|627574207468656972204a616465642061637465642074686569722062757420717561696e746c7920717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.8.1.2.42352|4x|6b657074207a6f6d6269657320616374656420717561696e746c7920717561696e746c7920616374656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.8.1.2.58395|4x|666f7277617264206b657074207a6f6d62696573206f78656e207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.8.1.3.12109|4x|6b657074206f78656e206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.8.1.3.25610|4x|666f72776172642064726976696e67207468656972206b657074206f78656e20717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.8.1.3.42352|4x|616374656420717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.8.1.3.58395|4x|6163746564207468656972204a61646564 +1.3.6.1.4.1.9.9.826.1.20.8.1.4.12109|4x|7a6f6d62696573206163746564206b657074204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.8.1.4.25610|4x|666f7277617264204a6164656420666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.8.1.4.42352|4x|746865697220627574207468656972207a6f6d626965732062757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.8.1.4.58395|4x|746865697220627574204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.8.1.5.12109|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.8.1.5.25610|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.8.1.5.42352|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.8.1.5.58395|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.8.1.6.12109|2|0 +1.3.6.1.4.1.9.9.826.1.20.8.1.6.25610|2|0 +1.3.6.1.4.1.9.9.826.1.20.8.1.6.42352|2|0 +1.3.6.1.4.1.9.9.826.1.20.8.1.6.58395|2|0 +1.3.6.1.4.1.9.9.826.1.20.8.1.7.12109|66|1775627502 +1.3.6.1.4.1.9.9.826.1.20.8.1.7.25610|66|3973255549 +1.3.6.1.4.1.9.9.826.1.20.8.1.7.42352|66|2894428369 +1.3.6.1.4.1.9.9.826.1.20.8.1.7.58395|66|859373713 +1.3.6.1.4.1.9.9.826.1.20.8.1.8.12109|66|360405915 +1.3.6.1.4.1.9.9.826.1.20.8.1.8.25610|66|100210219 +1.3.6.1.4.1.9.9.826.1.20.8.1.8.42352|66|1734171451 +1.3.6.1.4.1.9.9.826.1.20.8.1.8.58395|66|3770137680 +1.3.6.1.4.1.9.9.826.1.20.8.1.9.12109|2|5 +1.3.6.1.4.1.9.9.826.1.20.8.1.9.25610|2|0 +1.3.6.1.4.1.9.9.826.1.20.8.1.9.42352|2|0 +1.3.6.1.4.1.9.9.826.1.20.8.1.9.58395|2|1 +1.3.6.1.4.1.9.9.826.1.20.9.1.1.12852|66|12852 +1.3.6.1.4.1.9.9.826.1.20.9.1.1.23703|66|23703 +1.3.6.1.4.1.9.9.826.1.20.9.1.1.39103|66|39103 +1.3.6.1.4.1.9.9.826.1.20.9.1.1.49011|66|49011 +1.3.6.1.4.1.9.9.826.1.20.9.1.2.12852|4x|6f78656e204a61646564206b657074206b6570742064726976696e6720666f7277617264206f78656e20666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.9.1.2.23703|4x|6163746564207a6f6d62696573206f78656e206163746564207a6f6d6269657320746865697220666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.9.1.2.39103|4x|64726976696e67206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.9.1.2.49011|4x|7468656972207a6f6d62696573207a6f6d62696573207468656972206b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.9.1.3.12852|4x|6163746564207a6f6d626965732062757420666f727761726420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.9.1.3.23703|4x|7a6f6d62696573207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.9.1.3.39103|4x|717561696e746c792064726976696e6720717561696e746c79204a61646564204a61646564204a61646564206f78656e20627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.9.1.3.49011|4x|4a6164656420666f7277617264204a6164656420666f7277617264204a6164656420666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.9.1.4.12852|2|0 +1.3.6.1.4.1.9.9.826.1.20.9.1.4.23703|2|0 +1.3.6.1.4.1.9.9.826.1.20.9.1.4.39103|2|3 +1.3.6.1.4.1.9.9.826.1.20.9.1.4.49011|2|0 +1.3.6.1.4.1.9.9.826.1.20.9.1.5.12852|4x|6163746564207a6f6d62696573206275742074686569722064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.9.1.5.23703|4x|6b65707420666f727761726420666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.9.1.5.39103|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.9.1.5.49011|4x|64726976696e672062757420746865697220717561696e746c79206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.9.1.6.12852|2|0 +1.3.6.1.4.1.9.9.826.1.20.9.1.6.23703|2|0 +1.3.6.1.4.1.9.9.826.1.20.9.1.6.39103|2|0 +1.3.6.1.4.1.9.9.826.1.20.9.1.6.49011|2|0 +1.3.6.1.4.1.9.9.826.1.20.9.1.7.12852|66|1721428802 +1.3.6.1.4.1.9.9.826.1.20.9.1.7.23703|66|3145959569 +1.3.6.1.4.1.9.9.826.1.20.9.1.7.39103|66|454743810 +1.3.6.1.4.1.9.9.826.1.20.9.1.7.49011|66|977829012 +1.3.6.1.4.1.9.9.826.1.20.10.1.1.13549|66|13549 +1.3.6.1.4.1.9.9.826.1.20.10.1.1.19013|66|19013 +1.3.6.1.4.1.9.9.826.1.20.10.1.1.33707|66|33707 +1.3.6.1.4.1.9.9.826.1.20.10.1.1.57237|66|57237 +1.3.6.1.4.1.9.9.826.1.20.10.1.2.13549|4|driving +1.3.6.1.4.1.9.9.826.1.20.10.1.2.19013|4x|6f78656e206b657074206163746564206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.10.1.2.33707|4x|6b657074207a6f6d6269657320616374656420627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.10.1.2.57237|4x|7468656972204a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.10.1.3.13549|4x|4a61646564204a6164656420627574204a616465642064726976696e6720746865697220717561696e746c79207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.10.1.3.19013|4x|6163746564206163746564206163746564207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.10.1.3.33707|4x|666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.10.1.3.57237|4x|7a6f6d62696573207468656972207a6f6d62696573204a61646564207468656972 +1.3.6.1.4.1.9.9.826.1.20.10.1.4.13549|4x|746865697220627574206f78656e206b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.10.1.4.19013|4x|4a61646564206b65707420746865697220616374656420627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.10.1.4.33707|4x|4a61646564207468656972 +1.3.6.1.4.1.9.9.826.1.20.10.1.4.57237|4x|4a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.10.1.5.13549|4x|74686569722062757420627574 +1.3.6.1.4.1.9.9.826.1.20.10.1.5.19013|4x|6b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.10.1.5.33707|4x|6b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.10.1.5.57237|4x|64726976696e6720666f727761726420627574207a6f6d626965732064726976696e6720717561696e746c79207a6f6d6269657320717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.10.1.6.13549|4x|64726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.10.1.6.19013|4x|627574204a6164656420666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.10.1.6.33707|4x|6163746564207a6f6d626965732064726976696e6720666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.10.1.6.57237|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.10.1.7.13549|66|2370608337 +1.3.6.1.4.1.9.9.826.1.20.10.1.7.19013|66|3048447058 +1.3.6.1.4.1.9.9.826.1.20.10.1.7.33707|66|2329881644 +1.3.6.1.4.1.9.9.826.1.20.10.1.7.57237|66|2950494480 +1.3.6.1.4.1.9.9.826.1.20.10.1.8.13549|2|2 +1.3.6.1.4.1.9.9.826.1.20.10.1.8.19013|2|1 +1.3.6.1.4.1.9.9.826.1.20.10.1.8.33707|2|1 +1.3.6.1.4.1.9.9.826.1.20.10.1.8.57237|2|1 +1.3.6.1.4.1.9.9.826.1.20.10.1.9.13549|2|1 +1.3.6.1.4.1.9.9.826.1.20.10.1.9.19013|2|0 +1.3.6.1.4.1.9.9.826.1.20.10.1.9.33707|2|2 +1.3.6.1.4.1.9.9.826.1.20.10.1.9.57237|2|0 +1.3.6.1.4.1.9.9.826.1.20.10.1.10.13549|2|0 +1.3.6.1.4.1.9.9.826.1.20.10.1.10.19013|2|1 +1.3.6.1.4.1.9.9.826.1.20.10.1.10.33707|2|0 +1.3.6.1.4.1.9.9.826.1.20.10.1.10.57237|2|0 +1.3.6.1.4.1.9.9.826.1.20.10.1.11.13549|2|2 +1.3.6.1.4.1.9.9.826.1.20.10.1.11.19013|2|0 +1.3.6.1.4.1.9.9.826.1.20.10.1.11.33707|2|0 +1.3.6.1.4.1.9.9.826.1.20.10.1.11.57237|2|2 +1.3.6.1.4.1.9.9.826.1.20.10.1.12.13549|2|2 +1.3.6.1.4.1.9.9.826.1.20.10.1.12.19013|2|2 +1.3.6.1.4.1.9.9.826.1.20.10.1.12.33707|2|0 +1.3.6.1.4.1.9.9.826.1.20.10.1.12.57237|2|1 +1.3.6.1.4.1.9.9.826.1.20.10.1.13.13549|2|1 +1.3.6.1.4.1.9.9.826.1.20.10.1.13.19013|2|0 +1.3.6.1.4.1.9.9.826.1.20.10.1.13.33707|2|1 +1.3.6.1.4.1.9.9.826.1.20.10.1.13.57237|2|1 +1.3.6.1.4.1.9.9.826.1.20.11.1.1.1589|66|1589 +1.3.6.1.4.1.9.9.826.1.20.11.1.1.56190|66|56190 +1.3.6.1.4.1.9.9.826.1.20.11.1.1.62877|66|62877 +1.3.6.1.4.1.9.9.826.1.20.11.1.1.65507|66|65507 +1.3.6.1.4.1.9.9.826.1.20.11.1.2.1589|4x|666f7277617264206f78656e2074686569722061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.11.1.2.56190|4x|7a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.11.1.2.62877|4|acted +1.3.6.1.4.1.9.9.826.1.20.11.1.2.65507|4x|64726976696e67206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.11.1.3.1589|4x|666f7277617264206275742064726976696e6720627574206f78656e2064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.11.1.3.56190|4x|6b6570742062757420627574 +1.3.6.1.4.1.9.9.826.1.20.11.1.3.62877|4x|7a6f6d62696573207a6f6d62696573207468656972204a61646564 +1.3.6.1.4.1.9.9.826.1.20.11.1.3.65507|4x|7a6f6d62696573206163746564204a61646564206f78656e2064726976696e6720746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.11.1.4.1589|4x|6f78656e206b6570742064726976696e67204a61646564206163746564206b65707420666f7277617264206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.11.1.4.56190|4x|7a6f6d626965732064726976696e672064726976696e672064726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.11.1.4.62877|4x|64726976696e672062757420616374656420717561696e746c7920746865697220666f727761726420666f7277617264207468656972207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.11.1.4.65507|4x|64726976696e6720746865697220666f72776172642062757420666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.11.1.5.1589|4x|6b657074207a6f6d6269657320666f727761726420746865697220666f7277617264206f78656e20746865697220627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.11.1.5.56190|4x|7468656972204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.11.1.5.62877|4x|7468656972206163746564207468656972207468656972204a61646564 +1.3.6.1.4.1.9.9.826.1.20.11.1.5.65507|4x|717561696e746c7920666f727761726420627574207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.11.1.6.1589|4x|666f7277617264206f78656e207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.11.1.6.56190|4|driving +1.3.6.1.4.1.9.9.826.1.20.11.1.6.62877|4x|7a6f6d626965732062757420717561696e746c7920717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.11.1.6.65507|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.11.1.7.1589|66|1019111912 +1.3.6.1.4.1.9.9.826.1.20.11.1.7.56190|66|3570433897 +1.3.6.1.4.1.9.9.826.1.20.11.1.7.62877|66|311750879 +1.3.6.1.4.1.9.9.826.1.20.11.1.7.65507|66|3157296681 +1.3.6.1.4.1.9.9.826.1.20.11.1.8.1589|2|0 +1.3.6.1.4.1.9.9.826.1.20.11.1.8.56190|2|0 +1.3.6.1.4.1.9.9.826.1.20.11.1.8.62877|2|1 +1.3.6.1.4.1.9.9.826.1.20.11.1.8.65507|2|1 +1.3.6.1.4.1.9.9.826.1.20.12.1.1.9561|66|9561 +1.3.6.1.4.1.9.9.826.1.20.12.1.1.24241|66|24241 +1.3.6.1.4.1.9.9.826.1.20.12.1.1.25082|66|25082 +1.3.6.1.4.1.9.9.826.1.20.12.1.1.39065|66|39065 +1.3.6.1.4.1.9.9.826.1.20.12.1.2.9561|4x|616374656420666f72776172642064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.12.1.2.24241|4x|627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.12.1.2.25082|4x|6275742061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.12.1.2.39065|4x|6163746564206f78656e206163746564206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.12.1.3.9561|4x|4a61646564206163746564207a6f6d62696573207a6f6d62696573206163746564204a6164656420717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.12.1.3.24241|4x|7468656972207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.12.1.3.25082|4x|74686569722064726976696e67207a6f6d62696573204a6164656420627574207a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.12.1.3.39065|4x|64726976696e672064726976696e6720616374656420666f72776172642062757420666f7277617264207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.12.1.4.9561|2|2 +1.3.6.1.4.1.9.9.826.1.20.12.1.4.24241|2|2 +1.3.6.1.4.1.9.9.826.1.20.12.1.4.25082|2|2 +1.3.6.1.4.1.9.9.826.1.20.12.1.4.39065|2|2 +1.3.6.1.4.1.9.9.826.1.20.13.1.1.8496|66|8496 +1.3.6.1.4.1.9.9.826.1.20.13.1.1.12164|66|12164 +1.3.6.1.4.1.9.9.826.1.20.13.1.1.24419|66|24419 +1.3.6.1.4.1.9.9.826.1.20.13.1.1.38976|66|38976 +1.3.6.1.4.1.9.9.826.1.20.13.1.2.8496|4x|7468656972204a61646564206b65707420666f727761726420616374656420627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.13.1.2.12164|4x|627574204a6164656420666f7277617264204a61646564206b65707420666f7277617264207a6f6d626965732064726976696e67206f78656e +1.3.6.1.4.1.9.9.826.1.20.13.1.2.24419|4|oxen +1.3.6.1.4.1.9.9.826.1.20.13.1.2.38976|4|kept +1.3.6.1.4.1.9.9.826.1.20.13.1.3.8496|4x|6b6570742074686569722061637465642064726976696e672074686569722064726976696e6720717561696e746c7920666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.13.1.3.12164|4x|64726976696e67206b657074207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.20.13.1.3.24419|4x|666f72776172642064726976696e67206163746564207a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.13.1.3.38976|4x|6b657074206b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.13.1.4.8496|2|2 +1.3.6.1.4.1.9.9.826.1.20.13.1.4.12164|2|1 +1.3.6.1.4.1.9.9.826.1.20.13.1.4.24419|2|1 +1.3.6.1.4.1.9.9.826.1.20.13.1.4.38976|2|1 +1.3.6.1.4.1.9.9.826.1.20.13.1.5.8496|2|1 +1.3.6.1.4.1.9.9.826.1.20.13.1.5.12164|2|1 +1.3.6.1.4.1.9.9.826.1.20.13.1.5.24419|2|1 +1.3.6.1.4.1.9.9.826.1.20.13.1.5.38976|2|1 +1.3.6.1.4.1.9.9.826.1.20.13.1.6.8496|66|1581827050 +1.3.6.1.4.1.9.9.826.1.20.13.1.6.12164|66|721717845 +1.3.6.1.4.1.9.9.826.1.20.13.1.6.24419|66|843796212 +1.3.6.1.4.1.9.9.826.1.20.13.1.6.38976|66|328341176 +1.3.6.1.4.1.9.9.826.1.20.13.1.7.8496|66|3086256304 +1.3.6.1.4.1.9.9.826.1.20.13.1.7.12164|66|2166741618 +1.3.6.1.4.1.9.9.826.1.20.13.1.7.24419|66|2562734002 +1.3.6.1.4.1.9.9.826.1.20.13.1.7.38976|66|2312042740 +1.3.6.1.4.1.9.9.826.1.20.13.1.8.8496|66|3528282672 +1.3.6.1.4.1.9.9.826.1.20.13.1.8.12164|66|1452909801 +1.3.6.1.4.1.9.9.826.1.20.13.1.8.24419|66|3467196115 +1.3.6.1.4.1.9.9.826.1.20.13.1.8.38976|66|1930309644 +1.3.6.1.4.1.9.9.826.1.20.13.1.9.8496|66|54266648 +1.3.6.1.4.1.9.9.826.1.20.13.1.9.12164|66|39285687 +1.3.6.1.4.1.9.9.826.1.20.13.1.9.24419|66|1851706324 +1.3.6.1.4.1.9.9.826.1.20.13.1.9.38976|66|2514117615 +1.3.6.1.4.1.9.9.826.1.20.13.1.10.8496|66|2645474124 +1.3.6.1.4.1.9.9.826.1.20.13.1.10.12164|66|2076609895 +1.3.6.1.4.1.9.9.826.1.20.13.1.10.24419|66|2704400657 +1.3.6.1.4.1.9.9.826.1.20.13.1.10.38976|66|752942808 +1.3.6.1.4.1.9.9.826.1.20.13.1.11.8496|4x|64726976696e6720717561696e746c7920717561696e746c79207a6f6d62696573206b65707420627574204a61646564206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.13.1.11.12164|4x|4a61646564206f78656e206275742062757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.13.1.11.24419|4x|616374656420616374656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.13.1.11.38976|4x|7a6f6d62696573207a6f6d62696573204a61646564207468656972204a616465642064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.13.1.12.8496|4x|616374656420717561696e746c79207a6f6d626965732074686569722064726976696e6720616374656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.13.1.12.12164|4x|6f78656e204a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.13.1.12.24419|4x|717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.13.1.12.38976|4|driving +1.3.6.1.4.1.9.9.826.1.20.13.1.13.8496|4x|7a6f6d6269657320627574204a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.13.1.13.12164|4x|717561696e746c79206f78656e206163746564207468656972 +1.3.6.1.4.1.9.9.826.1.20.13.1.13.24419|4x|4a616465642064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.13.1.13.38976|4x|7468656972206b6570742064726976696e6720666f7277617264204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.13.1.14.8496|66|1086526579 +1.3.6.1.4.1.9.9.826.1.20.13.1.14.12164|66|3752646578 +1.3.6.1.4.1.9.9.826.1.20.13.1.14.24419|66|2858221197 +1.3.6.1.4.1.9.9.826.1.20.13.1.14.38976|66|2683793945 +1.3.6.1.4.1.9.9.826.1.20.13.1.15.8496|4x|6163746564206f78656e20627574206f78656e206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.13.1.15.12164|4x|7a6f6d6269657320717561696e746c79207a6f6d6269657320666f727761726420666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.13.1.15.24419|4x|64726976696e6720666f7277617264207a6f6d62696573206b657074 +1.3.6.1.4.1.9.9.826.1.20.13.1.15.38976|4x|717561696e746c792064726976696e67207a6f6d6269657320666f727761726420616374656420717561696e746c79207a6f6d62696573206f78656e20627574 +1.3.6.1.4.1.9.9.826.1.20.13.1.16.8496|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.13.1.16.12164|4|acted +1.3.6.1.4.1.9.9.826.1.20.13.1.16.24419|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.13.1.16.38976|4x|4a61646564207468656972207468656972204a6164656420666f727761726420717561696e746c792064726976696e67206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.14.1.1.21763|66|21763 +1.3.6.1.4.1.9.9.826.1.20.14.1.1.35862|66|35862 +1.3.6.1.4.1.9.9.826.1.20.14.1.1.43413|66|43413 +1.3.6.1.4.1.9.9.826.1.20.14.1.1.59380|66|59380 +1.3.6.1.4.1.9.9.826.1.20.14.1.2.21763|4|zombies +1.3.6.1.4.1.9.9.826.1.20.14.1.2.35862|4x|7468656972206b657074206b65707420717561696e746c79204a61646564207a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.14.1.2.43413|4x|717561696e746c79207468656972206275742061637465642064726976696e67206b65707420627574207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.14.1.2.59380|4x|6163746564207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.20.14.1.3.21763|4x|627574206163746564206f78656e20717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.14.1.3.35862|4x|6b657074207a6f6d6269657320717561696e746c79207468656972206b65707420666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.14.1.3.43413|4x|7a6f6d626965732074686569722062757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.14.1.3.59380|4x|62757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.14.1.4.21763|2|1 +1.3.6.1.4.1.9.9.826.1.20.14.1.4.35862|2|1 +1.3.6.1.4.1.9.9.826.1.20.14.1.4.43413|2|1 +1.3.6.1.4.1.9.9.826.1.20.14.1.4.59380|2|2 +1.3.6.1.4.1.9.9.826.1.20.14.1.5.21763|2|2 +1.3.6.1.4.1.9.9.826.1.20.14.1.5.35862|2|1 +1.3.6.1.4.1.9.9.826.1.20.14.1.5.43413|2|2 +1.3.6.1.4.1.9.9.826.1.20.14.1.5.59380|2|1 +1.3.6.1.4.1.9.9.826.1.20.14.1.6.21763|66|3822444808 +1.3.6.1.4.1.9.9.826.1.20.14.1.6.35862|66|2864764169 +1.3.6.1.4.1.9.9.826.1.20.14.1.6.43413|66|3727549920 +1.3.6.1.4.1.9.9.826.1.20.14.1.6.59380|66|326872422 +1.3.6.1.4.1.9.9.826.1.20.14.1.7.21763|66|1595889246 +1.3.6.1.4.1.9.9.826.1.20.14.1.7.35862|66|463564503 +1.3.6.1.4.1.9.9.826.1.20.14.1.7.43413|66|2939012970 +1.3.6.1.4.1.9.9.826.1.20.14.1.7.59380|66|1548976944 +1.3.6.1.4.1.9.9.826.1.20.14.1.8.21763|66|1335033762 +1.3.6.1.4.1.9.9.826.1.20.14.1.8.35862|66|371033371 +1.3.6.1.4.1.9.9.826.1.20.14.1.8.43413|66|1889786920 +1.3.6.1.4.1.9.9.826.1.20.14.1.8.59380|66|1253928179 +1.3.6.1.4.1.9.9.826.1.20.14.1.9.21763|66|3144606368 +1.3.6.1.4.1.9.9.826.1.20.14.1.9.35862|66|508103758 +1.3.6.1.4.1.9.9.826.1.20.14.1.9.43413|66|493580018 +1.3.6.1.4.1.9.9.826.1.20.14.1.9.59380|66|4018028513 +1.3.6.1.4.1.9.9.826.1.20.14.1.10.21763|66|2049799423 +1.3.6.1.4.1.9.9.826.1.20.14.1.10.35862|66|2040189954 +1.3.6.1.4.1.9.9.826.1.20.14.1.10.43413|66|4199177400 +1.3.6.1.4.1.9.9.826.1.20.14.1.10.59380|66|1926388211 +1.3.6.1.4.1.9.9.826.1.20.14.1.11.21763|4x|6163746564206b657074206f78656e204a61646564206b657074206b65707420666f727761726420616374656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.14.1.11.35862|4x|61637465642064726976696e672064726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.14.1.11.43413|4x|4a61646564206275742062757420717561696e746c7920746865697220616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.14.1.11.59380|4|kept +1.3.6.1.4.1.9.9.826.1.20.14.1.12.21763|4|acted +1.3.6.1.4.1.9.9.826.1.20.14.1.12.35862|4x|7a6f6d62696573204a6164656420717561696e746c7920666f7277617264204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.14.1.12.43413|4x|627574206b65707420616374656420627574206f78656e +1.3.6.1.4.1.9.9.826.1.20.14.1.12.59380|4x|4a61646564206f78656e2064726976696e6720666f7277617264206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.14.1.13.21763|66|2431671624 +1.3.6.1.4.1.9.9.826.1.20.14.1.13.35862|66|3909192829 +1.3.6.1.4.1.9.9.826.1.20.14.1.13.43413|66|153027664 +1.3.6.1.4.1.9.9.826.1.20.14.1.13.59380|66|1199384730 +1.3.6.1.4.1.9.9.826.1.20.14.1.14.21763|4|forward +1.3.6.1.4.1.9.9.826.1.20.14.1.14.35862|4|forward +1.3.6.1.4.1.9.9.826.1.20.14.1.14.43413|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.14.1.14.59380|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.14.1.15.21763|4|their +1.3.6.1.4.1.9.9.826.1.20.14.1.15.35862|4|their +1.3.6.1.4.1.9.9.826.1.20.14.1.15.43413|4x|6b657074207a6f6d62696573206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.14.1.15.59380|4x|6f78656e204a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.14.1.16.21763|66|3671505876 +1.3.6.1.4.1.9.9.826.1.20.14.1.16.35862|66|3639512224 +1.3.6.1.4.1.9.9.826.1.20.14.1.16.43413|66|4240310767 +1.3.6.1.4.1.9.9.826.1.20.14.1.16.59380|66|3780849860 +1.3.6.1.4.1.9.9.826.1.20.15.1.1.13890|66|13890 +1.3.6.1.4.1.9.9.826.1.20.15.1.1.29941|66|29941 +1.3.6.1.4.1.9.9.826.1.20.15.1.1.61144|66|61144 +1.3.6.1.4.1.9.9.826.1.20.15.1.1.62390|66|62390 +1.3.6.1.4.1.9.9.826.1.20.15.1.2.13890|4x|7468656972207a6f6d62696573207a6f6d62696573207a6f6d6269657320717561696e746c7920627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.15.1.2.29941|4x|7468656972206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.15.1.2.61144|4x|717561696e746c792062757420717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.15.1.2.62390|4x|6b657074207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.15.1.3.13890|4x|627574206b65707420717561696e746c79204a6164656420746865697220746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.15.1.3.29941|4x|717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.15.1.3.61144|4x|7a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.15.1.3.62390|4x|64726976696e67207a6f6d626965732064726976696e6720746865697220717561696e746c792064726976696e6720717561696e746c7920717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.15.1.4.13890|4x|64726976696e67206f78656e206163746564204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.15.1.4.29941|4x|666f7277617264204a61646564207a6f6d62696573206163746564206b6570742064726976696e67204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.15.1.4.61144|4x|6f78656e2064726976696e67207a6f6d626965732064726976696e67206163746564207a6f6d626965732062757420666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.15.1.4.62390|4x|717561696e746c79206f78656e204a6164656420616374656420666f72776172642064726976696e6720666f7277617264207468656972207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.15.1.5.13890|66|392120585 +1.3.6.1.4.1.9.9.826.1.20.15.1.5.29941|66|2444673049 +1.3.6.1.4.1.9.9.826.1.20.15.1.5.61144|66|494659779 +1.3.6.1.4.1.9.9.826.1.20.15.1.5.62390|66|2328082758 +1.3.6.1.4.1.9.9.826.1.20.15.1.6.13890|66|3093440458 +1.3.6.1.4.1.9.9.826.1.20.15.1.6.29941|66|898211456 +1.3.6.1.4.1.9.9.826.1.20.15.1.6.61144|66|1309891734 +1.3.6.1.4.1.9.9.826.1.20.15.1.6.62390|66|1107654796 +1.3.6.1.4.1.9.9.826.1.20.15.1.7.13890|4x|64726976696e67206f78656e204a61646564206f78656e2074686569722064726976696e6720627574206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.15.1.7.29941|4|but +1.3.6.1.4.1.9.9.826.1.20.15.1.7.61144|4x|627574204a61646564204a616465642062757420666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.15.1.7.62390|4x|64726976696e6720666f727761726420717561696e746c7920627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.15.1.8.13890|4x|6f78656e206b657074204a61646564207468656972 +1.3.6.1.4.1.9.9.826.1.20.15.1.8.29941|4x|666f727761726420666f727761726420717561696e746c792061637465642061637465642064726976696e67206163746564204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.15.1.8.61144|4x|74686569722064726976696e6720666f727761726420627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.15.1.8.62390|4x|666f7277617264207a6f6d6269657320616374656420746865697220717561696e746c7920666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.15.1.9.13890|4x|7a6f6d6269657320746865697220666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.15.1.9.29941|4x|6b657074204a61646564204a61646564207468656972207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.15.1.9.61144|4x|6b65707420627574204a616465642064726976696e6720717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.15.1.9.62390|4x|6b65707420717561696e746c79207a6f6d6269657320717561696e746c79206f78656e206b657074206f78656e207468656972 +1.3.6.1.4.1.9.9.826.1.20.15.1.10.13890|4x|74686569722064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.15.1.10.29941|4x|616374656420627574206f78656e20627574 +1.3.6.1.4.1.9.9.826.1.20.15.1.10.61144|4x|6f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.15.1.10.62390|4x|627574204a61646564206b657074204a6164656420717561696e746c792064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.15.1.11.13890|66|2958031587 +1.3.6.1.4.1.9.9.826.1.20.15.1.11.29941|66|4107566368 +1.3.6.1.4.1.9.9.826.1.20.15.1.11.61144|66|1398225386 +1.3.6.1.4.1.9.9.826.1.20.15.1.11.62390|66|3472718860 +1.3.6.1.4.1.9.9.826.1.20.15.1.12.13890|66|3006883912 +1.3.6.1.4.1.9.9.826.1.20.15.1.12.29941|66|204170351 +1.3.6.1.4.1.9.9.826.1.20.15.1.12.61144|66|3934353181 +1.3.6.1.4.1.9.9.826.1.20.15.1.12.62390|66|119772102 +1.3.6.1.4.1.9.9.826.1.20.15.1.13.13890|2|2 +1.3.6.1.4.1.9.9.826.1.20.15.1.13.29941|2|2 +1.3.6.1.4.1.9.9.826.1.20.15.1.13.61144|2|2 +1.3.6.1.4.1.9.9.826.1.20.15.1.13.62390|2|0 +1.3.6.1.4.1.9.9.826.1.20.15.1.14.13890|66|2251522587 +1.3.6.1.4.1.9.9.826.1.20.15.1.14.29941|66|1056673823 +1.3.6.1.4.1.9.9.826.1.20.15.1.14.61144|66|3211778805 +1.3.6.1.4.1.9.9.826.1.20.15.1.14.62390|66|1752585487 +1.3.6.1.4.1.9.9.826.1.20.16.1.1.19163|66|19163 +1.3.6.1.4.1.9.9.826.1.20.16.1.1.26766|66|26766 +1.3.6.1.4.1.9.9.826.1.20.16.1.1.50498|66|50498 +1.3.6.1.4.1.9.9.826.1.20.16.1.1.58774|66|58774 +1.3.6.1.4.1.9.9.826.1.20.16.1.2.19163|4x|64726976696e67204a6164656420666f727761726420666f727761726420666f727761726420746865697220627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.16.1.2.26766|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.16.1.2.50498|4x|627574207468656972206275742064726976696e672074686569722064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.16.1.2.58774|4x|6b6570742062757420717561696e746c79207a6f6d6269657320666f7277617264206f78656e20717561696e746c7920666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.16.1.3.19163|4x|64726976696e6720627574206b6570742064726976696e6720666f7277617264207468656972204a61646564206b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.16.1.3.26766|4|their +1.3.6.1.4.1.9.9.826.1.20.16.1.3.50498|4x|627574206275742064726976696e6720666f72776172642061637465642062757420627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.16.1.3.58774|4|zombies +1.3.6.1.4.1.9.9.826.1.20.16.1.4.19163|4x|7468656972206163746564207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.16.1.4.26766|4x|717561696e746c79207a6f6d6269657320627574206163746564206b657074206b657074206b65707420627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.16.1.4.50498|4x|6275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.16.1.4.58774|4x|627574207a6f6d6269657320717561696e746c792061637465642064726976696e67206163746564204a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.16.1.5.19163|4x|616374656420666f7277617264206f78656e206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.16.1.5.26766|4x|6b657074207a6f6d6269657320717561696e746c79206f78656e2064726976696e67204a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.16.1.5.50498|4x|717561696e746c7920717561696e746c7920627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.16.1.5.58774|4x|627574207a6f6d62696573204a6164656420627574207a6f6d62696573206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.16.1.6.19163|4x|6163746564206163746564207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.16.1.6.26766|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.16.1.6.50498|4x|6163746564206f78656e20616374656420666f7277617264204a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.16.1.6.58774|4x|7468656972206163746564206f78656e20717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.16.1.7.19163|4x|717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.16.1.7.26766|4x|7a6f6d62696573204a61646564206275742064726976696e67206f78656e +1.3.6.1.4.1.9.9.826.1.20.16.1.7.50498|4x|6b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.16.1.7.58774|4x|4a61646564204a6164656420616374656420627574206b657074206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.16.1.8.19163|66|4045221761 +1.3.6.1.4.1.9.9.826.1.20.16.1.8.26766|66|2308888791 +1.3.6.1.4.1.9.9.826.1.20.16.1.8.50498|66|3025262083 +1.3.6.1.4.1.9.9.826.1.20.16.1.8.58774|66|3530322787 +1.3.6.1.4.1.9.9.826.1.20.16.1.9.19163|2|1 +1.3.6.1.4.1.9.9.826.1.20.16.1.9.26766|2|0 +1.3.6.1.4.1.9.9.826.1.20.16.1.9.50498|2|0 +1.3.6.1.4.1.9.9.826.1.20.16.1.9.58774|2|1 +1.3.6.1.4.1.9.9.826.1.20.16.1.10.19163|2|3 +1.3.6.1.4.1.9.9.826.1.20.16.1.10.26766|2|2 +1.3.6.1.4.1.9.9.826.1.20.16.1.10.50498|2|4 +1.3.6.1.4.1.9.9.826.1.20.16.1.10.58774|2|2 +1.3.6.1.4.1.9.9.826.1.20.17.1.1.14391|66|14391 +1.3.6.1.4.1.9.9.826.1.20.17.1.1.33282|66|33282 +1.3.6.1.4.1.9.9.826.1.20.17.1.1.39514|66|39514 +1.3.6.1.4.1.9.9.826.1.20.17.1.1.42942|66|42942 +1.3.6.1.4.1.9.9.826.1.20.17.1.2.14391|4x|7a6f6d62696573206f78656e204a6164656420627574206f78656e206b65707420717561696e746c79204a61646564207468656972 +1.3.6.1.4.1.9.9.826.1.20.17.1.2.33282|4x|6b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.17.1.2.39514|4x|6f78656e206b657074207468656972206b65707420666f7277617264204a61646564204a6164656420717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.17.1.2.42942|4x|666f727761726420627574 +1.3.6.1.4.1.9.9.826.1.20.17.1.3.14391|4x|6f78656e2074686569722064726976696e67207a6f6d6269657320627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.17.1.3.33282|4x|6f78656e2064726976696e672064726976696e67207a6f6d6269657320666f7277617264206f78656e206f78656e207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.17.1.3.39514|4x|7a6f6d626965732061637465642074686569722062757420627574207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.17.1.3.42942|4x|717561696e746c7920717561696e746c79206163746564206f78656e206b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.17.1.4.14391|4x|64726976696e672074686569722062757420746865697220616374656420717561696e746c7920666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.17.1.4.33282|4x|666f7277617264207468656972206163746564206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.17.1.4.39514|4x|616374656420717561696e746c7920616374656420616374656420627574206f78656e20666f727761726420666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.17.1.4.42942|4x|6f78656e20717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.17.1.5.14391|4x|666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.17.1.5.33282|4x|6b6570742064726976696e672061637465642064726976696e6720717561696e746c7920717561696e746c79204a61646564207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.17.1.5.39514|4x|6f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.17.1.5.42942|4x|666f7277617264206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.17.1.6.14391|4x|6f78656e2062757420746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.17.1.6.33282|4x|616374656420746865697220717561696e746c79206b65707420666f72776172642062757420717561696e746c792064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.17.1.6.39514|4|oxen +1.3.6.1.4.1.9.9.826.1.20.17.1.6.42942|4x|717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.17.1.7.14391|66|730106305 +1.3.6.1.4.1.9.9.826.1.20.17.1.7.33282|66|3426067489 +1.3.6.1.4.1.9.9.826.1.20.17.1.7.39514|66|3032362432 +1.3.6.1.4.1.9.9.826.1.20.17.1.7.42942|66|2411528193 +1.3.6.1.4.1.9.9.826.1.20.17.1.8.14391|2|2 +1.3.6.1.4.1.9.9.826.1.20.17.1.8.33282|2|1 +1.3.6.1.4.1.9.9.826.1.20.17.1.8.39514|2|1 +1.3.6.1.4.1.9.9.826.1.20.17.1.8.42942|2|2 +1.3.6.1.4.1.9.9.826.1.20.17.1.9.14391|2|5 +1.3.6.1.4.1.9.9.826.1.20.17.1.9.33282|2|0 +1.3.6.1.4.1.9.9.826.1.20.17.1.9.39514|2|2 +1.3.6.1.4.1.9.9.826.1.20.17.1.9.42942|2|6 +1.3.6.1.4.1.9.9.826.1.20.17.1.10.14391|4|zombies +1.3.6.1.4.1.9.9.826.1.20.17.1.10.33282|4|acted +1.3.6.1.4.1.9.9.826.1.20.17.1.10.39514|4x|717561696e746c792064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.17.1.10.42942|4x|616374656420666f7277617264207468656972207a6f6d6269657320666f727761726420717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.18.1.1.34295|66|34295 +1.3.6.1.4.1.9.9.826.1.20.18.1.1.34410|66|34410 +1.3.6.1.4.1.9.9.826.1.20.18.1.1.50612|66|50612 +1.3.6.1.4.1.9.9.826.1.20.18.1.1.51070|66|51070 +1.3.6.1.4.1.9.9.826.1.20.18.1.2.34295|4x|616374656420616374656420666f7277617264207a6f6d6269657320666f7277617264207a6f6d6269657320717561696e746c79204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.18.1.2.34410|4x|4a61646564207a6f6d6269657320666f727761726420627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.18.1.2.50612|4x|666f7277617264206f78656e2064726976696e6720666f7277617264206163746564207a6f6d62696573207468656972207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.18.1.2.51070|4x|616374656420666f7277617264204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.18.1.3.34295|4x|6163746564207a6f6d6269657320666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.18.1.3.34410|4x|7468656972204a6164656420627574207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.18.1.3.50612|4x|4a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.18.1.3.51070|4x|666f727761726420717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.18.1.4.34295|4x|6f78656e2064726976696e6720717561696e746c79207468656972206f78656e20627574204a61646564204a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.18.1.4.34410|4x|616374656420666f727761726420666f7277617264206f78656e20666f727761726420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.18.1.4.50612|4x|4a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.18.1.4.51070|4x|6275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.18.1.5.34295|4x|6b657074206b657074207468656972206f78656e20627574206f78656e204a61646564207a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.18.1.5.34410|4|oxen +1.3.6.1.4.1.9.9.826.1.20.18.1.5.50612|4x|62757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.18.1.5.51070|4x|7468656972204a6164656420717561696e746c79206b65707420666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.18.1.6.34295|4x|6f78656e2064726976696e6720666f727761726420746865697220717561696e746c792061637465642064726976696e672064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.18.1.6.34410|4x|627574206f78656e +1.3.6.1.4.1.9.9.826.1.20.18.1.6.50612|4x|64726976696e67206b657074204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.18.1.6.51070|4|but +1.3.6.1.4.1.9.9.826.1.20.18.1.7.34295|66|187442272 +1.3.6.1.4.1.9.9.826.1.20.18.1.7.34410|66|3831281691 +1.3.6.1.4.1.9.9.826.1.20.18.1.7.50612|66|4155279416 +1.3.6.1.4.1.9.9.826.1.20.18.1.7.51070|66|1222722136 +1.3.6.1.4.1.9.9.826.1.20.18.1.8.34295|2|2 +1.3.6.1.4.1.9.9.826.1.20.18.1.8.34410|2|0 +1.3.6.1.4.1.9.9.826.1.20.18.1.8.50612|2|0 +1.3.6.1.4.1.9.9.826.1.20.18.1.8.51070|2|1 +1.3.6.1.4.1.9.9.826.1.20.19.1.1.1985|66|1985 +1.3.6.1.4.1.9.9.826.1.20.19.1.1.47449|66|47449 +1.3.6.1.4.1.9.9.826.1.20.19.1.1.57100|66|57100 +1.3.6.1.4.1.9.9.826.1.20.19.1.1.63239|66|63239 +1.3.6.1.4.1.9.9.826.1.20.19.1.2.1985|4x|7a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.19.1.2.47449|4x|62757420666f7277617264206b657074206b657074206f78656e206163746564207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.20.19.1.2.57100|4x|6b65707420666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.19.1.2.63239|4x|6f78656e20666f727761726420717561696e746c7920627574206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.19.1.3.1985|4x|6b6570742062757420717561696e746c7920746865697220717561696e746c79206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.19.1.3.47449|4|driving +1.3.6.1.4.1.9.9.826.1.20.19.1.3.57100|4|kept +1.3.6.1.4.1.9.9.826.1.20.19.1.3.63239|4|oxen +1.3.6.1.4.1.9.9.826.1.20.19.1.4.1985|2|1 +1.3.6.1.4.1.9.9.826.1.20.19.1.4.47449|2|2 +1.3.6.1.4.1.9.9.826.1.20.19.1.4.57100|2|1 +1.3.6.1.4.1.9.9.826.1.20.19.1.4.63239|2|2 +1.3.6.1.4.1.9.9.826.1.20.19.1.5.1985|4x|6b6570742062757420717561696e746c7920717561696e746c79204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.19.1.5.47449|4|their +1.3.6.1.4.1.9.9.826.1.20.19.1.5.57100|4|driving +1.3.6.1.4.1.9.9.826.1.20.19.1.5.63239|4x|64726976696e67206f78656e206f78656e206b65707420627574204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.19.1.6.1985|4x|64726976696e6720666f7277617264206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.19.1.6.47449|4x|4a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.19.1.6.57100|4x|6b657074207a6f6d62696573206b65707420627574204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.19.1.6.63239|4x|666f7277617264207468656972207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.19.1.7.1985|4|kept +1.3.6.1.4.1.9.9.826.1.20.19.1.7.47449|4x|666f727761726420717561696e746c7920616374656420717561696e746c7920666f7277617264206f78656e2064726976696e672064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.19.1.7.57100|4x|64726976696e67207a6f6d626965732061637465642064726976696e672064726976696e67206f78656e +1.3.6.1.4.1.9.9.826.1.20.19.1.7.63239|4x|6163746564206f78656e20666f72776172642064726976696e67207468656972206f78656e20627574206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.19.1.8.1985|66|574851208 +1.3.6.1.4.1.9.9.826.1.20.19.1.8.47449|66|1064006491 +1.3.6.1.4.1.9.9.826.1.20.19.1.8.57100|66|3192889896 +1.3.6.1.4.1.9.9.826.1.20.19.1.8.63239|66|579031024 +1.3.6.1.4.1.9.9.826.1.20.19.1.9.1985|2|0 +1.3.6.1.4.1.9.9.826.1.20.19.1.9.47449|2|0 +1.3.6.1.4.1.9.9.826.1.20.19.1.9.57100|2|0 +1.3.6.1.4.1.9.9.826.1.20.19.1.9.63239|2|1 +1.3.6.1.4.1.9.9.826.1.20.19.1.10.1985|2|1 +1.3.6.1.4.1.9.9.826.1.20.19.1.10.47449|2|1 +1.3.6.1.4.1.9.9.826.1.20.19.1.10.57100|2|1 +1.3.6.1.4.1.9.9.826.1.20.19.1.10.63239|2|1 +1.3.6.1.4.1.9.9.826.1.20.19.1.11.1985|4|oxen +1.3.6.1.4.1.9.9.826.1.20.19.1.11.47449|4x|616374656420627574206b657074207a6f6d6269657320717561696e746c792064726976696e67206f78656e +1.3.6.1.4.1.9.9.826.1.20.19.1.11.57100|4x|64726976696e67206163746564206b657074206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.19.1.11.63239|4x|6b657074206275742062757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.20.1.1.9860|66|9860 +1.3.6.1.4.1.9.9.826.1.20.20.1.1.16518|66|16518 +1.3.6.1.4.1.9.9.826.1.20.20.1.1.41646|66|41646 +1.3.6.1.4.1.9.9.826.1.20.20.1.1.47075|66|47075 +1.3.6.1.4.1.9.9.826.1.20.20.1.2.9860|4x|7468656972206f78656e207468656972206f78656e204a61646564204a61646564207a6f6d62696573206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.20.1.2.16518|4x|627574206b65707420666f727761726420746865697220666f727761726420717561696e746c79206f78656e206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.20.1.2.41646|4x|6b657074204a61646564206163746564206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.20.1.2.47075|4x|6b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.20.1.3.9860|4x|717561696e746c79206f78656e204a61646564206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.20.1.3.16518|4x|61637465642064726976696e67204a6164656420627574207468656972206b657074206f78656e206f78656e207468656972 +1.3.6.1.4.1.9.9.826.1.20.20.1.3.41646|4x|4a61646564206163746564204a61646564206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.20.1.3.47075|4x|717561696e746c79204a61646564207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.20.1.4.9860|2|1 +1.3.6.1.4.1.9.9.826.1.20.20.1.4.16518|2|1 +1.3.6.1.4.1.9.9.826.1.20.20.1.4.41646|2|1 +1.3.6.1.4.1.9.9.826.1.20.20.1.4.47075|2|2 +1.3.6.1.4.1.9.9.826.1.20.20.1.5.9860|2|2 +1.3.6.1.4.1.9.9.826.1.20.20.1.5.16518|2|2 +1.3.6.1.4.1.9.9.826.1.20.20.1.5.41646|2|1 +1.3.6.1.4.1.9.9.826.1.20.20.1.5.47075|2|2 +1.3.6.1.4.1.9.9.826.1.20.20.1.6.9860|66|3379828475 +1.3.6.1.4.1.9.9.826.1.20.20.1.6.16518|66|1450054812 +1.3.6.1.4.1.9.9.826.1.20.20.1.6.41646|66|950009585 +1.3.6.1.4.1.9.9.826.1.20.20.1.6.47075|66|903644219 +1.3.6.1.4.1.9.9.826.1.20.20.1.7.9860|66|770597373 +1.3.6.1.4.1.9.9.826.1.20.20.1.7.16518|66|1612956258 +1.3.6.1.4.1.9.9.826.1.20.20.1.7.41646|66|412766179 +1.3.6.1.4.1.9.9.826.1.20.20.1.7.47075|66|3459287154 +1.3.6.1.4.1.9.9.826.1.20.20.1.8.9860|66|3259222396 +1.3.6.1.4.1.9.9.826.1.20.20.1.8.16518|66|3240170675 +1.3.6.1.4.1.9.9.826.1.20.20.1.8.41646|66|1666044762 +1.3.6.1.4.1.9.9.826.1.20.20.1.8.47075|66|3357094504 +1.3.6.1.4.1.9.9.826.1.20.20.1.9.9860|66|499219360 +1.3.6.1.4.1.9.9.826.1.20.20.1.9.16518|66|1215639806 +1.3.6.1.4.1.9.9.826.1.20.20.1.9.41646|66|4072622875 +1.3.6.1.4.1.9.9.826.1.20.20.1.9.47075|66|39150055 +1.3.6.1.4.1.9.9.826.1.20.20.1.10.9860|66|2442271630 +1.3.6.1.4.1.9.9.826.1.20.20.1.10.16518|66|647350429 +1.3.6.1.4.1.9.9.826.1.20.20.1.10.41646|66|1022354849 +1.3.6.1.4.1.9.9.826.1.20.20.1.10.47075|66|512567472 +1.3.6.1.4.1.9.9.826.1.20.20.1.11.9860|4x|6f78656e204a616465642064726976696e6720616374656420666f727761726420627574207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.20.1.11.16518|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.20.1.11.41646|4x|6f78656e20717561696e746c7920666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.20.1.11.47075|4x|7a6f6d626965732064726976696e67206163746564206b657074206163746564207a6f6d62696573204a61646564 +1.3.6.1.4.1.9.9.826.1.20.20.1.12.9860|4|kept +1.3.6.1.4.1.9.9.826.1.20.20.1.12.16518|4x|61637465642064726976696e67206b65707420666f7277617264204a6164656420666f7277617264207a6f6d6269657320666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.20.1.12.41646|4x|4a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.20.1.12.47075|4x|4a61646564204a6164656420717561696e746c792062757420717561696e746c7920666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.20.1.13.9860|66|2227333932 +1.3.6.1.4.1.9.9.826.1.20.20.1.13.16518|66|1342826566 +1.3.6.1.4.1.9.9.826.1.20.20.1.13.41646|66|885698215 +1.3.6.1.4.1.9.9.826.1.20.20.1.13.47075|66|2165704054 +1.3.6.1.4.1.9.9.826.1.20.20.1.14.9860|4x|6f78656e2064726976696e6720627574204a6164656420666f727761726420627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.20.1.14.16518|4x|6163746564207468656972204a6164656420717561696e746c79207a6f6d62696573206b657074206f78656e204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.20.1.14.41646|4x|6b65707420616374656420666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.20.1.14.47075|4x|6163746564206163746564206f78656e2064726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.20.1.15.9860|4|zombies +1.3.6.1.4.1.9.9.826.1.20.20.1.15.16518|4x|717561696e746c792064726976696e6720666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.20.1.15.41646|4x|74686569722064726976696e6720746865697220717561696e746c7920717561696e746c792064726976696e67204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.20.1.15.47075|4x|7a6f6d62696573204a6164656420666f7277617264206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.21.1.1.11810|66|11810 +1.3.6.1.4.1.9.9.826.1.20.21.1.1.13885|66|13885 +1.3.6.1.4.1.9.9.826.1.20.21.1.1.16107|66|16107 +1.3.6.1.4.1.9.9.826.1.20.21.1.1.44780|66|44780 +1.3.6.1.4.1.9.9.826.1.20.21.1.2.11810|4x|7468656972207a6f6d62696573206b657074207a6f6d6269657320746865697220627574206b657074207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.21.1.2.13885|4x|4a6164656420666f727761726420627574204a6164656420666f7277617264206f78656e207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.21.1.2.16107|4x|6b6570742064726976696e67204a61646564206f78656e2064726976696e67207a6f6d62696573206f78656e207468656972 +1.3.6.1.4.1.9.9.826.1.20.21.1.2.44780|4x|7a6f6d6269657320627574206f78656e207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.21.1.3.11810|4x|666f7277617264206b6570742061637465642064726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.21.1.3.13885|4x|6f78656e20746865697220627574207468656972207a6f6d62696573207a6f6d6269657320666f727761726420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.21.1.3.16107|4x|746865697220717561696e746c792064726976696e67206b657074206f78656e2064726976696e67206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.21.1.3.44780|4x|74686569722064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.21.1.4.11810|2|1 +1.3.6.1.4.1.9.9.826.1.20.21.1.4.13885|2|1 +1.3.6.1.4.1.9.9.826.1.20.21.1.4.16107|2|0 +1.3.6.1.4.1.9.9.826.1.20.21.1.4.44780|2|1 +1.3.6.1.4.1.9.9.826.1.20.21.1.5.11810|2|7 +1.3.6.1.4.1.9.9.826.1.20.21.1.5.13885|2|4 +1.3.6.1.4.1.9.9.826.1.20.21.1.5.16107|2|3 +1.3.6.1.4.1.9.9.826.1.20.21.1.5.44780|2|7 +1.3.6.1.4.1.9.9.826.1.20.21.1.6.11810|2|9 +1.3.6.1.4.1.9.9.826.1.20.21.1.6.13885|2|0 +1.3.6.1.4.1.9.9.826.1.20.21.1.6.16107|2|2 +1.3.6.1.4.1.9.9.826.1.20.21.1.6.44780|2|3 +1.3.6.1.4.1.9.9.826.1.20.21.1.7.11810|4x|7468656972204a6164656420717561696e746c7920627574206f78656e2062757420717561696e746c79206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.21.1.7.13885|4x|627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.21.1.7.16107|4x|717561696e746c79204a616465642064726976696e67206163746564206b657074206163746564206b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.21.1.7.44780|4x|64726976696e67206f78656e207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.21.1.8.11810|4x|666f72776172642074686569722064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.21.1.8.13885|4x|6f78656e2062757420717561696e746c79206f78656e206b657074207468656972204a616465642064726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.21.1.8.16107|4x|616374656420717561696e746c792064726976696e67207a6f6d62696573206b657074207468656972207468656972204a61646564207468656972 +1.3.6.1.4.1.9.9.826.1.20.21.1.8.44780|4|forward +1.3.6.1.4.1.9.9.826.1.20.21.1.9.11810|4|kept +1.3.6.1.4.1.9.9.826.1.20.21.1.9.13885|4x|7468656972207a6f6d626965732062757420666f7277617264206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.21.1.9.16107|4x|62757420666f7277617264206f78656e207a6f6d62696573206275742062757420627574206f78656e +1.3.6.1.4.1.9.9.826.1.20.21.1.9.44780|4x|64726976696e67207468656972204a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.21.1.10.11810|70|7387440516179559991 +1.3.6.1.4.1.9.9.826.1.20.21.1.10.13885|70|9389303044727676139 +1.3.6.1.4.1.9.9.826.1.20.21.1.10.16107|70|11187419836809918890 +1.3.6.1.4.1.9.9.826.1.20.21.1.10.44780|70|8302758254659048547 +1.3.6.1.4.1.9.9.826.1.20.21.1.11.11810|4x|64726976696e67207a6f6d626965732064726976696e67206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.21.1.11.13885|4x|64726976696e672064726976696e67204a61646564207a6f6d62696573206b6570742064726976696e6720616374656420717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.21.1.11.16107|4x|6f78656e204a61646564206163746564207468656972207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.21.1.11.44780|4x|717561696e746c7920666f72776172642062757420616374656420746865697220666f7277617264206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.21.1.12.11810|4x|717561696e746c79206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.21.1.12.13885|4x|6f78656e20746865697220717561696e746c792064726976696e67207a6f6d62696573206163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.21.1.12.16107|4x|4a6164656420627574204a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.21.1.12.44780|4x|6b65707420717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.21.1.13.11810|66|2400176536 +1.3.6.1.4.1.9.9.826.1.20.21.1.13.13885|66|1654150176 +1.3.6.1.4.1.9.9.826.1.20.21.1.13.16107|66|574679750 +1.3.6.1.4.1.9.9.826.1.20.21.1.13.44780|66|4215620236 +1.3.6.1.4.1.9.9.826.1.20.21.1.14.11810|66|1774197699 +1.3.6.1.4.1.9.9.826.1.20.21.1.14.13885|66|985510649 +1.3.6.1.4.1.9.9.826.1.20.21.1.14.16107|66|3888180627 +1.3.6.1.4.1.9.9.826.1.20.21.1.14.44780|66|2165126580 +1.3.6.1.4.1.9.9.826.1.20.21.1.15.11810|4x|6275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.21.1.15.13885|4x|6163746564204a6164656420627574207a6f6d6269657320666f72776172642062757420717561696e746c79206f78656e207468656972 +1.3.6.1.4.1.9.9.826.1.20.21.1.15.16107|4x|4a6164656420616374656420616374656420717561696e746c792061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.21.1.15.44780|4x|6b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.21.1.16.11810|4x|616374656420666f7277617264207468656972206b65707420717561696e746c79204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.21.1.16.13885|4x|616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.21.1.16.16107|4x|627574206b6570742064726976696e672064726976696e6720746865697220746865697220666f7277617264204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.21.1.16.44780|4x|6b657074206163746564207468656972206f78656e204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.21.1.17.11810|4x|717561696e746c79207a6f6d6269657320717561696e746c79204a61646564204a61646564206163746564204a616465642064726976696e672064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.21.1.17.13885|4x|627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.21.1.17.16107|4x|6b657074207a6f6d62696573206b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.21.1.17.44780|4x|64726976696e67206b657074206b6570742064726976696e67206f78656e20627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.21.1.18.11810|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.21.1.18.13885|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.21.1.18.16107|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.21.1.18.44780|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.21.1.19.11810|4x|746865697220717561696e746c79206f78656e207468656972 +1.3.6.1.4.1.9.9.826.1.20.21.1.19.13885|4|zombies +1.3.6.1.4.1.9.9.826.1.20.21.1.19.16107|4x|666f7277617264206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.21.1.19.44780|4x|7a6f6d62696573207a6f6d626965732064726976696e6720666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.21.1.20.11810|66|1567740134 +1.3.6.1.4.1.9.9.826.1.20.21.1.20.13885|66|148972855 +1.3.6.1.4.1.9.9.826.1.20.21.1.20.16107|66|1511528529 +1.3.6.1.4.1.9.9.826.1.20.21.1.20.44780|66|2764410173 +1.3.6.1.4.1.9.9.826.1.20.21.1.21.11810|66|1 +1.3.6.1.4.1.9.9.826.1.20.21.1.21.13885|66|1 +1.3.6.1.4.1.9.9.826.1.20.21.1.21.16107|66|1 +1.3.6.1.4.1.9.9.826.1.20.21.1.21.44780|66|1 +1.3.6.1.4.1.9.9.826.1.20.21.1.22.11810|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.21.1.22.13885|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.21.1.22.16107|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.21.1.22.44780|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.21.1.23.11810|70|13912662933489236461 +1.3.6.1.4.1.9.9.826.1.20.21.1.23.13885|70|9894827621167931438 +1.3.6.1.4.1.9.9.826.1.20.21.1.23.16107|70|9916271245747511479 +1.3.6.1.4.1.9.9.826.1.20.21.1.23.44780|70|3109630235083799218 +1.3.6.1.4.1.9.9.826.1.20.21.1.24.11810|2|1 +1.3.6.1.4.1.9.9.826.1.20.21.1.24.13885|2|5 +1.3.6.1.4.1.9.9.826.1.20.21.1.24.16107|2|0 +1.3.6.1.4.1.9.9.826.1.20.21.1.24.44780|2|3 +1.3.6.1.4.1.9.9.826.1.20.21.1.25.11810|2|0 +1.3.6.1.4.1.9.9.826.1.20.21.1.25.13885|2|2 +1.3.6.1.4.1.9.9.826.1.20.21.1.25.16107|2|1 +1.3.6.1.4.1.9.9.826.1.20.21.1.25.44780|2|0 +1.3.6.1.4.1.9.9.826.1.20.21.1.26.11810|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.21.1.26.13885|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.21.1.26.16107|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.21.1.26.44780|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.21.1.27.11810|4x|627574207a6f6d62696573206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.21.1.27.13885|4x|61637465642061637465642062757420666f727761726420717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.21.1.27.16107|4x|6f78656e2062757420627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.21.1.27.44780|4x|6b657074206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.21.1.28.11810|4x|717561696e746c792062757420627574 +1.3.6.1.4.1.9.9.826.1.20.21.1.28.13885|4x|64726976696e672064726976696e67207468656972206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.21.1.28.16107|4x|4a6164656420717561696e746c792074686569722064726976696e6720717561696e746c79207a6f6d6269657320666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.21.1.28.44780|4x|627574206f78656e20616374656420746865697220717561696e746c7920666f7277617264206f78656e +1.3.6.1.4.1.9.9.826.1.20.21.1.29.11810|4x|4a6164656420616374656420666f7277617264206f78656e20627574204a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.21.1.29.13885|4x|746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.21.1.29.16107|4x|64726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.21.1.29.44780|4x|7468656972207a6f6d6269657320717561696e746c7920666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.21.1.30.11810|2|8 +1.3.6.1.4.1.9.9.826.1.20.21.1.30.13885|2|8 +1.3.6.1.4.1.9.9.826.1.20.21.1.30.16107|2|14 +1.3.6.1.4.1.9.9.826.1.20.21.1.30.44780|2|6 +1.3.6.1.4.1.9.9.826.1.20.21.1.31.11810|2|5 +1.3.6.1.4.1.9.9.826.1.20.21.1.31.13885|2|9 +1.3.6.1.4.1.9.9.826.1.20.21.1.31.16107|2|2 +1.3.6.1.4.1.9.9.826.1.20.21.1.31.44780|2|7 +1.3.6.1.4.1.9.9.826.1.20.21.1.32.11810|4x|6f78656e207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.21.1.32.13885|4x|666f7277617264207a6f6d62696573204a61646564206f78656e207a6f6d62696573206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.21.1.32.16107|4|zombies +1.3.6.1.4.1.9.9.826.1.20.21.1.32.44780|4x|616374656420616374656420616374656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.21.1.33.11810|2|4 +1.3.6.1.4.1.9.9.826.1.20.21.1.33.13885|2|6 +1.3.6.1.4.1.9.9.826.1.20.21.1.33.16107|2|4 +1.3.6.1.4.1.9.9.826.1.20.21.1.33.44780|2|1 +1.3.6.1.4.1.9.9.826.1.20.21.1.34.11810|2|15 +1.3.6.1.4.1.9.9.826.1.20.21.1.34.13885|2|1 +1.3.6.1.4.1.9.9.826.1.20.21.1.34.16107|2|10 +1.3.6.1.4.1.9.9.826.1.20.21.1.34.44780|2|11 +1.3.6.1.4.1.9.9.826.1.20.21.1.35.11810|4x|6b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.21.1.35.13885|4x|666f7277617264207468656972204a616465642062757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.21.1.35.16107|4x|74686569722064726976696e6720717561696e746c792061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.21.1.35.44780|4x|616374656420627574206163746564206b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.21.1.36.11810|2|3 +1.3.6.1.4.1.9.9.826.1.20.21.1.36.13885|2|6 +1.3.6.1.4.1.9.9.826.1.20.21.1.36.16107|2|5 +1.3.6.1.4.1.9.9.826.1.20.21.1.36.44780|2|11 +1.3.6.1.4.1.9.9.826.1.20.21.1.37.11810|4x|717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.21.1.37.13885|4x|62757420666f7277617264206b657074206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.21.1.37.16107|4x|717561696e746c7920746865697220717561696e746c79206f78656e2064726976696e6720717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.21.1.37.44780|4x|6275742064726976696e6720666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.21.1.38.11810|2|5 +1.3.6.1.4.1.9.9.826.1.20.21.1.38.13885|2|5 +1.3.6.1.4.1.9.9.826.1.20.21.1.38.16107|2|1 +1.3.6.1.4.1.9.9.826.1.20.21.1.38.44780|2|1 +1.3.6.1.4.1.9.9.826.1.20.21.1.39.11810|4x|717561696e746c792064726976696e6720666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.21.1.39.13885|4x|7468656972204a61646564204a61646564207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.21.1.39.16107|4x|7a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.21.1.39.44780|4|kept +1.3.6.1.4.1.9.9.826.1.20.21.1.40.11810|4x|64726976696e6720666f7277617264204a616465642064726976696e672074686569722064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.21.1.40.13885|4x|62757420717561696e746c7920616374656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.21.1.40.16107|4x|4a6164656420666f727761726420717561696e746c7920666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.21.1.40.44780|4x|6b657074206163746564 +1.3.6.1.4.1.9.9.826.1.20.21.1.41.11810|4x|7a6f6d62696573206b657074206163746564204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.21.1.41.13885|4x|717561696e746c7920717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.21.1.41.16107|4x|616374656420666f7277617264204a61646564206f78656e207468656972 +1.3.6.1.4.1.9.9.826.1.20.21.1.41.44780|4x|4a61646564204a61646564204a61646564207468656972206b657074206163746564206f78656e207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.21.1.42.11810|2|1 +1.3.6.1.4.1.9.9.826.1.20.21.1.42.13885|2|1 +1.3.6.1.4.1.9.9.826.1.20.21.1.42.16107|2|1 +1.3.6.1.4.1.9.9.826.1.20.21.1.42.44780|2|1 +1.3.6.1.4.1.9.9.826.1.20.21.1.43.11810|4x|7a6f6d62696573207468656972206b657074207a6f6d62696573204a61646564206f78656e206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.21.1.43.13885|4x|4a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.21.1.43.16107|4x|7468656972207468656972206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.21.1.43.44780|4x|74686569722064726976696e67207468656972207a6f6d62696573206b657074206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.21.1.44.11810|4x|64726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.21.1.44.13885|4x|64726976696e67206b65707420746865697220666f7277617264206b657074207a6f6d62696573207a6f6d6269657320627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.21.1.44.16107|4x|666f7277617264206b6570742064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.21.1.44.44780|4x|627574207468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.22.1.1.4014|66|4014 +1.3.6.1.4.1.9.9.826.1.20.22.1.1.22106|66|22106 +1.3.6.1.4.1.9.9.826.1.20.22.1.1.32540|66|32540 +1.3.6.1.4.1.9.9.826.1.20.22.1.1.47249|66|47249 +1.3.6.1.4.1.9.9.826.1.20.22.1.2.4014|4|kept +1.3.6.1.4.1.9.9.826.1.20.22.1.2.22106|4x|64726976696e67206b657074206f78656e206163746564207468656972 +1.3.6.1.4.1.9.9.826.1.20.22.1.2.32540|4x|616374656420666f7277617264204a6164656420666f7277617264207468656972206f78656e206f78656e204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.22.1.2.47249|4x|4a6164656420627574206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.22.1.3.4014|4x|6f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.22.1.3.22106|4x|64726976696e6720666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.22.1.3.32540|4x|7a6f6d62696573206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.22.1.3.47249|4x|717561696e746c792064726976696e67204a6164656420666f7277617264207a6f6d62696573207468656972206b657074206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.22.1.4.4014|2|2 +1.3.6.1.4.1.9.9.826.1.20.22.1.4.22106|2|2 +1.3.6.1.4.1.9.9.826.1.20.22.1.4.32540|2|1 +1.3.6.1.4.1.9.9.826.1.20.22.1.4.47249|2|1 +1.3.6.1.4.1.9.9.826.1.20.22.1.5.4014|2|1 +1.3.6.1.4.1.9.9.826.1.20.22.1.5.22106|2|1 +1.3.6.1.4.1.9.9.826.1.20.22.1.5.32540|2|1 +1.3.6.1.4.1.9.9.826.1.20.22.1.5.47249|2|1 +1.3.6.1.4.1.9.9.826.1.20.22.1.6.4014|66|1692183549 +1.3.6.1.4.1.9.9.826.1.20.22.1.6.22106|66|2654231756 +1.3.6.1.4.1.9.9.826.1.20.22.1.6.32540|66|617826150 +1.3.6.1.4.1.9.9.826.1.20.22.1.6.47249|66|2347262950 +1.3.6.1.4.1.9.9.826.1.20.22.1.7.4014|66|2969994482 +1.3.6.1.4.1.9.9.826.1.20.22.1.7.22106|66|3265781178 +1.3.6.1.4.1.9.9.826.1.20.22.1.7.32540|66|797624678 +1.3.6.1.4.1.9.9.826.1.20.22.1.7.47249|66|1434423753 +1.3.6.1.4.1.9.9.826.1.20.22.1.8.4014|66|3539370032 +1.3.6.1.4.1.9.9.826.1.20.22.1.8.22106|66|4081901114 +1.3.6.1.4.1.9.9.826.1.20.22.1.8.32540|66|2382392803 +1.3.6.1.4.1.9.9.826.1.20.22.1.8.47249|66|3021450619 +1.3.6.1.4.1.9.9.826.1.20.22.1.9.4014|66|1909254949 +1.3.6.1.4.1.9.9.826.1.20.22.1.9.22106|66|377671851 +1.3.6.1.4.1.9.9.826.1.20.22.1.9.32540|66|920297489 +1.3.6.1.4.1.9.9.826.1.20.22.1.9.47249|66|1970296821 +1.3.6.1.4.1.9.9.826.1.20.22.1.10.4014|66|556230660 +1.3.6.1.4.1.9.9.826.1.20.22.1.10.22106|66|4284192965 +1.3.6.1.4.1.9.9.826.1.20.22.1.10.32540|66|1093623560 +1.3.6.1.4.1.9.9.826.1.20.22.1.10.47249|66|115935411 +1.3.6.1.4.1.9.9.826.1.20.22.1.11.4014|4x|64726976696e67204a616465642064726976696e6720616374656420616374656420627574207468656972204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.22.1.11.22106|4x|616374656420616374656420746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.22.1.11.32540|4x|64726976696e67206f78656e206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.22.1.11.47249|4|oxen +1.3.6.1.4.1.9.9.826.1.20.22.1.12.4014|4x|6b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.22.1.12.22106|4x|64726976696e67206163746564207a6f6d626965732064726976696e67206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.22.1.12.32540|4x|717561696e746c79207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.22.1.12.47249|4x|6b657074206b657074207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.22.1.13.4014|66|1202911883 +1.3.6.1.4.1.9.9.826.1.20.22.1.13.22106|66|1119835681 +1.3.6.1.4.1.9.9.826.1.20.22.1.13.32540|66|4192583851 +1.3.6.1.4.1.9.9.826.1.20.22.1.13.47249|66|1992528969 +1.3.6.1.4.1.9.9.826.1.20.22.1.14.4014|4x|6163746564206163746564204a6164656420717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.22.1.14.22106|4x|666f7277617264206b65707420717561696e746c7920627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.22.1.14.32540|4x|6b6570742064726976696e6720666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.22.1.14.47249|4x|616374656420717561696e746c79206f78656e20717561696e746c79206b657074207a6f6d62696573206f78656e20627574 +1.3.6.1.4.1.9.9.826.1.20.22.1.15.4014|4x|6163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.22.1.15.22106|4|forward +1.3.6.1.4.1.9.9.826.1.20.22.1.15.32540|4x|4a6164656420717561696e746c7920666f727761726420717561696e746c79206163746564207a6f6d6269657320666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.22.1.15.47249|4x|666f7277617264204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.23.1.1.6056|66|6056 +1.3.6.1.4.1.9.9.826.1.20.23.1.1.17130|66|17130 +1.3.6.1.4.1.9.9.826.1.20.23.1.1.19581|66|19581 +1.3.6.1.4.1.9.9.826.1.20.23.1.1.51897|66|51897 +1.3.6.1.4.1.9.9.826.1.20.23.1.2.6056|4x|6b6570742064726976696e67207a6f6d62696573207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.23.1.2.17130|4x|64726976696e67206b65707420627574204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.23.1.2.19581|4x|4a61646564204a61646564206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.23.1.2.51897|4|forward +1.3.6.1.4.1.9.9.826.1.20.23.1.3.6056|4x|7a6f6d62696573207a6f6d62696573207a6f6d62696573206f78656e204a6164656420717561696e746c792064726976696e67206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.23.1.3.17130|4x|64726976696e67206163746564206f78656e206163746564206b657074206b657074206b657074206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.23.1.3.19581|4x|6275742064726976696e67204a61646564207468656972206163746564207468656972206f78656e204a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.23.1.3.51897|4x|4a61646564206f78656e20666f7277617264207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.23.1.4.6056|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.23.1.4.17130|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.23.1.4.19581|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.23.1.4.51897|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.23.1.5.6056|2|9 +1.3.6.1.4.1.9.9.826.1.20.23.1.5.17130|2|0 +1.3.6.1.4.1.9.9.826.1.20.23.1.5.19581|2|0 +1.3.6.1.4.1.9.9.826.1.20.23.1.5.51897|2|0 +1.3.6.1.4.1.9.9.826.1.20.23.1.6.6056|4x|717561696e746c792064726976696e6720627574206b65707420666f727761726420666f7277617264206163746564206163746564207468656972 +1.3.6.1.4.1.9.9.826.1.20.23.1.6.17130|4x|7468656972206f78656e2064726976696e6720717561696e746c79204a6164656420717561696e746c79206163746564206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.23.1.6.19581|4x|4a61646564206f78656e20746865697220666f727761726420616374656420627574204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.23.1.6.51897|4x|6163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.23.1.7.6056|2|1 +1.3.6.1.4.1.9.9.826.1.20.23.1.7.17130|2|1 +1.3.6.1.4.1.9.9.826.1.20.23.1.7.19581|2|5 +1.3.6.1.4.1.9.9.826.1.20.23.1.7.51897|2|2 +1.3.6.1.4.1.9.9.826.1.20.23.1.8.6056|66|1442191955 +1.3.6.1.4.1.9.9.826.1.20.23.1.8.17130|66|1297259553 +1.3.6.1.4.1.9.9.826.1.20.23.1.8.19581|66|661629576 +1.3.6.1.4.1.9.9.826.1.20.23.1.8.51897|66|2955749014 +1.3.6.1.4.1.9.9.826.1.20.23.1.9.6056|66|2165547629 +1.3.6.1.4.1.9.9.826.1.20.23.1.9.17130|66|3664733884 +1.3.6.1.4.1.9.9.826.1.20.23.1.9.19581|66|1546247684 +1.3.6.1.4.1.9.9.826.1.20.23.1.9.51897|66|458947346 +1.3.6.1.4.1.9.9.826.1.20.23.1.10.6056|4x|4a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.23.1.10.17130|4x|4a61646564206b6570742064726976696e6720717561696e746c7920666f7277617264207a6f6d6269657320666f727761726420616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.23.1.10.19581|4x|6b65707420666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.23.1.10.51897|4x|717561696e746c79204a6164656420717561696e746c792061637465642061637465642062757420627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.23.1.11.6056|4x|4a61646564206f78656e206163746564207a6f6d62696573207a6f6d6269657320666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.23.1.11.17130|4x|7a6f6d626965732064726976696e6720627574207a6f6d62696573206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.23.1.11.19581|4x|4a6164656420717561696e746c79204a6164656420666f7277617264204a61646564206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.23.1.11.51897|4x|627574206163746564207468656972206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.24.1.1.1661|66|1661 +1.3.6.1.4.1.9.9.826.1.20.24.1.1.2795|66|2795 +1.3.6.1.4.1.9.9.826.1.20.24.1.1.13414|66|13414 +1.3.6.1.4.1.9.9.826.1.20.24.1.1.37585|66|37585 +1.3.6.1.4.1.9.9.826.1.20.24.1.2.1661|4x|627574207468656972207a6f6d62696573206f78656e207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.24.1.2.2795|4x|627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.24.1.2.13414|4x|6b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.24.1.2.37585|4x|64726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.24.1.3.1661|4|their +1.3.6.1.4.1.9.9.826.1.20.24.1.3.2795|4x|717561696e746c79207a6f6d62696573207a6f6d62696573206b657074206b6570742064726976696e67207468656972204a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.24.1.3.13414|4x|6b657074206f78656e20666f727761726420746865697220627574207a6f6d62696573206b657074 +1.3.6.1.4.1.9.9.826.1.20.24.1.3.37585|4|oxen +1.3.6.1.4.1.9.9.826.1.20.24.1.4.1661|4x|7468656972204a6164656420616374656420616374656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.24.1.4.2795|4x|6b65707420616374656420717561696e746c792074686569722064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.24.1.4.13414|4x|717561696e746c79204a616465642064726976696e672064726976696e672061637465642061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.24.1.4.37585|4x|7468656972206f78656e206f78656e20616374656420717561696e746c79206f78656e206f78656e2064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.24.1.5.1661|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.24.1.5.2795|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.24.1.5.13414|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.24.1.5.37585|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.24.1.6.1661|2|12 +1.3.6.1.4.1.9.9.826.1.20.24.1.6.2795|2|9 +1.3.6.1.4.1.9.9.826.1.20.24.1.6.13414|2|9 +1.3.6.1.4.1.9.9.826.1.20.24.1.6.37585|2|9 +1.3.6.1.4.1.9.9.826.1.20.24.1.7.1661|66|211534752 +1.3.6.1.4.1.9.9.826.1.20.24.1.7.2795|66|3850138451 +1.3.6.1.4.1.9.9.826.1.20.24.1.7.13414|66|914690049 +1.3.6.1.4.1.9.9.826.1.20.24.1.7.37585|66|1682053392 +1.3.6.1.4.1.9.9.826.1.20.24.1.8.1661|66|1316740640 +1.3.6.1.4.1.9.9.826.1.20.24.1.8.2795|66|185426297 +1.3.6.1.4.1.9.9.826.1.20.24.1.8.13414|66|3492811531 +1.3.6.1.4.1.9.9.826.1.20.24.1.8.37585|66|1724167680 +1.3.6.1.4.1.9.9.826.1.20.24.1.9.1661|2|3 +1.3.6.1.4.1.9.9.826.1.20.24.1.9.2795|2|2 +1.3.6.1.4.1.9.9.826.1.20.24.1.9.13414|2|3 +1.3.6.1.4.1.9.9.826.1.20.24.1.9.37585|2|4 +1.3.6.1.4.1.9.9.826.1.20.25.1.1.19514|66|19514 +1.3.6.1.4.1.9.9.826.1.20.25.1.1.23025|66|23025 +1.3.6.1.4.1.9.9.826.1.20.25.1.1.33727|66|33727 +1.3.6.1.4.1.9.9.826.1.20.25.1.1.63487|66|63487 +1.3.6.1.4.1.9.9.826.1.20.25.1.2.19514|4x|6b657074206163746564207a6f6d6269657320717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.25.1.2.23025|4x|6b657074204a616465642064726976696e67206f78656e20746865697220666f727761726420627574207a6f6d62696573204a61646564 +1.3.6.1.4.1.9.9.826.1.20.25.1.2.33727|4x|4a61646564206b65707420666f727761726420627574206f78656e206f78656e207468656972 +1.3.6.1.4.1.9.9.826.1.20.25.1.2.63487|4x|4a616465642064726976696e67204a61646564206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.25.1.3.19514|4|kept +1.3.6.1.4.1.9.9.826.1.20.25.1.3.23025|4x|7468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.25.1.3.33727|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.25.1.3.63487|4x|4a616465642064726976696e67207a6f6d6269657320717561696e746c79206f78656e20746865697220616374656420717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.25.1.4.19514|2|3 +1.3.6.1.4.1.9.9.826.1.20.25.1.4.23025|2|2 +1.3.6.1.4.1.9.9.826.1.20.25.1.4.33727|2|3 +1.3.6.1.4.1.9.9.826.1.20.25.1.4.63487|2|2 +1.3.6.1.4.1.9.9.826.1.20.25.1.5.19514|4x|627574206163746564206b65707420666f7277617264207468656972206163746564206f78656e204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.25.1.5.23025|4x|4a6164656420666f727761726420627574 +1.3.6.1.4.1.9.9.826.1.20.25.1.5.33727|4x|64726976696e67206b65707420717561696e746c7920666f7277617264206f78656e20666f7277617264204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.25.1.5.63487|4x|666f7277617264204a61646564207a6f6d6269657320666f7277617264206163746564207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.25.1.6.19514|2|9 +1.3.6.1.4.1.9.9.826.1.20.25.1.6.23025|2|0 +1.3.6.1.4.1.9.9.826.1.20.25.1.6.33727|2|0 +1.3.6.1.4.1.9.9.826.1.20.25.1.6.63487|2|0 +1.3.6.1.4.1.9.9.826.1.20.25.1.7.19514|66|3425988977 +1.3.6.1.4.1.9.9.826.1.20.25.1.7.23025|66|432090919 +1.3.6.1.4.1.9.9.826.1.20.25.1.7.33727|66|1025811800 +1.3.6.1.4.1.9.9.826.1.20.25.1.7.63487|66|3528345914 +1.3.6.1.4.1.9.9.826.1.20.26.1.1.23912|66|23912 +1.3.6.1.4.1.9.9.826.1.20.26.1.1.44282|66|44282 +1.3.6.1.4.1.9.9.826.1.20.26.1.1.51427|66|51427 +1.3.6.1.4.1.9.9.826.1.20.26.1.1.62709|66|62709 +1.3.6.1.4.1.9.9.826.1.20.26.1.2.23912|4x|64726976696e6720717561696e746c7920717561696e746c79206163746564206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.26.1.2.44282|4x|6b657074206163746564207a6f6d6269657320717561696e746c7920746865697220717561696e746c7920666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.26.1.2.51427|4x|6f78656e2074686569722064726976696e67207a6f6d6269657320717561696e746c79204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.26.1.2.62709|4|kept +1.3.6.1.4.1.9.9.826.1.20.26.1.3.23912|4x|7a6f6d62696573207468656972204a616465642064726976696e67206f78656e206b657074206163746564207468656972 +1.3.6.1.4.1.9.9.826.1.20.26.1.3.44282|4x|717561696e746c7920746865697220666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.26.1.3.51427|4x|74686569722064726976696e67207a6f6d626965732064726976696e67204a6164656420666f727761726420627574 +1.3.6.1.4.1.9.9.826.1.20.26.1.3.62709|4x|6f78656e206f78656e206f78656e206b6570742074686569722062757420666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.26.1.4.23912|2|23 +1.3.6.1.4.1.9.9.826.1.20.26.1.4.44282|2|21 +1.3.6.1.4.1.9.9.826.1.20.26.1.4.51427|2|13 +1.3.6.1.4.1.9.9.826.1.20.26.1.4.62709|2|7 +1.3.6.1.4.1.9.9.826.1.20.26.1.5.23912|2|14 +1.3.6.1.4.1.9.9.826.1.20.26.1.5.44282|2|25 +1.3.6.1.4.1.9.9.826.1.20.26.1.5.51427|2|16 +1.3.6.1.4.1.9.9.826.1.20.26.1.5.62709|2|25 +1.3.6.1.4.1.9.9.826.1.20.26.1.6.23912|2|19 +1.3.6.1.4.1.9.9.826.1.20.26.1.6.44282|2|26 +1.3.6.1.4.1.9.9.826.1.20.26.1.6.51427|2|11 +1.3.6.1.4.1.9.9.826.1.20.26.1.6.62709|2|25 +1.3.6.1.4.1.9.9.826.1.20.26.1.7.23912|2|16 +1.3.6.1.4.1.9.9.826.1.20.26.1.7.44282|2|31 +1.3.6.1.4.1.9.9.826.1.20.26.1.7.51427|2|23 +1.3.6.1.4.1.9.9.826.1.20.26.1.7.62709|2|0 +1.3.6.1.4.1.9.9.826.1.20.26.1.8.23912|66|2441054335 +1.3.6.1.4.1.9.9.826.1.20.26.1.8.44282|66|941958867 +1.3.6.1.4.1.9.9.826.1.20.26.1.8.51427|66|3183213987 +1.3.6.1.4.1.9.9.826.1.20.26.1.8.62709|66|1209961024 +1.3.6.1.4.1.9.9.826.1.20.26.1.9.23912|2|0 +1.3.6.1.4.1.9.9.826.1.20.26.1.9.44282|2|31 +1.3.6.1.4.1.9.9.826.1.20.26.1.9.51427|2|2 +1.3.6.1.4.1.9.9.826.1.20.26.1.9.62709|2|8 +1.3.6.1.4.1.9.9.826.1.20.26.1.10.23912|2|17 +1.3.6.1.4.1.9.9.826.1.20.26.1.10.44282|2|28 +1.3.6.1.4.1.9.9.826.1.20.26.1.10.51427|2|2 +1.3.6.1.4.1.9.9.826.1.20.26.1.10.62709|2|7 +1.3.6.1.4.1.9.9.826.1.20.26.1.11.23912|2|10 +1.3.6.1.4.1.9.9.826.1.20.26.1.11.44282|2|17 +1.3.6.1.4.1.9.9.826.1.20.26.1.11.51427|2|13 +1.3.6.1.4.1.9.9.826.1.20.26.1.11.62709|2|18 +1.3.6.1.4.1.9.9.826.1.20.26.1.12.23912|2|21 +1.3.6.1.4.1.9.9.826.1.20.26.1.12.44282|2|4 +1.3.6.1.4.1.9.9.826.1.20.26.1.12.51427|2|9 +1.3.6.1.4.1.9.9.826.1.20.26.1.12.62709|2|10 +1.3.6.1.4.1.9.9.826.1.20.26.1.13.23912|2|1 +1.3.6.1.4.1.9.9.826.1.20.26.1.13.44282|2|2 +1.3.6.1.4.1.9.9.826.1.20.26.1.13.51427|2|2 +1.3.6.1.4.1.9.9.826.1.20.26.1.13.62709|2|2 +1.3.6.1.4.1.9.9.826.1.20.26.1.14.23912|4x|6b657074207468656972206b657074206b65707420616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.26.1.14.44282|4|driving +1.3.6.1.4.1.9.9.826.1.20.26.1.14.51427|4x|6b6570742062757420717561696e746c79206f78656e2062757420717561696e746c79206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.26.1.14.62709|4x|6163746564206f78656e204a616465642064726976696e67206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.26.1.15.23912|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.26.1.15.44282|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.26.1.15.51427|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.26.1.15.62709|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.26.1.16.23912|66|534483088 +1.3.6.1.4.1.9.9.826.1.20.26.1.16.44282|66|2684956866 +1.3.6.1.4.1.9.9.826.1.20.26.1.16.51427|66|3590717750 +1.3.6.1.4.1.9.9.826.1.20.26.1.16.62709|66|482830076 +1.3.6.1.4.1.9.9.826.1.20.27.1.1.13753|66|13753 +1.3.6.1.4.1.9.9.826.1.20.27.1.1.18598|66|18598 +1.3.6.1.4.1.9.9.826.1.20.27.1.1.30723|66|30723 +1.3.6.1.4.1.9.9.826.1.20.27.1.1.55076|66|55076 +1.3.6.1.4.1.9.9.826.1.20.27.1.2.13753|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.27.1.2.18598|4|their +1.3.6.1.4.1.9.9.826.1.20.27.1.2.30723|4x|666f727761726420717561696e746c792062757420627574206f78656e20666f7277617264206f78656e20666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.27.1.2.55076|4x|6f78656e206b6570742064726976696e67204a616465642062757420717561696e746c79206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.27.1.3.13753|4x|717561696e746c792064726976696e6720627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.27.1.3.18598|4x|64726976696e672064726976696e67206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.27.1.3.30723|4x|717561696e746c79206163746564206f78656e204a61646564207468656972204a616465642064726976696e672064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.27.1.3.55076|4x|7468656972207468656972206f78656e207a6f6d62696573204a61646564206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.27.1.4.13753|70|15512845042826724366 +1.3.6.1.4.1.9.9.826.1.20.27.1.4.18598|70|6559435225368948434 +1.3.6.1.4.1.9.9.826.1.20.27.1.4.30723|70|13752312470755530236 +1.3.6.1.4.1.9.9.826.1.20.27.1.4.55076|70|9725091174092022430 +1.3.6.1.4.1.9.9.826.1.20.27.1.5.13753|2|10 +1.3.6.1.4.1.9.9.826.1.20.27.1.5.18598|2|22 +1.3.6.1.4.1.9.9.826.1.20.27.1.5.30723|2|0 +1.3.6.1.4.1.9.9.826.1.20.27.1.5.55076|2|5 +1.3.6.1.4.1.9.9.826.1.20.27.1.6.13753|2|11 +1.3.6.1.4.1.9.9.826.1.20.27.1.6.18598|2|8 +1.3.6.1.4.1.9.9.826.1.20.27.1.6.30723|2|19 +1.3.6.1.4.1.9.9.826.1.20.27.1.6.55076|2|8 +1.3.6.1.4.1.9.9.826.1.20.27.1.7.13753|2|2 +1.3.6.1.4.1.9.9.826.1.20.27.1.7.18598|2|28 +1.3.6.1.4.1.9.9.826.1.20.27.1.7.30723|2|30 +1.3.6.1.4.1.9.9.826.1.20.27.1.7.55076|2|13 +1.3.6.1.4.1.9.9.826.1.20.27.1.8.13753|2|10 +1.3.6.1.4.1.9.9.826.1.20.27.1.8.18598|2|0 +1.3.6.1.4.1.9.9.826.1.20.27.1.8.30723|2|30 +1.3.6.1.4.1.9.9.826.1.20.27.1.8.55076|2|12 +1.3.6.1.4.1.9.9.826.1.20.27.1.9.13753|2|1 +1.3.6.1.4.1.9.9.826.1.20.27.1.9.18598|2|2 +1.3.6.1.4.1.9.9.826.1.20.27.1.9.30723|2|1 +1.3.6.1.4.1.9.9.826.1.20.27.1.9.55076|2|1 +1.3.6.1.4.1.9.9.826.1.20.27.1.10.13753|2|10 +1.3.6.1.4.1.9.9.826.1.20.27.1.10.18598|2|16 +1.3.6.1.4.1.9.9.826.1.20.27.1.10.30723|2|5 +1.3.6.1.4.1.9.9.826.1.20.27.1.10.55076|2|9 +1.3.6.1.4.1.9.9.826.1.20.27.1.11.13753|2|11 +1.3.6.1.4.1.9.9.826.1.20.27.1.11.18598|2|28 +1.3.6.1.4.1.9.9.826.1.20.27.1.11.30723|2|1 +1.3.6.1.4.1.9.9.826.1.20.27.1.11.55076|2|3 +1.3.6.1.4.1.9.9.826.1.20.27.1.12.13753|2|27 +1.3.6.1.4.1.9.9.826.1.20.27.1.12.18598|2|6 +1.3.6.1.4.1.9.9.826.1.20.27.1.12.30723|2|1 +1.3.6.1.4.1.9.9.826.1.20.27.1.12.55076|2|9 +1.3.6.1.4.1.9.9.826.1.20.27.1.13.13753|2|16 +1.3.6.1.4.1.9.9.826.1.20.27.1.13.18598|2|1 +1.3.6.1.4.1.9.9.826.1.20.27.1.13.30723|2|1 +1.3.6.1.4.1.9.9.826.1.20.27.1.13.55076|2|27 +1.3.6.1.4.1.9.9.826.1.20.27.1.14.13753|2|2 +1.3.6.1.4.1.9.9.826.1.20.27.1.14.18598|2|2 +1.3.6.1.4.1.9.9.826.1.20.27.1.14.30723|2|2 +1.3.6.1.4.1.9.9.826.1.20.27.1.14.55076|2|1 +1.3.6.1.4.1.9.9.826.1.20.27.1.15.13753|4x|4a61646564206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.27.1.15.18598|4x|627574204a61646564207a6f6d6269657320616374656420717561696e746c792074686569722064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.27.1.15.30723|4x|7468656972204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.27.1.15.55076|4x|64726976696e67206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.27.1.16.13753|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.27.1.16.18598|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.27.1.16.30723|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.27.1.16.55076|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.28.1.1.5532|66|5532 +1.3.6.1.4.1.9.9.826.1.20.28.1.1.44427|66|44427 +1.3.6.1.4.1.9.9.826.1.20.28.1.1.54868|66|54868 +1.3.6.1.4.1.9.9.826.1.20.28.1.1.58156|66|58156 +1.3.6.1.4.1.9.9.826.1.20.28.1.2.5532|4x|4a616465642064726976696e6720616374656420627574207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.28.1.2.44427|4x|7a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.28.1.2.54868|4|acted +1.3.6.1.4.1.9.9.826.1.20.28.1.2.58156|4x|746865697220666f7277617264206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.28.1.3.5532|4x|666f7277617264207a6f6d62696573206163746564207a6f6d6269657320616374656420666f727761726420717561696e746c7920717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.28.1.3.44427|4|forward +1.3.6.1.4.1.9.9.826.1.20.28.1.3.54868|4x|717561696e746c79204a61646564206f78656e204a61646564207468656972204a61646564206b657074207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.28.1.3.58156|4x|4a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.28.1.4.5532|4x|6f78656e20717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.28.1.4.44427|4x|666f7277617264206163746564207a6f6d6269657320666f727761726420666f727761726420717561696e746c79204a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.28.1.4.54868|4x|4a61646564206f78656e20717561696e746c79206b657074206163746564 +1.3.6.1.4.1.9.9.826.1.20.28.1.4.58156|4x|64726976696e672061637465642064726976696e672064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.28.1.5.5532|4x|717561696e746c79204a616465642064726976696e67204a61646564206163746564206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.28.1.5.44427|4|acted +1.3.6.1.4.1.9.9.826.1.20.28.1.5.54868|4|zombies +1.3.6.1.4.1.9.9.826.1.20.28.1.5.58156|4x|4a61646564207a6f6d6269657320717561696e746c79206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.28.1.6.5532|2|2 +1.3.6.1.4.1.9.9.826.1.20.28.1.6.44427|2|2 +1.3.6.1.4.1.9.9.826.1.20.28.1.6.54868|2|2 +1.3.6.1.4.1.9.9.826.1.20.28.1.6.58156|2|1 +1.3.6.1.4.1.9.9.826.1.20.28.1.7.5532|4x|61637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.28.1.7.44427|4x|746865697220627574 +1.3.6.1.4.1.9.9.826.1.20.28.1.7.54868|4x|62757420717561696e746c79204a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.28.1.7.58156|4|forward +1.3.6.1.4.1.9.9.826.1.20.28.1.8.5532|4x|6b65707420666f727761726420666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.28.1.8.44427|4x|7a6f6d6269657320717561696e746c792064726976696e67206163746564207468656972207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.28.1.8.54868|4x|64726976696e6720717561696e746c7920616374656420717561696e746c792064726976696e672064726976696e67206f78656e206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.28.1.8.58156|4x|64726976696e67204a61646564204a616465642064726976696e672064726976696e67206f78656e20666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.28.1.9.5532|4x|717561696e746c79204a6164656420746865697220717561696e746c7920717561696e746c79206b657074207468656972206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.28.1.9.44427|4x|7a6f6d62696573206163746564206b657074206f78656e20717561696e746c79207a6f6d62696573204a61646564206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.28.1.9.54868|4|but +1.3.6.1.4.1.9.9.826.1.20.28.1.9.58156|4x|7468656972206163746564204a6164656420746865697220666f7277617264206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.28.1.10.5532|66|2655700442 +1.3.6.1.4.1.9.9.826.1.20.28.1.10.44427|66|1200950580 +1.3.6.1.4.1.9.9.826.1.20.28.1.10.54868|66|2379821477 +1.3.6.1.4.1.9.9.826.1.20.28.1.10.58156|66|3211334191 +1.3.6.1.4.1.9.9.826.1.20.28.1.11.5532|2|0 +1.3.6.1.4.1.9.9.826.1.20.28.1.11.44427|2|2 +1.3.6.1.4.1.9.9.826.1.20.28.1.11.54868|2|1 +1.3.6.1.4.1.9.9.826.1.20.28.1.11.58156|2|0 +1.3.6.1.4.1.9.9.826.1.20.29.1.1.233|66|233 +1.3.6.1.4.1.9.9.826.1.20.29.1.1.21185|66|21185 +1.3.6.1.4.1.9.9.826.1.20.29.1.1.29470|66|29470 +1.3.6.1.4.1.9.9.826.1.20.29.1.1.64143|66|64143 +1.3.6.1.4.1.9.9.826.1.20.29.1.2.233|4x|62757420717561696e746c79207468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.29.1.2.21185|4x|6275742062757420717561696e746c7920666f7277617264204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.29.1.2.29470|4x|6275742064726976696e67206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.29.1.2.64143|4x|666f727761726420627574206163746564207468656972207468656972206b65707420717561696e746c79206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.29.1.3.233|4x|6f78656e20666f7277617264207a6f6d6269657320746865697220627574 +1.3.6.1.4.1.9.9.826.1.20.29.1.3.21185|4x|6f78656e206163746564207a6f6d626965732064726976696e67206f78656e +1.3.6.1.4.1.9.9.826.1.20.29.1.3.29470|4x|64726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.29.1.3.64143|4x|666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.29.1.4.233|2|2 +1.3.6.1.4.1.9.9.826.1.20.29.1.4.21185|2|1 +1.3.6.1.4.1.9.9.826.1.20.29.1.4.29470|2|1 +1.3.6.1.4.1.9.9.826.1.20.29.1.4.64143|2|2 +1.3.6.1.4.1.9.9.826.1.20.29.1.5.233|2|1 +1.3.6.1.4.1.9.9.826.1.20.29.1.5.21185|2|2 +1.3.6.1.4.1.9.9.826.1.20.29.1.5.29470|2|2 +1.3.6.1.4.1.9.9.826.1.20.29.1.5.64143|2|1 +1.3.6.1.4.1.9.9.826.1.20.29.1.6.233|66|2233214846 +1.3.6.1.4.1.9.9.826.1.20.29.1.6.21185|66|1685878699 +1.3.6.1.4.1.9.9.826.1.20.29.1.6.29470|66|1736903695 +1.3.6.1.4.1.9.9.826.1.20.29.1.6.64143|66|4217690634 +1.3.6.1.4.1.9.9.826.1.20.29.1.7.233|66|3593123583 +1.3.6.1.4.1.9.9.826.1.20.29.1.7.21185|66|320866253 +1.3.6.1.4.1.9.9.826.1.20.29.1.7.29470|66|662094796 +1.3.6.1.4.1.9.9.826.1.20.29.1.7.64143|66|3390646401 +1.3.6.1.4.1.9.9.826.1.20.29.1.8.233|66|4225514423 +1.3.6.1.4.1.9.9.826.1.20.29.1.8.21185|66|1953086662 +1.3.6.1.4.1.9.9.826.1.20.29.1.8.29470|66|3441498703 +1.3.6.1.4.1.9.9.826.1.20.29.1.8.64143|66|1152631948 +1.3.6.1.4.1.9.9.826.1.20.29.1.9.233|66|225521121 +1.3.6.1.4.1.9.9.826.1.20.29.1.9.21185|66|2991824196 +1.3.6.1.4.1.9.9.826.1.20.29.1.9.29470|66|1818506343 +1.3.6.1.4.1.9.9.826.1.20.29.1.9.64143|66|996517498 +1.3.6.1.4.1.9.9.826.1.20.29.1.10.233|66|2010516728 +1.3.6.1.4.1.9.9.826.1.20.29.1.10.21185|66|1582503718 +1.3.6.1.4.1.9.9.826.1.20.29.1.10.29470|66|1567213442 +1.3.6.1.4.1.9.9.826.1.20.29.1.10.64143|66|3195909889 +1.3.6.1.4.1.9.9.826.1.20.29.1.11.233|4x|7a6f6d62696573206f78656e204a61646564206f78656e20717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.29.1.11.21185|4x|61637465642062757420666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.29.1.11.29470|4x|717561696e746c79206f78656e204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.29.1.11.64143|4x|6b65707420666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.29.1.12.233|4x|7a6f6d6269657320666f727761726420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.29.1.12.21185|4x|4a6164656420746865697220627574206163746564207a6f6d626965732064726976696e67206b65707420746865697220627574 +1.3.6.1.4.1.9.9.826.1.20.29.1.12.29470|4x|717561696e746c792062757420746865697220666f7277617264204a61646564206b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.29.1.12.64143|4|forward +1.3.6.1.4.1.9.9.826.1.20.29.1.13.233|66|1327328776 +1.3.6.1.4.1.9.9.826.1.20.29.1.13.21185|66|2273410107 +1.3.6.1.4.1.9.9.826.1.20.29.1.13.29470|66|506237373 +1.3.6.1.4.1.9.9.826.1.20.29.1.13.64143|66|3520445344 +1.3.6.1.4.1.9.9.826.1.20.29.1.14.233|4x|7468656972206b6570742062757420746865697220666f727761726420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.29.1.14.21185|4x|666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.29.1.14.29470|4x|61637465642064726976696e672064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.29.1.14.64143|4x|666f727761726420616374656420627574204a616465642064726976696e6720717561696e746c7920717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.29.1.15.233|4x|627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.29.1.15.21185|4|acted +1.3.6.1.4.1.9.9.826.1.20.29.1.15.29470|4x|64726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.29.1.15.64143|4x|717561696e746c79206b6570742064726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.30.1.1.35003|66|35003 +1.3.6.1.4.1.9.9.826.1.20.30.1.1.38063|66|38063 +1.3.6.1.4.1.9.9.826.1.20.30.1.1.57521|66|57521 +1.3.6.1.4.1.9.9.826.1.20.30.1.1.59699|66|59699 +1.3.6.1.4.1.9.9.826.1.20.30.1.2.35003|4|forward +1.3.6.1.4.1.9.9.826.1.20.30.1.2.38063|4x|6f78656e204a616465642064726976696e67204a61646564207468656972206f78656e204a61646564204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.30.1.2.57521|4x|746865697220717561696e746c79204a61646564206163746564207468656972 +1.3.6.1.4.1.9.9.826.1.20.30.1.2.59699|4x|61637465642064726976696e67204a6164656420627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.30.1.3.35003|4x|6b657074206b65707420666f727761726420627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.30.1.3.38063|4x|6b65707420666f7277617264206f78656e20666f7277617264206275742074686569722064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.30.1.3.57521|4x|7a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.30.1.3.59699|4x|746865697220627574206b657074206b65707420616374656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.30.1.4.35003|66|3834022780 +1.3.6.1.4.1.9.9.826.1.20.30.1.4.38063|66|554897420 +1.3.6.1.4.1.9.9.826.1.20.30.1.4.57521|66|814148962 +1.3.6.1.4.1.9.9.826.1.20.30.1.4.59699|66|3727486091 +1.3.6.1.4.1.9.9.826.1.20.30.1.5.35003|4x|64726976696e6720666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.30.1.5.38063|4x|666f727761726420627574206f78656e206f78656e207a6f6d62696573207a6f6d62696573206f78656e207a6f6d62696573204a61646564 +1.3.6.1.4.1.9.9.826.1.20.30.1.5.57521|4x|7a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.30.1.5.59699|4x|6163746564206163746564207a6f6d6269657320746865697220627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.31.1.1.4488|66|4488 +1.3.6.1.4.1.9.9.826.1.20.31.1.1.13116|66|13116 +1.3.6.1.4.1.9.9.826.1.20.31.1.1.24089|66|24089 +1.3.6.1.4.1.9.9.826.1.20.31.1.1.24957|66|24957 +1.3.6.1.4.1.9.9.826.1.20.31.1.2.4488|4x|6b657074206b6570742062757420627574 +1.3.6.1.4.1.9.9.826.1.20.31.1.2.13116|4x|4a61646564207468656972206163746564206b657074206f78656e207468656972207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.31.1.2.24089|4x|6163746564206b657074206b657074206f78656e207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.31.1.2.24957|4x|717561696e746c792074686569722061637465642074686569722062757420616374656420616374656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.31.1.3.4488|4x|7468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.31.1.3.13116|4x|4a61646564206163746564204a6164656420666f72776172642064726976696e67204a61646564207468656972 +1.3.6.1.4.1.9.9.826.1.20.31.1.3.24089|4x|4a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.31.1.3.24957|4x|74686569722064726976696e67207a6f6d62696573207a6f6d62696573204a61646564 +1.3.6.1.4.1.9.9.826.1.20.31.1.4.4488|4x|6163746564207468656972207a6f6d62696573207a6f6d62696573204a61646564 +1.3.6.1.4.1.9.9.826.1.20.31.1.4.13116|4x|666f727761726420666f7277617264206b657074207468656972206b65707420627574206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.31.1.4.24089|4x|717561696e746c7920717561696e746c79207a6f6d62696573206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.31.1.4.24957|4x|64726976696e6720627574207a6f6d62696573207a6f6d6269657320627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.31.1.5.4488|4x|7468656972206f78656e20717561696e746c79204a6164656420627574206f78656e206f78656e20717561696e746c7920666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.31.1.5.13116|4x|6b657074206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.31.1.5.24089|4x|6163746564207468656972207468656972207a6f6d626965732064726976696e67204a61646564207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.31.1.5.24957|4x|4a61646564207a6f6d62696573206f78656e20717561696e746c79207a6f6d62696573204a61646564207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.31.1.6.4488|4x|7468656972206b657074206f78656e20717561696e746c7920746865697220717561696e746c79206f78656e20666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.31.1.6.13116|4x|7a6f6d626965732062757420627574 +1.3.6.1.4.1.9.9.826.1.20.31.1.6.24089|4x|627574206b65707420627574204a616465642064726976696e67206f78656e207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.31.1.6.24957|4x|62757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.31.1.7.4488|66|2881932603 +1.3.6.1.4.1.9.9.826.1.20.31.1.7.13116|66|1076989650 +1.3.6.1.4.1.9.9.826.1.20.31.1.7.24089|66|3936588456 +1.3.6.1.4.1.9.9.826.1.20.31.1.7.24957|66|731452380 +1.3.6.1.4.1.9.9.826.1.20.31.1.8.4488|2|0 +1.3.6.1.4.1.9.9.826.1.20.31.1.8.13116|2|1 +1.3.6.1.4.1.9.9.826.1.20.31.1.8.24089|2|1 +1.3.6.1.4.1.9.9.826.1.20.31.1.8.24957|2|1 +1.3.6.1.4.1.9.9.826.1.20.32.1.1.3971|66|3971 +1.3.6.1.4.1.9.9.826.1.20.32.1.1.8823|66|8823 +1.3.6.1.4.1.9.9.826.1.20.32.1.1.23736|66|23736 +1.3.6.1.4.1.9.9.826.1.20.32.1.1.55376|66|55376 +1.3.6.1.4.1.9.9.826.1.20.32.1.2.3971|4x|666f727761726420717561696e746c792064726976696e6720666f7277617264206b65707420746865697220616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.32.1.2.8823|4x|6163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.32.1.2.23736|4|their +1.3.6.1.4.1.9.9.826.1.20.32.1.2.55376|4x|6b65707420717561696e746c79207468656972206f78656e207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.32.1.3.3971|4x|6275742074686569722062757420717561696e746c79207468656972206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.32.1.3.8823|4x|64726976696e672061637465642064726976696e6720717561696e746c7920717561696e746c79207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.32.1.3.23736|4x|746865697220746865697220627574 +1.3.6.1.4.1.9.9.826.1.20.32.1.3.55376|4x|666f7277617264206163746564207a6f6d6269657320717561696e746c7920627574206b657074206f78656e206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.32.1.4.3971|2|2 +1.3.6.1.4.1.9.9.826.1.20.32.1.4.8823|2|2 +1.3.6.1.4.1.9.9.826.1.20.32.1.4.23736|2|0 +1.3.6.1.4.1.9.9.826.1.20.32.1.4.55376|2|1 +1.3.6.1.4.1.9.9.826.1.20.33.1.1.31689|66|31689 +1.3.6.1.4.1.9.9.826.1.20.33.1.1.35852|66|35852 +1.3.6.1.4.1.9.9.826.1.20.33.1.1.45804|66|45804 +1.3.6.1.4.1.9.9.826.1.20.33.1.1.60354|66|60354 +1.3.6.1.4.1.9.9.826.1.20.33.1.2.31689|4x|6163746564206f78656e206163746564206275742064726976696e67204a616465642064726976696e6720666f7277617264206f78656e +1.3.6.1.4.1.9.9.826.1.20.33.1.2.35852|4|their +1.3.6.1.4.1.9.9.826.1.20.33.1.2.45804|4x|616374656420717561696e746c79207468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.33.1.2.60354|4x|616374656420666f72776172642062757420717561696e746c79206f78656e207a6f6d6269657320717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.33.1.3.31689|4x|627574206f78656e +1.3.6.1.4.1.9.9.826.1.20.33.1.3.35852|4x|64726976696e67206163746564206f78656e204a61646564207a6f6d626965732064726976696e6720627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.33.1.3.45804|4x|6b65707420717561696e746c792064726976696e672064726976696e67204a6164656420746865697220627574206f78656e +1.3.6.1.4.1.9.9.826.1.20.33.1.3.60354|4x|666f72776172642064726976696e6720717561696e746c79206f78656e2074686569722064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.33.1.4.31689|4x|6f78656e207a6f6d62696573204a61646564204a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.33.1.4.35852|4x|62757420666f7277617264204a6164656420717561696e746c7920666f7277617264204a6164656420627574206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.33.1.4.45804|4x|7a6f6d626965732064726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.33.1.4.60354|4x|6f78656e207468656972207468656972207a6f6d62696573204a61646564 +1.3.6.1.4.1.9.9.826.1.20.34.1.1.9662|66|9662 +1.3.6.1.4.1.9.9.826.1.20.34.1.1.10727|66|10727 +1.3.6.1.4.1.9.9.826.1.20.34.1.1.15130|66|15130 +1.3.6.1.4.1.9.9.826.1.20.34.1.1.39700|66|39700 +1.3.6.1.4.1.9.9.826.1.20.34.1.2.9662|4x|64726976696e6720666f727761726420627574204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.34.1.2.10727|4x|7468656972206275742064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.34.1.2.15130|4x|6b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.34.1.2.39700|4x|666f7277617264206b65707420717561696e746c79204a61646564207a6f6d626965732064726976696e67206163746564206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.34.1.3.9662|4x|7468656972207a6f6d62696573207a6f6d62696573204a6164656420627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.34.1.3.10727|4x|6f78656e207a6f6d6269657320746865697220717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.34.1.3.15130|4x|666f727761726420717561696e746c7920666f72776172642064726976696e67206b657074207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.34.1.3.39700|4x|627574206f78656e +1.3.6.1.4.1.9.9.826.1.20.34.1.4.9662|70|8526577451270944019 +1.3.6.1.4.1.9.9.826.1.20.34.1.4.10727|70|11839186090664100215 +1.3.6.1.4.1.9.9.826.1.20.34.1.4.15130|70|5891903204264421583 +1.3.6.1.4.1.9.9.826.1.20.34.1.4.39700|70|10900478151991713778 +1.3.6.1.4.1.9.9.826.1.20.34.1.5.9662|66|1 +1.3.6.1.4.1.9.9.826.1.20.34.1.5.10727|66|3 +1.3.6.1.4.1.9.9.826.1.20.34.1.5.15130|66|1 +1.3.6.1.4.1.9.9.826.1.20.34.1.5.39700|66|3 +1.3.6.1.4.1.9.9.826.1.20.34.1.6.9662|2|2 +1.3.6.1.4.1.9.9.826.1.20.34.1.6.10727|2|2 +1.3.6.1.4.1.9.9.826.1.20.34.1.6.15130|2|0 +1.3.6.1.4.1.9.9.826.1.20.34.1.6.39700|2|2 +1.3.6.1.4.1.9.9.826.1.20.34.1.7.9662|4x|627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.34.1.7.10727|4x|666f7277617264207468656972207a6f6d6269657320746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.34.1.7.15130|4x|616374656420717561696e746c7920746865697220627574206f78656e20627574 +1.3.6.1.4.1.9.9.826.1.20.34.1.7.39700|4x|64726976696e67206f78656e20627574204a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.34.1.8.9662|66|3 +1.3.6.1.4.1.9.9.826.1.20.34.1.8.10727|66|1 +1.3.6.1.4.1.9.9.826.1.20.34.1.8.15130|66|3 +1.3.6.1.4.1.9.9.826.1.20.34.1.8.39700|66|1 +1.3.6.1.4.1.9.9.826.1.20.34.1.9.9662|4x|4a616465642074686569722061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.34.1.9.10727|4x|666f7277617264206f78656e2062757420616374656420627574206f78656e20746865697220666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.34.1.9.15130|4x|7468656972206f78656e +1.3.6.1.4.1.9.9.826.1.20.34.1.9.39700|4x|717561696e746c792064726976696e6720666f72776172642064726976696e67207468656972206f78656e +1.3.6.1.4.1.9.9.826.1.20.34.1.10.9662|2|1 +1.3.6.1.4.1.9.9.826.1.20.34.1.10.10727|2|1 +1.3.6.1.4.1.9.9.826.1.20.34.1.10.15130|2|8 +1.3.6.1.4.1.9.9.826.1.20.34.1.10.39700|2|10 +1.3.6.1.4.1.9.9.826.1.20.34.1.11.9662|2|5 +1.3.6.1.4.1.9.9.826.1.20.34.1.11.10727|2|10 +1.3.6.1.4.1.9.9.826.1.20.34.1.11.15130|2|12 +1.3.6.1.4.1.9.9.826.1.20.34.1.11.39700|2|8 +1.3.6.1.4.1.9.9.826.1.20.34.1.12.9662|2|1 +1.3.6.1.4.1.9.9.826.1.20.34.1.12.10727|2|0 +1.3.6.1.4.1.9.9.826.1.20.34.1.12.15130|2|2 +1.3.6.1.4.1.9.9.826.1.20.34.1.12.39700|2|0 +1.3.6.1.4.1.9.9.826.1.20.34.1.13.9662|2|4 +1.3.6.1.4.1.9.9.826.1.20.34.1.13.10727|2|11 +1.3.6.1.4.1.9.9.826.1.20.34.1.13.15130|2|11 +1.3.6.1.4.1.9.9.826.1.20.34.1.13.39700|2|8 +1.3.6.1.4.1.9.9.826.1.20.34.1.14.9662|2|15 +1.3.6.1.4.1.9.9.826.1.20.34.1.14.10727|2|15 +1.3.6.1.4.1.9.9.826.1.20.34.1.14.15130|2|10 +1.3.6.1.4.1.9.9.826.1.20.34.1.14.39700|2|11 +1.3.6.1.4.1.9.9.826.1.20.34.1.15.9662|4x|7468656972204a6164656420717561696e746c79206163746564206f78656e204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.34.1.15.10727|4x|64726976696e6720746865697220616374656420717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.34.1.15.15130|4x|627574206b657074206b657074204a61646564207a6f6d62696573206163746564207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.34.1.15.39700|4x|61637465642064726976696e6720616374656420616374656420717561696e746c79206b657074204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.34.1.16.9662|4x|6163746564206163746564207a6f6d62696573207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.34.1.16.10727|4x|61637465642062757420616374656420666f72776172642074686569722061637465642074686569722062757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.34.1.16.15130|4x|666f72776172642064726976696e67207468656972206275742062757420717561696e746c792064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.34.1.16.39700|4x|7a6f6d62696573204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.34.1.17.9662|2|7 +1.3.6.1.4.1.9.9.826.1.20.34.1.17.10727|2|4 +1.3.6.1.4.1.9.9.826.1.20.34.1.17.15130|2|2 +1.3.6.1.4.1.9.9.826.1.20.34.1.17.39700|2|6 +1.3.6.1.4.1.9.9.826.1.20.34.1.18.9662|66|1 +1.3.6.1.4.1.9.9.826.1.20.34.1.18.10727|66|3 +1.3.6.1.4.1.9.9.826.1.20.34.1.18.15130|66|1 +1.3.6.1.4.1.9.9.826.1.20.34.1.18.39700|66|3 +1.3.6.1.4.1.9.9.826.1.20.34.1.19.9662|4x|666f7277617264206163746564206b65707420627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.34.1.19.10727|4x|616374656420666f727761726420627574 +1.3.6.1.4.1.9.9.826.1.20.34.1.19.15130|4x|6f78656e20666f727761726420666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.34.1.19.39700|4x|6163746564206f78656e206163746564206f78656e20627574 +1.3.6.1.4.1.9.9.826.1.20.34.1.20.9662|2|6 +1.3.6.1.4.1.9.9.826.1.20.34.1.20.10727|2|4 +1.3.6.1.4.1.9.9.826.1.20.34.1.20.15130|2|0 +1.3.6.1.4.1.9.9.826.1.20.34.1.20.39700|2|5 +1.3.6.1.4.1.9.9.826.1.20.35.1.1.6092|66|6092 +1.3.6.1.4.1.9.9.826.1.20.35.1.1.27206|66|27206 +1.3.6.1.4.1.9.9.826.1.20.35.1.1.36390|66|36390 +1.3.6.1.4.1.9.9.826.1.20.35.1.1.36858|66|36858 +1.3.6.1.4.1.9.9.826.1.20.35.1.2.6092|4x|627574206f78656e204a61646564204a6164656420666f7277617264204a6164656420746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.35.1.2.27206|4x|6b6570742061637465642064726976696e6720666f727761726420746865697220717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.35.1.2.36390|4x|627574204a6164656420666f7277617264207a6f6d626965732064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.35.1.2.36858|4x|4a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.35.1.3.6092|4x|7a6f6d6269657320717561696e746c7920717561696e746c79206163746564204a61646564207468656972 +1.3.6.1.4.1.9.9.826.1.20.35.1.3.27206|4|their +1.3.6.1.4.1.9.9.826.1.20.35.1.3.36390|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.35.1.3.36858|4x|627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.35.1.4.6092|70|16234472751183026789 +1.3.6.1.4.1.9.9.826.1.20.35.1.4.27206|70|13856853873337710696 +1.3.6.1.4.1.9.9.826.1.20.35.1.4.36390|70|9827030913039039526 +1.3.6.1.4.1.9.9.826.1.20.35.1.4.36858|70|14425671649456586278 +1.3.6.1.4.1.9.9.826.1.20.35.1.5.6092|66|3 +1.3.6.1.4.1.9.9.826.1.20.35.1.5.27206|66|1 +1.3.6.1.4.1.9.9.826.1.20.35.1.5.36390|66|1 +1.3.6.1.4.1.9.9.826.1.20.35.1.5.36858|66|3 +1.3.6.1.4.1.9.9.826.1.20.35.1.6.6092|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.35.1.6.27206|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.35.1.6.36390|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.35.1.6.36858|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.35.1.7.6092|4x|627574207468656972204a6164656420717561696e746c79207a6f6d6269657320627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.35.1.7.27206|4x|4a61646564204a6164656420717561696e746c79207468656972207468656972206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.35.1.7.36390|4x|4a61646564207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.35.1.7.36858|4x|627574204a61646564206275742074686569722064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.35.1.8.6092|4x|627574207468656972207a6f6d62696573206b65707420627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.35.1.8.27206|4x|6f78656e20666f7277617264206f78656e2064726976696e6720746865697220666f727761726420666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.35.1.8.36390|4x|64726976696e6720627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.35.1.8.36858|4x|666f72776172642064726976696e67207a6f6d62696573206f78656e204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.35.1.9.6092|2|11 +1.3.6.1.4.1.9.9.826.1.20.35.1.9.27206|2|4 +1.3.6.1.4.1.9.9.826.1.20.35.1.9.36390|2|6 +1.3.6.1.4.1.9.9.826.1.20.35.1.9.36858|2|14 +1.3.6.1.4.1.9.9.826.1.20.35.1.10.6092|2|7 +1.3.6.1.4.1.9.9.826.1.20.35.1.10.27206|2|9 +1.3.6.1.4.1.9.9.826.1.20.35.1.10.36390|2|4 +1.3.6.1.4.1.9.9.826.1.20.35.1.10.36858|2|8 +1.3.6.1.4.1.9.9.826.1.20.35.1.11.6092|4x|717561696e746c792064726976696e67206b657074206f78656e206163746564204a61646564206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.35.1.11.27206|4x|7a6f6d62696573207a6f6d6269657320717561696e746c792064726976696e67204a61646564206f78656e2061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.35.1.11.36390|4x|6f78656e2064726976696e6720666f7277617264207468656972206b65707420717561696e746c792064726976696e67206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.35.1.11.36858|4x|627574204a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.35.1.12.6092|2|1 +1.3.6.1.4.1.9.9.826.1.20.35.1.12.27206|2|6 +1.3.6.1.4.1.9.9.826.1.20.35.1.12.36390|2|2 +1.3.6.1.4.1.9.9.826.1.20.35.1.12.36858|2|4 +1.3.6.1.4.1.9.9.826.1.20.35.1.13.6092|2|4 +1.3.6.1.4.1.9.9.826.1.20.35.1.13.27206|2|5 +1.3.6.1.4.1.9.9.826.1.20.35.1.13.36390|2|8 +1.3.6.1.4.1.9.9.826.1.20.35.1.13.36858|2|1 +1.3.6.1.4.1.9.9.826.1.20.35.1.14.6092|2|22 +1.3.6.1.4.1.9.9.826.1.20.35.1.14.27206|2|14 +1.3.6.1.4.1.9.9.826.1.20.35.1.14.36390|2|21 +1.3.6.1.4.1.9.9.826.1.20.35.1.14.36858|2|21 +1.3.6.1.4.1.9.9.826.1.20.35.1.15.6092|4x|6b657074207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.35.1.15.27206|4x|7a6f6d6269657320627574207a6f6d6269657320666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.35.1.15.36390|4x|6f78656e206b65707420627574204a616465642062757420616374656420666f727761726420746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.35.1.15.36858|4x|64726976696e67206b657074206b65707420616374656420616374656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.35.1.16.6092|4x|6f78656e207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.35.1.16.27206|4x|6b657074206163746564206b6570742064726976696e6720666f7277617264206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.35.1.16.36390|4x|62757420666f7277617264206163746564206f78656e2074686569722062757420666f7277617264207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.35.1.16.36858|4x|6f78656e204a61646564204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.35.1.17.6092|2|5 +1.3.6.1.4.1.9.9.826.1.20.35.1.17.27206|2|5 +1.3.6.1.4.1.9.9.826.1.20.35.1.17.36390|2|7 +1.3.6.1.4.1.9.9.826.1.20.35.1.17.36858|2|4 +1.3.6.1.4.1.9.9.826.1.20.35.1.18.6092|66|1 +1.3.6.1.4.1.9.9.826.1.20.35.1.18.27206|66|1 +1.3.6.1.4.1.9.9.826.1.20.35.1.18.36390|66|1 +1.3.6.1.4.1.9.9.826.1.20.35.1.18.36858|66|1 +1.3.6.1.4.1.9.9.826.1.20.35.1.19.6092|4x|717561696e746c7920666f7277617264206275742074686569722064726976696e67207468656972206f78656e207468656972 +1.3.6.1.4.1.9.9.826.1.20.35.1.19.27206|4x|62757420666f727761726420717561696e746c792064726976696e67206b6570742062757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.35.1.19.36390|4x|627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.35.1.19.36858|4x|4a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.35.1.20.6092|4x|7a6f6d626965732064726976696e67206f78656e206b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.35.1.20.27206|4x|6f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.35.1.20.36390|4x|7a6f6d62696573206f78656e206163746564206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.35.1.20.36858|4x|7468656972207a6f6d6269657320717561696e746c79207468656972204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.35.1.21.6092|2|0 +1.3.6.1.4.1.9.9.826.1.20.35.1.21.27206|2|2 +1.3.6.1.4.1.9.9.826.1.20.35.1.21.36390|2|2 +1.3.6.1.4.1.9.9.826.1.20.35.1.21.36858|2|3 +1.3.6.1.4.1.9.9.826.1.20.36.1.1.2830|66|2830 +1.3.6.1.4.1.9.9.826.1.20.36.1.1.26283|66|26283 +1.3.6.1.4.1.9.9.826.1.20.36.1.1.40129|66|40129 +1.3.6.1.4.1.9.9.826.1.20.36.1.1.62194|66|62194 +1.3.6.1.4.1.9.9.826.1.20.36.1.2.2830|4x|4a6164656420717561696e746c7920616374656420627574207a6f6d62696573206b6570742062757420717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.36.1.2.26283|4x|627574204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.36.1.2.40129|4x|6f78656e207a6f6d62696573206b6570742062757420717561696e746c79206b657074206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.36.1.2.62194|4x|62757420627574207a6f6d6269657320627574207468656972204a6164656420616374656420666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.36.1.3.2830|4x|717561696e746c7920666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.36.1.3.26283|4x|627574206f78656e20717561696e746c79207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.36.1.3.40129|4x|666f7277617264207a6f6d6269657320627574206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.36.1.3.62194|4x|6b657074204a61646564207a6f6d6269657320717561696e746c79207468656972206f78656e20717561696e746c7920717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.36.1.4.2830|2|1 +1.3.6.1.4.1.9.9.826.1.20.36.1.4.26283|2|1 +1.3.6.1.4.1.9.9.826.1.20.36.1.4.40129|2|2 +1.3.6.1.4.1.9.9.826.1.20.36.1.4.62194|2|2 +1.3.6.1.4.1.9.9.826.1.20.36.1.5.2830|2|1 +1.3.6.1.4.1.9.9.826.1.20.36.1.5.26283|2|1 +1.3.6.1.4.1.9.9.826.1.20.36.1.5.40129|2|2 +1.3.6.1.4.1.9.9.826.1.20.36.1.5.62194|2|2 +1.3.6.1.4.1.9.9.826.1.20.36.1.6.2830|66|3719800183 +1.3.6.1.4.1.9.9.826.1.20.36.1.6.26283|66|2706183429 +1.3.6.1.4.1.9.9.826.1.20.36.1.6.40129|66|3407608839 +1.3.6.1.4.1.9.9.826.1.20.36.1.6.62194|66|861279894 +1.3.6.1.4.1.9.9.826.1.20.36.1.7.2830|66|1812225726 +1.3.6.1.4.1.9.9.826.1.20.36.1.7.26283|66|119369868 +1.3.6.1.4.1.9.9.826.1.20.36.1.7.40129|66|3130971203 +1.3.6.1.4.1.9.9.826.1.20.36.1.7.62194|66|3709863199 +1.3.6.1.4.1.9.9.826.1.20.36.1.8.2830|66|3131396974 +1.3.6.1.4.1.9.9.826.1.20.36.1.8.26283|66|2481777105 +1.3.6.1.4.1.9.9.826.1.20.36.1.8.40129|66|1833605753 +1.3.6.1.4.1.9.9.826.1.20.36.1.8.62194|66|3769169802 +1.3.6.1.4.1.9.9.826.1.20.36.1.9.2830|66|2651469505 +1.3.6.1.4.1.9.9.826.1.20.36.1.9.26283|66|3811283804 +1.3.6.1.4.1.9.9.826.1.20.36.1.9.40129|66|3121053774 +1.3.6.1.4.1.9.9.826.1.20.36.1.9.62194|66|958781078 +1.3.6.1.4.1.9.9.826.1.20.36.1.10.2830|66|2587458138 +1.3.6.1.4.1.9.9.826.1.20.36.1.10.26283|66|3216742742 +1.3.6.1.4.1.9.9.826.1.20.36.1.10.40129|66|3517266721 +1.3.6.1.4.1.9.9.826.1.20.36.1.10.62194|66|2623622356 +1.3.6.1.4.1.9.9.826.1.20.36.1.11.2830|4x|6b657074204a616465642064726976696e67207468656972206163746564206b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.36.1.11.26283|4x|6f78656e206b65707420717561696e746c79204a616465642062757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.36.1.11.40129|4x|6163746564207a6f6d62696573207a6f6d62696573206b657074206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.36.1.11.62194|4x|6275742061637465642064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.36.1.12.2830|4x|6f78656e20666f7277617264206f78656e204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.36.1.12.26283|4x|717561696e746c7920616374656420616374656420717561696e746c79207a6f6d6269657320666f7277617264206f78656e20717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.36.1.12.40129|4x|6b6570742064726976696e67206f78656e +1.3.6.1.4.1.9.9.826.1.20.36.1.12.62194|4x|6275742074686569722074686569722062757420717561696e746c79206f78656e20717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.36.1.13.2830|66|876788132 +1.3.6.1.4.1.9.9.826.1.20.36.1.13.26283|66|4173219509 +1.3.6.1.4.1.9.9.826.1.20.36.1.13.40129|66|2191628765 +1.3.6.1.4.1.9.9.826.1.20.36.1.13.62194|66|2649884595 +1.3.6.1.4.1.9.9.826.1.20.36.1.14.2830|4x|6f78656e20746865697220666f727761726420746865697220666f7277617264204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.36.1.14.26283|4x|4a61646564206163746564207468656972207468656972206163746564206f78656e206b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.36.1.14.40129|4|but +1.3.6.1.4.1.9.9.826.1.20.36.1.14.62194|4x|6b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.36.1.15.2830|4x|7a6f6d6269657320717561696e746c792064726976696e67206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.36.1.15.26283|4x|62757420627574206b657074206f78656e206b65707420746865697220666f727761726420717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.36.1.15.40129|4x|4a6164656420717561696e746c79207468656972207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.36.1.15.62194|4x|666f7277617264206163746564204a6164656420666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.37.1.1.312|66|312 +1.3.6.1.4.1.9.9.826.1.20.37.1.1.4679|66|4679 +1.3.6.1.4.1.9.9.826.1.20.37.1.1.10762|66|10762 +1.3.6.1.4.1.9.9.826.1.20.37.1.1.13789|66|13789 +1.3.6.1.4.1.9.9.826.1.20.37.1.2.312|4|but +1.3.6.1.4.1.9.9.826.1.20.37.1.2.4679|4x|666f72776172642062757420717561696e746c7920666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.37.1.2.10762|4x|7468656972206163746564206f78656e20717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.37.1.2.13789|4x|62757420666f7277617264206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.37.1.3.312|4|zombies +1.3.6.1.4.1.9.9.826.1.20.37.1.3.4679|4x|7468656972206163746564204a6164656420616374656420666f727761726420666f727761726420717561696e746c79206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.37.1.3.10762|4x|7468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.37.1.3.13789|4x|7468656972206b65707420616374656420627574206f78656e207a6f6d62696573207a6f6d62696573206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.37.1.4.312|4x|64726976696e67206f78656e207468656972204a61646564 +1.3.6.1.4.1.9.9.826.1.20.37.1.4.4679|4x|6f78656e20746865697220627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.37.1.4.10762|4x|627574207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.37.1.4.13789|4x|6b657074204a6164656420666f7277617264206275742062757420627574 +1.3.6.1.4.1.9.9.826.1.20.37.1.5.312|66|2960556247 +1.3.6.1.4.1.9.9.826.1.20.37.1.5.4679|66|3175389148 +1.3.6.1.4.1.9.9.826.1.20.37.1.5.10762|66|1560864109 +1.3.6.1.4.1.9.9.826.1.20.37.1.5.13789|66|1532034148 +1.3.6.1.4.1.9.9.826.1.20.37.1.6.312|4x|6b6570742064726976696e67207a6f6d62696573207468656972204a616465642062757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.37.1.6.4679|4x|627574207468656972206b657074206b657074 +1.3.6.1.4.1.9.9.826.1.20.37.1.6.10762|4x|7468656972206275742062757420666f7277617264207a6f6d6269657320616374656420746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.37.1.6.13789|4x|64726976696e6720717561696e746c7920666f7277617264206b65707420666f7277617264207a6f6d62696573206b657074206f78656e207468656972 +1.3.6.1.4.1.9.9.826.1.20.37.1.7.312|4x|61637465642064726976696e6720666f7277617264206b65707420666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.37.1.7.4679|4|but +1.3.6.1.4.1.9.9.826.1.20.37.1.7.10762|4x|666f727761726420616374656420717561696e746c79204a61646564207468656972206b657074207468656972207468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.37.1.7.13789|4x|62757420717561696e746c792064726976696e67206163746564206b65707420616374656420717561696e746c79206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.37.1.8.312|66|2401197299 +1.3.6.1.4.1.9.9.826.1.20.37.1.8.4679|66|1732812469 +1.3.6.1.4.1.9.9.826.1.20.37.1.8.10762|66|2926508078 +1.3.6.1.4.1.9.9.826.1.20.37.1.8.13789|66|965739500 +1.3.6.1.4.1.9.9.826.1.20.37.1.9.312|2|0 +1.3.6.1.4.1.9.9.826.1.20.37.1.9.4679|2|0 +1.3.6.1.4.1.9.9.826.1.20.37.1.9.10762|2|0 +1.3.6.1.4.1.9.9.826.1.20.37.1.9.13789|2|0 +1.3.6.1.4.1.9.9.826.1.20.38.1.1.11333|66|11333 +1.3.6.1.4.1.9.9.826.1.20.38.1.1.14623|66|14623 +1.3.6.1.4.1.9.9.826.1.20.38.1.1.17453|66|17453 +1.3.6.1.4.1.9.9.826.1.20.38.1.1.61327|66|61327 +1.3.6.1.4.1.9.9.826.1.20.38.1.2.11333|4x|717561696e746c79206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.38.1.2.14623|4|forward +1.3.6.1.4.1.9.9.826.1.20.38.1.2.17453|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.38.1.2.61327|4|their +1.3.6.1.4.1.9.9.826.1.20.38.1.3.11333|4x|6b657074207a6f6d6269657320717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.38.1.3.14623|4x|627574207468656972206f78656e +1.3.6.1.4.1.9.9.826.1.20.38.1.3.17453|4x|616374656420627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.38.1.3.61327|4x|6f78656e207a6f6d6269657320666f727761726420717561696e746c7920666f7277617264204a6164656420717561696e746c79206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.38.1.4.11333|2|14 +1.3.6.1.4.1.9.9.826.1.20.38.1.4.14623|2|30 +1.3.6.1.4.1.9.9.826.1.20.38.1.4.17453|2|31 +1.3.6.1.4.1.9.9.826.1.20.38.1.4.61327|2|17 +1.3.6.1.4.1.9.9.826.1.20.38.1.5.11333|2|23 +1.3.6.1.4.1.9.9.826.1.20.38.1.5.14623|2|31 +1.3.6.1.4.1.9.9.826.1.20.38.1.5.17453|2|22 +1.3.6.1.4.1.9.9.826.1.20.38.1.5.61327|2|19 +1.3.6.1.4.1.9.9.826.1.20.38.1.6.11333|2|0 +1.3.6.1.4.1.9.9.826.1.20.38.1.6.14623|2|30 +1.3.6.1.4.1.9.9.826.1.20.38.1.6.17453|2|15 +1.3.6.1.4.1.9.9.826.1.20.38.1.6.61327|2|10 +1.3.6.1.4.1.9.9.826.1.20.38.1.7.11333|2|28 +1.3.6.1.4.1.9.9.826.1.20.38.1.7.14623|2|27 +1.3.6.1.4.1.9.9.826.1.20.38.1.7.17453|2|20 +1.3.6.1.4.1.9.9.826.1.20.38.1.7.61327|2|22 +1.3.6.1.4.1.9.9.826.1.20.38.1.8.11333|66|4212682071 +1.3.6.1.4.1.9.9.826.1.20.38.1.8.14623|66|3056063307 +1.3.6.1.4.1.9.9.826.1.20.38.1.8.17453|66|2004246049 +1.3.6.1.4.1.9.9.826.1.20.38.1.8.61327|66|1867747272 +1.3.6.1.4.1.9.9.826.1.20.38.1.9.11333|2|2 +1.3.6.1.4.1.9.9.826.1.20.38.1.9.14623|2|2 +1.3.6.1.4.1.9.9.826.1.20.38.1.9.17453|2|1 +1.3.6.1.4.1.9.9.826.1.20.38.1.9.61327|2|1 +1.3.6.1.4.1.9.9.826.1.20.38.1.10.11333|4x|6275742062757420666f727761726420666f7277617264207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.38.1.10.14623|4x|746865697220666f7277617264207468656972206f78656e +1.3.6.1.4.1.9.9.826.1.20.38.1.10.17453|4|forward +1.3.6.1.4.1.9.9.826.1.20.38.1.10.61327|4x|6b6570742064726976696e672074686569722062757420717561696e746c79206f78656e207a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.38.1.11.11333|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.38.1.11.14623|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.38.1.11.17453|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.38.1.11.61327|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.38.1.12.11333|66|4064770255 +1.3.6.1.4.1.9.9.826.1.20.38.1.12.14623|66|1532491202 +1.3.6.1.4.1.9.9.826.1.20.38.1.12.17453|66|268393524 +1.3.6.1.4.1.9.9.826.1.20.38.1.12.61327|66|3378330492 +1.3.6.1.4.1.9.9.826.1.20.39.1.1.5501|66|5501 +1.3.6.1.4.1.9.9.826.1.20.39.1.1.9736|66|9736 +1.3.6.1.4.1.9.9.826.1.20.39.1.1.15284|66|15284 +1.3.6.1.4.1.9.9.826.1.20.39.1.1.25816|66|25816 +1.3.6.1.4.1.9.9.826.1.20.39.1.2.5501|4x|666f727761726420666f727761726420627574 +1.3.6.1.4.1.9.9.826.1.20.39.1.2.9736|4x|7468656972207468656972206b65707420746865697220666f7277617264206f78656e206b657074207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.39.1.2.15284|4x|627574206f78656e207468656972206163746564206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.39.1.2.25816|4x|7a6f6d62696573206b65707420666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.39.1.3.5501|4x|666f7277617264207a6f6d62696573206f78656e20717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.39.1.3.9736|4x|7a6f6d62696573206f78656e204a6164656420666f72776172642062757420616374656420666f7277617264206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.39.1.3.15284|4x|746865697220666f727761726420616374656420717561696e746c79207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.39.1.3.25816|4x|6f78656e206f78656e206f78656e204a6164656420717561696e746c7920717561696e746c79206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.39.1.4.5501|2|20 +1.3.6.1.4.1.9.9.826.1.20.39.1.4.9736|2|22 +1.3.6.1.4.1.9.9.826.1.20.39.1.4.15284|2|7 +1.3.6.1.4.1.9.9.826.1.20.39.1.4.25816|2|0 +1.3.6.1.4.1.9.9.826.1.20.39.1.5.5501|2|15 +1.3.6.1.4.1.9.9.826.1.20.39.1.5.9736|2|3 +1.3.6.1.4.1.9.9.826.1.20.39.1.5.15284|2|5 +1.3.6.1.4.1.9.9.826.1.20.39.1.5.25816|2|8 +1.3.6.1.4.1.9.9.826.1.20.39.1.6.5501|2|1 +1.3.6.1.4.1.9.9.826.1.20.39.1.6.9736|2|5 +1.3.6.1.4.1.9.9.826.1.20.39.1.6.15284|2|29 +1.3.6.1.4.1.9.9.826.1.20.39.1.6.25816|2|22 +1.3.6.1.4.1.9.9.826.1.20.39.1.7.5501|2|31 +1.3.6.1.4.1.9.9.826.1.20.39.1.7.9736|2|18 +1.3.6.1.4.1.9.9.826.1.20.39.1.7.15284|2|13 +1.3.6.1.4.1.9.9.826.1.20.39.1.7.25816|2|21 +1.3.6.1.4.1.9.9.826.1.20.39.1.8.5501|70|13426023999348208039 +1.3.6.1.4.1.9.9.826.1.20.39.1.8.9736|70|13912684507555716162 +1.3.6.1.4.1.9.9.826.1.20.39.1.8.15284|70|3697260137843106915 +1.3.6.1.4.1.9.9.826.1.20.39.1.8.25816|70|8662375361298128336 +1.3.6.1.4.1.9.9.826.1.20.39.1.9.5501|2|2 +1.3.6.1.4.1.9.9.826.1.20.39.1.9.9736|2|1 +1.3.6.1.4.1.9.9.826.1.20.39.1.9.15284|2|1 +1.3.6.1.4.1.9.9.826.1.20.39.1.9.25816|2|2 +1.3.6.1.4.1.9.9.826.1.20.39.1.10.5501|2|2 +1.3.6.1.4.1.9.9.826.1.20.39.1.10.9736|2|2 +1.3.6.1.4.1.9.9.826.1.20.39.1.10.15284|2|1 +1.3.6.1.4.1.9.9.826.1.20.39.1.10.25816|2|2 +1.3.6.1.4.1.9.9.826.1.20.39.1.11.5501|4x|62757420717561696e746c7920666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.39.1.11.9736|4x|666f7277617264206f78656e2074686569722064726976696e6720627574204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.39.1.11.15284|4x|7a6f6d626965732074686569722064726976696e6720666f72776172642064726976696e6720666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.39.1.11.25816|4x|6163746564206f78656e206f78656e206f78656e20717561696e746c79206f78656e20666f72776172642061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.39.1.12.5501|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.39.1.12.9736|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.39.1.12.15284|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.39.1.12.25816|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.40.1.1.501|66|501 +1.3.6.1.4.1.9.9.826.1.20.40.1.1.9533|66|9533 +1.3.6.1.4.1.9.9.826.1.20.40.1.1.25072|66|25072 +1.3.6.1.4.1.9.9.826.1.20.40.1.1.38180|66|38180 +1.3.6.1.4.1.9.9.826.1.20.40.1.2.501|4x|64726976696e67207a6f6d62696573207468656972204a61646564204a61646564204a61646564204a61646564207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.40.1.2.9533|4x|6b657074204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.40.1.2.25072|4x|627574207a6f6d626965732062757420717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.40.1.2.38180|4x|64726976696e67206b657074204a6164656420717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.40.1.3.501|4x|4a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.40.1.3.9533|4x|61637465642074686569722074686569722074686569722064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.40.1.3.25072|4x|4a61646564204a61646564206163746564206f78656e20627574206f78656e20717561696e746c79207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.20.40.1.3.38180|4x|7468656972207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.40.1.4.501|66|233177325 +1.3.6.1.4.1.9.9.826.1.20.40.1.4.9533|66|1719872725 +1.3.6.1.4.1.9.9.826.1.20.40.1.4.25072|66|1741663777 +1.3.6.1.4.1.9.9.826.1.20.40.1.4.38180|66|699500398 +1.3.6.1.4.1.9.9.826.1.20.40.1.5.501|66|2471747160 +1.3.6.1.4.1.9.9.826.1.20.40.1.5.9533|66|1209196776 +1.3.6.1.4.1.9.9.826.1.20.40.1.5.25072|66|1342580913 +1.3.6.1.4.1.9.9.826.1.20.40.1.5.38180|66|1079724000 +1.3.6.1.4.1.9.9.826.1.20.40.1.6.501|66|1314358853 +1.3.6.1.4.1.9.9.826.1.20.40.1.6.9533|66|1163569212 +1.3.6.1.4.1.9.9.826.1.20.40.1.6.25072|66|3767277452 +1.3.6.1.4.1.9.9.826.1.20.40.1.6.38180|66|3592301052 +1.3.6.1.4.1.9.9.826.1.20.40.1.7.501|66|3246895119 +1.3.6.1.4.1.9.9.826.1.20.40.1.7.9533|66|2529921903 +1.3.6.1.4.1.9.9.826.1.20.40.1.7.25072|66|2861192973 +1.3.6.1.4.1.9.9.826.1.20.40.1.7.38180|66|1260209865 +1.3.6.1.4.1.9.9.826.1.20.40.1.8.501|66|1746175997 +1.3.6.1.4.1.9.9.826.1.20.40.1.8.9533|66|1856724091 +1.3.6.1.4.1.9.9.826.1.20.40.1.8.25072|66|4165753693 +1.3.6.1.4.1.9.9.826.1.20.40.1.8.38180|66|1933503602 +1.3.6.1.4.1.9.9.826.1.20.40.1.9.501|2|1 +1.3.6.1.4.1.9.9.826.1.20.40.1.9.9533|2|1 +1.3.6.1.4.1.9.9.826.1.20.40.1.9.25072|2|2 +1.3.6.1.4.1.9.9.826.1.20.40.1.9.38180|2|2 +1.3.6.1.4.1.9.9.826.1.20.40.1.10.501|4x|666f727761726420627574 +1.3.6.1.4.1.9.9.826.1.20.40.1.10.9533|4x|7468656972206f78656e204a6164656420666f72776172642064726976696e6720666f7277617264204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.40.1.10.25072|4x|6163746564206f78656e207468656972204a61646564 +1.3.6.1.4.1.9.9.826.1.20.40.1.10.38180|4x|4a61646564204a6164656420717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.40.1.11.501|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.40.1.11.9533|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.40.1.11.25072|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.40.1.11.38180|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.40.1.12.501|66|1190389118 +1.3.6.1.4.1.9.9.826.1.20.40.1.12.9533|66|2649739836 +1.3.6.1.4.1.9.9.826.1.20.40.1.12.25072|66|3525759066 +1.3.6.1.4.1.9.9.826.1.20.40.1.12.38180|66|3034452724 +1.3.6.1.4.1.9.9.826.1.20.41.1.1.13474|66|13474 +1.3.6.1.4.1.9.9.826.1.20.41.1.1.28551|66|28551 +1.3.6.1.4.1.9.9.826.1.20.41.1.1.32951|66|32951 +1.3.6.1.4.1.9.9.826.1.20.41.1.1.64450|66|64450 +1.3.6.1.4.1.9.9.826.1.20.41.1.2.13474|4x|4a61646564206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.41.1.2.28551|4x|7a6f6d626965732062757420717561696e746c792061637465642074686569722062757420717561696e746c7920717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.41.1.2.32951|4x|6275742061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.41.1.2.64450|4|driving +1.3.6.1.4.1.9.9.826.1.20.41.1.3.13474|4|acted +1.3.6.1.4.1.9.9.826.1.20.41.1.3.28551|4x|717561696e746c7920627574206163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.41.1.3.32951|4x|6f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.41.1.3.64450|4x|6163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.41.1.4.13474|70|2515010185267523421 +1.3.6.1.4.1.9.9.826.1.20.41.1.4.28551|70|15888717538049986415 +1.3.6.1.4.1.9.9.826.1.20.41.1.4.32951|70|13901048493515737347 +1.3.6.1.4.1.9.9.826.1.20.41.1.4.64450|70|15601693240554225763 +1.3.6.1.4.1.9.9.826.1.20.41.1.5.13474|2|2 +1.3.6.1.4.1.9.9.826.1.20.41.1.5.28551|2|2 +1.3.6.1.4.1.9.9.826.1.20.41.1.5.32951|2|2 +1.3.6.1.4.1.9.9.826.1.20.41.1.5.64450|2|2 +1.3.6.1.4.1.9.9.826.1.20.41.1.6.13474|66|2379786993 +1.3.6.1.4.1.9.9.826.1.20.41.1.6.28551|66|3778260523 +1.3.6.1.4.1.9.9.826.1.20.41.1.6.32951|66|436571962 +1.3.6.1.4.1.9.9.826.1.20.41.1.6.64450|66|1711393053 +1.3.6.1.4.1.9.9.826.1.20.41.1.7.13474|66|3460719417 +1.3.6.1.4.1.9.9.826.1.20.41.1.7.28551|66|896567075 +1.3.6.1.4.1.9.9.826.1.20.41.1.7.32951|66|1275746543 +1.3.6.1.4.1.9.9.826.1.20.41.1.7.64450|66|1054777283 +1.3.6.1.4.1.9.9.826.1.20.41.1.8.13474|66|1646919501 +1.3.6.1.4.1.9.9.826.1.20.41.1.8.28551|66|744920693 +1.3.6.1.4.1.9.9.826.1.20.41.1.8.32951|66|2272645540 +1.3.6.1.4.1.9.9.826.1.20.41.1.8.64450|66|2812224541 +1.3.6.1.4.1.9.9.826.1.20.41.1.9.13474|66|2515636589 +1.3.6.1.4.1.9.9.826.1.20.41.1.9.28551|66|1587948190 +1.3.6.1.4.1.9.9.826.1.20.41.1.9.32951|66|3129103678 +1.3.6.1.4.1.9.9.826.1.20.41.1.9.64450|66|3231973718 +1.3.6.1.4.1.9.9.826.1.20.41.1.10.13474|2|2 +1.3.6.1.4.1.9.9.826.1.20.41.1.10.28551|2|1 +1.3.6.1.4.1.9.9.826.1.20.41.1.10.32951|2|2 +1.3.6.1.4.1.9.9.826.1.20.41.1.10.64450|2|1 +1.3.6.1.4.1.9.9.826.1.20.41.1.11.13474|4x|61637465642064726976696e672064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.41.1.11.28551|4x|6b657074206f78656e2061637465642064726976696e6720717561696e746c79207a6f6d62696573206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.41.1.11.32951|4x|7a6f6d62696573206f78656e207a6f6d62696573206f78656e2064726976696e67207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.41.1.11.64450|4x|746865697220717561696e746c7920627574206f78656e206163746564207468656972 +1.3.6.1.4.1.9.9.826.1.20.41.1.12.13474|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.41.1.12.28551|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.41.1.12.32951|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.41.1.12.64450|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.42.1.1.2627|66|2627 +1.3.6.1.4.1.9.9.826.1.20.42.1.1.10185|66|10185 +1.3.6.1.4.1.9.9.826.1.20.42.1.1.14369|66|14369 +1.3.6.1.4.1.9.9.826.1.20.42.1.1.15228|66|15228 +1.3.6.1.4.1.9.9.826.1.20.42.1.2.2627|4x|7a6f6d62696573206163746564204a6164656420627574206b65707420717561696e746c7920627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.42.1.2.10185|4x|6275742061637465642064726976696e6720717561696e746c7920717561696e746c79206163746564207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.42.1.2.14369|4x|627574204a61646564207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.42.1.2.15228|4x|4a61646564206f78656e20666f7277617264206b65707420616374656420717561696e746c79204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.42.1.3.2627|4x|7468656972207468656972204a6164656420666f727761726420666f727761726420717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.42.1.3.10185|4x|6163746564206f78656e20666f72776172642064726976696e672074686569722074686569722064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.42.1.3.14369|4x|7a6f6d62696573204a616465642064726976696e67204a616465642064726976696e6720627574207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.42.1.3.15228|4x|6b65707420746865697220717561696e746c79207a6f6d62696573206f78656e206163746564206163746564204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.42.1.4.2627|2|1 +1.3.6.1.4.1.9.9.826.1.20.42.1.4.10185|2|1 +1.3.6.1.4.1.9.9.826.1.20.42.1.4.14369|2|3 +1.3.6.1.4.1.9.9.826.1.20.42.1.4.15228|2|3 +1.3.6.1.4.1.9.9.826.1.20.42.1.5.2627|2|7 +1.3.6.1.4.1.9.9.826.1.20.42.1.5.10185|2|6 +1.3.6.1.4.1.9.9.826.1.20.42.1.5.14369|2|3 +1.3.6.1.4.1.9.9.826.1.20.42.1.5.15228|2|4 +1.3.6.1.4.1.9.9.826.1.20.42.1.6.2627|2|4 +1.3.6.1.4.1.9.9.826.1.20.42.1.6.10185|2|2 +1.3.6.1.4.1.9.9.826.1.20.42.1.6.14369|2|9 +1.3.6.1.4.1.9.9.826.1.20.42.1.6.15228|2|8 +1.3.6.1.4.1.9.9.826.1.20.42.1.7.2627|70|10798870487439027864 +1.3.6.1.4.1.9.9.826.1.20.42.1.7.10185|70|3079046434812346036 +1.3.6.1.4.1.9.9.826.1.20.42.1.7.14369|70|12104194147292126684 +1.3.6.1.4.1.9.9.826.1.20.42.1.7.15228|70|14087478334320770061 +1.3.6.1.4.1.9.9.826.1.20.42.1.8.2627|4x|6163746564206163746564207468656972207468656972206f78656e +1.3.6.1.4.1.9.9.826.1.20.42.1.8.10185|4x|7a6f6d62696573206b657074 +1.3.6.1.4.1.9.9.826.1.20.42.1.8.14369|4x|6163746564206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.42.1.8.15228|4x|717561696e746c7920616374656420717561696e746c79206f78656e207468656972206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.42.1.9.2627|4x|6f78656e2062757420717561696e746c79207468656972206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.42.1.9.10185|4x|6b6570742061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.42.1.9.14369|4x|627574206b65707420627574204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.42.1.9.15228|4|but +1.3.6.1.4.1.9.9.826.1.20.42.1.10.2627|66|2527635267 +1.3.6.1.4.1.9.9.826.1.20.42.1.10.10185|66|421493609 +1.3.6.1.4.1.9.9.826.1.20.42.1.10.14369|66|944770442 +1.3.6.1.4.1.9.9.826.1.20.42.1.10.15228|66|410990592 +1.3.6.1.4.1.9.9.826.1.20.42.1.11.2627|66|1816921451 +1.3.6.1.4.1.9.9.826.1.20.42.1.11.10185|66|2880329413 +1.3.6.1.4.1.9.9.826.1.20.42.1.11.14369|66|2965692303 +1.3.6.1.4.1.9.9.826.1.20.42.1.11.15228|66|501080126 +1.3.6.1.4.1.9.9.826.1.20.42.1.12.2627|4x|62757420717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.42.1.12.10185|4x|7a6f6d62696573204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.42.1.12.14369|4x|7a6f6d62696573206f78656e20746865697220717561696e746c79207a6f6d62696573206f78656e207a6f6d6269657320616374656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.42.1.12.15228|4x|64726976696e67206b65707420627574204a616465642064726976696e67206163746564206275742064726976696e6720666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.42.1.13.2627|4x|717561696e746c79206163746564207468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.42.1.13.10185|4x|74686569722061637465642062757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.42.1.13.14369|4|acted +1.3.6.1.4.1.9.9.826.1.20.42.1.13.15228|4x|616374656420717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.42.1.14.2627|4|acted +1.3.6.1.4.1.9.9.826.1.20.42.1.14.10185|4x|616374656420717561696e746c792064726976696e67207a6f6d62696573206b657074 +1.3.6.1.4.1.9.9.826.1.20.42.1.14.14369|4x|627574207a6f6d6269657320746865697220666f727761726420666f7277617264204a6164656420717561696e746c7920627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.42.1.14.15228|4x|7a6f6d62696573207a6f6d62696573206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.42.1.15.2627|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.42.1.15.10185|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.42.1.15.14369|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.42.1.15.15228|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.42.1.16.2627|4x|717561696e746c792064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.42.1.16.10185|4x|6b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.42.1.16.14369|4x|666f7277617264207a6f6d62696573206f78656e206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.42.1.16.15228|4x|627574206b65707420717561696e746c792074686569722064726976696e6720717561696e746c79207a6f6d6269657320746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.42.1.17.2627|66|870607727 +1.3.6.1.4.1.9.9.826.1.20.42.1.17.10185|66|3030763827 +1.3.6.1.4.1.9.9.826.1.20.42.1.17.14369|66|492191641 +1.3.6.1.4.1.9.9.826.1.20.42.1.17.15228|66|1190753797 +1.3.6.1.4.1.9.9.826.1.20.42.1.18.2627|66|1 +1.3.6.1.4.1.9.9.826.1.20.42.1.18.10185|66|1 +1.3.6.1.4.1.9.9.826.1.20.42.1.18.14369|66|1 +1.3.6.1.4.1.9.9.826.1.20.42.1.18.15228|66|1 +1.3.6.1.4.1.9.9.826.1.20.42.1.19.2627|70|12039171497426758776 +1.3.6.1.4.1.9.9.826.1.20.42.1.19.10185|70|189571898220540781 +1.3.6.1.4.1.9.9.826.1.20.42.1.19.14369|70|16287156258037698954 +1.3.6.1.4.1.9.9.826.1.20.42.1.19.15228|70|8037779533016056198 +1.3.6.1.4.1.9.9.826.1.20.42.1.20.2627|2|1 +1.3.6.1.4.1.9.9.826.1.20.42.1.20.10185|2|4 +1.3.6.1.4.1.9.9.826.1.20.42.1.20.14369|2|1 +1.3.6.1.4.1.9.9.826.1.20.42.1.20.15228|2|2 +1.3.6.1.4.1.9.9.826.1.20.42.1.21.2627|4x|6f78656e20717561696e746c79204a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.42.1.21.10185|4x|616374656420746865697220746865697220717561696e746c79204a61646564206163746564206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.42.1.21.14369|4x|7a6f6d626965732064726976696e67206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.42.1.21.15228|4x|7468656972207a6f6d6269657320746865697220746865697220666f7277617264207a6f6d62696573206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.42.1.22.2627|4x|666f727761726420666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.42.1.22.10185|4x|62757420616374656420666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.42.1.22.14369|4|driving +1.3.6.1.4.1.9.9.826.1.20.42.1.22.15228|4x|616374656420666f7277617264206f78656e206f78656e20666f7277617264207a6f6d62696573204a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.42.1.23.2627|4x|627574207a6f6d62696573204a6164656420666f727761726420717561696e746c79206f78656e207a6f6d62696573206b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.42.1.23.10185|4x|4a61646564204a616465642062757420666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.42.1.23.14369|4x|666f727761726420627574207a6f6d62696573204a61646564204a6164656420746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.42.1.23.15228|4x|616374656420666f7277617264206b6570742062757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.42.1.24.2627|2|5 +1.3.6.1.4.1.9.9.826.1.20.42.1.24.10185|2|10 +1.3.6.1.4.1.9.9.826.1.20.42.1.24.14369|2|0 +1.3.6.1.4.1.9.9.826.1.20.42.1.24.15228|2|9 +1.3.6.1.4.1.9.9.826.1.20.42.1.25.2627|2|11 +1.3.6.1.4.1.9.9.826.1.20.42.1.25.10185|2|5 +1.3.6.1.4.1.9.9.826.1.20.42.1.25.14369|2|11 +1.3.6.1.4.1.9.9.826.1.20.42.1.25.15228|2|2 +1.3.6.1.4.1.9.9.826.1.20.42.1.26.2627|2|0 +1.3.6.1.4.1.9.9.826.1.20.42.1.26.10185|2|5 +1.3.6.1.4.1.9.9.826.1.20.42.1.26.14369|2|13 +1.3.6.1.4.1.9.9.826.1.20.42.1.26.15228|2|7 +1.3.6.1.4.1.9.9.826.1.20.42.1.27.2627|2|14 +1.3.6.1.4.1.9.9.826.1.20.42.1.27.10185|2|21 +1.3.6.1.4.1.9.9.826.1.20.42.1.27.14369|2|20 +1.3.6.1.4.1.9.9.826.1.20.42.1.27.15228|2|13 +1.3.6.1.4.1.9.9.826.1.20.42.1.28.2627|4x|61637465642062757420616374656420717561696e746c79206b65707420746865697220627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.42.1.28.10185|4x|74686569722064726976696e6720616374656420666f7277617264206163746564207a6f6d62696573206f78656e206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.42.1.28.14369|4x|6b6570742064726976696e6720627574207468656972207468656972206f78656e +1.3.6.1.4.1.9.9.826.1.20.42.1.28.15228|4x|6f78656e20666f72776172642074686569722061637465642064726976696e6720717561696e746c7920666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.42.1.29.2627|4x|7a6f6d6269657320666f72776172642064726976696e6720717561696e746c79204a6164656420666f72776172642062757420627574 +1.3.6.1.4.1.9.9.826.1.20.42.1.29.10185|4x|717561696e746c79206163746564204a61646564206f78656e206163746564206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.42.1.29.14369|4x|6b657074207a6f6d62696573206275742074686569722062757420616374656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.42.1.29.15228|4x|666f7277617264204a616465642061637465642064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.42.1.30.2627|2|2 +1.3.6.1.4.1.9.9.826.1.20.42.1.30.10185|2|0 +1.3.6.1.4.1.9.9.826.1.20.42.1.30.14369|2|1 +1.3.6.1.4.1.9.9.826.1.20.42.1.30.15228|2|0 +1.3.6.1.4.1.9.9.826.1.20.42.1.31.2627|2|7 +1.3.6.1.4.1.9.9.826.1.20.42.1.31.10185|2|5 +1.3.6.1.4.1.9.9.826.1.20.42.1.31.14369|2|3 +1.3.6.1.4.1.9.9.826.1.20.42.1.31.15228|2|3 +1.3.6.1.4.1.9.9.826.1.20.42.1.32.2627|4x|7468656972207a6f6d6269657320616374656420717561696e746c79207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.42.1.32.10185|4|but +1.3.6.1.4.1.9.9.826.1.20.42.1.32.14369|4x|62757420746865697220746865697220666f7277617264207a6f6d6269657320717561696e746c7920717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.42.1.32.15228|4x|64726976696e67204a6164656420666f7277617264207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.42.1.33.2627|4|zombies +1.3.6.1.4.1.9.9.826.1.20.42.1.33.10185|4x|6f78656e2064726976696e6720666f727761726420666f727761726420717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.42.1.33.14369|4x|6163746564206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.42.1.33.15228|4x|6b657074207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.42.1.34.2627|2|7 +1.3.6.1.4.1.9.9.826.1.20.42.1.34.10185|2|2 +1.3.6.1.4.1.9.9.826.1.20.42.1.34.14369|2|1 +1.3.6.1.4.1.9.9.826.1.20.42.1.34.15228|2|3 +1.3.6.1.4.1.9.9.826.1.20.43.1.1.3197|66|3197 +1.3.6.1.4.1.9.9.826.1.20.43.1.1.30175|66|30175 +1.3.6.1.4.1.9.9.826.1.20.43.1.1.49074|66|49074 +1.3.6.1.4.1.9.9.826.1.20.43.1.1.49165|66|49165 +1.3.6.1.4.1.9.9.826.1.20.43.1.2.3197|4x|717561696e746c79206f78656e20616374656420717561696e746c7920717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.43.1.2.30175|4x|64726976696e6720717561696e746c79207a6f6d62696573206b6570742064726976696e67207468656972207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.43.1.2.49074|4x|64726976696e6720717561696e746c7920717561696e746c792064726976696e67207a6f6d62696573206b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.43.1.2.49165|4|zombies +1.3.6.1.4.1.9.9.826.1.20.43.1.3.3197|4x|7a6f6d62696573206f78656e2064726976696e67204a61646564207a6f6d6269657320666f727761726420717561696e746c79206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.43.1.3.30175|4x|4a61646564206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.43.1.3.49074|4x|6f78656e206f78656e206275742074686569722064726976696e67207a6f6d62696573206b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.43.1.3.49165|4x|717561696e746c79204a6164656420717561696e746c7920717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.43.1.4.3197|2|1 +1.3.6.1.4.1.9.9.826.1.20.43.1.4.30175|2|1 +1.3.6.1.4.1.9.9.826.1.20.43.1.4.49074|2|1 +1.3.6.1.4.1.9.9.826.1.20.43.1.4.49165|2|2 +1.3.6.1.4.1.9.9.826.1.20.43.1.5.3197|2|1 +1.3.6.1.4.1.9.9.826.1.20.43.1.5.30175|2|1 +1.3.6.1.4.1.9.9.826.1.20.43.1.5.49074|2|1 +1.3.6.1.4.1.9.9.826.1.20.43.1.5.49165|2|2 +1.3.6.1.4.1.9.9.826.1.20.43.1.6.3197|66|402938194 +1.3.6.1.4.1.9.9.826.1.20.43.1.6.30175|66|2549882092 +1.3.6.1.4.1.9.9.826.1.20.43.1.6.49074|66|2519095831 +1.3.6.1.4.1.9.9.826.1.20.43.1.6.49165|66|3246897934 +1.3.6.1.4.1.9.9.826.1.20.43.1.7.3197|66|2486414009 +1.3.6.1.4.1.9.9.826.1.20.43.1.7.30175|66|771827193 +1.3.6.1.4.1.9.9.826.1.20.43.1.7.49074|66|551590013 +1.3.6.1.4.1.9.9.826.1.20.43.1.7.49165|66|3754825815 +1.3.6.1.4.1.9.9.826.1.20.43.1.8.3197|66|3424032541 +1.3.6.1.4.1.9.9.826.1.20.43.1.8.30175|66|930979068 +1.3.6.1.4.1.9.9.826.1.20.43.1.8.49074|66|1183720222 +1.3.6.1.4.1.9.9.826.1.20.43.1.8.49165|66|1714743066 +1.3.6.1.4.1.9.9.826.1.20.43.1.9.3197|66|4102905181 +1.3.6.1.4.1.9.9.826.1.20.43.1.9.30175|66|1738492418 +1.3.6.1.4.1.9.9.826.1.20.43.1.9.49074|66|613771346 +1.3.6.1.4.1.9.9.826.1.20.43.1.9.49165|66|3644473557 +1.3.6.1.4.1.9.9.826.1.20.43.1.10.3197|66|3512220783 +1.3.6.1.4.1.9.9.826.1.20.43.1.10.30175|66|431878236 +1.3.6.1.4.1.9.9.826.1.20.43.1.10.49074|66|3635698231 +1.3.6.1.4.1.9.9.826.1.20.43.1.10.49165|66|601789073 +1.3.6.1.4.1.9.9.826.1.20.43.1.11.3197|4x|616374656420717561696e746c79207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.43.1.11.30175|4x|7a6f6d62696573204a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.43.1.11.49074|4x|717561696e746c792062757420666f7277617264204a6164656420666f7277617264207a6f6d62696573207a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.43.1.11.49165|4x|4a61646564206f78656e2062757420746865697220746865697220666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.43.1.12.3197|4x|4a61646564204a6164656420666f727761726420666f7277617264206b65707420616374656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.43.1.12.30175|4x|64726976696e672064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.43.1.12.49074|4x|6f78656e20616374656420627574207468656972204a6164656420717561696e746c7920666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.43.1.12.49165|4x|64726976696e67204a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.43.1.13.3197|66|2855913837 +1.3.6.1.4.1.9.9.826.1.20.43.1.13.30175|66|3477307871 +1.3.6.1.4.1.9.9.826.1.20.43.1.13.49074|66|378627866 +1.3.6.1.4.1.9.9.826.1.20.43.1.13.49165|66|4169674996 +1.3.6.1.4.1.9.9.826.1.20.43.1.14.3197|4x|627574204a6164656420666f7277617264206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.43.1.14.30175|4x|4a616465642062757420717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.43.1.14.49074|4x|717561696e746c7920717561696e746c7920666f7277617264204a61646564206f78656e20717561696e746c79207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.43.1.14.49165|4x|62757420666f7277617264207a6f6d6269657320717561696e746c7920627574204a6164656420746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.43.1.15.3197|2|1 +1.3.6.1.4.1.9.9.826.1.20.43.1.15.30175|2|1 +1.3.6.1.4.1.9.9.826.1.20.43.1.15.49074|2|3 +1.3.6.1.4.1.9.9.826.1.20.43.1.15.49165|2|1 +1.3.6.1.4.1.9.9.826.1.20.43.1.16.3197|4x|666f7277617264204a61646564206b65707420717561696e746c79207468656972206163746564206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.43.1.16.30175|4x|6275742064726976696e6720627574207a6f6d6269657320746865697220616374656420627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.43.1.16.49074|4x|6b657074206f78656e206b6570742064726976696e67207468656972206163746564206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.43.1.16.49165|4x|7468656972207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.20.44.1.1.4288|66|4288 +1.3.6.1.4.1.9.9.826.1.20.44.1.1.13609|66|13609 +1.3.6.1.4.1.9.9.826.1.20.44.1.1.60554|66|60554 +1.3.6.1.4.1.9.9.826.1.20.44.1.1.63348|66|63348 +1.3.6.1.4.1.9.9.826.1.20.44.1.2.4288|4|their +1.3.6.1.4.1.9.9.826.1.20.44.1.2.13609|4x|7a6f6d62696573206b65707420746865697220666f727761726420666f727761726420627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.44.1.2.60554|4x|666f727761726420627574206275742062757420717561696e746c79206163746564207a6f6d6269657320746865697220627574 +1.3.6.1.4.1.9.9.826.1.20.44.1.2.63348|4x|666f727761726420717561696e746c7920666f72776172642062757420746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.44.1.3.4288|4x|616374656420666f727761726420717561696e746c79206275742064726976696e672062757420627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.44.1.3.13609|4x|6163746564206163746564206f78656e20717561696e746c7920746865697220666f7277617264206f78656e206b657074206163746564 +1.3.6.1.4.1.9.9.826.1.20.44.1.3.60554|4x|6f78656e207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.20.44.1.3.63348|4x|6163746564207a6f6d62696573206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.44.1.4.4288|2|22 +1.3.6.1.4.1.9.9.826.1.20.44.1.4.13609|2|6 +1.3.6.1.4.1.9.9.826.1.20.44.1.4.60554|2|2 +1.3.6.1.4.1.9.9.826.1.20.44.1.4.63348|2|20 +1.3.6.1.4.1.9.9.826.1.20.44.1.5.4288|2|19 +1.3.6.1.4.1.9.9.826.1.20.44.1.5.13609|2|22 +1.3.6.1.4.1.9.9.826.1.20.44.1.5.60554|2|12 +1.3.6.1.4.1.9.9.826.1.20.44.1.5.63348|2|9 +1.3.6.1.4.1.9.9.826.1.20.44.1.6.4288|2|12 +1.3.6.1.4.1.9.9.826.1.20.44.1.6.13609|2|5 +1.3.6.1.4.1.9.9.826.1.20.44.1.6.60554|2|25 +1.3.6.1.4.1.9.9.826.1.20.44.1.6.63348|2|11 +1.3.6.1.4.1.9.9.826.1.20.44.1.7.4288|2|15 +1.3.6.1.4.1.9.9.826.1.20.44.1.7.13609|2|31 +1.3.6.1.4.1.9.9.826.1.20.44.1.7.60554|2|10 +1.3.6.1.4.1.9.9.826.1.20.44.1.7.63348|2|6 +1.3.6.1.4.1.9.9.826.1.20.44.1.8.4288|2|5 +1.3.6.1.4.1.9.9.826.1.20.44.1.8.13609|2|26 +1.3.6.1.4.1.9.9.826.1.20.44.1.8.60554|2|26 +1.3.6.1.4.1.9.9.826.1.20.44.1.8.63348|2|15 +1.3.6.1.4.1.9.9.826.1.20.44.1.9.4288|2|16 +1.3.6.1.4.1.9.9.826.1.20.44.1.9.13609|2|6 +1.3.6.1.4.1.9.9.826.1.20.44.1.9.60554|2|11 +1.3.6.1.4.1.9.9.826.1.20.44.1.9.63348|2|2 +1.3.6.1.4.1.9.9.826.1.20.44.1.10.4288|2|15 +1.3.6.1.4.1.9.9.826.1.20.44.1.10.13609|2|25 +1.3.6.1.4.1.9.9.826.1.20.44.1.10.60554|2|9 +1.3.6.1.4.1.9.9.826.1.20.44.1.10.63348|2|0 +1.3.6.1.4.1.9.9.826.1.20.44.1.11.4288|2|16 +1.3.6.1.4.1.9.9.826.1.20.44.1.11.13609|2|5 +1.3.6.1.4.1.9.9.826.1.20.44.1.11.60554|2|20 +1.3.6.1.4.1.9.9.826.1.20.44.1.11.63348|2|1 +1.3.6.1.4.1.9.9.826.1.20.44.1.12.4288|2|22 +1.3.6.1.4.1.9.9.826.1.20.44.1.12.13609|2|13 +1.3.6.1.4.1.9.9.826.1.20.44.1.12.60554|2|16 +1.3.6.1.4.1.9.9.826.1.20.44.1.12.63348|2|16 +1.3.6.1.4.1.9.9.826.1.20.44.1.13.4288|2|11 +1.3.6.1.4.1.9.9.826.1.20.44.1.13.13609|2|17 +1.3.6.1.4.1.9.9.826.1.20.44.1.13.60554|2|6 +1.3.6.1.4.1.9.9.826.1.20.44.1.13.63348|2|22 +1.3.6.1.4.1.9.9.826.1.20.44.1.14.4288|2|30 +1.3.6.1.4.1.9.9.826.1.20.44.1.14.13609|2|5 +1.3.6.1.4.1.9.9.826.1.20.44.1.14.60554|2|5 +1.3.6.1.4.1.9.9.826.1.20.44.1.14.63348|2|13 +1.3.6.1.4.1.9.9.826.1.20.44.1.15.4288|2|16 +1.3.6.1.4.1.9.9.826.1.20.44.1.15.13609|2|7 +1.3.6.1.4.1.9.9.826.1.20.44.1.15.60554|2|9 +1.3.6.1.4.1.9.9.826.1.20.44.1.15.63348|2|2 +1.3.6.1.4.1.9.9.826.1.20.44.1.16.4288|4x|616374656420616374656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.44.1.16.13609|4x|627574206f78656e20666f727761726420717561696e746c7920746865697220627574 +1.3.6.1.4.1.9.9.826.1.20.44.1.16.60554|4x|64726976696e67206163746564206163746564206275742064726976696e672064726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.44.1.16.63348|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.44.1.17.4288|66|4240462802 +1.3.6.1.4.1.9.9.826.1.20.44.1.17.13609|66|3011959549 +1.3.6.1.4.1.9.9.826.1.20.44.1.17.60554|66|2546452858 +1.3.6.1.4.1.9.9.826.1.20.44.1.17.63348|66|1574894973 +1.3.6.1.4.1.9.9.826.1.20.44.1.18.4288|2|21 +1.3.6.1.4.1.9.9.826.1.20.44.1.18.13609|2|15 +1.3.6.1.4.1.9.9.826.1.20.44.1.18.60554|2|15 +1.3.6.1.4.1.9.9.826.1.20.44.1.18.63348|2|3 +1.3.6.1.4.1.9.9.826.1.20.44.1.19.4288|2|24 +1.3.6.1.4.1.9.9.826.1.20.44.1.19.13609|2|24 +1.3.6.1.4.1.9.9.826.1.20.44.1.19.60554|2|6 +1.3.6.1.4.1.9.9.826.1.20.44.1.19.63348|2|8 +1.3.6.1.4.1.9.9.826.1.20.44.1.20.4288|2|6 +1.3.6.1.4.1.9.9.826.1.20.44.1.20.13609|2|13 +1.3.6.1.4.1.9.9.826.1.20.44.1.20.60554|2|17 +1.3.6.1.4.1.9.9.826.1.20.44.1.20.63348|2|10 +1.3.6.1.4.1.9.9.826.1.20.44.1.21.4288|2|28 +1.3.6.1.4.1.9.9.826.1.20.44.1.21.13609|2|11 +1.3.6.1.4.1.9.9.826.1.20.44.1.21.60554|2|23 +1.3.6.1.4.1.9.9.826.1.20.44.1.21.63348|2|21 +1.3.6.1.4.1.9.9.826.1.20.44.1.22.4288|2|5 +1.3.6.1.4.1.9.9.826.1.20.44.1.22.13609|2|21 +1.3.6.1.4.1.9.9.826.1.20.44.1.22.60554|2|25 +1.3.6.1.4.1.9.9.826.1.20.44.1.22.63348|2|25 +1.3.6.1.4.1.9.9.826.1.20.44.1.23.4288|2|1 +1.3.6.1.4.1.9.9.826.1.20.44.1.23.13609|2|14 +1.3.6.1.4.1.9.9.826.1.20.44.1.23.60554|2|5 +1.3.6.1.4.1.9.9.826.1.20.44.1.23.63348|2|7 +1.3.6.1.4.1.9.9.826.1.20.44.1.24.4288|2|31 +1.3.6.1.4.1.9.9.826.1.20.44.1.24.13609|2|18 +1.3.6.1.4.1.9.9.826.1.20.44.1.24.60554|2|31 +1.3.6.1.4.1.9.9.826.1.20.44.1.24.63348|2|7 +1.3.6.1.4.1.9.9.826.1.20.44.1.25.4288|2|15 +1.3.6.1.4.1.9.9.826.1.20.44.1.25.13609|2|2 +1.3.6.1.4.1.9.9.826.1.20.44.1.25.60554|2|11 +1.3.6.1.4.1.9.9.826.1.20.44.1.25.63348|2|15 +1.3.6.1.4.1.9.9.826.1.20.44.1.26.4288|2|2 +1.3.6.1.4.1.9.9.826.1.20.44.1.26.13609|2|2 +1.3.6.1.4.1.9.9.826.1.20.44.1.26.60554|2|1 +1.3.6.1.4.1.9.9.826.1.20.44.1.26.63348|2|2 +1.3.6.1.4.1.9.9.826.1.20.44.1.27.4288|4x|6b6570742061637465642074686569722064726976696e67204a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.44.1.27.13609|4x|717561696e746c79206b65707420717561696e746c79207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.44.1.27.60554|4x|4a61646564206163746564206f78656e2064726976696e67207468656972206f78656e +1.3.6.1.4.1.9.9.826.1.20.44.1.27.63348|4x|6b657074204a61646564207a6f6d6269657320717561696e746c7920627574207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.44.1.28.4288|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.44.1.28.13609|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.44.1.28.60554|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.44.1.28.63348|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.44.1.29.4288|66|1436468104 +1.3.6.1.4.1.9.9.826.1.20.44.1.29.13609|66|2999711521 +1.3.6.1.4.1.9.9.826.1.20.44.1.29.60554|66|4167946093 +1.3.6.1.4.1.9.9.826.1.20.44.1.29.63348|66|3508957485 +1.3.6.1.4.1.9.9.826.1.20.45.1.1.26927|66|26927 +1.3.6.1.4.1.9.9.826.1.20.45.1.1.32228|66|32228 +1.3.6.1.4.1.9.9.826.1.20.45.1.1.61183|66|61183 +1.3.6.1.4.1.9.9.826.1.20.45.1.1.63180|66|63180 +1.3.6.1.4.1.9.9.826.1.20.45.1.2.26927|4x|4a6164656420627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.45.1.2.32228|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.45.1.2.61183|4x|666f7277617264206275742064726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.45.1.2.63180|4x|7a6f6d6269657320666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.45.1.3.26927|4x|717561696e746c79204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.45.1.3.32228|4x|666f72776172642064726976696e67207a6f6d62696573206b65707420666f7277617264206f78656e +1.3.6.1.4.1.9.9.826.1.20.45.1.3.61183|4x|7468656972207a6f6d62696573206f78656e2064726976696e67206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.45.1.3.63180|4|kept +1.3.6.1.4.1.9.9.826.1.20.45.1.4.26927|2|21 +1.3.6.1.4.1.9.9.826.1.20.45.1.4.32228|2|8 +1.3.6.1.4.1.9.9.826.1.20.45.1.4.61183|2|24 +1.3.6.1.4.1.9.9.826.1.20.45.1.4.63180|2|28 +1.3.6.1.4.1.9.9.826.1.20.45.1.5.26927|2|12 +1.3.6.1.4.1.9.9.826.1.20.45.1.5.32228|2|30 +1.3.6.1.4.1.9.9.826.1.20.45.1.5.61183|2|2 +1.3.6.1.4.1.9.9.826.1.20.45.1.5.63180|2|8 +1.3.6.1.4.1.9.9.826.1.20.45.1.6.26927|2|30 +1.3.6.1.4.1.9.9.826.1.20.45.1.6.32228|2|11 +1.3.6.1.4.1.9.9.826.1.20.45.1.6.61183|2|11 +1.3.6.1.4.1.9.9.826.1.20.45.1.6.63180|2|3 +1.3.6.1.4.1.9.9.826.1.20.45.1.7.26927|2|10 +1.3.6.1.4.1.9.9.826.1.20.45.1.7.32228|2|10 +1.3.6.1.4.1.9.9.826.1.20.45.1.7.61183|2|5 +1.3.6.1.4.1.9.9.826.1.20.45.1.7.63180|2|5 +1.3.6.1.4.1.9.9.826.1.20.45.1.8.26927|70|8567367793175187871 +1.3.6.1.4.1.9.9.826.1.20.45.1.8.32228|70|10515553168655685499 +1.3.6.1.4.1.9.9.826.1.20.45.1.8.61183|70|7519834034615892731 +1.3.6.1.4.1.9.9.826.1.20.45.1.8.63180|70|7092441394189975874 +1.3.6.1.4.1.9.9.826.1.20.45.1.9.26927|2|20 +1.3.6.1.4.1.9.9.826.1.20.45.1.9.32228|2|18 +1.3.6.1.4.1.9.9.826.1.20.45.1.9.61183|2|2 +1.3.6.1.4.1.9.9.826.1.20.45.1.9.63180|2|6 +1.3.6.1.4.1.9.9.826.1.20.45.1.10.26927|2|4 +1.3.6.1.4.1.9.9.826.1.20.45.1.10.32228|2|14 +1.3.6.1.4.1.9.9.826.1.20.45.1.10.61183|2|13 +1.3.6.1.4.1.9.9.826.1.20.45.1.10.63180|2|28 +1.3.6.1.4.1.9.9.826.1.20.45.1.11.26927|2|24 +1.3.6.1.4.1.9.9.826.1.20.45.1.11.32228|2|14 +1.3.6.1.4.1.9.9.826.1.20.45.1.11.61183|2|20 +1.3.6.1.4.1.9.9.826.1.20.45.1.11.63180|2|9 +1.3.6.1.4.1.9.9.826.1.20.45.1.12.26927|2|3 +1.3.6.1.4.1.9.9.826.1.20.45.1.12.32228|2|24 +1.3.6.1.4.1.9.9.826.1.20.45.1.12.61183|2|18 +1.3.6.1.4.1.9.9.826.1.20.45.1.12.63180|2|21 +1.3.6.1.4.1.9.9.826.1.20.45.1.13.26927|2|13 +1.3.6.1.4.1.9.9.826.1.20.45.1.13.32228|2|0 +1.3.6.1.4.1.9.9.826.1.20.45.1.13.61183|2|24 +1.3.6.1.4.1.9.9.826.1.20.45.1.13.63180|2|2 +1.3.6.1.4.1.9.9.826.1.20.45.1.14.26927|2|14 +1.3.6.1.4.1.9.9.826.1.20.45.1.14.32228|2|16 +1.3.6.1.4.1.9.9.826.1.20.45.1.14.61183|2|12 +1.3.6.1.4.1.9.9.826.1.20.45.1.14.63180|2|3 +1.3.6.1.4.1.9.9.826.1.20.45.1.15.26927|2|6 +1.3.6.1.4.1.9.9.826.1.20.45.1.15.32228|2|19 +1.3.6.1.4.1.9.9.826.1.20.45.1.15.61183|2|28 +1.3.6.1.4.1.9.9.826.1.20.45.1.15.63180|2|25 +1.3.6.1.4.1.9.9.826.1.20.45.1.16.26927|2|8 +1.3.6.1.4.1.9.9.826.1.20.45.1.16.32228|2|9 +1.3.6.1.4.1.9.9.826.1.20.45.1.16.61183|2|15 +1.3.6.1.4.1.9.9.826.1.20.45.1.16.63180|2|23 +1.3.6.1.4.1.9.9.826.1.20.45.1.17.26927|2|1 +1.3.6.1.4.1.9.9.826.1.20.45.1.17.32228|2|2 +1.3.6.1.4.1.9.9.826.1.20.45.1.17.61183|2|1 +1.3.6.1.4.1.9.9.826.1.20.45.1.17.63180|2|2 +1.3.6.1.4.1.9.9.826.1.20.45.1.18.26927|2|30 +1.3.6.1.4.1.9.9.826.1.20.45.1.18.32228|2|11 +1.3.6.1.4.1.9.9.826.1.20.45.1.18.61183|2|5 +1.3.6.1.4.1.9.9.826.1.20.45.1.18.63180|2|29 +1.3.6.1.4.1.9.9.826.1.20.45.1.19.26927|2|18 +1.3.6.1.4.1.9.9.826.1.20.45.1.19.32228|2|22 +1.3.6.1.4.1.9.9.826.1.20.45.1.19.61183|2|17 +1.3.6.1.4.1.9.9.826.1.20.45.1.19.63180|2|12 +1.3.6.1.4.1.9.9.826.1.20.45.1.20.26927|2|25 +1.3.6.1.4.1.9.9.826.1.20.45.1.20.32228|2|26 +1.3.6.1.4.1.9.9.826.1.20.45.1.20.61183|2|23 +1.3.6.1.4.1.9.9.826.1.20.45.1.20.63180|2|6 +1.3.6.1.4.1.9.9.826.1.20.45.1.21.26927|2|10 +1.3.6.1.4.1.9.9.826.1.20.45.1.21.32228|2|28 +1.3.6.1.4.1.9.9.826.1.20.45.1.21.61183|2|5 +1.3.6.1.4.1.9.9.826.1.20.45.1.21.63180|2|22 +1.3.6.1.4.1.9.9.826.1.20.45.1.22.26927|2|27 +1.3.6.1.4.1.9.9.826.1.20.45.1.22.32228|2|2 +1.3.6.1.4.1.9.9.826.1.20.45.1.22.61183|2|26 +1.3.6.1.4.1.9.9.826.1.20.45.1.22.63180|2|3 +1.3.6.1.4.1.9.9.826.1.20.45.1.23.26927|2|30 +1.3.6.1.4.1.9.9.826.1.20.45.1.23.32228|2|26 +1.3.6.1.4.1.9.9.826.1.20.45.1.23.61183|2|0 +1.3.6.1.4.1.9.9.826.1.20.45.1.23.63180|2|22 +1.3.6.1.4.1.9.9.826.1.20.45.1.24.26927|2|20 +1.3.6.1.4.1.9.9.826.1.20.45.1.24.32228|2|18 +1.3.6.1.4.1.9.9.826.1.20.45.1.24.61183|2|19 +1.3.6.1.4.1.9.9.826.1.20.45.1.24.63180|2|21 +1.3.6.1.4.1.9.9.826.1.20.45.1.25.26927|2|0 +1.3.6.1.4.1.9.9.826.1.20.45.1.25.32228|2|7 +1.3.6.1.4.1.9.9.826.1.20.45.1.25.61183|2|3 +1.3.6.1.4.1.9.9.826.1.20.45.1.25.63180|2|25 +1.3.6.1.4.1.9.9.826.1.20.45.1.26.26927|2|2 +1.3.6.1.4.1.9.9.826.1.20.45.1.26.32228|2|1 +1.3.6.1.4.1.9.9.826.1.20.45.1.26.61183|2|2 +1.3.6.1.4.1.9.9.826.1.20.45.1.26.63180|2|2 +1.3.6.1.4.1.9.9.826.1.20.45.1.27.26927|4x|74686569722064726976696e6720666f7277617264207468656972204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.45.1.27.32228|4x|6163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.45.1.27.61183|4|their +1.3.6.1.4.1.9.9.826.1.20.45.1.27.63180|4x|7a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.20.45.1.28.26927|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.45.1.28.32228|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.45.1.28.61183|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.45.1.28.63180|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.46.1.1.2802|66|2802 +1.3.6.1.4.1.9.9.826.1.20.46.1.1.5134|66|5134 +1.3.6.1.4.1.9.9.826.1.20.46.1.1.8410|66|8410 +1.3.6.1.4.1.9.9.826.1.20.46.1.1.30885|66|30885 +1.3.6.1.4.1.9.9.826.1.20.46.1.2.2802|4x|64726976696e6720627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.46.1.2.5134|4x|6f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.46.1.2.8410|4x|666f72776172642064726976696e672064726976696e672064726976696e6720666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.46.1.2.30885|4x|627574207a6f6d62696573207a6f6d6269657320717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.46.1.3.2802|4|forward +1.3.6.1.4.1.9.9.826.1.20.46.1.3.5134|4x|7a6f6d62696573207a6f6d6269657320746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.46.1.3.8410|4x|7468656972206b65707420717561696e746c7920717561696e746c7920616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.46.1.3.30885|4x|666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.46.1.4.2802|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.46.1.4.5134|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.46.1.4.8410|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.46.1.4.30885|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.46.1.5.2802|2|0 +1.3.6.1.4.1.9.9.826.1.20.46.1.5.5134|2|0 +1.3.6.1.4.1.9.9.826.1.20.46.1.5.8410|2|0 +1.3.6.1.4.1.9.9.826.1.20.46.1.5.30885|2|0 +1.3.6.1.4.1.9.9.826.1.20.46.1.6.2802|4x|717561696e746c7920717561696e746c7920666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.46.1.6.5134|4x|717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.46.1.6.8410|4x|4a61646564206f78656e2062757420666f7277617264204a61646564206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.46.1.6.30885|4x|6f78656e20717561696e746c79206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.46.1.7.2802|2|5 +1.3.6.1.4.1.9.9.826.1.20.46.1.7.5134|2|4 +1.3.6.1.4.1.9.9.826.1.20.46.1.7.8410|2|5 +1.3.6.1.4.1.9.9.826.1.20.46.1.7.30885|2|1 +1.3.6.1.4.1.9.9.826.1.20.46.1.8.2802|66|2715224270 +1.3.6.1.4.1.9.9.826.1.20.46.1.8.5134|66|525271580 +1.3.6.1.4.1.9.9.826.1.20.46.1.8.8410|66|2196230697 +1.3.6.1.4.1.9.9.826.1.20.46.1.8.30885|66|2849495957 +1.3.6.1.4.1.9.9.826.1.20.46.1.9.2802|66|553050404 +1.3.6.1.4.1.9.9.826.1.20.46.1.9.5134|66|400174316 +1.3.6.1.4.1.9.9.826.1.20.46.1.9.8410|66|562364946 +1.3.6.1.4.1.9.9.826.1.20.46.1.9.30885|66|3205206131 +1.3.6.1.4.1.9.9.826.1.20.46.1.10.2802|4x|74686569722064726976696e672064726976696e6720616374656420666f727761726420717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.46.1.10.5134|4x|666f7277617264204a6164656420666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.46.1.10.8410|4x|616374656420627574207a6f6d62696573206f78656e20717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.46.1.10.30885|4|their +1.3.6.1.4.1.9.9.826.1.20.46.1.11.2802|4x|6b657074207a6f6d62696573206f78656e207a6f6d626965732062757420616374656420616374656420746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.46.1.11.5134|4|but +1.3.6.1.4.1.9.9.826.1.20.46.1.11.8410|4x|666f7277617264204a616465642064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.46.1.11.30885|4x|616374656420627574204a61646564207a6f6d6269657320666f7277617264207a6f6d6269657320717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.47.1.1.1128|66|1128 +1.3.6.1.4.1.9.9.826.1.20.47.1.1.15222|66|15222 +1.3.6.1.4.1.9.9.826.1.20.47.1.1.19607|66|19607 +1.3.6.1.4.1.9.9.826.1.20.47.1.1.56655|66|56655 +1.3.6.1.4.1.9.9.826.1.20.47.1.2.1128|4x|61637465642064726976696e672064726976696e67206f78656e2064726976696e6720717561696e746c7920627574207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.47.1.2.15222|4x|7468656972207a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.47.1.2.19607|4x|7a6f6d626965732064726976696e67207a6f6d62696573206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.47.1.2.56655|4x|6f78656e206163746564206b657074204a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.47.1.3.1128|4x|717561696e746c7920666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.47.1.3.15222|4|forward +1.3.6.1.4.1.9.9.826.1.20.47.1.3.19607|4x|616374656420717561696e746c7920717561696e746c7920666f7277617264206b657074207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.47.1.3.56655|4x|717561696e746c79207468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.47.1.4.1128|4|acted +1.3.6.1.4.1.9.9.826.1.20.47.1.4.15222|4|oxen +1.3.6.1.4.1.9.9.826.1.20.47.1.4.19607|4x|6f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.47.1.4.56655|4x|7a6f6d6269657320666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.47.1.5.1128|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.47.1.5.15222|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.47.1.5.19607|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.47.1.5.56655|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.47.1.6.1128|2|0 +1.3.6.1.4.1.9.9.826.1.20.47.1.6.15222|2|0 +1.3.6.1.4.1.9.9.826.1.20.47.1.6.19607|2|0 +1.3.6.1.4.1.9.9.826.1.20.47.1.6.56655|2|0 +1.3.6.1.4.1.9.9.826.1.20.47.1.7.1128|66|3318943365 +1.3.6.1.4.1.9.9.826.1.20.47.1.7.15222|66|2855969036 +1.3.6.1.4.1.9.9.826.1.20.47.1.7.19607|66|1862548792 +1.3.6.1.4.1.9.9.826.1.20.47.1.7.56655|66|4288209386 +1.3.6.1.4.1.9.9.826.1.20.47.1.8.1128|66|2755370108 +1.3.6.1.4.1.9.9.826.1.20.47.1.8.15222|66|1146461953 +1.3.6.1.4.1.9.9.826.1.20.47.1.8.19607|66|4268414939 +1.3.6.1.4.1.9.9.826.1.20.47.1.8.56655|66|419582912 +1.3.6.1.4.1.9.9.826.1.20.47.1.9.1128|2|3 +1.3.6.1.4.1.9.9.826.1.20.47.1.9.15222|2|2 +1.3.6.1.4.1.9.9.826.1.20.47.1.9.19607|2|2 +1.3.6.1.4.1.9.9.826.1.20.47.1.9.56655|2|1 +1.3.6.1.4.1.9.9.826.1.20.48.1.1.14202|66|14202 +1.3.6.1.4.1.9.9.826.1.20.48.1.1.21111|66|21111 +1.3.6.1.4.1.9.9.826.1.20.48.1.1.21716|66|21716 +1.3.6.1.4.1.9.9.826.1.20.48.1.1.41945|66|41945 +1.3.6.1.4.1.9.9.826.1.20.48.1.2.14202|4|their +1.3.6.1.4.1.9.9.826.1.20.48.1.2.21111|4x|717561696e746c79206163746564207468656972 +1.3.6.1.4.1.9.9.826.1.20.48.1.2.21716|4|acted +1.3.6.1.4.1.9.9.826.1.20.48.1.2.41945|4x|4a6164656420717561696e746c7920666f7277617264204a61646564204a6164656420666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.48.1.3.14202|4x|7a6f6d62696573206f78656e20627574 +1.3.6.1.4.1.9.9.826.1.20.48.1.3.21111|4x|7a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.48.1.3.21716|4x|6f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.48.1.3.41945|4x|6b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.48.1.4.14202|2|0 +1.3.6.1.4.1.9.9.826.1.20.48.1.4.21111|2|0 +1.3.6.1.4.1.9.9.826.1.20.48.1.4.21716|2|3 +1.3.6.1.4.1.9.9.826.1.20.48.1.4.41945|2|2 +1.3.6.1.4.1.9.9.826.1.20.48.1.5.14202|4x|6f78656e20717561696e746c7920717561696e746c7920627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.48.1.5.21111|4|forward +1.3.6.1.4.1.9.9.826.1.20.48.1.5.21716|4x|746865697220717561696e746c79206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.48.1.5.41945|4x|7a6f6d62696573206f78656e207468656972206f78656e20717561696e746c79206f78656e206b657074206b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.48.1.6.14202|2|0 +1.3.6.1.4.1.9.9.826.1.20.48.1.6.21111|2|0 +1.3.6.1.4.1.9.9.826.1.20.48.1.6.21716|2|0 +1.3.6.1.4.1.9.9.826.1.20.48.1.6.41945|2|0 +1.3.6.1.4.1.9.9.826.1.20.48.1.7.14202|66|2734226407 +1.3.6.1.4.1.9.9.826.1.20.48.1.7.21111|66|3960543730 +1.3.6.1.4.1.9.9.826.1.20.48.1.7.21716|66|2149166511 +1.3.6.1.4.1.9.9.826.1.20.48.1.7.41945|66|1072554898 +1.3.6.1.4.1.9.9.826.1.20.49.1.1.6322|66|6322 +1.3.6.1.4.1.9.9.826.1.20.49.1.1.12573|66|12573 +1.3.6.1.4.1.9.9.826.1.20.49.1.1.18723|66|18723 +1.3.6.1.4.1.9.9.826.1.20.49.1.1.55484|66|55484 +1.3.6.1.4.1.9.9.826.1.20.49.1.2.6322|4x|746865697220627574206b657074207468656972207468656972206f78656e204a61646564206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.49.1.2.12573|4|driving +1.3.6.1.4.1.9.9.826.1.20.49.1.2.18723|4x|6b657074207a6f6d626965732064726976696e67207a6f6d62696573207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.49.1.2.55484|4x|6163746564206b657074206f78656e207468656972 +1.3.6.1.4.1.9.9.826.1.20.49.1.3.6322|4x|717561696e746c79206163746564207468656972204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.49.1.3.12573|4|kept +1.3.6.1.4.1.9.9.826.1.20.49.1.3.18723|4|zombies +1.3.6.1.4.1.9.9.826.1.20.49.1.3.55484|4x|6b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.49.1.4.6322|2|1 +1.3.6.1.4.1.9.9.826.1.20.49.1.4.12573|2|6 +1.3.6.1.4.1.9.9.826.1.20.49.1.4.18723|2|13 +1.3.6.1.4.1.9.9.826.1.20.49.1.4.55484|2|2 +1.3.6.1.4.1.9.9.826.1.20.49.1.5.6322|2|15 +1.3.6.1.4.1.9.9.826.1.20.49.1.5.12573|2|0 +1.3.6.1.4.1.9.9.826.1.20.49.1.5.18723|2|5 +1.3.6.1.4.1.9.9.826.1.20.49.1.5.55484|2|6 +1.3.6.1.4.1.9.9.826.1.20.49.1.6.6322|2|31 +1.3.6.1.4.1.9.9.826.1.20.49.1.6.12573|2|19 +1.3.6.1.4.1.9.9.826.1.20.49.1.6.18723|2|5 +1.3.6.1.4.1.9.9.826.1.20.49.1.6.55484|2|19 +1.3.6.1.4.1.9.9.826.1.20.49.1.7.6322|2|28 +1.3.6.1.4.1.9.9.826.1.20.49.1.7.12573|2|9 +1.3.6.1.4.1.9.9.826.1.20.49.1.7.18723|2|0 +1.3.6.1.4.1.9.9.826.1.20.49.1.7.55484|2|3 +1.3.6.1.4.1.9.9.826.1.20.49.1.8.6322|2|31 +1.3.6.1.4.1.9.9.826.1.20.49.1.8.12573|2|23 +1.3.6.1.4.1.9.9.826.1.20.49.1.8.18723|2|14 +1.3.6.1.4.1.9.9.826.1.20.49.1.8.55484|2|16 +1.3.6.1.4.1.9.9.826.1.20.49.1.9.6322|2|11 +1.3.6.1.4.1.9.9.826.1.20.49.1.9.12573|2|26 +1.3.6.1.4.1.9.9.826.1.20.49.1.9.18723|2|20 +1.3.6.1.4.1.9.9.826.1.20.49.1.9.55484|2|4 +1.3.6.1.4.1.9.9.826.1.20.49.1.10.6322|2|8 +1.3.6.1.4.1.9.9.826.1.20.49.1.10.12573|2|27 +1.3.6.1.4.1.9.9.826.1.20.49.1.10.18723|2|0 +1.3.6.1.4.1.9.9.826.1.20.49.1.10.55484|2|6 +1.3.6.1.4.1.9.9.826.1.20.49.1.11.6322|2|23 +1.3.6.1.4.1.9.9.826.1.20.49.1.11.12573|2|10 +1.3.6.1.4.1.9.9.826.1.20.49.1.11.18723|2|2 +1.3.6.1.4.1.9.9.826.1.20.49.1.11.55484|2|14 +1.3.6.1.4.1.9.9.826.1.20.49.1.12.6322|66|1616139685 +1.3.6.1.4.1.9.9.826.1.20.49.1.12.12573|66|3601970848 +1.3.6.1.4.1.9.9.826.1.20.49.1.12.18723|66|3871734717 +1.3.6.1.4.1.9.9.826.1.20.49.1.12.55484|66|523595323 +1.3.6.1.4.1.9.9.826.1.20.49.1.13.6322|2|23 +1.3.6.1.4.1.9.9.826.1.20.49.1.13.12573|2|3 +1.3.6.1.4.1.9.9.826.1.20.49.1.13.18723|2|12 +1.3.6.1.4.1.9.9.826.1.20.49.1.13.55484|2|8 +1.3.6.1.4.1.9.9.826.1.20.49.1.14.6322|2|31 +1.3.6.1.4.1.9.9.826.1.20.49.1.14.12573|2|7 +1.3.6.1.4.1.9.9.826.1.20.49.1.14.18723|2|7 +1.3.6.1.4.1.9.9.826.1.20.49.1.14.55484|2|29 +1.3.6.1.4.1.9.9.826.1.20.49.1.15.6322|2|30 +1.3.6.1.4.1.9.9.826.1.20.49.1.15.12573|2|19 +1.3.6.1.4.1.9.9.826.1.20.49.1.15.18723|2|0 +1.3.6.1.4.1.9.9.826.1.20.49.1.15.55484|2|17 +1.3.6.1.4.1.9.9.826.1.20.49.1.16.6322|2|1 +1.3.6.1.4.1.9.9.826.1.20.49.1.16.12573|2|6 +1.3.6.1.4.1.9.9.826.1.20.49.1.16.18723|2|2 +1.3.6.1.4.1.9.9.826.1.20.49.1.16.55484|2|21 +1.3.6.1.4.1.9.9.826.1.20.49.1.17.6322|2|1 +1.3.6.1.4.1.9.9.826.1.20.49.1.17.12573|2|2 +1.3.6.1.4.1.9.9.826.1.20.49.1.17.18723|2|2 +1.3.6.1.4.1.9.9.826.1.20.49.1.17.55484|2|2 +1.3.6.1.4.1.9.9.826.1.20.49.1.18.6322|4x|746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.49.1.18.12573|4x|64726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.49.1.18.18723|4x|6f78656e207468656972207468656972207a6f6d62696573207468656972204a61646564206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.49.1.18.55484|4x|6f78656e20616374656420717561696e746c79206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.49.1.19.6322|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.49.1.19.12573|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.49.1.19.18723|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.49.1.19.55484|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.49.1.20.6322|2|16 +1.3.6.1.4.1.9.9.826.1.20.49.1.20.12573|2|15 +1.3.6.1.4.1.9.9.826.1.20.49.1.20.18723|2|15 +1.3.6.1.4.1.9.9.826.1.20.49.1.20.55484|2|26 +1.3.6.1.4.1.9.9.826.1.20.49.1.21.6322|2|1 +1.3.6.1.4.1.9.9.826.1.20.49.1.21.12573|2|7 +1.3.6.1.4.1.9.9.826.1.20.49.1.21.18723|2|8 +1.3.6.1.4.1.9.9.826.1.20.49.1.21.55484|2|9 +1.3.6.1.4.1.9.9.826.1.20.49.1.22.6322|2|26 +1.3.6.1.4.1.9.9.826.1.20.49.1.22.12573|2|7 +1.3.6.1.4.1.9.9.826.1.20.49.1.22.18723|2|13 +1.3.6.1.4.1.9.9.826.1.20.49.1.22.55484|2|19 +1.3.6.1.4.1.9.9.826.1.20.49.1.23.6322|2|29 +1.3.6.1.4.1.9.9.826.1.20.49.1.23.12573|2|1 +1.3.6.1.4.1.9.9.826.1.20.49.1.23.18723|2|8 +1.3.6.1.4.1.9.9.826.1.20.49.1.23.55484|2|22 +1.3.6.1.4.1.9.9.826.1.20.49.1.24.6322|66|2294069511 +1.3.6.1.4.1.9.9.826.1.20.49.1.24.12573|66|1222376567 +1.3.6.1.4.1.9.9.826.1.20.49.1.24.18723|66|1735937527 +1.3.6.1.4.1.9.9.826.1.20.49.1.24.55484|66|3044273534 +1.3.6.1.4.1.9.9.826.1.20.50.1.1.19207|66|19207 +1.3.6.1.4.1.9.9.826.1.20.50.1.1.42060|66|42060 +1.3.6.1.4.1.9.9.826.1.20.50.1.1.48957|66|48957 +1.3.6.1.4.1.9.9.826.1.20.50.1.1.61697|66|61697 +1.3.6.1.4.1.9.9.826.1.20.50.1.2.19207|4x|6b657074206f78656e20717561696e746c7920666f7277617264204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.50.1.2.42060|4x|6b6570742062757420717561696e746c79206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.50.1.2.48957|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.50.1.2.61697|4|but +1.3.6.1.4.1.9.9.826.1.20.50.1.3.19207|4x|4a616465642064726976696e6720666f7277617264206b657074206275742064726976696e67207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.50.1.3.42060|4x|4a6164656420627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.50.1.3.48957|4x|64726976696e67206b65707420746865697220666f72776172642064726976696e67206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.50.1.3.61697|4|oxen +1.3.6.1.4.1.9.9.826.1.20.50.1.4.19207|2|8 +1.3.6.1.4.1.9.9.826.1.20.50.1.4.42060|2|27 +1.3.6.1.4.1.9.9.826.1.20.50.1.4.48957|2|10 +1.3.6.1.4.1.9.9.826.1.20.50.1.4.61697|2|5 +1.3.6.1.4.1.9.9.826.1.20.50.1.5.19207|2|19 +1.3.6.1.4.1.9.9.826.1.20.50.1.5.42060|2|13 +1.3.6.1.4.1.9.9.826.1.20.50.1.5.48957|2|5 +1.3.6.1.4.1.9.9.826.1.20.50.1.5.61697|2|10 +1.3.6.1.4.1.9.9.826.1.20.50.1.6.19207|2|15 +1.3.6.1.4.1.9.9.826.1.20.50.1.6.42060|2|25 +1.3.6.1.4.1.9.9.826.1.20.50.1.6.48957|2|13 +1.3.6.1.4.1.9.9.826.1.20.50.1.6.61697|2|25 +1.3.6.1.4.1.9.9.826.1.20.50.1.7.19207|2|30 +1.3.6.1.4.1.9.9.826.1.20.50.1.7.42060|2|13 +1.3.6.1.4.1.9.9.826.1.20.50.1.7.48957|2|16 +1.3.6.1.4.1.9.9.826.1.20.50.1.7.61697|2|31 +1.3.6.1.4.1.9.9.826.1.20.50.1.8.19207|2|3 +1.3.6.1.4.1.9.9.826.1.20.50.1.8.42060|2|13 +1.3.6.1.4.1.9.9.826.1.20.50.1.8.48957|2|14 +1.3.6.1.4.1.9.9.826.1.20.50.1.8.61697|2|15 +1.3.6.1.4.1.9.9.826.1.20.50.1.9.19207|2|31 +1.3.6.1.4.1.9.9.826.1.20.50.1.9.42060|2|13 +1.3.6.1.4.1.9.9.826.1.20.50.1.9.48957|2|4 +1.3.6.1.4.1.9.9.826.1.20.50.1.9.61697|2|0 +1.3.6.1.4.1.9.9.826.1.20.50.1.10.19207|2|26 +1.3.6.1.4.1.9.9.826.1.20.50.1.10.42060|2|21 +1.3.6.1.4.1.9.9.826.1.20.50.1.10.48957|2|28 +1.3.6.1.4.1.9.9.826.1.20.50.1.10.61697|2|30 +1.3.6.1.4.1.9.9.826.1.20.50.1.11.19207|2|17 +1.3.6.1.4.1.9.9.826.1.20.50.1.11.42060|2|30 +1.3.6.1.4.1.9.9.826.1.20.50.1.11.48957|2|17 +1.3.6.1.4.1.9.9.826.1.20.50.1.11.61697|2|1 +1.3.6.1.4.1.9.9.826.1.20.50.1.12.19207|70|6298677112395419704 +1.3.6.1.4.1.9.9.826.1.20.50.1.12.42060|70|15800275350475263826 +1.3.6.1.4.1.9.9.826.1.20.50.1.12.48957|70|3721756037571566335 +1.3.6.1.4.1.9.9.826.1.20.50.1.12.61697|70|3852391929993986195 +1.3.6.1.4.1.9.9.826.1.20.50.1.13.19207|2|2 +1.3.6.1.4.1.9.9.826.1.20.50.1.13.42060|2|2 +1.3.6.1.4.1.9.9.826.1.20.50.1.13.48957|2|1 +1.3.6.1.4.1.9.9.826.1.20.50.1.13.61697|2|1 +1.3.6.1.4.1.9.9.826.1.20.50.1.14.19207|2|29 +1.3.6.1.4.1.9.9.826.1.20.50.1.14.42060|2|3 +1.3.6.1.4.1.9.9.826.1.20.50.1.14.48957|2|27 +1.3.6.1.4.1.9.9.826.1.20.50.1.14.61697|2|5 +1.3.6.1.4.1.9.9.826.1.20.50.1.15.19207|2|24 +1.3.6.1.4.1.9.9.826.1.20.50.1.15.42060|2|10 +1.3.6.1.4.1.9.9.826.1.20.50.1.15.48957|2|28 +1.3.6.1.4.1.9.9.826.1.20.50.1.15.61697|2|28 +1.3.6.1.4.1.9.9.826.1.20.50.1.16.19207|2|2 +1.3.6.1.4.1.9.9.826.1.20.50.1.16.42060|2|20 +1.3.6.1.4.1.9.9.826.1.20.50.1.16.48957|2|12 +1.3.6.1.4.1.9.9.826.1.20.50.1.16.61697|2|2 +1.3.6.1.4.1.9.9.826.1.20.50.1.17.19207|2|8 +1.3.6.1.4.1.9.9.826.1.20.50.1.17.42060|2|26 +1.3.6.1.4.1.9.9.826.1.20.50.1.17.48957|2|22 +1.3.6.1.4.1.9.9.826.1.20.50.1.17.61697|2|30 +1.3.6.1.4.1.9.9.826.1.20.50.1.18.19207|2|2 +1.3.6.1.4.1.9.9.826.1.20.50.1.18.42060|2|1 +1.3.6.1.4.1.9.9.826.1.20.50.1.18.48957|2|1 +1.3.6.1.4.1.9.9.826.1.20.50.1.18.61697|2|2 +1.3.6.1.4.1.9.9.826.1.20.50.1.19.19207|4x|4a61646564206f78656e207a6f6d626965732061637465642064726976696e6720666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.50.1.19.42060|4x|7a6f6d62696573204a61646564206b657074207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.50.1.19.48957|4|their +1.3.6.1.4.1.9.9.826.1.20.50.1.19.61697|4x|61637465642064726976696e67207a6f6d62696573204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.50.1.20.19207|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.50.1.20.42060|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.50.1.20.48957|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.50.1.20.61697|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.50.1.21.19207|2|14 +1.3.6.1.4.1.9.9.826.1.20.50.1.21.42060|2|1 +1.3.6.1.4.1.9.9.826.1.20.50.1.21.48957|2|10 +1.3.6.1.4.1.9.9.826.1.20.50.1.21.61697|2|27 +1.3.6.1.4.1.9.9.826.1.20.50.1.22.19207|2|4 +1.3.6.1.4.1.9.9.826.1.20.50.1.22.42060|2|28 +1.3.6.1.4.1.9.9.826.1.20.50.1.22.48957|2|6 +1.3.6.1.4.1.9.9.826.1.20.50.1.22.61697|2|30 +1.3.6.1.4.1.9.9.826.1.20.50.1.23.19207|2|4 +1.3.6.1.4.1.9.9.826.1.20.50.1.23.42060|2|21 +1.3.6.1.4.1.9.9.826.1.20.50.1.23.48957|2|3 +1.3.6.1.4.1.9.9.826.1.20.50.1.23.61697|2|18 +1.3.6.1.4.1.9.9.826.1.20.50.1.24.19207|2|23 +1.3.6.1.4.1.9.9.826.1.20.50.1.24.42060|2|17 +1.3.6.1.4.1.9.9.826.1.20.50.1.24.48957|2|12 +1.3.6.1.4.1.9.9.826.1.20.50.1.24.61697|2|21 +1.3.6.1.4.1.9.9.826.1.20.51.1.1.47457|66|47457 +1.3.6.1.4.1.9.9.826.1.20.51.1.1.50064|66|50064 +1.3.6.1.4.1.9.9.826.1.20.51.1.1.54559|66|54559 +1.3.6.1.4.1.9.9.826.1.20.51.1.1.54560|66|54560 +1.3.6.1.4.1.9.9.826.1.20.51.1.2.47457|4x|62757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.51.1.2.50064|4x|6b65707420666f7277617264204a61646564207468656972 +1.3.6.1.4.1.9.9.826.1.20.51.1.2.54559|4x|4a61646564207a6f6d626965732061637465642064726976696e6720616374656420717561696e746c79204a616465642064726976696e672064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.51.1.2.54560|4x|7468656972206f78656e204a6164656420627574207468656972206275742064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.51.1.3.47457|4x|64726976696e6720717561696e746c792064726976696e672064726976696e672064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.51.1.3.50064|4x|616374656420627574206f78656e20616374656420666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.51.1.3.54559|4x|627574206b657074206163746564207a6f6d626965732074686569722062757420666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.51.1.3.54560|4x|7468656972206f78656e2064726976696e67207a6f6d62696573206f78656e20627574 +1.3.6.1.4.1.9.9.826.1.20.51.1.4.47457|2|7 +1.3.6.1.4.1.9.9.826.1.20.51.1.4.50064|2|26 +1.3.6.1.4.1.9.9.826.1.20.51.1.4.54559|2|19 +1.3.6.1.4.1.9.9.826.1.20.51.1.4.54560|2|21 +1.3.6.1.4.1.9.9.826.1.20.51.1.5.47457|2|3 +1.3.6.1.4.1.9.9.826.1.20.51.1.5.50064|2|31 +1.3.6.1.4.1.9.9.826.1.20.51.1.5.54559|2|16 +1.3.6.1.4.1.9.9.826.1.20.51.1.5.54560|2|10 +1.3.6.1.4.1.9.9.826.1.20.51.1.6.47457|2|13 +1.3.6.1.4.1.9.9.826.1.20.51.1.6.50064|2|14 +1.3.6.1.4.1.9.9.826.1.20.51.1.6.54559|2|15 +1.3.6.1.4.1.9.9.826.1.20.51.1.6.54560|2|17 +1.3.6.1.4.1.9.9.826.1.20.51.1.7.47457|2|17 +1.3.6.1.4.1.9.9.826.1.20.51.1.7.50064|2|28 +1.3.6.1.4.1.9.9.826.1.20.51.1.7.54559|2|1 +1.3.6.1.4.1.9.9.826.1.20.51.1.7.54560|2|2 +1.3.6.1.4.1.9.9.826.1.20.51.1.8.47457|4x|4a61646564207468656972204a61646564207468656972207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.51.1.8.50064|4x|6f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.51.1.8.54559|4x|64726976696e67207468656972206163746564207a6f6d62696573206f78656e207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.51.1.8.54560|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.51.1.9.47457|66|4168978236 +1.3.6.1.4.1.9.9.826.1.20.51.1.9.50064|66|835011657 +1.3.6.1.4.1.9.9.826.1.20.51.1.9.54559|66|844360483 +1.3.6.1.4.1.9.9.826.1.20.51.1.9.54560|66|3040912084 +1.3.6.1.4.1.9.9.826.1.20.51.1.10.47457|2|10 +1.3.6.1.4.1.9.9.826.1.20.51.1.10.50064|2|30 +1.3.6.1.4.1.9.9.826.1.20.51.1.10.54559|2|20 +1.3.6.1.4.1.9.9.826.1.20.51.1.10.54560|2|29 +1.3.6.1.4.1.9.9.826.1.20.51.1.11.47457|2|18 +1.3.6.1.4.1.9.9.826.1.20.51.1.11.50064|2|26 +1.3.6.1.4.1.9.9.826.1.20.51.1.11.54559|2|4 +1.3.6.1.4.1.9.9.826.1.20.51.1.11.54560|2|6 +1.3.6.1.4.1.9.9.826.1.20.51.1.12.47457|2|21 +1.3.6.1.4.1.9.9.826.1.20.51.1.12.50064|2|19 +1.3.6.1.4.1.9.9.826.1.20.51.1.12.54559|2|7 +1.3.6.1.4.1.9.9.826.1.20.51.1.12.54560|2|24 +1.3.6.1.4.1.9.9.826.1.20.51.1.13.47457|2|4 +1.3.6.1.4.1.9.9.826.1.20.51.1.13.50064|2|29 +1.3.6.1.4.1.9.9.826.1.20.51.1.13.54559|2|4 +1.3.6.1.4.1.9.9.826.1.20.51.1.13.54560|2|19 +1.3.6.1.4.1.9.9.826.1.20.51.1.14.47457|2|1 +1.3.6.1.4.1.9.9.826.1.20.51.1.14.50064|2|2 +1.3.6.1.4.1.9.9.826.1.20.51.1.14.54559|2|1 +1.3.6.1.4.1.9.9.826.1.20.51.1.14.54560|2|1 +1.3.6.1.4.1.9.9.826.1.20.51.1.15.47457|4x|6b657074207468656972206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.51.1.15.50064|4|forward +1.3.6.1.4.1.9.9.826.1.20.51.1.15.54559|4x|7a6f6d626965732062757420627574207a6f6d62696573204a616465642064726976696e6720666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.51.1.15.54560|4x|6b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.51.1.16.47457|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.51.1.16.50064|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.51.1.16.54559|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.51.1.16.54560|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.51.1.17.47457|66|1131998223 +1.3.6.1.4.1.9.9.826.1.20.51.1.17.50064|66|3876495480 +1.3.6.1.4.1.9.9.826.1.20.51.1.17.54559|66|2310260388 +1.3.6.1.4.1.9.9.826.1.20.51.1.17.54560|66|448981974 +1.3.6.1.4.1.9.9.826.1.20.51.1.18.47457|2|10 +1.3.6.1.4.1.9.9.826.1.20.51.1.18.50064|2|28 +1.3.6.1.4.1.9.9.826.1.20.51.1.18.54559|2|25 +1.3.6.1.4.1.9.9.826.1.20.51.1.18.54560|2|31 +1.3.6.1.4.1.9.9.826.1.20.51.1.19.47457|2|26 +1.3.6.1.4.1.9.9.826.1.20.51.1.19.50064|2|25 +1.3.6.1.4.1.9.9.826.1.20.51.1.19.54559|2|3 +1.3.6.1.4.1.9.9.826.1.20.51.1.19.54560|2|27 +1.3.6.1.4.1.9.9.826.1.20.51.1.20.47457|2|15 +1.3.6.1.4.1.9.9.826.1.20.51.1.20.50064|2|21 +1.3.6.1.4.1.9.9.826.1.20.51.1.20.54559|2|25 +1.3.6.1.4.1.9.9.826.1.20.51.1.20.54560|2|26 +1.3.6.1.4.1.9.9.826.1.20.51.1.21.47457|2|26 +1.3.6.1.4.1.9.9.826.1.20.51.1.21.50064|2|13 +1.3.6.1.4.1.9.9.826.1.20.51.1.21.54559|2|2 +1.3.6.1.4.1.9.9.826.1.20.51.1.21.54560|2|24 +1.3.6.1.4.1.9.9.826.1.20.52.1.1.8067|66|8067 +1.3.6.1.4.1.9.9.826.1.20.52.1.1.20565|66|20565 +1.3.6.1.4.1.9.9.826.1.20.52.1.1.36853|66|36853 +1.3.6.1.4.1.9.9.826.1.20.52.1.1.64852|66|64852 +1.3.6.1.4.1.9.9.826.1.20.52.1.2.8067|4x|666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.52.1.2.20565|4|acted +1.3.6.1.4.1.9.9.826.1.20.52.1.2.36853|4x|7468656972204a616465642074686569722064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.52.1.2.64852|4x|64726976696e6720717561696e746c792061637465642064726976696e6720627574207a6f6d62696573207a6f6d6269657320717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.52.1.3.8067|4x|6b657074207a6f6d62696573204a61646564206163746564204a616465642064726976696e67206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.52.1.3.20565|4x|4a6164656420717561696e746c79206b65707420746865697220666f72776172642074686569722064726976696e67206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.52.1.3.36853|4x|666f7277617264207468656972207a6f6d62696573207468656972206b657074207a6f6d62696573206b657074206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.52.1.3.64852|4x|717561696e746c79206f78656e2074686569722064726976696e672064726976696e6720627574206f78656e206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.52.1.4.8067|2|27 +1.3.6.1.4.1.9.9.826.1.20.52.1.4.20565|2|19 +1.3.6.1.4.1.9.9.826.1.20.52.1.4.36853|2|20 +1.3.6.1.4.1.9.9.826.1.20.52.1.4.64852|2|30 +1.3.6.1.4.1.9.9.826.1.20.52.1.5.8067|2|1 +1.3.6.1.4.1.9.9.826.1.20.52.1.5.20565|2|28 +1.3.6.1.4.1.9.9.826.1.20.52.1.5.36853|2|3 +1.3.6.1.4.1.9.9.826.1.20.52.1.5.64852|2|17 +1.3.6.1.4.1.9.9.826.1.20.52.1.6.8067|2|27 +1.3.6.1.4.1.9.9.826.1.20.52.1.6.20565|2|11 +1.3.6.1.4.1.9.9.826.1.20.52.1.6.36853|2|5 +1.3.6.1.4.1.9.9.826.1.20.52.1.6.64852|2|28 +1.3.6.1.4.1.9.9.826.1.20.52.1.7.8067|2|0 +1.3.6.1.4.1.9.9.826.1.20.52.1.7.20565|2|31 +1.3.6.1.4.1.9.9.826.1.20.52.1.7.36853|2|8 +1.3.6.1.4.1.9.9.826.1.20.52.1.7.64852|2|9 +1.3.6.1.4.1.9.9.826.1.20.52.1.8.8067|70|7885150105351794477 +1.3.6.1.4.1.9.9.826.1.20.52.1.8.20565|70|17392413569866481650 +1.3.6.1.4.1.9.9.826.1.20.52.1.8.36853|70|16449148326755975398 +1.3.6.1.4.1.9.9.826.1.20.52.1.8.64852|70|8711404710965275707 +1.3.6.1.4.1.9.9.826.1.20.52.1.9.8067|2|1 +1.3.6.1.4.1.9.9.826.1.20.52.1.9.20565|2|1 +1.3.6.1.4.1.9.9.826.1.20.52.1.9.36853|2|2 +1.3.6.1.4.1.9.9.826.1.20.52.1.9.64852|2|2 +1.3.6.1.4.1.9.9.826.1.20.52.1.10.8067|2|6 +1.3.6.1.4.1.9.9.826.1.20.52.1.10.20565|2|8 +1.3.6.1.4.1.9.9.826.1.20.52.1.10.36853|2|31 +1.3.6.1.4.1.9.9.826.1.20.52.1.10.64852|2|20 +1.3.6.1.4.1.9.9.826.1.20.52.1.11.8067|2|10 +1.3.6.1.4.1.9.9.826.1.20.52.1.11.20565|2|8 +1.3.6.1.4.1.9.9.826.1.20.52.1.11.36853|2|24 +1.3.6.1.4.1.9.9.826.1.20.52.1.11.64852|2|11 +1.3.6.1.4.1.9.9.826.1.20.52.1.12.8067|2|25 +1.3.6.1.4.1.9.9.826.1.20.52.1.12.20565|2|31 +1.3.6.1.4.1.9.9.826.1.20.52.1.12.36853|2|3 +1.3.6.1.4.1.9.9.826.1.20.52.1.12.64852|2|18 +1.3.6.1.4.1.9.9.826.1.20.52.1.13.8067|2|16 +1.3.6.1.4.1.9.9.826.1.20.52.1.13.20565|2|8 +1.3.6.1.4.1.9.9.826.1.20.52.1.13.36853|2|28 +1.3.6.1.4.1.9.9.826.1.20.52.1.13.64852|2|14 +1.3.6.1.4.1.9.9.826.1.20.52.1.14.8067|2|2 +1.3.6.1.4.1.9.9.826.1.20.52.1.14.20565|2|1 +1.3.6.1.4.1.9.9.826.1.20.52.1.14.36853|2|1 +1.3.6.1.4.1.9.9.826.1.20.52.1.14.64852|2|1 +1.3.6.1.4.1.9.9.826.1.20.52.1.15.8067|4x|64726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.52.1.15.20565|4|acted +1.3.6.1.4.1.9.9.826.1.20.52.1.15.36853|4|forward +1.3.6.1.4.1.9.9.826.1.20.52.1.15.64852|4x|717561696e746c79206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.52.1.16.8067|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.52.1.16.20565|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.52.1.16.36853|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.52.1.16.64852|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.52.1.17.8067|2|20 +1.3.6.1.4.1.9.9.826.1.20.52.1.17.20565|2|8 +1.3.6.1.4.1.9.9.826.1.20.52.1.17.36853|2|5 +1.3.6.1.4.1.9.9.826.1.20.52.1.17.64852|2|27 +1.3.6.1.4.1.9.9.826.1.20.52.1.18.8067|2|21 +1.3.6.1.4.1.9.9.826.1.20.52.1.18.20565|2|10 +1.3.6.1.4.1.9.9.826.1.20.52.1.18.36853|2|24 +1.3.6.1.4.1.9.9.826.1.20.52.1.18.64852|2|29 +1.3.6.1.4.1.9.9.826.1.20.52.1.19.8067|2|1 +1.3.6.1.4.1.9.9.826.1.20.52.1.19.20565|2|3 +1.3.6.1.4.1.9.9.826.1.20.52.1.19.36853|2|3 +1.3.6.1.4.1.9.9.826.1.20.52.1.19.64852|2|31 +1.3.6.1.4.1.9.9.826.1.20.52.1.20.8067|2|2 +1.3.6.1.4.1.9.9.826.1.20.52.1.20.20565|2|29 +1.3.6.1.4.1.9.9.826.1.20.52.1.20.36853|2|8 +1.3.6.1.4.1.9.9.826.1.20.52.1.20.64852|2|3 +1.3.6.1.4.1.9.9.826.1.20.53.1.1.7510|66|7510 +1.3.6.1.4.1.9.9.826.1.20.53.1.1.25329|66|25329 +1.3.6.1.4.1.9.9.826.1.20.53.1.1.32460|66|32460 +1.3.6.1.4.1.9.9.826.1.20.53.1.1.56051|66|56051 +1.3.6.1.4.1.9.9.826.1.20.53.1.2.7510|4x|6b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.53.1.2.25329|4x|6f78656e206b65707420666f7277617264207a6f6d62696573206f78656e207a6f6d62696573206b65707420666f7277617264206f78656e +1.3.6.1.4.1.9.9.826.1.20.53.1.2.32460|4x|717561696e746c79206b65707420717561696e746c79206b65707420666f72776172642064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.53.1.2.56051|4x|666f727761726420666f7277617264207468656972207468656972207a6f6d62696573206b65707420746865697220746865697220627574 +1.3.6.1.4.1.9.9.826.1.20.53.1.3.7510|4x|6f78656e20616374656420616374656420666f727761726420717561696e746c79204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.53.1.3.25329|4x|6163746564206f78656e207a6f6d62696573207a6f6d6269657320627574206275742064726976696e67206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.53.1.3.32460|4x|6163746564207468656972 +1.3.6.1.4.1.9.9.826.1.20.53.1.3.56051|4x|62757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.53.1.4.7510|4x|7a6f6d62696573204a6164656420717561696e746c792064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.53.1.4.25329|4x|6b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.53.1.4.32460|4x|6163746564206163746564206b65707420666f7277617264207a6f6d62696573206b657074 +1.3.6.1.4.1.9.9.826.1.20.53.1.4.56051|4x|64726976696e67206b65707420627574206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.53.1.5.7510|4|oxen +1.3.6.1.4.1.9.9.826.1.20.53.1.5.25329|4x|7a6f6d62696573206f78656e206b657074206b657074206f78656e2061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.53.1.5.32460|4x|717561696e746c7920717561696e746c79206163746564206b657074204a61646564206b6570742064726976696e6720666f7277617264206f78656e +1.3.6.1.4.1.9.9.826.1.20.53.1.5.56051|4x|6b6570742061637465642062757420666f72776172642074686569722074686569722064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.54.1.1.7807|66|7807 +1.3.6.1.4.1.9.9.826.1.20.54.1.1.33340|66|33340 +1.3.6.1.4.1.9.9.826.1.20.54.1.1.39034|66|39034 +1.3.6.1.4.1.9.9.826.1.20.54.1.1.42988|66|42988 +1.3.6.1.4.1.9.9.826.1.20.54.1.2.7807|4|forward +1.3.6.1.4.1.9.9.826.1.20.54.1.2.33340|4|forward +1.3.6.1.4.1.9.9.826.1.20.54.1.2.39034|4x|627574204a61646564206f78656e20746865697220746865697220717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.54.1.2.42988|4x|717561696e746c7920666f72776172642064726976696e672062757420717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.54.1.3.7807|4|but +1.3.6.1.4.1.9.9.826.1.20.54.1.3.33340|4x|7a6f6d6269657320717561696e746c79204a61646564207a6f6d6269657320666f7277617264206f78656e207468656972207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.54.1.3.39034|4x|717561696e746c79206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.54.1.3.42988|4x|4a6164656420666f727761726420746865697220627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.54.1.4.7807|66|3052090517 +1.3.6.1.4.1.9.9.826.1.20.54.1.4.33340|66|2649039156 +1.3.6.1.4.1.9.9.826.1.20.54.1.4.39034|66|1501110083 +1.3.6.1.4.1.9.9.826.1.20.54.1.4.42988|66|771429299 +1.3.6.1.4.1.9.9.826.1.20.54.1.5.7807|4x|717561696e746c7920666f7277617264207468656972206f78656e20627574204a616465642064726976696e672062757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.54.1.5.33340|4x|7a6f6d62696573206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.54.1.5.39034|4x|64726976696e672064726976696e672064726976696e672062757420627574 +1.3.6.1.4.1.9.9.826.1.20.54.1.5.42988|4x|7468656972206b657074206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.54.1.6.7807|4x|717561696e746c792064726976696e67204a61646564206b657074207468656972207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.54.1.6.33340|4x|717561696e746c79206b657074206b657074204a6164656420616374656420666f7277617264207468656972206f78656e +1.3.6.1.4.1.9.9.826.1.20.54.1.6.39034|4|but +1.3.6.1.4.1.9.9.826.1.20.54.1.6.42988|4x|6f78656e207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.54.1.7.7807|4x|717561696e746c79206163746564207468656972206b657074204a61646564207468656972207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.54.1.7.33340|4|acted +1.3.6.1.4.1.9.9.826.1.20.54.1.7.39034|4x|666f7277617264204a61646564206b65707420717561696e746c79206f78656e204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.54.1.7.42988|4x|4a6164656420627574206b657074204a61646564204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.54.1.8.7807|66|4252360611 +1.3.6.1.4.1.9.9.826.1.20.54.1.8.33340|66|165353915 +1.3.6.1.4.1.9.9.826.1.20.54.1.8.39034|66|987121260 +1.3.6.1.4.1.9.9.826.1.20.54.1.8.42988|66|1526859030 +1.3.6.1.4.1.9.9.826.1.20.54.1.9.7807|2|1 +1.3.6.1.4.1.9.9.826.1.20.54.1.9.33340|2|1 +1.3.6.1.4.1.9.9.826.1.20.54.1.9.39034|2|0 +1.3.6.1.4.1.9.9.826.1.20.54.1.9.42988|2|1 +1.3.6.1.4.1.9.9.826.1.20.54.1.10.7807|66|2716607592 +1.3.6.1.4.1.9.9.826.1.20.54.1.10.33340|66|444570637 +1.3.6.1.4.1.9.9.826.1.20.54.1.10.39034|66|2144135768 +1.3.6.1.4.1.9.9.826.1.20.54.1.10.42988|66|3430427298 +1.3.6.1.4.1.9.9.826.1.20.55.1.1.2454|66|2454 +1.3.6.1.4.1.9.9.826.1.20.55.1.1.44913|66|44913 +1.3.6.1.4.1.9.9.826.1.20.55.1.1.57127|66|57127 +1.3.6.1.4.1.9.9.826.1.20.55.1.1.63803|66|63803 +1.3.6.1.4.1.9.9.826.1.20.55.1.2.2454|4x|616374656420666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.55.1.2.44913|4x|4a6164656420666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.55.1.2.57127|4x|717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.55.1.2.63803|4x|4a61646564206163746564206f78656e207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.55.1.3.2454|4x|717561696e746c7920666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.55.1.3.44913|4x|666f727761726420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.55.1.3.57127|4x|666f7277617264206163746564206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.55.1.3.63803|4x|6b65707420717561696e746c79204a61646564204a6164656420717561696e746c792074686569722074686569722064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.55.1.4.2454|2|1 +1.3.6.1.4.1.9.9.826.1.20.55.1.4.44913|2|2 +1.3.6.1.4.1.9.9.826.1.20.55.1.4.57127|2|2 +1.3.6.1.4.1.9.9.826.1.20.55.1.4.63803|2|2 +1.3.6.1.4.1.9.9.826.1.20.55.1.5.2454|2|2 +1.3.6.1.4.1.9.9.826.1.20.55.1.5.44913|2|2 +1.3.6.1.4.1.9.9.826.1.20.55.1.5.57127|2|1 +1.3.6.1.4.1.9.9.826.1.20.55.1.5.63803|2|2 +1.3.6.1.4.1.9.9.826.1.20.55.1.6.2454|66|3032758140 +1.3.6.1.4.1.9.9.826.1.20.55.1.6.44913|66|1226773672 +1.3.6.1.4.1.9.9.826.1.20.55.1.6.57127|66|1764462990 +1.3.6.1.4.1.9.9.826.1.20.55.1.6.63803|66|377418433 +1.3.6.1.4.1.9.9.826.1.20.55.1.7.2454|66|4134849634 +1.3.6.1.4.1.9.9.826.1.20.55.1.7.44913|66|780987214 +1.3.6.1.4.1.9.9.826.1.20.55.1.7.57127|66|3410871437 +1.3.6.1.4.1.9.9.826.1.20.55.1.7.63803|66|3228598183 +1.3.6.1.4.1.9.9.826.1.20.55.1.8.2454|66|1721044592 +1.3.6.1.4.1.9.9.826.1.20.55.1.8.44913|66|2462557094 +1.3.6.1.4.1.9.9.826.1.20.55.1.8.57127|66|1787715984 +1.3.6.1.4.1.9.9.826.1.20.55.1.8.63803|66|2801628279 +1.3.6.1.4.1.9.9.826.1.20.55.1.9.2454|66|2876070886 +1.3.6.1.4.1.9.9.826.1.20.55.1.9.44913|66|911316167 +1.3.6.1.4.1.9.9.826.1.20.55.1.9.57127|66|3586150375 +1.3.6.1.4.1.9.9.826.1.20.55.1.9.63803|66|2143600871 +1.3.6.1.4.1.9.9.826.1.20.55.1.10.2454|66|2441529940 +1.3.6.1.4.1.9.9.826.1.20.55.1.10.44913|66|2860161444 +1.3.6.1.4.1.9.9.826.1.20.55.1.10.57127|66|1765044811 +1.3.6.1.4.1.9.9.826.1.20.55.1.10.63803|66|1089666571 +1.3.6.1.4.1.9.9.826.1.20.55.1.11.2454|4|forward +1.3.6.1.4.1.9.9.826.1.20.55.1.11.44913|4x|717561696e746c7920627574206f78656e +1.3.6.1.4.1.9.9.826.1.20.55.1.11.57127|4x|666f7277617264207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.55.1.11.63803|4x|4a61646564206f78656e204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.55.1.12.2454|4|oxen +1.3.6.1.4.1.9.9.826.1.20.55.1.12.44913|4x|6163746564206b657074207a6f6d62696573207468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.55.1.12.57127|4x|64726976696e67206163746564207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.55.1.12.63803|4x|4a61646564206f78656e20627574206f78656e207468656972206b6570742062757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.55.1.13.2454|66|4013641646 +1.3.6.1.4.1.9.9.826.1.20.55.1.13.44913|66|491139477 +1.3.6.1.4.1.9.9.826.1.20.55.1.13.57127|66|1475336241 +1.3.6.1.4.1.9.9.826.1.20.55.1.13.63803|66|2216551873 +1.3.6.1.4.1.9.9.826.1.20.55.1.14.2454|4x|4a616465642061637465642064726976696e67206163746564207a6f6d626965732064726976696e67206f78656e207468656972207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.55.1.14.44913|4x|627574206b657074204a61646564207468656972206b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.55.1.14.57127|4x|6163746564206163746564206163746564206b657074207468656972206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.55.1.14.63803|4x|666f7277617264207a6f6d62696573207a6f6d62696573206f78656e207a6f6d62696573206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.55.1.15.2454|4x|74686569722074686569722064726976696e67206f78656e2074686569722064726976696e6720746865697220666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.55.1.15.44913|4x|666f72776172642074686569722062757420627574206163746564207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.55.1.15.57127|4x|4a6164656420616374656420666f7277617264206163746564206163746564206f78656e20627574206f78656e +1.3.6.1.4.1.9.9.826.1.20.55.1.15.63803|4x|62757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.55.1.16.2454|66|3392506840 +1.3.6.1.4.1.9.9.826.1.20.55.1.16.44913|66|1959646669 +1.3.6.1.4.1.9.9.826.1.20.55.1.16.57127|66|2647930385 +1.3.6.1.4.1.9.9.826.1.20.55.1.16.63803|66|4181281438 +1.3.6.1.4.1.9.9.826.1.20.55.1.17.2454|2|2 +1.3.6.1.4.1.9.9.826.1.20.55.1.17.44913|2|2 +1.3.6.1.4.1.9.9.826.1.20.55.1.17.57127|2|2 +1.3.6.1.4.1.9.9.826.1.20.55.1.17.63803|2|2 +1.3.6.1.4.1.9.9.826.1.20.56.1.1.6678|66|6678 +1.3.6.1.4.1.9.9.826.1.20.56.1.1.9250|66|9250 +1.3.6.1.4.1.9.9.826.1.20.56.1.1.15972|66|15972 +1.3.6.1.4.1.9.9.826.1.20.56.1.1.30959|66|30959 +1.3.6.1.4.1.9.9.826.1.20.56.1.2.6678|4x|6b657074206163746564206b657074206163746564207468656972 +1.3.6.1.4.1.9.9.826.1.20.56.1.2.9250|4x|627574207a6f6d62696573204a61646564207a6f6d626965732062757420717561696e746c79204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.56.1.2.15972|4x|6163746564204a61646564207a6f6d626965732062757420717561696e746c79206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.56.1.2.30959|4x|4a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.56.1.3.6678|4x|64726976696e6720717561696e746c7920627574206f78656e2061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.56.1.3.9250|4|their +1.3.6.1.4.1.9.9.826.1.20.56.1.3.15972|4x|64726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.56.1.3.30959|4x|64726976696e67206163746564207a6f6d62696573206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.56.1.4.6678|4|oxen +1.3.6.1.4.1.9.9.826.1.20.56.1.4.9250|4x|717561696e746c79206b657074204a616465642064726976696e67204a61646564207a6f6d62696573207468656972207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.56.1.4.15972|4x|6163746564207468656972207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.56.1.4.30959|4x|74686569722061637465642062757420746865697220746865697220616374656420627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.56.1.5.6678|4|acted +1.3.6.1.4.1.9.9.826.1.20.56.1.5.9250|4x|74686569722064726976696e6720666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.56.1.5.15972|4x|746865697220746865697220746865697220666f727761726420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.56.1.5.30959|4x|4a61646564204a61646564206163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.56.1.6.6678|2|4 +1.3.6.1.4.1.9.9.826.1.20.56.1.6.9250|2|0 +1.3.6.1.4.1.9.9.826.1.20.56.1.6.15972|2|0 +1.3.6.1.4.1.9.9.826.1.20.56.1.6.30959|2|0 +1.3.6.1.4.1.9.9.826.1.20.56.1.7.6678|4x|717561696e746c7920627574204a6164656420627574204a61646564206f78656e206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.56.1.7.9250|4x|6f78656e206163746564206163746564207468656972206163746564207a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.56.1.7.15972|4x|74686569722064726976696e67206b65707420717561696e746c7920717561696e746c7920666f7277617264207a6f6d62696573206b657074 +1.3.6.1.4.1.9.9.826.1.20.56.1.7.30959|4x|74686569722064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.56.1.8.6678|66|2636045736 +1.3.6.1.4.1.9.9.826.1.20.56.1.8.9250|66|1078814840 +1.3.6.1.4.1.9.9.826.1.20.56.1.8.15972|66|2474489572 +1.3.6.1.4.1.9.9.826.1.20.56.1.8.30959|66|820201571 +1.3.6.1.4.1.9.9.826.1.20.56.1.9.6678|2|1 +1.3.6.1.4.1.9.9.826.1.20.56.1.9.9250|2|2 +1.3.6.1.4.1.9.9.826.1.20.56.1.9.15972|2|2 +1.3.6.1.4.1.9.9.826.1.20.56.1.9.30959|2|1 +1.3.6.1.4.1.9.9.826.1.20.56.1.10.6678|66|3367196612 +1.3.6.1.4.1.9.9.826.1.20.56.1.10.9250|66|437593215 +1.3.6.1.4.1.9.9.826.1.20.56.1.10.15972|66|2597290170 +1.3.6.1.4.1.9.9.826.1.20.56.1.10.30959|66|1814830948 +1.3.6.1.4.1.9.9.826.1.20.56.1.11.6678|2|0 +1.3.6.1.4.1.9.9.826.1.20.56.1.11.9250|2|2 +1.3.6.1.4.1.9.9.826.1.20.56.1.11.15972|2|1 +1.3.6.1.4.1.9.9.826.1.20.56.1.11.30959|2|0 +1.3.6.1.4.1.9.9.826.1.20.56.1.12.6678|4x|4a61646564206b65707420666f727761726420717561696e746c79204a61646564206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.56.1.12.9250|4x|616374656420666f727761726420627574206f78656e +1.3.6.1.4.1.9.9.826.1.20.56.1.12.15972|4x|6f78656e2064726976696e67207a6f6d6269657320746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.56.1.12.30959|4x|4a61646564206b657074206b65707420717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.57.1.1.11631|66|11631 +1.3.6.1.4.1.9.9.826.1.20.57.1.1.27625|66|27625 +1.3.6.1.4.1.9.9.826.1.20.57.1.1.36830|66|36830 +1.3.6.1.4.1.9.9.826.1.20.57.1.1.39197|66|39197 +1.3.6.1.4.1.9.9.826.1.20.57.1.2.11631|4x|666f7277617264206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.57.1.2.27625|4x|7a6f6d62696573207a6f6d6269657320717561696e746c79204a61646564206b6570742062757420746865697220627574 +1.3.6.1.4.1.9.9.826.1.20.57.1.2.36830|4x|717561696e746c79206275742064726976696e6720616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.57.1.2.39197|4x|6b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.57.1.3.11631|4x|666f7277617264206b65707420666f7277617264206f78656e20717561696e746c7920717561696e746c792064726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.57.1.3.27625|4x|4a61646564206163746564206163746564206163746564204a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.57.1.3.36830|4x|61637465642064726976696e672061637465642074686569722062757420627574207468656972206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.57.1.3.39197|4x|64726976696e67204a616465642062757420746865697220616374656420666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.57.1.4.11631|2|2 +1.3.6.1.4.1.9.9.826.1.20.57.1.4.27625|2|1 +1.3.6.1.4.1.9.9.826.1.20.57.1.4.36830|2|1 +1.3.6.1.4.1.9.9.826.1.20.57.1.4.39197|2|2 +1.3.6.1.4.1.9.9.826.1.20.57.1.5.11631|2|2 +1.3.6.1.4.1.9.9.826.1.20.57.1.5.27625|2|2 +1.3.6.1.4.1.9.9.826.1.20.57.1.5.36830|2|2 +1.3.6.1.4.1.9.9.826.1.20.57.1.5.39197|2|1 +1.3.6.1.4.1.9.9.826.1.20.57.1.6.11631|66|270479692 +1.3.6.1.4.1.9.9.826.1.20.57.1.6.27625|66|2892814716 +1.3.6.1.4.1.9.9.826.1.20.57.1.6.36830|66|1196412016 +1.3.6.1.4.1.9.9.826.1.20.57.1.6.39197|66|3211959020 +1.3.6.1.4.1.9.9.826.1.20.57.1.7.11631|66|554984046 +1.3.6.1.4.1.9.9.826.1.20.57.1.7.27625|66|3408924139 +1.3.6.1.4.1.9.9.826.1.20.57.1.7.36830|66|2642191714 +1.3.6.1.4.1.9.9.826.1.20.57.1.7.39197|66|2355798371 +1.3.6.1.4.1.9.9.826.1.20.57.1.8.11631|66|3037062902 +1.3.6.1.4.1.9.9.826.1.20.57.1.8.27625|66|4268378442 +1.3.6.1.4.1.9.9.826.1.20.57.1.8.36830|66|1112061110 +1.3.6.1.4.1.9.9.826.1.20.57.1.8.39197|66|3944873691 +1.3.6.1.4.1.9.9.826.1.20.57.1.9.11631|66|3836085979 +1.3.6.1.4.1.9.9.826.1.20.57.1.9.27625|66|1928273648 +1.3.6.1.4.1.9.9.826.1.20.57.1.9.36830|66|1416165180 +1.3.6.1.4.1.9.9.826.1.20.57.1.9.39197|66|3211706210 +1.3.6.1.4.1.9.9.826.1.20.57.1.10.11631|66|2544583447 +1.3.6.1.4.1.9.9.826.1.20.57.1.10.27625|66|579465383 +1.3.6.1.4.1.9.9.826.1.20.57.1.10.36830|66|2176866704 +1.3.6.1.4.1.9.9.826.1.20.57.1.10.39197|66|164260528 +1.3.6.1.4.1.9.9.826.1.20.57.1.11.11631|4x|7a6f6d62696573204a616465642064726976696e6720666f727761726420666f727761726420717561696e746c7920666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.57.1.11.27625|4x|6163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.57.1.11.36830|4x|666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.57.1.11.39197|4x|717561696e746c79207a6f6d626965732064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.57.1.12.11631|4x|717561696e746c79206163746564206b65707420717561696e746c79207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.57.1.12.27625|4x|7a6f6d6269657320666f727761726420717561696e746c7920666f727761726420627574 +1.3.6.1.4.1.9.9.826.1.20.57.1.12.36830|4x|62757420627574207a6f6d62696573207468656972206f78656e20666f727761726420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.57.1.12.39197|4x|6f78656e2064726976696e6720616374656420717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.57.1.13.11631|66|894309094 +1.3.6.1.4.1.9.9.826.1.20.57.1.13.27625|66|4051143359 +1.3.6.1.4.1.9.9.826.1.20.57.1.13.36830|66|1948941584 +1.3.6.1.4.1.9.9.826.1.20.57.1.13.39197|66|3572956118 +1.3.6.1.4.1.9.9.826.1.20.57.1.14.11631|66|3010337267 +1.3.6.1.4.1.9.9.826.1.20.57.1.14.27625|66|1475738245 +1.3.6.1.4.1.9.9.826.1.20.57.1.14.36830|66|1495300118 +1.3.6.1.4.1.9.9.826.1.20.57.1.14.39197|66|4234798554 +1.3.6.1.4.1.9.9.826.1.20.57.1.15.11631|4x|64726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.57.1.15.27625|4x|666f727761726420627574207468656972206f78656e206f78656e20666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.57.1.15.36830|4x|627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.57.1.15.39197|4x|7468656972207a6f6d6269657320666f727761726420666f727761726420717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.57.1.16.11631|4x|746865697220717561696e746c79206f78656e206275742064726976696e672062757420717561696e746c79207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.57.1.16.27625|4x|64726976696e672064726976696e6720717561696e746c7920627574204a616465642061637465642074686569722064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.57.1.16.36830|4x|4a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.57.1.16.39197|4|kept +1.3.6.1.4.1.9.9.826.1.20.58.1.1.35296|66|35296 +1.3.6.1.4.1.9.9.826.1.20.58.1.1.36089|66|36089 +1.3.6.1.4.1.9.9.826.1.20.58.1.1.46140|66|46140 +1.3.6.1.4.1.9.9.826.1.20.58.1.1.54268|66|54268 +1.3.6.1.4.1.9.9.826.1.20.58.1.2.35296|4x|6b65707420717561696e746c792062757420717561696e746c7920627574206f78656e +1.3.6.1.4.1.9.9.826.1.20.58.1.2.36089|4x|666f727761726420666f727761726420666f7277617264206f78656e20717561696e746c79206b6570742064726976696e67206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.58.1.2.46140|4x|666f7277617264207a6f6d62696573207468656972207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.58.1.2.54268|4x|7468656972206f78656e20717561696e746c79207468656972206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.58.1.3.35296|4x|61637465642064726976696e67206b6570742062757420627574 +1.3.6.1.4.1.9.9.826.1.20.58.1.3.36089|4x|6b657074206b6570742062757420666f7277617264204a61646564207a6f6d6269657320717561696e746c7920746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.58.1.3.46140|4x|6b657074207468656972206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.58.1.3.54268|4x|64726976696e67206f78656e206275742064726976696e67206163746564207a6f6d62696573204a61646564207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.58.1.4.35296|4|acted +1.3.6.1.4.1.9.9.826.1.20.58.1.4.36089|4x|74686569722061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.58.1.4.46140|4x|7468656972204a61646564 +1.3.6.1.4.1.9.9.826.1.20.58.1.4.54268|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.58.1.5.35296|4x|627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.58.1.5.36089|4x|717561696e746c79206b657074204a61646564204a61646564206f78656e2064726976696e67207a6f6d626965732064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.58.1.5.46140|4x|6f78656e206f78656e20717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.58.1.5.54268|4x|746865697220717561696e746c79206163746564207a6f6d62696573206163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.58.1.6.35296|4x|666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.58.1.6.36089|4x|64726976696e67207a6f6d6269657320746865697220666f7277617264206163746564204a61646564206f78656e204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.58.1.6.46140|4x|6b65707420746865697220666f727761726420627574 +1.3.6.1.4.1.9.9.826.1.20.58.1.6.54268|4x|4a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.59.1.1.17479|66|17479 +1.3.6.1.4.1.9.9.826.1.20.59.1.1.28814|66|28814 +1.3.6.1.4.1.9.9.826.1.20.59.1.1.31815|66|31815 +1.3.6.1.4.1.9.9.826.1.20.59.1.1.47294|66|47294 +1.3.6.1.4.1.9.9.826.1.20.59.1.2.17479|4x|4a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.59.1.2.28814|4|but +1.3.6.1.4.1.9.9.826.1.20.59.1.2.31815|4x|666f727761726420717561696e746c7920666f7277617264207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.20.59.1.2.47294|4x|717561696e746c7920666f7277617264204a61646564206163746564207468656972207a6f6d62696573207468656972206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.59.1.3.17479|4x|6163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.59.1.3.28814|4x|7a6f6d62696573207a6f6d6269657320666f727761726420627574204a61646564204a6164656420717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.59.1.3.31815|4x|7a6f6d6269657320717561696e746c7920627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.59.1.3.47294|4|their +1.3.6.1.4.1.9.9.826.1.20.59.1.4.17479|4x|6163746564206f78656e20666f72776172642064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.59.1.4.28814|4x|6f78656e206b657074207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.59.1.4.31815|4x|62757420666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.59.1.4.47294|4x|717561696e746c79206f78656e20717561696e746c79206163746564204a616465642062757420717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.59.1.5.17479|4x|666f727761726420616374656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.59.1.5.28814|4x|717561696e746c7920627574206163746564207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.59.1.5.31815|4|driving +1.3.6.1.4.1.9.9.826.1.20.59.1.5.47294|4x|7a6f6d6269657320666f72776172642064726976696e67207468656972206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.59.1.6.17479|4x|6163746564206b6570742061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.59.1.6.28814|4x|6f78656e207468656972206275742064726976696e67206f78656e204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.59.1.6.31815|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.59.1.6.47294|4x|7468656972207a6f6d626965732064726976696e67206f78656e207a6f6d62696573207a6f6d626965732064726976696e67207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.59.1.7.17479|4x|6f78656e2074686569722064726976696e67207468656972206163746564207a6f6d626965732064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.59.1.7.28814|4x|6b657074206b657074207a6f6d62696573206f78656e204a61646564204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.59.1.7.31815|4x|6b657074207a6f6d6269657320666f72776172642074686569722064726976696e67207a6f6d626965732064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.59.1.7.47294|4x|616374656420717561696e746c7920666f7277617264206b657074207a6f6d62696573206b65707420627574207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.59.1.8.17479|4x|717561696e746c79206b65707420717561696e746c7920717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.59.1.8.28814|4x|4a6164656420717561696e746c7920746865697220717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.59.1.8.31815|4x|627574206b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.59.1.8.47294|4x|61637465642064726976696e6720746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.59.1.9.17479|4x|64726976696e67206275742064726976696e67204a6164656420616374656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.59.1.9.28814|4x|64726976696e67204a61646564204a6164656420746865697220616374656420666f72776172642062757420666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.59.1.9.31815|4x|6163746564206163746564206163746564204a61646564207468656972206163746564206f78656e207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.59.1.9.47294|4|driving +1.3.6.1.4.1.9.9.826.1.20.59.1.10.17479|66|3699572222 +1.3.6.1.4.1.9.9.826.1.20.59.1.10.28814|66|1694656967 +1.3.6.1.4.1.9.9.826.1.20.59.1.10.31815|66|1185585581 +1.3.6.1.4.1.9.9.826.1.20.59.1.10.47294|66|2886978955 +1.3.6.1.4.1.9.9.826.1.20.59.1.11.17479|2|0 +1.3.6.1.4.1.9.9.826.1.20.59.1.11.28814|2|0 +1.3.6.1.4.1.9.9.826.1.20.59.1.11.31815|2|0 +1.3.6.1.4.1.9.9.826.1.20.59.1.11.47294|2|1 +1.3.6.1.4.1.9.9.826.1.20.60.1.1.958|66|958 +1.3.6.1.4.1.9.9.826.1.20.60.1.1.19413|66|19413 +1.3.6.1.4.1.9.9.826.1.20.60.1.1.19786|66|19786 +1.3.6.1.4.1.9.9.826.1.20.60.1.1.34970|66|34970 +1.3.6.1.4.1.9.9.826.1.20.60.1.2.958|4|forward +1.3.6.1.4.1.9.9.826.1.20.60.1.2.19413|4x|666f72776172642064726976696e672064726976696e67206f78656e +1.3.6.1.4.1.9.9.826.1.20.60.1.2.19786|4x|4a61646564206b657074207a6f6d62696573206f78656e207a6f6d626965732064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.60.1.2.34970|4x|717561696e746c79206f78656e20746865697220666f7277617264207468656972206f78656e20717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.60.1.3.958|4x|6f78656e206275742064726976696e67206b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.60.1.3.19413|4x|7468656972207468656972207468656972207468656972206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.60.1.3.19786|4|forward +1.3.6.1.4.1.9.9.826.1.20.60.1.3.34970|4x|666f7277617264206b657074206b65707420746865697220666f7277617264206163746564204a61646564206f78656e20717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.60.1.4.958|2|4 +1.3.6.1.4.1.9.9.826.1.20.60.1.4.19413|2|1 +1.3.6.1.4.1.9.9.826.1.20.60.1.4.19786|2|1 +1.3.6.1.4.1.9.9.826.1.20.60.1.4.34970|2|4 +1.3.6.1.4.1.9.9.826.1.20.60.1.5.958|2|2 +1.3.6.1.4.1.9.9.826.1.20.60.1.5.19413|2|2 +1.3.6.1.4.1.9.9.826.1.20.60.1.5.19786|2|1 +1.3.6.1.4.1.9.9.826.1.20.60.1.5.34970|2|0 +1.3.6.1.4.1.9.9.826.1.20.60.1.6.958|4x|6f78656e2064726976696e67206b65707420717561696e746c79206f78656e20717561696e746c79204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.60.1.6.19413|4x|7a6f6d6269657320666f7277617264206b65707420616374656420666f72776172642064726976696e6720627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.60.1.6.19786|4x|627574206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.60.1.6.34970|4x|4a6164656420717561696e746c792064726976696e6720616374656420666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.60.1.7.958|66|895357995 +1.3.6.1.4.1.9.9.826.1.20.60.1.7.19413|66|438550349 +1.3.6.1.4.1.9.9.826.1.20.60.1.7.19786|66|2607982578 +1.3.6.1.4.1.9.9.826.1.20.60.1.7.34970|66|1534855577 +1.3.6.1.4.1.9.9.826.1.20.60.1.8.958|4x|64726976696e67207a6f6d62696573206f78656e207a6f6d6269657320666f727761726420746865697220627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.60.1.8.19413|4x|717561696e746c79207468656972204a61646564206f78656e20627574 +1.3.6.1.4.1.9.9.826.1.20.60.1.8.19786|4x|6b65707420717561696e746c79206f78656e20627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.60.1.8.34970|4x|666f7277617264206f78656e204a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.60.1.9.958|2|0 +1.3.6.1.4.1.9.9.826.1.20.60.1.9.19413|2|0 +1.3.6.1.4.1.9.9.826.1.20.60.1.9.19786|2|2 +1.3.6.1.4.1.9.9.826.1.20.60.1.9.34970|2|5 +1.3.6.1.4.1.9.9.826.1.20.61.1.1.44312|66|44312 +1.3.6.1.4.1.9.9.826.1.20.61.1.1.48296|66|48296 +1.3.6.1.4.1.9.9.826.1.20.61.1.1.49429|66|49429 +1.3.6.1.4.1.9.9.826.1.20.61.1.1.52624|66|52624 +1.3.6.1.4.1.9.9.826.1.20.61.1.2.44312|4x|61637465642062757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.61.1.2.48296|4x|746865697220717561696e746c79206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.61.1.2.49429|4x|7a6f6d6269657320627574206f78656e +1.3.6.1.4.1.9.9.826.1.20.61.1.2.52624|4|acted +1.3.6.1.4.1.9.9.826.1.20.61.1.3.44312|4x|6b657074204a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.61.1.3.48296|4x|6b657074204a61646564204a61646564206b657074204a6164656420717561696e746c79207a6f6d626965732064726976696e67206f78656e +1.3.6.1.4.1.9.9.826.1.20.61.1.3.49429|4x|627574207468656972206163746564207468656972206f78656e207a6f6d6269657320717561696e746c7920717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.61.1.3.52624|4x|7a6f6d62696573206b65707420666f7277617264206f78656e206163746564207468656972 +1.3.6.1.4.1.9.9.826.1.20.61.1.4.44312|2|2 +1.3.6.1.4.1.9.9.826.1.20.61.1.4.48296|2|1 +1.3.6.1.4.1.9.9.826.1.20.61.1.4.49429|2|1 +1.3.6.1.4.1.9.9.826.1.20.61.1.4.52624|2|1 +1.3.6.1.4.1.9.9.826.1.20.61.1.5.44312|2|2 +1.3.6.1.4.1.9.9.826.1.20.61.1.5.48296|2|2 +1.3.6.1.4.1.9.9.826.1.20.61.1.5.49429|2|1 +1.3.6.1.4.1.9.9.826.1.20.61.1.5.52624|2|2 +1.3.6.1.4.1.9.9.826.1.20.61.1.6.44312|66|1926147094 +1.3.6.1.4.1.9.9.826.1.20.61.1.6.48296|66|553862533 +1.3.6.1.4.1.9.9.826.1.20.61.1.6.49429|66|3432997858 +1.3.6.1.4.1.9.9.826.1.20.61.1.6.52624|66|3918246253 +1.3.6.1.4.1.9.9.826.1.20.61.1.7.44312|66|3272293360 +1.3.6.1.4.1.9.9.826.1.20.61.1.7.48296|66|3577271978 +1.3.6.1.4.1.9.9.826.1.20.61.1.7.49429|66|2790843247 +1.3.6.1.4.1.9.9.826.1.20.61.1.7.52624|66|1257294132 +1.3.6.1.4.1.9.9.826.1.20.61.1.8.44312|66|1197218815 +1.3.6.1.4.1.9.9.826.1.20.61.1.8.48296|66|3294951557 +1.3.6.1.4.1.9.9.826.1.20.61.1.8.49429|66|2657822804 +1.3.6.1.4.1.9.9.826.1.20.61.1.8.52624|66|61411312 +1.3.6.1.4.1.9.9.826.1.20.61.1.9.44312|66|228337667 +1.3.6.1.4.1.9.9.826.1.20.61.1.9.48296|66|1535028944 +1.3.6.1.4.1.9.9.826.1.20.61.1.9.49429|66|2551296078 +1.3.6.1.4.1.9.9.826.1.20.61.1.9.52624|66|1150799279 +1.3.6.1.4.1.9.9.826.1.20.61.1.10.44312|66|525470844 +1.3.6.1.4.1.9.9.826.1.20.61.1.10.48296|66|1020625485 +1.3.6.1.4.1.9.9.826.1.20.61.1.10.49429|66|2356758606 +1.3.6.1.4.1.9.9.826.1.20.61.1.10.52624|66|3576568541 +1.3.6.1.4.1.9.9.826.1.20.61.1.11.44312|4x|6f78656e206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.61.1.11.48296|4x|6275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.61.1.11.49429|4|acted +1.3.6.1.4.1.9.9.826.1.20.61.1.11.52624|4x|7468656972204a61646564 +1.3.6.1.4.1.9.9.826.1.20.61.1.12.44312|4|kept +1.3.6.1.4.1.9.9.826.1.20.61.1.12.48296|4x|7a6f6d626965732064726976696e6720627574206163746564206163746564206b657074206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.61.1.12.49429|4x|7468656972206b657074206163746564207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.61.1.12.52624|4x|666f7277617264204a6164656420717561696e746c792064726976696e67207a6f6d62696573204a61646564206b657074206b657074 +1.3.6.1.4.1.9.9.826.1.20.61.1.13.44312|66|1703085438 +1.3.6.1.4.1.9.9.826.1.20.61.1.13.48296|66|504584730 +1.3.6.1.4.1.9.9.826.1.20.61.1.13.49429|66|2534323178 +1.3.6.1.4.1.9.9.826.1.20.61.1.13.52624|66|1478133900 +1.3.6.1.4.1.9.9.826.1.20.61.1.14.44312|4x|7468656972206f78656e20666f727761726420616374656420666f7277617264207468656972207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.61.1.14.48296|4x|717561696e746c79204a616465642064726976696e67204a61646564204a61646564204a616465642064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.61.1.14.49429|4x|6f78656e20717561696e746c7920616374656420627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.61.1.14.52624|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.61.1.15.44312|4|but +1.3.6.1.4.1.9.9.826.1.20.61.1.15.48296|4x|7a6f6d62696573206163746564204a61646564206b6570742064726976696e67204a61646564206b657074206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.61.1.15.49429|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.61.1.15.52624|4x|616374656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.62.1.1.2503|66|2503 +1.3.6.1.4.1.9.9.826.1.20.62.1.1.6768|66|6768 +1.3.6.1.4.1.9.9.826.1.20.62.1.1.26559|66|26559 +1.3.6.1.4.1.9.9.826.1.20.62.1.1.61401|66|61401 +1.3.6.1.4.1.9.9.826.1.20.62.1.2.2503|4x|6b6570742061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.62.1.2.6768|4x|7468656972204a61646564206b657074206163746564207a6f6d62696573207468656972206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.62.1.2.26559|4x|627574206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.62.1.2.61401|4x|717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.62.1.3.2503|4x|666f727761726420746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.62.1.3.6768|4|zombies +1.3.6.1.4.1.9.9.826.1.20.62.1.3.26559|4x|7468656972206b65707420616374656420717561696e746c792061637465642074686569722064726976696e67206f78656e +1.3.6.1.4.1.9.9.826.1.20.62.1.3.61401|4x|717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.62.1.4.2503|2|1 +1.3.6.1.4.1.9.9.826.1.20.62.1.4.6768|2|1 +1.3.6.1.4.1.9.9.826.1.20.62.1.4.26559|2|2 +1.3.6.1.4.1.9.9.826.1.20.62.1.4.61401|2|1 +1.3.6.1.4.1.9.9.826.1.20.62.1.5.2503|4x|01020304 +1.3.6.1.4.1.9.9.826.1.20.62.1.5.6768|4x|01020304 +1.3.6.1.4.1.9.9.826.1.20.62.1.5.26559|4x|01020304 +1.3.6.1.4.1.9.9.826.1.20.62.1.5.61401|4x|01020304 +1.3.6.1.4.1.9.9.826.1.20.62.1.6.2503|66|2722442997 +1.3.6.1.4.1.9.9.826.1.20.62.1.6.6768|66|266584064 +1.3.6.1.4.1.9.9.826.1.20.62.1.6.26559|66|3898413234 +1.3.6.1.4.1.9.9.826.1.20.62.1.6.61401|66|2119740405 +1.3.6.1.4.1.9.9.826.1.20.62.1.7.2503|2|1 +1.3.6.1.4.1.9.9.826.1.20.62.1.7.6768|2|9 +1.3.6.1.4.1.9.9.826.1.20.62.1.7.26559|2|9 +1.3.6.1.4.1.9.9.826.1.20.62.1.7.61401|2|3 +1.3.6.1.4.1.9.9.826.1.20.62.1.8.2503|2|2 +1.3.6.1.4.1.9.9.826.1.20.62.1.8.6768|2|4 +1.3.6.1.4.1.9.9.826.1.20.62.1.8.26559|2|1 +1.3.6.1.4.1.9.9.826.1.20.62.1.8.61401|2|3 +1.3.6.1.4.1.9.9.826.1.20.62.1.9.2503|70|6268694829737054490 +1.3.6.1.4.1.9.9.826.1.20.62.1.9.6768|70|275825250088145671 +1.3.6.1.4.1.9.9.826.1.20.62.1.9.26559|70|15333774681696297269 +1.3.6.1.4.1.9.9.826.1.20.62.1.9.61401|70|14109137136890657854 +1.3.6.1.4.1.9.9.826.1.20.62.1.10.2503|70|1404888143637738912 +1.3.6.1.4.1.9.9.826.1.20.62.1.10.6768|70|12677069299613522796 +1.3.6.1.4.1.9.9.826.1.20.62.1.10.26559|70|2989194766034765700 +1.3.6.1.4.1.9.9.826.1.20.62.1.10.61401|70|11791012338014980868 +1.3.6.1.4.1.9.9.826.1.20.62.1.11.2503|70|17544851193617805082 +1.3.6.1.4.1.9.9.826.1.20.62.1.11.6768|70|11551284694195748877 +1.3.6.1.4.1.9.9.826.1.20.62.1.11.26559|70|13084049890989784731 +1.3.6.1.4.1.9.9.826.1.20.62.1.11.61401|70|16423106693659557099 +1.3.6.1.4.1.9.9.826.1.20.62.1.12.2503|4x|6b6570742064726976696e6720627574204a6164656420627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.62.1.12.6768|4x|6163746564207a6f6d626965732062757420717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.62.1.12.26559|4x|74686569722064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.62.1.12.61401|4x|6163746564206b657074206163746564207a6f6d62696573207a6f6d62696573204a61646564 +1.3.6.1.4.1.9.9.826.1.20.62.1.13.2503|4x|746865697220616374656420627574207468656972207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.62.1.13.6768|4|acted +1.3.6.1.4.1.9.9.826.1.20.62.1.13.26559|4|oxen +1.3.6.1.4.1.9.9.826.1.20.62.1.13.61401|4x|746865697220746865697220717561696e746c7920666f7277617264207a6f6d62696573206b657074 +1.3.6.1.4.1.9.9.826.1.20.62.1.14.2503|4x|6b6570742064726976696e6720746865697220717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.62.1.14.6768|4x|616374656420746865697220627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.62.1.14.26559|4x|6163746564206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.62.1.14.61401|4x|717561696e746c792064726976696e67206163746564206b657074207468656972204a6164656420666f7277617264204a61646564207468656972 +1.3.6.1.4.1.9.9.826.1.20.62.1.15.2503|66|537034876 +1.3.6.1.4.1.9.9.826.1.20.62.1.15.6768|66|1125555081 +1.3.6.1.4.1.9.9.826.1.20.62.1.15.26559|66|2983226290 +1.3.6.1.4.1.9.9.826.1.20.62.1.15.61401|66|1091462875 +1.3.6.1.4.1.9.9.826.1.20.62.1.16.2503|66|4144351103 +1.3.6.1.4.1.9.9.826.1.20.62.1.16.6768|66|2403298718 +1.3.6.1.4.1.9.9.826.1.20.62.1.16.26559|66|4049368694 +1.3.6.1.4.1.9.9.826.1.20.62.1.16.61401|66|1066093208 +1.3.6.1.4.1.9.9.826.1.20.62.1.17.2503|4x|6b65707420666f7277617264207a6f6d6269657320627574206f78656e20666f7277617264204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.62.1.17.6768|4x|61637465642064726976696e6720666f7277617264207a6f6d62696573206b657074 +1.3.6.1.4.1.9.9.826.1.20.62.1.17.26559|4x|666f727761726420627574 +1.3.6.1.4.1.9.9.826.1.20.62.1.17.61401|4x|6b657074207468656972207a6f6d62696573204a61646564 +1.3.6.1.4.1.9.9.826.1.20.62.1.18.2503|4x|6b657074206163746564204a61646564207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.62.1.18.6768|4x|64726976696e67206f78656e20666f7277617264207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.62.1.18.26559|4x|717561696e746c792074686569722064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.62.1.18.61401|4x|7468656972207468656972206b657074206f78656e2064726976696e672064726976696e67206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.62.1.19.2503|4x|64726976696e672064726976696e672064726976696e67207a6f6d62696573206b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.62.1.19.6768|4x|666f727761726420717561696e746c792064726976696e6720666f7277617264207468656972206b65707420627574207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.62.1.19.26559|4x|74686569722064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.62.1.19.61401|4x|6f78656e207a6f6d62696573206f78656e20717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.62.1.20.2503|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.62.1.20.6768|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.62.1.20.26559|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.62.1.20.61401|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.62.1.21.2503|4x|616374656420746865697220746865697220627574204a61646564206b65707420717561696e746c79206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.62.1.21.6768|4x|4a61646564207a6f6d62696573206f78656e207a6f6d6269657320666f7277617264207a6f6d6269657320666f727761726420666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.62.1.21.26559|4x|717561696e746c79206b657074207a6f6d6269657320717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.62.1.21.61401|4x|717561696e746c7920616374656420746865697220666f7277617264206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.62.1.22.2503|66|2076263443 +1.3.6.1.4.1.9.9.826.1.20.62.1.22.6768|66|1749379646 +1.3.6.1.4.1.9.9.826.1.20.62.1.22.26559|66|2097372339 +1.3.6.1.4.1.9.9.826.1.20.62.1.22.61401|66|1482071536 +1.3.6.1.4.1.9.9.826.1.20.62.1.23.2503|66|1 +1.3.6.1.4.1.9.9.826.1.20.62.1.23.6768|66|1 +1.3.6.1.4.1.9.9.826.1.20.62.1.23.26559|66|1 +1.3.6.1.4.1.9.9.826.1.20.62.1.23.61401|66|1 +1.3.6.1.4.1.9.9.826.1.20.62.1.24.2503|4x|666f7277617264206f78656e204a61646564206163746564207468656972206f78656e2064726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.62.1.24.6768|4x|4a6164656420666f7277617264207a6f6d6269657320717561696e746c79206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.62.1.24.26559|4x|7468656972206f78656e20746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.62.1.24.61401|4x|74686569722064726976696e67207a6f6d6269657320717561696e746c79207468656972207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.62.1.25.2503|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.62.1.25.6768|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.62.1.25.26559|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.62.1.25.61401|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.62.1.26.2503|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.62.1.26.6768|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.62.1.26.26559|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.62.1.26.61401|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.62.1.27.2503|4x|7468656972206163746564204a61646564206163746564206163746564206275742062757420666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.62.1.27.6768|4x|6b6570742064726976696e67206163746564206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.62.1.27.26559|4x|6b65707420717561696e746c79206163746564204a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.62.1.27.61401|4x|6b65707420616374656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.62.1.28.2503|4x|746865697220627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.62.1.28.6768|4x|64726976696e6720666f72776172642062757420616374656420746865697220717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.62.1.28.26559|4x|64726976696e67204a6164656420666f7277617264204a61646564206b657074207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.62.1.28.61401|4x|666f7277617264207468656972207a6f6d62696573206b657074206163746564204a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.62.1.29.2503|4x|7a6f6d62696573206b657074206163746564 +1.3.6.1.4.1.9.9.826.1.20.62.1.29.6768|4x|666f7277617264206b657074206b657074204a616465642061637465642064726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.62.1.29.26559|4x|666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.62.1.29.61401|4|kept +1.3.6.1.4.1.9.9.826.1.20.62.1.30.2503|2|10 +1.3.6.1.4.1.9.9.826.1.20.62.1.30.6768|2|4 +1.3.6.1.4.1.9.9.826.1.20.62.1.30.26559|2|6 +1.3.6.1.4.1.9.9.826.1.20.62.1.30.61401|2|0 +1.3.6.1.4.1.9.9.826.1.20.62.1.31.2503|2|11 +1.3.6.1.4.1.9.9.826.1.20.62.1.31.6768|2|9 +1.3.6.1.4.1.9.9.826.1.20.62.1.31.26559|2|7 +1.3.6.1.4.1.9.9.826.1.20.62.1.31.61401|2|9 +1.3.6.1.4.1.9.9.826.1.20.62.1.32.2503|4x|717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.62.1.32.6768|4x|7a6f6d626965732061637465642064726976696e6720616374656420666f727761726420666f727761726420627574 +1.3.6.1.4.1.9.9.826.1.20.62.1.32.26559|4x|7a6f6d62696573204a6164656420666f7277617264206f78656e204a61646564204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.62.1.32.61401|4x|7468656972206b65707420627574206163746564207a6f6d62696573206b657074206f78656e20627574 +1.3.6.1.4.1.9.9.826.1.20.62.1.33.2503|2|1 +1.3.6.1.4.1.9.9.826.1.20.62.1.33.6768|2|2 +1.3.6.1.4.1.9.9.826.1.20.62.1.33.26559|2|1 +1.3.6.1.4.1.9.9.826.1.20.62.1.33.61401|2|1 +1.3.6.1.4.1.9.9.826.1.20.62.1.34.2503|4x|666f7277617264204a61646564206f78656e206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.62.1.34.6768|4x|717561696e746c79206b657074206f78656e207a6f6d6269657320666f727761726420616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.62.1.34.26559|4x|64726976696e67204a6164656420616374656420746865697220717561696e746c79207468656972206f78656e20627574 +1.3.6.1.4.1.9.9.826.1.20.62.1.34.61401|4x|627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.62.1.35.2503|2|2 +1.3.6.1.4.1.9.9.826.1.20.62.1.35.6768|2|2 +1.3.6.1.4.1.9.9.826.1.20.62.1.35.26559|2|2 +1.3.6.1.4.1.9.9.826.1.20.62.1.35.61401|2|1 +1.3.6.1.4.1.9.9.826.1.20.62.1.36.2503|2|5 +1.3.6.1.4.1.9.9.826.1.20.62.1.36.6768|2|10 +1.3.6.1.4.1.9.9.826.1.20.62.1.36.26559|2|4 +1.3.6.1.4.1.9.9.826.1.20.62.1.36.61401|2|7 +1.3.6.1.4.1.9.9.826.1.20.62.1.37.2503|2|15 +1.3.6.1.4.1.9.9.826.1.20.62.1.37.6768|2|14 +1.3.6.1.4.1.9.9.826.1.20.62.1.37.26559|2|1 +1.3.6.1.4.1.9.9.826.1.20.62.1.37.61401|2|15 +1.3.6.1.4.1.9.9.826.1.20.62.1.38.2503|2|7 +1.3.6.1.4.1.9.9.826.1.20.62.1.38.6768|2|1 +1.3.6.1.4.1.9.9.826.1.20.62.1.38.26559|2|0 +1.3.6.1.4.1.9.9.826.1.20.62.1.38.61401|2|6 +1.3.6.1.4.1.9.9.826.1.20.62.1.39.2503|4x|6b65707420746865697220627574207a6f6d62696573207468656972206163746564206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.62.1.39.6768|4x|7a6f6d626965732064726976696e6720717561696e746c7920717561696e746c79206f78656e20717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.62.1.39.26559|4x|6163746564206f78656e2061637465642064726976696e67204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.62.1.39.61401|4x|666f7277617264206f78656e204a61646564206163746564204a61646564206f78656e20666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.62.1.40.2503|4x|6b657074206b65707420717561696e746c7920717561696e746c79207468656972206b6570742064726976696e67206f78656e207468656972 +1.3.6.1.4.1.9.9.826.1.20.62.1.40.6768|4x|64726976696e67206b657074207468656972206163746564206b6570742062757420666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.62.1.40.26559|4x|666f72776172642062757420717561696e746c79206f78656e204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.62.1.40.61401|4x|6163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.62.1.41.2503|2|0 +1.3.6.1.4.1.9.9.826.1.20.62.1.41.6768|2|0 +1.3.6.1.4.1.9.9.826.1.20.62.1.41.26559|2|0 +1.3.6.1.4.1.9.9.826.1.20.62.1.41.61401|2|1 +1.3.6.1.4.1.9.9.826.1.20.62.1.42.2503|2|0 +1.3.6.1.4.1.9.9.826.1.20.62.1.42.6768|2|0 +1.3.6.1.4.1.9.9.826.1.20.62.1.42.26559|2|1 +1.3.6.1.4.1.9.9.826.1.20.62.1.42.61401|2|2 +1.3.6.1.4.1.9.9.826.1.20.62.1.43.2503|2|2 +1.3.6.1.4.1.9.9.826.1.20.62.1.43.6768|2|0 +1.3.6.1.4.1.9.9.826.1.20.62.1.43.26559|2|1 +1.3.6.1.4.1.9.9.826.1.20.62.1.43.61401|2|6 +1.3.6.1.4.1.9.9.826.1.20.62.1.44.2503|4x|64726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.62.1.44.6768|4x|7a6f6d626965732064726976696e67207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.62.1.44.26559|4|kept +1.3.6.1.4.1.9.9.826.1.20.62.1.44.61401|4x|6163746564206f78656e2064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.62.1.45.2503|4x|666f727761726420717561696e746c792064726976696e67206f78656e20666f727761726420666f7277617264204a61646564206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.62.1.45.6768|4x|74686569722064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.62.1.45.26559|4x|4a616465642061637465642064726976696e6720717561696e746c79207a6f6d6269657320717561696e746c7920616374656420627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.62.1.45.61401|4x|717561696e746c79206f78656e206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.62.1.46.2503|4x|717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.62.1.46.6768|4x|746865697220717561696e746c7920717561696e746c79204a61646564206f78656e20666f7277617264204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.62.1.46.26559|4x|6f78656e207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.62.1.46.61401|4x|717561696e746c79206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.62.1.47.2503|4x|64726976696e6720746865697220666f7277617264206b657074206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.62.1.47.6768|4x|7468656972207a6f6d6269657320666f7277617264207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.62.1.47.26559|4x|62757420627574204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.62.1.47.61401|4x|717561696e746c7920666f72776172642064726976696e67206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.62.1.48.2503|2|7 +1.3.6.1.4.1.9.9.826.1.20.62.1.48.6768|2|0 +1.3.6.1.4.1.9.9.826.1.20.62.1.48.26559|2|1 +1.3.6.1.4.1.9.9.826.1.20.62.1.48.61401|2|7 +1.3.6.1.4.1.9.9.826.1.20.63.1.1.415|66|415 +1.3.6.1.4.1.9.9.826.1.20.63.1.1.18802|66|18802 +1.3.6.1.4.1.9.9.826.1.20.63.1.1.61740|66|61740 +1.3.6.1.4.1.9.9.826.1.20.63.1.1.64479|66|64479 +1.3.6.1.4.1.9.9.826.1.20.63.1.2.415|4x|4a6164656420616374656420717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.63.1.2.18802|4x|62757420746865697220717561696e746c79207a6f6d6269657320666f727761726420627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.63.1.2.61740|4x|627574204a61646564204a61646564206b65707420666f7277617264204a61646564204a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.63.1.2.64479|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.63.1.3.415|4x|666f727761726420717561696e746c79206b657074206163746564204a616465642062757420666f727761726420627574 +1.3.6.1.4.1.9.9.826.1.20.63.1.3.18802|4x|74686569722064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.63.1.3.61740|4|but +1.3.6.1.4.1.9.9.826.1.20.63.1.3.64479|4x|666f727761726420746865697220717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.63.1.4.415|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.63.1.4.18802|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.63.1.4.61740|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.63.1.4.64479|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.63.1.5.415|2|0 +1.3.6.1.4.1.9.9.826.1.20.63.1.5.18802|2|0 +1.3.6.1.4.1.9.9.826.1.20.63.1.5.61740|2|0 +1.3.6.1.4.1.9.9.826.1.20.63.1.5.64479|2|0 +1.3.6.1.4.1.9.9.826.1.20.63.1.6.415|4x|7468656972206275742062757420717561696e746c79207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.63.1.6.18802|4x|616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.63.1.6.61740|4x|6b657074206f78656e2062757420746865697220627574 +1.3.6.1.4.1.9.9.826.1.20.63.1.6.64479|4x|4a6164656420666f7277617264206f78656e207a6f6d62696573204a6164656420666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.63.1.7.415|2|2 +1.3.6.1.4.1.9.9.826.1.20.63.1.7.18802|2|4 +1.3.6.1.4.1.9.9.826.1.20.63.1.7.61740|2|5 +1.3.6.1.4.1.9.9.826.1.20.63.1.7.64479|2|5 +1.3.6.1.4.1.9.9.826.1.20.63.1.8.415|66|3610724434 +1.3.6.1.4.1.9.9.826.1.20.63.1.8.18802|66|3851429761 +1.3.6.1.4.1.9.9.826.1.20.63.1.8.61740|66|1086128271 +1.3.6.1.4.1.9.9.826.1.20.63.1.8.64479|66|2587941993 +1.3.6.1.4.1.9.9.826.1.20.63.1.9.415|66|2309168246 +1.3.6.1.4.1.9.9.826.1.20.63.1.9.18802|66|1206569911 +1.3.6.1.4.1.9.9.826.1.20.63.1.9.61740|66|2877118992 +1.3.6.1.4.1.9.9.826.1.20.63.1.9.64479|66|1523267244 +1.3.6.1.4.1.9.9.826.1.20.63.1.10.415|4x|62757420627574204a61646564207a6f6d62696573206f78656e20717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.63.1.10.18802|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.63.1.10.61740|4x|746865697220627574206f78656e206b657074207468656972206163746564207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.20.63.1.10.64479|4x|6163746564204a616465642064726976696e6720717561696e746c792064726976696e6720666f7277617264206f78656e +1.3.6.1.4.1.9.9.826.1.20.63.1.11.415|4x|7a6f6d62696573206f78656e206275742064726976696e67206f78656e +1.3.6.1.4.1.9.9.826.1.20.63.1.11.18802|4x|717561696e746c79207a6f6d62696573204a6164656420746865697220666f727761726420627574207468656972206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.63.1.11.61740|4x|74686569722064726976696e67207a6f6d6269657320717561696e746c79206b65707420616374656420627574207a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.63.1.11.64479|4x|4a616465642064726976696e6720666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.64.1.1.20649|66|20649 +1.3.6.1.4.1.9.9.826.1.20.64.1.1.38518|66|38518 +1.3.6.1.4.1.9.9.826.1.20.64.1.1.43959|66|43959 +1.3.6.1.4.1.9.9.826.1.20.64.1.1.60018|66|60018 +1.3.6.1.4.1.9.9.826.1.20.64.1.2.20649|4x|7468656972207a6f6d62696573207a6f6d6269657320666f727761726420717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.64.1.2.38518|4|their +1.3.6.1.4.1.9.9.826.1.20.64.1.2.43959|4x|7a6f6d626965732062757420627574206b65707420717561696e746c7920717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.64.1.2.60018|4|kept +1.3.6.1.4.1.9.9.826.1.20.64.1.3.20649|4x|6f78656e20666f727761726420616374656420746865697220666f7277617264204a61646564207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.64.1.3.38518|4x|666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.64.1.3.43959|4x|717561696e746c79206163746564206f78656e20666f7277617264206b65707420627574206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.64.1.3.60018|4x|64726976696e67207a6f6d62696573206b65707420666f727761726420666f7277617264206f78656e207468656972207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.64.1.4.20649|4x|627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.64.1.4.38518|4x|666f7277617264206f78656e +1.3.6.1.4.1.9.9.826.1.20.64.1.4.43959|4x|6b657074204a6164656420746865697220717561696e746c7920746865697220627574 +1.3.6.1.4.1.9.9.826.1.20.64.1.4.60018|4x|666f72776172642064726976696e6720746865697220666f7277617264206275742064726976696e67206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.64.1.5.20649|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.64.1.5.38518|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.64.1.5.43959|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.64.1.5.60018|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.64.1.6.20649|2|0 +1.3.6.1.4.1.9.9.826.1.20.64.1.6.38518|2|0 +1.3.6.1.4.1.9.9.826.1.20.64.1.6.43959|2|0 +1.3.6.1.4.1.9.9.826.1.20.64.1.6.60018|2|0 +1.3.6.1.4.1.9.9.826.1.20.64.1.7.20649|66|1087048115 +1.3.6.1.4.1.9.9.826.1.20.64.1.7.38518|66|791966281 +1.3.6.1.4.1.9.9.826.1.20.64.1.7.43959|66|1567579042 +1.3.6.1.4.1.9.9.826.1.20.64.1.7.60018|66|4210609279 +1.3.6.1.4.1.9.9.826.1.20.64.1.8.20649|66|2884232517 +1.3.6.1.4.1.9.9.826.1.20.64.1.8.38518|66|174205150 +1.3.6.1.4.1.9.9.826.1.20.64.1.8.43959|66|1260156422 +1.3.6.1.4.1.9.9.826.1.20.64.1.8.60018|66|2495718616 +1.3.6.1.4.1.9.9.826.1.20.64.1.9.20649|2|1 +1.3.6.1.4.1.9.9.826.1.20.64.1.9.38518|2|0 +1.3.6.1.4.1.9.9.826.1.20.64.1.9.43959|2|2 +1.3.6.1.4.1.9.9.826.1.20.64.1.9.60018|2|2 +1.3.6.1.4.1.9.9.826.1.20.65.1.1.10127|66|10127 +1.3.6.1.4.1.9.9.826.1.20.65.1.1.22457|66|22457 +1.3.6.1.4.1.9.9.826.1.20.65.1.1.23386|66|23386 +1.3.6.1.4.1.9.9.826.1.20.65.1.1.54698|66|54698 +1.3.6.1.4.1.9.9.826.1.20.65.1.2.10127|4x|717561696e746c79204a6164656420666f7277617264206f78656e2062757420666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.65.1.2.22457|4x|6b657074204a616465642064726976696e6720746865697220746865697220717561696e746c7920666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.65.1.2.23386|4x|62757420666f7277617264207468656972207a6f6d62696573206b657074 +1.3.6.1.4.1.9.9.826.1.20.65.1.2.54698|4x|717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.65.1.3.10127|4x|64726976696e672074686569722064726976696e67207a6f6d626965732064726976696e6720627574207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.65.1.3.22457|4x|7468656972206f78656e204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.65.1.3.23386|4x|6f78656e20666f727761726420616374656420717561696e746c79206f78656e20717561696e746c79206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.65.1.3.54698|4x|666f72776172642064726976696e672061637465642064726976696e6720666f7277617264204a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.65.1.4.10127|2|0 +1.3.6.1.4.1.9.9.826.1.20.65.1.4.22457|2|3 +1.3.6.1.4.1.9.9.826.1.20.65.1.4.23386|2|0 +1.3.6.1.4.1.9.9.826.1.20.65.1.4.54698|2|2 +1.3.6.1.4.1.9.9.826.1.20.65.1.5.10127|4x|64726976696e67204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.65.1.5.22457|4x|64726976696e67207468656972206f78656e206f78656e206275742064726976696e67206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.65.1.5.23386|4x|746865697220616374656420666f7277617264206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.65.1.5.54698|4x|6b65707420666f72776172642061637465642064726976696e6720746865697220746865697220616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.65.1.6.10127|2|0 +1.3.6.1.4.1.9.9.826.1.20.65.1.6.22457|2|0 +1.3.6.1.4.1.9.9.826.1.20.65.1.6.23386|2|0 +1.3.6.1.4.1.9.9.826.1.20.65.1.6.54698|2|0 +1.3.6.1.4.1.9.9.826.1.20.65.1.7.10127|66|1311407770 +1.3.6.1.4.1.9.9.826.1.20.65.1.7.22457|66|2204934219 +1.3.6.1.4.1.9.9.826.1.20.65.1.7.23386|66|3607129273 +1.3.6.1.4.1.9.9.826.1.20.65.1.7.54698|66|3214879678 +1.3.6.1.4.1.9.9.826.1.20.66.1.1.6260|66|6260 +1.3.6.1.4.1.9.9.826.1.20.66.1.1.31520|66|31520 +1.3.6.1.4.1.9.9.826.1.20.66.1.1.52019|66|52019 +1.3.6.1.4.1.9.9.826.1.20.66.1.1.54927|66|54927 +1.3.6.1.4.1.9.9.826.1.20.66.1.2.6260|4x|64726976696e672061637465642061637465642064726976696e6720666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.66.1.2.31520|4x|6f78656e20717561696e746c792064726976696e67206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.66.1.2.52019|4x|6163746564206163746564206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.66.1.2.54927|4x|6163746564206163746564206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.66.1.3.6260|4x|616374656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.66.1.3.31520|4x|4a61646564207a6f6d62696573206f78656e20666f7277617264207468656972206b657074204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.66.1.3.52019|4x|64726976696e6720717561696e746c79204a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.66.1.3.54927|4x|6f78656e20627574207a6f6d62696573206f78656e20717561696e746c792064726976696e67206f78656e207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.66.1.4.6260|2|2 +1.3.6.1.4.1.9.9.826.1.20.66.1.4.31520|2|1 +1.3.6.1.4.1.9.9.826.1.20.66.1.4.52019|2|2 +1.3.6.1.4.1.9.9.826.1.20.66.1.4.54927|2|2 +1.3.6.1.4.1.9.9.826.1.20.66.1.5.6260|2|1 +1.3.6.1.4.1.9.9.826.1.20.66.1.5.31520|2|1 +1.3.6.1.4.1.9.9.826.1.20.66.1.5.52019|2|2 +1.3.6.1.4.1.9.9.826.1.20.66.1.5.54927|2|1 +1.3.6.1.4.1.9.9.826.1.20.66.1.6.6260|66|4127840524 +1.3.6.1.4.1.9.9.826.1.20.66.1.6.31520|66|4212451465 +1.3.6.1.4.1.9.9.826.1.20.66.1.6.52019|66|1996877475 +1.3.6.1.4.1.9.9.826.1.20.66.1.6.54927|66|1015949391 +1.3.6.1.4.1.9.9.826.1.20.66.1.7.6260|66|2902601520 +1.3.6.1.4.1.9.9.826.1.20.66.1.7.31520|66|3743279845 +1.3.6.1.4.1.9.9.826.1.20.66.1.7.52019|66|530766870 +1.3.6.1.4.1.9.9.826.1.20.66.1.7.54927|66|1905844570 +1.3.6.1.4.1.9.9.826.1.20.66.1.8.6260|66|2066884073 +1.3.6.1.4.1.9.9.826.1.20.66.1.8.31520|66|2331275981 +1.3.6.1.4.1.9.9.826.1.20.66.1.8.52019|66|717884476 +1.3.6.1.4.1.9.9.826.1.20.66.1.8.54927|66|3592054654 +1.3.6.1.4.1.9.9.826.1.20.66.1.9.6260|66|12143728 +1.3.6.1.4.1.9.9.826.1.20.66.1.9.31520|66|4201129281 +1.3.6.1.4.1.9.9.826.1.20.66.1.9.52019|66|869758393 +1.3.6.1.4.1.9.9.826.1.20.66.1.9.54927|66|3024206801 +1.3.6.1.4.1.9.9.826.1.20.66.1.10.6260|66|3383616929 +1.3.6.1.4.1.9.9.826.1.20.66.1.10.31520|66|2770172891 +1.3.6.1.4.1.9.9.826.1.20.66.1.10.52019|66|110134245 +1.3.6.1.4.1.9.9.826.1.20.66.1.10.54927|66|3394480552 +1.3.6.1.4.1.9.9.826.1.20.66.1.11.6260|4x|61637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.66.1.11.31520|4|forward +1.3.6.1.4.1.9.9.826.1.20.66.1.11.52019|4x|64726976696e6720666f7277617264206b657074207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.66.1.11.54927|4x|64726976696e672064726976696e67206b6570742074686569722061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.66.1.12.6260|4x|7a6f6d62696573207468656972207a6f6d62696573206f78656e207468656972207a6f6d62696573207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.66.1.12.31520|4x|666f72776172642062757420666f727761726420627574206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.66.1.12.52019|4x|6b65707420666f7277617264206163746564206f78656e20627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.66.1.12.54927|4x|64726976696e67206b65707420666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.66.1.13.6260|66|1288057553 +1.3.6.1.4.1.9.9.826.1.20.66.1.13.31520|66|2131690762 +1.3.6.1.4.1.9.9.826.1.20.66.1.13.52019|66|1244196652 +1.3.6.1.4.1.9.9.826.1.20.66.1.13.54927|66|3142123981 +1.3.6.1.4.1.9.9.826.1.20.66.1.14.6260|4x|64726976696e6720717561696e746c792062757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.66.1.14.31520|4x|717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.66.1.14.52019|4x|7468656972206b6570742061637465642062757420666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.66.1.14.54927|4x|7a6f6d6269657320666f7277617264206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.66.1.15.6260|4x|7a6f6d62696573206b657074206275742064726976696e67207468656972207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.66.1.15.31520|4x|62757420717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.66.1.15.52019|4x|6f78656e20666f7277617264207468656972206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.66.1.15.54927|4x|64726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.67.1.1.6116|66|6116 +1.3.6.1.4.1.9.9.826.1.20.67.1.1.39183|66|39183 +1.3.6.1.4.1.9.9.826.1.20.67.1.1.56441|66|56441 +1.3.6.1.4.1.9.9.826.1.20.67.1.1.60541|66|60541 +1.3.6.1.4.1.9.9.826.1.20.67.1.2.6116|4x|4a61646564207468656972206f78656e207468656972206f78656e20627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.67.1.2.39183|4x|6f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.67.1.2.56441|4x|627574204a61646564207468656972204a61646564206b65707420666f7277617264206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.67.1.2.60541|4x|717561696e746c7920666f727761726420717561696e746c79207a6f6d6269657320666f7277617264206f78656e20717561696e746c79206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.67.1.3.6116|4x|6b65707420746865697220717561696e746c79204a61646564206f78656e206f78656e207a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.67.1.3.39183|4x|6b657074206b65707420616374656420717561696e746c792064726976696e67206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.67.1.3.56441|4x|4a61646564206163746564206f78656e206275742064726976696e67206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.67.1.3.60541|4x|6f78656e206f78656e206163746564207468656972206b657074206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.67.1.4.6116|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.67.1.4.39183|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.67.1.4.56441|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.67.1.4.60541|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.67.1.5.6116|2|0 +1.3.6.1.4.1.9.9.826.1.20.67.1.5.39183|2|0 +1.3.6.1.4.1.9.9.826.1.20.67.1.5.56441|2|0 +1.3.6.1.4.1.9.9.826.1.20.67.1.5.60541|2|0 +1.3.6.1.4.1.9.9.826.1.20.67.1.6.6116|4|driving +1.3.6.1.4.1.9.9.826.1.20.67.1.6.39183|4|but +1.3.6.1.4.1.9.9.826.1.20.67.1.6.56441|4x|4a6164656420627574206b6570742062757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.67.1.6.60541|4x|6f78656e2064726976696e672064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.67.1.7.6116|2|5 +1.3.6.1.4.1.9.9.826.1.20.67.1.7.39183|2|4 +1.3.6.1.4.1.9.9.826.1.20.67.1.7.56441|2|1 +1.3.6.1.4.1.9.9.826.1.20.67.1.7.60541|2|1 +1.3.6.1.4.1.9.9.826.1.20.67.1.8.6116|66|1880958564 +1.3.6.1.4.1.9.9.826.1.20.67.1.8.39183|66|3623091079 +1.3.6.1.4.1.9.9.826.1.20.67.1.8.56441|66|871825674 +1.3.6.1.4.1.9.9.826.1.20.67.1.8.60541|66|3156479462 +1.3.6.1.4.1.9.9.826.1.20.67.1.9.6116|66|1237089821 +1.3.6.1.4.1.9.9.826.1.20.67.1.9.39183|66|1817016677 +1.3.6.1.4.1.9.9.826.1.20.67.1.9.56441|66|1867847406 +1.3.6.1.4.1.9.9.826.1.20.67.1.9.60541|66|2631388828 +1.3.6.1.4.1.9.9.826.1.20.67.1.10.6116|4x|64726976696e67207a6f6d6269657320717561696e746c7920616374656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.67.1.10.39183|4|but +1.3.6.1.4.1.9.9.826.1.20.67.1.10.56441|4|forward +1.3.6.1.4.1.9.9.826.1.20.67.1.10.60541|4x|616374656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.67.1.11.6116|4x|6163746564207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.67.1.11.39183|4|acted +1.3.6.1.4.1.9.9.826.1.20.67.1.11.56441|4x|7a6f6d62696573204a61646564 +1.3.6.1.4.1.9.9.826.1.20.67.1.11.60541|4x|6f78656e20717561696e746c7920717561696e746c792061637465642062757420717561696e746c792064726976696e672064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.68.1.1.11271|66|11271 +1.3.6.1.4.1.9.9.826.1.20.68.1.1.46698|66|46698 +1.3.6.1.4.1.9.9.826.1.20.68.1.1.49295|66|49295 +1.3.6.1.4.1.9.9.826.1.20.68.1.1.49384|66|49384 +1.3.6.1.4.1.9.9.826.1.20.68.1.2.11271|4x|666f7277617264206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.68.1.2.46698|4x|7a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.68.1.2.49295|4x|746865697220746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.68.1.2.49384|4x|61637465642062757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.68.1.3.11271|4|their +1.3.6.1.4.1.9.9.826.1.20.68.1.3.46698|4x|627574206163746564207a6f6d62696573206f78656e206b65707420717561696e746c79204a61646564206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.68.1.3.49295|4x|62757420627574206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.68.1.3.49384|4x|6f78656e2064726976696e67206f78656e2074686569722064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.68.1.4.11271|4x|616374656420746865697220717561696e746c79206b65707420666f727761726420616374656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.68.1.4.46698|4|their +1.3.6.1.4.1.9.9.826.1.20.68.1.4.49295|4x|7a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.68.1.4.49384|4x|64726976696e67207a6f6d62696573204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.68.1.5.11271|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.68.1.5.46698|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.68.1.5.49295|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.68.1.5.49384|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.68.1.6.11271|2|0 +1.3.6.1.4.1.9.9.826.1.20.68.1.6.46698|2|0 +1.3.6.1.4.1.9.9.826.1.20.68.1.6.49295|2|0 +1.3.6.1.4.1.9.9.826.1.20.68.1.6.49384|2|0 +1.3.6.1.4.1.9.9.826.1.20.68.1.7.11271|66|2847770529 +1.3.6.1.4.1.9.9.826.1.20.68.1.7.46698|66|2621487360 +1.3.6.1.4.1.9.9.826.1.20.68.1.7.49295|66|555279008 +1.3.6.1.4.1.9.9.826.1.20.68.1.7.49384|66|1188561847 +1.3.6.1.4.1.9.9.826.1.20.68.1.8.11271|66|2697203820 +1.3.6.1.4.1.9.9.826.1.20.68.1.8.46698|66|2104423295 +1.3.6.1.4.1.9.9.826.1.20.68.1.8.49295|66|2326279985 +1.3.6.1.4.1.9.9.826.1.20.68.1.8.49384|66|3378105166 +1.3.6.1.4.1.9.9.826.1.20.68.1.9.11271|2|4 +1.3.6.1.4.1.9.9.826.1.20.68.1.9.46698|2|3 +1.3.6.1.4.1.9.9.826.1.20.68.1.9.49295|2|3 +1.3.6.1.4.1.9.9.826.1.20.68.1.9.49384|2|5 +1.3.6.1.4.1.9.9.826.1.20.69.1.1.10798|66|10798 +1.3.6.1.4.1.9.9.826.1.20.69.1.1.12760|66|12760 +1.3.6.1.4.1.9.9.826.1.20.69.1.1.37607|66|37607 +1.3.6.1.4.1.9.9.826.1.20.69.1.1.50453|66|50453 +1.3.6.1.4.1.9.9.826.1.20.69.1.2.10798|4x|746865697220627574206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.69.1.2.12760|4x|717561696e746c7920616374656420616374656420717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.69.1.2.37607|4x|6f78656e206163746564206f78656e206f78656e206163746564207a6f6d6269657320717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.69.1.2.50453|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.69.1.3.10798|4x|6b65707420627574204a6164656420717561696e746c792064726976696e67207468656972206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.69.1.3.12760|4x|62757420717561696e746c792064726976696e67206163746564207a6f6d62696573207a6f6d62696573207a6f6d6269657320627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.69.1.3.37607|4x|666f727761726420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.69.1.3.50453|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.69.1.4.10798|2|2 +1.3.6.1.4.1.9.9.826.1.20.69.1.4.12760|2|2 +1.3.6.1.4.1.9.9.826.1.20.69.1.4.37607|2|2 +1.3.6.1.4.1.9.9.826.1.20.69.1.4.50453|2|2 +1.3.6.1.4.1.9.9.826.1.20.69.1.5.10798|4x|6b65707420616374656420616374656420666f7277617264204a6164656420666f7277617264204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.69.1.5.12760|4x|7a6f6d62696573206163746564207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.69.1.5.37607|4|kept +1.3.6.1.4.1.9.9.826.1.20.69.1.5.50453|4x|616374656420627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.69.1.6.10798|2|0 +1.3.6.1.4.1.9.9.826.1.20.69.1.6.12760|2|0 +1.3.6.1.4.1.9.9.826.1.20.69.1.6.37607|2|0 +1.3.6.1.4.1.9.9.826.1.20.69.1.6.50453|2|0 +1.3.6.1.4.1.9.9.826.1.20.69.1.7.10798|66|330628480 +1.3.6.1.4.1.9.9.826.1.20.69.1.7.12760|66|1629086864 +1.3.6.1.4.1.9.9.826.1.20.69.1.7.37607|66|4152379236 +1.3.6.1.4.1.9.9.826.1.20.69.1.7.50453|66|3653223993 +1.3.6.1.4.1.9.9.826.1.20.70.1.1.1097|66|1097 +1.3.6.1.4.1.9.9.826.1.20.70.1.1.5789|66|5789 +1.3.6.1.4.1.9.9.826.1.20.70.1.1.42176|66|42176 +1.3.6.1.4.1.9.9.826.1.20.70.1.1.47375|66|47375 +1.3.6.1.4.1.9.9.826.1.20.70.1.2.1097|4x|64726976696e67204a6164656420666f727761726420746865697220666f727761726420666f7277617264204a61646564206b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.70.1.2.5789|4x|6b6570742064726976696e6720746865697220627574206b657074204a61646564207a6f6d6269657320627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.70.1.2.42176|4x|4a61646564206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.70.1.2.47375|4x|6b6570742064726976696e6720666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.70.1.3.1097|4x|6163746564204a6164656420666f7277617264204a61646564206b65707420746865697220616374656420746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.70.1.3.5789|4x|7a6f6d626965732064726976696e67204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.70.1.3.42176|4x|6b657074204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.70.1.3.47375|4|forward +1.3.6.1.4.1.9.9.826.1.20.70.1.4.1097|2|5 +1.3.6.1.4.1.9.9.826.1.20.70.1.4.5789|2|3 +1.3.6.1.4.1.9.9.826.1.20.70.1.4.42176|2|14 +1.3.6.1.4.1.9.9.826.1.20.70.1.4.47375|2|20 +1.3.6.1.4.1.9.9.826.1.20.70.1.5.1097|2|18 +1.3.6.1.4.1.9.9.826.1.20.70.1.5.5789|2|26 +1.3.6.1.4.1.9.9.826.1.20.70.1.5.42176|2|3 +1.3.6.1.4.1.9.9.826.1.20.70.1.5.47375|2|11 +1.3.6.1.4.1.9.9.826.1.20.70.1.6.1097|2|28 +1.3.6.1.4.1.9.9.826.1.20.70.1.6.5789|2|16 +1.3.6.1.4.1.9.9.826.1.20.70.1.6.42176|2|28 +1.3.6.1.4.1.9.9.826.1.20.70.1.6.47375|2|22 +1.3.6.1.4.1.9.9.826.1.20.70.1.7.1097|2|31 +1.3.6.1.4.1.9.9.826.1.20.70.1.7.5789|2|20 +1.3.6.1.4.1.9.9.826.1.20.70.1.7.42176|2|24 +1.3.6.1.4.1.9.9.826.1.20.70.1.7.47375|2|13 +1.3.6.1.4.1.9.9.826.1.20.70.1.8.1097|2|27 +1.3.6.1.4.1.9.9.826.1.20.70.1.8.5789|2|27 +1.3.6.1.4.1.9.9.826.1.20.70.1.8.42176|2|2 +1.3.6.1.4.1.9.9.826.1.20.70.1.8.47375|2|17 +1.3.6.1.4.1.9.9.826.1.20.70.1.9.1097|2|0 +1.3.6.1.4.1.9.9.826.1.20.70.1.9.5789|2|5 +1.3.6.1.4.1.9.9.826.1.20.70.1.9.42176|2|29 +1.3.6.1.4.1.9.9.826.1.20.70.1.9.47375|2|5 +1.3.6.1.4.1.9.9.826.1.20.70.1.10.1097|2|10 +1.3.6.1.4.1.9.9.826.1.20.70.1.10.5789|2|5 +1.3.6.1.4.1.9.9.826.1.20.70.1.10.42176|2|17 +1.3.6.1.4.1.9.9.826.1.20.70.1.10.47375|2|16 +1.3.6.1.4.1.9.9.826.1.20.70.1.11.1097|2|27 +1.3.6.1.4.1.9.9.826.1.20.70.1.11.5789|2|19 +1.3.6.1.4.1.9.9.826.1.20.70.1.11.42176|2|19 +1.3.6.1.4.1.9.9.826.1.20.70.1.11.47375|2|5 +1.3.6.1.4.1.9.9.826.1.20.70.1.12.1097|66|3731619206 +1.3.6.1.4.1.9.9.826.1.20.70.1.12.5789|66|3826041930 +1.3.6.1.4.1.9.9.826.1.20.70.1.12.42176|66|3040459398 +1.3.6.1.4.1.9.9.826.1.20.70.1.12.47375|66|2088362554 +1.3.6.1.4.1.9.9.826.1.20.70.1.13.1097|2|13 +1.3.6.1.4.1.9.9.826.1.20.70.1.13.5789|2|28 +1.3.6.1.4.1.9.9.826.1.20.70.1.13.42176|2|0 +1.3.6.1.4.1.9.9.826.1.20.70.1.13.47375|2|5 +1.3.6.1.4.1.9.9.826.1.20.70.1.14.1097|2|15 +1.3.6.1.4.1.9.9.826.1.20.70.1.14.5789|2|7 +1.3.6.1.4.1.9.9.826.1.20.70.1.14.42176|2|29 +1.3.6.1.4.1.9.9.826.1.20.70.1.14.47375|2|31 +1.3.6.1.4.1.9.9.826.1.20.70.1.15.1097|2|22 +1.3.6.1.4.1.9.9.826.1.20.70.1.15.5789|2|28 +1.3.6.1.4.1.9.9.826.1.20.70.1.15.42176|2|28 +1.3.6.1.4.1.9.9.826.1.20.70.1.15.47375|2|16 +1.3.6.1.4.1.9.9.826.1.20.70.1.16.1097|2|13 +1.3.6.1.4.1.9.9.826.1.20.70.1.16.5789|2|24 +1.3.6.1.4.1.9.9.826.1.20.70.1.16.42176|2|27 +1.3.6.1.4.1.9.9.826.1.20.70.1.16.47375|2|8 +1.3.6.1.4.1.9.9.826.1.20.70.1.17.1097|2|2 +1.3.6.1.4.1.9.9.826.1.20.70.1.17.5789|2|1 +1.3.6.1.4.1.9.9.826.1.20.70.1.17.42176|2|1 +1.3.6.1.4.1.9.9.826.1.20.70.1.17.47375|2|1 +1.3.6.1.4.1.9.9.826.1.20.70.1.18.1097|2|13 +1.3.6.1.4.1.9.9.826.1.20.70.1.18.5789|2|31 +1.3.6.1.4.1.9.9.826.1.20.70.1.18.42176|2|11 +1.3.6.1.4.1.9.9.826.1.20.70.1.18.47375|2|26 +1.3.6.1.4.1.9.9.826.1.20.70.1.19.1097|2|13 +1.3.6.1.4.1.9.9.826.1.20.70.1.19.5789|2|22 +1.3.6.1.4.1.9.9.826.1.20.70.1.19.42176|2|31 +1.3.6.1.4.1.9.9.826.1.20.70.1.19.47375|2|9 +1.3.6.1.4.1.9.9.826.1.20.70.1.20.1097|2|22 +1.3.6.1.4.1.9.9.826.1.20.70.1.20.5789|2|0 +1.3.6.1.4.1.9.9.826.1.20.70.1.20.42176|2|1 +1.3.6.1.4.1.9.9.826.1.20.70.1.20.47375|2|17 +1.3.6.1.4.1.9.9.826.1.20.70.1.21.1097|2|30 +1.3.6.1.4.1.9.9.826.1.20.70.1.21.5789|2|30 +1.3.6.1.4.1.9.9.826.1.20.70.1.21.42176|2|14 +1.3.6.1.4.1.9.9.826.1.20.70.1.21.47375|2|31 +1.3.6.1.4.1.9.9.826.1.20.70.1.22.1097|4|their +1.3.6.1.4.1.9.9.826.1.20.70.1.22.5789|4x|6b65707420717561696e746c7920746865697220627574206275742064726976696e672064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.70.1.22.42176|4x|4a61646564207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.70.1.22.47375|4x|6f78656e204a6164656420666f7277617264206b657074207468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.70.1.23.1097|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.70.1.23.5789|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.70.1.23.42176|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.70.1.23.47375|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.70.1.24.1097|66|2388711007 +1.3.6.1.4.1.9.9.826.1.20.70.1.24.5789|66|3470592860 +1.3.6.1.4.1.9.9.826.1.20.70.1.24.42176|66|1767450334 +1.3.6.1.4.1.9.9.826.1.20.70.1.24.47375|66|894192511 +1.3.6.1.4.1.9.9.826.1.20.71.1.1.12563|66|12563 +1.3.6.1.4.1.9.9.826.1.20.71.1.1.21408|66|21408 +1.3.6.1.4.1.9.9.826.1.20.71.1.1.33095|66|33095 +1.3.6.1.4.1.9.9.826.1.20.71.1.1.54685|66|54685 +1.3.6.1.4.1.9.9.826.1.20.71.1.2.12563|4x|7468656972206f78656e2064726976696e67206f78656e204a616465642074686569722062757420666f727761726420627574 +1.3.6.1.4.1.9.9.826.1.20.71.1.2.21408|4x|4a616465642062757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.71.1.2.33095|4x|64726976696e67207468656972206b657074207a6f6d6269657320666f72776172642062757420717561696e746c79206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.71.1.2.54685|4x|717561696e746c7920717561696e746c79206b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.71.1.3.12563|4x|6b6570742064726976696e67204a61646564207468656972 +1.3.6.1.4.1.9.9.826.1.20.71.1.3.21408|4x|6163746564206b657074207a6f6d62696573206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.71.1.3.33095|4|their +1.3.6.1.4.1.9.9.826.1.20.71.1.3.54685|4x|616374656420717561696e746c792064726976696e67207468656972206b657074207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.71.1.4.12563|2|0 +1.3.6.1.4.1.9.9.826.1.20.71.1.4.21408|2|6 +1.3.6.1.4.1.9.9.826.1.20.71.1.4.33095|2|8 +1.3.6.1.4.1.9.9.826.1.20.71.1.4.54685|2|28 +1.3.6.1.4.1.9.9.826.1.20.71.1.5.12563|2|27 +1.3.6.1.4.1.9.9.826.1.20.71.1.5.21408|2|1 +1.3.6.1.4.1.9.9.826.1.20.71.1.5.33095|2|3 +1.3.6.1.4.1.9.9.826.1.20.71.1.5.54685|2|14 +1.3.6.1.4.1.9.9.826.1.20.71.1.6.12563|2|12 +1.3.6.1.4.1.9.9.826.1.20.71.1.6.21408|2|24 +1.3.6.1.4.1.9.9.826.1.20.71.1.6.33095|2|1 +1.3.6.1.4.1.9.9.826.1.20.71.1.6.54685|2|27 +1.3.6.1.4.1.9.9.826.1.20.71.1.7.12563|2|17 +1.3.6.1.4.1.9.9.826.1.20.71.1.7.21408|2|26 +1.3.6.1.4.1.9.9.826.1.20.71.1.7.33095|2|23 +1.3.6.1.4.1.9.9.826.1.20.71.1.7.54685|2|10 +1.3.6.1.4.1.9.9.826.1.20.71.1.8.12563|2|8 +1.3.6.1.4.1.9.9.826.1.20.71.1.8.21408|2|26 +1.3.6.1.4.1.9.9.826.1.20.71.1.8.33095|2|20 +1.3.6.1.4.1.9.9.826.1.20.71.1.8.54685|2|14 +1.3.6.1.4.1.9.9.826.1.20.71.1.9.12563|2|2 +1.3.6.1.4.1.9.9.826.1.20.71.1.9.21408|2|11 +1.3.6.1.4.1.9.9.826.1.20.71.1.9.33095|2|10 +1.3.6.1.4.1.9.9.826.1.20.71.1.9.54685|2|21 +1.3.6.1.4.1.9.9.826.1.20.71.1.10.12563|2|29 +1.3.6.1.4.1.9.9.826.1.20.71.1.10.21408|2|12 +1.3.6.1.4.1.9.9.826.1.20.71.1.10.33095|2|6 +1.3.6.1.4.1.9.9.826.1.20.71.1.10.54685|2|6 +1.3.6.1.4.1.9.9.826.1.20.71.1.11.12563|2|26 +1.3.6.1.4.1.9.9.826.1.20.71.1.11.21408|2|0 +1.3.6.1.4.1.9.9.826.1.20.71.1.11.33095|2|7 +1.3.6.1.4.1.9.9.826.1.20.71.1.11.54685|2|12 +1.3.6.1.4.1.9.9.826.1.20.71.1.12.12563|70|5772727033362805292 +1.3.6.1.4.1.9.9.826.1.20.71.1.12.21408|70|13410371362544735377 +1.3.6.1.4.1.9.9.826.1.20.71.1.12.33095|70|16902249468943684968 +1.3.6.1.4.1.9.9.826.1.20.71.1.12.54685|70|4509474271049358209 +1.3.6.1.4.1.9.9.826.1.20.71.1.13.12563|2|2 +1.3.6.1.4.1.9.9.826.1.20.71.1.13.21408|2|2 +1.3.6.1.4.1.9.9.826.1.20.71.1.13.33095|2|1 +1.3.6.1.4.1.9.9.826.1.20.71.1.13.54685|2|2 +1.3.6.1.4.1.9.9.826.1.20.71.1.14.12563|2|30 +1.3.6.1.4.1.9.9.826.1.20.71.1.14.21408|2|8 +1.3.6.1.4.1.9.9.826.1.20.71.1.14.33095|2|10 +1.3.6.1.4.1.9.9.826.1.20.71.1.14.54685|2|18 +1.3.6.1.4.1.9.9.826.1.20.71.1.15.12563|2|6 +1.3.6.1.4.1.9.9.826.1.20.71.1.15.21408|2|19 +1.3.6.1.4.1.9.9.826.1.20.71.1.15.33095|2|30 +1.3.6.1.4.1.9.9.826.1.20.71.1.15.54685|2|13 +1.3.6.1.4.1.9.9.826.1.20.71.1.16.12563|2|26 +1.3.6.1.4.1.9.9.826.1.20.71.1.16.21408|2|22 +1.3.6.1.4.1.9.9.826.1.20.71.1.16.33095|2|5 +1.3.6.1.4.1.9.9.826.1.20.71.1.16.54685|2|29 +1.3.6.1.4.1.9.9.826.1.20.71.1.17.12563|2|7 +1.3.6.1.4.1.9.9.826.1.20.71.1.17.21408|2|10 +1.3.6.1.4.1.9.9.826.1.20.71.1.17.33095|2|5 +1.3.6.1.4.1.9.9.826.1.20.71.1.17.54685|2|8 +1.3.6.1.4.1.9.9.826.1.20.71.1.18.12563|2|2 +1.3.6.1.4.1.9.9.826.1.20.71.1.18.21408|2|2 +1.3.6.1.4.1.9.9.826.1.20.71.1.18.33095|2|1 +1.3.6.1.4.1.9.9.826.1.20.71.1.18.54685|2|1 +1.3.6.1.4.1.9.9.826.1.20.71.1.19.12563|2|5 +1.3.6.1.4.1.9.9.826.1.20.71.1.19.21408|2|23 +1.3.6.1.4.1.9.9.826.1.20.71.1.19.33095|2|22 +1.3.6.1.4.1.9.9.826.1.20.71.1.19.54685|2|12 +1.3.6.1.4.1.9.9.826.1.20.71.1.20.12563|2|1 +1.3.6.1.4.1.9.9.826.1.20.71.1.20.21408|2|10 +1.3.6.1.4.1.9.9.826.1.20.71.1.20.33095|2|19 +1.3.6.1.4.1.9.9.826.1.20.71.1.20.54685|2|11 +1.3.6.1.4.1.9.9.826.1.20.71.1.21.12563|2|0 +1.3.6.1.4.1.9.9.826.1.20.71.1.21.21408|2|9 +1.3.6.1.4.1.9.9.826.1.20.71.1.21.33095|2|13 +1.3.6.1.4.1.9.9.826.1.20.71.1.21.54685|2|12 +1.3.6.1.4.1.9.9.826.1.20.71.1.22.12563|2|6 +1.3.6.1.4.1.9.9.826.1.20.71.1.22.21408|2|31 +1.3.6.1.4.1.9.9.826.1.20.71.1.22.33095|2|12 +1.3.6.1.4.1.9.9.826.1.20.71.1.22.54685|2|24 +1.3.6.1.4.1.9.9.826.1.20.71.1.23.12563|4x|4a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.71.1.23.21408|4x|4a6164656420627574204a6164656420666f727761726420627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.71.1.23.33095|4x|717561696e746c792061637465642064726976696e67207a6f6d62696573206b657074204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.71.1.23.54685|4x|616374656420746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.71.1.24.12563|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.71.1.24.21408|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.71.1.24.33095|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.71.1.24.54685|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.72.1.1.885|66|885 +1.3.6.1.4.1.9.9.826.1.20.72.1.1.2003|66|2003 +1.3.6.1.4.1.9.9.826.1.20.72.1.1.59622|66|59622 +1.3.6.1.4.1.9.9.826.1.20.72.1.1.62980|66|62980 +1.3.6.1.4.1.9.9.826.1.20.72.1.2.885|4|forward +1.3.6.1.4.1.9.9.826.1.20.72.1.2.2003|4x|6163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.72.1.2.59622|4x|6f78656e20616374656420666f7277617264207468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.72.1.2.62980|4x|6b65707420627574207a6f6d6269657320746865697220627574 +1.3.6.1.4.1.9.9.826.1.20.72.1.3.885|4x|6f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.72.1.3.2003|4x|717561696e746c79207a6f6d62696573206275742062757420717561696e746c79206b657074206b657074206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.72.1.3.59622|4|oxen +1.3.6.1.4.1.9.9.826.1.20.72.1.3.62980|4x|4a616465642064726976696e67206b657074204a6164656420717561696e746c79206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.72.1.4.885|4x|717561696e746c79206275742064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.72.1.4.2003|4x|7a6f6d6269657320717561696e746c792064726976696e6720746865697220666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.72.1.4.59622|4x|62757420717561696e746c792064726976696e67206163746564204a61646564204a61646564207a6f6d6269657320717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.72.1.4.62980|4x|666f72776172642064726976696e67207a6f6d6269657320717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.72.1.5.885|4x|7468656972204a61646564206b6570742061637465642062757420746865697220666f727761726420717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.72.1.5.2003|4x|64726976696e6720627574206f78656e204a6164656420717561696e746c7920717561696e746c7920627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.72.1.5.59622|4x|4a61646564206b657074206275742074686569722074686569722062757420666f727761726420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.72.1.5.62980|4x|62757420746865697220717561696e746c79204a616465642061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.72.1.6.885|4x|62757420717561696e746c79206b657074204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.72.1.6.2003|4x|4a6164656420627574204a616465642064726976696e67207a6f6d626965732064726976696e67206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.72.1.6.59622|4x|7a6f6d626965732062757420627574206b657074206b65707420666f7277617264206b65707420746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.72.1.6.62980|4x|64726976696e67206275742074686569722064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.72.1.7.885|66|2589392775 +1.3.6.1.4.1.9.9.826.1.20.72.1.7.2003|66|1753746185 +1.3.6.1.4.1.9.9.826.1.20.72.1.7.59622|66|3717116953 +1.3.6.1.4.1.9.9.826.1.20.72.1.7.62980|66|1876349711 +1.3.6.1.4.1.9.9.826.1.20.72.1.8.885|2|0 +1.3.6.1.4.1.9.9.826.1.20.72.1.8.2003|2|1 +1.3.6.1.4.1.9.9.826.1.20.72.1.8.59622|2|2 +1.3.6.1.4.1.9.9.826.1.20.72.1.8.62980|2|1 +1.3.6.1.4.1.9.9.826.1.20.72.1.9.885|4x|64726976696e6720717561696e746c7920717561696e746c792064726976696e67206b657074206f78656e20746865697220627574 +1.3.6.1.4.1.9.9.826.1.20.72.1.9.2003|4x|61637465642064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.72.1.9.59622|4x|627574207a6f6d6269657320717561696e746c79207a6f6d626965732062757420717561696e746c79204a61646564207468656972206f78656e +1.3.6.1.4.1.9.9.826.1.20.72.1.9.62980|4x|717561696e746c79207468656972204a61646564206163746564206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.73.1.1.13632|66|13632 +1.3.6.1.4.1.9.9.826.1.20.73.1.1.25176|66|25176 +1.3.6.1.4.1.9.9.826.1.20.73.1.1.28944|66|28944 +1.3.6.1.4.1.9.9.826.1.20.73.1.1.59958|66|59958 +1.3.6.1.4.1.9.9.826.1.20.73.1.2.13632|4x|666f7277617264204a616465642064726976696e6720616374656420717561696e746c792064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.73.1.2.25176|4x|6275742064726976696e6720717561696e746c79206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.73.1.2.28944|4x|6f78656e207a6f6d62696573207468656972207468656972204a61646564204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.73.1.2.59958|4x|74686569722062757420627574 +1.3.6.1.4.1.9.9.826.1.20.73.1.3.13632|4x|6b657074207a6f6d62696573204a6164656420666f7277617264204a61646564206f78656e206b657074206f78656e207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.73.1.3.25176|4x|6f78656e207a6f6d62696573206b6570742062757420627574 +1.3.6.1.4.1.9.9.826.1.20.73.1.3.28944|4x|6f78656e20616374656420717561696e746c79204a61646564207468656972207468656972204a61646564206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.73.1.3.59958|4x|6163746564206163746564207a6f6d62696573206275742064726976696e67207a6f6d626965732064726976696e6720717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.73.1.4.13632|2|0 +1.3.6.1.4.1.9.9.826.1.20.73.1.4.25176|2|1 +1.3.6.1.4.1.9.9.826.1.20.73.1.4.28944|2|1 +1.3.6.1.4.1.9.9.826.1.20.73.1.4.59958|2|1 +1.3.6.1.4.1.9.9.826.1.20.73.1.5.13632|4x|64726976696e67206b657074206f78656e20717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.73.1.5.25176|4x|6275742064726976696e67204a616465642064726976696e6720717561696e746c7920666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.73.1.5.28944|4x|616374656420616374656420666f7277617264206b657074206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.73.1.5.59958|4x|746865697220666f72776172642064726976696e67206b657074204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.73.1.6.13632|4x|7a6f6d6269657320666f72776172642062757420717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.73.1.6.25176|4x|666f7277617264206b657074206b65707420616374656420627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.73.1.6.28944|4x|717561696e746c79207468656972206b657074206163746564206163746564206b657074206163746564 +1.3.6.1.4.1.9.9.826.1.20.73.1.6.59958|4x|64726976696e67206f78656e204a61646564204a61646564206163746564206f78656e206163746564204a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.74.1.1.208|66|208 +1.3.6.1.4.1.9.9.826.1.20.74.1.1.17702|66|17702 +1.3.6.1.4.1.9.9.826.1.20.74.1.1.45535|66|45535 +1.3.6.1.4.1.9.9.826.1.20.74.1.1.56808|66|56808 +1.3.6.1.4.1.9.9.826.1.20.74.1.2.208|4x|6b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.74.1.2.17702|4x|717561696e746c79206f78656e20666f72776172642074686569722062757420627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.74.1.2.45535|4x|64726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.74.1.2.56808|4x|746865697220666f727761726420717561696e746c7920627574204a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.74.1.3.208|4|forward +1.3.6.1.4.1.9.9.826.1.20.74.1.3.17702|4x|6b657074206f78656e206275742064726976696e6720746865697220717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.74.1.3.45535|4x|6f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.74.1.3.56808|4x|7a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.74.1.4.208|2|2 +1.3.6.1.4.1.9.9.826.1.20.74.1.4.17702|2|1 +1.3.6.1.4.1.9.9.826.1.20.74.1.4.45535|2|2 +1.3.6.1.4.1.9.9.826.1.20.74.1.4.56808|2|1 +1.3.6.1.4.1.9.9.826.1.20.74.1.5.208|66|1125852004 +1.3.6.1.4.1.9.9.826.1.20.74.1.5.17702|66|470722566 +1.3.6.1.4.1.9.9.826.1.20.74.1.5.45535|66|2709554135 +1.3.6.1.4.1.9.9.826.1.20.74.1.5.56808|66|263768629 +1.3.6.1.4.1.9.9.826.1.20.74.1.6.208|4x|6f78656e20627574 +1.3.6.1.4.1.9.9.826.1.20.74.1.6.17702|4x|64726976696e67204a6164656420666f7277617264207a6f6d6269657320717561696e746c79207a6f6d62696573206b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.74.1.6.45535|4x|64726976696e67206f78656e2064726976696e6720717561696e746c7920627574204a61646564206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.74.1.6.56808|4x|7a6f6d6269657320717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.74.1.7.208|2|4 +1.3.6.1.4.1.9.9.826.1.20.74.1.7.17702|2|1 +1.3.6.1.4.1.9.9.826.1.20.74.1.7.45535|2|5 +1.3.6.1.4.1.9.9.826.1.20.74.1.7.56808|2|1 +1.3.6.1.4.1.9.9.826.1.20.75.1.1.26353|66|26353 +1.3.6.1.4.1.9.9.826.1.20.75.1.1.42095|66|42095 +1.3.6.1.4.1.9.9.826.1.20.75.1.1.46217|66|46217 +1.3.6.1.4.1.9.9.826.1.20.75.1.1.64176|66|64176 +1.3.6.1.4.1.9.9.826.1.20.75.1.2.26353|4x|64726976696e672062757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.75.1.2.42095|4x|6163746564206f78656e20627574206f78656e206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.75.1.2.46217|4x|6f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.75.1.2.64176|4x|4a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.75.1.3.26353|4x|6163746564207468656972206f78656e20627574207a6f6d6269657320717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.75.1.3.42095|4x|717561696e746c79207468656972206275742064726976696e67207a6f6d62696573206275742062757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.75.1.3.46217|4x|4a616465642064726976696e67204a6164656420627574207a6f6d6269657320717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.75.1.3.64176|4x|6b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.75.1.4.26353|2|1 +1.3.6.1.4.1.9.9.826.1.20.75.1.4.42095|2|1 +1.3.6.1.4.1.9.9.826.1.20.75.1.4.46217|2|1 +1.3.6.1.4.1.9.9.826.1.20.75.1.4.64176|2|0 +1.3.6.1.4.1.9.9.826.1.20.75.1.5.26353|4x|717561696e746c792064726976696e67204a61646564207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.75.1.5.42095|4x|61637465642074686569722064726976696e67206f78656e20746865697220666f727761726420746865697220666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.75.1.5.46217|4x|4a61646564206b657074206f78656e207a6f6d62696573206b657074204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.75.1.5.64176|4x|6f78656e206f78656e20666f7277617264207a6f6d626965732062757420717561696e746c7920627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.76.1.1.9576|66|9576 +1.3.6.1.4.1.9.9.826.1.20.76.1.1.18367|66|18367 +1.3.6.1.4.1.9.9.826.1.20.76.1.1.31680|66|31680 +1.3.6.1.4.1.9.9.826.1.20.76.1.1.56488|66|56488 +1.3.6.1.4.1.9.9.826.1.20.76.1.2.9576|4x|746865697220746865697220717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.76.1.2.18367|4x|64726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.76.1.2.31680|4x|666f7277617264207a6f6d6269657320717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.76.1.2.56488|4x|4a61646564207a6f6d62696573206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.76.1.3.9576|4|but +1.3.6.1.4.1.9.9.826.1.20.76.1.3.18367|4x|627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.76.1.3.31680|4x|717561696e746c79206f78656e2064726976696e6720717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.76.1.3.56488|4x|61637465642074686569722062757420627574 +1.3.6.1.4.1.9.9.826.1.20.76.1.4.9576|2|1 +1.3.6.1.4.1.9.9.826.1.20.76.1.4.18367|2|1 +1.3.6.1.4.1.9.9.826.1.20.76.1.4.31680|2|2 +1.3.6.1.4.1.9.9.826.1.20.76.1.4.56488|2|2 +1.3.6.1.4.1.9.9.826.1.20.76.1.5.9576|2|2 +1.3.6.1.4.1.9.9.826.1.20.76.1.5.18367|2|2 +1.3.6.1.4.1.9.9.826.1.20.76.1.5.31680|2|2 +1.3.6.1.4.1.9.9.826.1.20.76.1.5.56488|2|1 +1.3.6.1.4.1.9.9.826.1.20.76.1.6.9576|66|2082993020 +1.3.6.1.4.1.9.9.826.1.20.76.1.6.18367|66|2890217570 +1.3.6.1.4.1.9.9.826.1.20.76.1.6.31680|66|1629601241 +1.3.6.1.4.1.9.9.826.1.20.76.1.6.56488|66|3723411291 +1.3.6.1.4.1.9.9.826.1.20.76.1.7.9576|66|645896238 +1.3.6.1.4.1.9.9.826.1.20.76.1.7.18367|66|496244806 +1.3.6.1.4.1.9.9.826.1.20.76.1.7.31680|66|2208835313 +1.3.6.1.4.1.9.9.826.1.20.76.1.7.56488|66|1833997960 +1.3.6.1.4.1.9.9.826.1.20.76.1.8.9576|66|2729730309 +1.3.6.1.4.1.9.9.826.1.20.76.1.8.18367|66|351067837 +1.3.6.1.4.1.9.9.826.1.20.76.1.8.31680|66|320334125 +1.3.6.1.4.1.9.9.826.1.20.76.1.8.56488|66|3049203843 +1.3.6.1.4.1.9.9.826.1.20.76.1.9.9576|66|66853066 +1.3.6.1.4.1.9.9.826.1.20.76.1.9.18367|66|3831241270 +1.3.6.1.4.1.9.9.826.1.20.76.1.9.31680|66|1387719517 +1.3.6.1.4.1.9.9.826.1.20.76.1.9.56488|66|2281343867 +1.3.6.1.4.1.9.9.826.1.20.76.1.10.9576|66|416600471 +1.3.6.1.4.1.9.9.826.1.20.76.1.10.18367|66|3405754411 +1.3.6.1.4.1.9.9.826.1.20.76.1.10.31680|66|1437080568 +1.3.6.1.4.1.9.9.826.1.20.76.1.10.56488|66|1903609097 +1.3.6.1.4.1.9.9.826.1.20.76.1.11.9576|4x|64726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.76.1.11.18367|4x|6275742064726976696e67206163746564207a6f6d62696573206f78656e206163746564207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.76.1.11.31680|4x|717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.76.1.11.56488|4x|6f78656e206f78656e20627574206163746564206f78656e20717561696e746c79206f78656e2062757420627574 +1.3.6.1.4.1.9.9.826.1.20.76.1.12.9576|4x|746865697220717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.76.1.12.18367|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.76.1.12.31680|4|oxen +1.3.6.1.4.1.9.9.826.1.20.76.1.12.56488|4x|6163746564206b657074204a61646564207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.76.1.13.9576|66|3345241592 +1.3.6.1.4.1.9.9.826.1.20.76.1.13.18367|66|1984077393 +1.3.6.1.4.1.9.9.826.1.20.76.1.13.31680|66|2500801668 +1.3.6.1.4.1.9.9.826.1.20.76.1.13.56488|66|3160675309 +1.3.6.1.4.1.9.9.826.1.20.76.1.14.9576|4x|64726976696e67204a61646564206f78656e204a6164656420717561696e746c79206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.76.1.14.18367|4|forward +1.3.6.1.4.1.9.9.826.1.20.76.1.14.31680|4x|6163746564206f78656e206f78656e2064726976696e67206b65707420746865697220666f7277617264206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.76.1.14.56488|4|but +1.3.6.1.4.1.9.9.826.1.20.76.1.15.9576|4|oxen +1.3.6.1.4.1.9.9.826.1.20.76.1.15.18367|4|driving +1.3.6.1.4.1.9.9.826.1.20.76.1.15.31680|4x|6b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.76.1.15.56488|4x|7a6f6d6269657320627574206163746564206b657074206b65707420627574206b65707420627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.77.1.1.17760|66|17760 +1.3.6.1.4.1.9.9.826.1.20.77.1.1.36566|66|36566 +1.3.6.1.4.1.9.9.826.1.20.77.1.1.57271|66|57271 +1.3.6.1.4.1.9.9.826.1.20.77.1.1.64302|66|64302 +1.3.6.1.4.1.9.9.826.1.20.77.1.2.17760|4x|7468656972206275742064726976696e6720717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.77.1.2.36566|4x|62757420627574204a6164656420717561696e746c7920746865697220666f7277617264207468656972207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.77.1.2.57271|4x|666f7277617264207468656972204a61646564206b6570742074686569722064726976696e6720616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.77.1.2.64302|4x|746865697220666f7277617264206275742064726976696e6720666f7277617264206b657074206f78656e20717561696e746c7920666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.77.1.3.17760|4x|717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.77.1.3.36566|4x|6163746564204a61646564207468656972206f78656e20746865697220746865697220717561696e746c79207468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.77.1.3.57271|4x|7468656972207a6f6d62696573207468656972206b657074206f78656e20666f72776172642064726976696e67206f78656e20627574 +1.3.6.1.4.1.9.9.826.1.20.77.1.3.64302|4x|6b657074207a6f6d62696573206b65707420746865697220746865697220717561696e746c7920666f7277617264206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.77.1.4.17760|2|0 +1.3.6.1.4.1.9.9.826.1.20.77.1.4.36566|2|0 +1.3.6.1.4.1.9.9.826.1.20.77.1.4.57271|2|1 +1.3.6.1.4.1.9.9.826.1.20.77.1.4.64302|2|0 +1.3.6.1.4.1.9.9.826.1.20.77.1.5.17760|2|2 +1.3.6.1.4.1.9.9.826.1.20.77.1.5.36566|2|1 +1.3.6.1.4.1.9.9.826.1.20.77.1.5.57271|2|1 +1.3.6.1.4.1.9.9.826.1.20.77.1.5.64302|2|1 +1.3.6.1.4.1.9.9.826.1.20.77.1.6.17760|2|1 +1.3.6.1.4.1.9.9.826.1.20.77.1.6.36566|2|2 +1.3.6.1.4.1.9.9.826.1.20.77.1.6.57271|2|1 +1.3.6.1.4.1.9.9.826.1.20.77.1.6.64302|2|2 +1.3.6.1.4.1.9.9.826.1.20.77.1.7.17760|66|1751797581 +1.3.6.1.4.1.9.9.826.1.20.77.1.7.36566|66|2560979232 +1.3.6.1.4.1.9.9.826.1.20.77.1.7.57271|66|4255161581 +1.3.6.1.4.1.9.9.826.1.20.77.1.7.64302|66|75032671 +1.3.6.1.4.1.9.9.826.1.20.77.1.8.17760|66|1170719811 +1.3.6.1.4.1.9.9.826.1.20.77.1.8.36566|66|2187080069 +1.3.6.1.4.1.9.9.826.1.20.77.1.8.57271|66|2228834391 +1.3.6.1.4.1.9.9.826.1.20.77.1.8.64302|66|3578232436 +1.3.6.1.4.1.9.9.826.1.20.77.1.9.17760|2|4 +1.3.6.1.4.1.9.9.826.1.20.77.1.9.36566|2|2 +1.3.6.1.4.1.9.9.826.1.20.77.1.9.57271|2|4 +1.3.6.1.4.1.9.9.826.1.20.77.1.9.64302|2|1 +1.3.6.1.4.1.9.9.826.1.20.77.1.10.17760|66|4146428453 +1.3.6.1.4.1.9.9.826.1.20.77.1.10.36566|66|885571060 +1.3.6.1.4.1.9.9.826.1.20.77.1.10.57271|66|1056632373 +1.3.6.1.4.1.9.9.826.1.20.77.1.10.64302|66|3004826254 +1.3.6.1.4.1.9.9.826.1.20.77.1.11.17760|66|1123698267 +1.3.6.1.4.1.9.9.826.1.20.77.1.11.36566|66|2264128488 +1.3.6.1.4.1.9.9.826.1.20.77.1.11.57271|66|2725747641 +1.3.6.1.4.1.9.9.826.1.20.77.1.11.64302|66|316416551 +1.3.6.1.4.1.9.9.826.1.20.77.1.12.17760|66|282239363 +1.3.6.1.4.1.9.9.826.1.20.77.1.12.36566|66|1329743781 +1.3.6.1.4.1.9.9.826.1.20.77.1.12.57271|66|654453129 +1.3.6.1.4.1.9.9.826.1.20.77.1.12.64302|66|2872077151 +1.3.6.1.4.1.9.9.826.1.20.77.1.13.17760|66|3592689275 +1.3.6.1.4.1.9.9.826.1.20.77.1.13.36566|66|132723013 +1.3.6.1.4.1.9.9.826.1.20.77.1.13.57271|66|517362576 +1.3.6.1.4.1.9.9.826.1.20.77.1.13.64302|66|3459228586 +1.3.6.1.4.1.9.9.826.1.20.77.1.14.17760|4|driving +1.3.6.1.4.1.9.9.826.1.20.77.1.14.36566|4|zombies +1.3.6.1.4.1.9.9.826.1.20.77.1.14.57271|4|forward +1.3.6.1.4.1.9.9.826.1.20.77.1.14.64302|4x|62757420746865697220717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.77.1.15.17760|4x|4a61646564204a616465642074686569722064726976696e672062757420666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.77.1.15.36566|4x|7a6f6d6269657320717561696e746c79204a616465642074686569722064726976696e6720616374656420627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.77.1.15.57271|4x|6b65707420717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.77.1.15.64302|4x|64726976696e67206b657074206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.77.1.16.17760|66|2703866988 +1.3.6.1.4.1.9.9.826.1.20.77.1.16.36566|66|1412074504 +1.3.6.1.4.1.9.9.826.1.20.77.1.16.57271|66|389597158 +1.3.6.1.4.1.9.9.826.1.20.77.1.16.64302|66|2440308976 +1.3.6.1.4.1.9.9.826.1.20.77.1.17.17760|4x|7a6f6d62696573207a6f6d62696573206b65707420616374656420746865697220627574204a61646564206f78656e20627574 +1.3.6.1.4.1.9.9.826.1.20.77.1.17.36566|4x|6f78656e20616374656420717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.77.1.17.57271|4x|6b657074207468656972206163746564207a6f6d626965732062757420627574 +1.3.6.1.4.1.9.9.826.1.20.77.1.17.64302|4x|6f78656e20717561696e746c79207a6f6d62696573204a61646564207a6f6d62696573206b657074 +1.3.6.1.4.1.9.9.826.1.20.77.1.18.17760|4x|7468656972207a6f6d626965732062757420616374656420666f727761726420666f7277617264206f78656e20666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.77.1.18.36566|4|their +1.3.6.1.4.1.9.9.826.1.20.77.1.18.57271|4x|74686569722064726976696e67206f78656e2064726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.77.1.18.64302|4x|7468656972206f78656e20616374656420717561696e746c79207a6f6d626965732064726976696e6720627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.78.1.1.24322|66|24322 +1.3.6.1.4.1.9.9.826.1.20.78.1.1.26742|66|26742 +1.3.6.1.4.1.9.9.826.1.20.78.1.1.57542|66|57542 +1.3.6.1.4.1.9.9.826.1.20.78.1.1.59812|66|59812 +1.3.6.1.4.1.9.9.826.1.20.78.1.2.24322|4x|6b6570742061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.78.1.2.26742|4x|666f72776172642061637465642062757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.78.1.2.57542|4x|6b657074206f78656e2064726976696e6720717561696e746c79206163746564206b65707420717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.78.1.2.59812|4|zombies +1.3.6.1.4.1.9.9.826.1.20.78.1.3.24322|4x|6b65707420666f727761726420627574206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.78.1.3.26742|4x|4a61646564206f78656e20666f7277617264207a6f6d62696573206163746564206f78656e207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.78.1.3.57542|4x|666f7277617264206b657074206f78656e20627574206f78656e20616374656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.78.1.3.59812|4x|6275742074686569722061637465642064726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.78.1.4.24322|2|1 +1.3.6.1.4.1.9.9.826.1.20.78.1.4.26742|2|1 +1.3.6.1.4.1.9.9.826.1.20.78.1.4.57542|2|1 +1.3.6.1.4.1.9.9.826.1.20.78.1.4.59812|2|1 +1.3.6.1.4.1.9.9.826.1.20.78.1.5.24322|4x|6b65707420616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.78.1.5.26742|4x|64726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.78.1.5.57542|4x|7a6f6d6269657320717561696e746c79207468656972206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.78.1.5.59812|4x|6f78656e206275742064726976696e6720616374656420717561696e746c7920717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.78.1.6.24322|4x|6f78656e206b65707420666f7277617264207a6f6d626965732064726976696e672062757420627574 +1.3.6.1.4.1.9.9.826.1.20.78.1.6.26742|4x|6b657074206f78656e20666f7277617264207a6f6d62696573206b657074 +1.3.6.1.4.1.9.9.826.1.20.78.1.6.57542|4x|7a6f6d6269657320746865697220717561696e746c792064726976696e6720717561696e746c79206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.78.1.6.59812|4x|627574204a6164656420666f727761726420627574 +1.3.6.1.4.1.9.9.826.1.20.78.1.7.24322|4x|64726976696e67206b65707420627574206b657074204a616465642064726976696e67204a61646564207468656972206f78656e +1.3.6.1.4.1.9.9.826.1.20.78.1.7.26742|4x|6b657074206b65707420717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.78.1.7.57542|4x|6163746564206b6570742064726976696e6720627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.78.1.7.59812|4x|6f78656e20746865697220666f7277617264204a6164656420616374656420666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.79.1.1.773|66|773 +1.3.6.1.4.1.9.9.826.1.20.79.1.1.51417|66|51417 +1.3.6.1.4.1.9.9.826.1.20.79.1.1.56002|66|56002 +1.3.6.1.4.1.9.9.826.1.20.79.1.1.57087|66|57087 +1.3.6.1.4.1.9.9.826.1.20.79.1.2.773|4x|7468656972204a61646564204a61646564206b657074206b657074206b657074204a616465642064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.79.1.2.51417|4x|616374656420717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.79.1.2.56002|4x|666f727761726420717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.79.1.2.57087|4x|746865697220717561696e746c7920717561696e746c79207a6f6d6269657320717561696e746c7920717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.79.1.3.773|4x|6f78656e2062757420666f72776172642064726976696e67207468656972207a6f6d626965732062757420717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.79.1.3.51417|4x|64726976696e67207468656972204a61646564207a6f6d62696573204a61646564206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.79.1.3.56002|4x|7468656972206f78656e204a6164656420616374656420717561696e746c7920717561696e746c79206163746564204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.79.1.3.57087|4x|4a61646564207468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.79.1.4.773|4x|616374656420627574206b657074207468656972206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.79.1.4.51417|4x|6f78656e20627574 +1.3.6.1.4.1.9.9.826.1.20.79.1.4.56002|4x|62757420717561696e746c79207468656972207468656972207a6f6d62696573206163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.79.1.4.57087|4x|64726976696e6720666f7277617264206f78656e +1.3.6.1.4.1.9.9.826.1.20.79.1.5.773|2|2 +1.3.6.1.4.1.9.9.826.1.20.79.1.5.51417|2|2 +1.3.6.1.4.1.9.9.826.1.20.79.1.5.56002|2|2 +1.3.6.1.4.1.9.9.826.1.20.79.1.5.57087|2|2 +1.3.6.1.4.1.9.9.826.1.20.79.1.6.773|4x|7a6f6d626965732064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.79.1.6.51417|4x|64726976696e672064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.79.1.6.56002|4x|6f78656e206163746564206b65707420627574204a61646564206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.79.1.6.57087|4x|62757420666f727761726420717561696e746c79206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.79.1.7.773|4x|64726976696e6720746865697220627574 +1.3.6.1.4.1.9.9.826.1.20.79.1.7.51417|4x|64726976696e67207468656972206f78656e20627574 +1.3.6.1.4.1.9.9.826.1.20.79.1.7.56002|4x|666f727761726420666f727761726420616374656420666f7277617264206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.79.1.7.57087|4x|4a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.79.1.8.773|66|3973989992 +1.3.6.1.4.1.9.9.826.1.20.79.1.8.51417|66|3786861291 +1.3.6.1.4.1.9.9.826.1.20.79.1.8.56002|66|264417926 +1.3.6.1.4.1.9.9.826.1.20.79.1.8.57087|66|3578787622 +1.3.6.1.4.1.9.9.826.1.20.79.1.9.773|2|2 +1.3.6.1.4.1.9.9.826.1.20.79.1.9.51417|2|1 +1.3.6.1.4.1.9.9.826.1.20.79.1.9.56002|2|0 +1.3.6.1.4.1.9.9.826.1.20.79.1.9.57087|2|2 +1.3.6.1.4.1.9.9.826.1.20.80.1.1.14016|66|14016 +1.3.6.1.4.1.9.9.826.1.20.80.1.1.36495|66|36495 +1.3.6.1.4.1.9.9.826.1.20.80.1.1.49102|66|49102 +1.3.6.1.4.1.9.9.826.1.20.80.1.1.58988|66|58988 +1.3.6.1.4.1.9.9.826.1.20.80.1.2.14016|4x|62757420666f727761726420627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.80.1.2.36495|4x|4a61646564207a6f6d62696573207a6f6d6269657320666f7277617264206b657074206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.80.1.2.49102|4x|6f78656e20666f727761726420627574 +1.3.6.1.4.1.9.9.826.1.20.80.1.2.58988|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.80.1.3.14016|4x|717561696e746c7920627574207468656972206275742064726976696e67207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.80.1.3.36495|4x|62757420666f72776172642061637465642064726976696e6720666f7277617264207a6f6d62696573206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.80.1.3.49102|4x|746865697220717561696e746c792062757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.80.1.3.58988|4x|61637465642062757420717561696e746c7920666f727761726420717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.80.1.4.14016|66|2465540190 +1.3.6.1.4.1.9.9.826.1.20.80.1.4.36495|66|2850046836 +1.3.6.1.4.1.9.9.826.1.20.80.1.4.49102|66|2986110387 +1.3.6.1.4.1.9.9.826.1.20.80.1.4.58988|66|891478483 +1.3.6.1.4.1.9.9.826.1.20.80.1.5.14016|4x|717561696e746c7920616374656420666f7277617264207a6f6d62696573206b657074 +1.3.6.1.4.1.9.9.826.1.20.80.1.5.36495|4x|4a61646564206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.80.1.5.49102|4x|6f78656e20627574204a6164656420627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.80.1.5.58988|4x|6b657074207468656972204a6164656420627574206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.80.1.6.14016|4|their +1.3.6.1.4.1.9.9.826.1.20.80.1.6.36495|4x|7468656972204a61646564 +1.3.6.1.4.1.9.9.826.1.20.80.1.6.49102|4x|62757420666f7277617264206f78656e20717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.80.1.6.58988|4x|616374656420616374656420666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.80.1.7.14016|4x|7a6f6d62696573206b6570742064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.80.1.7.36495|4x|6163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.80.1.7.49102|4x|666f7277617264206b65707420666f7277617264206f78656e +1.3.6.1.4.1.9.9.826.1.20.80.1.7.58988|4x|74686569722062757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.80.1.8.14016|2|2 +1.3.6.1.4.1.9.9.826.1.20.80.1.8.36495|2|2 +1.3.6.1.4.1.9.9.826.1.20.80.1.8.49102|2|1 +1.3.6.1.4.1.9.9.826.1.20.80.1.8.58988|2|1 +1.3.6.1.4.1.9.9.826.1.20.80.1.9.14016|4x|746865697220717561696e746c79206f78656e2061637465642074686569722064726976696e6720627574204a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.80.1.9.36495|4x|6b6570742064726976696e67206f78656e20717561696e746c792064726976696e6720666f727761726420627574206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.80.1.9.49102|4x|717561696e746c79206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.80.1.9.58988|4x|616374656420666f7277617264206f78656e +1.3.6.1.4.1.9.9.826.1.20.80.1.10.14016|4x|627574206f78656e20717561696e746c79206b6570742061637465642064726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.80.1.10.36495|4x|666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.80.1.10.49102|4x|627574206b657074207a6f6d626965732064726976696e6720616374656420717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.80.1.10.58988|4|forward +1.3.6.1.4.1.9.9.826.1.20.80.1.11.14016|4x|6b657074204a61646564206f78656e207468656972206f78656e20627574207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.80.1.11.36495|4x|6b657074206163746564206b657074206163746564204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.80.1.11.49102|4x|6163746564204a6164656420746865697220717561696e746c7920666f72776172642064726976696e67206f78656e20666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.80.1.11.58988|4x|717561696e746c79206b657074207a6f6d626965732064726976696e672062757420666f727761726420717561696e746c7920666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.80.1.12.14016|70|13528883518004079264 +1.3.6.1.4.1.9.9.826.1.20.80.1.12.36495|70|5635324219853762173 +1.3.6.1.4.1.9.9.826.1.20.80.1.12.49102|70|1154108088336995699 +1.3.6.1.4.1.9.9.826.1.20.80.1.12.58988|70|13932162286588256996 +1.3.6.1.4.1.9.9.826.1.20.80.1.13.14016|66|1074403367 +1.3.6.1.4.1.9.9.826.1.20.80.1.13.36495|66|793793820 +1.3.6.1.4.1.9.9.826.1.20.80.1.13.49102|66|3950555294 +1.3.6.1.4.1.9.9.826.1.20.80.1.13.58988|66|249082680 +1.3.6.1.4.1.9.9.826.1.20.80.1.14.14016|2|0 +1.3.6.1.4.1.9.9.826.1.20.80.1.14.36495|2|2 +1.3.6.1.4.1.9.9.826.1.20.80.1.14.49102|2|1 +1.3.6.1.4.1.9.9.826.1.20.80.1.14.58988|2|2 +1.3.6.1.4.1.9.9.826.1.20.80.1.15.14016|2|0 +1.3.6.1.4.1.9.9.826.1.20.80.1.15.36495|2|26 +1.3.6.1.4.1.9.9.826.1.20.80.1.15.49102|2|19 +1.3.6.1.4.1.9.9.826.1.20.80.1.15.58988|2|20 +1.3.6.1.4.1.9.9.826.1.20.80.1.16.14016|4x|6f78656e20616374656420717561696e746c79206b65707420627574204a6164656420627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.80.1.16.36495|4x|746865697220666f7277617264207468656972206f78656e20717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.80.1.16.49102|4x|64726976696e67206f78656e +1.3.6.1.4.1.9.9.826.1.20.80.1.16.58988|4x|6f78656e20666f727761726420666f7277617264206163746564206f78656e204a61646564206f78656e206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.80.1.17.14016|4x|6163746564206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.80.1.17.36495|4x|666f7277617264206f78656e2061637465642074686569722064726976696e67206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.80.1.17.49102|4x|6163746564206f78656e207468656972206f78656e20627574 +1.3.6.1.4.1.9.9.826.1.20.80.1.17.58988|4x|64726976696e6720627574206b65707420616374656420666f7277617264206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.80.1.18.14016|2|2 +1.3.6.1.4.1.9.9.826.1.20.80.1.18.36495|2|2 +1.3.6.1.4.1.9.9.826.1.20.80.1.18.49102|2|0 +1.3.6.1.4.1.9.9.826.1.20.80.1.18.58988|2|1 +1.3.6.1.4.1.9.9.826.1.20.81.1.1.13515|66|13515 +1.3.6.1.4.1.9.9.826.1.20.81.1.1.14763|66|14763 +1.3.6.1.4.1.9.9.826.1.20.81.1.1.20398|66|20398 +1.3.6.1.4.1.9.9.826.1.20.81.1.1.48483|66|48483 +1.3.6.1.4.1.9.9.826.1.20.81.1.2.13515|4x|7a6f6d626965732064726976696e67204a61646564207a6f6d62696573206b65707420746865697220717561696e746c792064726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.81.1.2.14763|4x|6b657074206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.81.1.2.20398|4x|717561696e746c79206f78656e206163746564207a6f6d62696573206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.81.1.2.48483|4x|64726976696e67206b657074204a61646564206163746564206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.81.1.3.13515|4x|6b65707420717561696e746c79207468656972206b657074206b657074207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.81.1.3.14763|4x|4a61646564204a6164656420666f727761726420666f727761726420717561696e746c792064726976696e67206b6570742062757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.81.1.3.20398|4x|7a6f6d62696573207a6f6d62696573207a6f6d6269657320666f7277617264207a6f6d62696573206b657074206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.81.1.3.48483|4x|4a61646564204a61646564206b657074206163746564206b65707420666f72776172642064726976696e672064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.81.1.4.13515|2|2 +1.3.6.1.4.1.9.9.826.1.20.81.1.4.14763|2|2 +1.3.6.1.4.1.9.9.826.1.20.81.1.4.20398|2|1 +1.3.6.1.4.1.9.9.826.1.20.81.1.4.48483|2|2 +1.3.6.1.4.1.9.9.826.1.20.81.1.5.13515|2|1 +1.3.6.1.4.1.9.9.826.1.20.81.1.5.14763|2|1 +1.3.6.1.4.1.9.9.826.1.20.81.1.5.20398|2|0 +1.3.6.1.4.1.9.9.826.1.20.81.1.5.48483|2|2 +1.3.6.1.4.1.9.9.826.1.20.81.1.6.13515|2|2 +1.3.6.1.4.1.9.9.826.1.20.81.1.6.14763|2|3 +1.3.6.1.4.1.9.9.826.1.20.81.1.6.20398|2|0 +1.3.6.1.4.1.9.9.826.1.20.81.1.6.48483|2|2 +1.3.6.1.4.1.9.9.826.1.20.81.1.7.13515|4x|74686569722062757420666f7277617264206f78656e206b657074204a6164656420746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.81.1.7.14763|4x|74686569722062757420746865697220666f7277617264207468656972206f78656e20616374656420666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.81.1.7.20398|4|driving +1.3.6.1.4.1.9.9.826.1.20.81.1.7.48483|4x|717561696e746c792064726976696e6720666f727761726420627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.81.1.8.13515|4x|4a61646564206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.81.1.8.14763|4x|7a6f6d6269657320616374656420666f7277617264206f78656e206b65707420616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.81.1.8.20398|4x|4a616465642064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.81.1.8.48483|4|but +1.3.6.1.4.1.9.9.826.1.20.81.1.9.13515|66|3629688573 +1.3.6.1.4.1.9.9.826.1.20.81.1.9.14763|66|1457213340 +1.3.6.1.4.1.9.9.826.1.20.81.1.9.20398|66|2159897890 +1.3.6.1.4.1.9.9.826.1.20.81.1.9.48483|66|691281431 +1.3.6.1.4.1.9.9.826.1.20.81.1.10.13515|66|3554549591 +1.3.6.1.4.1.9.9.826.1.20.81.1.10.14763|66|1135417640 +1.3.6.1.4.1.9.9.826.1.20.81.1.10.20398|66|2887182032 +1.3.6.1.4.1.9.9.826.1.20.81.1.10.48483|66|4026976859 +1.3.6.1.4.1.9.9.826.1.20.81.1.11.13515|4x|4a61646564206b657074206b657074 +1.3.6.1.4.1.9.9.826.1.20.81.1.11.14763|4x|666f7277617264207a6f6d6269657320666f727761726420627574207a6f6d6269657320666f72776172642064726976696e672064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.81.1.11.20398|4x|4a616465642064726976696e672074686569722064726976696e6720717561696e746c792064726976696e67207a6f6d6269657320746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.81.1.11.48483|4x|6163746564206163746564207468656972207468656972207a6f6d626965732062757420666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.81.1.12.13515|4|their +1.3.6.1.4.1.9.9.826.1.20.81.1.12.14763|4x|7a6f6d62696573206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.81.1.12.20398|4x|627574204a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.81.1.12.48483|4x|6b65707420717561696e746c7920717561696e746c79206163746564206f78656e206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.81.1.13.13515|4x|666f7277617264206f78656e20717561696e746c79207468656972207a6f6d6269657320717561696e746c79207a6f6d6269657320717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.81.1.13.14763|4x|7a6f6d6269657320717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.81.1.13.20398|4x|6f78656e207a6f6d62696573204a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.81.1.13.48483|4x|666f7277617264206f78656e207a6f6d6269657320717561696e746c7920627574204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.81.1.14.13515|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.81.1.14.14763|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.81.1.14.20398|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.81.1.14.48483|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.81.1.15.13515|4x|7468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.81.1.15.14763|4x|717561696e746c79204a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.81.1.15.20398|4x|6163746564204a61646564207a6f6d62696573207a6f6d62696573206b657074206b657074206b6570742064726976696e6720666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.81.1.15.48483|4x|64726976696e6720666f72776172642064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.81.1.16.13515|66|3078499995 +1.3.6.1.4.1.9.9.826.1.20.81.1.16.14763|66|861883431 +1.3.6.1.4.1.9.9.826.1.20.81.1.16.20398|66|1431342999 +1.3.6.1.4.1.9.9.826.1.20.81.1.16.48483|66|1558900500 +1.3.6.1.4.1.9.9.826.1.20.81.1.17.13515|66|2539992967 +1.3.6.1.4.1.9.9.826.1.20.81.1.17.14763|66|2630031477 +1.3.6.1.4.1.9.9.826.1.20.81.1.17.20398|66|2681885100 +1.3.6.1.4.1.9.9.826.1.20.81.1.17.48483|66|3292604523 +1.3.6.1.4.1.9.9.826.1.20.81.1.18.13515|4x|666f7277617264206f78656e207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.81.1.18.14763|4x|717561696e746c7920666f7277617264206b657074207a6f6d6269657320627574207468656972207a6f6d6269657320746865697220627574 +1.3.6.1.4.1.9.9.826.1.20.81.1.18.20398|4x|7a6f6d6269657320666f7277617264206b657074206b657074207a6f6d62696573206f78656e20717561696e746c7920717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.81.1.18.48483|4x|7a6f6d626965732064726976696e67207468656972207468656972204a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.81.1.19.13515|2|2 +1.3.6.1.4.1.9.9.826.1.20.81.1.19.14763|2|3 +1.3.6.1.4.1.9.9.826.1.20.81.1.19.20398|2|3 +1.3.6.1.4.1.9.9.826.1.20.81.1.19.48483|2|4 +1.3.6.1.4.1.9.9.826.1.20.82.1.1.17396|66|17396 +1.3.6.1.4.1.9.9.826.1.20.82.1.1.27528|66|27528 +1.3.6.1.4.1.9.9.826.1.20.82.1.1.35528|66|35528 +1.3.6.1.4.1.9.9.826.1.20.82.1.1.55060|66|55060 +1.3.6.1.4.1.9.9.826.1.20.82.1.2.17396|4x|746865697220627574207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.82.1.2.27528|4x|64726976696e6720746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.82.1.2.35528|4x|7a6f6d626965732061637465642064726976696e67206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.82.1.2.55060|4x|717561696e746c79206163746564204a61646564206f78656e204a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.82.1.3.17396|4|forward +1.3.6.1.4.1.9.9.826.1.20.82.1.3.27528|4x|666f7277617264207468656972207a6f6d62696573204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.82.1.3.35528|4x|7468656972206b657074204a61646564207468656972206f78656e206b657074204a6164656420627574206f78656e +1.3.6.1.4.1.9.9.826.1.20.82.1.3.55060|4x|666f7277617264207468656972204a61646564206f78656e204a61646564207468656972 +1.3.6.1.4.1.9.9.826.1.20.82.1.4.17396|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.82.1.4.27528|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.82.1.4.35528|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.82.1.4.55060|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.82.1.5.17396|2|0 +1.3.6.1.4.1.9.9.826.1.20.82.1.5.27528|2|15 +1.3.6.1.4.1.9.9.826.1.20.82.1.5.35528|2|15 +1.3.6.1.4.1.9.9.826.1.20.82.1.5.55060|2|15 +1.3.6.1.4.1.9.9.826.1.20.82.1.6.17396|4x|666f7277617264206163746564204a616465642064726976696e6720666f727761726420717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.82.1.6.27528|4x|6163746564207468656972206f78656e207468656972206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.82.1.6.35528|4x|746865697220717561696e746c7920666f72776172642064726976696e672061637465642064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.82.1.6.55060|4x|64726976696e6720666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.82.1.7.17396|2|0 +1.3.6.1.4.1.9.9.826.1.20.82.1.7.27528|2|3 +1.3.6.1.4.1.9.9.826.1.20.82.1.7.35528|2|5 +1.3.6.1.4.1.9.9.826.1.20.82.1.7.55060|2|1 +1.3.6.1.4.1.9.9.826.1.20.82.1.8.17396|66|1207448642 +1.3.6.1.4.1.9.9.826.1.20.82.1.8.27528|66|814099807 +1.3.6.1.4.1.9.9.826.1.20.82.1.8.35528|66|1319307937 +1.3.6.1.4.1.9.9.826.1.20.82.1.8.55060|66|1178116455 +1.3.6.1.4.1.9.9.826.1.20.82.1.9.17396|66|2324105031 +1.3.6.1.4.1.9.9.826.1.20.82.1.9.27528|66|2881809397 +1.3.6.1.4.1.9.9.826.1.20.82.1.9.35528|66|2921966454 +1.3.6.1.4.1.9.9.826.1.20.82.1.9.55060|66|1824989559 +1.3.6.1.4.1.9.9.826.1.20.82.1.10.17396|4x|7a6f6d6269657320627574206b6570742064726976696e6720717561696e746c7920717561696e746c79204a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.82.1.10.27528|4|oxen +1.3.6.1.4.1.9.9.826.1.20.82.1.10.35528|4x|717561696e746c79204a61646564206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.82.1.10.55060|4|kept +1.3.6.1.4.1.9.9.826.1.20.82.1.11.17396|4|driving +1.3.6.1.4.1.9.9.826.1.20.82.1.11.27528|4x|717561696e746c79204a616465642074686569722064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.82.1.11.35528|4|kept +1.3.6.1.4.1.9.9.826.1.20.82.1.11.55060|4x|627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.83.1.1.5522|66|5522 +1.3.6.1.4.1.9.9.826.1.20.83.1.1.21016|66|21016 +1.3.6.1.4.1.9.9.826.1.20.83.1.1.51161|66|51161 +1.3.6.1.4.1.9.9.826.1.20.83.1.1.57435|66|57435 +1.3.6.1.4.1.9.9.826.1.20.83.1.2.5522|4x|6163746564207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.83.1.2.21016|4x|6f78656e20746865697220627574206b657074206f78656e20627574207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.83.1.2.51161|4x|7a6f6d62696573207a6f6d62696573207468656972206163746564206b657074206163746564206b657074206b657074 +1.3.6.1.4.1.9.9.826.1.20.83.1.2.57435|4x|74686569722064726976696e672064726976696e67206275742062757420627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.83.1.3.5522|4x|64726976696e6720666f7277617264206b657074206b657074 +1.3.6.1.4.1.9.9.826.1.20.83.1.3.21016|4x|7a6f6d6269657320627574207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.20.83.1.3.51161|4x|666f727761726420666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.83.1.3.57435|4x|6b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.83.1.4.5522|4x|7a6f6d62696573206b657074204a616465642074686569722061637465642064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.83.1.4.21016|4|oxen +1.3.6.1.4.1.9.9.826.1.20.83.1.4.51161|4x|6b6570742062757420666f72776172642062757420666f727761726420666f727761726420717561696e746c7920717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.83.1.4.57435|4|driving +1.3.6.1.4.1.9.9.826.1.20.83.1.5.5522|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.83.1.5.21016|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.83.1.5.51161|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.83.1.5.57435|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.83.1.6.5522|2|0 +1.3.6.1.4.1.9.9.826.1.20.83.1.6.21016|2|15 +1.3.6.1.4.1.9.9.826.1.20.83.1.6.51161|2|0 +1.3.6.1.4.1.9.9.826.1.20.83.1.6.57435|2|16 +1.3.6.1.4.1.9.9.826.1.20.83.1.7.5522|66|4279409422 +1.3.6.1.4.1.9.9.826.1.20.83.1.7.21016|66|1178050867 +1.3.6.1.4.1.9.9.826.1.20.83.1.7.51161|66|328719971 +1.3.6.1.4.1.9.9.826.1.20.83.1.7.57435|66|3784230541 +1.3.6.1.4.1.9.9.826.1.20.83.1.8.5522|66|3621514938 +1.3.6.1.4.1.9.9.826.1.20.83.1.8.21016|66|1533675897 +1.3.6.1.4.1.9.9.826.1.20.83.1.8.51161|66|2158726607 +1.3.6.1.4.1.9.9.826.1.20.83.1.8.57435|66|2640457300 +1.3.6.1.4.1.9.9.826.1.20.83.1.9.5522|2|5 +1.3.6.1.4.1.9.9.826.1.20.83.1.9.21016|2|2 +1.3.6.1.4.1.9.9.826.1.20.83.1.9.51161|2|3 +1.3.6.1.4.1.9.9.826.1.20.83.1.9.57435|2|3 +1.3.6.1.4.1.9.9.826.1.20.84.1.1.20761|66|20761 +1.3.6.1.4.1.9.9.826.1.20.84.1.1.20836|66|20836 +1.3.6.1.4.1.9.9.826.1.20.84.1.1.38441|66|38441 +1.3.6.1.4.1.9.9.826.1.20.84.1.1.62541|66|62541 +1.3.6.1.4.1.9.9.826.1.20.84.1.2.20761|4x|666f727761726420717561696e746c7920616374656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.84.1.2.20836|4x|6f78656e20666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.84.1.2.38441|4x|7a6f6d62696573206163746564206f78656e2064726976696e67206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.84.1.2.62541|4x|666f7277617264206163746564206f78656e206f78656e204a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.84.1.3.20761|4x|616374656420746865697220666f7277617264206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.84.1.3.20836|4x|7a6f6d62696573207a6f6d62696573207468656972207468656972204a61646564 +1.3.6.1.4.1.9.9.826.1.20.84.1.3.38441|4x|717561696e746c79207468656972206163746564207468656972 +1.3.6.1.4.1.9.9.826.1.20.84.1.3.62541|4x|62757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.84.1.4.20761|2|2 +1.3.6.1.4.1.9.9.826.1.20.84.1.4.20836|2|2 +1.3.6.1.4.1.9.9.826.1.20.84.1.4.38441|2|1 +1.3.6.1.4.1.9.9.826.1.20.84.1.4.62541|2|2 +1.3.6.1.4.1.9.9.826.1.20.84.1.5.20761|4x|6b6570742064726976696e672064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.84.1.5.20836|4x|616374656420666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.84.1.5.38441|4x|4a616465642064726976696e6720627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.84.1.5.62541|4x|6f78656e20666f72776172642064726976696e67206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.84.1.6.20761|2|15 +1.3.6.1.4.1.9.9.826.1.20.84.1.6.20836|2|0 +1.3.6.1.4.1.9.9.826.1.20.84.1.6.38441|2|15 +1.3.6.1.4.1.9.9.826.1.20.84.1.6.62541|2|15 +1.3.6.1.4.1.9.9.826.1.20.84.1.7.20761|66|715100953 +1.3.6.1.4.1.9.9.826.1.20.84.1.7.20836|66|2725494883 +1.3.6.1.4.1.9.9.826.1.20.84.1.7.38441|66|2647230348 +1.3.6.1.4.1.9.9.826.1.20.84.1.7.62541|66|2186751623 +1.3.6.1.4.1.9.9.826.1.20.85.1.1.5922|66|5922 +1.3.6.1.4.1.9.9.826.1.20.85.1.1.6254|66|6254 +1.3.6.1.4.1.9.9.826.1.20.85.1.1.7047|66|7047 +1.3.6.1.4.1.9.9.826.1.20.85.1.1.9183|66|9183 +1.3.6.1.4.1.9.9.826.1.20.85.1.2.5922|4x|6f78656e206163746564206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.85.1.2.6254|4x|6b65707420746865697220717561696e746c79206f78656e204a616465642064726976696e67207468656972207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.85.1.2.7047|4x|6b65707420666f7277617264207a6f6d6269657320717561696e746c79206163746564206b65707420746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.85.1.2.9183|4x|7468656972207a6f6d62696573207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.85.1.3.5922|4x|7468656972206163746564204a61646564207a6f6d626965732064726976696e67204a616465642064726976696e6720627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.85.1.3.6254|4x|62757420666f72776172642064726976696e67207468656972204a616465642074686569722064726976696e67206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.85.1.3.7047|4x|717561696e746c7920627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.85.1.3.9183|4x|4a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.85.1.4.5922|4x|64726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.85.1.4.6254|4x|717561696e746c79206f78656e2062757420717561696e746c79207a6f6d6269657320616374656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.85.1.4.7047|4x|7468656972206b65707420627574204a61646564207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.20.85.1.4.9183|4x|62757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.85.1.5.5922|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.85.1.5.6254|4x|717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.85.1.5.7047|4x|4a6164656420666f7277617264206b65707420627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.85.1.5.9183|4x|717561696e746c79207468656972204a616465642064726976696e67206f78656e206b65707420666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.85.1.6.5922|4x|666f7277617264207468656972206f78656e207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.85.1.6.6254|4x|627574206f78656e20666f7277617264204a616465642074686569722061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.85.1.6.7047|4x|6b65707420616374656420717561696e746c79206163746564206f78656e20746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.85.1.6.9183|4x|4a61646564206b6570742064726976696e6720746865697220717561696e746c7920616374656420627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.85.1.7.5922|4x|6b657074207468656972206f78656e20746865697220717561696e746c7920666f7277617264206b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.85.1.7.6254|4x|6b657074207a6f6d6269657320666f727761726420746865697220627574204a61646564204a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.85.1.7.7047|4|oxen +1.3.6.1.4.1.9.9.826.1.20.85.1.7.9183|4x|7468656972206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.85.1.8.5922|4x|4a6164656420717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.85.1.8.6254|4x|627574206163746564206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.85.1.8.7047|4x|717561696e746c79207a6f6d62696573207a6f6d62696573206163746564206b657074206163746564 +1.3.6.1.4.1.9.9.826.1.20.85.1.8.9183|4x|62757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.85.1.9.5922|4x|6163746564206f78656e207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.85.1.9.6254|4x|616374656420717561696e746c79207a6f6d626965732061637465642064726976696e6720717561696e746c79206163746564204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.85.1.9.7047|4x|4a61646564204a6164656420717561696e746c7920717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.85.1.9.9183|4x|4a61646564206b657074204a61646564207468656972206b657074206f78656e20717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.85.1.10.5922|4x|627574206163746564206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.85.1.10.6254|4x|7a6f6d626965732064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.85.1.10.7047|4x|7468656972204a61646564206f78656e20666f727761726420666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.85.1.10.9183|4x|4a616465642074686569722064726976696e67207a6f6d626965732064726976696e672064726976696e67207a6f6d62696573207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.85.1.11.5922|4x|746865697220627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.85.1.11.6254|4x|4a616465642064726976696e67204a6164656420627574206b657074204a61646564204a616465642064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.85.1.11.7047|4x|4a616465642064726976696e6720627574206b65707420666f727761726420717561696e746c79204a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.85.1.11.9183|4x|6f78656e207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.85.1.12.5922|4x|4a6164656420746865697220717561696e746c79206f78656e206163746564204a61646564204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.85.1.12.6254|4x|746865697220616374656420666f7277617264206163746564207468656972 +1.3.6.1.4.1.9.9.826.1.20.85.1.12.7047|4x|6b657074207a6f6d626965732064726976696e6720666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.85.1.12.9183|4x|6163746564207a6f6d626965732064726976696e672064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.85.1.13.5922|4|but +1.3.6.1.4.1.9.9.826.1.20.85.1.13.6254|4x|7a6f6d62696573204a61646564206163746564207a6f6d626965732074686569722064726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.85.1.13.7047|4x|7468656972204a6164656420666f72776172642064726976696e67204a61646564206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.85.1.13.9183|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.85.1.14.5922|4x|666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.85.1.14.6254|4x|616374656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.85.1.14.7047|4x|62757420717561696e746c792062757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.85.1.14.9183|4x|6163746564206f78656e204a6164656420746865697220627574206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.85.1.15.5922|4x|627574204a6164656420666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.85.1.15.6254|4x|717561696e746c7920717561696e746c79206163746564207a6f6d626965732074686569722064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.85.1.15.7047|4x|6f78656e2062757420746865697220717561696e746c7920627574207a6f6d626965732064726976696e6720616374656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.85.1.15.9183|4x|627574204a61646564206163746564206b65707420746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.85.1.16.5922|66|3993573343 +1.3.6.1.4.1.9.9.826.1.20.85.1.16.6254|66|436443352 +1.3.6.1.4.1.9.9.826.1.20.85.1.16.7047|66|4098604925 +1.3.6.1.4.1.9.9.826.1.20.85.1.16.9183|66|126337043 +1.3.6.1.4.1.9.9.826.1.20.85.1.17.5922|2|1 +1.3.6.1.4.1.9.9.826.1.20.85.1.17.6254|2|2 +1.3.6.1.4.1.9.9.826.1.20.85.1.17.7047|2|1 +1.3.6.1.4.1.9.9.826.1.20.85.1.17.9183|2|1 +1.3.6.1.4.1.9.9.826.1.20.85.1.18.5922|4x|666f72776172642064726976696e672064726976696e67206163746564204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.85.1.18.6254|4x|717561696e746c79204a61646564206b6570742064726976696e6720717561696e746c79207a6f6d62696573204a61646564 +1.3.6.1.4.1.9.9.826.1.20.85.1.18.7047|4x|6163746564206b65707420666f727761726420627574 +1.3.6.1.4.1.9.9.826.1.20.85.1.18.9183|4|but +1.3.6.1.4.1.9.9.826.1.20.85.1.19.5922|4x|746865697220717561696e746c792064726976696e67206b657074204a61646564207468656972 +1.3.6.1.4.1.9.9.826.1.20.85.1.19.6254|4x|7468656972206f78656e20627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.85.1.19.7047|4x|62757420666f727761726420627574 +1.3.6.1.4.1.9.9.826.1.20.85.1.19.9183|4x|6163746564206b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.85.1.20.5922|4x|6f78656e206275742074686569722064726976696e6720717561696e746c7920616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.85.1.20.6254|4x|7468656972206f78656e +1.3.6.1.4.1.9.9.826.1.20.85.1.20.7047|4x|61637465642064726976696e672064726976696e67206163746564207a6f6d6269657320666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.85.1.20.9183|4x|4a6164656420717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.85.1.21.5922|4x|6b6570742064726976696e6720666f7277617264206275742064726976696e6720717561696e746c7920666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.85.1.21.6254|4x|64726976696e672064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.85.1.21.7047|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.85.1.21.9183|4x|616374656420666f7277617264204a61646564206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.86.1.1.6680|66|6680 +1.3.6.1.4.1.9.9.826.1.20.86.1.1.19332|66|19332 +1.3.6.1.4.1.9.9.826.1.20.86.1.1.28590|66|28590 +1.3.6.1.4.1.9.9.826.1.20.86.1.1.38714|66|38714 +1.3.6.1.4.1.9.9.826.1.20.86.1.2.6680|4|oxen +1.3.6.1.4.1.9.9.826.1.20.86.1.2.19332|4x|666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.86.1.2.28590|4x|7a6f6d626965732064726976696e6720616374656420717561696e746c792064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.86.1.2.38714|4x|7468656972206b657074207a6f6d62696573204a6164656420627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.86.1.3.6680|4x|7a6f6d62696573207a6f6d62696573206b657074206f78656e20717561696e746c79207a6f6d62696573204a61646564207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.20.86.1.3.19332|4|driving +1.3.6.1.4.1.9.9.826.1.20.86.1.3.28590|4x|7a6f6d626965732074686569722064726976696e67206163746564206b65707420616374656420746865697220666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.86.1.3.38714|4x|746865697220666f7277617264206163746564206b65707420666f7277617264206163746564206163746564207468656972 +1.3.6.1.4.1.9.9.826.1.20.86.1.4.6680|4x|6275742064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.86.1.4.19332|4x|666f727761726420666f727761726420717561696e746c79206b65707420666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.86.1.4.28590|4x|717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.86.1.4.38714|4|forward +1.3.6.1.4.1.9.9.826.1.20.86.1.5.6680|66|3793449863 +1.3.6.1.4.1.9.9.826.1.20.86.1.5.19332|66|511392000 +1.3.6.1.4.1.9.9.826.1.20.86.1.5.28590|66|641065830 +1.3.6.1.4.1.9.9.826.1.20.86.1.5.38714|66|1656585409 +1.3.6.1.4.1.9.9.826.1.20.86.1.6.6680|4x|6b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.86.1.6.19332|4x|7a6f6d62696573206163746564206b65707420666f7277617264207a6f6d62696573204a61646564 +1.3.6.1.4.1.9.9.826.1.20.86.1.6.28590|4x|4a61646564207468656972206b657074204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.86.1.6.38714|4x|62757420666f727761726420746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.86.1.7.6680|4x|6b65707420616374656420666f72776172642064726976696e67206f78656e +1.3.6.1.4.1.9.9.826.1.20.86.1.7.19332|4x|616374656420666f7277617264206f78656e20616374656420746865697220666f7277617264206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.86.1.7.28590|4x|666f7277617264206f78656e20746865697220666f7277617264207a6f6d626965732064726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.86.1.7.38714|4x|717561696e746c7920627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.86.1.8.6680|66|4237531827 +1.3.6.1.4.1.9.9.826.1.20.86.1.8.19332|66|2130484033 +1.3.6.1.4.1.9.9.826.1.20.86.1.8.28590|66|1628368396 +1.3.6.1.4.1.9.9.826.1.20.86.1.8.38714|66|3652530637 +1.3.6.1.4.1.9.9.826.1.20.86.1.9.6680|2|1 +1.3.6.1.4.1.9.9.826.1.20.86.1.9.19332|2|2 +1.3.6.1.4.1.9.9.826.1.20.86.1.9.28590|2|1 +1.3.6.1.4.1.9.9.826.1.20.86.1.9.38714|2|1 +1.3.6.1.4.1.9.9.826.1.20.86.1.10.6680|66|2029685343 +1.3.6.1.4.1.9.9.826.1.20.86.1.10.19332|66|3165390457 +1.3.6.1.4.1.9.9.826.1.20.86.1.10.28590|66|2628923684 +1.3.6.1.4.1.9.9.826.1.20.86.1.10.38714|66|3953249487 +1.3.6.1.4.1.9.9.826.1.20.86.1.11.6680|70|1277654226568035449 +1.3.6.1.4.1.9.9.826.1.20.86.1.11.19332|70|13101634676711493850 +1.3.6.1.4.1.9.9.826.1.20.86.1.11.28590|70|12668595052081351102 +1.3.6.1.4.1.9.9.826.1.20.86.1.11.38714|70|43113403548960132 +1.3.6.1.4.1.9.9.826.1.20.87.1.1.434|66|434 +1.3.6.1.4.1.9.9.826.1.20.87.1.1.32067|66|32067 +1.3.6.1.4.1.9.9.826.1.20.87.1.1.41986|66|41986 +1.3.6.1.4.1.9.9.826.1.20.87.1.1.55881|66|55881 +1.3.6.1.4.1.9.9.826.1.20.87.1.2.434|4x|64726976696e672064726976696e67207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.87.1.2.32067|4x|717561696e746c7920666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.87.1.2.41986|4x|6f78656e20666f7277617264206b6570742064726976696e67207a6f6d6269657320627574206163746564206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.87.1.2.55881|4|driving +1.3.6.1.4.1.9.9.826.1.20.87.1.3.434|4|acted +1.3.6.1.4.1.9.9.826.1.20.87.1.3.32067|4x|666f72776172642064726976696e67206f78656e204a616465642062757420746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.87.1.3.41986|4x|7a6f6d62696573206163746564206b657074206b6570742064726976696e67206275742064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.87.1.3.55881|4x|64726976696e6720627574206f78656e207468656972207468656972206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.87.1.4.434|2|1 +1.3.6.1.4.1.9.9.826.1.20.87.1.4.32067|2|2 +1.3.6.1.4.1.9.9.826.1.20.87.1.4.41986|2|2 +1.3.6.1.4.1.9.9.826.1.20.87.1.4.55881|2|2 +1.3.6.1.4.1.9.9.826.1.20.87.1.5.434|2|1 +1.3.6.1.4.1.9.9.826.1.20.87.1.5.32067|2|2 +1.3.6.1.4.1.9.9.826.1.20.87.1.5.41986|2|1 +1.3.6.1.4.1.9.9.826.1.20.87.1.5.55881|2|1 +1.3.6.1.4.1.9.9.826.1.20.87.1.6.434|66|2458769900 +1.3.6.1.4.1.9.9.826.1.20.87.1.6.32067|66|3360019683 +1.3.6.1.4.1.9.9.826.1.20.87.1.6.41986|66|438773509 +1.3.6.1.4.1.9.9.826.1.20.87.1.6.55881|66|812189130 +1.3.6.1.4.1.9.9.826.1.20.87.1.7.434|66|1899878978 +1.3.6.1.4.1.9.9.826.1.20.87.1.7.32067|66|3163387689 +1.3.6.1.4.1.9.9.826.1.20.87.1.7.41986|66|3749358213 +1.3.6.1.4.1.9.9.826.1.20.87.1.7.55881|66|2600206900 +1.3.6.1.4.1.9.9.826.1.20.87.1.8.434|66|2700185260 +1.3.6.1.4.1.9.9.826.1.20.87.1.8.32067|66|369668858 +1.3.6.1.4.1.9.9.826.1.20.87.1.8.41986|66|2153568470 +1.3.6.1.4.1.9.9.826.1.20.87.1.8.55881|66|1294533415 +1.3.6.1.4.1.9.9.826.1.20.87.1.9.434|66|2284808505 +1.3.6.1.4.1.9.9.826.1.20.87.1.9.32067|66|387482811 +1.3.6.1.4.1.9.9.826.1.20.87.1.9.41986|66|3453245597 +1.3.6.1.4.1.9.9.826.1.20.87.1.9.55881|66|1726274362 +1.3.6.1.4.1.9.9.826.1.20.87.1.10.434|66|3486157254 +1.3.6.1.4.1.9.9.826.1.20.87.1.10.32067|66|3193228141 +1.3.6.1.4.1.9.9.826.1.20.87.1.10.41986|66|2544692426 +1.3.6.1.4.1.9.9.826.1.20.87.1.10.55881|66|4250153869 +1.3.6.1.4.1.9.9.826.1.20.87.1.11.434|4x|616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.87.1.11.32067|4x|7a6f6d6269657320627574204a61646564206f78656e2064726976696e6720627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.87.1.11.41986|4x|6f78656e2064726976696e672062757420627574 +1.3.6.1.4.1.9.9.826.1.20.87.1.11.55881|4x|6f78656e2064726976696e6720746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.87.1.12.434|4|forward +1.3.6.1.4.1.9.9.826.1.20.87.1.12.32067|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.87.1.12.41986|4x|62757420717561696e746c792064726976696e6720666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.87.1.12.55881|4x|627574206f78656e2064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.87.1.13.434|66|759778804 +1.3.6.1.4.1.9.9.826.1.20.87.1.13.32067|66|2495950816 +1.3.6.1.4.1.9.9.826.1.20.87.1.13.41986|66|926743675 +1.3.6.1.4.1.9.9.826.1.20.87.1.13.55881|66|652393565 +1.3.6.1.4.1.9.9.826.1.20.87.1.14.434|4x|666f7277617264206b65707420717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.87.1.14.32067|4x|627574204a61646564206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.87.1.14.41986|4x|717561696e746c792074686569722064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.87.1.14.55881|4x|64726976696e6720627574206f78656e206f78656e207a6f6d6269657320666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.87.1.15.434|4x|627574206163746564207468656972206f78656e204a616465642064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.87.1.15.32067|4x|4a61646564204a6164656420627574206f78656e20616374656420666f727761726420627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.87.1.15.41986|4x|4a61646564204a61646564207468656972207468656972207a6f6d62696573204a61646564207a6f6d6269657320627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.87.1.15.55881|4x|616374656420627574207468656972207a6f6d626965732064726976696e67207a6f6d62696573206275742064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.88.1.1.8579|66|8579 +1.3.6.1.4.1.9.9.826.1.20.88.1.1.10871|66|10871 +1.3.6.1.4.1.9.9.826.1.20.88.1.1.21240|66|21240 +1.3.6.1.4.1.9.9.826.1.20.88.1.1.65319|66|65319 +1.3.6.1.4.1.9.9.826.1.20.88.1.2.8579|4x|666f727761726420717561696e746c7920666f72776172642061637465642061637465642061637465642064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.88.1.2.10871|4x|746865697220627574 +1.3.6.1.4.1.9.9.826.1.20.88.1.2.21240|4x|717561696e746c79204a61646564206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.88.1.2.65319|4x|666f7277617264206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.88.1.3.8579|4x|7a6f6d626965732064726976696e672064726976696e672064726976696e672064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.88.1.3.10871|4x|4a61646564206b65707420717561696e746c79207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.88.1.3.21240|4x|64726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.88.1.3.65319|4x|4a6164656420666f7277617264206b65707420717561696e746c79206f78656e20717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.88.1.4.8579|2|0 +1.3.6.1.4.1.9.9.826.1.20.88.1.4.10871|2|3 +1.3.6.1.4.1.9.9.826.1.20.88.1.4.21240|2|3 +1.3.6.1.4.1.9.9.826.1.20.88.1.4.65319|2|2 +1.3.6.1.4.1.9.9.826.1.20.88.1.5.8579|2|0 +1.3.6.1.4.1.9.9.826.1.20.88.1.5.10871|2|0 +1.3.6.1.4.1.9.9.826.1.20.88.1.5.21240|2|0 +1.3.6.1.4.1.9.9.826.1.20.88.1.5.65319|2|0 +1.3.6.1.4.1.9.9.826.1.20.88.1.6.8579|4x|717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.88.1.6.10871|4x|6b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.88.1.6.21240|4x|64726976696e67206275742064726976696e6720717561696e746c79206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.88.1.6.65319|4x|717561696e746c79207468656972207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.88.1.7.8579|4x|74686569722064726976696e67206f78656e207a6f6d62696573204a61646564 +1.3.6.1.4.1.9.9.826.1.20.88.1.7.10871|4x|666f7277617264206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.88.1.7.21240|4x|64726976696e6720666f7277617264204a6164656420746865697220666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.88.1.7.65319|4x|6b657074204a6164656420616374656420616374656420666f727761726420627574206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.88.1.8.8579|4x|717561696e746c79206b657074206163746564 +1.3.6.1.4.1.9.9.826.1.20.88.1.8.10871|4x|666f7277617264207a6f6d6269657320746865697220666f7277617264204a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.88.1.8.21240|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.88.1.8.65319|4x|717561696e746c79206275742062757420627574 +1.3.6.1.4.1.9.9.826.1.20.88.1.9.8579|66|3349377419 +1.3.6.1.4.1.9.9.826.1.20.88.1.9.10871|66|2727523274 +1.3.6.1.4.1.9.9.826.1.20.88.1.9.21240|66|1662363984 +1.3.6.1.4.1.9.9.826.1.20.88.1.9.65319|66|3977156908 +1.3.6.1.4.1.9.9.826.1.20.88.1.10.8579|2|0 +1.3.6.1.4.1.9.9.826.1.20.88.1.10.10871|2|2 +1.3.6.1.4.1.9.9.826.1.20.88.1.10.21240|2|2 +1.3.6.1.4.1.9.9.826.1.20.88.1.10.65319|2|1 +1.3.6.1.4.1.9.9.826.1.20.89.1.1.14989|66|14989 +1.3.6.1.4.1.9.9.826.1.20.89.1.1.18731|66|18731 +1.3.6.1.4.1.9.9.826.1.20.89.1.1.26705|66|26705 +1.3.6.1.4.1.9.9.826.1.20.89.1.1.41272|66|41272 +1.3.6.1.4.1.9.9.826.1.20.89.1.2.14989|4x|616374656420717561696e746c79204a6164656420666f7277617264207a6f6d62696573206f78656e20666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.89.1.2.18731|4x|6f78656e20717561696e746c792062757420717561696e746c792064726976696e67207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.89.1.2.26705|4x|4a61646564206163746564206b657074206163746564206163746564206b65707420717561696e746c79207468656972207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.89.1.2.41272|4x|64726976696e67206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.89.1.3.14989|4x|6f78656e2062757420666f7277617264206163746564204a6164656420666f727761726420627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.89.1.3.18731|4x|4a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.89.1.3.26705|4x|7a6f6d62696573204a61646564 +1.3.6.1.4.1.9.9.826.1.20.89.1.3.41272|4x|6163746564207a6f6d6269657320627574207468656972204a61646564 +1.3.6.1.4.1.9.9.826.1.20.89.1.4.14989|2|2 +1.3.6.1.4.1.9.9.826.1.20.89.1.4.18731|2|1 +1.3.6.1.4.1.9.9.826.1.20.89.1.4.26705|2|1 +1.3.6.1.4.1.9.9.826.1.20.89.1.4.41272|2|2 +1.3.6.1.4.1.9.9.826.1.20.89.1.5.14989|2|2 +1.3.6.1.4.1.9.9.826.1.20.89.1.5.18731|2|1 +1.3.6.1.4.1.9.9.826.1.20.89.1.5.26705|2|2 +1.3.6.1.4.1.9.9.826.1.20.89.1.5.41272|2|1 +1.3.6.1.4.1.9.9.826.1.20.89.1.6.14989|66|2448079172 +1.3.6.1.4.1.9.9.826.1.20.89.1.6.18731|66|1387198445 +1.3.6.1.4.1.9.9.826.1.20.89.1.6.26705|66|4053626726 +1.3.6.1.4.1.9.9.826.1.20.89.1.6.41272|66|3585754568 +1.3.6.1.4.1.9.9.826.1.20.89.1.7.14989|66|2428094107 +1.3.6.1.4.1.9.9.826.1.20.89.1.7.18731|66|1357400222 +1.3.6.1.4.1.9.9.826.1.20.89.1.7.26705|66|985429876 +1.3.6.1.4.1.9.9.826.1.20.89.1.7.41272|66|425050288 +1.3.6.1.4.1.9.9.826.1.20.89.1.8.14989|66|3863663744 +1.3.6.1.4.1.9.9.826.1.20.89.1.8.18731|66|960765839 +1.3.6.1.4.1.9.9.826.1.20.89.1.8.26705|66|1845631634 +1.3.6.1.4.1.9.9.826.1.20.89.1.8.41272|66|3474170408 +1.3.6.1.4.1.9.9.826.1.20.89.1.9.14989|66|2802173059 +1.3.6.1.4.1.9.9.826.1.20.89.1.9.18731|66|1414197064 +1.3.6.1.4.1.9.9.826.1.20.89.1.9.26705|66|2058585018 +1.3.6.1.4.1.9.9.826.1.20.89.1.9.41272|66|1854849657 +1.3.6.1.4.1.9.9.826.1.20.89.1.10.14989|66|456716189 +1.3.6.1.4.1.9.9.826.1.20.89.1.10.18731|66|363072591 +1.3.6.1.4.1.9.9.826.1.20.89.1.10.26705|66|3038330200 +1.3.6.1.4.1.9.9.826.1.20.89.1.10.41272|66|3203406368 +1.3.6.1.4.1.9.9.826.1.20.89.1.11.14989|4x|6f78656e206163746564207a6f6d62696573206163746564206f78656e20717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.89.1.11.18731|4x|717561696e746c79206f78656e204a61646564204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.89.1.11.26705|4x|666f727761726420627574206f78656e207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.89.1.11.41272|4x|4a61646564206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.89.1.12.14989|4x|7a6f6d6269657320717561696e746c79206b65707420627574204a61646564206f78656e207a6f6d62696573207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.89.1.12.18731|4x|666f7277617264206f78656e20666f72776172642064726976696e67207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.89.1.12.26705|4x|64726976696e6720666f727761726420666f727761726420616374656420627574207a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.89.1.12.41272|4x|717561696e746c79206275742074686569722064726976696e67206b65707420666f727761726420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.89.1.13.14989|66|499778846 +1.3.6.1.4.1.9.9.826.1.20.89.1.13.18731|66|4009288079 +1.3.6.1.4.1.9.9.826.1.20.89.1.13.26705|66|2559595831 +1.3.6.1.4.1.9.9.826.1.20.89.1.13.41272|66|2440940206 +1.3.6.1.4.1.9.9.826.1.20.89.1.14.14989|4x|7a6f6d62696573207a6f6d626965732062757420627574207a6f6d62696573206b6570742064726976696e6720717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.89.1.14.18731|4x|6f78656e20627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.89.1.14.26705|4x|717561696e746c7920666f727761726420746865697220627574207468656972207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.89.1.14.41272|4x|717561696e746c7920666f7277617264204a61646564206275742074686569722061637465642064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.89.1.15.14989|4x|627574204a616465642064726976696e67204a61646564206f78656e20746865697220627574 +1.3.6.1.4.1.9.9.826.1.20.89.1.15.18731|4x|7a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.89.1.15.26705|4x|6275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.89.1.15.41272|4x|6f78656e206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.90.1.1.32443|66|32443 +1.3.6.1.4.1.9.9.826.1.20.90.1.1.46006|66|46006 +1.3.6.1.4.1.9.9.826.1.20.90.1.1.51990|66|51990 +1.3.6.1.4.1.9.9.826.1.20.90.1.1.55024|66|55024 +1.3.6.1.4.1.9.9.826.1.20.90.1.2.32443|4x|6b6570742064726976696e67207a6f6d62696573204a616465642064726976696e67207468656972207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.90.1.2.46006|4x|6f78656e20717561696e746c792064726976696e6720627574206b657074206275742064726976696e6720717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.90.1.2.51990|4x|4a61646564206163746564206f78656e2064726976696e67204a61646564204a61646564206163746564206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.90.1.2.55024|4x|6163746564204a616465642061637465642064726976696e672064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.90.1.3.32443|4x|717561696e746c7920616374656420717561696e746c79206f78656e2064726976696e67204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.90.1.3.46006|4x|6163746564207468656972206f78656e +1.3.6.1.4.1.9.9.826.1.20.90.1.3.51990|4x|7a6f6d626965732074686569722064726976696e67206f78656e206b657074206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.90.1.3.55024|4x|717561696e746c7920717561696e746c79206163746564206b657074207a6f6d62696573206b657074206b657074 +1.3.6.1.4.1.9.9.826.1.20.90.1.4.32443|2|1 +1.3.6.1.4.1.9.9.826.1.20.90.1.4.46006|2|1 +1.3.6.1.4.1.9.9.826.1.20.90.1.4.51990|2|1 +1.3.6.1.4.1.9.9.826.1.20.90.1.4.55024|2|1 +1.3.6.1.4.1.9.9.826.1.20.90.1.5.32443|2|1 +1.3.6.1.4.1.9.9.826.1.20.90.1.5.46006|2|1 +1.3.6.1.4.1.9.9.826.1.20.90.1.5.51990|2|2 +1.3.6.1.4.1.9.9.826.1.20.90.1.5.55024|2|1 +1.3.6.1.4.1.9.9.826.1.20.90.1.6.32443|66|4016486065 +1.3.6.1.4.1.9.9.826.1.20.90.1.6.46006|66|3065039713 +1.3.6.1.4.1.9.9.826.1.20.90.1.6.51990|66|3721466931 +1.3.6.1.4.1.9.9.826.1.20.90.1.6.55024|66|3400197748 +1.3.6.1.4.1.9.9.826.1.20.90.1.7.32443|66|3039240130 +1.3.6.1.4.1.9.9.826.1.20.90.1.7.46006|66|308789354 +1.3.6.1.4.1.9.9.826.1.20.90.1.7.51990|66|3589868334 +1.3.6.1.4.1.9.9.826.1.20.90.1.7.55024|66|2077740154 +1.3.6.1.4.1.9.9.826.1.20.90.1.8.32443|66|2968340055 +1.3.6.1.4.1.9.9.826.1.20.90.1.8.46006|66|3549405835 +1.3.6.1.4.1.9.9.826.1.20.90.1.8.51990|66|2667033997 +1.3.6.1.4.1.9.9.826.1.20.90.1.8.55024|66|2573853673 +1.3.6.1.4.1.9.9.826.1.20.90.1.9.32443|66|2739514028 +1.3.6.1.4.1.9.9.826.1.20.90.1.9.46006|66|537715369 +1.3.6.1.4.1.9.9.826.1.20.90.1.9.51990|66|4231416995 +1.3.6.1.4.1.9.9.826.1.20.90.1.9.55024|66|978918143 +1.3.6.1.4.1.9.9.826.1.20.90.1.10.32443|66|3658882258 +1.3.6.1.4.1.9.9.826.1.20.90.1.10.46006|66|4193193740 +1.3.6.1.4.1.9.9.826.1.20.90.1.10.51990|66|4135729710 +1.3.6.1.4.1.9.9.826.1.20.90.1.10.55024|66|2586661917 +1.3.6.1.4.1.9.9.826.1.20.90.1.11.32443|4x|666f7277617264206163746564207a6f6d62696573207468656972206f78656e +1.3.6.1.4.1.9.9.826.1.20.90.1.11.46006|4x|74686569722064726976696e6720666f727761726420666f727761726420616374656420627574206f78656e +1.3.6.1.4.1.9.9.826.1.20.90.1.11.51990|4x|4a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.90.1.11.55024|4|zombies +1.3.6.1.4.1.9.9.826.1.20.90.1.12.32443|4x|627574206f78656e +1.3.6.1.4.1.9.9.826.1.20.90.1.12.46006|4x|6b657074206f78656e207a6f6d6269657320627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.90.1.12.51990|4x|746865697220717561696e746c79206b65707420717561696e746c79207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.90.1.12.55024|4x|666f7277617264204a61646564206275742062757420616374656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.90.1.13.32443|66|3081838693 +1.3.6.1.4.1.9.9.826.1.20.90.1.13.46006|66|1796395231 +1.3.6.1.4.1.9.9.826.1.20.90.1.13.51990|66|490328785 +1.3.6.1.4.1.9.9.826.1.20.90.1.13.55024|66|1665609742 +1.3.6.1.4.1.9.9.826.1.20.90.1.14.32443|4|forward +1.3.6.1.4.1.9.9.826.1.20.90.1.14.46006|4x|64726976696e67206f78656e +1.3.6.1.4.1.9.9.826.1.20.90.1.14.51990|4|kept +1.3.6.1.4.1.9.9.826.1.20.90.1.14.55024|4x|4a61646564204a61646564206f78656e20717561696e746c79206f78656e20627574 +1.3.6.1.4.1.9.9.826.1.20.90.1.15.32443|4x|746865697220666f7277617264207a6f6d62696573207a6f6d6269657320717561696e746c79206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.90.1.15.46006|4x|4a616465642061637465642061637465642074686569722062757420616374656420666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.90.1.15.51990|4x|627574206f78656e206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.90.1.15.55024|4x|746865697220666f727761726420666f7277617264207468656972206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.91.1.1.14185|66|14185 +1.3.6.1.4.1.9.9.826.1.20.91.1.1.17893|66|17893 +1.3.6.1.4.1.9.9.826.1.20.91.1.1.28883|66|28883 +1.3.6.1.4.1.9.9.826.1.20.91.1.1.29133|66|29133 +1.3.6.1.4.1.9.9.826.1.20.91.1.2.14185|4x|6f78656e204a6164656420616374656420627574207a6f6d62696573206b657074 +1.3.6.1.4.1.9.9.826.1.20.91.1.2.17893|4x|6b657074207a6f6d62696573206b657074 +1.3.6.1.4.1.9.9.826.1.20.91.1.2.28883|4x|64726976696e6720616374656420666f727761726420666f72776172642064726976696e6720666f7277617264207a6f6d62696573206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.91.1.2.29133|4x|7a6f6d62696573206163746564204a616465642064726976696e6720616374656420717561696e746c7920666f7277617264206f78656e +1.3.6.1.4.1.9.9.826.1.20.91.1.3.14185|4x|6b65707420666f7277617264206f78656e20666f727761726420746865697220717561696e746c79206f78656e20627574 +1.3.6.1.4.1.9.9.826.1.20.91.1.3.17893|4x|717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.91.1.3.28883|4x|616374656420666f727761726420717561696e746c79206f78656e20746865697220666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.91.1.3.29133|4x|7a6f6d62696573206b65707420627574206f78656e20627574 +1.3.6.1.4.1.9.9.826.1.20.91.1.4.14185|2|1 +1.3.6.1.4.1.9.9.826.1.20.91.1.4.17893|2|0 +1.3.6.1.4.1.9.9.826.1.20.91.1.4.28883|2|2 +1.3.6.1.4.1.9.9.826.1.20.91.1.4.29133|2|2 +1.3.6.1.4.1.9.9.826.1.20.91.1.5.14185|66|2443935815 +1.3.6.1.4.1.9.9.826.1.20.91.1.5.17893|66|4089951976 +1.3.6.1.4.1.9.9.826.1.20.91.1.5.28883|66|3080744599 +1.3.6.1.4.1.9.9.826.1.20.91.1.5.29133|66|1805945162 +1.3.6.1.4.1.9.9.826.1.20.91.1.6.14185|66|1603252065 +1.3.6.1.4.1.9.9.826.1.20.91.1.6.17893|66|2476938503 +1.3.6.1.4.1.9.9.826.1.20.91.1.6.28883|66|1263699204 +1.3.6.1.4.1.9.9.826.1.20.91.1.6.29133|66|1843170577 +1.3.6.1.4.1.9.9.826.1.20.91.1.7.14185|66|2676059084 +1.3.6.1.4.1.9.9.826.1.20.91.1.7.17893|66|1415294517 +1.3.6.1.4.1.9.9.826.1.20.91.1.7.28883|66|3310964970 +1.3.6.1.4.1.9.9.826.1.20.91.1.7.29133|66|536292083 +1.3.6.1.4.1.9.9.826.1.20.91.1.8.14185|66|1966090118 +1.3.6.1.4.1.9.9.826.1.20.91.1.8.17893|66|3139191281 +1.3.6.1.4.1.9.9.826.1.20.91.1.8.28883|66|4096955947 +1.3.6.1.4.1.9.9.826.1.20.91.1.8.29133|66|2930427470 +1.3.6.1.4.1.9.9.826.1.20.91.1.9.14185|66|821045802 +1.3.6.1.4.1.9.9.826.1.20.91.1.9.17893|66|1929635559 +1.3.6.1.4.1.9.9.826.1.20.91.1.9.28883|66|2062525948 +1.3.6.1.4.1.9.9.826.1.20.91.1.9.29133|66|4259377414 +1.3.6.1.4.1.9.9.826.1.20.91.1.10.14185|66|2273019562 +1.3.6.1.4.1.9.9.826.1.20.91.1.10.17893|66|3226599460 +1.3.6.1.4.1.9.9.826.1.20.91.1.10.28883|66|594760276 +1.3.6.1.4.1.9.9.826.1.20.91.1.10.29133|66|1222700019 +1.3.6.1.4.1.9.9.826.1.20.91.1.11.14185|66|3989898570 +1.3.6.1.4.1.9.9.826.1.20.91.1.11.17893|66|4158591962 +1.3.6.1.4.1.9.9.826.1.20.91.1.11.28883|66|1994801861 +1.3.6.1.4.1.9.9.826.1.20.91.1.11.29133|66|1757072694 +1.3.6.1.4.1.9.9.826.1.20.91.1.12.14185|66|1207245117 +1.3.6.1.4.1.9.9.826.1.20.91.1.12.17893|66|2830796639 +1.3.6.1.4.1.9.9.826.1.20.91.1.12.28883|66|3459559705 +1.3.6.1.4.1.9.9.826.1.20.91.1.12.29133|66|2396062232 +1.3.6.1.4.1.9.9.826.1.20.91.1.13.14185|66|1268395823 +1.3.6.1.4.1.9.9.826.1.20.91.1.13.17893|66|2000203221 +1.3.6.1.4.1.9.9.826.1.20.91.1.13.28883|66|206173849 +1.3.6.1.4.1.9.9.826.1.20.91.1.13.29133|66|3906819606 +1.3.6.1.4.1.9.9.826.1.20.91.1.14.14185|2|2 +1.3.6.1.4.1.9.9.826.1.20.91.1.14.17893|2|1 +1.3.6.1.4.1.9.9.826.1.20.91.1.14.28883|2|2 +1.3.6.1.4.1.9.9.826.1.20.91.1.14.29133|2|2 +1.3.6.1.4.1.9.9.826.1.20.91.1.15.14185|4x|6f78656e207a6f6d6269657320666f72776172642061637465642064726976696e67207468656972204a6164656420666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.91.1.15.17893|4|oxen +1.3.6.1.4.1.9.9.826.1.20.91.1.15.28883|4x|6163746564207468656972206f78656e20616374656420666f7277617264204a61646564207a6f6d62696573204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.91.1.15.29133|4x|6b6570742064726976696e6720666f727761726420616374656420666f727761726420717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.91.1.16.14185|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.91.1.16.17893|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.91.1.16.28883|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.91.1.16.29133|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.91.1.17.14185|66|1901863769 +1.3.6.1.4.1.9.9.826.1.20.91.1.17.17893|66|971923634 +1.3.6.1.4.1.9.9.826.1.20.91.1.17.28883|66|3783886355 +1.3.6.1.4.1.9.9.826.1.20.91.1.17.29133|66|3531041379 +1.3.6.1.4.1.9.9.826.1.20.92.1.1.7117|66|7117 +1.3.6.1.4.1.9.9.826.1.20.92.1.1.24112|66|24112 +1.3.6.1.4.1.9.9.826.1.20.92.1.1.26537|66|26537 +1.3.6.1.4.1.9.9.826.1.20.92.1.1.38469|66|38469 +1.3.6.1.4.1.9.9.826.1.20.92.1.2.7117|4x|616374656420627574206b65707420627574206163746564206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.92.1.2.24112|4|acted +1.3.6.1.4.1.9.9.826.1.20.92.1.2.26537|4x|62757420666f7277617264206f78656e2064726976696e67204a6164656420627574204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.92.1.2.38469|4x|7468656972206b6570742064726976696e6720666f72776172642062757420746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.92.1.3.7117|4x|4a61646564206275742064726976696e67207468656972206b657074206b657074206b657074 +1.3.6.1.4.1.9.9.826.1.20.92.1.3.24112|4x|6f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.92.1.3.26537|4x|6f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.92.1.3.38469|4x|666f72776172642074686569722064726976696e672064726976696e6720746865697220717561696e746c79206b6570742062757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.92.1.4.7117|66|4144862313 +1.3.6.1.4.1.9.9.826.1.20.92.1.4.24112|66|3396110484 +1.3.6.1.4.1.9.9.826.1.20.92.1.4.26537|66|3509771638 +1.3.6.1.4.1.9.9.826.1.20.92.1.4.38469|66|356366458 +1.3.6.1.4.1.9.9.826.1.20.92.1.5.7117|66|1167330291 +1.3.6.1.4.1.9.9.826.1.20.92.1.5.24112|66|4030646026 +1.3.6.1.4.1.9.9.826.1.20.92.1.5.26537|66|3642316829 +1.3.6.1.4.1.9.9.826.1.20.92.1.5.38469|66|230323512 +1.3.6.1.4.1.9.9.826.1.20.92.1.6.7117|66|1561903864 +1.3.6.1.4.1.9.9.826.1.20.92.1.6.24112|66|4073693343 +1.3.6.1.4.1.9.9.826.1.20.92.1.6.26537|66|1508465834 +1.3.6.1.4.1.9.9.826.1.20.92.1.6.38469|66|3946161247 +1.3.6.1.4.1.9.9.826.1.20.92.1.7.7117|66|1800885839 +1.3.6.1.4.1.9.9.826.1.20.92.1.7.24112|66|2848977352 +1.3.6.1.4.1.9.9.826.1.20.92.1.7.26537|66|2688213687 +1.3.6.1.4.1.9.9.826.1.20.92.1.7.38469|66|1176191931 +1.3.6.1.4.1.9.9.826.1.20.92.1.8.7117|70|6608484538814019271 +1.3.6.1.4.1.9.9.826.1.20.92.1.8.24112|70|7963286920117676560 +1.3.6.1.4.1.9.9.826.1.20.92.1.8.26537|70|12383433039218322708 +1.3.6.1.4.1.9.9.826.1.20.92.1.8.38469|70|1864875764620557350 +1.3.6.1.4.1.9.9.826.1.20.92.1.9.7117|2|1 +1.3.6.1.4.1.9.9.826.1.20.92.1.9.24112|2|2 +1.3.6.1.4.1.9.9.826.1.20.92.1.9.26537|2|1 +1.3.6.1.4.1.9.9.826.1.20.92.1.9.38469|2|2 +1.3.6.1.4.1.9.9.826.1.20.92.1.10.7117|66|1759029622 +1.3.6.1.4.1.9.9.826.1.20.92.1.10.24112|66|1985442062 +1.3.6.1.4.1.9.9.826.1.20.92.1.10.26537|66|3618789483 +1.3.6.1.4.1.9.9.826.1.20.92.1.10.38469|66|792237591 +1.3.6.1.4.1.9.9.826.1.20.92.1.11.7117|66|3285136298 +1.3.6.1.4.1.9.9.826.1.20.92.1.11.24112|66|387692933 +1.3.6.1.4.1.9.9.826.1.20.92.1.11.26537|66|2200819577 +1.3.6.1.4.1.9.9.826.1.20.92.1.11.38469|66|2378088875 +1.3.6.1.4.1.9.9.826.1.20.92.1.12.7117|66|2822568841 +1.3.6.1.4.1.9.9.826.1.20.92.1.12.24112|66|1267443236 +1.3.6.1.4.1.9.9.826.1.20.92.1.12.26537|66|3935440545 +1.3.6.1.4.1.9.9.826.1.20.92.1.12.38469|66|2446113209 +1.3.6.1.4.1.9.9.826.1.20.92.1.13.7117|66|52108805 +1.3.6.1.4.1.9.9.826.1.20.92.1.13.24112|66|3062439584 +1.3.6.1.4.1.9.9.826.1.20.92.1.13.26537|66|3648204227 +1.3.6.1.4.1.9.9.826.1.20.92.1.13.38469|66|3332014540 +1.3.6.1.4.1.9.9.826.1.20.92.1.14.7117|2|1 +1.3.6.1.4.1.9.9.826.1.20.92.1.14.24112|2|2 +1.3.6.1.4.1.9.9.826.1.20.92.1.14.26537|2|1 +1.3.6.1.4.1.9.9.826.1.20.92.1.14.38469|2|1 +1.3.6.1.4.1.9.9.826.1.20.92.1.15.7117|4x|627574206163746564206275742064726976696e67206f78656e20627574206f78656e206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.92.1.15.24112|4x|4a61646564207468656972204a61646564206b657074207a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.92.1.15.26537|4x|62757420717561696e746c79207a6f6d6269657320666f7277617264206f78656e20627574 +1.3.6.1.4.1.9.9.826.1.20.92.1.15.38469|4x|4a6164656420746865697220627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.92.1.16.7117|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.92.1.16.24112|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.92.1.16.26537|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.92.1.16.38469|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.93.1.1.3625|66|3625 +1.3.6.1.4.1.9.9.826.1.20.93.1.1.8164|66|8164 +1.3.6.1.4.1.9.9.826.1.20.93.1.1.37448|66|37448 +1.3.6.1.4.1.9.9.826.1.20.93.1.1.53872|66|53872 +1.3.6.1.4.1.9.9.826.1.20.93.1.2.3625|4x|7a6f6d626965732062757420746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.93.1.2.8164|4|zombies +1.3.6.1.4.1.9.9.826.1.20.93.1.2.37448|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.93.1.2.53872|4x|64726976696e6720717561696e746c79206b65707420616374656420627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.93.1.3.3625|4x|64726976696e67207468656972206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.93.1.3.8164|4x|627574206f78656e207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.93.1.3.37448|4x|6b657074206163746564 +1.3.6.1.4.1.9.9.826.1.20.93.1.3.53872|4x|64726976696e67206f78656e207a6f6d62696573206163746564206163746564207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.93.1.4.3625|4x|666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.93.1.4.8164|4x|7a6f6d62696573206b65707420666f7277617264206f78656e2064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.93.1.4.37448|4x|616374656420666f7277617264207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.93.1.4.53872|4x|666f72776172642074686569722064726976696e67206163746564206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.93.1.5.3625|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.93.1.5.8164|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.93.1.5.37448|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.93.1.5.53872|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.93.1.6.3625|4x|6b657074206275742064726976696e67207a6f6d6269657320627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.93.1.6.8164|4x|64726976696e67204a61646564204a616465642061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.93.1.6.37448|4x|4a61646564206163746564206b65707420717561696e746c7920627574206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.93.1.6.53872|4x|6b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.93.1.7.3625|4x|6f78656e2064726976696e6720627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.93.1.7.8164|4x|627574207468656972206163746564206163746564206b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.93.1.7.37448|4x|627574207a6f6d626965732062757420746865697220717561696e746c7920627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.93.1.7.53872|4x|666f7277617264206b657074207468656972204a61646564 +1.3.6.1.4.1.9.9.826.1.20.93.1.8.3625|4x|74686569722064726976696e672062757420717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.93.1.8.8164|4x|627574207468656972207468656972206b65707420666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.93.1.8.37448|4x|64726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.93.1.8.53872|4|driving +1.3.6.1.4.1.9.9.826.1.20.93.1.9.3625|4x|717561696e746c7920627574206f78656e20717561696e746c79204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.93.1.9.8164|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.93.1.9.37448|4x|6163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.93.1.9.53872|4x|4a61646564206163746564206b657074206163746564 +1.3.6.1.4.1.9.9.826.1.20.93.1.10.3625|4x|7a6f6d6269657320616374656420616374656420746865697220717561696e746c79204a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.93.1.10.8164|4|acted +1.3.6.1.4.1.9.9.826.1.20.93.1.10.37448|4x|7a6f6d6269657320627574204a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.93.1.10.53872|4x|7468656972206163746564204a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.93.1.11.3625|2|2 +1.3.6.1.4.1.9.9.826.1.20.93.1.11.8164|2|0 +1.3.6.1.4.1.9.9.826.1.20.93.1.11.37448|2|0 +1.3.6.1.4.1.9.9.826.1.20.93.1.11.53872|2|0 +1.3.6.1.4.1.9.9.826.1.20.93.1.12.3625|4x|6163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.93.1.12.8164|4x|4a6164656420627574207468656972206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.93.1.12.37448|4x|717561696e746c7920717561696e746c792064726976696e67206b65707420717561696e746c7920627574206163746564206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.93.1.12.53872|4x|627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.93.1.13.3625|2|4 +1.3.6.1.4.1.9.9.826.1.20.93.1.13.8164|2|1 +1.3.6.1.4.1.9.9.826.1.20.93.1.13.37448|2|0 +1.3.6.1.4.1.9.9.826.1.20.93.1.13.53872|2|5 +1.3.6.1.4.1.9.9.826.1.20.93.1.14.3625|4x|666f727761726420666f7277617264207a6f6d6269657320666f727761726420717561696e746c7920746865697220616374656420666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.93.1.14.8164|4x|7468656972206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.93.1.14.37448|4x|666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.93.1.14.53872|4x|746865697220666f7277617264206f78656e206b657074206163746564 +1.3.6.1.4.1.9.9.826.1.20.93.1.15.3625|66|2154044058 +1.3.6.1.4.1.9.9.826.1.20.93.1.15.8164|66|2939097702 +1.3.6.1.4.1.9.9.826.1.20.93.1.15.37448|66|3648353193 +1.3.6.1.4.1.9.9.826.1.20.93.1.15.53872|66|1972062287 +1.3.6.1.4.1.9.9.826.1.20.94.1.1.812|66|812 +1.3.6.1.4.1.9.9.826.1.20.94.1.1.6543|66|6543 +1.3.6.1.4.1.9.9.826.1.20.94.1.1.9625|66|9625 +1.3.6.1.4.1.9.9.826.1.20.94.1.1.9963|66|9963 +1.3.6.1.4.1.9.9.826.1.20.94.1.2.812|4x|7a6f6d62696573206b65707420627574207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.94.1.2.6543|4x|7468656972204a616465642064726976696e67206f78656e +1.3.6.1.4.1.9.9.826.1.20.94.1.2.9625|4x|6f78656e20627574206f78656e20666f72776172642074686569722064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.94.1.2.9963|4x|7a6f6d62696573207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.94.1.3.812|4x|4a61646564206163746564206163746564206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.94.1.3.6543|4x|6163746564206f78656e2064726976696e67207468656972207a6f6d6269657320666f72776172642064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.94.1.3.9625|4x|7a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.94.1.3.9963|4x|7a6f6d62696573206b657074204a61646564206f78656e207a6f6d62696573204a6164656420616374656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.94.1.4.812|4x|64726976696e67207a6f6d626965732064726976696e67206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.94.1.4.6543|4x|7a6f6d6269657320666f727761726420717561696e746c7920616374656420666f7277617264207a6f6d62696573206b65707420717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.94.1.4.9625|4x|6f78656e206b6570742064726976696e6720717561696e746c79207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.94.1.4.9963|4x|666f7277617264206b6570742064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.94.1.5.812|4x|666f727761726420717561696e746c79206b657074207468656972206b65707420627574206163746564206f78656e207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.94.1.5.6543|4x|6f78656e20746865697220666f7277617264206f78656e20627574206b65707420717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.94.1.5.9625|4x|717561696e746c79206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.94.1.5.9963|4x|627574204a61646564204a61646564204a61646564207468656972 +1.3.6.1.4.1.9.9.826.1.20.94.1.6.812|4x|6f78656e2062757420746865697220717561696e746c792061637465642064726976696e6720717561696e746c79206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.94.1.6.6543|4x|7468656972206f78656e20666f72776172642062757420717561696e746c79204a6164656420666f727761726420627574 +1.3.6.1.4.1.9.9.826.1.20.94.1.6.9625|4x|64726976696e6720746865697220717561696e746c79206275742064726976696e67206163746564206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.94.1.6.9963|4x|627574207a6f6d62696573206f78656e20746865697220666f727761726420666f7277617264206f78656e20627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.94.1.7.812|4x|6163746564206f78656e20717561696e746c792061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.94.1.7.6543|4x|7a6f6d6269657320666f7277617264207a6f6d626965732061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.94.1.7.9625|4x|6163746564206f78656e2064726976696e67206b657074206b657074 +1.3.6.1.4.1.9.9.826.1.20.94.1.7.9963|4x|6b657074204a61646564204a61646564207a6f6d62696573206f78656e20666f727761726420666f72776172642062757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.94.1.8.812|4x|61637465642064726976696e672062757420717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.94.1.8.6543|4|forward +1.3.6.1.4.1.9.9.826.1.20.94.1.8.9625|4x|666f727761726420746865697220627574207a6f6d6269657320627574206163746564207468656972206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.94.1.8.9963|4x|7a6f6d626965732064726976696e672062757420746865697220717561696e746c79204a6164656420717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.94.1.9.812|4x|746865697220717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.94.1.9.6543|4x|7468656972206163746564206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.94.1.9.9625|4x|746865697220666f727761726420627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.94.1.9.9963|4x|6f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.94.1.10.812|2|2 +1.3.6.1.4.1.9.9.826.1.20.94.1.10.6543|2|0 +1.3.6.1.4.1.9.9.826.1.20.94.1.10.9625|2|2 +1.3.6.1.4.1.9.9.826.1.20.94.1.10.9963|2|0 +1.3.6.1.4.1.9.9.826.1.20.94.1.11.812|4x|666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.94.1.11.6543|4x|627574206f78656e +1.3.6.1.4.1.9.9.826.1.20.94.1.11.9625|4|forward +1.3.6.1.4.1.9.9.826.1.20.94.1.11.9963|4x|6f78656e206b657074206f78656e2064726976696e67206b65707420616374656420616374656420666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.94.1.12.812|2|2 +1.3.6.1.4.1.9.9.826.1.20.94.1.12.6543|2|1 +1.3.6.1.4.1.9.9.826.1.20.94.1.12.9625|2|4 +1.3.6.1.4.1.9.9.826.1.20.94.1.12.9963|2|2 +1.3.6.1.4.1.9.9.826.1.20.95.1.1.35599|66|35599 +1.3.6.1.4.1.9.9.826.1.20.95.1.1.46923|66|46923 +1.3.6.1.4.1.9.9.826.1.20.95.1.1.57001|66|57001 +1.3.6.1.4.1.9.9.826.1.20.95.1.1.57040|66|57040 +1.3.6.1.4.1.9.9.826.1.20.95.1.2.35599|4x|717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.95.1.2.46923|4x|717561696e746c79206f78656e20717561696e746c79204a616465642064726976696e6720717561696e746c79207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.95.1.2.57001|4x|7a6f6d62696573206b657074207468656972206f78656e20717561696e746c79206b657074204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.95.1.2.57040|4x|7a6f6d62696573204a61646564204a616465642062757420717561696e746c7920717561696e746c792064726976696e6720717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.95.1.3.35599|4x|61637465642064726976696e672064726976696e672064726976696e67207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.95.1.3.46923|4x|7a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.95.1.3.57001|4x|64726976696e6720666f7277617264207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.95.1.3.57040|4x|7468656972207a6f6d6269657320717561696e746c79206163746564206f78656e2064726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.95.1.4.35599|4x|62757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.95.1.4.46923|4x|7a6f6d6269657320666f727761726420746865697220627574207a6f6d6269657320666f7277617264207a6f6d6269657320746865697220627574 +1.3.6.1.4.1.9.9.826.1.20.95.1.4.57001|4x|717561696e746c79206b65707420717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.95.1.4.57040|4x|6b657074207a6f6d6269657320627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.95.1.5.35599|4x|61637465642064726976696e6720717561696e746c792064726976696e67206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.95.1.5.46923|4x|7468656972204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.95.1.5.57001|4x|6b6570742064726976696e67207a6f6d6269657320717561696e746c79207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.95.1.5.57040|4x|717561696e746c7920717561696e746c79204a61646564204a61646564206b657074207468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.95.1.6.35599|4x|64726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.95.1.6.46923|4x|666f7277617264204a6164656420717561696e746c79204a6164656420746865697220717561696e746c7920666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.95.1.6.57001|4x|6163746564207a6f6d6269657320746865697220666f7277617264206f78656e +1.3.6.1.4.1.9.9.826.1.20.95.1.6.57040|4x|7a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.95.1.7.35599|4x|7468656972206f78656e +1.3.6.1.4.1.9.9.826.1.20.95.1.7.46923|4x|6f78656e2062757420627574206b657074207a6f6d62696573206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.95.1.7.57001|4x|64726976696e672064726976696e67206b657074204a61646564206b657074207468656972206b65707420627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.95.1.7.57040|4x|7a6f6d6269657320616374656420666f727761726420717561696e746c79204a61646564206b657074206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.95.1.8.35599|4x|717561696e746c79206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.95.1.8.46923|4x|7468656972206f78656e2074686569722061637465642074686569722064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.95.1.8.57001|4x|6163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.95.1.8.57040|4x|6b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.95.1.9.35599|4x|4a61646564207a6f6d6269657320627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.95.1.9.46923|4x|6b65707420627574207468656972206b6570742064726976696e6720666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.95.1.9.57001|4x|6b65707420616374656420717561696e746c79207468656972204a616465642061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.95.1.9.57040|4x|7a6f6d62696573206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.95.1.10.35599|4x|64726976696e67207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.20.95.1.10.46923|4x|62757420616374656420616374656420746865697220746865697220666f727761726420666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.95.1.10.57001|4x|4a616465642061637465642061637465642064726976696e67206f78656e2064726976696e67207a6f6d6269657320627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.95.1.10.57040|4x|6b657074204a61646564204a61646564206b657074207a6f6d6269657320717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.96.1.1.15484|66|15484 +1.3.6.1.4.1.9.9.826.1.20.96.1.1.26373|66|26373 +1.3.6.1.4.1.9.9.826.1.20.96.1.1.41832|66|41832 +1.3.6.1.4.1.9.9.826.1.20.96.1.1.63902|66|63902 +1.3.6.1.4.1.9.9.826.1.20.96.1.2.15484|4x|64726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.96.1.2.26373|4|forward +1.3.6.1.4.1.9.9.826.1.20.96.1.2.41832|4x|7a6f6d6269657320717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.96.1.2.63902|4x|666f7277617264204a6164656420717561696e746c792062757420717561696e746c7920616374656420717561696e746c79206b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.96.1.3.15484|4x|4a61646564206f78656e206f78656e20627574206163746564206b65707420627574206f78656e +1.3.6.1.4.1.9.9.826.1.20.96.1.3.26373|4x|6f78656e20717561696e746c792064726976696e6720666f72776172642064726976696e6720666f727761726420666f727761726420746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.96.1.3.41832|4x|627574207468656972207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.20.96.1.3.63902|4x|7a6f6d62696573206b657074206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.96.1.4.15484|4x|61637465642062757420717561696e746c79204a6164656420717561696e746c7920666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.96.1.4.26373|4x|6f78656e206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.96.1.4.41832|4x|666f7277617264206f78656e206b65707420717561696e746c79207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.96.1.4.63902|4|oxen +1.3.6.1.4.1.9.9.826.1.20.96.1.5.15484|4x|6f78656e20717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.96.1.5.26373|4x|4a61646564206b6570742061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.96.1.5.41832|4x|6b657074207a6f6d62696573206163746564207a6f6d6269657320717561696e746c79204a61646564207a6f6d62696573204a61646564 +1.3.6.1.4.1.9.9.826.1.20.96.1.5.63902|4|acted +1.3.6.1.4.1.9.9.826.1.20.97.1.1.30515|66|30515 +1.3.6.1.4.1.9.9.826.1.20.97.1.1.36690|66|36690 +1.3.6.1.4.1.9.9.826.1.20.97.1.1.38753|66|38753 +1.3.6.1.4.1.9.9.826.1.20.97.1.1.63353|66|63353 +1.3.6.1.4.1.9.9.826.1.20.97.1.2.30515|4x|61637465642064726976696e6720666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.97.1.2.36690|4x|666f72776172642064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.97.1.2.38753|4x|6f78656e206f78656e206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.97.1.2.63353|4x|64726976696e67206b6570742062757420717561696e746c7920717561696e746c79206163746564206163746564207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.97.1.3.30515|4x|6f78656e207a6f6d62696573206b65707420717561696e746c79206f78656e2064726976696e6720627574206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.97.1.3.36690|4x|746865697220666f7277617264206f78656e206b65707420666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.97.1.3.38753|4x|627574207468656972204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.97.1.3.63353|4x|62757420717561696e746c7920717561696e746c79204a6164656420666f7277617264204a61646564206f78656e20717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.97.1.4.30515|4x|74686569722064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.97.1.4.36690|4|acted +1.3.6.1.4.1.9.9.826.1.20.97.1.4.38753|4x|7a6f6d626965732062757420666f7277617264206f78656e2064726976696e67204a61646564204a6164656420717561696e746c7920666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.97.1.4.63353|4|acted +1.3.6.1.4.1.9.9.826.1.20.97.1.5.30515|66|2098728204 +1.3.6.1.4.1.9.9.826.1.20.97.1.5.36690|66|3565806370 +1.3.6.1.4.1.9.9.826.1.20.97.1.5.38753|66|1191766421 +1.3.6.1.4.1.9.9.826.1.20.97.1.5.63353|66|2166760257 +1.3.6.1.4.1.9.9.826.1.20.97.1.6.30515|4x|6163746564206163746564204a61646564206b657074204a61646564206163746564206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.97.1.6.36690|4x|64726976696e67206b657074206f78656e2064726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.97.1.6.38753|4x|717561696e746c792062757420717561696e746c79207a6f6d626965732064726976696e6720666f7277617264204a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.97.1.6.63353|4|zombies +1.3.6.1.4.1.9.9.826.1.20.97.1.7.30515|4x|666f7277617264206275742064726976696e67206275742062757420666f7277617264207468656972207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.97.1.7.36690|4x|7a6f6d62696573207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.20.97.1.7.38753|4x|616374656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.97.1.7.63353|4x|7a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.97.1.8.30515|66|1143989299 +1.3.6.1.4.1.9.9.826.1.20.97.1.8.36690|66|1847574678 +1.3.6.1.4.1.9.9.826.1.20.97.1.8.38753|66|3658901499 +1.3.6.1.4.1.9.9.826.1.20.97.1.8.63353|66|1843617296 +1.3.6.1.4.1.9.9.826.1.20.97.1.9.30515|2|2 +1.3.6.1.4.1.9.9.826.1.20.97.1.9.36690|2|1 +1.3.6.1.4.1.9.9.826.1.20.97.1.9.38753|2|2 +1.3.6.1.4.1.9.9.826.1.20.97.1.9.63353|2|2 +1.3.6.1.4.1.9.9.826.1.20.97.1.10.30515|66|3717486626 +1.3.6.1.4.1.9.9.826.1.20.97.1.10.36690|66|460087056 +1.3.6.1.4.1.9.9.826.1.20.97.1.10.38753|66|2371743805 +1.3.6.1.4.1.9.9.826.1.20.97.1.10.63353|66|4107811747 +1.3.6.1.4.1.9.9.826.1.20.97.1.11.30515|66|1378999220 +1.3.6.1.4.1.9.9.826.1.20.97.1.11.36690|66|3035287399 +1.3.6.1.4.1.9.9.826.1.20.97.1.11.38753|66|1937040326 +1.3.6.1.4.1.9.9.826.1.20.97.1.11.63353|66|3464236173 +1.3.6.1.4.1.9.9.826.1.20.97.1.12.30515|66|837364374 +1.3.6.1.4.1.9.9.826.1.20.97.1.12.36690|66|187270047 +1.3.6.1.4.1.9.9.826.1.20.97.1.12.38753|66|393194183 +1.3.6.1.4.1.9.9.826.1.20.97.1.12.63353|66|3756305555 +1.3.6.1.4.1.9.9.826.1.20.98.1.1.37529|66|37529 +1.3.6.1.4.1.9.9.826.1.20.98.1.1.37806|66|37806 +1.3.6.1.4.1.9.9.826.1.20.98.1.1.45990|66|45990 +1.3.6.1.4.1.9.9.826.1.20.98.1.1.48515|66|48515 +1.3.6.1.4.1.9.9.826.1.20.98.1.2.37529|4x|6b657074207468656972206f78656e20717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.98.1.2.37806|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.98.1.2.45990|4x|4a6164656420627574206f78656e20627574206163746564206f78656e207a6f6d62696573204a61646564 +1.3.6.1.4.1.9.9.826.1.20.98.1.2.48515|4x|616374656420616374656420717561696e746c79207468656972207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.98.1.3.37529|4x|4a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.98.1.3.37806|4x|64726976696e6720717561696e746c79204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.98.1.3.45990|4x|6275742061637465642064726976696e67206f78656e207a6f6d6269657320666f727761726420717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.98.1.3.48515|4x|64726976696e67207468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.98.1.4.37529|66|1207674261 +1.3.6.1.4.1.9.9.826.1.20.98.1.4.37806|66|922068101 +1.3.6.1.4.1.9.9.826.1.20.98.1.4.45990|66|1913735447 +1.3.6.1.4.1.9.9.826.1.20.98.1.4.48515|66|371853049 +1.3.6.1.4.1.9.9.826.1.20.98.1.5.37529|66|2008683365 +1.3.6.1.4.1.9.9.826.1.20.98.1.5.37806|66|2646747139 +1.3.6.1.4.1.9.9.826.1.20.98.1.5.45990|66|2485888121 +1.3.6.1.4.1.9.9.826.1.20.98.1.5.48515|66|3051349764 +1.3.6.1.4.1.9.9.826.1.20.98.1.6.37529|66|3945594221 +1.3.6.1.4.1.9.9.826.1.20.98.1.6.37806|66|763898856 +1.3.6.1.4.1.9.9.826.1.20.98.1.6.45990|66|1448507424 +1.3.6.1.4.1.9.9.826.1.20.98.1.6.48515|66|4254890988 +1.3.6.1.4.1.9.9.826.1.20.98.1.7.37529|66|3922672949 +1.3.6.1.4.1.9.9.826.1.20.98.1.7.37806|66|3132409755 +1.3.6.1.4.1.9.9.826.1.20.98.1.7.45990|66|4071590680 +1.3.6.1.4.1.9.9.826.1.20.98.1.7.48515|66|108294510 +1.3.6.1.4.1.9.9.826.1.20.98.1.8.37529|66|841070577 +1.3.6.1.4.1.9.9.826.1.20.98.1.8.37806|66|3312168464 +1.3.6.1.4.1.9.9.826.1.20.98.1.8.45990|66|2034690382 +1.3.6.1.4.1.9.9.826.1.20.98.1.8.48515|66|1306188915 +1.3.6.1.4.1.9.9.826.1.20.99.1.1.11643|66|11643 +1.3.6.1.4.1.9.9.826.1.20.99.1.1.39475|66|39475 +1.3.6.1.4.1.9.9.826.1.20.99.1.1.53734|66|53734 +1.3.6.1.4.1.9.9.826.1.20.99.1.1.62358|66|62358 +1.3.6.1.4.1.9.9.826.1.20.99.1.2.11643|4x|4a616465642064726976696e67206f78656e206b657074204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.99.1.2.39475|4x|61637465642062757420717561696e746c7920717561696e746c79204a61646564206163746564207468656972207a6f6d62696573204a61646564 +1.3.6.1.4.1.9.9.826.1.20.99.1.2.53734|4x|6f78656e204a6164656420746865697220717561696e746c792062757420717561696e746c79206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.99.1.2.62358|4x|6f78656e207a6f6d6269657320666f727761726420666f7277617264204a61646564204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.99.1.3.11643|4|but +1.3.6.1.4.1.9.9.826.1.20.99.1.3.39475|4x|746865697220616374656420666f727761726420717561696e746c792064726976696e6720717561696e746c79206163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.99.1.3.53734|4x|6f78656e20627574207468656972206f78656e20717561696e746c7920746865697220627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.99.1.3.62358|4x|6f78656e207468656972204a61646564206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.99.1.4.11643|2|25 +1.3.6.1.4.1.9.9.826.1.20.99.1.4.39475|2|8 +1.3.6.1.4.1.9.9.826.1.20.99.1.4.53734|2|9 +1.3.6.1.4.1.9.9.826.1.20.99.1.4.62358|2|31 +1.3.6.1.4.1.9.9.826.1.20.99.1.5.11643|4x|6163746564206f78656e206b657074204a6164656420717561696e746c7920616374656420627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.99.1.5.39475|4x|4a61646564207468656972207a6f6d6269657320666f72776172642064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.99.1.5.53734|4x|6f78656e2061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.99.1.5.62358|4x|616374656420616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.99.1.6.11643|2|13 +1.3.6.1.4.1.9.9.826.1.20.99.1.6.39475|2|20 +1.3.6.1.4.1.9.9.826.1.20.99.1.6.53734|2|2 +1.3.6.1.4.1.9.9.826.1.20.99.1.6.62358|2|18 +1.3.6.1.4.1.9.9.826.1.20.99.1.7.11643|4x|666f727761726420666f7277617264204a616465642064726976696e6720627574206b657074207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.99.1.7.39475|4|acted +1.3.6.1.4.1.9.9.826.1.20.99.1.7.53734|4x|717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.99.1.7.62358|4x|616374656420717561696e746c7920717561696e746c79206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.99.1.8.11643|2|11 +1.3.6.1.4.1.9.9.826.1.20.99.1.8.39475|2|25 +1.3.6.1.4.1.9.9.826.1.20.99.1.8.53734|2|17 +1.3.6.1.4.1.9.9.826.1.20.99.1.8.62358|2|16 +1.3.6.1.4.1.9.9.826.1.20.99.1.9.11643|2|30 +1.3.6.1.4.1.9.9.826.1.20.99.1.9.39475|2|17 +1.3.6.1.4.1.9.9.826.1.20.99.1.9.53734|2|29 +1.3.6.1.4.1.9.9.826.1.20.99.1.9.62358|2|17 +1.3.6.1.4.1.9.9.826.1.20.99.1.10.11643|2|28 +1.3.6.1.4.1.9.9.826.1.20.99.1.10.39475|2|6 +1.3.6.1.4.1.9.9.826.1.20.99.1.10.53734|2|1 +1.3.6.1.4.1.9.9.826.1.20.99.1.10.62358|2|2 +1.3.6.1.4.1.9.9.826.1.20.99.1.11.11643|2|13 +1.3.6.1.4.1.9.9.826.1.20.99.1.11.39475|2|2 +1.3.6.1.4.1.9.9.826.1.20.99.1.11.53734|2|11 +1.3.6.1.4.1.9.9.826.1.20.99.1.11.62358|2|15 +1.3.6.1.4.1.9.9.826.1.20.99.1.12.11643|4x|64726976696e67204a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.99.1.12.39475|4x|717561696e746c79206f78656e207a6f6d6269657320666f7277617264207468656972207a6f6d62696573207468656972206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.99.1.12.53734|4x|666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.99.1.12.62358|4x|4a6164656420616374656420616374656420666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.99.1.13.11643|2|11 +1.3.6.1.4.1.9.9.826.1.20.99.1.13.39475|2|18 +1.3.6.1.4.1.9.9.826.1.20.99.1.13.53734|2|28 +1.3.6.1.4.1.9.9.826.1.20.99.1.13.62358|2|15 +1.3.6.1.4.1.9.9.826.1.20.99.1.14.11643|2|12 +1.3.6.1.4.1.9.9.826.1.20.99.1.14.39475|2|18 +1.3.6.1.4.1.9.9.826.1.20.99.1.14.53734|2|15 +1.3.6.1.4.1.9.9.826.1.20.99.1.14.62358|2|28 +1.3.6.1.4.1.9.9.826.1.20.99.1.15.11643|4x|666f7277617264207468656972207468656972206f78656e2074686569722064726976696e67206f78656e20616374656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.99.1.15.39475|4x|74686569722064726976696e6720717561696e746c79204a6164656420717561696e746c7920717561696e746c79206f78656e206b657074206b657074 +1.3.6.1.4.1.9.9.826.1.20.99.1.15.53734|4x|666f7277617264207a6f6d626965732061637465642064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.99.1.15.62358|4x|616374656420717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.99.1.16.11643|66|3659269406 +1.3.6.1.4.1.9.9.826.1.20.99.1.16.39475|66|1672654456 +1.3.6.1.4.1.9.9.826.1.20.99.1.16.53734|66|430782404 +1.3.6.1.4.1.9.9.826.1.20.99.1.16.62358|66|649549296 +1.3.6.1.4.1.9.9.826.1.20.99.1.17.11643|2|0 +1.3.6.1.4.1.9.9.826.1.20.99.1.17.39475|2|2 +1.3.6.1.4.1.9.9.826.1.20.99.1.17.53734|2|0 +1.3.6.1.4.1.9.9.826.1.20.99.1.17.62358|2|2 +1.3.6.1.4.1.9.9.826.1.20.99.1.18.11643|2|19 +1.3.6.1.4.1.9.9.826.1.20.99.1.18.39475|2|27 +1.3.6.1.4.1.9.9.826.1.20.99.1.18.53734|2|23 +1.3.6.1.4.1.9.9.826.1.20.99.1.18.62358|2|22 +1.3.6.1.4.1.9.9.826.1.20.99.1.19.11643|2|16 +1.3.6.1.4.1.9.9.826.1.20.99.1.19.39475|2|29 +1.3.6.1.4.1.9.9.826.1.20.99.1.19.53734|2|16 +1.3.6.1.4.1.9.9.826.1.20.99.1.19.62358|2|19 +1.3.6.1.4.1.9.9.826.1.20.100.1.1.16374|66|16374 +1.3.6.1.4.1.9.9.826.1.20.100.1.1.24565|66|24565 +1.3.6.1.4.1.9.9.826.1.20.100.1.1.28252|66|28252 +1.3.6.1.4.1.9.9.826.1.20.100.1.1.49611|66|49611 +1.3.6.1.4.1.9.9.826.1.20.100.1.2.16374|4x|717561696e746c79204a61646564206b65707420627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.100.1.2.24565|4x|4a61646564206163746564206b65707420666f7277617264204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.100.1.2.28252|4x|6f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.100.1.2.49611|4x|61637465642062757420666f727761726420717561696e746c79207468656972206f78656e +1.3.6.1.4.1.9.9.826.1.20.100.1.3.16374|4|zombies +1.3.6.1.4.1.9.9.826.1.20.100.1.3.24565|4x|627574207468656972207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.100.1.3.28252|4x|6f78656e207468656972207a6f6d62696573204a6164656420717561696e746c7920746865697220627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.100.1.3.49611|4x|6f78656e2062757420627574206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.100.1.4.16374|4|driving +1.3.6.1.4.1.9.9.826.1.20.100.1.4.24565|4|their +1.3.6.1.4.1.9.9.826.1.20.100.1.4.28252|4x|62757420666f7277617264206f78656e206163746564206f78656e204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.100.1.4.49611|4x|64726976696e67206163746564206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.100.1.5.16374|2|1 +1.3.6.1.4.1.9.9.826.1.20.100.1.5.24565|2|0 +1.3.6.1.4.1.9.9.826.1.20.100.1.5.28252|2|6 +1.3.6.1.4.1.9.9.826.1.20.100.1.5.49611|2|2 +1.3.6.1.4.1.9.9.826.1.20.101.1.1.21632|66|21632 +1.3.6.1.4.1.9.9.826.1.20.101.1.1.24633|66|24633 +1.3.6.1.4.1.9.9.826.1.20.101.1.1.44876|66|44876 +1.3.6.1.4.1.9.9.826.1.20.101.1.1.55774|66|55774 +1.3.6.1.4.1.9.9.826.1.20.101.1.2.21632|4x|6b65707420717561696e746c79206163746564207a6f6d62696573206f78656e20717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.101.1.2.24633|4x|4a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.101.1.2.44876|4x|7468656972206b6570742062757420717561696e746c79204a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.101.1.2.55774|4x|666f727761726420717561696e746c79206f78656e206f78656e2064726976696e672064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.101.1.3.21632|4x|6b657074206b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.101.1.3.24633|4x|61637465642074686569722064726976696e6720666f727761726420666f7277617264207a6f6d62696573204a61646564207468656972204a61646564 +1.3.6.1.4.1.9.9.826.1.20.101.1.3.44876|4x|6163746564206275742074686569722064726976696e6720717561696e746c7920666f72776172642064726976696e67206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.101.1.3.55774|4x|64726976696e672062757420717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.101.1.4.21632|66|1448477529 +1.3.6.1.4.1.9.9.826.1.20.101.1.4.24633|66|1283448039 +1.3.6.1.4.1.9.9.826.1.20.101.1.4.44876|66|166764993 +1.3.6.1.4.1.9.9.826.1.20.101.1.4.55774|66|553591868 +1.3.6.1.4.1.9.9.826.1.20.101.1.5.21632|66|3562955178 +1.3.6.1.4.1.9.9.826.1.20.101.1.5.24633|66|1136808708 +1.3.6.1.4.1.9.9.826.1.20.101.1.5.44876|66|2518741027 +1.3.6.1.4.1.9.9.826.1.20.101.1.5.55774|66|306835895 +1.3.6.1.4.1.9.9.826.1.20.101.1.6.21632|4x|7a6f6d62696573206b6570742064726976696e6720666f7277617264206f78656e207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.101.1.6.24633|4x|64726976696e67206163746564207468656972206f78656e20666f7277617264206f78656e20627574206b657074206163746564 +1.3.6.1.4.1.9.9.826.1.20.101.1.6.44876|4x|627574206f78656e2064726976696e672064726976696e67206f78656e20666f72776172642064726976696e672064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.101.1.6.55774|4x|74686569722064726976696e67206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.101.1.7.21632|66|2467201595 +1.3.6.1.4.1.9.9.826.1.20.101.1.7.24633|66|1836582512 +1.3.6.1.4.1.9.9.826.1.20.101.1.7.44876|66|2825430257 +1.3.6.1.4.1.9.9.826.1.20.101.1.7.55774|66|3896441212 +1.3.6.1.4.1.9.9.826.1.20.101.1.8.21632|4x|62757420666f727761726420666f7277617264207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.101.1.8.24633|4x|4a6164656420616374656420627574207468656972206b657074206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.101.1.8.44876|4x|717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.101.1.8.55774|4x|6163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.101.1.9.21632|4x|64726976696e67206f78656e +1.3.6.1.4.1.9.9.826.1.20.101.1.9.24633|4x|746865697220666f7277617264207a6f6d6269657320717561696e746c792064726976696e672064726976696e67206f78656e20717561696e746c7920666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.101.1.9.44876|4x|7a6f6d6269657320746865697220616374656420627574204a61646564204a61646564206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.101.1.9.55774|4x|666f72776172642062757420616374656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.101.1.10.21632|66|1832101881 +1.3.6.1.4.1.9.9.826.1.20.101.1.10.24633|66|383593748 +1.3.6.1.4.1.9.9.826.1.20.101.1.10.44876|66|634080233 +1.3.6.1.4.1.9.9.826.1.20.101.1.10.55774|66|2685239809 +1.3.6.1.4.1.9.9.826.1.20.101.1.11.21632|2|1 +1.3.6.1.4.1.9.9.826.1.20.101.1.11.24633|2|0 +1.3.6.1.4.1.9.9.826.1.20.101.1.11.44876|2|1 +1.3.6.1.4.1.9.9.826.1.20.101.1.11.55774|2|0 +1.3.6.1.4.1.9.9.826.1.20.101.1.12.21632|2|0 +1.3.6.1.4.1.9.9.826.1.20.101.1.12.24633|2|0 +1.3.6.1.4.1.9.9.826.1.20.101.1.12.44876|2|1 +1.3.6.1.4.1.9.9.826.1.20.101.1.12.55774|2|0 +1.3.6.1.4.1.9.9.826.1.20.101.1.13.21632|66|1538316622 +1.3.6.1.4.1.9.9.826.1.20.101.1.13.24633|66|2039287372 +1.3.6.1.4.1.9.9.826.1.20.101.1.13.44876|66|1921564407 +1.3.6.1.4.1.9.9.826.1.20.101.1.13.55774|66|1752980891 +1.3.6.1.4.1.9.9.826.1.20.101.1.14.21632|66|54808951 +1.3.6.1.4.1.9.9.826.1.20.101.1.14.24633|66|3610262086 +1.3.6.1.4.1.9.9.826.1.20.101.1.14.44876|66|3853028874 +1.3.6.1.4.1.9.9.826.1.20.101.1.14.55774|66|3290914888 +1.3.6.1.4.1.9.9.826.1.20.101.1.15.21632|2|2 +1.3.6.1.4.1.9.9.826.1.20.101.1.15.24633|2|1 +1.3.6.1.4.1.9.9.826.1.20.101.1.15.44876|2|2 +1.3.6.1.4.1.9.9.826.1.20.101.1.15.55774|2|2 +1.3.6.1.4.1.9.9.826.1.20.101.1.16.21632|4x|7468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.101.1.16.24633|4x|7468656972206b65707420746865697220666f727761726420717561696e746c792062757420666f7277617264206f78656e207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.101.1.16.44876|4x|4a61646564207a6f6d62696573207a6f6d62696573207a6f6d6269657320666f7277617264206f78656e +1.3.6.1.4.1.9.9.826.1.20.101.1.16.55774|4x|6f78656e20616374656420666f727761726420666f727761726420627574206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.102.1.1.6712|66|6712 +1.3.6.1.4.1.9.9.826.1.20.102.1.1.31940|66|31940 +1.3.6.1.4.1.9.9.826.1.20.102.1.1.51801|66|51801 +1.3.6.1.4.1.9.9.826.1.20.102.1.1.63660|66|63660 +1.3.6.1.4.1.9.9.826.1.20.102.1.2.6712|4x|627574206b657074206f78656e206275742064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.102.1.2.31940|4|forward +1.3.6.1.4.1.9.9.826.1.20.102.1.2.51801|4x|616374656420717561696e746c79204a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.102.1.2.63660|4x|7a6f6d6269657320666f727761726420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.102.1.3.6712|4x|666f727761726420666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.102.1.3.31940|4x|6b657074207468656972206163746564206b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.102.1.3.51801|4x|4a6164656420627574204a61646564206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.102.1.3.63660|4x|61637465642064726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.102.1.4.6712|4x|666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.102.1.4.31940|4|driving +1.3.6.1.4.1.9.9.826.1.20.102.1.4.51801|4x|616374656420627574207a6f6d62696573204a61646564 +1.3.6.1.4.1.9.9.826.1.20.102.1.4.63660|4x|7a6f6d62696573204a61646564206f78656e206f78656e20666f727761726420627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.102.1.5.6712|4x|717561696e746c79206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.102.1.5.31940|4x|7468656972207a6f6d6269657320666f727761726420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.102.1.5.51801|4|forward +1.3.6.1.4.1.9.9.826.1.20.102.1.5.63660|4x|4a61646564207a6f6d62696573204a61646564207468656972207a6f6d62696573206b65707420666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.102.1.6.6712|4x|627574206f78656e20666f727761726420616374656420717561696e746c792062757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.102.1.6.31940|4x|7a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.102.1.6.51801|4x|7a6f6d6269657320666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.102.1.6.63660|4x|4a61646564206f78656e206b6570742064726976696e6720666f727761726420616374656420627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.102.1.7.6712|4x|6f78656e204a61646564206b657074206b657074206b657074 +1.3.6.1.4.1.9.9.826.1.20.102.1.7.31940|4x|4a61646564207a6f6d626965732062757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.102.1.7.51801|4x|6f78656e206f78656e206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.102.1.7.63660|4x|666f7277617264204a616465642064726976696e67206f78656e20666f7277617264206b657074206b657074206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.102.1.8.6712|66|635530011 +1.3.6.1.4.1.9.9.826.1.20.102.1.8.31940|66|1311559994 +1.3.6.1.4.1.9.9.826.1.20.102.1.8.51801|66|2639221628 +1.3.6.1.4.1.9.9.826.1.20.102.1.8.63660|66|3278215263 +1.3.6.1.4.1.9.9.826.1.20.102.1.9.6712|2|2 +1.3.6.1.4.1.9.9.826.1.20.102.1.9.31940|2|0 +1.3.6.1.4.1.9.9.826.1.20.102.1.9.51801|2|2 +1.3.6.1.4.1.9.9.826.1.20.102.1.9.63660|2|2 +1.3.6.1.4.1.9.9.826.1.20.102.1.10.6712|2|4 +1.3.6.1.4.1.9.9.826.1.20.102.1.10.31940|2|21 +1.3.6.1.4.1.9.9.826.1.20.102.1.10.51801|2|18 +1.3.6.1.4.1.9.9.826.1.20.102.1.10.63660|2|8 +1.3.6.1.4.1.9.9.826.1.20.103.1.1.11708|66|11708 +1.3.6.1.4.1.9.9.826.1.20.103.1.1.32317|66|32317 +1.3.6.1.4.1.9.9.826.1.20.103.1.1.33929|66|33929 +1.3.6.1.4.1.9.9.826.1.20.103.1.1.41536|66|41536 +1.3.6.1.4.1.9.9.826.1.20.103.1.2.11708|4x|6b65707420627574206f78656e204a61646564206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.103.1.2.32317|4x|64726976696e6720717561696e746c792062757420627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.103.1.2.33929|4x|717561696e746c79204a6164656420666f7277617264206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.103.1.2.41536|4x|64726976696e67207a6f6d62696573204a61646564 +1.3.6.1.4.1.9.9.826.1.20.103.1.3.11708|4|but +1.3.6.1.4.1.9.9.826.1.20.103.1.3.32317|4x|4a6164656420666f7277617264206163746564206163746564206b6570742064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.103.1.3.33929|4x|64726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.103.1.3.41536|4x|6b657074204a616465642062757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.103.1.4.11708|4x|74686569722064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.103.1.4.32317|4x|6163746564207a6f6d6269657320616374656420627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.103.1.4.33929|4x|666f72776172642064726976696e67206163746564206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.103.1.4.41536|4x|6f78656e20666f727761726420717561696e746c79204a616465642064726976696e6720627574204a61646564204a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.103.1.5.11708|4x|666f72776172642061637465642062757420746865697220746865697220616374656420746865697220627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.103.1.5.32317|4x|4a6164656420717561696e746c7920616374656420666f727761726420717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.103.1.5.33929|4x|717561696e746c79204a61646564207a6f6d62696573206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.103.1.5.41536|4x|6163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.103.1.6.11708|4|driving +1.3.6.1.4.1.9.9.826.1.20.103.1.6.32317|4x|746865697220717561696e746c7920717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.103.1.6.33929|4x|717561696e746c7920666f7277617264206b657074206f78656e2064726976696e67206f78656e +1.3.6.1.4.1.9.9.826.1.20.103.1.6.41536|4|kept +1.3.6.1.4.1.9.9.826.1.20.103.1.7.11708|66|888839532 +1.3.6.1.4.1.9.9.826.1.20.103.1.7.32317|66|2107336108 +1.3.6.1.4.1.9.9.826.1.20.103.1.7.33929|66|380403941 +1.3.6.1.4.1.9.9.826.1.20.103.1.7.41536|66|2670998558 +1.3.6.1.4.1.9.9.826.1.20.103.1.8.11708|66|3878559745 +1.3.6.1.4.1.9.9.826.1.20.103.1.8.32317|66|3928222932 +1.3.6.1.4.1.9.9.826.1.20.103.1.8.33929|66|1832704346 +1.3.6.1.4.1.9.9.826.1.20.103.1.8.41536|66|209324938 +1.3.6.1.4.1.9.9.826.1.20.103.1.9.11708|2|1 +1.3.6.1.4.1.9.9.826.1.20.103.1.9.32317|2|1 +1.3.6.1.4.1.9.9.826.1.20.103.1.9.33929|2|0 +1.3.6.1.4.1.9.9.826.1.20.103.1.9.41536|2|1 +1.3.6.1.4.1.9.9.826.1.20.103.1.10.11708|66|1433914724 +1.3.6.1.4.1.9.9.826.1.20.103.1.10.32317|66|1338793686 +1.3.6.1.4.1.9.9.826.1.20.103.1.10.33929|66|1305551118 +1.3.6.1.4.1.9.9.826.1.20.103.1.10.41536|66|2199408761 +1.3.6.1.4.1.9.9.826.1.20.103.1.11.11708|2|16 +1.3.6.1.4.1.9.9.826.1.20.103.1.11.32317|2|16 +1.3.6.1.4.1.9.9.826.1.20.103.1.11.33929|2|1 +1.3.6.1.4.1.9.9.826.1.20.103.1.11.41536|2|4 +1.3.6.1.4.1.9.9.826.1.20.104.1.1.20259|66|20259 +1.3.6.1.4.1.9.9.826.1.20.104.1.1.33769|66|33769 +1.3.6.1.4.1.9.9.826.1.20.104.1.1.50023|66|50023 +1.3.6.1.4.1.9.9.826.1.20.104.1.1.63245|66|63245 +1.3.6.1.4.1.9.9.826.1.20.104.1.2.20259|4x|666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.104.1.2.33769|4x|6163746564206f78656e204a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.104.1.2.50023|4|but +1.3.6.1.4.1.9.9.826.1.20.104.1.2.63245|4x|717561696e746c792064726976696e67206b65707420627574204a616465642074686569722062757420666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.104.1.3.20259|4x|6f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.104.1.3.33769|4x|4a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.104.1.3.50023|4x|6f78656e204a61646564206f78656e20666f727761726420666f7277617264207468656972206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.104.1.3.63245|4x|666f72776172642061637465642064726976696e6720717561696e746c792064726976696e67206f78656e +1.3.6.1.4.1.9.9.826.1.20.104.1.4.20259|2|1 +1.3.6.1.4.1.9.9.826.1.20.104.1.4.33769|2|2 +1.3.6.1.4.1.9.9.826.1.20.104.1.4.50023|2|0 +1.3.6.1.4.1.9.9.826.1.20.104.1.4.63245|2|0 +1.3.6.1.4.1.9.9.826.1.20.104.1.5.20259|4x|61637465642064726976696e6720627574207468656972206f78656e20717561696e746c7920666f7277617264206f78656e20627574 +1.3.6.1.4.1.9.9.826.1.20.104.1.5.33769|4x|7a6f6d62696573206b657074207468656972207468656972204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.104.1.5.50023|4x|6f78656e20717561696e746c79206f78656e20717561696e746c79206b657074206163746564206275742064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.104.1.5.63245|4x|627574207a6f6d62696573204a61646564206b657074207a6f6d626965732064726976696e6720666f72776172642064726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.104.1.6.20259|4x|64726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.104.1.6.33769|4x|6f78656e207468656972 +1.3.6.1.4.1.9.9.826.1.20.104.1.6.50023|4x|64726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.104.1.6.63245|4|zombies +1.3.6.1.4.1.9.9.826.1.20.104.1.7.20259|4x|7a6f6d62696573204a61646564206163746564206163746564206f78656e204a6164656420666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.104.1.7.33769|4x|7a6f6d62696573206f78656e206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.104.1.7.50023|4|their +1.3.6.1.4.1.9.9.826.1.20.104.1.7.63245|4x|666f72776172642064726976696e672064726976696e672074686569722064726976696e672074686569722062757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.104.1.8.20259|66|2575999514 +1.3.6.1.4.1.9.9.826.1.20.104.1.8.33769|66|2786378625 +1.3.6.1.4.1.9.9.826.1.20.104.1.8.50023|66|859113065 +1.3.6.1.4.1.9.9.826.1.20.104.1.8.63245|66|4279598997 +1.3.6.1.4.1.9.9.826.1.20.104.1.9.20259|2|0 +1.3.6.1.4.1.9.9.826.1.20.104.1.9.33769|2|2 +1.3.6.1.4.1.9.9.826.1.20.104.1.9.50023|2|0 +1.3.6.1.4.1.9.9.826.1.20.104.1.9.63245|2|0 +1.3.6.1.4.1.9.9.826.1.20.104.1.10.20259|66|1092967580 +1.3.6.1.4.1.9.9.826.1.20.104.1.10.33769|66|4246252613 +1.3.6.1.4.1.9.9.826.1.20.104.1.10.50023|66|2250329064 +1.3.6.1.4.1.9.9.826.1.20.104.1.10.63245|66|2338039030 +1.3.6.1.4.1.9.9.826.1.20.104.1.11.20259|66|4033292876 +1.3.6.1.4.1.9.9.826.1.20.104.1.11.33769|66|1946252577 +1.3.6.1.4.1.9.9.826.1.20.104.1.11.50023|66|3698501244 +1.3.6.1.4.1.9.9.826.1.20.104.1.11.63245|66|2193661286 +1.3.6.1.4.1.9.9.826.1.20.104.1.12.20259|66|834973650 +1.3.6.1.4.1.9.9.826.1.20.104.1.12.33769|66|999125103 +1.3.6.1.4.1.9.9.826.1.20.104.1.12.50023|66|329900418 +1.3.6.1.4.1.9.9.826.1.20.104.1.12.63245|66|290371007 +1.3.6.1.4.1.9.9.826.1.20.105.1.1.6683|66|6683 +1.3.6.1.4.1.9.9.826.1.20.105.1.1.22088|66|22088 +1.3.6.1.4.1.9.9.826.1.20.105.1.1.50915|66|50915 +1.3.6.1.4.1.9.9.826.1.20.105.1.1.65513|66|65513 +1.3.6.1.4.1.9.9.826.1.20.105.1.2.6683|4x|717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.105.1.2.22088|4x|6b657074204a616465642064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.105.1.2.50915|4x|4a6164656420627574206f78656e206163746564206b65707420666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.105.1.2.65513|4x|7468656972206b65707420666f7277617264204a61646564206f78656e206b657074206f78656e207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.105.1.3.6683|4x|61637465642062757420666f7277617264206f78656e207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.105.1.3.22088|4x|7a6f6d62696573207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.105.1.3.50915|4x|6f78656e207468656972204a6164656420717561696e746c7920666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.105.1.3.65513|4x|7a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.105.1.4.6683|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.105.1.4.22088|4x|6b657074206f78656e20616374656420717561696e746c7920717561696e746c7920717561696e746c792061637465642064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.105.1.4.50915|4x|7468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.105.1.4.65513|4x|6b6570742074686569722064726976696e67207468656972207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.105.1.5.6683|4x|6f78656e207468656972 +1.3.6.1.4.1.9.9.826.1.20.105.1.5.22088|4x|717561696e746c79206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.105.1.5.50915|4|forward +1.3.6.1.4.1.9.9.826.1.20.105.1.5.65513|4x|627574206f78656e204a61646564206b657074206163746564 +1.3.6.1.4.1.9.9.826.1.20.105.1.6.6683|66|2947801990 +1.3.6.1.4.1.9.9.826.1.20.105.1.6.22088|66|529710982 +1.3.6.1.4.1.9.9.826.1.20.105.1.6.50915|66|952974719 +1.3.6.1.4.1.9.9.826.1.20.105.1.6.65513|66|18912685 +1.3.6.1.4.1.9.9.826.1.20.105.1.7.6683|66|4172535378 +1.3.6.1.4.1.9.9.826.1.20.105.1.7.22088|66|1270829419 +1.3.6.1.4.1.9.9.826.1.20.105.1.7.50915|66|1277275243 +1.3.6.1.4.1.9.9.826.1.20.105.1.7.65513|66|3552501563 +1.3.6.1.4.1.9.9.826.1.20.105.1.8.6683|4x|6b657074204a6164656420616374656420666f7277617264206f78656e207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.105.1.8.22088|4x|6b657074206b657074207468656972207a6f6d62696573206b65707420627574207a6f6d626965732062757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.105.1.8.50915|4x|6f78656e207a6f6d62696573204a61646564206f78656e20717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.105.1.8.65513|4|kept +1.3.6.1.4.1.9.9.826.1.20.105.1.9.6683|66|50360618 +1.3.6.1.4.1.9.9.826.1.20.105.1.9.22088|66|1420669241 +1.3.6.1.4.1.9.9.826.1.20.105.1.9.50915|66|1451666380 +1.3.6.1.4.1.9.9.826.1.20.105.1.9.65513|66|2730786633 +1.3.6.1.4.1.9.9.826.1.20.105.1.10.6683|2|0 +1.3.6.1.4.1.9.9.826.1.20.105.1.10.22088|2|0 +1.3.6.1.4.1.9.9.826.1.20.105.1.10.50915|2|2 +1.3.6.1.4.1.9.9.826.1.20.105.1.10.65513|2|2 +1.3.6.1.4.1.9.9.826.1.20.105.1.11.6683|66|1038471406 +1.3.6.1.4.1.9.9.826.1.20.105.1.11.22088|66|127049733 +1.3.6.1.4.1.9.9.826.1.20.105.1.11.50915|66|3335691467 +1.3.6.1.4.1.9.9.826.1.20.105.1.11.65513|66|1079259 +1.3.6.1.4.1.9.9.826.1.20.105.1.12.6683|66|3977252373 +1.3.6.1.4.1.9.9.826.1.20.105.1.12.22088|66|387280673 +1.3.6.1.4.1.9.9.826.1.20.105.1.12.50915|66|3090638836 +1.3.6.1.4.1.9.9.826.1.20.105.1.12.65513|66|200894748 +1.3.6.1.4.1.9.9.826.1.20.106.1.1.2740|66|2740 +1.3.6.1.4.1.9.9.826.1.20.106.1.1.12098|66|12098 +1.3.6.1.4.1.9.9.826.1.20.106.1.1.21550|66|21550 +1.3.6.1.4.1.9.9.826.1.20.106.1.1.51372|66|51372 +1.3.6.1.4.1.9.9.826.1.20.106.1.2.2740|4x|74686569722064726976696e67206b657074206f78656e207468656972207a6f6d62696573206f78656e207a6f6d62696573206b657074 +1.3.6.1.4.1.9.9.826.1.20.106.1.2.12098|4x|717561696e746c7920616374656420666f7277617264207a6f6d6269657320666f727761726420717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.106.1.2.21550|4x|6f78656e20616374656420666f7277617264204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.106.1.2.51372|4x|62757420627574 +1.3.6.1.4.1.9.9.826.1.20.106.1.3.2740|4x|7468656972206275742061637465642061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.106.1.3.12098|4x|717561696e746c79207468656972204a61646564206b6570742062757420627574204a61646564206b657074206b657074 +1.3.6.1.4.1.9.9.826.1.20.106.1.3.21550|4x|7a6f6d6269657320717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.106.1.3.51372|4x|6f78656e206163746564206f78656e206b65707420616374656420717561696e746c79206f78656e207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.106.1.4.2740|4x|64726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.106.1.4.12098|4|oxen +1.3.6.1.4.1.9.9.826.1.20.106.1.4.21550|4x|6275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.106.1.4.51372|4x|62757420717561696e746c7920616374656420717561696e746c79206f78656e2064726976696e6720627574207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.106.1.5.2740|4x|6b657074206b657074207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.20.106.1.5.12098|4x|666f727761726420717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.106.1.5.21550|4x|64726976696e67206f78656e206b657074204a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.106.1.5.51372|4x|6f78656e207a6f6d6269657320666f72776172642064726976696e67207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.106.1.6.2740|4x|6f78656e207468656972204a61646564206b657074206f78656e206b657074204a6164656420666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.106.1.6.12098|4x|6f78656e206b657074206f78656e20717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.106.1.6.21550|4x|7468656972206b657074206b65707420717561696e746c79206b657074206b65707420627574204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.106.1.6.51372|4x|6b657074206f78656e20666f7277617264206275742064726976696e6720746865697220717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.106.1.7.2740|2|3 +1.3.6.1.4.1.9.9.826.1.20.106.1.7.12098|2|4 +1.3.6.1.4.1.9.9.826.1.20.106.1.7.21550|2|2 +1.3.6.1.4.1.9.9.826.1.20.106.1.7.51372|2|3 +1.3.6.1.4.1.9.9.826.1.20.107.1.1.11681|66|11681 +1.3.6.1.4.1.9.9.826.1.20.107.1.1.15532|66|15532 +1.3.6.1.4.1.9.9.826.1.20.107.1.1.26388|66|26388 +1.3.6.1.4.1.9.9.826.1.20.107.1.1.63734|66|63734 +1.3.6.1.4.1.9.9.826.1.20.107.1.2.11681|4x|717561696e746c7920666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.107.1.2.15532|4x|64726976696e672061637465642062757420627574207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.107.1.2.26388|4x|666f7277617264204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.107.1.2.63734|4x|616374656420666f727761726420666f727761726420746865697220666f727761726420717561696e746c7920666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.107.1.3.11681|4x|6f78656e20666f7277617264206f78656e20666f72776172642064726976696e6720627574207a6f6d6269657320666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.107.1.3.15532|4x|7468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.107.1.3.26388|4x|6b657074206f78656e2064726976696e6720666f727761726420717561696e746c7920666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.107.1.3.63734|4x|666f7277617264204a61646564206b6570742064726976696e67206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.107.1.4.11681|2|2 +1.3.6.1.4.1.9.9.826.1.20.107.1.4.15532|2|2 +1.3.6.1.4.1.9.9.826.1.20.107.1.4.26388|2|2 +1.3.6.1.4.1.9.9.826.1.20.107.1.4.63734|2|2 +1.3.6.1.4.1.9.9.826.1.20.107.1.5.11681|2|1 +1.3.6.1.4.1.9.9.826.1.20.107.1.5.15532|2|2 +1.3.6.1.4.1.9.9.826.1.20.107.1.5.26388|2|2 +1.3.6.1.4.1.9.9.826.1.20.107.1.5.63734|2|2 +1.3.6.1.4.1.9.9.826.1.20.107.1.6.11681|66|3296120219 +1.3.6.1.4.1.9.9.826.1.20.107.1.6.15532|66|2692168332 +1.3.6.1.4.1.9.9.826.1.20.107.1.6.26388|66|3276399976 +1.3.6.1.4.1.9.9.826.1.20.107.1.6.63734|66|2082887313 +1.3.6.1.4.1.9.9.826.1.20.107.1.7.11681|66|1296221702 +1.3.6.1.4.1.9.9.826.1.20.107.1.7.15532|66|3793836558 +1.3.6.1.4.1.9.9.826.1.20.107.1.7.26388|66|2192474217 +1.3.6.1.4.1.9.9.826.1.20.107.1.7.63734|66|3486517860 +1.3.6.1.4.1.9.9.826.1.20.107.1.8.11681|66|3192567705 +1.3.6.1.4.1.9.9.826.1.20.107.1.8.15532|66|2718896911 +1.3.6.1.4.1.9.9.826.1.20.107.1.8.26388|66|1310611322 +1.3.6.1.4.1.9.9.826.1.20.107.1.8.63734|66|3494903363 +1.3.6.1.4.1.9.9.826.1.20.107.1.9.11681|66|2802039245 +1.3.6.1.4.1.9.9.826.1.20.107.1.9.15532|66|2823933877 +1.3.6.1.4.1.9.9.826.1.20.107.1.9.26388|66|4287703735 +1.3.6.1.4.1.9.9.826.1.20.107.1.9.63734|66|1393445277 +1.3.6.1.4.1.9.9.826.1.20.107.1.10.11681|66|1589861277 +1.3.6.1.4.1.9.9.826.1.20.107.1.10.15532|66|1525613793 +1.3.6.1.4.1.9.9.826.1.20.107.1.10.26388|66|655377701 +1.3.6.1.4.1.9.9.826.1.20.107.1.10.63734|66|786946325 +1.3.6.1.4.1.9.9.826.1.20.107.1.11.11681|4x|6163746564207a6f6d6269657320627574206b6570742062757420666f72776172642064726976696e67207468656972206f78656e +1.3.6.1.4.1.9.9.826.1.20.107.1.11.15532|4x|6163746564204a61646564207468656972206b657074206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.107.1.11.26388|4x|4a61646564204a61646564207a6f6d62696573206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.107.1.11.63734|4x|6b6570742064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.107.1.12.11681|4x|62757420717561696e746c79206b65707420717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.107.1.12.15532|4x|616374656420717561696e746c79204a61646564206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.107.1.12.26388|4x|6f78656e2064726976696e672064726976696e67206163746564206163746564206f78656e206f78656e206b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.107.1.12.63734|4x|6b65707420746865697220717561696e746c79207468656972207468656972206b65707420616374656420717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.107.1.13.11681|66|1285780399 +1.3.6.1.4.1.9.9.826.1.20.107.1.13.15532|66|1708510802 +1.3.6.1.4.1.9.9.826.1.20.107.1.13.26388|66|1235240129 +1.3.6.1.4.1.9.9.826.1.20.107.1.13.63734|66|2871916899 +1.3.6.1.4.1.9.9.826.1.20.107.1.14.11681|4x|7468656972206f78656e206163746564207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.107.1.14.15532|4x|717561696e746c79204a6164656420717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.107.1.14.26388|4x|6163746564206b65707420717561696e746c79206f78656e20627574206f78656e204a61646564206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.107.1.14.63734|4x|6b657074206f78656e20627574206b65707420627574206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.107.1.15.11681|4x|6f78656e20666f727761726420616374656420717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.107.1.15.15532|4x|4a616465642064726976696e67206b657074206f78656e206f78656e20666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.107.1.15.26388|4x|7a6f6d62696573206b65707420627574206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.107.1.15.63734|4x|64726976696e672064726976696e67206f78656e20627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.108.1.1.13028|66|13028 +1.3.6.1.4.1.9.9.826.1.20.108.1.1.26898|66|26898 +1.3.6.1.4.1.9.9.826.1.20.108.1.1.40124|66|40124 +1.3.6.1.4.1.9.9.826.1.20.108.1.1.43746|66|43746 +1.3.6.1.4.1.9.9.826.1.20.108.1.2.13028|4x|6b6570742064726976696e67206f78656e20717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.108.1.2.26898|4x|7a6f6d6269657320717561696e746c79204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.108.1.2.40124|4x|7468656972204a61646564 +1.3.6.1.4.1.9.9.826.1.20.108.1.2.43746|4x|6f78656e207468656972206f78656e206f78656e2064726976696e67206b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.108.1.3.13028|4x|6f78656e204a6164656420627574204a61646564204a61646564206f78656e20746865697220666f727761726420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.108.1.3.26898|4|zombies +1.3.6.1.4.1.9.9.826.1.20.108.1.3.40124|4x|62757420666f7277617264207a6f6d626965732062757420627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.108.1.3.43746|4x|6b657074204a6164656420666f727761726420717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.108.1.4.13028|66|2410189778 +1.3.6.1.4.1.9.9.826.1.20.108.1.4.26898|66|2266635400 +1.3.6.1.4.1.9.9.826.1.20.108.1.4.40124|66|2371540693 +1.3.6.1.4.1.9.9.826.1.20.108.1.4.43746|66|371537532 +1.3.6.1.4.1.9.9.826.1.20.108.1.5.13028|66|3843711727 +1.3.6.1.4.1.9.9.826.1.20.108.1.5.26898|66|2637831222 +1.3.6.1.4.1.9.9.826.1.20.108.1.5.40124|66|2205867299 +1.3.6.1.4.1.9.9.826.1.20.108.1.5.43746|66|1167178283 +1.3.6.1.4.1.9.9.826.1.20.108.1.6.13028|4x|6b657074204a61646564207a6f6d626965732064726976696e67206275742061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.108.1.6.26898|4x|4a61646564206163746564206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.108.1.6.40124|4x|7a6f6d62696573206f78656e20717561696e746c7920666f727761726420666f7277617264206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.108.1.6.43746|4x|717561696e746c79206b65707420746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.108.1.7.13028|4|their +1.3.6.1.4.1.9.9.826.1.20.108.1.7.26898|4x|6b65707420616374656420627574207a6f6d626965732064726976696e6720627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.108.1.7.40124|4x|7a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.108.1.7.43746|4x|7468656972204a61646564207468656972207468656972207a6f6d626965732061637465642064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.108.1.8.13028|2|25 +1.3.6.1.4.1.9.9.826.1.20.108.1.8.26898|2|11 +1.3.6.1.4.1.9.9.826.1.20.108.1.8.40124|2|1 +1.3.6.1.4.1.9.9.826.1.20.108.1.8.43746|2|4 +1.3.6.1.4.1.9.9.826.1.20.108.1.9.13028|4x|666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.108.1.9.26898|4x|6b65707420717561696e746c79207a6f6d62696573206b657074207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.20.108.1.9.40124|4x|7a6f6d62696573207468656972204a6164656420666f7277617264206b657074206163746564207468656972204a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.108.1.9.43746|4x|6f78656e204a61646564207a6f6d6269657320666f7277617264206163746564206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.108.1.10.13028|66|3906354553 +1.3.6.1.4.1.9.9.826.1.20.108.1.10.26898|66|1206561382 +1.3.6.1.4.1.9.9.826.1.20.108.1.10.40124|66|2630130827 +1.3.6.1.4.1.9.9.826.1.20.108.1.10.43746|66|2567837114 +1.3.6.1.4.1.9.9.826.1.20.108.1.11.13028|2|2 +1.3.6.1.4.1.9.9.826.1.20.108.1.11.26898|2|0 +1.3.6.1.4.1.9.9.826.1.20.108.1.11.40124|2|1 +1.3.6.1.4.1.9.9.826.1.20.108.1.11.43746|2|2 +1.3.6.1.4.1.9.9.826.1.20.109.1.1.41914|66|41914 +1.3.6.1.4.1.9.9.826.1.20.109.1.1.64505|66|64505 +1.3.6.1.4.1.9.9.826.1.20.109.1.1.64782|66|64782 +1.3.6.1.4.1.9.9.826.1.20.109.1.1.65386|66|65386 +1.3.6.1.4.1.9.9.826.1.20.109.1.2.41914|4x|666f727761726420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.109.1.2.64505|4x|666f72776172642064726976696e6720717561696e746c79207a6f6d62696573207468656972206163746564206b6570742062757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.109.1.2.64782|4x|7a6f6d62696573206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.109.1.2.65386|4x|64726976696e67207a6f6d62696573207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.109.1.3.41914|4x|64726976696e6720717561696e746c7920717561696e746c79206275742064726976696e67204a6164656420627574204a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.109.1.3.64505|4x|717561696e746c79206275742074686569722062757420717561696e746c7920717561696e746c79206163746564206b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.109.1.3.64782|4x|666f7277617264206f78656e204a61646564207a6f6d626965732064726976696e67206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.109.1.3.65386|4x|6f78656e20717561696e746c79206163746564206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.109.1.4.41914|2|1 +1.3.6.1.4.1.9.9.826.1.20.109.1.4.64505|2|2 +1.3.6.1.4.1.9.9.826.1.20.109.1.4.64782|2|2 +1.3.6.1.4.1.9.9.826.1.20.109.1.4.65386|2|1 +1.3.6.1.4.1.9.9.826.1.20.109.1.5.41914|70|12714058147355858650 +1.3.6.1.4.1.9.9.826.1.20.109.1.5.64505|70|13789071940135363345 +1.3.6.1.4.1.9.9.826.1.20.109.1.5.64782|70|15834721634288769643 +1.3.6.1.4.1.9.9.826.1.20.109.1.5.65386|70|10527343609751982323 +1.3.6.1.4.1.9.9.826.1.20.109.1.6.41914|66|3 +1.3.6.1.4.1.9.9.826.1.20.109.1.6.64505|66|1 +1.3.6.1.4.1.9.9.826.1.20.109.1.6.64782|66|3 +1.3.6.1.4.1.9.9.826.1.20.109.1.6.65386|66|1 +1.3.6.1.4.1.9.9.826.1.20.109.1.7.41914|4x|61637465642064726976696e67207a6f6d6269657320717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.109.1.7.64505|4x|666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.109.1.7.64782|4x|6f78656e206b657074206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.109.1.7.65386|4x|616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.109.1.8.41914|4x|74686569722062757420717561696e746c79206f78656e204a61646564207468656972206163746564206b657074206b657074 +1.3.6.1.4.1.9.9.826.1.20.109.1.8.64505|4x|6b657074207468656972206163746564207468656972206b657074206163746564 +1.3.6.1.4.1.9.9.826.1.20.109.1.8.64782|4x|717561696e746c79206b657074206b65707420717561696e746c792064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.109.1.8.65386|4x|62757420746865697220627574204a61646564206f78656e204a6164656420627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.109.1.9.41914|2|1 +1.3.6.1.4.1.9.9.826.1.20.109.1.9.64505|2|3 +1.3.6.1.4.1.9.9.826.1.20.109.1.9.64782|2|12 +1.3.6.1.4.1.9.9.826.1.20.109.1.9.65386|2|8 +1.3.6.1.4.1.9.9.826.1.20.109.1.10.41914|2|13 +1.3.6.1.4.1.9.9.826.1.20.109.1.10.64505|2|1 +1.3.6.1.4.1.9.9.826.1.20.109.1.10.64782|2|8 +1.3.6.1.4.1.9.9.826.1.20.109.1.10.65386|2|9 +1.3.6.1.4.1.9.9.826.1.20.109.1.11.41914|4x|7468656972207a6f6d6269657320627574206b65707420627574206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.109.1.11.64505|4x|7a6f6d6269657320627574206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.109.1.11.64782|4x|64726976696e67204a6164656420717561696e746c79207a6f6d62696573206f78656e2064726976696e67206f78656e204a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.109.1.11.65386|4x|717561696e746c79206163746564206f78656e206163746564207a6f6d62696573207a6f6d626965732062757420627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.109.1.12.41914|2|1 +1.3.6.1.4.1.9.9.826.1.20.109.1.12.64505|2|7 +1.3.6.1.4.1.9.9.826.1.20.109.1.12.64782|2|3 +1.3.6.1.4.1.9.9.826.1.20.109.1.12.65386|2|2 +1.3.6.1.4.1.9.9.826.1.20.109.1.13.41914|2|12 +1.3.6.1.4.1.9.9.826.1.20.109.1.13.64505|2|6 +1.3.6.1.4.1.9.9.826.1.20.109.1.13.64782|2|10 +1.3.6.1.4.1.9.9.826.1.20.109.1.13.65386|2|10 +1.3.6.1.4.1.9.9.826.1.20.109.1.14.41914|2|2 +1.3.6.1.4.1.9.9.826.1.20.109.1.14.64505|2|0 +1.3.6.1.4.1.9.9.826.1.20.109.1.14.64782|2|3 +1.3.6.1.4.1.9.9.826.1.20.109.1.14.65386|2|5 +1.3.6.1.4.1.9.9.826.1.20.109.1.15.41914|2|10 +1.3.6.1.4.1.9.9.826.1.20.109.1.15.64505|2|30 +1.3.6.1.4.1.9.9.826.1.20.109.1.15.64782|2|22 +1.3.6.1.4.1.9.9.826.1.20.109.1.15.65386|2|20 +1.3.6.1.4.1.9.9.826.1.20.109.1.16.41914|4x|7468656972206163746564207a6f6d626965732064726976696e6720717561696e746c79207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.109.1.16.64505|4|zombies +1.3.6.1.4.1.9.9.826.1.20.109.1.16.64782|4x|6163746564206f78656e20627574204a61646564206b657074204a6164656420627574206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.109.1.16.65386|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.109.1.17.41914|2|2 +1.3.6.1.4.1.9.9.826.1.20.109.1.17.64505|2|0 +1.3.6.1.4.1.9.9.826.1.20.109.1.17.64782|2|4 +1.3.6.1.4.1.9.9.826.1.20.109.1.17.65386|2|2 +1.3.6.1.4.1.9.9.826.1.20.109.1.18.41914|2|2 +1.3.6.1.4.1.9.9.826.1.20.109.1.18.64505|2|2 +1.3.6.1.4.1.9.9.826.1.20.109.1.18.64782|2|1 +1.3.6.1.4.1.9.9.826.1.20.109.1.18.65386|2|0 +1.3.6.1.4.1.9.9.826.1.20.109.1.19.41914|66|1823719321 +1.3.6.1.4.1.9.9.826.1.20.109.1.19.64505|66|3357333290 +1.3.6.1.4.1.9.9.826.1.20.109.1.19.64782|66|3286824718 +1.3.6.1.4.1.9.9.826.1.20.109.1.19.65386|66|477532896 +1.3.6.1.4.1.9.9.826.1.20.109.1.20.41914|4x|6f78656e20666f727761726420717561696e746c79207a6f6d626965732064726976696e67206f78656e207468656972 +1.3.6.1.4.1.9.9.826.1.20.109.1.20.64505|4x|4a61646564207a6f6d62696573206b657074204a616465642062757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.109.1.20.64782|4x|7a6f6d6269657320627574206163746564207a6f6d626965732064726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.109.1.20.65386|4x|6b657074206f78656e2064726976696e67207468656972206f78656e206b657074206f78656e20666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.109.1.21.41914|4x|64726976696e672074686569722064726976696e67206b6570742064726976696e6720717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.109.1.21.64505|4|forward +1.3.6.1.4.1.9.9.826.1.20.109.1.21.64782|4|their +1.3.6.1.4.1.9.9.826.1.20.109.1.21.65386|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.109.1.22.41914|2|6 +1.3.6.1.4.1.9.9.826.1.20.109.1.22.64505|2|5 +1.3.6.1.4.1.9.9.826.1.20.109.1.22.64782|2|0 +1.3.6.1.4.1.9.9.826.1.20.109.1.22.65386|2|3 +1.3.6.1.4.1.9.9.826.1.20.109.1.23.41914|4x|627574206b657074207a6f6d62696573206163746564206b657074206b657074 +1.3.6.1.4.1.9.9.826.1.20.109.1.23.64505|4x|666f7277617264206f78656e +1.3.6.1.4.1.9.9.826.1.20.109.1.23.64782|4x|666f72776172642064726976696e6720616374656420746865697220717561696e746c79206b65707420616374656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.109.1.23.65386|4x|627574207468656972206f78656e20717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.109.1.24.41914|4x|64726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.109.1.24.64505|4x|7468656972204a6164656420627574206f78656e204a61646564206f78656e20666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.109.1.24.64782|4x|6b65707420666f7277617264204a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.109.1.24.65386|4|forward +1.3.6.1.4.1.9.9.826.1.20.109.1.25.41914|2|6 +1.3.6.1.4.1.9.9.826.1.20.109.1.25.64505|2|5 +1.3.6.1.4.1.9.9.826.1.20.109.1.25.64782|2|0 +1.3.6.1.4.1.9.9.826.1.20.109.1.25.65386|2|0 +1.3.6.1.4.1.9.9.826.1.20.110.1.1.15600|66|15600 +1.3.6.1.4.1.9.9.826.1.20.110.1.1.49675|66|49675 +1.3.6.1.4.1.9.9.826.1.20.110.1.1.62120|66|62120 +1.3.6.1.4.1.9.9.826.1.20.110.1.1.63857|66|63857 +1.3.6.1.4.1.9.9.826.1.20.110.1.2.15600|4x|4a616465642062757420627574207a6f6d62696573206b65707420717561696e746c7920717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.110.1.2.49675|4x|7a6f6d62696573206163746564206f78656e20627574 +1.3.6.1.4.1.9.9.826.1.20.110.1.2.62120|4x|6f78656e20666f7277617264207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.110.1.2.63857|4x|4a61646564206f78656e20627574206f78656e20666f727761726420666f727761726420627574206f78656e +1.3.6.1.4.1.9.9.826.1.20.110.1.3.15600|4x|666f7277617264206f78656e206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.110.1.3.49675|4x|6b657074207468656972206b657074204a616465642062757420666f7277617264207468656972206f78656e +1.3.6.1.4.1.9.9.826.1.20.110.1.3.62120|4x|717561696e746c792062757420717561696e746c79204a616465642064726976696e67206f78656e207468656972 +1.3.6.1.4.1.9.9.826.1.20.110.1.3.63857|4x|6b657074206f78656e204a6164656420717561696e746c792064726976696e672062757420717561696e746c79207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.110.1.4.15600|2|2 +1.3.6.1.4.1.9.9.826.1.20.110.1.4.49675|2|1 +1.3.6.1.4.1.9.9.826.1.20.110.1.4.62120|2|2 +1.3.6.1.4.1.9.9.826.1.20.110.1.4.63857|2|1 +1.3.6.1.4.1.9.9.826.1.20.110.1.5.15600|2|2 +1.3.6.1.4.1.9.9.826.1.20.110.1.5.49675|2|1 +1.3.6.1.4.1.9.9.826.1.20.110.1.5.62120|2|1 +1.3.6.1.4.1.9.9.826.1.20.110.1.5.63857|2|2 +1.3.6.1.4.1.9.9.826.1.20.110.1.6.15600|66|1526077529 +1.3.6.1.4.1.9.9.826.1.20.110.1.6.49675|66|1494537357 +1.3.6.1.4.1.9.9.826.1.20.110.1.6.62120|66|2026995619 +1.3.6.1.4.1.9.9.826.1.20.110.1.6.63857|66|3955393937 +1.3.6.1.4.1.9.9.826.1.20.110.1.7.15600|66|456832926 +1.3.6.1.4.1.9.9.826.1.20.110.1.7.49675|66|573625995 +1.3.6.1.4.1.9.9.826.1.20.110.1.7.62120|66|264867188 +1.3.6.1.4.1.9.9.826.1.20.110.1.7.63857|66|3289237728 +1.3.6.1.4.1.9.9.826.1.20.110.1.8.15600|66|1540736204 +1.3.6.1.4.1.9.9.826.1.20.110.1.8.49675|66|2013010207 +1.3.6.1.4.1.9.9.826.1.20.110.1.8.62120|66|4260405759 +1.3.6.1.4.1.9.9.826.1.20.110.1.8.63857|66|3493634369 +1.3.6.1.4.1.9.9.826.1.20.110.1.9.15600|66|651649154 +1.3.6.1.4.1.9.9.826.1.20.110.1.9.49675|66|899416667 +1.3.6.1.4.1.9.9.826.1.20.110.1.9.62120|66|2804896242 +1.3.6.1.4.1.9.9.826.1.20.110.1.9.63857|66|3568548183 +1.3.6.1.4.1.9.9.826.1.20.110.1.10.15600|66|785370577 +1.3.6.1.4.1.9.9.826.1.20.110.1.10.49675|66|215506032 +1.3.6.1.4.1.9.9.826.1.20.110.1.10.62120|66|1247653177 +1.3.6.1.4.1.9.9.826.1.20.110.1.10.63857|66|1850092505 +1.3.6.1.4.1.9.9.826.1.20.110.1.11.15600|4x|6b6570742064726976696e67206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.110.1.11.49675|4x|7a6f6d62696573207a6f6d62696573204a61646564206163746564206f78656e206b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.110.1.11.62120|4x|7468656972206275742064726976696e6720666f7277617264204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.110.1.11.63857|4x|7a6f6d62696573206b65707420666f7277617264204a61646564204a6164656420666f7277617264206f78656e207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.110.1.12.15600|4|their +1.3.6.1.4.1.9.9.826.1.20.110.1.12.49675|4x|74686569722064726976696e67207a6f6d6269657320717561696e746c79206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.110.1.12.62120|4x|666f727761726420717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.110.1.12.63857|4x|616374656420717561696e746c79206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.110.1.13.15600|66|3059626360 +1.3.6.1.4.1.9.9.826.1.20.110.1.13.49675|66|1812064025 +1.3.6.1.4.1.9.9.826.1.20.110.1.13.62120|66|3351781219 +1.3.6.1.4.1.9.9.826.1.20.110.1.13.63857|66|2738975110 +1.3.6.1.4.1.9.9.826.1.20.110.1.14.15600|4x|4a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.110.1.14.49675|4x|666f7277617264206163746564206b6570742062757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.110.1.14.62120|4x|7a6f6d6269657320717561696e746c79207468656972207a6f6d62696573206b657074206163746564206163746564207468656972 +1.3.6.1.4.1.9.9.826.1.20.110.1.14.63857|4x|6f78656e20666f7277617264206b65707420717561696e746c79207468656972206f78656e +1.3.6.1.4.1.9.9.826.1.20.110.1.15.15600|4x|6163746564206f78656e20627574206b657074204a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.110.1.15.49675|4x|7468656972206b657074206f78656e206b657074207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.110.1.15.62120|4x|64726976696e67206f78656e +1.3.6.1.4.1.9.9.826.1.20.110.1.15.63857|4x|64726976696e67206163746564206f78656e207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.20.111.1.1.29136|66|29136 +1.3.6.1.4.1.9.9.826.1.20.111.1.1.60377|66|60377 +1.3.6.1.4.1.9.9.826.1.20.111.1.1.60429|66|60429 +1.3.6.1.4.1.9.9.826.1.20.111.1.1.62640|66|62640 +1.3.6.1.4.1.9.9.826.1.20.111.1.2.29136|4x|6163746564206b6570742064726976696e6720717561696e746c7920717561696e746c79207a6f6d626965732064726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.111.1.2.60377|4x|7468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.111.1.2.60429|4x|616374656420666f7277617264206b657074206163746564 +1.3.6.1.4.1.9.9.826.1.20.111.1.2.62640|4x|6f78656e206f78656e204a61646564204a61646564206b657074206b65707420627574206b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.111.1.3.29136|4x|666f727761726420717561696e746c79206b657074204a6164656420627574207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.111.1.3.60377|4x|64726976696e6720666f727761726420666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.111.1.3.60429|4x|7a6f6d6269657320717561696e746c7920627574206f78656e20717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.111.1.3.62640|4x|746865697220717561696e746c79206b6570742064726976696e6720717561696e746c7920627574206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.111.1.4.29136|4x|7a6f6d62696573204a616465642064726976696e672062757420627574 +1.3.6.1.4.1.9.9.826.1.20.111.1.4.60377|4|zombies +1.3.6.1.4.1.9.9.826.1.20.111.1.4.60429|4x|62757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.111.1.4.62640|4x|7a6f6d62696573204a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.111.1.5.29136|4x|7468656972207a6f6d62696573204a61646564207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.111.1.5.60377|4x|64726976696e6720627574207468656972207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.111.1.5.60429|4x|6f78656e20616374656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.111.1.5.62640|4x|7a6f6d62696573206b6570742064726976696e67206b65707420666f727761726420627574 +1.3.6.1.4.1.9.9.826.1.20.111.1.6.29136|4|acted +1.3.6.1.4.1.9.9.826.1.20.111.1.6.60377|4x|6163746564204a616465642064726976696e67206b657074207468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.111.1.6.60429|4x|717561696e746c79206b65707420666f7277617264206f78656e20746865697220627574 +1.3.6.1.4.1.9.9.826.1.20.111.1.6.62640|4x|6b6570742064726976696e67207a6f6d6269657320717561696e746c79207a6f6d62696573206b65707420627574206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.111.1.7.29136|4x|616374656420627574207a6f6d62696573204a6164656420717561696e746c792064726976696e672074686569722062757420627574 +1.3.6.1.4.1.9.9.826.1.20.111.1.7.60377|4x|6275742064726976696e67206f78656e206f78656e207468656972 +1.3.6.1.4.1.9.9.826.1.20.111.1.7.60429|4x|6163746564206b657074207a6f6d62696573206275742064726976696e6720746865697220746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.111.1.7.62640|4|oxen +1.3.6.1.4.1.9.9.826.1.20.111.1.8.29136|66|2188216337 +1.3.6.1.4.1.9.9.826.1.20.111.1.8.60377|66|3467322616 +1.3.6.1.4.1.9.9.826.1.20.111.1.8.60429|66|2060977579 +1.3.6.1.4.1.9.9.826.1.20.111.1.8.62640|66|2963800281 +1.3.6.1.4.1.9.9.826.1.20.111.1.9.29136|2|2 +1.3.6.1.4.1.9.9.826.1.20.111.1.9.60377|2|0 +1.3.6.1.4.1.9.9.826.1.20.111.1.9.60429|2|0 +1.3.6.1.4.1.9.9.826.1.20.111.1.9.62640|2|0 +1.3.6.1.4.1.9.9.826.1.20.112.1.1.5979|66|5979 +1.3.6.1.4.1.9.9.826.1.20.112.1.1.7920|66|7920 +1.3.6.1.4.1.9.9.826.1.20.112.1.1.12867|66|12867 +1.3.6.1.4.1.9.9.826.1.20.112.1.1.47819|66|47819 +1.3.6.1.4.1.9.9.826.1.20.112.1.2.5979|4x|6f78656e2074686569722062757420666f7277617264206b657074204a61646564207a6f6d6269657320746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.112.1.2.7920|4x|627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.112.1.2.12867|4x|7468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.112.1.2.47819|4|zombies +1.3.6.1.4.1.9.9.826.1.20.112.1.3.5979|4x|666f7277617264207a6f6d62696573206b65707420666f7277617264206163746564206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.112.1.3.7920|4x|7a6f6d62696573206275742074686569722062757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.112.1.3.12867|4x|61637465642064726976696e67206275742074686569722064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.112.1.3.47819|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.112.1.4.5979|2|24 +1.3.6.1.4.1.9.9.826.1.20.112.1.4.7920|2|5 +1.3.6.1.4.1.9.9.826.1.20.112.1.4.12867|2|23 +1.3.6.1.4.1.9.9.826.1.20.112.1.4.47819|2|2 +1.3.6.1.4.1.9.9.826.1.20.112.1.5.5979|2|29 +1.3.6.1.4.1.9.9.826.1.20.112.1.5.7920|2|12 +1.3.6.1.4.1.9.9.826.1.20.112.1.5.12867|2|5 +1.3.6.1.4.1.9.9.826.1.20.112.1.5.47819|2|25 +1.3.6.1.4.1.9.9.826.1.20.112.1.6.5979|2|7 +1.3.6.1.4.1.9.9.826.1.20.112.1.6.7920|2|12 +1.3.6.1.4.1.9.9.826.1.20.112.1.6.12867|2|1 +1.3.6.1.4.1.9.9.826.1.20.112.1.6.47819|2|20 +1.3.6.1.4.1.9.9.826.1.20.112.1.7.5979|2|19 +1.3.6.1.4.1.9.9.826.1.20.112.1.7.7920|2|23 +1.3.6.1.4.1.9.9.826.1.20.112.1.7.12867|2|28 +1.3.6.1.4.1.9.9.826.1.20.112.1.7.47819|2|5 +1.3.6.1.4.1.9.9.826.1.20.112.1.8.5979|4x|4a616465642064726976696e67207a6f6d62696573206f78656e206b657074206163746564207468656972 +1.3.6.1.4.1.9.9.826.1.20.112.1.8.7920|4x|666f7277617264207468656972206275742062757420717561696e746c7920627574206163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.112.1.8.12867|4x|64726976696e6720666f7277617264206f78656e207a6f6d626965732062757420746865697220666f72776172642061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.112.1.8.47819|4x|6b65707420666f7277617264204a61646564207468656972206f78656e20746865697220717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.112.1.9.5979|66|1625157942 +1.3.6.1.4.1.9.9.826.1.20.112.1.9.7920|66|2383176920 +1.3.6.1.4.1.9.9.826.1.20.112.1.9.12867|66|2395890159 +1.3.6.1.4.1.9.9.826.1.20.112.1.9.47819|66|1439413852 +1.3.6.1.4.1.9.9.826.1.20.112.1.10.5979|2|18 +1.3.6.1.4.1.9.9.826.1.20.112.1.10.7920|2|18 +1.3.6.1.4.1.9.9.826.1.20.112.1.10.12867|2|25 +1.3.6.1.4.1.9.9.826.1.20.112.1.10.47819|2|25 +1.3.6.1.4.1.9.9.826.1.20.112.1.11.5979|2|18 +1.3.6.1.4.1.9.9.826.1.20.112.1.11.7920|2|21 +1.3.6.1.4.1.9.9.826.1.20.112.1.11.12867|2|23 +1.3.6.1.4.1.9.9.826.1.20.112.1.11.47819|2|30 +1.3.6.1.4.1.9.9.826.1.20.112.1.12.5979|2|4 +1.3.6.1.4.1.9.9.826.1.20.112.1.12.7920|2|1 +1.3.6.1.4.1.9.9.826.1.20.112.1.12.12867|2|5 +1.3.6.1.4.1.9.9.826.1.20.112.1.12.47819|2|17 +1.3.6.1.4.1.9.9.826.1.20.112.1.13.5979|2|16 +1.3.6.1.4.1.9.9.826.1.20.112.1.13.7920|2|0 +1.3.6.1.4.1.9.9.826.1.20.112.1.13.12867|2|26 +1.3.6.1.4.1.9.9.826.1.20.112.1.13.47819|2|30 +1.3.6.1.4.1.9.9.826.1.20.112.1.14.5979|2|1 +1.3.6.1.4.1.9.9.826.1.20.112.1.14.7920|2|2 +1.3.6.1.4.1.9.9.826.1.20.112.1.14.12867|2|1 +1.3.6.1.4.1.9.9.826.1.20.112.1.14.47819|2|1 +1.3.6.1.4.1.9.9.826.1.20.112.1.15.5979|4x|746865697220666f727761726420627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.112.1.15.7920|4x|6f78656e206f78656e207468656972206163746564206f78656e206b65707420717561696e746c7920717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.112.1.15.12867|4x|6b6570742074686569722064726976696e6720717561696e746c79207468656972204a6164656420666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.112.1.15.47819|4x|64726976696e6720627574204a6164656420627574204a61646564206b6570742064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.112.1.16.5979|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.112.1.16.7920|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.112.1.16.12867|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.112.1.16.47819|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.112.1.17.5979|66|326921089 +1.3.6.1.4.1.9.9.826.1.20.112.1.17.7920|66|2536072729 +1.3.6.1.4.1.9.9.826.1.20.112.1.17.12867|66|3422006002 +1.3.6.1.4.1.9.9.826.1.20.112.1.17.47819|66|3229334364 +1.3.6.1.4.1.9.9.826.1.20.112.1.18.5979|2|21 +1.3.6.1.4.1.9.9.826.1.20.112.1.18.7920|2|17 +1.3.6.1.4.1.9.9.826.1.20.112.1.18.12867|2|25 +1.3.6.1.4.1.9.9.826.1.20.112.1.18.47819|2|4 +1.3.6.1.4.1.9.9.826.1.20.112.1.19.5979|2|16 +1.3.6.1.4.1.9.9.826.1.20.112.1.19.7920|2|4 +1.3.6.1.4.1.9.9.826.1.20.112.1.19.12867|2|24 +1.3.6.1.4.1.9.9.826.1.20.112.1.19.47819|2|27 +1.3.6.1.4.1.9.9.826.1.20.112.1.20.5979|2|24 +1.3.6.1.4.1.9.9.826.1.20.112.1.20.7920|2|9 +1.3.6.1.4.1.9.9.826.1.20.112.1.20.12867|2|27 +1.3.6.1.4.1.9.9.826.1.20.112.1.20.47819|2|16 +1.3.6.1.4.1.9.9.826.1.20.112.1.21.5979|2|3 +1.3.6.1.4.1.9.9.826.1.20.112.1.21.7920|2|16 +1.3.6.1.4.1.9.9.826.1.20.112.1.21.12867|2|9 +1.3.6.1.4.1.9.9.826.1.20.112.1.21.47819|2|13 +1.3.6.1.4.1.9.9.826.1.20.113.1.1.22769|66|22769 +1.3.6.1.4.1.9.9.826.1.20.113.1.1.24202|66|24202 +1.3.6.1.4.1.9.9.826.1.20.113.1.1.40110|66|40110 +1.3.6.1.4.1.9.9.826.1.20.113.1.1.62601|66|62601 +1.3.6.1.4.1.9.9.826.1.20.113.1.2.22769|4x|6b657074204a61646564204a61646564206163746564206b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.113.1.2.24202|4x|6f78656e206b657074206f78656e204a61646564206163746564204a61646564206f78656e20717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.113.1.2.40110|4x|717561696e746c79206163746564207a6f6d6269657320717561696e746c7920616374656420746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.113.1.2.62601|4|oxen +1.3.6.1.4.1.9.9.826.1.20.113.1.3.22769|4x|7a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.113.1.3.24202|4x|717561696e746c79204a61646564207a6f6d62696573207468656972207a6f6d62696573207a6f6d62696573206f78656e206b657074206b657074 +1.3.6.1.4.1.9.9.826.1.20.113.1.3.40110|4x|6b65707420666f7277617264206f78656e +1.3.6.1.4.1.9.9.826.1.20.113.1.3.62601|4x|746865697220627574207a6f6d6269657320717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.113.1.4.22769|2|17 +1.3.6.1.4.1.9.9.826.1.20.113.1.4.24202|2|4 +1.3.6.1.4.1.9.9.826.1.20.113.1.4.40110|2|30 +1.3.6.1.4.1.9.9.826.1.20.113.1.4.62601|2|2 +1.3.6.1.4.1.9.9.826.1.20.113.1.5.22769|2|3 +1.3.6.1.4.1.9.9.826.1.20.113.1.5.24202|2|24 +1.3.6.1.4.1.9.9.826.1.20.113.1.5.40110|2|2 +1.3.6.1.4.1.9.9.826.1.20.113.1.5.62601|2|12 +1.3.6.1.4.1.9.9.826.1.20.113.1.6.22769|2|12 +1.3.6.1.4.1.9.9.826.1.20.113.1.6.24202|2|14 +1.3.6.1.4.1.9.9.826.1.20.113.1.6.40110|2|15 +1.3.6.1.4.1.9.9.826.1.20.113.1.6.62601|2|24 +1.3.6.1.4.1.9.9.826.1.20.113.1.7.22769|2|21 +1.3.6.1.4.1.9.9.826.1.20.113.1.7.24202|2|24 +1.3.6.1.4.1.9.9.826.1.20.113.1.7.40110|2|21 +1.3.6.1.4.1.9.9.826.1.20.113.1.7.62601|2|27 +1.3.6.1.4.1.9.9.826.1.20.113.1.8.22769|70|12643059604004322183 +1.3.6.1.4.1.9.9.826.1.20.113.1.8.24202|70|6597508459994468013 +1.3.6.1.4.1.9.9.826.1.20.113.1.8.40110|70|16833908684554095272 +1.3.6.1.4.1.9.9.826.1.20.113.1.8.62601|70|1541646437772803142 +1.3.6.1.4.1.9.9.826.1.20.113.1.9.22769|2|2 +1.3.6.1.4.1.9.9.826.1.20.113.1.9.24202|2|1 +1.3.6.1.4.1.9.9.826.1.20.113.1.9.40110|2|1 +1.3.6.1.4.1.9.9.826.1.20.113.1.9.62601|2|1 +1.3.6.1.4.1.9.9.826.1.20.113.1.10.22769|2|28 +1.3.6.1.4.1.9.9.826.1.20.113.1.10.24202|2|3 +1.3.6.1.4.1.9.9.826.1.20.113.1.10.40110|2|31 +1.3.6.1.4.1.9.9.826.1.20.113.1.10.62601|2|29 +1.3.6.1.4.1.9.9.826.1.20.113.1.11.22769|2|11 +1.3.6.1.4.1.9.9.826.1.20.113.1.11.24202|2|13 +1.3.6.1.4.1.9.9.826.1.20.113.1.11.40110|2|31 +1.3.6.1.4.1.9.9.826.1.20.113.1.11.62601|2|23 +1.3.6.1.4.1.9.9.826.1.20.113.1.12.22769|2|18 +1.3.6.1.4.1.9.9.826.1.20.113.1.12.24202|2|2 +1.3.6.1.4.1.9.9.826.1.20.113.1.12.40110|2|24 +1.3.6.1.4.1.9.9.826.1.20.113.1.12.62601|2|7 +1.3.6.1.4.1.9.9.826.1.20.113.1.13.22769|2|10 +1.3.6.1.4.1.9.9.826.1.20.113.1.13.24202|2|31 +1.3.6.1.4.1.9.9.826.1.20.113.1.13.40110|2|11 +1.3.6.1.4.1.9.9.826.1.20.113.1.13.62601|2|13 +1.3.6.1.4.1.9.9.826.1.20.113.1.14.22769|2|2 +1.3.6.1.4.1.9.9.826.1.20.113.1.14.24202|2|2 +1.3.6.1.4.1.9.9.826.1.20.113.1.14.40110|2|1 +1.3.6.1.4.1.9.9.826.1.20.113.1.14.62601|2|1 +1.3.6.1.4.1.9.9.826.1.20.113.1.15.22769|4x|4a61646564206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.113.1.15.24202|4x|666f7277617264204a6164656420666f72776172642064726976696e6720666f7277617264206b657074206b657074 +1.3.6.1.4.1.9.9.826.1.20.113.1.15.40110|4x|6f78656e206163746564207a6f6d6269657320666f7277617264206163746564207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.113.1.15.62601|4x|64726976696e67206f78656e206275742064726976696e67207a6f6d626965732062757420616374656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.113.1.16.22769|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.113.1.16.24202|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.113.1.16.40110|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.113.1.16.62601|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.113.1.17.22769|2|17 +1.3.6.1.4.1.9.9.826.1.20.113.1.17.24202|2|9 +1.3.6.1.4.1.9.9.826.1.20.113.1.17.40110|2|18 +1.3.6.1.4.1.9.9.826.1.20.113.1.17.62601|2|1 +1.3.6.1.4.1.9.9.826.1.20.113.1.18.22769|2|12 +1.3.6.1.4.1.9.9.826.1.20.113.1.18.24202|2|24 +1.3.6.1.4.1.9.9.826.1.20.113.1.18.40110|2|24 +1.3.6.1.4.1.9.9.826.1.20.113.1.18.62601|2|19 +1.3.6.1.4.1.9.9.826.1.20.113.1.19.22769|2|1 +1.3.6.1.4.1.9.9.826.1.20.113.1.19.24202|2|9 +1.3.6.1.4.1.9.9.826.1.20.113.1.19.40110|2|6 +1.3.6.1.4.1.9.9.826.1.20.113.1.19.62601|2|20 +1.3.6.1.4.1.9.9.826.1.20.113.1.20.22769|2|28 +1.3.6.1.4.1.9.9.826.1.20.113.1.20.24202|2|16 +1.3.6.1.4.1.9.9.826.1.20.113.1.20.40110|2|8 +1.3.6.1.4.1.9.9.826.1.20.113.1.20.62601|2|12 +1.3.6.1.4.1.9.9.826.1.20.114.1.1.6654|66|6654 +1.3.6.1.4.1.9.9.826.1.20.114.1.1.19189|66|19189 +1.3.6.1.4.1.9.9.826.1.20.114.1.1.23647|66|23647 +1.3.6.1.4.1.9.9.826.1.20.114.1.1.49610|66|49610 +1.3.6.1.4.1.9.9.826.1.20.114.1.2.6654|4x|7468656972204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.114.1.2.19189|4x|717561696e746c79206f78656e20746865697220627574207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.114.1.2.23647|4x|7a6f6d62696573206b657074 +1.3.6.1.4.1.9.9.826.1.20.114.1.2.49610|4x|6f78656e2064726976696e67206163746564207a6f6d6269657320666f72776172642062757420666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.114.1.3.6654|4x|616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.114.1.3.19189|4x|62757420717561696e746c792062757420717561696e746c79206163746564206b657074206b657074 +1.3.6.1.4.1.9.9.826.1.20.114.1.3.23647|4x|6163746564207468656972204a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.114.1.3.49610|4x|62757420666f7277617264204a6164656420627574204a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.114.1.4.6654|2|18 +1.3.6.1.4.1.9.9.826.1.20.114.1.4.19189|2|19 +1.3.6.1.4.1.9.9.826.1.20.114.1.4.23647|2|15 +1.3.6.1.4.1.9.9.826.1.20.114.1.4.49610|2|14 +1.3.6.1.4.1.9.9.826.1.20.114.1.5.6654|2|0 +1.3.6.1.4.1.9.9.826.1.20.114.1.5.19189|2|13 +1.3.6.1.4.1.9.9.826.1.20.114.1.5.23647|2|21 +1.3.6.1.4.1.9.9.826.1.20.114.1.5.49610|2|8 +1.3.6.1.4.1.9.9.826.1.20.114.1.6.6654|2|12 +1.3.6.1.4.1.9.9.826.1.20.114.1.6.19189|2|1 +1.3.6.1.4.1.9.9.826.1.20.114.1.6.23647|2|6 +1.3.6.1.4.1.9.9.826.1.20.114.1.6.49610|2|4 +1.3.6.1.4.1.9.9.826.1.20.114.1.7.6654|2|6 +1.3.6.1.4.1.9.9.826.1.20.114.1.7.19189|2|24 +1.3.6.1.4.1.9.9.826.1.20.114.1.7.23647|2|30 +1.3.6.1.4.1.9.9.826.1.20.114.1.7.49610|2|31 +1.3.6.1.4.1.9.9.826.1.20.114.1.8.6654|66|1136396336 +1.3.6.1.4.1.9.9.826.1.20.114.1.8.19189|66|1671013967 +1.3.6.1.4.1.9.9.826.1.20.114.1.8.23647|66|1355434981 +1.3.6.1.4.1.9.9.826.1.20.114.1.8.49610|66|1413236841 +1.3.6.1.4.1.9.9.826.1.20.114.1.9.6654|4x|4a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.114.1.9.19189|4x|62757420627574206275742064726976696e672061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.114.1.9.23647|4x|6b657074207a6f6d62696573206b6570742074686569722061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.114.1.9.49610|4x|7a6f6d626965732064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.114.1.10.6654|2|26 +1.3.6.1.4.1.9.9.826.1.20.114.1.10.19189|2|21 +1.3.6.1.4.1.9.9.826.1.20.114.1.10.23647|2|26 +1.3.6.1.4.1.9.9.826.1.20.114.1.10.49610|2|15 +1.3.6.1.4.1.9.9.826.1.20.114.1.11.6654|2|6 +1.3.6.1.4.1.9.9.826.1.20.114.1.11.19189|2|6 +1.3.6.1.4.1.9.9.826.1.20.114.1.11.23647|2|4 +1.3.6.1.4.1.9.9.826.1.20.114.1.11.49610|2|20 +1.3.6.1.4.1.9.9.826.1.20.114.1.12.6654|2|16 +1.3.6.1.4.1.9.9.826.1.20.114.1.12.19189|2|28 +1.3.6.1.4.1.9.9.826.1.20.114.1.12.23647|2|8 +1.3.6.1.4.1.9.9.826.1.20.114.1.12.49610|2|10 +1.3.6.1.4.1.9.9.826.1.20.114.1.13.6654|2|30 +1.3.6.1.4.1.9.9.826.1.20.114.1.13.19189|2|12 +1.3.6.1.4.1.9.9.826.1.20.114.1.13.23647|2|13 +1.3.6.1.4.1.9.9.826.1.20.114.1.13.49610|2|24 +1.3.6.1.4.1.9.9.826.1.20.114.1.14.6654|2|2 +1.3.6.1.4.1.9.9.826.1.20.114.1.14.19189|2|2 +1.3.6.1.4.1.9.9.826.1.20.114.1.14.23647|2|2 +1.3.6.1.4.1.9.9.826.1.20.114.1.14.49610|2|1 +1.3.6.1.4.1.9.9.826.1.20.114.1.15.6654|4x|717561696e746c7920627574206f78656e +1.3.6.1.4.1.9.9.826.1.20.114.1.15.19189|4x|627574206b657074206f78656e207468656972 +1.3.6.1.4.1.9.9.826.1.20.114.1.15.23647|4x|62757420666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.114.1.15.49610|4x|64726976696e6720666f727761726420746865697220717561696e746c79207468656972207a6f6d6269657320616374656420717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.114.1.16.6654|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.114.1.16.19189|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.114.1.16.23647|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.114.1.16.49610|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.114.1.17.6654|66|1771526628 +1.3.6.1.4.1.9.9.826.1.20.114.1.17.19189|66|2930892183 +1.3.6.1.4.1.9.9.826.1.20.114.1.17.23647|66|1683928758 +1.3.6.1.4.1.9.9.826.1.20.114.1.17.49610|66|21806640 +1.3.6.1.4.1.9.9.826.1.20.114.1.18.6654|2|1 +1.3.6.1.4.1.9.9.826.1.20.114.1.18.19189|2|30 +1.3.6.1.4.1.9.9.826.1.20.114.1.18.23647|2|19 +1.3.6.1.4.1.9.9.826.1.20.114.1.18.49610|2|28 +1.3.6.1.4.1.9.9.826.1.20.114.1.19.6654|2|17 +1.3.6.1.4.1.9.9.826.1.20.114.1.19.19189|2|23 +1.3.6.1.4.1.9.9.826.1.20.114.1.19.23647|2|24 +1.3.6.1.4.1.9.9.826.1.20.114.1.19.49610|2|22 +1.3.6.1.4.1.9.9.826.1.20.114.1.20.6654|2|3 +1.3.6.1.4.1.9.9.826.1.20.114.1.20.19189|2|23 +1.3.6.1.4.1.9.9.826.1.20.114.1.20.23647|2|5 +1.3.6.1.4.1.9.9.826.1.20.114.1.20.49610|2|14 +1.3.6.1.4.1.9.9.826.1.20.114.1.21.6654|2|26 +1.3.6.1.4.1.9.9.826.1.20.114.1.21.19189|2|30 +1.3.6.1.4.1.9.9.826.1.20.114.1.21.23647|2|11 +1.3.6.1.4.1.9.9.826.1.20.114.1.21.49610|2|22 +1.3.6.1.4.1.9.9.826.1.20.115.1.1.32899|66|32899 +1.3.6.1.4.1.9.9.826.1.20.115.1.1.34639|66|34639 +1.3.6.1.4.1.9.9.826.1.20.115.1.1.43145|66|43145 +1.3.6.1.4.1.9.9.826.1.20.115.1.1.53284|66|53284 +1.3.6.1.4.1.9.9.826.1.20.115.1.2.32899|4x|7a6f6d626965732064726976696e67207a6f6d6269657320717561696e746c7920616374656420627574206f78656e +1.3.6.1.4.1.9.9.826.1.20.115.1.2.34639|4x|6163746564204a61646564206f78656e20627574204a616465642061637465642064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.115.1.2.43145|4|acted +1.3.6.1.4.1.9.9.826.1.20.115.1.2.53284|4x|666f7277617264204a61646564207a6f6d6269657320627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.115.1.3.32899|4x|64726976696e6720746865697220717561696e746c79206163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.115.1.3.34639|4x|4a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.115.1.3.43145|4x|61637465642064726976696e67207a6f6d62696573206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.115.1.3.53284|4x|6b657074206163746564206b6570742064726976696e672062757420627574206f78656e2064726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.115.1.4.32899|2|19 +1.3.6.1.4.1.9.9.826.1.20.115.1.4.34639|2|29 +1.3.6.1.4.1.9.9.826.1.20.115.1.4.43145|2|4 +1.3.6.1.4.1.9.9.826.1.20.115.1.4.53284|2|7 +1.3.6.1.4.1.9.9.826.1.20.115.1.5.32899|2|16 +1.3.6.1.4.1.9.9.826.1.20.115.1.5.34639|2|4 +1.3.6.1.4.1.9.9.826.1.20.115.1.5.43145|2|30 +1.3.6.1.4.1.9.9.826.1.20.115.1.5.53284|2|20 +1.3.6.1.4.1.9.9.826.1.20.115.1.6.32899|2|27 +1.3.6.1.4.1.9.9.826.1.20.115.1.6.34639|2|4 +1.3.6.1.4.1.9.9.826.1.20.115.1.6.43145|2|22 +1.3.6.1.4.1.9.9.826.1.20.115.1.6.53284|2|15 +1.3.6.1.4.1.9.9.826.1.20.115.1.7.32899|2|2 +1.3.6.1.4.1.9.9.826.1.20.115.1.7.34639|2|15 +1.3.6.1.4.1.9.9.826.1.20.115.1.7.43145|2|27 +1.3.6.1.4.1.9.9.826.1.20.115.1.7.53284|2|1 +1.3.6.1.4.1.9.9.826.1.20.115.1.8.32899|70|8579259341613666211 +1.3.6.1.4.1.9.9.826.1.20.115.1.8.34639|70|10344358326433732429 +1.3.6.1.4.1.9.9.826.1.20.115.1.8.43145|70|1765389898133538225 +1.3.6.1.4.1.9.9.826.1.20.115.1.8.53284|70|3441023717575885073 +1.3.6.1.4.1.9.9.826.1.20.115.1.9.32899|2|2 +1.3.6.1.4.1.9.9.826.1.20.115.1.9.34639|2|2 +1.3.6.1.4.1.9.9.826.1.20.115.1.9.43145|2|2 +1.3.6.1.4.1.9.9.826.1.20.115.1.9.53284|2|1 +1.3.6.1.4.1.9.9.826.1.20.115.1.10.32899|2|23 +1.3.6.1.4.1.9.9.826.1.20.115.1.10.34639|2|22 +1.3.6.1.4.1.9.9.826.1.20.115.1.10.43145|2|2 +1.3.6.1.4.1.9.9.826.1.20.115.1.10.53284|2|1 +1.3.6.1.4.1.9.9.826.1.20.115.1.11.32899|2|9 +1.3.6.1.4.1.9.9.826.1.20.115.1.11.34639|2|17 +1.3.6.1.4.1.9.9.826.1.20.115.1.11.43145|2|25 +1.3.6.1.4.1.9.9.826.1.20.115.1.11.53284|2|3 +1.3.6.1.4.1.9.9.826.1.20.115.1.12.32899|2|9 +1.3.6.1.4.1.9.9.826.1.20.115.1.12.34639|2|31 +1.3.6.1.4.1.9.9.826.1.20.115.1.12.43145|2|5 +1.3.6.1.4.1.9.9.826.1.20.115.1.12.53284|2|26 +1.3.6.1.4.1.9.9.826.1.20.115.1.13.32899|2|29 +1.3.6.1.4.1.9.9.826.1.20.115.1.13.34639|2|29 +1.3.6.1.4.1.9.9.826.1.20.115.1.13.43145|2|12 +1.3.6.1.4.1.9.9.826.1.20.115.1.13.53284|2|15 +1.3.6.1.4.1.9.9.826.1.20.115.1.14.32899|2|1 +1.3.6.1.4.1.9.9.826.1.20.115.1.14.34639|2|2 +1.3.6.1.4.1.9.9.826.1.20.115.1.14.43145|2|2 +1.3.6.1.4.1.9.9.826.1.20.115.1.14.53284|2|1 +1.3.6.1.4.1.9.9.826.1.20.115.1.15.32899|4x|6163746564206f78656e20666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.115.1.15.34639|4x|6f78656e204a61646564207468656972207a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.115.1.15.43145|4x|4a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.115.1.15.53284|4x|62757420746865697220616374656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.115.1.16.32899|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.115.1.16.34639|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.115.1.16.43145|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.115.1.16.53284|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.115.1.17.32899|2|20 +1.3.6.1.4.1.9.9.826.1.20.115.1.17.34639|2|2 +1.3.6.1.4.1.9.9.826.1.20.115.1.17.43145|2|7 +1.3.6.1.4.1.9.9.826.1.20.115.1.17.53284|2|28 +1.3.6.1.4.1.9.9.826.1.20.115.1.18.32899|2|10 +1.3.6.1.4.1.9.9.826.1.20.115.1.18.34639|2|11 +1.3.6.1.4.1.9.9.826.1.20.115.1.18.43145|2|21 +1.3.6.1.4.1.9.9.826.1.20.115.1.18.53284|2|23 +1.3.6.1.4.1.9.9.826.1.20.115.1.19.32899|2|13 +1.3.6.1.4.1.9.9.826.1.20.115.1.19.34639|2|29 +1.3.6.1.4.1.9.9.826.1.20.115.1.19.43145|2|20 +1.3.6.1.4.1.9.9.826.1.20.115.1.19.53284|2|2 +1.3.6.1.4.1.9.9.826.1.20.115.1.20.32899|2|18 +1.3.6.1.4.1.9.9.826.1.20.115.1.20.34639|2|25 +1.3.6.1.4.1.9.9.826.1.20.115.1.20.43145|2|22 +1.3.6.1.4.1.9.9.826.1.20.115.1.20.53284|2|21 +1.3.6.1.4.1.9.9.826.1.20.116.1.1.8854|66|8854 +1.3.6.1.4.1.9.9.826.1.20.116.1.1.25845|66|25845 +1.3.6.1.4.1.9.9.826.1.20.116.1.1.45986|66|45986 +1.3.6.1.4.1.9.9.826.1.20.116.1.1.58828|66|58828 +1.3.6.1.4.1.9.9.826.1.20.116.1.2.8854|4x|6f78656e204a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.116.1.2.25845|4x|666f7277617264207a6f6d6269657320717561696e746c79206b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.116.1.2.45986|4x|717561696e746c7920717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.116.1.2.58828|4x|64726976696e67206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.116.1.3.8854|4x|717561696e746c792064726976696e672064726976696e67204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.116.1.3.25845|4|forward +1.3.6.1.4.1.9.9.826.1.20.116.1.3.45986|4x|4a616465642062757420717561696e746c79206b657074206b65707420746865697220666f727761726420627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.116.1.3.58828|4x|6b65707420717561696e746c7920616374656420627574206163746564207a6f6d6269657320717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.116.1.4.8854|2|4 +1.3.6.1.4.1.9.9.826.1.20.116.1.4.25845|2|11 +1.3.6.1.4.1.9.9.826.1.20.116.1.4.45986|2|29 +1.3.6.1.4.1.9.9.826.1.20.116.1.4.58828|2|21 +1.3.6.1.4.1.9.9.826.1.20.116.1.5.8854|2|25 +1.3.6.1.4.1.9.9.826.1.20.116.1.5.25845|2|19 +1.3.6.1.4.1.9.9.826.1.20.116.1.5.45986|2|16 +1.3.6.1.4.1.9.9.826.1.20.116.1.5.58828|2|14 +1.3.6.1.4.1.9.9.826.1.20.116.1.6.8854|2|0 +1.3.6.1.4.1.9.9.826.1.20.116.1.6.25845|2|12 +1.3.6.1.4.1.9.9.826.1.20.116.1.6.45986|2|12 +1.3.6.1.4.1.9.9.826.1.20.116.1.6.58828|2|12 +1.3.6.1.4.1.9.9.826.1.20.116.1.7.8854|2|3 +1.3.6.1.4.1.9.9.826.1.20.116.1.7.25845|2|29 +1.3.6.1.4.1.9.9.826.1.20.116.1.7.45986|2|27 +1.3.6.1.4.1.9.9.826.1.20.116.1.7.58828|2|13 +1.3.6.1.4.1.9.9.826.1.20.116.1.8.8854|2|15 +1.3.6.1.4.1.9.9.826.1.20.116.1.8.25845|2|16 +1.3.6.1.4.1.9.9.826.1.20.116.1.8.45986|2|20 +1.3.6.1.4.1.9.9.826.1.20.116.1.8.58828|2|28 +1.3.6.1.4.1.9.9.826.1.20.116.1.9.8854|2|3 +1.3.6.1.4.1.9.9.826.1.20.116.1.9.25845|2|31 +1.3.6.1.4.1.9.9.826.1.20.116.1.9.45986|2|16 +1.3.6.1.4.1.9.9.826.1.20.116.1.9.58828|2|27 +1.3.6.1.4.1.9.9.826.1.20.116.1.10.8854|2|30 +1.3.6.1.4.1.9.9.826.1.20.116.1.10.25845|2|28 +1.3.6.1.4.1.9.9.826.1.20.116.1.10.45986|2|10 +1.3.6.1.4.1.9.9.826.1.20.116.1.10.58828|2|9 +1.3.6.1.4.1.9.9.826.1.20.116.1.11.8854|2|22 +1.3.6.1.4.1.9.9.826.1.20.116.1.11.25845|2|30 +1.3.6.1.4.1.9.9.826.1.20.116.1.11.45986|2|20 +1.3.6.1.4.1.9.9.826.1.20.116.1.11.58828|2|3 +1.3.6.1.4.1.9.9.826.1.20.116.1.12.8854|66|943873809 +1.3.6.1.4.1.9.9.826.1.20.116.1.12.25845|66|2295334485 +1.3.6.1.4.1.9.9.826.1.20.116.1.12.45986|66|1642885134 +1.3.6.1.4.1.9.9.826.1.20.116.1.12.58828|66|2735418845 +1.3.6.1.4.1.9.9.826.1.20.116.1.13.8854|2|26 +1.3.6.1.4.1.9.9.826.1.20.116.1.13.25845|2|20 +1.3.6.1.4.1.9.9.826.1.20.116.1.13.45986|2|17 +1.3.6.1.4.1.9.9.826.1.20.116.1.13.58828|2|14 +1.3.6.1.4.1.9.9.826.1.20.116.1.14.8854|2|30 +1.3.6.1.4.1.9.9.826.1.20.116.1.14.25845|2|13 +1.3.6.1.4.1.9.9.826.1.20.116.1.14.45986|2|3 +1.3.6.1.4.1.9.9.826.1.20.116.1.14.58828|2|19 +1.3.6.1.4.1.9.9.826.1.20.116.1.15.8854|2|6 +1.3.6.1.4.1.9.9.826.1.20.116.1.15.25845|2|14 +1.3.6.1.4.1.9.9.826.1.20.116.1.15.45986|2|23 +1.3.6.1.4.1.9.9.826.1.20.116.1.15.58828|2|15 +1.3.6.1.4.1.9.9.826.1.20.116.1.16.8854|2|0 +1.3.6.1.4.1.9.9.826.1.20.116.1.16.25845|2|5 +1.3.6.1.4.1.9.9.826.1.20.116.1.16.45986|2|4 +1.3.6.1.4.1.9.9.826.1.20.116.1.16.58828|2|15 +1.3.6.1.4.1.9.9.826.1.20.116.1.17.8854|2|7 +1.3.6.1.4.1.9.9.826.1.20.116.1.17.25845|2|18 +1.3.6.1.4.1.9.9.826.1.20.116.1.17.45986|2|13 +1.3.6.1.4.1.9.9.826.1.20.116.1.17.58828|2|4 +1.3.6.1.4.1.9.9.826.1.20.116.1.18.8854|2|11 +1.3.6.1.4.1.9.9.826.1.20.116.1.18.25845|2|6 +1.3.6.1.4.1.9.9.826.1.20.116.1.18.45986|2|17 +1.3.6.1.4.1.9.9.826.1.20.116.1.18.58828|2|22 +1.3.6.1.4.1.9.9.826.1.20.116.1.19.8854|2|29 +1.3.6.1.4.1.9.9.826.1.20.116.1.19.25845|2|3 +1.3.6.1.4.1.9.9.826.1.20.116.1.19.45986|2|30 +1.3.6.1.4.1.9.9.826.1.20.116.1.19.58828|2|4 +1.3.6.1.4.1.9.9.826.1.20.116.1.20.8854|2|19 +1.3.6.1.4.1.9.9.826.1.20.116.1.20.25845|2|13 +1.3.6.1.4.1.9.9.826.1.20.116.1.20.45986|2|20 +1.3.6.1.4.1.9.9.826.1.20.116.1.20.58828|2|3 +1.3.6.1.4.1.9.9.826.1.20.116.1.21.8854|2|13 +1.3.6.1.4.1.9.9.826.1.20.116.1.21.25845|2|31 +1.3.6.1.4.1.9.9.826.1.20.116.1.21.45986|2|13 +1.3.6.1.4.1.9.9.826.1.20.116.1.21.58828|2|4 +1.3.6.1.4.1.9.9.826.1.20.116.1.22.8854|2|14 +1.3.6.1.4.1.9.9.826.1.20.116.1.22.25845|2|4 +1.3.6.1.4.1.9.9.826.1.20.116.1.22.45986|2|6 +1.3.6.1.4.1.9.9.826.1.20.116.1.22.58828|2|8 +1.3.6.1.4.1.9.9.826.1.20.116.1.23.8854|2|8 +1.3.6.1.4.1.9.9.826.1.20.116.1.23.25845|2|15 +1.3.6.1.4.1.9.9.826.1.20.116.1.23.45986|2|16 +1.3.6.1.4.1.9.9.826.1.20.116.1.23.58828|2|12 +1.3.6.1.4.1.9.9.826.1.20.116.1.24.8854|2|17 +1.3.6.1.4.1.9.9.826.1.20.116.1.24.25845|2|3 +1.3.6.1.4.1.9.9.826.1.20.116.1.24.45986|2|19 +1.3.6.1.4.1.9.9.826.1.20.116.1.24.58828|2|30 +1.3.6.1.4.1.9.9.826.1.20.116.1.25.8854|2|11 +1.3.6.1.4.1.9.9.826.1.20.116.1.25.25845|2|30 +1.3.6.1.4.1.9.9.826.1.20.116.1.25.45986|2|22 +1.3.6.1.4.1.9.9.826.1.20.116.1.25.58828|2|29 +1.3.6.1.4.1.9.9.826.1.20.116.1.26.8854|2|13 +1.3.6.1.4.1.9.9.826.1.20.116.1.26.25845|2|31 +1.3.6.1.4.1.9.9.826.1.20.116.1.26.45986|2|28 +1.3.6.1.4.1.9.9.826.1.20.116.1.26.58828|2|5 +1.3.6.1.4.1.9.9.826.1.20.116.1.27.8854|2|28 +1.3.6.1.4.1.9.9.826.1.20.116.1.27.25845|2|12 +1.3.6.1.4.1.9.9.826.1.20.116.1.27.45986|2|5 +1.3.6.1.4.1.9.9.826.1.20.116.1.27.58828|2|8 +1.3.6.1.4.1.9.9.826.1.20.116.1.28.8854|2|21 +1.3.6.1.4.1.9.9.826.1.20.116.1.28.25845|2|10 +1.3.6.1.4.1.9.9.826.1.20.116.1.28.45986|2|4 +1.3.6.1.4.1.9.9.826.1.20.116.1.28.58828|2|1 +1.3.6.1.4.1.9.9.826.1.20.116.1.29.8854|2|15 +1.3.6.1.4.1.9.9.826.1.20.116.1.29.25845|2|11 +1.3.6.1.4.1.9.9.826.1.20.116.1.29.45986|2|4 +1.3.6.1.4.1.9.9.826.1.20.116.1.29.58828|2|22 +1.3.6.1.4.1.9.9.826.1.20.116.1.30.8854|2|3 +1.3.6.1.4.1.9.9.826.1.20.116.1.30.25845|2|19 +1.3.6.1.4.1.9.9.826.1.20.116.1.30.45986|2|25 +1.3.6.1.4.1.9.9.826.1.20.116.1.30.58828|2|5 +1.3.6.1.4.1.9.9.826.1.20.116.1.31.8854|2|2 +1.3.6.1.4.1.9.9.826.1.20.116.1.31.25845|2|1 +1.3.6.1.4.1.9.9.826.1.20.116.1.31.45986|2|1 +1.3.6.1.4.1.9.9.826.1.20.116.1.31.58828|2|2 +1.3.6.1.4.1.9.9.826.1.20.116.1.32.8854|4x|666f727761726420717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.116.1.32.25845|4x|4a6164656420717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.116.1.32.45986|4x|717561696e746c79207a6f6d626965732062757420717561696e746c79206163746564206f78656e2064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.116.1.32.58828|4x|6b657074206b65707420666f7277617264206b657074207a6f6d626965732064726976696e67206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.116.1.33.8854|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.116.1.33.25845|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.116.1.33.45986|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.116.1.33.58828|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.116.1.34.8854|66|1975235467 +1.3.6.1.4.1.9.9.826.1.20.116.1.34.25845|66|2096369859 +1.3.6.1.4.1.9.9.826.1.20.116.1.34.45986|66|2074272263 +1.3.6.1.4.1.9.9.826.1.20.116.1.34.58828|66|3333618518 +1.3.6.1.4.1.9.9.826.1.20.117.1.1.613|66|613 +1.3.6.1.4.1.9.9.826.1.20.117.1.1.23123|66|23123 +1.3.6.1.4.1.9.9.826.1.20.117.1.1.57014|66|57014 +1.3.6.1.4.1.9.9.826.1.20.117.1.1.63393|66|63393 +1.3.6.1.4.1.9.9.826.1.20.117.1.2.613|4x|616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.117.1.2.23123|4x|74686569722064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.117.1.2.57014|4x|64726976696e672064726976696e6720717561696e746c79204a616465642064726976696e67204a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.117.1.2.63393|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.117.1.3.613|4x|7468656972206163746564207468656972 +1.3.6.1.4.1.9.9.826.1.20.117.1.3.23123|4x|62757420717561696e746c79204a61646564204a616465642064726976696e672064726976696e6720666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.117.1.3.57014|4x|6f78656e2062757420666f7277617264206b657074206b657074204a6164656420717561696e746c7920717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.117.1.3.63393|4x|6f78656e20666f7277617264207468656972207a6f6d6269657320717561696e746c792064726976696e67207a6f6d6269657320746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.117.1.4.613|2|19 +1.3.6.1.4.1.9.9.826.1.20.117.1.4.23123|2|27 +1.3.6.1.4.1.9.9.826.1.20.117.1.4.57014|2|7 +1.3.6.1.4.1.9.9.826.1.20.117.1.4.63393|2|13 +1.3.6.1.4.1.9.9.826.1.20.117.1.5.613|2|7 +1.3.6.1.4.1.9.9.826.1.20.117.1.5.23123|2|2 +1.3.6.1.4.1.9.9.826.1.20.117.1.5.57014|2|22 +1.3.6.1.4.1.9.9.826.1.20.117.1.5.63393|2|31 +1.3.6.1.4.1.9.9.826.1.20.117.1.6.613|2|31 +1.3.6.1.4.1.9.9.826.1.20.117.1.6.23123|2|6 +1.3.6.1.4.1.9.9.826.1.20.117.1.6.57014|2|23 +1.3.6.1.4.1.9.9.826.1.20.117.1.6.63393|2|23 +1.3.6.1.4.1.9.9.826.1.20.117.1.7.613|2|12 +1.3.6.1.4.1.9.9.826.1.20.117.1.7.23123|2|2 +1.3.6.1.4.1.9.9.826.1.20.117.1.7.57014|2|26 +1.3.6.1.4.1.9.9.826.1.20.117.1.7.63393|2|6 +1.3.6.1.4.1.9.9.826.1.20.117.1.8.613|70|2073737259172374857 +1.3.6.1.4.1.9.9.826.1.20.117.1.8.23123|70|11409669274933072918 +1.3.6.1.4.1.9.9.826.1.20.117.1.8.57014|70|13666465183377977 +1.3.6.1.4.1.9.9.826.1.20.117.1.8.63393|70|1606247292388736949 +1.3.6.1.4.1.9.9.826.1.20.117.1.9.613|2|9 +1.3.6.1.4.1.9.9.826.1.20.117.1.9.23123|2|27 +1.3.6.1.4.1.9.9.826.1.20.117.1.9.57014|2|31 +1.3.6.1.4.1.9.9.826.1.20.117.1.9.63393|2|20 +1.3.6.1.4.1.9.9.826.1.20.117.1.10.613|2|26 +1.3.6.1.4.1.9.9.826.1.20.117.1.10.23123|2|5 +1.3.6.1.4.1.9.9.826.1.20.117.1.10.57014|2|0 +1.3.6.1.4.1.9.9.826.1.20.117.1.10.63393|2|8 +1.3.6.1.4.1.9.9.826.1.20.117.1.11.613|2|5 +1.3.6.1.4.1.9.9.826.1.20.117.1.11.23123|2|22 +1.3.6.1.4.1.9.9.826.1.20.117.1.11.57014|2|3 +1.3.6.1.4.1.9.9.826.1.20.117.1.11.63393|2|7 +1.3.6.1.4.1.9.9.826.1.20.117.1.12.613|2|3 +1.3.6.1.4.1.9.9.826.1.20.117.1.12.23123|2|19 +1.3.6.1.4.1.9.9.826.1.20.117.1.12.57014|2|0 +1.3.6.1.4.1.9.9.826.1.20.117.1.12.63393|2|12 +1.3.6.1.4.1.9.9.826.1.20.117.1.13.613|2|2 +1.3.6.1.4.1.9.9.826.1.20.117.1.13.23123|2|1 +1.3.6.1.4.1.9.9.826.1.20.117.1.13.57014|2|2 +1.3.6.1.4.1.9.9.826.1.20.117.1.13.63393|2|1 +1.3.6.1.4.1.9.9.826.1.20.117.1.14.613|2|1 +1.3.6.1.4.1.9.9.826.1.20.117.1.14.23123|2|27 +1.3.6.1.4.1.9.9.826.1.20.117.1.14.57014|2|21 +1.3.6.1.4.1.9.9.826.1.20.117.1.14.63393|2|11 +1.3.6.1.4.1.9.9.826.1.20.117.1.15.613|2|3 +1.3.6.1.4.1.9.9.826.1.20.117.1.15.23123|2|13 +1.3.6.1.4.1.9.9.826.1.20.117.1.15.57014|2|16 +1.3.6.1.4.1.9.9.826.1.20.117.1.15.63393|2|3 +1.3.6.1.4.1.9.9.826.1.20.117.1.16.613|2|11 +1.3.6.1.4.1.9.9.826.1.20.117.1.16.23123|2|21 +1.3.6.1.4.1.9.9.826.1.20.117.1.16.57014|2|24 +1.3.6.1.4.1.9.9.826.1.20.117.1.16.63393|2|20 +1.3.6.1.4.1.9.9.826.1.20.117.1.17.613|2|19 +1.3.6.1.4.1.9.9.826.1.20.117.1.17.23123|2|30 +1.3.6.1.4.1.9.9.826.1.20.117.1.17.57014|2|13 +1.3.6.1.4.1.9.9.826.1.20.117.1.17.63393|2|31 +1.3.6.1.4.1.9.9.826.1.20.117.1.18.613|2|24 +1.3.6.1.4.1.9.9.826.1.20.117.1.18.23123|2|9 +1.3.6.1.4.1.9.9.826.1.20.117.1.18.57014|2|24 +1.3.6.1.4.1.9.9.826.1.20.117.1.18.63393|2|11 +1.3.6.1.4.1.9.9.826.1.20.117.1.19.613|2|1 +1.3.6.1.4.1.9.9.826.1.20.117.1.19.23123|2|23 +1.3.6.1.4.1.9.9.826.1.20.117.1.19.57014|2|20 +1.3.6.1.4.1.9.9.826.1.20.117.1.19.63393|2|16 +1.3.6.1.4.1.9.9.826.1.20.117.1.20.613|2|1 +1.3.6.1.4.1.9.9.826.1.20.117.1.20.23123|2|12 +1.3.6.1.4.1.9.9.826.1.20.117.1.20.57014|2|11 +1.3.6.1.4.1.9.9.826.1.20.117.1.20.63393|2|20 +1.3.6.1.4.1.9.9.826.1.20.117.1.21.613|2|26 +1.3.6.1.4.1.9.9.826.1.20.117.1.21.23123|2|10 +1.3.6.1.4.1.9.9.826.1.20.117.1.21.57014|2|20 +1.3.6.1.4.1.9.9.826.1.20.117.1.21.63393|2|29 +1.3.6.1.4.1.9.9.826.1.20.117.1.22.613|2|29 +1.3.6.1.4.1.9.9.826.1.20.117.1.22.23123|2|14 +1.3.6.1.4.1.9.9.826.1.20.117.1.22.57014|2|4 +1.3.6.1.4.1.9.9.826.1.20.117.1.22.63393|2|30 +1.3.6.1.4.1.9.9.826.1.20.117.1.23.613|2|22 +1.3.6.1.4.1.9.9.826.1.20.117.1.23.23123|2|15 +1.3.6.1.4.1.9.9.826.1.20.117.1.23.57014|2|20 +1.3.6.1.4.1.9.9.826.1.20.117.1.23.63393|2|0 +1.3.6.1.4.1.9.9.826.1.20.117.1.24.613|2|10 +1.3.6.1.4.1.9.9.826.1.20.117.1.24.23123|2|11 +1.3.6.1.4.1.9.9.826.1.20.117.1.24.57014|2|13 +1.3.6.1.4.1.9.9.826.1.20.117.1.24.63393|2|5 +1.3.6.1.4.1.9.9.826.1.20.117.1.25.613|2|10 +1.3.6.1.4.1.9.9.826.1.20.117.1.25.23123|2|19 +1.3.6.1.4.1.9.9.826.1.20.117.1.25.57014|2|17 +1.3.6.1.4.1.9.9.826.1.20.117.1.25.63393|2|18 +1.3.6.1.4.1.9.9.826.1.20.117.1.26.613|2|17 +1.3.6.1.4.1.9.9.826.1.20.117.1.26.23123|2|22 +1.3.6.1.4.1.9.9.826.1.20.117.1.26.57014|2|12 +1.3.6.1.4.1.9.9.826.1.20.117.1.26.63393|2|22 +1.3.6.1.4.1.9.9.826.1.20.117.1.27.613|2|27 +1.3.6.1.4.1.9.9.826.1.20.117.1.27.23123|2|13 +1.3.6.1.4.1.9.9.826.1.20.117.1.27.57014|2|12 +1.3.6.1.4.1.9.9.826.1.20.117.1.27.63393|2|23 +1.3.6.1.4.1.9.9.826.1.20.117.1.28.613|2|21 +1.3.6.1.4.1.9.9.826.1.20.117.1.28.23123|2|28 +1.3.6.1.4.1.9.9.826.1.20.117.1.28.57014|2|11 +1.3.6.1.4.1.9.9.826.1.20.117.1.28.63393|2|29 +1.3.6.1.4.1.9.9.826.1.20.117.1.29.613|2|6 +1.3.6.1.4.1.9.9.826.1.20.117.1.29.23123|2|14 +1.3.6.1.4.1.9.9.826.1.20.117.1.29.57014|2|17 +1.3.6.1.4.1.9.9.826.1.20.117.1.29.63393|2|25 +1.3.6.1.4.1.9.9.826.1.20.117.1.30.613|2|1 +1.3.6.1.4.1.9.9.826.1.20.117.1.30.23123|2|1 +1.3.6.1.4.1.9.9.826.1.20.117.1.30.57014|2|2 +1.3.6.1.4.1.9.9.826.1.20.117.1.30.63393|2|1 +1.3.6.1.4.1.9.9.826.1.20.117.1.31.613|4x|7468656972206f78656e20616374656420666f727761726420627574204a61646564206163746564206b657074206163746564 +1.3.6.1.4.1.9.9.826.1.20.117.1.31.23123|4x|666f7277617264206f78656e20717561696e746c7920666f727761726420666f7277617264206163746564207a6f6d6269657320717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.117.1.31.57014|4x|6f78656e20717561696e746c7920666f7277617264207468656972206f78656e20746865697220717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.117.1.31.63393|4x|7a6f6d62696573206f78656e20717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.117.1.32.613|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.117.1.32.23123|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.117.1.32.57014|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.117.1.32.63393|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.118.1.1.7165|66|7165 +1.3.6.1.4.1.9.9.826.1.20.118.1.1.13044|66|13044 +1.3.6.1.4.1.9.9.826.1.20.118.1.1.19788|66|19788 +1.3.6.1.4.1.9.9.826.1.20.118.1.1.20128|66|20128 +1.3.6.1.4.1.9.9.826.1.20.118.1.2.7165|4x|6b657074206b657074206163746564206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.118.1.2.13044|4x|616374656420717561696e746c7920666f7277617264207468656972206f78656e2064726976696e672064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.118.1.2.19788|4x|4a616465642064726976696e6720616374656420627574207468656972204a61646564207468656972 +1.3.6.1.4.1.9.9.826.1.20.118.1.2.20128|4x|746865697220666f72776172642064726976696e67206163746564206b657074207a6f6d626965732064726976696e67206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.118.1.3.7165|4x|74686569722064726976696e672064726976696e672062757420627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.118.1.3.13044|4x|666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.118.1.3.19788|4x|7a6f6d62696573204a6164656420666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.118.1.3.20128|4x|64726976696e6720627574206b65707420666f7277617264204a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.118.1.4.7165|4x|6f78656e20627574207468656972207468656972206f78656e20627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.118.1.4.13044|4x|4a61646564206f78656e204a61646564204a6164656420616374656420717561696e746c79206b657074206163746564207468656972 +1.3.6.1.4.1.9.9.826.1.20.118.1.4.19788|4x|666f72776172642064726976696e6720666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.118.1.4.20128|4|kept +1.3.6.1.4.1.9.9.826.1.20.118.1.5.7165|66|1256224352 +1.3.6.1.4.1.9.9.826.1.20.118.1.5.13044|66|779957214 +1.3.6.1.4.1.9.9.826.1.20.118.1.5.19788|66|1859165941 +1.3.6.1.4.1.9.9.826.1.20.118.1.5.20128|66|803575193 +1.3.6.1.4.1.9.9.826.1.20.118.1.6.7165|4x|6f78656e20717561696e746c79204a61646564207a6f6d62696573204a616465642064726976696e6720717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.118.1.6.13044|4x|6f78656e20717561696e746c79204a6164656420666f7277617264206b657074206163746564204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.118.1.6.19788|4x|666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.118.1.6.20128|4x|717561696e746c7920616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.118.1.7.7165|4x|746865697220666f727761726420666f727761726420717561696e746c792064726976696e672061637465642064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.118.1.7.13044|4x|7a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.118.1.7.19788|4x|7a6f6d626965732064726976696e672064726976696e67206b657074207a6f6d62696573207a6f6d6269657320717561696e746c79206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.118.1.7.20128|4|forward +1.3.6.1.4.1.9.9.826.1.20.118.1.8.7165|66|177724575 +1.3.6.1.4.1.9.9.826.1.20.118.1.8.13044|66|2110242690 +1.3.6.1.4.1.9.9.826.1.20.118.1.8.19788|66|2888631816 +1.3.6.1.4.1.9.9.826.1.20.118.1.8.20128|66|1825331256 +1.3.6.1.4.1.9.9.826.1.20.118.1.9.7165|2|1 +1.3.6.1.4.1.9.9.826.1.20.118.1.9.13044|2|0 +1.3.6.1.4.1.9.9.826.1.20.118.1.9.19788|2|0 +1.3.6.1.4.1.9.9.826.1.20.118.1.9.20128|2|1 +1.3.6.1.4.1.9.9.826.1.20.119.1.1.16618|66|16618 +1.3.6.1.4.1.9.9.826.1.20.119.1.1.31964|66|31964 +1.3.6.1.4.1.9.9.826.1.20.119.1.1.40761|66|40761 +1.3.6.1.4.1.9.9.826.1.20.119.1.1.53364|66|53364 +1.3.6.1.4.1.9.9.826.1.20.119.1.2.16618|4x|7468656972204a61646564207468656972206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.119.1.2.31964|4x|7a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.20.119.1.2.40761|4x|7a6f6d6269657320666f7277617264206f78656e2074686569722064726976696e67207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.119.1.2.53364|4x|74686569722064726976696e67206f78656e206f78656e20666f727761726420746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.119.1.3.16618|4x|6f78656e204a6164656420666f727761726420666f727761726420627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.119.1.3.31964|4x|6b657074204a616465642062757420616374656420616374656420746865697220717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.119.1.3.40761|4x|6b65707420717561696e746c79204a61646564207468656972207a6f6d62696573206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.119.1.3.53364|4x|7a6f6d6269657320627574204a61646564206f78656e207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.119.1.4.16618|2|1 +1.3.6.1.4.1.9.9.826.1.20.119.1.4.31964|2|1 +1.3.6.1.4.1.9.9.826.1.20.119.1.4.40761|2|1 +1.3.6.1.4.1.9.9.826.1.20.119.1.4.53364|2|2 +1.3.6.1.4.1.9.9.826.1.20.119.1.5.16618|2|2 +1.3.6.1.4.1.9.9.826.1.20.119.1.5.31964|2|2 +1.3.6.1.4.1.9.9.826.1.20.119.1.5.40761|2|1 +1.3.6.1.4.1.9.9.826.1.20.119.1.5.53364|2|1 +1.3.6.1.4.1.9.9.826.1.20.119.1.6.16618|66|1462206710 +1.3.6.1.4.1.9.9.826.1.20.119.1.6.31964|66|3220466123 +1.3.6.1.4.1.9.9.826.1.20.119.1.6.40761|66|4215676756 +1.3.6.1.4.1.9.9.826.1.20.119.1.6.53364|66|1848867062 +1.3.6.1.4.1.9.9.826.1.20.119.1.7.16618|66|3878725875 +1.3.6.1.4.1.9.9.826.1.20.119.1.7.31964|66|4021448632 +1.3.6.1.4.1.9.9.826.1.20.119.1.7.40761|66|3041155412 +1.3.6.1.4.1.9.9.826.1.20.119.1.7.53364|66|74400020 +1.3.6.1.4.1.9.9.826.1.20.119.1.8.16618|66|3001779031 +1.3.6.1.4.1.9.9.826.1.20.119.1.8.31964|66|2668341279 +1.3.6.1.4.1.9.9.826.1.20.119.1.8.40761|66|3304868512 +1.3.6.1.4.1.9.9.826.1.20.119.1.8.53364|66|2103418099 +1.3.6.1.4.1.9.9.826.1.20.119.1.9.16618|66|3189136085 +1.3.6.1.4.1.9.9.826.1.20.119.1.9.31964|66|1638085062 +1.3.6.1.4.1.9.9.826.1.20.119.1.9.40761|66|4151567055 +1.3.6.1.4.1.9.9.826.1.20.119.1.9.53364|66|1969578194 +1.3.6.1.4.1.9.9.826.1.20.119.1.10.16618|66|690072996 +1.3.6.1.4.1.9.9.826.1.20.119.1.10.31964|66|3209831456 +1.3.6.1.4.1.9.9.826.1.20.119.1.10.40761|66|3031979858 +1.3.6.1.4.1.9.9.826.1.20.119.1.10.53364|66|1833400665 +1.3.6.1.4.1.9.9.826.1.20.119.1.11.16618|66|3367972140 +1.3.6.1.4.1.9.9.826.1.20.119.1.11.31964|66|1390341251 +1.3.6.1.4.1.9.9.826.1.20.119.1.11.40761|66|1391988526 +1.3.6.1.4.1.9.9.826.1.20.119.1.11.53364|66|3183562994 +1.3.6.1.4.1.9.9.826.1.20.119.1.12.16618|4x|717561696e746c7920627574204a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.119.1.12.31964|4x|6b657074204a6164656420746865697220717561696e746c7920746865697220717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.119.1.12.40761|4x|6f78656e207468656972206275742061637465642062757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.119.1.12.53364|4|forward +1.3.6.1.4.1.9.9.826.1.20.119.1.13.16618|4x|6f78656e206b657074207a6f6d6269657320746865697220717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.119.1.13.31964|4x|7a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.119.1.13.40761|4x|666f727761726420627574 +1.3.6.1.4.1.9.9.826.1.20.119.1.13.53364|4x|6b657074204a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.119.1.14.16618|66|2918100137 +1.3.6.1.4.1.9.9.826.1.20.119.1.14.31964|66|3447380765 +1.3.6.1.4.1.9.9.826.1.20.119.1.14.40761|66|3512921237 +1.3.6.1.4.1.9.9.826.1.20.119.1.14.53364|66|598180712 +1.3.6.1.4.1.9.9.826.1.20.119.1.15.16618|4x|6f78656e2064726976696e6720666f72776172642064726976696e6720717561696e746c792062757420717561696e746c7920746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.119.1.15.31964|4x|6f78656e206f78656e2064726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.119.1.15.40761|4x|4a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.119.1.15.53364|4x|7a6f6d62696573207a6f6d62696573206f78656e20627574206163746564206275742064726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.119.1.16.16618|4x|6f78656e206163746564206163746564206b65707420666f727761726420666f7277617264207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.119.1.16.31964|4x|666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.119.1.16.40761|4x|7a6f6d62696573207468656972206b657074207468656972206b6570742061637465642064726976696e6720627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.119.1.16.53364|4x|6b65707420717561696e746c79206b657074206f78656e206f78656e207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.120.1.1.10264|66|10264 +1.3.6.1.4.1.9.9.826.1.20.120.1.1.20041|66|20041 +1.3.6.1.4.1.9.9.826.1.20.120.1.1.38749|66|38749 +1.3.6.1.4.1.9.9.826.1.20.120.1.1.64617|66|64617 +1.3.6.1.4.1.9.9.826.1.20.120.1.2.10264|4x|627574207468656972206275742074686569722064726976696e67207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.120.1.2.20041|4x|4a6164656420616374656420717561696e746c7920666f7277617264207468656972206163746564206f78656e207468656972 +1.3.6.1.4.1.9.9.826.1.20.120.1.2.38749|4x|717561696e746c79204a61646564206f78656e206f78656e206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.120.1.2.64617|4|acted +1.3.6.1.4.1.9.9.826.1.20.120.1.3.10264|4x|746865697220627574207a6f6d62696573206f78656e20717561696e746c79204a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.120.1.3.20041|4x|7468656972207468656972206b657074207a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.120.1.3.38749|4x|4a6164656420627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.120.1.3.64617|4x|64726976696e672064726976696e67206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.120.1.4.10264|66|3675715524 +1.3.6.1.4.1.9.9.826.1.20.120.1.4.20041|66|62538382 +1.3.6.1.4.1.9.9.826.1.20.120.1.4.38749|66|3731224960 +1.3.6.1.4.1.9.9.826.1.20.120.1.4.64617|66|2257440744 +1.3.6.1.4.1.9.9.826.1.20.120.1.5.10264|66|1785138493 +1.3.6.1.4.1.9.9.826.1.20.120.1.5.20041|66|1918777046 +1.3.6.1.4.1.9.9.826.1.20.120.1.5.38749|66|3901170608 +1.3.6.1.4.1.9.9.826.1.20.120.1.5.64617|66|3925400918 +1.3.6.1.4.1.9.9.826.1.20.120.1.6.10264|66|2119654832 +1.3.6.1.4.1.9.9.826.1.20.120.1.6.20041|66|1441083999 +1.3.6.1.4.1.9.9.826.1.20.120.1.6.38749|66|3822439149 +1.3.6.1.4.1.9.9.826.1.20.120.1.6.64617|66|3032448902 +1.3.6.1.4.1.9.9.826.1.20.120.1.7.10264|66|957971440 +1.3.6.1.4.1.9.9.826.1.20.120.1.7.20041|66|3693554144 +1.3.6.1.4.1.9.9.826.1.20.120.1.7.38749|66|3834416901 +1.3.6.1.4.1.9.9.826.1.20.120.1.7.64617|66|1138111494 +1.3.6.1.4.1.9.9.826.1.20.120.1.8.10264|66|1405303728 +1.3.6.1.4.1.9.9.826.1.20.120.1.8.20041|66|1692532013 +1.3.6.1.4.1.9.9.826.1.20.120.1.8.38749|66|850968518 +1.3.6.1.4.1.9.9.826.1.20.120.1.8.64617|66|343011357 +1.3.6.1.4.1.9.9.826.1.20.120.1.9.10264|2|2 +1.3.6.1.4.1.9.9.826.1.20.120.1.9.20041|2|1 +1.3.6.1.4.1.9.9.826.1.20.120.1.9.38749|2|2 +1.3.6.1.4.1.9.9.826.1.20.120.1.9.64617|2|2 +1.3.6.1.4.1.9.9.826.1.20.120.1.10.10264|4x|627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.120.1.10.20041|4x|6b657074207a6f6d626965732064726976696e67206f78656e +1.3.6.1.4.1.9.9.826.1.20.120.1.10.38749|4x|717561696e746c79206f78656e20666f727761726420666f727761726420717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.120.1.10.64617|4x|62757420627574206b65707420666f7277617264206163746564207468656972204a61646564 +1.3.6.1.4.1.9.9.826.1.20.120.1.11.10264|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.120.1.11.20041|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.120.1.11.38749|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.120.1.11.64617|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.120.1.12.10264|66|1589998356 +1.3.6.1.4.1.9.9.826.1.20.120.1.12.20041|66|271930481 +1.3.6.1.4.1.9.9.826.1.20.120.1.12.38749|66|1597379191 +1.3.6.1.4.1.9.9.826.1.20.120.1.12.64617|66|1048556830 +1.3.6.1.4.1.9.9.826.1.20.121.1.1.21704|66|21704 +1.3.6.1.4.1.9.9.826.1.20.121.1.1.23368|66|23368 +1.3.6.1.4.1.9.9.826.1.20.121.1.1.48605|66|48605 +1.3.6.1.4.1.9.9.826.1.20.121.1.1.55444|66|55444 +1.3.6.1.4.1.9.9.826.1.20.121.1.2.21704|4x|717561696e746c7920746865697220627574206163746564206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.121.1.2.23368|4x|4a61646564204a61646564206f78656e204a6164656420746865697220666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.121.1.2.48605|4x|666f7277617264207a6f6d62696573206163746564206275742064726976696e67207a6f6d626965732064726976696e6720627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.121.1.2.55444|4|their +1.3.6.1.4.1.9.9.826.1.20.121.1.3.21704|4x|7a6f6d62696573207a6f6d62696573206b657074206163746564206b65707420717561696e746c79206f78656e20666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.121.1.3.23368|4x|4a61646564206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.121.1.3.48605|4x|717561696e746c7920666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.121.1.3.55444|4x|627574204a61646564207a6f6d62696573207468656972206b657074206b657074207a6f6d62696573204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.121.1.4.21704|70|17538300660170395192 +1.3.6.1.4.1.9.9.826.1.20.121.1.4.23368|70|14742816685762372220 +1.3.6.1.4.1.9.9.826.1.20.121.1.4.48605|70|11728509741870879139 +1.3.6.1.4.1.9.9.826.1.20.121.1.4.55444|70|12541085145623329363 +1.3.6.1.4.1.9.9.826.1.20.121.1.5.21704|2|2 +1.3.6.1.4.1.9.9.826.1.20.121.1.5.23368|2|1 +1.3.6.1.4.1.9.9.826.1.20.121.1.5.48605|2|1 +1.3.6.1.4.1.9.9.826.1.20.121.1.5.55444|2|2 +1.3.6.1.4.1.9.9.826.1.20.121.1.6.21704|66|4096127743 +1.3.6.1.4.1.9.9.826.1.20.121.1.6.23368|66|2016708128 +1.3.6.1.4.1.9.9.826.1.20.121.1.6.48605|66|2500406928 +1.3.6.1.4.1.9.9.826.1.20.121.1.6.55444|66|928897493 +1.3.6.1.4.1.9.9.826.1.20.121.1.7.21704|66|1823936311 +1.3.6.1.4.1.9.9.826.1.20.121.1.7.23368|66|1922507676 +1.3.6.1.4.1.9.9.826.1.20.121.1.7.48605|66|3111802087 +1.3.6.1.4.1.9.9.826.1.20.121.1.7.55444|66|1589346155 +1.3.6.1.4.1.9.9.826.1.20.121.1.8.21704|66|2077356661 +1.3.6.1.4.1.9.9.826.1.20.121.1.8.23368|66|3484968622 +1.3.6.1.4.1.9.9.826.1.20.121.1.8.48605|66|2042074851 +1.3.6.1.4.1.9.9.826.1.20.121.1.8.55444|66|4239564044 +1.3.6.1.4.1.9.9.826.1.20.121.1.9.21704|66|712265000 +1.3.6.1.4.1.9.9.826.1.20.121.1.9.23368|66|3467842534 +1.3.6.1.4.1.9.9.826.1.20.121.1.9.48605|66|3217361767 +1.3.6.1.4.1.9.9.826.1.20.121.1.9.55444|66|3797582580 +1.3.6.1.4.1.9.9.826.1.20.121.1.10.21704|2|1 +1.3.6.1.4.1.9.9.826.1.20.121.1.10.23368|2|2 +1.3.6.1.4.1.9.9.826.1.20.121.1.10.48605|2|1 +1.3.6.1.4.1.9.9.826.1.20.121.1.10.55444|2|2 +1.3.6.1.4.1.9.9.826.1.20.121.1.11.21704|4x|64726976696e6720717561696e746c792064726976696e6720666f7277617264206163746564206275742064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.121.1.11.23368|4x|666f7277617264206163746564207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.121.1.11.48605|4x|64726976696e67204a616465642062757420616374656420717561696e746c792074686569722064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.121.1.11.55444|4|kept +1.3.6.1.4.1.9.9.826.1.20.121.1.12.21704|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.121.1.12.23368|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.121.1.12.48605|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.121.1.12.55444|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.122.1.1.15795|66|15795 +1.3.6.1.4.1.9.9.826.1.20.122.1.1.40848|66|40848 +1.3.6.1.4.1.9.9.826.1.20.122.1.1.42170|66|42170 +1.3.6.1.4.1.9.9.826.1.20.122.1.1.42418|66|42418 +1.3.6.1.4.1.9.9.826.1.20.122.1.2.15795|4x|64726976696e67206163746564207a6f6d6269657320666f7277617264206f78656e2074686569722064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.122.1.2.40848|4x|6f78656e2064726976696e6720717561696e746c79207a6f6d62696573206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.122.1.2.42170|4x|6b657074207a6f6d626965732064726976696e67204a6164656420746865697220666f7277617264207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.122.1.2.42418|4x|616374656420627574207a6f6d62696573207a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.122.1.3.15795|4x|4a61646564206b6570742074686569722064726976696e67207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.122.1.3.40848|4x|7a6f6d62696573206f78656e2074686569722062757420717561696e746c792064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.122.1.3.42170|4x|4a616465642062757420666f7277617264206f78656e206275742062757420717561696e746c792064726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.122.1.3.42418|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.122.1.4.15795|2|1 +1.3.6.1.4.1.9.9.826.1.20.122.1.4.40848|2|31 +1.3.6.1.4.1.9.9.826.1.20.122.1.4.42170|2|15 +1.3.6.1.4.1.9.9.826.1.20.122.1.4.42418|2|23 +1.3.6.1.4.1.9.9.826.1.20.122.1.5.15795|2|20 +1.3.6.1.4.1.9.9.826.1.20.122.1.5.40848|2|6 +1.3.6.1.4.1.9.9.826.1.20.122.1.5.42170|2|5 +1.3.6.1.4.1.9.9.826.1.20.122.1.5.42418|2|20 +1.3.6.1.4.1.9.9.826.1.20.122.1.6.15795|2|21 +1.3.6.1.4.1.9.9.826.1.20.122.1.6.40848|2|17 +1.3.6.1.4.1.9.9.826.1.20.122.1.6.42170|2|31 +1.3.6.1.4.1.9.9.826.1.20.122.1.6.42418|2|8 +1.3.6.1.4.1.9.9.826.1.20.122.1.7.15795|2|19 +1.3.6.1.4.1.9.9.826.1.20.122.1.7.40848|2|10 +1.3.6.1.4.1.9.9.826.1.20.122.1.7.42170|2|17 +1.3.6.1.4.1.9.9.826.1.20.122.1.7.42418|2|6 +1.3.6.1.4.1.9.9.826.1.20.122.1.8.15795|2|30 +1.3.6.1.4.1.9.9.826.1.20.122.1.8.40848|2|1 +1.3.6.1.4.1.9.9.826.1.20.122.1.8.42170|2|9 +1.3.6.1.4.1.9.9.826.1.20.122.1.8.42418|2|19 +1.3.6.1.4.1.9.9.826.1.20.122.1.9.15795|2|5 +1.3.6.1.4.1.9.9.826.1.20.122.1.9.40848|2|17 +1.3.6.1.4.1.9.9.826.1.20.122.1.9.42170|2|31 +1.3.6.1.4.1.9.9.826.1.20.122.1.9.42418|2|12 +1.3.6.1.4.1.9.9.826.1.20.122.1.10.15795|2|8 +1.3.6.1.4.1.9.9.826.1.20.122.1.10.40848|2|12 +1.3.6.1.4.1.9.9.826.1.20.122.1.10.42170|2|7 +1.3.6.1.4.1.9.9.826.1.20.122.1.10.42418|2|18 +1.3.6.1.4.1.9.9.826.1.20.122.1.11.15795|2|31 +1.3.6.1.4.1.9.9.826.1.20.122.1.11.40848|2|18 +1.3.6.1.4.1.9.9.826.1.20.122.1.11.42170|2|7 +1.3.6.1.4.1.9.9.826.1.20.122.1.11.42418|2|27 +1.3.6.1.4.1.9.9.826.1.20.122.1.12.15795|2|10 +1.3.6.1.4.1.9.9.826.1.20.122.1.12.40848|2|13 +1.3.6.1.4.1.9.9.826.1.20.122.1.12.42170|2|22 +1.3.6.1.4.1.9.9.826.1.20.122.1.12.42418|2|4 +1.3.6.1.4.1.9.9.826.1.20.122.1.13.15795|2|13 +1.3.6.1.4.1.9.9.826.1.20.122.1.13.40848|2|30 +1.3.6.1.4.1.9.9.826.1.20.122.1.13.42170|2|9 +1.3.6.1.4.1.9.9.826.1.20.122.1.13.42418|2|5 +1.3.6.1.4.1.9.9.826.1.20.122.1.14.15795|2|22 +1.3.6.1.4.1.9.9.826.1.20.122.1.14.40848|2|11 +1.3.6.1.4.1.9.9.826.1.20.122.1.14.42170|2|14 +1.3.6.1.4.1.9.9.826.1.20.122.1.14.42418|2|4 +1.3.6.1.4.1.9.9.826.1.20.122.1.15.15795|2|10 +1.3.6.1.4.1.9.9.826.1.20.122.1.15.40848|2|6 +1.3.6.1.4.1.9.9.826.1.20.122.1.15.42170|2|7 +1.3.6.1.4.1.9.9.826.1.20.122.1.15.42418|2|10 +1.3.6.1.4.1.9.9.826.1.20.122.1.16.15795|66|2867762379 +1.3.6.1.4.1.9.9.826.1.20.122.1.16.40848|66|3911604325 +1.3.6.1.4.1.9.9.826.1.20.122.1.16.42170|66|1175311935 +1.3.6.1.4.1.9.9.826.1.20.122.1.16.42418|66|392992468 +1.3.6.1.4.1.9.9.826.1.20.122.1.17.15795|2|5 +1.3.6.1.4.1.9.9.826.1.20.122.1.17.40848|2|31 +1.3.6.1.4.1.9.9.826.1.20.122.1.17.42170|2|13 +1.3.6.1.4.1.9.9.826.1.20.122.1.17.42418|2|2 +1.3.6.1.4.1.9.9.826.1.20.122.1.18.15795|2|19 +1.3.6.1.4.1.9.9.826.1.20.122.1.18.40848|2|10 +1.3.6.1.4.1.9.9.826.1.20.122.1.18.42170|2|19 +1.3.6.1.4.1.9.9.826.1.20.122.1.18.42418|2|2 +1.3.6.1.4.1.9.9.826.1.20.122.1.19.15795|2|31 +1.3.6.1.4.1.9.9.826.1.20.122.1.19.40848|2|6 +1.3.6.1.4.1.9.9.826.1.20.122.1.19.42170|2|16 +1.3.6.1.4.1.9.9.826.1.20.122.1.19.42418|2|27 +1.3.6.1.4.1.9.9.826.1.20.122.1.20.15795|2|1 +1.3.6.1.4.1.9.9.826.1.20.122.1.20.40848|2|0 +1.3.6.1.4.1.9.9.826.1.20.122.1.20.42170|2|23 +1.3.6.1.4.1.9.9.826.1.20.122.1.20.42418|2|13 +1.3.6.1.4.1.9.9.826.1.20.122.1.21.15795|2|14 +1.3.6.1.4.1.9.9.826.1.20.122.1.21.40848|2|8 +1.3.6.1.4.1.9.9.826.1.20.122.1.21.42170|2|16 +1.3.6.1.4.1.9.9.826.1.20.122.1.21.42418|2|31 +1.3.6.1.4.1.9.9.826.1.20.122.1.22.15795|2|11 +1.3.6.1.4.1.9.9.826.1.20.122.1.22.40848|2|13 +1.3.6.1.4.1.9.9.826.1.20.122.1.22.42170|2|12 +1.3.6.1.4.1.9.9.826.1.20.122.1.22.42418|2|30 +1.3.6.1.4.1.9.9.826.1.20.122.1.23.15795|2|1 +1.3.6.1.4.1.9.9.826.1.20.122.1.23.40848|2|11 +1.3.6.1.4.1.9.9.826.1.20.122.1.23.42170|2|28 +1.3.6.1.4.1.9.9.826.1.20.122.1.23.42418|2|29 +1.3.6.1.4.1.9.9.826.1.20.122.1.24.15795|2|7 +1.3.6.1.4.1.9.9.826.1.20.122.1.24.40848|2|24 +1.3.6.1.4.1.9.9.826.1.20.122.1.24.42170|2|13 +1.3.6.1.4.1.9.9.826.1.20.122.1.24.42418|2|4 +1.3.6.1.4.1.9.9.826.1.20.122.1.25.15795|2|25 +1.3.6.1.4.1.9.9.826.1.20.122.1.25.40848|2|21 +1.3.6.1.4.1.9.9.826.1.20.122.1.25.42170|2|25 +1.3.6.1.4.1.9.9.826.1.20.122.1.25.42418|2|6 +1.3.6.1.4.1.9.9.826.1.20.122.1.26.15795|2|13 +1.3.6.1.4.1.9.9.826.1.20.122.1.26.40848|2|1 +1.3.6.1.4.1.9.9.826.1.20.122.1.26.42170|2|22 +1.3.6.1.4.1.9.9.826.1.20.122.1.26.42418|2|26 +1.3.6.1.4.1.9.9.826.1.20.122.1.27.15795|2|17 +1.3.6.1.4.1.9.9.826.1.20.122.1.27.40848|2|18 +1.3.6.1.4.1.9.9.826.1.20.122.1.27.42170|2|23 +1.3.6.1.4.1.9.9.826.1.20.122.1.27.42418|2|31 +1.3.6.1.4.1.9.9.826.1.20.122.1.28.15795|2|16 +1.3.6.1.4.1.9.9.826.1.20.122.1.28.40848|2|29 +1.3.6.1.4.1.9.9.826.1.20.122.1.28.42170|2|27 +1.3.6.1.4.1.9.9.826.1.20.122.1.28.42418|2|22 +1.3.6.1.4.1.9.9.826.1.20.122.1.29.15795|2|2 +1.3.6.1.4.1.9.9.826.1.20.122.1.29.40848|2|2 +1.3.6.1.4.1.9.9.826.1.20.122.1.29.42170|2|1 +1.3.6.1.4.1.9.9.826.1.20.122.1.29.42418|2|2 +1.3.6.1.4.1.9.9.826.1.20.122.1.30.15795|4x|6f78656e207a6f6d6269657320616374656420666f7277617264204a61646564206163746564206f78656e206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.122.1.30.40848|4x|6f78656e20666f7277617264206b65707420746865697220717561696e746c79204a61646564206275742061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.122.1.30.42170|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.122.1.30.42418|4x|7a6f6d62696573207468656972207a6f6d62696573206b65707420666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.122.1.31.15795|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.122.1.31.40848|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.122.1.31.42170|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.122.1.31.42418|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.122.1.32.15795|66|1261830224 +1.3.6.1.4.1.9.9.826.1.20.122.1.32.40848|66|917017684 +1.3.6.1.4.1.9.9.826.1.20.122.1.32.42170|66|579000546 +1.3.6.1.4.1.9.9.826.1.20.122.1.32.42418|66|2200998650 +1.3.6.1.4.1.9.9.826.1.20.123.1.1.8331|66|8331 +1.3.6.1.4.1.9.9.826.1.20.123.1.1.12455|66|12455 +1.3.6.1.4.1.9.9.826.1.20.123.1.1.14446|66|14446 +1.3.6.1.4.1.9.9.826.1.20.123.1.1.37281|66|37281 +1.3.6.1.4.1.9.9.826.1.20.123.1.2.8331|4x|717561696e746c7920746865697220717561696e746c79207468656972207a6f6d6269657320616374656420666f7277617264206f78656e +1.3.6.1.4.1.9.9.826.1.20.123.1.2.12455|4x|61637465642062757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.123.1.2.14446|4x|4a61646564207468656972206163746564206f78656e206163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.123.1.2.37281|4x|6163746564204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.123.1.3.8331|4x|627574206f78656e2074686569722074686569722064726976696e67206b657074207a6f6d6269657320616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.123.1.3.12455|4x|6b6570742064726976696e67207468656972204a61646564 +1.3.6.1.4.1.9.9.826.1.20.123.1.3.14446|4|zombies +1.3.6.1.4.1.9.9.826.1.20.123.1.3.37281|4x|717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.123.1.4.8331|2|13 +1.3.6.1.4.1.9.9.826.1.20.123.1.4.12455|2|24 +1.3.6.1.4.1.9.9.826.1.20.123.1.4.14446|2|0 +1.3.6.1.4.1.9.9.826.1.20.123.1.4.37281|2|19 +1.3.6.1.4.1.9.9.826.1.20.123.1.5.8331|2|18 +1.3.6.1.4.1.9.9.826.1.20.123.1.5.12455|2|9 +1.3.6.1.4.1.9.9.826.1.20.123.1.5.14446|2|15 +1.3.6.1.4.1.9.9.826.1.20.123.1.5.37281|2|7 +1.3.6.1.4.1.9.9.826.1.20.123.1.6.8331|2|0 +1.3.6.1.4.1.9.9.826.1.20.123.1.6.12455|2|28 +1.3.6.1.4.1.9.9.826.1.20.123.1.6.14446|2|12 +1.3.6.1.4.1.9.9.826.1.20.123.1.6.37281|2|24 +1.3.6.1.4.1.9.9.826.1.20.123.1.7.8331|2|31 +1.3.6.1.4.1.9.9.826.1.20.123.1.7.12455|2|26 +1.3.6.1.4.1.9.9.826.1.20.123.1.7.14446|2|19 +1.3.6.1.4.1.9.9.826.1.20.123.1.7.37281|2|20 +1.3.6.1.4.1.9.9.826.1.20.123.1.8.8331|70|8380091400113407716 +1.3.6.1.4.1.9.9.826.1.20.123.1.8.12455|70|1569654501684689173 +1.3.6.1.4.1.9.9.826.1.20.123.1.8.14446|70|9231948250035189836 +1.3.6.1.4.1.9.9.826.1.20.123.1.8.37281|70|4284315582673963774 +1.3.6.1.4.1.9.9.826.1.20.123.1.9.8331|2|15 +1.3.6.1.4.1.9.9.826.1.20.123.1.9.12455|2|8 +1.3.6.1.4.1.9.9.826.1.20.123.1.9.14446|2|19 +1.3.6.1.4.1.9.9.826.1.20.123.1.9.37281|2|20 +1.3.6.1.4.1.9.9.826.1.20.123.1.10.8331|2|15 +1.3.6.1.4.1.9.9.826.1.20.123.1.10.12455|2|9 +1.3.6.1.4.1.9.9.826.1.20.123.1.10.14446|2|1 +1.3.6.1.4.1.9.9.826.1.20.123.1.10.37281|2|2 +1.3.6.1.4.1.9.9.826.1.20.123.1.11.8331|2|12 +1.3.6.1.4.1.9.9.826.1.20.123.1.11.12455|2|5 +1.3.6.1.4.1.9.9.826.1.20.123.1.11.14446|2|0 +1.3.6.1.4.1.9.9.826.1.20.123.1.11.37281|2|7 +1.3.6.1.4.1.9.9.826.1.20.123.1.12.8331|2|20 +1.3.6.1.4.1.9.9.826.1.20.123.1.12.12455|2|3 +1.3.6.1.4.1.9.9.826.1.20.123.1.12.14446|2|26 +1.3.6.1.4.1.9.9.826.1.20.123.1.12.37281|2|19 +1.3.6.1.4.1.9.9.826.1.20.123.1.13.8331|2|6 +1.3.6.1.4.1.9.9.826.1.20.123.1.13.12455|2|15 +1.3.6.1.4.1.9.9.826.1.20.123.1.13.14446|2|21 +1.3.6.1.4.1.9.9.826.1.20.123.1.13.37281|2|20 +1.3.6.1.4.1.9.9.826.1.20.123.1.14.8331|2|16 +1.3.6.1.4.1.9.9.826.1.20.123.1.14.12455|2|25 +1.3.6.1.4.1.9.9.826.1.20.123.1.14.14446|2|31 +1.3.6.1.4.1.9.9.826.1.20.123.1.14.37281|2|2 +1.3.6.1.4.1.9.9.826.1.20.123.1.15.8331|2|16 +1.3.6.1.4.1.9.9.826.1.20.123.1.15.12455|2|4 +1.3.6.1.4.1.9.9.826.1.20.123.1.15.14446|2|19 +1.3.6.1.4.1.9.9.826.1.20.123.1.15.37281|2|28 +1.3.6.1.4.1.9.9.826.1.20.123.1.16.8331|2|22 +1.3.6.1.4.1.9.9.826.1.20.123.1.16.12455|2|8 +1.3.6.1.4.1.9.9.826.1.20.123.1.16.14446|2|23 +1.3.6.1.4.1.9.9.826.1.20.123.1.16.37281|2|28 +1.3.6.1.4.1.9.9.826.1.20.123.1.17.8331|2|2 +1.3.6.1.4.1.9.9.826.1.20.123.1.17.12455|2|2 +1.3.6.1.4.1.9.9.826.1.20.123.1.17.14446|2|1 +1.3.6.1.4.1.9.9.826.1.20.123.1.17.37281|2|2 +1.3.6.1.4.1.9.9.826.1.20.123.1.18.8331|2|14 +1.3.6.1.4.1.9.9.826.1.20.123.1.18.12455|2|17 +1.3.6.1.4.1.9.9.826.1.20.123.1.18.14446|2|19 +1.3.6.1.4.1.9.9.826.1.20.123.1.18.37281|2|12 +1.3.6.1.4.1.9.9.826.1.20.123.1.19.8331|2|12 +1.3.6.1.4.1.9.9.826.1.20.123.1.19.12455|2|4 +1.3.6.1.4.1.9.9.826.1.20.123.1.19.14446|2|0 +1.3.6.1.4.1.9.9.826.1.20.123.1.19.37281|2|12 +1.3.6.1.4.1.9.9.826.1.20.123.1.20.8331|2|12 +1.3.6.1.4.1.9.9.826.1.20.123.1.20.12455|2|12 +1.3.6.1.4.1.9.9.826.1.20.123.1.20.14446|2|0 +1.3.6.1.4.1.9.9.826.1.20.123.1.20.37281|2|3 +1.3.6.1.4.1.9.9.826.1.20.123.1.21.8331|2|21 +1.3.6.1.4.1.9.9.826.1.20.123.1.21.12455|2|12 +1.3.6.1.4.1.9.9.826.1.20.123.1.21.14446|2|10 +1.3.6.1.4.1.9.9.826.1.20.123.1.21.37281|2|9 +1.3.6.1.4.1.9.9.826.1.20.123.1.22.8331|2|4 +1.3.6.1.4.1.9.9.826.1.20.123.1.22.12455|2|20 +1.3.6.1.4.1.9.9.826.1.20.123.1.22.14446|2|2 +1.3.6.1.4.1.9.9.826.1.20.123.1.22.37281|2|31 +1.3.6.1.4.1.9.9.826.1.20.123.1.23.8331|2|17 +1.3.6.1.4.1.9.9.826.1.20.123.1.23.12455|2|5 +1.3.6.1.4.1.9.9.826.1.20.123.1.23.14446|2|27 +1.3.6.1.4.1.9.9.826.1.20.123.1.23.37281|2|6 +1.3.6.1.4.1.9.9.826.1.20.123.1.24.8331|2|14 +1.3.6.1.4.1.9.9.826.1.20.123.1.24.12455|2|20 +1.3.6.1.4.1.9.9.826.1.20.123.1.24.14446|2|22 +1.3.6.1.4.1.9.9.826.1.20.123.1.24.37281|2|3 +1.3.6.1.4.1.9.9.826.1.20.123.1.25.8331|2|8 +1.3.6.1.4.1.9.9.826.1.20.123.1.25.12455|2|5 +1.3.6.1.4.1.9.9.826.1.20.123.1.25.14446|2|5 +1.3.6.1.4.1.9.9.826.1.20.123.1.25.37281|2|2 +1.3.6.1.4.1.9.9.826.1.20.123.1.26.8331|2|10 +1.3.6.1.4.1.9.9.826.1.20.123.1.26.12455|2|1 +1.3.6.1.4.1.9.9.826.1.20.123.1.26.14446|2|27 +1.3.6.1.4.1.9.9.826.1.20.123.1.26.37281|2|19 +1.3.6.1.4.1.9.9.826.1.20.123.1.27.8331|2|29 +1.3.6.1.4.1.9.9.826.1.20.123.1.27.12455|2|4 +1.3.6.1.4.1.9.9.826.1.20.123.1.27.14446|2|16 +1.3.6.1.4.1.9.9.826.1.20.123.1.27.37281|2|13 +1.3.6.1.4.1.9.9.826.1.20.123.1.28.8331|2|12 +1.3.6.1.4.1.9.9.826.1.20.123.1.28.12455|2|4 +1.3.6.1.4.1.9.9.826.1.20.123.1.28.14446|2|3 +1.3.6.1.4.1.9.9.826.1.20.123.1.28.37281|2|6 +1.3.6.1.4.1.9.9.826.1.20.123.1.29.8331|2|31 +1.3.6.1.4.1.9.9.826.1.20.123.1.29.12455|2|22 +1.3.6.1.4.1.9.9.826.1.20.123.1.29.14446|2|1 +1.3.6.1.4.1.9.9.826.1.20.123.1.29.37281|2|25 +1.3.6.1.4.1.9.9.826.1.20.123.1.30.8331|2|2 +1.3.6.1.4.1.9.9.826.1.20.123.1.30.12455|2|2 +1.3.6.1.4.1.9.9.826.1.20.123.1.30.14446|2|2 +1.3.6.1.4.1.9.9.826.1.20.123.1.30.37281|2|2 +1.3.6.1.4.1.9.9.826.1.20.123.1.31.8331|4|driving +1.3.6.1.4.1.9.9.826.1.20.123.1.31.12455|4x|6b657074206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.123.1.31.14446|4|kept +1.3.6.1.4.1.9.9.826.1.20.123.1.31.37281|4x|6f78656e206f78656e20627574206b657074204a61646564206b657074206f78656e2064726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.123.1.32.8331|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.123.1.32.12455|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.123.1.32.14446|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.123.1.32.37281|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.124.1.1.17586|66|17586 +1.3.6.1.4.1.9.9.826.1.20.124.1.1.20556|66|20556 +1.3.6.1.4.1.9.9.826.1.20.124.1.1.29774|66|29774 +1.3.6.1.4.1.9.9.826.1.20.124.1.1.60502|66|60502 +1.3.6.1.4.1.9.9.826.1.20.124.1.2.17586|4x|666f7277617264206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.124.1.2.20556|4x|6b657074206f78656e2062757420717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.124.1.2.29774|4x|6b657074204a61646564206b65707420717561696e746c7920717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.124.1.2.60502|4x|717561696e746c7920627574206f78656e206f78656e2064726976696e672064726976696e6720717561696e746c7920666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.124.1.3.17586|4x|64726976696e672064726976696e6720717561696e746c792062757420717561696e746c79206163746564204a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.124.1.3.20556|4x|6163746564206f78656e207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.124.1.3.29774|4|but +1.3.6.1.4.1.9.9.826.1.20.124.1.3.60502|4x|6163746564207468656972207468656972204a61646564206b657074206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.124.1.4.17586|4x|746865697220717561696e746c79206f78656e206f78656e20627574204a61646564206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.124.1.4.20556|4x|666f7277617264206b65707420666f72776172642064726976696e6720666f7277617264206f78656e204a61646564206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.124.1.4.29774|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.124.1.4.60502|4x|7a6f6d62696573206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.124.1.5.17586|4x|7a6f6d62696573207a6f6d6269657320717561696e746c79206b65707420717561696e746c7920746865697220666f72776172642064726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.124.1.5.20556|4x|666f7277617264207a6f6d62696573204a61646564204a61646564207a6f6d62696573207a6f6d6269657320627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.124.1.5.29774|4x|627574207a6f6d6269657320616374656420717561696e746c792062757420627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.124.1.5.60502|4x|64726976696e67207a6f6d62696573206b657074206b6570742064726976696e672061637465642064726976696e67206163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.124.1.6.17586|2|12 +1.3.6.1.4.1.9.9.826.1.20.124.1.6.20556|2|11 +1.3.6.1.4.1.9.9.826.1.20.124.1.6.29774|2|2 +1.3.6.1.4.1.9.9.826.1.20.124.1.6.60502|2|8 +1.3.6.1.4.1.9.9.826.1.20.124.1.7.17586|4x|74686569722064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.124.1.7.20556|4|kept +1.3.6.1.4.1.9.9.826.1.20.124.1.7.29774|4x|6f78656e206b657074207a6f6d6269657320717561696e746c792062757420627574204a61646564204a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.124.1.7.60502|4x|7a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.124.1.8.17586|66|165900644 +1.3.6.1.4.1.9.9.826.1.20.124.1.8.20556|66|1780269866 +1.3.6.1.4.1.9.9.826.1.20.124.1.8.29774|66|1367480047 +1.3.6.1.4.1.9.9.826.1.20.124.1.8.60502|66|2174085397 +1.3.6.1.4.1.9.9.826.1.20.124.1.9.17586|2|2 +1.3.6.1.4.1.9.9.826.1.20.124.1.9.20556|2|1 +1.3.6.1.4.1.9.9.826.1.20.124.1.9.29774|2|1 +1.3.6.1.4.1.9.9.826.1.20.124.1.9.60502|2|1 +1.3.6.1.4.1.9.9.826.1.20.125.1.1.18800|66|18800 +1.3.6.1.4.1.9.9.826.1.20.125.1.1.44880|66|44880 +1.3.6.1.4.1.9.9.826.1.20.125.1.1.47231|66|47231 +1.3.6.1.4.1.9.9.826.1.20.125.1.1.55001|66|55001 +1.3.6.1.4.1.9.9.826.1.20.125.1.2.18800|4x|74686569722062757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.125.1.2.44880|4x|4a616465642064726976696e67206163746564206f78656e206f78656e204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.125.1.2.47231|4x|717561696e746c79204a6164656420717561696e746c7920666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.125.1.2.55001|4x|62757420666f7277617264206f78656e2062757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.125.1.3.18800|4|driving +1.3.6.1.4.1.9.9.826.1.20.125.1.3.44880|4x|666f7277617264204a61646564206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.125.1.3.47231|4x|6275742064726976696e6720717561696e746c7920616374656420616374656420666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.125.1.3.55001|4x|4a61646564206b657074204a61646564207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.125.1.4.18800|4x|6275742061637465642064726976696e67206f78656e207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.125.1.4.44880|4|driving +1.3.6.1.4.1.9.9.826.1.20.125.1.4.47231|4x|6f78656e20666f7277617264207468656972206b6570742064726976696e67204a6164656420616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.125.1.4.55001|4x|6b65707420746865697220616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.125.1.5.18800|4x|6f78656e206b65707420717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.125.1.5.44880|4x|7468656972206f78656e206275742064726976696e6720717561696e746c7920666f727761726420666f7277617264206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.125.1.5.47231|4x|717561696e746c79206163746564207a6f6d626965732064726976696e67206f78656e20746865697220627574206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.125.1.5.55001|4x|74686569722064726976696e672064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.125.1.6.18800|4x|6b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.125.1.6.44880|4|acted +1.3.6.1.4.1.9.9.826.1.20.125.1.6.47231|4|their +1.3.6.1.4.1.9.9.826.1.20.125.1.6.55001|4|driving +1.3.6.1.4.1.9.9.826.1.20.125.1.7.18800|4|zombies +1.3.6.1.4.1.9.9.826.1.20.125.1.7.44880|4x|666f727761726420717561696e746c7920616374656420666f7277617264204a61646564204a61646564204a6164656420627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.125.1.7.47231|4x|7468656972206f78656e20717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.125.1.7.55001|4x|64726976696e67207a6f6d62696573206f78656e207468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.125.1.8.18800|4x|6f78656e207a6f6d62696573204a61646564206275742064726976696e6720666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.125.1.8.44880|4x|666f7277617264207468656972204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.125.1.8.47231|4x|746865697220616374656420717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.125.1.8.55001|4x|717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.125.1.9.18800|66|3492651391 +1.3.6.1.4.1.9.9.826.1.20.125.1.9.44880|66|1116786487 +1.3.6.1.4.1.9.9.826.1.20.125.1.9.47231|66|1826621127 +1.3.6.1.4.1.9.9.826.1.20.125.1.9.55001|66|798524468 +1.3.6.1.4.1.9.9.826.1.20.125.1.10.18800|2|0 +1.3.6.1.4.1.9.9.826.1.20.125.1.10.44880|2|2 +1.3.6.1.4.1.9.9.826.1.20.125.1.10.47231|2|0 +1.3.6.1.4.1.9.9.826.1.20.125.1.10.55001|2|1 +1.3.6.1.4.1.9.9.826.1.20.126.1.1.34377|66|34377 +1.3.6.1.4.1.9.9.826.1.20.126.1.1.38271|66|38271 +1.3.6.1.4.1.9.9.826.1.20.126.1.1.47620|66|47620 +1.3.6.1.4.1.9.9.826.1.20.126.1.1.64766|66|64766 +1.3.6.1.4.1.9.9.826.1.20.126.1.2.34377|4x|746865697220666f7277617264206163746564206f78656e206f78656e2064726976696e67206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.126.1.2.38271|4x|64726976696e67206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.126.1.2.47620|4x|6f78656e206f78656e20666f7277617264206f78656e2062757420616374656420627574204a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.126.1.2.64766|4|their +1.3.6.1.4.1.9.9.826.1.20.126.1.3.34377|4|forward +1.3.6.1.4.1.9.9.826.1.20.126.1.3.38271|4x|7a6f6d6269657320666f7277617264206b65707420627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.126.1.3.47620|4x|64726976696e67207a6f6d6269657320717561696e746c7920666f727761726420666f7277617264207468656972207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.126.1.3.64766|4x|4a61646564207468656972 +1.3.6.1.4.1.9.9.826.1.20.126.1.4.34377|2|1 +1.3.6.1.4.1.9.9.826.1.20.126.1.4.38271|2|2 +1.3.6.1.4.1.9.9.826.1.20.126.1.4.47620|2|2 +1.3.6.1.4.1.9.9.826.1.20.126.1.4.64766|2|1 +1.3.6.1.4.1.9.9.826.1.20.127.1.1.4955|66|4955 +1.3.6.1.4.1.9.9.826.1.20.127.1.1.30240|66|30240 +1.3.6.1.4.1.9.9.826.1.20.127.1.1.51536|66|51536 +1.3.6.1.4.1.9.9.826.1.20.127.1.1.51820|66|51820 +1.3.6.1.4.1.9.9.826.1.20.127.1.2.4955|4x|717561696e746c7920717561696e746c792064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.127.1.2.30240|4x|616374656420746865697220666f727761726420666f72776172642074686569722064726976696e672064726976696e67204a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.127.1.2.51536|4x|64726976696e67207468656972206f78656e206b65707420666f7277617264206b657074207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.127.1.2.51820|4|oxen +1.3.6.1.4.1.9.9.826.1.20.127.1.3.4955|4x|4a61646564206163746564204a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.127.1.3.30240|4x|627574207a6f6d626965732064726976696e672062757420666f72776172642064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.127.1.3.51536|4x|4a61646564206f78656e2062757420627574207a6f6d62696573206163746564207a6f6d62696573204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.127.1.3.51820|4x|4a6164656420717561696e746c7920616374656420666f7277617264207a6f6d62696573207468656972206b65707420717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.127.1.4.4955|4x|6f78656e2064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.127.1.4.30240|4x|6f78656e206f78656e206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.127.1.4.51536|4x|6b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.127.1.4.51820|4x|666f7277617264206b657074207a6f6d62696573207a6f6d62696573206f78656e20666f72776172642062757420666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.127.1.5.4955|66|1625215035 +1.3.6.1.4.1.9.9.826.1.20.127.1.5.30240|66|3420822092 +1.3.6.1.4.1.9.9.826.1.20.127.1.5.51536|66|1803678518 +1.3.6.1.4.1.9.9.826.1.20.127.1.5.51820|66|2238191112 +1.3.6.1.4.1.9.9.826.1.20.127.1.6.4955|4x|4a6164656420666f7277617264207468656972206163746564206b657074207a6f6d6269657320746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.127.1.6.30240|4x|6f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.127.1.6.51536|4x|4a616465642062757420616374656420666f7277617264204a61646564207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.20.127.1.6.51820|4x|6163746564206163746564204a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.127.1.7.4955|4x|64726976696e6720746865697220666f7277617264206f78656e +1.3.6.1.4.1.9.9.826.1.20.127.1.7.30240|4x|4a61646564206163746564204a6164656420627574206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.127.1.7.51536|4x|6163746564204a6164656420717561696e746c792064726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.127.1.7.51820|4x|62757420746865697220627574 +1.3.6.1.4.1.9.9.826.1.20.127.1.8.4955|66|3946069001 +1.3.6.1.4.1.9.9.826.1.20.127.1.8.30240|66|1961196749 +1.3.6.1.4.1.9.9.826.1.20.127.1.8.51536|66|3942067426 +1.3.6.1.4.1.9.9.826.1.20.127.1.8.51820|66|942812332 +1.3.6.1.4.1.9.9.826.1.20.127.1.9.4955|2|0 +1.3.6.1.4.1.9.9.826.1.20.127.1.9.30240|2|0 +1.3.6.1.4.1.9.9.826.1.20.127.1.9.51536|2|0 +1.3.6.1.4.1.9.9.826.1.20.127.1.9.51820|2|2 +1.3.6.1.4.1.9.9.826.1.20.127.1.10.4955|66|1843061632 +1.3.6.1.4.1.9.9.826.1.20.127.1.10.30240|66|2258715457 +1.3.6.1.4.1.9.9.826.1.20.127.1.10.51536|66|354892839 +1.3.6.1.4.1.9.9.826.1.20.127.1.10.51820|66|3198340566 +1.3.6.1.4.1.9.9.826.1.20.128.1.1.21288|66|21288 +1.3.6.1.4.1.9.9.826.1.20.128.1.1.40326|66|40326 +1.3.6.1.4.1.9.9.826.1.20.128.1.1.41053|66|41053 +1.3.6.1.4.1.9.9.826.1.20.128.1.1.52119|66|52119 +1.3.6.1.4.1.9.9.826.1.20.128.1.2.21288|4x|717561696e746c79207a6f6d62696573206b65707420616374656420746865697220616374656420627574204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.128.1.2.40326|4x|4a6164656420717561696e746c79207a6f6d626965732064726976696e6720616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.128.1.2.41053|4x|6f78656e2062757420616374656420627574206b657074206f78656e206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.128.1.2.52119|4x|4a61646564204a6164656420746865697220666f7277617264207a6f6d62696573206163746564204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.128.1.3.21288|4x|61637465642064726976696e6720666f7277617264206f78656e20717561696e746c7920717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.128.1.3.40326|4x|64726976696e67204a61646564206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.128.1.3.41053|4x|64726976696e67204a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.128.1.3.52119|4x|4a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.128.1.4.21288|2|2 +1.3.6.1.4.1.9.9.826.1.20.128.1.4.40326|2|1 +1.3.6.1.4.1.9.9.826.1.20.128.1.4.41053|2|2 +1.3.6.1.4.1.9.9.826.1.20.128.1.4.52119|2|1 +1.3.6.1.4.1.9.9.826.1.20.128.1.5.21288|4x|627574206f78656e206b657074206163746564207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.128.1.5.40326|4|oxen +1.3.6.1.4.1.9.9.826.1.20.128.1.5.41053|4|acted +1.3.6.1.4.1.9.9.826.1.20.128.1.5.52119|4|their +1.3.6.1.4.1.9.9.826.1.20.128.1.6.21288|4x|64726976696e67207a6f6d62696573207a6f6d62696573206b657074206b65707420746865697220627574 +1.3.6.1.4.1.9.9.826.1.20.128.1.6.40326|4x|666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.128.1.6.41053|4x|7468656972204a61646564206275742062757420616374656420666f72776172642062757420666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.128.1.6.52119|4x|717561696e746c79206163746564204a616465642061637465642074686569722064726976696e6720666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.128.1.7.21288|4x|4a6164656420666f72776172642064726976696e67206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.128.1.7.40326|4x|6b65707420666f7277617264204a616465642064726976696e67207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.128.1.7.41053|4x|717561696e746c79204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.128.1.7.52119|4|zombies +1.3.6.1.4.1.9.9.826.1.20.128.1.8.21288|66|874330546 +1.3.6.1.4.1.9.9.826.1.20.128.1.8.40326|66|40968305 +1.3.6.1.4.1.9.9.826.1.20.128.1.8.41053|66|3385480468 +1.3.6.1.4.1.9.9.826.1.20.128.1.8.52119|66|3023770131 +1.3.6.1.4.1.9.9.826.1.20.128.1.9.21288|2|2 +1.3.6.1.4.1.9.9.826.1.20.128.1.9.40326|2|1 +1.3.6.1.4.1.9.9.826.1.20.128.1.9.41053|2|1 +1.3.6.1.4.1.9.9.826.1.20.128.1.9.52119|2|2 +1.3.6.1.4.1.9.9.826.1.20.128.1.10.21288|2|3 +1.3.6.1.4.1.9.9.826.1.20.128.1.10.40326|2|4 +1.3.6.1.4.1.9.9.826.1.20.128.1.10.41053|2|2 +1.3.6.1.4.1.9.9.826.1.20.128.1.10.52119|2|2 +1.3.6.1.4.1.9.9.826.1.20.128.1.11.21288|4x|6163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.128.1.11.40326|4x|4a6164656420717561696e746c79206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.128.1.11.41053|4x|64726976696e67207a6f6d62696573207468656972207a6f6d626965732064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.128.1.11.52119|4x|717561696e746c79207a6f6d626965732064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.129.1.1.1053|66|1053 +1.3.6.1.4.1.9.9.826.1.20.129.1.1.35445|66|35445 +1.3.6.1.4.1.9.9.826.1.20.129.1.1.37559|66|37559 +1.3.6.1.4.1.9.9.826.1.20.129.1.1.39983|66|39983 +1.3.6.1.4.1.9.9.826.1.20.129.1.2.1053|4x|717561696e746c79207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.129.1.2.35445|4x|717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.129.1.2.37559|4x|6275742064726976696e6720666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.129.1.2.39983|4x|6f78656e20717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.129.1.3.1053|4x|7468656972207468656972207a6f6d6269657320666f7277617264206b657074207468656972206f78656e +1.3.6.1.4.1.9.9.826.1.20.129.1.3.35445|4x|64726976696e67206b657074206163746564207a6f6d62696573207a6f6d62696573206f78656e206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.129.1.3.37559|4x|6f78656e206b657074206b657074 +1.3.6.1.4.1.9.9.826.1.20.129.1.3.39983|4x|666f7277617264204a6164656420666f7277617264204a6164656420616374656420666f727761726420666f7277617264206f78656e +1.3.6.1.4.1.9.9.826.1.20.129.1.4.1053|4x|6163746564206f78656e206b65707420746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.129.1.4.35445|4|forward +1.3.6.1.4.1.9.9.826.1.20.129.1.4.37559|4x|627574207a6f6d6269657320666f7277617264207a6f6d626965732062757420717561696e746c79204a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.129.1.4.39983|4x|717561696e746c79204a61646564206f78656e206275742061637465642064726976696e67207a6f6d6269657320717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.129.1.5.1053|66|55699014 +1.3.6.1.4.1.9.9.826.1.20.129.1.5.35445|66|1888300061 +1.3.6.1.4.1.9.9.826.1.20.129.1.5.37559|66|3023911292 +1.3.6.1.4.1.9.9.826.1.20.129.1.5.39983|66|1944944275 +1.3.6.1.4.1.9.9.826.1.20.129.1.6.1053|2|9 +1.3.6.1.4.1.9.9.826.1.20.129.1.6.35445|2|16 +1.3.6.1.4.1.9.9.826.1.20.129.1.6.37559|2|25 +1.3.6.1.4.1.9.9.826.1.20.129.1.6.39983|2|10 +1.3.6.1.4.1.9.9.826.1.20.129.1.7.1053|2|31 +1.3.6.1.4.1.9.9.826.1.20.129.1.7.35445|2|14 +1.3.6.1.4.1.9.9.826.1.20.129.1.7.37559|2|9 +1.3.6.1.4.1.9.9.826.1.20.129.1.7.39983|2|21 +1.3.6.1.4.1.9.9.826.1.20.129.1.8.1053|2|10 +1.3.6.1.4.1.9.9.826.1.20.129.1.8.35445|2|10 +1.3.6.1.4.1.9.9.826.1.20.129.1.8.37559|2|27 +1.3.6.1.4.1.9.9.826.1.20.129.1.8.39983|2|18 +1.3.6.1.4.1.9.9.826.1.20.129.1.9.1053|66|1017474833 +1.3.6.1.4.1.9.9.826.1.20.129.1.9.35445|66|509458922 +1.3.6.1.4.1.9.9.826.1.20.129.1.9.37559|66|3544987770 +1.3.6.1.4.1.9.9.826.1.20.129.1.9.39983|66|1836889100 +1.3.6.1.4.1.9.9.826.1.20.129.1.10.1053|2|12 +1.3.6.1.4.1.9.9.826.1.20.129.1.10.35445|2|28 +1.3.6.1.4.1.9.9.826.1.20.129.1.10.37559|2|17 +1.3.6.1.4.1.9.9.826.1.20.129.1.10.39983|2|5 +1.3.6.1.4.1.9.9.826.1.20.129.1.11.1053|4x|7468656972207468656972206b65707420627574206b657074206b65707420746865697220666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.129.1.11.35445|4x|717561696e746c79207a6f6d6269657320627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.129.1.11.37559|4x|62757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.129.1.11.39983|4x|64726976696e672064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.129.1.12.1053|2|1 +1.3.6.1.4.1.9.9.826.1.20.129.1.12.35445|2|2 +1.3.6.1.4.1.9.9.826.1.20.129.1.12.37559|2|1 +1.3.6.1.4.1.9.9.826.1.20.129.1.12.39983|2|5 +1.3.6.1.4.1.9.9.826.1.20.129.1.13.1053|4x|7468656972204a616465642074686569722064726976696e67204a6164656420666f7277617264206b657074206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.129.1.13.35445|4x|6f78656e206163746564206163746564207468656972204a61646564 +1.3.6.1.4.1.9.9.826.1.20.129.1.13.37559|4x|7468656972204a61646564207468656972206163746564207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.20.129.1.13.39983|4x|4a6164656420717561696e746c792064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.129.1.14.1053|66|101934873 +1.3.6.1.4.1.9.9.826.1.20.129.1.14.35445|66|2724783616 +1.3.6.1.4.1.9.9.826.1.20.129.1.14.37559|66|308623525 +1.3.6.1.4.1.9.9.826.1.20.129.1.14.39983|66|1933732971 +1.3.6.1.4.1.9.9.826.1.20.129.1.15.1053|2|2 +1.3.6.1.4.1.9.9.826.1.20.129.1.15.35445|2|1 +1.3.6.1.4.1.9.9.826.1.20.129.1.15.37559|2|0 +1.3.6.1.4.1.9.9.826.1.20.129.1.15.39983|2|0 +1.3.6.1.4.1.9.9.826.1.20.129.1.16.1053|66|650438524 +1.3.6.1.4.1.9.9.826.1.20.129.1.16.35445|66|1743430062 +1.3.6.1.4.1.9.9.826.1.20.129.1.16.37559|66|4121664690 +1.3.6.1.4.1.9.9.826.1.20.129.1.16.39983|66|1730412418 +1.3.6.1.4.1.9.9.826.1.20.129.1.17.1053|2|2 +1.3.6.1.4.1.9.9.826.1.20.129.1.17.35445|2|2 +1.3.6.1.4.1.9.9.826.1.20.129.1.17.37559|2|2 +1.3.6.1.4.1.9.9.826.1.20.129.1.17.39983|2|0 +1.3.6.1.4.1.9.9.826.1.20.129.1.18.1053|2|6 +1.3.6.1.4.1.9.9.826.1.20.129.1.18.35445|2|8 +1.3.6.1.4.1.9.9.826.1.20.129.1.18.37559|2|15 +1.3.6.1.4.1.9.9.826.1.20.129.1.18.39983|2|5 +1.3.6.1.4.1.9.9.826.1.20.129.1.19.1053|66|2074167660 +1.3.6.1.4.1.9.9.826.1.20.129.1.19.35445|66|2236909699 +1.3.6.1.4.1.9.9.826.1.20.129.1.19.37559|66|1878113711 +1.3.6.1.4.1.9.9.826.1.20.129.1.19.39983|66|3870940725 +1.3.6.1.4.1.9.9.826.1.20.129.1.20.1053|2|29 +1.3.6.1.4.1.9.9.826.1.20.129.1.20.35445|2|16 +1.3.6.1.4.1.9.9.826.1.20.129.1.20.37559|2|6 +1.3.6.1.4.1.9.9.826.1.20.129.1.20.39983|2|25 +1.3.6.1.4.1.9.9.826.1.20.129.1.21.1053|66|2589246387 +1.3.6.1.4.1.9.9.826.1.20.129.1.21.35445|66|3790307469 +1.3.6.1.4.1.9.9.826.1.20.129.1.21.37559|66|1639840121 +1.3.6.1.4.1.9.9.826.1.20.129.1.21.39983|66|1817946386 +1.3.6.1.4.1.9.9.826.1.20.129.1.22.1053|2|31 +1.3.6.1.4.1.9.9.826.1.20.129.1.22.35445|2|13 +1.3.6.1.4.1.9.9.826.1.20.129.1.22.37559|2|16 +1.3.6.1.4.1.9.9.826.1.20.129.1.22.39983|2|19 +1.3.6.1.4.1.9.9.826.1.20.129.1.23.1053|2|15 +1.3.6.1.4.1.9.9.826.1.20.129.1.23.35445|2|10 +1.3.6.1.4.1.9.9.826.1.20.129.1.23.37559|2|20 +1.3.6.1.4.1.9.9.826.1.20.129.1.23.39983|2|9 +1.3.6.1.4.1.9.9.826.1.20.129.1.24.1053|2|2 +1.3.6.1.4.1.9.9.826.1.20.129.1.24.35445|2|20 +1.3.6.1.4.1.9.9.826.1.20.129.1.24.37559|2|4 +1.3.6.1.4.1.9.9.826.1.20.129.1.24.39983|2|14 +1.3.6.1.4.1.9.9.826.1.20.130.1.1.7961|66|7961 +1.3.6.1.4.1.9.9.826.1.20.130.1.1.48219|66|48219 +1.3.6.1.4.1.9.9.826.1.20.130.1.1.51928|66|51928 +1.3.6.1.4.1.9.9.826.1.20.130.1.1.62187|66|62187 +1.3.6.1.4.1.9.9.826.1.20.130.1.2.7961|4x|6b6570742064726976696e67207a6f6d62696573207a6f6d626965732064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.130.1.2.48219|4x|62757420746865697220627574 +1.3.6.1.4.1.9.9.826.1.20.130.1.2.51928|4x|6163746564207a6f6d626965732064726976696e6720717561696e746c79207a6f6d6269657320666f7277617264204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.130.1.2.62187|4x|4a61646564207468656972 +1.3.6.1.4.1.9.9.826.1.20.130.1.3.7961|4x|64726976696e67204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.130.1.3.48219|4x|627574206f78656e204a61646564206275742064726976696e67206b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.130.1.3.51928|4x|6f78656e204a61646564206f78656e20627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.130.1.3.62187|4x|6275742074686569722074686569722064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.130.1.4.7961|4x|7468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.130.1.4.48219|4x|4a61646564206f78656e206f78656e20627574 +1.3.6.1.4.1.9.9.826.1.20.130.1.4.51928|4x|7a6f6d6269657320717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.130.1.4.62187|4x|6163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.130.1.5.7961|4x|627574207468656972206f78656e206b6570742064726976696e6720666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.130.1.5.48219|4x|7468656972204a6164656420746865697220616374656420717561696e746c79206f78656e20666f727761726420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.130.1.5.51928|4x|4a61646564204a61646564207a6f6d62696573206b6570742064726976696e67206b65707420717561696e746c7920616374656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.130.1.5.62187|4x|6b657074206275742064726976696e6720746865697220717561696e746c79207468656972207a6f6d6269657320666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.130.1.6.7961|4|kept +1.3.6.1.4.1.9.9.826.1.20.130.1.6.48219|4|kept +1.3.6.1.4.1.9.9.826.1.20.130.1.6.51928|4x|6f78656e204a61646564206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.130.1.6.62187|4x|7468656972206f78656e207a6f6d626965732064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.130.1.7.7961|66|2580225282 +1.3.6.1.4.1.9.9.826.1.20.130.1.7.48219|66|281673820 +1.3.6.1.4.1.9.9.826.1.20.130.1.7.51928|66|3071785361 +1.3.6.1.4.1.9.9.826.1.20.130.1.7.62187|66|2130940170 +1.3.6.1.4.1.9.9.826.1.20.130.1.8.7961|66|2255106449 +1.3.6.1.4.1.9.9.826.1.20.130.1.8.48219|66|4097386408 +1.3.6.1.4.1.9.9.826.1.20.130.1.8.51928|66|477436948 +1.3.6.1.4.1.9.9.826.1.20.130.1.8.62187|66|141885895 +1.3.6.1.4.1.9.9.826.1.20.130.1.9.7961|2|1 +1.3.6.1.4.1.9.9.826.1.20.130.1.9.48219|2|1 +1.3.6.1.4.1.9.9.826.1.20.130.1.9.51928|2|1 +1.3.6.1.4.1.9.9.826.1.20.130.1.9.62187|2|1 +1.3.6.1.4.1.9.9.826.1.20.130.1.10.7961|2|1 +1.3.6.1.4.1.9.9.826.1.20.130.1.10.48219|2|2 +1.3.6.1.4.1.9.9.826.1.20.130.1.10.51928|2|1 +1.3.6.1.4.1.9.9.826.1.20.130.1.10.62187|2|1 +1.3.6.1.4.1.9.9.826.1.20.130.1.11.7961|4x|6b65707420666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.130.1.11.48219|4x|6163746564206f78656e207a6f6d6269657320717561696e746c79204a61646564206b657074206f78656e206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.130.1.11.51928|4x|4a6164656420627574206163746564207a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.130.1.11.62187|4x|717561696e746c79204a6164656420717561696e746c7920666f7277617264206163746564207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.131.1.1.34181|66|34181 +1.3.6.1.4.1.9.9.826.1.20.131.1.1.35807|66|35807 +1.3.6.1.4.1.9.9.826.1.20.131.1.1.46115|66|46115 +1.3.6.1.4.1.9.9.826.1.20.131.1.1.49398|66|49398 +1.3.6.1.4.1.9.9.826.1.20.131.1.2.34181|4x|7468656972206b65707420627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.131.1.2.35807|4x|6163746564206f78656e206163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.131.1.2.46115|4x|7a6f6d62696573206f78656e206b65707420717561696e746c7920717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.131.1.2.49398|4x|64726976696e67206163746564204a61646564207a6f6d62696573207468656972204a6164656420717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.131.1.3.34181|4|their +1.3.6.1.4.1.9.9.826.1.20.131.1.3.35807|4x|666f72776172642064726976696e6720717561696e746c7920717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.131.1.3.46115|4x|4a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.131.1.3.49398|4x|64726976696e67206163746564206f78656e204a61646564204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.131.1.4.34181|2|2 +1.3.6.1.4.1.9.9.826.1.20.131.1.4.35807|2|1 +1.3.6.1.4.1.9.9.826.1.20.131.1.4.46115|2|2 +1.3.6.1.4.1.9.9.826.1.20.131.1.4.49398|2|2 +1.3.6.1.4.1.9.9.826.1.20.131.1.5.34181|4x|627574207468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.131.1.5.35807|4x|717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.131.1.5.46115|4x|717561696e746c79204a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.131.1.5.49398|4x|616374656420627574206163746564207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.131.1.6.34181|2|1 +1.3.6.1.4.1.9.9.826.1.20.131.1.6.35807|2|1 +1.3.6.1.4.1.9.9.826.1.20.131.1.6.46115|2|1 +1.3.6.1.4.1.9.9.826.1.20.131.1.6.49398|2|1 +1.3.6.1.4.1.9.9.826.1.20.131.1.7.34181|4x|4a61646564206f78656e207a6f6d62696573206163746564207a6f6d62696573207a6f6d62696573204a61646564 +1.3.6.1.4.1.9.9.826.1.20.131.1.7.35807|4x|717561696e746c79207a6f6d62696573206163746564207a6f6d62696573206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.131.1.7.46115|4x|717561696e746c79206b657074206f78656e207468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.131.1.7.49398|4x|7468656972206f78656e206f78656e206b657074207a6f6d6269657320746865697220717561696e746c7920746865697220627574 +1.3.6.1.4.1.9.9.826.1.20.131.1.8.34181|2|1 +1.3.6.1.4.1.9.9.826.1.20.131.1.8.35807|2|1 +1.3.6.1.4.1.9.9.826.1.20.131.1.8.46115|2|2 +1.3.6.1.4.1.9.9.826.1.20.131.1.8.49398|2|1 +1.3.6.1.4.1.9.9.826.1.20.131.1.9.34181|66|3786572745 +1.3.6.1.4.1.9.9.826.1.20.131.1.9.35807|66|734105522 +1.3.6.1.4.1.9.9.826.1.20.131.1.9.46115|66|3343776507 +1.3.6.1.4.1.9.9.826.1.20.131.1.9.49398|66|199490201 +1.3.6.1.4.1.9.9.826.1.20.131.1.10.34181|66|873864023 +1.3.6.1.4.1.9.9.826.1.20.131.1.10.35807|66|881119925 +1.3.6.1.4.1.9.9.826.1.20.131.1.10.46115|66|3962645965 +1.3.6.1.4.1.9.9.826.1.20.131.1.10.49398|66|1180060559 +1.3.6.1.4.1.9.9.826.1.20.131.1.11.34181|66|2971197664 +1.3.6.1.4.1.9.9.826.1.20.131.1.11.35807|66|2971505879 +1.3.6.1.4.1.9.9.826.1.20.131.1.11.46115|66|1415703304 +1.3.6.1.4.1.9.9.826.1.20.131.1.11.49398|66|3693432067 +1.3.6.1.4.1.9.9.826.1.20.131.1.12.34181|66|3456046515 +1.3.6.1.4.1.9.9.826.1.20.131.1.12.35807|66|1913149723 +1.3.6.1.4.1.9.9.826.1.20.131.1.12.46115|66|1901812727 +1.3.6.1.4.1.9.9.826.1.20.131.1.12.49398|66|2081939699 +1.3.6.1.4.1.9.9.826.1.20.131.1.13.34181|66|2560256185 +1.3.6.1.4.1.9.9.826.1.20.131.1.13.35807|66|1998123011 +1.3.6.1.4.1.9.9.826.1.20.131.1.13.46115|66|3344773180 +1.3.6.1.4.1.9.9.826.1.20.131.1.13.49398|66|1691114908 +1.3.6.1.4.1.9.9.826.1.20.131.1.14.34181|66|968715942 +1.3.6.1.4.1.9.9.826.1.20.131.1.14.35807|66|322780458 +1.3.6.1.4.1.9.9.826.1.20.131.1.14.46115|66|874145740 +1.3.6.1.4.1.9.9.826.1.20.131.1.14.49398|66|168748971 +1.3.6.1.4.1.9.9.826.1.20.131.1.15.34181|66|3642064578 +1.3.6.1.4.1.9.9.826.1.20.131.1.15.35807|66|1228104257 +1.3.6.1.4.1.9.9.826.1.20.131.1.15.46115|66|3142128072 +1.3.6.1.4.1.9.9.826.1.20.131.1.15.49398|66|674460406 +1.3.6.1.4.1.9.9.826.1.20.131.1.16.34181|66|4181439147 +1.3.6.1.4.1.9.9.826.1.20.131.1.16.35807|66|375729628 +1.3.6.1.4.1.9.9.826.1.20.131.1.16.46115|66|1091853089 +1.3.6.1.4.1.9.9.826.1.20.131.1.16.49398|66|1074832470 +1.3.6.1.4.1.9.9.826.1.20.131.1.17.34181|4x|666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.131.1.17.35807|4x|666f7277617264206f78656e207a6f6d6269657320666f7277617264204a616465642062757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.131.1.17.46115|4x|666f7277617264206f78656e20666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.131.1.17.49398|4x|627574207a6f6d62696573207a6f6d62696573206163746564206b65707420666f727761726420627574 +1.3.6.1.4.1.9.9.826.1.20.131.1.18.34181|66|2118918161 +1.3.6.1.4.1.9.9.826.1.20.131.1.18.35807|66|534085299 +1.3.6.1.4.1.9.9.826.1.20.131.1.18.46115|66|2089338346 +1.3.6.1.4.1.9.9.826.1.20.131.1.18.49398|66|3501278127 +1.3.6.1.4.1.9.9.826.1.20.131.1.19.34181|2|2 +1.3.6.1.4.1.9.9.826.1.20.131.1.19.35807|2|1 +1.3.6.1.4.1.9.9.826.1.20.131.1.19.46115|2|2 +1.3.6.1.4.1.9.9.826.1.20.131.1.19.49398|2|1 +1.3.6.1.4.1.9.9.826.1.20.131.1.20.34181|2|2 +1.3.6.1.4.1.9.9.826.1.20.131.1.20.35807|2|1 +1.3.6.1.4.1.9.9.826.1.20.131.1.20.46115|2|2 +1.3.6.1.4.1.9.9.826.1.20.131.1.20.49398|2|2 +1.3.6.1.4.1.9.9.826.1.20.132.1.1.7167|66|7167 +1.3.6.1.4.1.9.9.826.1.20.132.1.1.26479|66|26479 +1.3.6.1.4.1.9.9.826.1.20.132.1.1.34621|66|34621 +1.3.6.1.4.1.9.9.826.1.20.132.1.1.54680|66|54680 +1.3.6.1.4.1.9.9.826.1.20.132.1.2.7167|4x|746865697220627574206b657074207a6f6d62696573204a6164656420717561696e746c7920717561696e746c79207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.132.1.2.26479|4x|666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.132.1.2.34621|4x|64726976696e67206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.132.1.2.54680|4x|6f78656e204a61646564206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.132.1.3.7167|4x|6b65707420627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.132.1.3.26479|4x|6f78656e2074686569722064726976696e67207a6f6d62696573207468656972206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.132.1.3.34621|4x|74686569722064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.132.1.3.54680|4x|717561696e746c7920717561696e746c792062757420746865697220717561696e746c79207a6f6d6269657320627574206b657074206b657074 +1.3.6.1.4.1.9.9.826.1.20.132.1.4.7167|2|1 +1.3.6.1.4.1.9.9.826.1.20.132.1.4.26479|2|1 +1.3.6.1.4.1.9.9.826.1.20.132.1.4.34621|2|2 +1.3.6.1.4.1.9.9.826.1.20.132.1.4.54680|2|2 +1.3.6.1.4.1.9.9.826.1.20.132.1.5.7167|2|2 +1.3.6.1.4.1.9.9.826.1.20.132.1.5.26479|2|2 +1.3.6.1.4.1.9.9.826.1.20.132.1.5.34621|2|1 +1.3.6.1.4.1.9.9.826.1.20.132.1.5.54680|2|2 +1.3.6.1.4.1.9.9.826.1.20.132.1.6.7167|66|3200935046 +1.3.6.1.4.1.9.9.826.1.20.132.1.6.26479|66|653122937 +1.3.6.1.4.1.9.9.826.1.20.132.1.6.34621|66|2621449848 +1.3.6.1.4.1.9.9.826.1.20.132.1.6.54680|66|3547408626 +1.3.6.1.4.1.9.9.826.1.20.132.1.7.7167|66|2241505282 +1.3.6.1.4.1.9.9.826.1.20.132.1.7.26479|66|1414166171 +1.3.6.1.4.1.9.9.826.1.20.132.1.7.34621|66|124923673 +1.3.6.1.4.1.9.9.826.1.20.132.1.7.54680|66|465687757 +1.3.6.1.4.1.9.9.826.1.20.132.1.8.7167|66|1856857058 +1.3.6.1.4.1.9.9.826.1.20.132.1.8.26479|66|1084892572 +1.3.6.1.4.1.9.9.826.1.20.132.1.8.34621|66|3393249463 +1.3.6.1.4.1.9.9.826.1.20.132.1.8.54680|66|1492599563 +1.3.6.1.4.1.9.9.826.1.20.132.1.9.7167|66|1852302533 +1.3.6.1.4.1.9.9.826.1.20.132.1.9.26479|66|3560161006 +1.3.6.1.4.1.9.9.826.1.20.132.1.9.34621|66|2139051033 +1.3.6.1.4.1.9.9.826.1.20.132.1.9.54680|66|1274113965 +1.3.6.1.4.1.9.9.826.1.20.132.1.10.7167|66|2407666846 +1.3.6.1.4.1.9.9.826.1.20.132.1.10.26479|66|3691749267 +1.3.6.1.4.1.9.9.826.1.20.132.1.10.34621|66|3583639801 +1.3.6.1.4.1.9.9.826.1.20.132.1.10.54680|66|1976947524 +1.3.6.1.4.1.9.9.826.1.20.132.1.11.7167|66|2697337710 +1.3.6.1.4.1.9.9.826.1.20.132.1.11.26479|66|2055874337 +1.3.6.1.4.1.9.9.826.1.20.132.1.11.34621|66|4080956555 +1.3.6.1.4.1.9.9.826.1.20.132.1.11.54680|66|415552124 +1.3.6.1.4.1.9.9.826.1.20.132.1.12.7167|4x|6275742061637465642074686569722062757420717561696e746c79206f78656e207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.132.1.12.26479|4x|7a6f6d6269657320717561696e746c792064726976696e6720717561696e746c79206163746564206275742064726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.132.1.12.34621|4x|666f727761726420616374656420717561696e746c79207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.132.1.12.54680|4x|7a6f6d626965732064726976696e67206b657074207468656972207468656972207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.132.1.13.7167|4x|6f78656e2074686569722061637465642064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.132.1.13.26479|4x|7a6f6d626965732074686569722064726976696e6720666f727761726420627574204a61646564207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.132.1.13.34621|4x|7a6f6d6269657320627574206b65707420666f7277617264206f78656e2061637465642074686569722062757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.132.1.13.54680|4x|7a6f6d6269657320627574207a6f6d62696573206b657074206163746564 +1.3.6.1.4.1.9.9.826.1.20.132.1.14.7167|66|4292408270 +1.3.6.1.4.1.9.9.826.1.20.132.1.14.26479|66|1302116924 +1.3.6.1.4.1.9.9.826.1.20.132.1.14.34621|66|1189689221 +1.3.6.1.4.1.9.9.826.1.20.132.1.14.54680|66|306004359 +1.3.6.1.4.1.9.9.826.1.20.132.1.15.7167|4x|7a6f6d62696573207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.20.132.1.15.26479|4x|6f78656e2061637465642064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.132.1.15.34621|4|acted +1.3.6.1.4.1.9.9.826.1.20.132.1.15.54680|4x|4a6164656420666f727761726420627574207a6f6d6269657320627574206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.132.1.16.7167|4x|7a6f6d62696573206b657074206163746564 +1.3.6.1.4.1.9.9.826.1.20.132.1.16.26479|4x|64726976696e67206163746564206163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.132.1.16.34621|4x|64726976696e67206163746564204a616465642064726976696e6720717561696e746c7920717561696e746c79207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.132.1.16.54680|4x|666f7277617264207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.133.1.1.27979|66|27979 +1.3.6.1.4.1.9.9.826.1.20.133.1.1.31608|66|31608 +1.3.6.1.4.1.9.9.826.1.20.133.1.1.45131|66|45131 +1.3.6.1.4.1.9.9.826.1.20.133.1.1.59552|66|59552 +1.3.6.1.4.1.9.9.826.1.20.133.1.2.27979|4x|7a6f6d62696573206f78656e207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.133.1.2.31608|4x|666f72776172642074686569722064726976696e6720717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.133.1.2.45131|4x|6b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.133.1.2.59552|4x|4a6164656420616374656420717561696e746c792064726976696e6720717561696e746c79206163746564207468656972204a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.133.1.3.27979|4x|6275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.133.1.3.31608|4x|6163746564207a6f6d6269657320666f727761726420717561696e746c7920627574206f78656e207468656972 +1.3.6.1.4.1.9.9.826.1.20.133.1.3.45131|4x|627574206b657074206f78656e206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.133.1.3.59552|4x|717561696e746c7920666f727761726420616374656420666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.133.1.4.27979|2|1 +1.3.6.1.4.1.9.9.826.1.20.133.1.4.31608|2|2 +1.3.6.1.4.1.9.9.826.1.20.133.1.4.45131|2|2 +1.3.6.1.4.1.9.9.826.1.20.133.1.4.59552|2|1 +1.3.6.1.4.1.9.9.826.1.20.133.1.5.27979|4x|717561696e746c7920717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.133.1.5.31608|4x|6163746564207468656972 +1.3.6.1.4.1.9.9.826.1.20.133.1.5.45131|4x|717561696e746c79204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.133.1.5.59552|4|driving +1.3.6.1.4.1.9.9.826.1.20.133.1.6.27979|70|4396828882508770576 +1.3.6.1.4.1.9.9.826.1.20.133.1.6.31608|70|5213373402199170208 +1.3.6.1.4.1.9.9.826.1.20.133.1.6.45131|70|13259242024961572672 +1.3.6.1.4.1.9.9.826.1.20.133.1.6.59552|70|8287396523954459685 +1.3.6.1.4.1.9.9.826.1.20.133.1.7.27979|66|1891233010 +1.3.6.1.4.1.9.9.826.1.20.133.1.7.31608|66|2440981572 +1.3.6.1.4.1.9.9.826.1.20.133.1.7.45131|66|2002515346 +1.3.6.1.4.1.9.9.826.1.20.133.1.7.59552|66|1091522112 +1.3.6.1.4.1.9.9.826.1.20.133.1.8.27979|4x|627574204a61646564206f78656e20717561696e746c79206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.133.1.8.31608|4x|6f78656e20717561696e746c79204a61646564207a6f6d6269657320746865697220717561696e746c792064726976696e6720717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.133.1.8.45131|4x|7468656972206b65707420666f72776172642064726976696e67204a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.133.1.8.59552|4x|4a6164656420666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.133.1.9.27979|66|3320612352 +1.3.6.1.4.1.9.9.826.1.20.133.1.9.31608|66|2667740237 +1.3.6.1.4.1.9.9.826.1.20.133.1.9.45131|66|3926548737 +1.3.6.1.4.1.9.9.826.1.20.133.1.9.59552|66|4147961023 +1.3.6.1.4.1.9.9.826.1.20.133.1.10.27979|4x|666f7277617264207a6f6d62696573206b657074204a6164656420627574207468656972206b657074206b657074 +1.3.6.1.4.1.9.9.826.1.20.133.1.10.31608|4x|74686569722064726976696e67206163746564206f78656e207a6f6d62696573207a6f6d62696573207468656972204a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.133.1.10.45131|4x|6b65707420666f7277617264206163746564206b6570742064726976696e6720746865697220627574207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.133.1.10.59552|4x|6b657074206163746564 +1.3.6.1.4.1.9.9.826.1.20.133.1.11.27979|2|4 +1.3.6.1.4.1.9.9.826.1.20.133.1.11.31608|2|0 +1.3.6.1.4.1.9.9.826.1.20.133.1.11.45131|2|11 +1.3.6.1.4.1.9.9.826.1.20.133.1.11.59552|2|11 +1.3.6.1.4.1.9.9.826.1.20.133.1.12.27979|2|6 +1.3.6.1.4.1.9.9.826.1.20.133.1.12.31608|2|14 +1.3.6.1.4.1.9.9.826.1.20.133.1.12.45131|2|10 +1.3.6.1.4.1.9.9.826.1.20.133.1.12.59552|2|1 +1.3.6.1.4.1.9.9.826.1.20.133.1.13.27979|2|1 +1.3.6.1.4.1.9.9.826.1.20.133.1.13.31608|2|0 +1.3.6.1.4.1.9.9.826.1.20.133.1.13.45131|2|5 +1.3.6.1.4.1.9.9.826.1.20.133.1.13.59552|2|5 +1.3.6.1.4.1.9.9.826.1.20.133.1.14.27979|2|10 +1.3.6.1.4.1.9.9.826.1.20.133.1.14.31608|2|6 +1.3.6.1.4.1.9.9.826.1.20.133.1.14.45131|2|11 +1.3.6.1.4.1.9.9.826.1.20.133.1.14.59552|2|10 +1.3.6.1.4.1.9.9.826.1.20.133.1.15.27979|2|14 +1.3.6.1.4.1.9.9.826.1.20.133.1.15.31608|2|10 +1.3.6.1.4.1.9.9.826.1.20.133.1.15.45131|2|20 +1.3.6.1.4.1.9.9.826.1.20.133.1.15.59552|2|13 +1.3.6.1.4.1.9.9.826.1.20.133.1.16.27979|4x|6b65707420616374656420717561696e746c7920666f727761726420746865697220666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.133.1.16.31608|4x|6f78656e20666f7277617264207a6f6d62696573206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.133.1.16.45131|4x|6b6570742064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.133.1.16.59552|4x|6f78656e206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.133.1.17.27979|4x|61637465642064726976696e6720627574204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.133.1.17.31608|4x|6f78656e207468656972206b6570742064726976696e672064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.133.1.17.45131|4x|717561696e746c79207a6f6d62696573206b65707420666f727761726420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.133.1.17.59552|4x|717561696e746c79204a61646564206b657074206f78656e20666f727761726420746865697220717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.133.1.18.27979|2|10 +1.3.6.1.4.1.9.9.826.1.20.133.1.18.31608|2|12 +1.3.6.1.4.1.9.9.826.1.20.133.1.18.45131|2|7 +1.3.6.1.4.1.9.9.826.1.20.133.1.18.59552|2|3 +1.3.6.1.4.1.9.9.826.1.20.133.1.19.27979|2|3 +1.3.6.1.4.1.9.9.826.1.20.133.1.19.31608|2|6 +1.3.6.1.4.1.9.9.826.1.20.133.1.19.45131|2|1 +1.3.6.1.4.1.9.9.826.1.20.133.1.19.59552|2|1 +1.3.6.1.4.1.9.9.826.1.20.133.1.20.27979|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.133.1.20.31608|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.133.1.20.45131|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.133.1.20.59552|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.133.1.21.27979|4x|64726976696e67206163746564206b6570742064726976696e6720666f7277617264206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.133.1.21.31608|4x|6b657074206b657074 +1.3.6.1.4.1.9.9.826.1.20.133.1.21.45131|4x|6b65707420717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.133.1.21.59552|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.133.1.22.27979|2|1 +1.3.6.1.4.1.9.9.826.1.20.133.1.22.31608|2|3 +1.3.6.1.4.1.9.9.826.1.20.133.1.22.45131|2|1 +1.3.6.1.4.1.9.9.826.1.20.133.1.22.59552|2|0 +1.3.6.1.4.1.9.9.826.1.20.133.1.23.27979|2|0 +1.3.6.1.4.1.9.9.826.1.20.133.1.23.31608|2|0 +1.3.6.1.4.1.9.9.826.1.20.133.1.23.45131|2|0 +1.3.6.1.4.1.9.9.826.1.20.133.1.23.59552|2|1 +1.3.6.1.4.1.9.9.826.1.20.133.1.24.27979|66|424740715 +1.3.6.1.4.1.9.9.826.1.20.133.1.24.31608|66|2874281538 +1.3.6.1.4.1.9.9.826.1.20.133.1.24.45131|66|751087063 +1.3.6.1.4.1.9.9.826.1.20.133.1.24.59552|66|1908350664 +1.3.6.1.4.1.9.9.826.1.20.133.1.25.27979|4|zombies +1.3.6.1.4.1.9.9.826.1.20.133.1.25.31608|4x|666f72776172642064726976696e67204a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.133.1.25.45131|4x|6f78656e20627574206b657074207468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.133.1.25.59552|4x|627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.134.1.1.11349|66|11349 +1.3.6.1.4.1.9.9.826.1.20.134.1.1.28831|66|28831 +1.3.6.1.4.1.9.9.826.1.20.134.1.1.28890|66|28890 +1.3.6.1.4.1.9.9.826.1.20.134.1.1.52275|66|52275 +1.3.6.1.4.1.9.9.826.1.20.134.1.2.11349|4x|717561696e746c7920666f7277617264207a6f6d62696573206f78656e206f78656e2064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.134.1.2.28831|4x|4a6164656420717561696e746c79207468656972206f78656e2062757420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.134.1.2.28890|4x|717561696e746c79206b65707420717561696e746c79207468656972207a6f6d62696573206f78656e2064726976696e672064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.134.1.2.52275|4x|6163746564206163746564206163746564207a6f6d62696573204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.134.1.3.11349|4x|4a6164656420627574206275742064726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.134.1.3.28831|4x|6f78656e20666f7277617264206163746564206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.134.1.3.28890|4x|6b65707420746865697220627574206b657074207a6f6d6269657320717561696e746c7920717561696e746c79206163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.134.1.3.52275|4x|666f727761726420666f7277617264206163746564206b657074207a6f6d6269657320666f727761726420627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.134.1.4.11349|2|3 +1.3.6.1.4.1.9.9.826.1.20.134.1.4.28831|2|2 +1.3.6.1.4.1.9.9.826.1.20.134.1.4.28890|2|2 +1.3.6.1.4.1.9.9.826.1.20.134.1.4.52275|2|3 +1.3.6.1.4.1.9.9.826.1.20.134.1.5.11349|4x|01020304 +1.3.6.1.4.1.9.9.826.1.20.134.1.5.28831|4x|01020304 +1.3.6.1.4.1.9.9.826.1.20.134.1.5.28890|4x|01020304 +1.3.6.1.4.1.9.9.826.1.20.134.1.5.52275|4x|01020304 +1.3.6.1.4.1.9.9.826.1.20.134.1.6.11349|66|44677514 +1.3.6.1.4.1.9.9.826.1.20.134.1.6.28831|66|3391454406 +1.3.6.1.4.1.9.9.826.1.20.134.1.6.28890|66|2667303679 +1.3.6.1.4.1.9.9.826.1.20.134.1.6.52275|66|3922986380 +1.3.6.1.4.1.9.9.826.1.20.134.1.7.11349|2|9 +1.3.6.1.4.1.9.9.826.1.20.134.1.7.28831|2|4 +1.3.6.1.4.1.9.9.826.1.20.134.1.7.28890|2|2 +1.3.6.1.4.1.9.9.826.1.20.134.1.7.52275|2|7 +1.3.6.1.4.1.9.9.826.1.20.134.1.8.11349|2|3 +1.3.6.1.4.1.9.9.826.1.20.134.1.8.28831|2|3 +1.3.6.1.4.1.9.9.826.1.20.134.1.8.28890|2|3 +1.3.6.1.4.1.9.9.826.1.20.134.1.8.52275|2|0 +1.3.6.1.4.1.9.9.826.1.20.134.1.9.11349|70|3629986821264103882 +1.3.6.1.4.1.9.9.826.1.20.134.1.9.28831|70|16257679131292477369 +1.3.6.1.4.1.9.9.826.1.20.134.1.9.28890|70|1888948466698536779 +1.3.6.1.4.1.9.9.826.1.20.134.1.9.52275|70|1969311830070521987 +1.3.6.1.4.1.9.9.826.1.20.134.1.10.11349|70|7422486805245164019 +1.3.6.1.4.1.9.9.826.1.20.134.1.10.28831|70|17298505188608377994 +1.3.6.1.4.1.9.9.826.1.20.134.1.10.28890|70|94532774776835790 +1.3.6.1.4.1.9.9.826.1.20.134.1.10.52275|70|3569908521697767623 +1.3.6.1.4.1.9.9.826.1.20.134.1.11.11349|70|12340073520999688808 +1.3.6.1.4.1.9.9.826.1.20.134.1.11.28831|70|13061032818464909168 +1.3.6.1.4.1.9.9.826.1.20.134.1.11.28890|70|12604319382463645488 +1.3.6.1.4.1.9.9.826.1.20.134.1.11.52275|70|5072960831155016431 +1.3.6.1.4.1.9.9.826.1.20.134.1.12.11349|4x|6f78656e207468656972204a6164656420666f727761726420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.134.1.12.28831|4x|4a616465642064726976696e6720666f7277617264207a6f6d6269657320666f7277617264206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.134.1.12.28890|4x|4a6164656420666f7277617264207468656972206f78656e +1.3.6.1.4.1.9.9.826.1.20.134.1.12.52275|4x|746865697220717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.134.1.13.11349|4x|7468656972204a6164656420627574204a6164656420717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.134.1.13.28831|4x|6b657074207468656972207a6f6d6269657320717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.134.1.13.28890|4x|4a6164656420616374656420717561696e746c79206f78656e206b657074206b657074 +1.3.6.1.4.1.9.9.826.1.20.134.1.13.52275|4|kept +1.3.6.1.4.1.9.9.826.1.20.134.1.14.11349|4|their +1.3.6.1.4.1.9.9.826.1.20.134.1.14.28831|4x|6b657074204a6164656420616374656420666f727761726420717561696e746c7920717561696e746c7920666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.134.1.14.28890|4x|6275742064726976696e6720717561696e746c79204a61646564206f78656e204a616465642064726976696e67204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.134.1.14.52275|4x|4a61646564207a6f6d6269657320666f7277617264207a6f6d6269657320746865697220616374656420666f72776172642064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.134.1.15.11349|66|1448121320 +1.3.6.1.4.1.9.9.826.1.20.134.1.15.28831|66|2693261645 +1.3.6.1.4.1.9.9.826.1.20.134.1.15.28890|66|2506868130 +1.3.6.1.4.1.9.9.826.1.20.134.1.15.52275|66|786947589 +1.3.6.1.4.1.9.9.826.1.20.134.1.16.11349|66|2648467156 +1.3.6.1.4.1.9.9.826.1.20.134.1.16.28831|66|3756074567 +1.3.6.1.4.1.9.9.826.1.20.134.1.16.28890|66|3601400444 +1.3.6.1.4.1.9.9.826.1.20.134.1.16.52275|66|535271988 +1.3.6.1.4.1.9.9.826.1.20.134.1.17.11349|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.134.1.17.28831|4x|666f727761726420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.134.1.17.28890|4x|7a6f6d62696573206f78656e2064726976696e672061637465642074686569722064726976696e6720666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.134.1.17.52275|4x|7a6f6d626965732064726976696e67207a6f6d62696573204a61646564206f78656e206f78656e206b657074204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.134.1.18.11349|4x|62757420666f72776172642064726976696e67206f78656e206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.134.1.18.28831|4|but +1.3.6.1.4.1.9.9.826.1.20.134.1.18.28890|4|but +1.3.6.1.4.1.9.9.826.1.20.134.1.18.52275|4x|717561696e746c79204a6164656420666f72776172642074686569722064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.134.1.19.11349|4x|6b657074207a6f6d6269657320717561696e746c79206f78656e206f78656e206163746564206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.134.1.19.28831|4x|717561696e746c79206b657074206163746564207468656972207a6f6d6269657320627574206f78656e +1.3.6.1.4.1.9.9.826.1.20.134.1.19.28890|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.134.1.19.52275|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.134.1.20.11349|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.134.1.20.28831|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.134.1.20.28890|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.134.1.20.52275|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.134.1.21.11349|4x|64726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.134.1.21.28831|4x|6163746564207a6f6d626965732074686569722064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.134.1.21.28890|4x|6b657074207a6f6d62696573206f78656e2062757420666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.134.1.21.52275|4x|6b6570742064726976696e672064726976696e67206b657074206b657074206163746564207468656972 +1.3.6.1.4.1.9.9.826.1.20.134.1.22.11349|66|503552651 +1.3.6.1.4.1.9.9.826.1.20.134.1.22.28831|66|3907274330 +1.3.6.1.4.1.9.9.826.1.20.134.1.22.28890|66|1387249122 +1.3.6.1.4.1.9.9.826.1.20.134.1.22.52275|66|213075985 +1.3.6.1.4.1.9.9.826.1.20.134.1.23.11349|66|1 +1.3.6.1.4.1.9.9.826.1.20.134.1.23.28831|66|1 +1.3.6.1.4.1.9.9.826.1.20.134.1.23.28890|66|1 +1.3.6.1.4.1.9.9.826.1.20.134.1.23.52275|66|1 +1.3.6.1.4.1.9.9.826.1.20.134.1.24.11349|4x|6f78656e20627574206f78656e +1.3.6.1.4.1.9.9.826.1.20.134.1.24.28831|4x|64726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.134.1.24.28890|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.134.1.24.52275|4|forward +1.3.6.1.4.1.9.9.826.1.20.134.1.25.11349|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.134.1.25.28831|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.134.1.25.28890|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.134.1.25.52275|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.134.1.26.11349|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.134.1.26.28831|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.134.1.26.28890|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.134.1.26.52275|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.134.1.27.11349|4x|627574206b65707420666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.134.1.27.28831|4x|717561696e746c79206163746564207468656972206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.134.1.27.28890|4x|6b657074207468656972206b657074206b657074204a61646564207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.134.1.27.52275|4x|717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.134.1.28.11349|4x|4a6164656420616374656420717561696e746c7920666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.134.1.28.28831|4x|6163746564204a616465642064726976696e6720666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.134.1.28.28890|4x|4a6164656420616374656420627574207a6f6d6269657320666f7277617264207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.134.1.28.52275|4x|6f78656e20666f72776172642062757420746865697220627574206b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.134.1.29.11349|4|forward +1.3.6.1.4.1.9.9.826.1.20.134.1.29.28831|4x|6b657074207468656972206275742064726976696e67206f78656e +1.3.6.1.4.1.9.9.826.1.20.134.1.29.28890|4x|6f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.134.1.29.52275|4x|6b6570742064726976696e67204a6164656420666f7277617264206f78656e204a616465642062757420666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.134.1.30.11349|2|3 +1.3.6.1.4.1.9.9.826.1.20.134.1.30.28831|2|9 +1.3.6.1.4.1.9.9.826.1.20.134.1.30.28890|2|1 +1.3.6.1.4.1.9.9.826.1.20.134.1.30.52275|2|0 +1.3.6.1.4.1.9.9.826.1.20.134.1.31.11349|2|0 +1.3.6.1.4.1.9.9.826.1.20.134.1.31.28831|2|4 +1.3.6.1.4.1.9.9.826.1.20.134.1.31.28890|2|1 +1.3.6.1.4.1.9.9.826.1.20.134.1.31.52275|2|1 +1.3.6.1.4.1.9.9.826.1.20.134.1.32.11349|2|0 +1.3.6.1.4.1.9.9.826.1.20.134.1.32.28831|2|1 +1.3.6.1.4.1.9.9.826.1.20.134.1.32.28890|2|1 +1.3.6.1.4.1.9.9.826.1.20.134.1.32.52275|2|2 +1.3.6.1.4.1.9.9.826.1.20.134.1.33.11349|4x|4a616465642074686569722064726976696e67207468656972207468656972207a6f6d62696573206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.134.1.33.28831|4x|627574206f78656e20666f72776172642062757420627574 +1.3.6.1.4.1.9.9.826.1.20.134.1.33.28890|4x|62757420746865697220627574 +1.3.6.1.4.1.9.9.826.1.20.134.1.33.52275|4x|4a6164656420666f727761726420717561696e746c79206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.134.1.34.11349|2|3 +1.3.6.1.4.1.9.9.826.1.20.134.1.34.28831|2|3 +1.3.6.1.4.1.9.9.826.1.20.134.1.34.28890|2|2 +1.3.6.1.4.1.9.9.826.1.20.134.1.34.52275|2|7 +1.3.6.1.4.1.9.9.826.1.20.134.1.35.11349|2|3 +1.3.6.1.4.1.9.9.826.1.20.134.1.35.28831|2|2 +1.3.6.1.4.1.9.9.826.1.20.134.1.35.28890|2|6 +1.3.6.1.4.1.9.9.826.1.20.134.1.35.52275|2|6 +1.3.6.1.4.1.9.9.826.1.20.134.1.36.11349|2|21 +1.3.6.1.4.1.9.9.826.1.20.134.1.36.28831|2|13 +1.3.6.1.4.1.9.9.826.1.20.134.1.36.28890|2|22 +1.3.6.1.4.1.9.9.826.1.20.134.1.36.52275|2|20 +1.3.6.1.4.1.9.9.826.1.20.134.1.37.11349|2|4 +1.3.6.1.4.1.9.9.826.1.20.134.1.37.28831|2|2 +1.3.6.1.4.1.9.9.826.1.20.134.1.37.28890|2|1 +1.3.6.1.4.1.9.9.826.1.20.134.1.37.52275|2|6 +1.3.6.1.4.1.9.9.826.1.20.134.1.38.11349|4x|627574206163746564207a6f6d6269657320717561696e746c79204a61646564204a61646564204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.134.1.38.28831|4x|627574206b657074206163746564 +1.3.6.1.4.1.9.9.826.1.20.134.1.38.28890|4x|746865697220616374656420627574206f78656e206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.134.1.38.52275|4x|717561696e746c79207a6f6d62696573206f78656e207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.134.1.39.11349|4x|6f78656e207a6f6d62696573206b657074204a61646564207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.134.1.39.28831|4|driving +1.3.6.1.4.1.9.9.826.1.20.134.1.39.28890|4x|746865697220666f7277617264207468656972206f78656e2064726976696e67206163746564204a61646564207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.134.1.39.52275|4x|6b657074207468656972207a6f6d62696573207a6f6d6269657320717561696e746c79206163746564206163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.134.1.40.11349|2|0 +1.3.6.1.4.1.9.9.826.1.20.134.1.40.28831|2|1 +1.3.6.1.4.1.9.9.826.1.20.134.1.40.28890|2|1 +1.3.6.1.4.1.9.9.826.1.20.134.1.40.52275|2|1 +1.3.6.1.4.1.9.9.826.1.20.134.1.41.11349|2|0 +1.3.6.1.4.1.9.9.826.1.20.134.1.41.28831|2|0 +1.3.6.1.4.1.9.9.826.1.20.134.1.41.28890|2|1 +1.3.6.1.4.1.9.9.826.1.20.134.1.41.52275|2|1 +1.3.6.1.4.1.9.9.826.1.20.134.1.42.11349|2|4 +1.3.6.1.4.1.9.9.826.1.20.134.1.42.28831|2|1 +1.3.6.1.4.1.9.9.826.1.20.134.1.42.28890|2|5 +1.3.6.1.4.1.9.9.826.1.20.134.1.42.52275|2|1 +1.3.6.1.4.1.9.9.826.1.20.134.1.43.11349|4x|666f7277617264207468656972207468656972207468656972206163746564204a61646564207a6f6d6269657320666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.134.1.43.28831|4x|4a61646564207468656972 +1.3.6.1.4.1.9.9.826.1.20.134.1.43.28890|4x|64726976696e67206b657074207468656972206275742061637465642061637465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.134.1.43.52275|4x|6f78656e206b657074207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.134.1.44.11349|4x|7a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.134.1.44.28831|4x|62757420616374656420616374656420717561696e746c79204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.134.1.44.28890|4x|6275742064726976696e6720627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.134.1.44.52275|4x|4a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.134.1.45.11349|4x|746865697220666f727761726420627574207a6f6d6269657320746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.134.1.45.28831|4x|61637465642064726976696e672064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.134.1.45.28890|4x|7468656972207a6f6d62696573206f78656e206b657074207a6f6d6269657320666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.134.1.45.52275|4x|6f78656e2064726976696e67204a616465642064726976696e672062757420627574 +1.3.6.1.4.1.9.9.826.1.20.134.1.46.11349|2|3 +1.3.6.1.4.1.9.9.826.1.20.134.1.46.28831|2|1 +1.3.6.1.4.1.9.9.826.1.20.134.1.46.28890|2|1 +1.3.6.1.4.1.9.9.826.1.20.134.1.46.52275|2|4 +1.3.6.1.4.1.9.9.826.1.20.135.1.1.18030|66|18030 +1.3.6.1.4.1.9.9.826.1.20.135.1.1.38516|66|38516 +1.3.6.1.4.1.9.9.826.1.20.135.1.1.52380|66|52380 +1.3.6.1.4.1.9.9.826.1.20.135.1.1.57777|66|57777 +1.3.6.1.4.1.9.9.826.1.20.135.1.2.18030|4x|64726976696e6720717561696e746c79207a6f6d6269657320717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.135.1.2.38516|4x|64726976696e6720666f7277617264207468656972207468656972206163746564206163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.135.1.2.52380|4x|64726976696e6720666f727761726420627574 +1.3.6.1.4.1.9.9.826.1.20.135.1.2.57777|4x|4a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.135.1.3.18030|4x|616374656420666f7277617264207a6f6d62696573206163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.135.1.3.38516|4x|6f78656e204a61646564207a6f6d62696573207a6f6d626965732062757420627574207468656972204a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.135.1.3.52380|4x|4a6164656420666f727761726420717561696e746c79206b65707420627574206f78656e20666f727761726420666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.135.1.3.57777|4x|6f78656e20717561696e746c79204a6164656420627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.135.1.4.18030|2|1 +1.3.6.1.4.1.9.9.826.1.20.135.1.4.38516|2|1 +1.3.6.1.4.1.9.9.826.1.20.135.1.4.52380|2|1 +1.3.6.1.4.1.9.9.826.1.20.135.1.4.57777|2|2 +1.3.6.1.4.1.9.9.826.1.20.135.1.5.18030|2|1 +1.3.6.1.4.1.9.9.826.1.20.135.1.5.38516|2|1 +1.3.6.1.4.1.9.9.826.1.20.135.1.5.52380|2|1 +1.3.6.1.4.1.9.9.826.1.20.135.1.5.57777|2|2 +1.3.6.1.4.1.9.9.826.1.20.135.1.6.18030|66|1720314120 +1.3.6.1.4.1.9.9.826.1.20.135.1.6.38516|66|332862527 +1.3.6.1.4.1.9.9.826.1.20.135.1.6.52380|66|1226861844 +1.3.6.1.4.1.9.9.826.1.20.135.1.6.57777|66|1913402537 +1.3.6.1.4.1.9.9.826.1.20.135.1.7.18030|66|2446412852 +1.3.6.1.4.1.9.9.826.1.20.135.1.7.38516|66|453995260 +1.3.6.1.4.1.9.9.826.1.20.135.1.7.52380|66|3356297653 +1.3.6.1.4.1.9.9.826.1.20.135.1.7.57777|66|766412197 +1.3.6.1.4.1.9.9.826.1.20.135.1.8.18030|66|2638858290 +1.3.6.1.4.1.9.9.826.1.20.135.1.8.38516|66|4118094746 +1.3.6.1.4.1.9.9.826.1.20.135.1.8.52380|66|55784839 +1.3.6.1.4.1.9.9.826.1.20.135.1.8.57777|66|3196726392 +1.3.6.1.4.1.9.9.826.1.20.135.1.9.18030|66|4118030900 +1.3.6.1.4.1.9.9.826.1.20.135.1.9.38516|66|63856813 +1.3.6.1.4.1.9.9.826.1.20.135.1.9.52380|66|2278374009 +1.3.6.1.4.1.9.9.826.1.20.135.1.9.57777|66|1200571191 +1.3.6.1.4.1.9.9.826.1.20.135.1.10.18030|66|4144848147 +1.3.6.1.4.1.9.9.826.1.20.135.1.10.38516|66|2055427652 +1.3.6.1.4.1.9.9.826.1.20.135.1.10.52380|66|4015066170 +1.3.6.1.4.1.9.9.826.1.20.135.1.10.57777|66|1796563123 +1.3.6.1.4.1.9.9.826.1.20.135.1.11.18030|4x|7a6f6d6269657320666f7277617264204a61646564207468656972207a6f6d626965732062757420666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.135.1.11.38516|4x|666f72776172642064726976696e67206275742064726976696e67206b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.135.1.11.52380|4|kept +1.3.6.1.4.1.9.9.826.1.20.135.1.11.57777|4|driving +1.3.6.1.4.1.9.9.826.1.20.135.1.12.18030|4x|717561696e746c792064726976696e672064726976696e67204a61646564206275742064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.135.1.12.38516|4x|6b657074206f78656e207468656972206163746564207468656972 +1.3.6.1.4.1.9.9.826.1.20.135.1.12.52380|4x|62757420616374656420616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.135.1.12.57777|4x|7a6f6d62696573207a6f6d62696573207a6f6d62696573207a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.135.1.13.18030|66|2167101963 +1.3.6.1.4.1.9.9.826.1.20.135.1.13.38516|66|2086819097 +1.3.6.1.4.1.9.9.826.1.20.135.1.13.52380|66|1200270627 +1.3.6.1.4.1.9.9.826.1.20.135.1.13.57777|66|2824499391 +1.3.6.1.4.1.9.9.826.1.20.135.1.14.18030|4|but +1.3.6.1.4.1.9.9.826.1.20.135.1.14.38516|4x|666f7277617264207a6f6d62696573206f78656e20666f7277617264204a61646564207a6f6d62696573207a6f6d62696573207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.135.1.14.52380|4x|717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.135.1.14.57777|4x|6b65707420616374656420746865697220666f7277617264207468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.135.1.15.18030|4x|62757420666f7277617264206f78656e206f78656e207468656972206f78656e +1.3.6.1.4.1.9.9.826.1.20.135.1.15.38516|4x|616374656420717561696e746c792064726976696e67207468656972207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.135.1.15.52380|4x|6163746564206f78656e204a6164656420627574 +1.3.6.1.4.1.9.9.826.1.20.135.1.15.57777|4x|7468656972207a6f6d62696573204a6164656420666f72776172642064726976696e6720666f727761726420666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.136.1.1.5421|66|5421 +1.3.6.1.4.1.9.9.826.1.20.136.1.1.5897|66|5897 +1.3.6.1.4.1.9.9.826.1.20.136.1.1.21411|66|21411 +1.3.6.1.4.1.9.9.826.1.20.136.1.1.44930|66|44930 +1.3.6.1.4.1.9.9.826.1.20.136.1.2.5421|4x|717561696e746c79204a616465642064726976696e6720666f7277617264204a6164656420666f7277617264206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.136.1.2.5897|4x|64726976696e672061637465642061637465642064726976696e67206f78656e +1.3.6.1.4.1.9.9.826.1.20.136.1.2.21411|4x|7a6f6d626965732064726976696e6720717561696e746c7920666f7277617264206f78656e206163746564206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.136.1.2.44930|4x|64726976696e6720616374656420627574206b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.136.1.3.5421|4x|7a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.136.1.3.5897|4x|7468656972206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.136.1.3.21411|4x|627574207a6f6d6269657320666f7277617264207468656972204a61646564 +1.3.6.1.4.1.9.9.826.1.20.136.1.3.44930|4x|6163746564206b657074207a6f6d62696573207a6f6d62696573207a6f6d62696573206b657074206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.136.1.4.5421|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.136.1.4.5897|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.136.1.4.21411|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.136.1.4.44930|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.136.1.5.5421|2|0 +1.3.6.1.4.1.9.9.826.1.20.136.1.5.5897|2|0 +1.3.6.1.4.1.9.9.826.1.20.136.1.5.21411|2|0 +1.3.6.1.4.1.9.9.826.1.20.136.1.5.44930|2|0 +1.3.6.1.4.1.9.9.826.1.20.136.1.6.5421|4x|666f72776172642064726976696e6720666f72776172642074686569722064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.136.1.6.5897|4x|74686569722061637465642064726976696e67206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.136.1.6.21411|4x|666f72776172642074686569722064726976696e67206f78656e20717561696e746c792064726976696e67207468656972206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.136.1.6.44930|4x|666f727761726420717561696e746c79207a6f6d62696573207468656972207a6f6d62696573206f78656e20627574 +1.3.6.1.4.1.9.9.826.1.20.136.1.7.5421|2|1 +1.3.6.1.4.1.9.9.826.1.20.136.1.7.5897|2|2 +1.3.6.1.4.1.9.9.826.1.20.136.1.7.21411|2|4 +1.3.6.1.4.1.9.9.826.1.20.136.1.7.44930|2|4 +1.3.6.1.4.1.9.9.826.1.20.136.1.8.5421|66|3532521449 +1.3.6.1.4.1.9.9.826.1.20.136.1.8.5897|66|1425703421 +1.3.6.1.4.1.9.9.826.1.20.136.1.8.21411|66|2183905841 +1.3.6.1.4.1.9.9.826.1.20.136.1.8.44930|66|698994336 +1.3.6.1.4.1.9.9.826.1.20.136.1.9.5421|66|1952494645 +1.3.6.1.4.1.9.9.826.1.20.136.1.9.5897|66|2684281084 +1.3.6.1.4.1.9.9.826.1.20.136.1.9.21411|66|1370271153 +1.3.6.1.4.1.9.9.826.1.20.136.1.9.44930|66|3859612974 +1.3.6.1.4.1.9.9.826.1.20.136.1.10.5421|4x|7a6f6d6269657320666f72776172642064726976696e67207a6f6d62696573207468656972206f78656e206163746564207468656972204a61646564 +1.3.6.1.4.1.9.9.826.1.20.136.1.10.5897|4x|717561696e746c79206f78656e20746865697220717561696e746c792064726976696e672064726976696e67206b6570742064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.136.1.10.21411|4x|7468656972206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.136.1.10.44930|4x|666f7277617264207a6f6d62696573207468656972204a61646564 +1.3.6.1.4.1.9.9.826.1.20.136.1.11.5421|4x|64726976696e67206f78656e204a61646564206b657074206163746564 +1.3.6.1.4.1.9.9.826.1.20.136.1.11.5897|4x|4a61646564206f78656e206163746564206b657074206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.136.1.11.21411|4x|6f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.136.1.11.44930|4x|64726976696e67204a61646564206f78656e207468656972204a61646564206275742064726976696e6720627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.137.1.1.1717|66|1717 +1.3.6.1.4.1.9.9.826.1.20.137.1.1.11804|66|11804 +1.3.6.1.4.1.9.9.826.1.20.137.1.1.39323|66|39323 +1.3.6.1.4.1.9.9.826.1.20.137.1.1.49859|66|49859 +1.3.6.1.4.1.9.9.826.1.20.137.1.2.1717|4x|4a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.137.1.2.11804|4x|6163746564207468656972206f78656e207a6f6d62696573206b657074206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.137.1.2.39323|4x|666f7277617264206b6570742062757420666f7277617264204a61646564207a6f6d6269657320666f7277617264206f78656e207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.137.1.2.49859|4|kept +1.3.6.1.4.1.9.9.826.1.20.137.1.3.1717|4x|4a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.137.1.3.11804|4x|627574207468656972207a6f6d62696573204a61646564 +1.3.6.1.4.1.9.9.826.1.20.137.1.3.39323|4x|4a61646564206f78656e204a61646564204a6164656420666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.137.1.3.49859|4x|6275742064726976696e672062757420627574 +1.3.6.1.4.1.9.9.826.1.20.137.1.4.1717|4x|7a6f6d62696573206163746564204a61646564206b65707420627574206163746564206163746564207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.137.1.4.11804|4x|7a6f6d62696573204a616465642064726976696e6720627574204a61646564206f78656e206b657074204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.137.1.4.39323|4|oxen +1.3.6.1.4.1.9.9.826.1.20.137.1.4.49859|4x|64726976696e67206f78656e20666f727761726420746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.137.1.5.1717|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.137.1.5.11804|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.137.1.5.39323|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.137.1.5.49859|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.137.1.6.1717|2|0 +1.3.6.1.4.1.9.9.826.1.20.137.1.6.11804|2|0 +1.3.6.1.4.1.9.9.826.1.20.137.1.6.39323|2|0 +1.3.6.1.4.1.9.9.826.1.20.137.1.6.49859|2|0 +1.3.6.1.4.1.9.9.826.1.20.137.1.7.1717|66|1120088701 +1.3.6.1.4.1.9.9.826.1.20.137.1.7.11804|66|3500191097 +1.3.6.1.4.1.9.9.826.1.20.137.1.7.39323|66|576641588 +1.3.6.1.4.1.9.9.826.1.20.137.1.7.49859|66|488895413 +1.3.6.1.4.1.9.9.826.1.20.137.1.8.1717|66|3592492408 +1.3.6.1.4.1.9.9.826.1.20.137.1.8.11804|66|319755672 +1.3.6.1.4.1.9.9.826.1.20.137.1.8.39323|66|3270790375 +1.3.6.1.4.1.9.9.826.1.20.137.1.8.49859|66|4022634355 +1.3.6.1.4.1.9.9.826.1.20.137.1.9.1717|2|1 +1.3.6.1.4.1.9.9.826.1.20.137.1.9.11804|2|1 +1.3.6.1.4.1.9.9.826.1.20.137.1.9.39323|2|4 +1.3.6.1.4.1.9.9.826.1.20.137.1.9.49859|2|1 +1.3.6.1.4.1.9.9.826.1.20.138.1.1.1370|66|1370 +1.3.6.1.4.1.9.9.826.1.20.138.1.1.20615|66|20615 +1.3.6.1.4.1.9.9.826.1.20.138.1.1.25374|66|25374 +1.3.6.1.4.1.9.9.826.1.20.138.1.1.49497|66|49497 +1.3.6.1.4.1.9.9.826.1.20.138.1.2.1370|4x|6f78656e206b657074206163746564 +1.3.6.1.4.1.9.9.826.1.20.138.1.2.20615|4x|64726976696e67204a61646564207a6f6d62696573206b657074206b657074206b657074206b657074206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.138.1.2.25374|4x|6163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.138.1.2.49497|4x|7468656972206163746564207a6f6d6269657320666f7277617264206f78656e20666f727761726420717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.138.1.3.1370|4x|64726976696e67207468656972206f78656e20666f727761726420627574207468656972204a61646564 +1.3.6.1.4.1.9.9.826.1.20.138.1.3.20615|4x|746865697220627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.138.1.3.25374|4x|6b65707420616374656420717561696e746c79206f78656e2064726976696e67206f78656e20717561696e746c792064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.138.1.3.49497|4x|6b657074204a6164656420717561696e746c7920717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.138.1.4.1370|4x|6275742062757420666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.138.1.4.20615|4x|627574207a6f6d62696573207a6f6d62696573207468656972206163746564207468656972 +1.3.6.1.4.1.9.9.826.1.20.138.1.4.25374|4x|666f7277617264207468656972204a61646564206275742064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.138.1.4.49497|4x|6b6570742064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.138.1.5.1370|4x|6b65707420717561696e746c7920717561696e746c792061637465642064726976696e6720627574206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.138.1.5.20615|4x|746865697220717561696e746c79206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.138.1.5.25374|4|oxen +1.3.6.1.4.1.9.9.826.1.20.138.1.5.49497|4x|6b657074204a61646564207468656972207a6f6d62696573206275742064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.138.1.6.1370|4|oxen +1.3.6.1.4.1.9.9.826.1.20.138.1.6.20615|4x|746865697220627574206163746564204a6164656420666f7277617264206f78656e206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.138.1.6.25374|4x|4a61646564207468656972207a6f6d62696573207a6f6d62696573207468656972206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.138.1.6.49497|4x|4a6164656420746865697220717561696e746c79207a6f6d62696573204a61646564206b657074206f78656e207a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.138.1.7.1370|66|1912012067 +1.3.6.1.4.1.9.9.826.1.20.138.1.7.20615|66|1983457257 +1.3.6.1.4.1.9.9.826.1.20.138.1.7.25374|66|3457601796 +1.3.6.1.4.1.9.9.826.1.20.138.1.7.49497|66|231494698 +1.3.6.1.4.1.9.9.826.1.20.138.1.8.1370|2|2 +1.3.6.1.4.1.9.9.826.1.20.138.1.8.20615|2|2 +1.3.6.1.4.1.9.9.826.1.20.138.1.8.25374|2|1 +1.3.6.1.4.1.9.9.826.1.20.138.1.8.49497|2|0 +1.3.6.1.4.1.9.9.826.1.20.138.1.9.1370|4x|62757420717561696e746c792064726976696e672062757420746865697220666f7277617264206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.138.1.9.20615|4x|64726976696e6720717561696e746c79207468656972207a6f6d6269657320717561696e746c79207a6f6d62696573206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.138.1.9.25374|4x|717561696e746c792064726976696e672064726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.138.1.9.49497|4x|6f78656e206b657074206b657074206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.139.1.1.8199|66|8199 +1.3.6.1.4.1.9.9.826.1.20.139.1.1.10009|66|10009 +1.3.6.1.4.1.9.9.826.1.20.139.1.1.16346|66|16346 +1.3.6.1.4.1.9.9.826.1.20.139.1.1.30730|66|30730 +1.3.6.1.4.1.9.9.826.1.20.139.1.2.8199|4x|6b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.139.1.2.10009|4x|6163746564204a6164656420666f7277617264207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.139.1.2.16346|4x|7a6f6d6269657320616374656420666f727761726420717561696e746c7920746865697220616374656420717561696e746c7920717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.139.1.2.30730|4x|666f727761726420627574204a6164656420717561696e746c79207a6f6d62696573204a61646564204a61646564204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.20.139.1.3.8199|4x|7468656972206b65707420746865697220666f727761726420717561696e746c79204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.139.1.3.10009|4x|7a6f6d62696573207a6f6d62696573206f78656e206275742064726976696e67207a6f6d6269657320627574204a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.139.1.3.16346|4x|6f78656e2062757420717561696e746c7920746865697220627574206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.139.1.3.30730|4x|7a6f6d62696573206f78656e20627574206f78656e2064726976696e67206f78656e206b657074206b657074 +1.3.6.1.4.1.9.9.826.1.20.139.1.4.8199|2|1 +1.3.6.1.4.1.9.9.826.1.20.139.1.4.10009|2|0 +1.3.6.1.4.1.9.9.826.1.20.139.1.4.16346|2|0 +1.3.6.1.4.1.9.9.826.1.20.139.1.4.30730|2|2 +1.3.6.1.4.1.9.9.826.1.20.139.1.5.8199|2|0 +1.3.6.1.4.1.9.9.826.1.20.139.1.5.10009|2|1 +1.3.6.1.4.1.9.9.826.1.20.139.1.5.16346|2|1 +1.3.6.1.4.1.9.9.826.1.20.139.1.5.30730|2|1 +1.3.6.1.4.1.9.9.826.1.20.139.1.6.8199|66|364011545 +1.3.6.1.4.1.9.9.826.1.20.139.1.6.10009|66|195665918 +1.3.6.1.4.1.9.9.826.1.20.139.1.6.16346|66|969104549 +1.3.6.1.4.1.9.9.826.1.20.139.1.6.30730|66|4022013559 +1.3.6.1.4.1.9.9.826.1.20.139.1.7.8199|4x|6b65707420666f727761726420616374656420746865697220627574207a6f6d62696573207468656972206f78656e +1.3.6.1.4.1.9.9.826.1.20.139.1.7.10009|4x|717561696e746c79204a6164656420717561696e746c79207a6f6d62696573206f78656e2061637465642064726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.139.1.7.16346|4x|4a6164656420746865697220666f7277617264204a6164656420627574207468656972207a6f6d626965732074686569722064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.139.1.7.30730|4x|7a6f6d6269657320616374656420666f727761726420666f7277617264207468656972204a61646564 +1.3.6.1.4.1.9.9.826.1.20.139.1.8.8199|2|0 +1.3.6.1.4.1.9.9.826.1.20.139.1.8.10009|2|2 +1.3.6.1.4.1.9.9.826.1.20.139.1.8.16346|2|2 +1.3.6.1.4.1.9.9.826.1.20.139.1.8.30730|2|0 +1.3.6.1.4.1.9.9.826.1.20.139.1.9.8199|2|2 +1.3.6.1.4.1.9.9.826.1.20.139.1.9.10009|2|1 +1.3.6.1.4.1.9.9.826.1.20.139.1.9.16346|2|2 +1.3.6.1.4.1.9.9.826.1.20.139.1.9.30730|2|2 +1.3.6.1.4.1.9.9.826.1.20.139.1.10.8199|2|14 +1.3.6.1.4.1.9.9.826.1.20.139.1.10.10009|2|10 +1.3.6.1.4.1.9.9.826.1.20.139.1.10.16346|2|20 +1.3.6.1.4.1.9.9.826.1.20.139.1.10.30730|2|16 +1.3.6.1.4.1.9.9.826.1.20.139.1.11.8199|4x|7a6f6d62696573207468656972207468656972207a6f6d62696573206f78656e206f78656e2064726976696e6720717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.139.1.11.10009|4|but +1.3.6.1.4.1.9.9.826.1.20.139.1.11.16346|4x|6163746564207a6f6d62696573204a61646564 +1.3.6.1.4.1.9.9.826.1.20.139.1.11.30730|4x|64726976696e6720717561696e746c79206163746564207a6f6d626965732074686569722062757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.139.1.12.8199|4x|717561696e746c792062757420666f727761726420717561696e746c79204a6164656420666f7277617264204a61646564206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.139.1.12.10009|4x|7a6f6d62696573206b657074204a61646564207468656972207a6f6d626965732064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.139.1.12.16346|4x|7468656972206275742062757420627574204a61646564206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.139.1.12.30730|4x|64726976696e6720717561696e746c7920717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.139.1.13.8199|66|1768627998 +1.3.6.1.4.1.9.9.826.1.20.139.1.13.10009|66|704033101 +1.3.6.1.4.1.9.9.826.1.20.139.1.13.16346|66|860105962 +1.3.6.1.4.1.9.9.826.1.20.139.1.13.30730|66|4165450435 +1.3.6.1.4.1.9.9.826.1.20.139.1.14.8199|2|0 +1.3.6.1.4.1.9.9.826.1.20.139.1.14.10009|2|1 +1.3.6.1.4.1.9.9.826.1.20.139.1.14.16346|2|2 +1.3.6.1.4.1.9.9.826.1.20.139.1.14.30730|2|2 +1.3.6.1.4.1.9.9.826.1.20.139.1.15.8199|4x|64726976696e6720666f7277617264206f78656e2062757420717561696e746c7920627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.139.1.15.10009|4x|746865697220717561696e746c792064726976696e67204a61646564206b65707420717561696e746c79207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.139.1.15.16346|4|kept +1.3.6.1.4.1.9.9.826.1.20.139.1.15.30730|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.140.1.1.1813|66|1813 +1.3.6.1.4.1.9.9.826.1.20.140.1.1.5783|66|5783 +1.3.6.1.4.1.9.9.826.1.20.140.1.1.10844|66|10844 +1.3.6.1.4.1.9.9.826.1.20.140.1.1.34610|66|34610 +1.3.6.1.4.1.9.9.826.1.20.140.1.2.1813|4x|62757420717561696e746c7920627574206163746564207a6f6d62696573207a6f6d6269657320666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.140.1.2.5783|4x|7a6f6d62696573206163746564206b65707420746865697220666f7277617264206275742064726976696e6720666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.140.1.2.10844|4x|717561696e746c79206b6570742064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.140.1.2.34610|4x|6b657074204a61646564204a61646564207a6f6d62696573206b657074 +1.3.6.1.4.1.9.9.826.1.20.140.1.3.1813|4x|7a6f6d6269657320746865697220717561696e746c79206275742062757420746865697220616374656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.140.1.3.5783|4x|62757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.140.1.3.10844|4x|64726976696e67204a6164656420717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.140.1.3.34610|4x|717561696e746c79204a616465642064726976696e6720717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.140.1.4.1813|2|1 +1.3.6.1.4.1.9.9.826.1.20.140.1.4.5783|2|2 +1.3.6.1.4.1.9.9.826.1.20.140.1.4.10844|2|2 +1.3.6.1.4.1.9.9.826.1.20.140.1.4.34610|2|2 +1.3.6.1.4.1.9.9.826.1.20.140.1.5.1813|2|1 +1.3.6.1.4.1.9.9.826.1.20.140.1.5.5783|2|1 +1.3.6.1.4.1.9.9.826.1.20.140.1.5.10844|2|1 +1.3.6.1.4.1.9.9.826.1.20.140.1.5.34610|2|2 +1.3.6.1.4.1.9.9.826.1.20.140.1.6.1813|66|3329807417 +1.3.6.1.4.1.9.9.826.1.20.140.1.6.5783|66|584137042 +1.3.6.1.4.1.9.9.826.1.20.140.1.6.10844|66|3893145541 +1.3.6.1.4.1.9.9.826.1.20.140.1.6.34610|66|761500104 +1.3.6.1.4.1.9.9.826.1.20.140.1.7.1813|66|2457997915 +1.3.6.1.4.1.9.9.826.1.20.140.1.7.5783|66|3344494309 +1.3.6.1.4.1.9.9.826.1.20.140.1.7.10844|66|1534585774 +1.3.6.1.4.1.9.9.826.1.20.140.1.7.34610|66|2417224159 +1.3.6.1.4.1.9.9.826.1.20.140.1.8.1813|66|966996147 +1.3.6.1.4.1.9.9.826.1.20.140.1.8.5783|66|4224231329 +1.3.6.1.4.1.9.9.826.1.20.140.1.8.10844|66|2733706217 +1.3.6.1.4.1.9.9.826.1.20.140.1.8.34610|66|2463296748 +1.3.6.1.4.1.9.9.826.1.20.140.1.9.1813|66|2722978271 +1.3.6.1.4.1.9.9.826.1.20.140.1.9.5783|66|428015502 +1.3.6.1.4.1.9.9.826.1.20.140.1.9.10844|66|4152451188 +1.3.6.1.4.1.9.9.826.1.20.140.1.9.34610|66|512538793 +1.3.6.1.4.1.9.9.826.1.20.140.1.10.1813|66|1159609837 +1.3.6.1.4.1.9.9.826.1.20.140.1.10.5783|66|1631722315 +1.3.6.1.4.1.9.9.826.1.20.140.1.10.10844|66|895753275 +1.3.6.1.4.1.9.9.826.1.20.140.1.10.34610|66|661348393 +1.3.6.1.4.1.9.9.826.1.20.140.1.11.1813|4x|74686569722064726976696e67204a61646564206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.140.1.11.5783|4x|4a61646564206f78656e207a6f6d62696573204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.140.1.11.10844|4x|7a6f6d6269657320627574206b657074206f78656e206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.140.1.11.34610|4x|666f7277617264206f78656e +1.3.6.1.4.1.9.9.826.1.20.140.1.12.1813|4x|746865697220666f7277617264206f78656e20717561696e746c79206f78656e20666f7277617264207a6f6d62696573206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.140.1.12.5783|4x|666f7277617264206f78656e20717561696e746c79207a6f6d62696573207a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.140.1.12.10844|4x|6f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.140.1.12.34610|4x|6f78656e207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.140.1.13.1813|66|3973278351 +1.3.6.1.4.1.9.9.826.1.20.140.1.13.5783|66|819985845 +1.3.6.1.4.1.9.9.826.1.20.140.1.13.10844|66|2330944940 +1.3.6.1.4.1.9.9.826.1.20.140.1.13.34610|66|1156602252 +1.3.6.1.4.1.9.9.826.1.20.140.1.14.1813|4x|746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.140.1.14.5783|4x|6f78656e2061637465642074686569722064726976696e67206275742061637465642064726976696e6720666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.140.1.14.10844|4x|64726976696e6720717561696e746c7920627574206f78656e207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.140.1.14.34610|4|forward +1.3.6.1.4.1.9.9.826.1.20.140.1.15.1813|4x|666f727761726420666f7277617264206b657074207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.140.1.15.5783|4x|4a61646564206f78656e20717561696e746c7920717561696e746c79207468656972204a61646564 +1.3.6.1.4.1.9.9.826.1.20.140.1.15.10844|4x|6b657074206b657074207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.140.1.15.34610|4x|6b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.141.1.1.31344|66|31344 +1.3.6.1.4.1.9.9.826.1.20.141.1.1.42900|66|42900 +1.3.6.1.4.1.9.9.826.1.20.141.1.1.44268|66|44268 +1.3.6.1.4.1.9.9.826.1.20.141.1.1.50626|66|50626 +1.3.6.1.4.1.9.9.826.1.20.141.1.2.31344|4x|7468656972206b657074206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.141.1.2.42900|4x|6b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.141.1.2.44268|4x|74686569722064726976696e672064726976696e672062757420717561696e746c7920666f7277617264206f78656e206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.141.1.2.50626|4x|666f727761726420627574206b657074206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.141.1.3.31344|4x|717561696e746c792064726976696e6720746865697220746865697220666f72776172642064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.141.1.3.42900|4x|6f78656e206f78656e20627574207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.141.1.3.44268|4x|666f72776172642062757420717561696e746c79206163746564207468656972207468656972206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.141.1.3.50626|4x|746865697220627574206b65707420627574207468656972204a6164656420616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.141.1.4.31344|4x|7468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.141.1.4.42900|4x|6163746564206f78656e20627574207a6f6d6269657320666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.141.1.4.44268|4x|64726976696e6720666f727761726420627574206b657074206275742061637465642074686569722064726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.141.1.4.50626|4x|6b65707420666f7277617264206b65707420717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.141.1.5.31344|66|4017551710 +1.3.6.1.4.1.9.9.826.1.20.141.1.5.42900|66|3521838926 +1.3.6.1.4.1.9.9.826.1.20.141.1.5.44268|66|2714848076 +1.3.6.1.4.1.9.9.826.1.20.141.1.5.50626|66|1957725199 +1.3.6.1.4.1.9.9.826.1.20.141.1.6.31344|4x|7468656972206163746564206b657074207a6f6d626965732064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.141.1.6.42900|4|kept +1.3.6.1.4.1.9.9.826.1.20.141.1.6.44268|4|forward +1.3.6.1.4.1.9.9.826.1.20.141.1.6.50626|4x|62757420616374656420666f7277617264206f78656e20717561696e746c792061637465642064726976696e6720627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.141.1.7.31344|4x|6b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.141.1.7.42900|4x|7a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.141.1.7.44268|4x|4a61646564206b657074207468656972207a6f6d62696573206b657074 +1.3.6.1.4.1.9.9.826.1.20.141.1.7.50626|4x|7a6f6d6269657320627574206f78656e2064726976696e672064726976696e6720666f727761726420717561696e746c792064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.141.1.8.31344|66|2812575584 +1.3.6.1.4.1.9.9.826.1.20.141.1.8.42900|66|3776947995 +1.3.6.1.4.1.9.9.826.1.20.141.1.8.44268|66|2323381642 +1.3.6.1.4.1.9.9.826.1.20.141.1.8.50626|66|1262356580 +1.3.6.1.4.1.9.9.826.1.20.141.1.9.31344|2|1 +1.3.6.1.4.1.9.9.826.1.20.141.1.9.42900|2|1 +1.3.6.1.4.1.9.9.826.1.20.141.1.9.44268|2|1 +1.3.6.1.4.1.9.9.826.1.20.141.1.9.50626|2|0 +1.3.6.1.4.1.9.9.826.1.20.141.1.10.31344|66|1371487053 +1.3.6.1.4.1.9.9.826.1.20.141.1.10.42900|66|2756724418 +1.3.6.1.4.1.9.9.826.1.20.141.1.10.44268|66|3050630236 +1.3.6.1.4.1.9.9.826.1.20.141.1.10.50626|66|3986520190 +1.3.6.1.4.1.9.9.826.1.20.141.1.11.31344|2|3 +1.3.6.1.4.1.9.9.826.1.20.141.1.11.42900|2|2 +1.3.6.1.4.1.9.9.826.1.20.141.1.11.44268|2|5 +1.3.6.1.4.1.9.9.826.1.20.141.1.11.50626|2|5 +1.3.6.1.4.1.9.9.826.1.20.142.1.1.6373|66|6373 +1.3.6.1.4.1.9.9.826.1.20.142.1.1.30857|66|30857 +1.3.6.1.4.1.9.9.826.1.20.142.1.1.50343|66|50343 +1.3.6.1.4.1.9.9.826.1.20.142.1.1.56467|66|56467 +1.3.6.1.4.1.9.9.826.1.20.142.1.2.6373|4x|616374656420666f727761726420717561696e746c79206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.142.1.2.30857|4x|64726976696e67206b6570742064726976696e672064726976696e67206163746564206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.142.1.2.50343|4x|7a6f6d6269657320717561696e746c7920717561696e746c7920666f72776172642064726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.142.1.2.56467|4x|717561696e746c792064726976696e6720627574206b65707420666f727761726420746865697220717561696e746c7920666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.142.1.3.6373|4x|6b657074207468656972204a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.142.1.3.30857|4x|7a6f6d62696573206b657074 +1.3.6.1.4.1.9.9.826.1.20.142.1.3.50343|4x|6163746564206b657074206f78656e20627574206f78656e20666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.142.1.3.56467|4x|64726976696e672062757420717561696e746c79206b6570742064726976696e67207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.142.1.4.6373|2|2 +1.3.6.1.4.1.9.9.826.1.20.142.1.4.30857|2|2 +1.3.6.1.4.1.9.9.826.1.20.142.1.4.50343|2|1 +1.3.6.1.4.1.9.9.826.1.20.142.1.4.56467|2|2 +1.3.6.1.4.1.9.9.826.1.20.143.1.1.7453|66|7453 +1.3.6.1.4.1.9.9.826.1.20.143.1.1.31657|66|31657 +1.3.6.1.4.1.9.9.826.1.20.143.1.1.34226|66|34226 +1.3.6.1.4.1.9.9.826.1.20.143.1.1.54651|66|54651 +1.3.6.1.4.1.9.9.826.1.20.143.1.2.7453|4x|6f78656e207468656972 +1.3.6.1.4.1.9.9.826.1.20.143.1.2.31657|4x|6b65707420627574204a6164656420717561696e746c7920746865697220616374656420666f7277617264204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.143.1.2.34226|4|driving +1.3.6.1.4.1.9.9.826.1.20.143.1.2.54651|4x|666f7277617264206f78656e207468656972204a61646564207468656972206b65707420616374656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.143.1.3.7453|4x|64726976696e672064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.143.1.3.31657|4x|717561696e746c7920717561696e746c79206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.143.1.3.34226|4x|64726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.143.1.3.54651|4|oxen +1.3.6.1.4.1.9.9.826.1.20.143.1.4.7453|4x|4a6164656420666f7277617264206b65707420666f727761726420666f7277617264207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.20.143.1.4.31657|4x|64726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.143.1.4.34226|4x|64726976696e672064726976696e6720717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.143.1.4.54651|4|kept +1.3.6.1.4.1.9.9.826.1.20.144.1.1.39821|66|39821 +1.3.6.1.4.1.9.9.826.1.20.144.1.1.48464|66|48464 +1.3.6.1.4.1.9.9.826.1.20.144.1.1.55154|66|55154 +1.3.6.1.4.1.9.9.826.1.20.144.1.1.65313|66|65313 +1.3.6.1.4.1.9.9.826.1.20.144.1.2.39821|4x|61637465642062757420666f7277617264206b65707420666f727761726420666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.144.1.2.48464|4x|4a61646564207468656972206b65707420616374656420746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.144.1.2.55154|4x|7a6f6d6269657320717561696e746c7920627574206b657074206f78656e206b657074206f78656e206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.144.1.2.65313|4x|7a6f6d62696573206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.144.1.3.39821|4|kept +1.3.6.1.4.1.9.9.826.1.20.144.1.3.48464|4x|6b6570742064726976696e67206f78656e204a616465642064726976696e67206f78656e204a61646564204a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.144.1.3.55154|4x|627574206f78656e206f78656e2064726976696e67206f78656e +1.3.6.1.4.1.9.9.826.1.20.144.1.3.65313|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.144.1.4.39821|66|1 +1.3.6.1.4.1.9.9.826.1.20.144.1.4.48464|66|1 +1.3.6.1.4.1.9.9.826.1.20.144.1.4.55154|66|1 +1.3.6.1.4.1.9.9.826.1.20.144.1.4.65313|66|1 +1.3.6.1.4.1.9.9.826.1.20.144.1.5.39821|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.144.1.5.48464|4x|717561696e746c7920717561696e746c79206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.144.1.5.55154|4x|6b6570742062757420717561696e746c79204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.144.1.5.65313|4|driving +1.3.6.1.4.1.9.9.826.1.20.144.1.6.39821|4x|6163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.144.1.6.48464|4x|6f78656e20627574206f78656e20717561696e746c79206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.144.1.6.55154|4x|64726976696e67206b65707420666f7277617264204a61646564204a616465642064726976696e67206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.144.1.6.65313|4x|4a61646564206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.144.1.7.39821|4x|7a6f6d62696573206163746564207a6f6d626965732062757420746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.144.1.7.48464|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.144.1.7.55154|4x|6f78656e20627574206b657074204a616465642064726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.144.1.7.65313|4x|4a616465642064726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.144.1.8.39821|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.144.1.8.48464|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.144.1.8.55154|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.144.1.8.65313|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.144.1.9.39821|2|18 +1.3.6.1.4.1.9.9.826.1.20.144.1.9.48464|2|26 +1.3.6.1.4.1.9.9.826.1.20.144.1.9.55154|2|24 +1.3.6.1.4.1.9.9.826.1.20.144.1.9.65313|2|7 +1.3.6.1.4.1.9.9.826.1.20.144.1.10.39821|4x|6f78656e20717561696e746c7920666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.144.1.10.48464|4x|61637465642062757420666f7277617264206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.144.1.10.55154|4x|7468656972207a6f6d62696573206b657074207a6f6d62696573204a6164656420627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.144.1.10.65313|4x|666f7277617264207a6f6d62696573206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.144.1.11.39821|2|1 +1.3.6.1.4.1.9.9.826.1.20.144.1.11.48464|2|1 +1.3.6.1.4.1.9.9.826.1.20.144.1.11.55154|2|1 +1.3.6.1.4.1.9.9.826.1.20.144.1.11.65313|2|1 +1.3.6.1.4.1.9.9.826.1.20.145.1.1.2099|66|2099 +1.3.6.1.4.1.9.9.826.1.20.145.1.1.20939|66|20939 +1.3.6.1.4.1.9.9.826.1.20.145.1.1.42088|66|42088 +1.3.6.1.4.1.9.9.826.1.20.145.1.1.46078|66|46078 +1.3.6.1.4.1.9.9.826.1.20.145.1.2.2099|4|zombies +1.3.6.1.4.1.9.9.826.1.20.145.1.2.20939|4x|627574206f78656e207a6f6d62696573206f78656e20616374656420717561696e746c79206b65707420666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.145.1.2.42088|4x|717561696e746c79207468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.145.1.2.46078|4x|627574207a6f6d6269657320666f727761726420666f72776172642062757420717561696e746c7920627574204a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.145.1.3.2099|4x|6b657074206163746564206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.145.1.3.20939|4x|717561696e746c79206b65707420666f727761726420666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.145.1.3.42088|4x|717561696e746c7920746865697220666f727761726420666f7277617264204a61646564204a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.145.1.3.46078|4|oxen +1.3.6.1.4.1.9.9.826.1.20.145.1.4.2099|66|1852730467 +1.3.6.1.4.1.9.9.826.1.20.145.1.4.20939|66|827874108 +1.3.6.1.4.1.9.9.826.1.20.145.1.4.42088|66|421399054 +1.3.6.1.4.1.9.9.826.1.20.145.1.4.46078|66|2718258412 +1.3.6.1.4.1.9.9.826.1.20.145.1.5.2099|66|1415834886 +1.3.6.1.4.1.9.9.826.1.20.145.1.5.20939|66|4209842988 +1.3.6.1.4.1.9.9.826.1.20.145.1.5.42088|66|924430998 +1.3.6.1.4.1.9.9.826.1.20.145.1.5.46078|66|650411373 +1.3.6.1.4.1.9.9.826.1.20.146.1.1.881|66|881 +1.3.6.1.4.1.9.9.826.1.20.146.1.1.3468|66|3468 +1.3.6.1.4.1.9.9.826.1.20.146.1.1.9029|66|9029 +1.3.6.1.4.1.9.9.826.1.20.146.1.1.14268|66|14268 +1.3.6.1.4.1.9.9.826.1.20.146.1.2.881|4x|7a6f6d62696573206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.146.1.2.3468|4x|7a6f6d62696573206b657074206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.146.1.2.9029|4x|746865697220717561696e746c792064726976696e6720666f727761726420717561696e746c79206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.146.1.2.14268|4x|6275742074686569722062757420717561696e746c7920666f7277617264206b657074207a6f6d6269657320717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.146.1.3.881|4x|666f7277617264206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.146.1.3.3468|4x|7a6f6d6269657320666f727761726420717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.146.1.3.9029|4x|666f727761726420666f72776172642074686569722064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.146.1.3.14268|4x|6f78656e206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.146.1.4.881|2|0 +1.3.6.1.4.1.9.9.826.1.20.146.1.4.3468|2|29 +1.3.6.1.4.1.9.9.826.1.20.146.1.4.9029|2|12 +1.3.6.1.4.1.9.9.826.1.20.146.1.4.14268|2|17 +1.3.6.1.4.1.9.9.826.1.20.146.1.5.881|2|14 +1.3.6.1.4.1.9.9.826.1.20.146.1.5.3468|2|26 +1.3.6.1.4.1.9.9.826.1.20.146.1.5.9029|2|18 +1.3.6.1.4.1.9.9.826.1.20.146.1.5.14268|2|21 +1.3.6.1.4.1.9.9.826.1.20.146.1.6.881|2|25 +1.3.6.1.4.1.9.9.826.1.20.146.1.6.3468|2|12 +1.3.6.1.4.1.9.9.826.1.20.146.1.6.9029|2|27 +1.3.6.1.4.1.9.9.826.1.20.146.1.6.14268|2|6 +1.3.6.1.4.1.9.9.826.1.20.146.1.7.881|66|1353657232 +1.3.6.1.4.1.9.9.826.1.20.146.1.7.3468|66|2865450758 +1.3.6.1.4.1.9.9.826.1.20.146.1.7.9029|66|1000581173 +1.3.6.1.4.1.9.9.826.1.20.146.1.7.14268|66|3053240326 +1.3.6.1.4.1.9.9.826.1.20.146.1.8.881|4x|62757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.146.1.8.3468|4x|6f78656e20666f7277617264206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.146.1.8.9029|4x|6f78656e206f78656e206f78656e20717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.146.1.8.14268|4x|7a6f6d62696573204a6164656420666f7277617264207a6f6d6269657320717561696e746c79206f78656e20746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.146.1.9.881|2|30 +1.3.6.1.4.1.9.9.826.1.20.146.1.9.3468|2|4 +1.3.6.1.4.1.9.9.826.1.20.146.1.9.9029|2|20 +1.3.6.1.4.1.9.9.826.1.20.146.1.9.14268|2|16 +1.3.6.1.4.1.9.9.826.1.20.147.1.1.2337|66|2337 +1.3.6.1.4.1.9.9.826.1.20.147.1.1.3287|66|3287 +1.3.6.1.4.1.9.9.826.1.20.147.1.1.4361|66|4361 +1.3.6.1.4.1.9.9.826.1.20.147.1.1.47044|66|47044 +1.3.6.1.4.1.9.9.826.1.20.147.1.2.2337|4x|7a6f6d62696573206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.147.1.2.3287|4x|7468656972206f78656e20717561696e746c7920666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.147.1.2.4361|4x|627574206163746564206163746564206f78656e2074686569722062757420666f727761726420627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.147.1.2.47044|4x|6f78656e206163746564206f78656e207a6f6d626965732064726976696e6720627574207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.147.1.3.2337|4x|64726976696e67204a6164656420666f72776172642064726976696e67204a61646564206f78656e20746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.147.1.3.3287|4x|6b657074207a6f6d6269657320666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.147.1.3.4361|4x|717561696e746c7920666f7277617264207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.147.1.3.47044|4x|61637465642062757420666f727761726420666f727761726420666f7277617264206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.147.1.4.2337|4x|6f78656e20717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.147.1.4.3287|4x|627574206b6570742064726976696e672062757420666f7277617264207a6f6d62696573207a6f6d626965732062757420627574 +1.3.6.1.4.1.9.9.826.1.20.147.1.4.4361|4x|7a6f6d62696573207a6f6d6269657320717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.147.1.4.47044|4x|7468656972207a6f6d62696573206f78656e20746865697220666f727761726420666f727761726420666f7277617264206f78656e +1.3.6.1.4.1.9.9.826.1.20.148.1.1.13179|66|13179 +1.3.6.1.4.1.9.9.826.1.20.148.1.1.17660|66|17660 +1.3.6.1.4.1.9.9.826.1.20.148.1.1.25748|66|25748 +1.3.6.1.4.1.9.9.826.1.20.148.1.1.58386|66|58386 +1.3.6.1.4.1.9.9.826.1.20.148.1.2.13179|4x|6b6570742064726976696e67206f78656e207a6f6d62696573207a6f6d6269657320666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.148.1.2.17660|4x|6b65707420746865697220666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.148.1.2.25748|4x|4a61646564206163746564204a61646564204a61646564206b657074204a6164656420666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.148.1.2.58386|4x|6b65707420717561696e746c79207468656972206f78656e206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.148.1.3.13179|4x|6f78656e20666f7277617264206b65707420627574207a6f6d626965732062757420616374656420627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.148.1.3.17660|4x|6f78656e20717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.148.1.3.25748|4x|7a6f6d62696573206b657074 +1.3.6.1.4.1.9.9.826.1.20.148.1.3.58386|4x|6163746564206b65707420746865697220717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.148.1.4.13179|2|2 +1.3.6.1.4.1.9.9.826.1.20.148.1.4.17660|2|0 +1.3.6.1.4.1.9.9.826.1.20.148.1.4.25748|2|0 +1.3.6.1.4.1.9.9.826.1.20.148.1.4.58386|2|1 +1.3.6.1.4.1.9.9.826.1.20.148.1.6.13179|4x|717561696e746c79206163746564207a6f6d6269657320746865697220616374656420717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.148.1.6.17660|4x|666f72776172642064726976696e6720717561696e746c7920627574207a6f6d62696573206f78656e20717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.148.1.6.25748|4x|746865697220746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.148.1.6.58386|4x|7468656972204a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.149.1.1.17455|66|17455 +1.3.6.1.4.1.9.9.826.1.20.149.1.1.41080|66|41080 +1.3.6.1.4.1.9.9.826.1.20.149.1.1.42127|66|42127 +1.3.6.1.4.1.9.9.826.1.20.149.1.1.52356|66|52356 +1.3.6.1.4.1.9.9.826.1.20.149.1.2.17455|4x|666f727761726420717561696e746c792062757420717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.149.1.2.41080|4x|6163746564206b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.149.1.2.42127|4x|6f78656e204a6164656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.149.1.2.52356|4x|64726976696e6720666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.149.1.3.17455|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.149.1.3.41080|4x|62757420666f727761726420666f7277617264206b65707420616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.149.1.3.42127|4x|666f727761726420627574207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.149.1.3.52356|4x|4a61646564206163746564207a6f6d62696573206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.149.1.4.17455|2|21 +1.3.6.1.4.1.9.9.826.1.20.149.1.4.41080|2|30 +1.3.6.1.4.1.9.9.826.1.20.149.1.4.42127|2|31 +1.3.6.1.4.1.9.9.826.1.20.149.1.4.52356|2|30 +1.3.6.1.4.1.9.9.826.1.20.149.1.5.17455|2|24 +1.3.6.1.4.1.9.9.826.1.20.149.1.5.41080|2|3 +1.3.6.1.4.1.9.9.826.1.20.149.1.5.42127|2|28 +1.3.6.1.4.1.9.9.826.1.20.149.1.5.52356|2|3 +1.3.6.1.4.1.9.9.826.1.20.149.1.6.17455|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.149.1.6.41080|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.149.1.6.42127|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.149.1.6.52356|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.149.1.7.17455|4x|666f727761726420616374656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.149.1.7.41080|4x|6163746564206163746564206f78656e206b657074206163746564206275742064726976696e67206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.149.1.7.42127|4x|616374656420717561696e746c7920616374656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.149.1.7.52356|4x|666f727761726420666f7277617264206163746564206f78656e207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.149.1.8.17455|4x|627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.149.1.8.41080|4x|6163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.149.1.8.42127|4x|717561696e746c792064726976696e67206275742062757420627574204a6164656420717561696e746c79206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.149.1.8.52356|4x|74686569722062757420717561696e746c7920746865697220746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.149.1.9.17455|4x|666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.149.1.9.41080|4x|666f72776172642061637465642062757420616374656420627574204a61646564206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.149.1.9.42127|4x|64726976696e67206275742064726976696e6720717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.149.1.9.52356|4x|7a6f6d62696573207a6f6d6269657320666f7277617264207a6f6d62696573206f78656e206b6570742064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.149.1.10.17455|2|18 +1.3.6.1.4.1.9.9.826.1.20.149.1.10.41080|2|20 +1.3.6.1.4.1.9.9.826.1.20.149.1.10.42127|2|17 +1.3.6.1.4.1.9.9.826.1.20.149.1.10.52356|2|21 +1.3.6.1.4.1.9.9.826.1.20.149.1.11.17455|4|oxen +1.3.6.1.4.1.9.9.826.1.20.149.1.11.41080|4x|64726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.149.1.11.42127|4|but +1.3.6.1.4.1.9.9.826.1.20.149.1.11.52356|4x|6f78656e207468656972207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.150.1.1.13218|66|13218 +1.3.6.1.4.1.9.9.826.1.20.150.1.1.28052|66|28052 +1.3.6.1.4.1.9.9.826.1.20.150.1.1.36383|66|36383 +1.3.6.1.4.1.9.9.826.1.20.150.1.1.59409|66|59409 +1.3.6.1.4.1.9.9.826.1.20.150.1.2.13218|4x|74686569722064726976696e6720717561696e746c7920616374656420616374656420717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.150.1.2.28052|4x|6163746564206b657074206b65707420666f7277617264207a6f6d62696573206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.150.1.2.36383|4x|627574204a61646564207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.150.1.2.59409|4x|7a6f6d62696573206f78656e2064726976696e672064726976696e672062757420627574206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.150.1.3.13218|4x|6b657074207a6f6d62696573204a61646564206b65707420717561696e746c79206b6570742064726976696e6720627574206f78656e +1.3.6.1.4.1.9.9.826.1.20.150.1.3.28052|4x|4a61646564207a6f6d62696573206b657074206f78656e20666f727761726420627574 +1.3.6.1.4.1.9.9.826.1.20.150.1.3.36383|4x|4a616465642062757420717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.150.1.3.59409|4x|6b657074204a61646564 +1.3.6.1.4.1.9.9.826.1.20.150.1.4.13218|4x|6163746564207a6f6d6269657320717561696e746c7920666f727761726420666f727761726420627574 +1.3.6.1.4.1.9.9.826.1.20.150.1.4.28052|4x|74686569722061637465642061637465642074686569722064726976696e6720717561696e746c79206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.150.1.4.36383|4x|6f78656e20666f7277617264206f78656e206f78656e20666f7277617264206b657074207468656972207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.150.1.4.59409|4x|6b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.150.1.5.13218|4x|717561696e746c792064726976696e67206b65707420666f7277617264207a6f6d62696573207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.150.1.5.28052|4x|64726976696e672061637465642064726976696e67207a6f6d6269657320746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.150.1.5.36383|4x|6f78656e207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.150.1.5.59409|4x|746865697220616374656420666f72776172642074686569722064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.150.1.6.13218|4x|7a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.150.1.6.28052|4x|4a616465642064726976696e6720627574207468656972206b657074206b65707420666f7277617264206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.150.1.6.36383|4x|746865697220666f7277617264206f78656e20627574 +1.3.6.1.4.1.9.9.826.1.20.150.1.6.59409|4x|4a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.150.1.7.13218|70|17515062078454910465 +1.3.6.1.4.1.9.9.826.1.20.150.1.7.28052|70|4673302432081276120 +1.3.6.1.4.1.9.9.826.1.20.150.1.7.36383|70|17466888117711649212 +1.3.6.1.4.1.9.9.826.1.20.150.1.7.59409|70|3838338736709620035 +1.3.6.1.4.1.9.9.826.1.20.150.1.8.13218|2|1 +1.3.6.1.4.1.9.9.826.1.20.150.1.8.28052|2|2 +1.3.6.1.4.1.9.9.826.1.20.150.1.8.36383|2|1 +1.3.6.1.4.1.9.9.826.1.20.150.1.8.59409|2|2 +1.3.6.1.4.1.9.9.826.1.20.150.1.9.13218|2|2 +1.3.6.1.4.1.9.9.826.1.20.150.1.9.28052|2|1 +1.3.6.1.4.1.9.9.826.1.20.150.1.9.36383|2|1 +1.3.6.1.4.1.9.9.826.1.20.150.1.9.59409|2|2 +1.3.6.1.4.1.9.9.826.1.20.150.1.10.13218|4x|666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.150.1.10.28052|4x|6275742061637465642064726976696e6720666f727761726420666f727761726420746865697220717561696e746c79204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.150.1.10.36383|4x|6163746564204a61646564207a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.150.1.10.59409|4x|666f7277617264207a6f6d62696573207a6f6d6269657320717561696e746c79206163746564206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.150.1.11.13218|4x|6b6570742064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.150.1.11.28052|4x|62757420666f7277617264207a6f6d62696573204a6164656420717561696e746c79207a6f6d62696573207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.20.150.1.11.36383|4x|62757420666f727761726420627574206f78656e20627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.150.1.11.59409|4x|64726976696e672062757420666f7277617264207a6f6d626965732064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.150.1.12.13218|4x|7a6f6d6269657320627574206f78656e2062757420666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.20.150.1.12.28052|4x|64726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.150.1.12.36383|4x|6275742064726976696e67207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.150.1.12.59409|4|kept +1.3.6.1.4.1.9.9.826.1.20.150.1.13.13218|66|1448750763 +1.3.6.1.4.1.9.9.826.1.20.150.1.13.28052|66|3469237956 +1.3.6.1.4.1.9.9.826.1.20.150.1.13.36383|66|3730504218 +1.3.6.1.4.1.9.9.826.1.20.150.1.13.59409|66|1542081805 +1.3.6.1.4.1.9.9.826.1.20.150.1.14.13218|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.150.1.14.28052|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.150.1.14.36383|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.150.1.14.59409|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.20.150.1.15.13218|4x|6275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.150.1.15.28052|4x|4a61646564206f78656e206b657074207468656972207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.150.1.15.36383|4x|64726976696e67207a6f6d6269657320717561696e746c79206b657074207a6f6d6269657320616374656420627574204a61646564207468656972 +1.3.6.1.4.1.9.9.826.1.20.150.1.15.59409|4|zombies +1.3.6.1.4.1.9.9.826.1.20.150.1.16.13218|4x|62757420746865697220627574207468656972204a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.150.1.16.28052|4|forward +1.3.6.1.4.1.9.9.826.1.20.150.1.16.36383|4|zombies +1.3.6.1.4.1.9.9.826.1.20.150.1.16.59409|4x|7468656972206275742061637465642062757420717561696e746c79207468656972206f78656e +1.3.6.1.4.1.9.9.826.1.20.151.1.1.6910|66|6910 +1.3.6.1.4.1.9.9.826.1.20.151.1.1.28258|66|28258 +1.3.6.1.4.1.9.9.826.1.20.151.1.1.41861|66|41861 +1.3.6.1.4.1.9.9.826.1.20.151.1.1.64443|66|64443 +1.3.6.1.4.1.9.9.826.1.20.151.1.2.6910|4x|4a61646564204a61646564206163746564207468656972207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.151.1.2.28258|4x|7468656972207a6f6d62696573206f78656e2064726976696e672064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.151.1.2.41861|4x|6b657074206b65707420666f7277617264206b657074206f78656e204a6164656420627574206f78656e +1.3.6.1.4.1.9.9.826.1.20.151.1.2.64443|4x|7a6f6d62696573204a61646564206f78656e207a6f6d6269657320627574204a61646564207a6f6d6269657320717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.151.1.3.6910|4x|666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.151.1.3.28258|4x|666f7277617264206f78656e206f78656e204a6164656420627574206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.151.1.3.41861|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.151.1.3.64443|4x|4a6164656420627574206163746564204a61646564206163746564204a616465642064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.151.1.4.6910|4x|666f7277617264206b65707420746865697220627574206f78656e206f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.151.1.4.28258|4x|7a6f6d62696573206163746564206163746564207468656972206f78656e204a61646564207a6f6d6269657320717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.151.1.4.41861|4x|627574206f78656e +1.3.6.1.4.1.9.9.826.1.20.151.1.4.64443|4x|746865697220717561696e746c79207a6f6d62696573207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.151.1.5.6910|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.151.1.5.28258|4x|61637465642064726976696e67204a616465642064726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.20.151.1.5.41861|4x|627574206f78656e204a61646564207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.151.1.5.64443|4x|6b657074206f78656e207468656972206b657074206163746564204a61646564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.151.1.6.6910|4x|64726976696e6720717561696e746c7920717561696e746c7920717561696e746c79206f78656e20627574207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.151.1.6.28258|4x|6163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.151.1.6.41861|4|zombies +1.3.6.1.4.1.9.9.826.1.20.151.1.6.64443|4x|4a61646564206b65707420717561696e746c7920717561696e746c79206163746564204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.151.1.7.6910|66|407052577 +1.3.6.1.4.1.9.9.826.1.20.151.1.7.28258|66|1217445017 +1.3.6.1.4.1.9.9.826.1.20.151.1.7.41861|66|3408585299 +1.3.6.1.4.1.9.9.826.1.20.151.1.7.64443|66|1339212418 +1.3.6.1.4.1.9.9.826.1.20.151.1.8.6910|2|2 +1.3.6.1.4.1.9.9.826.1.20.151.1.8.28258|2|1 +1.3.6.1.4.1.9.9.826.1.20.151.1.8.41861|2|1 +1.3.6.1.4.1.9.9.826.1.20.151.1.8.64443|2|2 +1.3.6.1.4.1.9.9.826.1.20.152.1.1.19229|66|19229 +1.3.6.1.4.1.9.9.826.1.20.152.1.1.53977|66|53977 +1.3.6.1.4.1.9.9.826.1.20.152.1.1.56076|66|56076 +1.3.6.1.4.1.9.9.826.1.20.152.1.1.56256|66|56256 +1.3.6.1.4.1.9.9.826.1.20.152.1.2.19229|4x|746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.152.1.2.53977|4x|6b65707420627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.152.1.2.56076|4|Jaded +1.3.6.1.4.1.9.9.826.1.20.152.1.2.56256|4x|717561696e746c79204a6164656420717561696e746c792064726976696e6720717561696e746c792064726976696e67207a6f6d6269657320717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.152.1.3.19229|4x|6b657074204a61646564204a6164656420666f727761726420717561696e746c79206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.152.1.3.53977|4x|4a61646564206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.152.1.3.56076|4x|717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.152.1.3.56256|4|acted +1.3.6.1.4.1.9.9.826.1.20.152.1.4.19229|66|2933025894 +1.3.6.1.4.1.9.9.826.1.20.152.1.4.53977|66|1994220341 +1.3.6.1.4.1.9.9.826.1.20.152.1.4.56076|66|3418900539 +1.3.6.1.4.1.9.9.826.1.20.152.1.4.56256|66|704434303 +1.3.6.1.4.1.9.9.826.1.20.152.1.5.19229|4x|7a6f6d62696573207468656972206b65707420627574206b657074206b657074206b657074 +1.3.6.1.4.1.9.9.826.1.20.152.1.5.53977|4x|6163746564206f78656e204a6164656420666f727761726420717561696e746c7920717561696e746c79207a6f6d62696573207a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.152.1.5.56076|4x|64726976696e6720717561696e746c79204a61646564206b65707420627574 +1.3.6.1.4.1.9.9.826.1.20.152.1.5.56256|4x|666f727761726420616374656420616374656420616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.152.1.6.19229|4x|6275742064726976696e672064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.152.1.6.53977|4x|717561696e746c79206f78656e2064726976696e672064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.152.1.6.56076|4x|746865697220746865697220717561696e746c7920666f727761726420666f7277617264206f78656e207468656972207a6f6d62696573206b657074 +1.3.6.1.4.1.9.9.826.1.20.152.1.6.56256|4x|616374656420717561696e746c79207a6f6d626965732064726976696e67206f78656e2064726976696e67206f78656e206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.152.1.7.19229|4|but +1.3.6.1.4.1.9.9.826.1.20.152.1.7.53977|4x|666f7277617264206b65707420717561696e746c7920666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.152.1.7.56076|4x|6b6570742062757420666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.152.1.7.56256|4x|64726976696e6720717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.152.1.8.19229|66|4193013877 +1.3.6.1.4.1.9.9.826.1.20.152.1.8.53977|66|286808548 +1.3.6.1.4.1.9.9.826.1.20.152.1.8.56076|66|2212444766 +1.3.6.1.4.1.9.9.826.1.20.152.1.8.56256|66|449827148 +1.3.6.1.4.1.9.9.826.1.20.152.1.9.19229|2|0 +1.3.6.1.4.1.9.9.826.1.20.152.1.9.53977|2|1 +1.3.6.1.4.1.9.9.826.1.20.152.1.9.56076|2|0 +1.3.6.1.4.1.9.9.826.1.20.152.1.9.56256|2|2 +1.3.6.1.4.1.9.9.826.1.20.152.1.10.19229|66|1784173822 +1.3.6.1.4.1.9.9.826.1.20.152.1.10.53977|66|1506972045 +1.3.6.1.4.1.9.9.826.1.20.152.1.10.56076|66|2233449062 +1.3.6.1.4.1.9.9.826.1.20.152.1.10.56256|66|1301377873 +1.3.6.1.4.1.9.9.826.1.20.152.1.11.19229|66|2631717208 +1.3.6.1.4.1.9.9.826.1.20.152.1.11.53977|66|4153814859 +1.3.6.1.4.1.9.9.826.1.20.152.1.11.56076|66|3186402230 +1.3.6.1.4.1.9.9.826.1.20.152.1.11.56256|66|3163199683 +1.3.6.1.4.1.9.9.826.1.20.153.1.1.5214|66|5214 +1.3.6.1.4.1.9.9.826.1.20.153.1.1.23245|66|23245 +1.3.6.1.4.1.9.9.826.1.20.153.1.1.48854|66|48854 +1.3.6.1.4.1.9.9.826.1.20.153.1.1.64000|66|64000 +1.3.6.1.4.1.9.9.826.1.20.153.1.2.5214|4x|616374656420627574206b657074206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.153.1.2.23245|4x|627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.153.1.2.48854|4x|627574204a6164656420627574206163746564207468656972 +1.3.6.1.4.1.9.9.826.1.20.153.1.2.64000|4x|4a6164656420717561696e746c79207a6f6d62696573204a6164656420717561696e746c7920666f7277617264204a61646564207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.153.1.3.5214|4x|6163746564206f78656e20666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.153.1.3.23245|4x|7a6f6d6269657320717561696e746c7920616374656420717561696e746c79206f78656e +1.3.6.1.4.1.9.9.826.1.20.153.1.3.48854|4x|4a616465642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.153.1.3.64000|4x|64726976696e67207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.153.1.4.5214|66|3067517355 +1.3.6.1.4.1.9.9.826.1.20.153.1.4.23245|66|2638519073 +1.3.6.1.4.1.9.9.826.1.20.153.1.4.48854|66|3048502818 +1.3.6.1.4.1.9.9.826.1.20.153.1.4.64000|66|1650403405 +1.3.6.1.4.1.9.9.826.1.20.153.1.5.5214|2|4 +1.3.6.1.4.1.9.9.826.1.20.153.1.5.23245|2|1 +1.3.6.1.4.1.9.9.826.1.20.153.1.5.48854|2|0 +1.3.6.1.4.1.9.9.826.1.20.153.1.5.64000|2|0 +1.3.6.1.4.1.9.9.826.1.20.153.1.6.5214|66|1384693776 +1.3.6.1.4.1.9.9.826.1.20.153.1.6.23245|66|4021758260 +1.3.6.1.4.1.9.9.826.1.20.153.1.6.48854|66|3762573694 +1.3.6.1.4.1.9.9.826.1.20.153.1.6.64000|66|2835045194 +1.3.6.1.4.1.9.9.826.1.20.153.1.7.5214|66|4005437398 +1.3.6.1.4.1.9.9.826.1.20.153.1.7.23245|66|2410339364 +1.3.6.1.4.1.9.9.826.1.20.153.1.7.48854|66|582381678 +1.3.6.1.4.1.9.9.826.1.20.153.1.7.64000|66|1989304624 +1.3.6.1.4.1.9.9.826.1.20.153.1.8.5214|2|5 +1.3.6.1.4.1.9.9.826.1.20.153.1.8.23245|2|1 +1.3.6.1.4.1.9.9.826.1.20.153.1.8.48854|2|9 +1.3.6.1.4.1.9.9.826.1.20.153.1.8.64000|2|2 +1.3.6.1.4.1.9.9.826.1.20.153.1.9.5214|66|1816638634 +1.3.6.1.4.1.9.9.826.1.20.153.1.9.23245|66|803042255 +1.3.6.1.4.1.9.9.826.1.20.153.1.9.48854|66|2316249056 +1.3.6.1.4.1.9.9.826.1.20.153.1.9.64000|66|602453445 +1.3.6.1.4.1.9.9.826.1.20.154.1.1.12647|66|12647 +1.3.6.1.4.1.9.9.826.1.20.154.1.1.31041|66|31041 +1.3.6.1.4.1.9.9.826.1.20.154.1.1.41928|66|41928 +1.3.6.1.4.1.9.9.826.1.20.154.1.1.47594|66|47594 +1.3.6.1.4.1.9.9.826.1.20.154.1.2.12647|4x|666f7277617264207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.154.1.2.31041|4x|7468656972206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.154.1.2.41928|4|their +1.3.6.1.4.1.9.9.826.1.20.154.1.2.47594|4x|6f78656e204a61646564206f78656e2062757420717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.154.1.3.12647|4x|7a6f6d62696573207a6f6d62696573207a6f6d62696573206163746564204a61646564206b65707420627574206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.154.1.3.31041|4x|6b65707420666f727761726420666f72776172642064726976696e6720717561696e746c79204a61646564207a6f6d626965732064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.154.1.3.41928|4x|6163746564206f78656e20746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.154.1.3.47594|4x|4a6164656420616374656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.154.1.4.12647|4|oxen +1.3.6.1.4.1.9.9.826.1.20.154.1.4.31041|4x|6b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.154.1.4.41928|4x|627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.154.1.4.47594|4x|746865697220627574206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.20.154.1.5.12647|4x|717561696e746c79207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.154.1.5.31041|4|but +1.3.6.1.4.1.9.9.826.1.20.154.1.5.41928|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.154.1.5.47594|4x|6f78656e20746865697220717561696e746c79204a61646564206163746564207a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.20.154.1.6.12647|70|12275760446838208382 +1.3.6.1.4.1.9.9.826.1.20.154.1.6.31041|70|8285586045938829005 +1.3.6.1.4.1.9.9.826.1.20.154.1.6.41928|70|9692884760157418861 +1.3.6.1.4.1.9.9.826.1.20.154.1.6.47594|70|14993381923963532570 +1.3.6.1.4.1.9.9.826.1.20.154.1.7.12647|2|2 +1.3.6.1.4.1.9.9.826.1.20.154.1.7.31041|2|1 +1.3.6.1.4.1.9.9.826.1.20.154.1.7.41928|2|2 +1.3.6.1.4.1.9.9.826.1.20.154.1.7.47594|2|1 +1.3.6.1.4.1.9.9.826.1.20.154.1.8.12647|4x|7468656972206b657074206163746564206f78656e206163746564206f78656e20666f7277617264206f78656e +1.3.6.1.4.1.9.9.826.1.20.154.1.8.31041|4x|6b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.154.1.8.41928|4x|666f727761726420666f727761726420666f727761726420666f7277617264207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.154.1.8.47594|4x|6b6570742064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.154.1.9.12647|4x|64726976696e6720717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.20.154.1.9.31041|4x|4a61646564206f78656e206b657074207a6f6d6269657320666f727761726420717561696e746c7920717561696e746c79207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.20.154.1.9.41928|4x|717561696e746c79204a616465642062757420627574207468656972206f78656e206275742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.154.1.9.47594|4x|627574207468656972 +1.3.6.1.4.1.9.9.826.1.20.154.1.10.12647|4x|6b6570742061637465642062757420746865697220666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.154.1.10.31041|4x|7a6f6d62696573206f78656e +1.3.6.1.4.1.9.9.826.1.20.154.1.10.41928|4x|6b6570742064726976696e672061637465642064726976696e6720666f7277617264207a6f6d62696573206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.154.1.10.47594|4x|4a6164656420717561696e746c7920666f7277617264204a6164656420717561696e746c79206163746564206f78656e206f78656e207468656972 +1.3.6.1.4.1.9.9.826.1.20.154.1.11.12647|4x|4a6164656420717561696e746c79206f78656e206b6570742064726976696e672064726976696e67206f78656e207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.154.1.11.31041|4x|6163746564206f78656e2061637465642064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.20.154.1.11.41928|4x|717561696e746c792062757420666f7277617264206b657074207a6f6d62696573204a6164656420717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.154.1.11.47594|4x|627574207a6f6d62696573206b657074206b657074207a6f6d6269657320627574206163746564206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.154.1.12.12647|4x|74686569722061637465642064726976696e672074686569722062757420717561696e746c792064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.154.1.12.31041|4x|6b65707420627574206f78656e204a6164656420627574206163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.154.1.12.41928|4x|4a6164656420746865697220666f727761726420666f72776172642064726976696e6720627574206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.154.1.12.47594|4x|6163746564206f78656e206f78656e20627574 +1.3.6.1.4.1.9.9.826.1.20.155.1.1.40060|66|40060 +1.3.6.1.4.1.9.9.826.1.20.155.1.1.45975|66|45975 +1.3.6.1.4.1.9.9.826.1.20.155.1.1.50002|66|50002 +1.3.6.1.4.1.9.9.826.1.20.155.1.1.53443|66|53443 +1.3.6.1.4.1.9.9.826.1.20.155.1.2.40060|4x|4a616465642074686569722074686569722064726976696e672064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.155.1.2.45975|4x|7a6f6d62696573206b657074 +1.3.6.1.4.1.9.9.826.1.20.155.1.2.50002|4x|6b657074204a61646564206163746564206b657074206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.155.1.2.53443|4x|7468656972206b6570742062757420746865697220717561696e746c792064726976696e67206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.155.1.3.40060|4x|61637465642062757420616374656420717561696e746c79206f78656e2064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.155.1.3.45975|4x|64726976696e672062757420616374656420746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.155.1.3.50002|4x|7468656972204a6164656420717561696e746c79206f78656e20666f727761726420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.155.1.3.53443|4x|7a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.155.1.4.40060|2|2 +1.3.6.1.4.1.9.9.826.1.20.155.1.4.45975|2|1 +1.3.6.1.4.1.9.9.826.1.20.155.1.4.50002|2|2 +1.3.6.1.4.1.9.9.826.1.20.155.1.4.53443|2|1 +1.3.6.1.4.1.9.9.826.1.20.155.1.5.40060|2|2 +1.3.6.1.4.1.9.9.826.1.20.155.1.5.45975|2|2 +1.3.6.1.4.1.9.9.826.1.20.155.1.5.50002|2|2 +1.3.6.1.4.1.9.9.826.1.20.155.1.5.53443|2|2 +1.3.6.1.4.1.9.9.826.1.20.155.1.6.40060|66|3010669485 +1.3.6.1.4.1.9.9.826.1.20.155.1.6.45975|66|596373110 +1.3.6.1.4.1.9.9.826.1.20.155.1.6.50002|66|1447961521 +1.3.6.1.4.1.9.9.826.1.20.155.1.6.53443|66|3421025457 +1.3.6.1.4.1.9.9.826.1.20.155.1.7.40060|66|2122505536 +1.3.6.1.4.1.9.9.826.1.20.155.1.7.45975|66|3658577581 +1.3.6.1.4.1.9.9.826.1.20.155.1.7.50002|66|3074052571 +1.3.6.1.4.1.9.9.826.1.20.155.1.7.53443|66|1336705070 +1.3.6.1.4.1.9.9.826.1.20.155.1.8.40060|66|2411924768 +1.3.6.1.4.1.9.9.826.1.20.155.1.8.45975|66|2507645207 +1.3.6.1.4.1.9.9.826.1.20.155.1.8.50002|66|4034754439 +1.3.6.1.4.1.9.9.826.1.20.155.1.8.53443|66|1338230852 +1.3.6.1.4.1.9.9.826.1.20.155.1.9.40060|66|2321962958 +1.3.6.1.4.1.9.9.826.1.20.155.1.9.45975|66|2763293850 +1.3.6.1.4.1.9.9.826.1.20.155.1.9.50002|66|3537397410 +1.3.6.1.4.1.9.9.826.1.20.155.1.9.53443|66|580457479 +1.3.6.1.4.1.9.9.826.1.20.155.1.10.40060|66|2964774334 +1.3.6.1.4.1.9.9.826.1.20.155.1.10.45975|66|2984063970 +1.3.6.1.4.1.9.9.826.1.20.155.1.10.50002|66|3964401784 +1.3.6.1.4.1.9.9.826.1.20.155.1.10.53443|66|1258349538 +1.3.6.1.4.1.9.9.826.1.20.155.1.11.40060|4x|717561696e746c79206f78656e20616374656420666f7277617264207468656972 +1.3.6.1.4.1.9.9.826.1.20.155.1.11.45975|4x|666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.155.1.11.50002|4x|4a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.155.1.11.53443|4x|62757420627574206163746564206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.155.1.12.40060|4x|666f727761726420666f727761726420666f727761726420717561696e746c7920666f7277617264206f78656e2064726976696e67206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.155.1.12.45975|4|but +1.3.6.1.4.1.9.9.826.1.20.155.1.12.50002|4x|666f7277617264206b657074206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.155.1.12.53443|4x|6275742064726976696e6720666f72776172642064726976696e672064726976696e67207a6f6d6269657320666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.20.155.1.13.40060|4x|627574206b65707420666f727761726420746865697220717561696e746c79204a6164656420666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.155.1.13.45975|4x|6163746564206b657074207a6f6d62696573207a6f6d62696573207a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.155.1.13.50002|4x|717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.155.1.13.53443|4x|6163746564204a61646564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.155.1.14.40060|4x|7468656972206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.20.155.1.14.45975|4x|7a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.20.155.1.14.50002|4x|627574207468656972204a61646564 +1.3.6.1.4.1.9.9.826.1.20.155.1.14.53443|4x|64726976696e67206b65707420746865697220666f7277617264206f78656e +1.3.6.1.4.1.9.9.826.1.20.156.1.1.512|66|512 +1.3.6.1.4.1.9.9.826.1.20.156.1.1.12533|66|12533 +1.3.6.1.4.1.9.9.826.1.20.156.1.1.19806|66|19806 +1.3.6.1.4.1.9.9.826.1.20.156.1.1.35131|66|35131 +1.3.6.1.4.1.9.9.826.1.20.156.1.2.512|4|quaintly +1.3.6.1.4.1.9.9.826.1.20.156.1.2.12533|4x|666f727761726420666f72776172642064726976696e67206b65707420717561696e746c7920666f7277617264206b657074 +1.3.6.1.4.1.9.9.826.1.20.156.1.2.19806|4x|6b6570742062757420666f72776172642064726976696e6720717561696e746c79204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.156.1.2.35131|4x|666f727761726420717561696e746c79204a61646564204a61646564204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.20.156.1.3.512|4x|7a6f6d626965732064726976696e67206f78656e207a6f6d626965732064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.156.1.3.12533|4x|717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.156.1.3.19806|4x|64726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.156.1.3.35131|4x|6f78656e20717561696e746c792064726976696e67206163746564206163746564207a6f6d62696573206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.20.156.1.4.512|2|1 +1.3.6.1.4.1.9.9.826.1.20.156.1.4.12533|2|0 +1.3.6.1.4.1.9.9.826.1.20.156.1.4.19806|2|0 +1.3.6.1.4.1.9.9.826.1.20.156.1.4.35131|2|0 +1.3.6.1.4.1.9.9.826.1.20.156.1.5.512|4x|666f727761726420666f72776172642074686569722064726976696e6720616374656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.156.1.5.12533|4x|666f7277617264206f78656e2064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.156.1.5.19806|4x|7468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.156.1.5.35131|4x|6f78656e206b65707420717561696e746c792064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.156.1.6.512|4x|74686569722061637465642064726976696e6720717561696e746c7920616374656420616374656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.156.1.6.12533|4x|64726976696e67206f78656e206163746564206f78656e206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.20.156.1.6.19806|4x|717561696e746c792064726976696e67206b657074207a6f6d62696573204a6164656420666f727761726420666f7277617264206163746564206163746564 +1.3.6.1.4.1.9.9.826.1.20.156.1.6.35131|4x|62757420746865697220616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.156.1.7.512|4x|666f72776172642062757420717561696e746c79206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.156.1.7.12533|4|oxen +1.3.6.1.4.1.9.9.826.1.20.156.1.7.19806|4x|6b6570742064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.156.1.7.35131|4x|666f72776172642064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.156.1.8.512|4x|7a6f6d62696573206b65707420746865697220717561696e746c79206f78656e20627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.156.1.8.12533|4|but +1.3.6.1.4.1.9.9.826.1.20.156.1.8.19806|4|kept +1.3.6.1.4.1.9.9.826.1.20.156.1.8.35131|4x|666f72776172642064726976696e67206f78656e20627574206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.156.1.9.512|4x|6163746564207468656972206163746564206b657074206b657074 +1.3.6.1.4.1.9.9.826.1.20.156.1.9.12533|4x|6f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.156.1.9.19806|4x|717561696e746c792064726976696e67206f78656e2064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.20.156.1.9.35131|4x|666f727761726420616374656420717561696e746c792062757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.157.1.1.11108|66|11108 +1.3.6.1.4.1.9.9.826.1.20.157.1.1.27041|66|27041 +1.3.6.1.4.1.9.9.826.1.20.157.1.1.33134|66|33134 +1.3.6.1.4.1.9.9.826.1.20.157.1.1.51160|66|51160 +1.3.6.1.4.1.9.9.826.1.20.157.1.2.11108|4x|6b6570742064726976696e672064726976696e6720746865697220717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.20.157.1.2.27041|4x|746865697220746865697220746865697220627574207a6f6d62696573206b657074206f78656e20717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.157.1.2.33134|4x|7a6f6d6269657320666f7277617264206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.157.1.2.51160|4x|4a616465642064726976696e67207468656972207a6f6d62696573204a6164656420616374656420717561696e746c79206b657074 +1.3.6.1.4.1.9.9.826.1.20.157.1.3.11108|4x|6163746564206f78656e +1.3.6.1.4.1.9.9.826.1.20.157.1.3.27041|4x|666f7277617264207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.157.1.3.33134|4x|666f727761726420746865697220666f727761726420616374656420627574 +1.3.6.1.4.1.9.9.826.1.20.157.1.3.51160|4x|627574204a61646564 +1.3.6.1.4.1.9.9.826.1.20.157.1.4.11108|66|2926284465 +1.3.6.1.4.1.9.9.826.1.20.157.1.4.27041|66|3148819763 +1.3.6.1.4.1.9.9.826.1.20.157.1.4.33134|66|1779368815 +1.3.6.1.4.1.9.9.826.1.20.157.1.4.51160|66|389853694 +1.3.6.1.4.1.9.9.826.1.20.157.1.5.11108|2|5 +1.3.6.1.4.1.9.9.826.1.20.157.1.5.27041|2|10 +1.3.6.1.4.1.9.9.826.1.20.157.1.5.33134|2|3 +1.3.6.1.4.1.9.9.826.1.20.157.1.5.51160|2|1 +1.3.6.1.4.1.9.9.826.1.20.157.1.6.11108|2|3 +1.3.6.1.4.1.9.9.826.1.20.157.1.6.27041|2|4 +1.3.6.1.4.1.9.9.826.1.20.157.1.6.33134|2|4 +1.3.6.1.4.1.9.9.826.1.20.157.1.6.51160|2|7 +1.3.6.1.4.1.9.9.826.1.20.157.1.7.11108|2|6 +1.3.6.1.4.1.9.9.826.1.20.157.1.7.27041|2|5 +1.3.6.1.4.1.9.9.826.1.20.157.1.7.33134|2|7 +1.3.6.1.4.1.9.9.826.1.20.157.1.7.51160|2|4 +1.3.6.1.4.1.9.9.826.1.20.157.1.8.11108|2|1 +1.3.6.1.4.1.9.9.826.1.20.157.1.8.27041|2|2 +1.3.6.1.4.1.9.9.826.1.20.157.1.8.33134|2|2 +1.3.6.1.4.1.9.9.826.1.20.157.1.8.51160|2|2 +1.3.6.1.4.1.9.9.826.1.20.158.1.1.2911|66|2911 +1.3.6.1.4.1.9.9.826.1.20.158.1.1.3285|66|3285 +1.3.6.1.4.1.9.9.826.1.20.158.1.1.32127|66|32127 +1.3.6.1.4.1.9.9.826.1.20.158.1.1.64237|66|64237 +1.3.6.1.4.1.9.9.826.1.20.158.1.2.2911|4x|627574207a6f6d62696573206f78656e206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.158.1.2.3285|4x|666f7277617264206f78656e2062757420717561696e746c79206f78656e206b657074 +1.3.6.1.4.1.9.9.826.1.20.158.1.2.32127|4x|6f78656e207468656972206b65707420717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.158.1.2.64237|4|zombies +1.3.6.1.4.1.9.9.826.1.20.158.1.3.2911|4x|717561696e746c79207468656972207a6f6d62696573207a6f6d62696573206f78656e20666f7277617264207468656972207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.20.158.1.3.3285|4x|4a61646564206f78656e206f78656e20717561696e746c7920627574206b65707420627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.158.1.3.32127|4x|64726976696e67206275742064726976696e672064726976696e6720666f727761726420717561696e746c79207468656972207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.20.158.1.3.64237|4x|7468656972207468656972207a6f6d6269657320627574206b657074206b657074206b657074206f78656e +1.3.6.1.4.1.9.9.826.1.20.158.1.4.2911|4x|7468656972207a6f6d62696573206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.158.1.4.3285|4x|4a6164656420746865697220746865697220627574204a6164656420666f727761726420627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.158.1.4.32127|4x|7a6f6d62696573206163746564207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.158.1.4.64237|4x|7468656972206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.158.1.5.2911|4x|7a6f6d62696573207a6f6d6269657320666f7277617264207a6f6d62696573204a61646564206f78656e206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.20.158.1.5.3285|4x|6f78656e20717561696e746c79207a6f6d626965732062757420717561696e746c79206163746564207468656972 +1.3.6.1.4.1.9.9.826.1.20.158.1.5.32127|4x|7468656972204a616465642062757420717561696e746c7920666f7277617264204a61646564206163746564 +1.3.6.1.4.1.9.9.826.1.20.158.1.5.64237|4x|666f727761726420746865697220666f7277617264207a6f6d62696573206163746564207468656972207468656972206f78656e +1.3.6.1.4.1.9.9.826.1.20.158.1.6.2911|70|7077811570185139063 +1.3.6.1.4.1.9.9.826.1.20.158.1.6.3285|70|3486826205741704364 +1.3.6.1.4.1.9.9.826.1.20.158.1.6.32127|70|11105824741871682447 +1.3.6.1.4.1.9.9.826.1.20.158.1.6.64237|70|6478200139359631919 +1.3.6.1.4.1.9.9.826.1.20.158.1.7.2911|2|2 +1.3.6.1.4.1.9.9.826.1.20.158.1.7.3285|2|1 +1.3.6.1.4.1.9.9.826.1.20.158.1.7.32127|2|2 +1.3.6.1.4.1.9.9.826.1.20.158.1.7.64237|2|1 +1.3.6.1.4.1.9.9.826.1.20.158.1.8.2911|4x|666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.158.1.8.3285|4x|74686569722064726976696e67 +1.3.6.1.4.1.9.9.826.1.20.158.1.8.32127|4x|627574207a6f6d62696573206b6570742064726976696e6720627574206b657074 +1.3.6.1.4.1.9.9.826.1.20.158.1.8.64237|4x|627574207a6f6d62696573204a6164656420717561696e746c79207468656972206163746564206275742062757420666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.158.1.9.2911|4x|717561696e746c79206f78656e20717561696e746c7920666f727761726420666f7277617264204a616465642062757420717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.20.158.1.9.3285|4x|6163746564206f78656e20717561696e746c79206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.158.1.9.32127|4x|6163746564206f78656e20717561696e746c79207a6f6d626965732074686569722064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.20.158.1.9.64237|4x|64726976696e6720627574204a6164656420746865697220666f7277617264 +1.3.6.1.4.1.9.9.826.1.20.158.1.10.2911|4x|717561696e746c7920666f727761726420616374656420666f7277617264206163746564207a6f6d626965732064726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.20.158.1.10.3285|4x|4a6164656420666f7277617264206f78656e20627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.20.158.1.10.32127|4x|717561696e746c792062757420666f727761726420627574206163746564 +1.3.6.1.4.1.9.9.826.1.20.158.1.10.64237|4x|7a6f6d62696573207a6f6d62696573206f78656e207468656972204a61646564 +1.3.6.1.4.1.9.9.826.1.20.158.1.11.2911|4x|61637465642064726976696e67206b657074206f78656e2064726976696e672062757420666f727761726420666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.20.158.1.11.3285|4|kept +1.3.6.1.4.1.9.9.826.1.20.158.1.11.32127|4x|666f727761726420717561696e746c7920746865697220717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.20.158.1.11.64237|4|zombies +1.3.6.1.4.1.9.9.826.1.20.158.1.12.2911|4x|64726976696e67206f78656e207468656972 +1.3.6.1.4.1.9.9.826.1.20.158.1.12.3285|4x|666f7277617264207468656972207468656972 +1.3.6.1.4.1.9.9.826.1.20.158.1.12.32127|4x|64726976696e67206163746564206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.20.158.1.12.64237|4x|6f78656e207a6f6d6269657320616374656420717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.71.1.1.1.2302|66|2302 +1.3.6.1.4.1.9.9.826.1.71.1.1.1.14735|66|14735 +1.3.6.1.4.1.9.9.826.1.71.1.1.1.29760|66|29760 +1.3.6.1.4.1.9.9.826.1.71.1.1.1.36899|66|36899 +1.3.6.1.4.1.9.9.826.1.71.1.1.1.38500|66|38500 +1.3.6.1.4.1.9.9.826.1.71.1.1.1.54046|66|54046 +1.3.6.1.4.1.9.9.826.1.71.2.1.1.5366|66|5366 +1.3.6.1.4.1.9.9.826.1.71.2.1.1.29751|66|29751 +1.3.6.1.4.1.9.9.826.1.71.2.1.1.40835|66|40835 +1.3.6.1.4.1.9.9.826.1.71.2.1.1.47881|66|47881 +1.3.6.1.4.1.9.9.826.1.71.2.1.1.53405|66|53405 +1.3.6.1.4.1.9.9.826.1.71.2.1.1.61697|66|61697 +1.3.6.1.4.1.9.9.826.1.71.3.1.1.14358|66|14358 +1.3.6.1.4.1.9.9.826.1.71.3.1.1.17761|66|17761 +1.3.6.1.4.1.9.9.826.1.71.3.1.1.50766|66|50766 +1.3.6.1.4.1.9.9.826.1.71.3.1.1.51720|66|51720 +1.3.6.1.4.1.9.9.826.1.71.3.1.1.63746|66|63746 +1.3.6.1.4.1.9.9.826.1.71.3.1.1.65370|66|65370 +1.3.6.1.4.1.9.9.826.1.71.4.1.1.9608|66|9608 +1.3.6.1.4.1.9.9.826.1.71.4.1.1.9725|66|9725 +1.3.6.1.4.1.9.9.826.1.71.4.1.1.12226|66|12226 +1.3.6.1.4.1.9.9.826.1.71.4.1.1.20911|66|20911 +1.3.6.1.4.1.9.9.826.1.71.4.1.1.21722|66|21722 +1.3.6.1.4.1.9.9.826.1.71.4.1.1.26914|66|26914 +1.3.6.1.4.1.9.9.826.1.71.5.1.1.8695|66|8695 +1.3.6.1.4.1.9.9.826.1.71.5.1.1.10673|66|10673 +1.3.6.1.4.1.9.9.826.1.71.5.1.1.20663|66|20663 +1.3.6.1.4.1.9.9.826.1.71.5.1.1.31123|66|31123 +1.3.6.1.4.1.9.9.826.1.71.5.1.1.34891|66|34891 +1.3.6.1.4.1.9.9.826.1.71.5.1.1.40351|66|40351 +1.3.6.1.4.1.9.9.826.1.71.6.1.1.19279|66|19279 +1.3.6.1.4.1.9.9.826.1.71.6.1.1.30069|66|30069 +1.3.6.1.4.1.9.9.826.1.71.6.1.1.32841|66|32841 +1.3.6.1.4.1.9.9.826.1.71.6.1.1.42725|66|42725 +1.3.6.1.4.1.9.9.826.1.71.6.1.1.46427|66|46427 +1.3.6.1.4.1.9.9.826.1.71.6.1.1.56213|66|56213 +1.3.6.1.4.1.9.9.826.1.71.7.1.1.2613|66|2613 +1.3.6.1.4.1.9.9.826.1.71.7.1.1.5629|66|5629 +1.3.6.1.4.1.9.9.826.1.71.7.1.1.6147|66|6147 +1.3.6.1.4.1.9.9.826.1.71.7.1.1.7307|66|7307 +1.3.6.1.4.1.9.9.826.1.71.7.1.1.42494|66|42494 +1.3.6.1.4.1.9.9.826.1.71.7.1.1.60192|66|60192 +1.3.6.1.4.1.9.9.826.1.71.7.1.2.2613|4x|7468656972204a6164656420666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.71.7.1.2.5629|4x|7468656972206b657074 +1.3.6.1.4.1.9.9.826.1.71.7.1.2.6147|4x|64726976696e67204a61646564 +1.3.6.1.4.1.9.9.826.1.71.7.1.2.7307|4x|6b6570742064726976696e67204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.71.7.1.2.42494|4x|746865697220616374656420717561696e746c79206b657074206163746564206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.71.7.1.2.60192|4x|6f78656e2064726976696e67206163746564206b657074207468656972206b657074206f78656e20627574206f78656e +1.3.6.1.4.1.9.9.826.1.71.7.1.3.2613|4x|64726976696e6720717561696e746c7920666f7277617264207468656972206163746564207a6f6d6269657320616374656420666f7277617264206f78656e +1.3.6.1.4.1.9.9.826.1.71.7.1.3.5629|4x|7468656972206f78656e206f78656e206b65707420717561696e746c79206b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.71.7.1.3.6147|4|acted +1.3.6.1.4.1.9.9.826.1.71.7.1.3.7307|4x|746865697220717561696e746c79206f78656e2062757420666f7277617264207468656972206f78656e207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.71.7.1.3.42494|4x|616374656420746865697220717561696e746c7920666f727761726420666f72776172642064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.71.7.1.3.60192|4x|616374656420746865697220717561696e746c79206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.71.7.1.4.2613|2|1 +1.3.6.1.4.1.9.9.826.1.71.7.1.4.5629|2|1 +1.3.6.1.4.1.9.9.826.1.71.7.1.4.6147|2|1 +1.3.6.1.4.1.9.9.826.1.71.7.1.4.7307|2|0 +1.3.6.1.4.1.9.9.826.1.71.7.1.4.42494|2|1 +1.3.6.1.4.1.9.9.826.1.71.7.1.4.60192|2|1 +1.3.6.1.4.1.9.9.826.1.71.7.1.5.2613|4x|6275742062757420666f72776172642074686569722062757420627574207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.71.7.1.5.5629|4x|64726976696e67206f78656e206f78656e207468656972207468656972206275742064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.71.7.1.5.6147|4x|6b65707420746865697220627574206b657074 +1.3.6.1.4.1.9.9.826.1.71.7.1.5.7307|4|zombies +1.3.6.1.4.1.9.9.826.1.71.7.1.5.42494|4x|717561696e746c792064726976696e6720746865697220746865697220666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.71.7.1.5.60192|4x|7a6f6d626965732064726976696e672062757420627574206f78656e206163746564 +1.3.6.1.4.1.9.9.826.1.71.7.1.6.2613|4x|4a6164656420746865697220717561696e746c79 +1.3.6.1.4.1.9.9.826.1.71.7.1.6.5629|4x|7468656972207468656972206163746564 +1.3.6.1.4.1.9.9.826.1.71.7.1.6.6147|4x|6f78656e2064726976696e67 +1.3.6.1.4.1.9.9.826.1.71.7.1.6.7307|4x|666f727761726420746865697220717561696e746c79206f78656e206b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.71.7.1.6.42494|4|zombies +1.3.6.1.4.1.9.9.826.1.71.7.1.6.60192|4x|666f727761726420666f7277617264 +1.3.6.1.4.1.9.9.826.1.71.7.1.7.2613|2|3 +1.3.6.1.4.1.9.9.826.1.71.7.1.7.5629|2|2 +1.3.6.1.4.1.9.9.826.1.71.7.1.7.6147|2|0 +1.3.6.1.4.1.9.9.826.1.71.7.1.7.7307|2|1 +1.3.6.1.4.1.9.9.826.1.71.7.1.7.42494|2|1 +1.3.6.1.4.1.9.9.826.1.71.7.1.7.60192|2|2 +1.3.6.1.4.1.9.9.826.1.71.7.1.8.2613|2|4 +1.3.6.1.4.1.9.9.826.1.71.7.1.8.5629|2|4 +1.3.6.1.4.1.9.9.826.1.71.7.1.8.6147|2|3 +1.3.6.1.4.1.9.9.826.1.71.7.1.8.7307|2|2 +1.3.6.1.4.1.9.9.826.1.71.7.1.8.42494|2|3 +1.3.6.1.4.1.9.9.826.1.71.7.1.8.60192|2|1 +1.3.6.1.4.1.9.9.826.1.71.7.1.9.2613|66|1 +1.3.6.1.4.1.9.9.826.1.71.7.1.9.5629|66|3 +1.3.6.1.4.1.9.9.826.1.71.7.1.9.6147|66|1 +1.3.6.1.4.1.9.9.826.1.71.7.1.9.7307|66|3 +1.3.6.1.4.1.9.9.826.1.71.7.1.9.42494|66|3 +1.3.6.1.4.1.9.9.826.1.71.7.1.9.60192|66|1 +1.3.6.1.4.1.9.9.826.1.71.7.1.10.2613|2|0 +1.3.6.1.4.1.9.9.826.1.71.7.1.10.5629|2|2 +1.3.6.1.4.1.9.9.826.1.71.7.1.10.6147|2|1 +1.3.6.1.4.1.9.9.826.1.71.7.1.10.7307|2|2 +1.3.6.1.4.1.9.9.826.1.71.7.1.10.42494|2|2 +1.3.6.1.4.1.9.9.826.1.71.7.1.10.60192|2|0 +1.3.6.1.4.1.9.9.826.1.71.7.1.11.2613|2|5 +1.3.6.1.4.1.9.9.826.1.71.7.1.11.5629|2|11 +1.3.6.1.4.1.9.9.826.1.71.7.1.11.6147|2|15 +1.3.6.1.4.1.9.9.826.1.71.7.1.11.7307|2|8 +1.3.6.1.4.1.9.9.826.1.71.7.1.11.42494|2|8 +1.3.6.1.4.1.9.9.826.1.71.7.1.11.60192|2|6 +1.3.6.1.4.1.9.9.826.1.71.7.1.12.2613|4x|627574206b657074206f78656e206163746564207468656972206b657074206f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.71.7.1.12.5629|4|zombies +1.3.6.1.4.1.9.9.826.1.71.7.1.12.6147|4x|6f78656e20717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.71.7.1.12.7307|4x|6f78656e20717561696e746c79207468656972204a61646564 +1.3.6.1.4.1.9.9.826.1.71.7.1.12.42494|4|acted +1.3.6.1.4.1.9.9.826.1.71.7.1.12.60192|4x|6b6570742064726976696e6720746865697220746865697220717561696e746c79206f78656e2064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.71.7.1.13.2613|2|2 +1.3.6.1.4.1.9.9.826.1.71.7.1.13.5629|2|1 +1.3.6.1.4.1.9.9.826.1.71.7.1.13.6147|2|5 +1.3.6.1.4.1.9.9.826.1.71.7.1.13.7307|2|5 +1.3.6.1.4.1.9.9.826.1.71.7.1.13.42494|2|0 +1.3.6.1.4.1.9.9.826.1.71.7.1.13.60192|2|4 +1.3.6.1.4.1.9.9.826.1.71.7.1.14.2613|2|5 +1.3.6.1.4.1.9.9.826.1.71.7.1.14.5629|2|14 +1.3.6.1.4.1.9.9.826.1.71.7.1.14.6147|2|5 +1.3.6.1.4.1.9.9.826.1.71.7.1.14.7307|2|0 +1.3.6.1.4.1.9.9.826.1.71.7.1.14.42494|2|5 +1.3.6.1.4.1.9.9.826.1.71.7.1.14.60192|2|10 +1.3.6.1.4.1.9.9.826.1.71.7.1.15.2613|4x|64726976696e6720717561696e746c79206f78656e204a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.71.7.1.15.5629|4x|6f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.71.7.1.15.6147|4x|64726976696e67207a6f6d6269657320666f727761726420666f7277617264 +1.3.6.1.4.1.9.9.826.1.71.7.1.15.7307|4x|717561696e746c79206f78656e207468656972 +1.3.6.1.4.1.9.9.826.1.71.7.1.15.42494|4x|6f78656e20666f72776172642064726976696e6720666f7277617264206f78656e +1.3.6.1.4.1.9.9.826.1.71.7.1.15.60192|4x|4a61646564206275742074686569722064726976696e6720666f72776172642064726976696e67206b65707420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.71.7.1.16.2613|4x|4a616465642064726976696e6720666f7277617264204a6164656420666f7277617264207a6f6d6269657320666f7277617264 +1.3.6.1.4.1.9.9.826.1.71.7.1.16.5629|4x|6163746564206275742074686569722074686569722064726976696e6720666f727761726420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.71.7.1.16.6147|4x|62757420666f7277617264207a6f6d62696573206275742064726976696e67206b65707420627574 +1.3.6.1.4.1.9.9.826.1.71.7.1.16.7307|4x|4a6164656420627574206b6570742062757420717561696e746c79206b6570742062757420717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.71.7.1.16.42494|4|Jaded +1.3.6.1.4.1.9.9.826.1.71.7.1.16.60192|4x|6f78656e20627574206b65707420666f72776172642062757420666f72776172642064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.71.7.1.17.2613|4|oxen +1.3.6.1.4.1.9.9.826.1.71.7.1.17.5629|4x|6163746564206163746564207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.71.7.1.17.6147|4x|717561696e746c79207468656972206275742064726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.71.7.1.17.7307|4x|62757420717561696e746c7920717561696e746c79206f78656e20717561696e746c79207a6f6d6269657320666f72776172642064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.71.7.1.17.42494|4x|6f78656e204a61646564206163746564206b657074206b6570742064726976696e6720627574 +1.3.6.1.4.1.9.9.826.1.71.7.1.17.60192|4x|6b657074206b657074206f78656e207468656972207468656972206f78656e2064726976696e6720616374656420627574 +1.3.6.1.4.1.9.9.826.1.71.7.1.18.2613|2|1 +1.3.6.1.4.1.9.9.826.1.71.7.1.18.5629|2|2 +1.3.6.1.4.1.9.9.826.1.71.7.1.18.6147|2|1 +1.3.6.1.4.1.9.9.826.1.71.7.1.18.7307|2|2 +1.3.6.1.4.1.9.9.826.1.71.7.1.18.42494|2|1 +1.3.6.1.4.1.9.9.826.1.71.7.1.18.60192|2|2 +1.3.6.1.4.1.9.9.826.1.71.7.1.29.2613|4x|4a61646564206163746564206b6570742064726976696e67206b65707420627574 +1.3.6.1.4.1.9.9.826.1.71.7.1.29.5629|4x|4a61646564206163746564207468656972204a6164656420666f7277617264206163746564207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.71.7.1.29.6147|4x|717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.71.7.1.29.7307|4x|6b657074206163746564206163746564206f78656e207a6f6d6269657320627574206b65707420666f727761726420627574 +1.3.6.1.4.1.9.9.826.1.71.7.1.29.42494|4x|6b657074207a6f6d6269657320717561696e746c7920717561696e746c79207a6f6d62696573206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.71.7.1.29.60192|4|zombies +1.3.6.1.4.1.9.9.826.1.71.7.1.30.2613|4x|6b657074207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.71.7.1.30.5629|4x|717561696e746c79206f78656e207468656972207a6f6d6269657320627574 +1.3.6.1.4.1.9.9.826.1.71.7.1.30.6147|4x|6163746564207468656972204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.71.7.1.30.7307|4x|717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.71.7.1.30.42494|4x|64726976696e67206163746564204a6164656420746865697220627574 +1.3.6.1.4.1.9.9.826.1.71.7.1.30.60192|4|their +1.3.6.1.4.1.9.9.826.1.71.7.1.31.2613|2|1 +1.3.6.1.4.1.9.9.826.1.71.7.1.31.5629|2|2 +1.3.6.1.4.1.9.9.826.1.71.7.1.31.6147|2|1 +1.3.6.1.4.1.9.9.826.1.71.7.1.31.7307|2|0 +1.3.6.1.4.1.9.9.826.1.71.7.1.31.42494|2|2 +1.3.6.1.4.1.9.9.826.1.71.7.1.31.60192|2|1 +1.3.6.1.4.1.9.9.826.1.71.7.1.32.2613|2|1 +1.3.6.1.4.1.9.9.826.1.71.7.1.32.5629|2|2 +1.3.6.1.4.1.9.9.826.1.71.7.1.32.6147|2|2 +1.3.6.1.4.1.9.9.826.1.71.7.1.32.7307|2|1 +1.3.6.1.4.1.9.9.826.1.71.7.1.32.42494|2|2 +1.3.6.1.4.1.9.9.826.1.71.7.1.32.60192|2|2 +1.3.6.1.4.1.9.9.826.1.71.7.1.33.2613|4x|6275742064726976696e67206b657074207468656972 +1.3.6.1.4.1.9.9.826.1.71.7.1.33.5629|4x|64726976696e67206f78656e +1.3.6.1.4.1.9.9.826.1.71.7.1.33.6147|4x|717561696e746c792074686569722064726976696e6720746865697220666f727761726420666f7277617264 +1.3.6.1.4.1.9.9.826.1.71.7.1.33.7307|4x|627574204a61646564207a6f6d62696573207468656972207a6f6d6269657320717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.71.7.1.33.42494|4x|6b6570742064726976696e6720666f7277617264 +1.3.6.1.4.1.9.9.826.1.71.7.1.33.60192|4x|6b65707420666f7277617264 +1.3.6.1.4.1.9.9.826.1.71.7.1.34.2613|4|forward +1.3.6.1.4.1.9.9.826.1.71.7.1.34.5629|4x|6f78656e20746865697220717561696e746c79207468656972206b65707420666f727761726420666f7277617264206163746564 +1.3.6.1.4.1.9.9.826.1.71.7.1.34.6147|4x|616374656420627574207a6f6d62696573206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.71.7.1.34.7307|4|zombies +1.3.6.1.4.1.9.9.826.1.71.7.1.34.42494|4x|6f78656e204a61646564207a6f6d62696573206f78656e20666f7277617264206f78656e2064726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.71.7.1.34.60192|4x|717561696e746c7920717561696e746c792064726976696e67 +1.3.6.1.4.1.9.9.826.1.71.7.1.35.2613|4x|7468656972207a6f6d62696573204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.71.7.1.35.5629|4|oxen +1.3.6.1.4.1.9.9.826.1.71.7.1.35.6147|4x|64726976696e67206f78656e20666f7277617264204a61646564 +1.3.6.1.4.1.9.9.826.1.71.7.1.35.7307|4x|666f7277617264206b657074204a6164656420717561696e746c79207468656972206163746564206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.71.7.1.35.42494|4x|666f727761726420627574204a61646564206b657074 +1.3.6.1.4.1.9.9.826.1.71.7.1.35.60192|4x|717561696e746c79204a61646564207468656972207468656972206b657074 +1.3.6.1.4.1.9.9.826.1.71.7.1.36.2613|2|1 +1.3.6.1.4.1.9.9.826.1.71.7.1.36.5629|2|2 +1.3.6.1.4.1.9.9.826.1.71.7.1.36.6147|2|2 +1.3.6.1.4.1.9.9.826.1.71.7.1.36.7307|2|1 +1.3.6.1.4.1.9.9.826.1.71.7.1.36.42494|2|1 +1.3.6.1.4.1.9.9.826.1.71.7.1.36.60192|2|1 +1.3.6.1.4.1.9.9.826.1.71.8.1.1.25317|66|25317 +1.3.6.1.4.1.9.9.826.1.71.8.1.1.25965|66|25965 +1.3.6.1.4.1.9.9.826.1.71.8.1.1.53382|66|53382 +1.3.6.1.4.1.9.9.826.1.71.8.1.1.59683|66|59683 +1.3.6.1.4.1.9.9.826.1.71.8.1.1.63031|66|63031 +1.3.6.1.4.1.9.9.826.1.71.8.1.1.65307|66|65307 +1.3.6.1.4.1.9.9.826.1.71.9.1.1.6593|66|6593 +1.3.6.1.4.1.9.9.826.1.71.9.1.1.11464|66|11464 +1.3.6.1.4.1.9.9.826.1.71.9.1.1.24749|66|24749 +1.3.6.1.4.1.9.9.826.1.71.9.1.1.31824|66|31824 +1.3.6.1.4.1.9.9.826.1.71.9.1.1.42677|66|42677 +1.3.6.1.4.1.9.9.826.1.71.9.1.1.59235|66|59235 +1.3.6.1.4.1.9.9.826.1.71.9.1.2.6593|4|but +1.3.6.1.4.1.9.9.826.1.71.9.1.2.11464|4x|717561696e746c7920666f7277617264207468656972206f78656e206275742064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.71.9.1.2.24749|4x|7a6f6d62696573207468656972204a61646564206f78656e206163746564207468656972 +1.3.6.1.4.1.9.9.826.1.71.9.1.2.31824|4x|746865697220627574207468656972204a61646564206f78656e206163746564206f78656e +1.3.6.1.4.1.9.9.826.1.71.9.1.2.42677|4x|7a6f6d62696573206b657074 +1.3.6.1.4.1.9.9.826.1.71.9.1.2.59235|4x|717561696e746c792064726976696e6720666f727761726420666f72776172642064726976696e67206163746564207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.71.9.1.3.6593|4x|6f78656e204a61646564 +1.3.6.1.4.1.9.9.826.1.71.9.1.3.11464|4x|6b65707420717561696e746c79207a6f6d6269657320746865697220717561696e746c79204a616465642062757420627574206f78656e +1.3.6.1.4.1.9.9.826.1.71.9.1.3.24749|4x|616374656420627574206f78656e20717561696e746c792062757420616374656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.71.9.1.3.31824|4|their +1.3.6.1.4.1.9.9.826.1.71.9.1.3.42677|4|Jaded +1.3.6.1.4.1.9.9.826.1.71.9.1.3.59235|4x|4a61646564207468656972207a6f6d62696573206163746564206163746564 +1.3.6.1.4.1.9.9.826.1.71.9.1.4.6593|4x|7a6f6d62696573207a6f6d626965732064726976696e67207468656972 +1.3.6.1.4.1.9.9.826.1.71.9.1.4.11464|4x|666f7277617264206f78656e20746865697220616374656420666f72776172642064726976696e6720717561696e746c79 +1.3.6.1.4.1.9.9.826.1.71.9.1.4.24749|4x|6b6570742064726976696e6720666f7277617264 +1.3.6.1.4.1.9.9.826.1.71.9.1.4.31824|4x|61637465642061637465642061637465642064726976696e67206275742064726976696e6720627574206b657074 +1.3.6.1.4.1.9.9.826.1.71.9.1.4.42677|4x|6f78656e20717561696e746c7920627574204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.71.9.1.4.59235|4x|64726976696e67206f78656e206b65707420717561696e746c79207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.71.9.1.5.6593|4x|4a61646564206163746564207a6f6d62696573207468656972206b657074207a6f6d62696573 +1.3.6.1.4.1.9.9.826.1.71.9.1.5.11464|4x|6f78656e207a6f6d6269657320746865697220666f72776172642064726976696e67 +1.3.6.1.4.1.9.9.826.1.71.9.1.5.24749|4x|746865697220666f7277617264207a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.71.9.1.5.31824|4x|627574206b65707420616374656420627574 +1.3.6.1.4.1.9.9.826.1.71.9.1.5.42677|4x|6275742062757420616374656420717561696e746c79206163746564 +1.3.6.1.4.1.9.9.826.1.71.9.1.5.59235|4x|6f78656e2064726976696e672064726976696e67 +1.3.6.1.4.1.9.9.826.1.71.9.1.6.6593|66|3043650283 +1.3.6.1.4.1.9.9.826.1.71.9.1.6.11464|66|2431138188 +1.3.6.1.4.1.9.9.826.1.71.9.1.6.24749|66|1683373694 +1.3.6.1.4.1.9.9.826.1.71.9.1.6.31824|66|2955808200 +1.3.6.1.4.1.9.9.826.1.71.9.1.6.42677|66|2832094140 +1.3.6.1.4.1.9.9.826.1.71.9.1.6.59235|66|2892416598 +1.3.6.1.4.1.9.9.826.1.71.9.1.7.6593|4x|64726976696e67206b6570742064726976696e672064726976696e67206f78656e +1.3.6.1.4.1.9.9.826.1.71.9.1.7.11464|4x|7a6f6d62696573206163746564206b657074 +1.3.6.1.4.1.9.9.826.1.71.9.1.7.24749|4x|4a6164656420627574204a61646564207468656972207a6f6d62696573207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.71.9.1.7.31824|4x|64726976696e67204a6164656420616374656420717561696e746c79206163746564204a61646564 +1.3.6.1.4.1.9.9.826.1.71.9.1.7.42677|4x|6f78656e2064726976696e6720717561696e746c79207a6f6d626965732064726976696e67206b657074 +1.3.6.1.4.1.9.9.826.1.71.9.1.7.59235|4x|717561696e746c7920627574 +1.3.6.1.4.1.9.9.826.1.71.9.1.8.6593|66|2219893133 +1.3.6.1.4.1.9.9.826.1.71.9.1.8.11464|66|2597692535 +1.3.6.1.4.1.9.9.826.1.71.9.1.8.24749|66|1828788718 +1.3.6.1.4.1.9.9.826.1.71.9.1.8.31824|66|963358171 +1.3.6.1.4.1.9.9.826.1.71.9.1.8.42677|66|437004749 +1.3.6.1.4.1.9.9.826.1.71.9.1.8.59235|66|1369907457 +1.3.6.1.4.1.9.9.826.1.71.9.1.9.6593|66|3636712709 +1.3.6.1.4.1.9.9.826.1.71.9.1.9.11464|66|1390248128 +1.3.6.1.4.1.9.9.826.1.71.9.1.9.24749|66|435608098 +1.3.6.1.4.1.9.9.826.1.71.9.1.9.31824|66|21955187 +1.3.6.1.4.1.9.9.826.1.71.9.1.9.42677|66|2788186176 +1.3.6.1.4.1.9.9.826.1.71.9.1.9.59235|66|2753245195 +1.3.6.1.4.1.9.9.826.1.71.9.1.10.6593|66|3870681013 +1.3.6.1.4.1.9.9.826.1.71.9.1.10.11464|66|4197140852 +1.3.6.1.4.1.9.9.826.1.71.9.1.10.24749|66|1113002866 +1.3.6.1.4.1.9.9.826.1.71.9.1.10.31824|66|2944661644 +1.3.6.1.4.1.9.9.826.1.71.9.1.10.42677|66|4213840975 +1.3.6.1.4.1.9.9.826.1.71.9.1.10.59235|66|3913405695 +1.3.6.1.4.1.9.9.826.1.71.9.1.11.6593|66|787189767 +1.3.6.1.4.1.9.9.826.1.71.9.1.11.11464|66|2334973366 +1.3.6.1.4.1.9.9.826.1.71.9.1.11.24749|66|745605905 +1.3.6.1.4.1.9.9.826.1.71.9.1.11.31824|66|3238669982 +1.3.6.1.4.1.9.9.826.1.71.9.1.11.42677|66|3549638200 +1.3.6.1.4.1.9.9.826.1.71.9.1.11.59235|66|70670813 +1.3.6.1.4.1.9.9.826.1.71.9.1.12.6593|66|3561805295 +1.3.6.1.4.1.9.9.826.1.71.9.1.12.11464|66|3525545580 +1.3.6.1.4.1.9.9.826.1.71.9.1.12.24749|66|394972436 +1.3.6.1.4.1.9.9.826.1.71.9.1.12.31824|66|90880660 +1.3.6.1.4.1.9.9.826.1.71.9.1.12.42677|66|3832435945 +1.3.6.1.4.1.9.9.826.1.71.9.1.12.59235|66|2217580498 +1.3.6.1.4.1.9.9.826.1.71.10.1.1.9189|66|9189 +1.3.6.1.4.1.9.9.826.1.71.10.1.1.37383|66|37383 +1.3.6.1.4.1.9.9.826.1.71.10.1.1.42302|66|42302 +1.3.6.1.4.1.9.9.826.1.71.10.1.1.42439|66|42439 +1.3.6.1.4.1.9.9.826.1.71.10.1.1.42533|66|42533 +1.3.6.1.4.1.9.9.826.1.71.10.1.1.56553|66|56553 +1.3.6.1.4.1.9.9.826.1.71.11.1.1.946|66|946 +1.3.6.1.4.1.9.9.826.1.71.11.1.1.13049|66|13049 +1.3.6.1.4.1.9.9.826.1.71.11.1.1.37239|66|37239 +1.3.6.1.4.1.9.9.826.1.71.11.1.1.44131|66|44131 +1.3.6.1.4.1.9.9.826.1.71.11.1.1.47453|66|47453 +1.3.6.1.4.1.9.9.826.1.71.11.1.1.47937|66|47937 +1.3.6.1.4.1.9.9.826.1.71.12.1.1.14135|66|14135 +1.3.6.1.4.1.9.9.826.1.71.12.1.1.19889|66|19889 +1.3.6.1.4.1.9.9.826.1.71.12.1.1.26351|66|26351 +1.3.6.1.4.1.9.9.826.1.71.12.1.1.38352|66|38352 +1.3.6.1.4.1.9.9.826.1.71.12.1.1.44494|66|44494 +1.3.6.1.4.1.9.9.826.1.71.12.1.1.58500|66|58500 +1.3.6.1.4.1.9.9.826.1.71.13.1.1.4828|66|4828 +1.3.6.1.4.1.9.9.826.1.71.13.1.1.12206|66|12206 +1.3.6.1.4.1.9.9.826.1.71.13.1.1.16093|66|16093 +1.3.6.1.4.1.9.9.826.1.71.13.1.1.19136|66|19136 +1.3.6.1.4.1.9.9.826.1.71.13.1.1.51619|66|51619 +1.3.6.1.4.1.9.9.826.1.71.13.1.1.56371|66|56371 +1.3.6.1.4.1.9.9.826.1.71.14.1.1.5468|66|5468 +1.3.6.1.4.1.9.9.826.1.71.14.1.1.27974|66|27974 +1.3.6.1.4.1.9.9.826.1.71.14.1.1.33384|66|33384 +1.3.6.1.4.1.9.9.826.1.71.14.1.1.35435|66|35435 +1.3.6.1.4.1.9.9.826.1.71.14.1.1.37252|66|37252 +1.3.6.1.4.1.9.9.826.1.71.14.1.1.48902|66|48902 +1.3.6.1.4.1.9.9.826.1.71.15.1.1.534|66|534 +1.3.6.1.4.1.9.9.826.1.71.15.1.1.3756|66|3756 +1.3.6.1.4.1.9.9.826.1.71.15.1.1.7195|66|7195 +1.3.6.1.4.1.9.9.826.1.71.15.1.1.34611|66|34611 +1.3.6.1.4.1.9.9.826.1.71.15.1.1.55467|66|55467 +1.3.6.1.4.1.9.9.826.1.71.15.1.1.62878|66|62878 +1.3.6.1.4.1.9.9.826.1.71.16.1.1.1447|66|1447 +1.3.6.1.4.1.9.9.826.1.71.16.1.1.11769|66|11769 +1.3.6.1.4.1.9.9.826.1.71.16.1.1.12628|66|12628 +1.3.6.1.4.1.9.9.826.1.71.16.1.1.31006|66|31006 +1.3.6.1.4.1.9.9.826.1.71.16.1.1.32732|66|32732 +1.3.6.1.4.1.9.9.826.1.71.16.1.1.41456|66|41456 +1.3.6.1.4.1.9.9.826.1.71.17.1.1.10510|66|10510 +1.3.6.1.4.1.9.9.826.1.71.17.1.1.12574|66|12574 +1.3.6.1.4.1.9.9.826.1.71.17.1.1.16670|66|16670 +1.3.6.1.4.1.9.9.826.1.71.17.1.1.28242|66|28242 +1.3.6.1.4.1.9.9.826.1.71.17.1.1.41412|66|41412 +1.3.6.1.4.1.9.9.826.1.71.17.1.1.41748|66|41748 +1.3.6.1.4.1.9.9.826.1.71.18.1.1.5387|66|5387 +1.3.6.1.4.1.9.9.826.1.71.18.1.1.7898|66|7898 +1.3.6.1.4.1.9.9.826.1.71.18.1.1.13163|66|13163 +1.3.6.1.4.1.9.9.826.1.71.18.1.1.49158|66|49158 +1.3.6.1.4.1.9.9.826.1.71.18.1.1.50980|66|50980 +1.3.6.1.4.1.9.9.826.1.71.18.1.1.57860|66|57860 +1.3.6.1.4.1.9.9.826.1.71.19.1.1.2257|66|2257 +1.3.6.1.4.1.9.9.826.1.71.19.1.1.2710|66|2710 +1.3.6.1.4.1.9.9.826.1.71.19.1.1.2948|66|2948 +1.3.6.1.4.1.9.9.826.1.71.19.1.1.5914|66|5914 +1.3.6.1.4.1.9.9.826.1.71.19.1.1.16705|66|16705 +1.3.6.1.4.1.9.9.826.1.71.19.1.1.63785|66|63785 +1.3.6.1.4.1.9.9.826.1.71.20.1.1.11603|66|11603 +1.3.6.1.4.1.9.9.826.1.71.20.1.1.14559|66|14559 +1.3.6.1.4.1.9.9.826.1.71.20.1.1.20786|66|20786 +1.3.6.1.4.1.9.9.826.1.71.20.1.1.21724|66|21724 +1.3.6.1.4.1.9.9.826.1.71.20.1.1.41868|66|41868 +1.3.6.1.4.1.9.9.826.1.71.20.1.1.47424|66|47424 +1.3.6.1.4.1.9.9.826.1.71.20.1.2.11603|4|forward +1.3.6.1.4.1.9.9.826.1.71.20.1.2.14559|4x|7468656972206f78656e20717561696e746c79204a61646564206f78656e207468656972206163746564206b6570742064726976696e67 +1.3.6.1.4.1.9.9.826.1.71.20.1.2.20786|4x|746865697220666f72776172642074686569722064726976696e67206f78656e +1.3.6.1.4.1.9.9.826.1.71.20.1.2.21724|4x|7468656972207a6f6d62696573206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.71.20.1.2.41868|4x|4a61646564206f78656e +1.3.6.1.4.1.9.9.826.1.71.20.1.2.47424|4x|627574204a61646564206b657074207a6f6d626965732062757420627574204a61646564 +1.3.6.1.4.1.9.9.826.1.71.20.1.3.11603|4x|6f78656e20666f7277617264206b657074206f78656e206b657074206b657074206163746564 +1.3.6.1.4.1.9.9.826.1.71.20.1.3.14559|4x|7a6f6d62696573206163746564 +1.3.6.1.4.1.9.9.826.1.71.20.1.3.20786|4x|627574206b657074 +1.3.6.1.4.1.9.9.826.1.71.20.1.3.21724|4x|666f7277617264207a6f6d6269657320746865697220717561696e746c79207468656972207a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.71.20.1.3.41868|4x|717561696e746c7920666f7277617264206f78656e204a6164656420616374656420717561696e746c79 +1.3.6.1.4.1.9.9.826.1.71.20.1.3.47424|4x|666f7277617264204a6164656420627574206163746564 +1.3.6.1.4.1.9.9.826.1.71.20.1.4.11603|4x|4a6164656420666f727761726420717561696e746c7920717561696e746c79 +1.3.6.1.4.1.9.9.826.1.71.20.1.4.14559|4x|666f7277617264204a6164656420666f7277617264 +1.3.6.1.4.1.9.9.826.1.71.20.1.4.20786|4x|666f727761726420717561696e746c79207468656972 +1.3.6.1.4.1.9.9.826.1.71.20.1.4.21724|4|oxen +1.3.6.1.4.1.9.9.826.1.71.20.1.4.41868|4x|7468656972207468656972204a61646564207a6f6d6269657320666f727761726420717561696e746c7920717561696e746c79204a61646564 +1.3.6.1.4.1.9.9.826.1.71.20.1.4.47424|4x|6f78656e204a61646564207468656972206f78656e206b657074207a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.9.9.826.1.71.20.1.5.11603|2|30 +1.3.6.1.4.1.9.9.826.1.71.20.1.5.14559|2|24 +1.3.6.1.4.1.9.9.826.1.71.20.1.5.20786|2|30 +1.3.6.1.4.1.9.9.826.1.71.20.1.5.21724|2|18 +1.3.6.1.4.1.9.9.826.1.71.20.1.5.41868|2|20 +1.3.6.1.4.1.9.9.826.1.71.20.1.5.47424|2|31 +1.3.6.1.4.1.9.9.826.1.71.20.1.6.11603|2|6 +1.3.6.1.4.1.9.9.826.1.71.20.1.6.14559|2|20 +1.3.6.1.4.1.9.9.826.1.71.20.1.6.20786|2|25 +1.3.6.1.4.1.9.9.826.1.71.20.1.6.21724|2|0 +1.3.6.1.4.1.9.9.826.1.71.20.1.6.41868|2|17 +1.3.6.1.4.1.9.9.826.1.71.20.1.6.47424|2|7 +1.3.6.1.4.1.9.9.826.1.71.20.1.7.11603|2|20 +1.3.6.1.4.1.9.9.826.1.71.20.1.7.14559|2|27 +1.3.6.1.4.1.9.9.826.1.71.20.1.7.20786|2|7 +1.3.6.1.4.1.9.9.826.1.71.20.1.7.21724|2|17 +1.3.6.1.4.1.9.9.826.1.71.20.1.7.41868|2|18 +1.3.6.1.4.1.9.9.826.1.71.20.1.7.47424|2|25 +1.3.6.1.4.1.9.9.826.1.71.20.1.8.11603|66|3830381330 +1.3.6.1.4.1.9.9.826.1.71.20.1.8.14559|66|2875239877 +1.3.6.1.4.1.9.9.826.1.71.20.1.8.20786|66|1742214002 +1.3.6.1.4.1.9.9.826.1.71.20.1.8.21724|66|980145567 +1.3.6.1.4.1.9.9.826.1.71.20.1.8.41868|66|3751791631 +1.3.6.1.4.1.9.9.826.1.71.20.1.8.47424|66|73545322 +1.3.6.1.4.1.9.9.826.1.71.20.1.9.11603|66|3983609693 +1.3.6.1.4.1.9.9.826.1.71.20.1.9.14559|66|3817772358 +1.3.6.1.4.1.9.9.826.1.71.20.1.9.20786|66|2234260588 +1.3.6.1.4.1.9.9.826.1.71.20.1.9.21724|66|4043269434 +1.3.6.1.4.1.9.9.826.1.71.20.1.9.41868|66|1753985295 +1.3.6.1.4.1.9.9.826.1.71.20.1.9.47424|66|2134537808 +1.3.6.1.4.1.9.9.826.1.71.20.1.10.11603|66|3142986408 +1.3.6.1.4.1.9.9.826.1.71.20.1.10.14559|66|2397697428 +1.3.6.1.4.1.9.9.826.1.71.20.1.10.20786|66|1063211546 +1.3.6.1.4.1.9.9.826.1.71.20.1.10.21724|66|2741537030 +1.3.6.1.4.1.9.9.826.1.71.20.1.10.41868|66|2625252931 +1.3.6.1.4.1.9.9.826.1.71.20.1.10.47424|66|41382772 +1.3.6.1.4.1.9.9.826.1.71.20.1.11.11603|66|2206395343 +1.3.6.1.4.1.9.9.826.1.71.20.1.11.14559|66|1598612346 +1.3.6.1.4.1.9.9.826.1.71.20.1.11.20786|66|1784129943 +1.3.6.1.4.1.9.9.826.1.71.20.1.11.21724|66|3667933207 +1.3.6.1.4.1.9.9.826.1.71.20.1.11.41868|66|4086811105 +1.3.6.1.4.1.9.9.826.1.71.20.1.11.47424|66|4146951785 +1.3.6.1.4.1.9.9.826.1.71.20.1.12.11603|4x|7468656972206163746564206f78656e20666f727761726420627574206f78656e20666f7277617264207a6f6d62696573207468656972 +1.3.6.1.4.1.9.9.826.1.71.20.1.12.14559|4x|6b6570742064726976696e67206163746564 +1.3.6.1.4.1.9.9.826.1.71.20.1.12.20786|4x|616374656420616374656420666f7277617264206f78656e +1.3.6.1.4.1.9.9.826.1.71.20.1.12.21724|4x|6f78656e20666f7277617264206b6570742064726976696e67206f78656e2061637465642064726976696e67206f78656e20666f7277617264 +1.3.6.1.4.1.9.9.826.1.71.20.1.12.41868|4x|666f7277617264207468656972207a6f6d626965732064726976696e67207a6f6d626965732062757420717561696e746c79206f78656e206f78656e +1.3.6.1.4.1.9.9.826.1.71.20.1.12.47424|4x|746865697220627574206b65707420666f727761726420627574 +1.3.6.1.4.1.9.9.826.1.71.20.1.13.11603|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.71.20.1.13.14559|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.71.20.1.13.20786|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.71.20.1.13.21724|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.71.20.1.13.41868|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.71.20.1.13.47424|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.71.20.1.14.11603|66|514380030 +1.3.6.1.4.1.9.9.826.1.71.20.1.14.14559|66|3892765960 +1.3.6.1.4.1.9.9.826.1.71.20.1.14.20786|66|2352583792 +1.3.6.1.4.1.9.9.826.1.71.20.1.14.21724|66|1318324879 +1.3.6.1.4.1.9.9.826.1.71.20.1.14.41868|66|341748633 +1.3.6.1.4.1.9.9.826.1.71.20.1.14.47424|66|2921675741 +1.3.6.1.4.1.9.9.826.1.71.20.1.15.11603|66|3767775436 +1.3.6.1.4.1.9.9.826.1.71.20.1.15.14559|66|2413508120 +1.3.6.1.4.1.9.9.826.1.71.20.1.15.20786|66|3042441126 +1.3.6.1.4.1.9.9.826.1.71.20.1.15.21724|66|986850195 +1.3.6.1.4.1.9.9.826.1.71.20.1.15.41868|66|2106008402 +1.3.6.1.4.1.9.9.826.1.71.20.1.15.47424|66|3893471816 +1.3.6.1.4.1.9.9.826.1.71.20.1.16.11603|66|1475041857 +1.3.6.1.4.1.9.9.826.1.71.20.1.16.14559|66|2834329028 +1.3.6.1.4.1.9.9.826.1.71.20.1.16.20786|66|2264402127 +1.3.6.1.4.1.9.9.826.1.71.20.1.16.21724|66|3608789512 +1.3.6.1.4.1.9.9.826.1.71.20.1.16.41868|66|3561901328 +1.3.6.1.4.1.9.9.826.1.71.20.1.16.47424|66|1766530032 +1.3.6.1.4.1.9.9.826.1.71.20.1.17.11603|66|2437841047 +1.3.6.1.4.1.9.9.826.1.71.20.1.17.14559|66|3743214938 +1.3.6.1.4.1.9.9.826.1.71.20.1.17.20786|66|2003695737 +1.3.6.1.4.1.9.9.826.1.71.20.1.17.21724|66|3994102158 +1.3.6.1.4.1.9.9.826.1.71.20.1.17.41868|66|3292738576 +1.3.6.1.4.1.9.9.826.1.71.20.1.17.47424|66|3310726240 +1.3.6.1.4.1.9.9.826.1.71.20.1.18.11603|66|1783763090 +1.3.6.1.4.1.9.9.826.1.71.20.1.18.14559|66|3121171806 +1.3.6.1.4.1.9.9.826.1.71.20.1.18.20786|66|21874366 +1.3.6.1.4.1.9.9.826.1.71.20.1.18.21724|66|4086037426 +1.3.6.1.4.1.9.9.826.1.71.20.1.18.41868|66|3847075272 +1.3.6.1.4.1.9.9.826.1.71.20.1.18.47424|66|597457423 +1.3.6.1.4.1.9.9.826.1.71.20.1.19.11603|66|1879485090 +1.3.6.1.4.1.9.9.826.1.71.20.1.19.14559|66|2642587162 +1.3.6.1.4.1.9.9.826.1.71.20.1.19.20786|66|584976168 +1.3.6.1.4.1.9.9.826.1.71.20.1.19.21724|66|290047241 +1.3.6.1.4.1.9.9.826.1.71.20.1.19.41868|66|2633024050 +1.3.6.1.4.1.9.9.826.1.71.20.1.19.47424|66|1603074989 +1.3.6.1.4.1.9.9.826.1.71.20.1.20.11603|66|2938142771 +1.3.6.1.4.1.9.9.826.1.71.20.1.20.14559|66|4237671938 +1.3.6.1.4.1.9.9.826.1.71.20.1.20.20786|66|3285252031 +1.3.6.1.4.1.9.9.826.1.71.20.1.20.21724|66|3504988329 +1.3.6.1.4.1.9.9.826.1.71.20.1.20.41868|66|554870859 +1.3.6.1.4.1.9.9.826.1.71.20.1.20.47424|66|391594963 +1.3.6.1.4.1.9.9.826.1.71.20.1.21.11603|66|1320002316 +1.3.6.1.4.1.9.9.826.1.71.20.1.21.14559|66|3625556004 +1.3.6.1.4.1.9.9.826.1.71.20.1.21.20786|66|147343218 +1.3.6.1.4.1.9.9.826.1.71.20.1.21.21724|66|3578987101 +1.3.6.1.4.1.9.9.826.1.71.20.1.21.41868|66|1809448828 +1.3.6.1.4.1.9.9.826.1.71.20.1.21.47424|66|3495904508 +1.3.6.1.4.1.9.9.826.1.71.20.1.22.11603|66|537197378 +1.3.6.1.4.1.9.9.826.1.71.20.1.22.14559|66|1465049886 +1.3.6.1.4.1.9.9.826.1.71.20.1.22.20786|66|551100823 +1.3.6.1.4.1.9.9.826.1.71.20.1.22.21724|66|1255141776 +1.3.6.1.4.1.9.9.826.1.71.20.1.22.41868|66|1681381794 +1.3.6.1.4.1.9.9.826.1.71.20.1.22.47424|66|3002226079 +1.3.6.1.4.1.9.9.826.1.71.20.1.23.11603|66|771137373 +1.3.6.1.4.1.9.9.826.1.71.20.1.23.14559|66|2545130995 +1.3.6.1.4.1.9.9.826.1.71.20.1.23.20786|66|2152589337 +1.3.6.1.4.1.9.9.826.1.71.20.1.23.21724|66|3420812869 +1.3.6.1.4.1.9.9.826.1.71.20.1.23.41868|66|3856947075 +1.3.6.1.4.1.9.9.826.1.71.20.1.23.47424|66|3028214220 +1.3.6.1.4.1.9.9.826.1.71.20.1.24.11603|66|2576724819 +1.3.6.1.4.1.9.9.826.1.71.20.1.24.14559|66|2195230365 +1.3.6.1.4.1.9.9.826.1.71.20.1.24.20786|66|2514170785 +1.3.6.1.4.1.9.9.826.1.71.20.1.24.21724|66|3194505571 +1.3.6.1.4.1.9.9.826.1.71.20.1.24.41868|66|3644695456 +1.3.6.1.4.1.9.9.826.1.71.20.1.24.47424|66|3261160756 +1.3.6.1.4.1.9.9.826.1.71.20.1.25.11603|66|2017798972 +1.3.6.1.4.1.9.9.826.1.71.20.1.25.14559|66|968538069 +1.3.6.1.4.1.9.9.826.1.71.20.1.25.20786|66|2144619864 +1.3.6.1.4.1.9.9.826.1.71.20.1.25.21724|66|4029644947 +1.3.6.1.4.1.9.9.826.1.71.20.1.25.41868|66|1842828920 +1.3.6.1.4.1.9.9.826.1.71.20.1.25.47424|66|759457389 +1.3.6.1.4.1.9.9.826.1.71.20.1.26.11603|66|168190485 +1.3.6.1.4.1.9.9.826.1.71.20.1.26.14559|66|3178906161 +1.3.6.1.4.1.9.9.826.1.71.20.1.26.20786|66|1900173003 +1.3.6.1.4.1.9.9.826.1.71.20.1.26.21724|66|3817306045 +1.3.6.1.4.1.9.9.826.1.71.20.1.26.41868|66|3169963519 +1.3.6.1.4.1.9.9.826.1.71.20.1.26.47424|66|2639250642 +1.3.6.1.4.1.9.9.826.1.71.20.1.27.11603|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.71.20.1.27.14559|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.71.20.1.27.20786|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.71.20.1.27.21724|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.71.20.1.27.41868|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.71.20.1.27.47424|4x|07d209150d352003 +1.3.6.1.4.1.9.9.826.1.71.24.1.1.1574|66|1574 +1.3.6.1.4.1.9.9.826.1.71.24.1.1.6783|66|6783 +1.3.6.1.4.1.9.9.826.1.71.24.1.1.33510|66|33510 +1.3.6.1.4.1.9.9.826.1.71.24.1.1.38590|66|38590 +1.3.6.1.4.1.9.9.826.1.71.24.1.1.51230|66|51230 +1.3.6.1.4.1.9.9.826.1.71.24.1.1.59296|66|59296 +1.3.6.1.4.1.9.9.826.1.71.25.1.1.126|66|126 +1.3.6.1.4.1.9.9.826.1.71.25.1.1.10108|66|10108 +1.3.6.1.4.1.9.9.826.1.71.25.1.1.23310|66|23310 +1.3.6.1.4.1.9.9.826.1.71.25.1.1.27144|66|27144 +1.3.6.1.4.1.9.9.826.1.71.25.1.1.38185|66|38185 +1.3.6.1.4.1.9.9.826.1.71.25.1.1.57269|66|57269 +1.3.6.1.4.1.9.9.826.1.71.26.1.1.3280|66|3280 +1.3.6.1.4.1.9.9.826.1.71.26.1.1.17872|66|17872 +1.3.6.1.4.1.9.9.826.1.71.26.1.1.44144|66|44144 +1.3.6.1.4.1.9.9.826.1.71.26.1.1.61359|66|61359 +1.3.6.1.4.1.9.9.826.1.71.26.1.1.62907|66|62907 +1.3.6.1.4.1.9.9.826.1.71.26.1.1.64561|66|64561 +1.3.6.1.4.1.9.9.826.1.71.27.1.1.12050|66|12050 +1.3.6.1.4.1.9.9.826.1.71.27.1.1.17803|66|17803 +1.3.6.1.4.1.9.9.826.1.71.27.1.1.33383|66|33383 +1.3.6.1.4.1.9.9.826.1.71.27.1.1.45377|66|45377 +1.3.6.1.4.1.9.9.826.1.71.27.1.1.54843|66|54843 +1.3.6.1.4.1.9.9.826.1.71.27.1.1.59728|66|59728 +1.3.6.1.4.1.9.9.826.1.71.28.1.1.13953|66|13953 +1.3.6.1.4.1.9.9.826.1.71.28.1.1.26058|66|26058 +1.3.6.1.4.1.9.9.826.1.71.28.1.1.46223|66|46223 +1.3.6.1.4.1.9.9.826.1.71.28.1.1.57054|66|57054 +1.3.6.1.4.1.9.9.826.1.71.28.1.1.63287|66|63287 +1.3.6.1.4.1.9.9.826.1.71.28.1.1.64102|66|64102 +1.3.6.1.4.1.9.9.826.1.71.29.1.1.10097|66|10097 +1.3.6.1.4.1.9.9.826.1.71.29.1.1.14159|66|14159 +1.3.6.1.4.1.9.9.826.1.71.29.1.1.16087|66|16087 +1.3.6.1.4.1.9.9.826.1.71.29.1.1.39063|66|39063 +1.3.6.1.4.1.9.9.826.1.71.29.1.1.46373|66|46373 +1.3.6.1.4.1.9.9.826.1.71.29.1.1.58871|66|58871 +1.3.6.1.4.1.9.9.826.1.71.33.1.1.4935|66|4935 +1.3.6.1.4.1.9.9.826.1.71.33.1.1.19561|66|19561 +1.3.6.1.4.1.9.9.826.1.71.33.1.1.38027|66|38027 +1.3.6.1.4.1.9.9.826.1.71.33.1.1.44478|66|44478 +1.3.6.1.4.1.9.9.826.1.71.33.1.1.46076|66|46076 +1.3.6.1.4.1.9.9.826.1.71.33.1.1.52093|66|52093 +1.3.6.1.4.1.9.9.826.1.71.34.1.1.1531|66|1531 +1.3.6.1.4.1.9.9.826.1.71.34.1.1.44264|66|44264 +1.3.6.1.4.1.9.9.826.1.71.34.1.1.48728|66|48728 +1.3.6.1.4.1.9.9.826.1.71.34.1.1.52181|66|52181 +1.3.6.1.4.1.9.9.826.1.71.34.1.1.56073|66|56073 +1.3.6.1.4.1.9.9.826.1.71.34.1.1.58881|66|58881 +1.3.6.1.4.1.9.9.826.1.71.35.1.1.6148|66|6148 +1.3.6.1.4.1.9.9.826.1.71.35.1.1.31606|66|31606 +1.3.6.1.4.1.9.9.826.1.71.35.1.1.37432|66|37432 +1.3.6.1.4.1.9.9.826.1.71.35.1.1.44144|66|44144 +1.3.6.1.4.1.9.9.826.1.71.35.1.1.55882|66|55882 +1.3.6.1.4.1.9.9.826.1.71.35.1.1.65406|66|65406 +1.3.6.1.4.1.9.9.826.1.71.36.1.1.2469|66|2469 +1.3.6.1.4.1.9.9.826.1.71.36.1.1.16372|66|16372 +1.3.6.1.4.1.9.9.826.1.71.36.1.1.23559|66|23559 +1.3.6.1.4.1.9.9.826.1.71.36.1.1.38339|66|38339 +1.3.6.1.4.1.9.9.826.1.71.36.1.1.55079|66|55079 +1.3.6.1.4.1.9.9.826.1.71.36.1.1.59745|66|59745 +1.3.6.1.4.1.9.9.826.1.71.37.1.1.1048|66|1048 +1.3.6.1.4.1.9.9.826.1.71.37.1.1.15271|66|15271 +1.3.6.1.4.1.9.9.826.1.71.37.1.1.30951|66|30951 +1.3.6.1.4.1.9.9.826.1.71.37.1.1.49236|66|49236 +1.3.6.1.4.1.9.9.826.1.71.37.1.1.49605|66|49605 +1.3.6.1.4.1.9.9.826.1.71.37.1.1.54466|66|54466 +1.3.6.1.4.1.9.9.826.1.71.38.1.1.10224|66|10224 +1.3.6.1.4.1.9.9.826.1.71.38.1.1.23776|66|23776 +1.3.6.1.4.1.9.9.826.1.71.38.1.1.25721|66|25721 +1.3.6.1.4.1.9.9.826.1.71.38.1.1.31046|66|31046 +1.3.6.1.4.1.9.9.826.1.71.38.1.1.42628|66|42628 +1.3.6.1.4.1.9.9.826.1.71.38.1.1.48474|66|48474 +1.3.6.1.4.1.9.9.826.1.71.39.1.1.8529|66|8529 +1.3.6.1.4.1.9.9.826.1.71.39.1.1.39704|66|39704 +1.3.6.1.4.1.9.9.826.1.71.39.1.1.48081|66|48081 +1.3.6.1.4.1.9.9.826.1.71.39.1.1.60466|66|60466 +1.3.6.1.4.1.9.9.826.1.71.39.1.1.61589|66|61589 +1.3.6.1.4.1.9.9.826.1.71.39.1.1.62177|66|62177 +1.3.6.1.4.1.9.9.826.1.71.40.1.1.8791|66|8791 +1.3.6.1.4.1.9.9.826.1.71.40.1.1.21587|66|21587 +1.3.6.1.4.1.9.9.826.1.71.40.1.1.30323|66|30323 +1.3.6.1.4.1.9.9.826.1.71.40.1.1.36271|66|36271 +1.3.6.1.4.1.9.9.826.1.71.40.1.1.46058|66|46058 +1.3.6.1.4.1.9.9.826.1.71.40.1.1.47243|66|47243 +1.3.6.1.4.1.9.9.826.1.71.41.1.1.4109|66|4109 +1.3.6.1.4.1.9.9.826.1.71.41.1.1.18856|66|18856 +1.3.6.1.4.1.9.9.826.1.71.41.1.1.20671|66|20671 +1.3.6.1.4.1.9.9.826.1.71.41.1.1.41462|66|41462 +1.3.6.1.4.1.9.9.826.1.71.41.1.1.51099|66|51099 +1.3.6.1.4.1.9.9.826.1.71.41.1.1.61413|66|61413 +1.3.6.1.4.1.9.9.826.1.71.42.1.1.2251|66|2251 +1.3.6.1.4.1.9.9.826.1.71.42.1.1.6786|66|6786 +1.3.6.1.4.1.9.9.826.1.71.42.1.1.11233|66|11233 +1.3.6.1.4.1.9.9.826.1.71.42.1.1.44105|66|44105 +1.3.6.1.4.1.9.9.826.1.71.42.1.1.56087|66|56087 +1.3.6.1.4.1.9.9.826.1.71.42.1.1.65364|66|65364 +1.3.6.1.4.1.9.9.826.1.71.43.1.1.3718|66|3718 +1.3.6.1.4.1.9.9.826.1.71.43.1.1.14356|66|14356 +1.3.6.1.4.1.9.9.826.1.71.43.1.1.20503|66|20503 +1.3.6.1.4.1.9.9.826.1.71.43.1.1.24155|66|24155 +1.3.6.1.4.1.9.9.826.1.71.43.1.1.59692|66|59692 +1.3.6.1.4.1.9.9.826.1.71.43.1.1.64013|66|64013 +1.3.6.1.4.1.9.9.826.1.71.44.1.1.8283|66|8283 +1.3.6.1.4.1.9.9.826.1.71.44.1.1.10205|66|10205 +1.3.6.1.4.1.9.9.826.1.71.44.1.1.39903|66|39903 +1.3.6.1.4.1.9.9.826.1.71.44.1.1.42517|66|42517 +1.3.6.1.4.1.9.9.826.1.71.44.1.1.47787|66|47787 +1.3.6.1.4.1.9.9.826.1.71.44.1.1.55339|66|55339 +1.3.6.1.4.1.9.9.826.1.71.45.1.1.37395|66|37395 +1.3.6.1.4.1.9.9.826.1.71.45.1.1.37950|66|37950 +1.3.6.1.4.1.9.9.826.1.71.45.1.1.39693|66|39693 +1.3.6.1.4.1.9.9.826.1.71.45.1.1.50053|66|50053 +1.3.6.1.4.1.9.9.826.1.71.45.1.1.53669|66|53669 +1.3.6.1.4.1.9.9.826.1.71.45.1.1.59642|66|59642 +1.3.6.1.4.1.9.9.826.1.71.46.1.1.14119|66|14119 +1.3.6.1.4.1.9.9.826.1.71.46.1.1.42246|66|42246 +1.3.6.1.4.1.9.9.826.1.71.46.1.1.45217|66|45217 +1.3.6.1.4.1.9.9.826.1.71.46.1.1.53123|66|53123 +1.3.6.1.4.1.9.9.826.1.71.46.1.1.56308|66|56308 +1.3.6.1.4.1.9.9.826.1.71.46.1.1.63211|66|63211 +1.3.6.1.4.1.9.9.826.1.71.47.1.1.731|66|731 +1.3.6.1.4.1.9.9.826.1.71.47.1.1.3530|66|3530 +1.3.6.1.4.1.9.9.826.1.71.47.1.1.24490|66|24490 +1.3.6.1.4.1.9.9.826.1.71.47.1.1.32629|66|32629 +1.3.6.1.4.1.9.9.826.1.71.47.1.1.53536|66|53536 +1.3.6.1.4.1.9.9.826.1.71.47.1.1.62276|66|62276 +1.3.6.1.4.1.9.9.826.1.71.48.1.1.10287|66|10287 +1.3.6.1.4.1.9.9.826.1.71.48.1.1.22972|66|22972 +1.3.6.1.4.1.9.9.826.1.71.48.1.1.29749|66|29749 +1.3.6.1.4.1.9.9.826.1.71.48.1.1.36714|66|36714 +1.3.6.1.4.1.9.9.826.1.71.48.1.1.43371|66|43371 +1.3.6.1.4.1.9.9.826.1.71.48.1.1.47503|66|47503 +1.3.6.1.4.1.9.9.826.1.71.49.1.1.3906|66|3906 +1.3.6.1.4.1.9.9.826.1.71.49.1.1.11721|66|11721 +1.3.6.1.4.1.9.9.826.1.71.49.1.1.16071|66|16071 +1.3.6.1.4.1.9.9.826.1.71.49.1.1.39271|66|39271 +1.3.6.1.4.1.9.9.826.1.71.49.1.1.48860|66|48860 +1.3.6.1.4.1.9.9.826.1.71.49.1.1.62134|66|62134 +1.3.6.1.4.1.9.9.826.1.71.50.1.1.7631|66|7631 +1.3.6.1.4.1.9.9.826.1.71.50.1.1.30618|66|30618 +1.3.6.1.4.1.9.9.826.1.71.50.1.1.50161|66|50161 +1.3.6.1.4.1.9.9.826.1.71.50.1.1.55837|66|55837 +1.3.6.1.4.1.9.9.826.1.71.50.1.1.63094|66|63094 +1.3.6.1.4.1.9.9.826.1.71.50.1.1.65194|66|65194 +1.3.6.1.4.1.9.9.826.1.71.51.1.1.6874|66|6874 +1.3.6.1.4.1.9.9.826.1.71.51.1.1.21301|66|21301 +1.3.6.1.4.1.9.9.826.1.71.51.1.1.36686|66|36686 +1.3.6.1.4.1.9.9.826.1.71.51.1.1.39228|66|39228 +1.3.6.1.4.1.9.9.826.1.71.51.1.1.57107|66|57107 +1.3.6.1.4.1.9.9.826.1.71.51.1.1.58912|66|58912 +1.3.6.1.4.1.9.9.826.1.71.52.1.1.6875|66|6875 +1.3.6.1.4.1.9.9.826.1.71.52.1.1.14378|66|14378 +1.3.6.1.4.1.9.9.826.1.71.52.1.1.18066|66|18066 +1.3.6.1.4.1.9.9.826.1.71.52.1.1.49407|66|49407 +1.3.6.1.4.1.9.9.826.1.71.52.1.1.51922|66|51922 +1.3.6.1.4.1.9.9.826.1.71.52.1.1.64421|66|64421 +1.3.6.1.4.1.9.9.826.1.71.53.1.1.2886|66|2886 +1.3.6.1.4.1.9.9.826.1.71.53.1.1.19319|66|19319 +1.3.6.1.4.1.9.9.826.1.71.53.1.1.22020|66|22020 +1.3.6.1.4.1.9.9.826.1.71.53.1.1.25528|66|25528 +1.3.6.1.4.1.9.9.826.1.71.53.1.1.29143|66|29143 +1.3.6.1.4.1.9.9.826.1.71.53.1.1.59439|66|59439 +1.3.6.1.4.1.9.9.826.1.71.54.1.1.3428|66|3428 +1.3.6.1.4.1.9.9.826.1.71.54.1.1.22669|66|22669 +1.3.6.1.4.1.9.9.826.1.71.54.1.1.26146|66|26146 +1.3.6.1.4.1.9.9.826.1.71.54.1.1.28952|66|28952 +1.3.6.1.4.1.9.9.826.1.71.54.1.1.37699|66|37699 +1.3.6.1.4.1.9.9.826.1.71.54.1.1.57242|66|57242 +1.3.6.1.4.1.9.9.826.1.71.55.1.1.14695|66|14695 +1.3.6.1.4.1.9.9.826.1.71.55.1.1.26035|66|26035 +1.3.6.1.4.1.9.9.826.1.71.55.1.1.26802|66|26802 +1.3.6.1.4.1.9.9.826.1.71.55.1.1.30849|66|30849 +1.3.6.1.4.1.9.9.826.1.71.55.1.1.35194|66|35194 +1.3.6.1.4.1.9.9.826.1.71.55.1.1.65161|66|65161 +1.3.6.1.4.1.9.9.826.1.71.56.1.1.27519|66|27519 +1.3.6.1.4.1.9.9.826.1.71.56.1.1.50904|66|50904 +1.3.6.1.4.1.9.9.826.1.71.56.1.1.52258|66|52258 +1.3.6.1.4.1.9.9.826.1.71.56.1.1.54953|66|54953 +1.3.6.1.4.1.9.9.826.1.71.56.1.1.59553|66|59553 +1.3.6.1.4.1.9.9.826.1.71.56.1.1.61399|66|61399 +1.3.6.1.4.1.9.9.826.1.71.57.1.1.10523|66|10523 +1.3.6.1.4.1.9.9.826.1.71.57.1.1.41028|66|41028 +1.3.6.1.4.1.9.9.826.1.71.57.1.1.53587|66|53587 +1.3.6.1.4.1.9.9.826.1.71.57.1.1.54566|66|54566 +1.3.6.1.4.1.9.9.826.1.71.57.1.1.62121|66|62121 +1.3.6.1.4.1.9.9.826.1.71.57.1.1.65402|66|65402 +1.3.6.1.4.1.9.9.826.1.71.58.1.1.8831|66|8831 +1.3.6.1.4.1.9.9.826.1.71.58.1.1.11920|66|11920 +1.3.6.1.4.1.9.9.826.1.71.58.1.1.26535|66|26535 +1.3.6.1.4.1.9.9.826.1.71.58.1.1.34859|66|34859 +1.3.6.1.4.1.9.9.826.1.71.58.1.1.47211|66|47211 +1.3.6.1.4.1.9.9.826.1.71.58.1.1.59310|66|59310 +1.3.6.1.4.1.9.9.826.1.71.59.1.1.5061|66|5061 +1.3.6.1.4.1.9.9.826.1.71.59.1.1.18896|66|18896 +1.3.6.1.4.1.9.9.826.1.71.59.1.1.27255|66|27255 +1.3.6.1.4.1.9.9.826.1.71.59.1.1.43145|66|43145 +1.3.6.1.4.1.9.9.826.1.71.59.1.1.47719|66|47719 +1.3.6.1.4.1.9.9.826.1.71.59.1.1.54807|66|54807 +1.3.6.1.4.1.9.9.826.1.71.60.1.1.5669|66|5669 +1.3.6.1.4.1.9.9.826.1.71.60.1.1.8254|66|8254 +1.3.6.1.4.1.9.9.826.1.71.60.1.1.10397|66|10397 +1.3.6.1.4.1.9.9.826.1.71.60.1.1.19826|66|19826 +1.3.6.1.4.1.9.9.826.1.71.60.1.1.43989|66|43989 +1.3.6.1.4.1.9.9.826.1.71.60.1.1.45830|66|45830 +1.3.6.1.4.1.9.9.826.1.71.61.1.1.15514|66|15514 +1.3.6.1.4.1.9.9.826.1.71.61.1.1.26825|66|26825 +1.3.6.1.4.1.9.9.826.1.71.61.1.1.40269|66|40269 +1.3.6.1.4.1.9.9.826.1.71.61.1.1.40464|66|40464 +1.3.6.1.4.1.9.9.826.1.71.61.1.1.42488|66|42488 +1.3.6.1.4.1.9.9.826.1.71.61.1.1.56966|66|56966 +1.3.6.1.4.1.9.9.826.1.71.62.1.1.8120|66|8120 +1.3.6.1.4.1.9.9.826.1.71.62.1.1.18835|66|18835 +1.3.6.1.4.1.9.9.826.1.71.62.1.1.35564|66|35564 +1.3.6.1.4.1.9.9.826.1.71.62.1.1.45025|66|45025 +1.3.6.1.4.1.9.9.826.1.71.62.1.1.50407|66|50407 +1.3.6.1.4.1.9.9.826.1.71.62.1.1.51058|66|51058 +1.3.6.1.4.1.9.9.826.1.71.63.1.1.9472|66|9472 +1.3.6.1.4.1.9.9.826.1.71.63.1.1.35983|66|35983 +1.3.6.1.4.1.9.9.826.1.71.63.1.1.42049|66|42049 +1.3.6.1.4.1.9.9.826.1.71.63.1.1.45981|66|45981 +1.3.6.1.4.1.9.9.826.1.71.63.1.1.52664|66|52664 +1.3.6.1.4.1.9.9.826.1.71.63.1.1.58819|66|58819 +1.3.6.1.4.1.9.9.826.1.71.64.1.1.1693|66|1693 +1.3.6.1.4.1.9.9.826.1.71.64.1.1.8249|66|8249 +1.3.6.1.4.1.9.9.826.1.71.64.1.1.20675|66|20675 +1.3.6.1.4.1.9.9.826.1.71.64.1.1.24328|66|24328 +1.3.6.1.4.1.9.9.826.1.71.64.1.1.30071|66|30071 +1.3.6.1.4.1.9.9.826.1.71.64.1.1.62336|66|62336 +1.3.6.1.4.1.9.9.826.1.71.65.1.1.5048|66|5048 +1.3.6.1.4.1.9.9.826.1.71.65.1.1.10467|66|10467 +1.3.6.1.4.1.9.9.826.1.71.65.1.1.11050|66|11050 +1.3.6.1.4.1.9.9.826.1.71.65.1.1.17435|66|17435 +1.3.6.1.4.1.9.9.826.1.71.65.1.1.24222|66|24222 +1.3.6.1.4.1.9.9.826.1.71.65.1.1.48391|66|48391 +1.3.6.1.4.1.9.9.826.1.71.66.1.1.10677|66|10677 +1.3.6.1.4.1.9.9.826.1.71.66.1.1.22013|66|22013 +1.3.6.1.4.1.9.9.826.1.71.66.1.1.31183|66|31183 +1.3.6.1.4.1.9.9.826.1.71.66.1.1.38411|66|38411 +1.3.6.1.4.1.9.9.826.1.71.66.1.1.55903|66|55903 +1.3.6.1.4.1.9.9.826.1.71.66.1.1.61381|66|61381 +1.3.6.1.4.1.9.9.826.1.71.67.1.1.3305|66|3305 +1.3.6.1.4.1.9.9.826.1.71.67.1.1.44110|66|44110 +1.3.6.1.4.1.9.9.826.1.71.67.1.1.50234|66|50234 +1.3.6.1.4.1.9.9.826.1.71.67.1.1.50284|66|50284 +1.3.6.1.4.1.9.9.826.1.71.67.1.1.54647|66|54647 +1.3.6.1.4.1.9.9.826.1.71.67.1.1.57999|66|57999 +1.3.6.1.4.1.9.9.826.1.71.68.1.1.24606|66|24606 +1.3.6.1.4.1.9.9.826.1.71.68.1.1.50251|66|50251 +1.3.6.1.4.1.9.9.826.1.71.68.1.1.54095|66|54095 +1.3.6.1.4.1.9.9.826.1.71.68.1.1.54506|66|54506 +1.3.6.1.4.1.9.9.826.1.71.68.1.1.61693|66|61693 +1.3.6.1.4.1.9.9.826.1.71.68.1.1.62952|66|62952 +1.3.6.1.4.1.9.9.826.1.71.69.1.1.2757|66|2757 +1.3.6.1.4.1.9.9.826.1.71.69.1.1.9246|66|9246 +1.3.6.1.4.1.9.9.826.1.71.69.1.1.28514|66|28514 +1.3.6.1.4.1.9.9.826.1.71.69.1.1.33687|66|33687 +1.3.6.1.4.1.9.9.826.1.71.69.1.1.40509|66|40509 +1.3.6.1.4.1.9.9.826.1.71.69.1.1.61020|66|61020 +1.3.6.1.4.1.9.9.826.1.71.70.1.1.9818|66|9818 +1.3.6.1.4.1.9.9.826.1.71.70.1.1.11342|66|11342 +1.3.6.1.4.1.9.9.826.1.71.70.1.1.18086|66|18086 +1.3.6.1.4.1.9.9.826.1.71.70.1.1.24249|66|24249 +1.3.6.1.4.1.9.9.826.1.71.70.1.1.28469|66|28469 +1.3.6.1.4.1.9.9.826.1.71.70.1.1.41802|66|41802 +1.3.6.1.4.1.9.9.826.1.71.71.1.1.5059|66|5059 +1.3.6.1.4.1.9.9.826.1.71.71.1.1.6138|66|6138 +1.3.6.1.4.1.9.9.826.1.71.71.1.1.7237|66|7237 +1.3.6.1.4.1.9.9.826.1.71.71.1.1.25148|66|25148 +1.3.6.1.4.1.9.9.826.1.71.71.1.1.26443|66|26443 +1.3.6.1.4.1.9.9.826.1.71.71.1.1.45724|66|45724 +1.3.6.1.6.3.10.2.1.1.0|4x|717561696e746c792064726976696e67206b657074207468656972 +1.3.6.1.6.3.10.2.1.2.0|2|9 +1.3.6.1.6.3.10.2.1.3.0|2|20 +1.3.6.1.6.3.10.2.1.4.0|2|1000 diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_cisco_firepower.py b/snmp/tests/test_e2e_core_profiles/test_profile_cisco_firepower.py new file mode 100644 index 0000000000000..3a2126851ca80 --- /dev/null +++ b/snmp/tests/test_e2e_core_profiles/test_profile_cisco_firepower.py @@ -0,0 +1,116 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +import pytest + +from datadog_checks.dev.utils import get_metadata_metrics + +from .. import common +from ..test_e2e_core_metadata import assert_device_metadata +from .utils import ( + assert_common_metrics, + assert_extend_generic_if, + create_e2e_core_test_config, + get_device_ip_from_config, +) + +pytestmark = [pytest.mark.e2e, common.py3_plus_only, common.snmp_integration_only] + + +def test_e2e_profile_cisco_firepower(dd_agent_check): + config = create_e2e_core_test_config('cisco-firepower') + aggregator = common.dd_agent_check_wrapper(dd_agent_check, config, rate=True) + + ip_address = get_device_ip_from_config(config) + common_tags = [ + 'snmp_profile:cisco-firepower', + 'snmp_host:cisco-firepower.device.name', + 'device_namespace:default', + 'snmp_device:' + ip_address, + ] + [] + + # --- TEST EXTENDED METRICS --- + assert_extend_generic_if(aggregator, common_tags) + + # --- TEST METRICS --- + assert_common_metrics(aggregator, common_tags) + + tag_rows = [ + ['cpu:34881'], + ['cpu:7541'], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.cpu.usage', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + tag_rows = [ + ['mem:11603'], + ['mem:14559'], + ['mem:20786'], + ['mem:21724'], + ['mem:41868'], + ['mem:47424'], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.memory.free', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.memory.usage', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.memory.used', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + tag_rows = [ + ['cfpr_sm_monitor_dn:Jaded oxen'], + ['cfpr_sm_monitor_dn:but Jaded kept zombies but but Jaded'], + ['cfpr_sm_monitor_dn:forward'], + ['cfpr_sm_monitor_dn:their forward their driving oxen'], + ['cfpr_sm_monitor_dn:their oxen quaintly Jaded oxen their acted kept driving'], + ['cfpr_sm_monitor_dn:their zombies oxen oxen'], + ] + for tag_row in tag_rows: + aggregator.assert_metric( + 'snmp.cfprSmMonitorDataDiskAvailable', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cfprSmMonitorDataDiskTotal', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + + tag_rows = [ + ['cfpr_equipment_fan_dn:driving forward but Jaded zombies', 'cfpr_equipment_fan_oper_state:operable'], + [ + 'cfpr_equipment_fan_dn:forward kept quaintly Jaded zombies driving acted kept driving', + 'cfpr_equipment_fan_oper_state:accessibility_problem', + ], + ['cfpr_equipment_fan_dn:kept driving', 'cfpr_equipment_fan_oper_state:thermal_problem'], + ['cfpr_equipment_fan_dn:their but driving but', 'cfpr_equipment_fan_oper_state:operable'], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.cfprEquipmentFan', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + tag_rows = [ + ['cfpr_equipment_psu_dn:driving zombies their acted', 'cfpr_equipment_psu_power:ok'], + [ + 'cfpr_equipment_psu_dn:forward driving quaintly zombies their acted kept but forward', + 'cfpr_equipment_psu_power:offduty', + ], + ['cfpr_equipment_psu_dn:forward forward', 'cfpr_equipment_psu_power:oir_failed'], + ['cfpr_equipment_psu_dn:zombies acted zombies', 'cfpr_equipment_psu_power:ok'], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.cfprEquipmentPsu', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + # --- TEST METADATA --- + device = { + 'description': 'cisco-firepower Device Description', + 'id': 'default:' + ip_address, + 'id_tags': ['device_namespace:default', 'snmp_device:' + ip_address], + 'ip_address': '' + ip_address, + 'name': 'cisco-firepower.device.name', + 'profile': 'cisco-firepower', + 'status': 1, + 'sys_object_id': '1.3.6.1.4.1.9.1.2404', + 'vendor': 'cisco', + } + device['tags'] = common_tags + assert_device_metadata(aggregator, device) + + # --- CHECK COVERAGE --- + aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) From 7d4084376de726a141717a978b3c5966e513492a Mon Sep 17 00:00:00 2001 From: Alexandre Yang Date: Wed, 5 Jul 2023 19:00:36 +0200 Subject: [PATCH 49/77] Add profile cisco-ironport-email (#15163) --- .../cisco-ironport-email.yaml | 374 ++++++++++++++++++ snmp/metadata.csv | 55 +++ .../compose/data/cisco-ironport-email.snmprec | 286 ++++++++++++++ .../test_profile_cisco_ironport_email.py | 176 +++++++++ 4 files changed, 891 insertions(+) create mode 100644 snmp/datadog_checks/snmp/data/default_profiles/cisco-ironport-email.yaml create mode 100644 snmp/tests/compose/data/cisco-ironport-email.snmprec create mode 100644 snmp/tests/test_e2e_core_profiles/test_profile_cisco_ironport_email.py diff --git a/snmp/datadog_checks/snmp/data/default_profiles/cisco-ironport-email.yaml b/snmp/datadog_checks/snmp/data/default_profiles/cisco-ironport-email.yaml new file mode 100644 index 0000000000000..b472f9664e9e7 --- /dev/null +++ b/snmp/datadog_checks/snmp/data/default_profiles/cisco-ironport-email.yaml @@ -0,0 +1,374 @@ +extends: + - _base.yaml + - _generic-if.yaml + # This profile does not import cisco.yaml on purpose +sysobjectid: + - 1.3.6.1.4.1.15497.1.* # IronPort Email Security Appliance + - 1.3.6.1.4.1.15497.1.2 # IronPort S300V +metadata: + device: + fields: + vendor: + value: "cisco" +metrics: + - MIB: ASYNCOS-MAIL-MIB + symbol: + name: memory.usage + OID: 1.3.6.1.4.1.15497.1.1.1.1.0 + - MIB: ASYNCOS-MAIL-MIB + symbol: + name: cpu.usage + OID: 1.3.6.1.4.1.15497.1.1.1.2.0 + - MIB: ASYNCOS-MAIL-MIB + symbol: + name: ironport.oldestMessageAge + OID: 1.3.6.1.4.1.15497.1.1.1.14.0 + - MIB: ASYNCOS-MAIL-MIB + symbol: + name: ironport.perCentDiskIOUtilization + OID: 1.3.6.1.4.1.15497.1.1.1.3.0 + - MIB: ASYNCOS-MAIL-MIB + symbol: + name: ironport.perCentQueueUtilization + OID: 1.3.6.1.4.1.15497.1.1.1.4.0 +# - MIB: ASYNCOS-MAIL-MIB +# symbol: +# name: ironport.queueAvailabilityStatus +# OID: 1.3.6.1.4.1.15497.1.1.1.5.0 +# enum: +# queueSpaceAvailable: 1 +# queueSpaceShortage: 2 +# queueFull: 3 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) +# - MIB: ASYNCOS-MAIL-MIB +# symbol: +# name: ironport.resourceConservationReason +# OID: 1.3.6.1.4.1.15497.1.1.1.6.0 +# enum: +# noResourceConservation: 1 +# memoryShortage: 2 +# queueSpaceShortage: 3 +# queueFull: 4 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) +# - MIB: ASYNCOS-MAIL-MIB +# symbol: +# name: ironport.memoryAvailabilityStatus +# OID: 1.3.6.1.4.1.15497.1.1.1.7.0 +# enum: +# memoryAvailable: 1 +# memoryShortage: 2 +# memoryFull: 3 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) + - MIB: ASYNCOS-MAIL-MIB + table: + name: powerSupplyTable + OID: 1.3.6.1.4.1.15497.1.1.1.8 + symbols: + - name: ironport.powerSupply + constant_value_one: true + metric_tags: + - column: + name: ironport.powerSupplyName + OID: 1.3.6.1.4.1.15497.1.1.1.8.1.4 + tag: ironport_power_supply_name + - column: + OID: 1.3.6.1.4.1.15497.1.1.1.8.1.2 + name: ironport.powerSupplyStatus + tag: ironport_power_supply_status + mapping: + 1: power_supply_not_installed + 2: power_supply_healthy + 3: power_supply_no_ac + 4: power_supply_faulty + - column: + OID: 1.3.6.1.4.1.15497.1.1.1.8.1.3 + name: ironport.powerSupplyRedundancy + tag: ironport_power_supply_redundancy + mapping: + 1: power_supply_redundancy_ok + 2: power_supply_redundancy_lost + - MIB: ASYNCOS-MAIL-MIB + table: + name: temperatureTable + OID: 1.3.6.1.4.1.15497.1.1.1.9 + symbols: + - name: ironport.degreesCelsius + OID: 1.3.6.1.4.1.15497.1.1.1.9.1.2 + metric_tags: + - column: + name: ironport.temperatureName + OID: 1.3.6.1.4.1.15497.1.1.1.9.1.3 + tag: ironport_temperature_name + - MIB: ASYNCOS-MAIL-MIB + table: + name: fanTable + OID: 1.3.6.1.4.1.15497.1.1.1.10 + symbols: + - name: ironport.fanRPMs + OID: 1.3.6.1.4.1.15497.1.1.1.10.1.2 + metric_tags: + - column: + name: ironport.fanName + OID: 1.3.6.1.4.1.15497.1.1.1.10.1.3 + tag: ironport_fan_name + - MIB: ASYNCOS-MAIL-MIB + symbol: + name: ironport.workQueueMessages + OID: 1.3.6.1.4.1.15497.1.1.1.11.0 + - MIB: ASYNCOS-MAIL-MIB + table: + name: keyExpirationTable + OID: 1.3.6.1.4.1.15497.1.1.1.12 + symbols: + - name: ironport.keySecondsUntilExpire + OID: 1.3.6.1.4.1.15497.1.1.1.12.1.4 + metric_tags: + - column: + name: ironport.keyDescription + OID: 1.3.6.1.4.1.15497.1.1.1.12.1.2 + tag: ironport_key_description + - column: + OID: 1.3.6.1.4.1.15497.1.1.1.12.1.3 + name: ironport.keyIsPerpetual + tag: ironport_key_is_perpetual + mapping: + 1: 'true' + 2: 'false' + - MIB: ASYNCOS-MAIL-MIB + table: + name: updateTable + OID: 1.3.6.1.4.1.15497.1.1.1.13 + symbols: + - name: ironport.updates + OID: 1.3.6.1.4.1.15497.1.1.1.13.1.3 + - name: ironport.updateFailures + OID: 1.3.6.1.4.1.15497.1.1.1.13.1.4 + metric_tags: + - column: + name: ironport.updateServiceName + OID: 1.3.6.1.4.1.15497.1.1.1.13.1.2 + tag: ironport_update_service_name + - MIB: ASYNCOS-MAIL-MIB + symbol: + name: ironport.outstandingDNSRequests + OID: 1.3.6.1.4.1.15497.1.1.1.15.0 + - MIB: ASYNCOS-MAIL-MIB + symbol: + name: ironport.pendingDNSRequests + OID: 1.3.6.1.4.1.15497.1.1.1.16.0 + - MIB: ASYNCOS-MAIL-MIB + symbol: + name: ironport.raidEvents + OID: 1.3.6.1.4.1.15497.1.1.1.17.0 + - MIB: ASYNCOS-MAIL-MIB + table: + name: raidTable + OID: 1.3.6.1.4.1.15497.1.1.1.18 + symbols: + - name: ironport.raid + constant_value_one: true + metric_tags: + - column: + name: ironport.raidID + OID: 1.3.6.1.4.1.15497.1.1.1.18.1.3 + tag: ironport_raid_id + - column: + OID: 1.3.6.1.4.1.15497.1.1.1.18.1.2 + name: ironport.raidStatus + tag: ironport_raid_status + mapping: + 1: drive_healthy + 2: drive_failure + 3: drive_rebuild + - column: + OID: 1.3.6.1.4.1.15497.1.1.1.18.1.4 + name: ironport.raidLastError + tag: ironport_raid_last_error + - MIB: ASYNCOS-MAIL-MIB + symbol: + name: ironport.openFilesOrSockets + OID: 1.3.6.1.4.1.15497.1.1.1.19.0 + - MIB: ASYNCOS-MAIL-MIB + symbol: + name: ironport.mailTransferThreads + OID: 1.3.6.1.4.1.15497.1.1.1.20.0 +# - MIB: ASYNCOS-MAIL-MIB +# symbol: +# name: ironport.fipsMode +# OID: 1.3.6.1.4.1.15497.1.1.1.23.0 +# enum: +# enabled: 1 +# disabled: 2 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) + - MIB: ASYNCOS-MAIL-MIB + symbol: + name: ironport.perCentCPULoad + OID: 1.3.6.1.4.1.15497.1.1.1.26.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheClientRequests + OID: 1.3.6.1.4.1.15497.1.2.3.2.2.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheClientErrors + OID: 1.3.6.1.4.1.15497.1.2.3.2.4.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheClientIdleConns + OID: 1.3.6.1.4.1.15497.1.2.3.2.7.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheClientTotalConns + OID: 1.3.6.1.4.1.15497.1.2.3.2.8.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheClientMaxConns + OID: 1.3.6.1.4.1.15497.1.2.3.2.9.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheClientAccepts + OID: 1.3.6.1.4.1.15497.1.2.3.2.10.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheClientReqDenials + OID: 1.3.6.1.4.1.15497.1.2.3.2.17.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheServerRequests + OID: 1.3.6.1.4.1.15497.1.2.3.3.2.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheServerSockets + OID: 1.3.6.1.4.1.15497.1.2.3.3.3.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheServerErrors + OID: 1.3.6.1.4.1.15497.1.2.3.3.4.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheServerIdleConns + OID: 1.3.6.1.4.1.15497.1.2.3.3.7.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheServerTotalConns + OID: 1.3.6.1.4.1.15497.1.2.3.3.8.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheServerCloseIdleConns + OID: 1.3.6.1.4.1.15497.1.2.3.3.9.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheServerLimitIdleConns + OID: 1.3.6.1.4.1.15497.1.2.3.3.10.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheServerConnsThresh + OID: 1.3.6.1.4.1.15497.1.2.3.3.11.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheTotalHttpReqs + OID: 1.3.6.1.4.1.15497.1.2.3.6.1.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheMeanRespTime + OID: 1.3.6.1.4.1.15497.1.2.3.6.2.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheMeanMissRespTime + OID: 1.3.6.1.4.1.15497.1.2.3.6.3.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheMeanHitRespTime + OID: 1.3.6.1.4.1.15497.1.2.3.6.4.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheMeanHitRatio + OID: 1.3.6.1.4.1.15497.1.2.3.6.5.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheMeanByteHitRatio + OID: 1.3.6.1.4.1.15497.1.2.3.6.6.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheTotalBandwidthSaving + OID: 1.3.6.1.4.1.15497.1.2.3.6.7.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheDuration + OID: 1.3.6.1.4.1.15497.1.2.3.6.8.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheCltReplyErrPct + OID: 1.3.6.1.4.1.15497.1.2.3.6.9.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheThruputNow + OID: 1.3.6.1.4.1.15497.1.2.3.7.1.1.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheBwidthSavingNow + OID: 1.3.6.1.4.1.15497.1.2.3.7.2.1.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheBwidthSpentNow + OID: 1.3.6.1.4.1.15497.1.2.3.7.3.1.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheBwidthTotalNow + OID: 1.3.6.1.4.1.15497.1.2.3.7.4.1.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheHitsNow + OID: 1.3.6.1.4.1.15497.1.2.3.7.5.1.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheMissesNow + OID: 1.3.6.1.4.1.15497.1.2.3.7.6.1.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheHitRespTimeNow + OID: 1.3.6.1.4.1.15497.1.2.3.7.7.1.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheMissRespTimeNow + OID: 1.3.6.1.4.1.15497.1.2.3.7.8.1.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheTotalRespTimeNow + OID: 1.3.6.1.4.1.15497.1.2.3.7.9.1.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheErrsNow + OID: 1.3.6.1.4.1.15497.1.2.3.7.10.1.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheDeniedNow + OID: 1.3.6.1.4.1.15497.1.2.3.7.11.1.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheErrRespTimeNow + OID: 1.3.6.1.4.1.15497.1.2.3.7.12.1.0 + - MIB: ASYNCOSWEBSECURITYAPPLIANCE-MIB + symbol: + name: ironport.cacheDeniedRespTimeNow + OID: 1.3.6.1.4.1.15497.1.2.3.7.13.1.0 +metric_tags: + - OID: 1.3.6.1.4.1.15497.1.2.2.1.0 + symbol: cacheAdmin + tag: ironport_cache_admin + - OID: 1.3.6.1.4.1.15497.1.2.2.2.0 + symbol: cacheSoftware + tag: ironport_cache_software + - OID: 1.3.6.1.4.1.15497.1.2.2.3.0 + symbol: cacheVersion + tag: ironport_cache_version + - OID: 1.3.6.1.4.1.15497.1.2.2.4.0 + symbol: licenseExpiration + tag: ironport_license_expiration + - OID: 1.3.6.1.4.1.15497.1.2.2.5.0 + symbol: httpPorts + tag: ironport_http_ports diff --git a/snmp/metadata.csv b/snmp/metadata.csv index 7fa3151772e8e..80ecfbe74d0f8 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -683,6 +683,61 @@ snmp.ipSystemStatsOutNoRoutes,count,,datagram,,[Generic router] [Arista] [Cisco snmp.ipSystemStatsReasmFails,count,,,,"[Generic router] [Arista] [Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] [Checkpoint Firewall] [F5 BIG-IP] [HPE Proliant] [Palo Alto] [Dell Poweredge] The number of failures detected by the IP reassembly algorithm (for whatever reason: timed out, errors, etc.).",0,snmp,, snmp.ipSystemStatsReasmOKs,count,,datagram,,[Generic router] [Arista] [Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] [Checkpoint Firewall] [F5 BIG-IP] [HPE Proliant] [Palo Alto] [Dell Poweredge] The number of IP datagrams successfully reassembled.,0,snmp,, snmp.ipSystemStatsReasmReqds,count,,,,[Generic router] [Arista] [Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] [Checkpoint Firewall] [F5 BIG-IP] [HPE Proliant] [Palo Alto] [Dell Poweredge] The number of IP fragments received that needed to be reassembled at this interface.,0,snmp,, +snmp.ironport.cacheBwidthSavingNow,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] Bandwidth savings in the last minute (in Kb/sec)",0,snmp,, +snmp.ironport.cacheBwidthSpentNow,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] Bandwidth spent in the last minute (in Kb/sec)",0,snmp,, +snmp.ironport.cacheBwidthTotalNow,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] Bandwidth total in the last minute (in Kb/sec)",0,snmp,, +snmp.ironport.cacheClientAccepts,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] The total number of sockets accepted from the clients.",0,snmp,, +snmp.ironport.cacheClientErrors,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] The number of HTTP errors caused by client connections.",0,snmp,, +snmp.ironport.cacheClientIdleConns,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] The number of connected but idle persistent client connections.",0,snmp,, +snmp.ironport.cacheClientMaxConns,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] The maximum number of simultaneous client connections that will be allowed.",0,snmp,, +snmp.ironport.cacheClientReqDenials,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] The number of responses blocked by access control.",0,snmp,, +snmp.ironport.cacheClientRequests,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] The number of HTTP requests received from clients.",0,snmp,, +snmp.ironport.cacheClientTotalConns,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] The current number of active + idle client connections.",0,snmp,, +snmp.ironport.cacheCltReplyErrPct,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] The percentage of errors in the HTTP replies to clients",0,snmp,, +snmp.ironport.cacheDeniedNow,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] Cache denial throughput time in the last minute",0,snmp,, +snmp.ironport.cacheDeniedRespTimeNow,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] Cache denial response time in the last minute",0,snmp,, +snmp.ironport.cacheDuration,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] The proxy up time",0,snmp,, +snmp.ironport.cacheErrRespTimeNow,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] Cache error response time in the last minute",0,snmp,, +snmp.ironport.cacheErrsNow,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] Cache error throughput time in the last minute",0,snmp,, +snmp.ironport.cacheHitRespTimeNow,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] Cache hit response time in the last minute",0,snmp,, +snmp.ironport.cacheHitsNow,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] Hit throughput in the last minute",0,snmp,, +snmp.ironport.cacheMeanByteHitRatio,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] The HTTP byte hit ratio",0,snmp,, +snmp.ironport.cacheMeanHitRatio,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] The HTTP hit ratio",0,snmp,, +snmp.ironport.cacheMeanHitRespTime,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] The HTTP mean response time of Hits",0,snmp,, +snmp.ironport.cacheMeanMissRespTime,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] The HTTP mean response time of Misses",0,snmp,, +snmp.ironport.cacheMeanRespTime,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] The HTTP mean response time",0,snmp,, +snmp.ironport.cacheMissRespTimeNow,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] Cache miss response time in the last minute",0,snmp,, +snmp.ironport.cacheMissesNow,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] Miss throughput in the last minute",0,snmp,, +snmp.ironport.cacheServerCloseIdleConns,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] The number of server connections closed due to idle time limits.",0,snmp,, +snmp.ironport.cacheServerConnsThresh,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] The limit on the number of server connections.",0,snmp,, +snmp.ironport.cacheServerErrors,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] The number of HTTP errors while fetching objects.",0,snmp,, +snmp.ironport.cacheServerIdleConns,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] The number of connected but idle persistent server connections.",0,snmp,, +snmp.ironport.cacheServerLimitIdleConns,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] The number of times the number of idle persistent connections hit the count limit and caused a connection to be closed.",0,snmp,, +snmp.ironport.cacheServerRequests,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] The total number of HTTP requests sent to servers.",0,snmp,, +snmp.ironport.cacheServerSockets,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] The total number of sockets opened from the servers.",0,snmp,, +snmp.ironport.cacheServerTotalConns,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] The current number of active + idle server connections.",0,snmp,, +snmp.ironport.cacheThruputNow,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] Request throughput in the last minute",0,snmp,, +snmp.ironport.cacheTotalBandwidthSaving,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] The total bandwidth savings for HTTP in Mbits/sec",0,snmp,, +snmp.ironport.cacheTotalHttpReqs,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] Total number of HTTP requests from clients",0,snmp,, +snmp.ironport.cacheTotalRespTimeNow,gauge,,,,"[ASYNCOSWEBSECURITYAPPLIANCE-MIB] Cache total response time in the last minute",0,snmp,, +snmp.ironport.degreesCelsius,gauge,,,,"[ASYNCOS-MAIL-MIB] Temperature reading for the sensor being instrumented in Centrigrade units. This is correct according to the relative accuracy of the sensor being instrumented.",0,snmp,, +snmp.ironport.fanRPMs,gauge,,,,"[ASYNCOS-MAIL-MIB] Speed in RPMs of a chassis fan being instrumented. The speed that corresponds to a fan failure varies depending on the vendor specification and airflow requirements for the appliance it's instrumented in, but in general when fanRPMs reports 0 RPMs the respective fan has failed.",0,snmp,, +snmp.ironport.fipsMode,gauge,,,,"",0,snmp,, +snmp.ironport.keySecondsUntilExpire,gauge,,,,"[ASYNCOS-MAIL-MIB] Seconds until the valid Feature Key expires. Only applies to non-perpetual Feature Keys, and is 0 when the Feature Key has expired.",0,snmp,, +snmp.ironport.mailTransferThreads,gauge,,,,"[ASYNCOS-MAIL-MIB] Number of threads that perform some task related to transferring mail.",0,snmp,, +snmp.ironport.oldestMessageAge,gauge,,,,"[ASYNCOS-MAIL-MIB] The number of seconds the oldest message has been in queue",0,snmp,, +snmp.ironport.openFilesOrSockets,gauge,,,,"[ASYNCOS-MAIL-MIB] This object notes how many files or sockets are open on the appliance. In normal operating conditions, the measurement is taken at least once every 5-15 seconds.",0,snmp,, +snmp.ironport.outstandingDNSRequests,gauge,,,,"[ASYNCOS-MAIL-MIB] Number of DNS requests that have been sent but for which no reply has been received.",0,snmp,, +snmp.ironport.pendingDNSRequests,gauge,,,,"[ASYNCOS-MAIL-MIB] Number of DNS requests waiting to be sent.",0,snmp,, +snmp.ironport.perCentCPULoad,gauge,,,,"[ASYNCOS-MAIL-MIB] This object provides a general idea of how many processes are waiting in ready queue for CPU. This measurment tells how much the CPU is loaded.",0,snmp,, +snmp.ironport.perCentDiskIOUtilization,gauge,,,,"[ASYNCOS-MAIL-MIB] This object provides a general idea of how much disk I/O has been generated within the last 5-15 seconds.",0,snmp,, +snmp.ironport.perCentQueueUtilization,gauge,,,,"[ASYNCOS-MAIL-MIB] Percent of total queue capacity used.",0,snmp,, +snmp.ironport.powerSupply,gauge,,,,"[ASYNCOS-MAIL-MIB] A table of one or power supply entries. (Make 'sum by {X}' queries to count elements with the tag X.)",0,snmp,, +snmp.ironport.raid,gauge,,,,"[ASYNCOS-MAIL-MIB] Unique index for a drive being instrumented in the appliance. This index is for SNMP purposes only; it has no intrinsic value. (Make 'sum by {X}' queries to count elements with the tag X.)",0,snmp,, +snmp.ironport.raidEvents,gauge,,,,"[ASYNCOS-MAIL-MIB] The total number of RAID events that have occurred since the last appliance power on event.",0,snmp,, +snmp.ironport.updateFailures,gauge,,,,"[ASYNCOS-MAIL-MIB] The number of failed attempts that have occurred when updating a service.",0,snmp,, +snmp.ironport.updates,gauge,,,,"[ASYNCOS-MAIL-MIB] The number of successful attempts that have occurred when updating a service.",0,snmp,, +snmp.ironport.workQueueMessages,gauge,,,,"[ASYNCOS-MAIL-MIB] Number of messages in the work queue.",0,snmp,, snmp.jnxCosIfsetQstatHpNonTcpRDropByteRate,gauge,,byte,second,[Juniper EX] The rate (expressed in bytes per second) at which high PLP non TCP bytes were RED-dropped at the output queue on the given interface.,0,snmp,, snmp.jnxCosIfsetQstatHpNonTcpRDropPktRate,gauge,,packet,second,[Juniper EX] The rate (expressed in packets per second) at which high PLP non TCP packets were RED-dropped at the output on the given interface.,0,snmp,, snmp.jnxCosIfsetQstatHpNonTcpRedDropBytes,count,,byte,,[Juniper EX] The total number of high PLP non TCP bytes RED-dropped at the output on the given interface.,0,snmp,, diff --git a/snmp/tests/compose/data/cisco-ironport-email.snmprec b/snmp/tests/compose/data/cisco-ironport-email.snmprec new file mode 100644 index 0000000000000..b3127da09e3b1 --- /dev/null +++ b/snmp/tests/compose/data/cisco-ironport-email.snmprec @@ -0,0 +1,286 @@ +1.3.6.1.2.1.1.1.0|4|cisco-ironport-email Device Description +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.15497.1.2 +1.3.6.1.2.1.1.5.0|4|cisco-ironport-email.device.name +1.3.6.1.2.1.2.1.0|2|28 +1.3.6.1.4.1.15497.1.1.1.1.0|2|21 +1.3.6.1.4.1.15497.1.1.1.2.0|2|5 +1.3.6.1.4.1.15497.1.1.1.3.0|2|31 +1.3.6.1.4.1.15497.1.1.1.4.0|2|7 +1.3.6.1.4.1.15497.1.1.1.5.0|2|1 +1.3.6.1.4.1.15497.1.1.1.6.0|2|1 +1.3.6.1.4.1.15497.1.1.1.7.0|2|2 +1.3.6.1.4.1.15497.1.1.1.8.1.1.5|2|5 +1.3.6.1.4.1.15497.1.1.1.8.1.1.8|2|8 +1.3.6.1.4.1.15497.1.1.1.8.1.2.5|2|3 +1.3.6.1.4.1.15497.1.1.1.8.1.2.8|2|1 +1.3.6.1.4.1.15497.1.1.1.8.1.3.5|2|1 +1.3.6.1.4.1.15497.1.1.1.8.1.3.8|2|2 +1.3.6.1.4.1.15497.1.1.1.8.1.4.5|4x|6f78656e207468656972206f78656e206f78656e207a6f6d626965732064726976696e6720717561696e746c79207468656972 +1.3.6.1.4.1.15497.1.1.1.8.1.4.8|4|kept +1.3.6.1.4.1.15497.1.1.1.9.1.1.17|2|17 +1.3.6.1.4.1.15497.1.1.1.9.1.1.26|2|26 +1.3.6.1.4.1.15497.1.1.1.9.1.2.17|2|6 +1.3.6.1.4.1.15497.1.1.1.9.1.2.26|2|10 +1.3.6.1.4.1.15497.1.1.1.9.1.3.17|4|kept +1.3.6.1.4.1.15497.1.1.1.9.1.3.26|4x|6f78656e206b657074206f78656e +1.3.6.1.4.1.15497.1.1.1.10.1.1.11|2|11 +1.3.6.1.4.1.15497.1.1.1.10.1.1.24|2|24 +1.3.6.1.4.1.15497.1.1.1.10.1.2.11|66|1032708154 +1.3.6.1.4.1.15497.1.1.1.10.1.2.24|66|1881665222 +1.3.6.1.4.1.15497.1.1.1.10.1.3.11|4x|7a6f6d62696573206b65707420717561696e746c7920717561696e746c79206b657074204a61646564207a6f6d6269657320627574204a61646564 +1.3.6.1.4.1.15497.1.1.1.10.1.3.24|4x|64726976696e67204a61646564204a6164656420717561696e746c7920717561696e746c7920666f7277617264204a616465642064726976696e67 +1.3.6.1.4.1.15497.1.1.1.11.0|66|2221241540 +1.3.6.1.4.1.15497.1.1.1.12.1.1.12|2|12 +1.3.6.1.4.1.15497.1.1.1.12.1.1.17|2|17 +1.3.6.1.4.1.15497.1.1.1.12.1.2.12|4x|7a6f6d62696573206f78656e +1.3.6.1.4.1.15497.1.1.1.12.1.2.17|4x|7468656972206b6570742064726976696e6720627574206b6570742064726976696e67206b657074206f78656e +1.3.6.1.4.1.15497.1.1.1.12.1.3.12|2|2 +1.3.6.1.4.1.15497.1.1.1.12.1.3.17|2|1 +1.3.6.1.4.1.15497.1.1.1.12.1.4.12|66|588315506 +1.3.6.1.4.1.15497.1.1.1.12.1.4.17|66|4277646071 +1.3.6.1.4.1.15497.1.1.1.13.1.1.8|2|8 +1.3.6.1.4.1.15497.1.1.1.13.1.1.9|2|9 +1.3.6.1.4.1.15497.1.1.1.13.1.2.8|4|acted +1.3.6.1.4.1.15497.1.1.1.13.1.2.9|4x|746865697220616374656420627574 +1.3.6.1.4.1.15497.1.1.1.13.1.3.8|65|3434843844 +1.3.6.1.4.1.15497.1.1.1.13.1.3.9|65|4067523865 +1.3.6.1.4.1.15497.1.1.1.13.1.4.8|65|1010433301 +1.3.6.1.4.1.15497.1.1.1.13.1.4.9|65|2354476966 +1.3.6.1.4.1.15497.1.1.1.14.0|66|2011355667 +1.3.6.1.4.1.15497.1.1.1.15.0|66|439046044 +1.3.6.1.4.1.15497.1.1.1.16.0|66|4034871242 +1.3.6.1.4.1.15497.1.1.1.17.0|65|3961198236 +1.3.6.1.4.1.15497.1.1.1.18.1.1.2|2|2 +1.3.6.1.4.1.15497.1.1.1.18.1.1.24|2|24 +1.3.6.1.4.1.15497.1.1.1.18.1.2.2|2|2 +1.3.6.1.4.1.15497.1.1.1.18.1.2.24|2|1 +1.3.6.1.4.1.15497.1.1.1.18.1.3.2|4x|627574204a61646564 +1.3.6.1.4.1.15497.1.1.1.18.1.3.24|4x|7a6f6d62696573207a6f6d62696573207468656972204a61646564206f78656e +1.3.6.1.4.1.15497.1.1.1.18.1.4.2|4x|7468656972207468656972206f78656e20627574204a616465642074686569722064726976696e67206b657074 +1.3.6.1.4.1.15497.1.1.1.18.1.4.24|4x|62757420717561696e746c79207468656972 +1.3.6.1.4.1.15497.1.1.1.19.0|66|18322186 +1.3.6.1.4.1.15497.1.1.1.20.0|66|3654349047 +1.3.6.1.4.1.15497.1.1.1.21.0|4x|666f7277617264206163746564207468656972206b657074207a6f6d62696573206b657074 +1.3.6.1.4.1.15497.1.1.1.22.0|4x|6b65707420746865697220746865697220666f727761726420717561696e746c7920717561696e746c79 +1.3.6.1.4.1.15497.1.1.1.23.0|2|1 +1.3.6.1.4.1.15497.1.1.1.24.0|4x|666f7277617264206b657074206163746564 +1.3.6.1.4.1.15497.1.1.1.25.0|4|but +1.3.6.1.4.1.15497.1.1.1.26.0|2|16 +1.3.6.1.4.1.15497.1.1.1.27.0|4x|64726976696e6720717561696e746c79206163746564206163746564207468656972 +1.3.6.1.4.1.15497.1.1.1.28.0|4x|627574206275742064726976696e6720616374656420666f7277617264 +1.3.6.1.4.1.15497.1.2.1.1.0|67|1997217993 +1.3.6.1.4.1.15497.1.2.1.2.0|2|1 +1.3.6.1.4.1.15497.1.2.1.3.0|2|4 +1.3.6.1.4.1.15497.1.2.2.1.0|4x|666f7277617264204a61646564204a61646564206f78656e +1.3.6.1.4.1.15497.1.2.2.2.0|4x|6275742064726976696e67204a6164656420627574206b65707420627574204a61646564 +1.3.6.1.4.1.15497.1.2.2.3.0|4x|61637465642064726976696e67207468656972206f78656e206b65707420666f7277617264 +1.3.6.1.4.1.15497.1.2.2.4.0|2|5 +1.3.6.1.4.1.15497.1.2.2.5.0|4x|627574204a61646564206f78656e206b657074 +1.3.6.1.4.1.15497.1.2.3.1.1.0|2|15 +1.3.6.1.4.1.15497.1.2.3.1.2.0|2|21 +1.3.6.1.4.1.15497.1.2.3.1.3.0|2|5 +1.3.6.1.4.1.15497.1.2.3.1.4.0|2|21 +1.3.6.1.4.1.15497.1.2.3.1.5.0|2|16 +1.3.6.1.4.1.15497.1.2.3.1.6.0|2|25 +1.3.6.1.4.1.15497.1.2.3.2.1.1.1.7|2|7 +1.3.6.1.4.1.15497.1.2.3.2.1.1.1.9|2|9 +1.3.6.1.4.1.15497.1.2.3.2.1.1.2.7|2|14 +1.3.6.1.4.1.15497.1.2.3.2.1.1.2.9|2|25 +1.3.6.1.4.1.15497.1.2.3.2.2.0|65|681680003 +1.3.6.1.4.1.15497.1.2.3.2.3.0|65|1937650546 +1.3.6.1.4.1.15497.1.2.3.2.4.0|65|2226253583 +1.3.6.1.4.1.15497.1.2.3.2.5.0|65|1613322471 +1.3.6.1.4.1.15497.1.2.3.2.6.0|65|2770221759 +1.3.6.1.4.1.15497.1.2.3.2.7.0|65|3067130284 +1.3.6.1.4.1.15497.1.2.3.2.8.0|2|16 +1.3.6.1.4.1.15497.1.2.3.2.9.0|65|1006263028 +1.3.6.1.4.1.15497.1.2.3.2.10.0|65|3499236426 +1.3.6.1.4.1.15497.1.2.3.2.11.0|65|2020542921 +1.3.6.1.4.1.15497.1.2.3.2.12.0|65|4158142505 +1.3.6.1.4.1.15497.1.2.3.2.13.0|65|2120712531 +1.3.6.1.4.1.15497.1.2.3.2.14.0|65|550209439 +1.3.6.1.4.1.15497.1.2.3.2.15.0|65|2473174711 +1.3.6.1.4.1.15497.1.2.3.2.16.0|65|646769741 +1.3.6.1.4.1.15497.1.2.3.2.17.0|65|2978848504 +1.3.6.1.4.1.15497.1.2.3.3.1.1.1.8|2|8 +1.3.6.1.4.1.15497.1.2.3.3.1.1.1.14|2|14 +1.3.6.1.4.1.15497.1.2.3.3.1.1.2.8|2|9 +1.3.6.1.4.1.15497.1.2.3.3.1.1.2.14|2|4 +1.3.6.1.4.1.15497.1.2.3.3.2.0|65|954170517 +1.3.6.1.4.1.15497.1.2.3.3.3.0|65|1624387742 +1.3.6.1.4.1.15497.1.2.3.3.4.0|65|1252962547 +1.3.6.1.4.1.15497.1.2.3.3.5.0|65|2226799348 +1.3.6.1.4.1.15497.1.2.3.3.6.0|65|3158538635 +1.3.6.1.4.1.15497.1.2.3.3.7.0|65|2591336255 +1.3.6.1.4.1.15497.1.2.3.3.8.0|65|2708949209 +1.3.6.1.4.1.15497.1.2.3.3.9.0|65|4135316144 +1.3.6.1.4.1.15497.1.2.3.3.10.0|65|875496295 +1.3.6.1.4.1.15497.1.2.3.3.11.0|65|714464932 +1.3.6.1.4.1.15497.1.2.3.3.12.0|65|1626165122 +1.3.6.1.4.1.15497.1.2.3.3.13.0|65|3066366768 +1.3.6.1.4.1.15497.1.2.3.3.14.0|65|3228094998 +1.3.6.1.4.1.15497.1.2.3.3.15.0|65|400915270 +1.3.6.1.4.1.15497.1.2.3.3.16.0|65|544153069 +1.3.6.1.4.1.15497.1.2.3.3.17.0|65|4003207923 +1.3.6.1.4.1.15497.1.2.3.3.18.0|65|2163941321 +1.3.6.1.4.1.15497.1.2.3.3.19.0|65|1033958856 +1.3.6.1.4.1.15497.1.2.3.3.20.0|65|4284855189 +1.3.6.1.4.1.15497.1.2.3.4.1.1.1.1|2|1 +1.3.6.1.4.1.15497.1.2.3.4.1.1.1.7|2|7 +1.3.6.1.4.1.15497.1.2.3.4.1.1.2.1|2|25 +1.3.6.1.4.1.15497.1.2.3.4.1.1.2.7|2|26 +1.3.6.1.4.1.15497.1.2.3.4.1.1.3.1|2|25 +1.3.6.1.4.1.15497.1.2.3.4.1.1.3.7|2|14 +1.3.6.1.4.1.15497.1.2.3.4.2.0|65|4154933116 +1.3.6.1.4.1.15497.1.2.3.4.3.0|65|2752490680 +1.3.6.1.4.1.15497.1.2.3.4.4.0|65|1566638420 +1.3.6.1.4.1.15497.1.2.3.4.5.0|65|200783110 +1.3.6.1.4.1.15497.1.2.3.5.1.1.1.16|2|16 +1.3.6.1.4.1.15497.1.2.3.5.1.1.1.30|2|30 +1.3.6.1.4.1.15497.1.2.3.5.1.1.2.16|2|20 +1.3.6.1.4.1.15497.1.2.3.5.1.1.2.30|2|13 +1.3.6.1.4.1.15497.1.2.3.5.1.1.3.16|2|27 +1.3.6.1.4.1.15497.1.2.3.5.1.1.3.30|2|27 +1.3.6.1.4.1.15497.1.2.3.5.1.1.4.16|2|16 +1.3.6.1.4.1.15497.1.2.3.5.1.1.4.30|2|24 +1.3.6.1.4.1.15497.1.2.3.5.1.1.5.16|2|9 +1.3.6.1.4.1.15497.1.2.3.5.1.1.5.30|2|12 +1.3.6.1.4.1.15497.1.2.3.5.1.1.6.16|2|4 +1.3.6.1.4.1.15497.1.2.3.5.1.1.6.30|2|0 +1.3.6.1.4.1.15497.1.2.3.5.1.1.7.0|2|18 +1.3.6.1.4.1.15497.1.2.3.6.1.0|2|10 +1.3.6.1.4.1.15497.1.2.3.6.2.0|2|19 +1.3.6.1.4.1.15497.1.2.3.6.3.0|2|27 +1.3.6.1.4.1.15497.1.2.3.6.4.0|2|11 +1.3.6.1.4.1.15497.1.2.3.6.5.0|2|20 +1.3.6.1.4.1.15497.1.2.3.6.6.0|2|30 +1.3.6.1.4.1.15497.1.2.3.6.7.0|2|12 +1.3.6.1.4.1.15497.1.2.3.6.8.0|2|19 +1.3.6.1.4.1.15497.1.2.3.6.9.0|2|1 +1.3.6.1.4.1.15497.1.2.3.7.1.1.0|2|29 +1.3.6.1.4.1.15497.1.2.3.7.1.2.0|2|20 +1.3.6.1.4.1.15497.1.2.3.7.1.3.0|2|28 +1.3.6.1.4.1.15497.1.2.3.7.1.4.0|2|13 +1.3.6.1.4.1.15497.1.2.3.7.1.5.0|2|12 +1.3.6.1.4.1.15497.1.2.3.7.1.6.0|2|14 +1.3.6.1.4.1.15497.1.2.3.7.1.7.0|2|8 +1.3.6.1.4.1.15497.1.2.3.7.1.8.0|2|2 +1.3.6.1.4.1.15497.1.2.3.7.1.9.0|2|19 +1.3.6.1.4.1.15497.1.2.3.7.2.1.0|2|9 +1.3.6.1.4.1.15497.1.2.3.7.2.2.0|2|18 +1.3.6.1.4.1.15497.1.2.3.7.2.3.0|2|14 +1.3.6.1.4.1.15497.1.2.3.7.2.4.0|2|14 +1.3.6.1.4.1.15497.1.2.3.7.2.5.0|2|17 +1.3.6.1.4.1.15497.1.2.3.7.2.6.0|2|13 +1.3.6.1.4.1.15497.1.2.3.7.2.7.0|2|13 +1.3.6.1.4.1.15497.1.2.3.7.2.8.0|2|2 +1.3.6.1.4.1.15497.1.2.3.7.2.9.0|2|17 +1.3.6.1.4.1.15497.1.2.3.7.3.1.0|2|6 +1.3.6.1.4.1.15497.1.2.3.7.3.2.0|2|26 +1.3.6.1.4.1.15497.1.2.3.7.3.3.0|2|24 +1.3.6.1.4.1.15497.1.2.3.7.3.4.0|2|10 +1.3.6.1.4.1.15497.1.2.3.7.3.5.0|2|31 +1.3.6.1.4.1.15497.1.2.3.7.3.6.0|2|26 +1.3.6.1.4.1.15497.1.2.3.7.3.7.0|2|8 +1.3.6.1.4.1.15497.1.2.3.7.3.8.0|2|12 +1.3.6.1.4.1.15497.1.2.3.7.3.9.0|2|22 +1.3.6.1.4.1.15497.1.2.3.7.4.1.0|2|26 +1.3.6.1.4.1.15497.1.2.3.7.4.2.0|2|23 +1.3.6.1.4.1.15497.1.2.3.7.4.3.0|2|24 +1.3.6.1.4.1.15497.1.2.3.7.4.4.0|2|7 +1.3.6.1.4.1.15497.1.2.3.7.4.5.0|2|9 +1.3.6.1.4.1.15497.1.2.3.7.4.6.0|2|26 +1.3.6.1.4.1.15497.1.2.3.7.4.7.0|2|5 +1.3.6.1.4.1.15497.1.2.3.7.4.8.0|2|23 +1.3.6.1.4.1.15497.1.2.3.7.4.9.0|2|5 +1.3.6.1.4.1.15497.1.2.3.7.5.1.0|2|28 +1.3.6.1.4.1.15497.1.2.3.7.5.2.0|2|25 +1.3.6.1.4.1.15497.1.2.3.7.5.3.0|2|24 +1.3.6.1.4.1.15497.1.2.3.7.5.4.0|2|26 +1.3.6.1.4.1.15497.1.2.3.7.5.5.0|2|0 +1.3.6.1.4.1.15497.1.2.3.7.5.6.0|2|21 +1.3.6.1.4.1.15497.1.2.3.7.5.7.0|2|22 +1.3.6.1.4.1.15497.1.2.3.7.5.8.0|2|24 +1.3.6.1.4.1.15497.1.2.3.7.5.9.0|2|30 +1.3.6.1.4.1.15497.1.2.3.7.6.1.0|2|30 +1.3.6.1.4.1.15497.1.2.3.7.6.2.0|2|8 +1.3.6.1.4.1.15497.1.2.3.7.6.3.0|2|12 +1.3.6.1.4.1.15497.1.2.3.7.6.4.0|2|2 +1.3.6.1.4.1.15497.1.2.3.7.6.5.0|2|23 +1.3.6.1.4.1.15497.1.2.3.7.6.6.0|2|15 +1.3.6.1.4.1.15497.1.2.3.7.6.7.0|2|20 +1.3.6.1.4.1.15497.1.2.3.7.6.8.0|2|8 +1.3.6.1.4.1.15497.1.2.3.7.6.9.0|2|3 +1.3.6.1.4.1.15497.1.2.3.7.7.1.0|2|13 +1.3.6.1.4.1.15497.1.2.3.7.7.2.0|2|16 +1.3.6.1.4.1.15497.1.2.3.7.7.3.0|2|26 +1.3.6.1.4.1.15497.1.2.3.7.7.4.0|2|9 +1.3.6.1.4.1.15497.1.2.3.7.7.5.0|2|25 +1.3.6.1.4.1.15497.1.2.3.7.7.6.0|2|8 +1.3.6.1.4.1.15497.1.2.3.7.7.7.0|2|3 +1.3.6.1.4.1.15497.1.2.3.7.7.8.0|2|10 +1.3.6.1.4.1.15497.1.2.3.7.7.9.0|2|10 +1.3.6.1.4.1.15497.1.2.3.7.8.1.0|2|28 +1.3.6.1.4.1.15497.1.2.3.7.8.2.0|2|1 +1.3.6.1.4.1.15497.1.2.3.7.8.3.0|2|0 +1.3.6.1.4.1.15497.1.2.3.7.8.4.0|2|14 +1.3.6.1.4.1.15497.1.2.3.7.8.5.0|2|1 +1.3.6.1.4.1.15497.1.2.3.7.8.6.0|2|29 +1.3.6.1.4.1.15497.1.2.3.7.8.7.0|2|28 +1.3.6.1.4.1.15497.1.2.3.7.8.8.0|2|4 +1.3.6.1.4.1.15497.1.2.3.7.8.9.0|2|20 +1.3.6.1.4.1.15497.1.2.3.7.9.1.0|2|14 +1.3.6.1.4.1.15497.1.2.3.7.9.2.0|2|9 +1.3.6.1.4.1.15497.1.2.3.7.9.3.0|2|16 +1.3.6.1.4.1.15497.1.2.3.7.9.4.0|2|7 +1.3.6.1.4.1.15497.1.2.3.7.9.5.0|2|15 +1.3.6.1.4.1.15497.1.2.3.7.9.6.0|2|27 +1.3.6.1.4.1.15497.1.2.3.7.9.7.0|2|12 +1.3.6.1.4.1.15497.1.2.3.7.9.8.0|2|4 +1.3.6.1.4.1.15497.1.2.3.7.9.9.0|2|17 +1.3.6.1.4.1.15497.1.2.3.7.10.1.0|2|12 +1.3.6.1.4.1.15497.1.2.3.7.10.2.0|2|3 +1.3.6.1.4.1.15497.1.2.3.7.10.3.0|2|27 +1.3.6.1.4.1.15497.1.2.3.7.10.4.0|2|29 +1.3.6.1.4.1.15497.1.2.3.7.10.5.0|2|8 +1.3.6.1.4.1.15497.1.2.3.7.10.6.0|2|18 +1.3.6.1.4.1.15497.1.2.3.7.10.7.0|2|17 +1.3.6.1.4.1.15497.1.2.3.7.10.8.0|2|23 +1.3.6.1.4.1.15497.1.2.3.7.10.9.0|2|21 +1.3.6.1.4.1.15497.1.2.3.7.11.1.0|2|12 +1.3.6.1.4.1.15497.1.2.3.7.11.2.0|2|26 +1.3.6.1.4.1.15497.1.2.3.7.11.3.0|2|7 +1.3.6.1.4.1.15497.1.2.3.7.11.4.0|2|24 +1.3.6.1.4.1.15497.1.2.3.7.11.5.0|2|8 +1.3.6.1.4.1.15497.1.2.3.7.11.6.0|2|23 +1.3.6.1.4.1.15497.1.2.3.7.11.7.0|2|16 +1.3.6.1.4.1.15497.1.2.3.7.11.8.0|2|0 +1.3.6.1.4.1.15497.1.2.3.7.11.9.0|2|14 +1.3.6.1.4.1.15497.1.2.3.7.12.1.0|2|5 +1.3.6.1.4.1.15497.1.2.3.7.12.2.0|2|25 +1.3.6.1.4.1.15497.1.2.3.7.12.3.0|2|30 +1.3.6.1.4.1.15497.1.2.3.7.12.4.0|2|29 +1.3.6.1.4.1.15497.1.2.3.7.12.5.0|2|20 +1.3.6.1.4.1.15497.1.2.3.7.12.6.0|2|22 +1.3.6.1.4.1.15497.1.2.3.7.12.7.0|2|4 +1.3.6.1.4.1.15497.1.2.3.7.12.8.0|2|16 +1.3.6.1.4.1.15497.1.2.3.7.12.9.0|2|14 +1.3.6.1.4.1.15497.1.2.3.7.13.1.0|2|13 +1.3.6.1.4.1.15497.1.2.3.7.13.2.0|2|11 +1.3.6.1.4.1.15497.1.2.3.7.13.3.0|2|29 +1.3.6.1.4.1.15497.1.2.3.7.13.4.0|2|0 +1.3.6.1.4.1.15497.1.2.3.7.13.5.0|2|3 +1.3.6.1.4.1.15497.1.2.3.7.13.6.0|2|31 +1.3.6.1.4.1.15497.1.2.3.7.13.7.0|2|3 +1.3.6.1.4.1.15497.1.2.3.7.13.8.0|2|0 +1.3.6.1.4.1.15497.1.2.3.7.13.9.0|2|14 +1.3.6.1.4.1.15497.1.2.4.1.1.1.1.9|2|9 +1.3.6.1.4.1.15497.1.2.4.1.1.1.1.13|2|13 +1.3.6.1.4.1.15497.1.2.4.1.1.1.2.9|2|30 +1.3.6.1.4.1.15497.1.2.4.1.1.1.2.13|2|21 +1.3.6.1.4.1.15497.1.2.4.1.1.1.3.9|2|13 +1.3.6.1.4.1.15497.1.2.4.1.1.1.3.13|2|16 +1.3.6.1.4.1.15497.1.2.4.1.1.1.4.9|2|17 +1.3.6.1.4.1.15497.1.2.4.1.1.1.4.13|2|16 +1.3.6.1.4.1.15497.1.2.4.1.1.1.5.9|2|5 +1.3.6.1.4.1.15497.1.2.4.1.1.1.5.13|2|28 diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_cisco_ironport_email.py b/snmp/tests/test_e2e_core_profiles/test_profile_cisco_ironport_email.py new file mode 100644 index 0000000000000..6d668fc7e62bb --- /dev/null +++ b/snmp/tests/test_e2e_core_profiles/test_profile_cisco_ironport_email.py @@ -0,0 +1,176 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +import pytest + +from datadog_checks.dev.utils import get_metadata_metrics + +from .. import common +from ..test_e2e_core_metadata import assert_device_metadata +from .utils import ( + assert_common_metrics, + assert_extend_generic_if, + create_e2e_core_test_config, + get_device_ip_from_config, +) + +pytestmark = [pytest.mark.e2e, common.py3_plus_only, common.snmp_integration_only] + + +def test_e2e_profile_cisco_ironport_email(dd_agent_check): + config = create_e2e_core_test_config('cisco-ironport-email') + aggregator = common.dd_agent_check_wrapper(dd_agent_check, config, rate=True) + + ip_address = get_device_ip_from_config(config) + common_tags = [ + 'snmp_profile:cisco-ironport-email', + 'snmp_host:cisco-ironport-email.device.name', + 'device_namespace:default', + 'snmp_device:' + ip_address, + ] + [ + 'ironport_cache_admin:forward Jaded Jaded oxen', + 'ironport_cache_software:but driving Jaded but kept but Jaded', + 'ironport_cache_version:acted driving their oxen kept forward', + 'ironport_http_ports:but Jaded oxen kept', + 'ironport_license_expiration:5', + ] + + # --- TEST EXTENDED METRICS --- + assert_extend_generic_if(aggregator, common_tags) + + # --- TEST METRICS --- + assert_common_metrics(aggregator, common_tags) + + aggregator.assert_metric('snmp.cpu.usage', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheBwidthSavingNow', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheBwidthSpentNow', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheBwidthTotalNow', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheClientAccepts', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheClientErrors', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheClientIdleConns', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheClientMaxConns', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheClientReqDenials', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheClientRequests', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheClientTotalConns', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheCltReplyErrPct', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheDeniedNow', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheDeniedRespTimeNow', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheDuration', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheErrRespTimeNow', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheErrsNow', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheHitRespTimeNow', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheHitsNow', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheMeanByteHitRatio', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheMeanHitRatio', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheMeanHitRespTime', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheMeanMissRespTime', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheMeanRespTime', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheMissRespTimeNow', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheMissesNow', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheServerCloseIdleConns', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheServerConnsThresh', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheServerErrors', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheServerIdleConns', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheServerLimitIdleConns', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheServerRequests', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheServerSockets', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheServerTotalConns', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheThruputNow', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheTotalBandwidthSaving', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheTotalHttpReqs', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.cacheTotalRespTimeNow', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.mailTransferThreads', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.oldestMessageAge', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.openFilesOrSockets', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.outstandingDNSRequests', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.pendingDNSRequests', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.perCentCPULoad', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.perCentDiskIOUtilization', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.perCentQueueUtilization', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.raidEvents', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ironport.workQueueMessages', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.memory.usage', metric_type=aggregator.GAUGE, tags=common_tags) + tag_rows = [ + [ + 'ironport_power_supply_name:kept', + 'ironport_power_supply_redundancy:power_supply_redundancy_lost', + 'ironport_power_supply_status:power_supply_not_installed', + ], + [ + 'ironport_power_supply_name:oxen their oxen oxen zombies driving quaintly their', + 'ironport_power_supply_redundancy:power_supply_redundancy_ok', + 'ironport_power_supply_status:power_supply_no_ac', + ], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.ironport.powerSupply', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + tag_rows = [ + ['ironport_temperature_name:kept'], + ['ironport_temperature_name:oxen kept oxen'], + ] + for tag_row in tag_rows: + aggregator.assert_metric( + 'snmp.ironport.degreesCelsius', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + + tag_rows = [ + ['ironport_fan_name:driving Jaded Jaded quaintly quaintly forward Jaded driving'], + ['ironport_fan_name:zombies kept quaintly quaintly kept Jaded zombies but Jaded'], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.ironport.fanRPMs', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + tag_rows = [ + ['ironport_key_description:their kept driving but kept driving kept oxen', 'ironport_key_is_perpetual:true'], + ['ironport_key_description:zombies oxen', 'ironport_key_is_perpetual:false'], + ] + for tag_row in tag_rows: + aggregator.assert_metric( + 'snmp.ironport.keySecondsUntilExpire', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + + tag_rows = [ + ['ironport_update_service_name:acted'], + ['ironport_update_service_name:their acted but'], + ] + for tag_row in tag_rows: + aggregator.assert_metric( + 'snmp.ironport.updateFailures', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric('snmp.ironport.updates', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + tag_rows = [ + [ + 'ironport_raid_id:but Jaded', + 'ironport_raid_last_error:their their oxen but Jaded their driving kept', + 'ironport_raid_status:drive_failure', + ], + [ + 'ironport_raid_id:zombies zombies their Jaded oxen', + 'ironport_raid_last_error:but quaintly their', + 'ironport_raid_status:drive_healthy', + ], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.ironport.raid', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + # --- TEST METADATA --- + device = { + 'description': 'cisco-ironport-email Device Description', + 'id': 'default:' + ip_address, + 'id_tags': ['device_namespace:default', 'snmp_device:' + ip_address], + 'ip_address': '' + ip_address, + 'name': 'cisco-ironport-email.device.name', + 'profile': 'cisco-ironport-email', + 'status': 1, + 'sys_object_id': '1.3.6.1.4.1.15497.1.2', + 'vendor': 'cisco', + } + device['tags'] = common_tags + assert_device_metadata(aggregator, device) + + # --- CHECK COVERAGE --- + aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) From 506a139b74c5bf6e3a7ffc3d4b0447563b7dd384 Mon Sep 17 00:00:00 2001 From: NouhaManai Date: Wed, 5 Jul 2023 19:12:43 +0200 Subject: [PATCH 50/77] Add arista-switch profile (#15092) --- .../data/default_profiles/arista-switch.yaml | 254 ++++++++++++ snmp/metadata.csv | 8 + snmp/tests/compose/data/arista-switch.snmprec | 392 ++++++++++++++++++ .../test_profile_arista_switch.py | 123 ++++++ 4 files changed, 777 insertions(+) create mode 100644 snmp/datadog_checks/snmp/data/default_profiles/arista-switch.yaml create mode 100644 snmp/tests/compose/data/arista-switch.snmprec create mode 100644 snmp/tests/test_e2e_core_profiles/test_profile_arista_switch.py diff --git a/snmp/datadog_checks/snmp/data/default_profiles/arista-switch.yaml b/snmp/datadog_checks/snmp/data/default_profiles/arista-switch.yaml new file mode 100644 index 0000000000000..aae63064570fe --- /dev/null +++ b/snmp/datadog_checks/snmp/data/default_profiles/arista-switch.yaml @@ -0,0 +1,254 @@ +extends: + - _generic-entity-sensor.yaml + - _generic-lldp.yaml + - arista.yaml + +sysobjectid: + - 1.3.6.1.4.1.30065.1.3011.7010.427.48 + - 1.3.6.1.4.1.30065.1.3011.7010.427.48.2957 + - 1.3.6.1.4.1.30065.1.3011.7020.1964.48 + - 1.3.6.1.4.1.30065.1.3011.7020.312.48 + - 1.3.6.1.4.1.30065.1.3011.7020.3735.24.2878.2 + - 1.3.6.1.4.1.30065.1.3011.7020.3735.32.2878.2 + - 1.3.6.1.4.1.30065.1.3011.7048.427.3648 + - 1.3.6.1.4.1.30065.1.3011.7048.427.4.3282 + - 1.3.6.1.4.1.30065.1.3011.7050.1958.128 + - 1.3.6.1.4.1.30065.1.3011.7050.1958.128.761 + - 1.3.6.1.4.1.30065.1.3011.7050.1958.2.128 + - 1.3.6.1.4.1.30065.1.3011.7050.1958.2.128.761 + - 1.3.6.1.4.1.30065.1.3011.7050.1958.48 + - 1.3.6.1.4.1.30065.1.3011.7050.1958.48.761 + - 1.3.6.1.4.1.30065.1.3011.7050.1958.64 + - 1.3.6.1.4.1.30065.1.3011.7050.1958.64.761 + - 1.3.6.1.4.1.30065.1.3011.7050.1958.72 + - 1.3.6.1.4.1.30065.1.3011.7050.1958.72.2512 + - 1.3.6.1.4.1.30065.1.3011.7050.1958.72.2512.761 + - 1.3.6.1.4.1.30065.1.3011.7050.1958.72.761 + - 1.3.6.1.4.1.30065.1.3011.7050.1958.96 + - 1.3.6.1.4.1.30065.1.3011.7050.1958.96.761 + - 1.3.6.1.4.1.30065.1.3011.7050.2512.16 + - 1.3.6.1.4.1.30065.1.3011.7050.2512.16.761 + - 1.3.6.1.4.1.30065.1.3011.7050.2733.3.32.3282 + - 1.3.6.1.4.1.30065.1.3011.7050.2733.3.32.3282.761 + - 1.3.6.1.4.1.30065.1.3011.7050.3095.2.32.3282 + - 1.3.6.1.4.1.30065.1.3011.7050.3095.2.32.3282.761 + - 1.3.6.1.4.1.30065.1.3011.7050.3095.32 + - 1.3.6.1.4.1.30065.1.3011.7050.3095.32.2745.761 + - 1.3.6.1.4.1.30065.1.3011.7050.3095.32.3282 + - 1.3.6.1.4.1.30065.1.3011.7050.3095.32.3282.761 + - 1.3.6.1.4.1.30065.1.3011.7050.3095.32.761 + - 1.3.6.1.4.1.30065.1.3011.7050.3282.52 + - 1.3.6.1.4.1.30065.1.3011.7050.3282.52.761 + - 1.3.6.1.4.1.30065.1.3011.7050.3282.64 + - 1.3.6.1.4.1.30065.1.3011.7050.3282.64.761 + - 1.3.6.1.4.1.30065.1.3011.7050.3741.128 + - 1.3.6.1.4.1.30065.1.3011.7050.3741.128.761 + - 1.3.6.1.4.1.30065.1.3011.7050.3741.2.128 + - 1.3.6.1.4.1.30065.1.3011.7050.3741.2.128.761 + - 1.3.6.1.4.1.30065.1.3011.7050.3741.2.72.2512 + - 1.3.6.1.4.1.30065.1.3011.7050.3741.2.72.2512.761 + - 1.3.6.1.4.1.30065.1.3011.7050.3741.3.48.1654.12 + - 1.3.6.1.4.1.30065.1.3011.7050.3741.3.48.1654.12.761 + - 1.3.6.1.4.1.30065.1.3011.7050.3741.3.48.1654.8 + - 1.3.6.1.4.1.30065.1.3011.7050.3741.64 + - 1.3.6.1.4.1.30065.1.3011.7050.3741.64.761 + - 1.3.6.1.4.1.30065.1.3011.7050.3741.72 + - 1.3.6.1.4.1.30065.1.3011.7050.3741.72.2512 + - 1.3.6.1.4.1.30065.1.3011.7050.3741.72.2512.761 + - 1.3.6.1.4.1.30065.1.3011.7050.3741.72.761 + - 1.3.6.1.4.1.30065.1.3011.7050.3741.96 + - 1.3.6.1.4.1.30065.1.3011.7050.3741.96.761 + - 1.3.6.1.4.1.30065.1.3011.7050.427.36 + - 1.3.6.1.4.1.30065.1.3011.7050.427.52 + - 1.3.6.1.4.1.30065.1.3011.7050.427.52.761 + - 1.3.6.1.4.1.30065.1.3011.7050.427.64 + - 1.3.6.1.4.1.30065.1.3011.7050.427.64.761 + - 1.3.6.1.4.1.30065.1.3011.7060.2733.2.32.3282 + - 1.3.6.1.4.1.30065.1.3011.7060.2733.32.3282 + - 1.3.6.1.4.1.30065.1.3011.7060.2733.32.3282.3362 + - 1.3.6.1.4.1.30065.1.3011.7060.2733.32.3282.761 + - 1.3.6.1.4.1.30065.1.3011.7060.3741.2.48.1654.6 + - 1.3.6.1.4.1.30065.1.3011.7060.3741.2.48.1654.6.761 + - 1.3.6.1.4.1.30065.1.3011.7120.427.4.3282 + - 1.3.6.1.4.1.30065.1.3011.7124.2312 + - 1.3.6.1.4.1.30065.1.3011.7124.2312.2745 + - 1.3.6.1.4.1.30065.1.3011.7124.3282 + - 1.3.6.1.4.1.30065.1.3011.7124.3741 + - 1.3.6.1.4.1.30065.1.3011.7124.3741.761 + - 1.3.6.1.4.1.30065.1.3011.7140.427.8.3282 + - 1.3.6.1.4.1.30065.1.3011.7148.3282 + - 1.3.6.1.4.1.30065.1.3011.7148.3741 + - 1.3.6.1.4.1.30065.1.3011.7150.3282.24 + - 1.3.6.1.4.1.30065.1.3011.7150.3282.24.2745 + - 1.3.6.1.4.1.30065.1.3011.7150.3282.24.2745.761 + - 1.3.6.1.4.1.30065.1.3011.7150.3282.52.2745 + - 1.3.6.1.4.1.30065.1.3011.7150.3282.52.2745.761 + - 1.3.6.1.4.1.30065.1.3011.7150.3282.64.2745 + - 1.3.6.1.4.1.30065.1.3011.7150.3282.64.2745.761 + - 1.3.6.1.4.1.30065.1.3011.7150.3720.24.1208 + - 1.3.6.1.4.1.30065.1.3011.7150.3720.64.1208 + - 1.3.6.1.4.1.30065.1.3011.7160.32.2726 + - 1.3.6.1.4.1.30065.1.3011.7160.32.2726.761 + - 1.3.6.1.4.1.30065.1.3011.7160.48.1654.6 + - 1.3.6.1.4.1.30065.1.3011.7160.48.1654.6.761 + - 1.3.6.1.4.1.30065.1.3011.7160.48.1981.6 + - 1.3.6.1.4.1.30065.1.3011.7160.48.1981.6.761 + - 1.3.6.1.4.1.30065.1.3011.7160.64.1654.16 + - 1.3.6.1.4.1.30065.1.3011.7170.32.2737 + - 1.3.6.1.4.1.30065.1.3011.7170.32.2737.972 + - 1.3.6.1.4.1.30065.1.3011.7170.32.2878 + - 1.3.6.1.4.1.30065.1.3011.7170.32.2878.972 + - 1.3.6.1.4.1.30065.1.3011.7170.64.2878 + - 1.3.6.1.4.1.30065.1.3011.7170.64.2878.972 + - 1.3.6.1.4.1.30065.1.3011.7250.3095.64 + - 1.3.6.1.4.1.30065.1.3011.7250.3095.64.761 + - 1.3.6.1.4.1.30065.1.3011.7250.3095.64.972 + - 1.3.6.1.4.1.30065.1.3011.7260.2733.3.64 + - 1.3.6.1.4.1.30065.1.3011.7260.2733.3.64.761 + - 1.3.6.1.4.1.30065.1.3011.7260.2733.64 + - 1.3.6.1.4.1.30065.1.3011.7260.2733.64.761 + - 1.3.6.1.4.1.30065.1.3011.7260.3095.64 + - 1.3.6.1.4.1.30065.1.3011.7260.3095.64.761 + - 1.3.6.1.4.1.30065.1.3011.7280.1347.48.2878.6 + - 1.3.6.1.4.1.30065.1.3011.7280.1347.48.2878.6.972 + - 1.3.6.1.4.1.30065.1.3011.7280.1359.40.2733.2 + - 1.3.6.1.4.1.30065.1.3011.7280.1964.48.2878.6 + - 1.3.6.1.4.1.30065.1.3011.7280.1964.48.2878.6.972 + - 1.3.6.1.4.1.30065.1.3011.7280.2655.2878.36.3282 + - 1.3.6.1.4.1.30065.1.3011.7280.2655.2878.36.3282.972 + - 1.3.6.1.4.1.30065.1.3011.7280.2655.2878.72 + - 1.3.6.1.4.1.30065.1.3011.7280.2655.2878.72.972 + - 1.3.6.1.4.1.30065.1.3011.7280.2727.2.202.30 + - 1.3.6.1.4.1.30065.1.3011.7280.2727.2.202.60 + - 1.3.6.1.4.1.30065.1.3011.7280.2727.2.202.60.761 + - 1.3.6.1.4.1.30065.1.3011.7280.2727.2.3648.30 + - 1.3.6.1.4.1.30065.1.3011.7280.2727.2.3648.60 + - 1.3.6.1.4.1.30065.1.3011.7280.2727.2.3648.60.761 + - 1.3.6.1.4.1.30065.1.3011.7280.2727.2.60 + - 1.3.6.1.4.1.30065.1.3011.7280.2727.2.60.761 + - 1.3.6.1.4.1.30065.1.3011.7280.2727.2.972.30 + - 1.3.6.1.4.1.30065.1.3011.7280.2727.48 + - 1.3.6.1.4.1.30065.1.3011.7280.2727.48.761 + - 1.3.6.1.4.1.30065.1.3011.7280.3101.2878.36 + - 1.3.6.1.4.1.30065.1.3011.7280.3101.2878.36.3282 + - 1.3.6.1.4.1.30065.1.3011.7280.3101.2878.36.3282.972 + - 1.3.6.1.4.1.30065.1.3011.7280.3101.2878.36.972 + - 1.3.6.1.4.1.30065.1.3011.7280.3101.2878.72 + - 1.3.6.1.4.1.30065.1.3011.7280.3101.2878.72.972 + - 1.3.6.1.4.1.30065.1.3011.7280.312.48.2878.6 + - 1.3.6.1.4.1.30065.1.3011.7280.312.48.2878.6.972 + - 1.3.6.1.4.1.30065.1.3011.7280.3714.64 + - 1.3.6.1.4.1.30065.1.3011.7280.3714.68 + - 1.3.6.1.4.1.30065.1.3011.7280.3714.72 + - 1.3.6.1.4.1.30065.1.3011.7280.3735.2.202.48.2878.6 + - 1.3.6.1.4.1.30065.1.3011.7280.3735.2.3648.48.1654.6 + - 1.3.6.1.4.1.30065.1.3011.7280.3735.2.3648.48.1654.6.972 + - 1.3.6.1.4.1.30065.1.3011.7280.3735.2.48.1654.6 + - 1.3.6.1.4.1.30065.1.3011.7280.3735.2.48.1654.6.972 + - 1.3.6.1.4.1.30065.1.3011.7280.3735.2.589.48.2878.6 + - 1.3.6.1.4.1.30065.1.3011.7280.3735.32.2878.2 + - 1.3.6.1.4.1.30065.1.3011.7280.3735.48.2878.6 + - 1.3.6.1.4.1.30065.1.3011.7280.3735.48.2878.6.972 + - 1.3.6.1.4.1.30065.1.3011.7280.3977.48.2878.6 + - 1.3.6.1.4.1.30065.1.3011.7280.877.48 + - 1.3.6.1.4.1.30065.1.3011.7280.877.48.972 + +metrics: + - MIB: HOST-RESOURCES-MIB + symbol: + name: memory.total + OID: 1.3.6.1.2.1.25.2.3.1.5.1 + - MIB: HOST-RESOURCES-MIB + symbol: + name: memory.used + OID: 1.3.6.1.2.1.25.2.3.1.6.100 + - MIB: HOST-RESOURCES-MIB + symbol: + name: cpu.usage + OID: 1.3.6.1.2.1.25.3.3.1.2.1 + - MIB: ARISTA-BGP4V2-MIB + table: + name: aristaBgp4V2PeerTable + OID: 1.3.6.1.4.1.30065.4.1.1.2 + symbols: + - name: aristaBgp4V2PeerLocalPort + OID: 1.3.6.1.4.1.30065.4.1.1.2.1.6 + - name: aristaBgp4V2PeerLocalAs + OID: 1.3.6.1.4.1.30065.4.1.1.2.1.7 + - name: aristaBgp4V2PeerRemotePort + OID: 1.3.6.1.4.1.30065.4.1.1.2.1.9 + - name: aristaBgp4V2PeerRemoteAs + OID: 1.3.6.1.4.1.30065.4.1.1.2.1.10 + metric_tags: + - column: + name: aristaBgp4V2PeerLocalAddr + OID: 1.3.6.1.4.1.30065.4.1.1.2.1.3 + format: ip_address + tag: arista_bgp4_v2_peer_local_addr + - column: + name: aristaBgp4V2PeerLocalIdentifier + OID: 1.3.6.1.4.1.30065.4.1.1.2.1.8 + format: ip_address + tag: arista_bgp4_v2_peer_local_identifier + - column: + name: aristaBgp4V2PeerRemoteIdentifier + OID: 1.3.6.1.4.1.30065.4.1.1.2.1.11 + format: ip_address + tag: arista_bgp4_v2_peer_remote_identifier + - column: + name: aristaBgp4V2PeerDescription + OID: 1.3.6.1.4.1.30065.4.1.1.2.1.14 + tag: arista_bgp4_v2_peer_description + - column: + OID: 1.3.6.1.4.1.30065.4.1.1.2.1.2 + name: aristaBgp4V2PeerLocalAddrType + tag: arista_bgp4_v2_peer_local_addr_type + mapping: + 0: unknown + 1: ipv4 + 2: ipv6 + 3: ipv4z + 4: ipv6z + 16: dns + - column: + OID: 1.3.6.1.4.1.30065.4.1.1.2.1.12 + name: aristaBgp4V2PeerAdminStatus + tag: arista_bgp4_v2_peer_admin_status + mapping: + 1: halted + 2: running + - column: + OID: 1.3.6.1.4.1.30065.4.1.1.2.1.13 + name: aristaBgp4V2PeerState + tag: arista_bgp4_v2_peer_state + mapping: + 1: idle + 2: connect + 3: active + 4: opensent + 5: openconfirm + 6: established + - MIB: ARISTA-IF-MIB + table: + name: aristaIfTable + OID: 1.3.6.1.4.1.30065.3.15.1.1 + symbols: + - name: aristaIfInPktRate + OID: 1.3.6.1.4.1.30065.3.15.1.1.1.3 + - name: aristaIfOutPktRate + OID: 1.3.6.1.4.1.30065.3.15.1.1.1.4 + - name: aristaIfInOctetRate + OID: 1.3.6.1.4.1.30065.3.15.1.1.1.5 + - name: aristaIfOutOctetRate + OID: 1.3.6.1.4.1.30065.3.15.1.1.1.6 + metric_tags: + - column: + name: aristaIfRateInterval + OID: 1.3.6.1.4.1.30065.3.15.1.1.1.2 + tag: arista_if_rate_interval + - MIB: IF-MIB + column: + OID: 1.3.6.1.2.1.31.1.1.1.1 + name: ifName + table: ifXTable + tag: if_name diff --git a/snmp/metadata.csv b/snmp/metadata.csv index 80ecfbe74d0f8..5c7c28ec019e8 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -24,7 +24,15 @@ snmp.alaChasBpsPowerSupply,gauge,,,,"[ALCATEL-ENT1-CHASSIS-MIB] This table conta snmp.alaChasEntPhysFanSpeed,gauge,,,,"[ALCATEL-ENT1-CHASSIS-MIB] Chassis fan speed.",0,snmp,, snmp.amperageProbeReading,gauge,,milliampere,,[Dell iDRAC] The reading for an amperage probe.,0,snmp,, snmp.amperageProbeStatus,gauge,,milliampere,,[Dell iDRAC] The probe status of the amperage probe.,0,snmp,, +snmp.aristaBgp4V2PeerLocalAs,gauge,,,,"[ARISTA-BGP4V2-MIB] Some implementations of BGP can represent themselves as multiple ASes. This is the AS that this peering session is representing itself as to the remote peer.",0,snmp,, +snmp.aristaBgp4V2PeerLocalPort,gauge,,,,"[ARISTA-BGP4V2-MIB] The local port for the TCP connection between the BGP peers.",0,snmp,, +snmp.aristaBgp4V2PeerRemoteAs,gauge,,,,"[ARISTA-BGP4V2-MIB] The remote autonomous system number received in the BGP OPEN message.",0,snmp,, +snmp.aristaBgp4V2PeerRemotePort,gauge,,,,"[ARISTA-BGP4V2-MIB] The remote port for the TCP connection between the BGP peers. Note that the objects aristaBgp4V2PeerLocalAddr, aristaBgp4V2PeerLocalPort, aristaBgp4V2PeerRemoteAddr and aristaBgp4V2PeerRemotePort provide the appropriate reference to the standard MIB TCP connection table, or even the ipv6 TCP MIB as in RFC 4022.",0,snmp,, snmp.aristaEgressQueuePktsDropped,count,,,,[Arista] The number of packets discarded from this egress queue.,0,snmp,, +snmp.aristaIfInOctetRate,gauge,,,,"[ARISTA-IF-MIB] The rate, in octets per second, of data inbound on this interface, averaged over aristaIfRateInterval.",0,snmp,, +snmp.aristaIfInPktRate,gauge,,,,"[ARISTA-IF-MIB] The rate, in packets per second, of packets inbound on this interface, averaged over aristaIfRateInterval.",0,snmp,, +snmp.aristaIfOutOctetRate,gauge,,,,"[ARISTA-IF-MIB] The rate, in octets per second, of data inbound on this interface, averaged over aristaIfRateInterval.",0,snmp,, +snmp.aristaIfOutPktRate,gauge,,,,"[ARISTA-IF-MIB] The rate, in packets per second, of packets outbound on this interface, averaged over aristaIfRateInterval.",0,snmp,, snmp.aristaIngressQueuePktsDropped,count,,,,[Arista] The number of dropped packets due to congestion at the ingress port in an interface.,0,snmp,, snmp.arubaWiredFanRPM,gauge,,,,"[ARUBAWIRED-FAN-MIB] Current RPM read for the fan.",0,snmp,, snmp.arubaWiredFanTray,gauge,,,,"[ARUBAWIRED-FANTRAY-MIB] This table contains one row per switch fan tray entity. (Make 'sum by {X}' queries to count elements with the tag X.)",0,snmp,, diff --git a/snmp/tests/compose/data/arista-switch.snmprec b/snmp/tests/compose/data/arista-switch.snmprec new file mode 100644 index 0000000000000..2597ad847c369 --- /dev/null +++ b/snmp/tests/compose/data/arista-switch.snmprec @@ -0,0 +1,392 @@ +1.3.6.1.2.1.1.1.0|4|arista-switch Device Description +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.30065.1.3011.7010.427.48 +1.3.6.1.2.1.1.5.0|4|arista-switch.device.name +1.3.6.1.2.1.2.1.0|2|28 +1.3.6.1.2.1.4.31.1.1.4.1|2|310637142 +1.3.6.1.2.1.6.5.0|65|457790 +1.3.6.1.2.1.7.8.0|70|6116206687099577350 +1.3.6.1.2.1.14.10.1.6.192.29.116.26.0|2|8 +1.3.6.1.2.1.15.3.1.3.244.12.239.177|2|2 +1.3.6.1.2.1.25.1.1.0|67|201526890 +1.3.6.1.2.1.25.1.2.0|4x|07d209150d352003 +1.3.6.1.2.1.25.1.3.0|2|25 +1.3.6.1.2.1.25.1.4.0|4x|61637465642064726976696e6720666f7277617264204a61646564 +1.3.6.1.2.1.25.2.2.0|2|7 +1.3.6.1.2.1.25.2.3.1.1.4|2|4 +1.3.6.1.2.1.25.2.3.1.1.31|2|31 +1.3.6.1.2.1.25.2.3.1.2.4|6|1.3.6.1.3.167.36 +1.3.6.1.2.1.25.2.3.1.2.31|6|1.3.6.1.3 +1.3.6.1.2.1.25.2.3.1.3.4|4x|6b65707420627574207468656972204a61646564206275742064726976696e67 +1.3.6.1.2.1.25.2.3.1.3.31|4x|7a6f6d62696573206f78656e206b657074204a6164656420717561696e746c79207a6f6d62696573 +1.3.6.1.2.1.25.2.3.1.5.4|2|17 +1.3.6.1.2.1.25.2.3.1.5.31|2|21 +1.3.6.1.2.1.25.2.3.1.6.4|2|30 +1.3.6.1.2.1.25.2.3.1.6.31|2|4 +1.3.6.1.2.1.25.3.3.1.1.10|2|10 +1.3.6.1.2.1.25.3.3.1.1.21|2|21 +1.3.6.1.2.1.25.3.3.1.2.10|2|31 +1.3.6.1.2.1.25.3.3.1.2.21|2|15 +1.3.6.1.2.1.25.3.4.1.1.5|2|3 +1.3.6.1.2.1.25.3.4.1.1.27|2|16 +1.3.6.1.2.1.25.3.5.1.1.17|2|2 +1.3.6.1.2.1.25.3.5.1.1.27|2|4 +1.3.6.1.2.1.25.3.5.1.2.17|4|their +1.3.6.1.2.1.25.3.5.1.2.27|4x|7468656972206f78656e20666f727761726420666f727761726420717561696e746c7920627574206163746564 +1.3.6.1.2.1.25.3.6.1.1.10|2|1 +1.3.6.1.2.1.25.3.6.1.1.31|2|2 +1.3.6.1.2.1.25.3.6.1.2.10|2|2 +1.3.6.1.2.1.25.3.6.1.2.31|2|5 +1.3.6.1.2.1.25.3.6.1.3.10|2|1 +1.3.6.1.2.1.25.3.6.1.3.31|2|2 +1.3.6.1.2.1.25.3.6.1.4.10|2|28 +1.3.6.1.2.1.25.3.6.1.4.31|2|21 +1.3.6.1.2.1.25.3.7.1.1.6.24|2|24 +1.3.6.1.2.1.25.3.7.1.1.16.23|2|23 +1.3.6.1.2.1.25.3.7.1.2.6.24|4x|4a61646564206b65707420666f727761726420717561696e746c792062757420717561696e746c79207a6f6d626965732074686569722064726976696e67 +1.3.6.1.2.1.25.3.7.1.2.16.23|4x|64726976696e672074686569722064726976696e67207468656972207468656972 +1.3.6.1.2.1.25.3.7.1.3.6.24|4x|7468656972206f78656e20666f7277617264206b657074207a6f6d62696573 +1.3.6.1.2.1.25.3.7.1.3.16.23|4x|6b65707420666f7277617264206b65707420666f7277617264207a6f6d626965732064726976696e6720717561696e746c79 +1.3.6.1.2.1.25.3.7.1.4.6.24|2|27 +1.3.6.1.2.1.25.3.7.1.4.16.23|2|31 +1.3.6.1.2.1.25.3.7.1.5.6.24|2|16 +1.3.6.1.2.1.25.3.7.1.5.16.23|2|26 +1.3.6.1.2.1.25.3.8.1.1.2|2|2 +1.3.6.1.2.1.25.3.8.1.1.8|2|8 +1.3.6.1.2.1.25.3.8.1.2.2|4x|7a6f6d6269657320746865697220666f727761726420717561696e746c7920616374656420717561696e746c79 +1.3.6.1.2.1.25.3.8.1.2.8|4x|666f727761726420616374656420666f7277617264207a6f6d62696573206f78656e206163746564 +1.3.6.1.2.1.25.3.8.1.3.2|4x|6f78656e20717561696e746c79206163746564204a6164656420627574 +1.3.6.1.2.1.25.3.8.1.3.8|4x|7a6f6d6269657320717561696e746c79207a6f6d626965732064726976696e67 +1.3.6.1.2.1.25.3.8.1.4.2|6|1.3.6.1.3.36.6.67.121.59.164 +1.3.6.1.2.1.25.3.8.1.4.8|6|1.3.6.1.3.170.118 +1.3.6.1.2.1.25.3.8.1.5.2|2|2 +1.3.6.1.2.1.25.3.8.1.5.8|2|1 +1.3.6.1.2.1.25.3.8.1.6.2|2|2 +1.3.6.1.2.1.25.3.8.1.6.8|2|2 +1.3.6.1.2.1.25.3.8.1.7.2|2|10 +1.3.6.1.2.1.25.3.8.1.7.8|2|28 +1.3.6.1.2.1.25.3.8.1.8.2|4x|07d209150d352003 +1.3.6.1.2.1.25.3.8.1.8.8|4x|07d209150d352003 +1.3.6.1.2.1.25.3.8.1.9.2|4x|07d209150d352003 +1.3.6.1.2.1.25.3.8.1.9.8|4x|07d209150d352003 +1.3.6.1.2.1.25.4.1.0|2|29 +1.3.6.1.2.1.25.4.2.1.1.10|2|10 +1.3.6.1.2.1.25.4.2.1.1.13|2|13 +1.3.6.1.2.1.25.4.2.1.2.10|4x|4a6164656420627574207a6f6d6269657320717561696e746c7920666f7277617264207a6f6d626965732074686569722064726976696e67 +1.3.6.1.2.1.25.4.2.1.2.13|4x|746865697220717561696e746c79 +1.3.6.1.2.1.25.4.2.1.3.10|6|1.3.6.1.3.185.80 +1.3.6.1.2.1.25.4.2.1.3.13|6|1.3.6.1.3.88.55.131.28.66.28.228 +1.3.6.1.2.1.25.4.2.1.4.10|4|Jaded +1.3.6.1.2.1.25.4.2.1.4.13|4|oxen +1.3.6.1.2.1.25.4.2.1.5.10|4x|6b65707420666f727761726420666f727761726420666f7277617264 +1.3.6.1.2.1.25.4.2.1.5.13|4x|4a6164656420627574207a6f6d62696573206f78656e +1.3.6.1.2.1.25.4.2.1.6.10|2|2 +1.3.6.1.2.1.25.4.2.1.6.13|2|3 +1.3.6.1.2.1.25.4.2.1.7.10|2|4 +1.3.6.1.2.1.25.4.2.1.7.13|2|2 +1.3.6.1.2.1.25.5.1.1.1.2|2|31 +1.3.6.1.2.1.25.5.1.1.1.22|2|23 +1.3.6.1.2.1.25.5.1.1.2.2|2|5 +1.3.6.1.2.1.25.5.1.1.2.22|2|15 +1.3.6.1.2.1.25.6.1.0|67|3776991345 +1.3.6.1.2.1.25.6.2.0|67|3883308072 +1.3.6.1.2.1.25.6.3.1.1.8|2|8 +1.3.6.1.2.1.25.6.3.1.1.20|2|20 +1.3.6.1.2.1.25.6.3.1.2.8|4x|7468656972204a61646564206f78656e +1.3.6.1.2.1.25.6.3.1.2.20|4x|7a6f6d62696573206b6570742062757420746865697220666f72776172642064726976696e672064726976696e67 +1.3.6.1.2.1.25.6.3.1.3.8|6|1.3.6.1.3.130.185.1.203.123.193 +1.3.6.1.2.1.25.6.3.1.3.20|6|1.3.6.1.3.194.37.180.134.83.132.162 +1.3.6.1.2.1.25.6.3.1.4.8|2|3 +1.3.6.1.2.1.25.6.3.1.4.20|2|4 +1.3.6.1.2.1.25.6.3.1.5.8|4x|07d209150d352003 +1.3.6.1.2.1.25.6.3.1.5.20|4x|07d209150d352003 +1.3.6.1.2.1.31.1.1.1.1.1|4|quaintly +1.3.6.1.2.1.31.1.1.1.1.28|4x|717561696e746c79206163746564206f78656e +1.3.6.1.2.1.31.1.1.1.2.1|65|4260190802 +1.3.6.1.2.1.31.1.1.1.2.28|65|922942229 +1.3.6.1.2.1.31.1.1.1.3.1|65|3483839109 +1.3.6.1.2.1.31.1.1.1.3.28|65|1662525694 +1.3.6.1.2.1.31.1.1.1.4.1|65|1884979386 +1.3.6.1.2.1.31.1.1.1.4.28|65|1524159442 +1.3.6.1.2.1.31.1.1.1.5.1|65|282672198 +1.3.6.1.2.1.31.1.1.1.5.28|65|3311950865 +1.3.6.1.2.1.31.1.1.1.14.1|2|2 +1.3.6.1.2.1.31.1.1.1.14.28|2|1 +1.3.6.1.2.1.31.1.1.1.16.1|2|1 +1.3.6.1.2.1.31.1.1.1.16.28|2|1 +1.3.6.1.2.1.31.1.1.1.17.1|2|1 +1.3.6.1.2.1.31.1.1.1.17.28|2|1 +1.3.6.1.2.1.31.1.1.1.18.1|4x|4a61646564206f78656e206163746564207468656972207468656972206b657074 +1.3.6.1.2.1.31.1.1.1.18.28|4x|746865697220746865697220666f7277617264206163746564207a6f6d62696573207a6f6d62696573 +1.3.6.1.2.1.31.1.1.1.19.1|67|3961602967 +1.3.6.1.2.1.31.1.1.1.19.28|67|1928990417 +1.3.6.1.2.1.31.1.2.1.1.20.15|2|20 +1.3.6.1.2.1.31.1.2.1.1.20.22|2|20 +1.3.6.1.2.1.31.1.2.1.2.20.15|2|15 +1.3.6.1.2.1.31.1.2.1.2.20.22|2|22 +1.3.6.1.2.1.31.1.2.1.3.20.15|2|6 +1.3.6.1.2.1.31.1.2.1.3.20.22|2|1 +1.3.6.1.2.1.31.1.3.1.1.11|2|9 +1.3.6.1.2.1.31.1.3.1.1.14|2|26 +1.3.6.1.2.1.31.1.3.1.2.11|2|2 +1.3.6.1.2.1.31.1.3.1.2.14|2|1 +1.3.6.1.2.1.31.1.3.1.3.11|6|1.3.6.1.3.165.142.243 +1.3.6.1.2.1.31.1.3.1.3.14|6|1.3.6.1.3.14.35.248.60.70.177.29.68.166 +1.3.6.1.2.1.31.1.3.1.4.11|2|4 +1.3.6.1.2.1.31.1.3.1.4.14|2|6 +1.3.6.1.2.1.31.1.3.1.5.11|6|1.3.6.1.3 +1.3.6.1.2.1.31.1.3.1.5.14|6|1.3.6.1.3.216.33.158.86.16 +1.3.6.1.2.1.31.1.3.1.6.11|4x|4a6164656420616374656420616374656420627574206b657074 +1.3.6.1.2.1.31.1.3.1.6.14|4x|6b657074204a61646564206163746564206275742061637465642064726976696e6720717561696e746c7920717561696e746c79 +1.3.6.1.2.1.31.1.4.1.1.12.6.17.17.17.17.17.17|4x|111111111111 +1.3.6.1.2.1.31.1.4.1.1.27.2.5.102|4x|0566 +1.3.6.1.2.1.31.1.4.1.2.12.6.17.17.17.17.17.17|2|4 +1.3.6.1.2.1.31.1.4.1.2.27.2.5.102|2|2 +1.3.6.1.2.1.31.1.4.1.3.12.6.17.17.17.17.17.17|2|3 +1.3.6.1.2.1.31.1.4.1.3.27.2.5.102|2|3 +1.3.6.1.2.1.31.1.5.0|67|2416472539 +1.3.6.1.2.1.31.1.6.0|67|38910306 +1.3.6.1.4.1.30065.3.6.1.1.1.1.7.31|2|7 +1.3.6.1.4.1.30065.3.6.1.1.1.1.20.11|2|20 +1.3.6.1.4.1.30065.3.6.1.1.1.1.21.16|2|21 +1.3.6.1.4.1.30065.3.6.1.1.1.1.23.28|2|23 +1.3.6.1.4.1.30065.3.6.1.1.1.2.7.31|2|31 +1.3.6.1.4.1.30065.3.6.1.1.1.2.20.11|2|11 +1.3.6.1.4.1.30065.3.6.1.1.1.2.21.16|2|16 +1.3.6.1.4.1.30065.3.6.1.1.1.2.23.28|2|28 +1.3.6.1.4.1.30065.3.6.1.1.1.3.7.31|70|6082478115449723522 +1.3.6.1.4.1.30065.3.6.1.1.1.3.20.11|70|1942335933698701310 +1.3.6.1.4.1.30065.3.6.1.1.1.3.21.16|70|7120621054030212242 +1.3.6.1.4.1.30065.3.6.1.1.1.3.23.28|70|10426720655158250645 +1.3.6.1.4.1.30065.3.6.1.1.1.4.7.31|70|6843159860763444002 +1.3.6.1.4.1.30065.3.6.1.1.1.4.20.11|70|2285917437040349211 +1.3.6.1.4.1.30065.3.6.1.1.1.4.21.16|70|295265943941054091 +1.3.6.1.4.1.30065.3.6.1.1.1.4.23.28|70|8606983813964110251 +1.3.6.1.4.1.30065.3.6.1.2.1.1.8.21.1|2|8 +1.3.6.1.4.1.30065.3.6.1.2.1.1.11.17.2|2|11 +1.3.6.1.4.1.30065.3.6.1.2.1.1.13.5.2|2|13 +1.3.6.1.4.1.30065.3.6.1.2.1.1.23.1.0|2|23 +1.3.6.1.4.1.30065.3.6.1.2.1.2.8.21.1|2|21 +1.3.6.1.4.1.30065.3.6.1.2.1.2.11.17.2|2|17 +1.3.6.1.4.1.30065.3.6.1.2.1.2.13.5.2|2|5 +1.3.6.1.4.1.30065.3.6.1.2.1.2.23.1.0|2|1 +1.3.6.1.4.1.30065.3.6.1.2.1.3.8.21.1|2|1 +1.3.6.1.4.1.30065.3.6.1.2.1.3.11.17.2|2|2 +1.3.6.1.4.1.30065.3.6.1.2.1.3.13.5.2|2|2 +1.3.6.1.4.1.30065.3.6.1.2.1.3.23.1.0|2|0 +1.3.6.1.4.1.30065.3.6.1.2.1.4.8.21.1|70|8635940620662210974 +1.3.6.1.4.1.30065.3.6.1.2.1.4.11.17.2|70|1379765734750651938 +1.3.6.1.4.1.30065.3.6.1.2.1.4.13.5.2|70|926505429200362267 +1.3.6.1.4.1.30065.3.6.1.2.1.4.23.1.0|70|16234761333600249436 +1.3.6.1.4.1.30065.3.6.1.2.1.5.8.21.1|70|6303574749817244686 +1.3.6.1.4.1.30065.3.6.1.2.1.5.11.17.2|70|6245097879942902108 +1.3.6.1.4.1.30065.3.6.1.2.1.5.13.5.2|70|7838264510951081832 +1.3.6.1.4.1.30065.3.6.1.2.1.5.23.1.0|70|8017140114512693623 +1.3.6.1.4.1.30065.3.6.1.2.1.6.8.21.1|70|4990356330812049441 +1.3.6.1.4.1.30065.3.6.1.2.1.6.11.17.2|70|9601270815267278861 +1.3.6.1.4.1.30065.3.6.1.2.1.6.13.5.2|70|8829875507309390304 +1.3.6.1.4.1.30065.3.6.1.2.1.6.23.1.0|70|1659320134317923750 +1.3.6.1.4.1.30065.3.6.1.2.1.7.8.21.1|70|9468559405231925614 +1.3.6.1.4.1.30065.3.6.1.2.1.7.11.17.2|70|15184223779457346943 +1.3.6.1.4.1.30065.3.6.1.2.1.7.13.5.2|70|16408800855662513611 +1.3.6.1.4.1.30065.3.6.1.2.1.7.23.1.0|70|16915764331746305825 +1.3.6.1.4.1.30065.3.6.1.2.1.8.8.21.1|70|2903521922078596114 +1.3.6.1.4.1.30065.3.6.1.2.1.8.11.17.2|70|6234409680877213477 +1.3.6.1.4.1.30065.3.6.1.2.1.8.13.5.2|70|12512358578600100621 +1.3.6.1.4.1.30065.3.6.1.2.1.8.23.1.0|70|6486715799014109988 +1.3.6.1.4.1.30065.3.6.1.2.1.9.8.21.1|70|4711752984290099421 +1.3.6.1.4.1.30065.3.6.1.2.1.9.11.17.2|70|11465449213831279458 +1.3.6.1.4.1.30065.3.6.1.2.1.9.13.5.2|70|2195269745464015528 +1.3.6.1.4.1.30065.3.6.1.2.1.9.23.1.0|70|4133996327603900029 +1.3.6.1.4.1.30065.3.6.1.2.1.10.8.21.1|2|2 +1.3.6.1.4.1.30065.3.6.1.2.1.10.11.17.2|2|0 +1.3.6.1.4.1.30065.3.6.1.2.1.10.13.5.2|2|2 +1.3.6.1.4.1.30065.3.6.1.2.1.10.23.1.0|2|1 +1.3.6.1.4.1.30065.3.15.1.1.1.1.1|67|3920288571 +1.3.6.1.4.1.30065.3.15.1.1.1.1.2|67|913358846 +1.3.6.1.4.1.30065.3.15.1.1.1.1.14|67|1222006931 +1.3.6.1.4.1.30065.3.15.1.1.1.1.25|67|3321207119 +1.3.6.1.4.1.30065.3.15.1.1.1.1.26|67|3561962156 +1.3.6.1.4.1.30065.3.15.1.1.1.2.1|67|1910027044 +1.3.6.1.4.1.30065.3.15.1.1.1.2.2|67|3921535322 +1.3.6.1.4.1.30065.3.15.1.1.1.2.14|67|1077547100 +1.3.6.1.4.1.30065.3.15.1.1.1.2.25|67|1721696784 +1.3.6.1.4.1.30065.3.15.1.1.1.2.26|67|764721249 +1.3.6.1.4.1.30065.3.15.1.1.1.3.1|66|841470332 +1.3.6.1.4.1.30065.3.15.1.1.1.3.2|66|408005906 +1.3.6.1.4.1.30065.3.15.1.1.1.3.14|66|519598192 +1.3.6.1.4.1.30065.3.15.1.1.1.3.25|66|1627907949 +1.3.6.1.4.1.30065.3.15.1.1.1.3.26|66|2028736345 +1.3.6.1.4.1.30065.3.15.1.1.1.4.1|66|2306783641 +1.3.6.1.4.1.30065.3.15.1.1.1.4.2|66|3216595788 +1.3.6.1.4.1.30065.3.15.1.1.1.4.14|66|3299737395 +1.3.6.1.4.1.30065.3.15.1.1.1.4.25|66|3538706561 +1.3.6.1.4.1.30065.3.15.1.1.1.4.26|66|3017678519 +1.3.6.1.4.1.30065.3.15.1.1.1.5.1|70|8914683223724494222 +1.3.6.1.4.1.30065.3.15.1.1.1.5.2|70|17790381377151536699 +1.3.6.1.4.1.30065.3.15.1.1.1.5.14|70|3858365026199722922 +1.3.6.1.4.1.30065.3.15.1.1.1.5.25|70|17809507299821043289 +1.3.6.1.4.1.30065.3.15.1.1.1.5.26|70|12614301672767318664 +1.3.6.1.4.1.30065.3.15.1.1.1.6.1|70|16569025239326304175 +1.3.6.1.4.1.30065.3.15.1.1.1.6.2|70|7672932785523266653 +1.3.6.1.4.1.30065.3.15.1.1.1.6.14|70|11562732578778578933 +1.3.6.1.4.1.30065.3.15.1.1.1.6.25|70|16842487086462694226 +1.3.6.1.4.1.30065.3.15.1.1.1.6.26|70|9693287788454073377 +1.3.6.1.4.1.30065.3.15.1.1.1.7.1|67|2897976338 +1.3.6.1.4.1.30065.3.15.1.1.1.7.2|67|1368706977 +1.3.6.1.4.1.30065.3.15.1.1.1.7.14|67|2076539937 +1.3.6.1.4.1.30065.3.15.1.1.1.7.25|67|4258560383 +1.3.6.1.4.1.30065.3.15.1.1.1.7.26|67|3797041912 +1.3.6.1.4.1.30065.3.15.1.1.1.8.1|65|148746835 +1.3.6.1.4.1.30065.3.15.1.1.1.8.2|65|1042609842 +1.3.6.1.4.1.30065.3.15.1.1.1.8.14|65|1024327844 +1.3.6.1.4.1.30065.3.15.1.1.1.8.25|65|1275540153 +1.3.6.1.4.1.30065.3.15.1.1.1.8.26|65|225576015 +1.3.6.1.4.1.30065.4.1.1.1.1.1.18520|67|1008480184 +1.3.6.1.4.1.30065.4.1.1.1.1.1.61521|67|2529483496 +1.3.6.1.4.1.30065.4.1.1.2.1.1.13346.4.43.98.117.116.32.74.97.100.101.100.32.74.97.100.101.100.32.107.101.112.116.32.98.117.116.32.111.120.101.110.32.122.111.109.98.105.101.115.32.74.97.100.101.100|66|13346 +1.3.6.1.4.1.30065.4.1.1.2.1.1.56008.1.35.113.117.97.105.110.116.108.121.32.100.114.105.118.105.110.103.32.111.120.101.110.32.100.114.105.118.105.110.103.32.97.99.116.101.100|66|56008 +1.3.6.1.4.1.30065.4.1.1.2.1.2.13346.4.43.98.117.116.32.74.97.100.101.100.32.74.97.100.101.100.32.107.101.112.116.32.98.117.116.32.111.120.101.110.32.122.111.109.98.105.101.115.32.74.97.100.101.100|2|4 +1.3.6.1.4.1.30065.4.1.1.2.1.2.56008.1.35.113.117.97.105.110.116.108.121.32.100.114.105.118.105.110.103.32.111.120.101.110.32.100.114.105.118.105.110.103.32.97.99.116.101.100|2|0 +1.3.6.1.4.1.30065.4.1.1.2.1.3.13346.4.43.98.117.116.32.74.97.100.101.100.32.74.97.100.101.100.32.107.101.112.116.32.98.117.116.32.111.120.101.110.32.122.111.109.98.105.101.115.32.74.97.100.101.100|4x|6b657074206f78656e20717561696e746c79206f78656e207a6f6d62696573206b657074 +1.3.6.1.4.1.30065.4.1.1.2.1.3.56008.1.35.113.117.97.105.110.116.108.121.32.100.114.105.118.105.110.103.32.111.120.101.110.32.100.114.105.118.105.110.103.32.97.99.116.101.100|4|their +1.3.6.1.4.1.30065.4.1.1.2.1.4.13346.4.43.98.117.116.32.74.97.100.101.100.32.74.97.100.101.100.32.107.101.112.116.32.98.117.116.32.111.120.101.110.32.122.111.109.98.105.101.115.32.74.97.100.101.100|2|4 +1.3.6.1.4.1.30065.4.1.1.2.1.4.56008.1.35.113.117.97.105.110.116.108.121.32.100.114.105.118.105.110.103.32.111.120.101.110.32.100.114.105.118.105.110.103.32.97.99.116.101.100|2|1 +1.3.6.1.4.1.30065.4.1.1.2.1.5.13346.4.43.98.117.116.32.74.97.100.101.100.32.74.97.100.101.100.32.107.101.112.116.32.98.117.116.32.111.120.101.110.32.122.111.109.98.105.101.115.32.74.97.100.101.100|4x|627574204a61646564204a61646564206b65707420627574206f78656e207a6f6d62696573204a61646564 +1.3.6.1.4.1.30065.4.1.1.2.1.5.56008.1.35.113.117.97.105.110.116.108.121.32.100.114.105.118.105.110.103.32.111.120.101.110.32.100.114.105.118.105.110.103.32.97.99.116.101.100|4x|717561696e746c792064726976696e67206f78656e2064726976696e67206163746564 +1.3.6.1.4.1.30065.4.1.1.2.1.6.13346.4.43.98.117.116.32.74.97.100.101.100.32.74.97.100.101.100.32.107.101.112.116.32.98.117.116.32.111.120.101.110.32.122.111.109.98.105.101.115.32.74.97.100.101.100|66|26757 +1.3.6.1.4.1.30065.4.1.1.2.1.6.56008.1.35.113.117.97.105.110.116.108.121.32.100.114.105.118.105.110.103.32.111.120.101.110.32.100.114.105.118.105.110.103.32.97.99.116.101.100|66|1908 +1.3.6.1.4.1.30065.4.1.1.2.1.7.13346.4.43.98.117.116.32.74.97.100.101.100.32.74.97.100.101.100.32.107.101.112.116.32.98.117.116.32.111.120.101.110.32.122.111.109.98.105.101.115.32.74.97.100.101.100|66|39716 +1.3.6.1.4.1.30065.4.1.1.2.1.7.56008.1.35.113.117.97.105.110.116.108.121.32.100.114.105.118.105.110.103.32.111.120.101.110.32.100.114.105.118.105.110.103.32.97.99.116.101.100|66|17506 +1.3.6.1.4.1.30065.4.1.1.2.1.8.13346.4.43.98.117.116.32.74.97.100.101.100.32.74.97.100.101.100.32.107.101.112.116.32.98.117.116.32.111.120.101.110.32.122.111.109.98.105.101.115.32.74.97.100.101.100|4x|01020304 +1.3.6.1.4.1.30065.4.1.1.2.1.8.56008.1.35.113.117.97.105.110.116.108.121.32.100.114.105.118.105.110.103.32.111.120.101.110.32.100.114.105.118.105.110.103.32.97.99.116.101.100|4x|01020304 +1.3.6.1.4.1.30065.4.1.1.2.1.9.13346.4.43.98.117.116.32.74.97.100.101.100.32.74.97.100.101.100.32.107.101.112.116.32.98.117.116.32.111.120.101.110.32.122.111.109.98.105.101.115.32.74.97.100.101.100|66|63896 +1.3.6.1.4.1.30065.4.1.1.2.1.9.56008.1.35.113.117.97.105.110.116.108.121.32.100.114.105.118.105.110.103.32.111.120.101.110.32.100.114.105.118.105.110.103.32.97.99.116.101.100|66|21151 +1.3.6.1.4.1.30065.4.1.1.2.1.10.13346.4.43.98.117.116.32.74.97.100.101.100.32.74.97.100.101.100.32.107.101.112.116.32.98.117.116.32.111.120.101.110.32.122.111.109.98.105.101.115.32.74.97.100.101.100|66|41443 +1.3.6.1.4.1.30065.4.1.1.2.1.10.56008.1.35.113.117.97.105.110.116.108.121.32.100.114.105.118.105.110.103.32.111.120.101.110.32.100.114.105.118.105.110.103.32.97.99.116.101.100|66|9974 +1.3.6.1.4.1.30065.4.1.1.2.1.11.13346.4.43.98.117.116.32.74.97.100.101.100.32.74.97.100.101.100.32.107.101.112.116.32.98.117.116.32.111.120.101.110.32.122.111.109.98.105.101.115.32.74.97.100.101.100|4x|01020304 +1.3.6.1.4.1.30065.4.1.1.2.1.11.56008.1.35.113.117.97.105.110.116.108.121.32.100.114.105.118.105.110.103.32.111.120.101.110.32.100.114.105.118.105.110.103.32.97.99.116.101.100|4x|01020304 +1.3.6.1.4.1.30065.4.1.1.2.1.12.13346.4.43.98.117.116.32.74.97.100.101.100.32.74.97.100.101.100.32.107.101.112.116.32.98.117.116.32.111.120.101.110.32.122.111.109.98.105.101.115.32.74.97.100.101.100|2|2 +1.3.6.1.4.1.30065.4.1.1.2.1.12.56008.1.35.113.117.97.105.110.116.108.121.32.100.114.105.118.105.110.103.32.111.120.101.110.32.100.114.105.118.105.110.103.32.97.99.116.101.100|2|1 +1.3.6.1.4.1.30065.4.1.1.2.1.13.13346.4.43.98.117.116.32.74.97.100.101.100.32.74.97.100.101.100.32.107.101.112.116.32.98.117.116.32.111.120.101.110.32.122.111.109.98.105.101.115.32.74.97.100.101.100|2|4 +1.3.6.1.4.1.30065.4.1.1.2.1.13.56008.1.35.113.117.97.105.110.116.108.121.32.100.114.105.118.105.110.103.32.111.120.101.110.32.100.114.105.118.105.110.103.32.97.99.116.101.100|2|6 +1.3.6.1.4.1.30065.4.1.1.2.1.14.13346.4.43.98.117.116.32.74.97.100.101.100.32.74.97.100.101.100.32.107.101.112.116.32.98.117.116.32.111.120.101.110.32.122.111.109.98.105.101.115.32.74.97.100.101.100|4x|666f7277617264204a61646564207a6f6d62696573204a61646564206f78656e20717561696e746c79 +1.3.6.1.4.1.30065.4.1.1.2.1.14.56008.1.35.113.117.97.105.110.116.108.121.32.100.114.105.118.105.110.103.32.111.120.101.110.32.100.114.105.118.105.110.103.32.97.99.116.101.100|4x|61637465642064726976696e67207468656972206163746564206f78656e207468656972206163746564207a6f6d6269657320717561696e746c79 +1.3.6.1.4.1.30065.4.1.1.3.1.1.6807.0.49.122.111.109.98.105.101.115.32.122.111.109.98.105.101.115.32.107.101.112.116.32.107.101.112.116.32.107.101.112.116.32.102.111.114.119.97.114.100.32.107.101.112.116.32.97.99.116.101.100|66|204 +1.3.6.1.4.1.30065.4.1.1.3.1.1.55250.3.45.74.97.100.101.100.32.113.117.97.105.110.116.108.121.32.98.117.116.32.107.101.112.116.32.111.120.101.110.32.107.101.112.116.32.100.114.105.118.105.110.103.32.98.117.116|66|98 +1.3.6.1.4.1.30065.4.1.1.3.1.2.6807.0.49.122.111.109.98.105.101.115.32.122.111.109.98.105.101.115.32.107.101.112.116.32.107.101.112.116.32.107.101.112.116.32.102.111.114.119.97.114.100.32.107.101.112.116.32.97.99.116.101.100|66|163 +1.3.6.1.4.1.30065.4.1.1.3.1.2.55250.3.45.74.97.100.101.100.32.113.117.97.105.110.116.108.121.32.98.117.116.32.107.101.112.116.32.111.120.101.110.32.107.101.112.116.32.100.114.105.118.105.110.103.32.98.117.116|66|61 +1.3.6.1.4.1.30065.4.1.1.3.1.3.6807.0.49.122.111.109.98.105.101.115.32.122.111.109.98.105.101.115.32.107.101.112.116.32.107.101.112.116.32.107.101.112.116.32.102.111.114.119.97.114.100.32.107.101.112.116.32.97.99.116.101.100|67|1881524531 +1.3.6.1.4.1.30065.4.1.1.3.1.3.55250.3.45.74.97.100.101.100.32.113.117.97.105.110.116.108.121.32.98.117.116.32.107.101.112.116.32.111.120.101.110.32.107.101.112.116.32.100.114.105.118.105.110.103.32.98.117.116|67|4169561718 +1.3.6.1.4.1.30065.4.1.1.3.1.4.6807.0.49.122.111.109.98.105.101.115.32.122.111.109.98.105.101.115.32.107.101.112.116.32.107.101.112.116.32.107.101.112.116.32.102.111.114.119.97.114.100.32.107.101.112.116.32.97.99.116.101.100|4x|6b657074207a6f6d62696573 +1.3.6.1.4.1.30065.4.1.1.3.1.4.55250.3.45.74.97.100.101.100.32.113.117.97.105.110.116.108.121.32.98.117.116.32.107.101.112.116.32.111.120.101.110.32.107.101.112.116.32.100.114.105.118.105.110.103.32.98.117.116|4x|717561696e746c7920627574204a61646564206b65707420746865697220717561696e746c7920616374656420616374656420627574 +1.3.6.1.4.1.30065.4.1.1.3.1.5.6807.0.49.122.111.109.98.105.101.115.32.122.111.109.98.105.101.115.32.107.101.112.116.32.107.101.112.116.32.107.101.112.116.32.102.111.114.119.97.114.100.32.107.101.112.116.32.97.99.116.101.100|4x|627574206163746564206b657074207a6f6d62696573206f78656e20627574207a6f6d62696573 +1.3.6.1.4.1.30065.4.1.1.3.1.5.55250.3.45.74.97.100.101.100.32.113.117.97.105.110.116.108.121.32.98.117.116.32.107.101.112.116.32.111.120.101.110.32.107.101.112.116.32.100.114.105.118.105.110.103.32.98.117.116|4x|666f727761726420666f7277617264 +1.3.6.1.4.1.30065.4.1.1.3.1.6.6807.0.49.122.111.109.98.105.101.115.32.122.111.109.98.105.101.115.32.107.101.112.116.32.107.101.112.116.32.107.101.112.116.32.102.111.114.119.97.114.100.32.107.101.112.116.32.97.99.116.101.100|66|77 +1.3.6.1.4.1.30065.4.1.1.3.1.6.55250.3.45.74.97.100.101.100.32.113.117.97.105.110.116.108.121.32.98.117.116.32.107.101.112.116.32.111.120.101.110.32.107.101.112.116.32.100.114.105.118.105.110.103.32.98.117.116|66|88 +1.3.6.1.4.1.30065.4.1.1.3.1.7.6807.0.49.122.111.109.98.105.101.115.32.122.111.109.98.105.101.115.32.107.101.112.116.32.107.101.112.116.32.107.101.112.116.32.102.111.114.119.97.114.100.32.107.101.112.116.32.97.99.116.101.100|66|20 +1.3.6.1.4.1.30065.4.1.1.3.1.7.55250.3.45.74.97.100.101.100.32.113.117.97.105.110.116.108.121.32.98.117.116.32.107.101.112.116.32.111.120.101.110.32.107.101.112.116.32.100.114.105.118.105.110.103.32.98.117.116|66|78 +1.3.6.1.4.1.30065.4.1.1.3.1.8.6807.0.49.122.111.109.98.105.101.115.32.122.111.109.98.105.101.115.32.107.101.112.116.32.107.101.112.116.32.107.101.112.116.32.102.111.114.119.97.114.100.32.107.101.112.116.32.97.99.116.101.100|67|562877361 +1.3.6.1.4.1.30065.4.1.1.3.1.8.55250.3.45.74.97.100.101.100.32.113.117.97.105.110.116.108.121.32.98.117.116.32.107.101.112.116.32.111.120.101.110.32.107.101.112.116.32.100.114.105.118.105.110.103.32.98.117.116|67|884854987 +1.3.6.1.4.1.30065.4.1.1.3.1.9.6807.0.49.122.111.109.98.105.101.115.32.122.111.109.98.105.101.115.32.107.101.112.116.32.107.101.112.116.32.107.101.112.116.32.102.111.114.119.97.114.100.32.107.101.112.116.32.97.99.116.101.100|4x|627574206163746564206b6570742064726976696e67206163746564207468656972 +1.3.6.1.4.1.30065.4.1.1.3.1.9.55250.3.45.74.97.100.101.100.32.113.117.97.105.110.116.108.121.32.98.117.116.32.107.101.112.116.32.111.120.101.110.32.107.101.112.116.32.100.114.105.118.105.110.103.32.98.117.116|4x|7a6f6d62696573206b65707420666f7277617264207468656972 +1.3.6.1.4.1.30065.4.1.1.3.1.10.6807.0.49.122.111.109.98.105.101.115.32.122.111.109.98.105.101.115.32.107.101.112.116.32.107.101.112.116.32.107.101.112.116.32.102.111.114.119.97.114.100.32.107.101.112.116.32.97.99.116.101.100|4x|666f7277617264206f78656e204a61646564206163746564 +1.3.6.1.4.1.30065.4.1.1.3.1.10.55250.3.45.74.97.100.101.100.32.113.117.97.105.110.116.108.121.32.98.117.116.32.107.101.112.116.32.111.120.101.110.32.107.101.112.116.32.100.114.105.118.105.110.103.32.98.117.116|4x|6275742064726976696e67207a6f6d62696573204a6164656420666f7277617264206163746564 +1.3.6.1.4.1.30065.4.1.1.4.1.1.8858.2.5.116.104.101.105.114|66|2290720365 +1.3.6.1.4.1.30065.4.1.1.4.1.1.45915.3.4.111.120.101.110|66|278314554 +1.3.6.1.4.1.30065.4.1.1.4.1.2.8858.2.5.116.104.101.105.114|66|2376749165 +1.3.6.1.4.1.30065.4.1.1.4.1.2.45915.3.4.111.120.101.110|66|2439158446 +1.3.6.1.4.1.30065.4.1.1.5.1.1.32907.4.29.97.99.116.101.100.32.111.120.101.110.32.113.117.97.105.110.116.108.121.32.111.120.101.110.32.107.101.112.116|66|41567 +1.3.6.1.4.1.30065.4.1.1.5.1.1.44904.2.5.116.104.101.105.114|66|13153 +1.3.6.1.4.1.30065.4.1.1.5.1.2.32907.4.29.97.99.116.101.100.32.111.120.101.110.32.113.117.97.105.110.116.108.121.32.111.120.101.110.32.107.101.112.116|66|1521 +1.3.6.1.4.1.30065.4.1.1.5.1.2.44904.2.5.116.104.101.105.114|66|56151 +1.3.6.1.4.1.30065.4.1.1.5.1.3.32907.4.29.97.99.116.101.100.32.111.120.101.110.32.113.117.97.105.110.116.108.121.32.111.120.101.110.32.107.101.112.116|66|9530 +1.3.6.1.4.1.30065.4.1.1.5.1.3.44904.2.5.116.104.101.105.114|66|7735 +1.3.6.1.4.1.30065.4.1.1.5.1.4.32907.4.29.97.99.116.101.100.32.111.120.101.110.32.113.117.97.105.110.116.108.121.32.111.120.101.110.32.107.101.112.116|66|47674 +1.3.6.1.4.1.30065.4.1.1.5.1.4.44904.2.5.116.104.101.105.114|66|53862 +1.3.6.1.4.1.30065.4.1.1.5.1.5.32907.4.29.97.99.116.101.100.32.111.120.101.110.32.113.117.97.105.110.116.108.121.32.111.120.101.110.32.107.101.112.116|66|46374 +1.3.6.1.4.1.30065.4.1.1.5.1.5.44904.2.5.116.104.101.105.114|66|56503 +1.3.6.1.4.1.30065.4.1.1.6.1.1.6441.3.44.122.111.109.98.105.101.115.32.74.97.100.101.100.32.107.101.112.116.32.97.99.116.101.100.32.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115.32.98.117.116|66|52216 +1.3.6.1.4.1.30065.4.1.1.6.1.1.39015.4.4.111.120.101.110|66|16568 +1.3.6.1.4.1.30065.4.1.1.6.1.2.6441.3.44.122.111.109.98.105.101.115.32.74.97.100.101.100.32.107.101.112.116.32.97.99.116.101.100.32.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115.32.98.117.116|66|12940 +1.3.6.1.4.1.30065.4.1.1.6.1.2.39015.4.4.111.120.101.110|66|963 +1.3.6.1.4.1.30065.4.1.1.7.1.1.24029.1.40.98.117.116.32.111.120.101.110.32.122.111.109.98.105.101.115.32.97.99.116.101.100.32.102.111.114.119.97.114.100.32.74.97.100.101.100.32.98.117.116|65|829600972 +1.3.6.1.4.1.30065.4.1.1.7.1.1.25778.4.21.116.104.101.105.114.32.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115|65|4187786411 +1.3.6.1.4.1.30065.4.1.1.7.1.2.24029.1.40.98.117.116.32.111.120.101.110.32.122.111.109.98.105.101.115.32.97.99.116.101.100.32.102.111.114.119.97.114.100.32.74.97.100.101.100.32.98.117.116|65|1515533887 +1.3.6.1.4.1.30065.4.1.1.7.1.2.25778.4.21.116.104.101.105.114.32.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115|65|681708375 +1.3.6.1.4.1.30065.4.1.1.7.1.3.24029.1.40.98.117.116.32.111.120.101.110.32.122.111.109.98.105.101.115.32.97.99.116.101.100.32.102.111.114.119.97.114.100.32.74.97.100.101.100.32.98.117.116|65|2497454959 +1.3.6.1.4.1.30065.4.1.1.7.1.3.25778.4.21.116.104.101.105.114.32.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115|65|767384757 +1.3.6.1.4.1.30065.4.1.1.7.1.4.24029.1.40.98.117.116.32.111.120.101.110.32.122.111.109.98.105.101.115.32.97.99.116.101.100.32.102.111.114.119.97.114.100.32.74.97.100.101.100.32.98.117.116|65|89868984 +1.3.6.1.4.1.30065.4.1.1.7.1.4.25778.4.21.116.104.101.105.114.32.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115|65|1020106112 +1.3.6.1.4.1.30065.4.1.1.7.1.5.24029.1.40.98.117.116.32.111.120.101.110.32.122.111.109.98.105.101.115.32.97.99.116.101.100.32.102.111.114.119.97.114.100.32.74.97.100.101.100.32.98.117.116|65|1298331011 +1.3.6.1.4.1.30065.4.1.1.7.1.5.25778.4.21.116.104.101.105.114.32.102.111.114.119.97.114.100.32.122.111.109.98.105.101.115|65|3061272827 +1.3.6.1.4.1.30065.4.1.1.8.1.1.12346.16.9.74.97.100.101.100.32.98.117.116.1.1|2|1 +1.3.6.1.4.1.30065.4.1.1.8.1.1.44973.2.43.97.99.116.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.32.100.114.105.118.105.110.103.32.107.101.112.116.32.107.101.112.116.32.98.117.116.2.1|2|2 +1.3.6.1.4.1.30065.4.1.1.8.1.2.12346.16.9.74.97.100.101.100.32.98.117.116.1.1|2|1 +1.3.6.1.4.1.30065.4.1.1.8.1.2.44973.2.43.97.99.116.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.32.100.114.105.118.105.110.103.32.107.101.112.116.32.107.101.112.116.32.98.117.116.2.1|2|1 +1.3.6.1.4.1.30065.4.1.1.8.1.3.12346.16.9.74.97.100.101.100.32.98.117.116.1.1|66|968274947 +1.3.6.1.4.1.30065.4.1.1.8.1.3.44973.2.43.97.99.116.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.32.100.114.105.118.105.110.103.32.107.101.112.116.32.107.101.112.116.32.98.117.116.2.1|66|1251209154 +1.3.6.1.4.1.30065.4.1.1.8.1.4.12346.16.9.74.97.100.101.100.32.98.117.116.1.1|66|2808558663 +1.3.6.1.4.1.30065.4.1.1.8.1.4.44973.2.43.97.99.116.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.32.100.114.105.118.105.110.103.32.107.101.112.116.32.107.101.112.116.32.98.117.116.2.1|66|1653621081 +1.3.6.1.4.1.30065.4.1.1.8.1.5.12346.16.9.74.97.100.101.100.32.98.117.116.1.1|66|2348970293 +1.3.6.1.4.1.30065.4.1.1.8.1.5.44973.2.43.97.99.116.101.100.32.122.111.109.98.105.101.115.32.100.114.105.118.105.110.103.32.100.114.105.118.105.110.103.32.107.101.112.116.32.107.101.112.116.32.98.117.116.2.1|66|2446897039 +1.3.6.1.4.1.30065.4.1.1.9.1.1.10223.1.2.2.18.102.111.114.119.97.114.100.32.97.99.116.101.100.32.111.120.101.110.435.16.5.74.97.100.101.100.18823|66|18823 +1.3.6.1.4.1.30065.4.1.1.9.1.1.14742.1.2.2.12.111.120.101.110.32.102.111.114.119.97.114.100.25.2.47.107.101.112.116.32.107.101.112.116.32.97.99.116.101.100.32.111.120.101.110.32.102.111.114.119.97.114.100.32.116.104.101.105.114.32.98.117.116.32.113.117.97.105.110.116.108.121.14619|66|14619 +1.3.6.1.4.1.30065.4.1.1.9.1.2.10223.1.2.2.18.102.111.114.119.97.114.100.32.97.99.116.101.100.32.111.120.101.110.435.16.5.74.97.100.101.100.18823|2|1 +1.3.6.1.4.1.30065.4.1.1.9.1.2.14742.1.2.2.12.111.120.101.110.32.102.111.114.119.97.114.100.25.2.47.107.101.112.116.32.107.101.112.116.32.97.99.116.101.100.32.111.120.101.110.32.102.111.114.119.97.114.100.32.116.104.101.105.114.32.98.117.116.32.113.117.97.105.110.116.108.121.14619|2|1 +1.3.6.1.4.1.30065.4.1.1.9.1.3.10223.1.2.2.18.102.111.114.119.97.114.100.32.97.99.116.101.100.32.111.120.101.110.435.16.5.74.97.100.101.100.18823|2|2 +1.3.6.1.4.1.30065.4.1.1.9.1.3.14742.1.2.2.12.111.120.101.110.32.102.111.114.119.97.114.100.25.2.47.107.101.112.116.32.107.101.112.116.32.97.99.116.101.100.32.111.120.101.110.32.102.111.114.119.97.114.100.32.116.104.101.105.114.32.98.117.116.32.113.117.97.105.110.116.108.121.14619|2|2 +1.3.6.1.4.1.30065.4.1.1.9.1.4.10223.1.2.2.18.102.111.114.119.97.114.100.32.97.99.116.101.100.32.111.120.101.110.435.16.5.74.97.100.101.100.18823|2|2 +1.3.6.1.4.1.30065.4.1.1.9.1.4.14742.1.2.2.12.111.120.101.110.32.102.111.114.119.97.114.100.25.2.47.107.101.112.116.32.107.101.112.116.32.97.99.116.101.100.32.111.120.101.110.32.102.111.114.119.97.114.100.32.116.104.101.105.114.32.98.117.116.32.113.117.97.105.110.116.108.121.14619|2|2 +1.3.6.1.4.1.30065.4.1.1.9.1.5.10223.1.2.2.18.102.111.114.119.97.114.100.32.97.99.116.101.100.32.111.120.101.110.435.16.5.74.97.100.101.100.18823|4x|666f7277617264206163746564206f78656e +1.3.6.1.4.1.30065.4.1.1.9.1.5.14742.1.2.2.12.111.120.101.110.32.102.111.114.119.97.114.100.25.2.47.107.101.112.116.32.107.101.112.116.32.97.99.116.101.100.32.111.120.101.110.32.102.111.114.119.97.114.100.32.116.104.101.105.114.32.98.117.116.32.113.117.97.105.110.116.108.121.14619|4x|6f78656e20666f7277617264 +1.3.6.1.4.1.30065.4.1.1.9.1.6.10223.1.2.2.18.102.111.114.119.97.114.100.32.97.99.116.101.100.32.111.120.101.110.435.16.5.74.97.100.101.100.18823|66|435 +1.3.6.1.4.1.30065.4.1.1.9.1.6.14742.1.2.2.12.111.120.101.110.32.102.111.114.119.97.114.100.25.2.47.107.101.112.116.32.107.101.112.116.32.97.99.116.101.100.32.111.120.101.110.32.102.111.114.119.97.114.100.32.116.104.101.105.114.32.98.117.116.32.113.117.97.105.110.116.108.121.14619|66|25 +1.3.6.1.4.1.30065.4.1.1.9.1.7.10223.1.2.2.18.102.111.114.119.97.114.100.32.97.99.116.101.100.32.111.120.101.110.435.16.5.74.97.100.101.100.18823|2|2 +1.3.6.1.4.1.30065.4.1.1.9.1.7.14742.1.2.2.12.111.120.101.110.32.102.111.114.119.97.114.100.25.2.47.107.101.112.116.32.107.101.112.116.32.97.99.116.101.100.32.111.120.101.110.32.102.111.114.119.97.114.100.32.116.104.101.105.114.32.98.117.116.32.113.117.97.105.110.116.108.121.14619|2|2 +1.3.6.1.4.1.30065.4.1.1.9.1.8.10223.1.2.2.18.102.111.114.119.97.114.100.32.97.99.116.101.100.32.111.120.101.110.435.16.5.74.97.100.101.100.18823|66|15101 +1.3.6.1.4.1.30065.4.1.1.9.1.8.14742.1.2.2.12.111.120.101.110.32.102.111.114.119.97.114.100.25.2.47.107.101.112.116.32.107.101.112.116.32.97.99.116.101.100.32.111.120.101.110.32.102.111.114.119.97.114.100.32.116.104.101.105.114.32.98.117.116.32.113.117.97.105.110.116.108.121.14619|66|46973 +1.3.6.1.4.1.30065.4.1.1.9.1.9.10223.1.2.2.18.102.111.114.119.97.114.100.32.97.99.116.101.100.32.111.120.101.110.435.16.5.74.97.100.101.100.18823|2|1 +1.3.6.1.4.1.30065.4.1.1.9.1.9.14742.1.2.2.12.111.120.101.110.32.102.111.114.119.97.114.100.25.2.47.107.101.112.116.32.107.101.112.116.32.97.99.116.101.100.32.111.120.101.110.32.102.111.114.119.97.114.100.32.116.104.101.105.114.32.98.117.116.32.113.117.97.105.110.116.108.121.14619|2|2 +1.3.6.1.4.1.30065.4.1.1.9.1.10.10223.1.2.2.18.102.111.114.119.97.114.100.32.97.99.116.101.100.32.111.120.101.110.435.16.5.74.97.100.101.100.18823|2|0 +1.3.6.1.4.1.30065.4.1.1.9.1.10.14742.1.2.2.12.111.120.101.110.32.102.111.114.119.97.114.100.25.2.47.107.101.112.116.32.107.101.112.116.32.97.99.116.101.100.32.111.120.101.110.32.102.111.114.119.97.114.100.32.116.104.101.105.114.32.98.117.116.32.113.117.97.105.110.116.108.121.14619|2|1 +1.3.6.1.4.1.30065.4.1.1.9.1.11.10223.1.2.2.18.102.111.114.119.97.114.100.32.97.99.116.101.100.32.111.120.101.110.435.16.5.74.97.100.101.100.18823|4x|627574207a6f6d62696573 +1.3.6.1.4.1.30065.4.1.1.9.1.11.14742.1.2.2.12.111.120.101.110.32.102.111.114.119.97.114.100.25.2.47.107.101.112.116.32.107.101.112.116.32.97.99.116.101.100.32.111.120.101.110.32.102.111.114.119.97.114.100.32.116.104.101.105.114.32.98.117.116.32.113.117.97.105.110.116.108.121.14619|4x|6f78656e2061637465642064726976696e67 +1.3.6.1.4.1.30065.4.1.1.9.1.12.10223.1.2.2.18.102.111.114.119.97.114.100.32.97.99.116.101.100.32.111.120.101.110.435.16.5.74.97.100.101.100.18823|2|16 +1.3.6.1.4.1.30065.4.1.1.9.1.12.14742.1.2.2.12.111.120.101.110.32.102.111.114.119.97.114.100.25.2.47.107.101.112.116.32.107.101.112.116.32.97.99.116.101.100.32.111.120.101.110.32.102.111.114.119.97.114.100.32.116.104.101.105.114.32.98.117.116.32.113.117.97.105.110.116.108.121.14619|2|1 +1.3.6.1.4.1.30065.4.1.1.9.1.13.10223.1.2.2.18.102.111.114.119.97.114.100.32.97.99.116.101.100.32.111.120.101.110.435.16.5.74.97.100.101.100.18823|4x|61637465642064726976696e6720616374656420627574206f78656e20717561696e746c7920717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.30065.4.1.1.9.1.13.14742.1.2.2.12.111.120.101.110.32.102.111.114.119.97.114.100.25.2.47.107.101.112.116.32.107.101.112.116.32.97.99.116.101.100.32.111.120.101.110.32.102.111.114.119.97.114.100.32.116.104.101.105.114.32.98.117.116.32.113.117.97.105.110.116.108.121.14619|4x|4a61646564206f78656e206163746564 +1.3.6.1.4.1.30065.4.1.1.9.1.14.10223.1.2.2.18.102.111.114.119.97.114.100.32.97.99.116.101.100.32.111.120.101.110.435.16.5.74.97.100.101.100.18823|2|1 +1.3.6.1.4.1.30065.4.1.1.9.1.14.14742.1.2.2.12.111.120.101.110.32.102.111.114.119.97.114.100.25.2.47.107.101.112.116.32.107.101.112.116.32.97.99.116.101.100.32.111.120.101.110.32.102.111.114.119.97.114.100.32.116.104.101.105.114.32.98.117.116.32.113.117.97.105.110.116.108.121.14619|2|2 +1.3.6.1.4.1.30065.4.1.1.9.1.15.10223.1.2.2.18.102.111.114.119.97.114.100.32.97.99.116.101.100.32.111.120.101.110.435.16.5.74.97.100.101.100.18823|66|29936 +1.3.6.1.4.1.30065.4.1.1.9.1.15.14742.1.2.2.12.111.120.101.110.32.102.111.114.119.97.114.100.25.2.47.107.101.112.116.32.107.101.112.116.32.97.99.116.101.100.32.111.120.101.110.32.102.111.114.119.97.114.100.32.116.104.101.105.114.32.98.117.116.32.113.117.97.105.110.116.108.121.14619|66|35616 +1.3.6.1.4.1.30065.4.1.1.9.1.16.10223.1.2.2.18.102.111.114.119.97.114.100.32.97.99.116.101.100.32.111.120.101.110.435.16.5.74.97.100.101.100.18823|2|2 +1.3.6.1.4.1.30065.4.1.1.9.1.16.14742.1.2.2.12.111.120.101.110.32.102.111.114.119.97.114.100.25.2.47.107.101.112.116.32.107.101.112.116.32.97.99.116.101.100.32.111.120.101.110.32.102.111.114.119.97.114.100.32.116.104.101.105.114.32.98.117.116.32.113.117.97.105.110.116.108.121.14619|2|1 +1.3.6.1.4.1.30065.4.1.1.9.1.17.10223.1.2.2.18.102.111.114.119.97.114.100.32.97.99.116.101.100.32.111.120.101.110.435.16.5.74.97.100.101.100.18823|66|22384 +1.3.6.1.4.1.30065.4.1.1.9.1.17.14742.1.2.2.12.111.120.101.110.32.102.111.114.119.97.114.100.25.2.47.107.101.112.116.32.107.101.112.116.32.97.99.116.101.100.32.111.120.101.110.32.102.111.114.119.97.114.100.32.116.104.101.105.114.32.98.117.116.32.113.117.97.105.110.116.108.121.14619|66|65090 +1.3.6.1.4.1.30065.4.1.1.9.1.18.10223.1.2.2.18.102.111.114.119.97.114.100.32.97.99.116.101.100.32.111.120.101.110.435.16.5.74.97.100.101.100.18823|2|2 +1.3.6.1.4.1.30065.4.1.1.9.1.18.14742.1.2.2.12.111.120.101.110.32.102.111.114.119.97.114.100.25.2.47.107.101.112.116.32.107.101.112.116.32.97.99.116.101.100.32.111.120.101.110.32.102.111.114.119.97.114.100.32.116.104.101.105.114.32.98.117.116.32.113.117.97.105.110.116.108.121.14619|2|1 +1.3.6.1.4.1.30065.4.1.1.9.1.19.10223.1.2.2.18.102.111.114.119.97.114.100.32.97.99.116.101.100.32.111.120.101.110.435.16.5.74.97.100.101.100.18823|2|1 +1.3.6.1.4.1.30065.4.1.1.9.1.19.14742.1.2.2.12.111.120.101.110.32.102.111.114.119.97.114.100.25.2.47.107.101.112.116.32.107.101.112.116.32.97.99.116.101.100.32.111.120.101.110.32.102.111.114.119.97.114.100.32.116.104.101.105.114.32.98.117.116.32.113.117.97.105.110.116.108.121.14619|2|1 +1.3.6.1.4.1.30065.4.1.1.9.1.20.10223.1.2.2.18.102.111.114.119.97.114.100.32.97.99.116.101.100.32.111.120.101.110.435.16.5.74.97.100.101.100.18823|66|12393 +1.3.6.1.4.1.30065.4.1.1.9.1.20.14742.1.2.2.12.111.120.101.110.32.102.111.114.119.97.114.100.25.2.47.107.101.112.116.32.107.101.112.116.32.97.99.116.101.100.32.111.120.101.110.32.102.111.114.119.97.114.100.32.116.104.101.105.114.32.98.117.116.32.113.117.97.105.110.116.108.121.14619|66|64437 +1.3.6.1.4.1.30065.4.1.1.9.1.21.10223.1.2.2.18.102.111.114.119.97.114.100.32.97.99.116.101.100.32.111.120.101.110.435.16.5.74.97.100.101.100.18823|4x|01020304 +1.3.6.1.4.1.30065.4.1.1.9.1.21.14742.1.2.2.12.111.120.101.110.32.102.111.114.119.97.114.100.25.2.47.107.101.112.116.32.107.101.112.116.32.97.99.116.101.100.32.111.120.101.110.32.102.111.114.119.97.114.100.32.116.104.101.105.114.32.98.117.116.32.113.117.97.105.110.116.108.121.14619|4x|01020304 +1.3.6.1.4.1.30065.4.1.1.9.1.22.10223.1.2.2.18.102.111.114.119.97.114.100.32.97.99.116.101.100.32.111.120.101.110.435.16.5.74.97.100.101.100.18823|66|17856 +1.3.6.1.4.1.30065.4.1.1.9.1.22.14742.1.2.2.12.111.120.101.110.32.102.111.114.119.97.114.100.25.2.47.107.101.112.116.32.107.101.112.116.32.97.99.116.101.100.32.111.120.101.110.32.102.111.114.119.97.114.100.32.116.104.101.105.114.32.98.117.116.32.113.117.97.105.110.116.108.121.14619|66|65183 +1.3.6.1.4.1.30065.4.1.1.9.1.23.10223.1.2.2.18.102.111.114.119.97.114.100.32.97.99.116.101.100.32.111.120.101.110.435.16.5.74.97.100.101.100.18823|4x|6f78656e20666f7277617264206b657074204a61646564206b657074 +1.3.6.1.4.1.30065.4.1.1.9.1.23.14742.1.2.2.12.111.120.101.110.32.102.111.114.119.97.114.100.25.2.47.107.101.112.116.32.107.101.112.116.32.97.99.116.101.100.32.111.120.101.110.32.102.111.114.119.97.114.100.32.116.104.101.105.114.32.98.117.116.32.113.117.97.105.110.116.108.121.14619|4x|666f72776172642064726976696e67206163746564204a616465642064726976696e6720746865697220717561696e746c79 +1.3.6.1.4.1.30065.4.1.1.9.1.24.10223.1.2.2.18.102.111.114.119.97.114.100.32.97.99.116.101.100.32.111.120.101.110.435.16.5.74.97.100.101.100.18823|4x|64726976696e6720717561696e746c79207a6f6d62696573207468656972 +1.3.6.1.4.1.30065.4.1.1.9.1.24.14742.1.2.2.12.111.120.101.110.32.102.111.114.119.97.114.100.25.2.47.107.101.112.116.32.107.101.112.116.32.97.99.116.101.100.32.111.120.101.110.32.102.111.114.119.97.114.100.32.116.104.101.105.114.32.98.117.116.32.113.117.97.105.110.116.108.121.14619|4x|4a6164656420717561696e746c79 +1.3.6.1.4.1.30065.4.1.1.9.1.25.10223.1.2.2.18.102.111.114.119.97.114.100.32.97.99.116.101.100.32.111.120.101.110.435.16.5.74.97.100.101.100.18823|4|forward +1.3.6.1.4.1.30065.4.1.1.9.1.25.14742.1.2.2.12.111.120.101.110.32.102.111.114.119.97.114.100.25.2.47.107.101.112.116.32.107.101.112.116.32.97.99.116.101.100.32.111.120.101.110.32.102.111.114.119.97.114.100.32.116.104.101.105.114.32.98.117.116.32.113.117.97.105.110.116.108.121.14619|4|acted +1.3.6.1.4.1.30065.4.1.1.10.1.1.15081.1.2.0.26.122.111.109.98.105.101.115.32.107.101.112.116.32.111.120.101.110.32.113.117.97.105.110.116.108.121.931.1.58.107.101.112.116.32.113.117.97.105.110.116.108.121.32.97.99.116.101.100.32.111.120.101.110.32.97.99.116.101.100.32.100.114.105.118.105.110.103.32.116.104.101.105.114.32.97.99.116.101.100.32.102.111.114.119.97.114.100.58406|66|58406 +1.3.6.1.4.1.30065.4.1.1.10.1.1.59997.1.2.16.27.111.120.101.110.32.107.101.112.116.32.97.99.116.101.100.32.102.111.114.119.97.114.100.32.98.117.116.115.4.19.74.97.100.101.100.32.100.114.105.118.105.110.103.32.74.97.100.101.100.19927|66|19927 +1.3.6.1.4.1.30065.4.1.1.10.1.2.15081.1.2.0.26.122.111.109.98.105.101.115.32.107.101.112.116.32.111.120.101.110.32.113.117.97.105.110.116.108.121.931.1.58.107.101.112.116.32.113.117.97.105.110.116.108.121.32.97.99.116.101.100.32.111.120.101.110.32.97.99.116.101.100.32.100.114.105.118.105.110.103.32.116.104.101.105.114.32.97.99.116.101.100.32.102.111.114.119.97.114.100.58406|6|1.3.6.1.3 +1.3.6.1.4.1.30065.4.1.1.10.1.2.59997.1.2.16.27.111.120.101.110.32.107.101.112.116.32.97.99.116.101.100.32.102.111.114.119.97.114.100.32.98.117.116.115.4.19.74.97.100.101.100.32.100.114.105.118.105.110.103.32.74.97.100.101.100.19927|6|1.3.6.1.3.8.155 +1.3.6.1.6.3.1.1.4.1.0|6|1.3.6.1.3.3.25.231.241.80.73.16 +1.3.6.1.6.3.1.1.4.3.0|6|1.3.6.1.3.57.223.23.31.160.213.167 +1.3.6.1.6.3.1.1.6.1.0|2|21 +1.3.6.1.6.3.10.2.1.1.0|4|zombies +1.3.6.1.6.3.10.2.1.2.0|2|20 +1.3.6.1.6.3.10.2.1.3.0|2|6 +1.3.6.1.6.3.10.2.1.4.0|2|566 diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_arista_switch.py b/snmp/tests/test_e2e_core_profiles/test_profile_arista_switch.py new file mode 100644 index 0000000000000..27142265ae4f0 --- /dev/null +++ b/snmp/tests/test_e2e_core_profiles/test_profile_arista_switch.py @@ -0,0 +1,123 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +import pytest + +from datadog_checks.dev.utils import get_metadata_metrics + +from .. import common +from ..test_e2e_core_metadata import assert_device_metadata +from .utils import ( + assert_common_metrics, + assert_extend_generic_bgp4, + assert_extend_generic_host_resources, + assert_extend_generic_if, + assert_extend_generic_ip, + assert_extend_generic_ospf, + assert_extend_generic_tcp, + assert_extend_generic_udp, + create_e2e_core_test_config, + get_device_ip_from_config, +) + +pytestmark = [pytest.mark.e2e, common.py3_plus_only, common.snmp_integration_only] + + +def test_e2e_profile_arista_switch(dd_agent_check): + config = create_e2e_core_test_config('arista-switch') + aggregator = common.dd_agent_check_wrapper(dd_agent_check, config, rate=True) + + ip_address = get_device_ip_from_config(config) + common_tags = [ + 'snmp_profile:arista-switch', + 'snmp_host:arista-switch.device.name', + 'device_namespace:default', + 'snmp_device:' + ip_address, + ] + + # --- TEST EXTENDED METRICS --- + assert_extend_generic_if(aggregator, common_tags) + assert_extend_generic_ip(aggregator, common_tags) + assert_extend_generic_host_resources(aggregator, common_tags) + assert_extend_generic_ospf(aggregator, common_tags) + assert_extend_generic_bgp4(aggregator, common_tags) + assert_extend_generic_tcp(aggregator, common_tags) + assert_extend_generic_udp(aggregator, common_tags) + + # --- TEST METRICS --- + assert_common_metrics(aggregator, common_tags) + + tag_rows = [ + ['interface_index:7', 'queue_index:31'], + ['interface_index:23', 'queue_index:28'], + ['interface_index:21', 'queue_index:16'], + ['interface_index:20', 'queue_index:11'], + ] + for tag_row in tag_rows: + aggregator.assert_metric( + 'snmp.aristaIngressQueuePktsDropped', metric_type=aggregator.COUNT, tags=common_tags + tag_row + ) + + tag_rows = [ + ['interface_index:8', 'queue_index:21'], + ['interface_index:23', 'queue_index:1'], + ['interface_index:13', 'queue_index:5'], + ['interface_index:11', 'queue_index:17'], + ] + for tag_row in tag_rows: + aggregator.assert_metric( + 'snmp.aristaEgressQueuePktsDropped', metric_type=aggregator.COUNT, tags=common_tags + tag_row + ) + + tag = [ + 'arista_bgp4_v2_peer_admin_status:halted', + 'arista_bgp4_v2_peer_description:acted driving their acted oxen their acted zombies quaintly', + 'arista_bgp4_v2_peer_local_addr:?7468656972', + 'arista_bgp4_v2_peer_local_addr_type:unknown', + 'arista_bgp4_v2_peer_local_identifier:1.2.3.4', + 'arista_bgp4_v2_peer_remote_identifier:1.2.3.4', + 'arista_bgp4_v2_peer_state:established', + ] + aggregator.assert_metric('snmp.aristaBgp4V2PeerLocalAs', metric_type=aggregator.GAUGE, tags=common_tags + tag) + aggregator.assert_metric('snmp.aristaBgp4V2PeerLocalPort', metric_type=aggregator.GAUGE, tags=common_tags + tag) + aggregator.assert_metric('snmp.aristaBgp4V2PeerRemoteAs', metric_type=aggregator.GAUGE, tags=common_tags + tag) + aggregator.assert_metric('snmp.aristaBgp4V2PeerRemotePort', metric_type=aggregator.GAUGE, tags=common_tags + tag) + + aggregator.assert_metric( + 'snmp.aristaIfInOctetRate', + metric_type=aggregator.GAUGE, + tags=common_tags + ['arista_if_rate_interval:764721249'], + ) + aggregator.assert_metric( + 'snmp.aristaIfInPktRate', metric_type=aggregator.GAUGE, tags=common_tags + ['arista_if_rate_interval:764721249'] + ) + aggregator.assert_metric( + 'snmp.aristaIfOutOctetRate', + metric_type=aggregator.GAUGE, + tags=common_tags + ['arista_if_rate_interval:764721249'], + ) + aggregator.assert_metric( + 'snmp.aristaIfOutPktRate', + metric_type=aggregator.GAUGE, + tags=common_tags + ['arista_if_rate_interval:764721249'], + ) + + # --- TEST METADATA --- + device = { + 'description': 'arista-switch Device Description', + 'id': 'default:' + ip_address, + 'id_tags': ['device_namespace:default', 'snmp_device:' + ip_address], + 'ip_address': '' + ip_address, + 'name': 'arista-switch.device.name', + 'profile': 'arista-switch', + 'status': 1, + 'sys_object_id': '1.3.6.1.4.1.30065.1.3011.7010.427.48', + 'vendor': 'arista', + } + device['tags'] = common_tags + assert_device_metadata(aggregator, device) + + # --- CHECK COVERAGE --- + aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) From 4561b761b00a06669135ecb64b36e7081e82436d Mon Sep 17 00:00:00 2001 From: Alexandre Yang Date: Wed, 5 Jul 2023 22:19:48 +0200 Subject: [PATCH 51/77] Update LICENSE-3rdparty.csv (#15165) * Update LICENSE-3rdparty.csv * remove copy * Add snmp/3rdparty-extra-LICENSE.csv --- LICENSE-3rdparty.csv | 1 + snmp/3rdparty-extra-LICENSE.csv | 2 ++ 2 files changed, 3 insertions(+) create mode 100644 snmp/3rdparty-extra-LICENSE.csv diff --git a/LICENSE-3rdparty.csv b/LICENSE-3rdparty.csv index ccf4bcfbaf06e..668587f02f4b4 100644 --- a/LICENSE-3rdparty.csv +++ b/LICENSE-3rdparty.csv @@ -42,6 +42,7 @@ importlib-metadata,PyPI,Apache-2.0,"Copyright 2017-2019 Jason R. Coombs, Barry W in-toto,PyPI,Apache-2.0,Copyright 2018 New York University ipaddress,PyPI,PSF,Copyright (c) 2013 Philipp Hagemeister jellyfish,PyPI,MIT,Copyright (c) 2015 James Turk +kentik-snmp-profiles,"https://github.com/kentik/snmp-profiles",Apache-2.0, kubernetes,PyPI,Apache-2.0,Copyright 2014 The Kubernetes Authors. ldap3,PyPI,LGPL-3.0-only,Copyright 2013 - 2020 Giovanni Cannata lxml,PyPI,BSD-3-Clause,Copyright (c) 2004 Infrae. All rights reserved. diff --git a/snmp/3rdparty-extra-LICENSE.csv b/snmp/3rdparty-extra-LICENSE.csv new file mode 100644 index 0000000000000..6cfa227fa162c --- /dev/null +++ b/snmp/3rdparty-extra-LICENSE.csv @@ -0,0 +1,2 @@ +Component,Origin,License,Copyright +kentik-snmp-profiles,"https://github.com/kentik/snmp-profiles",Apache-2.0, From 96309a6e659993f1e64a576408777ca5bd580193 Mon Sep 17 00:00:00 2001 From: Ofek Lev Date: Wed, 5 Jul 2023 18:25:12 -0400 Subject: [PATCH 52/77] Move CLI plugins to ddev (#15166) --- datadog_checks_dev/hatch.toml | 4 ++++ datadog_checks_dev/pyproject.toml | 3 --- datadog_checks_dev/tests/tooling/commands/test_create.py | 1 + ddev/pyproject.toml | 7 +++++-- .../src/ddev/plugin/external}/hatch/__init__.py | 0 .../ddev/plugin/external}/hatch/environment_collector.py | 0 6 files changed, 10 insertions(+), 5 deletions(-) rename {datadog_checks_dev/datadog_checks/dev/plugin => ddev/src/ddev/plugin/external}/hatch/__init__.py (100%) rename {datadog_checks_dev/datadog_checks/dev/plugin => ddev/src/ddev/plugin/external}/hatch/environment_collector.py (100%) diff --git a/datadog_checks_dev/hatch.toml b/datadog_checks_dev/hatch.toml index 327afd98e9d85..e4e3ffa2cf4c9 100644 --- a/datadog_checks_dev/hatch.toml +++ b/datadog_checks_dev/hatch.toml @@ -24,3 +24,7 @@ matrix.python.features = [ matrix.python.scripts = [ { key = "test", value = "_dd-test --ignore tests/tooling", if = ["2.7"] }, ] +# TODO: remove this when the old CLI is gone +matrix.python.pre-install-commands = [ + { value = "python -m pip install --no-deps --disable-pip-version-check {verbosity:flag:-1} -e ../ddev", if = ["3.9"] }, +] diff --git a/datadog_checks_dev/pyproject.toml b/datadog_checks_dev/pyproject.toml index 1f176702e1ec6..6bfcbd6c4d19a 100644 --- a/datadog_checks_dev/pyproject.toml +++ b/datadog_checks_dev/pyproject.toml @@ -98,9 +98,6 @@ datadog_checks = "datadog_checks.dev.plugin.pytest" [project.entry-points.tox] datadog_checks = "datadog_checks.dev.plugin.tox" -[project.entry-points.hatch] -datadog_checks = "datadog_checks.dev.plugin.hatch" - [project.urls] Source = "https://github.com/DataDog/integrations-core" diff --git a/datadog_checks_dev/tests/tooling/commands/test_create.py b/datadog_checks_dev/tests/tooling/commands/test_create.py index cff47def4c069..bea41d1cf1d7a 100644 --- a/datadog_checks_dev/tests/tooling/commands/test_create.py +++ b/datadog_checks_dev/tests/tooling/commands/test_create.py @@ -14,6 +14,7 @@ CORE_ROOT = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(HERE)))) +@pytest.mark.skipif(sys.version_info[0] == 2, reason='Not supported on Python 2') @pytest.mark.parametrize( 'integration_type, installable', [('check', True), ('jmx', True), ('tile', False), ('logs', False)] ) diff --git a/ddev/pyproject.toml b/ddev/pyproject.toml index 2bba8897fcca7..005322782a42f 100644 --- a/ddev/pyproject.toml +++ b/ddev/pyproject.toml @@ -38,12 +38,15 @@ dependencies = [ ] dynamic = ["version"] +[project.urls] +Source = "https://github.com/DataDog/integrations-core" + [project.scripts] ddev = "ddev.cli:main" ddev-starship = "ddev.plugin.external.starship.prompt:main" -[project.urls] -Source = "https://github.com/DataDog/integrations-core" +[project.entry-points.hatch] +datadog_checks = "ddev.plugin.external.hatch" [tool.hatch.version] source = "vcs" diff --git a/datadog_checks_dev/datadog_checks/dev/plugin/hatch/__init__.py b/ddev/src/ddev/plugin/external/hatch/__init__.py similarity index 100% rename from datadog_checks_dev/datadog_checks/dev/plugin/hatch/__init__.py rename to ddev/src/ddev/plugin/external/hatch/__init__.py diff --git a/datadog_checks_dev/datadog_checks/dev/plugin/hatch/environment_collector.py b/ddev/src/ddev/plugin/external/hatch/environment_collector.py similarity index 100% rename from datadog_checks_dev/datadog_checks/dev/plugin/hatch/environment_collector.py rename to ddev/src/ddev/plugin/external/hatch/environment_collector.py From 1f44169f20416770b58e13a1716935754fa1d767 Mon Sep 17 00:00:00 2001 From: Ofek Lev Date: Wed, 5 Jul 2023 18:34:22 -0400 Subject: [PATCH 53/77] [Release] Bumped datadog_checks_dev version to 22.0.0 (#15170) * [Release] Bumped datadog_checks_dev version to 22.0.0 * [Release] Update metadata --- .in-toto/tag.c295cf63.link | 2 +- datadog_checks_dev/CHANGELOG.md | 14 ++++++++++++++ datadog_checks_dev/datadog_checks/dev/__about__.py | 2 +- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/.in-toto/tag.c295cf63.link b/.in-toto/tag.c295cf63.link index 9ab4a8e9d929a..9a5aa013a3a27 100644 --- a/.in-toto/tag.c295cf63.link +++ b/.in-toto/tag.c295cf63.link @@ -1 +1 @@ -{"signatures":[{"keyid":"c295cf63b355dfeb331602f7f426a94435be6f99","other_headers":"04000108001d162104c295cf63b355dfeb331602f7f426a94435be6f9905026495fd66","signature":"915bb7dfad4e63df358ecc29a395dc813296b8c013c7bebbc8aefb10e6a121610150afd028022e922ac58c17440970e7c9262e220719f8b47599704cb6957e273c39284f71036e0ffe1fcf59d74d6333f708b52b30406ceedca2f86b6e54bdcf0b77888dc9d2e655291190cbe41cc3f5061c6965bd5e8102f5117bad0f6622edd20017879f11d52cf418b17aee041a6c8a50b30a597e7450c33fe97092fad0cc933b9b423987a12747b1a2c10076c0ed125576b663c9c7a922e043cefa69c003d50144d3c4b0e7a0f32d2752e5b7b49454f301b84230c5b17feb64632e6e0fa22f12c01b299f44b280492b97b1d5d598d1f17bdf5905340bedef9ac1080f9147e2fb3ebab0c395f5baa7fe0f6b69a339536cf99b1e4e6f4e81cd81e83902cae2c5550e3ff12808d20848c9b0c859d51dbbb8a23c3b5528132c9384c424eef173bcb1f9c65adfad802e35c4106fe0f895c1d53cd2d111c1d52c553f5be30d3c67797e12cffd0e16d50c10486b4ed7ba0bb9e911c2c66b6b2cc6c5ecf03431c151aa4d80402d48a441b4a2909b48bb9833c9dbe65e8addf65fc7ee010bf469ec891b5cb67472174e83ab4dd07d4c8837b6c5870c5164755d7f35e2af32d19aae41f7ce1c6935779daf299c9f9fa8f6ca29dad6656eacf0e05c25dbbb709e64c3b2665336d378d9c12384e3f4014ca4f94bafa88fd0af489293bd500726c3a9ca29"}],"signed":{"_type":"link","byproducts":{},"command":[],"environment":{},"materials":{},"name":"tag","products":{"datadog_checks_base/datadog_checks/__init__.py":{"sha256":"9a3c64b8b00c94da4b4f34618d803d3255808caf21b8afa9195c84b61da66b6a"},"datadog_checks_base/datadog_checks/base/__about__.py":{"sha256":"6b7accb55a18f7f4c996eb0510e0ea466de1762be09f01b5ac09a1fd4f2ab1c7"},"datadog_checks_base/datadog_checks/base/__init__.py":{"sha256":"86d72a8b1cac45e6bcd151c8bd18e5f272b47c5870bdbc1feb42b57ee74ebe49"},"datadog_checks_base/datadog_checks/base/checks/__init__.py":{"sha256":"6b45aff8e774058500e39cf7ede54ebee81f95364c8a380648eb89aa7744dc35"},"datadog_checks_base/datadog_checks/base/checks/base.py":{"sha256":"6944d1b0590259d5421c2fd28c3e19f4e755eabfa0d102bf0615f8a1baa6d9ae"},"datadog_checks_base/datadog_checks/base/checks/kube_leader/__init__.py":{"sha256":"ac4335c2a324c7c24bbc9a5834730ecba39d3e60b0438e8948e7c4dd00c0a726"},"datadog_checks_base/datadog_checks/base/checks/kube_leader/base_check.py":{"sha256":"d8b21153a6b67096f86f2338437bf54955498d05bc363549affc9428e7e32a35"},"datadog_checks_base/datadog_checks/base/checks/kube_leader/mixins.py":{"sha256":"81cc766e7da305894c9b98bfbbdcba3a3e2ae0b1943c2fa22db3ed744adc87dc"},"datadog_checks_base/datadog_checks/base/checks/kube_leader/record.py":{"sha256":"6aa334545b055aeda90343b976cfbabf959038cee58103321b0a26e90eaa09a5"},"datadog_checks_base/datadog_checks/base/checks/kubelet_base/__init__.py":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_base/datadog_checks/base/checks/kubelet_base/base.py":{"sha256":"97ec3af5e262a9f1a3dcc0664f01cca4df95241771c4bf53d09fa06b4a8fbc23"},"datadog_checks_base/datadog_checks/base/checks/libs/__init__.py":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_base/datadog_checks/base/checks/libs/prometheus.py":{"sha256":"bc26fc613d37025a1efca477ac60960ad0499d0b73180c0c5bc4045bc62f2630"},"datadog_checks_base/datadog_checks/base/checks/libs/thread_pool.py":{"sha256":"0005e02999a4f6c172768f3f0d26fb064abb06d639b0d5081839b6f0d5a1a4c2"},"datadog_checks_base/datadog_checks/base/checks/libs/timer.py":{"sha256":"8ac17c602136ed7a5e7a1bb39389782190afc505574dd6cd8a46c1db146780c4"},"datadog_checks_base/datadog_checks/base/checks/libs/vmware/__init__.py":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_base/datadog_checks/base/checks/libs/vmware/all_metrics.py":{"sha256":"4f89b8c40a8abc0f57b6abbea2227be3cd8a0a000e34a134b48800fc4a0842c6"},"datadog_checks_base/datadog_checks/base/checks/libs/vmware/basic_metrics.py":{"sha256":"37d804c9398bb121d2f89162729347394ab2b3b627ad1affb8f608eb34ab35bb"},"datadog_checks_base/datadog_checks/base/checks/network.py":{"sha256":"5228cfd4e5410a908d28ccba6d590d6b31e0cba49d9bca82bc26063da5ae4c3a"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/__init__.py":{"sha256":"3876cda6f0d3eb38d15b8d91cd85991f383e692f2a5d83984292aea2e9942771"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/base_check.py":{"sha256":"6e5867daf9717220a004bc9b2910c30701c9f75a2a2b6ab56f4f1f21886a7891"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/mixins.py":{"sha256":"673c9c74264ba666cc94da7cb622a199a93e5f1631e6289fa026e2f1f17c3cc1"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/__init__.py":{"sha256":"3fcd4506124b03d306a73e0bee8ffb0bea6f13077803ff235855906758e0d048"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/base.py":{"sha256":"72ac849801974a5746cf6a86d1c0ff85a627daafb4c509eb5a2bb95703601b8b"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/first_scrape_handler.py":{"sha256":"227fad65733389e49d2f6397265200162efc29b415c2e26718fd2268b1fdf7be"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/labels.py":{"sha256":"d05d084a1d37c12daf56c8db9ecdc5ad80e7ea0bf18f45effb67e40361e1f43f"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/scraper.py":{"sha256":"0f71ca6b23bcad02f867c3545fc6b14c3e85e894fa3bbd8a548d66ff48db07d3"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transform.py":{"sha256":"eb81688905d875914fbb6c9b246a1dc9812068b0e05a9944dd89cb949b035290"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/__init__.py":{"sha256":"84f667f162ef41faf32d2689c6d15b61802d2b576df084174942cbefdb2b663b"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/counter.py":{"sha256":"2379338f226523eb31d573fae682ba50089355d7557c40422b4cd75620708169"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/counter_gauge.py":{"sha256":"a1bd42bc2747afe56b73905295a4f73972f917633a07b3866a15007a4545dc5c"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/gauge.py":{"sha256":"ff6a19d789bfe7f6fb94e47eb4cc49461b1e17aafa7fd0ec3bee0b6c023288f1"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/histogram.py":{"sha256":"872b69c3785029d57037ccb991e5ba58672adebe3efb11272431f1c167fa8e52"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/metadata.py":{"sha256":"069b093750fd272f78bb12deee4a472f5e042dd961530c939a5e51f3d3003aea"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/rate.py":{"sha256":"7beb75edc142b002a77d7810add521f79c3496c972de2b80d36322cc63ffa1c3"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/service_check.py":{"sha256":"e0244e3b8da63d241c593dfbe9b4c722fb0e68b0db2ce9883e197ce1c58501b5"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/summary.py":{"sha256":"d01d5693b79ae07da77ddb0e5fca10122a2804636aca914372304f2a31d5b52e"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/temporal_percent.py":{"sha256":"c02a8ea971a8550de5c99066fc04e7830a6f21d81c7ce905ff59461397e88625"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/time_elapsed.py":{"sha256":"c8fb3bd9478e82bd9e40e7610638c507a7add21327c034beaee516388f160db1"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/utils.py":{"sha256":"b6993786d240cff2b0091a85b360938da8c790b0acff64db19d069e75e2b58e4"},"datadog_checks_base/datadog_checks/base/checks/prometheus/__init__.py":{"sha256":"35c57ac8d1d9555c42ac0ac80ece6d4a459fae72f05398b195374d5c57284a30"},"datadog_checks_base/datadog_checks/base/checks/prometheus/base_check.py":{"sha256":"2d4b347b12235a4d520d0901a7191e534fa0888d68cb32e21936898ccd8b8f5d"},"datadog_checks_base/datadog_checks/base/checks/prometheus/mixins.py":{"sha256":"7cd64989b4ea2cba4925c4657677edfad6243554925184431282192411220d4b"},"datadog_checks_base/datadog_checks/base/checks/prometheus/prometheus_base.py":{"sha256":"9f35823bf488a24646a04ee8f01269a254cfa160bbfe471625f90b1c05de057e"},"datadog_checks_base/datadog_checks/base/checks/win/__init__.py":{"sha256":"9083ff7fefc6d7404110ec4ee3e1a7cb29730a8d6439ff5deb291388151a7a4a"},"datadog_checks_base/datadog_checks/base/checks/win/winpdh.py":{"sha256":"142f282601923e049811ccdc3de3b89b7e21cbaf48f08e487c34cfea1865e839"},"datadog_checks_base/datadog_checks/base/checks/win/winpdh_base.py":{"sha256":"72f82d18dfbc3bbffe8ca331d92877919630be4c7f708c1573b1b8b28c404cfd"},"datadog_checks_base/datadog_checks/base/checks/win/winpdh_stub.py":{"sha256":"3397f2064cc0b842afa19ac6f64b506a9c241ffecaf8a388605e55a52f372cc9"},"datadog_checks_base/datadog_checks/base/checks/win/wmi/__init__.py":{"sha256":"6f4f143f3ef047e807872bc2396f83a4fab9c96406d846e1a12248e43f144f37"},"datadog_checks_base/datadog_checks/base/checks/win/wmi/counter_type.py":{"sha256":"efbef65c6b56c8f2577b0caf698ca8c15983cbd0f1678da48bd583e5769bb951"},"datadog_checks_base/datadog_checks/base/checks/win/wmi/sampler.py":{"sha256":"1da19f51d22920c39ade35a376bf98390fb64698c33244aa674df913a8ffc577"},"datadog_checks_base/datadog_checks/base/checks/win/wmi/types.py":{"sha256":"e04f1ed72a69d8ff9e3b180bb11adfb656aeaaf6a9582b956803e872a0abc158"},"datadog_checks_base/datadog_checks/base/checks/windows/__init__.py":{"sha256":"b2e1a32eb8591a9d541a935aa5c56f20fa7ebbc3de68cf24df3a650198f2712a"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/__init__.py":{"sha256":"c4ced6dabda1b7e2b1fe3d22f03bae7bf94433606ffdbab7be0d04b34009e4a1"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/base.py":{"sha256":"bb9c0f99fb2a348fa420a6dd4e74b0f9722a26dc60604d440cd5b8f71c640770"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/connection.py":{"sha256":"124462f2699e89a71bb2ead225be6f014cc523f94091459c9d20bb4ce42c006e"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/constants.py":{"sha256":"fdaa806dab5cbbd790bfd36a6d509a43d7394be1e4922504455e68a82dc39799"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/counter.py":{"sha256":"8498fbe90224b5934558588a21110d2224c4d0d6334e5bd52dac213c2566f49e"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transform.py":{"sha256":"6d93f17ed0f0d1dd55157e3dca21486be9da18e62529c320a6fb9e491920133f"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transformers/__init__.py":{"sha256":"a8b142ebeee6817e16846d57125966018eac45ef4a9870efba31fbc9c2555e92"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transformers/count.py":{"sha256":"8263467bddb648fe101243270ff9dcf30edba0a616fa65b69f9fbabe975c9a37"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transformers/gauge.py":{"sha256":"73be1f652e85addc433ba64aa2fa75ee1daf85322691a351d8e2deb35af4d681"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transformers/monotonic_count.py":{"sha256":"479c167c31bd2e471baab21d49ce9dce3470b40729dabe153ee5456aa3a5ce2d"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transformers/rate.py":{"sha256":"3e4c739755cf6cfb68fb942b882a23361e5684c4e3c03710c2a63f8b6310052f"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transformers/service_check.py":{"sha256":"c2f74b0d2b871ca2276f35bcb8cf10f764dc454b90975d70b2fb7475266dac70"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transformers/temporal_percent.py":{"sha256":"2071f661338679e8b63d53790a1f7df200ea620facd4939bbfd6b44e602f3a75"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transformers/time_elapsed.py":{"sha256":"85633c087612a859c562b35daf5345638eb89cc01514e88df238658594ce6fbf"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/utils.py":{"sha256":"a2ffb8f0936f650e8a3c4671cfa5f42187009776d50059ccd79faf9467eab18d"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/utils_win32pdh_fix.py":{"sha256":"9d64eb01b07d5400ff0da693ad2055d8a0e606f8a9185988d38fb00df9f151af"},"datadog_checks_base/datadog_checks/base/config.py":{"sha256":"a9c000e17f6c5d065177041ef0382219ddbdf34541a7549003477af79b57fed5"},"datadog_checks_base/datadog_checks/base/constants.py":{"sha256":"711d7db40a95cac3056dd056a88199a0720a9359064f2a91b029fd15f1503a7c"},"datadog_checks_base/datadog_checks/base/data/agent_requirements.in":{"sha256":"ea37b24be5551abaaf4a95f1df720fa9543222a65e35f10aaaa3ec6e075ad8cc"},"datadog_checks_base/datadog_checks/base/ddyaml.py":{"sha256":"d86ce592be606c30e1844e7f230e716dd894cd6839b3a70dfa826a7abb92c6ca"},"datadog_checks_base/datadog_checks/base/errors.py":{"sha256":"870110e564921ab025e4106272c263c4c7e597506a999c332ba40b0189fa3681"},"datadog_checks_base/datadog_checks/base/log.py":{"sha256":"d72f0492f5fab19f13e757df8e57c28fbc8505c1cba42afc6612928847c78436"},"datadog_checks_base/datadog_checks/base/stubs/__init__.py":{"sha256":"c2958047dbfb0624db6e64ceea9569b21a9aff3f8f59a613af7df049364bcf77"},"datadog_checks_base/datadog_checks/base/stubs/_util.py":{"sha256":"6431ad41af05ddc1dff3e42f4951cc0780462370bd5600bbb067061af3b46a92"},"datadog_checks_base/datadog_checks/base/stubs/aggregator.py":{"sha256":"5c8bda4167b94b49e8a8ec58f09ee9a4f3649ff0a51c49ba322fb7e3d3f4428d"},"datadog_checks_base/datadog_checks/base/stubs/common.py":{"sha256":"646cc5d9d5f2d6e545406746fdbbf3fe930c8942da05ca73adafe4f70a3d7f4e"},"datadog_checks_base/datadog_checks/base/stubs/datadog_agent.py":{"sha256":"4d110eb39598812cc5c7088985e5068d4d55b7fc41d201a9b4f20400a4d33e71"},"datadog_checks_base/datadog_checks/base/stubs/log.py":{"sha256":"03e7969f3639813a535b8d59721f96e4255c97395d96684c4d6faf0cd15d4f5a"},"datadog_checks_base/datadog_checks/base/stubs/similar.py":{"sha256":"cd9d5bab9c0f690fbc70163f1d2fbad76b29151dd4277bf214069756c19c7013"},"datadog_checks_base/datadog_checks/base/stubs/tagging.py":{"sha256":"cf12dd3c2e04a87c46892fc71216da3ac2ffb399d922137c043931d810133aab"},"datadog_checks_base/datadog_checks/base/types.py":{"sha256":"6a76a3652d16d13b31507250c3e24738fd8d49eb82f418ac5d2cbd9804ad9714"},"datadog_checks_base/datadog_checks/base/utils/__init__.py":{"sha256":"d6e144a044c5c9b3ff9cbfb485b931288aa23a2d6081914bc4ef08ccaa62ccce"},"datadog_checks_base/datadog_checks/base/utils/agent/__init__.py":{"sha256":"a37696bf2dcf872903fe1ed84f7b3adbc3b45b66291e2b3436542c495d4f234e"},"datadog_checks_base/datadog_checks/base/utils/agent/common.py":{"sha256":"d5746c3c959da666f100a2815471813d49b858776f8aad28bee820b69c7b2d6a"},"datadog_checks_base/datadog_checks/base/utils/agent/debug.py":{"sha256":"cde05b34bb7763f5b1a5ff4e74092595d2f2d6098bd14e9b30398e1d20c63373"},"datadog_checks_base/datadog_checks/base/utils/agent/memory.py":{"sha256":"986d743c51608d608b7ad17a8a10b8eb7550cf55774b849332cfc5f1b00392f6"},"datadog_checks_base/datadog_checks/base/utils/agent/packages.py":{"sha256":"ab88bbece8f9d0a38db114f121b3aa7babf43239debbe4069dd236cfc742d8f9"},"datadog_checks_base/datadog_checks/base/utils/agent/utils.py":{"sha256":"155fe8eab71c53907432b5f299afb8c80aa62a08649734de39fd6785872663ba"},"datadog_checks_base/datadog_checks/base/utils/aws.py":{"sha256":"c3114b5a5545b6fe7f11445db17cc384e45c4e93348c1940a2470c88f575c43f"},"datadog_checks_base/datadog_checks/base/utils/common.py":{"sha256":"b5b95066f10424b78e418babf395ebb80151fd09ab8bdcc0522fe08b43711e0d"},"datadog_checks_base/datadog_checks/base/utils/concurrency/__init__.py":{"sha256":"391b2c1396d766e62e6b95022deb067cfbdcad029c0031da0ec5eb5327c0445d"},"datadog_checks_base/datadog_checks/base/utils/concurrency/limiter.py":{"sha256":"8acd99a541237ec2389c11ad5c6d83d1982fd060f7f3f8b98c940291dccf5bf6"},"datadog_checks_base/datadog_checks/base/utils/constants.py":{"sha256":"4304decb8096074340c66dab703fb03d84641328257a4408ac0cc531a6c46b7f"},"datadog_checks_base/datadog_checks/base/utils/containers.py":{"sha256":"8227d931334393baecb8dcde9132740b832dcb5b26b07f847f6a9b8ebc60b24b"},"datadog_checks_base/datadog_checks/base/utils/date.py":{"sha256":"2499aa3fce0281570527472f02632ef04b4ceaff7ab48112b9c40d9bd78a7847"},"datadog_checks_base/datadog_checks/base/utils/db/__init__.py":{"sha256":"f964bc85274b6a1cf6a9b115c13d38d419f422ef40f4e96ec3a0b8ff36f17e36"},"datadog_checks_base/datadog_checks/base/utils/db/core.py":{"sha256":"82d495ef46ccfc39bf25a9246611077f7bc75e72f9795ce0be98257a67ea0cc4"},"datadog_checks_base/datadog_checks/base/utils/db/query.py":{"sha256":"00800a298597f5d7cc62aebe0ebaa0f07c3c67982cf34097e4654df833d29860"},"datadog_checks_base/datadog_checks/base/utils/db/sql.py":{"sha256":"a0f94966a841cf408601aecc10d3dba4e83e39fb878feddbffeaefec981a344b"},"datadog_checks_base/datadog_checks/base/utils/db/statement_metrics.py":{"sha256":"4dbdd9396b7a87cbde92cedd39a524a590a02b0a7b1c53f48b33e6bba850df26"},"datadog_checks_base/datadog_checks/base/utils/db/transform.py":{"sha256":"8917bf94bb4e91cbf7fd5a81bb56a3c8a796962ab2f3a10efaf97c5d7cb3bd0d"},"datadog_checks_base/datadog_checks/base/utils/db/types.py":{"sha256":"38b5f63aae7c2503c5043e28a94a422e400fee8bd118dfe2d6f164d44d0df0b8"},"datadog_checks_base/datadog_checks/base/utils/db/utils.py":{"sha256":"6cae3e6deba748820c12a925ff6e3423bdd7dc9301be42356a47355caec7cae9"},"datadog_checks_base/datadog_checks/base/utils/discovery/__init__.py":{"sha256":"7c896046fefe58933a21fa392211462b829c0caac24865ff7eb5e0899f73e8c9"},"datadog_checks_base/datadog_checks/base/utils/discovery/cache.py":{"sha256":"7fd2f703b619a59fa6a59a452308ec6b969bf5c64c1a4a9d7ad76bf44a5a95b2"},"datadog_checks_base/datadog_checks/base/utils/discovery/discovery.py":{"sha256":"9bcc3d55162eefc79dd202af56ee1c84dad1752302aae24edd85359b378e734d"},"datadog_checks_base/datadog_checks/base/utils/discovery/filter.py":{"sha256":"459f13ddb2cfe2e84af0a5f01aa76860c254f4edc402f3924e119ae702d0311f"},"datadog_checks_base/datadog_checks/base/utils/functions.py":{"sha256":"8869726f147a68f3c494dc4d6f610b3b36e4df6f23f4e541031ade749c5d091c"},"datadog_checks_base/datadog_checks/base/utils/headers.py":{"sha256":"b4b060cbc1448e0056b38169fd0b78ed1a456e6edf97075abae60e4a733eaf0f"},"datadog_checks_base/datadog_checks/base/utils/http.py":{"sha256":"62cc63b65e7e9413e6ec3dba7dde72e6c384fa63a0a992b214490005a0832d5a"},"datadog_checks_base/datadog_checks/base/utils/limiter.py":{"sha256":"6114eb3c25f54b912d1cb55c3fff8611fcd1a2db3f2d3732d5ffee1d956cf748"},"datadog_checks_base/datadog_checks/base/utils/metadata/__init__.py":{"sha256":"6d36a6f7a190f43be4ea287c70aabc5b16b69640e48feed3b89de85875d432cb"},"datadog_checks_base/datadog_checks/base/utils/metadata/constants.py":{"sha256":"5c77cfc2f40c6f2344d8562607fed7c968862343761b17415dbb572f87839e27"},"datadog_checks_base/datadog_checks/base/utils/metadata/core.py":{"sha256":"d7074a4bdf91e6c680f7f5ec3fcd0127212849d43a962c649b966df0337c9ed7"},"datadog_checks_base/datadog_checks/base/utils/metadata/utils.py":{"sha256":"4c2876f1c9b1434dcc413b9e3af4274f5ad0b604c7dadf30fde8e90901dcaa9e"},"datadog_checks_base/datadog_checks/base/utils/metadata/version.py":{"sha256":"7257bc2c7c2a72ee364ea14a24625d16d1c098e7a2b423a2ce34cd43606cc534"},"datadog_checks_base/datadog_checks/base/utils/models/__init__.py":{"sha256":"b2e1a32eb8591a9d541a935aa5c56f20fa7ebbc3de68cf24df3a650198f2712a"},"datadog_checks_base/datadog_checks/base/utils/models/fields.py":{"sha256":"b3cc9e55f977b91bce1334c5ef0cff69e69b76b75f353ab8c06fa1300c3324d1"},"datadog_checks_base/datadog_checks/base/utils/models/types.py":{"sha256":"7a091279f90e7f24386c1c09392d0a5a50342e88431518c704cf2bffa3bb532d"},"datadog_checks_base/datadog_checks/base/utils/models/validation/__init__.py":{"sha256":"699557dfc5b5a642c793b9281e02b9267d8f3824f940a28f1b35bfc3d2e082da"},"datadog_checks_base/datadog_checks/base/utils/models/validation/core.py":{"sha256":"e4c4c762db3e0792daba69fe8b22f7c06b3bf03349599e2d6bb2b0bfd1b211ea"},"datadog_checks_base/datadog_checks/base/utils/models/validation/helpers.py":{"sha256":"1dc1ad939c6adc4720f876c589dc67ea6505ea664ee8ac8b9079c12810c0c78c"},"datadog_checks_base/datadog_checks/base/utils/models/validation/utils.py":{"sha256":"7837021425ed2f937d4a15c17fe83af1ea6041284cbe13c98ec5e5f8278c9cb6"},"datadog_checks_base/datadog_checks/base/utils/network.py":{"sha256":"970452f4248a9699bed1d5be713e7b2b65fe6f026f4bcbf6afa4fb4ad2bfd6c7"},"datadog_checks_base/datadog_checks/base/utils/platform.py":{"sha256":"c16f1fe972a8e091f1beed6c3740e92c39988d2fdc0aef06a0abdf4e3223e323"},"datadog_checks_base/datadog_checks/base/utils/prometheus/__init__.py":{"sha256":"f794783ecff74f6713b846470f28eaaa841ed20c0d1681bcd18186135e2c150f"},"datadog_checks_base/datadog_checks/base/utils/prometheus/functions.py":{"sha256":"c674f283d8937acffcde65a57351acf05150d6349163e94b3e8e530801626f2b"},"datadog_checks_base/datadog_checks/base/utils/prometheus/metrics_pb2.py":{"sha256":"5a0403b3401edbe887b19bcf7f6d4c1e6343bb8057f3ab9daa75c623a9e92d9b"},"datadog_checks_base/datadog_checks/base/utils/replay/__init__.py":{"sha256":"391b2c1396d766e62e6b95022deb067cfbdcad029c0031da0ec5eb5327c0445d"},"datadog_checks_base/datadog_checks/base/utils/replay/constants.py":{"sha256":"d58c7c42396acb95ad96e3d5460fa6329cd08b8332929ec1e8f8b904c7d24ac3"},"datadog_checks_base/datadog_checks/base/utils/replay/execute.py":{"sha256":"7aa45ca078c837ec1c17422c5908b192e1cb027b1b83536342922386af4011aa"},"datadog_checks_base/datadog_checks/base/utils/replay/redirect.py":{"sha256":"e9c4e88a12f20e02d7a65f56b0ca608f19b4cafe964a434f0f4c1800be1ee3b9"},"datadog_checks_base/datadog_checks/base/utils/secrets.py":{"sha256":"4e3e4c04ea321975c3581dc7afeed4283cb9195d4d6499053d8e13e2ff4f1c78"},"datadog_checks_base/datadog_checks/base/utils/serialization.py":{"sha256":"7ec78259573604c7c1ac299199cad1f34fa129f19a4f3f605c8a87624426b2da"},"datadog_checks_base/datadog_checks/base/utils/subprocess_output.py":{"sha256":"58dc33d63b9c6e2193b43a0dc735c34ad2a080c82aa657f67959b1b06259b020"},"datadog_checks_base/datadog_checks/base/utils/tagging.py":{"sha256":"004504188c498cdbe8388110405922b7c653d8ec91c62ca6d45cc21227080acb"},"datadog_checks_base/datadog_checks/base/utils/tailfile.py":{"sha256":"c7fa4ce6982655a5b87890704ba19764a3aa89fa66a9faf01ce537816b6162d3"},"datadog_checks_base/datadog_checks/base/utils/time.py":{"sha256":"9caeb78a0273d313748990aea3dd09a6ca47119cc52671bcca42428186a9a41c"},"datadog_checks_base/datadog_checks/base/utils/timeout.py":{"sha256":"78e059a1f14dfa13aee7125e30e17769cfe87dccbd118ebe92f981bcfe101058"},"datadog_checks_base/datadog_checks/base/utils/tls.py":{"sha256":"84625ba574e57cf11bdc7845783c96fb8409b78fff535e3a99cf7bc1823e4e82"},"datadog_checks_base/datadog_checks/base/utils/tracing.py":{"sha256":"155c683338e7bc6ee2ffd17ee4d3410a6f22e77ef8521a52d88af73b37318756"},"datadog_checks_base/datadog_checks/base/utils/tracking.py":{"sha256":"158228baabb7281f89b31831335897e48a6ffdc5a1b3ccd03933784b15ce909e"},"datadog_checks_base/datadog_checks/checks/__init__.py":{"sha256":"76381faa72acfce6863031501a53b955d2d047150023e5f828424b2e53e95483"},"datadog_checks_base/datadog_checks/checks/base.py":{"sha256":"df061b86e80d0375a5aedffe104a4198949297c9472ae52dad13fe9d5d8a05f4"},"datadog_checks_base/datadog_checks/checks/libs/__init__.py":{"sha256":"2300c3103843a8f3d4d63e0fcaf78691dbb508cbfd91b7de2bdd0802f981c777"},"datadog_checks_base/datadog_checks/checks/libs/thread_pool.py":{"sha256":"747147080f5d03c2742e233e4bd635d4c58abff8cf5c803fe5881f776c1603b4"},"datadog_checks_base/datadog_checks/checks/libs/timer.py":{"sha256":"a35b1970916e9035ae71d185b6506bbd2b798e26ef1b7b91fc3b30788b19dd49"},"datadog_checks_base/datadog_checks/checks/libs/vmware/__init__.py":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_base/datadog_checks/checks/libs/vmware/all_metrics.py":{"sha256":"849ca20bfd3b86aa8c8eeb88732b4026fd8a0e74a0a96ab6cbe269270b71a8c3"},"datadog_checks_base/datadog_checks/checks/libs/vmware/basic_metrics.py":{"sha256":"683af414d39b8d77d66fd97146999de4bd7a7be9ab934ed9224867a0b74c099f"},"datadog_checks_base/datadog_checks/checks/libs/wmi/__init__.py":{"sha256":"2300c3103843a8f3d4d63e0fcaf78691dbb508cbfd91b7de2bdd0802f981c777"},"datadog_checks_base/datadog_checks/checks/libs/wmi/sampler.py":{"sha256":"55310a8bffb4b55af9552268e627c83c284db55c99c47f754fa05e5bb33ccd3b"},"datadog_checks_base/datadog_checks/checks/network.py":{"sha256":"e5b7d11f19ac5286897259c2ac1e8209ee7bee94df199d5155e1b174cce6afbc"},"datadog_checks_base/datadog_checks/checks/network_checks.py":{"sha256":"cdb77741ebeaa7b6a13616873b5725009b7566a77ceef013fe5dd1c76cbdd81b"},"datadog_checks_base/datadog_checks/checks/openmetrics/__init__.py":{"sha256":"96b910b1c359a0b37a0a8753b6e1e50c803ae35bf4f1e7a31418678cf16792c0"},"datadog_checks_base/datadog_checks/checks/openmetrics/base_check.py":{"sha256":"a9ccd2133baa1058f744e494e2bb43cb5221fbbb41b6c3b8a0553ead7f6a851f"},"datadog_checks_base/datadog_checks/checks/openmetrics/mixins.py":{"sha256":"b5b9cf9d77c8dda6d752a4d37d303405fa1935ac071b17a4e8b055160b7d2a28"},"datadog_checks_base/datadog_checks/checks/prometheus/__init__.py":{"sha256":"a12ac852908b6eb9f3b594e893c41a38951a9a1e030b6286c20e76aec9965c8b"},"datadog_checks_base/datadog_checks/checks/prometheus/base_check.py":{"sha256":"882984f28171bfde4a2c34c25f609b5a758917f0c9b9e00b2ba9a0d489ba1e19"},"datadog_checks_base/datadog_checks/checks/prometheus/mixins.py":{"sha256":"aa652ec3963f90c1e7c552d35243d3863f737fa9de5e45131ca55758c5e00de5"},"datadog_checks_base/datadog_checks/checks/prometheus/prometheus_base.py":{"sha256":"434576db21c019a7366f5350b8e305c0790509aadd9cbd980f6c3ac22b87874f"},"datadog_checks_base/datadog_checks/checks/prometheus_check/__init__.py":{"sha256":"9b5434e894e03018e342ee726f635de62122bf0e1d8f59d3f0109f89a95d890d"},"datadog_checks_base/datadog_checks/checks/win/__init__.py":{"sha256":"4441d475ac7181f8e7edf1037da1310d776c647883d0362a5acfb88e44e4d45e"},"datadog_checks_base/datadog_checks/checks/win/winpdh.py":{"sha256":"864f9f437a351bb82a2962e15a1198cc6271f9cc25c3c73522402954fa42ef9e"},"datadog_checks_base/datadog_checks/checks/win/winpdh_base.py":{"sha256":"269e7c39a6562687aa6ad022b1b88c85b5f6be403c11a8412775b3c55715196e"},"datadog_checks_base/datadog_checks/checks/win/winpdh_stub.py":{"sha256":"a1895061a3be05415b331c1b17d2c02b1f912f36ed238948c46d7af68025d7ed"},"datadog_checks_base/datadog_checks/checks/win/wmi/__init__.py":{"sha256":"51008a1bf148ec1c7bc0bb8f6ad3be19ba950e6c13b5cb84a2fd2684fb66327e"},"datadog_checks_base/datadog_checks/checks/win/wmi/counter_type.py":{"sha256":"01ac5dc9d1518c74c4b621a1da0b901da5ffc954abcf81972f8e478abdb098a7"},"datadog_checks_base/datadog_checks/checks/win/wmi/sampler.py":{"sha256":"bbfeea3683c40059f5e1ff52fc459e82200727041a187328d65f58b92b445cdd"},"datadog_checks_base/datadog_checks/checks/winwmi_check.py":{"sha256":"907ea75f4055e675b732171687ce6148d6484d067b36726b942b4e9c5e1d747b"},"datadog_checks_base/datadog_checks/config.py":{"sha256":"3eb01719d94b9e857654c41f7ff9e849a489274c20e010221a7c3b8c240b4a29"},"datadog_checks_base/datadog_checks/errors.py":{"sha256":"785c269eb5fe6dab4881bbbe889cac7aa00f34eff8ae4d54b9a28af3d7af2e18"},"datadog_checks_base/datadog_checks/log.py":{"sha256":"a2bbce80c286344b2a4932da942010a563fea2ea2ba46d40ec69fe8f69910fcd"},"datadog_checks_base/datadog_checks/py.typed":{"sha256":"95aebb28195b8d737effe0df18d71d39c8d8ba6569286fd3930fbc9f9767181e"},"datadog_checks_base/datadog_checks/stubs/__init__.py":{"sha256":"331c49e4d1a353ded64777893a96906746f386f03cf32b30135aa260665377ec"},"datadog_checks_base/datadog_checks/stubs/_util.py":{"sha256":"9989e9f7fbeca50c1359c06188f60c309dc421c40f4a9a407147d18c42c180b5"},"datadog_checks_base/datadog_checks/stubs/aggregator.py":{"sha256":"ea230225c9c41fbb1885a38741cccf1809034d9b1fd696eb6efde1de6bfba762"},"datadog_checks_base/datadog_checks/stubs/datadog_agent.py":{"sha256":"b167bb8f650441e0f3762aa3e0ffe73e1921157f34ff90abe47723db963ec6bf"},"datadog_checks_base/datadog_checks/utils/__init__.py":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_base/datadog_checks/utils/common.py":{"sha256":"470a0220a572f2f6df6b61353fb63b82447d569274d15b6e3f5f0c12b5e7f6b9"},"datadog_checks_base/datadog_checks/utils/containers.py":{"sha256":"ca56286c527f7d5f940b0baf5a66a4eba6ad2df036759f6000b0985835c63a29"},"datadog_checks_base/datadog_checks/utils/headers.py":{"sha256":"8f92abe525d4947ba4dd41870d0367f4cda884df95e57d9fce62718f0e8fe8da"},"datadog_checks_base/datadog_checks/utils/limiter.py":{"sha256":"1aad3f848119c3aaa92394962ffbb331a22991bcef173b242347a54cffef22c1"},"datadog_checks_base/datadog_checks/utils/platform.py":{"sha256":"76ca8472c0bf63b866e28aea3bc449e4de63905a41ee9c8662f09e5eb6fef571"},"datadog_checks_base/datadog_checks/utils/prometheus/__init__.py":{"sha256":"f16c179ccf60d6c7d2e76ebb4180895ff85df0c665e6446006043f4b374d757b"},"datadog_checks_base/datadog_checks/utils/prometheus/functions.py":{"sha256":"e2f5ac4c62e0ba31f0758668d2d940424a833c7a1fa9424cde4f5e22d26a1114"},"datadog_checks_base/datadog_checks/utils/prometheus/metrics_pb2.py":{"sha256":"c60dd47541dee138de478b35dcb50a6765355954ade94eb38ec5511ba957e9d7"},"datadog_checks_base/datadog_checks/utils/proxy.py":{"sha256":"723edeaf00a1ee813aa4a6467fc34c3ae419f354c6b6172de678e39b864a8bd7"},"datadog_checks_base/datadog_checks/utils/subprocess_output.py":{"sha256":"80dea34445564d9eee264533455310e69c72b4d640e369ea8c97a365717a64c2"},"datadog_checks_base/datadog_checks/utils/tailfile.py":{"sha256":"6c4aa2725fac2e0cb0f660f545d5a8b3c1954a50a49f1e58c86ddf5cc068c137"},"datadog_checks_base/datadog_checks/utils/timeout.py":{"sha256":"42e848b0a6686bf335dfe8040b07acbb9219c12317cfdf564f0a9a974262c913"},"datadog_checks_base/datadog_checks/utils/tracing.py":{"sha256":"1d06d06a428cf8bc3be4c0e422d6982588a94ba60edb867fca60d5c43b31e435"}}}} \ No newline at end of file +{"signatures":[{"keyid":"c295cf63b355dfeb331602f7f426a94435be6f99","other_headers":"04000108001d162104c295cf63b355dfeb331602f7f426a94435be6f99050264a5ee6a","signature":"503b5ac6ee06927c998276d9aeb0284f23128c0d588526d48bbcb8835a4832103fa20cea295d3c037fb59a59671d27464d6615ff43d49bec8469f2a6dea5a232defb646d40ee4c3a8152a210f96a612810ce7f727f20ad7a2e2568983f69ef41433b328404593a7c203fbafba4a356b4854cdadf22cdacf9314b7c59693f0c010b6d384a6c6d4ba25b28b38f4f45de06015d4216bdd3ca2686c6241634845ba2d20abbfa140d83834b54b754b988aa4e9a3a3d2c087c96f70872a71c47d76cf74c3dfd6c51ff1df0724698c892c8011a5574442683d2c3ab7309bf944d5a2c6663f2538500201e74c560a0530fb1cc8d0a33f3624662cf991110fafc300e9afd3f74dfb01d7c5c5f1df67ff9a81a8613728899f5dcea3adbce3188864b09e26c53dea361a285f8732bb1c704fc1311c973d7d651a3f6b5b20c32c483a473ec94171b6f65eea2804ad2d2bac3a1cd6d93c398deee8f150b3868ba1873e309be244d7003ea91ce4305b30cc8ab9b3d55bd4776cb67bd1c1bb6c349013bdb4d60987e88b7427956c7d3e51c0417626969d235d8454aecdea6197a959ba5f72633a2a5457ece8814ee69ffb60e22287a531fb1d4f8dab415df7b3067afc611a7527076159ab5dcd51320787e8734142aa73bbce147532d6581880bfd578c866800570a581edf79e4e73919a02ded130b9ae851d646887fe8f9a04737c5c07dd82051"}],"signed":{"_type":"link","byproducts":{},"command":[],"environment":{},"materials":{},"name":"tag","products":{"datadog_checks_dev/datadog_checks/__init__.py":{"sha256":"9a3c64b8b00c94da4b4f34618d803d3255808caf21b8afa9195c84b61da66b6a"},"datadog_checks_dev/datadog_checks/dev/__about__.py":{"sha256":"54ea90eedba8e9b5b2bb116d38634817604f5853c7616077ffd335936d5a775e"},"datadog_checks_dev/datadog_checks/dev/__init__.py":{"sha256":"a719d056d27f47df5fcd37b6f4d584d1e6a7cbccef33ae01da2520b19c7dd722"},"datadog_checks_dev/datadog_checks/dev/__main__.py":{"sha256":"0b1c4bcaa055bf74aabb2b821b4b1c26b0833439ab59d91193feb086d1627ac2"},"datadog_checks_dev/datadog_checks/dev/_env.py":{"sha256":"e9161b33e590c8d6e39c8b91e6154a661eb99032800f5f0e2de07669694592bf"},"datadog_checks_dev/datadog_checks/dev/ci.py":{"sha256":"4f936a4d0e8ba8fb56731022100507fe6658f2daed5b31a0e9ea0070e84c7668"},"datadog_checks_dev/datadog_checks/dev/compat.py":{"sha256":"3c717f93777b1e3c7d3d15e1f454f0c5e8529e931a2698305d8c399ea8f4b77b"},"datadog_checks_dev/datadog_checks/dev/conditions.py":{"sha256":"e8a181784ac9dad8af8d9b87ed6eecfdab4ab2057c9fb938ae4b8ce8a0546b9e"},"datadog_checks_dev/datadog_checks/dev/docker.py":{"sha256":"a40228a661d698e7ca4ea226ffc24045c9bda7a8376f3b8cce39d1342f24fd4b"},"datadog_checks_dev/datadog_checks/dev/env.py":{"sha256":"8d90808a53ac87a0db9bad4c4babfd003ad116a84af507262f57ccfb7b694053"},"datadog_checks_dev/datadog_checks/dev/errors.py":{"sha256":"b048cb0dab6b7cab91e38ae0de73b8e167a62c03b940a7e679040b5a3eff8605"},"datadog_checks_dev/datadog_checks/dev/fs.py":{"sha256":"85919e2465060b97862c0535cd0815c231fb14cba68bc7484af48ac52f67bade"},"datadog_checks_dev/datadog_checks/dev/http.py":{"sha256":"7c7191d5d772f02a808f7c873da62d61bd47ca0efe292f9a757061ee6df6945e"},"datadog_checks_dev/datadog_checks/dev/jmx.py":{"sha256":"9960e6c5a88e6c37959c7fad1247c542a63a05fd0807822e1af59fb0a5eb1803"},"datadog_checks_dev/datadog_checks/dev/kind.py":{"sha256":"96c8893f8bc8be0cd51ba565ae0da5d104700c1d40c09478ea18021cfb187d82"},"datadog_checks_dev/datadog_checks/dev/kube_port_forward.py":{"sha256":"745a4152775b5579b8c85a6b0a4b84329cbdc44475ad8a43fae2cf99304659b4"},"datadog_checks_dev/datadog_checks/dev/plugin/__init__.py":{"sha256":"4c2d2aee209b36a7188df5396b304da429e2f0b01060e7d8e8500313749910f0"},"datadog_checks_dev/datadog_checks/dev/plugin/pytest.py":{"sha256":"a532794f154ab4cc2a9060fb280e4524ce3ef2d1d0ffb695d3d2d4ed9a790c97"},"datadog_checks_dev/datadog_checks/dev/plugin/tox.py":{"sha256":"857f257ae6d2666c7177cda20a891a2166aebf9ff4f33381f3360b9efa3ed836"},"datadog_checks_dev/datadog_checks/dev/spec.py":{"sha256":"145c7b93d41da315b567f8dba92c07069ee0ddd67ef508d8b4540ca997bd3911"},"datadog_checks_dev/datadog_checks/dev/ssh_tunnel.py":{"sha256":"ae1bbe4c8fa727ee5429c155e38796a50d70a93d1ccb2f517d4ab077e06dab23"},"datadog_checks_dev/datadog_checks/dev/structures.py":{"sha256":"198ddb964230031edac24abfdd3e32902be9f36257494d1993c72ef1d3c6b0f6"},"datadog_checks_dev/datadog_checks/dev/subprocess.py":{"sha256":"5094a6304d104edf8789ad567a360addf97426bf87a2e6fe31ea75ee822e6ff0"},"datadog_checks_dev/datadog_checks/dev/terraform.py":{"sha256":"1fd1b8f49ed9d88ccf3098bfc702dbf567c8c6a60750aa3c14bf73f6b016954e"},"datadog_checks_dev/datadog_checks/dev/testing.py":{"sha256":"f659468bc1f0146f16f2e6bf48c35c85438f80aae9c0ec65562c380fd34b6690"},"datadog_checks_dev/datadog_checks/dev/tooling/__init__.py":{"sha256":"4c2d2aee209b36a7188df5396b304da429e2f0b01060e7d8e8500313749910f0"},"datadog_checks_dev/datadog_checks/dev/tooling/__main__.py":{"sha256":"60b67815a138da81e4984c304402f61c4ed7282374e9e8cdfe8fca21200f57af"},"datadog_checks_dev/datadog_checks/dev/tooling/catalog_const.py":{"sha256":"24fe2044ab78bc2cb43e37aa3d206814b89c8398af561dc20cc71add0e0f96fb"},"datadog_checks_dev/datadog_checks/dev/tooling/clean.py":{"sha256":"8411d7605bc7e0bdf56560e7cdf50b21132c1cb3d1d5cf5d4af47b5fb89267d7"},"datadog_checks_dev/datadog_checks/dev/tooling/cli.py":{"sha256":"333506143c67d50e491acdf6b666a768d794900b891b54d01972e1a546beea29"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/__init__.py":{"sha256":"33336941eb7591908de3aabf09781c609455de748efda5afacf287f18f9e0758"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/agent/__init__.py":{"sha256":"a810cefa6aa16b5c4f2a3e97a7eab1fa2ea4f6016339b7746340fed2271e08f0"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/agent/changelog.py":{"sha256":"310d7e25b6dbde9626f6eb1b4a883f69adc1171b00571f755a9aeddc8a5f4fbf"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/agent/common.py":{"sha256":"8077a164e3285dc18cbaa4ef4f5d4b9ebd3009f8be5558040a768504acd3c4e2"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/agent/integrations.py":{"sha256":"04e90a7264ac2ded3e9ae4ad083b7ca27dc2b140dd7d24c902ad024c2b3e8595"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/agent/integrations_changelog.py":{"sha256":"6d76249faccc4bb562094de0aaf0b4a45eb2f5f1fb1f9b684e31e23f25739524"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/agent/requirements.py":{"sha256":"8aa8d2feac7f3ec9ac54d72508c32fb7c52e6d26b2f14173a14da90bb3cfe893"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/ci/__init__.py":{"sha256":"191a8d4d6140548f010dab64e178201c27cdce9ad85a5f76c1a1baba9151130c"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/ci/setup.py":{"sha256":"f645e34d547fe5935e7c0d3c19163fed712dd53e769bee71587c4d969bd2cc32"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/clean.py":{"sha256":"cd7fa0092ba01bc741a64dbb602ad956334b775338cc3f9ce9933dd95eac9ae3"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/config.py":{"sha256":"4633f9e5a47f51725add1440777526561bf165192fd1fd3d14315b78f6bf4f7b"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/console.py":{"sha256":"1366bc7a68a374c96246a2f8dab219ebad95c2b1239a691af721f95ebc737537"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/create.py":{"sha256":"e173ac8dfd5b06dd6e3f40ef83ade83f07a4787147bc3bed54b4f551a3fe91ff"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/dep.py":{"sha256":"ccb9356aa419aa9b83ffa77638ea8aa2512d9ce74b0d2663071e52893220a65e"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/docs/__init__.py":{"sha256":"d2b1b727edddad68a248b050e9daa2bc64f501577c5ff75974b547b389525628"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/docs/build.py":{"sha256":"77ff06c1a43014abd6e2e11d4e087013f9c5113a2f8f8da5f1005556a85fad8f"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/docs/deploy.py":{"sha256":"e6ffb1607746c4c39eed590110722570568f86a09ddbd8a3f2ddb9c90e70be8f"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/docs/serve.py":{"sha256":"4cf06d95a2526dd3cc913b7de475408793c19e6838970beb2016286a2d86b019"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/docs/utils.py":{"sha256":"062bcbd6559c658a6f566da667253051071a20bf65c33c57fc57e105cdf7532e"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/env/__init__.py":{"sha256":"e5f440240afe7bed473862d01d342be8f8632c844124cb5bba503bfdbbd75bc0"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/env/check.py":{"sha256":"368f74afb89242a64da3440daf6e0b5cd3f29f2958759037bd79e4d12e98099e"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/env/edit.py":{"sha256":"7557e18c63812629bd317c2a841aed71bb4fc6c8aef307e30fc6802c020fa94d"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/env/ls.py":{"sha256":"3176973c72be58c9e4b3a4ccf09fb13bf42fc13124fdd53b11247b3b80184d11"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/env/prune.py":{"sha256":"29c1011781243ec2359c751ae58cbba144079bc2a63be074b9505a78e626e235"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/env/reload.py":{"sha256":"b77786dabfa04642c033a0056a1af51b394855d0c64397e7af71b3b671aece8e"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/env/shell.py":{"sha256":"7fa0c60475fd1f76322df902a388eaf073af1b29cc70f5edacc1ffd58dc433ec"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/env/start.py":{"sha256":"2baf4ccd2f21a8d0b1732cd190e30aa4c056630e30824af4627856843bb8bfda"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/env/stop.py":{"sha256":"64afaef7da5e5619e3d66ecd70803934515cf36fe7045aeab6a77114be45e874"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/env/test.py":{"sha256":"60a834fd8b02013be54519ca0327717fb4f5444ff084eb9dd69978c1f6bad883"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/__init__.py":{"sha256":"7f89a95c9b5565479c9ecce8e2bc99edea02448afaaa73b216448025c9459078"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/catalog.py":{"sha256":"77e30473cabd41c81d20d382552f9ae086d5ef07ed01f119f8e48fd257a9cff9"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/changes.py":{"sha256":"e4eb0e99c569356e10c493112f0d4b562a120dbf7f79628f2579ea9359696a26"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/create_commits.py":{"sha256":"f015f1ccddd7e0e86362c8d73dea3f9abd632ce1896dbdd6202b17d9828dde3f"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/dashboard.py":{"sha256":"3998486b9c1d29fa7497347cf00e6892fa80212362fd7970d6e14e96d8a78dc9"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/jmx.py":{"sha256":"689144e492c269efa8d99ec4cd8a8597ef40e58ec512f4900e55c44451dea4a0"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/manifest.py":{"sha256":"81e4925ff5de3519ff16b841f3a946f399d929693ccb4174bf5e77a9385d7eb8"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/prometheus.py":{"sha256":"3ed158e5e94d2dac4aa1e8af4711ec8558fd5d41f778bcd08ef077e1fdb8e7fa"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/scripts/__init__.py":{"sha256":"c52ebcec5c0c9cf4644ff4ec857d70e6ab1c6abbbe2bce74099e9540311ecce3"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/scripts/github_user.py":{"sha256":"35148be0ada9603d66ac6fc333dfe938125f0844e52bd91b6153a42a4d9ecbf0"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/scripts/metrics2md.py":{"sha256":"e1ee509547503f2939e2176df637d42285d94f361e7d45c5b44d6bca925aac91"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/scripts/remove_labels.py":{"sha256":"ed595382817323bc09722c0bf39b5f8a96454ca0f848e35ad110a5b6a9eb92e7"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/scripts/upgrade_python.py":{"sha256":"26e1671a864e6f31009fda979ee8406e35f22edddaab3e63ca9b81384b04930c"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/__init__.py":{"sha256":"b05b300236e8c7852bd02fae245ce8c905e4d7bcb2b0d6543366b030f460d97d"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/constants.py":{"sha256":"91bc112010f6f9fd4e040e89421a2b97fb07060fc402b21bbac3a3d00fce38ae"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/generate_profile.py":{"sha256":"97babd0c29a68d5a12b8785430ffdd8ffe3783399ebfe9f13f7ea0cbfe33a2b6"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/generate_traps_db.py":{"sha256":"3608038e42af10351a03a3f2f76084861f7362075b82e945ec75f5b70e5c32e9"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/translate_profile.py":{"sha256":"0ec4822a35d4f8011ca9c11f06ea04e57f74aa349f9f7788384e14f6ff8eb0df"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/validate_mib_filenames.py":{"sha256":"235f3d225571a9957493698dae41149eeaeb0714df31fd7707161b1d8da5f503"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/validate_snmp_profiles.py":{"sha256":"8562cefa771a52f86b4b90458fa0d0019997ccb4a9da85366e4de6201ba0cbbe"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/validators/__init__.py":{"sha256":"083f2ce9f2d3e8104a83c7c94be9ab6562cb5c9294581b913992d5441e07b82a"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/validators/profile_schema.json":{"sha256":"2bfde4d49c86e8c1906e2182f3a0be827f4f90b6cf42a156fe30c0c102735ae0"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/validators/utils.py":{"sha256":"16659cd61d8dfa4fd09179c2bf12ecfa0e01f9d6dfdb58ec6030060655fd8018"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/validators/validator.py":{"sha256":"f4f888a47370619a57a6eabc15162fc82644736bf8047db21e3a289d13b2cb60"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/windows/__init__.py":{"sha256":"42adde34af2d619ba62aa4a20b345a413f66f6799b9cffa595a1d35ee77f84ec"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/windows/pdh.py":{"sha256":"612b974d4b222f26f4b21665637ef0fefa0855f78bb3ff8ea5f08093249f0f72"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/__init__.py":{"sha256":"771f7dbdaba99e22f78e336286ba9623c88d6612bc0dbf97f510ece9e9e22a1e"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/build.py":{"sha256":"0e4f2bab40cb30f9c02d755bfa2c6943dce668e9291e9afa59b24cc05be1d235"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/changelog.py":{"sha256":"55def66cbbf0b8f9a28135fb95531957785cb2b74324424daa499e4421dc1440"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/make.py":{"sha256":"fee91df8cc2b432d70fcaab89f2dcdc0664fa14d228d3a2bf37a3b6ed222bafd"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/show/__init__.py":{"sha256":"76701cad3b42c9ad904ab8f92caeb26818cad3599818e45eb672e6147d6c6a1f"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/show/changes.py":{"sha256":"55059dbfb6bd4c465cd07df67ee7a85ba19e745dea8d6332394f377806391dea"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/show/ready.py":{"sha256":"bf6203afe8ad5a62f321d597a4b037bcfd20c56d9c0cc7a8811ee803d492e1f7"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/stats/__init__.py":{"sha256":"5b5187c36eb3953d3ef79a67ef28677078139b5f2849496f091176f682578a78"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/stats/common.py":{"sha256":"ea365d818ca5d160dff43a18fc5dec1c0ffeb4db8375784357cf56b0d075409e"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/stats/stats.py":{"sha256":"78a1ae027e8816a2f152f6054df1c6595524dc34c47274bcdc6b38a88983803f"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/tag.py":{"sha256":"fdf6a3498acaee4b9ff4ba5b96cba537064a91c33f8e4890f36ce6968f0bb611"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/trello/__init__.py":{"sha256":"f4f84c1b8f758da06ae4fb63dd3d6e89a743f86ad82a1b2f3706b1fd149ed1ce"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/trello/fixed_cards_mover.py":{"sha256":"44d44d49489bed7ac357b00a3602b3a5b545c5be93bfe7282542ebbc7ed06d77"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/trello/rc_build_cards_updater.py":{"sha256":"94ced0785ea8e62dcec6e26a201c7b85fe45a8081eddcba4c24bc4eaecb7ef8f"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/trello/status.py":{"sha256":"83138a2dadee36a2da28fcb9362d62f4e4cc84ea12d5f85ea671298c98227f6a"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/trello/testable.py":{"sha256":"e61cffff8f6b9366aaf7d90ded7586e54c068192d8d26b5cc021c1ddeca3d71e"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/trello/tester_selector/__init__.py":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/trello/tester_selector/cache.py":{"sha256":"2114d5f8809888c5166f1981111a29932f0eb9d324625749f426e913068fac1b"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/trello/tester_selector/github_trello_user_matcher.py":{"sha256":"ad42076b54df20eb6103662eeea5312dd36c1b5bfb7ae831dbce34ce5dab6fd0"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/trello/tester_selector/github_users.py":{"sha256":"4c0abf6c407b43307dc961ca0573d5873c2e107c486b3d30994bcb9d3f25569c"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/trello/tester_selector/tester_selector.py":{"sha256":"a7666fb562e0b9fba4719c8c57ddefc87725f9d211e2416a90b8dce0efb85ff5"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/trello/tester_selector/tester_selector_team.py":{"sha256":"52963d1d48709bdb7d8eeb8131f59ff329c0dc95ca89be62df3a9f10679f1efa"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/trello/tester_selector/trello_users.py":{"sha256":"e285b97757bbc4a95b2ebf95b323dd0a7bde71ae527b5ee8c17ce4e19a39fa8a"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/trello/update_rc_links.py":{"sha256":"804b251f0abe92407d402a814d95ce50fc17673109bdc4ba649f6f5e0fbb10d5"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/upload.py":{"sha256":"32ba19a345693a5224f0b47bb428595dc222c6f2e80ee5ce55ca570a716e2717"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/run.py":{"sha256":"4562a57b1fec3719fdcd402b4e6fb60727997b3d65738dd51f8b058a84447f58"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/test.py":{"sha256":"e43522e3d8f9b62906a02a9178f996bdd78ddca055f1439ffff7d519fd51d403"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/__init__.py":{"sha256":"e5c758610980cd3935a4ecb6eaa2f69fefb1676301fbd87f7f988510827443ff"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/agent_reqs.py":{"sha256":"326b3b8ff592970607afff39dc789ce5a8e87cce401c93466c8d3d182cd1ab1b"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/agent_signature.py":{"sha256":"776028eca5f17fd76bddcefece677164e80a6f46c065f47adf746b8357577750"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/all_validations.py":{"sha256":"93630f3fc5262cd9b91490930603e6f175a6226684e4e5f735cb04e5b40a4430"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/ci.py":{"sha256":"2e6d75be3334b5e10b66c997af5dc56b9594bffb62360c070b5cc4597f1cfbfb"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/codeowners.py":{"sha256":"64e098cfb781f8706632f23d2381582a0ee54d33787e244675473cd4dd7f68e5"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/config.py":{"sha256":"88ffa2ce1fdfb670d46880c63f173f7183d323f7b2b901a831f37f8e06bb586f"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/dashboards.py":{"sha256":"7dec95d45836e1ade04b4b8861fff9a788c68ddbcaa9731ba88fb419066f9b00"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/dep.py":{"sha256":"b4924ae332be7dc350c5f1f0fa7387891c69f8e114c6691a0ecdddd48775c8b7"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/eula.py":{"sha256":"d184071fb3574914e6d2b20cc778092f0111c07d5132ca8ce3470fb7ac677ad1"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/http.py":{"sha256":"5111a4fec742095a06ad3e8cd04919770e8722df791397b79759a10ebb5715d0"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/imports.py":{"sha256":"4a57ae1e1c2aa89409653524fffb14cf560c5fc007ba7e0adedb1bbe7c9e6182"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/integration_style.py":{"sha256":"3361d7f7cc49c7071b79ea9584ae1328acf8a87e7e88bb2162fe274dc1fabb0a"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/jmx_metrics.py":{"sha256":"7892329f235d8ae3288f0cfaa80ee49cb17117416e1144111e29f25d2f2f8876"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/license_headers.py":{"sha256":"2f106f2f63ec01f8a57324311ca16d06fbf8440fe4ac6ae67b44662da6e162ce"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/licenses.py":{"sha256":"ffb79fdabb05bb37d8becd3570f8f15f6b019fe0498e59f544083bdc1a131dab"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/manifest.py":{"sha256":"433c627e5f0723f5c8e2762f09709ddeff9659b4c142096772215b320f93b449"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/metadata.py":{"sha256":"bdbca5b3c2d3d49819270ce40e4fce9287e00e81413ea069119b1a054cb1beba"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/models.py":{"sha256":"d3cff23e4440edb496da104aa410568d859fbf9e4e748bad6e153165ef8ee9c4"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/package.py":{"sha256":"489624b1a7c1c964f69068c0e93e876f96465d5be97fcc6353f16ab86609239f"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/readmes.py":{"sha256":"063c457c317cd79941df231535d63246e9dbfe6f9e910f40e688897359b0928c"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/recommended_monitors.py":{"sha256":"6bf5199cf418251d2e7d985e74cdb9049e8fff1299852f13c1408089ffd89f9c"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/saved_views.py":{"sha256":"699491a6f758c8bd051063c4c2edd096f5b2eadb7f10824664caffa86b7e284a"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/service_checks.py":{"sha256":"5527f8ab8e94b02c3d87a48e432097f6e3a4ee1e417db244e3d72b8be6db61f0"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/typos.py":{"sha256":"71b1dcce3e92412249556efc50b78c5ae87d9f0b73f1d0f06c9375ac8fe3c8ab"},"datadog_checks_dev/datadog_checks/dev/tooling/config.py":{"sha256":"c1ca166a827bd14f863398ba7f67adbdbcec974f2748f5e31758c51fceb67088"},"datadog_checks_dev/datadog_checks/dev/tooling/config_validator/__init__.py":{"sha256":"a37696bf2dcf872903fe1ed84f7b3adbc3b45b66291e2b3436542c495d4f234e"},"datadog_checks_dev/datadog_checks/dev/tooling/config_validator/config_block.py":{"sha256":"4eb448f403bee6396bc17bce6053897ef5a69bdcdff6ccfefeeb9519c5c8a14d"},"datadog_checks_dev/datadog_checks/dev/tooling/config_validator/utils.py":{"sha256":"2e88a21bcf38d3357aa68ab3a3bf688eddc796960be25c3b7952bde36fbb0697"},"datadog_checks_dev/datadog_checks/dev/tooling/config_validator/validator.py":{"sha256":"f2749d57ab97175ecf9626864e3414e361ab2332802d742f60d97c26a9828a7a"},"datadog_checks_dev/datadog_checks/dev/tooling/config_validator/validator_errors.py":{"sha256":"e3920ed0847a7537d45fddb5398e657c1742cee9c27cfaf453add2fc795a63fd"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/__init__.py":{"sha256":"7f40321b073a61d5d03139ebf0167051f11838ca7b6242332dabcbbb9bbe325e"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/constants.py":{"sha256":"69dc667a35940e6c488ed9f0197333b6b3e2765bdd1ca5a9bcf23266977a111d"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/consumers/__init__.py":{"sha256":"3fad58a28211e9fb13fcab3d29843e726d800c1c2202b87295eb423cfd206046"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/consumers/example.py":{"sha256":"86ff8fe1ecd7d0a8a0fbb3d053175ebadc713636fbbbcc528cfbfd8a8d6f0cd5"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/consumers/model/__init__.py":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/consumers/model/model_consumer.py":{"sha256":"c92b6d8d33967545e8ca15573e6fea0d04a20dd02c3847c6890c094291783b12"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/consumers/model/model_file.py":{"sha256":"022eb4e99011ba948e139548409a5ab6c2e24b5a70a4e448dc63edd65dfd5ae6"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/consumers/model/model_info.py":{"sha256":"9df43877137834bc50cff14a7ee7a66529314835f92a148c3e7207c57b4d695c"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/consumers/openapi_document.py":{"sha256":"15c28390df75afa8eac070ac96fb73f443a1aedc2828119dd4d05546205906d8"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/core.py":{"sha256":"c42a69bb8c653cad6ca143b73df62b9c488b7abf02fbcde481b302a1ec9c3d05"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/spec.py":{"sha256":"d166dd9667efca90028873ec6639732ec13da76829a795a191d922a611534ff7"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/template.py":{"sha256":"1b47dad5b7f1df41059ec35db383e8a844c295cf46327389fa478433f8b1f624"},"datadog_checks_dev/datadog_checks/dev/tooling/constants.py":{"sha256":"8e5bbaa85303367b042ef140fd409427755106045157d101b94403fc05040056"},"datadog_checks_dev/datadog_checks/dev/tooling/create.py":{"sha256":"7f69f1fc6b7472407d17992de956a65d47e704d654571c73c4f48c573102f07f"},"datadog_checks_dev/datadog_checks/dev/tooling/datastructures.py":{"sha256":"58411715d64348e60f964fb58a55481e58a0859a33a75de5eaa86b64ade0bf58"},"datadog_checks_dev/datadog_checks/dev/tooling/dependencies.py":{"sha256":"5c93c0c716f8d11730ae12b87c8f59b945efbc260c7fadb352d649c5b3ab3f37"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/__init__.py":{"sha256":"041770d4abd7a492615e0a23c062ffd3748f7f26678f2abc42450caf6ba7cd0a"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/agent.py":{"sha256":"7039c9dc9f04beb95bde3a244a6747fa5a5ce310495f776def606a021e38b017"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/config.py":{"sha256":"9e0903ce05e4352477233a49dd40d40ff66801fb1acb1c0fdc32b06509341a15"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/core.py":{"sha256":"1f810b8a4b0e9f6b6fb7811a2ee575a499cc2cba2563901d80ff2fdb50c47d81"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/docker.py":{"sha256":"a155a44b09eb320c3db047d47bc764536e48cd35b8023ad9dd167b032e571365"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/format.py":{"sha256":"70de3b669c59f3e52961e7251cc110e5e15b88f81a35b95479afa24f512acc18"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/local.py":{"sha256":"fa34434cd457a88eb1613c869c99a6bb9cd889d66d7594d5521cf31aa3a46b8b"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/platform.py":{"sha256":"dfb3a670a0cc6e64c496f7cd6905650347d80b869630ad7aedab0a4dbbfc5f11"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/run.py":{"sha256":"2ecdab2e2d29b1516e3b23dc51f120bbd9cfd26ca3d4a58fe5737760f17321ca"},"datadog_checks_dev/datadog_checks/dev/tooling/git.py":{"sha256":"8a430108786d2659caf8e5e22fb3f2f5dc3e41d2ea4461a0dcee79a817cfe93e"},"datadog_checks_dev/datadog_checks/dev/tooling/github.py":{"sha256":"213601f1ca2f8ef9e03ff3d5221de0b610218d65117b6f5cc8661d93b80ca398"},"datadog_checks_dev/datadog_checks/dev/tooling/license_headers.py":{"sha256":"90af3fc8a5118ec0f961ecbd2cb6d250bce0498a07f25d65dcb5803d99e6c5a5"},"datadog_checks_dev/datadog_checks/dev/tooling/manifest_utils.py":{"sha256":"05fe8ea0ae95eb6b6d4eac80eac082cc93dc4e5b1cb9d84bacc3231f12b593c8"},"datadog_checks_dev/datadog_checks/dev/tooling/manifest_validator/__init__.py":{"sha256":"afb09b643841291ec16223b06f073404a4b1ecf9d1432719f319a75153528b53"},"datadog_checks_dev/datadog_checks/dev/tooling/manifest_validator/common/__init__.py":{"sha256":"72811b8621e09b2c2584eef89feee2146cd5cb8e0e775c80c1af031152ebeba4"},"datadog_checks_dev/datadog_checks/dev/tooling/manifest_validator/common/validator.py":{"sha256":"de33670fb800f550e557902d15c2afe2f8189d74ff13e926e0db8c2178140981"},"datadog_checks_dev/datadog_checks/dev/tooling/manifest_validator/constants.py":{"sha256":"8ddfd4b9bf11df5930e9a8eb343d48cc8e92be019c2baf613ce4dec3860ad9cf"},"datadog_checks_dev/datadog_checks/dev/tooling/manifest_validator/v2/__init__.py":{"sha256":"72811b8621e09b2c2584eef89feee2146cd5cb8e0e775c80c1af031152ebeba4"},"datadog_checks_dev/datadog_checks/dev/tooling/manifest_validator/v2/migration.py":{"sha256":"d8d17e1cd82fa7bfd17911fff0df60e0c20830006cc8a85af6942de10047fc8a"},"datadog_checks_dev/datadog_checks/dev/tooling/manifest_validator/v2/validator.py":{"sha256":"c4ec194d39fe469a1663c98e7c75b98b913de36ee426d11c90e7a774ecff92a4"},"datadog_checks_dev/datadog_checks/dev/tooling/release.py":{"sha256":"596c82ede4a4ff577e48b93371c8adf763c0eeff4af81fcd61d3a15676190e53"},"datadog_checks_dev/datadog_checks/dev/tooling/signing.py":{"sha256":"4154bd275d3d89367696bb13447725a0d0fe2cb6612e719ed9d4b9023cb9e0f2"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/ad_identifiers.yaml":{"sha256":"debad2c0564fceaa7bc21481ce43ba4d1309a769ac8fb67e65c707a6b9e49f42"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/common/perf_counters.yaml":{"sha256":"9001b82611b1107c4014161991967e21eb725b251abcb50965c80ca9255b313c"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config.yaml":{"sha256":"0b03d07105545af963c8e1d332236612961de12ebc473a917dbfc29d8ec3198b"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/db.yaml":{"sha256":"a59d95c0d5f2a7e5242a93b161085c0ec339474a57b0883074607c6c96a7d2fc"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/default.yaml":{"sha256":"d1d899a235b713e1dc277e4e149f03b9caaf3a657c2900776d02f1a5ca54b5c6"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/http.yaml":{"sha256":"b0d3492b6ed3eafa40a5cf23bd9e6a8e4074960e060f7733da4f11b0bc75894f"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/jmx.yaml":{"sha256":"56996f66f2ec8ecbaef25cadad04743760f3d36711bdfbff337f61c4c4616e4f"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/openmetrics.yaml":{"sha256":"5bd455963b3ba5b4e8b1cd835630d06c91231aaa5c88bbba0870c35917ce6df4"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/openmetrics_legacy.yaml":{"sha256":"5bd455963b3ba5b4e8b1cd835630d06c91231aaa5c88bbba0870c35917ce6df4"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/openmetrics_legacy_base":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/perf_counters.yaml":{"sha256":"b72ab4bf57cda61f33a759905fa6070482e21f174ffd7ca304c2b781d2458ee5"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/service.yaml":{"sha256":"9be396dbf8f78327572d7ee1c391f2145cf9140c8241b2788e15278b8208425c"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/tags.yaml":{"sha256":"70797d15cfd8c7310cbe428ea21b3717045fc933184431736ab8bcdf4e4773af"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances.yaml":{"sha256":"bab548f2d4f06a84e38c03e5ba71df6b5b4727a9c6fd9b10744d62b1324a3ea9"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/all_integrations.yaml":{"sha256":"de9afd1055fb7e6402e226f9ab1bf51fb3a78d3deeb7eb2dd6e17af4dc3bc78e"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/db.yaml":{"sha256":"6eec75ec2547f8a4e2617e73b394499438a493354f569d1efca33d970c103a4a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/default.yaml":{"sha256":"ad2523157985ba4af6b02e3b040dac9fc6e1e9279e74d33593a84632296e149a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/global.yaml":{"sha256":"f2372b75408c2516c5d2cf805e9d66cbbba83b62774ebf95bc2a4d6459708413"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/http.yaml":{"sha256":"3dca96bd064a713d8dd7b88304fd337498cd9e892f4a65e7561e0c947389dbc6"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/jmx.yaml":{"sha256":"6046c9eb0d2e7063ebdbc93012e69ba3c698ad5092b1c1d4b58217bd4539ea45"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/openmetrics.yaml":{"sha256":"d92ef2fb83ea5073d463a3aa410b8549edb4ddbb2e5ea423c36f2cd4135eaf22"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/openmetrics_legacy.yaml":{"sha256":"f0cc0ba9b5eac9450b9a3f5c96c480dc096badf94aab0bfbbbede5cf5c6f9229"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/openmetrics_legacy_base.yaml":{"sha256":"7b67f8b59ca7f85488a838f0beed74831ee30f1847fad86be9e8ffde3bb7136e"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/pdh_legacy.yaml":{"sha256":"3ea8930990f557d90527ef9a41b7f5c35ad203638cbeb67ef5e2fdc2aee25912"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/perf_counters.yaml":{"sha256":"20666e2e25b311cc7c6c65355a918ff968c4e791506d74f625ac9fcfb1c0522c"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/service.yaml":{"sha256":"a2a42e1b8d014caca43db48877828a0f889f2cc16847068862e0f4bd2decb033"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/tags.yaml":{"sha256":"5ae1915ed8f262a3c0db6f554f9a7f5daf52b5705cb50b3c4c2e319692a4925b"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/tls.yaml":{"sha256":"98f252624fb180d0087aa60760ef892670ee3fe53066f3ff1e472637bb96c3d4"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/logs.yaml":{"sha256":"1182fc46b7d01535900e3b7373eb99b5d51d899fc6a5b827ee81db8c8e54bb8d"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/CHANGELOG.md":{"sha256":"71d2dc1a7125bc657a3ff74503269e20a3def6ef392a010ae1d93ef240b8ad84"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/README.md":{"sha256":"2fb3e1e97301f745a8805b44a5ceb075a9caa0a3cbe230a05fb516b634a9b98b"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/assets/configuration/spec.yaml":{"sha256":"2ace40aafc7e0b9f6440d50101b8cecc32ba00d0bc9820e99a2e8632be05170d"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/assets/dashboards/{check_name}_overview.json":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/assets/service_checks.json":{"sha256":"37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/__init__.py":{"sha256":"3a342b814bc9e33b34b99058154d75b092d7240e31df938fb73b90d39be0edf5"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/__about__.py":{"sha256":"881ef52b60563f5f550463f712abd4dcf628fd9886214e022c6d23549966c8e0"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/__init__.py":{"sha256":"7afb749ce0829e4abed181098d56b8da0a07fbe5444ee8ed7037c04f04feca23"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/check.py":{"sha256":"defbe9c17509f34ca10ce5c16f501c17a71208475b2af6d9302f3cbd608bbcb7"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/config_models/__init__.py":{"sha256":"a380172194927e06060e6560bde84d4316decc8a7acb39fa4b909cf952e06852"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/config_models/defaults.py":{"sha256":"db33869c502d554f9e39f8d28bf21d22ffa0045c37a14736a6f3bb5dc694d064"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/config_models/instance.py":{"sha256":"c8188940cf5bfb6690e34aa4aa188735ff7d0df519279a36d191e94b00ae7a27"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/config_models/shared.py":{"sha256":"3b4b44651a11def143512d15a369fa8737e511cf70cb16d1a19a89b43ddf3134"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/config_models/validators.py":{"sha256":"ff8691fdd4c4bc21e4feeab75b714040176265ffe25c6e056c521aec5c0299b5"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/data/conf.yaml.example":{"sha256":"5e0de7f83fac0dba09f081681c16e127fb4be027f08eac6166a102268d26efad"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/hatch.toml":{"sha256":"ea6f8ed3e70d27d5557c8b523e46dbc87e4f8ee06c24be2ae91015be4df419ed"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/images/.gitkeep":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/manifest.json":{"sha256":"810331e1f491e40cae8be4df807776811a540c14508a8b34aa6a333f59b30082"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/metadata.csv":{"sha256":"2938ab51a18d7b72bb567597d09fb73f54093020ca231d0f55d33e7d4575010a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/pyproject.toml":{"sha256":"d0e232ef71d9bdf29432081d896dd381f017c851189dfb684c4c03d61bdc0ab5"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/setup.py":{"sha256":"962f47e92c3d2f4863a65851df170a959d603a6842d72a12eb6e3c1cd7ec4b0a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/tests/__init__.py":{"sha256":"d8dc47fd44c6ab1577c4fc677c41d029c4c6a9aac573ce844297b3fce71bb091"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/tests/conftest.py":{"sha256":"288ab38141b5fc11c7cbcce1d5850b5c85a461969a73a181bd9057a1b2919cf4"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/tests/test_{check_name}.py":{"sha256":"9a3a0016b8305670142ae517f7a376f0181578249a6944925dd54b318e0fe347"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/CHANGELOG.md":{"sha256":"71d2dc1a7125bc657a3ff74503269e20a3def6ef392a010ae1d93ef240b8ad84"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/README.md":{"sha256":"c5ef038605890d7ba9a6448c328506dfc9855a5516459f167614543146ae1f05"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/assets/configuration/spec.yaml":{"sha256":"a7dd7aaa3a27ef53f689ea9e7bd135c97c7071896897a3fac925aec0866c7121"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/assets/dashboards/{check_name}_overview.json":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/assets/service_checks.json":{"sha256":"37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/__init__.py":{"sha256":"3a342b814bc9e33b34b99058154d75b092d7240e31df938fb73b90d39be0edf5"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/__about__.py":{"sha256":"881ef52b60563f5f550463f712abd4dcf628fd9886214e022c6d23549966c8e0"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/__init__.py":{"sha256":"4a4f6dea91ffd477a50b09301f706382044f366efe4b3c41e86b039da7842e0a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/config_models/__init__.py":{"sha256":"c1e9bb781f20c5dfb6bdafdce5f13c46832e31a23f9fb0ccfec4a2ed83b97d04"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/config_models/defaults.py":{"sha256":"333709cd7147343cbc8bd162afa74d82957b4d6a59bffcbd60d4af8b6f4ada28"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/config_models/instance.py":{"sha256":"acc9e9ae1f72ba72cad2baf549e40ef6f3b0e6d7da4d28d973ede8eb97bbe072"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/config_models/shared.py":{"sha256":"c650a6768c331c775750dc1c75fbdc56274edc6c15e703597d56b83d1a6fb44a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/config_models/validators.py":{"sha256":"d8dc47fd44c6ab1577c4fc677c41d029c4c6a9aac573ce844297b3fce71bb091"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/data/conf.yaml.example":{"sha256":"479c850a145914012425917c62e26c75a4f5f95b99ef6ec0671183a9f821dc32"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/data/metrics.yaml":{"sha256":"529823f85918da2a317d966266cef9fca8c26ed81134ee1bd5b338f649723e83"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/hatch.toml":{"sha256":"ea6f8ed3e70d27d5557c8b523e46dbc87e4f8ee06c24be2ae91015be4df419ed"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/images/.gitkeep":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/manifest.json":{"sha256":"810331e1f491e40cae8be4df807776811a540c14508a8b34aa6a333f59b30082"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/metadata.csv":{"sha256":"2938ab51a18d7b72bb567597d09fb73f54093020ca231d0f55d33e7d4575010a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/pyproject.toml":{"sha256":"d0e232ef71d9bdf29432081d896dd381f017c851189dfb684c4c03d61bdc0ab5"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/setup.py":{"sha256":"962f47e92c3d2f4863a65851df170a959d603a6842d72a12eb6e3c1cd7ec4b0a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/tests/__init__.py":{"sha256":"d8dc47fd44c6ab1577c4fc677c41d029c4c6a9aac573ce844297b3fce71bb091"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/tests/common.py":{"sha256":"7a9fddcbc85c2d0db1d40e126f4b6b632dab83dfd1e771de303d58b9c7468491"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/tests/conftest.py":{"sha256":"3d692efee3524ac1de5a7d116877b84f749674b5e95f0a5eff66d56d1687f860"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/tests/metrics.py":{"sha256":"aa3800824032efd81a9ec139accffbdb326d26389d7b9617251b6738169274fd"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/tests/test_e2e.py":{"sha256":"d52bb59384d89abfbd670e1c92149acbd1a6c21f9ce2209905c115ae253a7b00"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/CHANGELOG.md":{"sha256":"71d2dc1a7125bc657a3ff74503269e20a3def6ef392a010ae1d93ef240b8ad84"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/README.md":{"sha256":"61155462cf9ea44f74e6fe9e66cecdcef91331c543cb605e42f75e0c34707cce"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/assets/configuration/spec.yaml":{"sha256":"e678062aba11f1b6a03e2e56a99277e6112c2e06f3dbce0a097cf5cf6b0abc59"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/assets/dashboards/{check_name}_overview.json":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/assets/service_checks.json":{"sha256":"37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/datadog_checks/__init__.py":{"sha256":"3a342b814bc9e33b34b99058154d75b092d7240e31df938fb73b90d39be0edf5"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/datadog_checks/{check_name}/__about__.py":{"sha256":"881ef52b60563f5f550463f712abd4dcf628fd9886214e022c6d23549966c8e0"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/datadog_checks/{check_name}/__init__.py":{"sha256":"4a4f6dea91ffd477a50b09301f706382044f366efe4b3c41e86b039da7842e0a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/datadog_checks/{check_name}/data/conf.yaml.example":{"sha256":"4b30c4dc85fd460595889ebc1de22469b97b0ec0b43906d0d750e7af3cdd2aa3"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/images/.gitkeep":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/manifest.json":{"sha256":"b90e1013557f4166e33ea1a3156d535500c14a4ede58dd6d4e9c3407c658d891"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/metadata.csv":{"sha256":"2938ab51a18d7b72bb567597d09fb73f54093020ca231d0f55d33e7d4575010a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/pyproject.toml":{"sha256":"d0e232ef71d9bdf29432081d896dd381f017c851189dfb684c4c03d61bdc0ab5"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/setup.py":{"sha256":"962f47e92c3d2f4863a65851df170a959d603a6842d72a12eb6e3c1cd7ec4b0a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/marketplace/IMAGES_README.md":{"sha256":"f0687c910fea3e8b51110ebc2dd48bfc9f5cf2c5d680ec94638b7012626c0f54"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/marketplace/README.md":{"sha256":"49457a3f8648e14c77a14a05ea816e2e4aba7bbf49f939a9b2b9d9b5bc45e444"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/metrics_pull/{check_name}/CHANGELOG.md":{"sha256":"71d2dc1a7125bc657a3ff74503269e20a3def6ef392a010ae1d93ef240b8ad84"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/metrics_pull/{check_name}/README.md":{"sha256":"a080eaecbbae0d14677bf1dfa6edbaeed432e1ccb0c2b8432908bfd663168901"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/metrics_pull/{check_name}/assets/dashboards/{check_name}_overview.json":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/metrics_pull/{check_name}/assets/service_checks.json":{"sha256":"37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/metrics_pull/{check_name}/images/.gitkeep":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/metrics_pull/{check_name}/manifest.json":{"sha256":"138f9442ed0102499072234cbcf82b226a4134f75ee0570032457ea13be5e7cf"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/metrics_pull/{check_name}/metadata.csv":{"sha256":"2938ab51a18d7b72bb567597d09fb73f54093020ca231d0f55d33e7d4575010a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/snmp_tile/snmp_{check_name}/CHANGELOG.md":{"sha256":"71d2dc1a7125bc657a3ff74503269e20a3def6ef392a010ae1d93ef240b8ad84"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/snmp_tile/snmp_{check_name}/README.md":{"sha256":"586fc1f0daf83cb1e523a4cfe654f2cb5c1ea1e62a6cbb2217c94528a03d86ba"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/snmp_tile/snmp_{check_name}/assets/service_checks.json":{"sha256":"37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/snmp_tile/snmp_{check_name}/manifest.json":{"sha256":"176c1160946cb80e216a37d5e4859137415ddcca44054d563ecca562c543c83c"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/tile/{check_name}/CHANGELOG.md":{"sha256":"71d2dc1a7125bc657a3ff74503269e20a3def6ef392a010ae1d93ef240b8ad84"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/tile/{check_name}/README.md":{"sha256":"b699a68d44cf1c666747cc80e6d6ac1845369259afc34e7d8beca5f2d892139c"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/tile/{check_name}/assets/dashboards/{check_name}_overview.json":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/tile/{check_name}/assets/service_checks.json":{"sha256":"37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/tile/{check_name}/images/.gitkeep":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/tile/{check_name}/manifest.json":{"sha256":"26ecbeb1c821246bda05dc4be18fac70bfd4e11714f269713bd13429b70280e9"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/tile/{check_name}/metadata.csv":{"sha256":"2938ab51a18d7b72bb567597d09fb73f54093020ca231d0f55d33e7d4575010a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/terraform/gke_config.tf":{"sha256":"29e482b800d5a8dad7bc0fc3f42212e2467ceecdf8601d6aca3d6ad30b9c541c"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/terraform/providers.tf":{"sha256":"b99c6d5e4e07431b992580cd437044dd3cb3371b33766cd24497a7cbf16f032f"},"datadog_checks_dev/datadog_checks/dev/tooling/testing.py":{"sha256":"ed8ccff7114cde3d0e3ef2486c53d36d2597cb936313440ef21728b8d31070c6"},"datadog_checks_dev/datadog_checks/dev/tooling/trello.py":{"sha256":"c6b90bbcee84b183d0201456d9f5e04edca0b7872b7a01c58b7d14ccb386e203"},"datadog_checks_dev/datadog_checks/dev/tooling/utils.py":{"sha256":"a0617a9fc21c2b12c91de6dc781eb4aceffc60c0697592ac79f21c09991cb0c8"},"datadog_checks_dev/datadog_checks/dev/utils.py":{"sha256":"24f7fd3526520eb4e9dcfb976c05b2523e2c689c81929b51a3ff8b620ee0b4eb"},"datadog_checks_dev/datadog_checks/dev/warn.py":{"sha256":"6445be66a38a2fa46d36dd72b42ad40f7f730353815b33e7a48f0566da7c61fd"}}}} \ No newline at end of file diff --git a/datadog_checks_dev/CHANGELOG.md b/datadog_checks_dev/CHANGELOG.md index a01ed318cc7ac..c9dbd386e5106 100644 --- a/datadog_checks_dev/CHANGELOG.md +++ b/datadog_checks_dev/CHANGELOG.md @@ -1,5 +1,19 @@ # CHANGELOG - Datadog Checks Dev +## 22.0.0 / 2023-07-05 + +***Changed***: + +* Move CLI plugins to ddev. See [#15166](https://github.com/DataDog/integrations-core/pull/15166). + +***Added***: + +* Add step unit to metadata check. See [#14862](https://github.com/DataDog/integrations-core/pull/14862). + +***Fixed***: + +* Update a log message to mention `hatch` instead of `tox`. See [#15037](https://github.com/DataDog/integrations-core/pull/15037). + ## 21.0.0 / 2023-06-22 ***Removed***: diff --git a/datadog_checks_dev/datadog_checks/dev/__about__.py b/datadog_checks_dev/datadog_checks/dev/__about__.py index d42d8978581d7..c790511e1393a 100644 --- a/datadog_checks_dev/datadog_checks/dev/__about__.py +++ b/datadog_checks_dev/datadog_checks/dev/__about__.py @@ -1,4 +1,4 @@ # (C) Datadog, Inc. 2018-present # All rights reserved # Licensed under a 3-clause BSD style license (see LICENSE) -__version__ = '21.0.0' +__version__ = '22.0.0' From dd5c5a8e6ee0ae55c23d24e2b72865df02e7451a Mon Sep 17 00:00:00 2001 From: Ofek Lev Date: Wed, 5 Jul 2023 18:43:44 -0400 Subject: [PATCH 54/77] Bump the minimum supported version of datadog-checks-dev (#15171) --- ddev/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ddev/pyproject.toml b/ddev/pyproject.toml index 005322782a42f..05bf1f2c42f17 100644 --- a/ddev/pyproject.toml +++ b/ddev/pyproject.toml @@ -26,7 +26,7 @@ classifiers = [ "Programming Language :: Python :: 3.9", ] dependencies = [ - "datadog-checks-dev[cli]~=21.0", + "datadog-checks-dev[cli]~=22.0", "hatch>=1.6.3", "httpx", "jsonpointer", From c4e0f3768c150cb6ec7038eeb9c214b17e3ccba0 Mon Sep 17 00:00:00 2001 From: Ofek Lev Date: Wed, 5 Jul 2023 18:48:34 -0400 Subject: [PATCH 55/77] [Release] Bumped ddev version to 3.2.0 (#15172) * [Release] Bumped ddev version to 3.2.0 * [Release] Update metadata --- .in-toto/tag.c295cf63.link | 2 +- ddev/CHANGELOG.md | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.in-toto/tag.c295cf63.link b/.in-toto/tag.c295cf63.link index 9a5aa013a3a27..2e3316c2549d1 100644 --- a/.in-toto/tag.c295cf63.link +++ b/.in-toto/tag.c295cf63.link @@ -1 +1 @@ -{"signatures":[{"keyid":"c295cf63b355dfeb331602f7f426a94435be6f99","other_headers":"04000108001d162104c295cf63b355dfeb331602f7f426a94435be6f99050264a5ee6a","signature":"503b5ac6ee06927c998276d9aeb0284f23128c0d588526d48bbcb8835a4832103fa20cea295d3c037fb59a59671d27464d6615ff43d49bec8469f2a6dea5a232defb646d40ee4c3a8152a210f96a612810ce7f727f20ad7a2e2568983f69ef41433b328404593a7c203fbafba4a356b4854cdadf22cdacf9314b7c59693f0c010b6d384a6c6d4ba25b28b38f4f45de06015d4216bdd3ca2686c6241634845ba2d20abbfa140d83834b54b754b988aa4e9a3a3d2c087c96f70872a71c47d76cf74c3dfd6c51ff1df0724698c892c8011a5574442683d2c3ab7309bf944d5a2c6663f2538500201e74c560a0530fb1cc8d0a33f3624662cf991110fafc300e9afd3f74dfb01d7c5c5f1df67ff9a81a8613728899f5dcea3adbce3188864b09e26c53dea361a285f8732bb1c704fc1311c973d7d651a3f6b5b20c32c483a473ec94171b6f65eea2804ad2d2bac3a1cd6d93c398deee8f150b3868ba1873e309be244d7003ea91ce4305b30cc8ab9b3d55bd4776cb67bd1c1bb6c349013bdb4d60987e88b7427956c7d3e51c0417626969d235d8454aecdea6197a959ba5f72633a2a5457ece8814ee69ffb60e22287a531fb1d4f8dab415df7b3067afc611a7527076159ab5dcd51320787e8734142aa73bbce147532d6581880bfd578c866800570a581edf79e4e73919a02ded130b9ae851d646887fe8f9a04737c5c07dd82051"}],"signed":{"_type":"link","byproducts":{},"command":[],"environment":{},"materials":{},"name":"tag","products":{"datadog_checks_dev/datadog_checks/__init__.py":{"sha256":"9a3c64b8b00c94da4b4f34618d803d3255808caf21b8afa9195c84b61da66b6a"},"datadog_checks_dev/datadog_checks/dev/__about__.py":{"sha256":"54ea90eedba8e9b5b2bb116d38634817604f5853c7616077ffd335936d5a775e"},"datadog_checks_dev/datadog_checks/dev/__init__.py":{"sha256":"a719d056d27f47df5fcd37b6f4d584d1e6a7cbccef33ae01da2520b19c7dd722"},"datadog_checks_dev/datadog_checks/dev/__main__.py":{"sha256":"0b1c4bcaa055bf74aabb2b821b4b1c26b0833439ab59d91193feb086d1627ac2"},"datadog_checks_dev/datadog_checks/dev/_env.py":{"sha256":"e9161b33e590c8d6e39c8b91e6154a661eb99032800f5f0e2de07669694592bf"},"datadog_checks_dev/datadog_checks/dev/ci.py":{"sha256":"4f936a4d0e8ba8fb56731022100507fe6658f2daed5b31a0e9ea0070e84c7668"},"datadog_checks_dev/datadog_checks/dev/compat.py":{"sha256":"3c717f93777b1e3c7d3d15e1f454f0c5e8529e931a2698305d8c399ea8f4b77b"},"datadog_checks_dev/datadog_checks/dev/conditions.py":{"sha256":"e8a181784ac9dad8af8d9b87ed6eecfdab4ab2057c9fb938ae4b8ce8a0546b9e"},"datadog_checks_dev/datadog_checks/dev/docker.py":{"sha256":"a40228a661d698e7ca4ea226ffc24045c9bda7a8376f3b8cce39d1342f24fd4b"},"datadog_checks_dev/datadog_checks/dev/env.py":{"sha256":"8d90808a53ac87a0db9bad4c4babfd003ad116a84af507262f57ccfb7b694053"},"datadog_checks_dev/datadog_checks/dev/errors.py":{"sha256":"b048cb0dab6b7cab91e38ae0de73b8e167a62c03b940a7e679040b5a3eff8605"},"datadog_checks_dev/datadog_checks/dev/fs.py":{"sha256":"85919e2465060b97862c0535cd0815c231fb14cba68bc7484af48ac52f67bade"},"datadog_checks_dev/datadog_checks/dev/http.py":{"sha256":"7c7191d5d772f02a808f7c873da62d61bd47ca0efe292f9a757061ee6df6945e"},"datadog_checks_dev/datadog_checks/dev/jmx.py":{"sha256":"9960e6c5a88e6c37959c7fad1247c542a63a05fd0807822e1af59fb0a5eb1803"},"datadog_checks_dev/datadog_checks/dev/kind.py":{"sha256":"96c8893f8bc8be0cd51ba565ae0da5d104700c1d40c09478ea18021cfb187d82"},"datadog_checks_dev/datadog_checks/dev/kube_port_forward.py":{"sha256":"745a4152775b5579b8c85a6b0a4b84329cbdc44475ad8a43fae2cf99304659b4"},"datadog_checks_dev/datadog_checks/dev/plugin/__init__.py":{"sha256":"4c2d2aee209b36a7188df5396b304da429e2f0b01060e7d8e8500313749910f0"},"datadog_checks_dev/datadog_checks/dev/plugin/pytest.py":{"sha256":"a532794f154ab4cc2a9060fb280e4524ce3ef2d1d0ffb695d3d2d4ed9a790c97"},"datadog_checks_dev/datadog_checks/dev/plugin/tox.py":{"sha256":"857f257ae6d2666c7177cda20a891a2166aebf9ff4f33381f3360b9efa3ed836"},"datadog_checks_dev/datadog_checks/dev/spec.py":{"sha256":"145c7b93d41da315b567f8dba92c07069ee0ddd67ef508d8b4540ca997bd3911"},"datadog_checks_dev/datadog_checks/dev/ssh_tunnel.py":{"sha256":"ae1bbe4c8fa727ee5429c155e38796a50d70a93d1ccb2f517d4ab077e06dab23"},"datadog_checks_dev/datadog_checks/dev/structures.py":{"sha256":"198ddb964230031edac24abfdd3e32902be9f36257494d1993c72ef1d3c6b0f6"},"datadog_checks_dev/datadog_checks/dev/subprocess.py":{"sha256":"5094a6304d104edf8789ad567a360addf97426bf87a2e6fe31ea75ee822e6ff0"},"datadog_checks_dev/datadog_checks/dev/terraform.py":{"sha256":"1fd1b8f49ed9d88ccf3098bfc702dbf567c8c6a60750aa3c14bf73f6b016954e"},"datadog_checks_dev/datadog_checks/dev/testing.py":{"sha256":"f659468bc1f0146f16f2e6bf48c35c85438f80aae9c0ec65562c380fd34b6690"},"datadog_checks_dev/datadog_checks/dev/tooling/__init__.py":{"sha256":"4c2d2aee209b36a7188df5396b304da429e2f0b01060e7d8e8500313749910f0"},"datadog_checks_dev/datadog_checks/dev/tooling/__main__.py":{"sha256":"60b67815a138da81e4984c304402f61c4ed7282374e9e8cdfe8fca21200f57af"},"datadog_checks_dev/datadog_checks/dev/tooling/catalog_const.py":{"sha256":"24fe2044ab78bc2cb43e37aa3d206814b89c8398af561dc20cc71add0e0f96fb"},"datadog_checks_dev/datadog_checks/dev/tooling/clean.py":{"sha256":"8411d7605bc7e0bdf56560e7cdf50b21132c1cb3d1d5cf5d4af47b5fb89267d7"},"datadog_checks_dev/datadog_checks/dev/tooling/cli.py":{"sha256":"333506143c67d50e491acdf6b666a768d794900b891b54d01972e1a546beea29"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/__init__.py":{"sha256":"33336941eb7591908de3aabf09781c609455de748efda5afacf287f18f9e0758"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/agent/__init__.py":{"sha256":"a810cefa6aa16b5c4f2a3e97a7eab1fa2ea4f6016339b7746340fed2271e08f0"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/agent/changelog.py":{"sha256":"310d7e25b6dbde9626f6eb1b4a883f69adc1171b00571f755a9aeddc8a5f4fbf"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/agent/common.py":{"sha256":"8077a164e3285dc18cbaa4ef4f5d4b9ebd3009f8be5558040a768504acd3c4e2"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/agent/integrations.py":{"sha256":"04e90a7264ac2ded3e9ae4ad083b7ca27dc2b140dd7d24c902ad024c2b3e8595"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/agent/integrations_changelog.py":{"sha256":"6d76249faccc4bb562094de0aaf0b4a45eb2f5f1fb1f9b684e31e23f25739524"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/agent/requirements.py":{"sha256":"8aa8d2feac7f3ec9ac54d72508c32fb7c52e6d26b2f14173a14da90bb3cfe893"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/ci/__init__.py":{"sha256":"191a8d4d6140548f010dab64e178201c27cdce9ad85a5f76c1a1baba9151130c"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/ci/setup.py":{"sha256":"f645e34d547fe5935e7c0d3c19163fed712dd53e769bee71587c4d969bd2cc32"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/clean.py":{"sha256":"cd7fa0092ba01bc741a64dbb602ad956334b775338cc3f9ce9933dd95eac9ae3"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/config.py":{"sha256":"4633f9e5a47f51725add1440777526561bf165192fd1fd3d14315b78f6bf4f7b"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/console.py":{"sha256":"1366bc7a68a374c96246a2f8dab219ebad95c2b1239a691af721f95ebc737537"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/create.py":{"sha256":"e173ac8dfd5b06dd6e3f40ef83ade83f07a4787147bc3bed54b4f551a3fe91ff"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/dep.py":{"sha256":"ccb9356aa419aa9b83ffa77638ea8aa2512d9ce74b0d2663071e52893220a65e"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/docs/__init__.py":{"sha256":"d2b1b727edddad68a248b050e9daa2bc64f501577c5ff75974b547b389525628"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/docs/build.py":{"sha256":"77ff06c1a43014abd6e2e11d4e087013f9c5113a2f8f8da5f1005556a85fad8f"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/docs/deploy.py":{"sha256":"e6ffb1607746c4c39eed590110722570568f86a09ddbd8a3f2ddb9c90e70be8f"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/docs/serve.py":{"sha256":"4cf06d95a2526dd3cc913b7de475408793c19e6838970beb2016286a2d86b019"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/docs/utils.py":{"sha256":"062bcbd6559c658a6f566da667253051071a20bf65c33c57fc57e105cdf7532e"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/env/__init__.py":{"sha256":"e5f440240afe7bed473862d01d342be8f8632c844124cb5bba503bfdbbd75bc0"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/env/check.py":{"sha256":"368f74afb89242a64da3440daf6e0b5cd3f29f2958759037bd79e4d12e98099e"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/env/edit.py":{"sha256":"7557e18c63812629bd317c2a841aed71bb4fc6c8aef307e30fc6802c020fa94d"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/env/ls.py":{"sha256":"3176973c72be58c9e4b3a4ccf09fb13bf42fc13124fdd53b11247b3b80184d11"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/env/prune.py":{"sha256":"29c1011781243ec2359c751ae58cbba144079bc2a63be074b9505a78e626e235"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/env/reload.py":{"sha256":"b77786dabfa04642c033a0056a1af51b394855d0c64397e7af71b3b671aece8e"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/env/shell.py":{"sha256":"7fa0c60475fd1f76322df902a388eaf073af1b29cc70f5edacc1ffd58dc433ec"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/env/start.py":{"sha256":"2baf4ccd2f21a8d0b1732cd190e30aa4c056630e30824af4627856843bb8bfda"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/env/stop.py":{"sha256":"64afaef7da5e5619e3d66ecd70803934515cf36fe7045aeab6a77114be45e874"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/env/test.py":{"sha256":"60a834fd8b02013be54519ca0327717fb4f5444ff084eb9dd69978c1f6bad883"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/__init__.py":{"sha256":"7f89a95c9b5565479c9ecce8e2bc99edea02448afaaa73b216448025c9459078"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/catalog.py":{"sha256":"77e30473cabd41c81d20d382552f9ae086d5ef07ed01f119f8e48fd257a9cff9"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/changes.py":{"sha256":"e4eb0e99c569356e10c493112f0d4b562a120dbf7f79628f2579ea9359696a26"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/create_commits.py":{"sha256":"f015f1ccddd7e0e86362c8d73dea3f9abd632ce1896dbdd6202b17d9828dde3f"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/dashboard.py":{"sha256":"3998486b9c1d29fa7497347cf00e6892fa80212362fd7970d6e14e96d8a78dc9"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/jmx.py":{"sha256":"689144e492c269efa8d99ec4cd8a8597ef40e58ec512f4900e55c44451dea4a0"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/manifest.py":{"sha256":"81e4925ff5de3519ff16b841f3a946f399d929693ccb4174bf5e77a9385d7eb8"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/prometheus.py":{"sha256":"3ed158e5e94d2dac4aa1e8af4711ec8558fd5d41f778bcd08ef077e1fdb8e7fa"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/scripts/__init__.py":{"sha256":"c52ebcec5c0c9cf4644ff4ec857d70e6ab1c6abbbe2bce74099e9540311ecce3"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/scripts/github_user.py":{"sha256":"35148be0ada9603d66ac6fc333dfe938125f0844e52bd91b6153a42a4d9ecbf0"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/scripts/metrics2md.py":{"sha256":"e1ee509547503f2939e2176df637d42285d94f361e7d45c5b44d6bca925aac91"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/scripts/remove_labels.py":{"sha256":"ed595382817323bc09722c0bf39b5f8a96454ca0f848e35ad110a5b6a9eb92e7"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/scripts/upgrade_python.py":{"sha256":"26e1671a864e6f31009fda979ee8406e35f22edddaab3e63ca9b81384b04930c"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/__init__.py":{"sha256":"b05b300236e8c7852bd02fae245ce8c905e4d7bcb2b0d6543366b030f460d97d"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/constants.py":{"sha256":"91bc112010f6f9fd4e040e89421a2b97fb07060fc402b21bbac3a3d00fce38ae"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/generate_profile.py":{"sha256":"97babd0c29a68d5a12b8785430ffdd8ffe3783399ebfe9f13f7ea0cbfe33a2b6"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/generate_traps_db.py":{"sha256":"3608038e42af10351a03a3f2f76084861f7362075b82e945ec75f5b70e5c32e9"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/translate_profile.py":{"sha256":"0ec4822a35d4f8011ca9c11f06ea04e57f74aa349f9f7788384e14f6ff8eb0df"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/validate_mib_filenames.py":{"sha256":"235f3d225571a9957493698dae41149eeaeb0714df31fd7707161b1d8da5f503"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/validate_snmp_profiles.py":{"sha256":"8562cefa771a52f86b4b90458fa0d0019997ccb4a9da85366e4de6201ba0cbbe"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/validators/__init__.py":{"sha256":"083f2ce9f2d3e8104a83c7c94be9ab6562cb5c9294581b913992d5441e07b82a"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/validators/profile_schema.json":{"sha256":"2bfde4d49c86e8c1906e2182f3a0be827f4f90b6cf42a156fe30c0c102735ae0"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/validators/utils.py":{"sha256":"16659cd61d8dfa4fd09179c2bf12ecfa0e01f9d6dfdb58ec6030060655fd8018"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/validators/validator.py":{"sha256":"f4f888a47370619a57a6eabc15162fc82644736bf8047db21e3a289d13b2cb60"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/windows/__init__.py":{"sha256":"42adde34af2d619ba62aa4a20b345a413f66f6799b9cffa595a1d35ee77f84ec"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/windows/pdh.py":{"sha256":"612b974d4b222f26f4b21665637ef0fefa0855f78bb3ff8ea5f08093249f0f72"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/__init__.py":{"sha256":"771f7dbdaba99e22f78e336286ba9623c88d6612bc0dbf97f510ece9e9e22a1e"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/build.py":{"sha256":"0e4f2bab40cb30f9c02d755bfa2c6943dce668e9291e9afa59b24cc05be1d235"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/changelog.py":{"sha256":"55def66cbbf0b8f9a28135fb95531957785cb2b74324424daa499e4421dc1440"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/make.py":{"sha256":"fee91df8cc2b432d70fcaab89f2dcdc0664fa14d228d3a2bf37a3b6ed222bafd"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/show/__init__.py":{"sha256":"76701cad3b42c9ad904ab8f92caeb26818cad3599818e45eb672e6147d6c6a1f"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/show/changes.py":{"sha256":"55059dbfb6bd4c465cd07df67ee7a85ba19e745dea8d6332394f377806391dea"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/show/ready.py":{"sha256":"bf6203afe8ad5a62f321d597a4b037bcfd20c56d9c0cc7a8811ee803d492e1f7"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/stats/__init__.py":{"sha256":"5b5187c36eb3953d3ef79a67ef28677078139b5f2849496f091176f682578a78"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/stats/common.py":{"sha256":"ea365d818ca5d160dff43a18fc5dec1c0ffeb4db8375784357cf56b0d075409e"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/stats/stats.py":{"sha256":"78a1ae027e8816a2f152f6054df1c6595524dc34c47274bcdc6b38a88983803f"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/tag.py":{"sha256":"fdf6a3498acaee4b9ff4ba5b96cba537064a91c33f8e4890f36ce6968f0bb611"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/trello/__init__.py":{"sha256":"f4f84c1b8f758da06ae4fb63dd3d6e89a743f86ad82a1b2f3706b1fd149ed1ce"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/trello/fixed_cards_mover.py":{"sha256":"44d44d49489bed7ac357b00a3602b3a5b545c5be93bfe7282542ebbc7ed06d77"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/trello/rc_build_cards_updater.py":{"sha256":"94ced0785ea8e62dcec6e26a201c7b85fe45a8081eddcba4c24bc4eaecb7ef8f"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/trello/status.py":{"sha256":"83138a2dadee36a2da28fcb9362d62f4e4cc84ea12d5f85ea671298c98227f6a"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/trello/testable.py":{"sha256":"e61cffff8f6b9366aaf7d90ded7586e54c068192d8d26b5cc021c1ddeca3d71e"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/trello/tester_selector/__init__.py":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/trello/tester_selector/cache.py":{"sha256":"2114d5f8809888c5166f1981111a29932f0eb9d324625749f426e913068fac1b"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/trello/tester_selector/github_trello_user_matcher.py":{"sha256":"ad42076b54df20eb6103662eeea5312dd36c1b5bfb7ae831dbce34ce5dab6fd0"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/trello/tester_selector/github_users.py":{"sha256":"4c0abf6c407b43307dc961ca0573d5873c2e107c486b3d30994bcb9d3f25569c"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/trello/tester_selector/tester_selector.py":{"sha256":"a7666fb562e0b9fba4719c8c57ddefc87725f9d211e2416a90b8dce0efb85ff5"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/trello/tester_selector/tester_selector_team.py":{"sha256":"52963d1d48709bdb7d8eeb8131f59ff329c0dc95ca89be62df3a9f10679f1efa"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/trello/tester_selector/trello_users.py":{"sha256":"e285b97757bbc4a95b2ebf95b323dd0a7bde71ae527b5ee8c17ce4e19a39fa8a"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/trello/update_rc_links.py":{"sha256":"804b251f0abe92407d402a814d95ce50fc17673109bdc4ba649f6f5e0fbb10d5"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/upload.py":{"sha256":"32ba19a345693a5224f0b47bb428595dc222c6f2e80ee5ce55ca570a716e2717"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/run.py":{"sha256":"4562a57b1fec3719fdcd402b4e6fb60727997b3d65738dd51f8b058a84447f58"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/test.py":{"sha256":"e43522e3d8f9b62906a02a9178f996bdd78ddca055f1439ffff7d519fd51d403"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/__init__.py":{"sha256":"e5c758610980cd3935a4ecb6eaa2f69fefb1676301fbd87f7f988510827443ff"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/agent_reqs.py":{"sha256":"326b3b8ff592970607afff39dc789ce5a8e87cce401c93466c8d3d182cd1ab1b"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/agent_signature.py":{"sha256":"776028eca5f17fd76bddcefece677164e80a6f46c065f47adf746b8357577750"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/all_validations.py":{"sha256":"93630f3fc5262cd9b91490930603e6f175a6226684e4e5f735cb04e5b40a4430"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/ci.py":{"sha256":"2e6d75be3334b5e10b66c997af5dc56b9594bffb62360c070b5cc4597f1cfbfb"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/codeowners.py":{"sha256":"64e098cfb781f8706632f23d2381582a0ee54d33787e244675473cd4dd7f68e5"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/config.py":{"sha256":"88ffa2ce1fdfb670d46880c63f173f7183d323f7b2b901a831f37f8e06bb586f"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/dashboards.py":{"sha256":"7dec95d45836e1ade04b4b8861fff9a788c68ddbcaa9731ba88fb419066f9b00"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/dep.py":{"sha256":"b4924ae332be7dc350c5f1f0fa7387891c69f8e114c6691a0ecdddd48775c8b7"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/eula.py":{"sha256":"d184071fb3574914e6d2b20cc778092f0111c07d5132ca8ce3470fb7ac677ad1"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/http.py":{"sha256":"5111a4fec742095a06ad3e8cd04919770e8722df791397b79759a10ebb5715d0"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/imports.py":{"sha256":"4a57ae1e1c2aa89409653524fffb14cf560c5fc007ba7e0adedb1bbe7c9e6182"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/integration_style.py":{"sha256":"3361d7f7cc49c7071b79ea9584ae1328acf8a87e7e88bb2162fe274dc1fabb0a"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/jmx_metrics.py":{"sha256":"7892329f235d8ae3288f0cfaa80ee49cb17117416e1144111e29f25d2f2f8876"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/license_headers.py":{"sha256":"2f106f2f63ec01f8a57324311ca16d06fbf8440fe4ac6ae67b44662da6e162ce"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/licenses.py":{"sha256":"ffb79fdabb05bb37d8becd3570f8f15f6b019fe0498e59f544083bdc1a131dab"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/manifest.py":{"sha256":"433c627e5f0723f5c8e2762f09709ddeff9659b4c142096772215b320f93b449"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/metadata.py":{"sha256":"bdbca5b3c2d3d49819270ce40e4fce9287e00e81413ea069119b1a054cb1beba"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/models.py":{"sha256":"d3cff23e4440edb496da104aa410568d859fbf9e4e748bad6e153165ef8ee9c4"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/package.py":{"sha256":"489624b1a7c1c964f69068c0e93e876f96465d5be97fcc6353f16ab86609239f"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/readmes.py":{"sha256":"063c457c317cd79941df231535d63246e9dbfe6f9e910f40e688897359b0928c"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/recommended_monitors.py":{"sha256":"6bf5199cf418251d2e7d985e74cdb9049e8fff1299852f13c1408089ffd89f9c"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/saved_views.py":{"sha256":"699491a6f758c8bd051063c4c2edd096f5b2eadb7f10824664caffa86b7e284a"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/service_checks.py":{"sha256":"5527f8ab8e94b02c3d87a48e432097f6e3a4ee1e417db244e3d72b8be6db61f0"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/typos.py":{"sha256":"71b1dcce3e92412249556efc50b78c5ae87d9f0b73f1d0f06c9375ac8fe3c8ab"},"datadog_checks_dev/datadog_checks/dev/tooling/config.py":{"sha256":"c1ca166a827bd14f863398ba7f67adbdbcec974f2748f5e31758c51fceb67088"},"datadog_checks_dev/datadog_checks/dev/tooling/config_validator/__init__.py":{"sha256":"a37696bf2dcf872903fe1ed84f7b3adbc3b45b66291e2b3436542c495d4f234e"},"datadog_checks_dev/datadog_checks/dev/tooling/config_validator/config_block.py":{"sha256":"4eb448f403bee6396bc17bce6053897ef5a69bdcdff6ccfefeeb9519c5c8a14d"},"datadog_checks_dev/datadog_checks/dev/tooling/config_validator/utils.py":{"sha256":"2e88a21bcf38d3357aa68ab3a3bf688eddc796960be25c3b7952bde36fbb0697"},"datadog_checks_dev/datadog_checks/dev/tooling/config_validator/validator.py":{"sha256":"f2749d57ab97175ecf9626864e3414e361ab2332802d742f60d97c26a9828a7a"},"datadog_checks_dev/datadog_checks/dev/tooling/config_validator/validator_errors.py":{"sha256":"e3920ed0847a7537d45fddb5398e657c1742cee9c27cfaf453add2fc795a63fd"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/__init__.py":{"sha256":"7f40321b073a61d5d03139ebf0167051f11838ca7b6242332dabcbbb9bbe325e"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/constants.py":{"sha256":"69dc667a35940e6c488ed9f0197333b6b3e2765bdd1ca5a9bcf23266977a111d"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/consumers/__init__.py":{"sha256":"3fad58a28211e9fb13fcab3d29843e726d800c1c2202b87295eb423cfd206046"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/consumers/example.py":{"sha256":"86ff8fe1ecd7d0a8a0fbb3d053175ebadc713636fbbbcc528cfbfd8a8d6f0cd5"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/consumers/model/__init__.py":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/consumers/model/model_consumer.py":{"sha256":"c92b6d8d33967545e8ca15573e6fea0d04a20dd02c3847c6890c094291783b12"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/consumers/model/model_file.py":{"sha256":"022eb4e99011ba948e139548409a5ab6c2e24b5a70a4e448dc63edd65dfd5ae6"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/consumers/model/model_info.py":{"sha256":"9df43877137834bc50cff14a7ee7a66529314835f92a148c3e7207c57b4d695c"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/consumers/openapi_document.py":{"sha256":"15c28390df75afa8eac070ac96fb73f443a1aedc2828119dd4d05546205906d8"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/core.py":{"sha256":"c42a69bb8c653cad6ca143b73df62b9c488b7abf02fbcde481b302a1ec9c3d05"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/spec.py":{"sha256":"d166dd9667efca90028873ec6639732ec13da76829a795a191d922a611534ff7"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/template.py":{"sha256":"1b47dad5b7f1df41059ec35db383e8a844c295cf46327389fa478433f8b1f624"},"datadog_checks_dev/datadog_checks/dev/tooling/constants.py":{"sha256":"8e5bbaa85303367b042ef140fd409427755106045157d101b94403fc05040056"},"datadog_checks_dev/datadog_checks/dev/tooling/create.py":{"sha256":"7f69f1fc6b7472407d17992de956a65d47e704d654571c73c4f48c573102f07f"},"datadog_checks_dev/datadog_checks/dev/tooling/datastructures.py":{"sha256":"58411715d64348e60f964fb58a55481e58a0859a33a75de5eaa86b64ade0bf58"},"datadog_checks_dev/datadog_checks/dev/tooling/dependencies.py":{"sha256":"5c93c0c716f8d11730ae12b87c8f59b945efbc260c7fadb352d649c5b3ab3f37"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/__init__.py":{"sha256":"041770d4abd7a492615e0a23c062ffd3748f7f26678f2abc42450caf6ba7cd0a"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/agent.py":{"sha256":"7039c9dc9f04beb95bde3a244a6747fa5a5ce310495f776def606a021e38b017"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/config.py":{"sha256":"9e0903ce05e4352477233a49dd40d40ff66801fb1acb1c0fdc32b06509341a15"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/core.py":{"sha256":"1f810b8a4b0e9f6b6fb7811a2ee575a499cc2cba2563901d80ff2fdb50c47d81"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/docker.py":{"sha256":"a155a44b09eb320c3db047d47bc764536e48cd35b8023ad9dd167b032e571365"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/format.py":{"sha256":"70de3b669c59f3e52961e7251cc110e5e15b88f81a35b95479afa24f512acc18"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/local.py":{"sha256":"fa34434cd457a88eb1613c869c99a6bb9cd889d66d7594d5521cf31aa3a46b8b"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/platform.py":{"sha256":"dfb3a670a0cc6e64c496f7cd6905650347d80b869630ad7aedab0a4dbbfc5f11"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/run.py":{"sha256":"2ecdab2e2d29b1516e3b23dc51f120bbd9cfd26ca3d4a58fe5737760f17321ca"},"datadog_checks_dev/datadog_checks/dev/tooling/git.py":{"sha256":"8a430108786d2659caf8e5e22fb3f2f5dc3e41d2ea4461a0dcee79a817cfe93e"},"datadog_checks_dev/datadog_checks/dev/tooling/github.py":{"sha256":"213601f1ca2f8ef9e03ff3d5221de0b610218d65117b6f5cc8661d93b80ca398"},"datadog_checks_dev/datadog_checks/dev/tooling/license_headers.py":{"sha256":"90af3fc8a5118ec0f961ecbd2cb6d250bce0498a07f25d65dcb5803d99e6c5a5"},"datadog_checks_dev/datadog_checks/dev/tooling/manifest_utils.py":{"sha256":"05fe8ea0ae95eb6b6d4eac80eac082cc93dc4e5b1cb9d84bacc3231f12b593c8"},"datadog_checks_dev/datadog_checks/dev/tooling/manifest_validator/__init__.py":{"sha256":"afb09b643841291ec16223b06f073404a4b1ecf9d1432719f319a75153528b53"},"datadog_checks_dev/datadog_checks/dev/tooling/manifest_validator/common/__init__.py":{"sha256":"72811b8621e09b2c2584eef89feee2146cd5cb8e0e775c80c1af031152ebeba4"},"datadog_checks_dev/datadog_checks/dev/tooling/manifest_validator/common/validator.py":{"sha256":"de33670fb800f550e557902d15c2afe2f8189d74ff13e926e0db8c2178140981"},"datadog_checks_dev/datadog_checks/dev/tooling/manifest_validator/constants.py":{"sha256":"8ddfd4b9bf11df5930e9a8eb343d48cc8e92be019c2baf613ce4dec3860ad9cf"},"datadog_checks_dev/datadog_checks/dev/tooling/manifest_validator/v2/__init__.py":{"sha256":"72811b8621e09b2c2584eef89feee2146cd5cb8e0e775c80c1af031152ebeba4"},"datadog_checks_dev/datadog_checks/dev/tooling/manifest_validator/v2/migration.py":{"sha256":"d8d17e1cd82fa7bfd17911fff0df60e0c20830006cc8a85af6942de10047fc8a"},"datadog_checks_dev/datadog_checks/dev/tooling/manifest_validator/v2/validator.py":{"sha256":"c4ec194d39fe469a1663c98e7c75b98b913de36ee426d11c90e7a774ecff92a4"},"datadog_checks_dev/datadog_checks/dev/tooling/release.py":{"sha256":"596c82ede4a4ff577e48b93371c8adf763c0eeff4af81fcd61d3a15676190e53"},"datadog_checks_dev/datadog_checks/dev/tooling/signing.py":{"sha256":"4154bd275d3d89367696bb13447725a0d0fe2cb6612e719ed9d4b9023cb9e0f2"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/ad_identifiers.yaml":{"sha256":"debad2c0564fceaa7bc21481ce43ba4d1309a769ac8fb67e65c707a6b9e49f42"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/common/perf_counters.yaml":{"sha256":"9001b82611b1107c4014161991967e21eb725b251abcb50965c80ca9255b313c"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config.yaml":{"sha256":"0b03d07105545af963c8e1d332236612961de12ebc473a917dbfc29d8ec3198b"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/db.yaml":{"sha256":"a59d95c0d5f2a7e5242a93b161085c0ec339474a57b0883074607c6c96a7d2fc"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/default.yaml":{"sha256":"d1d899a235b713e1dc277e4e149f03b9caaf3a657c2900776d02f1a5ca54b5c6"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/http.yaml":{"sha256":"b0d3492b6ed3eafa40a5cf23bd9e6a8e4074960e060f7733da4f11b0bc75894f"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/jmx.yaml":{"sha256":"56996f66f2ec8ecbaef25cadad04743760f3d36711bdfbff337f61c4c4616e4f"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/openmetrics.yaml":{"sha256":"5bd455963b3ba5b4e8b1cd835630d06c91231aaa5c88bbba0870c35917ce6df4"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/openmetrics_legacy.yaml":{"sha256":"5bd455963b3ba5b4e8b1cd835630d06c91231aaa5c88bbba0870c35917ce6df4"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/openmetrics_legacy_base":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/perf_counters.yaml":{"sha256":"b72ab4bf57cda61f33a759905fa6070482e21f174ffd7ca304c2b781d2458ee5"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/service.yaml":{"sha256":"9be396dbf8f78327572d7ee1c391f2145cf9140c8241b2788e15278b8208425c"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/tags.yaml":{"sha256":"70797d15cfd8c7310cbe428ea21b3717045fc933184431736ab8bcdf4e4773af"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances.yaml":{"sha256":"bab548f2d4f06a84e38c03e5ba71df6b5b4727a9c6fd9b10744d62b1324a3ea9"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/all_integrations.yaml":{"sha256":"de9afd1055fb7e6402e226f9ab1bf51fb3a78d3deeb7eb2dd6e17af4dc3bc78e"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/db.yaml":{"sha256":"6eec75ec2547f8a4e2617e73b394499438a493354f569d1efca33d970c103a4a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/default.yaml":{"sha256":"ad2523157985ba4af6b02e3b040dac9fc6e1e9279e74d33593a84632296e149a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/global.yaml":{"sha256":"f2372b75408c2516c5d2cf805e9d66cbbba83b62774ebf95bc2a4d6459708413"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/http.yaml":{"sha256":"3dca96bd064a713d8dd7b88304fd337498cd9e892f4a65e7561e0c947389dbc6"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/jmx.yaml":{"sha256":"6046c9eb0d2e7063ebdbc93012e69ba3c698ad5092b1c1d4b58217bd4539ea45"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/openmetrics.yaml":{"sha256":"d92ef2fb83ea5073d463a3aa410b8549edb4ddbb2e5ea423c36f2cd4135eaf22"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/openmetrics_legacy.yaml":{"sha256":"f0cc0ba9b5eac9450b9a3f5c96c480dc096badf94aab0bfbbbede5cf5c6f9229"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/openmetrics_legacy_base.yaml":{"sha256":"7b67f8b59ca7f85488a838f0beed74831ee30f1847fad86be9e8ffde3bb7136e"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/pdh_legacy.yaml":{"sha256":"3ea8930990f557d90527ef9a41b7f5c35ad203638cbeb67ef5e2fdc2aee25912"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/perf_counters.yaml":{"sha256":"20666e2e25b311cc7c6c65355a918ff968c4e791506d74f625ac9fcfb1c0522c"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/service.yaml":{"sha256":"a2a42e1b8d014caca43db48877828a0f889f2cc16847068862e0f4bd2decb033"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/tags.yaml":{"sha256":"5ae1915ed8f262a3c0db6f554f9a7f5daf52b5705cb50b3c4c2e319692a4925b"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/tls.yaml":{"sha256":"98f252624fb180d0087aa60760ef892670ee3fe53066f3ff1e472637bb96c3d4"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/logs.yaml":{"sha256":"1182fc46b7d01535900e3b7373eb99b5d51d899fc6a5b827ee81db8c8e54bb8d"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/CHANGELOG.md":{"sha256":"71d2dc1a7125bc657a3ff74503269e20a3def6ef392a010ae1d93ef240b8ad84"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/README.md":{"sha256":"2fb3e1e97301f745a8805b44a5ceb075a9caa0a3cbe230a05fb516b634a9b98b"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/assets/configuration/spec.yaml":{"sha256":"2ace40aafc7e0b9f6440d50101b8cecc32ba00d0bc9820e99a2e8632be05170d"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/assets/dashboards/{check_name}_overview.json":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/assets/service_checks.json":{"sha256":"37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/__init__.py":{"sha256":"3a342b814bc9e33b34b99058154d75b092d7240e31df938fb73b90d39be0edf5"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/__about__.py":{"sha256":"881ef52b60563f5f550463f712abd4dcf628fd9886214e022c6d23549966c8e0"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/__init__.py":{"sha256":"7afb749ce0829e4abed181098d56b8da0a07fbe5444ee8ed7037c04f04feca23"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/check.py":{"sha256":"defbe9c17509f34ca10ce5c16f501c17a71208475b2af6d9302f3cbd608bbcb7"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/config_models/__init__.py":{"sha256":"a380172194927e06060e6560bde84d4316decc8a7acb39fa4b909cf952e06852"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/config_models/defaults.py":{"sha256":"db33869c502d554f9e39f8d28bf21d22ffa0045c37a14736a6f3bb5dc694d064"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/config_models/instance.py":{"sha256":"c8188940cf5bfb6690e34aa4aa188735ff7d0df519279a36d191e94b00ae7a27"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/config_models/shared.py":{"sha256":"3b4b44651a11def143512d15a369fa8737e511cf70cb16d1a19a89b43ddf3134"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/config_models/validators.py":{"sha256":"ff8691fdd4c4bc21e4feeab75b714040176265ffe25c6e056c521aec5c0299b5"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/data/conf.yaml.example":{"sha256":"5e0de7f83fac0dba09f081681c16e127fb4be027f08eac6166a102268d26efad"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/hatch.toml":{"sha256":"ea6f8ed3e70d27d5557c8b523e46dbc87e4f8ee06c24be2ae91015be4df419ed"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/images/.gitkeep":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/manifest.json":{"sha256":"810331e1f491e40cae8be4df807776811a540c14508a8b34aa6a333f59b30082"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/metadata.csv":{"sha256":"2938ab51a18d7b72bb567597d09fb73f54093020ca231d0f55d33e7d4575010a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/pyproject.toml":{"sha256":"d0e232ef71d9bdf29432081d896dd381f017c851189dfb684c4c03d61bdc0ab5"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/setup.py":{"sha256":"962f47e92c3d2f4863a65851df170a959d603a6842d72a12eb6e3c1cd7ec4b0a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/tests/__init__.py":{"sha256":"d8dc47fd44c6ab1577c4fc677c41d029c4c6a9aac573ce844297b3fce71bb091"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/tests/conftest.py":{"sha256":"288ab38141b5fc11c7cbcce1d5850b5c85a461969a73a181bd9057a1b2919cf4"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/tests/test_{check_name}.py":{"sha256":"9a3a0016b8305670142ae517f7a376f0181578249a6944925dd54b318e0fe347"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/CHANGELOG.md":{"sha256":"71d2dc1a7125bc657a3ff74503269e20a3def6ef392a010ae1d93ef240b8ad84"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/README.md":{"sha256":"c5ef038605890d7ba9a6448c328506dfc9855a5516459f167614543146ae1f05"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/assets/configuration/spec.yaml":{"sha256":"a7dd7aaa3a27ef53f689ea9e7bd135c97c7071896897a3fac925aec0866c7121"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/assets/dashboards/{check_name}_overview.json":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/assets/service_checks.json":{"sha256":"37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/__init__.py":{"sha256":"3a342b814bc9e33b34b99058154d75b092d7240e31df938fb73b90d39be0edf5"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/__about__.py":{"sha256":"881ef52b60563f5f550463f712abd4dcf628fd9886214e022c6d23549966c8e0"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/__init__.py":{"sha256":"4a4f6dea91ffd477a50b09301f706382044f366efe4b3c41e86b039da7842e0a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/config_models/__init__.py":{"sha256":"c1e9bb781f20c5dfb6bdafdce5f13c46832e31a23f9fb0ccfec4a2ed83b97d04"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/config_models/defaults.py":{"sha256":"333709cd7147343cbc8bd162afa74d82957b4d6a59bffcbd60d4af8b6f4ada28"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/config_models/instance.py":{"sha256":"acc9e9ae1f72ba72cad2baf549e40ef6f3b0e6d7da4d28d973ede8eb97bbe072"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/config_models/shared.py":{"sha256":"c650a6768c331c775750dc1c75fbdc56274edc6c15e703597d56b83d1a6fb44a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/config_models/validators.py":{"sha256":"d8dc47fd44c6ab1577c4fc677c41d029c4c6a9aac573ce844297b3fce71bb091"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/data/conf.yaml.example":{"sha256":"479c850a145914012425917c62e26c75a4f5f95b99ef6ec0671183a9f821dc32"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/data/metrics.yaml":{"sha256":"529823f85918da2a317d966266cef9fca8c26ed81134ee1bd5b338f649723e83"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/hatch.toml":{"sha256":"ea6f8ed3e70d27d5557c8b523e46dbc87e4f8ee06c24be2ae91015be4df419ed"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/images/.gitkeep":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/manifest.json":{"sha256":"810331e1f491e40cae8be4df807776811a540c14508a8b34aa6a333f59b30082"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/metadata.csv":{"sha256":"2938ab51a18d7b72bb567597d09fb73f54093020ca231d0f55d33e7d4575010a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/pyproject.toml":{"sha256":"d0e232ef71d9bdf29432081d896dd381f017c851189dfb684c4c03d61bdc0ab5"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/setup.py":{"sha256":"962f47e92c3d2f4863a65851df170a959d603a6842d72a12eb6e3c1cd7ec4b0a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/tests/__init__.py":{"sha256":"d8dc47fd44c6ab1577c4fc677c41d029c4c6a9aac573ce844297b3fce71bb091"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/tests/common.py":{"sha256":"7a9fddcbc85c2d0db1d40e126f4b6b632dab83dfd1e771de303d58b9c7468491"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/tests/conftest.py":{"sha256":"3d692efee3524ac1de5a7d116877b84f749674b5e95f0a5eff66d56d1687f860"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/tests/metrics.py":{"sha256":"aa3800824032efd81a9ec139accffbdb326d26389d7b9617251b6738169274fd"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/tests/test_e2e.py":{"sha256":"d52bb59384d89abfbd670e1c92149acbd1a6c21f9ce2209905c115ae253a7b00"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/CHANGELOG.md":{"sha256":"71d2dc1a7125bc657a3ff74503269e20a3def6ef392a010ae1d93ef240b8ad84"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/README.md":{"sha256":"61155462cf9ea44f74e6fe9e66cecdcef91331c543cb605e42f75e0c34707cce"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/assets/configuration/spec.yaml":{"sha256":"e678062aba11f1b6a03e2e56a99277e6112c2e06f3dbce0a097cf5cf6b0abc59"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/assets/dashboards/{check_name}_overview.json":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/assets/service_checks.json":{"sha256":"37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/datadog_checks/__init__.py":{"sha256":"3a342b814bc9e33b34b99058154d75b092d7240e31df938fb73b90d39be0edf5"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/datadog_checks/{check_name}/__about__.py":{"sha256":"881ef52b60563f5f550463f712abd4dcf628fd9886214e022c6d23549966c8e0"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/datadog_checks/{check_name}/__init__.py":{"sha256":"4a4f6dea91ffd477a50b09301f706382044f366efe4b3c41e86b039da7842e0a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/datadog_checks/{check_name}/data/conf.yaml.example":{"sha256":"4b30c4dc85fd460595889ebc1de22469b97b0ec0b43906d0d750e7af3cdd2aa3"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/images/.gitkeep":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/manifest.json":{"sha256":"b90e1013557f4166e33ea1a3156d535500c14a4ede58dd6d4e9c3407c658d891"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/metadata.csv":{"sha256":"2938ab51a18d7b72bb567597d09fb73f54093020ca231d0f55d33e7d4575010a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/pyproject.toml":{"sha256":"d0e232ef71d9bdf29432081d896dd381f017c851189dfb684c4c03d61bdc0ab5"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/setup.py":{"sha256":"962f47e92c3d2f4863a65851df170a959d603a6842d72a12eb6e3c1cd7ec4b0a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/marketplace/IMAGES_README.md":{"sha256":"f0687c910fea3e8b51110ebc2dd48bfc9f5cf2c5d680ec94638b7012626c0f54"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/marketplace/README.md":{"sha256":"49457a3f8648e14c77a14a05ea816e2e4aba7bbf49f939a9b2b9d9b5bc45e444"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/metrics_pull/{check_name}/CHANGELOG.md":{"sha256":"71d2dc1a7125bc657a3ff74503269e20a3def6ef392a010ae1d93ef240b8ad84"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/metrics_pull/{check_name}/README.md":{"sha256":"a080eaecbbae0d14677bf1dfa6edbaeed432e1ccb0c2b8432908bfd663168901"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/metrics_pull/{check_name}/assets/dashboards/{check_name}_overview.json":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/metrics_pull/{check_name}/assets/service_checks.json":{"sha256":"37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/metrics_pull/{check_name}/images/.gitkeep":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/metrics_pull/{check_name}/manifest.json":{"sha256":"138f9442ed0102499072234cbcf82b226a4134f75ee0570032457ea13be5e7cf"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/metrics_pull/{check_name}/metadata.csv":{"sha256":"2938ab51a18d7b72bb567597d09fb73f54093020ca231d0f55d33e7d4575010a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/snmp_tile/snmp_{check_name}/CHANGELOG.md":{"sha256":"71d2dc1a7125bc657a3ff74503269e20a3def6ef392a010ae1d93ef240b8ad84"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/snmp_tile/snmp_{check_name}/README.md":{"sha256":"586fc1f0daf83cb1e523a4cfe654f2cb5c1ea1e62a6cbb2217c94528a03d86ba"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/snmp_tile/snmp_{check_name}/assets/service_checks.json":{"sha256":"37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/snmp_tile/snmp_{check_name}/manifest.json":{"sha256":"176c1160946cb80e216a37d5e4859137415ddcca44054d563ecca562c543c83c"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/tile/{check_name}/CHANGELOG.md":{"sha256":"71d2dc1a7125bc657a3ff74503269e20a3def6ef392a010ae1d93ef240b8ad84"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/tile/{check_name}/README.md":{"sha256":"b699a68d44cf1c666747cc80e6d6ac1845369259afc34e7d8beca5f2d892139c"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/tile/{check_name}/assets/dashboards/{check_name}_overview.json":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/tile/{check_name}/assets/service_checks.json":{"sha256":"37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/tile/{check_name}/images/.gitkeep":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/tile/{check_name}/manifest.json":{"sha256":"26ecbeb1c821246bda05dc4be18fac70bfd4e11714f269713bd13429b70280e9"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/tile/{check_name}/metadata.csv":{"sha256":"2938ab51a18d7b72bb567597d09fb73f54093020ca231d0f55d33e7d4575010a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/terraform/gke_config.tf":{"sha256":"29e482b800d5a8dad7bc0fc3f42212e2467ceecdf8601d6aca3d6ad30b9c541c"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/terraform/providers.tf":{"sha256":"b99c6d5e4e07431b992580cd437044dd3cb3371b33766cd24497a7cbf16f032f"},"datadog_checks_dev/datadog_checks/dev/tooling/testing.py":{"sha256":"ed8ccff7114cde3d0e3ef2486c53d36d2597cb936313440ef21728b8d31070c6"},"datadog_checks_dev/datadog_checks/dev/tooling/trello.py":{"sha256":"c6b90bbcee84b183d0201456d9f5e04edca0b7872b7a01c58b7d14ccb386e203"},"datadog_checks_dev/datadog_checks/dev/tooling/utils.py":{"sha256":"a0617a9fc21c2b12c91de6dc781eb4aceffc60c0697592ac79f21c09991cb0c8"},"datadog_checks_dev/datadog_checks/dev/utils.py":{"sha256":"24f7fd3526520eb4e9dcfb976c05b2523e2c689c81929b51a3ff8b620ee0b4eb"},"datadog_checks_dev/datadog_checks/dev/warn.py":{"sha256":"6445be66a38a2fa46d36dd72b42ad40f7f730353815b33e7a48f0566da7c61fd"}}}} \ No newline at end of file +{"signatures":[{"keyid":"c295cf63b355dfeb331602f7f426a94435be6f99","other_headers":"04000108001d162104c295cf63b355dfeb331602f7f426a94435be6f99050264a5f280","signature":"103f1e3a73db4e3867251315ac5fe34f01ed896f9d5aaa9324968e3f55dd21d62b484c58a320b3ddad748234a12df9aecb4634843b31bfb482572ae2d241ca00a3d0f2ae2c662d00c381f1f3787c91df04abfb1c3f8c95d2b764f7129bc8ee4caf5b4d7940f049a01ea5d992ce9965df63d8b298d970249c413ee2328e0f3df0ed94b5a4c422336c60d150410a962ea1a953edf1802c0d19d93383f9c6e1c8ce9d99e4f23a3cc30c2401a47738aaa5fa53f54092d8c48d288eb667143c991dfdf98dbb8d7d49c14fd6a4997480f73d2f5d315e68573586792d174fae6f1ac4212cedd59f1d68820b12a06d84a036ef288f56171921bb5144bac1e0e60317ac58621a539c51247ea104f6fbaedbee33da0681c042e22bc676ad99e6897241f280e7dbb85addef2ccad7c8cf537991085f680091979d545ea5cc946dc3567f738569e5dd2b690f345b711755331336d080fefefc30da922782b8d0e96ed0aeaeddd2c298cd3cf59c67509b9e15fdc99dcda02c1bfa64829ce809bc36b3e0791bf9f4934484afb2f7816dfd0115c8dcc45e37b67fac46948d9e197163192312e2619d9c240c9aec6340c9e7389d732f0a84267869fc839c91b39accda0525eb3494ce807f74fc922e21f77d543ec767d3100e4a8d9a089bd46239b346c72afa4347dcc7b0353cbe3b82854fdac4d01135b4dcb87d3d876b75d023a7adb091e273b4"}],"signed":{"_type":"link","byproducts":{},"command":[],"environment":{},"materials":{},"name":"tag","products":{}}} \ No newline at end of file diff --git a/ddev/CHANGELOG.md b/ddev/CHANGELOG.md index 6130fdbf6f3a6..06839ee786e13 100644 --- a/ddev/CHANGELOG.md +++ b/ddev/CHANGELOG.md @@ -1,5 +1,14 @@ # CHANGELOG - ddev +## 3.2.0 / 2023-07-05 + +***Added***: + +* Bump the minimum supported version of datadog-checks-dev. See [#15171](https://github.com/DataDog/integrations-core/pull/15171). +* Move CLI plugins to ddev. See [#15166](https://github.com/DataDog/integrations-core/pull/15166). +* Add VerbosityLevels class for ddev cli/terminal use. See [#14780](https://github.com/DataDog/integrations-core/pull/14780). +* Add utilities for GitHub. See [#15036](https://github.com/DataDog/integrations-core/pull/15036). + ## 3.1.0 / 2023-06-23 ***Added***: From 91c114f53131690abd29e2b09de3d3c6a5642fe6 Mon Sep 17 00:00:00 2001 From: Ofek Lev Date: Wed, 5 Jul 2023 19:20:13 -0400 Subject: [PATCH 56/77] Fix builds (#15173) --- .github/workflows/build-ddev.yml | 3 +++ ddev/hatch.toml | 5 ----- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-ddev.yml b/.github/workflows/build-ddev.yml index 894c1cc8d915d..c151140aedc98 100644 --- a/.github/workflows/build-ddev.yml +++ b/.github/workflows/build-ddev.yml @@ -117,6 +117,9 @@ jobs: - name: Install Hatch run: pip install -U hatch + - name: Install Hatch environment collector plugin + run: pip install -e . --no-deps + - name: Install Rust toolchain uses: dtolnay/rust-toolchain@stable with: diff --git a/ddev/hatch.toml b/ddev/hatch.toml index 246ba6868c1ad..174ef100f206d 100644 --- a/ddev/hatch.toml +++ b/ddev/hatch.toml @@ -1,8 +1,3 @@ -[env] -requires = [ - "datadog-checks-dev", -] - [env.collectors.datadog-checks] check-types = true mypy-args = [ From aa7c9015aa63f694914dd80ce233262d30c2a9e2 Mon Sep 17 00:00:00 2001 From: Florent Clarret Date: Thu, 6 Jul 2023 09:25:08 +0200 Subject: [PATCH 57/77] Add dcgm-exporter integration (#14589) * Will add the DCGM integration * Bump the dependencies * Adds some modifications * Works on metric.py and metadata along with some corrections * Syncs the validation model * Updates the metrics and adds all default + NVML metrics * Includes Draft Dashboard & README along with more added Metrics. * Improves tests and PR checks * Fixes the CI failure and adds service check test * Fixes to pass the PR Checks * Fixes to pass the PR Check Configuration file * Fixes to pass the PR Check License * Includes an E2E Draft along with fixes and additions * Fixes formatting issue for PR Checks * Works on resolving the comments * Updates to tests * bump python to 3.9 * Add units and fix up metadata * working caddy setup * fix license header * update config validation models * service check integration name matches manifest name * add assertions about metadata and all metrics * add memory metric namespace * remove unnecessary comments * Works on the comments in the PR * add recommended monitor * fix dashboard * Finalize monitors; update dashboard query and manifest file * Readme improvements: notes about monitors, fixes for links and todos * tweak up the tests * rename test file to adhere to newer test guidelines * remove field that upsets CI validation * rename frame buffer metrics * add metrics that nvidia recommended * instructions for how to handle missing metrics * fix e2e tests * fix first sentence of readme * finalize descriptions and units for frame buffer metrics * remove untrue line * remove autogenerated dead code * add autogenerated code back to satisfy validation * tests for all metrics, fix metric names! * add links to dcgm stuff, remove setuptools py2 depedency * final wording improvements to Readme * Add test for invalid configuration. * better names for unused variables --------- Co-authored-by: ollieharDD Co-authored-by: Ilia Kurenkov --- .codecov.yml | 9 + .github/workflows/config/labeler.yml | 2 + .github/workflows/test-all.yml | 19 + dcgm/CHANGELOG.md | 1 + dcgm/README.md | 260 ++++++ dcgm/assets/configuration/spec.yaml | 14 + dcgm/assets/dashboards/dcgm_overview.json | 810 ++++++++++++++++++ dcgm/assets/monitors/gpu_temperature.json | 29 + dcgm/assets/monitors/memory_usage.json | 26 + dcgm/assets/monitors/xid_errors.json | 30 + dcgm/assets/service_checks.json | 17 + dcgm/datadog_checks/__init__.py | 4 + dcgm/datadog_checks/dcgm/__about__.py | 4 + dcgm/datadog_checks/dcgm/__init__.py | 7 + dcgm/datadog_checks/dcgm/check.py | 28 + .../dcgm/config_models/__init__.py | 24 + .../dcgm/config_models/defaults.py | 290 +++++++ .../dcgm/config_models/instance.py | 165 ++++ .../dcgm/config_models/shared.py | 60 ++ .../dcgm/config_models/validators.py | 13 + .../dcgm/data/conf.yaml.example | 620 ++++++++++++++ dcgm/datadog_checks/dcgm/metrics.py | 41 + dcgm/hatch.toml | 4 + dcgm/manifest.json | 54 ++ dcgm/metadata.csv | 31 + dcgm/pyproject.toml | 61 ++ dcgm/tests/__init__.py | 3 + dcgm/tests/common.py | 48 ++ dcgm/tests/conftest.py | 54 ++ dcgm/tests/docker/Caddyfile | 4 + dcgm/tests/docker/docker-compose.yaml | 13 + dcgm/tests/docker/serve/metrics | 92 ++ dcgm/tests/fixtures/metrics.txt | 92 ++ dcgm/tests/test_e2e.py | 19 + dcgm/tests/test_unit.py | 51 ++ 35 files changed, 2999 insertions(+) create mode 100644 dcgm/CHANGELOG.md create mode 100644 dcgm/README.md create mode 100644 dcgm/assets/configuration/spec.yaml create mode 100644 dcgm/assets/dashboards/dcgm_overview.json create mode 100644 dcgm/assets/monitors/gpu_temperature.json create mode 100644 dcgm/assets/monitors/memory_usage.json create mode 100644 dcgm/assets/monitors/xid_errors.json create mode 100644 dcgm/assets/service_checks.json create mode 100644 dcgm/datadog_checks/__init__.py create mode 100644 dcgm/datadog_checks/dcgm/__about__.py create mode 100644 dcgm/datadog_checks/dcgm/__init__.py create mode 100644 dcgm/datadog_checks/dcgm/check.py create mode 100644 dcgm/datadog_checks/dcgm/config_models/__init__.py create mode 100644 dcgm/datadog_checks/dcgm/config_models/defaults.py create mode 100644 dcgm/datadog_checks/dcgm/config_models/instance.py create mode 100644 dcgm/datadog_checks/dcgm/config_models/shared.py create mode 100644 dcgm/datadog_checks/dcgm/config_models/validators.py create mode 100644 dcgm/datadog_checks/dcgm/data/conf.yaml.example create mode 100644 dcgm/datadog_checks/dcgm/metrics.py create mode 100644 dcgm/hatch.toml create mode 100644 dcgm/manifest.json create mode 100644 dcgm/metadata.csv create mode 100644 dcgm/pyproject.toml create mode 100644 dcgm/tests/__init__.py create mode 100755 dcgm/tests/common.py create mode 100644 dcgm/tests/conftest.py create mode 100755 dcgm/tests/docker/Caddyfile create mode 100755 dcgm/tests/docker/docker-compose.yaml create mode 100644 dcgm/tests/docker/serve/metrics create mode 100644 dcgm/tests/fixtures/metrics.txt create mode 100644 dcgm/tests/test_e2e.py create mode 100644 dcgm/tests/test_unit.py diff --git a/.codecov.yml b/.codecov.yml index 991f8b088361c..0612014c35c03 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -610,6 +610,10 @@ coverage: target: 75 flags: - cert_manager + dcgm: + target: 75 + flags: + - dcgm ddev: target: 75 flags: @@ -807,6 +811,11 @@ flags: paths: - datadog_cluster_agent/datadog_checks/datadog_cluster_agent - datadog_cluster_agent/tests + dcgm: + carryforward: true + paths: + - dcgm/datadog_checks/dcgm + - dcgm/tests ddev: carryforward: true paths: diff --git a/.github/workflows/config/labeler.yml b/.github/workflows/config/labeler.yml index 00b52332c9fa5..391720595457c 100644 --- a/.github/workflows/config/labeler.yml +++ b/.github/workflows/config/labeler.yml @@ -125,6 +125,8 @@ integration/datadog_cluster_agent: - datadog_cluster_agent/**/* integration/datadog_operator: - datadog_operator/**/* +integration/dcgm: +- dcgm/**/* integration/directory: - directory/**/* integration/disk: diff --git a/.github/workflows/test-all.yml b/.github/workflows/test-all.yml index 4ce8ea6f1e765..d81162fa43051 100644 --- a/.github/workflows/test-all.yml +++ b/.github/workflows/test-all.yml @@ -866,6 +866,25 @@ jobs: test-py3: ${{ inputs.test-py3 }} minimum-base-package: ${{ inputs.minimum-base-package }} secrets: inherit + j69f9754: + uses: ./.github/workflows/test-target.yml + with: + job-name: dcgm + target: dcgm + platform: linux + runner: '["ubuntu-22.04"]' + repo: "${{ inputs.repo }}" + python-version: "${{ inputs.python-version }}" + standard: ${{ inputs.standard }} + latest: ${{ inputs.latest }} + agent-image: "${{ inputs.agent-image }}" + agent-image-py2: "${{ inputs.agent-image-py2 }}" + agent-image-windows: "${{ inputs.agent-image-windows }}" + agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}" + test-py2: ${{ inputs.test-py2 }} + test-py3: ${{ inputs.test-py3 }} + minimum-base-package: ${{ inputs.minimum-base-package }} + secrets: inherit jc8f84c3: uses: ./.github/workflows/test-target.yml with: diff --git a/dcgm/CHANGELOG.md b/dcgm/CHANGELOG.md new file mode 100644 index 0000000000000..bdc89733cba5f --- /dev/null +++ b/dcgm/CHANGELOG.md @@ -0,0 +1 @@ +# CHANGELOG - DCGM \ No newline at end of file diff --git a/dcgm/README.md b/dcgm/README.md new file mode 100644 index 0000000000000..051892b94e428 --- /dev/null +++ b/dcgm/README.md @@ -0,0 +1,260 @@ +# Agent Check: DCGM + +## Overview + +This check submits metrics exposed by the [Nvidia DCGM][15] [Exporter][16] in Datadog Agent format. + +## Setup + +### Installation + +The DCGM check is included in the [Datadog Agent][1] package, however we will need to spin up the DCGM Exporter container to expose the GPU metrics for the Agent to collect. + + + + +#### Docker + +To configure the exporter in a Docker environment: + +1. Create the following file `$PWD/default-counters.csv` which contains the default fields from `etc/default-counters.csv`. Using this file we can add more fields for collection. Follow [these instructions][9] to add more fields. For the complete list of fields see the [DCGM API reference manual][10]. + +

We recommend adding the following fields to cover the same ground as our NVML integration: + +``` +DCGM_FI_DEV_COUNT, counter, Number of Devices on the node. +DCGM_FI_DEV_FAN_SPEED, gauge, Fan speed for the device in percent 0-100. +DCGM_FI_PROCESS_NAME, label, The Process Name. +DCGM_FI_PROF_PCIE_TX_BYTES, counter, Total number of bytes transmitted through PCIe TX (in KB) via NVML. +DCGM_FI_PROF_PCIE_RX_BYTES, counter, Total number of bytes received through PCIe RX (in KB) via NVML. +``` + +NVIDIA devs also recommend enabling the following default counters and labels: +- `DCGM_FI_DEV_MEMORY_TEMP` +- `DCGM_FI_DEV_GPU_TEMP` +- `DCGM_FI_DEV_POWER_USAGE` +- `DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION` +- `DCGM_FI_DEV_GPU_UTIL` +- `DCGM_FI_DEV_MEM_COPY_UTIL` +- `DCGM_FI_DEV_FB_FREE` +- `DCGM_FI_DEV_FB_USED` +- `DCGM_FI_DRIVER_VERSION` +- `DCGM_FI_DEV_NAME` +- `DCGM_FI_DEV_BRAND` +- `DCGM_FI_DEV_SERIAL` + +They also recommend adding the following non-default fields and labels: +``` +DCGM_FI_DEV_SLOWDOWN_TEMP, gauge, Slowdown temperature for the device. +DCGM_FI_DEV_POWER_MGMT_LIMIT, gauge, Current power limit for the device. +DCGM_FI_DEV_PSTATE, gauge, Performance state (P-State) 0-15. 0=highest +DCGM_FI_DEV_FB_TOTAL, gauge, +DCGM_FI_DEV_FB_RESERVED, gauge, +DCGM_FI_DEV_FB_USED_PERCENT, gauge, +DCGM_FI_DEV_CLOCK_THROTTLE_REASONS, gauge, Current clock throttle reasons (bitmask of DCGM_CLOCKS_THROTTLE_REASON_*) +DCGM_FI_CUDA_DRIVER_VERSION, label, +DCGM_FI_DEV_NAME, label, +DCGM_FI_DEV_MINOR_NUMBER, label, +``` +
+ +2. Run the Docker container using the following command: +``` +sudo docker run --pid=host --privileged -e DCGM_EXPORTER_INTERVAL=3 --gpus all -d -v /proc:/proc -v $PWD/default-counters.csv:/etc/dcgm-exporter/default-counters.csv -p 9400:9400 --name dcgm-exporter nvcr.io/nvidia/k8s/dcgm-exporter:3.1.7-3.1.4-ubuntu20.04 +``` + + + + +#### Kubernetes + +1. To configure the Exporter in a Kubernetes environment, please review the template provided by NVIDIA here: + +- https://github.com/iliakur/dcgm-exporter#quickstart-on-kubernetes + + + + + +#### Operator + +To configure the Exporter in an Operator environment, please review the template provided by NVIDIA here: + +- https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/getting-started.html#gpu-telemetry + + + + +### Configuration + + + + +#### Host + +##### Metric collection + +1. Edit the `dcgm.d/conf.yaml` file, in the `conf.d/` folder at the root of your Agent's configuration directory to start collecting your GPU Metrics. See the [sample dcgm.d/conf.yaml][3] for all available configuration options. + +``` +instances: + + ## @param openmetrics_endpoint - string - required + ## The URL exposing metrics in the OpenMetrics format. + ## + ## Set this to / as configured in your DCGM Server + # + - openmetrics_endpoint: http://localhost:9400/metrics +``` + + + + +#### Docker + +1. To configure this check for an Agent running on a container: + +##### Metric collection + +Set [Autodiscovery Integrations Templates][5] as Docker labels on your application container: + +```yaml +LABEL "com.datadoghq.ad.check_names"='["dcgm"]' +LABEL "com.datadoghq.ad.init_configs"='[{}]' +LABEL "com.datadoghq.ad.instances"='[{"openmetrics_endpoint": "http://%%host%%:9400/metrics"}]' +``` + + + + +#### Kubernetes + +1. To configure this check for an Agent running on Kubernetes: + +##### Metric collection + +Set [Autodiscovery Integrations Templates][12] as pod annotations on your application container. Aside from this, templates can also be configured with [a file, a configmap, or a key-value store][11]. + +**Annotations v1** (for Datadog Agent < v7.36) + +```yaml +apiVersion: v1 +kind: Pod +metadata: + name: '' + annotations: + ad.datadoghq.com/dcgm.check_names: '["dcgm"]' + ad.datadoghq.com/dcgm.init_configs: '[{}]' + ad.datadoghq.com/dcgm.instances: | + [ + { + "openmetrics_endpoint": "http://%%host%%:9400/metrics" + } + ] +spec: + containers: + - name: dcgm +``` + +**Annotations v2** (for Datadog Agent v7.36+) + +```yaml +apiVersion: v1 +kind: Pod +metadata: + name: '' + annotations: + ad.datadoghq.com/dcgm.checks: | + { + "dcgm": { + "init_config": {}, + "instances": [ + { + "openmetrics_endpoint": "http://%%host%%:9400/metrics" + } + ] + } + } +spec: + containers: + - name: dcgm +``` + + + + +2. [Restart the Agent][4]. + +### Validation + +[Run the Agent's status subcommand][5] and look for `dcgm` under the Checks section. + + +### Adjusting Monitors + +The monitors that come with this integration out of the box have some common-sense default values for their alert thresholds. For instance, the GPU temperature was determined based on [acceptable range for industrial devices][13]. +However we recommend you check to make sure these values suit your particular needs. + +## Data Collected + +### Metrics + +See [metadata.csv][6] for a list of metrics provided by this integration. + +### Events + +The DCGM integration does not include any events. + +### Service Checks + +See [service_checks.json][7] for a list of service checks provided by this integration. + +## Troubleshooting + +### Metric Mapping + +If you have added some metrics that don't appear in the [metadata.csv][6] above and appear in your account with the format `DCGM_FI_DEV_NEW_METRIC`, it is important to remap these metrics in the [dcgm.d/conf.yaml][3] configuration file: +```yaml + ## @param extra_metrics - (list of string or mapping) - optional + ## This list defines metrics to collect from the `openmetrics_endpoint`, in addition to + ## what the check collects by default. If the check already collects a metric, then + ## metric definitions here take precedence. Metrics may be defined in 3 ways: + ... +``` +The example below will append the part in `NEW_METRIC` to the namespace (`dcgm.`), giving `dcgm.new_metric`: + +```yaml + extra_metrics: + - DCGM_FI_DEV_NEW_METRIC: new_metric +``` + +### DCGM Field is Enabled but not Being Submitted? + +It may happen that you enable the collection of a field in `default-counters.csv` but it doesn't show up in Datadog, nor in fact if you make a `curl` request to `host:9400/metrics`. +To figure out why this field is not being collected [dcgm-exporter devs recommend][14] looking at the file `var/log/nv-hostengine.log`. +Keep in mind that `dcgm-exporter` is a thin wrapper around lower-level libraries and drivers which do the actual reporting. + +### Need Help? + +Contact [Datadog support][8]. + +## Further Reading + +Additional helpful documentation, links, and articles: + +[1]: https://app.datadoghq.com/account/settings#agent +[2]: https://docs.datadoghq.com/agent/kubernetes/integrations/ +[3]: https://github.com/DataDog/integrations-core/blob/master/dcgm/datadog_checks/dcgm/data/conf.yaml.example +[4]: https://docs.datadoghq.com/agent/guide/agent-commands/#start-stop-and-restart-the-agent +[5]: https://docs.datadoghq.com/agent/guide/agent-commands/#agent-status-and-information +[6]: https://github.com/DataDog/integrations-core/blob/master/dcgm/metadata.csv +[7]: https://github.com/DataDog/integrations-core/blob/master/dcgm/assets/service_checks.json +[8]: https://docs.datadoghq.com/help/ +[9]: https://github.com/NVIDIA/dcgm-exporter/tree/main#changing-metrics +[10]: https://docs.nvidia.com/datacenter/dcgm/latest/dcgm-api/dcgm-api-field-ids.html +[11]: https://docs.datadoghq.com/agent/kubernetes/integrations/?tab=kubernetes#configuration +[12]: https://docs.datadoghq.com/agent/kubernetes/integrations/?tab=kubernetes +[13]: https://en.wikipedia.org/wiki/Operating_temperature +[14]: https://github.com/NVIDIA/dcgm-exporter/issues/163#issuecomment-1577506512 +[15]: https://developer.nvidia.com/dcgm +[16]: https://github.com/NVIDIA/dcgm-exporter diff --git a/dcgm/assets/configuration/spec.yaml b/dcgm/assets/configuration/spec.yaml new file mode 100644 index 0000000000000..297bbf71a8d43 --- /dev/null +++ b/dcgm/assets/configuration/spec.yaml @@ -0,0 +1,14 @@ +name: dcgm +files: +- name: dcgm.yaml + options: + - template: init_config + options: + - template: init_config/openmetrics + - template: instances + options: + - template: instances/openmetrics + overrides: + openmetrics_endpoint.value.example: http://localhost:9400/metrics + openmetrics_endpoint.description: | + Set this to the port of the dcgm-exporter exposing the metrics in the OpenMetrics format. \ No newline at end of file diff --git a/dcgm/assets/dashboards/dcgm_overview.json b/dcgm/assets/dashboards/dcgm_overview.json new file mode 100644 index 0000000000000..7bdd33a3fcaae --- /dev/null +++ b/dcgm/assets/dashboards/dcgm_overview.json @@ -0,0 +1,810 @@ +{ + "title": "[Agent Intg] DCGM Overview", + "description": "**DCGM**\n\nThis dashboard provides an overview of your DCGM environment, giving you insights into you GPU metrics, shards and gives you an overview into proactively and efficiently managing your GPU.\n", + "widgets": [{ + "id": 6955576996753366, + "definition": { + "title": "New group", + "banner_img": "/static/images/integration_dashboard/dcgm_hero_1.png", + "show_title": false, + "type": "group", + "layout_type": "ordered", + "widgets": [{ + "id": 5765057495183900, + "definition": { + "type": "note", + "content": "**DCGM**\n\nThis dashboard provides an overview of your DCGM environment, giving you insights into you GPU metrics, shards and gives you an overview into proactively and efficiently managing your GPU", + "background_color": "white", + "font_size": "14", + "text_align": "left", + "vertical_align": "top", + "show_tick": false, + "tick_pos": "50%", + "tick_edge": "left", + "has_padding": true + }, + "layout": { + "x": 0, + "y": 0, + "width": 5, + "height": 4 + } + }, { + "id": 607314244154516, + "definition": { + "type": "note", + "content": "**Useful Links**\n\n* [Integration Docs](https://docs.datadoghq.com/integrations/DCGM/?tab=host)\n* [Blog Post - need to add link](https://app.datadoghq.com/ci/getting-started)", + "background_color": "white", + "font_size": "16", + "text_align": "left", + "vertical_align": "top", + "show_tick": false, + "tick_pos": "50%", + "tick_edge": "left", + "has_padding": true + }, + "layout": { + "x": 0, + "y": 4, + "width": 5, + "height": 3 + } + }] + }, + "layout": { + "x": 0, + "y": 0, + "width": 5, + "height": 10 + } + }, { + "id": 8178300534998464, + "definition": { + "title": "Overview", + "background_color": "vivid_green", + "show_title": true, + "type": "group", + "layout_type": "ordered", + "widgets": [{ + "id": 2501952917707794, + "definition": { + "type": "note", + "content": "This section provides you with an overview of your system activity and any DCGM alerts. The service checks on the left speak to the health of your DCGM environment, while the ones on the right report on the Readiness of various DCGM Dependencies. ", + "background_color": "green", + "font_size": "14", + "text_align": "center", + "vertical_align": "center", + "show_tick": false, + "tick_pos": "50%", + "tick_edge": "left", + "has_padding": true + }, + "layout": { + "x": 0, + "y": 0, + "width": 7, + "height": 2 + } + }, { + "id": 8740824674228522, + "definition": { + "title": "DCGM Monitor Summary", + "type": "manage_status", + "display_format": "countsAndList", + "color_preference": "text", + "hide_zero_counts": true, + "query": "tag:(integration:dcgm)", + "sort": "status,asc", + "count": 50, + "start": 0, + "summary_type": "monitors", + "show_priority": false, + "show_last_triggered": false + }, + "layout": { + "x": 0, + "y": 2, + "width": 7, + "height": 4 + } + }, { + "id": 3431939964933534, + "definition": { + "title": "DCGM OpenMetrics Health", + "title_size": "16", + "title_align": "left", + "time": { + "live_span": "1d" + }, + "type": "check_status", + "check": "dcgm.openmetrics.health", + "grouping": "cluster", + "group_by": [], + "tags": [] + }, + "layout": { + "x": 0, + "y": 6, + "width": 3, + "height": 3 + } + }, { + "id": 4220545334262462, + "definition": { + "title": "DCGM Temperature", + "title_size": "16", + "title_align": "left", + "show_legend": false, + "legend_layout": "horizontal", + "legend_columns": ["avg", "min", "max", "value", "sum"], + "type": "timeseries", + "requests": [{ + "formulas": [{ + "formula": "query1" + }], + "queries": [{ + "name": "query1", + "data_source": "metrics", + "query": "sum:dcgm.temperature{$Host}" + }], + "response_format": "timeseries", + "style": { + "palette": "red", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "bars" + }] + }, + "layout": { + "x": 3, + "y": 6, + "width": 4, + "height": 3 + } + }] + }, + "layout": { + "x": 5, + "y": 0, + "width": 7, + "height": 10 + } + }, { + "id": 8025458456001434, + "definition": { + "title": "GPU Utilization Metrics", + "background_color": "vivid_green", + "show_title": true, + "type": "group", + "layout_type": "ordered", + "widgets": [{ + "id": 1042082565617324, + "definition": { + "type": "note", + "content": "TODO - write\n", + "background_color": "green", + "font_size": "14", + "text_align": "center", + "vertical_align": "center", + "show_tick": false, + "tick_pos": "50%", + "tick_edge": "left", + "has_padding": true + }, + "layout": { + "x": 0, + "y": 0, + "width": 12, + "height": 1 + } + }, { + "id": 2594147831316846, + "definition": { + "title": "GPU Utilisation", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "horizontal", + "legend_columns": ["avg", "min", "max", "value", "sum"], + "type": "timeseries", + "requests": [{ + "formulas": [{ + "formula": "query1" + }], + "queries": [{ + "name": "query1", + "data_source": "metrics", + "query": "avg:dcgm.gpu_utilization{$Host}" + }], + "response_format": "timeseries", + "style": { + "palette": "green", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "bars" + }], + "markers": [] + }, + "layout": { + "x": 0, + "y": 1, + "width": 6, + "height": 3 + } + }, { + "id": 6563719774479316, + "definition": { + "title": "NVLink Bandwidth", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "horizontal", + "legend_columns": ["avg", "min", "max", "value", "sum"], + "type": "timeseries", + "requests": [{ + "formulas": [{ + "formula": "query1" + }], + "queries": [{ + "name": "query1", + "data_source": "metrics", + "query": "sum:dcgm.nvlink_bandwidth.count{*}.as_count()" + }], + "response_format": "timeseries", + "style": { + "palette": "green", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + }] + }, + "layout": { + "x": 6, + "y": 1, + "width": 6, + "height": 3 + } + }, { + "id": 5780514876525742, + "definition": { + "title": "Memory Copy Utilisation", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "horizontal", + "legend_columns": ["avg", "min", "max", "value", "sum"], + "type": "timeseries", + "requests": [{ + "formulas": [{ + "formula": "query1" + }], + "queries": [{ + "name": "query1", + "data_source": "metrics", + "query": "avg:dcgm.mem.copy_utilization{*}" + }], + "response_format": "timeseries", + "style": { + "palette": "green", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "area" + }] + }, + "layout": { + "x": 0, + "y": 4, + "width": 6, + "height": 3 + } + }, { + "id": 1749822540525006, + "definition": { + "title": "Power Usage", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": ["avg", "min", "max", "value", "sum"], + "type": "timeseries", + "requests": [{ + "formulas": [{ + "formula": "query1" + }], + "queries": [{ + "name": "query1", + "data_source": "metrics", + "query": "sum:dcgm.power_usage{*}" + }], + "response_format": "timeseries", + "style": { + "palette": "green", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "bars" + }] + }, + "layout": { + "x": 6, + "y": 4, + "width": 6, + "height": 3 + } + }] + }, + "layout": { + "x": 0, + "y": 10, + "width": 12, + "height": 8 + } + }, { + "id": 4965434358555720, + "definition": { + "title": "Key Information", + "background_color": "vivid_green", + "show_title": true, + "type": "group", + "layout_type": "ordered", + "widgets": [{ + "id": 3886077082488710, + "definition": { + "type": "note", + "content": "TODO - write", + "background_color": "green", + "font_size": "14", + "text_align": "center", + "vertical_align": "center", + "show_tick": false, + "tick_pos": "50%", + "tick_edge": "left", + "has_padding": true + }, + "layout": { + "x": 0, + "y": 0, + "width": 12, + "height": 1 + } + }, { + "id": 2061743333718854, + "definition": { + "title": "VGPU Licence Status", + "title_size": "16", + "title_align": "left", + "type": "query_value", + "requests": [{ + "response_format": "scalar", + "queries": [{ + "query": "sum:dcgm.vgpu_license_status{*}", + "data_source": "metrics", + "name": "query1", + "aggregator": "avg" + }], + "formulas": [{ + "formula": "query1" + }], + "conditional_formats": [{ + "comparator": "<=", + "value": 1, + "palette": "white_on_yellow" + }] + }], + "autoscale": true, + "precision": 2 + }, + "layout": { + "x": 0, + "y": 1, + "width": 2, + "height": 2 + } + }, { + "id": 568704879014816, + "definition": { + "title": "DCGM Driver Version", + "title_size": "16", + "title_align": "left", + "type": "toplist", + "requests": [{ + "response_format": "scalar", + "queries": [{ + "query": "sum:dcgm.vgpu_license_status{*} by {dcgm_fi_driver_version}", + "data_source": "metrics", + "name": "query1", + "aggregator": "avg" + }], + "formulas": [{ + "formula": "query1", + "limit": { + "count": 500, + "order": "desc" + } + }], + "conditional_formats": [{ + "comparator": "<=", + "value": 0, + "palette": "white_on_green" + }] + }], + "style": {} + }, + "layout": { + "x": 2, + "y": 1, + "width": 5, + "height": 2 + } + }, { + "id": 2839371544156156, + "definition": { + "title": "DCGM Process Name", + "title_size": "16", + "title_align": "left", + "type": "toplist", + "requests": [{ + "response_format": "scalar", + "queries": [{ + "query": "sum:dcgm.vgpu_license_status{*} by {dcgm_fi_process_name}", + "data_source": "metrics", + "name": "query1", + "aggregator": "avg" + }], + "formulas": [{ + "formula": "query1", + "limit": { + "count": 500, + "order": "desc" + } + }], + "conditional_formats": [{ + "comparator": "=", + "value": 0, + "palette": "white_on_green" + }] + }], + "style": {} + }, + "layout": { + "x": 7, + "y": 1, + "width": 5, + "height": 2 + } + }] + }, + "layout": { + "x": 0, + "y": 18, + "width": 12, + "height": 4, + "is_column_break": true + } + }, { + "id": 7751449879193624, + "definition": { + "title": "Performance Metrics", + "background_color": "vivid_green", + "show_title": true, + "type": "group", + "layout_type": "ordered", + "widgets": [{ + "id": 2866154983425430, + "definition": { + "type": "note", + "content": "TODO - write\n", + "background_color": "green", + "font_size": "14", + "text_align": "center", + "vertical_align": "center", + "show_tick": false, + "tick_pos": "50%", + "tick_edge": "left", + "has_padding": true + }, + "layout": { + "x": 0, + "y": 0, + "width": 12, + "height": 1 + } + }, { + "id": 3446180236609690, + "definition": { + "title": "Memory Clock Frequency", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": ["avg", "min", "max", "value", "sum"], + "type": "timeseries", + "requests": [{ + "formulas": [{ + "formula": "query1" + }], + "queries": [{ + "name": "query1", + "data_source": "metrics", + "query": "sum:dcgm.mem.clock{*}" + }], + "response_format": "timeseries", + "style": { + "palette": "green", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + }] + }, + "layout": { + "x": 0, + "y": 1, + "width": 6, + "height": 2 + } + }, { + "id": 5505379012575576, + "definition": { + "title": "SM clock frequency", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": ["avg", "min", "max", "value", "sum"], + "type": "timeseries", + "requests": [{ + "formulas": [{ + "formula": "query1" + }], + "queries": [{ + "name": "query1", + "data_source": "metrics", + "query": "sum:dcgm.sm_clock{*}" + }], + "response_format": "timeseries", + "style": { + "palette": "green", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + }] + }, + "layout": { + "x": 6, + "y": 1, + "width": 6, + "height": 2 + } + }] + }, + "layout": { + "x": 0, + "y": 22, + "width": 12, + "height": 4 + } + }, { + "id": 1337901742269816, + "definition": { + "title": "Process-Specific Metrics", + "background_color": "vivid_green", + "show_title": true, + "type": "group", + "layout_type": "ordered", + "widgets": [{ + "id": 5673463017827586, + "definition": { + "type": "note", + "content": "TODO - write", + "background_color": "green", + "font_size": "14", + "text_align": "center", + "vertical_align": "center", + "show_tick": false, + "tick_pos": "50%", + "tick_edge": "left", + "has_padding": true + }, + "layout": { + "x": 0, + "y": 0, + "width": 12, + "height": 1 + } + }, { + "id": 8318750693927450, + "definition": { + "title": "FB Free", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "horizontal", + "legend_columns": ["avg", "min", "max", "value", "sum"], + "type": "timeseries", + "requests": [{ + "formulas": [{ + "alias": "Hit", + "style": { + "palette": "green", + "palette_index": 3 + }, + "formula": "query1" + }], + "queries": [{ + "name": "query1", + "data_source": "metrics", + "query": "sum:dcgm.fb_free{*}" + }], + "response_format": "timeseries", + "style": { + "palette": "green", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "bars" + }], + "yaxis": { + "scale": "sqrt", + "include_zero": false + }, + "markers": [{ + "value": "y = 16000", + "display_type": "error bold" + }] + }, + "layout": { + "x": 0, + "y": 1, + "width": 6, + "height": 3 + } + }, { + "id": 5846035468542530, + "definition": { + "title": "FB Used", + "title_size": "16", + "title_align": "left", + "show_legend": false, + "legend_layout": "horizontal", + "legend_columns": ["avg", "min", "max", "value", "sum"], + "type": "timeseries", + "requests": [{ + "formulas": [{ + "alias": "Hit", + "formula": "query1" + }], + "queries": [{ + "name": "query1", + "data_source": "metrics", + "query": "sum:dcgm.fb_used{*}" + }], + "response_format": "timeseries", + "style": { + "palette": "green", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "bars" + }], + "yaxis": { + "scale": "sqrt", + "include_zero": false + } + }, + "layout": { + "x": 6, + "y": 1, + "width": 6, + "height": 3 + } + }, { + "id": 6249720040424566, + "definition": { + "title": "Pcie RX Throughput", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "horizontal", + "legend_columns": ["avg", "min", "max", "value", "sum"], + "type": "timeseries", + "requests": [{ + "formulas": [{ + "alias": "Hit", + "style": { + "palette": "green", + "palette_index": 3 + }, + "formula": "query1" + }], + "queries": [{ + "name": "query1", + "data_source": "metrics", + "query": "sum:dcgm.pcie_rx_throughput{*}" + }], + "response_format": "timeseries", + "style": { + "palette": "green", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "bars" + }], + "yaxis": { + "scale": "sqrt", + "include_zero": false + } + }, + "layout": { + "x": 0, + "y": 4, + "width": 6, + "height": 3 + } + }, { + "id": 8896033939498030, + "definition": { + "title": "Pcie TX Throughput", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "horizontal", + "legend_columns": ["avg", "min", "max", "value", "sum"], + "type": "timeseries", + "requests": [{ + "formulas": [{ + "alias": "Hit", + "style": { + "palette": "green", + "palette_index": 3 + }, + "formula": "query1" + }], + "queries": [{ + "name": "query1", + "data_source": "metrics", + "query": "sum:dcgm.pcie_tx_throughput{*}" + }], + "response_format": "timeseries", + "style": { + "palette": "green", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "bars" + }], + "yaxis": { + "scale": "sqrt", + "include_zero": false + } + }, + "layout": { + "x": 6, + "y": 4, + "width": 6, + "height": 3 + } + }] + }, + "layout": { + "x": 0, + "y": 26, + "width": 12, + "height": 8 + } + }], + "template_variables": [{ + "name": "Host", + "prefix": "host", + "available_values": [], + "default": "*" + }], + "layout_type": "ordered", + "notify_list": [], + "reflow_type": "fixed" +} diff --git a/dcgm/assets/monitors/gpu_temperature.json b/dcgm/assets/monitors/gpu_temperature.json new file mode 100644 index 0000000000000..8b7a28e80b126 --- /dev/null +++ b/dcgm/assets/monitors/gpu_temperature.json @@ -0,0 +1,29 @@ +{ + "name": "🌡️ DCGM: GPU Temperature is High", + "type": "query alert", + "query": "avg(last_5m):avg:dcgm.temperature{*} by {host} > 85", + "message": "{{#is_alert}}\nYour GPU on {{host.name}} is running hot, please check it.\n{{/is_alert}}", + "tags": [ + "integration:dcgm" + ], + "options": { + "thresholds": { + "critical": 85 + }, + "notify_audit": false, + "require_full_window": false, + "notify_no_data": false, + "renotify_interval": 0, + "include_tags": true, + "new_group_delay": 60, + "avalanche_window": 10, + "silenced": { + "*": null + } + }, + "priority": null, + "restricted_roles": null, + "recommended_monitor_metadata": { + "description": "Notify your team when a GPU's temperature is too high." + } +} diff --git a/dcgm/assets/monitors/memory_usage.json b/dcgm/assets/monitors/memory_usage.json new file mode 100644 index 0000000000000..2760ee1b5e53e --- /dev/null +++ b/dcgm/assets/monitors/memory_usage.json @@ -0,0 +1,26 @@ +{ + "name": "⚠️ DCGM: GPU Memory Usage is High", + "type": "query alert", + "query": "avg(last_5m):avg:dcgm.mem.copy_utilization{*} > 90", + "message": "{{#is_alert}}\nYour GPU memory usage is high: {{value}}%.\n{{/is_alert}}", + "tags": [ + "integration:dcgm" + ], + "options": { + "thresholds": { + "critical": 90 + }, + "notify_audit": false, + "require_full_window": false, + "notify_no_data": false, + "renotify_interval": 0, + "include_tags": false, + "avalanche_window": 10, + "silenced": {} + }, + "priority": null, + "restricted_roles": null, + "recommended_monitor_metadata": { + "description": "Notify your team when a GPU's memory usage is too high." + } +} diff --git a/dcgm/assets/monitors/xid_errors.json b/dcgm/assets/monitors/xid_errors.json new file mode 100644 index 0000000000000..0d9422409ab58 --- /dev/null +++ b/dcgm/assets/monitors/xid_errors.json @@ -0,0 +1,30 @@ +{ + "name": "⛔️ DCGM: XID Errors Detected", + "type": "query alert", + "query": "avg(last_5m):avg:dcgm.xid_errors{*} > 5", + "message": "{{#is_alert}}\nAn XID error occurred.\n{{/is_alert}}", + "tags": [ + "integration:dcgm" + ], + "options": { + "thresholds": { + "critical": 5, + "warning": 0 + }, + "notify_audit": false, + "require_full_window": false, + "notify_no_data": false, + "renotify_interval": 0, + "include_tags": false, + "avalanche_window": 10, + "new_host_delay": 300, + "silenced": { + "*": null + } + }, + "priority": null, + "restricted_roles": null, + "recommended_monitor_metadata": { + "description": "Notify your team when at least one XID error occurs in the last 5 minutes." + } +} diff --git a/dcgm/assets/service_checks.json b/dcgm/assets/service_checks.json new file mode 100644 index 0000000000000..70625bc1ebf18 --- /dev/null +++ b/dcgm/assets/service_checks.json @@ -0,0 +1,17 @@ +[ + { + "agent_version": "7.47.0", + "integration": "dcgm", + "check": "dcgm.openmetrics.health", + "statuses": [ + "ok", + "critical" + ], + "groups": [ + "host", + "endpoint" + ], + "name": "DCGM openmetrics endpoint up", + "description": "Returns `CRITICAL` if the check cannot access the openmetrics metrics endpoint of the DCGM Exporter." + } +] diff --git a/dcgm/datadog_checks/__init__.py b/dcgm/datadog_checks/__init__.py new file mode 100644 index 0000000000000..427c1b211d0b2 --- /dev/null +++ b/dcgm/datadog_checks/__init__.py @@ -0,0 +1,4 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) +__path__ = __import__('pkgutil').extend_path(__path__, __name__) # type: ignore diff --git a/dcgm/datadog_checks/dcgm/__about__.py b/dcgm/datadog_checks/dcgm/__about__.py new file mode 100644 index 0000000000000..21965178e0b7c --- /dev/null +++ b/dcgm/datadog_checks/dcgm/__about__.py @@ -0,0 +1,4 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) +__version__ = '0.0.1' diff --git a/dcgm/datadog_checks/dcgm/__init__.py b/dcgm/datadog_checks/dcgm/__init__.py new file mode 100644 index 0000000000000..1cb1e4711d66c --- /dev/null +++ b/dcgm/datadog_checks/dcgm/__init__.py @@ -0,0 +1,7 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) +from .__about__ import __version__ +from .check import DcgmCheck + +__all__ = ['__version__', 'DcgmCheck'] diff --git a/dcgm/datadog_checks/dcgm/check.py b/dcgm/datadog_checks/dcgm/check.py new file mode 100644 index 0000000000000..daf6592b212b7 --- /dev/null +++ b/dcgm/datadog_checks/dcgm/check.py @@ -0,0 +1,28 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +from datadog_checks.base import OpenMetricsBaseCheckV2 +from datadog_checks.dcgm.metrics import METRIC_MAP + + +class DcgmCheck(OpenMetricsBaseCheckV2): + __NAMESPACE__ = 'dcgm' + DEFAULT_METRIC_LIMIT = 0 + + def get_default_config(self): + return { + "metrics": [METRIC_MAP], + } + + def configure_scrapers(self): + super().configure_scrapers() + + self.scrapers[self.instance['openmetrics_endpoint']].metric_transformer.add_custom_transformer( + "build_information", + self._add_build_version_to_metadata, + ) + + def _add_build_version_to_metadata(self, _metric, sample_data, _runtime_data): + for sample, *_ in sample_data: + self.set_metadata('version', sample.labels['build_version'].replace('_', '.')) diff --git a/dcgm/datadog_checks/dcgm/config_models/__init__.py b/dcgm/datadog_checks/dcgm/config_models/__init__.py new file mode 100644 index 0000000000000..bb07629c89aca --- /dev/null +++ b/dcgm/datadog_checks/dcgm/config_models/__init__.py @@ -0,0 +1,24 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +# This file is autogenerated. +# To change this file you should edit assets/configuration/spec.yaml and then run the following commands: +# ddev -x validate config -s +# ddev -x validate models -s + +from .instance import InstanceConfig +from .shared import SharedConfig + + +class ConfigMixin: + _config_model_instance: InstanceConfig + _config_model_shared: SharedConfig + + @property + def config(self) -> InstanceConfig: + return self._config_model_instance + + @property + def shared_config(self) -> SharedConfig: + return self._config_model_shared diff --git a/dcgm/datadog_checks/dcgm/config_models/defaults.py b/dcgm/datadog_checks/dcgm/config_models/defaults.py new file mode 100644 index 0000000000000..c7f245d1a5e04 --- /dev/null +++ b/dcgm/datadog_checks/dcgm/config_models/defaults.py @@ -0,0 +1,290 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +# This file is autogenerated. +# To change this file you should edit assets/configuration/spec.yaml and then run the following commands: +# ddev -x validate config -s +# ddev -x validate models -s + +from datadog_checks.base.utils.models.fields import get_default_field_value + + +def shared_proxy(field, value): + return get_default_field_value(field, value) + + +def shared_service(field, value): + return get_default_field_value(field, value) + + +def shared_skip_proxy(field, value): + return False + + +def shared_timeout(field, value): + return 10 + + +def instance_allow_redirects(field, value): + return True + + +def instance_auth_token(field, value): + return get_default_field_value(field, value) + + +def instance_auth_type(field, value): + return 'basic' + + +def instance_aws_host(field, value): + return get_default_field_value(field, value) + + +def instance_aws_region(field, value): + return get_default_field_value(field, value) + + +def instance_aws_service(field, value): + return get_default_field_value(field, value) + + +def instance_cache_metric_wildcards(field, value): + return True + + +def instance_cache_shared_labels(field, value): + return True + + +def instance_collect_counters_with_distributions(field, value): + return False + + +def instance_collect_histogram_buckets(field, value): + return True + + +def instance_connect_timeout(field, value): + return get_default_field_value(field, value) + + +def instance_disable_generic_tags(field, value): + return False + + +def instance_empty_default_hostname(field, value): + return False + + +def instance_enable_health_service_check(field, value): + return True + + +def instance_exclude_labels(field, value): + return get_default_field_value(field, value) + + +def instance_exclude_metrics(field, value): + return get_default_field_value(field, value) + + +def instance_exclude_metrics_by_labels(field, value): + return get_default_field_value(field, value) + + +def instance_extra_headers(field, value): + return get_default_field_value(field, value) + + +def instance_extra_metrics(field, value): + return get_default_field_value(field, value) + + +def instance_headers(field, value): + return get_default_field_value(field, value) + + +def instance_histogram_buckets_as_distributions(field, value): + return False + + +def instance_hostname_format(field, value): + return get_default_field_value(field, value) + + +def instance_hostname_label(field, value): + return get_default_field_value(field, value) + + +def instance_ignore_connection_errors(field, value): + return False + + +def instance_ignore_tags(field, value): + return get_default_field_value(field, value) + + +def instance_include_labels(field, value): + return get_default_field_value(field, value) + + +def instance_kerberos_auth(field, value): + return 'disabled' + + +def instance_kerberos_cache(field, value): + return get_default_field_value(field, value) + + +def instance_kerberos_delegate(field, value): + return False + + +def instance_kerberos_force_initiate(field, value): + return False + + +def instance_kerberos_hostname(field, value): + return get_default_field_value(field, value) + + +def instance_kerberos_keytab(field, value): + return get_default_field_value(field, value) + + +def instance_kerberos_principal(field, value): + return get_default_field_value(field, value) + + +def instance_log_requests(field, value): + return False + + +def instance_metric_patterns(field, value): + return get_default_field_value(field, value) + + +def instance_metrics(field, value): + return get_default_field_value(field, value) + + +def instance_min_collection_interval(field, value): + return 15 + + +def instance_namespace(field, value): + return get_default_field_value(field, value) + + +def instance_non_cumulative_histogram_buckets(field, value): + return False + + +def instance_ntlm_domain(field, value): + return get_default_field_value(field, value) + + +def instance_password(field, value): + return get_default_field_value(field, value) + + +def instance_persist_connections(field, value): + return False + + +def instance_proxy(field, value): + return get_default_field_value(field, value) + + +def instance_raw_line_filters(field, value): + return get_default_field_value(field, value) + + +def instance_raw_metric_prefix(field, value): + return get_default_field_value(field, value) + + +def instance_read_timeout(field, value): + return get_default_field_value(field, value) + + +def instance_rename_labels(field, value): + return get_default_field_value(field, value) + + +def instance_request_size(field, value): + return 16 + + +def instance_service(field, value): + return get_default_field_value(field, value) + + +def instance_share_labels(field, value): + return get_default_field_value(field, value) + + +def instance_skip_proxy(field, value): + return False + + +def instance_tag_by_endpoint(field, value): + return True + + +def instance_tags(field, value): + return get_default_field_value(field, value) + + +def instance_telemetry(field, value): + return False + + +def instance_timeout(field, value): + return 10 + + +def instance_tls_ca_cert(field, value): + return get_default_field_value(field, value) + + +def instance_tls_cert(field, value): + return get_default_field_value(field, value) + + +def instance_tls_ignore_warning(field, value): + return False + + +def instance_tls_private_key(field, value): + return get_default_field_value(field, value) + + +def instance_tls_protocols_allowed(field, value): + return get_default_field_value(field, value) + + +def instance_tls_use_host_header(field, value): + return False + + +def instance_tls_verify(field, value): + return True + + +def instance_use_latest_spec(field, value): + return False + + +def instance_use_legacy_auth_encoding(field, value): + return True + + +def instance_use_process_start_time(field, value): + return False + + +def instance_username(field, value): + return get_default_field_value(field, value) diff --git a/dcgm/datadog_checks/dcgm/config_models/instance.py b/dcgm/datadog_checks/dcgm/config_models/instance.py new file mode 100644 index 0000000000000..5a32f2666573e --- /dev/null +++ b/dcgm/datadog_checks/dcgm/config_models/instance.py @@ -0,0 +1,165 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +# This file is autogenerated. +# To change this file you should edit assets/configuration/spec.yaml and then run the following commands: +# ddev -x validate config -s +# ddev -x validate models -s + +from __future__ import annotations + +from typing import Any, Mapping, Optional, Sequence, Union + +from pydantic import BaseModel, Extra, Field, root_validator, validator + +from datadog_checks.base.utils.functions import identity +from datadog_checks.base.utils.models import validation + +from . import defaults, validators + + +class AuthToken(BaseModel): + class Config: + allow_mutation = False + + reader: Optional[Mapping[str, Any]] + writer: Optional[Mapping[str, Any]] + + +class ExtraMetric(BaseModel): + class Config: + extra = Extra.allow + allow_mutation = False + + name: Optional[str] + type: Optional[str] + + +class MetricPatterns(BaseModel): + class Config: + allow_mutation = False + + exclude: Optional[Sequence[str]] + include: Optional[Sequence[str]] + + +class Metric(BaseModel): + class Config: + extra = Extra.allow + allow_mutation = False + + name: Optional[str] + type: Optional[str] + + +class Proxy(BaseModel): + class Config: + allow_mutation = False + + http: Optional[str] + https: Optional[str] + no_proxy: Optional[Sequence[str]] + + +class ShareLabel(BaseModel): + class Config: + allow_mutation = False + + labels: Optional[Sequence[str]] + match: Optional[Sequence[str]] + + +class InstanceConfig(BaseModel): + class Config: + allow_mutation = False + + allow_redirects: Optional[bool] + auth_token: Optional[AuthToken] + auth_type: Optional[str] + aws_host: Optional[str] + aws_region: Optional[str] + aws_service: Optional[str] + cache_metric_wildcards: Optional[bool] + cache_shared_labels: Optional[bool] + collect_counters_with_distributions: Optional[bool] + collect_histogram_buckets: Optional[bool] + connect_timeout: Optional[float] + disable_generic_tags: Optional[bool] + empty_default_hostname: Optional[bool] + enable_health_service_check: Optional[bool] + exclude_labels: Optional[Sequence[str]] + exclude_metrics: Optional[Sequence[str]] + exclude_metrics_by_labels: Optional[Mapping[str, Union[bool, Sequence[str]]]] + extra_headers: Optional[Mapping[str, Any]] + extra_metrics: Optional[Sequence[Union[str, Mapping[str, Union[str, ExtraMetric]]]]] + headers: Optional[Mapping[str, Any]] + histogram_buckets_as_distributions: Optional[bool] + hostname_format: Optional[str] + hostname_label: Optional[str] + ignore_connection_errors: Optional[bool] + ignore_tags: Optional[Sequence[str]] + include_labels: Optional[Sequence[str]] + kerberos_auth: Optional[str] + kerberos_cache: Optional[str] + kerberos_delegate: Optional[bool] + kerberos_force_initiate: Optional[bool] + kerberos_hostname: Optional[str] + kerberos_keytab: Optional[str] + kerberos_principal: Optional[str] + log_requests: Optional[bool] + metric_patterns: Optional[MetricPatterns] + metrics: Optional[Sequence[Union[str, Mapping[str, Union[str, Metric]]]]] + min_collection_interval: Optional[float] + namespace: Optional[str] = Field(None, regex='\\w*') + non_cumulative_histogram_buckets: Optional[bool] + ntlm_domain: Optional[str] + openmetrics_endpoint: str + password: Optional[str] + persist_connections: Optional[bool] + proxy: Optional[Proxy] + raw_line_filters: Optional[Sequence[str]] + raw_metric_prefix: Optional[str] + read_timeout: Optional[float] + rename_labels: Optional[Mapping[str, Any]] + request_size: Optional[float] + service: Optional[str] + share_labels: Optional[Mapping[str, Union[bool, ShareLabel]]] + skip_proxy: Optional[bool] + tag_by_endpoint: Optional[bool] + tags: Optional[Sequence[str]] + telemetry: Optional[bool] + timeout: Optional[float] + tls_ca_cert: Optional[str] + tls_cert: Optional[str] + tls_ignore_warning: Optional[bool] + tls_private_key: Optional[str] + tls_protocols_allowed: Optional[Sequence[str]] + tls_use_host_header: Optional[bool] + tls_verify: Optional[bool] + use_latest_spec: Optional[bool] + use_legacy_auth_encoding: Optional[bool] + use_process_start_time: Optional[bool] + username: Optional[str] + + @root_validator(pre=True) + def _initial_validation(cls, values): + return validation.core.initialize_config(getattr(validators, 'initialize_instance', identity)(values)) + + @validator('*', pre=True, always=True) + def _ensure_defaults(cls, v, field): + if v is not None or field.required: + return v + + return getattr(defaults, f'instance_{field.name}')(field, v) + + @validator('*') + def _run_validations(cls, v, field): + if not v: + return v + + return getattr(validators, f'instance_{field.name}', identity)(v, field=field) + + @root_validator(pre=False) + def _final_validation(cls, values): + return validation.core.finalize_config(getattr(validators, 'finalize_instance', identity)(values)) diff --git a/dcgm/datadog_checks/dcgm/config_models/shared.py b/dcgm/datadog_checks/dcgm/config_models/shared.py new file mode 100644 index 0000000000000..5bf22be279a60 --- /dev/null +++ b/dcgm/datadog_checks/dcgm/config_models/shared.py @@ -0,0 +1,60 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +# This file is autogenerated. +# To change this file you should edit assets/configuration/spec.yaml and then run the following commands: +# ddev -x validate config -s +# ddev -x validate models -s + +from __future__ import annotations + +from typing import Optional, Sequence + +from pydantic import BaseModel, root_validator, validator + +from datadog_checks.base.utils.functions import identity +from datadog_checks.base.utils.models import validation + +from . import defaults, validators + + +class Proxy(BaseModel): + class Config: + allow_mutation = False + + http: Optional[str] + https: Optional[str] + no_proxy: Optional[Sequence[str]] + + +class SharedConfig(BaseModel): + class Config: + allow_mutation = False + + proxy: Optional[Proxy] + service: Optional[str] + skip_proxy: Optional[bool] + timeout: Optional[float] + + @root_validator(pre=True) + def _initial_validation(cls, values): + return validation.core.initialize_config(getattr(validators, 'initialize_shared', identity)(values)) + + @validator('*', pre=True, always=True) + def _ensure_defaults(cls, v, field): + if v is not None or field.required: + return v + + return getattr(defaults, f'shared_{field.name}')(field, v) + + @validator('*') + def _run_validations(cls, v, field): + if not v: + return v + + return getattr(validators, f'shared_{field.name}', identity)(v, field=field) + + @root_validator(pre=False) + def _final_validation(cls, values): + return validation.core.finalize_config(getattr(validators, 'finalize_shared', identity)(values)) diff --git a/dcgm/datadog_checks/dcgm/config_models/validators.py b/dcgm/datadog_checks/dcgm/config_models/validators.py new file mode 100644 index 0000000000000..b799bc7cf3264 --- /dev/null +++ b/dcgm/datadog_checks/dcgm/config_models/validators.py @@ -0,0 +1,13 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +# Here you can include additional config validators or transformers +# +# def initialize_instance(values, **kwargs): +# if 'my_option' not in values and 'my_legacy_option' in values: +# values['my_option'] = values['my_legacy_option'] +# if values.get('my_number') > 10: +# raise ValueError('my_number max value is 10, got %s' % str(values.get('my_number'))) +# +# return values diff --git a/dcgm/datadog_checks/dcgm/data/conf.yaml.example b/dcgm/datadog_checks/dcgm/data/conf.yaml.example new file mode 100644 index 0000000000000..80368dd1c45a4 --- /dev/null +++ b/dcgm/datadog_checks/dcgm/data/conf.yaml.example @@ -0,0 +1,620 @@ +## All options defined here are available to all instances. +# +init_config: + + ## @param proxy - mapping - optional + ## Set HTTP or HTTPS proxies for all instances. Use the `no_proxy` list + ## to specify hosts that must bypass proxies. + ## + ## The SOCKS protocol is also supported like so: + ## + ## socks5://user:pass@host:port + ## + ## Using the scheme `socks5` causes the DNS resolution to happen on the + ## client, rather than on the proxy server. This is in line with `curl`, + ## which uses the scheme to decide whether to do the DNS resolution on + ## the client or proxy. If you want to resolve the domains on the proxy + ## server, use `socks5h` as the scheme. + # + # proxy: + # http: http://: + # https: https://: + # no_proxy: + # - + # - + + ## @param skip_proxy - boolean - optional - default: false + ## If set to `true`, this makes the check bypass any proxy + ## settings enabled and attempt to reach services directly. + # + # skip_proxy: false + + ## @param timeout - number - optional - default: 10 + ## The timeout for connecting to services. + # + # timeout: 10 + + ## @param service - string - optional + ## Attach the tag `service:` to every metric, event, and service check emitted by this integration. + ## + ## Additionally, this sets the default `service` for every log source. + # + # service: + +## Every instance is scheduled independently of the others. +# +instances: + + ## @param openmetrics_endpoint - string - required + ## Set this to the port of the dcgm-exporter exposing the metrics in the OpenMetrics format. + # + - openmetrics_endpoint: http://localhost:9400/metrics + + ## @param raw_metric_prefix - string - optional + ## A prefix that is removed from all exposed metric names, if present. + ## All configuration options will use the prefix-less name. + # + # raw_metric_prefix: _ + + ## @param extra_metrics - (list of string or mapping) - optional + ## This list defines metrics to collect from the `openmetrics_endpoint`, in addition to + ## what the check collects by default. If the check already collects a metric, then + ## metric definitions here take precedence. Metrics may be defined in 3 ways: + ## + ## 1. If the item is a string, then it represents the exposed metric name, and + ## the sent metric name will be identical. For example: + ## + ## extra_metrics: + ## - + ## - + ## 2. If the item is a mapping, then the keys represent the exposed metric names. + ## + ## a. If a value is a string, then it represents the sent metric name. For example: + ## + ## extra_metrics: + ## - : + ## - : + ## b. If a value is a mapping, then it must have a `name` and/or `type` key. + ## The `name` represents the sent metric name, and the `type` represents how + ## the metric should be handled, overriding any type information the endpoint + ## may provide. For example: + ## + ## extra_metrics: + ## - : + ## name: + ## type: + ## - : + ## name: + ## type: + ## + ## The supported native types are `gauge`, `counter`, `histogram`, and `summary`. + ## + ## Note: To collect counter metrics with names ending in `_total`, specify the metric name without the `_total` + ## suffix. For example, to collect the counter metric `promhttp_metric_handler_requests_total`, specify + ## `promhttp_metric_handler_requests`. This submits to Datadog the metric name appended with `.count`. + ## For more information, see: + ## https://github.com/OpenObservability/OpenMetrics/blob/main/specification/OpenMetrics.md#suffixes + ## + ## Regular expressions may be used to match the exposed metric names, for example: + ## + ## extra_metrics: + ## - ^network_(ingress|egress)_.+ + ## - .+: + ## type: gauge + # + # extra_metrics: [] + + ## @param exclude_metrics - list of strings - optional + ## A list of metrics to exclude, with each entry being either + ## the exact metric name or a regular expression. + ## In order to exclude all metrics but the ones matching a specific filter, + ## you can use a negative lookahead regex like: + ## - ^(?!foo).*$ + # + # exclude_metrics: [] + + ## @param exclude_metrics_by_labels - mapping - optional + ## A mapping of labels to exclude metrics with matching label name and their corresponding metric values. To match + ## all values of a label, set it to `true`. + ## + ## Note: Label filtering happens before `rename_labels`. + ## + ## For example, the following configuration instructs the check to exclude all metrics with + ## a label `worker` or a label `pid` with the value of either `23` or `42`. + ## + ## exclude_metrics_by_labels: + ## worker: true + ## pid: + ## - '23' + ## - '42' + # + # exclude_metrics_by_labels: {} + + ## @param exclude_labels - list of strings - optional + ## A list of labels to exclude, useful for high cardinality values like timestamps or UUIDs. + ## May be used in conjunction with `include_labels`. + ## Labels defined in `exclude_labels` will take precedence in case of overlap. + ## + ## Note: Label filtering happens before `rename_labels`. + # + # exclude_labels: [] + + ## @param include_labels - list of strings - optional + ## A list of labels to include. May be used in conjunction with `exclude_labels`. + ## Labels defined in `exclude_labels` will take precedence in case of overlap. + ## + ## Note: Label filtering happens before `rename_labels`. + # + # include_labels: [] + + ## @param rename_labels - mapping - optional + ## A mapping of label names to their new names. + # + # rename_labels: + # : + # : + + ## @param enable_health_service_check - boolean - optional - default: true + ## Whether or not to send a service check named `.openmetrics.health` which reports + ## the health of the `openmetrics_endpoint`. + # + # enable_health_service_check: true + + ## @param ignore_connection_errors - boolean - optional - default: false + ## Whether or not to ignore connection errors when scraping `openmetrics_endpoint`. + # + # ignore_connection_errors: false + + ## @param hostname_label - string - optional + ## Override the hostname for every metric submission with the value of one of its labels. + # + # hostname_label: + + ## @param hostname_format - string - optional + ## When `hostname_label` is set, this instructs the check how to format the values. The string + ## `` is replaced by the value of the label defined by `hostname_label`. + # + # hostname_format: + + ## @param collect_histogram_buckets - boolean - optional - default: true + ## Whether or not to send histogram buckets. + # + # collect_histogram_buckets: true + + ## @param non_cumulative_histogram_buckets - boolean - optional - default: false + ## Whether or not histogram buckets are non-cumulative and to come with a `lower_bound` tag. + # + # non_cumulative_histogram_buckets: false + + ## @param histogram_buckets_as_distributions - boolean - optional - default: false + ## Whether or not to send histogram buckets as Datadog distribution metrics. This implicitly + ## enables the `collect_histogram_buckets` and `non_cumulative_histogram_buckets` options. + ## + ## Learn more about distribution metrics: + ## https://docs.datadoghq.com/developers/metrics/types/?tab=distribution#metric-types + # + # histogram_buckets_as_distributions: false + + ## @param collect_counters_with_distributions - boolean - optional - default: false + ## Whether or not to also collect the observation counter metrics ending in `.sum` and `.count` + ## when sending histogram buckets as Datadog distribution metrics. This implicitly enables the + ## `histogram_buckets_as_distributions` option. + # + # collect_counters_with_distributions: false + + ## @param use_process_start_time - boolean - optional - default: false + ## Whether to enable a heuristic for reporting counter values on the first scrape. When true, + ## the first time an endpoint is scraped, check `process_start_time_seconds` to decide whether zero + ## initial value can be assumed for counters. This requires keeping metrics in memory until the entire + ## response is received. + # + # use_process_start_time: false + + ## @param share_labels - mapping - optional + ## This mapping allows for the sharing of labels across multiple metrics. The keys represent the + ## exposed metrics from which to share labels, and the values are mappings that configure the + ## sharing behavior. Each mapping must have at least one of the following keys: + ## + ## labels - This is a list of labels to share. All labels are shared if this is not set. + ## match - This is a list of labels to match on other metrics as a condition for sharing. + ## values - This is a list of allowed values as a condition for sharing. + ## + ## To unconditionally share all labels of a metric, set it to `true`. + ## + ## For example, the following configuration instructs the check to apply all labels from `metric_a` + ## to all other metrics, the `node` label from `metric_b` to only those metrics that have a `pod` + ## label value that matches the `pod` label value of `metric_b`, and all labels from `metric_c` + ## to all other metrics if their value is equal to `23` or `42`. + ## + ## share_labels: + ## metric_a: true + ## metric_b: + ## labels: + ## - node + ## match: + ## - pod + ## metric_c: + ## values: + ## - 23 + ## - 42 + # + # share_labels: {} + + ## @param cache_shared_labels - boolean - optional - default: true + ## When `share_labels` is set, it instructs the check to cache labels collected from the first payload + ## for improved performance. + ## + ## Set this to `false` to compute label sharing for every payload at the risk of potentially increased memory usage. + # + # cache_shared_labels: true + + ## @param raw_line_filters - list of strings - optional + ## A list of regular expressions used to exclude lines read from the `openmetrics_endpoint` + ## from being parsed. + # + # raw_line_filters: [] + + ## @param cache_metric_wildcards - boolean - optional - default: true + ## Whether or not to cache data from metrics that are defined by regular expressions rather + ## than the full metric name. + # + # cache_metric_wildcards: true + + ## @param telemetry - boolean - optional - default: false + ## Whether or not to submit metrics prefixed by `.telemetry.` for debugging purposes. + # + # telemetry: false + + ## @param ignore_tags - list of strings - optional + ## A list of regular expressions used to ignore tags added by Autodiscovery and entries in the `tags` option. + # + # ignore_tags: + # - + # - + # - + + ## @param proxy - mapping - optional + ## This overrides the `proxy` setting in `init_config`. + ## + ## Set HTTP or HTTPS proxies for this instance. Use the `no_proxy` list + ## to specify hosts that must bypass proxies. + ## + ## The SOCKS protocol is also supported, for example: + ## + ## socks5://user:pass@host:port + ## + ## Using the scheme `socks5` causes the DNS resolution to happen on the + ## client, rather than on the proxy server. This is in line with `curl`, + ## which uses the scheme to decide whether to do the DNS resolution on + ## the client or proxy. If you want to resolve the domains on the proxy + ## server, use `socks5h` as the scheme. + # + # proxy: + # http: http://: + # https: https://: + # no_proxy: + # - + # - + + ## @param skip_proxy - boolean - optional - default: false + ## This overrides the `skip_proxy` setting in `init_config`. + ## + ## If set to `true`, this makes the check bypass any proxy + ## settings enabled and attempt to reach services directly. + # + # skip_proxy: false + + ## @param auth_type - string - optional - default: basic + ## The type of authentication to use. The available types (and related options) are: + ## + ## - basic + ## |__ username + ## |__ password + ## |__ use_legacy_auth_encoding + ## - digest + ## |__ username + ## |__ password + ## - ntlm + ## |__ ntlm_domain + ## |__ password + ## - kerberos + ## |__ kerberos_auth + ## |__ kerberos_cache + ## |__ kerberos_delegate + ## |__ kerberos_force_initiate + ## |__ kerberos_hostname + ## |__ kerberos_keytab + ## |__ kerberos_principal + ## - aws + ## |__ aws_region + ## |__ aws_host + ## |__ aws_service + ## + ## The `aws` auth type relies on boto3 to automatically gather AWS credentials, for example: from `.aws/credentials`. + ## Details: https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html#configuring-credentials + # + # auth_type: basic + + ## @param use_legacy_auth_encoding - boolean - optional - default: true + ## When `auth_type` is set to `basic`, this determines whether to encode as `latin1` rather than `utf-8`. + # + # use_legacy_auth_encoding: true + + ## @param username - string - optional + ## The username to use if services are behind basic or digest auth. + # + # username: + + ## @param password - string - optional + ## The password to use if services are behind basic or NTLM auth. + # + # password: + + ## @param ntlm_domain - string - optional + ## If your services use NTLM authentication, specify + ## the domain used in the check. For NTLM Auth, append + ## the username to domain, not as the `username` parameter. + # + # ntlm_domain: \ + + ## @param kerberos_auth - string - optional - default: disabled + ## If your services use Kerberos authentication, you can specify the Kerberos + ## strategy to use between: + ## + ## - required + ## - optional + ## - disabled + ## + ## See https://github.com/requests/requests-kerberos#mutual-authentication + # + # kerberos_auth: disabled + + ## @param kerberos_cache - string - optional + ## Sets the KRB5CCNAME environment variable. + ## It should point to a credential cache with a valid TGT. + # + # kerberos_cache: + + ## @param kerberos_delegate - boolean - optional - default: false + ## Set to `true` to enable Kerberos delegation of credentials to a server that requests delegation. + ## + ## See https://github.com/requests/requests-kerberos#delegation + # + # kerberos_delegate: false + + ## @param kerberos_force_initiate - boolean - optional - default: false + ## Set to `true` to preemptively initiate the Kerberos GSS exchange and + ## present a Kerberos ticket on the initial request (and all subsequent). + ## + ## See https://github.com/requests/requests-kerberos#preemptive-authentication + # + # kerberos_force_initiate: false + + ## @param kerberos_hostname - string - optional + ## Override the hostname used for the Kerberos GSS exchange if its DNS name doesn't + ## match its Kerberos hostname, for example: behind a content switch or load balancer. + ## + ## See https://github.com/requests/requests-kerberos#hostname-override + # + # kerberos_hostname: + + ## @param kerberos_principal - string - optional + ## Set an explicit principal, to force Kerberos to look for a + ## matching credential cache for the named user. + ## + ## See https://github.com/requests/requests-kerberos#explicit-principal + # + # kerberos_principal: + + ## @param kerberos_keytab - string - optional + ## Set the path to your Kerberos key tab file. + # + # kerberos_keytab: + + ## @param auth_token - mapping - optional + ## This allows for the use of authentication information from dynamic sources. + ## Both a reader and writer must be configured. + ## + ## The available readers are: + ## + ## - type: file + ## path (required): The absolute path for the file to read from. + ## pattern: A regular expression pattern with a single capture group used to find the + ## token rather than using the entire file, for example: Your secret is (.+) + ## - type: oauth + ## url (required): The token endpoint. + ## client_id (required): The client identifier. + ## client_secret (required): The client secret. + ## basic_auth: Whether the provider expects credentials to be transmitted in + ## an HTTP Basic Auth header. The default is: false + ## + ## The available writers are: + ## + ## - type: header + ## name (required): The name of the field, for example: Authorization + ## value: The template value, for example `Bearer `. The default is: + ## placeholder: The substring in `value` to replace with the token, defaults to: + # + # auth_token: + # reader: + # type: + # : + # : + # writer: + # type: + # : + # : + + ## @param aws_region - string - optional + ## If your services require AWS Signature Version 4 signing, set the region. + ## + ## See https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html + # + # aws_region: + + ## @param aws_host - string - optional + ## If your services require AWS Signature Version 4 signing, set the host. + ## This only needs the hostname and does not require the protocol (HTTP, HTTPS, and more). + ## For example, if connecting to https://us-east-1.amazonaws.com/, set `aws_host` to `us-east-1.amazonaws.com`. + ## + ## Note: This setting is not necessary for official integrations. + ## + ## See https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html + # + # aws_host: + + ## @param aws_service - string - optional + ## If your services require AWS Signature Version 4 signing, set the service code. For a list + ## of available service codes, see https://docs.aws.amazon.com/general/latest/gr/rande.html + ## + ## Note: This setting is not necessary for official integrations. + ## + ## See https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html + # + # aws_service: + + ## @param tls_verify - boolean - optional - default: true + ## Instructs the check to validate the TLS certificate of services. + # + # tls_verify: true + + ## @param tls_use_host_header - boolean - optional - default: false + ## If a `Host` header is set, this enables its use for SNI (matching against the TLS certificate CN or SAN). + # + # tls_use_host_header: false + + ## @param tls_ignore_warning - boolean - optional - default: false + ## If `tls_verify` is disabled, security warnings are logged by the check. + ## Disable those by setting `tls_ignore_warning` to true. + # + # tls_ignore_warning: false + + ## @param tls_cert - string - optional + ## The path to a single file in PEM format containing a certificate as well as any + ## number of CA certificates needed to establish the certificate's authenticity for + ## use when connecting to services. It may also contain an unencrypted private key to use. + # + # tls_cert: + + ## @param tls_private_key - string - optional + ## The unencrypted private key to use for `tls_cert` when connecting to services. This is + ## required if `tls_cert` is set and it does not already contain a private key. + # + # tls_private_key: + + ## @param tls_ca_cert - string - optional + ## The path to a file of concatenated CA certificates in PEM format or a directory + ## containing several CA certificates in PEM format. If a directory, the directory + ## must have been processed using the c_rehash utility supplied with OpenSSL. See: + ## https://www.openssl.org/docs/manmaster/man3/SSL_CTX_load_verify_locations.html + # + # tls_ca_cert: + + ## @param tls_protocols_allowed - list of strings - optional + ## The expected versions of TLS/SSL when fetching intermediate certificates. + ## Only `SSLv3`, `TLSv1.2`, `TLSv1.3` are allowed by default. The possible values are: + ## SSLv3 + ## TLSv1 + ## TLSv1.1 + ## TLSv1.2 + ## TLSv1.3 + # + # tls_protocols_allowed: + # - SSLv3 + # - TLSv1.2 + # - TLSv1.3 + + ## @param headers - mapping - optional + ## The headers parameter allows you to send specific headers with every request. + ## You can use it for explicitly specifying the host header or adding headers for + ## authorization purposes. + ## + ## This overrides any default headers. + # + # headers: + # Host: + # X-Auth-Token: + + ## @param extra_headers - mapping - optional + ## Additional headers to send with every request. + # + # extra_headers: + # Host: + # X-Auth-Token: + + ## @param timeout - number - optional - default: 10 + ## The timeout for accessing services. + ## + ## This overrides the `timeout` setting in `init_config`. + # + # timeout: 10 + + ## @param connect_timeout - number - optional + ## The connect timeout for accessing services. Defaults to `timeout`. + # + # connect_timeout: + + ## @param read_timeout - number - optional + ## The read timeout for accessing services. Defaults to `timeout`. + # + # read_timeout: + + ## @param request_size - number - optional - default: 16 + ## The number of kibibytes (KiB) to read from streaming HTTP responses at a time. + # + # request_size: 16 + + ## @param log_requests - boolean - optional - default: false + ## Whether or not to debug log the HTTP(S) requests made, including the method and URL. + # + # log_requests: false + + ## @param persist_connections - boolean - optional - default: false + ## Whether or not to persist cookies and use connection pooling for improved performance. + # + # persist_connections: false + + ## @param allow_redirects - boolean - optional - default: true + ## Whether or not to allow URL redirection. + # + # allow_redirects: true + + ## @param tags - list of strings - optional + ## A list of tags to attach to every metric and service check emitted by this instance. + ## + ## Learn more about tagging at https://docs.datadoghq.com/tagging + # + # tags: + # - : + # - : + + ## @param service - string - optional + ## Attach the tag `service:` to every metric, event, and service check emitted by this integration. + ## + ## Overrides any `service` defined in the `init_config` section. + # + # service: + + ## @param min_collection_interval - number - optional - default: 15 + ## This changes the collection interval of the check. For more information, see: + ## https://docs.datadoghq.com/developers/write_agent_check/#collection-interval + # + # min_collection_interval: 15 + + ## @param empty_default_hostname - boolean - optional - default: false + ## This forces the check to send metrics with no hostname. + ## + ## This is useful for cluster-level checks. + # + # empty_default_hostname: false + + ## @param metric_patterns - mapping - optional + ## A mapping of metrics to include or exclude, with each entry being a regular expression. + ## + ## Metrics defined in `exclude` will take precedence in case of overlap. + # + # metric_patterns: + # include: + # - + # exclude: + # - diff --git a/dcgm/datadog_checks/dcgm/metrics.py b/dcgm/datadog_checks/dcgm/metrics.py new file mode 100644 index 0000000000000..29650a00382b4 --- /dev/null +++ b/dcgm/datadog_checks/dcgm/metrics.py @@ -0,0 +1,41 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +METRIC_MAP = { + # Exposed OM Metrics to map: + 'DCGM_FI_DEV_DEC_UTIL': 'dec_utilization', + 'DCGM_FI_DEV_ENC_UTIL': 'enc_utilization', + 'DCGM_FI_DEV_FB_FREE': 'frame_buffer.free', + 'DCGM_FI_DEV_FB_USED': 'frame_buffer.used', + 'DCGM_FI_DEV_GPU_TEMP': 'temperature', + 'DCGM_FI_DEV_GPU_UTIL': 'gpu_utilization', + 'DCGM_FI_DEV_NVLINK_BANDWIDTH_TOTAL': 'nvlink_bandwidth', + 'DCGM_FI_DEV_PCIE_REPLAY_COUNTER': 'pcie_replay', # becomes pcie_replay.count + 'DCGM_FI_DEV_POWER_USAGE': 'power_usage', + 'DCGM_FI_DEV_SM_CLOCK': 'sm_clock', + 'DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION': 'total_energy_consumption', + 'DCGM_FI_DEV_VGPU_LICENSE_STATUS': 'vgpu_license_status', + 'DCGM_FI_DEV_XID_ERRORS': 'xid_errors', + # Metrics related to memory get grouped together because there are more of them available. + 'DCGM_FI_DEV_MEM_CLOCK': 'mem.clock', + 'DCGM_FI_DEV_MEM_COPY_UTIL': 'mem.copy_utilization', + 'DCGM_FI_DEV_MEMORY_TEMP': 'mem.temperature', + # NVML Specific Missing Metrics (5) + 'DCGM_FI_DEV_COUNT': 'device', # becomes device.count + 'DCGM_FI_DEV_FAN_SPEED': 'fan_speed', + 'DCGM_FI_PROF_PCIE_RX_BYTES': 'pcie_rx_throughput', + 'DCGM_FI_PROF_PCIE_TX_BYTES': 'pcie_tx_throughput', + # Others from default-counters.csv + 'DCGM_FI_DEV_CORRECTABLE_REMAPPED_ROWS': 'correctable_remapped_rows', + 'DCGM_FI_DEV_ROW_REMAP_FAILURE': 'row_remap_failure', + 'DCGM_FI_DEV_UNCORRECTABLE_REMAPPED_ROWS': 'uncorrectable_remapped_rows', + # Metrics recommended by NVIDIA + 'DCGM_FI_DEV_CLOCK_THROTTLE_REASONS': 'clock_throttle_reasons', + 'DCGM_FI_DEV_FB_RESERVED': 'frame_buffer.reserved', + 'DCGM_FI_DEV_FB_TOTAL': 'frame_buffer.total', + 'DCGM_FI_DEV_FB_USED_PERCENT': 'frame_buffer.used_percent', + 'DCGM_FI_DEV_POWER_MGMT_LIMIT': 'power_management_limit', + 'DCGM_FI_DEV_PSTATE': 'pstate', + 'DCGM_FI_DEV_SLOWDOWN_TEMP': 'slowdown_temperature', +} diff --git a/dcgm/hatch.toml b/dcgm/hatch.toml new file mode 100644 index 0000000000000..21166e244c6da --- /dev/null +++ b/dcgm/hatch.toml @@ -0,0 +1,4 @@ +[env.collectors.datadog-checks] + +[[envs.default.matrix]] +python = ["3.9"] diff --git a/dcgm/manifest.json b/dcgm/manifest.json new file mode 100644 index 0000000000000..8f03b815fc28a --- /dev/null +++ b/dcgm/manifest.json @@ -0,0 +1,54 @@ +{ + "manifest_version": "2.0.0", + "app_uuid": "7e03132a-939d-4bae-8114-dfcdf9056646", + "app_id": "dcgm", + "display_on_public_website": false, + "tile": { + "overview": "README.md#Overview", + "configuration": "README.md#Setup", + "support": "README.md#Support", + "changelog": "CHANGELOG.md", + "description": "Monitors the exposed GPU metrics leveraged by the DCGM Exporter", + "title": "DCGM", + "media": [], + "classifier_tags": [ + "Supported OS::Linux", + "Supported OS::Windows", + "Supported OS::macOS" + ] + }, + "assets": { + "integration": { + "source_type_name": "dcgm", + "configuration": { + "spec": "assets/configuration/spec.yaml" + }, + "events": { + "creates_events": false + }, + "metrics": { + "prefix": "dcgm.", + "check": "dcgm.temperature", + "metadata_path": "metadata.csv" + }, + "service_checks": { + "metadata_path": "assets/service_checks.json" + } + }, + "dashboards": { + "dcgm": "assets/dashboards/dcgm_overview.json" + }, + "monitors": { + "gpu_temperature": "assets/monitors/gpu_temperature.json", + "memory_usage": "assets/monitors/memory_usage.json", + "xid_errors": "assets/monitors/xid_errors.json" + } + }, + "author": { + "support_email": "help@datadoghq.com", + "name": "Datadog", + "homepage": "https://www.datadoghq.com", + "sales_email": "info@datadoghq.com" + }, + "oauth": {} +} diff --git a/dcgm/metadata.csv b/dcgm/metadata.csv new file mode 100644 index 0000000000000..d1f3e72ed7ae7 --- /dev/null +++ b/dcgm/metadata.csv @@ -0,0 +1,31 @@ +metric_name,metric_type,interval,unit_name,per_unit_name,description,orientation,integration,short_name,curated_metric +dcgm.clock_throttle_reasons,gauge,,,,Current clock throttle reasons (bitmask of DCGM_CLOCKS_THROTTLE_REASON_*),0,dcgm,, +dcgm.correctable_remapped_rows.count,count,,row,,Number of remapped rows for correctable errors.,0,dcgm,, +dcgm.dec_utilization,gauge,,percent,,Decoder utilization (in %).,0,dcgm,, +dcgm.device.count,count,,device,,Number of Devices on the node.,0,dcgm,, +dcgm.enc_utilization,gauge,,percent,,Encoder utilization (in %).,0,dcgm,, +dcgm.fan_speed,gauge,,percent,,Fan speed for the device in percent 0-100.,0,dcgm,, +dcgm.frame_buffer.free,gauge,,megabyte,,Free Frame Buffer in MB.,0,dcgm,, +dcgm.frame_buffer.reserved,gauge,,megabyte,,Reserved Frame Buffer in MB.,0,dcgm,, +dcgm.frame_buffer.total,gauge,,megabyte,,Total Frame Buffer of the GPU in MB.,0,dcgm,, +dcgm.frame_buffer.used,gauge,,megabyte,,Used Frame Buffer in MB.,0,dcgm,, +dcgm.frame_buffer.used_percent,gauge,,,,Percentage used of Frame Buffer: Used/(Total - Reserved). Range 0.0-1.0,0,dcgm,, +dcgm.gpu_utilization,gauge,,percent,,GPU utilization (in %).,0,dcgm,, +dcgm.mem.clock,gauge,,megahertz,,Memory clock frequency (in MHz).,0,dcgm,, +dcgm.mem.copy_utilization,gauge,,percent,,Memory utilization (in %).,0,dcgm,, +dcgm.mem.temperature,gauge,,degree celsius,,Memory temperature (in C).,0,dcgm,, +dcgm.nvlink_bandwidth.count,count,,,,Total number of NVLink bandwidth counters for all lanes,0,dcgm,, +dcgm.pcie_replay.count,count,,,,Total number of PCIe retries.,0,dcgm,, +dcgm.pcie_rx_throughput.count,count,,,,PCIe Rx utilization information.,0,dcgm,, +dcgm.pcie_tx_throughput.count,count,,,,PCIe Tx utilization information.,0,dcgm,, +dcgm.power_management_limit,gauge,,watt,,Current power limit for the device.,0,dcgm,, +dcgm.power_usage,gauge,,watt,,Power draw (in W).,0,dcgm,, +dcgm.pstate,gauge,,,,Performance state (P-State) 0-15. 0=highest,0,dcgm,, +dcgm.row_remap_failure,gauge,,,,Whether remapping of rows has failed.,0,dcgm,, +dcgm.slowdown_temperature,gauge,,degree celsius,,Slowdown temperature for the device.,0,dcgm,, +dcgm.sm_clock,gauge,,megahertz,,SM clock frequency (in MHz).,0,dcgm,, +dcgm.temperature,gauge,,degree celsius,,GPU temperature (in C).,0,dcgm,, +dcgm.total_energy_consumption.count,count,,,,Total energy consumption since boot (in mJ).,0,dcgm,, +dcgm.uncorrectable_remapped_rows.count,count,,row,,Number of remapped rows for uncorrectable errors.,0,dcgm,, +dcgm.vgpu_license_status,gauge,,,,vGPU License status,0,dcgm,, +dcgm.xid_errors,gauge,,,,Value of the last XID error encountered.,0,dcgm,, diff --git a/dcgm/pyproject.toml b/dcgm/pyproject.toml new file mode 100644 index 0000000000000..6d53ae191589e --- /dev/null +++ b/dcgm/pyproject.toml @@ -0,0 +1,61 @@ +[build-system] +requires = [ + "hatchling>=0.13.0", + "setuptools>=66; python_version > '3.0'", +] +build-backend = "hatchling.build" + +[project] +name = "datadog-dcgm" +description = "The dcgm-exporter check" +readme = "README.md" +license = "BSD-3-Clause" +requires-python = ">=3.9" +keywords = [ + "datadog", + "datadog agent", + "datadog check", + "dcgm", +] +authors = [ + { name = "Datadog", email = "packages@datadoghq.com" }, +] +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "License :: OSI Approved :: BSD License", + "Private :: Do Not Upload", + "Programming Language :: Python :: 3.9", + "Topic :: System :: Monitoring", +] +dependencies = [ + "datadog-checks-base>=32.0.0", +] +dynamic = [ + "version", +] + +[project.optional-dependencies] +deps = [] + +[project.urls] +Source = "https://github.com/DataDog/integrations-core" + +[tool.hatch.version] +path = "datadog_checks/dcgm/__about__.py" + +[tool.hatch.build.targets.sdist] +include = [ + "/datadog_checks", + "/tests", + "/manifest.json", +] + +[tool.hatch.build.targets.wheel] +include = [ + "/datadog_checks/dcgm", +] +dev-mode-dirs = [ + ".", +] diff --git a/dcgm/tests/__init__.py b/dcgm/tests/__init__.py new file mode 100644 index 0000000000000..e0cc3d0a7662c --- /dev/null +++ b/dcgm/tests/__init__.py @@ -0,0 +1,3 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) diff --git a/dcgm/tests/common.py b/dcgm/tests/common.py new file mode 100755 index 0000000000000..3fdc0a752863d --- /dev/null +++ b/dcgm/tests/common.py @@ -0,0 +1,48 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +import os + +from datadog_checks.dev import get_docker_hostname, get_here + +HOST = get_docker_hostname() +INSTANCE = { + "openmetrics_endpoint": f"http://{HOST}:9400/metrics", +} + +HERE = get_here() +COMPOSE_FILE = os.path.join(HERE, 'docker', 'docker-compose.yaml') + +EXPECTED_METRICS = [ + 'clock_throttle_reasons', + 'correctable_remapped_rows.count', + 'dec_utilization', + 'device.count', + 'enc_utilization', + 'fan_speed', + 'frame_buffer.free', + 'frame_buffer.reserved', + 'frame_buffer.total', + 'frame_buffer.used', + 'frame_buffer.used_percent', + 'gpu_utilization', + 'mem.clock', + 'mem.copy_utilization', + 'mem.temperature', + 'nvlink_bandwidth.count', + 'pcie_replay.count', + 'pcie_rx_throughput.count', + 'pcie_tx_throughput.count', + 'power_management_limit', + 'power_usage', + 'pstate', + 'row_remap_failure', + 'slowdown_temperature', + 'sm_clock', + 'temperature', + 'total_energy_consumption.count', + 'uncorrectable_remapped_rows.count', + 'vgpu_license_status', + 'xid_errors', +] diff --git a/dcgm/tests/conftest.py b/dcgm/tests/conftest.py new file mode 100644 index 0000000000000..a4c4e70c93239 --- /dev/null +++ b/dcgm/tests/conftest.py @@ -0,0 +1,54 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +import copy +import os +from unittest import mock + +import pytest + +from datadog_checks.dcgm import DcgmCheck +from datadog_checks.dev import docker_run +from datadog_checks.dev.conditions import CheckDockerLogs, CheckEndpoints + +from . import common + + +@pytest.fixture(scope='session') +def dd_environment(): + compose_file = common.COMPOSE_FILE + conditions = [ + CheckDockerLogs(identifier='caddy', patterns=['server running']), + CheckEndpoints(common.INSTANCE["openmetrics_endpoint"]), + ] + with docker_run(compose_file, conditions=conditions): + yield { + 'instances': [common.INSTANCE], + } + + +# For E2E and Unit testing: +@pytest.fixture +def instance(): + return copy.deepcopy(common.INSTANCE) + + +# For Unit Test: +@pytest.fixture +def check(instance): + return DcgmCheck('dcgm.', {}, [instance]) + + +@pytest.fixture() +def mock_metrics(): + f_name = os.path.join(os.path.dirname(__file__), 'fixtures', 'metrics.txt') + with open(f_name, 'r') as f: + text_data = f.read() + with mock.patch( + 'requests.get', + return_value=mock.MagicMock( + status_code=200, iter_lines=lambda **kwargs: text_data.split("\n"), headers={'Content-Type': "text/plain"} + ), + ): + yield diff --git a/dcgm/tests/docker/Caddyfile b/dcgm/tests/docker/Caddyfile new file mode 100755 index 0000000000000..5ee6a3da61ce1 --- /dev/null +++ b/dcgm/tests/docker/Caddyfile @@ -0,0 +1,4 @@ +:9400 { + root * /site + file_server +} \ No newline at end of file diff --git a/dcgm/tests/docker/docker-compose.yaml b/dcgm/tests/docker/docker-compose.yaml new file mode 100755 index 0000000000000..8a1be54a3188b --- /dev/null +++ b/dcgm/tests/docker/docker-compose.yaml @@ -0,0 +1,13 @@ +version: "3.9" + +services: + +# Caddy will create host a site with the metrics to exposes + caddy: + image: caddy:2.7 + container_name: caddy + ports: + - "9400:9400" + volumes: + - ./Caddyfile:/etc/caddy/Caddyfile + - ./serve:/site diff --git a/dcgm/tests/docker/serve/metrics b/dcgm/tests/docker/serve/metrics new file mode 100644 index 0000000000000..ec6d69b9bf769 --- /dev/null +++ b/dcgm/tests/docker/serve/metrics @@ -0,0 +1,92 @@ +# HELP DCGM_FI_DEV_SM_CLOCK SM clock frequency (in MHz). +# TYPE DCGM_FI_DEV_SM_CLOCK gauge +DCGM_FI_DEV_SM_CLOCK{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 300 +# HELP DCGM_FI_DEV_MEM_CLOCK Memory clock frequency (in MHz). +# TYPE DCGM_FI_DEV_MEM_CLOCK gauge +DCGM_FI_DEV_MEM_CLOCK{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 405 +# HELP DCGM_FI_DEV_GPU_TEMP GPU temperature (in C). +# TYPE DCGM_FI_DEV_GPU_TEMP gauge +DCGM_FI_DEV_GPU_TEMP{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 25 +# HELP DCGM_FI_DEV_POWER_USAGE Power draw (in W). +# TYPE DCGM_FI_DEV_POWER_USAGE gauge +DCGM_FI_DEV_POWER_USAGE{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 8.969000 +# HELP DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION Total energy consumption since boot (in mJ). +# TYPE DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION counter +DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 128996013 +# HELP DCGM_FI_DEV_PCIE_REPLAY_COUNTER Total number of PCIe retries. +# TYPE DCGM_FI_DEV_PCIE_REPLAY_COUNTER counter +DCGM_FI_DEV_PCIE_REPLAY_COUNTER{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 0 +# HELP DCGM_FI_DEV_GPU_UTIL GPU utilization (in %). +# TYPE DCGM_FI_DEV_GPU_UTIL gauge +DCGM_FI_DEV_GPU_UTIL{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 0 +# HELP DCGM_FI_DEV_MEM_COPY_UTIL Memory utilization (in %). +# TYPE DCGM_FI_DEV_MEM_COPY_UTIL gauge +DCGM_FI_DEV_MEM_COPY_UTIL{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 0 +# HELP DCGM_FI_DEV_ENC_UTIL Encoder utilization (in %). +# TYPE DCGM_FI_DEV_ENC_UTIL gauge +DCGM_FI_DEV_ENC_UTIL{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 0 +# HELP DCGM_FI_DEV_DEC_UTIL Decoder utilization (in %). +# TYPE DCGM_FI_DEV_DEC_UTIL gauge +DCGM_FI_DEV_DEC_UTIL{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 0 +# HELP DCGM_FI_DEV_XID_ERRORS Value of the last XID error encountered. +# TYPE DCGM_FI_DEV_XID_ERRORS gauge +DCGM_FI_DEV_XID_ERRORS{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 0 +# HELP DCGM_FI_DEV_FB_FREE Framebuffer memory free (in MiB). +# TYPE DCGM_FI_DEV_FB_FREE gauge +DCGM_FI_DEV_FB_FREE{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 15109 +# HELP DCGM_FI_DEV_FB_USED Framebuffer memory used (in MiB). +# TYPE DCGM_FI_DEV_FB_USED gauge +DCGM_FI_DEV_FB_USED{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 0 +# HELP DCGM_FI_DEV_NVLINK_BANDWIDTH_TOTAL Total number of NVLink bandwidth counters for all lanes +# TYPE DCGM_FI_DEV_NVLINK_BANDWIDTH_TOTAL counter +DCGM_FI_DEV_NVLINK_BANDWIDTH_TOTAL{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 0 +# HELP DCGM_FI_DEV_VGPU_LICENSE_STATUS vGPU License status +# TYPE DCGM_FI_DEV_VGPU_LICENSE_STATUS gauge +DCGM_FI_DEV_VGPU_LICENSE_STATUS{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 0 +# HELP DCGM_FI_DEV_COUNT Number of Devices on the node. +# TYPE DCGM_FI_DEV_COUNT counter +DCGM_FI_DEV_COUNT{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 1 +# HELP DCGM_FI_DEV_SLOWDOWN_TEMP +# TYPE DCGM_FI_DEV_SLOWDOWN_TEMP gauge +DCGM_FI_DEV_SLOWDOWN_TEMP{gpu="0",UUID="GPU-9ef1b6d0-3643-5dd7-b823-c0ec20dcf2d5",device="nvidia0",modelName="Tesla T4",Hostname="551bdf382151",DCGM_FI_CUDA_DRIVER_VERSION="12010",DCGM_FI_DEV_BRAND="NVIDIA",DCGM_FI_DEV_MINOR_NUMBER="0",DCGM_FI_DEV_NAME="Tesla T4",DCGM_FI_DEV_SERIAL="1565220008176",DCGM_FI_DEV_VBIOS_VERSION="90.04.96.00.02",DCGM_FI_DRIVER_VERSION="470.182.03",DCGM_FI_NVML_VERSION="11.470.182.03"} 93 +# HELP DCGM_FI_DEV_POWER_MGMT_LIMIT +# TYPE DCGM_FI_DEV_POWER_MGMT_LIMIT gauge +DCGM_FI_DEV_POWER_MGMT_LIMIT{gpu="0",UUID="GPU-9ef1b6d0-3643-5dd7-b823-c0ec20dcf2d5",device="nvidia0",modelName="Tesla T4",Hostname="551bdf382151",DCGM_FI_CUDA_DRIVER_VERSION="12010",DCGM_FI_DEV_BRAND="NVIDIA",DCGM_FI_DEV_MINOR_NUMBER="0",DCGM_FI_DEV_NAME="Tesla T4",DCGM_FI_DEV_SERIAL="1565220008176",DCGM_FI_DEV_VBIOS_VERSION="90.04.96.00.02",DCGM_FI_DRIVER_VERSION="470.182.03",DCGM_FI_NVML_VERSION="11.470.182.03"} 70.000000 +# HELP DCGM_FI_DEV_PSTATE +# TYPE DCGM_FI_DEV_PSTATE gauge +DCGM_FI_DEV_PSTATE{gpu="0",UUID="GPU-9ef1b6d0-3643-5dd7-b823-c0ec20dcf2d5",device="nvidia0",modelName="Tesla T4",Hostname="551bdf382151",DCGM_FI_CUDA_DRIVER_VERSION="12010",DCGM_FI_DEV_BRAND="NVIDIA",DCGM_FI_DEV_MINOR_NUMBER="0",DCGM_FI_DEV_NAME="Tesla T4",DCGM_FI_DEV_SERIAL="1565220008176",DCGM_FI_DEV_VBIOS_VERSION="90.04.96.00.02",DCGM_FI_DRIVER_VERSION="470.182.03",DCGM_FI_NVML_VERSION="11.470.182.03"} 8 +# HELP DCGM_FI_DEV_FB_TOTAL +# TYPE DCGM_FI_DEV_FB_TOTAL gauge +DCGM_FI_DEV_FB_TOTAL{gpu="0",UUID="GPU-9ef1b6d0-3643-5dd7-b823-c0ec20dcf2d5",device="nvidia0",modelName="Tesla T4",Hostname="551bdf382151",DCGM_FI_CUDA_DRIVER_VERSION="12010",DCGM_FI_DEV_BRAND="NVIDIA",DCGM_FI_DEV_MINOR_NUMBER="0",DCGM_FI_DEV_NAME="Tesla T4",DCGM_FI_DEV_SERIAL="1565220008176",DCGM_FI_DEV_VBIOS_VERSION="90.04.96.00.02",DCGM_FI_DRIVER_VERSION="470.182.03",DCGM_FI_NVML_VERSION="11.470.182.03"} 15109 +# NOTE DCGM_FI_DEV_FB_RESERVED is copy/pasted from DCGM_FI_DEV_FB_TOTAL because we could not generate it in our sandbox environment. +# HELP DCGM_FI_DEV_FB_RESERVED +# TYPE DCGM_FI_DEV_FB_RESERVED gauge +DCGM_FI_DEV_FB_RESERVED{gpu="0",UUID="GPU-9ef1b6d0-3643-5dd7-b823-c0ec20dcf2d5",device="nvidia0",modelName="Tesla T4",Hostname="551bdf382151",DCGM_FI_CUDA_DRIVER_VERSION="12010",DCGM_FI_DEV_BRAND="NVIDIA",DCGM_FI_DEV_MINOR_NUMBER="0",DCGM_FI_DEV_NAME="Tesla T4",DCGM_FI_DEV_SERIAL="1565220008176",DCGM_FI_DEV_VBIOS_VERSION="90.04.96.00.02",DCGM_FI_DRIVER_VERSION="470.182.03",DCGM_FI_NVML_VERSION="11.470.182.03"} 15109 +# HELP DCGM_FI_DEV_FB_USED_PERCENT +# TYPE DCGM_FI_DEV_FB_USED_PERCENT gauge +DCGM_FI_DEV_FB_USED_PERCENT{gpu="0",UUID="GPU-9ef1b6d0-3643-5dd7-b823-c0ec20dcf2d5",device="nvidia0",modelName="Tesla T4",Hostname="551bdf382151",DCGM_FI_CUDA_DRIVER_VERSION="12010",DCGM_FI_DEV_BRAND="NVIDIA",DCGM_FI_DEV_MINOR_NUMBER="0",DCGM_FI_DEV_NAME="Tesla T4",DCGM_FI_DEV_SERIAL="1565220008176",DCGM_FI_DEV_VBIOS_VERSION="90.04.96.00.02",DCGM_FI_DRIVER_VERSION="470.182.03",DCGM_FI_NVML_VERSION="11.470.182.03"} 0.000008 +# HELP DCGM_FI_DEV_CLOCK_THROTTLE_REASONS +# TYPE DCGM_FI_DEV_CLOCK_THROTTLE_REASONS gauge +DCGM_FI_DEV_CLOCK_THROTTLE_REASONS{gpu="0",UUID="GPU-9ef1b6d0-3643-5dd7-b823-c0ec20dcf2d5",device="nvidia0",modelName="Tesla T4",Hostname="551bdf382151",DCGM_FI_CUDA_DRIVER_VERSION="12010",DCGM_FI_DEV_BRAND="NVIDIA",DCGM_FI_DEV_MINOR_NUMBER="0",DCGM_FI_DEV_NAME="Tesla T4",DCGM_FI_DEV_SERIAL="1565220008176",DCGM_FI_DEV_VBIOS_VERSION="90.04.96.00.02",DCGM_FI_DRIVER_VERSION="470.182.03",DCGM_FI_NVML_VERSION="11.470.182.03"} 1 +# NOTE The following metrics all have dummy values, we couldn't get real ones in our sandbox. +# HELP DCGM_FI_DEV_UNCORRECTABLE_REMAPPED_ROWS +# TYPE DCGM_FI_DEV_UNCORRECTABLE_REMAPPED_ROWS counter +DCGM_FI_DEV_UNCORRECTABLE_REMAPPED_ROWS 0 +# HELP DCGM_FI_DEV_FAN_SPEED +# TYPE DCGM_FI_DEV_FAN_SPEED gauge +DCGM_FI_DEV_FAN_SPEED 0 +# HELP DCGM_FI_DEV_MEMORY_TEMP +# TYPE DCGM_FI_DEV_MEMORY_TEMP gauge +DCGM_FI_DEV_MEMORY_TEMP 0 +# HELP DCGM_FI_PROF_PCIE_RX_BYTES +# TYPE DCGM_FI_PROF_PCIE_RX_BYTES counter +DCGM_FI_PROF_PCIE_RX_BYTES 0 +# HELP DCGM_FI_PROF_PCIE_TX_BYTES +# TYPE DCGM_FI_PROF_PCIE_TX_BYTES counter +DCGM_FI_PROF_PCIE_TX_BYTES 0 +# HELP DCGM_FI_DEV_ROW_REMAP_FAILURE +# TYPE DCGM_FI_DEV_ROW_REMAP_FAILURE gauge +DCGM_FI_DEV_ROW_REMAP_FAILURE 0 +# HELP DCGM_FI_DEV_CORRECTABLE_REMAPPED_ROWS +# TYPE DCGM_FI_DEV_CORRECTABLE_REMAPPED_ROWS counter +DCGM_FI_DEV_CORRECTABLE_REMAPPED_ROWS 0 \ No newline at end of file diff --git a/dcgm/tests/fixtures/metrics.txt b/dcgm/tests/fixtures/metrics.txt new file mode 100644 index 0000000000000..a8f4c7b258b78 --- /dev/null +++ b/dcgm/tests/fixtures/metrics.txt @@ -0,0 +1,92 @@ +# HELP DCGM_FI_DEV_SM_CLOCK SM clock frequency (in MHz). +# TYPE DCGM_FI_DEV_SM_CLOCK gauge +DCGM_FI_DEV_SM_CLOCK{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 300 +# HELP DCGM_FI_DEV_MEM_CLOCK Memory clock frequency (in MHz). +# TYPE DCGM_FI_DEV_MEM_CLOCK gauge +DCGM_FI_DEV_MEM_CLOCK{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 405 +# HELP DCGM_FI_DEV_GPU_TEMP GPU temperature (in C). +# TYPE DCGM_FI_DEV_GPU_TEMP gauge +DCGM_FI_DEV_GPU_TEMP{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 25 +# HELP DCGM_FI_DEV_POWER_USAGE Power draw (in W). +# TYPE DCGM_FI_DEV_POWER_USAGE gauge +DCGM_FI_DEV_POWER_USAGE{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 8.969000 +# HELP DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION Total energy consumption since boot (in mJ). +# TYPE DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION counter +DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 128996013 +# HELP DCGM_FI_DEV_PCIE_REPLAY_COUNTER Total number of PCIe retries. +# TYPE DCGM_FI_DEV_PCIE_REPLAY_COUNTER counter +DCGM_FI_DEV_PCIE_REPLAY_COUNTER{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 0 +# HELP DCGM_FI_DEV_GPU_UTIL GPU utilization (in %). +# TYPE DCGM_FI_DEV_GPU_UTIL gauge +DCGM_FI_DEV_GPU_UTIL{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 0 +# HELP DCGM_FI_DEV_MEM_COPY_UTIL Memory utilization (in %). +# TYPE DCGM_FI_DEV_MEM_COPY_UTIL gauge +DCGM_FI_DEV_MEM_COPY_UTIL{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 0 +# HELP DCGM_FI_DEV_ENC_UTIL Encoder utilization (in %). +# TYPE DCGM_FI_DEV_ENC_UTIL gauge +DCGM_FI_DEV_ENC_UTIL{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 0 +# HELP DCGM_FI_DEV_DEC_UTIL Decoder utilization (in %). +# TYPE DCGM_FI_DEV_DEC_UTIL gauge +DCGM_FI_DEV_DEC_UTIL{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 0 +# HELP DCGM_FI_DEV_XID_ERRORS Value of the last XID error encountered. +# TYPE DCGM_FI_DEV_XID_ERRORS gauge +DCGM_FI_DEV_XID_ERRORS{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 0 +# HELP DCGM_FI_DEV_FB_FREE Framebuffer memory free (in MiB). +# TYPE DCGM_FI_DEV_FB_FREE gauge +DCGM_FI_DEV_FB_FREE{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 15109 +# HELP DCGM_FI_DEV_FB_USED Framebuffer memory used (in MiB). +# TYPE DCGM_FI_DEV_FB_USED gauge +DCGM_FI_DEV_FB_USED{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 0 +# HELP DCGM_FI_DEV_NVLINK_BANDWIDTH_TOTAL Total number of NVLink bandwidth counters for all lanes +# TYPE DCGM_FI_DEV_NVLINK_BANDWIDTH_TOTAL counter +DCGM_FI_DEV_NVLINK_BANDWIDTH_TOTAL{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 0 +# HELP DCGM_FI_DEV_VGPU_LICENSE_STATUS vGPU License status +# TYPE DCGM_FI_DEV_VGPU_LICENSE_STATUS gauge +DCGM_FI_DEV_VGPU_LICENSE_STATUS{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 0 +# HELP DCGM_FI_DEV_COUNT Number of Devices on the node. +# TYPE DCGM_FI_DEV_COUNT counter +DCGM_FI_DEV_COUNT{gpu="0",UUID="GPU-20c56d28-0da5-6d26-a36a-e7af1ce2586e",device="nvidia0",modelName="Tesla T4",Hostname="424773df46e0",DCGM_FI_DRIVER_VERSION="460.106.00",DCGM_FI_PROCESS_NAME="/usr/bin/dcgm-exporter"} 1 +# HELP DCGM_FI_DEV_SLOWDOWN_TEMP +# TYPE DCGM_FI_DEV_SLOWDOWN_TEMP gauge +DCGM_FI_DEV_SLOWDOWN_TEMP{gpu="0",UUID="GPU-9ef1b6d0-3643-5dd7-b823-c0ec20dcf2d5",device="nvidia0",modelName="Tesla T4",Hostname="551bdf382151",DCGM_FI_CUDA_DRIVER_VERSION="12010",DCGM_FI_DEV_BRAND="NVIDIA",DCGM_FI_DEV_MINOR_NUMBER="0",DCGM_FI_DEV_NAME="Tesla T4",DCGM_FI_DEV_SERIAL="1565220008176",DCGM_FI_DEV_VBIOS_VERSION="90.04.96.00.02",DCGM_FI_DRIVER_VERSION="470.182.03",DCGM_FI_NVML_VERSION="11.470.182.03"} 93 +# HELP DCGM_FI_DEV_POWER_MGMT_LIMIT +# TYPE DCGM_FI_DEV_POWER_MGMT_LIMIT gauge +DCGM_FI_DEV_POWER_MGMT_LIMIT{gpu="0",UUID="GPU-9ef1b6d0-3643-5dd7-b823-c0ec20dcf2d5",device="nvidia0",modelName="Tesla T4",Hostname="551bdf382151",DCGM_FI_CUDA_DRIVER_VERSION="12010",DCGM_FI_DEV_BRAND="NVIDIA",DCGM_FI_DEV_MINOR_NUMBER="0",DCGM_FI_DEV_NAME="Tesla T4",DCGM_FI_DEV_SERIAL="1565220008176",DCGM_FI_DEV_VBIOS_VERSION="90.04.96.00.02",DCGM_FI_DRIVER_VERSION="470.182.03",DCGM_FI_NVML_VERSION="11.470.182.03"} 70.000000 +# HELP DCGM_FI_DEV_PSTATE +# TYPE DCGM_FI_DEV_PSTATE gauge +DCGM_FI_DEV_PSTATE{gpu="0",UUID="GPU-9ef1b6d0-3643-5dd7-b823-c0ec20dcf2d5",device="nvidia0",modelName="Tesla T4",Hostname="551bdf382151",DCGM_FI_CUDA_DRIVER_VERSION="12010",DCGM_FI_DEV_BRAND="NVIDIA",DCGM_FI_DEV_MINOR_NUMBER="0",DCGM_FI_DEV_NAME="Tesla T4",DCGM_FI_DEV_SERIAL="1565220008176",DCGM_FI_DEV_VBIOS_VERSION="90.04.96.00.02",DCGM_FI_DRIVER_VERSION="470.182.03",DCGM_FI_NVML_VERSION="11.470.182.03"} 8 +# HELP DCGM_FI_DEV_FB_TOTAL +# TYPE DCGM_FI_DEV_FB_TOTAL gauge +DCGM_FI_DEV_FB_TOTAL{gpu="0",UUID="GPU-9ef1b6d0-3643-5dd7-b823-c0ec20dcf2d5",device="nvidia0",modelName="Tesla T4",Hostname="551bdf382151",DCGM_FI_CUDA_DRIVER_VERSION="12010",DCGM_FI_DEV_BRAND="NVIDIA",DCGM_FI_DEV_MINOR_NUMBER="0",DCGM_FI_DEV_NAME="Tesla T4",DCGM_FI_DEV_SERIAL="1565220008176",DCGM_FI_DEV_VBIOS_VERSION="90.04.96.00.02",DCGM_FI_DRIVER_VERSION="470.182.03",DCGM_FI_NVML_VERSION="11.470.182.03"} 15109 +# NOTE DCGM_FI_DEV_FB_RESERVED is copy/pasted from DCGM_FI_DEV_FB_TOTAL because we could not generate it in our sandbox environment. +# HELP DCGM_FI_DEV_FB_RESERVED +# TYPE DCGM_FI_DEV_FB_RESERVED gauge +DCGM_FI_DEV_FB_RESERVED{gpu="0",UUID="GPU-9ef1b6d0-3643-5dd7-b823-c0ec20dcf2d5",device="nvidia0",modelName="Tesla T4",Hostname="551bdf382151",DCGM_FI_CUDA_DRIVER_VERSION="12010",DCGM_FI_DEV_BRAND="NVIDIA",DCGM_FI_DEV_MINOR_NUMBER="0",DCGM_FI_DEV_NAME="Tesla T4",DCGM_FI_DEV_SERIAL="1565220008176",DCGM_FI_DEV_VBIOS_VERSION="90.04.96.00.02",DCGM_FI_DRIVER_VERSION="470.182.03",DCGM_FI_NVML_VERSION="11.470.182.03"} 15109 +# HELP DCGM_FI_DEV_FB_USED_PERCENT +# TYPE DCGM_FI_DEV_FB_USED_PERCENT gauge +DCGM_FI_DEV_FB_USED_PERCENT{gpu="0",UUID="GPU-9ef1b6d0-3643-5dd7-b823-c0ec20dcf2d5",device="nvidia0",modelName="Tesla T4",Hostname="551bdf382151",DCGM_FI_CUDA_DRIVER_VERSION="12010",DCGM_FI_DEV_BRAND="NVIDIA",DCGM_FI_DEV_MINOR_NUMBER="0",DCGM_FI_DEV_NAME="Tesla T4",DCGM_FI_DEV_SERIAL="1565220008176",DCGM_FI_DEV_VBIOS_VERSION="90.04.96.00.02",DCGM_FI_DRIVER_VERSION="470.182.03",DCGM_FI_NVML_VERSION="11.470.182.03"} 0.000008 +# HELP DCGM_FI_DEV_CLOCK_THROTTLE_REASONS +# TYPE DCGM_FI_DEV_CLOCK_THROTTLE_REASONS gauge +DCGM_FI_DEV_CLOCK_THROTTLE_REASONS{gpu="0",UUID="GPU-9ef1b6d0-3643-5dd7-b823-c0ec20dcf2d5",device="nvidia0",modelName="Tesla T4",Hostname="551bdf382151",DCGM_FI_CUDA_DRIVER_VERSION="12010",DCGM_FI_DEV_BRAND="NVIDIA",DCGM_FI_DEV_MINOR_NUMBER="0",DCGM_FI_DEV_NAME="Tesla T4",DCGM_FI_DEV_SERIAL="1565220008176",DCGM_FI_DEV_VBIOS_VERSION="90.04.96.00.02",DCGM_FI_DRIVER_VERSION="470.182.03",DCGM_FI_NVML_VERSION="11.470.182.03"} 1 +# NOTE The following metrics all have dummy values, we couldn't get real ones in our sandbox. +# HELP DCGM_FI_DEV_UNCORRECTABLE_REMAPPED_ROWS +# TYPE DCGM_FI_DEV_UNCORRECTABLE_REMAPPED_ROWS counter +DCGM_FI_DEV_UNCORRECTABLE_REMAPPED_ROWS 0 +# HELP DCGM_FI_DEV_FAN_SPEED +# TYPE DCGM_FI_DEV_FAN_SPEED gauge +DCGM_FI_DEV_FAN_SPEED 0 +# HELP DCGM_FI_DEV_MEMORY_TEMP +# TYPE DCGM_FI_DEV_MEMORY_TEMP gauge +DCGM_FI_DEV_MEMORY_TEMP 0 +# HELP DCGM_FI_PROF_PCIE_RX_BYTES +# TYPE DCGM_FI_PROF_PCIE_RX_BYTES counter +DCGM_FI_PROF_PCIE_RX_BYTES 0 +# HELP DCGM_FI_PROF_PCIE_TX_BYTES +# TYPE DCGM_FI_PROF_PCIE_TX_BYTES counter +DCGM_FI_PROF_PCIE_TX_BYTES 0 +# HELP DCGM_FI_DEV_ROW_REMAP_FAILURE +# TYPE DCGM_FI_DEV_ROW_REMAP_FAILURE gauge +DCGM_FI_DEV_ROW_REMAP_FAILURE 0 +# HELP DCGM_FI_DEV_CORRECTABLE_REMAPPED_ROWS +# TYPE DCGM_FI_DEV_CORRECTABLE_REMAPPED_ROWS counter +DCGM_FI_DEV_CORRECTABLE_REMAPPED_ROWS 0 diff --git a/dcgm/tests/test_e2e.py b/dcgm/tests/test_e2e.py new file mode 100644 index 0000000000000..c726fd422f3b2 --- /dev/null +++ b/dcgm/tests/test_e2e.py @@ -0,0 +1,19 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +import pytest + +from datadog_checks.dev.utils import get_metadata_metrics + +from .common import EXPECTED_METRICS + +pytestmark = [pytest.mark.e2e, pytest.mark.usefixtures("dd_environment")] + + +def test_e2e(dd_agent_check, instance): + aggregator = dd_agent_check(instance, rate=True) + for metric in EXPECTED_METRICS: + aggregator.assert_metric(name=f"dcgm.{metric}") + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) + aggregator.assert_all_metrics_covered() diff --git a/dcgm/tests/test_unit.py b/dcgm/tests/test_unit.py new file mode 100644 index 0000000000000..34ac4aa856f60 --- /dev/null +++ b/dcgm/tests/test_unit.py @@ -0,0 +1,51 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + + +import pytest + +from datadog_checks.base.errors import ConfigurationError +from datadog_checks.dcgm import DcgmCheck +from datadog_checks.dev.utils import get_metadata_metrics + +from .common import EXPECTED_METRICS + +pytestmark = [pytest.mark.unit] + + +def test_critical_service_check(dd_run_check, aggregator): + """ + When we can't connect to dcgm-exporter for whatever reason we should only submit a CRITICAL service check. + """ + check = DcgmCheck( + 'dcgm', + {}, + [ + { + 'openmetrics_endpoint': 'http://localhost:5555/metrics', + } + ], + ) + with pytest.raises(Exception, match="requests.exceptions.ConnectionError"): + dd_run_check(check) + aggregator.assert_service_check('dcgm.openmetrics.health', status=check.CRITICAL) + + +@pytest.mark.usefixtures("mock_metrics") +def test_successful_run(dd_run_check, aggregator, check): + dd_run_check(check) + aggregator.assert_service_check('dcgm.openmetrics.health', DcgmCheck.OK) + for metric in EXPECTED_METRICS: + aggregator.assert_metric(name=f"dcgm.{metric}") + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) + aggregator.assert_all_metrics_covered() + + +def test_invalid_config(): + """ + Config with unknown fields should raise an exception. + """ + check = DcgmCheck('dcgm', {}, [{'bad_config_option': 'test'}]) + with pytest.raises(ConfigurationError): + check.load_configuration_models() From bd9adb3c71e69c3269541e41fc614154b6c3ac35 Mon Sep 17 00:00:00 2001 From: Alexandre Yang Date: Thu, 6 Jul 2023 10:35:56 +0200 Subject: [PATCH 58/77] Update a10-thunder axAppGlobalTotalCurrentConnections metric_type (#15169) * Update a10-thunder * fix test * update snmp/metadata.csv --- .../snmp/data/default_profiles/a10-thunder.yaml | 1 - snmp/metadata.csv | 14 +++++++------- .../test_profile_a10_thunder.py | 2 +- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/snmp/datadog_checks/snmp/data/default_profiles/a10-thunder.yaml b/snmp/datadog_checks/snmp/data/default_profiles/a10-thunder.yaml index dff3a45bf7a90..b518cd7724fa3 100644 --- a/snmp/datadog_checks/snmp/data/default_profiles/a10-thunder.yaml +++ b/snmp/datadog_checks/snmp/data/default_profiles/a10-thunder.yaml @@ -36,7 +36,6 @@ metrics: symbol: name: axAppGlobalTotalCurrentConnections OID: 1.3.6.1.4.1.22610.2.4.3.1.2.1.0 - forced_type: monotonic_count - MIB: A10-AX-MIB symbol: name: axAppGlobalTotalNewConnections diff --git a/snmp/metadata.csv b/snmp/metadata.csv index 5c7c28ec019e8..643c4c39bce3c 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -43,13 +43,13 @@ snmp.axAppGlobalAllowedCurrentValue,gauge,,,,"[A10-AX-MIB] The current value for snmp.axAppGlobalAllowedMaxValue,gauge,,,,"[A10-AX-MIB] The maximum value for the allowed system resource.",0,snmp,, snmp.axAppGlobalBufferConfigLimit,gauge,,,,"[A10-AX-MIB] Application buffer configured limit.",0,snmp,, snmp.axAppGlobalBufferCurrentUsage,gauge,,,,"[A10-AX-MIB] Application buffer current usage.",0,snmp,, -snmp.axAppGlobalTotalCurrentConnections,count,,,,"[A10-AX-MIB] Total current connections",0,snmp,, +snmp.axAppGlobalTotalCurrentConnections,gauge,,,,"[A10-AX-MIB] Total current connections",0,snmp,, snmp.axAppGlobalTotalL7Requests,count,,,,"[A10-AX-MIB] Total L7 requests",0,snmp,, snmp.axAppGlobalTotalNewConnections,count,,,,"[A10-AX-MIB] Total new connections",0,snmp,, snmp.axAppGlobalTotalNewIPNatConnections,count,,,,"[A10-AX-MIB] Total new IP-NAT connections",0,snmp,, snmp.axAppGlobalTotalNewL4Connections,count,,,,"[A10-AX-MIB] Total new L4 connections",0,snmp,, snmp.axAppGlobalTotalNewL7Connections,count,,,,"[A10-AX-MIB] Total new L7 connections",0,snmp,, -snmp.axAppGlobalTotalSSLConnections,count,,,,"[A10-AX-MIB] Total new SSL connections",0,snmp,, +snmp.axAppGlobalTotalSSLConnections,count,,,,"[A10-AX-MIB] Total SSL connections",0,snmp,, snmp.axConnReuseStatTotalActivePersist,gauge,,,,"[A10-AX-MIB] The total count of active persistent connection-reuse sessions.",0,snmp,, snmp.axConnReuseStatTotalEstablished,gauge,,,,"[A10-AX-MIB] The total count of established connection-reuse sessions.",0,snmp,, snmp.axConnReuseStatTotalOpenPersist,gauge,,,,"[A10-AX-MIB] The total count of open persistent connection-reuse sessions.",0,snmp,, @@ -59,12 +59,12 @@ snmp.axGlobalAppPacketDrop,gauge,,,,"[A10-AX-MIB] Total number of buffer drops i snmp.axGlobalTotalAppPacketDrop,gauge,,,,"[A10-AX-MIB] Total number of accumulative buffer drops.",0,snmp,, snmp.axGlobalTotalL4Session,gauge,,,,"[A10-AX-MIB] Total number of L4 sessions.",0,snmp,, snmp.axGlobalTotalThroughput,gauge,,,,"[A10-AX-MIB] Total throughput of all the interfaces.",0,snmp,, -snmp.axPowerSupplyVoltage,gauge,,,,"[A10-AX-MIB] The system power supply voltage metric with value 1, can be used by sum/group by tags.",0,snmp,, +snmp.axPowerSupplyVoltage,gauge,,,,"[A10-AX-MIB] A table contains the system power supply voltage status. (Make 'sum by {X}' queries to count elements with the tag X.)",0,snmp,, snmp.axPowerSupplyVoltageTotal,gauge,,,,"[A10-AX-MIB] The total number of axPowerSupplyVoltage entries.",0,snmp,, -snmp.axServer,gauge,,,,"[A10-AX-MIB] The server metric with value 1, can be used by sum/group by tags.",0,snmp,, +snmp.axServer,gauge,,,,"[A10-AX-MIB] A table has information of the servers. (Make 'sum by {X}' queries to count elements with the tag X.)",0,snmp,, snmp.axServerStatServerCurConns,gauge,,,,"[A10-AX-MIB] The current connections from server side.",0,snmp,, snmp.axServerStatServerTotalCurrL7Reqs,count,,,,"[A10-AX-MIB] The number of current L7 requests if applicable",0,snmp,, -snmp.axServiceGroup,gauge,,,,"[A10-AX-MIB] The service group metric with value 1, can be used by sum/group by tags.",0,snmp,, +snmp.axServiceGroup,gauge,,,,"[A10-AX-MIB] A table containing information of service groups. (Make 'sum by {X}' queries to count elements with the tag X.)",0,snmp,, snmp.axSessionGlobalStatConnCount,gauge,,,,"[A10-AX-MIB] The count of current connections.",0,snmp,, snmp.axSessionGlobalStatConnFree,gauge,,,,"[A10-AX-MIB] The count of freed connections.",0,snmp,, snmp.axSessionGlobalStatConnSMPAllocated,gauge,,,,"[A10-AX-MIB] The count of allocated SMP connections.",0,snmp,, @@ -81,8 +81,8 @@ snmp.axSessionGlobalStatUDP,gauge,,,,"[A10-AX-MIB] The count of UDP connections. snmp.axSysDiskFreeSpace,gauge,,,,"[A10-AX-MIB] The free space of the disk in MB.",0,snmp,, snmp.axSysDiskTotalSpace,gauge,,,,"[A10-AX-MIB] The total space of the disk in MB.",0,snmp,, snmp.axSysHwPhySystemTemp,gauge,,,,"[A10-AX-MIB] The physical system temperature in Celsius.",0,snmp,, -snmp.axSysPowerSupplyStatus,gauge,,,,"[A10-AX-MIB] The power supply status metric with value 1, , can be used by sum/group by tags.",0,snmp,, -snmp.axVirtualServer,gauge,,,,"[A10-AX-MIB] The virtual server metric with value 1, can be used by sum/group by tags.",0,snmp,, +snmp.axSysPowerSupplyStatus,gauge,,,,"[A10-AX-MIB] The table contains power supply status. (Make 'sum by {X}' queries to count elements with the tag X.)",0,snmp,, +snmp.axVirtualServer,gauge,,,,"[A10-AX-MIB] A table containing information of virtual servers. (Make 'sum by {X}' queries to count elements with the tag X.)",0,snmp,, snmp.axVirtualServerPortStatCurConns,gauge,,,,"[A10-AX-MIB] Current connections from client side.",0,snmp,, snmp.axVirtualServerStatBytesIn,count,,,,"[A10-AX-MIB] The number of bytes received from client to server.",0,snmp,, snmp.axVirtualServerStatBytesOut,count,,,,"[A10-AX-MIB] The number of bytes sent from server to client.",0,snmp,, diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_a10_thunder.py b/snmp/tests/test_e2e_core_profiles/test_profile_a10_thunder.py index a28585de8776f..48d9983425ed8 100644 --- a/snmp/tests/test_e2e_core_profiles/test_profile_a10_thunder.py +++ b/snmp/tests/test_e2e_core_profiles/test_profile_a10_thunder.py @@ -42,7 +42,7 @@ def test_e2e_profile_a10_thunder(dd_agent_check): aggregator.assert_metric('snmp.axAppGlobalBufferConfigLimit', metric_type=aggregator.GAUGE, tags=common_tags) aggregator.assert_metric('snmp.axAppGlobalBufferCurrentUsage', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.axAppGlobalTotalCurrentConnections', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.axAppGlobalTotalCurrentConnections', metric_type=aggregator.GAUGE, tags=common_tags) aggregator.assert_metric('snmp.axAppGlobalTotalL7Requests', metric_type=aggregator.COUNT, tags=common_tags) aggregator.assert_metric('snmp.axAppGlobalTotalNewConnections', metric_type=aggregator.COUNT, tags=common_tags) aggregator.assert_metric('snmp.axAppGlobalTotalNewIPNatConnections', metric_type=aggregator.COUNT, tags=common_tags) From aee76603dc0dbafe6de191a9c4789e38bee6f8c7 Mon Sep 17 00:00:00 2001 From: Alexandre Yang Date: Thu, 6 Jul 2023 12:52:40 +0200 Subject: [PATCH 59/77] Update _generic-ups.yaml (#15179) * Update _generic-ups.yaml * update metadata and tests --- .../data/default_profiles/_generic-ups.yaml | 78 +++++++++---------- snmp/metadata.csv | 3 - .../test_profile__generic_ups.py | 3 - 3 files changed, 39 insertions(+), 45 deletions(-) diff --git a/snmp/datadog_checks/snmp/data/default_profiles/_generic-ups.yaml b/snmp/datadog_checks/snmp/data/default_profiles/_generic-ups.yaml index 8025015fc5585..262edc9e6235e 100644 --- a/snmp/datadog_checks/snmp/data/default_profiles/_generic-ups.yaml +++ b/snmp/datadog_checks/snmp/data/default_profiles/_generic-ups.yaml @@ -1,13 +1,15 @@ metrics: - - MIB: UPS-MIB - symbol: - OID: 1.3.6.1.2.1.33.1.2.1.0 - name: upsBatteryStatus - mapping: - 1: unknown - 2: batteryNormal - 3: batteryLow - 4: batteryDepleted +# - MIB: UPS-MIB +# symbol: +# OID: 1.3.6.1.2.1.33.1.2.1.0 +# name: upsBatteryStatus +# enum: +# unknown: 1 +# batteryNormal: 2 +# batteryLow: 3 +# batteryDepleted: 4 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) - MIB: UPS-MIB symbol: OID: 1.3.6.1.2.1.33.1.2.2.0 @@ -36,23 +38,25 @@ metrics: symbol: OID: 1.3.6.1.2.1.33.1.3.1.0 name: upsInputLineBads - metric_type: monotonic_count + forced_type: monotonic_count - MIB: UPS-MIB symbol: OID: 1.3.6.1.2.1.33.1.3.2.0 name: upsInputNumLines - - MIB: UPS-MIB - symbol: - OID: 1.3.6.1.2.1.33.1.4.1.0 - name: upsOutputSource - mapping: - 1: other - 2: none - 3: normal - 4: bypass - 5: battery - 6: booster - 7: reducer +# - MIB: UPS-MIB +# symbol: +# OID: 1.3.6.1.2.1.33.1.4.1.0 +# name: upsOutputSource +# enum: +# other: 1 +# none: 2 +# normal: 3 +# bypass: 4 +# battery: 5 +# booster: 6 +# reducer: 7 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) - MIB: UPS-MIB symbol: OID: 1.3.6.1.2.1.33.1.4.2.0 @@ -73,23 +77,19 @@ metrics: symbol: OID: 1.3.6.1.2.1.33.1.6.1.0 name: upsAlarmsPresent - - MIB: UPS-MIB - symbol: - OID: 1.3.6.1.2.1.33.1.7.3.0 - name: upsTestResultsSummary - mapping: - 1: donePass - 2: doneWarning - 3: doneError - 4: aborted - 5: inProgress - 6: noTestsInitiated - # scalar string metric is not supported yet (keep this metric and this comment in profile until it's fixed) - # not currently supported - # - MIB: UPS-MIB - # symbol: - # OID: 1.3.6.1.2.1.33.1.7.4.0 - # name: upsTestResultsDetail +# - MIB: UPS-MIB +# symbol: +# OID: 1.3.6.1.2.1.33.1.7.3.0 +# name: upsTestResultsSummary +# enum: +# donePass: 1 +# doneWarning: 2 +# doneError: 3 +# aborted: 4 +# inProgress: 5 +# noTestsInitiated: 6 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) - MIB: UPS-MIB symbol: OID: 1.3.6.1.2.1.33.1.7.5.0 diff --git a/snmp/metadata.csv b/snmp/metadata.csv index 643c4c39bce3c..e904504bd5651 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -1256,7 +1256,6 @@ snmp.upsBasicStateOutputState.On,gauge,,,,[APC UPS] The UPS state is in On.,0,sn snmp.upsBasicStateOutputState.OnLine,gauge,,,,[APC UPS] The UPS state is in On Line.,0,snmp,, snmp.upsBasicStateOutputState.ReplaceBattery,gauge,,,,[APC UPS] The UPS state is in Replace Battery.,0,snmp,, snmp.upsBatteryCurrent,gauge,,,,"[UPS-MIB] The present battery current.",0,snmp,, -snmp.upsBatteryStatus,gauge,,,,"[UPS-MIB] The indication of the capacity remaining in the UPS system's batteries. A value of batteryNormal indicates that the remaining run-time is greater than upsConfigLowBattTime. A value of batteryLow indicates that the remaining battery run-time is less than or equal to upsConfigLowBattTime. A value of batteryDepleted indicates that the UPS will be unable to sustain the present load when a...",0,snmp,, snmp.upsBatteryTemperature,gauge,,,,"[UPS-MIB] The ambient temperature at or near the UPS Battery casing.",0,snmp,, snmp.upsBatteryVoltage,gauge,,,,"[UPS-MIB] The magnitude of the present battery voltage.",0,snmp,, snmp.upsBypassCurrent,gauge,,,,"[UPS-MIB] The present bypass current.",0,snmp,, @@ -1282,10 +1281,8 @@ snmp.upsOutputFrequency,gauge,,,,"[UPS-MIB] The present output frequency.",0,snm snmp.upsOutputNumLines,gauge,,,,"[UPS-MIB] The number of output lines utilized in this device. This variable indicates the number of rows in the output table.",0,snmp,, snmp.upsOutputPercentLoad,gauge,,,,"[UPS-MIB] The percentage of the UPS power capacity presently being used on this output line, i.e., the greater of the percent load of true power capacity and the percent load of VA.",0,snmp,, snmp.upsOutputPower,gauge,,,,"[UPS-MIB] The present output true power.",0,snmp,, -snmp.upsOutputSource,gauge,,,,"[UPS-MIB] The present source of output power. The enumeration none(2) indicates that there is no source of output power (and therefore no output power), for example, the system has opened the output breaker.",0,snmp,, snmp.upsOutputVoltage,gauge,,,,"[UPS-MIB] The present output voltage.",0,snmp,, snmp.upsSecondsOnBattery,gauge,,,,"[UPS-MIB] If the unit is on battery power, the elapsed time since the UPS last switched to battery power, or the time since the network management subsystem was last restarted, whichever is less. Zero shall be returned if the unit is not on battery power.",0,snmp,, -snmp.upsTestResultsSummary,gauge,,,,"[UPS-MIB] The results of the current or last UPS diagnostics test performed. The values for donePass(1), doneWarning(2), and doneError(3) indicate that the test completed either successfully, with a warning, or with an error, respectively. The value aborted(4) is returned for tests which are aborted by setting the value of upsTestId to upsTestAbortTestInProgress. Tests which have not yet conclu...",0,snmp,, snmp.upsTestStartTime,gauge,,,,"[UPS-MIB] The value of sysUpTime at the time the test in progress was initiated, or, if no test is in progress, the time the previous test was initiated. If the value of upsTestResultsSummary is noTestsInitiated(6), upsTestStartTime has the value 0.",0,snmp,, snmp.virtualDiskComponentStatus,gauge,,,,[Dell iDRAC] The status of the virtual disk itself without the propagation of any contained component status.,0,snmp,, snmp.virtualDiskSizeInMB,gauge,,mebibyte,,[Dell iDRAC] The size of the virtual disk in megabytes.,0,snmp,, diff --git a/snmp/tests/test_e2e_core_profiles/test_profile__generic_ups.py b/snmp/tests/test_e2e_core_profiles/test_profile__generic_ups.py index 9d1979a64a3a4..899d89bc513e3 100644 --- a/snmp/tests/test_e2e_core_profiles/test_profile__generic_ups.py +++ b/snmp/tests/test_e2e_core_profiles/test_profile__generic_ups.py @@ -38,7 +38,6 @@ def test_e2e_profile__generic_ups(dd_agent_check): aggregator.assert_metric('snmp.upsAlarmsPresent', metric_type=aggregator.GAUGE, tags=common_tags) aggregator.assert_metric('snmp.upsBatteryCurrent', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.upsBatteryStatus', metric_type=aggregator.GAUGE, tags=common_tags) aggregator.assert_metric('snmp.upsBatteryTemperature', metric_type=aggregator.GAUGE, tags=common_tags) aggregator.assert_metric('snmp.upsBatteryVoltage', metric_type=aggregator.GAUGE, tags=common_tags) aggregator.assert_metric('snmp.upsBypassFrequency', metric_type=aggregator.GAUGE, tags=common_tags) @@ -49,9 +48,7 @@ def test_e2e_profile__generic_ups(dd_agent_check): aggregator.assert_metric('snmp.upsInputNumLines', metric_type=aggregator.GAUGE, tags=common_tags) aggregator.assert_metric('snmp.upsOutputFrequency', metric_type=aggregator.GAUGE, tags=common_tags) aggregator.assert_metric('snmp.upsOutputNumLines', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.upsOutputSource', metric_type=aggregator.GAUGE, tags=common_tags) aggregator.assert_metric('snmp.upsSecondsOnBattery', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.upsTestResultsSummary', metric_type=aggregator.GAUGE, tags=common_tags) aggregator.assert_metric('snmp.upsTestStartTime', metric_type=aggregator.GAUGE, tags=common_tags) tag_rows = [ ['ups_output_line_index:2'], From a08877fc0340ca9f03810c8c5505ce6a713f33ec Mon Sep 17 00:00:00 2001 From: Florent Clarret Date: Thu, 6 Jul 2023 13:50:45 +0200 Subject: [PATCH 60/77] Bump the minimal base check version in the integration templates (#15178) --- .../templates/integration/check/{check_name}/pyproject.toml | 2 +- .../templates/integration/jmx/{check_name}/pyproject.toml | 2 +- .../templates/integration/logs/{check_name}/pyproject.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/pyproject.toml b/datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/pyproject.toml index 4f7af1fcd3993..39f8dc9cbf5bb 100644 --- a/datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/pyproject.toml +++ b/datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/pyproject.toml @@ -31,7 +31,7 @@ classifiers = [ "Topic :: System :: Monitoring", ] dependencies = [ - "datadog-checks-base>=31.0.1", + "datadog-checks-base>=32.3.1", ] dynamic = [ "version", diff --git a/datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/pyproject.toml b/datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/pyproject.toml index 4f7af1fcd3993..39f8dc9cbf5bb 100644 --- a/datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/pyproject.toml +++ b/datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/pyproject.toml @@ -31,7 +31,7 @@ classifiers = [ "Topic :: System :: Monitoring", ] dependencies = [ - "datadog-checks-base>=31.0.1", + "datadog-checks-base>=32.3.1", ] dynamic = [ "version", diff --git a/datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/pyproject.toml b/datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/pyproject.toml index 4f7af1fcd3993..39f8dc9cbf5bb 100644 --- a/datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/pyproject.toml +++ b/datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/pyproject.toml @@ -31,7 +31,7 @@ classifiers = [ "Topic :: System :: Monitoring", ] dependencies = [ - "datadog-checks-base>=31.0.1", + "datadog-checks-base>=32.3.1", ] dynamic = [ "version", From 953bec0288d1f7814474f325b27bdd4e8ae9a17b Mon Sep 17 00:00:00 2001 From: Alexandre Yang Date: Thu, 6 Jul 2023 14:05:11 +0200 Subject: [PATCH 61/77] Add prefixes to `nvidia-cumulus-linux-switch` (#15176) --- .../nvidia-cumulus-linux-switch.yaml | 155 ++--- snmp/metadata.csv | 108 +-- .../data/nvidia-cumulus-linux-switch.snmprec | 624 +----------------- ...est_profile_nvidia_cumulus_linux_switch.py | 213 +++--- 4 files changed, 267 insertions(+), 833 deletions(-) diff --git a/snmp/datadog_checks/snmp/data/default_profiles/nvidia-cumulus-linux-switch.yaml b/snmp/datadog_checks/snmp/data/default_profiles/nvidia-cumulus-linux-switch.yaml index 47516272d2edd..b70d50c3cb0a1 100644 --- a/snmp/datadog_checks/snmp/data/default_profiles/nvidia-cumulus-linux-switch.yaml +++ b/snmp/datadog_checks/snmp/data/default_profiles/nvidia-cumulus-linux-switch.yaml @@ -1,238 +1,219 @@ extends: - _generic-host-resources-base.yaml + - _generic-ucd.yaml - nvidia.yaml sysobjectid: - 1.3.6.1.4.1.40310 metrics: - - MIB: UCD-SNMP-MIB - symbol: - name: cpu.usage - OID: 1.3.6.1.4.1.2021.10.1.5.1 - - MIB: UCD-SNMP-MIB - symbol: - name: memory.total - OID: 1.3.6.1.4.1.2021.4.5.0 - - MIB: UCD-SNMP-MIB - symbol: - name: memory.free - OID: 1.3.6.1.4.1.2021.4.11.0 - - MIB: UCD-SNMP-MIB - symbol: - name: memBuffer - OID: 1.3.6.1.4.1.2021.4.14.0 - - MIB: UCD-SNMP-MIB - symbol: - name: memCached - OID: 1.3.6.1.4.1.2021.4.15.0 - MIB: CUMULUS-RESOURCES-MIB symbol: - name: l3HostTableCurrentEntries + name: cumulus.l3HostTableCurrentEntries OID: 1.3.6.1.4.1.40310.1.1.1.0 - MIB: CUMULUS-RESOURCES-MIB symbol: - name: l3HostTableMaxEntries + name: cumulus.l3HostTableMaxEntries OID: 1.3.6.1.4.1.40310.1.1.2.0 - MIB: CUMULUS-RESOURCES-MIB symbol: - name: l3RoutingTableCurrentEntries + name: cumulus.l3RoutingTableCurrentEntries OID: 1.3.6.1.4.1.40310.1.1.3.0 - MIB: CUMULUS-RESOURCES-MIB symbol: - name: l3RoutingTableMaxEntries + name: cumulus.l3RoutingTableMaxEntries OID: 1.3.6.1.4.1.40310.1.1.4.0 - MIB: CUMULUS-RESOURCES-MIB symbol: - name: l3NextHopTableCurrentEntries + name: cumulus.l3NextHopTableCurrentEntries OID: 1.3.6.1.4.1.40310.1.1.5.0 - MIB: CUMULUS-RESOURCES-MIB symbol: - name: l3NextHopTableMaxEntries + name: cumulus.l3NextHopTableMaxEntries OID: 1.3.6.1.4.1.40310.1.1.6.0 - MIB: CUMULUS-RESOURCES-MIB symbol: - name: l3EcmpNextHopTableCurrentEntries + name: cumulus.l3EcmpNextHopTableCurrentEntries OID: 1.3.6.1.4.1.40310.1.1.9.0 - MIB: CUMULUS-RESOURCES-MIB symbol: - name: l3EcmpNextHopTableMaxEntries + name: cumulus.l3EcmpNextHopTableMaxEntries OID: 1.3.6.1.4.1.40310.1.1.10.0 - MIB: CUMULUS-RESOURCES-MIB symbol: - name: ingressAclCurrentEntries + name: cumulus.ingressAclCurrentEntries OID: 1.3.6.1.4.1.40310.1.1.11.0 - MIB: CUMULUS-RESOURCES-MIB symbol: - name: ingressAclMaxEntries + name: cumulus.ingressAclMaxEntries OID: 1.3.6.1.4.1.40310.1.1.12.0 - MIB: CUMULUS-RESOURCES-MIB symbol: - name: ingressAclCurrentCounters + name: cumulus.ingressAclCurrentCounters OID: 1.3.6.1.4.1.40310.1.1.13.0 - MIB: CUMULUS-RESOURCES-MIB symbol: - name: ingressAclMaxCounters + name: cumulus.ingressAclMaxCounters OID: 1.3.6.1.4.1.40310.1.1.14.0 - MIB: CUMULUS-RESOURCES-MIB symbol: - name: ingressAclCurrentMeters + name: cumulus.ingressAclCurrentMeters OID: 1.3.6.1.4.1.40310.1.1.15.0 - MIB: CUMULUS-RESOURCES-MIB symbol: - name: ingressAclMaxMeters + name: cumulus.ingressAclMaxMeters OID: 1.3.6.1.4.1.40310.1.1.16.0 - MIB: CUMULUS-RESOURCES-MIB symbol: - name: ingressAclCurrentSlices + name: cumulus.ingressAclCurrentSlices OID: 1.3.6.1.4.1.40310.1.1.17.0 - MIB: CUMULUS-RESOURCES-MIB symbol: - name: ingressAclMaxSlices + name: cumulus.ingressAclMaxSlices OID: 1.3.6.1.4.1.40310.1.1.18.0 - MIB: CUMULUS-RESOURCES-MIB symbol: - name: egressAclCurrentEntries + name: cumulus.egressAclCurrentEntries OID: 1.3.6.1.4.1.40310.1.1.19.0 - MIB: CUMULUS-RESOURCES-MIB symbol: - name: egressAclMaxEntries + name: cumulus.egressAclMaxEntries OID: 1.3.6.1.4.1.40310.1.1.20.0 - MIB: CUMULUS-RESOURCES-MIB symbol: - name: egressAclCurrentCounters + name: cumulus.egressAclCurrentCounters OID: 1.3.6.1.4.1.40310.1.1.21.0 - MIB: CUMULUS-RESOURCES-MIB symbol: - name: egressAclMaxCounters + name: cumulus.egressAclMaxCounters OID: 1.3.6.1.4.1.40310.1.1.22.0 - MIB: CUMULUS-RESOURCES-MIB symbol: - name: egressAclCurrentMeters + name: cumulus.egressAclCurrentMeters OID: 1.3.6.1.4.1.40310.1.1.23.0 - MIB: CUMULUS-RESOURCES-MIB symbol: - name: egressAclMaxMeters + name: cumulus.egressAclMaxMeters OID: 1.3.6.1.4.1.40310.1.1.24.0 - MIB: CUMULUS-RESOURCES-MIB symbol: - name: egressAclCurrentSlices + name: cumulus.egressAclCurrentSlices OID: 1.3.6.1.4.1.40310.1.1.25.0 - MIB: CUMULUS-RESOURCES-MIB symbol: - name: egressAclMaxSlices + name: cumulus.egressAclMaxSlices OID: 1.3.6.1.4.1.40310.1.1.26.0 - MIB: CUMULUS-RESOURCES-MIB symbol: - name: l2MacTableCurrentEntries + name: cumulus.l2MacTableCurrentEntries OID: 1.3.6.1.4.1.40310.1.2.1.0 - MIB: CUMULUS-RESOURCES-MIB symbol: - name: l2MacTableMaxEntries + name: cumulus.l2MacTableMaxEntries OID: 1.3.6.1.4.1.40310.1.2.2.0 - MIB: CUMULUS-COUNTERS-MIB table: name: discardClCountersTable OID: 1.3.6.1.4.1.40310.2.1.2 symbols: - - name: clL3v4InDiscards + - name: cumulus.clL3v4InDiscards OID: 1.3.6.1.4.1.40310.2.1.2.1.2 - - name: clBufferOverflowDiscards + - name: cumulus.clBufferOverflowDiscards OID: 1.3.6.1.4.1.40310.2.1.2.1.3 - - name: clL3AclDiscards + - name: cumulus.clL3AclDiscards OID: 1.3.6.1.4.1.40310.2.1.2.1.4 - - name: clEgressQOverflowDiscards + - name: cumulus.clEgressQOverflowDiscards OID: 1.3.6.1.4.1.40310.2.1.2.1.6 - - name: clEgressNonQDiscards + - name: cumulus.clEgressNonQDiscards OID: 1.3.6.1.4.1.40310.2.1.2.1.7 metric_tags: - column: - name: clPortName + name: cumulus.clPortName OID: 1.3.6.1.4.1.40310.2.1.2.1.1 - tag: cl_port_name + tag: cumulus_cl_port_name - MIB: CUMULUS-COUNTERS-MIB table: name: interfaceClCountersTable OID: 1.3.6.1.4.1.40310.2.2.2 symbols: - - name: clIntInOctets + - name: cumulus.clIntInOctets OID: 1.3.6.1.4.1.40310.2.2.2.1.2 - - name: clIntInUcastPkts + - name: cumulus.clIntInUcastPkts OID: 1.3.6.1.4.1.40310.2.2.2.1.3 - - name: clIntInBcastPkts + - name: cumulus.clIntInBcastPkts OID: 1.3.6.1.4.1.40310.2.2.2.1.4 - - name: clIntInMcastPkts + - name: cumulus.clIntInMcastPkts OID: 1.3.6.1.4.1.40310.2.2.2.1.5 - - name: clIntOutOctets + - name: cumulus.clIntOutOctets OID: 1.3.6.1.4.1.40310.2.2.2.1.6 - - name: clIntOutUcastPkts + - name: cumulus.clIntOutUcastPkts OID: 1.3.6.1.4.1.40310.2.2.2.1.7 - - name: clIntOutBcastPkts + - name: cumulus.clIntOutBcastPkts OID: 1.3.6.1.4.1.40310.2.2.2.1.8 - - name: clIntOutMcastPkts + - name: cumulus.clIntOutMcastPkts OID: 1.3.6.1.4.1.40310.2.2.2.1.9 metric_tags: - column: - name: clIntPortName + name: cumulus.clIntPortName OID: 1.3.6.1.4.1.40310.2.2.2.1.1 - tag: cl_int_port_name + tag: cumulus_cl_int_port_name - MIB: CUMULUS-COUNTERS-MIB table: name: pfcClCountersTable OID: 1.3.6.1.4.1.40310.2.2.3 symbols: - - name: clIntInPausePkt + - name: cumulus.clIntInPausePkt OID: 1.3.6.1.4.1.40310.2.2.3.1.2 - - name: clIntOutPausePkt + - name: cumulus.clIntOutPausePkt OID: 1.3.6.1.4.1.40310.2.2.3.1.3 - - name: clIntInPfc0Pkt + - name: cumulus.clIntInPfc0Pkt OID: 1.3.6.1.4.1.40310.2.2.3.1.4 - - name: clIntOutPfc0Pkt + - name: cumulus.clIntOutPfc0Pkt OID: 1.3.6.1.4.1.40310.2.2.3.1.5 - - name: clIntInPfc1Pkt + - name: cumulus.clIntInPfc1Pkt OID: 1.3.6.1.4.1.40310.2.2.3.1.6 - - name: clIntOutPfc1Pkt + - name: cumulus.clIntOutPfc1Pkt OID: 1.3.6.1.4.1.40310.2.2.3.1.7 - - name: clIntInPfc2Pkt + - name: cumulus.clIntInPfc2Pkt OID: 1.3.6.1.4.1.40310.2.2.3.1.8 - - name: clIntOutPfc2Pkt + - name: cumulus.clIntOutPfc2Pkt OID: 1.3.6.1.4.1.40310.2.2.3.1.9 - - name: clIntInPfc3Pkt + - name: cumulus.clIntInPfc3Pkt OID: 1.3.6.1.4.1.40310.2.2.3.1.10 - - name: clIntOutPfc3Pkt + - name: cumulus.clIntOutPfc3Pkt OID: 1.3.6.1.4.1.40310.2.2.3.1.11 - - name: clIntInPfc4Pkt + - name: cumulus.clIntInPfc4Pkt OID: 1.3.6.1.4.1.40310.2.2.3.1.12 - - name: clIntOutPfc4Pkt + - name: cumulus.clIntOutPfc4Pkt OID: 1.3.6.1.4.1.40310.2.2.3.1.13 - - name: clIntInPfc5Pkt + - name: cumulus.clIntInPfc5Pkt OID: 1.3.6.1.4.1.40310.2.2.3.1.14 - - name: clIntOutPfc5Pkt + - name: cumulus.clIntOutPfc5Pkt OID: 1.3.6.1.4.1.40310.2.2.3.1.15 - - name: clIntInPfc6Pkt + - name: cumulus.clIntInPfc6Pkt OID: 1.3.6.1.4.1.40310.2.2.3.1.16 - - name: clIntOutPfc6Pkt + - name: cumulus.clIntOutPfc6Pkt OID: 1.3.6.1.4.1.40310.2.2.3.1.17 - - name: clIntInPfc7Pkt + - name: cumulus.clIntInPfc7Pkt OID: 1.3.6.1.4.1.40310.2.2.3.1.18 - - name: clIntOutPfc7Pkt + - name: cumulus.clIntOutPfc7Pkt OID: 1.3.6.1.4.1.40310.2.2.3.1.19 metric_tags: - column: - name: clIntPfcPortName + name: cumulus.clIntPfcPortName OID: 1.3.6.1.4.1.40310.2.2.3.1.1 - tag: cl_int_pfc_port_name + tag: cumulus_cl_int_pfc_port_name - MIB: CUMULUS-POE-MIB symbol: - name: poeTotalSystemPower + name: cumulus.poeTotalSystemPower OID: 1.3.6.1.4.1.40310.3.1.1.0 - MIB: CUMULUS-POE-MIB symbol: - name: poeTotalUsedPower + name: cumulus.poeTotalUsedPower OID: 1.3.6.1.4.1.40310.3.1.2.0 - MIB: CUMULUS-POE-MIB symbol: - name: poeTotalAvailablePower + name: cumulus.poeTotalAvailablePower OID: 1.3.6.1.4.1.40310.3.1.3.0 - MIB: CUMULUS-POE-MIB symbol: - name: poeLastUpdateTime + name: cumulus.poeLastUpdateTime OID: 1.3.6.1.4.1.40310.3.1.4.0 diff --git a/snmp/metadata.csv b/snmp/metadata.csv index e904504bd5651..67ed90c0b7665 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -183,37 +183,6 @@ snmp.ciscoEnvMonTemperatureStatusValue,gauge,,,,[Cisco c3850] [Cisco Nexus] [Cis snmp.ciscoMemoryPoolFree,gauge,,,,[Cisco ASA 5525] Indicates the number of bytes from the memory pool that are currently unused on the managed device.,0,snmp,, snmp.ciscoMemoryPoolLargestFree,gauge,,,,[Cisco ASA 5525] Indicates the largest number of contiguous bytes from the memory pool that are currently unused on the managed device.,0,snmp,, snmp.ciscoMemoryPoolUsed,gauge,,,,[Cisco ASA 5525] Indicates the number of bytes from the memory pool that are currently in use by applications on the managed device.,0,snmp,, -snmp.clBufferOverflowDiscards,gauge,,,,"[CUMULUS-COUNTERS-MIB] Number of inbound packets discarded due to ingress buffer overflow.",0,snmp,, -snmp.clEgressNonQDiscards,gauge,,,,"[CUMULUS-COUNTERS-MIB] Total number of packets discarded on egress due to reasons reasons other than queue overflow. With IF MIB's ifOutDiscards not accounting for certain specific drops, this one accounts for drops seen in the egress pipeline of the system that were not because of egress queue overflow drops.",0,snmp,, -snmp.clEgressQOverflowDiscards,gauge,,,,"[CUMULUS-COUNTERS-MIB] Number of packets discarded due to egress queue overflow.",0,snmp,, -snmp.clIntInBcastPkts,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of input broadcast packets on the interface.",0,snmp,, -snmp.clIntInMcastPkts,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of input multicast packets on the interface.",0,snmp,, -snmp.clIntInOctets,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of input octets on the interface.",0,snmp,, -snmp.clIntInPausePkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet flow control pause packets received on the interface.",0,snmp,, -snmp.clIntInPfc0Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 0 packets received on the interface.",0,snmp,, -snmp.clIntInPfc1Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 1 packets received on the interface.",0,snmp,, -snmp.clIntInPfc2Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 2 packets received on the interface.",0,snmp,, -snmp.clIntInPfc3Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 3 packets received on the interface.",0,snmp,, -snmp.clIntInPfc4Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 4 packets received on the interface.",0,snmp,, -snmp.clIntInPfc5Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 5 packets received on the interface.",0,snmp,, -snmp.clIntInPfc6Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 6 packets received on the interface.",0,snmp,, -snmp.clIntInPfc7Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 7 packets received on the interface.",0,snmp,, -snmp.clIntInUcastPkts,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of input unicast packets on the interface.",0,snmp,, -snmp.clIntOutBcastPkts,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of output broadcast packets on the interface.",0,snmp,, -snmp.clIntOutMcastPkts,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of output multicast packets on the interface.",0,snmp,, -snmp.clIntOutOctets,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of output octets on the interface.",0,snmp,, -snmp.clIntOutPausePkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet flow control pause packets transmitted on the interface.",0,snmp,, -snmp.clIntOutPfc0Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 0 packets transmitted on the interface.",0,snmp,, -snmp.clIntOutPfc1Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 1 packets transmitted on the interface.",0,snmp,, -snmp.clIntOutPfc2Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 2 packets transmitted on the interface.",0,snmp,, -snmp.clIntOutPfc3Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 3 packets transmitted on the interface.",0,snmp,, -snmp.clIntOutPfc4Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 4 packets transmitted on the interface.",0,snmp,, -snmp.clIntOutPfc5Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 5 packets transmitted on the interface.",0,snmp,, -snmp.clIntOutPfc6Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 6 packets transmitted on the interface.",0,snmp,, -snmp.clIntOutPfc7Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 7 packets transmitted on the interface.",0,snmp,, -snmp.clIntOutUcastPkts,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of output unicast packets on the interface.",0,snmp,, -snmp.clL3AclDiscards,gauge,,,,"[CUMULUS-COUNTERS-MIB] Number of inbound IPv4 packets discarded due to ingress Access Control List.",0,snmp,, -snmp.clL3v4InDiscards,gauge,,,,"[CUMULUS-COUNTERS-MIB] Number of inbound IPv4 packets discarded by the routing engine.",0,snmp,, snmp.clusterHealth,gauge,,,,[Isilon] The overall health of the cluster.,0,snmp,, snmp.clusterIfsInBytes,gauge,,byte,,[Isilon] The cumulative number of bytes into /ifs.,0,snmp,, snmp.clusterIfsOutBytes,gauge,,byte,,[Isilon] The number of bytes out of /ifs.,0,snmp,, @@ -356,6 +325,67 @@ snmp.crasNumSetupFailInsufResources,count,,,,[Cisco ASA 5525] The number of sess snmp.crasNumUsers,gauge,,,,[Cisco ASA 5525] The number of users who have active sessions.,0,snmp,, snmp.cswStackPortOperStatus,gauge,,,,[Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] The state of the stackport.,0,snmp,, snmp.cswSwitchState,gauge,,,,[Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] The current state of a switch.,0,snmp,, +snmp.cumulus.clBufferOverflowDiscards,gauge,,,,"[CUMULUS-COUNTERS-MIB] Number of inbound packets discarded due to ingress buffer overflow.",0,snmp,, +snmp.cumulus.clEgressNonQDiscards,gauge,,,,"[CUMULUS-COUNTERS-MIB] Total number of packets discarded on egress due to reasons reasons other than queue overflow. With IF MIB's ifOutDiscards not accounting for certain specific drops, this one accounts for drops seen in the egress pipeline of the system that were not because of egress queue overflow drops.",0,snmp,, +snmp.cumulus.clEgressQOverflowDiscards,gauge,,,,"[CUMULUS-COUNTERS-MIB] Number of packets discarded due to egress queue overflow.",0,snmp,, +snmp.cumulus.clIntInBcastPkts,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of input broadcast packets on the interface.",0,snmp,, +snmp.cumulus.clIntInMcastPkts,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of input multicast packets on the interface.",0,snmp,, +snmp.cumulus.clIntInOctets,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of input octets on the interface.",0,snmp,, +snmp.cumulus.clIntInPausePkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet flow control pause packets received on the interface.",0,snmp,, +snmp.cumulus.clIntInPfc0Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 0 packets received on the interface.",0,snmp,, +snmp.cumulus.clIntInPfc1Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 1 packets received on the interface.",0,snmp,, +snmp.cumulus.clIntInPfc2Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 2 packets received on the interface.",0,snmp,, +snmp.cumulus.clIntInPfc3Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 3 packets received on the interface.",0,snmp,, +snmp.cumulus.clIntInPfc4Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 4 packets received on the interface.",0,snmp,, +snmp.cumulus.clIntInPfc5Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 5 packets received on the interface.",0,snmp,, +snmp.cumulus.clIntInPfc6Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 6 packets received on the interface.",0,snmp,, +snmp.cumulus.clIntInPfc7Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 7 packets received on the interface.",0,snmp,, +snmp.cumulus.clIntInUcastPkts,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of input unicast packets on the interface.",0,snmp,, +snmp.cumulus.clIntOutBcastPkts,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of output broadcast packets on the interface.",0,snmp,, +snmp.cumulus.clIntOutMcastPkts,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of output multicast packets on the interface.",0,snmp,, +snmp.cumulus.clIntOutOctets,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of output octets on the interface.",0,snmp,, +snmp.cumulus.clIntOutPausePkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet flow control pause packets transmitted on the interface.",0,snmp,, +snmp.cumulus.clIntOutPfc0Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 0 packets transmitted on the interface.",0,snmp,, +snmp.cumulus.clIntOutPfc1Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 1 packets transmitted on the interface.",0,snmp,, +snmp.cumulus.clIntOutPfc2Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 2 packets transmitted on the interface.",0,snmp,, +snmp.cumulus.clIntOutPfc3Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 3 packets transmitted on the interface.",0,snmp,, +snmp.cumulus.clIntOutPfc4Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 4 packets transmitted on the interface.",0,snmp,, +snmp.cumulus.clIntOutPfc5Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 5 packets transmitted on the interface.",0,snmp,, +snmp.cumulus.clIntOutPfc6Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 6 packets transmitted on the interface.",0,snmp,, +snmp.cumulus.clIntOutPfc7Pkt,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of ethernet priority flow control traffic class 7 packets transmitted on the interface.",0,snmp,, +snmp.cumulus.clIntOutUcastPkts,gauge,,,,"[CUMULUS-COUNTERS-MIB] The number of output unicast packets on the interface.",0,snmp,, +snmp.cumulus.clL3AclDiscards,gauge,,,,"[CUMULUS-COUNTERS-MIB] Number of inbound IPv4 packets discarded due to ingress Access Control List.",0,snmp,, +snmp.cumulus.clL3v4InDiscards,gauge,,,,"[CUMULUS-COUNTERS-MIB] Number of inbound IPv4 packets discarded by the routing engine.",0,snmp,, +snmp.cumulus.egressAclCurrentCounters,gauge,,,,"[CUMULUS-RESOURCES-MIB] The current number of Egress counters in the Network Access Control List table.",0,snmp,, +snmp.cumulus.egressAclCurrentEntries,gauge,,,,"[CUMULUS-RESOURCES-MIB] The current number of Egress entries in the Network Access Control List table.",0,snmp,, +snmp.cumulus.egressAclCurrentMeters,gauge,,,,"[CUMULUS-RESOURCES-MIB] The current number of Egress meters in the Network Access Control List table.",0,snmp,, +snmp.cumulus.egressAclCurrentSlices,gauge,,,,"[CUMULUS-RESOURCES-MIB] The current number of Egress slices in the Network Access Control List table.",0,snmp,, +snmp.cumulus.egressAclMaxCounters,gauge,,,,"[CUMULUS-RESOURCES-MIB] The maximum possible Egress counters in the Network Access Control table.",0,snmp,, +snmp.cumulus.egressAclMaxEntries,gauge,,,,"[CUMULUS-RESOURCES-MIB] The maximum possible Egress entries in the Network Access Control table.",0,snmp,, +snmp.cumulus.egressAclMaxMeters,gauge,,,,"[CUMULUS-RESOURCES-MIB] The maximum possible Egress meters in the Network Access Control table.",0,snmp,, +snmp.cumulus.egressAclMaxSlices,gauge,,,,"[CUMULUS-RESOURCES-MIB] The maximum possible Egress slices in the Network Access Control table.",0,snmp,, +snmp.cumulus.ingressAclCurrentCounters,gauge,,,,"[CUMULUS-RESOURCES-MIB] The current number of Ingress counters in the Network Access Control List table.",0,snmp,, +snmp.cumulus.ingressAclCurrentEntries,gauge,,,,"[CUMULUS-RESOURCES-MIB] The current number of Ingress entries in the Network Access Control List table.",0,snmp,, +snmp.cumulus.ingressAclCurrentMeters,gauge,,,,"[CUMULUS-RESOURCES-MIB] The current number of Ingress meters in the Network Access Control List table.",0,snmp,, +snmp.cumulus.ingressAclCurrentSlices,gauge,,,,"[CUMULUS-RESOURCES-MIB] The current number of Ingress slices in the Network Access Control List table.",0,snmp,, +snmp.cumulus.ingressAclMaxCounters,gauge,,,,"[CUMULUS-RESOURCES-MIB] The maximum possible Ingress counters in the Network Access Control table.",0,snmp,, +snmp.cumulus.ingressAclMaxEntries,gauge,,,,"[CUMULUS-RESOURCES-MIB] The maximum possible Ingress entries in the Network Access Control table.",0,snmp,, +snmp.cumulus.ingressAclMaxMeters,gauge,,,,"[CUMULUS-RESOURCES-MIB] The maximum possible Ingress meters in the Network Access Control table.",0,snmp,, +snmp.cumulus.ingressAclMaxSlices,gauge,,,,"[CUMULUS-RESOURCES-MIB] The maximum possible Ingress slices in the Network Access Control table.",0,snmp,, +snmp.cumulus.l2MacTableCurrentEntries,gauge,,,,"[CUMULUS-RESOURCES-MIB] The number of L2 Mac table entries currently in use.",0,snmp,, +snmp.cumulus.l2MacTableMaxEntries,gauge,,,,"[CUMULUS-RESOURCES-MIB] The maximum possible entries in the L2 Mac table.",0,snmp,, +snmp.cumulus.l3EcmpNextHopTableCurrentEntries,gauge,,,,"[CUMULUS-RESOURCES-MIB] The number of ECMP Next Hop table entries currently in use.",0,snmp,, +snmp.cumulus.l3EcmpNextHopTableMaxEntries,gauge,,,,"[CUMULUS-RESOURCES-MIB] The maximum possible entries in the ECMP Next Hop table. ECMP Next Hop table stores information about the next hop associated with a routing table entry that has multiple equal cost next hop neighbors.",0,snmp,, +snmp.cumulus.l3HostTableCurrentEntries,gauge,,,,"[CUMULUS-RESOURCES-MIB] The number of L3 Host table entries currently in use",0,snmp,, +snmp.cumulus.l3HostTableMaxEntries,gauge,,,,"[CUMULUS-RESOURCES-MIB] The maximum possible entries in the L3 Host table. The Host table is defined as the table holding the ARP/ND cache.",0,snmp,, +snmp.cumulus.l3NextHopTableCurrentEntries,gauge,,,,"[CUMULUS-RESOURCES-MIB] The number of L3 Next Hop table entries currently in use.",0,snmp,, +snmp.cumulus.l3NextHopTableMaxEntries,gauge,,,,"[CUMULUS-RESOURCES-MIB] The maximum possible entries in the L3 Next Hop table. The L3 Next Hop table holds information about the next hop(s) associated with a routing table entry.",0,snmp,, +snmp.cumulus.l3RoutingTableCurrentEntries,gauge,,,,"[CUMULUS-RESOURCES-MIB] The number of L3 Routing table entries currently in use.",0,snmp,, +snmp.cumulus.l3RoutingTableMaxEntries,gauge,,,,"[CUMULUS-RESOURCES-MIB] The maximum possible entries in the L3 Routing table. L3 Routing table is defined as the table holding the longest prefix match (LPM) entries.",0,snmp,, +snmp.cumulus.poeLastUpdateTime,gauge,,,,"[CUMULUS-POE-MIB] The system uptime timestamp when the objects in this MIB were last updated. The default for the update period is every 300 seconds or 5 minutes.",0,snmp,, +snmp.cumulus.poeTotalAvailablePower,gauge,,,,"[CUMULUS-POE-MIB] The total UNUSED and available power for the system in the common pool for new devices, shown with 3 decimal places of precision (milliwatts). For example, an integer value of 706300 is equivalent 706.3 Watts.",0,snmp,, +snmp.cumulus.poeTotalSystemPower,gauge,,,,"[CUMULUS-POE-MIB] The total power available to the system, shown with 3 decimal place of precision (milliwatts). Dividing this value by 1000 returns the number of watts. For example, a value of 730400 is equivalent to 730.4 watts.",0,snmp,, +snmp.cumulus.poeTotalUsedPower,gauge,,,,"[CUMULUS-POE-MIB] The total power USED by ports in the system, shown with 3 decimal places of precision (milliwatts). For example, an integer value of 24500 is equivalent to 24.5 Watts.",0,snmp,, snmp.currentxy1,gauge,,,,[Legacy Chatsworth] The XY1 branch current draw in 1/100 amp.,0,snmp,, snmp.currentxy2,gauge,,,,[Legacy Chatsworth] The XY2 branch current draw in 1/100 amp.,0,snmp,, snmp.currentyz1,gauge,,,,[Legacy Chatsworth] The YZ1 branch current draw in 1/100 amp.,0,snmp,, @@ -480,14 +510,6 @@ snmp.egRetentionSpaceAvailableFractionalGigabytes,gauge,,,,"[EXAGRID-MIB] The am snmp.egRetentionSpaceAvailableWholeGigabytes,gauge,,,,"[EXAGRID-MIB] The amount of available retention space scaled to GigaBytes (10^9) bytes",0,snmp,, snmp.egRetentionSpaceConfiguredFractionalGigabytes,gauge,,,,"[EXAGRID-MIB] The amount of configured retention space below 1 Gigabyte in bytes",0,snmp,, snmp.egRetentionSpaceConfiguredWholeGigabytes,gauge,,,,"[EXAGRID-MIB] The amount of configured retention space scaled to GigaBytes (10^9) bytes",0,snmp,, -snmp.egressAclCurrentCounters,gauge,,,,,0,snmp,, -snmp.egressAclCurrentEntries,gauge,,,,"",0,snmp,, -snmp.egressAclCurrentMeters,gauge,,,,"",0,snmp,, -snmp.egressAclCurrentSlices,gauge,,,,"",0,snmp,, -snmp.egressAclMaxCounters,gauge,,,,"",0,snmp,, -snmp.egressAclMaxEntries,gauge,,,,"",0,snmp,, -snmp.egressAclMaxMeters,gauge,,,,"",0,snmp,, -snmp.egressAclMaxSlices,gauge,,,,"",0,snmp,, snmp.enclosurePowerSupplyState,gauge,,,,[Dell iDRAC] The current state of this power supply unit. Possible states: 1- The current state could not be determined. 2- The power supply unit is operating normally. 3- The power supply unit has encountered a hardware problem or is not responding. 4- The power supply unit is no longer connected to the enclosure or there exists a problem communicating to it. 5- The power supply unit is unstable.,0,snmp,, snmp.energyxy1s,count,,,,"[Legacy Chatsworth] The XY1 branch energy accumulated in decaWatt-secs, divide by 360 to obtain Watt-hr.",0,snmp,, snmp.energyxy2s,count,,,,"[Legacy Chatsworth] The XY2 branch energy accumulated in decaWatt-secs, divide by 360 to obtain Watt-hr.",0,snmp,, @@ -613,14 +635,6 @@ snmp.ifOutSpeed,gauge,,,,"[Generic router] An estimate of the interface's curren snmp.ifSpeed,gauge,,,,"[Generic router] An estimate of the interface's current bandwidth in bits per second, or the nominal bandwidth.",0,snmp,, snmp.ifsTotalBytes,gauge,,byte,,[Isilon] The total cluster capacity of the /ifs filesystem in bytes.,0,snmp,, snmp.ifsUsedBytes,gauge,,byte,,[Isilon] The number of bytes used in the /ifs filesystem.,0,snmp,, -snmp.ingressAclCurrentCounters,gauge,,,,"",0,snmp,, -snmp.ingressAclCurrentEntries,gauge,,,,"",0,snmp,, -snmp.ingressAclCurrentMeters,gauge,,,,"",0,snmp,, -snmp.ingressAclCurrentSlices,gauge,,,,"",0,snmp,, -snmp.ingressAclMaxCounters,gauge,,,,"",0,snmp,, -snmp.ingressAclMaxEntries,gauge,,,,"",0,snmp,, -snmp.ingressAclMaxMeters,gauge,,,,"",0,snmp,, -snmp.ingressAclMaxSlices,gauge,,,,"",0,snmp,, snmp.interface.status,gauge,,,,"For each interface of each monitored network device, this metric reports always 1 with the admin_status and oper_status as tags, as long as a 'combined' status that can be used for monitors.",0,snmp,, snmp.internal_analog1,gauge,,,,"[ROOMALERT32S-MIB] The current status of the Room Alert 32S analog input (0-5VDC).",0,snmp,, snmp.internal_analog2,gauge,,,,"[ROOMALERT32S-MIB] The current status of the Room Alert 32S analog input (0-5VDC).",0,snmp,, diff --git a/snmp/tests/compose/data/nvidia-cumulus-linux-switch.snmprec b/snmp/tests/compose/data/nvidia-cumulus-linux-switch.snmprec index e738fa4bd5acc..9614b22e7ce20 100644 --- a/snmp/tests/compose/data/nvidia-cumulus-linux-switch.snmprec +++ b/snmp/tests/compose/data/nvidia-cumulus-linux-switch.snmprec @@ -10,627 +10,7 @@ 1.3.6.1.2.1.99.1.1.1.6.8|4x|64726976696e672064726976696e6720666f727761726420616374656420746865697220627574 1.3.6.1.2.1.99.1.1.1.7.8|67|2113891456 1.3.6.1.2.1.99.1.1.1.8.8|66|6698 -1.3.6.1.4.1.2021.2.1.1.8|2|8 -1.3.6.1.4.1.2021.2.1.1.9|2|9 -1.3.6.1.4.1.2021.2.1.1.12|2|12 -1.3.6.1.4.1.2021.2.1.1.13|2|13 -1.3.6.1.4.1.2021.2.1.1.16|2|16 -1.3.6.1.4.1.2021.2.1.1.18|2|18 -1.3.6.1.4.1.2021.2.1.1.22|2|22 -1.3.6.1.4.1.2021.2.1.1.26|2|26 -1.3.6.1.4.1.2021.2.1.1.28|2|28 -1.3.6.1.4.1.2021.2.1.2.8|4x|7a6f6d62696573207a6f6d6269657320717561696e746c79204a61646564 -1.3.6.1.4.1.2021.2.1.2.9|4x|62757420666f7277617264206b65707420627574207468656972 -1.3.6.1.4.1.2021.2.1.2.12|4x|64726976696e6720717561696e746c792064726976696e67207468656972206f78656e20717561696e746c79 -1.3.6.1.4.1.2021.2.1.2.13|4x|4a616465642064726976696e67206163746564204a6164656420627574204a6164656420627574 -1.3.6.1.4.1.2021.2.1.2.16|4x|7a6f6d6269657320717561696e746c79206b657074206275742064726976696e67206f78656e -1.3.6.1.4.1.2021.2.1.2.18|4x|717561696e746c792064726976696e672061637465642064726976696e6720717561696e746c79 -1.3.6.1.4.1.2021.2.1.2.22|4x|4a61646564207a6f6d62696573204a6164656420717561696e746c792064726976696e67204a61646564206163746564 -1.3.6.1.4.1.2021.2.1.2.26|4x|717561696e746c79207a6f6d62696573206f78656e20616374656420627574204a61646564 -1.3.6.1.4.1.2021.2.1.2.28|4|kept -1.3.6.1.4.1.2021.2.1.3.8|2|19 -1.3.6.1.4.1.2021.2.1.3.9|2|4 -1.3.6.1.4.1.2021.2.1.3.12|2|30 -1.3.6.1.4.1.2021.2.1.3.13|2|29 -1.3.6.1.4.1.2021.2.1.3.16|2|2 -1.3.6.1.4.1.2021.2.1.3.18|2|24 -1.3.6.1.4.1.2021.2.1.3.22|2|26 -1.3.6.1.4.1.2021.2.1.3.26|2|1 -1.3.6.1.4.1.2021.2.1.3.28|2|13 -1.3.6.1.4.1.2021.2.1.4.8|2|10 -1.3.6.1.4.1.2021.2.1.4.9|2|7 -1.3.6.1.4.1.2021.2.1.4.12|2|12 -1.3.6.1.4.1.2021.2.1.4.13|2|14 -1.3.6.1.4.1.2021.2.1.4.16|2|8 -1.3.6.1.4.1.2021.2.1.4.18|2|7 -1.3.6.1.4.1.2021.2.1.4.22|2|27 -1.3.6.1.4.1.2021.2.1.4.26|2|15 -1.3.6.1.4.1.2021.2.1.4.28|2|28 -1.3.6.1.4.1.2021.2.1.5.8|2|17 -1.3.6.1.4.1.2021.2.1.5.9|2|7 -1.3.6.1.4.1.2021.2.1.5.12|2|29 -1.3.6.1.4.1.2021.2.1.5.13|2|16 -1.3.6.1.4.1.2021.2.1.5.16|2|3 -1.3.6.1.4.1.2021.2.1.5.18|2|30 -1.3.6.1.4.1.2021.2.1.5.22|2|10 -1.3.6.1.4.1.2021.2.1.5.26|2|25 -1.3.6.1.4.1.2021.2.1.5.28|2|27 -1.3.6.1.4.1.2021.2.1.100.8|2|0 -1.3.6.1.4.1.2021.2.1.100.9|2|1 -1.3.6.1.4.1.2021.2.1.100.12|2|1 -1.3.6.1.4.1.2021.2.1.100.13|2|1 -1.3.6.1.4.1.2021.2.1.100.16|2|1 -1.3.6.1.4.1.2021.2.1.100.18|2|1 -1.3.6.1.4.1.2021.2.1.100.22|2|1 -1.3.6.1.4.1.2021.2.1.100.26|2|0 -1.3.6.1.4.1.2021.2.1.100.28|2|0 -1.3.6.1.4.1.2021.2.1.101.8|4x|74686569722064726976696e672062757420717561696e746c7920717561696e746c79204a6164656420717561696e746c79 -1.3.6.1.4.1.2021.2.1.101.9|4x|746865697220666f7277617264 -1.3.6.1.4.1.2021.2.1.101.12|4x|6b65707420666f7277617264 -1.3.6.1.4.1.2021.2.1.101.13|4x|6f78656e20666f7277617264 -1.3.6.1.4.1.2021.2.1.101.16|4x|4a6164656420627574207468656972206b65707420666f7277617264206163746564206163746564 -1.3.6.1.4.1.2021.2.1.101.18|4|oxen -1.3.6.1.4.1.2021.2.1.101.22|4x|64726976696e672064726976696e67204a61646564207a6f6d62696573206163746564206163746564207468656972207468656972 -1.3.6.1.4.1.2021.2.1.101.26|4x|6163746564206163746564207a6f6d62696573204a61646564206163746564207468656972207a6f6d62696573204a61646564 -1.3.6.1.4.1.2021.2.1.101.28|4x|4a6164656420666f727761726420666f7277617264 -1.3.6.1.4.1.2021.2.1.102.8|2|0 -1.3.6.1.4.1.2021.2.1.102.9|2|0 -1.3.6.1.4.1.2021.2.1.102.12|2|0 -1.3.6.1.4.1.2021.2.1.102.13|2|1 -1.3.6.1.4.1.2021.2.1.102.16|2|0 -1.3.6.1.4.1.2021.2.1.102.18|2|1 -1.3.6.1.4.1.2021.2.1.102.22|2|1 -1.3.6.1.4.1.2021.2.1.102.26|2|0 -1.3.6.1.4.1.2021.2.1.102.28|2|0 -1.3.6.1.4.1.2021.2.1.103.8|4x|6163746564206163746564 -1.3.6.1.4.1.2021.2.1.103.9|4x|666f727761726420627574 -1.3.6.1.4.1.2021.2.1.103.12|4x|6f78656e206b65707420717561696e746c79206b6570742064726976696e67206f78656e2064726976696e67 -1.3.6.1.4.1.2021.2.1.103.13|4x|746865697220746865697220666f7277617264207468656972 -1.3.6.1.4.1.2021.2.1.103.16|4x|6163746564204a6164656420666f727761726420717561696e746c79206f78656e20717561696e746c79206f78656e206f78656e -1.3.6.1.4.1.2021.2.1.103.18|4x|6275742074686569722062757420717561696e746c79206b65707420666f727761726420666f727761726420666f7277617264207468656972 -1.3.6.1.4.1.2021.2.1.103.22|4|driving -1.3.6.1.4.1.2021.2.1.103.26|4x|6b65707420666f7277617264 -1.3.6.1.4.1.2021.2.1.103.28|4x|64726976696e67206163746564206b65707420666f7277617264207468656972204a61646564 -1.3.6.1.4.1.2021.4.1.0|2|30 -1.3.6.1.4.1.2021.4.2.0|4x|6163746564207a6f6d6269657320666f7277617264207a6f6d6269657320666f72776172642064726976696e67 -1.3.6.1.4.1.2021.4.3.0|2|15 -1.3.6.1.4.1.2021.4.4.0|2|29 -1.3.6.1.4.1.2021.4.5.0|2|100 -1.3.6.1.4.1.2021.4.6.0|2|6 -1.3.6.1.4.1.2021.4.7.0|2|18 -1.3.6.1.4.1.2021.4.8.0|2|26 -1.3.6.1.4.1.2021.4.9.0|2|28 -1.3.6.1.4.1.2021.4.10.0|2|30 -1.3.6.1.4.1.2021.4.11.0|2|25 -1.3.6.1.4.1.2021.4.12.0|2|7 -1.3.6.1.4.1.2021.4.13.0|2|27 -1.3.6.1.4.1.2021.4.14.0|2|2 -1.3.6.1.4.1.2021.4.15.0|2|9 -1.3.6.1.4.1.2021.4.16.0|2|10 -1.3.6.1.4.1.2021.4.17.0|2|10 -1.3.6.1.4.1.2021.4.18.0|70|9253206207748441229 -1.3.6.1.4.1.2021.4.19.0|70|11785170973037133405 -1.3.6.1.4.1.2021.4.20.0|70|11388472842522512652 -1.3.6.1.4.1.2021.4.21.0|70|9833651707363603798 -1.3.6.1.4.1.2021.4.22.0|70|14712992192966570015 -1.3.6.1.4.1.2021.4.23.0|70|10814744664204670215 -1.3.6.1.4.1.2021.4.24.0|70|12055371114851399788 -1.3.6.1.4.1.2021.4.25.0|70|15715739937260855669 -1.3.6.1.4.1.2021.4.26.0|70|17777497310521844855 -1.3.6.1.4.1.2021.4.100.0|2|1 -1.3.6.1.4.1.2021.4.101.0|4x|6163746564206b657074204a61646564206f78656e20717561696e746c7920627574206f78656e -1.3.6.1.4.1.2021.8.1.1.0|2|0 -1.3.6.1.4.1.2021.8.1.1.1|2|1 -1.3.6.1.4.1.2021.8.1.1.5|2|5 -1.3.6.1.4.1.2021.8.1.1.8|2|8 -1.3.6.1.4.1.2021.8.1.1.19|2|19 -1.3.6.1.4.1.2021.8.1.1.20|2|20 -1.3.6.1.4.1.2021.8.1.1.21|2|21 -1.3.6.1.4.1.2021.8.1.1.25|2|25 -1.3.6.1.4.1.2021.8.1.1.28|2|28 -1.3.6.1.4.1.2021.8.1.2.0|4x|6275742064726976696e672064726976696e6720666f7277617264206275742064726976696e67206f78656e -1.3.6.1.4.1.2021.8.1.2.1|4x|6f78656e2064726976696e67207a6f6d62696573206163746564207a6f6d6269657320746865697220666f7277617264207468656972204a61646564 -1.3.6.1.4.1.2021.8.1.2.5|4x|7468656972206f78656e207468656972206f78656e -1.3.6.1.4.1.2021.8.1.2.8|4x|64726976696e6720627574206b657074206163746564204a6164656420616374656420717561696e746c7920666f7277617264 -1.3.6.1.4.1.2021.8.1.2.19|4x|627574206b657074204a61646564 -1.3.6.1.4.1.2021.8.1.2.20|4x|666f72776172642062757420746865697220616374656420666f7277617264 -1.3.6.1.4.1.2021.8.1.2.21|4x|6b657074207468656972206f78656e206b6570742064726976696e67 -1.3.6.1.4.1.2021.8.1.2.25|4x|64726976696e67207a6f6d6269657320627574206f78656e -1.3.6.1.4.1.2021.8.1.2.28|4x|6b657074206f78656e20666f7277617264206f78656e207a6f6d62696573206f78656e -1.3.6.1.4.1.2021.8.1.3.0|4x|7468656972207a6f6d6269657320717561696e746c79 -1.3.6.1.4.1.2021.8.1.3.1|4x|4a61646564207468656972206f78656e2064726976696e67 -1.3.6.1.4.1.2021.8.1.3.5|4x|7468656972206163746564 -1.3.6.1.4.1.2021.8.1.3.8|4x|6f78656e207468656972206275742064726976696e67206f78656e206f78656e204a6164656420666f7277617264207a6f6d62696573 -1.3.6.1.4.1.2021.8.1.3.19|4x|746865697220627574206b6570742062757420717561696e746c7920666f7277617264 -1.3.6.1.4.1.2021.8.1.3.20|4x|61637465642064726976696e6720717561696e746c79 -1.3.6.1.4.1.2021.8.1.3.21|4x|6b6570742064726976696e67206b65707420717561696e746c79207468656972 -1.3.6.1.4.1.2021.8.1.3.25|4x|666f7277617264204a61646564204a6164656420627574 -1.3.6.1.4.1.2021.8.1.3.28|4|acted -1.3.6.1.4.1.2021.8.1.100.0|2|19 -1.3.6.1.4.1.2021.8.1.100.1|2|11 -1.3.6.1.4.1.2021.8.1.100.5|2|16 -1.3.6.1.4.1.2021.8.1.100.8|2|1 -1.3.6.1.4.1.2021.8.1.100.19|2|3 -1.3.6.1.4.1.2021.8.1.100.20|2|9 -1.3.6.1.4.1.2021.8.1.100.21|2|6 -1.3.6.1.4.1.2021.8.1.100.25|2|0 -1.3.6.1.4.1.2021.8.1.100.28|2|11 -1.3.6.1.4.1.2021.8.1.101.0|4x|64726976696e67206b65707420717561696e746c7920627574207a6f6d62696573206f78656e207468656972 -1.3.6.1.4.1.2021.8.1.101.1|4x|666f72776172642064726976696e6720666f7277617264 -1.3.6.1.4.1.2021.8.1.101.5|4x|7a6f6d626965732064726976696e67206b657074206b657074207a6f6d6269657320666f7277617264204a61646564 -1.3.6.1.4.1.2021.8.1.101.8|4x|6f78656e206f78656e206163746564206b657074 -1.3.6.1.4.1.2021.8.1.101.19|4x|666f727761726420666f72776172642064726976696e67204a61646564 -1.3.6.1.4.1.2021.8.1.101.20|4x|6163746564207468656972204a6164656420666f7277617264 -1.3.6.1.4.1.2021.8.1.101.21|4x|666f727761726420717561696e746c7920627574 -1.3.6.1.4.1.2021.8.1.101.25|4x|746865697220717561696e746c79 -1.3.6.1.4.1.2021.8.1.101.28|4x|4a6164656420717561696e746c792064726976696e672074686569722064726976696e67 -1.3.6.1.4.1.2021.8.1.102.0|2|0 -1.3.6.1.4.1.2021.8.1.102.1|2|1 -1.3.6.1.4.1.2021.8.1.102.5|2|1 -1.3.6.1.4.1.2021.8.1.102.8|2|1 -1.3.6.1.4.1.2021.8.1.102.19|2|0 -1.3.6.1.4.1.2021.8.1.102.20|2|1 -1.3.6.1.4.1.2021.8.1.102.21|2|1 -1.3.6.1.4.1.2021.8.1.102.25|2|1 -1.3.6.1.4.1.2021.8.1.102.28|2|1 -1.3.6.1.4.1.2021.8.1.103.0|4|kept -1.3.6.1.4.1.2021.8.1.103.1|4x|746865697220717561696e746c79 -1.3.6.1.4.1.2021.8.1.103.5|4x|6b6570742062757420666f72776172642064726976696e67 -1.3.6.1.4.1.2021.8.1.103.8|4x|627574206b657074206163746564204a61646564206f78656e207a6f6d62696573 -1.3.6.1.4.1.2021.8.1.103.19|4x|74686569722062757420627574206b65707420627574207a6f6d62696573206b657074207468656972 -1.3.6.1.4.1.2021.8.1.103.20|4x|4a6164656420627574206b657074 -1.3.6.1.4.1.2021.8.1.103.21|4|their -1.3.6.1.4.1.2021.8.1.103.25|4x|6163746564207a6f6d6269657320627574206b657074207a6f6d62696573206163746564204a61646564207a6f6d62696573 -1.3.6.1.4.1.2021.8.1.103.28|4|kept -1.3.6.1.4.1.2021.9.1.1.0|2|0 -1.3.6.1.4.1.2021.9.1.1.5|2|5 -1.3.6.1.4.1.2021.9.1.1.6|2|6 -1.3.6.1.4.1.2021.9.1.1.11|2|11 -1.3.6.1.4.1.2021.9.1.1.12|2|12 -1.3.6.1.4.1.2021.9.1.1.16|2|16 -1.3.6.1.4.1.2021.9.1.1.25|2|25 -1.3.6.1.4.1.2021.9.1.1.27|2|27 -1.3.6.1.4.1.2021.9.1.1.29|2|29 -1.3.6.1.4.1.2021.9.1.2.0|4x|6b6570742064726976696e672061637465642064726976696e67206b65707420717561696e746c79206f78656e20666f727761726420666f7277617264 -1.3.6.1.4.1.2021.9.1.2.5|4x|4a6164656420717561696e746c79207468656972 -1.3.6.1.4.1.2021.9.1.2.6|4x|746865697220717561696e746c79 -1.3.6.1.4.1.2021.9.1.2.11|4x|7468656972206163746564 -1.3.6.1.4.1.2021.9.1.2.12|4x|6b657074207a6f6d6269657320666f72776172642064726976696e6720666f7277617264 -1.3.6.1.4.1.2021.9.1.2.16|4x|666f7277617264207a6f6d6269657320627574 -1.3.6.1.4.1.2021.9.1.2.25|4|but -1.3.6.1.4.1.2021.9.1.2.27|4x|64726976696e6720666f7277617264 -1.3.6.1.4.1.2021.9.1.2.29|4x|7a6f6d62696573206f78656e20666f72776172642064726976696e67206163746564 -1.3.6.1.4.1.2021.9.1.3.0|4x|746865697220666f72776172642064726976696e67206b657074 -1.3.6.1.4.1.2021.9.1.3.5|4x|4a61646564206163746564207a6f6d62696573206f78656e -1.3.6.1.4.1.2021.9.1.3.6|4x|7a6f6d6269657320627574206b657074207a6f6d626965732064726976696e67204a61646564206f78656e206f78656e206f78656e -1.3.6.1.4.1.2021.9.1.3.11|4x|717561696e746c7920627574207468656972 -1.3.6.1.4.1.2021.9.1.3.12|4x|616374656420666f7277617264207a6f6d62696573206f78656e206b65707420666f727761726420627574 -1.3.6.1.4.1.2021.9.1.3.16|4x|4a61646564206f78656e2074686569722062757420666f72776172642064726976696e67206f78656e -1.3.6.1.4.1.2021.9.1.3.25|4x|666f7277617264206f78656e20666f7277617264206b657074 -1.3.6.1.4.1.2021.9.1.3.27|4|kept -1.3.6.1.4.1.2021.9.1.3.29|4x|666f72776172642064726976696e67206163746564 -1.3.6.1.4.1.2021.9.1.4.0|2|26 -1.3.6.1.4.1.2021.9.1.4.5|2|13 -1.3.6.1.4.1.2021.9.1.4.6|2|17 -1.3.6.1.4.1.2021.9.1.4.11|2|7 -1.3.6.1.4.1.2021.9.1.4.12|2|27 -1.3.6.1.4.1.2021.9.1.4.16|2|27 -1.3.6.1.4.1.2021.9.1.4.25|2|17 -1.3.6.1.4.1.2021.9.1.4.27|2|6 -1.3.6.1.4.1.2021.9.1.4.29|2|4 -1.3.6.1.4.1.2021.9.1.5.0|2|10 -1.3.6.1.4.1.2021.9.1.5.5|2|30 -1.3.6.1.4.1.2021.9.1.5.6|2|15 -1.3.6.1.4.1.2021.9.1.5.11|2|19 -1.3.6.1.4.1.2021.9.1.5.12|2|0 -1.3.6.1.4.1.2021.9.1.5.16|2|9 -1.3.6.1.4.1.2021.9.1.5.25|2|29 -1.3.6.1.4.1.2021.9.1.5.27|2|20 -1.3.6.1.4.1.2021.9.1.5.29|2|22 -1.3.6.1.4.1.2021.9.1.6.0|2|19 -1.3.6.1.4.1.2021.9.1.6.5|2|28 -1.3.6.1.4.1.2021.9.1.6.6|2|0 -1.3.6.1.4.1.2021.9.1.6.11|2|2 -1.3.6.1.4.1.2021.9.1.6.12|2|4 -1.3.6.1.4.1.2021.9.1.6.16|2|20 -1.3.6.1.4.1.2021.9.1.6.25|2|29 -1.3.6.1.4.1.2021.9.1.6.27|2|18 -1.3.6.1.4.1.2021.9.1.6.29|2|17 -1.3.6.1.4.1.2021.9.1.7.0|2|17 -1.3.6.1.4.1.2021.9.1.7.5|2|23 -1.3.6.1.4.1.2021.9.1.7.6|2|8 -1.3.6.1.4.1.2021.9.1.7.11|2|15 -1.3.6.1.4.1.2021.9.1.7.12|2|17 -1.3.6.1.4.1.2021.9.1.7.16|2|4 -1.3.6.1.4.1.2021.9.1.7.25|2|16 -1.3.6.1.4.1.2021.9.1.7.27|2|9 -1.3.6.1.4.1.2021.9.1.7.29|2|18 -1.3.6.1.4.1.2021.9.1.8.0|2|28 -1.3.6.1.4.1.2021.9.1.8.5|2|28 -1.3.6.1.4.1.2021.9.1.8.6|2|29 -1.3.6.1.4.1.2021.9.1.8.11|2|19 -1.3.6.1.4.1.2021.9.1.8.12|2|15 -1.3.6.1.4.1.2021.9.1.8.16|2|31 -1.3.6.1.4.1.2021.9.1.8.25|2|8 -1.3.6.1.4.1.2021.9.1.8.27|2|24 -1.3.6.1.4.1.2021.9.1.8.29|2|16 -1.3.6.1.4.1.2021.9.1.9.0|2|13 -1.3.6.1.4.1.2021.9.1.9.5|2|16 -1.3.6.1.4.1.2021.9.1.9.6|2|31 -1.3.6.1.4.1.2021.9.1.9.11|2|12 -1.3.6.1.4.1.2021.9.1.9.12|2|13 -1.3.6.1.4.1.2021.9.1.9.16|2|31 -1.3.6.1.4.1.2021.9.1.9.25|2|3 -1.3.6.1.4.1.2021.9.1.9.27|2|5 -1.3.6.1.4.1.2021.9.1.9.29|2|8 -1.3.6.1.4.1.2021.9.1.10.0|2|29 -1.3.6.1.4.1.2021.9.1.10.5|2|19 -1.3.6.1.4.1.2021.9.1.10.6|2|22 -1.3.6.1.4.1.2021.9.1.10.11|2|27 -1.3.6.1.4.1.2021.9.1.10.12|2|21 -1.3.6.1.4.1.2021.9.1.10.16|2|28 -1.3.6.1.4.1.2021.9.1.10.25|2|26 -1.3.6.1.4.1.2021.9.1.10.27|2|25 -1.3.6.1.4.1.2021.9.1.10.29|2|21 -1.3.6.1.4.1.2021.9.1.11.0|66|53832 -1.3.6.1.4.1.2021.9.1.11.5|66|56245 -1.3.6.1.4.1.2021.9.1.11.6|66|65448 -1.3.6.1.4.1.2021.9.1.11.11|66|64701 -1.3.6.1.4.1.2021.9.1.11.12|66|39494 -1.3.6.1.4.1.2021.9.1.11.16|66|49528 -1.3.6.1.4.1.2021.9.1.11.25|66|50382 -1.3.6.1.4.1.2021.9.1.11.27|66|25526 -1.3.6.1.4.1.2021.9.1.11.29|66|31303 -1.3.6.1.4.1.2021.9.1.12.0|66|3283 -1.3.6.1.4.1.2021.9.1.12.5|66|46671 -1.3.6.1.4.1.2021.9.1.12.6|66|20673 -1.3.6.1.4.1.2021.9.1.12.11|66|16821 -1.3.6.1.4.1.2021.9.1.12.12|66|53921 -1.3.6.1.4.1.2021.9.1.12.16|66|24478 -1.3.6.1.4.1.2021.9.1.12.25|66|44973 -1.3.6.1.4.1.2021.9.1.12.27|66|25031 -1.3.6.1.4.1.2021.9.1.12.29|66|52981 -1.3.6.1.4.1.2021.9.1.13.0|66|40003 -1.3.6.1.4.1.2021.9.1.13.5|66|20306 -1.3.6.1.4.1.2021.9.1.13.6|66|45642 -1.3.6.1.4.1.2021.9.1.13.11|66|26576 -1.3.6.1.4.1.2021.9.1.13.12|66|40222 -1.3.6.1.4.1.2021.9.1.13.16|66|16149 -1.3.6.1.4.1.2021.9.1.13.25|66|27798 -1.3.6.1.4.1.2021.9.1.13.27|66|18724 -1.3.6.1.4.1.2021.9.1.13.29|66|58455 -1.3.6.1.4.1.2021.9.1.14.0|66|16526 -1.3.6.1.4.1.2021.9.1.14.5|66|22993 -1.3.6.1.4.1.2021.9.1.14.6|66|4585 -1.3.6.1.4.1.2021.9.1.14.11|66|32477 -1.3.6.1.4.1.2021.9.1.14.12|66|13860 -1.3.6.1.4.1.2021.9.1.14.16|66|32309 -1.3.6.1.4.1.2021.9.1.14.25|66|2500 -1.3.6.1.4.1.2021.9.1.14.27|66|12024 -1.3.6.1.4.1.2021.9.1.14.29|66|15717 -1.3.6.1.4.1.2021.9.1.15.0|66|51695 -1.3.6.1.4.1.2021.9.1.15.5|66|5583 -1.3.6.1.4.1.2021.9.1.15.6|66|40781 -1.3.6.1.4.1.2021.9.1.15.11|66|45406 -1.3.6.1.4.1.2021.9.1.15.12|66|12787 -1.3.6.1.4.1.2021.9.1.15.16|66|6432 -1.3.6.1.4.1.2021.9.1.15.25|66|42338 -1.3.6.1.4.1.2021.9.1.15.27|66|10836 -1.3.6.1.4.1.2021.9.1.15.29|66|52296 -1.3.6.1.4.1.2021.9.1.16.0|66|64161 -1.3.6.1.4.1.2021.9.1.16.5|66|51417 -1.3.6.1.4.1.2021.9.1.16.6|66|19928 -1.3.6.1.4.1.2021.9.1.16.11|66|52786 -1.3.6.1.4.1.2021.9.1.16.12|66|37436 -1.3.6.1.4.1.2021.9.1.16.16|66|60495 -1.3.6.1.4.1.2021.9.1.16.25|66|57479 -1.3.6.1.4.1.2021.9.1.16.27|66|55221 -1.3.6.1.4.1.2021.9.1.16.29|66|37465 -1.3.6.1.4.1.2021.9.1.100.0|2|1 -1.3.6.1.4.1.2021.9.1.100.5|2|0 -1.3.6.1.4.1.2021.9.1.100.6|2|1 -1.3.6.1.4.1.2021.9.1.100.11|2|0 -1.3.6.1.4.1.2021.9.1.100.12|2|1 -1.3.6.1.4.1.2021.9.1.100.16|2|1 -1.3.6.1.4.1.2021.9.1.100.25|2|0 -1.3.6.1.4.1.2021.9.1.100.27|2|1 -1.3.6.1.4.1.2021.9.1.100.29|2|1 -1.3.6.1.4.1.2021.9.1.101.0|4x|7a6f6d62696573207468656972206b657074 -1.3.6.1.4.1.2021.9.1.101.5|4x|6b657074206f78656e2062757420616374656420717561696e746c79206163746564 -1.3.6.1.4.1.2021.9.1.101.6|4x|717561696e746c792074686569722064726976696e67206f78656e -1.3.6.1.4.1.2021.9.1.101.11|4x|7468656972206f78656e207a6f6d6269657320666f7277617264206b657074206b65707420666f727761726420627574 -1.3.6.1.4.1.2021.9.1.101.12|4x|4a616465642064726976696e67207a6f6d62696573206b657074 -1.3.6.1.4.1.2021.9.1.101.16|4x|6f78656e206b657074207a6f6d626965732061637465642064726976696e67206b657074 -1.3.6.1.4.1.2021.9.1.101.25|4x|6f78656e206f78656e2064726976696e6720627574206163746564206163746564 -1.3.6.1.4.1.2021.9.1.101.27|4x|6163746564206f78656e207a6f6d62696573206f78656e206163746564 -1.3.6.1.4.1.2021.9.1.101.29|4x|61637465642061637465642064726976696e6720627574206163746564207468656972207468656972207a6f6d626965732064726976696e67 -1.3.6.1.4.1.2021.10.1.1.0|2|0 -1.3.6.1.4.1.2021.10.1.1.1|2|1 -1.3.6.1.4.1.2021.10.1.1.2|2|2 -1.3.6.1.4.1.2021.10.1.1.3|2|3 -1.3.6.1.4.1.2021.10.1.2.0|4x|62757420627574206f78656e2064726976696e67206163746564206b6570742062757420666f7277617264 -1.3.6.1.4.1.2021.10.1.2.1|4x|4a6164656420666f7277617264206b6570742074686569722064726976696e672074686569722064726976696e67206b657074 -1.3.6.1.4.1.2021.10.1.2.2|4x|6f78656e2061637465642064726976696e67207a6f6d626965732064726976696e67207468656972207468656972207a6f6d62696573207468656972 -1.3.6.1.4.1.2021.10.1.2.3|4x|717561696e746c79206b657074204a61646564206f78656e206163746564206b657074207a6f6d62696573204a61646564 -1.3.6.1.4.1.2021.10.1.3.0|4x|64726976696e67206f78656e20717561696e746c79206b657074206b65707420746865697220616374656420666f7277617264 -1.3.6.1.4.1.2021.10.1.3.1|4x|6163746564206f78656e2064726976696e6720616374656420746865697220627574 -1.3.6.1.4.1.2021.10.1.3.2|4x|717561696e746c79207468656972206b65707420666f7277617264204a61646564 -1.3.6.1.4.1.2021.10.1.3.3|4x|717561696e746c7920666f727761726420717561696e746c7920627574206163746564 -1.3.6.1.4.1.2021.10.1.4.0|4|oxen -1.3.6.1.4.1.2021.10.1.4.1|4x|6f78656e20666f727761726420746865697220627574 -1.3.6.1.4.1.2021.10.1.4.2|4x|717561696e746c79207a6f6d626965732074686569722064726976696e67204a61646564 -1.3.6.1.4.1.2021.10.1.4.3|4x|6b657074204a6164656420666f7277617264204a616465642064726976696e67204a61646564207a6f6d62696573 -1.3.6.1.4.1.2021.10.1.5.0|2|27 -1.3.6.1.4.1.2021.10.1.5.1|2|28 -1.3.6.1.4.1.2021.10.1.5.2|2|9 -1.3.6.1.4.1.2021.10.1.5.3|2|20 -1.3.6.1.4.1.2021.10.1.6.0|68|driving -1.3.6.1.4.1.2021.10.1.6.1|68|zombies -1.3.6.1.4.1.2021.10.1.6.2|68|forward -1.3.6.1.4.1.2021.10.1.6.3|68|forward -1.3.6.1.4.1.2021.10.1.100.0|2|1 -1.3.6.1.4.1.2021.10.1.100.1|2|0 -1.3.6.1.4.1.2021.10.1.100.2|2|1 -1.3.6.1.4.1.2021.10.1.100.3|2|1 -1.3.6.1.4.1.2021.10.1.101.0|4x|7468656972206f78656e207468656972206b657074206f78656e20666f727761726420627574204a61646564207a6f6d62696573 -1.3.6.1.4.1.2021.10.1.101.1|4x|7468656972206b65707420717561696e746c79207468656972 -1.3.6.1.4.1.2021.10.1.101.2|4x|717561696e746c792064726976696e67207a6f6d62696573206b657074206b657074206b657074206b657074 -1.3.6.1.4.1.2021.10.1.101.3|4|zombies -1.3.6.1.4.1.2021.11.1.0|2|14 -1.3.6.1.4.1.2021.11.2.0|4x|64726976696e67207a6f6d62696573 -1.3.6.1.4.1.2021.11.3.0|2|20 -1.3.6.1.4.1.2021.11.4.0|2|19 -1.3.6.1.4.1.2021.11.5.0|2|27 -1.3.6.1.4.1.2021.11.6.0|2|18 -1.3.6.1.4.1.2021.11.7.0|2|14 -1.3.6.1.4.1.2021.11.8.0|2|0 -1.3.6.1.4.1.2021.11.9.0|2|20 -1.3.6.1.4.1.2021.11.10.0|2|2 -1.3.6.1.4.1.2021.11.11.0|2|5 -1.3.6.1.4.1.2021.11.50.0|65|1360019946 -1.3.6.1.4.1.2021.11.51.0|65|4093193750 -1.3.6.1.4.1.2021.11.52.0|65|2952842507 -1.3.6.1.4.1.2021.11.53.0|65|1863987227 -1.3.6.1.4.1.2021.11.54.0|65|202680328 -1.3.6.1.4.1.2021.11.55.0|65|1635548004 -1.3.6.1.4.1.2021.11.56.0|65|1899668097 -1.3.6.1.4.1.2021.11.57.0|65|2552535614 -1.3.6.1.4.1.2021.11.58.0|65|2280801940 -1.3.6.1.4.1.2021.11.59.0|65|4115348165 -1.3.6.1.4.1.2021.11.60.0|65|2032530990 -1.3.6.1.4.1.2021.11.61.0|65|3386999764 -1.3.6.1.4.1.2021.11.62.0|65|3697257621 -1.3.6.1.4.1.2021.11.63.0|65|1803978568 -1.3.6.1.4.1.2021.11.64.0|65|2885231697 -1.3.6.1.4.1.2021.11.65.0|65|2779844757 -1.3.6.1.4.1.2021.11.66.0|65|2900350166 -1.3.6.1.4.1.2021.11.67.0|2|31 -1.3.6.1.4.1.2021.15.1.1.2|2|2 -1.3.6.1.4.1.2021.15.1.1.8|2|8 -1.3.6.1.4.1.2021.15.1.1.9|2|9 -1.3.6.1.4.1.2021.15.1.1.10|2|10 -1.3.6.1.4.1.2021.15.1.1.12|2|12 -1.3.6.1.4.1.2021.15.1.1.13|2|13 -1.3.6.1.4.1.2021.15.1.1.14|2|14 -1.3.6.1.4.1.2021.15.1.1.19|2|19 -1.3.6.1.4.1.2021.15.1.1.21|2|21 -1.3.6.1.4.1.2021.15.1.1.28|2|28 -1.3.6.1.4.1.2021.15.1.2.2|4x|7a6f6d62696573206f78656e -1.3.6.1.4.1.2021.15.1.2.8|4x|7a6f6d6269657320717561696e746c7920717561696e746c792064726976696e67206b657074 -1.3.6.1.4.1.2021.15.1.2.9|4|oxen -1.3.6.1.4.1.2021.15.1.2.10|4x|4a61646564207a6f6d626965732061637465642064726976696e6720717561696e746c792064726976696e67207a6f6d62696573206163746564 -1.3.6.1.4.1.2021.15.1.2.12|4x|4a6164656420717561696e746c79207468656972206b657074 -1.3.6.1.4.1.2021.15.1.2.13|4x|64726976696e6720666f7277617264206b657074206f78656e20666f7277617264206163746564206f78656e -1.3.6.1.4.1.2021.15.1.2.14|4|zombies -1.3.6.1.4.1.2021.15.1.2.19|4x|6163746564204a616465642064726976696e6720627574 -1.3.6.1.4.1.2021.15.1.2.21|4x|717561696e746c7920627574204a616465642064726976696e6720717561696e746c79206f78656e204a61646564 -1.3.6.1.4.1.2021.15.1.2.28|4x|6f78656e204a61646564206275742064726976696e67206f78656e20666f7277617264 -1.3.6.1.4.1.2021.15.1.3.2|2|5 -1.3.6.1.4.1.2021.15.1.3.8|2|17 -1.3.6.1.4.1.2021.15.1.3.9|2|25 -1.3.6.1.4.1.2021.15.1.3.10|2|20 -1.3.6.1.4.1.2021.15.1.3.12|2|8 -1.3.6.1.4.1.2021.15.1.3.13|2|27 -1.3.6.1.4.1.2021.15.1.3.14|2|7 -1.3.6.1.4.1.2021.15.1.3.19|2|5 -1.3.6.1.4.1.2021.15.1.3.21|2|14 -1.3.6.1.4.1.2021.15.1.3.28|2|14 -1.3.6.1.4.1.2021.15.1.4.2|2|5 -1.3.6.1.4.1.2021.15.1.4.8|2|28 -1.3.6.1.4.1.2021.15.1.4.9|2|28 -1.3.6.1.4.1.2021.15.1.4.10|2|14 -1.3.6.1.4.1.2021.15.1.4.12|2|18 -1.3.6.1.4.1.2021.15.1.4.13|2|21 -1.3.6.1.4.1.2021.15.1.4.14|2|6 -1.3.6.1.4.1.2021.15.1.4.19|2|1 -1.3.6.1.4.1.2021.15.1.4.21|2|1 -1.3.6.1.4.1.2021.15.1.4.28|2|5 -1.3.6.1.4.1.2021.15.1.100.2|2|1 -1.3.6.1.4.1.2021.15.1.100.8|2|1 -1.3.6.1.4.1.2021.15.1.100.9|2|1 -1.3.6.1.4.1.2021.15.1.100.10|2|1 -1.3.6.1.4.1.2021.15.1.100.12|2|1 -1.3.6.1.4.1.2021.15.1.100.13|2|1 -1.3.6.1.4.1.2021.15.1.100.14|2|1 -1.3.6.1.4.1.2021.15.1.100.19|2|0 -1.3.6.1.4.1.2021.15.1.100.21|2|1 -1.3.6.1.4.1.2021.15.1.100.28|2|1 -1.3.6.1.4.1.2021.15.1.101.2|4x|64726976696e6720717561696e746c7920666f72776172642064726976696e6720666f7277617264206b65707420666f7277617264204a61646564206163746564 -1.3.6.1.4.1.2021.15.1.101.8|4x|717561696e746c7920666f727761726420717561696e746c79207a6f6d6269657320746865697220666f7277617264206b657074 -1.3.6.1.4.1.2021.15.1.101.9|4x|64726976696e672064726976696e67206163746564206b657074 -1.3.6.1.4.1.2021.15.1.101.10|4|their -1.3.6.1.4.1.2021.15.1.101.12|4x|6f78656e206163746564206f78656e206b657074206f78656e20627574206f78656e -1.3.6.1.4.1.2021.15.1.101.13|4x|64726976696e67207a6f6d62696573207468656972 -1.3.6.1.4.1.2021.15.1.101.14|4x|64726976696e67206275742064726976696e6720717561696e746c79207468656972206b657074 -1.3.6.1.4.1.2021.15.1.101.19|4|quaintly -1.3.6.1.4.1.2021.15.1.101.21|4x|6f78656e207a6f6d62696573206163746564 -1.3.6.1.4.1.2021.15.1.101.28|4x|7a6f6d626965732064726976696e672064726976696e672062757420616374656420666f7277617264207468656972 -1.3.6.1.4.1.2021.16.1.0|2|30 -1.3.6.1.4.1.2021.16.2.1.1.4|2|4 -1.3.6.1.4.1.2021.16.2.1.1.8|2|8 -1.3.6.1.4.1.2021.16.2.1.1.10|2|10 -1.3.6.1.4.1.2021.16.2.1.1.16|2|16 -1.3.6.1.4.1.2021.16.2.1.1.19|2|19 -1.3.6.1.4.1.2021.16.2.1.1.20|2|20 -1.3.6.1.4.1.2021.16.2.1.1.26|2|26 -1.3.6.1.4.1.2021.16.2.1.1.27|2|27 -1.3.6.1.4.1.2021.16.2.1.1.30|2|30 -1.3.6.1.4.1.2021.16.2.1.1.31|2|31 -1.3.6.1.4.1.2021.16.2.1.2.4|4x|7468656972207a6f6d62696573 -1.3.6.1.4.1.2021.16.2.1.2.8|4x|616374656420717561696e746c79206f78656e20717561696e746c79 -1.3.6.1.4.1.2021.16.2.1.2.10|4x|746865697220717561696e746c79206b657074207a6f6d626965732064726976696e6720666f727761726420666f7277617264 -1.3.6.1.4.1.2021.16.2.1.2.16|4x|7468656972207a6f6d6269657320717561696e746c79 -1.3.6.1.4.1.2021.16.2.1.2.19|4x|666f7277617264207468656972 -1.3.6.1.4.1.2021.16.2.1.2.20|4x|7468656972207a6f6d626965732064726976696e6720666f727761726420666f727761726420666f7277617264206b657074206b657074 -1.3.6.1.4.1.2021.16.2.1.2.26|4x|64726976696e672064726976696e67206f78656e20666f7277617264207468656972207468656972204a61646564206b657074207468656972 -1.3.6.1.4.1.2021.16.2.1.2.27|4x|6b657074206f78656e206163746564 -1.3.6.1.4.1.2021.16.2.1.2.30|4x|4a616465642062757420746865697220746865697220717561696e746c79206b6570742064726976696e67207468656972206b657074 -1.3.6.1.4.1.2021.16.2.1.2.31|4x|4a61646564206163746564 -1.3.6.1.4.1.2021.16.2.1.3.4|4x|746865697220666f727761726420616374656420627574 -1.3.6.1.4.1.2021.16.2.1.3.8|4x|4a61646564207a6f6d62696573206163746564206163746564206163746564 -1.3.6.1.4.1.2021.16.2.1.3.10|4x|6b657074204a61646564 -1.3.6.1.4.1.2021.16.2.1.3.16|4x|6f78656e206163746564206f78656e20717561696e746c792064726976696e6720746865697220717561696e746c792064726976696e67 -1.3.6.1.4.1.2021.16.2.1.3.19|4x|6b6570742064726976696e6720717561696e746c792064726976696e67206f78656e20746865697220627574206163746564 -1.3.6.1.4.1.2021.16.2.1.3.20|4x|7a6f6d62696573206b65707420717561696e746c79206b657074206b657074 -1.3.6.1.4.1.2021.16.2.1.3.26|4x|717561696e746c79207a6f6d62696573204a61646564 -1.3.6.1.4.1.2021.16.2.1.3.27|4x|717561696e746c79207a6f6d62696573207468656972204a61646564 -1.3.6.1.4.1.2021.16.2.1.3.30|4x|6163746564206275742064726976696e67 -1.3.6.1.4.1.2021.16.2.1.3.31|4|kept -1.3.6.1.4.1.2021.16.2.1.4.4|4x|627574204a61646564204a61646564206b65707420717561696e746c792064726976696e67207a6f6d62696573 -1.3.6.1.4.1.2021.16.2.1.4.8|4x|616374656420666f727761726420627574206f78656e2064726976696e67207a6f6d6269657320627574206b65707420717561696e746c79 -1.3.6.1.4.1.2021.16.2.1.4.10|4x|6b65707420666f72776172642064726976696e67 -1.3.6.1.4.1.2021.16.2.1.4.16|4x|7468656972206163746564206275742064726976696e67206b657074206b657074206f78656e -1.3.6.1.4.1.2021.16.2.1.4.19|4x|64726976696e67206f78656e20666f7277617264 -1.3.6.1.4.1.2021.16.2.1.4.20|4x|627574206163746564 -1.3.6.1.4.1.2021.16.2.1.4.26|4x|717561696e746c79206b657074206b65707420666f72776172642064726976696e672064726976696e6720616374656420666f7277617264204a61646564 -1.3.6.1.4.1.2021.16.2.1.4.27|4x|6163746564206f78656e206163746564206f78656e20627574206f78656e -1.3.6.1.4.1.2021.16.2.1.4.30|4x|6b657074206163746564206b65707420717561696e746c79 -1.3.6.1.4.1.2021.16.2.1.4.31|4x|6163746564206b65707420666f7277617264206f78656e -1.3.6.1.4.1.2021.16.2.1.5.4|65|2246915097 -1.3.6.1.4.1.2021.16.2.1.5.8|65|1934222647 -1.3.6.1.4.1.2021.16.2.1.5.10|65|2223385844 -1.3.6.1.4.1.2021.16.2.1.5.16|65|1087223332 -1.3.6.1.4.1.2021.16.2.1.5.19|65|3383597188 -1.3.6.1.4.1.2021.16.2.1.5.20|65|394446279 -1.3.6.1.4.1.2021.16.2.1.5.26|65|3021003849 -1.3.6.1.4.1.2021.16.2.1.5.27|65|518484649 -1.3.6.1.4.1.2021.16.2.1.5.30|65|2582545660 -1.3.6.1.4.1.2021.16.2.1.5.31|65|1134396021 -1.3.6.1.4.1.2021.16.2.1.6.4|2|26 -1.3.6.1.4.1.2021.16.2.1.6.8|2|17 -1.3.6.1.4.1.2021.16.2.1.6.10|2|4 -1.3.6.1.4.1.2021.16.2.1.6.16|2|21 -1.3.6.1.4.1.2021.16.2.1.6.19|2|20 -1.3.6.1.4.1.2021.16.2.1.6.20|2|26 -1.3.6.1.4.1.2021.16.2.1.6.26|2|9 -1.3.6.1.4.1.2021.16.2.1.6.27|2|3 -1.3.6.1.4.1.2021.16.2.1.6.30|2|24 -1.3.6.1.4.1.2021.16.2.1.6.31|2|10 -1.3.6.1.4.1.2021.16.2.1.7.4|65|3358462297 -1.3.6.1.4.1.2021.16.2.1.7.8|65|3221613664 -1.3.6.1.4.1.2021.16.2.1.7.10|65|3197918134 -1.3.6.1.4.1.2021.16.2.1.7.16|65|174886261 -1.3.6.1.4.1.2021.16.2.1.7.19|65|2033396493 -1.3.6.1.4.1.2021.16.2.1.7.20|65|1020567901 -1.3.6.1.4.1.2021.16.2.1.7.26|65|1802767964 -1.3.6.1.4.1.2021.16.2.1.7.27|65|728709165 -1.3.6.1.4.1.2021.16.2.1.7.30|65|3784324956 -1.3.6.1.4.1.2021.16.2.1.7.31|65|2733470158 -1.3.6.1.4.1.2021.16.2.1.8.4|2|20 -1.3.6.1.4.1.2021.16.2.1.8.8|2|19 -1.3.6.1.4.1.2021.16.2.1.8.10|2|18 -1.3.6.1.4.1.2021.16.2.1.8.16|2|1 -1.3.6.1.4.1.2021.16.2.1.8.19|2|2 -1.3.6.1.4.1.2021.16.2.1.8.20|2|24 -1.3.6.1.4.1.2021.16.2.1.8.26|2|1 -1.3.6.1.4.1.2021.16.2.1.8.27|2|6 -1.3.6.1.4.1.2021.16.2.1.8.30|2|8 -1.3.6.1.4.1.2021.16.2.1.8.31|2|0 -1.3.6.1.4.1.2021.16.2.1.9.4|65|1037253018 -1.3.6.1.4.1.2021.16.2.1.9.8|65|2251525434 -1.3.6.1.4.1.2021.16.2.1.9.10|65|867681414 -1.3.6.1.4.1.2021.16.2.1.9.16|65|1969893082 -1.3.6.1.4.1.2021.16.2.1.9.19|65|647538092 -1.3.6.1.4.1.2021.16.2.1.9.20|65|932030644 -1.3.6.1.4.1.2021.16.2.1.9.26|65|2498980554 -1.3.6.1.4.1.2021.16.2.1.9.27|65|3001160951 -1.3.6.1.4.1.2021.16.2.1.9.30|65|2699406239 -1.3.6.1.4.1.2021.16.2.1.9.31|65|2710262207 -1.3.6.1.4.1.2021.16.2.1.10.4|2|27 -1.3.6.1.4.1.2021.16.2.1.10.8|2|17 -1.3.6.1.4.1.2021.16.2.1.10.10|2|22 -1.3.6.1.4.1.2021.16.2.1.10.16|2|1 -1.3.6.1.4.1.2021.16.2.1.10.19|2|6 -1.3.6.1.4.1.2021.16.2.1.10.20|2|30 -1.3.6.1.4.1.2021.16.2.1.10.26|2|26 -1.3.6.1.4.1.2021.16.2.1.10.27|2|23 -1.3.6.1.4.1.2021.16.2.1.10.30|2|24 -1.3.6.1.4.1.2021.16.2.1.10.31|2|2 -1.3.6.1.4.1.2021.16.2.1.11.4|2|16 -1.3.6.1.4.1.2021.16.2.1.11.8|2|3 -1.3.6.1.4.1.2021.16.2.1.11.10|2|28 -1.3.6.1.4.1.2021.16.2.1.11.16|2|15 -1.3.6.1.4.1.2021.16.2.1.11.19|2|24 -1.3.6.1.4.1.2021.16.2.1.11.20|2|30 -1.3.6.1.4.1.2021.16.2.1.11.26|2|1 -1.3.6.1.4.1.2021.16.2.1.11.27|2|25 -1.3.6.1.4.1.2021.16.2.1.11.30|2|4 -1.3.6.1.4.1.2021.16.2.1.11.31|2|6 -1.3.6.1.4.1.2021.16.2.1.100.4|2|1 -1.3.6.1.4.1.2021.16.2.1.100.8|2|0 -1.3.6.1.4.1.2021.16.2.1.100.10|2|1 -1.3.6.1.4.1.2021.16.2.1.100.16|2|1 -1.3.6.1.4.1.2021.16.2.1.100.19|2|0 -1.3.6.1.4.1.2021.16.2.1.100.20|2|1 -1.3.6.1.4.1.2021.16.2.1.100.26|2|1 -1.3.6.1.4.1.2021.16.2.1.100.27|2|0 -1.3.6.1.4.1.2021.16.2.1.100.30|2|0 -1.3.6.1.4.1.2021.16.2.1.100.31|2|0 -1.3.6.1.4.1.2021.16.2.1.101.4|4x|746865697220666f727761726420666f7277617264207a6f6d6269657320616374656420627574 -1.3.6.1.4.1.2021.16.2.1.101.8|4x|7468656972207468656972 -1.3.6.1.4.1.2021.16.2.1.101.10|4x|64726976696e6720627574204a61646564204a61646564207a6f6d6269657320746865697220717561696e746c7920627574 -1.3.6.1.4.1.2021.16.2.1.101.16|4x|7a6f6d62696573206f78656e206f78656e20717561696e746c79206f78656e207468656972 -1.3.6.1.4.1.2021.16.2.1.101.19|4x|717561696e746c7920666f72776172642061637465642064726976696e67204a6164656420666f7277617264 -1.3.6.1.4.1.2021.16.2.1.101.20|4|zombies -1.3.6.1.4.1.2021.16.2.1.101.26|4x|717561696e746c7920666f727761726420627574206b657074207468656972 -1.3.6.1.4.1.2021.16.2.1.101.27|4x|666f72776172642064726976696e67204a6164656420746865697220746865697220717561696e746c79 -1.3.6.1.4.1.2021.16.2.1.101.30|4x|74686569722064726976696e6720666f7277617264206b657074206f78656e206163746564 -1.3.6.1.4.1.2021.16.2.1.101.31|4x|717561696e746c79207468656972206163746564206f78656e2064726976696e67 -1.3.6.1.4.1.2021.100.1.0|2|20 -1.3.6.1.4.1.2021.100.2.0|4x|627574204a61646564206b657074207a6f6d62696573206275742064726976696e672064726976696e67206f78656e -1.3.6.1.4.1.2021.100.3.0|4x|666f72776172642064726976696e67207a6f6d62696573206f78656e2074686569722064726976696e6720616374656420717561696e746c79204a61646564 -1.3.6.1.4.1.2021.100.4.0|4x|666f7277617264204a616465642064726976696e67207468656972 -1.3.6.1.4.1.2021.100.5.0|4|forward -1.3.6.1.4.1.2021.100.6.0|4|acted -1.3.6.1.4.1.2021.100.10.0|2|11 -1.3.6.1.4.1.2021.100.11.0|2|14 -1.3.6.1.4.1.2021.100.12.0|2|12 -1.3.6.1.4.1.2021.100.13.0|2|8 -1.3.6.1.4.1.2021.100.20.0|2|16 -1.3.6.1.4.1.2021.101.1.0|2|3 -1.3.6.1.4.1.2021.101.2.0|4|quaintly -1.3.6.1.4.1.2021.101.100.0|2|1 -1.3.6.1.4.1.2021.101.101.0|4x|64726976696e67206163746564207468656972207a6f6d62696573206b65707420717561696e746c79206b657074206b657074204a61646564 -1.3.6.1.4.1.2021.102.1.1.1.3.6.1.3.25.234.215.223.74.135.204.229.121|6|1.3.6.1.3.25.234.215.223.74.135.204.229.121 -1.3.6.1.4.1.2021.102.1.1.1.3.6.1.3.62|6|1.3.6.1.3.62 -1.3.6.1.4.1.2021.102.1.1.1.3.6.1.3.65|6|1.3.6.1.3.65 -1.3.6.1.4.1.2021.102.1.1.1.3.6.1.3.83.82.133.40.102.198|6|1.3.6.1.3.83.82.133.40.102.198 -1.3.6.1.4.1.2021.102.1.1.1.3.6.1.3.125.253.118.113|6|1.3.6.1.3.125.253.118.113 -1.3.6.1.4.1.2021.102.1.1.1.3.6.1.3.144.123.146.211.133.161.104.45|6|1.3.6.1.3.144.123.146.211.133.161.104.45 -1.3.6.1.4.1.2021.102.1.1.1.3.6.1.3.145.123.23.219.70.57.149.167.218|6|1.3.6.1.3.145.123.23.219.70.57.149.167.218 -1.3.6.1.4.1.2021.102.1.1.1.3.6.1.3.152.241|6|1.3.6.1.3.152.241 -1.3.6.1.4.1.2021.102.1.1.1.3.6.1.3.210.160.177.38.163.64.57|6|1.3.6.1.3.210.160.177.38.163.64.57 -1.3.6.1.4.1.2021.102.1.1.1.3.6.1.3|6|1.3.6.1.3 -1.3.6.1.4.1.2021.102.1.2.1.3.6.1.3.25.234.215.223.74.135.204.229.121|4x|717561696e746c79207a6f6d62696573204a61646564 -1.3.6.1.4.1.2021.102.1.2.1.3.6.1.3.62|4x|6b657074204a61646564207468656972206163746564204a6164656420616374656420627574206163746564207a6f6d62696573 -1.3.6.1.4.1.2021.102.1.2.1.3.6.1.3.65|4x|666f727761726420666f727761726420717561696e746c7920717561696e746c79 -1.3.6.1.4.1.2021.102.1.2.1.3.6.1.3.83.82.133.40.102.198|4x|64726976696e6720666f7277617264207a6f6d626965732064726976696e6720627574206b657074204a61646564206163746564 -1.3.6.1.4.1.2021.102.1.2.1.3.6.1.3.125.253.118.113|4x|616374656420627574206b657074207a6f6d62696573207468656972206163746564 -1.3.6.1.4.1.2021.102.1.2.1.3.6.1.3.144.123.146.211.133.161.104.45|4x|7a6f6d626965732064726976696e6720717561696e746c792064726976696e6720616374656420666f7277617264 -1.3.6.1.4.1.2021.102.1.2.1.3.6.1.3.145.123.23.219.70.57.149.167.218|4x|4a6164656420666f727761726420717561696e746c7920666f7277617264 -1.3.6.1.4.1.2021.102.1.2.1.3.6.1.3.152.241|4x|6b65707420627574 -1.3.6.1.4.1.2021.102.1.2.1.3.6.1.3.210.160.177.38.163.64.57|4x|627574207a6f6d6269657320627574207a6f6d62696573206f78656e206b657074206b657074 -1.3.6.1.4.1.2021.102.1.2.1.3.6.1.3|4x|746865697220616374656420717561696e746c79 +1.3.6.1.4.1.2021.4.3.0|2|1048572 1.3.6.1.4.1.40310.1.1.1.0|2|11 1.3.6.1.4.1.40310.1.1.2.0|2|2 1.3.6.1.4.1.40310.1.1.3.0|2|7 @@ -943,4 +323,4 @@ 1.3.6.1.6.3.10.2.1.1.0|4x|4a616465642062757420666f7277617264 1.3.6.1.6.3.10.2.1.2.0|2|31 1.3.6.1.6.3.10.2.1.3.0|2|31 -1.3.6.1.6.3.10.2.1.4.0|2|1234 \ No newline at end of file +1.3.6.1.6.3.10.2.1.4.0|2|1234 diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_nvidia_cumulus_linux_switch.py b/snmp/tests/test_e2e_core_profiles/test_profile_nvidia_cumulus_linux_switch.py index b81e6035b9a50..30d9af017aa8c 100644 --- a/snmp/tests/test_e2e_core_profiles/test_profile_nvidia_cumulus_linux_switch.py +++ b/snmp/tests/test_e2e_core_profiles/test_profile_nvidia_cumulus_linux_switch.py @@ -12,6 +12,7 @@ assert_common_metrics, assert_extend_entity_sensor, assert_extend_generic_if, + assert_extend_generic_ucd, create_e2e_core_test_config, get_device_ip_from_config, ) @@ -31,102 +32,160 @@ def test_e2e_profile_nvidia_cumulus_linux_switch(dd_agent_check): 'snmp_device:' + ip_address, ] + [] - # --- TEST METRICS --- - assert_common_metrics(aggregator, common_tags) + # --- TEST EXTENDED METRICS --- assert_extend_generic_if(aggregator, common_tags) + assert_extend_generic_ucd(aggregator, common_tags) assert_extend_entity_sensor(aggregator, common_tags) - aggregator.assert_metric('snmp.cpu.usage', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.egressAclCurrentCounters', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.egressAclCurrentEntries', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.egressAclCurrentMeters', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.egressAclCurrentSlices', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.egressAclMaxCounters', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.egressAclMaxEntries', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.egressAclMaxMeters', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.egressAclMaxSlices', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.ingressAclCurrentCounters', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.ingressAclCurrentEntries', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.ingressAclCurrentMeters', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.ingressAclCurrentSlices', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.ingressAclMaxCounters', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.ingressAclMaxEntries', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.ingressAclMaxMeters', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.ingressAclMaxSlices', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.l2MacTableCurrentEntries', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.l2MacTableMaxEntries', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.l3EcmpNextHopTableCurrentEntries', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.l3EcmpNextHopTableMaxEntries', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.l3HostTableCurrentEntries', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.l3HostTableMaxEntries', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.l3NextHopTableCurrentEntries', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.l3NextHopTableMaxEntries', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.l3RoutingTableCurrentEntries', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.l3RoutingTableMaxEntries', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.memBuffer', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.memCached', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.memory.free', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.memory.total', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.memory.usage', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.poeLastUpdateTime', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.poeTotalAvailablePower', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.poeTotalSystemPower', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.poeTotalUsedPower', metric_type=aggregator.GAUGE, tags=common_tags) + # --- TEST METRICS --- + assert_common_metrics(aggregator, common_tags) + aggregator.assert_metric('snmp.cumulus.egressAclCurrentCounters', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.cumulus.egressAclCurrentEntries', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.cumulus.egressAclCurrentMeters', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.cumulus.egressAclCurrentSlices', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.cumulus.egressAclMaxCounters', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.cumulus.egressAclMaxEntries', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.cumulus.egressAclMaxMeters', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.cumulus.egressAclMaxSlices', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.cumulus.ingressAclCurrentCounters', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.cumulus.ingressAclCurrentEntries', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.cumulus.ingressAclCurrentMeters', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.cumulus.ingressAclCurrentSlices', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.cumulus.ingressAclMaxCounters', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.cumulus.ingressAclMaxEntries', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.cumulus.ingressAclMaxMeters', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.cumulus.ingressAclMaxSlices', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.cumulus.l2MacTableCurrentEntries', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.cumulus.l2MacTableMaxEntries', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric( + 'snmp.cumulus.l3EcmpNextHopTableCurrentEntries', metric_type=aggregator.GAUGE, tags=common_tags + ) + aggregator.assert_metric( + 'snmp.cumulus.l3EcmpNextHopTableMaxEntries', metric_type=aggregator.GAUGE, tags=common_tags + ) + aggregator.assert_metric('snmp.cumulus.l3HostTableCurrentEntries', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.cumulus.l3HostTableMaxEntries', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric( + 'snmp.cumulus.l3NextHopTableCurrentEntries', metric_type=aggregator.GAUGE, tags=common_tags + ) + aggregator.assert_metric('snmp.cumulus.l3NextHopTableMaxEntries', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric( + 'snmp.cumulus.l3RoutingTableCurrentEntries', metric_type=aggregator.GAUGE, tags=common_tags + ) + aggregator.assert_metric('snmp.cumulus.l3RoutingTableMaxEntries', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.cumulus.poeLastUpdateTime', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.cumulus.poeTotalAvailablePower', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.cumulus.poeTotalSystemPower', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.cumulus.poeTotalUsedPower', metric_type=aggregator.GAUGE, tags=common_tags) tag_rows = [ - ['cl_port_name:their zombies'], - ['cl_port_name:zombies zombies acted oxen but oxen'], + ['cumulus_cl_port_name:their zombies'], + ['cumulus_cl_port_name:zombies zombies acted oxen but oxen'], ] for tag_row in tag_rows: aggregator.assert_metric( - 'snmp.clBufferOverflowDiscards', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + 'snmp.cumulus.clBufferOverflowDiscards', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cumulus.clEgressNonQDiscards', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cumulus.clEgressQOverflowDiscards', metric_type=aggregator.GAUGE, tags=common_tags + tag_row ) - aggregator.assert_metric('snmp.clEgressNonQDiscards', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) aggregator.assert_metric( - 'snmp.clEgressQOverflowDiscards', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + 'snmp.cumulus.clL3AclDiscards', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cumulus.clL3v4InDiscards', metric_type=aggregator.GAUGE, tags=common_tags + tag_row ) - aggregator.assert_metric('snmp.clL3AclDiscards', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.clL3v4InDiscards', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) tag_rows = [ - ['cl_int_port_name:oxen'], - ['cl_int_port_name:forward but'], + ['cumulus_cl_int_port_name:forward but'], + ['cumulus_cl_int_port_name:oxen'], ] for tag_row in tag_rows: - aggregator.assert_metric('snmp.clIntInBcastPkts', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.clIntInMcastPkts', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.clIntInOctets', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.clIntInUcastPkts', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.clIntOutBcastPkts', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.clIntOutMcastPkts', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.clIntOutOctets', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.clIntOutUcastPkts', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric( + 'snmp.cumulus.clIntInBcastPkts', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cumulus.clIntInMcastPkts', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric('snmp.cumulus.clIntInOctets', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric( + 'snmp.cumulus.clIntInUcastPkts', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cumulus.clIntOutBcastPkts', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cumulus.clIntOutMcastPkts', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cumulus.clIntOutOctets', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cumulus.clIntOutUcastPkts', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) tag_rows = [ - ['cl_int_pfc_port_name:forward kept quaintly quaintly driving oxen'], - ['cl_int_pfc_port_name:driving Jaded driving Jaded kept oxen driving quaintly'], + ['cumulus_cl_int_pfc_port_name:driving Jaded driving Jaded kept oxen driving quaintly'], + ['cumulus_cl_int_pfc_port_name:forward kept quaintly quaintly driving oxen'], ] for tag_row in tag_rows: - aggregator.assert_metric('snmp.clIntInPausePkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.clIntInPfc0Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.clIntInPfc1Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.clIntInPfc2Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.clIntInPfc3Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.clIntInPfc4Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.clIntInPfc5Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.clIntInPfc6Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.clIntInPfc7Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.clIntOutPausePkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.clIntOutPfc0Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.clIntOutPfc1Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.clIntOutPfc2Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.clIntOutPfc3Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.clIntOutPfc4Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.clIntOutPfc5Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.clIntOutPfc6Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.clIntOutPfc7Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - - aggregator.assert_all_metrics_covered() + aggregator.assert_metric( + 'snmp.cumulus.clIntInPausePkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cumulus.clIntInPfc0Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cumulus.clIntInPfc1Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cumulus.clIntInPfc2Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cumulus.clIntInPfc3Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cumulus.clIntInPfc4Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cumulus.clIntInPfc5Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cumulus.clIntInPfc6Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cumulus.clIntInPfc7Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cumulus.clIntOutPausePkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cumulus.clIntOutPfc0Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cumulus.clIntOutPfc1Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cumulus.clIntOutPfc2Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cumulus.clIntOutPfc3Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cumulus.clIntOutPfc4Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cumulus.clIntOutPfc5Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cumulus.clIntOutPfc6Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) + aggregator.assert_metric( + 'snmp.cumulus.clIntOutPfc7Pkt', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) # --- TEST METADATA --- device = { From 89f1dfb5c0a09e16399f8a90b33ba21e65a6703b Mon Sep 17 00:00:00 2001 From: Alexandre Yang Date: Thu, 6 Jul 2023 14:48:24 +0200 Subject: [PATCH 62/77] Add missing metric_type and ucd prefix for _generic-ucd (#15177) --- .../data/default_profiles/_generic-ucd.yaml | 85 +++++++++++-------- snmp/metadata.csv | 58 ++++++------- .../test_profile__generic_ucd.py | 74 ++++++++-------- snmp/tests/test_e2e_core_profiles/utils.py | 2 +- 4 files changed, 117 insertions(+), 102 deletions(-) diff --git a/snmp/datadog_checks/snmp/data/default_profiles/_generic-ucd.yaml b/snmp/datadog_checks/snmp/data/default_profiles/_generic-ucd.yaml index 233972d36c716..4cb4ffaa311c4 100644 --- a/snmp/datadog_checks/snmp/data/default_profiles/_generic-ucd.yaml +++ b/snmp/datadog_checks/snmp/data/default_profiles/_generic-ucd.yaml @@ -13,60 +13,60 @@ metrics: OID: 1.3.6.1.4.1.2021.4.6.0 - MIB: UCD-SNMP-MIB symbol: - name: memTotalSwap + name: ucd.memTotalSwap OID: 1.3.6.1.4.1.2021.4.3.0 - MIB: UCD-SNMP-MIB symbol: - name: memAvailSwap + name: ucd.memAvailSwap OID: 1.3.6.1.4.1.2021.4.4.0 - MIB: UCD-SNMP-MIB symbol: - name: memTotalFree + name: ucd.memTotalFree OID: 1.3.6.1.4.1.2021.4.11.0 - MIB: UCD-SNMP-MIB symbol: - name: memMinimumSwap + name: ucd.memMinimumSwap OID: 1.3.6.1.4.1.2021.4.12.0 - MIB: UCD-SNMP-MIB symbol: - name: memShared + name: ucd.memShared OID: 1.3.6.1.4.1.2021.4.13.0 - MIB: UCD-SNMP-MIB symbol: - name: memBuffer + name: ucd.memBuffer OID: 1.3.6.1.4.1.2021.4.14.0 - MIB: UCD-SNMP-MIB symbol: - name: memCached + name: ucd.memCached OID: 1.3.6.1.4.1.2021.4.15.0 - MIB: UCD-SNMP-MIB table: OID: 1.3.6.1.4.1.2021.9 name: dskTable symbols: - - name: dskTotal + - name: ucd.dskTotal OID: 1.3.6.1.4.1.2021.9.1.6 - - name: dskAvail + - name: ucd.dskAvail OID: 1.3.6.1.4.1.2021.9.1.7 - - name: dskUsed + - name: ucd.dskUsed OID: 1.3.6.1.4.1.2021.9.1.8 - - name: dskPercent + - name: ucd.dskPercent OID: 1.3.6.1.4.1.2021.9.1.9 - - name: dskPercentNode + - name: ucd.dskPercentNode OID: 1.3.6.1.4.1.2021.9.1.10 metric_tags: - - tag: dsk_path + - tag: ucd_dsk_path column: OID: 1.3.6.1.4.1.2021.9.1.2 - name: dskPath - - tag: dsk_device + name: ucd.dskPath + - tag: ucd_dsk_device column: OID: 1.3.6.1.4.1.2021.9.1.3 - name: dskDevice + name: ucd.dskDevice - column: OID: 1.3.6.1.4.1.2021.9.1.100 - name: dskErrorFlag - tag: dsk_error_flag + name: ucd.dskErrorFlag + tag: ucd_dsk_error_flag mapping: 0: no_error 1: error @@ -75,62 +75,73 @@ metrics: OID: 1.3.6.1.4.1.2021.13.15.1.1 name: diskIOTable symbols: - - name: diskIOReads + - name: ucd.diskIOReads OID: 1.3.6.1.4.1.2021.13.15.1.1.5 - - name: diskIOWrites + metric_type: monotonic_count + - name: ucd.diskIOWrites OID: 1.3.6.1.4.1.2021.13.15.1.1.6 - - name: diskIOLA1 + metric_type: monotonic_count + - name: ucd.diskIOLA1 OID: 1.3.6.1.4.1.2021.13.15.1.1.9 - - name: diskIOLA5 + - name: ucd.diskIOLA5 OID: 1.3.6.1.4.1.2021.13.15.1.1.10 - - name: diskIOLA15 + - name: ucd.diskIOLA15 OID: 1.3.6.1.4.1.2021.13.15.1.1.11 - - name: diskIONReadX + - name: ucd.diskIONReadX OID: 1.3.6.1.4.1.2021.13.15.1.1.12 - - name: diskIONWrittenX + metric_type: monotonic_count + - name: ucd.diskIONWrittenX OID: 1.3.6.1.4.1.2021.13.15.1.1.13 + metric_type: monotonic_count metric_tags: - - tag: disk_io_device + - tag: ucd_disk_io_device column: - name: diskIODevice + name: ucd.diskIODevice OID: 1.3.6.1.4.1.2021.13.15.1.1.2 - MIB: UCD-SNMP-MIB symbol: - name: ssCpuUser + name: ucd.ssCpuUser OID: 1.3.6.1.4.1.2021.11.9.0 - MIB: UCD-SNMP-MIB symbol: - name: ssCpuSystem + name: ucd.ssCpuSystem OID: 1.3.6.1.4.1.2021.11.10.0 - MIB: UCD-SNMP-MIB symbol: - name: ssCpuIdle + name: ucd.ssCpuIdle OID: 1.3.6.1.4.1.2021.11.11.0 - MIB: UCD-SNMP-MIB symbol: - name: ssCpuRawUser + name: ucd.ssCpuRawUser OID: 1.3.6.1.4.1.2021.11.50.0 + forced_type: monotonic_count - MIB: UCD-SNMP-MIB symbol: - name: ssCpuRawNice + name: ucd.ssCpuRawNice OID: 1.3.6.1.4.1.2021.11.51.0 + forced_type: monotonic_count - MIB: UCD-SNMP-MIB symbol: - name: ssCpuRawSystem + name: ucd.ssCpuRawSystem OID: 1.3.6.1.4.1.2021.11.52.0 + forced_type: monotonic_count - MIB: UCD-SNMP-MIB symbol: - name: ssCpuRawIdle + name: ucd.ssCpuRawIdle OID: 1.3.6.1.4.1.2021.11.53.0 + forced_type: monotonic_count - MIB: UCD-SNMP-MIB symbol: - name: ssCpuRawWait + name: ucd.ssCpuRawWait OID: 1.3.6.1.4.1.2021.11.54.0 + forced_type: monotonic_count - MIB: UCD-SNMP-MIB symbol: - name: ssCpuRawKernel + name: ucd.ssCpuRawKernel OID: 1.3.6.1.4.1.2021.11.55.0 + forced_type: monotonic_count - MIB: UCD-SNMP-MIB symbol: - name: ssCpuRawInterrupt + name: ucd.ssCpuRawInterrupt OID: 1.3.6.1.4.1.2021.11.56.0 + forced_type: monotonic_count diff --git a/snmp/metadata.csv b/snmp/metadata.csv index 67ed90c0b7665..80f3f570729c1 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -474,13 +474,6 @@ snmp.digital_sen8_5,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current snmp.digital_sen8_6,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (C) or air flow (CFM).",0,snmp,, snmp.digital_sen8_7,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (F).",0,snmp,, snmp.discovered_devices_count,gauge,,device,,"The total number of devices discovered. Metric only available using Python SNMP Autodiscovery. For Agent SNMP Autodiscovery, use `snmp.devices_monitored` instead.",0,snmp,, -snmp.diskIOLA1,gauge,,,,"[UCD-DISKIO-MIB] The 1 minute average load of disk (%)",0,snmp,, -snmp.diskIOLA15,gauge,,,,"[UCD-DISKIO-MIB] The 15 minute average load of disk (%)",0,snmp,, -snmp.diskIOLA5,gauge,,,,"[UCD-DISKIO-MIB] The 5 minute average load of disk (%)",0,snmp,, -snmp.diskIONReadX,gauge,,,,"[UCD-DISKIO-MIB] The number of bytes read from this device since boot.",0,snmp,, -snmp.diskIONWrittenX,gauge,,,,"[UCD-DISKIO-MIB] The number of bytes written to this device since boot.",0,snmp,, -snmp.diskIOReads,gauge,,,,"[UCD-DISKIO-MIB] The number of read accesses from this device since boot.",0,snmp,, -snmp.diskIOWrites,gauge,,,,"[UCD-DISKIO-MIB] The number of write accesses to this device since boot.",0,snmp,, snmp.diskSizeBytes,gauge,,byte,,[Isilon] The size of the disk in bytes.,0,snmp,, snmp.drsAmpsReading,gauge,,ampere,,[Dell iDRAC] The instantaneous chassis current usage (in Ampere).,0,snmp,, snmp.drsCMCCurrStatus,gauge,,,,[Dell iDRAC] The CMC health status being monitored by the chassis management card.,0,snmp,, @@ -490,11 +483,6 @@ snmp.drsKWhCumulative,count,,,,[Dell iDRAC] The cumulative chassis power usage ( snmp.drsPowerCurrStatus,gauge,,,,[Dell iDRAC] The power subsystem health status being monitored by the chassis management card.,0,snmp,, snmp.drsRedCurrStatus,gauge,,,,[Dell iDRAC] The redundancy status being monitored by the chassis management card.,0,snmp,, snmp.drsWattsReading,gauge,,watt,,[Dell iDRAC] The instantaneous chassis power usage (in Watts).,0,snmp,, -snmp.dskAvail,gauge,,,,"[UCD-SNMP-MIB] Available space on the disk. For large lightly-used disks (>2Tb), this value will latch at INT32_MAX (2147483647).",0,snmp,, -snmp.dskPercent,gauge,,,,"[UCD-SNMP-MIB] Percentage of space used on disk",0,snmp,, -snmp.dskPercentNode,gauge,,,,"[UCD-SNMP-MIB] Percentage of inodes used on disk",0,snmp,, -snmp.dskTotal,gauge,,,,"[UCD-SNMP-MIB] Total size of the disk/partion (kBytes). For large disks (>2Tb), this value will latch at INT32_MAX (2147483647).",0,snmp,, -snmp.dskUsed,gauge,,,,"[UCD-SNMP-MIB] Used space on the disk. For large heavily-used disks (>2Tb), this value will latch at INT32_MAX (2147483647).",0,snmp,, snmp.egBackupDataAvailableFractionalGigabytes,gauge,,,,"[EXAGRID-MIB] The amount of data available for restore by a backup application below 1 Gigabyte in bytes",0,snmp,, snmp.egBackupDataAvailableWholeGigabytes,gauge,,,,"[EXAGRID-MIB] The amount of data available for restore by a backup application scaled to GigaBytes (10^9) bytes",0,snmp,, snmp.egBackupDataSpaceConsumedFractionalGigabytes,gauge,,,,"[EXAGRID-MIB] The amount of consumed retention space below 1 Gigabyte in bytes",0,snmp,, @@ -922,15 +910,8 @@ snmp.ltmVirtualServStatVsUsageRatio5s,gauge,,,,[F5 BIG-IP] The percentage of tim snmp.ltmVsStatus,gauge,,,,[F5 BIG-IP] Stores status information of virtual servers.,0,snmp,, snmp.memActiveReal64,gauge,,byte,,[Checkpoint Firewall] Active real memory (memory used by applications that is not cached to the disk) in bytes.,0,snmp,, snmp.memActiveVirtual64,gauge,,byte,,[Checkpoint Firewall] The size in bytes of the virtual-memory working segment pages that have actually been touched.,0,snmp,, -snmp.memAvailSwap,gauge,,,,"[UCD-SNMP-MIB] The amount of swap space currently unused or available.",0,snmp,, -snmp.memBuffer,gauge,,,,"[UCD-SNMP-MIB] The total amount of real or virtual memory currently allocated for use as memory buffers. This object will not be implemented on hosts where the underlying operating system does not explicitly identify memory as specifically reserved for this purpose.",0,snmp,, -snmp.memCached,gauge,,,,"[UCD-SNMP-MIB] The total amount of real or virtual memory currently allocated for use as cached memory. This object will not be implemented on hosts where the underlying operating system does not explicitly identify memory as specifically reserved for this purpose.",0,snmp,, snmp.memFreeReal64,gauge,,byte,,[Checkpoint Firewall] Free memory available for applications in bytes.,0,snmp,, -snmp.memMinimumSwap,gauge,,,,"[UCD-SNMP-MIB] The minimum amount of swap space expected to be kept free or available during normal operation of this host. If this value (as reported by 'memAvailSwap(4)') falls below the specified level, then 'memSwapError(100)' will be set to 1 and an error message made available via 'memSwapErrorMsg(101)'.",0,snmp,, -snmp.memShared,gauge,,,,"[UCD-SNMP-MIB] The total amount of real or virtual memory currently allocated for use as shared memory. This object will not be implemented on hosts where the underlying operating system does not explicitly identify memory as specifically reserved for this purpose.",0,snmp,, -snmp.memTotalFree,gauge,,,,"[UCD-SNMP-MIB] The total amount of memory free or available for use on this host. This value typically covers both real memory and swap space or virtual memory.",0,snmp,, snmp.memTotalReal64,gauge,,byte,,[Checkpoint Firewall] Total real memory in bytes. Memory used by applications.,0,snmp,, -snmp.memTotalSwap,gauge,,,,"[UCD-SNMP-MIB] The total amount of swap space configured for this host.",0,snmp,, snmp.memTotalVirtual64,gauge,,byte,,[Checkpoint Firewall] The size in bytes of the virtual-memory working segment pages.,0,snmp,, snmp.memory.free,gauge,,byte,,"Number of bytes of memory that are currently unused.",0,snmp,, snmp.memory.total,gauge,,byte,,"Total amount of memory in bytes",0,snmp,, @@ -1121,16 +1102,6 @@ snmp.rttMonLatestRttOperCompletionTime,gauge,,millisecond,,The completion time o snmp.rttMonLatestRttOperSense,gauge,,,,A sense code for the completion status of the latest RTT operation.,0,snmp,, snmp.snapmirrorLag,gauge,,,,"[NetApp] How far behind from the source a snapmirror destination is, in hundredths of a second.",0,snmp,, snmp.snapmirrorTotalFailures,count,,,,"[NetApp] Total number of failed or aborted transfers for a given snapmirror.",0,snmp,, -snmp.ssCpuIdle,gauge,,,,"[UCD-SNMP-MIB] The percentage of processor time spent idle, calculated over the last minute. This object has been deprecated in favour of 'ssCpuRawIdle(53)', which can be used to calculate the same metric, but over any desired time period.",0,snmp,, -snmp.ssCpuRawIdle,gauge,,,,"[UCD-SNMP-MIB] The number of 'ticks' (typically 1/100s) spent idle. On a multi-processor system, the 'ssCpuRaw*' counters are cumulative over all CPUs, so their sum will typically be N*100 (for N processors).",0,snmp,, -snmp.ssCpuRawInterrupt,gauge,,,,"[UCD-SNMP-MIB] The number of 'ticks' (typically 1/100s) spent processing hardware interrupts. This object will not be implemented on hosts where the underlying operating system does not measure this particular CPU metric. On a multi-processor system, the 'ssCpuRaw*' counters are cumulative over all CPUs, so their sum will typically be N*100 (for N processors).",0,snmp,, -snmp.ssCpuRawKernel,gauge,,,,"[UCD-SNMP-MIB] The number of 'ticks' (typically 1/100s) spent processing kernel-level code. This object will not be implemented on hosts where the underlying operating system does not measure this particular CPU metric. This time may also be included within the 'ssCpuRawSystem(52)' counter. On a multi-processor system, the 'ssCpuRaw*' counters are cumulative over all CPUs, so their sum will typ...",0,snmp,, -snmp.ssCpuRawNice,gauge,,,,"[UCD-SNMP-MIB] The number of 'ticks' (typically 1/100s) spent processing reduced-priority code. This object will not be implemented on hosts where the underlying operating system does not measure this particular CPU metric. On a multi-processor system, the 'ssCpuRaw*' counters are cumulative over all CPUs, so their sum will typically be N*100 (for N processors).",0,snmp,, -snmp.ssCpuRawSystem,gauge,,,,"[UCD-SNMP-MIB] The number of 'ticks' (typically 1/100s) spent processing system-level code. On a multi-processor system, the 'ssCpuRaw*' counters are cumulative over all CPUs, so their sum will typically be N*100 (for N processors). This object may sometimes be implemented as the combination of the 'ssCpuRawWait(54)' and 'ssCpuRawKernel(55)' counters, so care must be taken when summing the over...",0,snmp,, -snmp.ssCpuRawUser,gauge,,,,"[UCD-SNMP-MIB] The number of 'ticks' (typically 1/100s) spent processing user-level code. On a multi-processor system, the 'ssCpuRaw*' counters are cumulative over all CPUs, so their sum will typically be N*100 (for N processors).",0,snmp,, -snmp.ssCpuRawWait,gauge,,,,"[UCD-SNMP-MIB] The number of 'ticks' (typically 1/100s) spent waiting for IO. This object will not be implemented on hosts where the underlying operating system does not measure this particular CPU metric. This time may also be included within the 'ssCpuRawSystem(52)' counter. On a multi-processor system, the 'ssCpuRaw*' counters are cumulative over all CPUs, so their sum will typically be N*10...",0,snmp,, -snmp.ssCpuSystem,gauge,,,,"[UCD-SNMP-MIB] The percentage of CPU time spent processing system-level code, calculated over the last minute. This object has been deprecated in favour of 'ssCpuRawSystem(52)', which can be used to calculate the same metric, but over any desired time period.",0,snmp,, -snmp.ssCpuUser,gauge,,,,"[UCD-SNMP-MIB] The percentage of CPU time spent processing user-level code, calculated over the last minute. This object has been deprecated in favour of 'ssCpuRawUser(50)', which can be used to calculate the same metric, but over any desired time period.",0,snmp,, snmp.svTotalFailures,count,,,,"[NetApp] Total number of failed or aborted transfers for a given snapvault.",0,snmp,, snmp.swFCPortC3Discards,count,,,,"[SW-MIB] This object counts the number of Class 3 frames that the port has discarded.",0,snmp,, snmp.swFCPortNoTxCredits,count,,,,"[SW-MIB] This object counts the number of times when the transmit credit has reached zero.",0,snmp,, @@ -1237,6 +1208,35 @@ snmp.temperatureProbeReading,gauge,,decidegree celsius,,[Dell iDRAC] [Dell Power snmp.temperatureProbeStatus,gauge,,,,[Dell iDRAC] [Dell Poweredge] The probe status of the temperature probe.,0,snmp,, snmp.tempertureSensorStatus,gauge,,,,[Checkpoint Firewall] 0 = OK Otherwise = Problem,0,snmp,, snmp.tempertureSensorValue,gauge,,degree celsius,,[Checkpoint Firewall] Temperature in Celsius.,0,snmp,, +snmp.ucd.diskIOLA1,gauge,,,,"[UCD-DISKIO-MIB] The 1 minute average load of disk (%)",0,snmp,, +snmp.ucd.diskIOLA15,gauge,,,,"[UCD-DISKIO-MIB] The 15 minute average load of disk (%)",0,snmp,, +snmp.ucd.diskIOLA5,gauge,,,,"[UCD-DISKIO-MIB] The 5 minute average load of disk (%)",0,snmp,, +snmp.ucd.diskIONReadX,count,,,,"[UCD-DISKIO-MIB] The number of bytes read from this device since boot.",0,snmp,, +snmp.ucd.diskIONWrittenX,count,,,,"[UCD-DISKIO-MIB] The number of bytes written to this device since boot.",0,snmp,, +snmp.ucd.diskIOReads,count,,,,"[UCD-DISKIO-MIB] The number of read accesses from this device since boot.",0,snmp,, +snmp.ucd.diskIOWrites,count,,,,"[UCD-DISKIO-MIB] The number of write accesses to this device since boot.",0,snmp,, +snmp.ucd.dskAvail,gauge,,,,"[UCD-SNMP-MIB] Available space on the disk. For large lightly-used disks (>2Tb), this value will latch at INT32_MAX (2147483647).",0,snmp,, +snmp.ucd.dskPercent,gauge,,,,"[UCD-SNMP-MIB] Percentage of space used on disk",0,snmp,, +snmp.ucd.dskPercentNode,gauge,,,,"[UCD-SNMP-MIB] Percentage of inodes used on disk",0,snmp,, +snmp.ucd.dskTotal,gauge,,,,"[UCD-SNMP-MIB] Total size of the disk/partion (kBytes). For large disks (>2Tb), this value will latch at INT32_MAX (2147483647).",0,snmp,, +snmp.ucd.dskUsed,gauge,,,,"[UCD-SNMP-MIB] Used space on the disk. For large heavily-used disks (>2Tb), this value will latch at INT32_MAX (2147483647).",0,snmp,, +snmp.ucd.memAvailSwap,gauge,,,,"[UCD-SNMP-MIB] The amount of swap space currently unused or available.",0,snmp,, +snmp.ucd.memBuffer,gauge,,,,"[UCD-SNMP-MIB] The total amount of real or virtual memory currently allocated for use as memory buffers. This object will not be implemented on hosts where the underlying operating system does not explicitly identify memory as specifically reserved for this purpose.",0,snmp,, +snmp.ucd.memCached,gauge,,,,"[UCD-SNMP-MIB] The total amount of real or virtual memory currently allocated for use as cached memory. This object will not be implemented on hosts where the underlying operating system does not explicitly identify memory as specifically reserved for this purpose.",0,snmp,, +snmp.ucd.memMinimumSwap,gauge,,,,"[UCD-SNMP-MIB] The minimum amount of swap space expected to be kept free or available during normal operation of this host. If this value (as reported by 'memAvailSwap(4)') falls below the specified level, then 'memSwapError(100)' will be set to 1 and an error message made available via 'memSwapErrorMsg(101)'.",0,snmp,, +snmp.ucd.memShared,gauge,,,,"[UCD-SNMP-MIB] The total amount of real or virtual memory currently allocated for use as shared memory. This object will not be implemented on hosts where the underlying operating system does not explicitly identify memory as specifically reserved for this purpose.",0,snmp,, +snmp.ucd.memTotalFree,gauge,,,,"[UCD-SNMP-MIB] The total amount of memory free or available for use on this host. This value typically covers both real memory and swap space or virtual memory.",0,snmp,, +snmp.ucd.memTotalSwap,gauge,,,,"[UCD-SNMP-MIB] The total amount of swap space configured for this host.",0,snmp,, +snmp.ucd.ssCpuIdle,gauge,,,,"[UCD-SNMP-MIB] The percentage of processor time spent idle, calculated over the last minute. This object has been deprecated in favour of 'ssCpuRawIdle(53)', which can be used to calculate the same metric, but over any desired time period.",0,snmp,, +snmp.ucd.ssCpuRawIdle,count,,,,"[UCD-SNMP-MIB] The number of 'ticks' (typically 1/100s) spent idle. On a multi-processor system, the 'ssCpuRaw*' counters are cumulative over all CPUs, so their sum will typically be N*100 (for N processors).",0,snmp,, +snmp.ucd.ssCpuRawInterrupt,count,,,,"[UCD-SNMP-MIB] The number of 'ticks' (typically 1/100s) spent processing hardware interrupts. This object will not be implemented on hosts where the underlying operating system does not measure this particular CPU metric. On a multi-processor system, the 'ssCpuRaw*' counters are cumulative over all CPUs, so their sum will typically be N*100 (for N processors).",0,snmp,, +snmp.ucd.ssCpuRawKernel,count,,,,"[UCD-SNMP-MIB] The number of 'ticks' (typically 1/100s) spent processing kernel-level code. This object will not be implemented on hosts where the underlying operating system does not measure this particular CPU metric. This time may also be included within the 'ssCpuRawSystem(52)' counter. On a multi-processor system, the 'ssCpuRaw*' counters are cumulative over all CPUs, so their sum will typ...",0,snmp,, +snmp.ucd.ssCpuRawNice,count,,,,"[UCD-SNMP-MIB] The number of 'ticks' (typically 1/100s) spent processing reduced-priority code. This object will not be implemented on hosts where the underlying operating system does not measure this particular CPU metric. On a multi-processor system, the 'ssCpuRaw*' counters are cumulative over all CPUs, so their sum will typically be N*100 (for N processors).",0,snmp,, +snmp.ucd.ssCpuRawSystem,count,,,,"[UCD-SNMP-MIB] The number of 'ticks' (typically 1/100s) spent processing system-level code. On a multi-processor system, the 'ssCpuRaw*' counters are cumulative over all CPUs, so their sum will typically be N*100 (for N processors). This object may sometimes be implemented as the combination of the 'ssCpuRawWait(54)' and 'ssCpuRawKernel(55)' counters, so care must be taken when summing the over...",0,snmp,, +snmp.ucd.ssCpuRawUser,count,,,,"[UCD-SNMP-MIB] The number of 'ticks' (typically 1/100s) spent processing user-level code. On a multi-processor system, the 'ssCpuRaw*' counters are cumulative over all CPUs, so their sum will typically be N*100 (for N processors).",0,snmp,, +snmp.ucd.ssCpuRawWait,count,,,,"[UCD-SNMP-MIB] The number of 'ticks' (typically 1/100s) spent waiting for IO. This object will not be implemented on hosts where the underlying operating system does not measure this particular CPU metric. This time may also be included within the 'ssCpuRawSystem(52)' counter. On a multi-processor system, the 'ssCpuRaw*' counters are cumulative over all CPUs, so their sum will typically be N*10...",0,snmp,, +snmp.ucd.ssCpuSystem,gauge,,,,"[UCD-SNMP-MIB] The percentage of CPU time spent processing system-level code, calculated over the last minute. This object has been deprecated in favour of 'ssCpuRawSystem(52)', which can be used to calculate the same metric, but over any desired time period.",0,snmp,, +snmp.ucd.ssCpuUser,gauge,,,,"[UCD-SNMP-MIB] The percentage of CPU time spent processing user-level code, calculated over the last minute. This object has been deprecated in favour of 'ssCpuRawUser(50)', which can be used to calculate the same metric, but over any desired time period.",0,snmp,, snmp.udpHCInDatagrams,count,,datagram,,"[Generic router] [Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] [Arista] [Checkpoint Firewall] [F5 BIG-IP] [HPE Proliant] [Palo Alto] [Dell Poweredge] The total number of UDP datagrams delivered to UDP users, for devices that can receive more than 1 million UDP datagrams per second.",0,snmp,, snmp.udpHCOutDatagrams,count,,datagram,,"[Generic router] [Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] [Arista] [Checkpoint Firewall] [F5 BIG-IP] [HPE Proliant] [Palo Alto] [Dell Poweredge] The total number of UDP datagrams sent from this entity, for devices that can transmit more than 1 million UDP datagrams per second.",0,snmp,, snmp.udpInErrors,count,,datagram,,[Generic router] [Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] [Arista] [Checkpoint Firewall] [F5 BIG-IP] [HPE Proliant] [Palo Alto] [Dell Poweredge] The number of received UDP datagrams that could not be delivered for reasons other than the lack of an application at the destination port.,0,snmp,, diff --git a/snmp/tests/test_e2e_core_profiles/test_profile__generic_ucd.py b/snmp/tests/test_e2e_core_profiles/test_profile__generic_ucd.py index f0a3c4d934abc..ad96bdb8766b9 100644 --- a/snmp/tests/test_e2e_core_profiles/test_profile__generic_ucd.py +++ b/snmp/tests/test_e2e_core_profiles/test_profile__generic_ucd.py @@ -29,55 +29,59 @@ def test_e2e_profile__generic_ucd(dd_agent_check): 'snmp_device:' + ip_address, ] + [] + # --- TEST EXTENDED METRICS --- + # --- TEST METRICS --- assert_common_metrics(aggregator, common_tags) aggregator.assert_metric('snmp.cpu.usage', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.memAvailSwap', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.memBuffer', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.memCached', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.memMinimumSwap', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.memShared', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.memTotalFree', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.memTotalSwap', metric_type=aggregator.GAUGE, tags=common_tags) aggregator.assert_metric('snmp.memory.free', metric_type=aggregator.GAUGE, tags=common_tags) aggregator.assert_metric('snmp.memory.total', metric_type=aggregator.GAUGE, tags=common_tags) aggregator.assert_metric('snmp.memory.usage', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.ssCpuIdle', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.ssCpuRawIdle', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.ssCpuRawInterrupt', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.ssCpuRawKernel', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.ssCpuRawNice', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.ssCpuRawSystem', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.ssCpuRawUser', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.ssCpuRawWait', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.ssCpuSystem', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.ssCpuUser', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ucd.memAvailSwap', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ucd.memBuffer', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ucd.memCached', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ucd.memMinimumSwap', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ucd.memShared', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ucd.memTotalFree', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ucd.memTotalSwap', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ucd.ssCpuIdle', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ucd.ssCpuRawIdle', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.ucd.ssCpuRawInterrupt', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.ucd.ssCpuRawKernel', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.ucd.ssCpuRawNice', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.ucd.ssCpuRawSystem', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.ucd.ssCpuRawUser', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.ucd.ssCpuRawWait', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.ucd.ssCpuSystem', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.ucd.ssCpuUser', metric_type=aggregator.GAUGE, tags=common_tags) tag_rows = [ - ['dsk_device:driving driving but kept oxen oxen', 'dsk_error_flag:no_error', 'dsk_path:oxen acted oxen their'], - ['dsk_device:kept Jaded', 'dsk_error_flag:no_error', 'dsk_path:quaintly oxen acted oxen'], + [ + 'ucd_dsk_device:driving driving but kept oxen oxen', + 'ucd_dsk_error_flag:no_error', + 'ucd_dsk_path:oxen acted oxen their', + ], + ['ucd_dsk_device:kept Jaded', 'ucd_dsk_error_flag:no_error', 'ucd_dsk_path:quaintly oxen acted oxen'], ] for tag_row in tag_rows: - aggregator.assert_metric('snmp.dskAvail', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.dskPercent', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.dskPercentNode', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.dskTotal', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.dskUsed', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.ucd.dskAvail', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.ucd.dskPercent', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.ucd.dskPercentNode', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.ucd.dskTotal', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.ucd.dskUsed', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) tag_rows = [ - ['disk_io_device:forward'], - ['disk_io_device:their zombies'], + ['ucd_disk_io_device:forward'], + ['ucd_disk_io_device:their zombies'], ] for tag_row in tag_rows: - aggregator.assert_metric('snmp.diskIOLA1', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.diskIOLA15', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.diskIOLA5', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.diskIONReadX', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.diskIONWrittenX', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.diskIOReads', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - aggregator.assert_metric('snmp.diskIOWrites', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) - - aggregator.assert_all_metrics_covered() + aggregator.assert_metric('snmp.ucd.diskIOLA1', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.ucd.diskIOLA15', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.ucd.diskIOLA5', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.ucd.diskIONReadX', metric_type=aggregator.COUNT, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.ucd.diskIONWrittenX', metric_type=aggregator.COUNT, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.ucd.diskIOReads', metric_type=aggregator.COUNT, tags=common_tags + tag_row) + aggregator.assert_metric('snmp.ucd.diskIOWrites', metric_type=aggregator.COUNT, tags=common_tags + tag_row) # --- TEST METADATA --- device = { diff --git a/snmp/tests/test_e2e_core_profiles/utils.py b/snmp/tests/test_e2e_core_profiles/utils.py index 696887122e154..2da3a1cab2198 100644 --- a/snmp/tests/test_e2e_core_profiles/utils.py +++ b/snmp/tests/test_e2e_core_profiles/utils.py @@ -201,7 +201,7 @@ def assert_extend_generic_ucd(aggregator, common_tags): 1.3.6.1.4.1.2021.4.3.0|2|1048572 """ # fmt:on - aggregator.assert_metric("snmp.memTotalSwap", metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric("snmp.ucd.memTotalSwap", metric_type=aggregator.GAUGE, tags=common_tags) def assert_extend_cisco(aggregator, common_tags): From 035e7cd6ff780f6929fd3ac1b74cd2c0c3391458 Mon Sep 17 00:00:00 2001 From: Alexandre Yang Date: Thu, 6 Jul 2023 15:19:56 +0200 Subject: [PATCH 63/77] Add `roomalert3e` prefix to avtech-roomalert-3e.yaml (#15181) --- .../default_profiles/avtech-roomalert-3e.yaml | 106 ++++++++++++++++-- snmp/metadata.csv | 10 +- .../test_profile_avtech_roomalert_3e.py | 22 ++-- 3 files changed, 116 insertions(+), 22 deletions(-) diff --git a/snmp/datadog_checks/snmp/data/default_profiles/avtech-roomalert-3e.yaml b/snmp/datadog_checks/snmp/data/default_profiles/avtech-roomalert-3e.yaml index 3a860f8683f21..b74860002b79d 100644 --- a/snmp/datadog_checks/snmp/data/default_profiles/avtech-roomalert-3e.yaml +++ b/snmp/datadog_checks/snmp/data/default_profiles/avtech-roomalert-3e.yaml @@ -8,36 +8,124 @@ metrics: - MIB: ROOMALERT3E-MIB symbol: OID: 1.3.6.1.4.1.20916.1.9.1.1.1.1.0 - name: digital_sen1_1 + name: roomalert.3e.digital_sen1_1 - MIB: ROOMALERT3E-MIB symbol: OID: 1.3.6.1.4.1.20916.1.9.1.1.1.2.0 - name: digital_sen1_2 + name: roomalert.3e.digital_sen1_2 +# - MIB: ROOMALERT3E-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.9.1.1.1.3.0 +# name: roomalert.3e.digital_sen1_label +# format: TODO_handle_conversion_to_one - MIB: ROOMALERT3E-MIB symbol: OID: 1.3.6.1.4.1.20916.1.9.1.1.2.1.0 - name: digital_sen2_1 + name: roomalert.3e.digital_sen2_1 - MIB: ROOMALERT3E-MIB symbol: OID: 1.3.6.1.4.1.20916.1.9.1.1.2.2.0 - name: digital_sen2_2 + name: roomalert.3e.digital_sen2_2 - MIB: ROOMALERT3E-MIB symbol: OID: 1.3.6.1.4.1.20916.1.9.1.1.2.3.0 - name: digital_sen2_3 + name: roomalert.3e.digital_sen2_3 - MIB: ROOMALERT3E-MIB symbol: OID: 1.3.6.1.4.1.20916.1.9.1.1.2.4.0 - name: digital_sen2_4 + name: roomalert.3e.digital_sen2_4 - MIB: ROOMALERT3E-MIB symbol: OID: 1.3.6.1.4.1.20916.1.9.1.1.2.5.0 - name: digital_sen2_5 + name: roomalert.3e.digital_sen2_5 +# - MIB: ROOMALERT3E-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.9.1.1.2.6.0 +# name: roomalert.3e.digital_sen2_label +# format: TODO_handle_conversion_to_one - MIB: ROOMALERT3E-MIB symbol: OID: 1.3.6.1.4.1.20916.1.9.1.1.2.7.0 - name: digital_sen2_7 + name: roomalert.3e.digital_sen2_7 +# - MIB: ROOMALERT3E-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.9.1.1.2.8.0 +# name: roomalert.3e.digital_sen2_label +# format: TODO_handle_conversion_to_one - MIB: ROOMALERT3E-MIB symbol: OID: 1.3.6.1.4.1.20916.1.9.1.2.1.0 - name: switch_sen1 + name: roomalert.3e.switch_sen1 +# - MIB: ROOMALERT3E-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.9.1.2.2.0 +# name: roomalert.3e.switch_label +# format: TODO_handle_conversion_to_one +# - MIB: ROOMALERT3E-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.9.2.1.0 +# name: roomalert.3e.red_led +# enum: +# off: 0 +# on: 1 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) +# - MIB: ROOMALERT3E-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.9.2.2.0 +# name: roomalert.3e.amber_led +# enum: +# off: 0 +# on: 1 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) +# - MIB: ROOMALERT3E-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.9.2.3.0 +# name: roomalert.3e.green_led +# enum: +# off: 0 +# on: 1 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) +# - MIB: ROOMALERT3E-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.9.2.4.0 +# name: roomalert.3e.blue_led +# enum: +# off: 0 +# on: 1 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) +# - MIB: ROOMALERT3E-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.9.2.5.0 +# name: roomalert.3e.white_led +# enum: +# off: 0 +# on: 1 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) +# - MIB: ROOMALERT3E-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.9.2.6.0 +# name: roomalert.3e.alarm1 +# enum: +# off: 0 +# on: 1 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) +# - MIB: ROOMALERT3E-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.9.2.7.0 +# name: roomalert.3e.alarm2 +# enum: +# off: 0 +# on: 1 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) +# - MIB: ROOMALERT3E-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.9.3.1.0 +# name: roomalert.3e.alarmmessage +# format: TODO_handle_conversion_to_one diff --git a/snmp/metadata.csv b/snmp/metadata.csv index 80f3f570729c1..632eb07b0a727 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -1097,6 +1097,15 @@ snmp.receptacleEnergyoutlet6s,count,,,,"[Legacy Chatsworth] The outlet6 receptac snmp.receptacleEnergyoutlet7s,count,,,,"[Legacy Chatsworth] The outlet7 receptacle energy accumulated in decaWatt-secs, divide by 360 to obtain Watt-hr.",0,snmp,, snmp.receptacleEnergyoutlet8s,count,,,,"[Legacy Chatsworth] The outlet8 receptacle energy accumulated in decaWatt-secs, divide by 360 to obtain Watt-hr.",0,snmp,, snmp.receptacleEnergyoutlet9s,count,,,,"[Legacy Chatsworth] The outlet9 receptacle energy accumulated in decaWatt-secs, divide by 360 to obtain Watt-hr.",0,snmp,, +snmp.roomalert.3e.digital_sen1_1,gauge,,,,"[ROOMALERT3E-MIB] The current temperature reading in Celsius of the Internal Temperature Sensor.",0,snmp,, +snmp.roomalert.3e.digital_sen1_2,gauge,,,,"[ROOMALERT3E-MIB] The current temperature reading in Fahrenheit of the Internal Temperature Sensor.",0,snmp,, +snmp.roomalert.3e.digital_sen2_1,gauge,,,,"[ROOMALERT3E-MIB] If this sensor is a Temperature, Temp/Humidity, Temp/Analog, or Temp/Active Power sensor, this value represents the current temperature in Celsius.",0,snmp,, +snmp.roomalert.3e.digital_sen2_2,gauge,,,,"[ROOMALERT3E-MIB] If this sensor is a Temperature, Temp/Humidity, Temp/Analog, or Temp/Active Power sensor, this value represents the current temperature in Fahrenheit.",0,snmp,, +snmp.roomalert.3e.digital_sen2_3,gauge,,,,"[ROOMALERT3E-MIB] If this sensor is a Temp/Humidity sensor, this value represents the current relative humidity in % Relative Humidity. If this sensor is a Temp/Analog sensor, this value represents the current Voltage reading. If this is a Temp/Active Power sensor, this value represents the current power state (1=Power Detected, 0=No Power Detected).",0,snmp,, +snmp.roomalert.3e.digital_sen2_4,gauge,,,,"[ROOMALERT3E-MIB] If this sensor is a Temp/Humidity sensor, this value represents the current heat index in Fahrenheit. If this sensor is a Temp/Analog sensor, this value represents the current custom reading.",0,snmp,, +snmp.roomalert.3e.digital_sen2_5,gauge,,,,"[ROOMALERT3E-MIB] If this sensor is a Temp/Humidity sensor, this value represents the current heat index in Celsius.",0,snmp,, +snmp.roomalert.3e.digital_sen2_7,gauge,,,,"[ROOMALERT3E-MIB] If this sensor is a Temp/Humidity sensor, this value represents the current dew point in Fahrenheit.",0,snmp,, +snmp.roomalert.3e.switch_sen1,gauge,,,,"[ROOMALERT3E-MIB] The reading for the switch sensor (0 = OPEN, 1 = CLOSED).",0,snmp,, snmp.rttMonCtrlOperTimeoutOccurred,gauge,,,,This object will change its value for all RttMonRttTypes.,0,snmp,, snmp.rttMonLatestRttOperCompletionTime,gauge,,millisecond,,The completion time of the latest RTT operation successfully completed.,0,snmp,, snmp.rttMonLatestRttOperSense,gauge,,,,A sense code for the completion status of the latest RTT operation.,0,snmp,, @@ -1118,7 +1127,6 @@ snmp.swFCPortRxLCs,count,,,,"[SW-MIB] This object counts the number of Link Cont snmp.swFCPortRxTooLongs,count,,,,"[SW-MIB] This object counts the number of received frames that are too long.",0,snmp,, snmp.swFCPortTooManyRdys,count,,,,"[SW-MIB] This object counts the number of times when RDYs exceeds the frames received.",0,snmp,, snmp.swFCPortTxFrames,count,,,,"[SW-MIB] This object counts the number of (Fibre Channel) frames that the port has transmitted.",0,snmp,, -snmp.switch_sen1,gauge,,,,"The reading for the switch sensor (0 = OPEN, 1 = CLOSED).",0,snmp,, snmp.sysClientsslStatCurConns,gauge,,,,[F5 BIG-IP] The current number of concurrent connections with established SSL sessions being maintained by the filter.,0,snmp,, snmp.sysClientsslStatDecryptedBytesIn,count,,byte,,[F5 BIG-IP] The total decrypted bytes received.,0,snmp,, snmp.sysClientsslStatDecryptedBytesOut,count,,byte,,[F5 BIG-IP] The total decrypted bytes sent.,0,snmp,, diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_avtech_roomalert_3e.py b/snmp/tests/test_e2e_core_profiles/test_profile_avtech_roomalert_3e.py index 3c0ed05879476..0f455924c2371 100644 --- a/snmp/tests/test_e2e_core_profiles/test_profile_avtech_roomalert_3e.py +++ b/snmp/tests/test_e2e_core_profiles/test_profile_avtech_roomalert_3e.py @@ -17,7 +17,7 @@ pytestmark = [pytest.mark.e2e, common.py3_plus_only, common.snmp_integration_only] -def test_e2e_profile_avtech_roomalert_3e(dd_agent_check): +def test_e2e_profile_avtech_roomalert3e(dd_agent_check): config = create_e2e_core_test_config('avtech-roomalert-3e') aggregator = common.dd_agent_check_wrapper(dd_agent_check, config, rate=True) @@ -32,17 +32,15 @@ def test_e2e_profile_avtech_roomalert_3e(dd_agent_check): # --- TEST METRICS --- assert_common_metrics(aggregator, common_tags) - aggregator.assert_metric('snmp.digital_sen1_1', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen1_2', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen2_1', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen2_2', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen2_3', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen2_4', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen2_5', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen2_7', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.switch_sen1', metric_type=aggregator.GAUGE, tags=common_tags) - - aggregator.assert_all_metrics_covered() + aggregator.assert_metric('snmp.roomalert.3e.digital_sen1_1', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.3e.digital_sen1_2', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.3e.digital_sen2_1', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.3e.digital_sen2_2', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.3e.digital_sen2_3', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.3e.digital_sen2_4', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.3e.digital_sen2_5', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.3e.digital_sen2_7', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.3e.switch_sen1', metric_type=aggregator.GAUGE, tags=common_tags) # --- TEST METADATA --- device = { From 0da996bdbf7b3696e4122d1b9da63574a7e461c9 Mon Sep 17 00:00:00 2001 From: edengorevoy <40647567+edengorevoy@users.noreply.github.com> Date: Thu, 6 Jul 2023 09:46:26 -0400 Subject: [PATCH 64/77] Do not fetch the full procedure_text in the SQLServer Qstats query (#15105) * Truncate procedure text * format string change * formatting * merging master, creating text alias * formatting --------- Co-authored-by: eden.gorevoy@datadoghq.com --- sqlserver/datadog_checks/sqlserver/statements.py | 7 ++++--- sqlserver/datadog_checks/sqlserver/utils.py | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/sqlserver/datadog_checks/sqlserver/statements.py b/sqlserver/datadog_checks/sqlserver/statements.py index 7b5a7e1b093b7..264a2f68f9221 100644 --- a/sqlserver/datadog_checks/sqlserver/statements.py +++ b/sqlserver/datadog_checks/sqlserver/statements.py @@ -21,7 +21,7 @@ ) from datadog_checks.base.utils.serialization import json from datadog_checks.base.utils.tracking import tracked_method -from datadog_checks.sqlserver.utils import extract_sql_comments, is_statement_proc +from datadog_checks.sqlserver.utils import PROC_CHAR_LIMIT, extract_sql_comments, is_statement_proc try: import datadog_agent @@ -86,7 +86,7 @@ WHEN -1 THEN DATALENGTH(text) ELSE statement_end_offset END - statement_start_offset) / 2) + 1) AS statement_text, - qt.text, + SUBSTRING(qt.text, 1, {proc_char_limit}) as text, encrypted as is_encrypted, s.* from qstats_aggr_split s cross apply sys.dm_exec_sql_text(plan_handle) qt @@ -118,7 +118,7 @@ WHEN -1 THEN DATALENGTH(text) ELSE statement_end_offset END - statement_start_offset) / 2) + 1) AS statement_text, - qt.text, + SUBSTRING(qt.text, 1, {proc_char_limit}) as text, encrypted as is_encrypted, s.* from qstats_aggr_split s cross apply sys.dm_exec_sql_text(plan_handle) qt @@ -264,6 +264,7 @@ def _get_statement_metrics_query_cached(self, cursor): query_metrics_column_sums=', '.join(['sum({}) as {}'.format(c, c) for c in available_columns]), collection_interval=int(math.ceil(self.collection_interval) * 2), limit=self.dm_exec_query_stats_row_limit, + proc_char_limit=PROC_CHAR_LIMIT, ) return self._statement_metrics_query diff --git a/sqlserver/datadog_checks/sqlserver/utils.py b/sqlserver/datadog_checks/sqlserver/utils.py index 34be2eafcc3ac..84f47fdc68af9 100644 --- a/sqlserver/datadog_checks/sqlserver/utils.py +++ b/sqlserver/datadog_checks/sqlserver/utils.py @@ -9,7 +9,7 @@ CURRENT_DIR = os.path.dirname(os.path.abspath(__file__)) DRIVER_CONFIG_DIR = os.path.join(CURRENT_DIR, 'data', 'driver_config') - +PROC_CHAR_LIMIT = 500 # Database is used to store both the name and physical_database_name # for a database, which is discovered via autodiscovery @@ -49,7 +49,7 @@ def is_statement_proc(text): if text: # take first 500 chars, upper case and split into string # to get individual keywords - t = text[0:500].upper().split() + t = text[0:PROC_CHAR_LIMIT].upper().split() idx_create = _get_index_for_keyword(t, 'CREATE') idx_proc = _get_index_for_keyword(t, 'PROCEDURE') if idx_proc < 0: From ce68f34eb9a1a34dc702bce0672d352cbba92321 Mon Sep 17 00:00:00 2001 From: Alexandre Yang Date: Thu, 6 Jul 2023 15:59:25 +0200 Subject: [PATCH 65/77] Update display_on_public_website to true (#15174) --- snmp_aruba/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snmp_aruba/manifest.json b/snmp_aruba/manifest.json index f7d0d9f12be64..3c29ea3c8e2c3 100644 --- a/snmp_aruba/manifest.json +++ b/snmp_aruba/manifest.json @@ -2,7 +2,7 @@ "manifest_version": "2.0.0", "app_uuid": "39ecfe88-b733-43f6-b8c5-99450430b776", "app_id": "snmp-aruba", - "display_on_public_website": false, + "display_on_public_website": true, "tile": { "overview": "README.md#Overview", "configuration": "README.md#Setup", From 9d85e496d8842694b5dfe03c3d00462f11d207b0 Mon Sep 17 00:00:00 2001 From: Alexandre Yang Date: Thu, 6 Jul 2023 16:22:52 +0200 Subject: [PATCH 66/77] Add roomalert3s prefix to avtech-roomalert-3s.yaml (#15182) --- .../default_profiles/avtech-roomalert-3s.yaml | 52 +++++++++---------- snmp/metadata.csv | 25 ++++++--- .../test_profile_avtech_roomalert_3s.py | 52 +++++++++++++------ 3 files changed, 78 insertions(+), 51 deletions(-) diff --git a/snmp/datadog_checks/snmp/data/default_profiles/avtech-roomalert-3s.yaml b/snmp/datadog_checks/snmp/data/default_profiles/avtech-roomalert-3s.yaml index 5bf53a7cb528f..f9fdd3d19613e 100644 --- a/snmp/datadog_checks/snmp/data/default_profiles/avtech-roomalert-3s.yaml +++ b/snmp/datadog_checks/snmp/data/default_profiles/avtech-roomalert-3s.yaml @@ -6,77 +6,77 @@ metrics: - MIB: ROOMALERT3S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.13.1.1.1.1.0 - name: internal_tempf + name: roomalert.3s.internal_tempf - MIB: ROOMALERT3S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.13.1.1.1.2.0 - name: internal_tempc + name: roomalert.3s.internal_tempc - MIB: ROOMALERT3S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.13.1.2.1.1.0 - name: digital_sen1_1 + name: roomalert.3s.digital_sen1_1 - MIB: ROOMALERT3S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.13.1.2.1.2.0 - name: digital_sen1_2 + name: roomalert.3s.digital_sen1_2 - MIB: ROOMALERT3S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.13.1.2.1.3.0 - name: digital_sen1_3 + name: roomalert.3s.digital_sen1_3 - MIB: ROOMALERT3S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.13.1.2.1.4.0 - name: digital_sen1_4 + name: roomalert.3s.digital_sen1_4 - MIB: ROOMALERT3S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.13.1.2.1.5.0 - name: digital_sen1_5 + name: roomalert.3s.digital_sen1_5 - MIB: ROOMALERT3S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.13.1.2.1.6.0 - name: digital_sen1_6 + name: roomalert.3s.digital_sen1_6 - MIB: ROOMALERT3S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.13.1.2.1.7.0 - name: digital_sen1_7 - # - MIB: ROOMALERT3S-MIB - # symbol: - # OID: 1.3.6.1.4.1.20916.1.13.1.3.1.0 - # name: switch_sen1 - # enum: - # open: 0 - # closed: 1 - # enum_note: enum in scalar metric is not supported yet (keep this metric and - # this comment in profile until it's fixed) + name: roomalert.3s.digital_sen1_7 +# - MIB: ROOMALERT3S-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.13.1.3.1.0 +# name: roomalert.3s.switch_sen1 +# enum: +# open: 0 +# closed: 1 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) - MIB: ROOMALERT3S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.13.3.1.1.0 - name: externalrelay1_element_one + name: roomalert.3s.externalrelay1_element_one - MIB: ROOMALERT3S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.13.3.1.2.0 - name: externalrelay1_element_two + name: roomalert.3s.externalrelay1_element_two - MIB: ROOMALERT3S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.13.3.1.3.0 - name: externalrelay1_element_three + name: roomalert.3s.externalrelay1_element_three - MIB: ROOMALERT3S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.13.3.1.4.0 - name: externalrelay1_element_four + name: roomalert.3s.externalrelay1_element_four - MIB: ROOMALERT3S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.13.3.1.5.0 - name: externalrelay1_element_five + name: roomalert.3s.externalrelay1_element_five - MIB: ROOMALERT3S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.13.3.1.6.0 - name: externalrelay1_element_six + name: roomalert.3s.externalrelay1_element_six - MIB: ROOMALERT3S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.13.3.1.7.0 - name: externalrelay1_element_seven + name: roomalert.3s.externalrelay1_element_seven - MIB: ROOMALERT3S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.13.3.1.8.0 - name: externalrelay1_element_eight + name: roomalert.3s.externalrelay1_element_eight diff --git a/snmp/metadata.csv b/snmp/metadata.csv index 632eb07b0a727..e3c725c9adf6a 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -509,14 +509,6 @@ snmp.entPhySensorOperStatus,gauge,,,,[Arista] The operational status of the sens snmp.entPhySensorValue,gauge,,,,[Cisco ASA 5525] [Arista] The most recent measurement obtained by the agent for this sensor.,0,snmp,, snmp.entSensorValue,gauge,,,,[Cisco c3850] [Cisco Nexus] The most recent measurement seen by the sensor.,0,snmp,, snmp.extcache64Hits,count,,buffer,,"[NetApp] Number of WAFL buffers read from the external cache.",0,snmp,, -snmp.externalrelay1_element_eight,gauge,,,,"[ROOMALERT3S-MIB] The status of the eighth element on external relay 1",0,snmp,, -snmp.externalrelay1_element_five,gauge,,,,"[ROOMALERT3S-MIB] The status of the fifth element on external relay 1.",0,snmp,, -snmp.externalrelay1_element_four,gauge,,,,"[ROOMALERT3S-MIB] The status of the fourth element on external relay 1.",0,snmp,, -snmp.externalrelay1_element_one,gauge,,,,"[ROOMALERT3S-MIB] The status of the first element on external relay 1.",0,snmp,, -snmp.externalrelay1_element_seven,gauge,,,,"[ROOMALERT3S-MIB] The status of the seventh element on external relay 1.",0,snmp,, -snmp.externalrelay1_element_six,gauge,,,,"[ROOMALERT3S-MIB] The status of the sixth element on external relay 1.",0,snmp,, -snmp.externalrelay1_element_three,gauge,,,,"[ROOMALERT3S-MIB] The status of the third element on external relay 1.",0,snmp,, -snmp.externalrelay1_element_two,gauge,,,,"[ROOMALERT3S-MIB] The status of the second element on external relay 1.",0,snmp,, snmp.extremeCurrentTemperature,gauge,,,,"[EXTREME-SYSTEM-MIB] Current temperature in degrees celcius measured inside device enclosure.",0,snmp,, snmp.extremeInputPowerVoltage,gauge,,,,"[EXTREME-SYSTEM-MIB] The input power voltage at which the system is currently operating.",0,snmp,, snmp.fanSpeed,gauge,,,,[Isilon] The current speed of the fan in revolutions per minute,0,snmp,, @@ -1106,6 +1098,23 @@ snmp.roomalert.3e.digital_sen2_4,gauge,,,,"[ROOMALERT3E-MIB] If this sensor is a snmp.roomalert.3e.digital_sen2_5,gauge,,,,"[ROOMALERT3E-MIB] If this sensor is a Temp/Humidity sensor, this value represents the current heat index in Celsius.",0,snmp,, snmp.roomalert.3e.digital_sen2_7,gauge,,,,"[ROOMALERT3E-MIB] If this sensor is a Temp/Humidity sensor, this value represents the current dew point in Fahrenheit.",0,snmp,, snmp.roomalert.3e.switch_sen1,gauge,,,,"[ROOMALERT3E-MIB] The reading for the switch sensor (0 = OPEN, 1 = CLOSED).",0,snmp,, +snmp.roomalert.3s.digital_sen1_1,gauge,,,,"[ROOMALERT3S-MIB] If this sensor is a Temperature, Temp/Humidity, Temp/Analog, Temp/Active Power, or Digital Extreme Temperature sensor, this value represents the current temperature in Celsius.",0,snmp,, +snmp.roomalert.3s.digital_sen1_2,gauge,,,,"[ROOMALERT3S-MIB] If this sensor is a Temperature, Temp/Humidity, Temp/Analog, Temp/Active Power, or Digital Extreme Temperature sensor, this value represents the current temperature in Fahrenheit.",0,snmp,, +snmp.roomalert.3s.digital_sen1_3,gauge,,,,"[ROOMALERT3S-MIB] If this sensor is a Temp/Humidity sensor, this value represents the current relative humidity in % Relative Humidity. If this sensor is a Temp/Analog sensor, this value represents the current Voltage reading. If this is a Temp/Active Power sensor, this value represents the current power state (1=Power Detected, 0=No Power Detected). If this is a Digital Extreme Temperature sen...",0,snmp,, +snmp.roomalert.3s.digital_sen1_4,gauge,,,,"[ROOMALERT3S-MIB] If this sensor is a Temp/Humidity sensor, this value represents the current heat index in Fahrenheit. If this sensor is a Temp/Analog sensor, this value represents the current custom reading. If this is a Digital Extreme Temperature sensor, this value represents the current temperature from the thermocouple in Fahrenheit.",0,snmp,, +snmp.roomalert.3s.digital_sen1_5,gauge,,,,"[ROOMALERT3S-MIB] If this sensor is a Temp/Humidity sensor, this value represents the current heat index in Celsius. If this is a Digital Extreme Temperature Sensor, this value is a fault code. 0 = no fault.",0,snmp,, +snmp.roomalert.3s.digital_sen1_6,gauge,,,,"[ROOMALERT3S-MIB] If this sensor is a Temp/Humidity sensor, this value represents the current dew point in Celsius.",0,snmp,, +snmp.roomalert.3s.digital_sen1_7,gauge,,,,"[ROOMALERT3S-MIB] If this sensor is a Temp/Humidity sensor, this value represents the current dew point in Fahrenheit.",0,snmp,, +snmp.roomalert.3s.externalrelay1_element_eight,gauge,,,,"[ROOMALERT3S-MIB] The status of the eighth element on external relay 1",0,snmp,, +snmp.roomalert.3s.externalrelay1_element_five,gauge,,,,"[ROOMALERT3S-MIB] The status of the fifth element on external relay 1.",0,snmp,, +snmp.roomalert.3s.externalrelay1_element_four,gauge,,,,"[ROOMALERT3S-MIB] The status of the fourth element on external relay 1.",0,snmp,, +snmp.roomalert.3s.externalrelay1_element_one,gauge,,,,"[ROOMALERT3S-MIB] The status of the first element on external relay 1.",0,snmp,, +snmp.roomalert.3s.externalrelay1_element_seven,gauge,,,,"[ROOMALERT3S-MIB] The status of the seventh element on external relay 1.",0,snmp,, +snmp.roomalert.3s.externalrelay1_element_six,gauge,,,,"[ROOMALERT3S-MIB] The status of the sixth element on external relay 1.",0,snmp,, +snmp.roomalert.3s.externalrelay1_element_three,gauge,,,,"[ROOMALERT3S-MIB] The status of the third element on external relay 1.",0,snmp,, +snmp.roomalert.3s.externalrelay1_element_two,gauge,,,,"[ROOMALERT3S-MIB] The status of the second element on external relay 1.",0,snmp,, +snmp.roomalert.3s.internal_tempc,gauge,,,,"[ROOMALERT3S-MIB] The internal temperature reading in Celsius.",0,snmp,, +snmp.roomalert.3s.internal_tempf,gauge,,,,"[ROOMALERT3S-MIB] The internal temperature reading in Fahrenheit.",0,snmp,, snmp.rttMonCtrlOperTimeoutOccurred,gauge,,,,This object will change its value for all RttMonRttTypes.,0,snmp,, snmp.rttMonLatestRttOperCompletionTime,gauge,,millisecond,,The completion time of the latest RTT operation successfully completed.,0,snmp,, snmp.rttMonLatestRttOperSense,gauge,,,,A sense code for the completion status of the latest RTT operation.,0,snmp,, diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_avtech_roomalert_3s.py b/snmp/tests/test_e2e_core_profiles/test_profile_avtech_roomalert_3s.py index 82123f981e55d..5afb0633fc533 100644 --- a/snmp/tests/test_e2e_core_profiles/test_profile_avtech_roomalert_3s.py +++ b/snmp/tests/test_e2e_core_profiles/test_profile_avtech_roomalert_3s.py @@ -29,26 +29,44 @@ def test_e2e_profile_avtech_roomalert_3s(dd_agent_check): 'snmp_device:' + ip_address, ] + [] + # --- TEST EXTENDED METRICS --- + # --- TEST METRICS --- assert_common_metrics(aggregator, common_tags) - aggregator.assert_metric('snmp.digital_sen1_1', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen1_2', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen1_3', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen1_4', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen1_5', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen1_6', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen1_7', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.externalrelay1_element_eight', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.externalrelay1_element_five', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.externalrelay1_element_four', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.externalrelay1_element_one', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.externalrelay1_element_seven', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.externalrelay1_element_six', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.externalrelay1_element_three', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.externalrelay1_element_two', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.internal_tempc', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.internal_tempf', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.3s.digital_sen1_1', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.3s.digital_sen1_2', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.3s.digital_sen1_3', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.3s.digital_sen1_4', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.3s.digital_sen1_5', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.3s.digital_sen1_6', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.3s.digital_sen1_7', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric( + 'snmp.roomalert.3s.externalrelay1_element_eight', metric_type=aggregator.GAUGE, tags=common_tags + ) + aggregator.assert_metric( + 'snmp.roomalert.3s.externalrelay1_element_five', metric_type=aggregator.GAUGE, tags=common_tags + ) + aggregator.assert_metric( + 'snmp.roomalert.3s.externalrelay1_element_four', metric_type=aggregator.GAUGE, tags=common_tags + ) + aggregator.assert_metric( + 'snmp.roomalert.3s.externalrelay1_element_one', metric_type=aggregator.GAUGE, tags=common_tags + ) + aggregator.assert_metric( + 'snmp.roomalert.3s.externalrelay1_element_seven', metric_type=aggregator.GAUGE, tags=common_tags + ) + aggregator.assert_metric( + 'snmp.roomalert.3s.externalrelay1_element_six', metric_type=aggregator.GAUGE, tags=common_tags + ) + aggregator.assert_metric( + 'snmp.roomalert.3s.externalrelay1_element_three', metric_type=aggregator.GAUGE, tags=common_tags + ) + aggregator.assert_metric( + 'snmp.roomalert.3s.externalrelay1_element_two', metric_type=aggregator.GAUGE, tags=common_tags + ) + aggregator.assert_metric('snmp.roomalert.3s.internal_tempc', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.3s.internal_tempf', metric_type=aggregator.GAUGE, tags=common_tags) # --- TEST METADATA --- device = { From 88f31058e3eed048bb9270bf8c339b0c598793b3 Mon Sep 17 00:00:00 2001 From: Florent Clarret Date: Thu, 6 Jul 2023 16:49:30 +0200 Subject: [PATCH 67/77] Fix the tests providing the SAN field in our test certificates (#15127) * Fix the tests * test * Fix the tests * Fix the tests * Fix the tests * Fix the tests --- voltdb/tests/compose/certs/ca.pem | 36 ++++---- voltdb/tests/compose/certs/client.pem | 96 ++++++++++---------- voltdb/tests/compose/certs/generate | 10 +- voltdb/tests/compose/certs/voltdb_key.jks | Bin 2527 -> 2201 bytes voltdb/tests/compose/certs/voltdb_trust.jks | Bin 1122 -> 912 bytes voltdb/tests/test_integration.py | 2 + 6 files changed, 73 insertions(+), 71 deletions(-) diff --git a/voltdb/tests/compose/certs/ca.pem b/voltdb/tests/compose/certs/ca.pem index 8f1e3fa49c319..943cf08f6d701 100644 --- a/voltdb/tests/compose/certs/ca.pem +++ b/voltdb/tests/compose/certs/ca.pem @@ -1,20 +1,20 @@ -----BEGIN CERTIFICATE----- -MIIDOTCCAiGgAwIBAgIIQwnxBIUY1y4wDQYJKoZIhvcNAQELBQAwSjEQMA4GA1UE -BhMHVW5rbm93bjEQMA4GA1UEChMHVW5rbm93bjEQMA4GA1UECxMHVW5rbm93bjES -MBAGA1UEAxMJbG9jYWxob3N0MCAXDTIwMTIxNTEyMjAyOVoYDzIxMjAxMTIxMTIy -MDI5WjBKMRAwDgYDVQQGEwdVbmtub3duMRAwDgYDVQQKEwdVbmtub3duMRAwDgYD -VQQLEwdVbmtub3duMRIwEAYDVQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEB -AQUAA4IBDwAwggEKAoIBAQCXeqIH2MXr6E7putpe+ZC/31oMMgXi7EPqjeNdbEMk -M5c1hCLSyy762mlafkvxqEaL+OIEamZXDtOq/cenVogdu5gvP/mMkijxWnMg7CNO -tg6ulME2UqOPiMRQRJm9iXFoqx1xLSVSUh080ydbh2k8+yav/eRqaAJyREOE0Iva -fyeG1ocHTL/D6eHos3epB9T4OLXS6UjOvLoJ9eu4GLj7R6GuMB1X15RlmYP+XLWW -O2pKjlfBdY8KxQ48Q5GQHpKV10ytuH36VO0qUvGRy5svzQEcI7VX/HCLkiFtbL7y -Q+gyKACYql2CpBaBR0IDYAyx3KjrFdLSVkZ+goWNcTThAgMBAAGjITAfMB0GA1Ud -DgQWBBRI3g/1Vg8gwfExKxyoP8LPs7iFozANBgkqhkiG9w0BAQsFAAOCAQEAIcwh -frq22crp7GqT0MsiiXXMZ9Jm+UuIIfGPK6oUNyVGAyoqkL7N7iboz6fzZ6PQKQgG -4nTFYNp1bdsVRRNKlE2RawbeHqS7HGcqBljs1UQ9sWZ0/z0dgc6+wZkBZR8IYQeH -O15QhZyO5O4+397WdepxScpv1LYMH7wdrYuCR9LQzZc0T5WJm379F4Vnt0y9EvEd -OVBAj/f0LpHxxDZTm0i0DLlKlAGPezO1uldolWSwvb+QEUf8EhmB1L+aOQmVgfTT -N/ja8rlyV/+bkgYyGuzzRJXRsUwfDDxKBPGs+jz7Z5Kfnd7OWY8ALwHffkm6TCo7 -1qMljntQsbMNrS+Guw== +MIIDTTCCAjWgAwIBAgIEdNnO4jANBgkqhkiG9w0BAQsFADBLMREwDwYDVQQGEwhO +ZXcgWW9yazEQMA4GA1UEChMHRGF0YWRvZzEQMA4GA1UECxMHRGF0YWRvZzESMBAG +A1UEAxMJbG9jYWxob3N0MCAXDTIzMDcwNjE0MDMyOFoYDzIxMjMwNjEyMTQwMzI4 +WjBLMREwDwYDVQQGEwhOZXcgWW9yazEQMA4GA1UEChMHRGF0YWRvZzEQMA4GA1UE +CxMHRGF0YWRvZzESMBAGA1UEAxMJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAk5r89ODh5aQHpC/okfvCLik//FsoijGJ+b40lgvmI23Q +yE6cAMtJ4ajLrR5KHIbfk+R87JY6Hx9RSGcJyaZcFg2Icllmfbe3AhpgPoVXIwTW +TdmkVD9L3VcxkjCn2vCafM/tAMsoPpPsjm46UR2bMsov6L2cey1g8NkQ9Z1BGmdV +9DloucDAJ7A8WTVtwUdYVkWeb3QN1z7i91CQ+dkTJx5Lz24o/qD95wx3Iwg3D1sX +DJglvpx0FWamqLabzhhxcHsUtt7twEtOXG7upFEvmC27rj+336J1KW4/tvIXW+7E +J40rOlAPfUMAINMeb0ywVDdC/m3OXBjgu93ExozwZwIDAQABozcwNTAdBgNVHQ4E +FgQUBXpOmm02bd2IxLRisFg44hVnHUkwFAYDVR0RBA0wC4IJbG9jYWxob3N0MA0G +CSqGSIb3DQEBCwUAA4IBAQBM2PnYnd3nv8qasPnaqXQByNsafHDlOHnyiNCK4gXM +LfxIyppZE4x41BAoRm3ev57T+frgLBFtkRfdiIaRMbgLorRLj4vpBt4hbJ1cv3H9 +b5s7bM5SGfQrtT6mMay0pVzsL5HiWXRVB3tyQLzV1N089sSoaowHHXGgtX05juPg +X3gJLZiaWFkQ19Fk+/4P50MEhABxLf0vd66zzvihM68QNLg+N5RyBz5Rlx30J8qJ +2+6jzzWP/Kuc9dQ5/PTyu3O5SpOFwVd9Um0/cj9EEU4ngue7sO6Nu/Vg09C9zNsf +yU8n2PSvPJowinTt2S4NgsAmpzWxgj8Gar0N2W2sOLfC -----END CERTIFICATE----- diff --git a/voltdb/tests/compose/certs/client.pem b/voltdb/tests/compose/certs/client.pem index 75c293329ab10..9c521e7d11598 100644 --- a/voltdb/tests/compose/certs/client.pem +++ b/voltdb/tests/compose/certs/client.pem @@ -1,57 +1,57 @@ Bag Attributes friendlyName: voltdb - localKeyID: 54 69 6D 65 20 31 36 30 38 30 33 34 38 33 31 38 39 38 + localKeyID: 54 69 6D 65 20 31 36 38 38 36 35 32 32 30 38 36 38 36 Key Attributes: -----BEGIN PRIVATE KEY----- -MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCXeqIH2MXr6E7p -utpe+ZC/31oMMgXi7EPqjeNdbEMkM5c1hCLSyy762mlafkvxqEaL+OIEamZXDtOq -/cenVogdu5gvP/mMkijxWnMg7CNOtg6ulME2UqOPiMRQRJm9iXFoqx1xLSVSUh08 -0ydbh2k8+yav/eRqaAJyREOE0IvafyeG1ocHTL/D6eHos3epB9T4OLXS6UjOvLoJ -9eu4GLj7R6GuMB1X15RlmYP+XLWWO2pKjlfBdY8KxQ48Q5GQHpKV10ytuH36VO0q -UvGRy5svzQEcI7VX/HCLkiFtbL7yQ+gyKACYql2CpBaBR0IDYAyx3KjrFdLSVkZ+ -goWNcTThAgMBAAECggEAYPKDsTHzukA8ASsth4uCMMrp/tQlIE7GSN/2nFwlvI2o -QQAIqZCQyMvwkZIzWL6yJ/Np9BmE1kMPBWjW1ypyg1UE2XjAZk9FFPMmq/N1xXKP -gvyBjBrnw31s51KAcuX8R1j8xup18HHNdJhPoCzSFc1HvWtpPRDEQA2giOhQGc40 -xcz34161dj8BAeeESHaIfed7WTwBu1IBTpVmAKPJudlAf3EjiAcO/pclLS7tJwN5 -qsX0K3oHkm4W1aaOLo/G4akUxJ72bS8ny9w8wvJmJKIJ93koHwJ5HnThL5UjGhCD -cAJPCdUYm1oUtKAsTkIh2SC/sGBH28Q20D5UGHms4QKBgQD4UgvXIQYIcUv0M0qA -vGxyRDsG474Q8PqnClRAEZc/NA3S0g/B+jq0kyq7J3DLBtLCDEPmjBKfAbm39D2t -TE4sebo2/CTYmJy5FgiJxdSaEoZOrPAZAJfpkN3lfohN6McIT+0YUTvdgnDk/5xo -NwPQQEfdN9OtWMqvaFMrr6gf8wKBgQCcKeSH2/t39r79LmZvxW42+dBQvhoDVR4J -OsTYx058YWdAbWBy2CccCkDdOQnuPBsqIkQy5YQ4E6dt5AqOP9Kcl4xrfyocvQpy -ULa/sLl5xZTtKf6iyRhOuZS+LSgychoc3Y50xyNKoVAMv2ddvQnEQrEDQizbO6gW -43idKEKg2wKBgAzukOlKMfs8kz0LcsTTiz5EKWLJd3uAYT1Tv2F6yQqklle1UtbC -Rk5jH6WRf0FDgLRUWTDneIzJVTesQ44D3EpaqIT2iqCxCfBloloycEj5z/7G6NYU -ftTOE5BBD64nAj5/kxRiHqEBiwmR+j4/JzawMk3l+2MarauG3lX3FuVbAoGADoVe -uLtd4MPS8pvz7oS/QOFt23Qx2wl5J4aNc1LlG2+7OCRziXpL+LGDYo7BO6PfKsXQ -7aKl7sj1EqTXzm5k2SbGaeCDO/TgGc0jkSOPu6EBviPfh6eHWRqsmBp+2GH/x5ta -ecVipLfnR6gspmzDkbpZ12G55hDgCnDQcFykBW0CgYBeYRRfvZuJVDbA7M3DygfI -DCNPpgcjaECt5Uz/3N0udBNsoXY9vRakRlhKANLYesMUd76mUjVWu6Kc+EJtyEcC -q2plTc4gowD/hhxT1Fw95p6yxz8m+eHFc8BWAaHtoGMMgK1/wm1UXYe/hQDu39g9 -ojckZpT64MHda9CvnF814g== +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCTmvz04OHlpAek +L+iR+8IuKT/8WyiKMYn5vjSWC+YjbdDITpwAy0nhqMutHkocht+T5HzsljofH1FI +ZwnJplwWDYhyWWZ9t7cCGmA+hVcjBNZN2aRUP0vdVzGSMKfa8Jp8z+0Ayyg+k+yO +bjpRHZsyyi/ovZx7LWDw2RD1nUEaZ1X0OWi5wMAnsDxZNW3BR1hWRZ5vdA3XPuL3 +UJD52RMnHkvPbij+oP3nDHcjCDcPWxcMmCW+nHQVZqaotpvOGHFwexS23u3AS05c +bu6kUS+YLbuuP7ffonUpbj+28hdb7sQnjSs6UA99QwAg0x5vTLBUN0L+bc5cGOC7 +3cTGjPBnAgMBAAECggEANqTcHLPcLS2qfogV62Vun7Q5sez1dyOb1s8pnJrPGjKf +ZmhjrI+VzGq27GIYQbNUteWSsetznO31I36xyutBkBB2gQ7DuKr4n1iwZLTsa1Rx +GeUGxwGfzlNnUJ2eppkIOEipju+m+HO+0YPRJxJ00Dq1vc3kTl2gU8moU6Vh4qnl +9nonLeV1bvUAPJ5nHF3wAU0p/aIuLAR17F4h3IVn47gwzoz92uJaWtP4wI7MN6qW +94DC0dcCloDba2ZNXDFhJ+FJzTmxvpSzJqAZByYMSC+HNBQSoni7BpK3kz47GLEq +AMtlcCt1ydnrFmGxgfJCs0Rlhx5CFVka04tg7utgIQKBgQD8W4ohEeZY5PAUmOuB +Mgv7rH+pnCfmmlo5WElzkDTNMIy+fLf5RvBQ+RSoxKva7UCCjrEc6gZ+OxIO3K8U +cQ0FUi3Lug12rVf+WCX/rgo+fWlU/qZBiHN1j/wRo9Nf0wqM7W6ASNkP7u0YM5Sf +ba/f9xfua4AFR2RjwpiQpiw36QKBgQCVvGPBi7y9Wz8egxVcBGfSbPwCLNXk843C +32mOyr5//AMkytTzQkVlZjAnzB88z8Bmgeo3twBQlGFG0n1m4Xqe5l/WhQsLfPz1 +nmhhaUxJcGeuYHiTipN0LfND5UPq+Vis9fwT2cG5asJStF0IhFkLpZ7eRp9wSKXi +EjY8kIQDzwKBgBGENRlIicmf0n5LgwVLuQM2HQJj4W0jR6H1W9vWpaOcfBh4xbha +0TF9qI5yYE9o6nJlfyu3ns3CQeWgMdLkaff1lVIvzuFu9M2lxrVxmipuQBJzPo0L +8J+3Z9K9oV1kY7YWgPYMmGx/tBta8TUDwxJzr0iQU6mKJBC8oCRiNG2JAoGAfZAu +IwZ4Ll4PDxojVjeHjIjBx10rvMOUVB8fGJPhrdd6F2dTre4b3Y0UwrrEUy1wDUXS +UAhQ5kGXVVl7uUNJnWhYY77LZUXZpmrA4zb2tvrgpvTVB/yD7EAAKCZgjvGrr9bT +HR5U+pSRAeOnxFWfiknHcGPOncz99hcJjj4txjcCgYEA9sGU/iyxswRGIjinrCSR +ZrAFsRsxaNlTUGuxHuANEtRND9PbNVsRp6U95JRl8BV46A7uuMJRgL5u2jtH6jA/ +7TGM7hhghZG2fx9shmrkNa4erUOUQt/Ah2yQZg6/VEG6EJh8keKk5TDuVmMixlbs +mFYsezLXT6SRO/T6Hn/0pnE= -----END PRIVATE KEY----- Bag Attributes friendlyName: voltdb - localKeyID: 54 69 6D 65 20 31 36 30 38 30 33 34 38 33 31 38 39 38 -subject=/C=Unknown/O=Unknown/OU=Unknown/CN=localhost -issuer=/C=Unknown/O=Unknown/OU=Unknown/CN=localhost + localKeyID: 54 69 6D 65 20 31 36 38 38 36 35 32 32 30 38 36 38 36 +subject=C = New York, O = Datadog, OU = Datadog, CN = localhost +issuer=C = New York, O = Datadog, OU = Datadog, CN = localhost -----BEGIN CERTIFICATE----- -MIIDOTCCAiGgAwIBAgIIQwnxBIUY1y4wDQYJKoZIhvcNAQELBQAwSjEQMA4GA1UE -BhMHVW5rbm93bjEQMA4GA1UEChMHVW5rbm93bjEQMA4GA1UECxMHVW5rbm93bjES -MBAGA1UEAxMJbG9jYWxob3N0MCAXDTIwMTIxNTEyMjAyOVoYDzIxMjAxMTIxMTIy -MDI5WjBKMRAwDgYDVQQGEwdVbmtub3duMRAwDgYDVQQKEwdVbmtub3duMRAwDgYD -VQQLEwdVbmtub3duMRIwEAYDVQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEB -AQUAA4IBDwAwggEKAoIBAQCXeqIH2MXr6E7putpe+ZC/31oMMgXi7EPqjeNdbEMk -M5c1hCLSyy762mlafkvxqEaL+OIEamZXDtOq/cenVogdu5gvP/mMkijxWnMg7CNO -tg6ulME2UqOPiMRQRJm9iXFoqx1xLSVSUh080ydbh2k8+yav/eRqaAJyREOE0Iva -fyeG1ocHTL/D6eHos3epB9T4OLXS6UjOvLoJ9eu4GLj7R6GuMB1X15RlmYP+XLWW -O2pKjlfBdY8KxQ48Q5GQHpKV10ytuH36VO0qUvGRy5svzQEcI7VX/HCLkiFtbL7y -Q+gyKACYql2CpBaBR0IDYAyx3KjrFdLSVkZ+goWNcTThAgMBAAGjITAfMB0GA1Ud -DgQWBBRI3g/1Vg8gwfExKxyoP8LPs7iFozANBgkqhkiG9w0BAQsFAAOCAQEAIcwh -frq22crp7GqT0MsiiXXMZ9Jm+UuIIfGPK6oUNyVGAyoqkL7N7iboz6fzZ6PQKQgG -4nTFYNp1bdsVRRNKlE2RawbeHqS7HGcqBljs1UQ9sWZ0/z0dgc6+wZkBZR8IYQeH -O15QhZyO5O4+397WdepxScpv1LYMH7wdrYuCR9LQzZc0T5WJm379F4Vnt0y9EvEd -OVBAj/f0LpHxxDZTm0i0DLlKlAGPezO1uldolWSwvb+QEUf8EhmB1L+aOQmVgfTT -N/ja8rlyV/+bkgYyGuzzRJXRsUwfDDxKBPGs+jz7Z5Kfnd7OWY8ALwHffkm6TCo7 -1qMljntQsbMNrS+Guw== +MIIDTTCCAjWgAwIBAgIEdNnO4jANBgkqhkiG9w0BAQsFADBLMREwDwYDVQQGEwhO +ZXcgWW9yazEQMA4GA1UEChMHRGF0YWRvZzEQMA4GA1UECxMHRGF0YWRvZzESMBAG +A1UEAxMJbG9jYWxob3N0MCAXDTIzMDcwNjE0MDMyOFoYDzIxMjMwNjEyMTQwMzI4 +WjBLMREwDwYDVQQGEwhOZXcgWW9yazEQMA4GA1UEChMHRGF0YWRvZzEQMA4GA1UE +CxMHRGF0YWRvZzESMBAGA1UEAxMJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAk5r89ODh5aQHpC/okfvCLik//FsoijGJ+b40lgvmI23Q +yE6cAMtJ4ajLrR5KHIbfk+R87JY6Hx9RSGcJyaZcFg2Icllmfbe3AhpgPoVXIwTW +TdmkVD9L3VcxkjCn2vCafM/tAMsoPpPsjm46UR2bMsov6L2cey1g8NkQ9Z1BGmdV +9DloucDAJ7A8WTVtwUdYVkWeb3QN1z7i91CQ+dkTJx5Lz24o/qD95wx3Iwg3D1sX +DJglvpx0FWamqLabzhhxcHsUtt7twEtOXG7upFEvmC27rj+336J1KW4/tvIXW+7E +J40rOlAPfUMAINMeb0ywVDdC/m3OXBjgu93ExozwZwIDAQABozcwNTAdBgNVHQ4E +FgQUBXpOmm02bd2IxLRisFg44hVnHUkwFAYDVR0RBA0wC4IJbG9jYWxob3N0MA0G +CSqGSIb3DQEBCwUAA4IBAQBM2PnYnd3nv8qasPnaqXQByNsafHDlOHnyiNCK4gXM +LfxIyppZE4x41BAoRm3ev57T+frgLBFtkRfdiIaRMbgLorRLj4vpBt4hbJ1cv3H9 +b5s7bM5SGfQrtT6mMay0pVzsL5HiWXRVB3tyQLzV1N089sSoaowHHXGgtX05juPg +X3gJLZiaWFkQ19Fk+/4P50MEhABxLf0vd66zzvihM68QNLg+N5RyBz5Rlx30J8qJ +2+6jzzWP/Kuc9dQ5/PTyu3O5SpOFwVd9Um0/cj9EEU4ngue7sO6Nu/Vg09C9zNsf +yU8n2PSvPJowinTt2S4NgsAmpzWxgj8Gar0N2W2sOLfC -----END CERTIFICATE----- diff --git a/voltdb/tests/compose/certs/generate b/voltdb/tests/compose/certs/generate index 7ce1729852bcd..10419bfe636ec 100755 --- a/voltdb/tests/compose/certs/generate +++ b/voltdb/tests/compose/certs/generate @@ -9,7 +9,7 @@ PASSWORD="tlspass" ALIAS="voltdb" VALIDITY="36500" # 100 years. TMP_REQ_FILE="$CERTS_DIR/server.csr" -TMP_CERT_FILE="$CERTS_DIR/server.pem" +TMP_CERT_FILE="$CERTS_DIR/server.cert" TMP_P12_FILE="$CERTS_DIR/cert.p12" CA_FILE="$CERTS_DIR/ca.pem" CLIENT_CERT_FILE="$CERTS_DIR/client.pem" @@ -17,12 +17,12 @@ CLIENT_CERT_FILE="$CERTS_DIR/client.pem" # Remove any existing files. rm -f $KEYSTORE $TRUSTSTORE $CA_FILE $CLIENT_CERT_FILE -# Generate server keystore and truststore. -keytool -genkey -keystore $KEYSTORE -storepass $PASSWORD -alias $ALIAS -dname "cn=localhost, ou=Unknown, o=Unknown, c=Unknown" -keyalg rsa -keysize 2048 -validity $VALIDITY +## Generate server keystore and truststore. +keytool -genkeypair -keystore $KEYSTORE -storepass $PASSWORD -alias $ALIAS -dname "cn=localhost, ou=Datadog, o=Datadog, c=New York" -keyalg rsa -keysize 2048 -validity $VALIDITY -storetype jks keytool -certreq -keystore $KEYSTORE -storepass $PASSWORD -alias $ALIAS -keyalg rsa -file $TMP_REQ_FILE -keytool -gencert -keystore $KEYSTORE -storepass $PASSWORD -alias $ALIAS -infile $TMP_REQ_FILE -outfile $TMP_CERT_FILE -validity $VALIDITY +keytool -gencert -keystore $KEYSTORE -storepass $PASSWORD -alias $ALIAS -infile $TMP_REQ_FILE -outfile $TMP_CERT_FILE -validity $VALIDITY -ext "san=dns:localhost" keytool -import -keystore $KEYSTORE -storepass $PASSWORD -alias $ALIAS -noprompt -file $TMP_CERT_FILE -keytool -import -keystore $TRUSTSTORE -storepass $PASSWORD -alias $ALIAS -noprompt -file $TMP_CERT_FILE +keytool -import -keystore $TRUSTSTORE -storepass $PASSWORD -alias $ALIAS -storetype jks -noprompt -file $TMP_CERT_FILE # Export CA file. keytool -exportcert -file $CA_FILE -keystore $TRUSTSTORE -storepass $PASSWORD -alias $ALIAS -rfc diff --git a/voltdb/tests/compose/certs/voltdb_key.jks b/voltdb/tests/compose/certs/voltdb_key.jks index bbcd4a57f98a162c7c8f12fb469104baafd28863..44021abf51170810b9f12dfc448c7ae3aea3fa07 100644 GIT binary patch literal 2201 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 diff --git a/voltdb/tests/compose/certs/voltdb_trust.jks b/voltdb/tests/compose/certs/voltdb_trust.jks index 73daf3ab5a95e00328f3818c00f0fc5003e8d1d7..43d6b67399a4c692869906d3a53757b714cdae2a 100644 GIT binary patch literal 912 zcmezO_TO6u1_mY|W(3o0W%)TJDM>(Xr*`vA9|qP4JyQcq1_tIpgC=HQgC-`^1%ni&8O$>~UETSa%jSPVT zW`;&k0qR=U#HfVq9Y$6L<|amd27@L>E~X|%Muy3={(O1x@aYovCHgNW{ywCqY5yl$ zqsy@K=RT8Z+|QJAFP!k3!*JU3;fm91<-BCt?oWPF^JbcrynLWXI_Jq{F=D(OMUiQ> z+qW}GCD^rwE3;hly}2aB-urI2;Ut6Qw?53OIsca7w1(Z}H+^|lfwHrWPU*kcJEvMV z;loXVuX7!x(nG&kX6!t0Kz)Nvq-pL!_lPjpdHE&0*X@WPAKifLzT#)1!?X7mp4A*Q~8uLbf;-kot zQ1Ew+XYUS{i1%V^Y**N=S} z*S^T!MbJ;Z>G|#r?|OHCO}Knv@0r{3C;ioLd|7WZ%b=^|?M*%2rUPorO*b~#vt{k& gy_vhlV*4TW*q0IlDJJja+CP1WxSF$MS7|^40HGOTm;e9( literal 1122 zcmV-o1fBaZf&^Xy0Ru3C1Q!MgDuzgg_YDCD0ic2e2n2!z1TcaG05F0B{00dshDe6@ z4FLxRpn?PKFoFZ=0s#Opf&=0P2`Yw2hW8Bt2LUiC1_~;MNQUrCggiM?v(r(7oKEf?t|_@l#dW{J9` zw<=&dk9@8;VTX@_5h-~5uQ{j&6n=5qtRp!M43D%Uz`Kt%^%XiP)iGuhK;oZ#T z%7Sb_@%Z%x>qO=nB&Zw33IS8-YsI(fPEjUa#i8ff!4?P;1>{ON0AblXG!iHN{N5;;q-aI2-&? zEE>E?0VPMCJb2mAQVRRb`w5-TgKQR(2JG0Rf@kOmp4I4&b8@zPFJKQslI0YQRfZRn zee>SNV8se&@WzO(>PbO^DA(*p|FJzy-GXSK*8f)yROU) zYflwxKo*+*4}D2Kv*!fL9jsC1XlwHcvC0W-pc8e)ICgGV6`DtQ?$qFLxa9f;4}auq zLRKx!-AT^8BC{@$MAiYhu0Jvi7CNT>>&Hq_aR`L7hGDku61lAbpKhhPU9one?@$R^ zA38YOdaQ^9JSQh@oj_x+3-kwJ$5FrZNag#AuN8|5Qu3HNJ4^{cQPYp=FP2rs#t-fz zXZ)r*!yF$BKWK`S{szr`r1e`TsBB6#7kSVT?@N1Q7*4Y3(*3Q>YtO65se-MNxNf12 zQ2H47uw8;Tg1vwVdTQhTI`7WnNwe;&pY+LYZ|~f(n8taPLi3Pz*#lsjsSQ31NMc|H z-)!htBaO70&(@xTf17{UNo7hrAutIB1uG5%0vZJX1QZhVmj2@ucQcK_ oui(9~jQ9@yR*wV}*CB$GHC!sdX9q&sps!4{9#AbA0s{etprX4S82|tP diff --git a/voltdb/tests/test_integration.py b/voltdb/tests/test_integration.py index f7357ed7549c5..3aff8ab036f10 100644 --- a/voltdb/tests/test_integration.py +++ b/voltdb/tests/test_integration.py @@ -43,6 +43,8 @@ def test_failure_connection_refused(self, aggregator, instance): # type: (AggregatorStub, Instance) -> None instance = instance.copy() instance['url'] = 'http://doesnotexist:8080' + # Speed up the test + instance["timeout"] = 2 check = VoltDBCheck('voltdb', {}, [instance]) From 257cb175facfb8eff231c11aa68b0e635b6a79bf Mon Sep 17 00:00:00 2001 From: Steven Blumenthal Date: Thu, 6 Jul 2023 10:56:36 -0400 Subject: [PATCH 68/77] Add new metrics for resource aggregation to KSM core (#15186) --- kubernetes_state_core/metadata.csv | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/kubernetes_state_core/metadata.csv b/kubernetes_state_core/metadata.csv index 5e5c9b2c3fd59..cdc50db0c3b71 100644 --- a/kubernetes_state_core/metadata.csv +++ b/kubernetes_state_core/metadata.csv @@ -25,11 +25,15 @@ kubernetes_state.endpoint.address_not_ready,gauge,,,,Number of addresses not rea kubernetes_state.namespace.count,gauge,,,,Number of namespaces. Tags:`phase`.,0,kubernetes_state_core,k8s_state.ns.count, kubernetes_state.node.count,gauge,,,,Number of nodes. Tags:`kernel_version` `os_image` `container_runtime_version` `kubelet_version`.,0,kubernetes_state_core,k8s_state.node.count, kubernetes_state.node.cpu_allocatable,gauge,,,,The allocatable CPU of a node that is available for scheduling. Tags:`node` `resource` `unit`.,0,kubernetes_state_core,k8s_state.node.cpu_allocatable, +kubernetes_state.node.cpu_allocatable.total,gauge,,,,The total allocatable CPU of all nodes in the cluster that is available for scheduling.,0,kubernetes_state_core,k8s_state.node.cpu_allocatable.total, kubernetes_state.node.memory_allocatable,gauge,,,,The allocatable memory of a node that is available for scheduling. Tags:`node` `resource` `unit`.,0,kubernetes_state_core,k8s_state.node.memory_allocatable, +kubernetes_state.node.memory_allocatable.total,gauge,,,,The total allocatable memory of all nodes in the cluster that is available for scheduling.,0,kubernetes_state_core,k8s_state.node.memory_allocatable.total, kubernetes_state.node.pods_allocatable,gauge,,,,The allocatable memory of a node that is available for scheduling. Tags:`node` `resource` `unit`.,0,kubernetes_state_core,k8s_state.node.pods_allocatable, kubernetes_state.node.ephemeral_storage_allocatable,gauge,,,,The allocatable ephemeral-storage of a node that is available for scheduling. Tags:`node` `resource` `unit`.,0,kubernetes_state_core,k8s_state.node.ephemeral_storage_allocatable, kubernetes_state.node.cpu_capacity,gauge,,,,The CPU capacity of a node. Tags:`node` `resource` `unit`.,0,kubernetes_state_core,k8s_state.node.cpu_capacity, +kubernetes_state.node.cpu_capacity.total,gauge,,,,The total CPU capacity of all nodes in the cluster.,0,kubernetes_state_core,k8s_state.node.cpu_capacity.total, kubernetes_state.node.memory_capacity,gauge,,,,The memory capacity of a node. Tags:`node` `resource` `unit`.,0,kubernetes_state_core,k8s_state.node.memory_capacity, +kubernetes_state.node.memory_capacity.total,gauge,,,,The total memory capacity of all nodes in the cluster.,0,kubernetes_state_core,k8s_state.node.memory_capacity.total, kubernetes_state.node.pods_capacity,gauge,,,,The pods capacity of a node. Tags:`node` `resource` `unit`.,0,kubernetes_state_core,k8s_state.node.pods_capacity, kubernetes_state.node.ephemeral_storage_capacity,gauge,,,,The ephemeral-storage capacity of a node. Tags:`node` `resource` `unit`.,0,kubernetes_state_core,k8s_state.node.ephemeral_storage_capacity, kubernetes_state.node.by_condition,gauge,,,,The condition of a cluster node. Tags:`condition` `node` `status`.,0,kubernetes_state_core,k8s_state.node.by_cond, @@ -37,9 +41,13 @@ kubernetes_state.node.status,gauge,,,,Whether the node can schedule new pods. Ta kubernetes_state.node.age,gauge,,,,The time in seconds since the creation of the node. Tags:`node`.,0,kubernetes_state_core,k8s_state.node.age, kubernetes_state.container.terminated,gauge,,,,Describes whether the container is currently in terminated state. Tags:`kube_namespace` `pod_name` `kube_container_name` (`env` `service` `version` from standard labels).,0,kubernetes_state_core,k8s_state.container.term, kubernetes_state.container.cpu_limit,gauge,,,,The value of CPU limit by a container. Tags:`kube_namespace` `pod_name` `kube_container_name` `node` `resource` `unit` (`env` `service` `version` from standard labels).,0,kubernetes_state_core,k8s_state.container.cpu_limit, +kubernetes_state.container.cpu_limit.total,gauge,,,,The total value of CPU limits by all containers in the cluster. Tags:`kube_namespace` `kube_container_name` `kube_`.,0,kubernetes_state_core,k8s_state.container.cpu_limit.total, kubernetes_state.container.memory_limit,gauge,,,,The value of memory limit by a container. Tags:`kube_namespace` `pod_name` `kube_container_name` `node` `resource` `unit` (`env` `service` `version` from standard labels).,0,kubernetes_state_core,k8s_state.container.mem_limit, +kubernetes_state.container.memory_limit.total,gauge,,,,The total value of memory limits by all containers in the cluster. Tags:`kube_namespace` `kube_container_name` `kube_`.,0,kubernetes_state_core,k8s_state.container.mem_limit.total, kubernetes_state.container.cpu_requested,gauge,,,,The value of CPU requested by a container. Tags:`kube_namespace` `pod_name` `kube_container_name` `node` `resource` `unit` (`env` `service` `version` from standard labels).,0,kubernetes_state_core,k8s_state.container.cpu_req, +kubernetes_state.container.cpu_requested.total,gauge,,,,The total value of CPU requested by all containers in the cluster. Tags:`kube_namespace` `kube_container_name` `kube_`.,0,kubernetes_state_core,k8s_state.container.cpu_req.total, kubernetes_state.container.memory_requested,gauge,,,,The value of memory requested by a container. Tags:`kube_namespace` `pod_name` `kube_container_name` `node` `resource` `unit` (`env` `service` `version` from standard labels).,0,kubernetes_state_core,k8s_state.container.mem_req, +kubernetes_state.container.memory_requested.total,gauge,,,,The total value of memory requested by all containers in the cluster. Tags:`kube_namespace` `kube_container_name` `kube_`.,0,kubernetes_state_core,k8s_state.container.mem_req.total, kubernetes_state.container.ready,gauge,,,,Describes whether the containers readiness check succeeded. Tags:`kube_namespace` `pod_name` `kube_container_name` (`env` `service` `version` from standard labels).,0,kubernetes_state_core,k8s_state.container.rdy, kubernetes_state.container.restarts,gauge,,,,The number of container restarts per container. Tags:`kube_namespace` `pod_name` `kube_container_name` (`env` `service` `version` from standard labels).,0,kubernetes_state_core,k8s_state.container.restarts, kubernetes_state.container.running,gauge,,,,Describes whether the container is currently in running state. Tags:`kube_namespace` `pod_name` `kube_container_name` (`env` `service` `version` from standard labels).,0,kubernetes_state_core,k8s_state.container.running, From bac520b4acec1a677e732f0e987137ce60ca4d87 Mon Sep 17 00:00:00 2001 From: Alexandre Yang Date: Thu, 6 Jul 2023 17:16:43 +0200 Subject: [PATCH 69/77] Add roomalert prefix to avtech-roomalert-32s.yaml (#15180) --- .../avtech-roomalert-32s.yaml | 287 ++++++++++++++---- snmp/metadata.csv | 134 ++++---- .../test_profile_avtech_roomalert_32s.py | 138 ++++----- 3 files changed, 356 insertions(+), 203 deletions(-) diff --git a/snmp/datadog_checks/snmp/data/default_profiles/avtech-roomalert-32s.yaml b/snmp/datadog_checks/snmp/data/default_profiles/avtech-roomalert-32s.yaml index 32b521a5d5dfd..b9d92c44bf6da 100644 --- a/snmp/datadog_checks/snmp/data/default_profiles/avtech-roomalert-32s.yaml +++ b/snmp/datadog_checks/snmp/data/default_profiles/avtech-roomalert-32s.yaml @@ -6,268 +6,421 @@ metrics: - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.1.1.1.0 - name: internal_tempf + name: roomalert.32s.internal_tempf - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.1.1.2.0 - name: internal_tempc + name: roomalert.32s.internal_tempc - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.1.2.1.0 - name: internal_humidity + name: roomalert.32s.internal_humidity +# - MIB: ROOMALERT32S-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.11.1.1.3.1.0 +# name: roomalert.32s.internal_power +# enum: +# battery: 0 +# ac: 1 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.1.4.1.0 - name: internal_heat_index + name: roomalert.32s.internal_heat_index - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.1.4.2.0 - name: internal_heat_indexC + name: roomalert.32s.internal_heat_indexC - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.1.5.1.0 - name: internal_analog1 + name: roomalert.32s.internal_analog1 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.1.5.2.0 - name: internal_analog2 + name: roomalert.32s.internal_analog2 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.1.6.1.0 - name: internal_relay1 + name: roomalert.32s.internal_relay1 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.1.6.2.0 - name: internal_relay2 + name: roomalert.32s.internal_relay2 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.1.7.1.0 - name: internal_dew_point_c + name: roomalert.32s.internal_dew_point_c - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.1.7.2.0 - name: internal_dew_point_f + name: roomalert.32s.internal_dew_point_f - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.1.1.0 - name: digital_sen1_1 + name: roomalert.32s.digital_sen1_1 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.1.2.0 - name: digital_sen1_2 + name: roomalert.32s.digital_sen1_2 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.1.3.0 - name: digital_sen1_3 + name: roomalert.32s.digital_sen1_3 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.1.4.0 - name: digital_sen1_4 + name: roomalert.32s.digital_sen1_4 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.1.5.0 - name: digital_sen1_5 + name: roomalert.32s.digital_sen1_5 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.1.6.0 - name: digital_sen1_6 + name: roomalert.32s.digital_sen1_6 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.1.7.0 - name: digital_sen1_7 + name: roomalert.32s.digital_sen1_7 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.2.1.0 - name: digital_sen2_1 + name: roomalert.32s.digital_sen2_1 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.2.2.0 - name: digital_sen2_2 + name: roomalert.32s.digital_sen2_2 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.2.3.0 - name: digital_sen2_3 + name: roomalert.32s.digital_sen2_3 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.2.4.0 - name: digital_sen2_4 + name: roomalert.32s.digital_sen2_4 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.2.5.0 - name: digital_sen2_5 + name: roomalert.32s.digital_sen2_5 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.2.6.0 - name: digital_sen2_6 + name: roomalert.32s.digital_sen2_6 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.2.7.0 - name: digital_sen2_7 + name: roomalert.32s.digital_sen2_7 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.3.1.0 - name: digital_sen3_1 + name: roomalert.32s.digital_sen3_1 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.3.2.0 - name: digital_sen3_2 + name: roomalert.32s.digital_sen3_2 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.3.3.0 - name: digital_sen3_3 + name: roomalert.32s.digital_sen3_3 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.3.4.0 - name: digital_sen3_4 + name: roomalert.32s.digital_sen3_4 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.3.5.0 - name: digital_sen3_5 + name: roomalert.32s.digital_sen3_5 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.3.6.0 - name: digital_sen3_6 + name: roomalert.32s.digital_sen3_6 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.3.7.0 - name: digital_sen3_7 + name: roomalert.32s.digital_sen3_7 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.4.1.0 - name: digital_sen4_1 + name: roomalert.32s.digital_sen4_1 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.4.2.0 - name: digital_sen4_2 + name: roomalert.32s.digital_sen4_2 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.4.3.0 - name: digital_sen4_3 + name: roomalert.32s.digital_sen4_3 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.4.4.0 - name: digital_sen4_4 + name: roomalert.32s.digital_sen4_4 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.4.5.0 - name: digital_sen4_5 + name: roomalert.32s.digital_sen4_5 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.4.6.0 - name: digital_sen4_6 + name: roomalert.32s.digital_sen4_6 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.4.7.0 - name: digital_sen4_7 + name: roomalert.32s.digital_sen4_7 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.5.1.0 - name: digital_sen5_1 + name: roomalert.32s.digital_sen5_1 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.5.2.0 - name: digital_sen5_2 + name: roomalert.32s.digital_sen5_2 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.5.3.0 - name: digital_sen5_3 + name: roomalert.32s.digital_sen5_3 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.5.4.0 - name: digital_sen5_4 + name: roomalert.32s.digital_sen5_4 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.5.5.0 - name: digital_sen5_5 + name: roomalert.32s.digital_sen5_5 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.5.6.0 - name: digital_sen5_6 + name: roomalert.32s.digital_sen5_6 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.5.7.0 - name: digital_sen5_7 + name: roomalert.32s.digital_sen5_7 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.6.1.0 - name: digital_sen6_1 + name: roomalert.32s.digital_sen6_1 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.6.2.0 - name: digital_sen6_2 + name: roomalert.32s.digital_sen6_2 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.6.3.0 - name: digital_sen6_3 + name: roomalert.32s.digital_sen6_3 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.6.4.0 - name: digital_sen6_4 + name: roomalert.32s.digital_sen6_4 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.6.5.0 - name: digital_sen6_5 + name: roomalert.32s.digital_sen6_5 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.6.6.0 - name: digital_sen6_6 + name: roomalert.32s.digital_sen6_6 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.6.7.0 - name: digital_sen6_7 + name: roomalert.32s.digital_sen6_7 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.7.1.0 - name: digital_sen7_1 + name: roomalert.32s.digital_sen7_1 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.7.2.0 - name: digital_sen7_2 + name: roomalert.32s.digital_sen7_2 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.7.3.0 - name: digital_sen7_3 + name: roomalert.32s.digital_sen7_3 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.7.4.0 - name: digital_sen7_4 + name: roomalert.32s.digital_sen7_4 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.7.5.0 - name: digital_sen7_5 + name: roomalert.32s.digital_sen7_5 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.7.6.0 - name: digital_sen7_6 + name: roomalert.32s.digital_sen7_6 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.7.7.0 - name: digital_sen7_7 + name: roomalert.32s.digital_sen7_7 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.8.1.0 - name: digital_sen8_1 + name: roomalert.32s.digital_sen8_1 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.8.2.0 - name: digital_sen8_2 + name: roomalert.32s.digital_sen8_2 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.8.3.0 - name: digital_sen8_3 + name: roomalert.32s.digital_sen8_3 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.8.4.0 - name: digital_sen8_4 + name: roomalert.32s.digital_sen8_4 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.8.5.0 - name: digital_sen8_5 + name: roomalert.32s.digital_sen8_5 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.8.6.0 - name: digital_sen8_6 + name: roomalert.32s.digital_sen8_6 - MIB: ROOMALERT32S-MIB symbol: OID: 1.3.6.1.4.1.20916.1.11.1.2.8.7.0 - name: digital_sen8_7 \ No newline at end of file + name: roomalert.32s.digital_sen8_7 +# - MIB: ROOMALERT32S-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.11.1.3.1.0 +# name: roomalert.32s.switch_sen1 +# enum: +# open: 0 +# closed: 1 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) +# - MIB: ROOMALERT32S-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.11.1.3.2.0 +# name: roomalert.32s.switch_sen2 +# enum: +# open: 0 +# closed: 1 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) +# - MIB: ROOMALERT32S-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.11.1.3.3.0 +# name: roomalert.32s.switch_sen3 +# enum: +# open: 0 +# closed: 1 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) +# - MIB: ROOMALERT32S-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.11.1.3.4.0 +# name: roomalert.32s.switch_sen4 +# enum: +# open: 0 +# closed: 1 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) +# - MIB: ROOMALERT32S-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.11.1.3.5.0 +# name: roomalert.32s.switch_sen5 +# enum: +# open: 0 +# closed: 1 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) +# - MIB: ROOMALERT32S-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.11.1.3.6.0 +# name: roomalert.32s.switch_sen6 +# enum: +# open: 0 +# closed: 1 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) +# - MIB: ROOMALERT32S-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.11.1.3.7.0 +# name: roomalert.32s.switch_sen7 +# enum: +# open: 0 +# closed: 1 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) +# - MIB: ROOMALERT32S-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.11.1.3.8.0 +# name: roomalert.32s.switch_sen8 +# enum: +# open: 0 +# closed: 1 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) +# - MIB: ROOMALERT32S-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.11.1.3.9.0 +# name: roomalert.32s.switch_sen9 +# enum: +# open: 0 +# closed: 1 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) +# - MIB: ROOMALERT32S-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.11.1.3.10.0 +# name: roomalert.32s.switch_sen10 +# enum: +# open: 0 +# closed: 1 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) +# - MIB: ROOMALERT32S-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.11.1.3.11.0 +# name: roomalert.32s.switch_sen11 +# enum: +# open: 0 +# closed: 1 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) +# - MIB: ROOMALERT32S-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.11.1.3.12.0 +# name: roomalert.32s.switch_sen12 +# enum: +# open: 0 +# closed: 1 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) +# - MIB: ROOMALERT32S-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.11.1.3.13.0 +# name: roomalert.32s.switch_sen13 +# enum: +# open: 0 +# closed: 1 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) +# - MIB: ROOMALERT32S-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.11.1.3.14.0 +# name: roomalert.32s.switch_sen14 +# enum: +# open: 0 +# closed: 1 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) +# - MIB: ROOMALERT32S-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.11.1.3.15.0 +# name: roomalert.32s.switch_sen15 +# enum: +# open: 0 +# closed: 1 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) +# - MIB: ROOMALERT32S-MIB +# symbol: +# OID: 1.3.6.1.4.1.20916.1.11.1.3.16.0 +# name: roomalert.32s.switch_sen16 +# enum: +# open: 0 +# closed: 1 +# TODO: enum in scalar metric is not supported yet (keep this metric and this +# comment in profile until it's fixed) diff --git a/snmp/metadata.csv b/snmp/metadata.csv index e3c725c9adf6a..9c2a2c0ff3898 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -417,62 +417,6 @@ snmp.dialCtlPeerStatsAcceptCalls,count,,,,"[Cisco UC Virtual Machine] [Cisco ICM snmp.dialCtlPeerStatsFailCalls,count,,,,"[Cisco UC Virtual Machine] [Cisco ICM] [Cisco ISR 4431]The number of failed call attempts to this peer since system startup.",0,snmp,, snmp.dialCtlPeerStatsRefuseCalls,count,,,,"[Cisco UC Virtual Machine] [Cisco ICM] [Cisco ISR 4431] The number of calls from this peer refused since system startup.",0,snmp,, snmp.dialCtlPeerStatsSuccessCalls,count,,,,"[Cisco UC Virtual Machine] [Cisco ICM] [Cisco ISR 4431] The number of completed calls to this peer.",0,snmp,, -snmp.digital_sen1_1,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Celsius.",0,snmp,, -snmp.digital_sen1_2,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Fahrenheit.",0,snmp,, -snmp.digital_sen1_3,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current % relative humidity, voltage reading (V), power state (1=Power Detected, 0=No Power Detected), thermocouple temperature (C), or air speed (m/s).",0,snmp,, -snmp.digital_sen1_4,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (F), custom analog reading, thermocouple temperature (F), or air speed (f/m).",0,snmp,, -snmp.digital_sen1_5,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (C), thermocouple fault code (0=No Fault), or air flow (CMH).",0,snmp,, -snmp.digital_sen1_6,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (C) or air flow (CFM).",0,snmp,, -snmp.digital_sen1_7,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (F).",0,snmp,, -snmp.digital_sen2_1,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Celsius.",0,snmp,, -snmp.digital_sen2_2,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Fahrenheit.",0,snmp,, -snmp.digital_sen2_3,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current % relative humidity, voltage reading (V), power state (1=Power Detected, 0=No Power Detected), thermocouple temperature (C), or air speed (m/s).",0,snmp,, -snmp.digital_sen2_4,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (F), custom analog reading, thermocouple temperature (F), or air speed (f/m).",0,snmp,, -snmp.digital_sen2_5,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (C), thermocouple fault code (0=No Fault), or air flow (CMH).",0,snmp,, -snmp.digital_sen2_6,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (C) or air flow (CFM).",0,snmp,, -snmp.digital_sen2_7,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (F).",0,snmp,, -snmp.digital_sen3_1,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Celsius.",0,snmp,, -snmp.digital_sen3_2,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Fahrenheit.",0,snmp,, -snmp.digital_sen3_3,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current % relative humidity, voltage reading (V), power state (1=Power Detected, 0=No Power Detected), thermocouple temperature (C), or air speed (m/s).",0,snmp,, -snmp.digital_sen3_4,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (F), custom analog reading, thermocouple temperature (F), or air speed (f/m).",0,snmp,, -snmp.digital_sen3_5,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (C), thermocouple fault code (0=No Fault), or air flow (CMH).",0,snmp,, -snmp.digital_sen3_6,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (C) or air flow (CFM).",0,snmp,, -snmp.digital_sen3_7,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (F).",0,snmp,, -snmp.digital_sen4_1,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Celsius.",0,snmp,, -snmp.digital_sen4_2,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Fahrenheit.",0,snmp,, -snmp.digital_sen4_3,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current % relative humidity, voltage reading (V), power state (1=Power Detected, 0=No Power Detected), thermocouple temperature (C), or air speed (m/s).",0,snmp,, -snmp.digital_sen4_4,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (F), custom analog reading, thermocouple temperature (F), or air speed (f/m).",0,snmp,, -snmp.digital_sen4_5,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (C), thermocouple fault code (0=No Fault), or air flow (CMH).",0,snmp,, -snmp.digital_sen4_6,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (C) or air flow (CFM).",0,snmp,, -snmp.digital_sen4_7,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (F).",0,snmp,, -snmp.digital_sen5_1,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Celsius.",0,snmp,, -snmp.digital_sen5_2,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Fahrenheit.",0,snmp,, -snmp.digital_sen5_3,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current % relative humidity, voltage reading (V), power state (1=Power Detected, 0=No Power Detected), thermocouple temperature (C), or air speed (m/s).",0,snmp,, -snmp.digital_sen5_4,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (F), custom analog reading, thermocouple temperature (F), or air speed (f/m).",0,snmp,, -snmp.digital_sen5_5,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (C), thermocouple fault code (0=No Fault), or air flow (CMH).",0,snmp,, -snmp.digital_sen5_6,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (C) or air flow (CFM).",0,snmp,, -snmp.digital_sen5_7,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (F).",0,snmp,, -snmp.digital_sen6_1,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Celsius.",0,snmp,, -snmp.digital_sen6_2,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Fahrenheit.",0,snmp,, -snmp.digital_sen6_3,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current % relative humidity, voltage reading (V), power state (1=Power Detected, 0=No Power Detected), thermocouple temperature (C), or air speed (m/s).",0,snmp,, -snmp.digital_sen6_4,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (F), custom analog reading, thermocouple temperature (F), or air speed (f/m).",0,snmp,, -snmp.digital_sen6_5,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (C), thermocouple fault code (0=No Fault), or air flow (CMH).",0,snmp,, -snmp.digital_sen6_6,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (C) or air flow (CFM).",0,snmp,, -snmp.digital_sen6_7,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (F).",0,snmp,, -snmp.digital_sen7_1,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Celsius.",0,snmp,, -snmp.digital_sen7_2,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Fahrenheit.",0,snmp,, -snmp.digital_sen7_3,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current % relative humidity, voltage reading (V), power state (1=Power Detected, 0=No Power Detected), thermocouple temperature (C), or air speed (m/s).",0,snmp,, -snmp.digital_sen7_4,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (F), custom analog reading, thermocouple temperature (F), or air speed (f/m).",0,snmp,, -snmp.digital_sen7_5,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (C), thermocouple fault code (0=No Fault), or air flow (CMH).",0,snmp,, -snmp.digital_sen7_6,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (C) or air flow (CFM).",0,snmp,, -snmp.digital_sen7_7,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (F).",0,snmp,, -snmp.digital_sen8_1,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Celsius.",0,snmp,, -snmp.digital_sen8_2,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Fahrenheit.",0,snmp,, -snmp.digital_sen8_3,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current % relative humidity, voltage reading (V), power state (1=Power Detected, 0=No Power Detected), thermocouple temperature (C), or air speed (m/s).",0,snmp,, -snmp.digital_sen8_4,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (F), custom analog reading, thermocouple temperature (F), or air speed (f/m).",0,snmp,, -snmp.digital_sen8_5,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (C), thermocouple fault code (0=No Fault), or air flow (CMH).",0,snmp,, -snmp.digital_sen8_6,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (C) or air flow (CFM).",0,snmp,, -snmp.digital_sen8_7,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (F).",0,snmp,, snmp.discovered_devices_count,gauge,,device,,"The total number of devices discovered. Metric only available using Python SNMP Autodiscovery. For Agent SNMP Autodiscovery, use `snmp.devices_monitored` instead.",0,snmp,, snmp.diskSizeBytes,gauge,,byte,,[Isilon] The size of the disk in bytes.,0,snmp,, snmp.drsAmpsReading,gauge,,ampere,,[Dell iDRAC] The instantaneous chassis current usage (in Ampere).,0,snmp,, @@ -616,17 +560,6 @@ snmp.ifSpeed,gauge,,,,"[Generic router] An estimate of the interface's current b snmp.ifsTotalBytes,gauge,,byte,,[Isilon] The total cluster capacity of the /ifs filesystem in bytes.,0,snmp,, snmp.ifsUsedBytes,gauge,,byte,,[Isilon] The number of bytes used in the /ifs filesystem.,0,snmp,, snmp.interface.status,gauge,,,,"For each interface of each monitored network device, this metric reports always 1 with the admin_status and oper_status as tags, as long as a 'combined' status that can be used for monitors.",0,snmp,, -snmp.internal_analog1,gauge,,,,"[ROOMALERT32S-MIB] The current status of the Room Alert 32S analog input (0-5VDC).",0,snmp,, -snmp.internal_analog2,gauge,,,,"[ROOMALERT32S-MIB] The current status of the Room Alert 32S analog input (0-5VDC).",0,snmp,, -snmp.internal_dew_point_c,gauge,,,,"[ROOMALERT32S-MIB] The internal dew-point reading in Celsius.",0,snmp,, -snmp.internal_dew_point_f,gauge,,,,"[ROOMALERT32S-MIB] The internal dew-point reading in Fahrenheit.",0,snmp,, -snmp.internal_heat_index,gauge,,,,"[ROOMALERT32S-MIB] The internal heat index reading in Fahrenheit.",0,snmp,, -snmp.internal_heat_indexC,gauge,,,,"[ROOMALERT32S-MIB] The internal heat index reading in Celsius.",0,snmp,, -snmp.internal_humidity,gauge,,,,"[ROOMALERT32S-MIB] The internal relative humidity reading in %RH.",0,snmp,, -snmp.internal_relay1,gauge,,,,"[ROOMALERT32S-MIB] The status of the on-board relay output",0,snmp,, -snmp.internal_relay2,gauge,,,,"[ROOMALERT32S-MIB] The status of the on-board relay output",0,snmp,, -snmp.internal_tempc,gauge,,,,"[ROOMALERT32S-MIB] The internal temperature reading in Celsius.",0,snmp,, -snmp.internal_tempf,gauge,,,,"[ROOMALERT32S-MIB] The internal temperature reading in Fahrenheit.",0,snmp,, snmp.intrusionReading,gauge,,,,[Dell iDRAC] The reading of the intrusion sensor.,0,snmp,, snmp.intrusionStatus,gauge,,,,[Dell iDRAC] The status of the intrusion sensor.,0,snmp,, snmp.ipIfStatsHCInBcastPkts,count,,datagram,,[Generic router] [Arista] [Cisco c3850] [Cisco Nexus] [Cisco ASA 5525] [Checkpoint Firewall] [F5 BIG-IP] [HPE Proliant] [Palo Alto] [Dell Poweredge] The number of IP broadcast datagrams received.,0,snmp,, @@ -1089,6 +1022,73 @@ snmp.receptacleEnergyoutlet6s,count,,,,"[Legacy Chatsworth] The outlet6 receptac snmp.receptacleEnergyoutlet7s,count,,,,"[Legacy Chatsworth] The outlet7 receptacle energy accumulated in decaWatt-secs, divide by 360 to obtain Watt-hr.",0,snmp,, snmp.receptacleEnergyoutlet8s,count,,,,"[Legacy Chatsworth] The outlet8 receptacle energy accumulated in decaWatt-secs, divide by 360 to obtain Watt-hr.",0,snmp,, snmp.receptacleEnergyoutlet9s,count,,,,"[Legacy Chatsworth] The outlet9 receptacle energy accumulated in decaWatt-secs, divide by 360 to obtain Watt-hr.",0,snmp,, +snmp.roomalert.32s.digital_sen1_1,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Celsius.",0,snmp,, +snmp.roomalert.32s.digital_sen1_2,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Fahrenheit.",0,snmp,, +snmp.roomalert.32s.digital_sen1_3,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current % relative humidity, voltage reading (V), power state (1=Power Detected, 0=No Power Detected), thermocouple temperature (C), or air speed (m/s).",0,snmp,, +snmp.roomalert.32s.digital_sen1_4,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (F), custom analog reading, thermocouple temperature (F), or air speed (f/m).",0,snmp,, +snmp.roomalert.32s.digital_sen1_5,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (C), thermocouple fault code (0=No Fault), or air flow (CMH).",0,snmp,, +snmp.roomalert.32s.digital_sen1_6,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (C) or air flow (CFM).",0,snmp,, +snmp.roomalert.32s.digital_sen1_7,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (F).",0,snmp,, +snmp.roomalert.32s.digital_sen2_1,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Celsius.",0,snmp,, +snmp.roomalert.32s.digital_sen2_2,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Fahrenheit.",0,snmp,, +snmp.roomalert.32s.digital_sen2_3,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current % relative humidity, voltage reading (V), power state (1=Power Detected, 0=No Power Detected), thermocouple temperature (C), or air speed (m/s).",0,snmp,, +snmp.roomalert.32s.digital_sen2_4,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (F), custom analog reading, thermocouple temperature (F), or air speed (f/m).",0,snmp,, +snmp.roomalert.32s.digital_sen2_5,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (C), thermocouple fault code (0=No Fault), or air flow (CMH).",0,snmp,, +snmp.roomalert.32s.digital_sen2_6,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (C) or air flow (CFM).",0,snmp,, +snmp.roomalert.32s.digital_sen2_7,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (F).",0,snmp,, +snmp.roomalert.32s.digital_sen3_1,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Celsius.",0,snmp,, +snmp.roomalert.32s.digital_sen3_2,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Fahrenheit.",0,snmp,, +snmp.roomalert.32s.digital_sen3_3,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current % relative humidity, voltage reading (V), power state (1=Power Detected, 0=No Power Detected), thermocouple temperature (C), or air speed (m/s).",0,snmp,, +snmp.roomalert.32s.digital_sen3_4,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (F), custom analog reading, thermocouple temperature (F), or air speed (f/m).",0,snmp,, +snmp.roomalert.32s.digital_sen3_5,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (C), thermocouple fault code (0=No Fault), or air flow (CMH).",0,snmp,, +snmp.roomalert.32s.digital_sen3_6,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (C) or air flow (CFM).",0,snmp,, +snmp.roomalert.32s.digital_sen3_7,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (F).",0,snmp,, +snmp.roomalert.32s.digital_sen4_1,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Celsius.",0,snmp,, +snmp.roomalert.32s.digital_sen4_2,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Fahrenheit.",0,snmp,, +snmp.roomalert.32s.digital_sen4_3,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current % relative humidity, voltage reading (V), power state (1=Power Detected, 0=No Power Detected), thermocouple temperature (C), or air speed (m/s).",0,snmp,, +snmp.roomalert.32s.digital_sen4_4,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (F), custom analog reading, thermocouple temperature (F), or air speed (f/m).",0,snmp,, +snmp.roomalert.32s.digital_sen4_5,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (C), thermocouple fault code (0=No Fault), or air flow (CMH).",0,snmp,, +snmp.roomalert.32s.digital_sen4_6,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (C) or air flow (CFM).",0,snmp,, +snmp.roomalert.32s.digital_sen4_7,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (F).",0,snmp,, +snmp.roomalert.32s.digital_sen5_1,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Celsius.",0,snmp,, +snmp.roomalert.32s.digital_sen5_2,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Fahrenheit.",0,snmp,, +snmp.roomalert.32s.digital_sen5_3,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current % relative humidity, voltage reading (V), power state (1=Power Detected, 0=No Power Detected), thermocouple temperature (C), or air speed (m/s).",0,snmp,, +snmp.roomalert.32s.digital_sen5_4,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (F), custom analog reading, thermocouple temperature (F), or air speed (f/m).",0,snmp,, +snmp.roomalert.32s.digital_sen5_5,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (C), thermocouple fault code (0=No Fault), or air flow (CMH).",0,snmp,, +snmp.roomalert.32s.digital_sen5_6,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (C) or air flow (CFM).",0,snmp,, +snmp.roomalert.32s.digital_sen5_7,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (F).",0,snmp,, +snmp.roomalert.32s.digital_sen6_1,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Celsius.",0,snmp,, +snmp.roomalert.32s.digital_sen6_2,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Fahrenheit.",0,snmp,, +snmp.roomalert.32s.digital_sen6_3,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current % relative humidity, voltage reading (V), power state (1=Power Detected, 0=No Power Detected), thermocouple temperature (C), or air speed (m/s).",0,snmp,, +snmp.roomalert.32s.digital_sen6_4,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (F), custom analog reading, thermocouple temperature (F), or air speed (f/m).",0,snmp,, +snmp.roomalert.32s.digital_sen6_5,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (C), thermocouple fault code (0=No Fault), or air flow (CMH).",0,snmp,, +snmp.roomalert.32s.digital_sen6_6,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (C) or air flow (CFM).",0,snmp,, +snmp.roomalert.32s.digital_sen6_7,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (F).",0,snmp,, +snmp.roomalert.32s.digital_sen7_1,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Celsius.",0,snmp,, +snmp.roomalert.32s.digital_sen7_2,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Fahrenheit.",0,snmp,, +snmp.roomalert.32s.digital_sen7_3,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current % relative humidity, voltage reading (V), power state (1=Power Detected, 0=No Power Detected), thermocouple temperature (C), or air speed (m/s).",0,snmp,, +snmp.roomalert.32s.digital_sen7_4,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (F), custom analog reading, thermocouple temperature (F), or air speed (f/m).",0,snmp,, +snmp.roomalert.32s.digital_sen7_5,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (C), thermocouple fault code (0=No Fault), or air flow (CMH).",0,snmp,, +snmp.roomalert.32s.digital_sen7_6,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (C) or air flow (CFM).",0,snmp,, +snmp.roomalert.32s.digital_sen7_7,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (F).",0,snmp,, +snmp.roomalert.32s.digital_sen8_1,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Celsius.",0,snmp,, +snmp.roomalert.32s.digital_sen8_2,gauge,,,,"[ROOMALERT32S-MIB] The sensor's current temperature in Fahrenheit.",0,snmp,, +snmp.roomalert.32s.digital_sen8_3,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current % relative humidity, voltage reading (V), power state (1=Power Detected, 0=No Power Detected), thermocouple temperature (C), or air speed (m/s).",0,snmp,, +snmp.roomalert.32s.digital_sen8_4,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (F), custom analog reading, thermocouple temperature (F), or air speed (f/m).",0,snmp,, +snmp.roomalert.32s.digital_sen8_5,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current heat index (C), thermocouple fault code (0=No Fault), or air flow (CMH).",0,snmp,, +snmp.roomalert.32s.digital_sen8_6,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (C) or air flow (CFM).",0,snmp,, +snmp.roomalert.32s.digital_sen8_7,gauge,,,,"[ROOMALERT32S-MIB] Varies by sensor type: current dew point (F).",0,snmp,, +snmp.roomalert.32s.internal_analog1,gauge,,,,"[ROOMALERT32S-MIB] The current status of the Room Alert 32S analog input (0-5VDC).",0,snmp,, +snmp.roomalert.32s.internal_analog2,gauge,,,,"[ROOMALERT32S-MIB] The current status of the Room Alert 32S analog input (0-5VDC).",0,snmp,, +snmp.roomalert.32s.internal_dew_point_c,gauge,,,,"[ROOMALERT32S-MIB] The internal dew-point reading in Celsius.",0,snmp,, +snmp.roomalert.32s.internal_dew_point_f,gauge,,,,"[ROOMALERT32S-MIB] The internal dew-point reading in Fahrenheit.",0,snmp,, +snmp.roomalert.32s.internal_heat_index,gauge,,,,"[ROOMALERT32S-MIB] The internal heat index reading in Fahrenheit.",0,snmp,, +snmp.roomalert.32s.internal_heat_indexC,gauge,,,,"[ROOMALERT32S-MIB] The internal heat index reading in Celsius.",0,snmp,, +snmp.roomalert.32s.internal_humidity,gauge,,,,"[ROOMALERT32S-MIB] The internal relative humidity reading in %RH.",0,snmp,, +snmp.roomalert.32s.internal_relay1,gauge,,,,"[ROOMALERT32S-MIB] The status of the on-board relay output",0,snmp,, +snmp.roomalert.32s.internal_relay2,gauge,,,,"[ROOMALERT32S-MIB] The status of the on-board relay output",0,snmp,, +snmp.roomalert.32s.internal_tempc,gauge,,,,"[ROOMALERT32S-MIB] The internal temperature reading in Celsius.",0,snmp,, +snmp.roomalert.32s.internal_tempf,gauge,,,,"[ROOMALERT32S-MIB] The internal temperature reading in Fahrenheit.",0,snmp,, snmp.roomalert.3e.digital_sen1_1,gauge,,,,"[ROOMALERT3E-MIB] The current temperature reading in Celsius of the Internal Temperature Sensor.",0,snmp,, snmp.roomalert.3e.digital_sen1_2,gauge,,,,"[ROOMALERT3E-MIB] The current temperature reading in Fahrenheit of the Internal Temperature Sensor.",0,snmp,, snmp.roomalert.3e.digital_sen2_1,gauge,,,,"[ROOMALERT3E-MIB] If this sensor is a Temperature, Temp/Humidity, Temp/Analog, or Temp/Active Power sensor, this value represents the current temperature in Celsius.",0,snmp,, diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_avtech_roomalert_32s.py b/snmp/tests/test_e2e_core_profiles/test_profile_avtech_roomalert_32s.py index 8d8f6b6ecba64..455e10c626ee8 100644 --- a/snmp/tests/test_e2e_core_profiles/test_profile_avtech_roomalert_32s.py +++ b/snmp/tests/test_e2e_core_profiles/test_profile_avtech_roomalert_32s.py @@ -29,78 +29,78 @@ def test_e2e_profile_avtech_roomalert_32s(dd_agent_check): 'snmp_device:' + ip_address, ] + [] + # --- TEST EXTENDED METRICS --- + # --- TEST METRICS --- assert_common_metrics(aggregator, common_tags) - aggregator.assert_metric('snmp.digital_sen1_1', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen1_2', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen1_3', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen1_4', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen1_5', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen1_6', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen1_7', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen2_1', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen2_2', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen2_3', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen2_4', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen2_5', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen2_6', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen2_7', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen3_1', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen3_2', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen3_3', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen3_4', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen3_5', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen3_6', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen3_7', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen4_1', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen4_2', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen4_3', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen4_4', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen4_5', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen4_6', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen4_7', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen5_1', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen5_2', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen5_3', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen5_4', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen5_5', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen5_6', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen5_7', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen6_1', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen6_2', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen6_3', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen6_4', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen6_5', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen6_6', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen6_7', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen7_1', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen7_2', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen7_3', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen7_4', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen7_5', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen7_6', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen7_7', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen8_1', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen8_2', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen8_3', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen8_4', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen8_5', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen8_6', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.digital_sen8_7', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.internal_analog1', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.internal_analog2', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.internal_dew_point_c', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.internal_dew_point_f', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.internal_heat_index', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.internal_heat_indexC', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.internal_humidity', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.internal_relay1', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.internal_relay2', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.internal_tempc', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.internal_tempf', metric_type=aggregator.GAUGE, tags=common_tags) - - aggregator.assert_all_metrics_covered() + aggregator.assert_metric('snmp.roomalert.32s.digital_sen1_1', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen1_2', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen1_3', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen1_4', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen1_5', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen1_6', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen1_7', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen2_1', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen2_2', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen2_3', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen2_4', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen2_5', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen2_6', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen2_7', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen3_1', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen3_2', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen3_3', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen3_4', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen3_5', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen3_6', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen3_7', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen4_1', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen4_2', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen4_3', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen4_4', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen4_5', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen4_6', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen4_7', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen5_1', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen5_2', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen5_3', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen5_4', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen5_5', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen5_6', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen5_7', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen6_1', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen6_2', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen6_3', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen6_4', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen6_5', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen6_6', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen6_7', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen7_1', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen7_2', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen7_3', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen7_4', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen7_5', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen7_6', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen7_7', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen8_1', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen8_2', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen8_3', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen8_4', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen8_5', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen8_6', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.digital_sen8_7', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.internal_analog1', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.internal_analog2', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.internal_dew_point_c', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.internal_dew_point_f', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.internal_heat_index', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.internal_heat_indexC', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.internal_humidity', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.internal_relay1', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.internal_relay2', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.internal_tempc', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.roomalert.32s.internal_tempf', metric_type=aggregator.GAUGE, tags=common_tags) # --- TEST METADATA --- device = { From f02df1f5972aa91a8ab3933d9d15316caf76f80b Mon Sep 17 00:00:00 2001 From: Alexandre Yang Date: Thu, 6 Jul 2023 17:17:34 +0200 Subject: [PATCH 70/77] Update alcatel-lucent-ent with prefix (#15183) --- .../default_profiles/alcatel-lucent-ent.yaml | 64 +++++++++---------- snmp/metadata.csv | 6 +- .../test_profile_alcatel_lucent_ent.py | 18 ++++-- 3 files changed, 48 insertions(+), 40 deletions(-) diff --git a/snmp/datadog_checks/snmp/data/default_profiles/alcatel-lucent-ent.yaml b/snmp/datadog_checks/snmp/data/default_profiles/alcatel-lucent-ent.yaml index 25c4e382f2c65..c45e8199e2156 100644 --- a/snmp/datadog_checks/snmp/data/default_profiles/alcatel-lucent-ent.yaml +++ b/snmp/datadog_checks/snmp/data/default_profiles/alcatel-lucent-ent.yaml @@ -12,7 +12,7 @@ metrics: OID: 1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.11 metric_tags: - column: - name: healthModuleChassisId + name: alcatel.ent.healthModuleChassisId OID: 1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.14 tag: health_module_chassis_id - index: 1 # healthModuleSlot @@ -26,7 +26,7 @@ metrics: OID: 1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.8 metric_tags: - column: - name: healthModuleChassisId + name: alcatel.ent.healthModuleChassisId OID: 1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.14 tag: health_module_chassis_id - index: 1 # healthModuleSlot @@ -36,11 +36,11 @@ metrics: name: chasEntPhysicalTable OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.1 symbols: - - name: chasEntPhysical + - name: alcatel.ent.chasEntPhysical constant_value_one: true metric_tags: - column: - name: entPhysicalClass + name: alcatel.ent.entPhysicalClass OID: 1.3.6.1.2.1.47.1.1.1.1.5 tag: ent_physical_class mapping: @@ -57,20 +57,20 @@ metrics: 11: stack 12: cpu - column: - name: entPhysicalName + name: alcatel.ent.entPhysicalName OID: 1.3.6.1.2.1.47.1.1.1.1.7 tag: ent_physical_name - column: - name: entPhysicalSerialNum + name: alcatel.ent.entPhysicalSerialNum OID: 1.3.6.1.2.1.47.1.1.1.1.11 tag: ent_physical_serial_num - column: - name: entPhysicalModelName + name: alcatel.ent.entPhysicalModelName OID: 1.3.6.1.2.1.47.1.1.1.1.13 tag: ent_physical_model_name - column: OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.1 - name: chasEntPhysAdminStatus + name: alcatel.ent.chasEntPhysAdminStatus tag: chas_ent_phys_admin_status mapping: 1: unknown @@ -82,7 +82,7 @@ metrics: 7: standby - column: OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.2 - name: chasEntPhysOperStatus + name: alcatel.ent.chasEntPhysOperStatus tag: chas_ent_phys_oper_status mapping: 1: up @@ -95,7 +95,7 @@ metrics: 8: master - column: OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.6 - name: chasEntPhysLedStatusOk1 + name: alcatel.ent.chasEntPhysLedStatusOk1 tag: chas_ent_phys_led_status_ok1 mapping: 0: not_applicable @@ -106,7 +106,7 @@ metrics: 5: amber_blink - column: OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.7 - name: chasEntPhysLedStatusOk2 + name: alcatel.ent.chasEntPhysLedStatusOk2 tag: chas_ent_phys_led_status_ok2 mapping: 0: not_applicable @@ -117,7 +117,7 @@ metrics: 5: amber_blink - column: OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.8 - name: chasEntPhysLedStatusPrimaryCMM + name: alcatel.ent.chasEntPhysLedStatusPrimaryCMM tag: chas_ent_phys_led_status_primary_cmm mapping: 0: not_applicable @@ -128,7 +128,7 @@ metrics: 5: amber_blink - column: OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.9 - name: chasEntPhysLedStatusSecondaryCMM + name: alcatel.ent.chasEntPhysLedStatusSecondaryCMM tag: chas_ent_phys_led_status_secondary_cmm mapping: 0: not_applicable @@ -139,7 +139,7 @@ metrics: 5: amber_blink - column: OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.10 - name: chasEntPhysLedStatusTemperature + name: alcatel.ent.chasEntPhysLedStatusTemperature tag: chas_ent_phys_led_status_temperature mapping: 0: not_applicable @@ -150,7 +150,7 @@ metrics: 5: amber_blink - column: OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.11 - name: chasEntPhysLedStatusFan + name: alcatel.ent.chasEntPhysLedStatusFan tag: chas_ent_phys_led_status_fan mapping: 0: not_applicable @@ -161,7 +161,7 @@ metrics: 5: amber_blink - column: OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.12 - name: chasEntPhysLedStatusBackupPS + name: alcatel.ent.chasEntPhysLedStatusBackupPS tag: chas_ent_phys_led_status_backup_ps mapping: 0: not_applicable @@ -172,7 +172,7 @@ metrics: 5: amber_blink - column: OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.13 - name: chasEntPhysLedStatusInternalPS + name: alcatel.ent.chasEntPhysLedStatusInternalPS tag: chas_ent_phys_led_status_internal_ps mapping: 0: not_applicable @@ -183,7 +183,7 @@ metrics: 5: amber_blink - column: OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.14 - name: chasEntPhysLedStatusControl + name: alcatel.ent.chasEntPhysLedStatusControl tag: chas_ent_phys_led_status_control mapping: 0: not_applicable @@ -194,7 +194,7 @@ metrics: 5: amber_blink - column: OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.15 - name: chasEntPhysLedStatusFabric + name: alcatel.ent.chasEntPhysLedStatusFabric tag: chas_ent_phys_led_status_fabric mapping: 0: not_applicable @@ -205,7 +205,7 @@ metrics: 5: amber_blink - column: OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.16 - name: chasEntPhysLedStatusPS + name: alcatel.ent.chasEntPhysLedStatusPS tag: chas_ent_phys_led_status_ps mapping: 0: not_applicable @@ -219,11 +219,11 @@ metrics: name: chasEntTemperatureTable OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.2 symbols: - - name: chasEntTempCurrent + - name: alcatel.ent.chasEntTempCurrent OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.2.1.1 metric_tags: - column: - name: entPhysicalClass + name: alcatel.ent.entPhysicalClass OID: 1.3.6.1.2.1.47.1.1.1.1.5 tag: ent_physical_class mapping: @@ -240,20 +240,20 @@ metrics: 11: stack 12: cpu - column: - name: entPhysicalName + name: alcatel.ent.entPhysicalName OID: 1.3.6.1.2.1.47.1.1.1.1.7 tag: ent_physical_name - column: - name: entPhysicalSerialNum + name: alcatel.ent.entPhysicalSerialNum OID: 1.3.6.1.2.1.47.1.1.1.1.11 tag: ent_physical_serial_num - column: - name: entPhysicalModelName + name: alcatel.ent.entPhysicalModelName OID: 1.3.6.1.2.1.47.1.1.1.1.13 tag: ent_physical_model_name - column: OID: 1.3.6.1.4.1.6486.801.1.1.1.1.1.2.1.4 - name: chasEntTempStatus + name: alcatel.ent.chasEntTempStatus tag: chas_ent_temp_status mapping: 1: unknown @@ -266,12 +266,12 @@ metrics: name: alaChasEntPhysFanTable OID: 1.3.6.1.4.1.6486.801.1.1.1.3.1.1.11 symbols: - - name: alaChasEntPhysFanSpeed + - name: alcatel.ent.alaChasEntPhysFanSpeed OID: 1.3.6.1.4.1.6486.801.1.1.1.3.1.1.11.1.4 metric_tags: - column: OID: 1.3.6.1.4.1.6486.801.1.1.1.3.1.1.11.1.2 - name: alaChasEntPhysFanStatus + name: alcatel.ent.alaChasEntPhysFanStatus tag: ala_chas_ent_phys_fan_status mapping: 0: no_status @@ -282,20 +282,20 @@ metrics: name: alaChasBpsPowerSupplyTable OID: 1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4 symbols: - - name: alaChasBpsPowerSupply + - name: alcatel.ent.alaChasBpsPowerSupply constant_value_one: true metric_tags: - column: - name: alaChasBpsPowerSupplyName + name: alcatel.ent.alaChasBpsPowerSupplyName OID: 1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.3 tag: ala_chas_bps_power_supply_name - column: - name: alaChasBpsPowerSupplySerialNum + name: alcatel.ent.alaChasBpsPowerSupplySerialNum OID: 1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.8 tag: ala_chas_bps_power_supply_serial_num - column: OID: 1.3.6.1.4.1.6486.801.1.1.1.3.1.1.14.4.1.10 - name: alaChasBpsPowerSupplyOperStatus + name: alcatel.ent.alaChasBpsPowerSupplyOperStatus tag: ala_chas_bps_power_supply_oper_status mapping: 1: up diff --git a/snmp/metadata.csv b/snmp/metadata.csv index 9c2a2c0ff3898..cbe82ede7d13f 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -20,8 +20,10 @@ snmp.adapterTxBytes,count,,byte,,[Dell iDRAC] Total number of bytes transmitted. snmp.adapterTxDropped,count,,packet,,[Dell iDRAC] Total number of transmit packets dropped due to successive collisions.,0,snmp,, snmp.adapterTxErrors,count,,packet,,[Dell iDRAC] Total number of packets that failed to transmit.,0,snmp,, snmp.adapterTxPackets,count,,packet,,[Dell iDRAC] Total packets transmitted.,0,snmp,, -snmp.alaChasBpsPowerSupply,gauge,,,,"[ALCATEL-ENT1-CHASSIS-MIB] This table contains BPS power supplies details Make 'sum by {X}' queries" to count elements with the tag X.",0,snmp,, -snmp.alaChasEntPhysFanSpeed,gauge,,,,"[ALCATEL-ENT1-CHASSIS-MIB] Chassis fan speed.",0,snmp,, +snmp.alcatel.ent.alaChasBpsPowerSupply,gauge,,,,"[ALCATEL-ENT1-CHASSIS-MIB] This table contains BPS power supplies details (Make 'sum by {X}' queries to count elements with the tag X.)",0,snmp,, +snmp.alcatel.ent.alaChasEntPhysFanSpeed,gauge,,,,"[ALCATEL-ENT1-CHASSIS-MIB] Chassis fan speed.",0,snmp,, +snmp.alcatel.ent.chasEntPhysical,gauge,,,,"[ALCATEL-ENT1-CHASSIS-MIB] This table contains one row per physical entity. It is an extension for the entity physical table (rfc 2737) that is instantiated for every physical entity object. The fields are not always significant for every object. (Make 'sum by {X}' queries to count elements with the tag X.)",0,snmp,, +snmp.alcatel.ent.chasEntTempCurrent,gauge,,,,"[ALCATEL-ENT1-CHASSIS-MIB] This object indicates the current output of the temperature sensor in degrees Celsius.",0,snmp,, snmp.amperageProbeReading,gauge,,milliampere,,[Dell iDRAC] The reading for an amperage probe.,0,snmp,, snmp.amperageProbeStatus,gauge,,milliampere,,[Dell iDRAC] The probe status of the amperage probe.,0,snmp,, snmp.aristaBgp4V2PeerLocalAs,gauge,,,,"[ARISTA-BGP4V2-MIB] Some implementations of BGP can represent themselves as multiple ASes. This is the AS that this peering session is representing itself as to the remote peer.",0,snmp,, diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_alcatel_lucent_ent.py b/snmp/tests/test_e2e_core_profiles/test_profile_alcatel_lucent_ent.py index 8172f2315cb9e..9e01e0698197a 100644 --- a/snmp/tests/test_e2e_core_profiles/test_profile_alcatel_lucent_ent.py +++ b/snmp/tests/test_e2e_core_profiles/test_profile_alcatel_lucent_ent.py @@ -37,8 +37,8 @@ def test_e2e_profile_alcatel_lucent_ent(dd_agent_check): assert_common_metrics(aggregator, common_tags) tag_rows = [ - ['health_module_chassis_id:0', 'cpu:21'], - ['health_module_chassis_id:1', 'cpu:27'], + ['cpu:21', 'health_module_chassis_id:0'], + ['cpu:27', 'health_module_chassis_id:1'], ] for tag_row in tag_rows: aggregator.assert_metric('snmp.cpu.usage', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) @@ -81,21 +81,25 @@ def test_e2e_profile_alcatel_lucent_ent(dd_agent_check): ], ] for tag_row in tag_rows: - aggregator.assert_metric('snmp.chasEntPhysical', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric( + 'snmp.alcatel.ent.chasEntPhysical', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) tag_rows = [ ['chas_ent_temp_status:not_present'], ['chas_ent_temp_status:unknown'], ] for tag_row in tag_rows: - aggregator.assert_metric('snmp.chasEntTempCurrent', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric( + 'snmp.alcatel.ent.chasEntTempCurrent', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) tag_rows = [ ['ala_chas_ent_phys_fan_status:running'], ] for tag_row in tag_rows: aggregator.assert_metric( - 'snmp.alaChasEntPhysFanSpeed', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + 'snmp.alcatel.ent.alaChasEntPhysFanSpeed', metric_type=aggregator.GAUGE, tags=common_tags + tag_row ) tag_rows = [ @@ -111,7 +115,9 @@ def test_e2e_profile_alcatel_lucent_ent(dd_agent_check): ], ] for tag_row in tag_rows: - aggregator.assert_metric('snmp.alaChasBpsPowerSupply', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric( + 'snmp.alcatel.ent.alaChasBpsPowerSupply', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) # --- TEST METADATA --- device = { From f347a4446b3c86913390fbdaa142430520fadb76 Mon Sep 17 00:00:00 2001 From: Florent Clarret Date: Thu, 6 Jul 2023 17:31:00 +0200 Subject: [PATCH 71/77] Bump dependencies for Agent 7.47 (#15145) * Bump dependencies for Agent 7.47 * roll back breaking changes for protobuf and pydantic * revert dependency updates for vsphere and tls * undo pymongo upgrade, our license validation cannot handle new metadata * update 3rdparty licenses * revert some more protobuf upgrades * remove protobuf license --------- Co-authored-by: Ilia Kurenkov --- LICENSE-3rdparty.csv | 2 +- active_directory/pyproject.toml | 2 +- amazon_msk/pyproject.toml | 3 +- aspdotnet/pyproject.toml | 2 +- cloud_foundry_api/pyproject.toml | 3 +- .../base/data/agent_requirements.in | 37 ++++++++++--------- datadog_checks_base/pyproject.toml | 20 +++++----- dotnetclr/pyproject.toml | 2 +- exchange_server/pyproject.toml | 2 +- gitlab/pyproject.toml | 1 - gitlab_runner/pyproject.toml | 1 - http_check/pyproject.toml | 4 +- ibm_ace/pyproject.toml | 3 +- ibm_mq/pyproject.toml | 3 +- iis/pyproject.toml | 2 +- kube_dns/pyproject.toml | 1 - kubernetes_state/pyproject.toml | 1 - mcache/pyproject.toml | 2 +- mongo/pyproject.toml | 1 - mysql/pyproject.toml | 3 +- oracle/pyproject.toml | 5 +-- pdh_check/pyproject.toml | 2 +- postgres/pyproject.toml | 10 +++-- redisdb/pyproject.toml | 3 +- sqlserver/pyproject.toml | 3 +- ssh_check/pyproject.toml | 3 +- tls/pyproject.toml | 1 - vertica/pyproject.toml | 4 +- vsphere/pyproject.toml | 1 - win32_event_log/pyproject.toml | 2 +- windows_service/pyproject.toml | 2 +- wmi_check/pyproject.toml | 2 +- 32 files changed, 62 insertions(+), 71 deletions(-) diff --git a/LICENSE-3rdparty.csv b/LICENSE-3rdparty.csv index 668587f02f4b4..5b179aba8d955 100644 --- a/LICENSE-3rdparty.csv +++ b/LICENSE-3rdparty.csv @@ -109,4 +109,4 @@ typing,PyPI,PSF,"Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amste uptime,PyPI,BSD-2-Clause,"Copyright (c) 2012, Koen Crolla" vertica-python,PyPI,Apache-2.0,"Copyright 2013 Justin Berka, Alex Kim, Siting Ren" win-inet-pton,PyPI,Unlicense,Ryan Vennell. win-inet-pton is dedicated to the public domain under Unlicense. -wrapt,PyPI,BSD-3-Clause,"Copyright (c) 2013-2022, Graham Dumpleton" +wrapt,PyPI,BSD-3-Clause,"Copyright (c) 2013-2023, Graham Dumpleton" diff --git a/active_directory/pyproject.toml b/active_directory/pyproject.toml index 2d0eba2c35932..2589b12d556eb 100644 --- a/active_directory/pyproject.toml +++ b/active_directory/pyproject.toml @@ -40,7 +40,7 @@ dynamic = [ [project.optional-dependencies] deps = [ "pywin32==228; sys_platform == 'win32' and python_version < '3.0'", - "pywin32==304; sys_platform == 'win32' and python_version > '3.0'", + "pywin32==306; sys_platform == 'win32' and python_version > '3.0'", ] [project.urls] diff --git a/amazon_msk/pyproject.toml b/amazon_msk/pyproject.toml index c20bd5f7a827e..6fc663d141bb0 100644 --- a/amazon_msk/pyproject.toml +++ b/amazon_msk/pyproject.toml @@ -35,13 +35,12 @@ dependencies = [ dynamic = [ "version", ] - license = "BSD-3-Clause" [project.optional-dependencies] deps = [ "boto3==1.17.112; python_version < '3.0'", - "boto3==1.26.138; python_version > '3.0'", + "boto3==1.27.0; python_version > '3.0'", ] [project.urls] diff --git a/aspdotnet/pyproject.toml b/aspdotnet/pyproject.toml index a9af13b21de88..b94510106a234 100644 --- a/aspdotnet/pyproject.toml +++ b/aspdotnet/pyproject.toml @@ -40,7 +40,7 @@ dynamic = [ [project.optional-dependencies] deps = [ "pywin32==228; sys_platform == 'win32' and python_version < '3.0'", - "pywin32==304; sys_platform == 'win32' and python_version > '3.0'", + "pywin32==306; sys_platform == 'win32' and python_version > '3.0'", ] [project.urls] diff --git a/cloud_foundry_api/pyproject.toml b/cloud_foundry_api/pyproject.toml index a1ee7373a9730..a8d4f09bd7bf9 100644 --- a/cloud_foundry_api/pyproject.toml +++ b/cloud_foundry_api/pyproject.toml @@ -39,7 +39,8 @@ dynamic = [ [project.optional-dependencies] deps = [ - "semver==2.13.0", + "semver==2.13.0; python_version < '3.0'", + "semver==3.0.1; python_version > '3.0'", ] [project.urls] diff --git a/datadog_checks_base/datadog_checks/base/data/agent_requirements.in b/datadog_checks_base/datadog_checks/base/data/agent_requirements.in index bffa1bdfc8a95..026c532007a3e 100644 --- a/datadog_checks_base/datadog_checks/base/data/agent_requirements.in +++ b/datadog_checks_base/datadog_checks/base/data/agent_requirements.in @@ -5,12 +5,12 @@ beautifulsoup4==4.12.2; python_version > '3.0' beautifulsoup4==4.9.3; python_version < '3.0' binary==1.0.0 boto3==1.17.112; python_version < '3.0' -boto3==1.26.138; python_version > '3.0' +boto3==1.27.0; python_version > '3.0' boto==2.49.0 botocore==1.20.112; python_version < '3.0' -botocore==1.29.138; python_version > '3.0' +botocore==1.30.0; python_version > '3.0' cachetools==3.1.1; python_version < '3.0' -cachetools==5.3.0; python_version > '3.0' +cachetools==5.3.1; python_version > '3.0' clickhouse-cityhash==1.0.2.3; python_version < '3.0' clickhouse-cityhash==1.0.2.4; python_version > '3.0' clickhouse-driver==0.2.0; python_version < '3.0' @@ -32,7 +32,7 @@ importlib-metadata==2.1.3; python_version < '3.8' in-toto==1.0.1; python_version > '3.0' ipaddress==1.0.23; python_version < '3.0' jaydebeapi==1.2.3 -jellyfish==0.11.2; python_version > '3.0' +jellyfish==1.0.0; python_version > '3.0' jpype1==1.4.1; python_version > '3.0' kubernetes==18.20.0; python_version < '3.0' kubernetes==26.1.0; python_version > '3.0' @@ -45,14 +45,14 @@ mmh3==4.0.0; python_version > '3.0' oauthlib==3.1.0; python_version < '3.0' oauthlib==3.2.2; python_version > '3.0' openstacksdk==1.0.1; python_version > '3.0' -oracledb==1.3.1; python_version >= '3.8' -orjson==3.8.12; python_version > '3.0' +oracledb==1.3.2; python_version >= '3.8' +orjson==3.9.1; python_version > '3.0' packaging==23.1; python_version > '3.0' paramiko==2.12.0; python_version < '3.0' -paramiko==3.1.0; python_version > '3.0' +paramiko==3.2.0; python_version > '3.0' ply==3.11 prometheus-client==0.12.0; python_version < '3.0' -prometheus-client==0.16.0; python_version > '3.0' +prometheus-client==0.17.0; python_version > '3.0' protobuf==3.17.3; python_version < '3.0' protobuf==3.20.2; python_version > '3.0' psutil==5.9.0 @@ -63,7 +63,7 @@ pydantic==1.10.8; python_version > '3.0' pyjwt==1.7.1; python_version < '3.0' pyjwt==2.7.0; python_version > '3.0' pymongo[srv]==4.3.3; python_version >= '3.8' -pymqi==1.12.8; sys_platform != 'darwin' or platform_machine != 'arm64' +pymqi==1.12.10; sys_platform != 'darwin' or platform_machine != 'arm64' pymysql==0.10.1 pyodbc==4.0.32; sys_platform != 'darwin' or platform_machine != 'arm64' pyro4==4.82; sys_platform == 'win32' @@ -72,19 +72,20 @@ pysnmp-mibs==0.1.6 pysnmp==4.4.9 pysocks==1.7.1 python-binary-memcached==0.26.1; sys_platform != 'win32' and python_version < '3.0' -python-binary-memcached==0.31.1; sys_platform != 'win32' and python_version > '3.0' +python-binary-memcached==0.31.2; sys_platform != 'win32' and python_version > '3.0' python-dateutil==2.8.2 python3-gearman==0.1.0; sys_platform != 'win32' and python_version > '3.0' pyvmomi==7.0.3 pywin32==228; sys_platform == 'win32' and python_version < '3.0' -pywin32==304; sys_platform == 'win32' and python_version > '3.0' +pywin32==306; sys_platform == 'win32' and python_version > '3.0' pyyaml==5.4.1; python_version < '3.0' pyyaml==6.0; python_version > '3.0' redis==3.5.3; python_version < '3.0' -redis==4.5.4; python_version > '3.0' +redis==4.6.0; python_version > '3.0' requests-kerberos==0.12.0; python_version < '3.0' requests-kerberos==0.14.0; python_version > '3.0' -requests-ntlm==1.1.0 +requests-ntlm==1.1.0; python_version < '3.0' +requests-ntlm==1.2.0; python_version > '3.0' requests-oauthlib==1.3.1 requests-toolbelt==1.0.0 requests-unixsocket==0.3.0 @@ -94,17 +95,19 @@ rethinkdb==2.4.9 scandir==1.10.0 securesystemslib[crypto,pynacl]==0.25.0; python_version > '3.0' selectors34==1.2; sys_platform == 'win32' and python_version < '3.0' -semver==2.13.0 +semver==2.13.0; python_version < '3.0' +semver==3.0.1; python_version > '3.0' serpent==1.28; sys_platform == 'win32' and python_version < '3.0' serpent==1.41; sys_platform == 'win32' and python_version > '3.0' service-identity[idna]==21.1.0 -simplejson==3.17.6 +simplejson==3.19.1 six==1.16.0 snowflake-connector-python==3.0.4; python_version > '3.0' supervisor==4.2.5 tuf==2.0.0; python_version > '3.0' typing==3.10.0.0; python_version < '3.0' uptime==3.0.1 -vertica-python==1.1.1 +vertica-python==1.2.0; python_version < '3.0' +vertica-python==1.3.2; python_version > '3.0' win-inet-pton==1.1.0; sys_platform == 'win32' and python_version < '3.0' -wrapt==1.14.1 +wrapt==1.15.0 diff --git a/datadog_checks_base/pyproject.toml b/datadog_checks_base/pyproject.toml index caa9a47227ee4..2f0b7d5f9c6ce 100644 --- a/datadog_checks_base/pyproject.toml +++ b/datadog_checks_base/pyproject.toml @@ -30,7 +30,6 @@ classifiers = [ dynamic = [ "version", ] - license = "BSD-3-Clause" [project.optional-dependencies] @@ -41,7 +40,7 @@ db = [ deps = [ "binary==1.0.0", "cachetools==3.1.1; python_version < '3.0'", - "cachetools==5.3.0; python_version > '3.0'", + "cachetools==5.3.1; python_version > '3.0'", "contextlib2==0.6.0.post1; python_version < '3.0'", "cryptography==3.3.2; python_version < '3.0'", "cryptography==39.0.1; python_version > '3.0'", @@ -51,31 +50,31 @@ deps = [ "immutables==0.19; python_version > '3.0'", "importlib-metadata==2.1.3; python_version < '3.8'", "ipaddress==1.0.23; python_version < '3.0'", - "jellyfish==0.11.2; python_version > '3.0'", + "jellyfish==1.0.0; python_version > '3.0'", "prometheus-client==0.12.0; python_version < '3.0'", - "prometheus-client==0.16.0; python_version > '3.0'", + "prometheus-client==0.17.0; python_version > '3.0'", "protobuf==3.17.3; python_version < '3.0'", "protobuf==3.20.2; python_version > '3.0'", "pydantic==1.10.8; python_version > '3.0'", "python-dateutil==2.8.2", "pywin32==228; sys_platform == 'win32' and python_version < '3.0'", - "pywin32==304; sys_platform == 'win32' and python_version > '3.0'", + "pywin32==306; sys_platform == 'win32' and python_version > '3.0'", "pyyaml==5.4.1; python_version < '3.0'", "pyyaml==6.0; python_version > '3.0'", "requests-toolbelt==1.0.0", "requests-unixsocket==0.3.0", "requests==2.27.1; python_version < '3.0'", "requests==2.31.0; python_version > '3.0'", - "simplejson==3.17.6", + "simplejson==3.19.1", "six==1.16.0", "typing==3.10.0.0; python_version < '3.0'", "uptime==3.0.1", - "wrapt==1.14.1", + "wrapt==1.15.0", ] http = [ "aws-requests-auth==0.4.3", "botocore==1.20.112; python_version < '3.0'", - "botocore==1.29.138; python_version > '3.0'", + "botocore==1.30.0; python_version > '3.0'", "oauthlib==3.1.0; python_version < '3.0'", "oauthlib==3.2.2; python_version > '3.0'", "pyjwt==1.7.1; python_version < '3.0'", @@ -83,12 +82,13 @@ http = [ "pysocks==1.7.1", "requests-kerberos==0.12.0; python_version < '3.0'", "requests-kerberos==0.14.0; python_version > '3.0'", - "requests-ntlm==1.1.0", + "requests-ntlm==1.1.0; python_version < '3.0'", + "requests-ntlm==1.2.0; python_version > '3.0'", "requests-oauthlib==1.3.1", "win-inet-pton==1.1.0; sys_platform == 'win32' and python_version < '3.0'", ] json = [ - "orjson==3.8.12; python_version > '3.0'", + "orjson==3.9.1; python_version > '3.0'", ] kube = [ "kubernetes==18.20.0; python_version < '3.0'", diff --git a/dotnetclr/pyproject.toml b/dotnetclr/pyproject.toml index b3508bacdfaf6..2e01fd79cadf4 100644 --- a/dotnetclr/pyproject.toml +++ b/dotnetclr/pyproject.toml @@ -40,7 +40,7 @@ dynamic = [ [project.optional-dependencies] deps = [ "pywin32==228; sys_platform == 'win32' and python_version < '3.0'", - "pywin32==304; sys_platform == 'win32' and python_version > '3.0'", + "pywin32==306; sys_platform == 'win32' and python_version > '3.0'", ] [project.urls] diff --git a/exchange_server/pyproject.toml b/exchange_server/pyproject.toml index 55260892dfa9c..1bceb749b76f1 100644 --- a/exchange_server/pyproject.toml +++ b/exchange_server/pyproject.toml @@ -40,7 +40,7 @@ dynamic = [ [project.optional-dependencies] deps = [ "pywin32==228; sys_platform == 'win32' and python_version < '3.0'", - "pywin32==304; sys_platform == 'win32' and python_version > '3.0'", + "pywin32==306; sys_platform == 'win32' and python_version > '3.0'", ] [project.urls] diff --git a/gitlab/pyproject.toml b/gitlab/pyproject.toml index 7421f3f040789..a9ab22dea8b4b 100644 --- a/gitlab/pyproject.toml +++ b/gitlab/pyproject.toml @@ -35,7 +35,6 @@ dependencies = [ dynamic = [ "version", ] - license = "BSD-3-Clause" [project.optional-dependencies] diff --git a/gitlab_runner/pyproject.toml b/gitlab_runner/pyproject.toml index 53bd196a08ba8..759c556d96c4a 100644 --- a/gitlab_runner/pyproject.toml +++ b/gitlab_runner/pyproject.toml @@ -35,7 +35,6 @@ dependencies = [ dynamic = [ "version", ] - license = "BSD-3-Clause" [project.optional-dependencies] diff --git a/http_check/pyproject.toml b/http_check/pyproject.toml index 18ad13676522f..b1e02c470df47 100644 --- a/http_check/pyproject.toml +++ b/http_check/pyproject.toml @@ -35,14 +35,14 @@ dependencies = [ dynamic = [ "version", ] - license = "BSD-3-Clause" [project.optional-dependencies] deps = [ "cryptography==3.3.2; python_version < '3.0'", "cryptography==39.0.1; python_version > '3.0'", - "requests-ntlm==1.1.0", + "requests-ntlm==1.1.0; python_version < '3.0'", + "requests-ntlm==1.2.0; python_version > '3.0'", ] [project.urls] diff --git a/ibm_ace/pyproject.toml b/ibm_ace/pyproject.toml index fc7d48e80ac49..cd21555a678bd 100644 --- a/ibm_ace/pyproject.toml +++ b/ibm_ace/pyproject.toml @@ -33,12 +33,11 @@ dependencies = [ dynamic = [ "version", ] - license = "BSD-3-Clause" [project.optional-dependencies] deps = [ - "pymqi==1.12.8; sys_platform != 'darwin' or platform_machine != 'arm64'", + "pymqi==1.12.10; sys_platform != 'darwin' or platform_machine != 'arm64'", ] [project.urls] diff --git a/ibm_mq/pyproject.toml b/ibm_mq/pyproject.toml index 02137ebcd0c84..a5e4e326a5f15 100644 --- a/ibm_mq/pyproject.toml +++ b/ibm_mq/pyproject.toml @@ -35,13 +35,12 @@ dependencies = [ dynamic = [ "version", ] - license = "BSD-3-Clause" [project.optional-dependencies] deps = [ "psutil==5.9.0", - "pymqi==1.12.8; sys_platform != 'darwin' or platform_machine != 'arm64'", + "pymqi==1.12.10; sys_platform != 'darwin' or platform_machine != 'arm64'", ] [project.urls] diff --git a/iis/pyproject.toml b/iis/pyproject.toml index 899fde1da7752..0c2013c4c5569 100644 --- a/iis/pyproject.toml +++ b/iis/pyproject.toml @@ -40,7 +40,7 @@ dynamic = [ [project.optional-dependencies] deps = [ "pywin32==228; sys_platform == 'win32' and python_version < '3.0'", - "pywin32==304; sys_platform == 'win32' and python_version > '3.0'", + "pywin32==306; sys_platform == 'win32' and python_version > '3.0'", ] [project.urls] diff --git a/kube_dns/pyproject.toml b/kube_dns/pyproject.toml index ce437bc7fde0b..88172c1fe72b4 100644 --- a/kube_dns/pyproject.toml +++ b/kube_dns/pyproject.toml @@ -35,7 +35,6 @@ dependencies = [ dynamic = [ "version", ] - license = "BSD-3-Clause" [project.optional-dependencies] diff --git a/kubernetes_state/pyproject.toml b/kubernetes_state/pyproject.toml index c734c81749447..79becfd145324 100644 --- a/kubernetes_state/pyproject.toml +++ b/kubernetes_state/pyproject.toml @@ -35,7 +35,6 @@ dependencies = [ dynamic = [ "version", ] - license = "BSD-3-Clause" [project.optional-dependencies] diff --git a/mcache/pyproject.toml b/mcache/pyproject.toml index 4fc89c72332ec..df7fb3fdd7a4c 100644 --- a/mcache/pyproject.toml +++ b/mcache/pyproject.toml @@ -40,7 +40,7 @@ dynamic = [ [project.optional-dependencies] deps = [ "python-binary-memcached==0.26.1; sys_platform != 'win32' and python_version < '3.0'", - "python-binary-memcached==0.31.1; sys_platform != 'win32' and python_version > '3.0'", + "python-binary-memcached==0.31.2; sys_platform != 'win32' and python_version > '3.0'", ] [project.urls] diff --git a/mongo/pyproject.toml b/mongo/pyproject.toml index aecdeddc86b9e..46df002f15770 100644 --- a/mongo/pyproject.toml +++ b/mongo/pyproject.toml @@ -35,7 +35,6 @@ dependencies = [ dynamic = [ "version", ] - license = "BSD-3-Clause" [project.optional-dependencies] diff --git a/mysql/pyproject.toml b/mysql/pyproject.toml index 2ce068327da5c..7b94a332430e4 100644 --- a/mysql/pyproject.toml +++ b/mysql/pyproject.toml @@ -35,13 +35,12 @@ dependencies = [ dynamic = [ "version", ] - license = "BSD-3-Clause" [project.optional-dependencies] deps = [ "cachetools==3.1.1; python_version < '3.0'", - "cachetools==5.3.0; python_version > '3.0'", + "cachetools==5.3.1; python_version > '3.0'", "cryptography==3.3.2; python_version < '3.0'", "cryptography==39.0.1; python_version > '3.0'", "futures==3.4.0; python_version < '3.0'", diff --git a/oracle/pyproject.toml b/oracle/pyproject.toml index 292d07d168328..ac16898f2a40b 100644 --- a/oracle/pyproject.toml +++ b/oracle/pyproject.toml @@ -34,17 +34,16 @@ dependencies = [ dynamic = [ "version", ] - license = "BSD-3-Clause" [project.optional-dependencies] deps = [ "jaydebeapi==1.2.3", "jpype1==1.4.1; python_version > '3.0'", - "oracledb==1.3.1; python_version >= '3.8'", + "oracledb==1.3.2; python_version >= '3.8'", ] client-only = [ - "oracledb==1.3.1; python_version >= '3.8'", + "oracledb==1.3.2; python_version >= '3.8'", ] [project.urls] diff --git a/pdh_check/pyproject.toml b/pdh_check/pyproject.toml index 1b3a69e5ab31b..a17f5d6e35bdd 100644 --- a/pdh_check/pyproject.toml +++ b/pdh_check/pyproject.toml @@ -40,7 +40,7 @@ dynamic = [ [project.optional-dependencies] deps = [ "pywin32==228; sys_platform == 'win32' and python_version < '3.0'", - "pywin32==304; sys_platform == 'win32' and python_version > '3.0'", + "pywin32==306; sys_platform == 'win32' and python_version > '3.0'", ] [project.urls] diff --git a/postgres/pyproject.toml b/postgres/pyproject.toml index 1e6209778a1b9..1a176e70e0b91 100644 --- a/postgres/pyproject.toml +++ b/postgres/pyproject.toml @@ -35,15 +35,17 @@ dependencies = [ dynamic = [ "version", ] - license = "BSD-3-Clause" [project.optional-dependencies] deps = [ - "boto3==1.26.138; python_version > '3.0'", - "cachetools==5.3.0; python_version > '3.0'", + "boto3==1.17.112; python_version < '3.0'", + "boto3==1.27.0; python_version > '3.0'", + "cachetools==3.1.1; python_version < '3.0'", + "cachetools==5.3.1; python_version > '3.0'", "psycopg2-binary==2.8.6; sys_platform != 'darwin' or platform_machine != 'arm64'", - "semver==2.13.0", + "semver==2.13.0; python_version < '3.0'", + "semver==3.0.1; python_version > '3.0'", ] [project.urls] diff --git a/redisdb/pyproject.toml b/redisdb/pyproject.toml index 535f456576264..695b0464f4f9c 100644 --- a/redisdb/pyproject.toml +++ b/redisdb/pyproject.toml @@ -35,13 +35,12 @@ dependencies = [ dynamic = [ "version", ] - license = "BSD-3-Clause" [project.optional-dependencies] deps = [ "redis==3.5.3; python_version < '3.0'", - "redis==4.5.4; python_version > '3.0'", + "redis==4.6.0; python_version > '3.0'", ] [project.urls] diff --git a/sqlserver/pyproject.toml b/sqlserver/pyproject.toml index f7fcecfd6a200..a99f178bbe7f7 100644 --- a/sqlserver/pyproject.toml +++ b/sqlserver/pyproject.toml @@ -35,7 +35,6 @@ dependencies = [ dynamic = [ "version", ] - license = "BSD-3-Clause" [project.optional-dependencies] @@ -44,7 +43,7 @@ deps = [ "pyodbc==4.0.32; sys_platform != 'darwin' or platform_machine != 'arm64'", "pyro4==4.82; sys_platform == 'win32'", "pywin32==228; sys_platform == 'win32' and python_version < '3.0'", - "pywin32==304; sys_platform == 'win32' and python_version > '3.0'", + "pywin32==306; sys_platform == 'win32' and python_version > '3.0'", "selectors34==1.2; sys_platform == 'win32' and python_version < '3.0'", "serpent==1.28; sys_platform == 'win32' and python_version < '3.0'", "serpent==1.41; sys_platform == 'win32' and python_version > '3.0'", diff --git a/ssh_check/pyproject.toml b/ssh_check/pyproject.toml index a0deee1ba5a50..f37428da1fd9d 100644 --- a/ssh_check/pyproject.toml +++ b/ssh_check/pyproject.toml @@ -35,13 +35,12 @@ dependencies = [ dynamic = [ "version", ] - license = "BSD-3-Clause" [project.optional-dependencies] deps = [ "paramiko==2.12.0; python_version < '3.0'", - "paramiko==3.1.0; python_version > '3.0'", + "paramiko==3.2.0; python_version > '3.0'", ] [project.urls] diff --git a/tls/pyproject.toml b/tls/pyproject.toml index ed267cc82a66c..9b11d952104ed 100644 --- a/tls/pyproject.toml +++ b/tls/pyproject.toml @@ -35,7 +35,6 @@ dependencies = [ dynamic = [ "version", ] - license = "BSD-3-Clause" [project.optional-dependencies] diff --git a/vertica/pyproject.toml b/vertica/pyproject.toml index 8456f35dc0080..5cb6ead0e2c38 100644 --- a/vertica/pyproject.toml +++ b/vertica/pyproject.toml @@ -35,12 +35,12 @@ dependencies = [ dynamic = [ "version", ] - license = "BSD-3-Clause" [project.optional-dependencies] deps = [ - "vertica-python==1.1.1", + "vertica-python==1.2.0; python_version < '3.0'", + "vertica-python==1.3.2; python_version > '3.0'", ] [project.urls] diff --git a/vsphere/pyproject.toml b/vsphere/pyproject.toml index a2068013364b2..76791cce084fe 100644 --- a/vsphere/pyproject.toml +++ b/vsphere/pyproject.toml @@ -35,7 +35,6 @@ dependencies = [ dynamic = [ "version", ] - license = "BSD-3-Clause" [project.optional-dependencies] diff --git a/win32_event_log/pyproject.toml b/win32_event_log/pyproject.toml index 331dca3be9f75..637f8a6f95ef0 100644 --- a/win32_event_log/pyproject.toml +++ b/win32_event_log/pyproject.toml @@ -40,7 +40,7 @@ dynamic = [ [project.optional-dependencies] deps = [ "pywin32==228; sys_platform == 'win32' and python_version < '3.0'", - "pywin32==304; sys_platform == 'win32' and python_version > '3.0'", + "pywin32==306; sys_platform == 'win32' and python_version > '3.0'", "uptime==3.0.1", ] diff --git a/windows_service/pyproject.toml b/windows_service/pyproject.toml index e5eee4e484f45..fd5abf178e538 100644 --- a/windows_service/pyproject.toml +++ b/windows_service/pyproject.toml @@ -40,7 +40,7 @@ dynamic = [ [project.optional-dependencies] deps = [ "pywin32==228; sys_platform == 'win32' and python_version < '3.0'", - "pywin32==304; sys_platform == 'win32' and python_version > '3.0'", + "pywin32==306; sys_platform == 'win32' and python_version > '3.0'", ] [project.urls] diff --git a/wmi_check/pyproject.toml b/wmi_check/pyproject.toml index d8b530a814234..22db445c7fe43 100644 --- a/wmi_check/pyproject.toml +++ b/wmi_check/pyproject.toml @@ -40,7 +40,7 @@ dynamic = [ [project.optional-dependencies] deps = [ "pywin32==228; sys_platform == 'win32' and python_version < '3.0'", - "pywin32==304; sys_platform == 'win32' and python_version > '3.0'", + "pywin32==306; sys_platform == 'win32' and python_version > '3.0'", ] [project.urls] From 9f003bcc9bf2b1bf6b63b85e73e05325a6b403fe Mon Sep 17 00:00:00 2001 From: jose-manuel-almaza Date: Thu, 6 Jul 2023 17:36:35 +0200 Subject: [PATCH 72/77] Always filter tags when constructing tags recursively and add improve testing (#14583) * Added new unit tests * Added license header * Added powered on/off events unit tests * Updated license header * Updated license header * Added alarm status changed event unit test * Added new alarm status changed event unit tests * Added new task event unit test * Reformatted file * Added more event unit tests * Removed unnecessary test * Added unit test for VmReconfiguredEvent * Added unit test for VmSuspendedEvent * Added unit test for excluded events * Changed condition when no events being reported * Added test for Exception calling QueryEvents * Added test for unordered events from QueryEvents * Added test for disabled metadata * Added unit test for real time metrics * Added metrics to real time unit test * Added unit tests for excluded metrics and vm off * Fixed style * Added unit test for excluded_host_tags * Added unit test for vm and host count * Added unit test for blacklisted host * Added unit test for blacklisted vm * Added unit test for whitelisted vm * Added unit test for whitelisted host * Added unit test for handling guest.hostName * Added unit test for invalid values * Fixed unit tests errors due to events * Removed Non-ASCII character * Revert "Removed Non-ASCII character" This reverts commit f06c7c6de3ad0e83619ba92d71957d4f67a856d5. * Fixed Non-ASCII character error * Moved Source Code Encoding * Moved Source Code Encoding * Commented pyVmomi usage * Restored mock_alarm_event call * Adding import unicode_literals * Revert "Adding import unicode_literals" This reverts commit c79cfef12813ac693d174a7b99de8cd8d49ae762. * Restored test_check.py * Restored event.py * Added moId property to MockedMOR objects * Added new unit tests for historical metrics * Added new unit tests for datacenters and datastores * Renamed some tests * Added unit test for 'runtime.host' * Style format * Added unit test when 'runtime.host' not in infrastructure * Added unit tests for legacy version * Added unit tests for legacy version * Added unit tests for legacy version * Added unit tests for tagging * Added mock_connect to fixtures * Added mock_connect to unit tests * Fixed error when counterId not found * Updated mocks * Added mock_connect to test_report_realtime_vm_count * Added unit test for untagged instances * Added unit test for max_query_metrics * Fixed style * Fixed import * Added config validation unit tests * Created 'does_not_raise' python2 compatible * Reorganized mocks * Simplified some unit tests and mocks * Split legacy tests * Added license header * Added new unit tests and improved mocks * Added 'vm_hostname_suffix_tag' unit tests * Added new unit tests * Fixed 'get_timestamp' fixture --- vsphere/datadog_checks/vsphere/cache.py | 2 +- vsphere/datadog_checks/vsphere/utils.py | 5 +- vsphere/datadog_checks/vsphere/vsphere.py | 4 +- vsphere/tests/common.py | 487 +++++ vsphere/tests/conftest.py | 199 +- vsphere/tests/legacy/utils.py | 8 +- vsphere/tests/test_event.py | 44 +- vsphere/tests/test_unit.py | 2310 +++++++++++++++++++++ vsphere/tests/test_unit_legacy.py | 779 +++++++ 9 files changed, 3793 insertions(+), 45 deletions(-) create mode 100644 vsphere/tests/test_unit.py create mode 100644 vsphere/tests/test_unit_legacy.py diff --git a/vsphere/datadog_checks/vsphere/cache.py b/vsphere/datadog_checks/vsphere/cache.py index 5849773aca08c..cecc5d1bca7d8 100644 --- a/vsphere/datadog_checks/vsphere/cache.py +++ b/vsphere/datadog_checks/vsphere/cache.py @@ -68,7 +68,7 @@ class MetricsMetadataCache(VSphereCache): def get_metadata(self, resource_type): # type: (Type[vim.ManagedEntity]) -> Dict[CounterId, MetricName] - return self._content[resource_type] + return self._content.get(resource_type, {}) def set_metadata(self, resource_type, metadata): # type: (Type[vim.ManagedEntity], Dict[CounterId, MetricName]) -> None diff --git a/vsphere/datadog_checks/vsphere/utils.py b/vsphere/datadog_checks/vsphere/utils.py index 05eceefd70863..235dbe6c09c24 100644 --- a/vsphere/datadog_checks/vsphere/utils.py +++ b/vsphere/datadog_checks/vsphere/utils.py @@ -122,9 +122,8 @@ def get_tags_recursively(mor, infrastructure_data, config, include_only=None): tags.append('vsphere_datastore:{}'.format(entity_name)) parent = infrastructure_data.get(mor, {}).get('parent') - if parent is None: - return tags - tags.extend(get_tags_recursively(parent, infrastructure_data, config)) + if parent is not None: + tags.extend(get_tags_recursively(parent, infrastructure_data, config)) if not include_only: return tags filtered_tags = [] diff --git a/vsphere/datadog_checks/vsphere/vsphere.py b/vsphere/datadog_checks/vsphere/vsphere.py index 873450c56d566..b1e72b7e76469 100644 --- a/vsphere/datadog_checks/vsphere/vsphere.py +++ b/vsphere/datadog_checks/vsphere/vsphere.py @@ -340,7 +340,9 @@ def submit_metrics_callback(self, query_results): metadata = self.metrics_metadata_cache.get_metadata(resource_type) for result in results_per_mor.value: if result.id.instance: - have_instance_value[resource_type].add(metadata[result.id.counterId]) + counter_id = metadata.get(result.id.counterId) + if counter_id: + have_instance_value[resource_type].add(counter_id) for results_per_mor in query_results: mor_props = self.infrastructure_cache.get_mor_props(results_per_mor.entity) diff --git a/vsphere/tests/common.py b/vsphere/tests/common.py index 5d93a49fb2f69..528480642894c 100644 --- a/vsphere/tests/common.py +++ b/vsphere/tests/common.py @@ -2,7 +2,13 @@ # All rights reserved # Licensed under Simplified BSD License (see LICENSE) import os +import re +from pyVmomi import vim, vmodl +from six.moves.urllib.parse import urlparse + +from datadog_checks.base.utils.time import get_current_datetime +from datadog_checks.dev.http import MockResponse from datadog_checks.vsphere.api_rest import VSphereRestAPI HERE = os.path.abspath(os.path.dirname(__file__)) @@ -27,8 +33,489 @@ 'use_collect_events_fallback': True, } +LEGACY_DEFAULT_INSTANCE = { + 'use_legacy_check_version': True, + 'name': 'vsphere_mock', + 'empty_default_hostname': True, + 'event_config': { + 'collect_vcenter_alarms': True, + }, + 'host': os.environ.get('VSPHERE_URL', 'FAKE'), + 'username': os.environ.get('VSPHERE_USERNAME', 'FAKE'), + 'password': os.environ.get('VSPHERE_PASSWORD', 'FAKE'), +} + +LEGACY_REALTIME_INSTANCE = { + 'use_legacy_check_version': True, + 'name': 'vsphere_mock', + 'empty_default_hostname': True, + 'event_config': { + 'collect_vcenter_alarms': True, + }, + 'host': os.environ.get('VSPHERE_URL', 'FAKE'), + 'username': os.environ.get('VSPHERE_USERNAME', 'FAKE'), + 'password': os.environ.get('VSPHERE_PASSWORD', 'FAKE'), + 'collect_realtime_only': True, +} + +LEGACY_HISTORICAL_INSTANCE = { + 'use_legacy_check_version': True, + 'name': 'vsphere_mock', + 'empty_default_hostname': True, + 'event_config': { + 'collect_vcenter_alarms': True, + }, + 'host': os.environ.get('VSPHERE_URL', 'FAKE'), + 'username': os.environ.get('VSPHERE_USERNAME', 'FAKE'), + 'password': os.environ.get('VSPHERE_PASSWORD', 'FAKE'), + 'collect_historical_only': True, +} + +DEFAULT_INSTANCE = { + 'use_legacy_check_version': False, + 'empty_default_hostname': True, + 'host': os.environ.get('VSPHERE_URL', 'FAKE'), + 'username': os.environ.get('VSPHERE_USERNAME', 'FAKE'), + 'password': os.environ.get('VSPHERE_PASSWORD', 'FAKE'), + 'ssl_verify': False, +} + +REALTIME_INSTANCE = { + 'use_legacy_check_version': False, + 'empty_default_hostname': True, + 'host': os.environ.get('VSPHERE_URL', 'FAKE'), + 'username': os.environ.get('VSPHERE_USERNAME', 'FAKE'), + 'password': os.environ.get('VSPHERE_PASSWORD', 'FAKE'), + 'ssl_verify': False, + 'collection_level': 4, + 'rest_api_options': None, +} + +HISTORICAL_INSTANCE = { + 'use_legacy_check_version': False, + 'empty_default_hostname': True, + 'host': os.environ.get('VSPHERE_URL', 'FAKE'), + 'username': os.environ.get('VSPHERE_USERNAME', 'FAKE'), + 'password': os.environ.get('VSPHERE_PASSWORD', 'FAKE'), + 'ssl_verify': False, + 'collection_level': 4, + 'collection_type': 'historical', +} + +EVENTS_ONLY_INSTANCE = { + 'empty_default_hostname': True, + 'use_legacy_check_version': False, + 'host': os.environ.get('VSPHERE_URL', 'FAKE'), + 'username': os.environ.get('VSPHERE_USERNAME', 'FAKE'), + 'password': os.environ.get('VSPHERE_PASSWORD', 'FAKE'), + 'ssl_verify': False, + 'collect_events_only': True, +} + def build_rest_api_client(config, logger): if VSPHERE_VERSION.startswith('7.'): return VSphereRestAPI(config, logger, False) return VSphereRestAPI(config, logger, True) + + +EVENTS = [ + vim.event.VmMessageEvent( + createdTime=get_current_datetime(), + vm=vim.event.VmEventArgument(name="vm1"), + fullFormattedMessage="First event in time", + ), + vim.event.VmMessageEvent( + createdTime=get_current_datetime(), + vm=vim.event.VmEventArgument(name="vm2"), + fullFormattedMessage="Second event in time", + ), +] + + +PERF_METRIC_ID = [ + vim.PerformanceManager.MetricId(counterId=100), + vim.PerformanceManager.MetricId(counterId=101), + vim.PerformanceManager.MetricId(counterId=102), + vim.PerformanceManager.MetricId(counterId=103), +] + + +PERF_COUNTER_INFO = [ + vim.PerformanceManager.CounterInfo( + key=100, + groupInfo=vim.ElementDescription(key='datastore'), + nameInfo=vim.ElementDescription(key='busResets'), + rollupType=vim.PerformanceManager.CounterInfo.RollupType.summation, + unitInfo=vim.ElementDescription(key='command'), + ), + vim.PerformanceManager.CounterInfo( + key=101, + groupInfo=vim.ElementDescription(key='cpu'), + nameInfo=vim.ElementDescription(key='totalmhz'), + rollupType=vim.PerformanceManager.CounterInfo.RollupType.average, + unitInfo=vim.ElementDescription(key='megahertz'), + ), + vim.PerformanceManager.CounterInfo( + key=102, + groupInfo=vim.ElementDescription(key='vmop'), + nameInfo=vim.ElementDescription(key='numChangeDS'), + rollupType=vim.PerformanceManager.CounterInfo.RollupType.latest, + unitInfo=vim.ElementDescription(key='operation'), + ), + vim.PerformanceManager.CounterInfo( + key=103, + groupInfo=vim.ElementDescription(key='cpu'), + nameInfo=vim.ElementDescription(key='costop'), + rollupType=vim.PerformanceManager.CounterInfo.RollupType.summation, + unitInfo=vim.ElementDescription(key='millisecond'), + ), + vim.PerformanceManager.CounterInfo( + key=104, + groupInfo=vim.ElementDescription(key='mem'), + nameInfo=vim.ElementDescription(key='active'), + rollupType=vim.PerformanceManager.CounterInfo.RollupType.average, + unitInfo=vim.ElementDescription(key='kibibyte'), + ), +] + + +PERF_ENTITY_METRICS = [ + vim.PerformanceManager.EntityMetric( + entity=vim.VirtualMachine(moId="vm1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[47, 52], + id=vim.PerformanceManager.MetricId(counterId=103), + ) + ], + ), + vim.PerformanceManager.EntityMetric( + entity=vim.VirtualMachine(moId="vm2"), + value=[ + vim.PerformanceManager.IntSeries( + value=[30, 11], + id=vim.PerformanceManager.MetricId(counterId=103), + ) + ], + ), + vim.PerformanceManager.EntityMetric( + entity=vim.Datastore(moId="ds1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[2, 5], + id=vim.PerformanceManager.MetricId( + counterId=100, + instance='ds1', + ), + ) + ], + ), + vim.PerformanceManager.EntityMetric( + entity=vim.ClusterComputeResource(moId="c1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[2, 5], + id=vim.PerformanceManager.MetricId( + counterId=101, + instance='c1', + ), + ) + ], + ), + vim.PerformanceManager.EntityMetric( + entity=vim.Datacenter(moId="dc1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[1, 7], + id=vim.PerformanceManager.MetricId( + counterId=102, + instance='dc1', + ), + ) + ], + ), + vim.PerformanceManager.EntityMetric( + entity=vim.Datacenter(moId="dc2"), + value=[ + vim.PerformanceManager.IntSeries( + value=[1, 3], + id=vim.PerformanceManager.MetricId( + counterId=102, + # instance='dc2', + ), + ) + ], + ), + vim.PerformanceManager.EntityMetric( + entity=vim.HostSystem(moId="host1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[34, 61], + id=vim.PerformanceManager.MetricId( + counterId=103, + # instance='host1', + ), + ) + ], + ), +] + + +PROPERTIES_EX_VM_OFF = vim.PropertyCollector.RetrieveResult( + objects=[ + vim.ObjectContent( + obj=vim.VirtualMachine(moId="vm1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='vm1', + ), + vmodl.DynamicProperty( + name='runtime.powerState', + val=vim.VirtualMachinePowerState.poweredOff, + ), + ], + ), + vim.ObjectContent( + obj=vim.VirtualMachine(moId="vm2"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='vm2', + ), + vmodl.DynamicProperty( + name='runtime.powerState', + val=vim.VirtualMachinePowerState.poweredOn, + ), + ], + ), + ] +) + +PROPERTIES_EX = vim.PropertyCollector.RetrieveResult( + objects=[ + vim.ObjectContent( + obj=vim.VirtualMachine(moId="vm1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='vm1', + ), + vmodl.DynamicProperty( + name='runtime.powerState', + val=vim.VirtualMachinePowerState.poweredOn, + ), + ], + ), + vim.ObjectContent( + obj=vim.VirtualMachine(moId="vm2"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='vm2', + ), + vmodl.DynamicProperty( + name='runtime.powerState', + val=vim.VirtualMachinePowerState.poweredOn, + ), + ], + ), + vim.ObjectContent( + obj=vim.Datastore(moId="ds1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='ds1', + ), + ], + ), + vim.ObjectContent( + obj=vim.ClusterComputeResource(moId="c1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='c1', + ), + ], + ), + vim.ObjectContent( + obj=vim.Folder(moId="folder_1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='folder_1', + ), + ], + ), + vim.ObjectContent( + obj=vim.Datacenter(moId="dc1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='dc1', + ), + ], + ), + vim.ObjectContent( + obj=vim.Datacenter(moId="dc2"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='dc2', + ), + vmodl.DynamicProperty( + name='parent', + val=vim.Folder(moId="folder_1"), + ), + ], + ), + vim.ObjectContent( + obj=vim.HostSystem(moId="host1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='host1', + ), + ], + ), + ], +) + + +class MockHttpV6: + def __init__(self): + self.exceptions = {} + + def get(self, url, *args, **kwargs): + if '/api/' in url: + return MockResponse({}, 404) + parsed_url = urlparse(url) + path_and_args = parsed_url.path + "?" + parsed_url.query if parsed_url.query else parsed_url.path + path_parts = path_and_args.split('/') + subpath = os.path.join(*path_parts) + if subpath in self.exceptions: + raise self.exceptions[subpath] + if re.match(r'.*/category/id:.*$', url): + parts = url.split('_') + num = parts[len(parts) - 1] + return MockResponse( + json_data={ + "value": { + "name": "my_cat_name_{}".format(num), + "description": "", + "id": "cat_id_{}".format(num), + "used_by": [], + "cardinality": "SINGLE", + } + }, + status_code=200, + ) + elif re.match(r'.*/tagging/tag/id:.*$', url): + parts = url.split('_') + num = parts[len(parts) - 1] + return MockResponse( + json_data={ + "value": { + "category_id": "cat_id_{}".format(num), + "name": "my_tag_name_{}".format(num), + "description": "", + "id": "xxx", + "used_by": [], + } + }, + status_code=200, + ) + raise Exception("Rest api mock request not matched: method={}, url={}".format('get', url)) + + def post(self, url, *args, **kwargs): + if '/api/' in url: + return MockResponse({}, 404) + assert kwargs['headers']['Content-Type'] == 'application/json' + parsed_url = urlparse(url) + path_and_args = parsed_url.path + "?" + parsed_url.query if parsed_url.query else parsed_url.path + path_parts = path_and_args.split('/') + subpath = os.path.join(*path_parts) + if subpath in self.exceptions: + raise self.exceptions[subpath] + if re.match(r'.*/session$', url): + return MockResponse( + json_data={"value": "dummy-token"}, + status_code=200, + ) + elif re.match(r'.*/tagging/tag-association\?~action=list-attached-tags-on-objects$', url): + return MockResponse( + json_data={ + "value": [ + {"object_id": {"id": "vm1", "type": "VirtualMachine"}, "tag_ids": ["tag_id_1", "tag_id_2"]}, + {"object_id": {"id": "host1", "type": "HostSystem"}, "tag_ids": ["tag_id_2"]}, + {"object_id": {"id": "ds1", "type": "Datastore"}, "tag_ids": ["tag_id_2"]}, + ] + }, + status_code=200, + ) + raise Exception("Rest api mock request not matched: method={}, url={}".format('post', url)) + + +class MockHttpV7: + def __init__(self): + self.exceptions = [] + + def get(self, url, *args, **kwargs): + parsed_url = urlparse(url) + path_and_args = parsed_url.path + "?" + parsed_url.query if parsed_url.query else parsed_url.path + path_parts = path_and_args.split('/') + subpath = os.path.join(*path_parts) + if subpath in self.exceptions: + raise self.exceptions[subpath] + if re.match(r'.*/category/.*$', url): + parts = url.split('_') + num = parts[len(parts) - 1] + return MockResponse( + json_data={ + 'name': 'my_cat_name_{}'.format(num), + 'description': 'VM category description', + 'id': 'cat_id_{}'.format(num), + 'used_by': [], + 'cardinality': 'SINGLE', + }, + status_code=200, + ) + elif re.match(r'.*/tagging/tag/.*$', url): + parts = url.split('_') + num = parts[len(parts) - 1] + return MockResponse( + json_data={ + 'category_id': 'cat_id_{}'.format(num), + 'name': 'my_tag_name_{}'.format(num), + 'description': '', + 'id': 'tag_id_{}'.format(num), + 'used_by': [], + }, + status_code=200, + ) + raise Exception("Rest api mock request not matched: method={}, url={}".format('get', url)) + + def post(self, url, *args, **kwargs): + assert kwargs['headers']['Content-Type'] == 'application/json' + parsed_url = urlparse(url) + path_and_args = parsed_url.path + "?" + parsed_url.query if parsed_url.query else parsed_url.path + path_parts = path_and_args.split('/') + subpath = os.path.join(*path_parts) + if subpath in self.exceptions: + raise self.exceptions[subpath] + if re.match(r'.*/session$', url): + return MockResponse( + json_data="dummy-token", + status_code=200, + ) + elif re.match(r'.*/tagging/tag-association\?action=list-attached-tags-on-objects$', url): + return MockResponse( + json_data=[ + {'tag_ids': ['tag_id_1', 'tag_id_2'], 'object_id': {'id': 'vm1', 'type': 'VirtualMachine'}}, + {'tag_ids': ['tag_id_2'], 'object_id': {'id': 'ds1', 'type': 'Datastore'}}, + {'tag_ids': ['tag_id_2'], 'object_id': {'id': 'host1', 'type': 'HostSystem'}}, + ], + status_code=200, + ) + raise Exception("Rest api mock request not matched: method={}, url={}".format('post', url)) diff --git a/vsphere/tests/conftest.py b/vsphere/tests/conftest.py index ee20620a3b20f..e2a9fb04c2c91 100644 --- a/vsphere/tests/conftest.py +++ b/vsphere/tests/conftest.py @@ -1,12 +1,32 @@ # (C) Datadog, Inc. 2019-present # All rights reserved # Licensed under Simplified BSD License (see LICENSE) -import os +import datetime as dt import pytest from mock import MagicMock, Mock, patch - -from .common import LAB_INSTANCE, VSPHERE_VERSION +from pyVmomi import vim + +from datadog_checks.vsphere.legacy.vsphere_legacy import DEFAULT_MAX_HIST_METRICS + +from .common import ( + DEFAULT_INSTANCE, + EVENTS, + EVENTS_ONLY_INSTANCE, + HISTORICAL_INSTANCE, + LAB_INSTANCE, + LEGACY_DEFAULT_INSTANCE, + LEGACY_HISTORICAL_INSTANCE, + LEGACY_REALTIME_INSTANCE, + PERF_COUNTER_INFO, + PERF_ENTITY_METRICS, + PERF_METRIC_ID, + PROPERTIES_EX, + REALTIME_INSTANCE, + VSPHERE_VERSION, + MockHttpV6, + MockHttpV7, +) from .mocked_api import MockedAPI, mock_http_rest_api_v6, mock_http_rest_api_v7 try: @@ -17,47 +37,42 @@ @pytest.fixture(scope='session') def dd_environment(): - yield LAB_INSTANCE + yield LAB_INSTANCE.copy() + + +@pytest.fixture() +def legacy_default_instance(): + return LEGACY_DEFAULT_INSTANCE.copy() + + +@pytest.fixture() +def legacy_realtime_instance(): + return LEGACY_REALTIME_INSTANCE.copy() + + +@pytest.fixture() +def legacy_historical_instance(): + return LEGACY_HISTORICAL_INSTANCE.copy() + + +@pytest.fixture() +def default_instance(): + return DEFAULT_INSTANCE.copy() @pytest.fixture() def realtime_instance(): - return { - 'collection_level': 4, - 'empty_default_hostname': True, - 'use_legacy_check_version': False, - 'host': os.environ.get('VSPHERE_URL', 'FAKE'), - 'username': os.environ.get('VSPHERE_USERNAME', 'FAKE'), - 'password': os.environ.get('VSPHERE_PASSWORD', 'FAKE'), - 'ssl_verify': False, - 'rest_api_options': None, - } + return REALTIME_INSTANCE.copy() @pytest.fixture() def historical_instance(): - return { - 'collection_level': 1, - 'empty_default_hostname': True, - 'use_legacy_check_version': False, - 'host': os.environ.get('VSPHERE_URL', 'FAKE'), - 'username': os.environ.get('VSPHERE_USERNAME', 'FAKE'), - 'password': os.environ.get('VSPHERE_PASSWORD', 'FAKE'), - 'ssl_verify': False, - 'collection_type': 'historical', - } + return HISTORICAL_INSTANCE.copy() @pytest.fixture() def events_only_instance(): - return { - 'use_legacy_check_version': False, - 'host': os.environ.get('VSPHERE_URL', 'FAKE'), - 'username': os.environ.get('VSPHERE_USERNAME', 'FAKE'), - 'password': os.environ.get('VSPHERE_PASSWORD', 'FAKE'), - 'ssl_verify': False, - 'collect_events_only': True, - } + return EVENTS_ONLY_INSTANCE.copy() @pytest.fixture @@ -98,6 +113,126 @@ def mock_api(): yield +@pytest.fixture +def query_events(): + def QueryEvents(filter): + return EVENTS + + yield QueryEvents + + +@pytest.fixture +def query_options(): + def QueryOptions(name): + return [MagicMock(value=DEFAULT_MAX_HIST_METRICS)] + + yield QueryOptions + + +@pytest.fixture +def query_available_perf_metric(): + def QueryAvailablePerfMetric(entity, begin_time=None, end_time=None, interval_id=None): + return PERF_METRIC_ID + + yield QueryAvailablePerfMetric + + +@pytest.fixture +def query_perf_counter_by_level(): + def QueryPerfCounterByLevel(collection_level): + return PERF_COUNTER_INFO + + yield QueryPerfCounterByLevel + + +@pytest.fixture +def properties_ex(): + return PROPERTIES_EX + + +@pytest.fixture +def retrieve_properties_ex(properties_ex): + def RetrievePropertiesEx(spec_set, options): + return properties_ex + + yield RetrievePropertiesEx + + +@pytest.fixture +def query_perf(): + def QueryPerf(query_specs): + result = [] + for query_spec in query_specs: + for entity_metric in PERF_ENTITY_METRICS: + if query_spec.entity == entity_metric.entity: + value = [] + for metric_id in query_spec.metricId: + for metric_value in entity_metric.value: + if metric_id.counterId == metric_value.id.counterId: + value.append(metric_value) + result.append( + vim.PerformanceManager.EntityMetric( + entity=entity_metric.entity, + value=value, + ) + ) + return result + + yield QueryPerf + + +@pytest.fixture +def connect_exception(): + mock_si = MagicMock() + mock_si.side_effect = Exception("Connection error") + with patch('pyVim.connect.SmartConnect', side_effect=mock_si): + yield mock_si + + +@pytest.fixture +def get_timestamp(): + with patch('datadog_checks.vsphere.vsphere.get_timestamp') as mock_time: + yield mock_time + + +@pytest.fixture(scope="function", autouse=True) +def service_instance( + query_events, + query_options, + query_available_perf_metric, + query_perf_counter_by_level, + query_perf, + retrieve_properties_ex, +): + mock_si = MagicMock() + mock_si.content.about.version = VSPHERE_VERSION + mock_si.content.about.build = '123456789' + mock_si.content.about.apiType = 'VirtualCenter' + mock_si.CurrentTime.return_value = dt.datetime.now() + mock_si.content.eventManager.latestEvent.createdTime = dt.datetime.now() + mock_si.content.eventManager.QueryEvents = MagicMock(side_effect=query_events) + mock_si.content.setting.QueryOptions = MagicMock(side_effect=query_options) + mock_si.content.perfManager.QueryAvailablePerfMetric = MagicMock(side_effect=query_available_perf_metric) + mock_si.content.perfManager.QueryPerfCounterByLevel = MagicMock(side_effect=query_perf_counter_by_level) + mock_si.content.perfManager.QueryPerf = MagicMock(side_effect=query_perf) + mock_si.content.propertyCollector.RetrievePropertiesEx = MagicMock(side_effect=retrieve_properties_ex) + with patch('pyVmomi.vmodl.query.PropertyCollector.ObjectSpec', return_value=MagicMock()), patch( + 'pyVmomi.vmodl.query.PropertyCollector.FilterSpec', return_value=MagicMock() + ), patch('pyVim.connect.SmartConnect', return_value=mock_si): + yield mock_si + + +@pytest.fixture +def mock_http_api(monkeypatch): + if VSPHERE_VERSION.startswith('7.'): + http = MockHttpV7() + else: + http = MockHttpV6() + monkeypatch.setattr('requests.get', MagicMock(side_effect=http.get)) + monkeypatch.setattr('requests.post', MagicMock(side_effect=http.post)) + yield http + + @pytest.fixture def mock_rest_api(): if VSPHERE_VERSION.startswith('7.'): diff --git a/vsphere/tests/legacy/utils.py b/vsphere/tests/legacy/utils.py index 593bdc1ab228d..bee31bf3dc758 100644 --- a/vsphere/tests/legacy/utils.py +++ b/vsphere/tests/legacy/utils.py @@ -25,6 +25,8 @@ def __init__(self, **kwargs): # Mocking super(MockedMOR, self).__init__(**kwargs) + self._serverGuid = None + self._moId = kwargs.get('moId', None) self.name = kwargs.get('name') self.parent = None self.parent_name = kwargs.get('parent_name', None) @@ -147,10 +149,10 @@ def get_mocked_server(): def mock_alarm_event(from_status='green', to_status='red', message='Some error', key=0, created_time=None): if created_time is None: created_time = datetime.utcnow() - vm = MockedMOR(spec='VirtualMachine') - dc = MockedMOR(spec="Datacenter") + vm = MockedMOR(moId="vm1", spec='VirtualMachine') + dc = MockedMOR(moId="dc1", spec="Datacenter") dc_arg = vim.event.DatacenterEventArgument(datacenter=dc, name='dc1') - alarm = MockedMOR(spec="Alarm") + alarm = MockedMOR(moId="dc1", spec="Alarm") alarm_arg = vim.event.AlarmEventArgument(alarm=alarm, name='alarm1') entity = vim.event.ManagedEntityEventArgument(entity=vm, name='vm1') event = vim.event.AlarmStatusChangedEvent( diff --git a/vsphere/tests/test_event.py b/vsphere/tests/test_event.py index 5a43278e1d28e..97b3d37d0c109 100644 --- a/vsphere/tests/test_event.py +++ b/vsphere/tests/test_event.py @@ -10,8 +10,6 @@ from datadog_checks.vsphere import VSphereCheck from datadog_checks.vsphere.event import ALLOWED_EVENTS -from .legacy.utils import mock_alarm_event - def test_allowed_event_list(): expected_events = [ @@ -37,9 +35,45 @@ def test_events_collection(aggregator, realtime_instance): time1 = dt.datetime.now() time2 = time1 + dt.timedelta(seconds=3) time3 = time1 + dt.timedelta(seconds=5) - event1 = mock_alarm_event(from_status='green', key=10, created_time=time1) - event2 = mock_alarm_event(from_status='yellow', key=20, created_time=time3) - event3 = mock_alarm_event(from_status='red', key=30, created_time=time2) + + event1 = vim.event.AlarmStatusChangedEvent() + event1.createdTime = time1 + event1.entity = vim.event.ManagedEntityEventArgument() + event1.entity.entity = vim.VirtualMachine(moId="vm1") + event1.entity.name = "vm1" + event1.alarm = vim.event.AlarmEventArgument() + event1.alarm.name = "alarm1" + setattr(event1, 'from', 'green') + event1.to = 'red' + event1.datacenter = vim.event.DatacenterEventArgument() + event1.datacenter.name = "dc1" + event1.fullFormattedMessage = "Green to Red" + + event2 = vim.event.AlarmStatusChangedEvent() + event2.createdTime = time2 + event2.entity = vim.event.ManagedEntityEventArgument() + event2.entity.entity = vim.VirtualMachine(moId="vm1") + event2.entity.name = "vm1" + event2.alarm = vim.event.AlarmEventArgument() + event2.alarm.name = "alarm1" + setattr(event2, 'from', 'yellow') + event2.to = 'red' + event2.datacenter = vim.event.DatacenterEventArgument() + event2.datacenter.name = "dc1" + event2.fullFormattedMessage = "Yellow to Red" + + event3 = vim.event.AlarmStatusChangedEvent() + event3.createdTime = time3 + event3.entity = vim.event.ManagedEntityEventArgument() + event3.entity.entity = vim.VirtualMachine(moId="vm1") + event3.entity.name = "vm1" + event3.alarm = vim.event.AlarmEventArgument() + event3.alarm.name = "alarm1" + setattr(event3, 'from', 'red') + event3.to = 'red' + event3.datacenter = vim.event.DatacenterEventArgument() + event3.datacenter.name = "dc1" + event3.fullFormattedMessage = "Red to Red" # No events check.check(None) diff --git a/vsphere/tests/test_unit.py b/vsphere/tests/test_unit.py new file mode 100644 index 0000000000000..a600e1fc3e715 --- /dev/null +++ b/vsphere/tests/test_unit.py @@ -0,0 +1,2310 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) +import contextlib +import logging + +import mock +import pytest +from pyVmomi import vim, vmodl + +from datadog_checks.base import AgentCheck, ConfigurationError +from datadog_checks.base.utils.time import get_current_datetime +from datadog_checks.vsphere import VSphereCheck +from datadog_checks.vsphere.constants import DEFAULT_MAX_QUERY_METRICS + +from .common import ( + EVENTS, + HISTORICAL_INSTANCE, + REALTIME_INSTANCE, + VSPHERE_VERSION, +) + +pytestmark = [pytest.mark.unit] + + +@contextlib.contextmanager +def does_not_raise(enter_result=None): + yield enter_result + + +def test_log_deprecation_warning(dd_run_check, caplog, default_instance): + check = VSphereCheck('vsphere', {}, [default_instance]) + dd_run_check(check) + deprecation_message = 'DEPRECATION NOTICE: You are using a deprecated version of the vSphere integration.' + assert deprecation_message not in caplog.text + + +def test_connection_exception(aggregator, dd_run_check, default_instance, connect_exception): + with pytest.raises(Exception): + check = VSphereCheck('vsphere', {}, [default_instance]) + dd_run_check(check) + aggregator.assert_service_check( + 'vsphere.can_connect', + AgentCheck.CRITICAL, + tags=['vcenter_server:FAKE'], + ) + assert len(aggregator._metrics) == 0 + assert len(aggregator.events) == 0 + assert connect_exception.call_count == 1 + + +def test_connection_ok(aggregator, dd_run_check, default_instance): + check = VSphereCheck('vsphere', {}, [default_instance]) + dd_run_check(check) + aggregator.assert_service_check('vsphere.can_connect', AgentCheck.OK, tags=['vcenter_server:FAKE']) + + +def test_metadata(datadog_agent, aggregator, dd_run_check, default_instance, service_instance): + check = VSphereCheck('vsphere', {}, [default_instance]) + check.check_id = 'test:123' + dd_run_check(check) + major, minor, patch = VSPHERE_VERSION.split('.') + version_metadata = { + 'version.scheme': 'semver', + 'version.major': major, + 'version.minor': minor, + 'version.patch': patch, + 'version.build': '123456789', + 'version.raw': '{}+123456789'.format(VSPHERE_VERSION), + } + datadog_agent.assert_metadata('test:123', version_metadata) + + +def test_disabled_metadata(datadog_agent, aggregator, dd_run_check, default_instance, service_instance): + check = VSphereCheck('vsphere', {}, [default_instance]) + check.check_id = 'test:123' + datadog_agent._config["enable_metadata_collection"] = False + dd_run_check(check) + datadog_agent.assert_metadata_count(0) + + +def test_event_exception(aggregator, dd_run_check, events_only_instance, service_instance): + service_instance.content.eventManager.QueryEvents = mock.MagicMock(side_effect=[Exception()]) + check = VSphereCheck('vsphere', {}, [events_only_instance]) + dd_run_check(check) + aggregator.assert_service_check( + 'vsphere.can_connect', + AgentCheck.CRITICAL, + count=0, + ) + assert len(aggregator.events) == 0 + assert service_instance.content.eventManager.QueryEvents.call_count == 2 + + +def test_two_events(aggregator, dd_run_check, events_only_instance, service_instance): + check = VSphereCheck('vsphere', {}, [events_only_instance]) + dd_run_check(check) + assert len(aggregator.events) == 2 + assert service_instance.content.eventManager.QueryEvents.call_count == 1 + + +def test_two_calls_to_queryevents(aggregator, dd_run_check, events_only_instance, service_instance): + service_instance.content.eventManager.QueryEvents = mock.MagicMock( + side_effect=[ + EVENTS, + [], + ] + ) + check = VSphereCheck('vsphere', {}, [events_only_instance]) + dd_run_check(check) + assert len(aggregator.events) == 2 + aggregator.reset() + dd_run_check(check) + assert len(aggregator.events) == 0 + assert service_instance.content.eventManager.QueryEvents.call_count == 2 + + +def test_event_filtered(aggregator, dd_run_check, events_only_instance, service_instance): + service_instance.content.eventManager.QueryEvents = mock.MagicMock( + return_value=[ + vim.event.VmDiskFailedEvent( + createdTime=get_current_datetime(), + ), + ] + ) + check = VSphereCheck('vsphere', {}, [events_only_instance]) + dd_run_check(check) + assert len(aggregator.events) == 0 + + +def test_event_vm_being_hot_migrated_change_host(aggregator, dd_run_check, events_only_instance, service_instance): + service_instance.content.eventManager.QueryEvents = mock.MagicMock( + return_value=[ + vim.event.VmBeingHotMigratedEvent( + createdTime=get_current_datetime(), + userName="datadog", + host=vim.event.HostEventArgument(name="host1"), + destHost=vim.event.HostEventArgument(name="host2"), + datacenter=vim.event.DatacenterEventArgument(name="dc1"), + destDatacenter=vim.event.DatacenterEventArgument(name="dc1"), + ds=vim.event.DatastoreEventArgument(name="ds1"), + destDatastore=vim.event.DatastoreEventArgument(name="ds1"), + vm=vim.event.VmEventArgument(name="vm1"), + ), + ] + ) + check = VSphereCheck('vsphere', {}, [events_only_instance]) + dd_run_check(check) + aggregator.assert_event( + """datadog has launched a hot migration of this virtual machine: +- Host MIGRATION: from host1 to host2 +- No datacenter migration: still dc1 +- No datastore migration: still ds1""", + count=1, + msg_title="VM vm1 is being migrated", + host="vm1", + tags=[ + 'vcenter_server:FAKE', + 'vsphere_host:host1', + 'vsphere_host:host2', + 'vsphere_datacenter:dc1', + 'vsphere_datacenter:dc1', + ], + ) + + +def test_event_vm_being_hot_migrated_change_datacenter( + aggregator, dd_run_check, events_only_instance, service_instance +): + service_instance.content.eventManager.QueryEvents = mock.MagicMock( + return_value=[ + vim.event.VmBeingHotMigratedEvent( + createdTime=get_current_datetime(), + userName="datadog", + host=vim.event.HostEventArgument(name="host1"), + destHost=vim.event.HostEventArgument(name="host2"), + datacenter=vim.event.DatacenterEventArgument(name="dc1"), + destDatacenter=vim.event.DatacenterEventArgument(name="dc2"), + ds=vim.event.DatastoreEventArgument(name="ds1"), + destDatastore=vim.event.DatastoreEventArgument(name="ds1"), + vm=vim.event.VmEventArgument(name="vm1"), + ), + ] + ) + check = VSphereCheck('vsphere', {}, [events_only_instance]) + dd_run_check(check) + aggregator.assert_event( + """datadog has launched a hot migration of this virtual machine: +- Datacenter MIGRATION: from dc1 to dc2 +- Host MIGRATION: from host1 to host2 +- No datastore migration: still ds1""", + count=1, + msg_title="VM vm1 is being migrated", + host="vm1", + tags=[ + 'vcenter_server:FAKE', + 'vsphere_host:host1', + 'vsphere_host:host2', + 'vsphere_datacenter:dc1', + 'vsphere_datacenter:dc2', + ], + ) + + +def test_event_vm_being_hot_migrated_change_datastore(aggregator, dd_run_check, events_only_instance, service_instance): + service_instance.content.eventManager.QueryEvents = mock.MagicMock( + return_value=[ + vim.event.VmBeingHotMigratedEvent( + createdTime=get_current_datetime(), + userName="datadog", + host=vim.event.HostEventArgument(name="host1"), + destHost=vim.event.HostEventArgument(name="host1"), + datacenter=vim.event.DatacenterEventArgument(name="dc1"), + destDatacenter=vim.event.DatacenterEventArgument(name="dc1"), + ds=vim.event.DatastoreEventArgument(name="ds1"), + destDatastore=vim.event.DatastoreEventArgument(name="ds2"), + vm=vim.event.VmEventArgument(name="vm1"), + ), + ] + ) + check = VSphereCheck('vsphere', {}, [events_only_instance]) + dd_run_check(check) + aggregator.assert_event( + """datadog has launched a hot migration of this virtual machine: +- Datastore MIGRATION: from ds1 to ds2 +- No host migration: still host1 +- No datacenter migration: still dc1""", + count=1, + msg_title="VM vm1 is being migrated", + host="vm1", + tags=[ + 'vcenter_server:FAKE', + 'vsphere_host:host1', + 'vsphere_host:host1', + 'vsphere_datacenter:dc1', + 'vsphere_datacenter:dc1', + ], + ) + + +def test_event_alarm_status_changed_excluded(aggregator, dd_run_check, events_only_instance, service_instance): + event = vim.event.AlarmStatusChangedEvent( + createdTime=get_current_datetime(), + entity=vim.event.ManagedEntityEventArgument(entity=vim.VirtualMachine(moId="vm1"), name="vm1"), + alarm=vim.event.AlarmEventArgument(name="alarm1"), + to='gray', + datacenter=vim.event.DatacenterEventArgument(name="dc1"), + fullFormattedMessage="Green to Gray", + ) + setattr(event, 'from', 'green') + service_instance.content.eventManager.QueryEvents = mock.MagicMock(return_value=[event]) + check = VSphereCheck('vsphere', {}, [events_only_instance]) + dd_run_check(check) + assert len(aggregator.events) == 0 + + +def test_event_alarm_status_changed_vm(aggregator, dd_run_check, events_only_instance, service_instance): + event = vim.event.AlarmStatusChangedEvent( + createdTime=get_current_datetime(), + entity=vim.event.ManagedEntityEventArgument(entity=vim.VirtualMachine(moId="vm1"), name="vm1"), + alarm=vim.event.AlarmEventArgument(name="alarm1"), + to='yellow', + datacenter=vim.event.DatacenterEventArgument(name="dc1"), + fullFormattedMessage="Green to Yellow", + ) + setattr(event, 'from', 'green') + service_instance.content.eventManager.QueryEvents = mock.MagicMock(return_value=[event]) + check = VSphereCheck('vsphere', {}, [events_only_instance]) + dd_run_check(check) + aggregator.assert_event( + """vCenter monitor status changed on this alarm, it was green and it's now yellow.""", + count=1, + msg_title="[Triggered] alarm1 on VM vm1 is now yellow", + alert_type="warning", + host="vm1", + tags=[ + 'vcenter_server:FAKE', + ], + ) + + +def test_event_alarm_status_changed_vm_recovered(aggregator, dd_run_check, events_only_instance, service_instance): + event = vim.event.AlarmStatusChangedEvent( + createdTime=get_current_datetime(), + entity=vim.event.ManagedEntityEventArgument(entity=vim.VirtualMachine(moId="vm1"), name="vm1"), + alarm=vim.event.AlarmEventArgument(name="alarm1"), + to='green', + datacenter=vim.event.DatacenterEventArgument(name="dc1"), + fullFormattedMessage="Red to Green", + ) + setattr(event, 'from', 'red') + service_instance.content.eventManager.QueryEvents = mock.MagicMock(return_value=[event]) + check = VSphereCheck('vsphere', {}, [events_only_instance]) + dd_run_check(check) + aggregator.assert_event( + """vCenter monitor status changed on this alarm, it was red and it's now green.""", + count=1, + msg_title="[Recovered] alarm1 on VM vm1 is now green", + alert_type="success", + host="vm1", + tags=[ + 'vcenter_server:FAKE', + ], + ) + + +def test_event_alarm_status_changed_host(aggregator, dd_run_check, events_only_instance, service_instance): + event = vim.event.AlarmStatusChangedEvent( + createdTime=get_current_datetime(), + entity=vim.event.ManagedEntityEventArgument(entity=vim.HostSystem(moId="host1"), name="host1"), + alarm=vim.event.AlarmEventArgument(name="alarm1"), + to='yellow', + datacenter=vim.event.DatacenterEventArgument(name="dc1"), + fullFormattedMessage="Green to Yellow", + ) + setattr(event, 'from', 'green') + service_instance.content.eventManager.QueryEvents = mock.MagicMock(return_value=[event]) + check = VSphereCheck('vsphere', {}, [events_only_instance]) + dd_run_check(check) + aggregator.assert_event( + """vCenter monitor status changed on this alarm, it was green and it's now yellow.""", + count=1, + msg_title="[Triggered] alarm1 on host host1 is now yellow", + alert_type="warning", + host="host1", + tags=[ + 'vcenter_server:FAKE', + ], + ) + + +def test_event_alarm_status_changed_other(aggregator, dd_run_check, events_only_instance, service_instance): + event = vim.event.AlarmStatusChangedEvent( + createdTime=get_current_datetime(), + entity=vim.event.ManagedEntityEventArgument(entity=vim.Folder(moId="folder1"), name="folder1"), + alarm=vim.event.AlarmEventArgument(name="alarm1"), + to='yellow', + datacenter=vim.event.DatacenterEventArgument(name="dc1"), + fullFormattedMessage="Green to Yellow", + ) + setattr(event, 'from', 'green') + service_instance.content.eventManager.QueryEvents = mock.MagicMock(return_value=[event]) + check = VSphereCheck('vsphere', {}, [events_only_instance]) + dd_run_check(check) + assert len(aggregator.events) == 0 + + +def test_event_alarm_status_changed_wrong_from(aggregator, dd_run_check, events_only_instance, service_instance): + event = vim.event.AlarmStatusChangedEvent( + createdTime=get_current_datetime(), + entity=vim.event.ManagedEntityEventArgument(entity=vim.VirtualMachine(moId="vm1"), name="vm1"), + alarm=vim.event.AlarmEventArgument(name="alarm1"), + to='yellow', + datacenter=vim.event.DatacenterEventArgument(name="dc1"), + fullFormattedMessage="Green to Yellow", + ) + setattr(event, 'from', 'other') + service_instance.content.eventManager.QueryEvents = mock.MagicMock(return_value=[event]) + check = VSphereCheck('vsphere', {}, [events_only_instance]) + dd_run_check(check) + assert len(aggregator.events) == 0 + + +def test_event_alarm_status_changed_wrong_to(aggregator, dd_run_check, events_only_instance, service_instance): + event = vim.event.AlarmStatusChangedEvent( + createdTime=get_current_datetime(), + entity=vim.event.ManagedEntityEventArgument(entity=vim.VirtualMachine(moId="vm1"), name="vm1"), + alarm=vim.event.AlarmEventArgument(name="alarm1"), + to='other', + datacenter=vim.event.DatacenterEventArgument(name="dc1"), + fullFormattedMessage="Green to Yellow", + ) + setattr(event, 'from', 'green') + service_instance.content.eventManager.QueryEvents = mock.MagicMock(return_value=[event]) + check = VSphereCheck('vsphere', {}, [events_only_instance]) + dd_run_check(check) + assert len(aggregator.events) == 0 + + +def test_event_vm_message(aggregator, dd_run_check, events_only_instance, service_instance): + service_instance.content.eventManager.QueryEvents = mock.MagicMock( + return_value=[ + vim.event.VmMessageEvent( + createdTime=get_current_datetime(), + vm=vim.event.VmEventArgument(name="vm1"), + fullFormattedMessage="Event example", + ) + ] + ) + check = VSphereCheck('vsphere', {}, [events_only_instance]) + dd_run_check(check) + aggregator.assert_event( + """@@@\nEvent example\n@@@""", + msg_title="VM vm1 is reporting", + host="vm1", + tags=['vcenter_server:FAKE'], + ) + + +def test_event_vm_migrated(aggregator, dd_run_check, events_only_instance, service_instance): + service_instance.content.eventManager.QueryEvents = mock.MagicMock( + return_value=[ + vim.event.VmMigratedEvent( + createdTime=get_current_datetime(), + vm=vim.event.VmEventArgument(name="vm1"), + fullFormattedMessage="Event example", + ) + ] + ) + check = VSphereCheck('vsphere', {}, [events_only_instance]) + dd_run_check(check) + aggregator.assert_event( + """@@@\nEvent example\n@@@""", + msg_title="VM vm1 has been migrated", + host="vm1", + tags=['vcenter_server:FAKE'], + ) + + +def test_event_task(aggregator, dd_run_check, events_only_instance, service_instance): + service_instance.content.eventManager.QueryEvents = mock.MagicMock( + return_value=[ + vim.event.TaskEvent( + createdTime=get_current_datetime(), + fullFormattedMessage="Task completed successfully", + ) + ] + ) + check = VSphereCheck('vsphere', {}, [events_only_instance]) + dd_run_check(check) + aggregator.assert_event( + """@@@\nTask completed successfully\n@@@""", + msg_title="TaskEvent", + tags=['vcenter_server:FAKE'], + ) + + +def test_event_vm_powered_on(aggregator, dd_run_check, events_only_instance, service_instance): + service_instance.content.eventManager.QueryEvents = mock.MagicMock( + return_value=[ + vim.event.VmPoweredOnEvent( + createdTime=get_current_datetime(), + userName="datadog", + host=vim.event.HostEventArgument(name="host1"), + datacenter=vim.event.DatacenterEventArgument(name="dc1"), + vm=vim.event.VmEventArgument(name="vm1"), + fullFormattedMessage="Virtual machine powered on", + ) + ] + ) + check = VSphereCheck('vsphere', {}, [events_only_instance]) + dd_run_check(check) + aggregator.assert_event( + """datadog has powered on this virtual machine. It is running on: +- datacenter: dc1 +- host: host1 +""" + ) + + +def test_event_vm_powered_off(aggregator, dd_run_check, events_only_instance, service_instance): + service_instance.content.eventManager.QueryEvents = mock.MagicMock( + return_value=[ + vim.event.VmPoweredOffEvent( + createdTime=get_current_datetime(), + userName="datadog", + host=vim.event.HostEventArgument(name="host1"), + datacenter=vim.event.DatacenterEventArgument(name="dc1"), + vm=vim.event.VmEventArgument(name="vm1"), + fullFormattedMessage="Virtual machine powered off", + ) + ] + ) + check = VSphereCheck('vsphere', {}, [events_only_instance]) + dd_run_check(check) + aggregator.assert_event( + """datadog has powered off this virtual machine. It was running on: +- datacenter: dc1 +- host: host1 +""", + count=1, + ) + + +def test_event_vm_reconfigured(aggregator, dd_run_check, events_only_instance, service_instance): + service_instance.content.eventManager.QueryEvents = mock.MagicMock( + return_value=[ + vim.event.VmReconfiguredEvent( + createdTime=get_current_datetime(), + userName="datadog", + vm=vim.event.VmEventArgument(name="vm1"), + configSpec=vim.vm.ConfigSpec(), + ) + ] + ) + check = VSphereCheck('vsphere', {}, [events_only_instance]) + dd_run_check(check) + aggregator.assert_event( + """datadog saved the new configuration:\n@@@\n""", + count=1, + exact_match=False, + msg_title="VM vm1 configuration has been changed", + host="vm1", + ) + + +def test_event_vm_suspended(aggregator, dd_run_check, events_only_instance, service_instance): + service_instance.content.eventManager.QueryEvents = mock.MagicMock( + return_value=[ + vim.event.VmSuspendedEvent( + createdTime=get_current_datetime(), + userName="datadog", + host=vim.event.HostEventArgument(name="host1"), + datacenter=vim.event.DatacenterEventArgument(name="dc1"), + vm=vim.event.VmEventArgument(name="vm1"), + ) + ] + ) + check = VSphereCheck('vsphere', {}, [events_only_instance]) + dd_run_check(check) + aggregator.assert_event( + """datadog has suspended this virtual machine. It was running on: +- datacenter: dc1 +- host: host1 +""", + count=1, + msg_title="VM vm1 has been SUSPENDED", + host="vm1", + ) + + +def test_report_realtime_vm_count(aggregator, dd_run_check, realtime_instance): + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.vm.count', + count=2, + value=2, + tags=['vcenter_server:FAKE', 'vsphere_host:unknown', 'vsphere_type:vm'], + ) + + +def test_report_realtime_vm_metrics(aggregator, dd_run_check, realtime_instance): + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.cpu.costop.sum', + value=52, + count=1, + hostname='vm1', + tags=['vcenter_server:FAKE'], + ) + aggregator.assert_metric( + 'vsphere.cpu.costop.sum', + value=11, + count=1, + hostname='vm2', + tags=['vcenter_server:FAKE'], + ) + + +def test_report_realtime_vm_percent_metrics(aggregator, dd_run_check, realtime_instance, service_instance): + service_instance.content.perfManager.QueryPerfCounterByLevel = mock.MagicMock( + return_value=[ + vim.PerformanceManager.CounterInfo( + key=100, + groupInfo=vim.ElementDescription(key='cpu'), + nameInfo=vim.ElementDescription(key='usage'), + rollupType=vim.PerformanceManager.CounterInfo.RollupType.average, + unitInfo=vim.ElementDescription(key='percent'), + ), + ] + ) + service_instance.content.perfManager.QueryPerf = mock.MagicMock( + side_effect=[ + [ + vim.PerformanceManager.EntityMetric( + entity=vim.VirtualMachine(moId="vm1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[5299], + id=vim.PerformanceManager.MetricId(counterId=100), + ) + ], + ), + ], + [], + ] + ) + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.cpu.usage.avg', + value=52.99, + count=1, + hostname='vm1', + tags=['vcenter_server:FAKE'], + ) + + +def test_report_realtime_vm_metrics_invalid_value(aggregator, dd_run_check, realtime_instance, service_instance): + service_instance.content.perfManager.QueryPerf = mock.MagicMock( + return_value=[ + vim.PerformanceManager.EntityMetric( + entity=vim.VirtualMachine(moId="vm1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[-3], + id=vim.PerformanceManager.MetricId(counterId=103), + ) + ], + ), + ] + ) + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.cpu.costop.sum', + count=0, + ) + + +def test_report_realtime_vm_metrics_exception(aggregator, dd_run_check, realtime_instance, service_instance): + service_instance.CurrentTime = mock.MagicMock( + side_effect=[ + Exception(), + ] + ) + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.cpu.costop.sum', + count=0, + ) + + +def test_report_realtime_vm_metrics_empty_value(aggregator, dd_run_check, realtime_instance, service_instance): + service_instance.content.perfManager.QueryPerf = mock.MagicMock( + return_value=[ + vim.PerformanceManager.EntityMetric( + entity=vim.VirtualMachine(moId="vm1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[], + id=vim.PerformanceManager.MetricId(counterId=103), + ) + ], + ), + ] + ) + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.cpu.costop.sum', + count=0, + ) + + +def test_report_realtime_vm_metrics_counter_id_not_found(aggregator, dd_run_check, realtime_instance, service_instance): + service_instance.content.perfManager.QueryPerf = mock.MagicMock( + return_value=[ + vim.PerformanceManager.EntityMetric( + entity=vim.VirtualMachine(moId="vm1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[5], + id=vim.PerformanceManager.MetricId(counterId=200), + ) + ], + ), + ] + ) + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.cpu.costop.sum', + count=0, + ) + + +def test_report_realtime_vm_metrics_instance_one_value(aggregator, dd_run_check, realtime_instance, service_instance): + service_instance.content.perfManager.QueryPerf = mock.MagicMock( + side_effect=[ + [ + vim.PerformanceManager.EntityMetric( + entity=vim.VirtualMachine(moId="vm1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[47, 52], + id=vim.PerformanceManager.MetricId(counterId=103, instance='vm1'), + ) + ], + ), + vim.PerformanceManager.EntityMetric( + entity=vim.VirtualMachine(moId="vm2"), + value=[ + vim.PerformanceManager.IntSeries( + value=[30, 11], + id=vim.PerformanceManager.MetricId(counterId=103), + ) + ], + ), + ], + [], + ] + ) + realtime_instance.update( + { + 'collect_per_instance_filters': { + 'vm': ['cpu.costop.sum'], + } + } + ) + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.cpu.costop.sum', + value=52, + count=1, + hostname='vm1', + tags=['cpu_core:vm1', 'vcenter_server:FAKE'], + ) + + +def test_report_realtime_vm_metrics_instance_two_values(aggregator, dd_run_check, realtime_instance, service_instance): + service_instance.content.perfManager.QueryPerf = mock.MagicMock( + side_effect=[ + [ + vim.PerformanceManager.EntityMetric( + entity=vim.VirtualMachine(moId="vm1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[47, 52], + id=vim.PerformanceManager.MetricId(counterId=103, instance='vm1'), + ) + ], + ), + vim.PerformanceManager.EntityMetric( + entity=vim.VirtualMachine(moId="vm2"), + value=[ + vim.PerformanceManager.IntSeries( + value=[30, 11], + id=vim.PerformanceManager.MetricId(counterId=103, instance='vm2'), + ) + ], + ), + ], + [], + ] + ) + realtime_instance.update( + { + 'collect_per_instance_filters': { + 'vm': ['cpu.costop.sum'], + } + } + ) + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.cpu.costop.sum', + value=52, + count=1, + hostname='vm1', + tags=['cpu_core:vm1', 'vcenter_server:FAKE'], + ) + aggregator.assert_metric( + 'vsphere.cpu.costop.sum', + value=11, + count=1, + hostname='vm2', + tags=['cpu_core:vm2', 'vcenter_server:FAKE'], + ) + + +def test_report_realtime_vm_metrics_instance_untagged(aggregator, dd_run_check, realtime_instance, service_instance): + service_instance.content.perfManager.QueryPerf = mock.MagicMock( + side_effect=[ + [ + vim.PerformanceManager.EntityMetric( + entity=vim.VirtualMachine(moId="vm1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[47, 52], + id=vim.PerformanceManager.MetricId(counterId=104, instance='vm1'), + ) + ], + ), + ], + [], + ] + ) + realtime_instance.update( + { + 'collect_per_instance_filters': { + 'vm': ['mem.active.avg'], + } + } + ) + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.mem.active.avg', + value=52, + count=1, + hostname='vm1', + tags=['vcenter_server:FAKE', 'instance:vm1'], + ) + + +def test_report_realtime_vm_metrics_runtime_host(aggregator, dd_run_check, realtime_instance, service_instance): + service_instance.content.propertyCollector.RetrievePropertiesEx = mock.MagicMock( + return_value=vim.PropertyCollector.RetrieveResult( + objects=[ + vim.ObjectContent( + obj=vim.HostSystem(moId="host1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='host1', + ), + vmodl.DynamicProperty( + name='parent', + val=vim.Folder(moId="root"), + ), + ], + ), + vim.ObjectContent( + obj=vim.VirtualMachine(moId="vm1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='vm1', + ), + vmodl.DynamicProperty( + name='runtime.powerState', + val=vim.VirtualMachinePowerState.poweredOn, + ), + vmodl.DynamicProperty( + name='runtime.host', + val=vim.HostSystem(moId="host1"), + ), + ], + ), + ], + ) + ) + realtime_instance['excluded_host_tags'] = ['vsphere_host'] + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.cpu.costop.sum', + value=52, + count=1, + hostname='vm1', + tags=['vcenter_server:FAKE', 'vsphere_host:host1'], + ) + + +def test_report_realtime_vm_metrics_runtime_host_not_in_infrastructure( + aggregator, dd_run_check, realtime_instance, service_instance +): + service_instance.content.propertyCollector.RetrievePropertiesEx = mock.MagicMock( + return_value=vim.PropertyCollector.RetrieveResult( + objects=[ + vim.ObjectContent( + obj=vim.HostSystem(moId="host1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='host1', + ), + vmodl.DynamicProperty( + name='parent', + val=vim.Folder(moId="root"), + ), + ], + ), + vim.ObjectContent( + obj=vim.VirtualMachine(moId="vm1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='vm1', + ), + vmodl.DynamicProperty( + name='runtime.powerState', + val=vim.VirtualMachinePowerState.poweredOn, + ), + vmodl.DynamicProperty( + name='runtime.host', + val=vim.HostSystem(moId="host2"), + ), + ], + ), + ], + ) + ) + realtime_instance['excluded_host_tags'] = ['vsphere_host'] + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.cpu.costop.sum', + value=52, + count=1, + hostname='vm1', + tags=['vcenter_server:FAKE', 'vsphere_host:unknown'], + ) + + +def test_report_realtime_vm_metrics_guest_hostname(aggregator, dd_run_check, realtime_instance, service_instance): + service_instance.content.propertyCollector.RetrievePropertiesEx = mock.MagicMock( + return_value=vim.PropertyCollector.RetrieveResult( + objects=[ + vim.ObjectContent( + obj=vim.VirtualMachine(moId="vm1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='vm1', + ), + vmodl.DynamicProperty( + name='runtime.powerState', + val=vim.VirtualMachinePowerState.poweredOn, + ), + ], + ), + vim.ObjectContent( + obj=vim.VirtualMachine(moId="vm2"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='vm2', + ), + vmodl.DynamicProperty( + name='guest.hostName', + val='guest_vm2', + ), + vmodl.DynamicProperty( + name='runtime.powerState', + val=vim.VirtualMachinePowerState.poweredOn, + ), + ], + ), + ], + ) + ) + realtime_instance['use_guest_hostname'] = True + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.cpu.costop.sum', + value=52, + count=1, + hostname='vm1', + tags=['vcenter_server:FAKE'], + ) + aggregator.assert_metric( + 'vsphere.cpu.costop.sum', + value=11, + count=1, + hostname='guest_vm2', + tags=['vcenter_server:FAKE'], + ) + + +def test_report_realtime_vm_metrics_excluded_host_tags(aggregator, dd_run_check, realtime_instance): + realtime_instance['excluded_host_tags'] = ['vsphere_type'] + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.cpu.costop.sum', + value=52, + count=1, + hostname='vm1', + tags=['vcenter_server:FAKE', 'vsphere_type:vm'], + ) + aggregator.assert_metric( + 'vsphere.cpu.costop.sum', + value=11, + count=1, + hostname='vm2', + tags=['vcenter_server:FAKE', 'vsphere_type:vm'], + ) + + +def test_report_realtime_vm_metrics_filtered(aggregator, dd_run_check, realtime_instance, service_instance): + service_instance.content.perfManager.QueryPerf = mock.MagicMock( + side_effect=[ + [ + vim.PerformanceManager.EntityMetric( + entity=vim.VirtualMachine(moId="vm1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[47, 52], + id=vim.PerformanceManager.MetricId(counterId=103), + ) + ], + ), + vim.PerformanceManager.EntityMetric( + entity=vim.VirtualMachine(moId="vm2"), + value=[ + vim.PerformanceManager.IntSeries( + value=[30, 11], + id=vim.PerformanceManager.MetricId(counterId=103), + ) + ], + ), + ], + [], + ] + ) + realtime_instance['metric_filters'] = {'vm': ['cpu.maxlimited.sum']} + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + aggregator.assert_metric('vsphere.cpu.costop.sum', count=0) + + +def test_report_realtime_vm_metrics_whitelisted(aggregator, dd_run_check, realtime_instance, service_instance): + service_instance.content.perfManager.QueryPerf = mock.MagicMock( + side_effect=[ + [ + vim.PerformanceManager.EntityMetric( + entity=vim.VirtualMachine(moId="vm1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[47, 52], + id=vim.PerformanceManager.MetricId(counterId=103), + ) + ], + ), + vim.PerformanceManager.EntityMetric( + entity=vim.VirtualMachine(moId="vm2"), + value=[ + vim.PerformanceManager.IntSeries( + value=[30, 11], + id=vim.PerformanceManager.MetricId(counterId=103), + ) + ], + ), + ], + [], + ] + ) + service_instance.content.propertyCollector.RetrievePropertiesEx = mock.MagicMock( + return_value=vim.PropertyCollector.RetrieveResult( + objects=[ + vim.ObjectContent( + obj=vim.VirtualMachine(moId="vm1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='vm1', + ), + vmodl.DynamicProperty( + name='runtime.powerState', + val=vim.VirtualMachinePowerState.poweredOn, + ), + ], + ), + vim.ObjectContent( + obj=vim.VirtualMachine(moId="vm2"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='vm2', + ), + vmodl.DynamicProperty( + name='runtime.powerState', + val=vim.VirtualMachinePowerState.poweredOn, + ), + ], + ), + ] + ) + ) + realtime_instance['resource_filters'] = [ + { + 'type': 'whitelist', + 'resource': 'vm', + 'property': 'name', + 'patterns': [ + 'vm1.*', + ], + } + ] + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + aggregator.assert_metric('vsphere.cpu.costop.sum', count=1) + + +def test_report_realtime_vm_metrics_blacklisted(aggregator, dd_run_check, realtime_instance, service_instance): + service_instance.content.perfManager.QueryPerf = mock.MagicMock( + side_effect=[ + [ + vim.PerformanceManager.EntityMetric( + entity=vim.VirtualMachine(moId="vm1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[47, 52], + id=vim.PerformanceManager.MetricId(counterId=103), + ) + ], + ), + vim.PerformanceManager.EntityMetric( + entity=vim.VirtualMachine(moId="vm2"), + value=[ + vim.PerformanceManager.IntSeries( + value=[30, 11], + id=vim.PerformanceManager.MetricId(counterId=103), + ) + ], + ), + ], + [], + ] + ) + service_instance.content.propertyCollector.RetrievePropertiesEx = mock.MagicMock( + return_value=vim.PropertyCollector.RetrieveResult( + objects=[ + vim.ObjectContent( + obj=vim.VirtualMachine(moId="vm1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='vm1', + ), + vmodl.DynamicProperty( + name='runtime.powerState', + val=vim.VirtualMachinePowerState.poweredOn, + ), + ], + ), + vim.ObjectContent( + obj=vim.VirtualMachine(moId="vm2"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='vm2', + ), + vmodl.DynamicProperty( + name='runtime.powerState', + val=vim.VirtualMachinePowerState.poweredOn, + ), + ], + ), + ] + ) + ) + realtime_instance['resource_filters'] = [ + { + 'type': 'blacklist', + 'resource': 'vm', + 'property': 'name', + 'patterns': [ + 'vm.*', + ], + } + ] + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + aggregator.assert_metric('vsphere.cpu.costop.sum', count=0) + + +def test_report_realtime_vm_metrics_powered_off(aggregator, dd_run_check, realtime_instance, service_instance): + service_instance.content.propertyCollector.RetrievePropertiesEx = mock.MagicMock( + return_value=vim.PropertyCollector.RetrieveResult( + objects=[ + vim.ObjectContent( + obj=vim.VirtualMachine(moId="vm1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='vm1', + ), + vmodl.DynamicProperty( + name='runtime.powerState', + val=vim.VirtualMachinePowerState.poweredOff, + ), + ], + ), + ] + ) + ) + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + aggregator.assert_metric( + name='vsphere.cpu.costop.sum', + count=0, + ) + + +@pytest.mark.usefixtures('mock_http_api') +def test_vm_hostname_suffix_tag(aggregator, caplog, dd_run_check, realtime_instance, service_instance): + caplog.set_level(logging.DEBUG) + realtime_instance.update( + { + 'collect_tags': True, + 'vm_hostname_suffix_tag': 'my_cat_name_1', + 'excluded_host_tags': ['my_cat_name_1', 'my_cat_name_2'], + } + ) + service_instance.content.propertyCollector.RetrievePropertiesEx = mock.MagicMock( + return_value=vim.PropertyCollector.RetrieveResult( + objects=[ + vim.ObjectContent( + obj=vim.VirtualMachine(moId="vm1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='vm1', + ), + vmodl.DynamicProperty( + name='runtime.powerState', + val=vim.VirtualMachinePowerState.poweredOn, + ), + ], + ), + vim.ObjectContent( + obj=vim.VirtualMachine(moId="vm2"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='vm2', + ), + vmodl.DynamicProperty( + name='runtime.powerState', + val=vim.VirtualMachinePowerState.poweredOn, + ), + ], + ), + ] + ) + ) + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + aggregator.assert_metric( + name='vsphere.cpu.costop.sum', + count=1, + value=52, + tags=[ + 'my_cat_name_1:my_tag_name_1', + 'my_cat_name_2:my_tag_name_2', + 'vcenter_server:FAKE', + ], + hostname='vm1-my_tag_name_1', + ) + assert "Attached hostname suffix key my_cat_name_1, new hostname: vm1-my_tag_name_1" in caplog.text + assert "Could not attach hostname suffix key my_cat_name_1 for host: vm2" in caplog.text + + +@pytest.mark.usefixtures('mock_http_api') +def test_vm_hostname_suffix_tag_integration(aggregator, caplog, dd_run_check, realtime_instance, service_instance): + caplog.set_level(logging.DEBUG) + realtime_instance.update( + { + 'collect_tags': True, + 'vm_hostname_suffix_tag': 'vsphere_host', + 'excluded_host_tags': ['my_cat_name_1', 'my_cat_name_2'], + } + ) + service_instance.content.propertyCollector.RetrievePropertiesEx = mock.MagicMock( + return_value=vim.PropertyCollector.RetrieveResult( + objects=[ + vim.ObjectContent( + obj=vim.HostSystem(moId="host1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='host1', + ), + vmodl.DynamicProperty( + name='parent', + val=vim.Folder(moId="root"), + ), + ], + ), + vim.ObjectContent( + obj=vim.VirtualMachine(moId="vm1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='vm1', + ), + vmodl.DynamicProperty( + name='runtime.powerState', + val=vim.VirtualMachinePowerState.poweredOn, + ), + vmodl.DynamicProperty( + name='runtime.host', + val=vim.HostSystem(moId="host1"), + ), + ], + ), + vim.ObjectContent( + obj=vim.VirtualMachine(moId="vm2"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='vm2', + ), + vmodl.DynamicProperty( + name='runtime.powerState', + val=vim.VirtualMachinePowerState.poweredOn, + ), + ], + ), + ] + ) + ) + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + aggregator.assert_metric( + name='vsphere.cpu.costop.sum', + count=1, + value=52, + tags=[ + 'my_cat_name_1:my_tag_name_1', + 'my_cat_name_2:my_tag_name_2', + 'vcenter_server:FAKE', + ], + hostname='vm1-host1', + ) + assert "Attached hostname suffix key vsphere_host, new hostname: vm1-host1" in caplog.text + + +@pytest.mark.usefixtures('mock_http_api') +def test_vm_hostname_suffix_tag_custom(aggregator, caplog, dd_run_check, realtime_instance, service_instance): + caplog.set_level(logging.DEBUG) + realtime_instance.update( + { + 'collect_tags': True, + 'vm_hostname_suffix_tag': 'test', + 'tags': ['test:tag_name'], + }, + ) + service_instance.content.propertyCollector.RetrievePropertiesEx = mock.MagicMock( + return_value=vim.PropertyCollector.RetrieveResult( + objects=[ + vim.ObjectContent( + obj=vim.HostSystem(moId="host1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='host1', + ), + vmodl.DynamicProperty( + name='parent', + val=vim.Folder(moId="root"), + ), + ], + ), + vim.ObjectContent( + obj=vim.VirtualMachine(moId="vm1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='vm1', + ), + vmodl.DynamicProperty( + name='runtime.powerState', + val=vim.VirtualMachinePowerState.poweredOn, + ), + vmodl.DynamicProperty( + name='runtime.host', + val=vim.HostSystem(moId="host1"), + ), + ], + ), + vim.ObjectContent( + obj=vim.VirtualMachine(moId="vm2"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='vm2', + ), + vmodl.DynamicProperty( + name='runtime.powerState', + val=vim.VirtualMachinePowerState.poweredOn, + ), + ], + ), + ] + ) + ) + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + aggregator.assert_metric( + name='vsphere.cpu.costop.sum', + count=1, + value=52, + tags=['test:tag_name', 'vcenter_server:FAKE'], + hostname='vm1-tag_name', + ) + assert "Attached hostname suffix key test, new hostname: vm1-tag_name" in caplog.text + + +def test_report_realtime_host_count(aggregator, dd_run_check, realtime_instance): + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.host.count', + count=1, + value=1, + tags=['vcenter_server:FAKE', 'vsphere_type:host'], + ) + + +def test_report_realtime_host_metrics(aggregator, dd_run_check, realtime_instance): + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.cpu.costop.sum', + value=61, + count=1, + hostname='host1', + tags=['vcenter_server:FAKE'], + ) + + +def test_report_realtime_host_metrics_filtered(aggregator, dd_run_check, realtime_instance, service_instance): + service_instance.content.perfManager.QueryPerf = mock.MagicMock( + side_effect=[ + [ + vim.PerformanceManager.EntityMetric( + entity=vim.HostSystem(moId="host1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[47, 52], + id=vim.PerformanceManager.MetricId(counterId=103), + ) + ], + ), + ], + [], + ] + ) + realtime_instance['metric_filters'] = {'host': ['cpu.maxlimited.sum']} + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + aggregator.assert_metric('vsphere.cpu.costop.sum', count=0) + + +def test_report_realtime_host_metrics_whitelisted(aggregator, dd_run_check, realtime_instance, service_instance): + service_instance.content.perfManager.QueryPerf = mock.MagicMock( + side_effect=[ + [ + vim.PerformanceManager.EntityMetric( + entity=vim.HostSystem(moId="host1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[47, 52], + id=vim.PerformanceManager.MetricId(counterId=103), + ) + ], + ), + vim.PerformanceManager.EntityMetric( + entity=vim.HostSystem(moId="host2"), + value=[ + vim.PerformanceManager.IntSeries( + value=[47, 61], + id=vim.PerformanceManager.MetricId(counterId=103), + ) + ], + ), + ], + [], + ] + ) + service_instance.content.propertyCollector.RetrievePropertiesEx = mock.MagicMock( + return_value=vim.PropertyCollector.RetrieveResult( + objects=[ + vim.ObjectContent( + obj=vim.HostSystem(moId="host1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='host1', + ), + ], + ), + vim.ObjectContent( + obj=vim.HostSystem(moId="host2"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='host2', + ), + ], + ), + ] + ) + ) + realtime_instance['resource_filters'] = [ + { + 'type': 'whitelist', + 'resource': 'host', + 'property': 'name', + 'patterns': [ + 'host1.*', + ], + } + ] + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + aggregator.assert_metric('vsphere.cpu.costop.sum', count=1) + + +def test_report_realtime_host_metrics_blacklisted(aggregator, dd_run_check, realtime_instance, service_instance): + service_instance.content.perfManager.QueryPerf = mock.MagicMock( + side_effect=[ + [ + vim.PerformanceManager.EntityMetric( + entity=vim.HostSystem(moId="host1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[47, 52], + id=vim.PerformanceManager.MetricId(counterId=103), + ) + ], + ), + vim.PerformanceManager.EntityMetric( + entity=vim.HostSystem(moId="host2"), + value=[ + vim.PerformanceManager.IntSeries( + value=[47, 61], + id=vim.PerformanceManager.MetricId(counterId=103), + ) + ], + ), + ], + [], + ] + ) + service_instance.content.propertyCollector.RetrievePropertiesEx = mock.MagicMock( + return_value=vim.PropertyCollector.RetrieveResult( + objects=[ + vim.ObjectContent( + obj=vim.HostSystem(moId="host1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='host1', + ), + ], + ), + vim.ObjectContent( + obj=vim.HostSystem(moId="host2"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='host2', + ), + ], + ), + ] + ) + ) + realtime_instance['resource_filters'] = [ + { + 'type': 'blacklist', + 'resource': 'host', + 'property': 'name', + 'patterns': [ + 'host.*', + ], + } + ] + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + aggregator.assert_metric('vsphere.cpu.costop.sum', count=0) + + +def test_report_historical_datacenter_count(aggregator, dd_run_check, historical_instance): + check = VSphereCheck('vsphere', {}, [historical_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.datacenter.count', + count=1, + value=1, + tags=['vcenter_server:FAKE', 'vsphere_datacenter:dc1', 'vsphere_type:datacenter'], + ) + + +def test_report_historical_datacenter_metrics(aggregator, dd_run_check, historical_instance): + check = VSphereCheck('vsphere', {}, [historical_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.vmop.numChangeDS.latest', + count=1, + value=7, + tags=['vcenter_server:FAKE', 'vsphere_datacenter:dc1', 'vsphere_type:datacenter'], + ) + + +def test_report_historical_datacenter_in_folder_metrics( + aggregator, dd_run_check, historical_instance, service_instance +): + service_instance.content.rootFolder = mock.MagicMock(return_value=vim.Folder(moId="root")) + service_instance.content.propertyCollector.RetrievePropertiesEx = mock.MagicMock( + return_value=vim.PropertyCollector.RetrieveResult( + objects=[ + vim.ObjectContent( + obj=vim.Folder(moId="folder1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='folder1', + ), + vmodl.DynamicProperty( + name='parent', + val=vim.Folder(moId="root"), + ), + ], + ), + vim.ObjectContent( + obj=vim.Datacenter(moId="dc1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='dc1', + ), + vmodl.DynamicProperty( + name='parent', + val=vim.Folder(moId="folder1"), + ), + ], + ), + ] + ) + ) + service_instance.content.perfManager.QueryPerf = mock.MagicMock( + side_effect=[ + [ + vim.PerformanceManager.EntityMetric( + entity=vim.Datacenter(moId="dc1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[1, 7], + id=vim.PerformanceManager.MetricId( + counterId=102, + instance='dc1', + ), + ) + ], + ), + ] + ] + ) + check = VSphereCheck('vsphere', {}, [historical_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.vmop.numChangeDS.latest', + count=1, + value=7, + tags=[ + 'vcenter_server:FAKE', + 'vsphere_datacenter:dc1', + 'vsphere_folder:folder1', + 'vsphere_folder:unknown', + 'vsphere_type:datacenter', + ], + ) + + +def test_report_historical_datacenter_in_storagepod_metrics( + aggregator, dd_run_check, historical_instance, service_instance +): + service_instance.content.rootFolder = mock.MagicMock(return_value=vim.Folder(moId="root")) + service_instance.content.propertyCollector.RetrievePropertiesEx = mock.MagicMock( + return_value=vim.PropertyCollector.RetrieveResult( + objects=[ + vim.ObjectContent( + obj=vim.StoragePod(moId="pod1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='pod1', + ), + vmodl.DynamicProperty( + name='parent', + val=vim.Folder(moId="root"), + ), + ], + ), + vim.ObjectContent( + obj=vim.Datacenter(moId="dc1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='dc1', + ), + vmodl.DynamicProperty( + name='parent', + val=vim.StoragePod(moId="pod1"), + ), + ], + ), + ] + ) + ) + service_instance.content.perfManager.QueryPerf = mock.MagicMock( + side_effect=[ + [ + vim.PerformanceManager.EntityMetric( + entity=vim.Datacenter(moId="dc1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[1, 7], + id=vim.PerformanceManager.MetricId( + counterId=102, + instance='dc1', + ), + ) + ], + ), + ] + ] + ) + check = VSphereCheck('vsphere', {}, [historical_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.vmop.numChangeDS.latest', + count=1, + value=7, + tags=[ + 'vcenter_server:FAKE', + 'vsphere_datacenter:dc1', + 'vsphere_datastore_cluster:pod1', + 'vsphere_folder:pod1', + 'vsphere_folder:unknown', + 'vsphere_type:datacenter', + ], + ) + + +def test_report_historical_datacenter_in_compute_resource_metrics( + aggregator, dd_run_check, historical_instance, service_instance +): + service_instance.content.rootFolder = mock.MagicMock(return_value=vim.Folder(moId="root")) + service_instance.content.propertyCollector.RetrievePropertiesEx = mock.MagicMock( + return_value=vim.PropertyCollector.RetrieveResult( + objects=[ + vim.ObjectContent( + obj=vim.ComputeResource(moId="cr1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='cr1', + ), + vmodl.DynamicProperty( + name='parent', + val=vim.Folder(moId="root"), + ), + ], + ), + vim.ObjectContent( + obj=vim.Datacenter(moId="dc1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='dc1', + ), + vmodl.DynamicProperty( + name='parent', + val=vim.ComputeResource(moId="cr1"), + ), + ], + ), + ] + ) + ) + service_instance.content.perfManager.QueryPerf = mock.MagicMock( + side_effect=[ + [ + vim.PerformanceManager.EntityMetric( + entity=vim.Datacenter(moId="dc1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[1, 7], + id=vim.PerformanceManager.MetricId( + counterId=102, + instance='dc1', + ), + ) + ], + ), + ] + ] + ) + check = VSphereCheck('vsphere', {}, [historical_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.vmop.numChangeDS.latest', + count=1, + value=7, + tags=[ + 'vcenter_server:FAKE', + 'vsphere_compute:cr1', + 'vsphere_datacenter:dc1', + 'vsphere_folder:unknown', + 'vsphere_type:datacenter', + ], + ) + + +def test_report_historical_datacenter_in_cluster_compute_resource_metrics( + aggregator, dd_run_check, historical_instance, service_instance +): + service_instance.content.rootFolder = mock.MagicMock(return_value=vim.Folder(moId="root")) + service_instance.content.propertyCollector.RetrievePropertiesEx = mock.MagicMock( + return_value=vim.PropertyCollector.RetrieveResult( + objects=[ + vim.ObjectContent( + obj=vim.ClusterComputeResource(moId="ccr1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='ccr1', + ), + vmodl.DynamicProperty( + name='parent', + val=vim.Folder(moId="root"), + ), + ], + ), + vim.ObjectContent( + obj=vim.Datacenter(moId="dc1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='dc1', + ), + vmodl.DynamicProperty( + name='parent', + val=vim.ClusterComputeResource(moId="ccr1"), + ), + ], + ), + ] + ) + ) + service_instance.content.perfManager.QueryPerf = mock.MagicMock( + side_effect=[ + [ + vim.PerformanceManager.EntityMetric( + entity=vim.Datacenter(moId="dc1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[1, 7], + id=vim.PerformanceManager.MetricId( + counterId=102, + instance='dc1', + ), + ) + ], + ), + ] + ] + ) + check = VSphereCheck('vsphere', {}, [historical_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.vmop.numChangeDS.latest', + count=1, + value=7, + tags=[ + 'vcenter_server:FAKE', + 'vsphere_cluster:ccr1', + 'vsphere_compute:ccr1', + 'vsphere_datacenter:dc1', + 'vsphere_folder:unknown', + 'vsphere_type:datacenter', + ], + ) + + +def test_report_historical_datacenter_in_datacenter_resource_metrics( + aggregator, dd_run_check, historical_instance, service_instance +): + service_instance.content.rootFolder = mock.MagicMock(return_value=vim.Folder(moId="root")) + service_instance.content.propertyCollector.RetrievePropertiesEx = mock.MagicMock( + return_value=vim.PropertyCollector.RetrieveResult( + objects=[ + vim.ObjectContent( + obj=vim.Datacenter(moId="dc0"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='dc0', + ), + vmodl.DynamicProperty( + name='parent', + val=vim.Folder(moId="root"), + ), + ], + ), + vim.ObjectContent( + obj=vim.Datacenter(moId="dc1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='dc1', + ), + vmodl.DynamicProperty( + name='parent', + val=vim.Datacenter(moId="dc0"), + ), + ], + ), + ] + ) + ) + service_instance.content.perfManager.QueryPerf = mock.MagicMock( + side_effect=[ + [ + vim.PerformanceManager.EntityMetric( + entity=vim.Datacenter(moId="dc1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[1, 7], + id=vim.PerformanceManager.MetricId( + counterId=102, + instance='dc1', + ), + ) + ], + ), + ] + ] + ) + check = VSphereCheck('vsphere', {}, [historical_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.vmop.numChangeDS.latest', + count=1, + value=7, + tags=[ + 'vcenter_server:FAKE', + 'vsphere_datacenter:dc0', + 'vsphere_datacenter:dc1', + 'vsphere_folder:unknown', + 'vsphere_type:datacenter', + ], + ) + + +def test_report_historical_datacenter_in_datastore_resource_metrics( + aggregator, dd_run_check, historical_instance, service_instance +): + service_instance.content.rootFolder = mock.MagicMock(return_value=vim.Folder(moId="root")) + service_instance.content.propertyCollector.RetrievePropertiesEx = mock.MagicMock( + return_value=vim.PropertyCollector.RetrieveResult( + objects=[ + vim.ObjectContent( + obj=vim.Datastore(moId="ds0"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='ds0', + ), + vmodl.DynamicProperty( + name='parent', + val=vim.Folder(moId="root"), + ), + ], + ), + vim.ObjectContent( + obj=vim.Datacenter(moId="dc1"), + propSet=[ + vmodl.DynamicProperty( + name='name', + val='dc1', + ), + vmodl.DynamicProperty( + name='parent', + val=vim.Datastore(moId="ds0"), + ), + ], + ), + ] + ) + ) + service_instance.content.perfManager.QueryPerf = mock.MagicMock( + side_effect=[ + [ + vim.PerformanceManager.EntityMetric( + entity=vim.Datacenter(moId="dc1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[1, 7], + id=vim.PerformanceManager.MetricId( + counterId=102, + instance='dc1', + ), + ) + ], + ), + ] + ] + ) + check = VSphereCheck('vsphere', {}, [historical_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.vmop.numChangeDS.latest', + count=1, + value=7, + tags=[ + 'vcenter_server:FAKE', + 'vsphere_datacenter:dc1', + 'vsphere_datastore:ds0', + 'vsphere_folder:unknown', + 'vsphere_type:datacenter', + ], + ) + + +def test_report_historical_datastore_count(aggregator, dd_run_check, historical_instance): + check = VSphereCheck('vsphere', {}, [historical_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.datastore.count', + count=1, + value=1, + tags=['vcenter_server:FAKE', 'vsphere_datastore:ds1', 'vsphere_type:datastore'], + ) + + +def test_report_historical_datastore_metrics(aggregator, dd_run_check, historical_instance): + check = VSphereCheck('vsphere', {}, [historical_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.datastore.busResets.sum', + count=1, + value=5, + tags=['vcenter_server:FAKE', 'vsphere_datastore:ds1', 'vsphere_type:datastore'], + ) + + +def test_report_historical_cluster_count(aggregator, dd_run_check, historical_instance): + check = VSphereCheck('vsphere', {}, [historical_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.cluster.count', + count=1, + value=1, + tags=['vcenter_server:FAKE', 'vsphere_cluster:c1', 'vsphere_type:cluster'], + ) + + +def test_report_historical_cluster_metrics(aggregator, dd_run_check, historical_instance): + check = VSphereCheck('vsphere', {}, [historical_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.cpu.totalmhz.avg', + count=1, + value=5, + tags=['vcenter_server:FAKE', 'vsphere_cluster:c1', 'vsphere_type:cluster'], + ) + + +def test_rest_api_tags_session_exception(aggregator, dd_run_check, historical_instance, mock_http_api): + if VSPHERE_VERSION.startswith('7.'): + mock_http_api.exceptions = {'api/session': Exception()} + else: + mock_http_api.exceptions = {'rest/com/vmware/cis/session': Exception()} + historical_instance['collect_tags'] = True + check = VSphereCheck('vsphere', {}, [historical_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.datastore.busResets.sum', + count=1, + value=5, + tags=[ + 'vcenter_server:FAKE', + 'vsphere_datastore:ds1', + 'vsphere_type:datastore', + ], + ) + + +def test_rest_api_tags_tag_association_exception(aggregator, dd_run_check, historical_instance, mock_http_api): + if VSPHERE_VERSION.startswith('7.'): + mock_http_api.exceptions = {'api/cis/tagging/tag-association?action=list-attached-tags-on-objects': Exception()} + else: + mock_http_api.exceptions = { + 'rest/com/vmware/cis/tagging/tag-association?~action=list-attached-tags-on-objects': Exception() + } + historical_instance['collect_tags'] = True + check = VSphereCheck('vsphere', {}, [historical_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.datastore.busResets.sum', + count=1, + value=5, + tags=[ + 'vcenter_server:FAKE', + 'vsphere_datastore:ds1', + 'vsphere_type:datastore', + ], + ) + + +@pytest.mark.usefixtures('mock_http_api') +def test_report_historical_metrics_with_tags(aggregator, dd_run_check, historical_instance): + historical_instance['collect_tags'] = True + check = VSphereCheck('vsphere', {}, [historical_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.datastore.busResets.sum', + count=1, + value=5, + tags=[ + 'my_cat_name_2:my_tag_name_2', + 'vcenter_server:FAKE', + 'vsphere_datastore:ds1', + 'vsphere_type:datastore', + ], + ) + + +@pytest.mark.parametrize( + ('instance', 'query_options', 'extra_instance', 'expected_metrics'), + [ + pytest.param( + REALTIME_INSTANCE, + [mock.MagicMock(value=DEFAULT_MAX_QUERY_METRICS)], + {}, + [ + { + 'name': 'vsphere.cpu.costop.sum', + 'count': 1, + 'value': 61, + 'hostname': 'host1', + 'tags': [ + 'vcenter_server:FAKE', + ], + }, + ], + id='New version.Realtime.Valid value', + ), + pytest.param( + HISTORICAL_INSTANCE, + [mock.MagicMock(value=DEFAULT_MAX_QUERY_METRICS)], + {}, + [ + { + 'name': 'vsphere.vmop.numChangeDS.latest', + 'count': 1, + 'value': 7, + 'tags': [ + 'vcenter_server:FAKE', + 'vsphere_datacenter:dc1', + 'vsphere_type:datacenter', + ], + }, + ], + id='New version.Historical.Valid value', + ), + pytest.param( + REALTIME_INSTANCE, + [Exception()], + {}, + [ + { + 'name': 'vsphere.cpu.costop.sum', + 'count': 1, + 'value': 61, + 'hostname': 'host1', + 'tags': [ + 'vcenter_server:FAKE', + ], + }, + ], + id='New version.Realtime.Exception', + ), + pytest.param( + HISTORICAL_INSTANCE, + [Exception()], + {}, + [ + { + 'name': 'vsphere.vmop.numChangeDS.latest', + 'count': 1, + 'value': 7, + 'tags': [ + 'vcenter_server:FAKE', + 'vsphere_datacenter:dc1', + 'vsphere_type:datacenter', + ], + }, + ], + id='New version.Historical.Exception', + ), + pytest.param( + HISTORICAL_INSTANCE, + [mock.MagicMock(value=DEFAULT_MAX_QUERY_METRICS)], + {'max_historical_metrics': DEFAULT_MAX_QUERY_METRICS + 10}, + [ + { + 'name': 'vsphere.vmop.numChangeDS.latest', + 'count': 1, + 'value': 7, + 'tags': [ + 'vcenter_server:FAKE', + 'vsphere_datacenter:dc1', + 'vsphere_type:datacenter', + ], + }, + ], + id='New version.Historical.Valid value.\'max_historical_metrics\' bigger', + ), + pytest.param( + HISTORICAL_INSTANCE, + [mock.MagicMock(value=DEFAULT_MAX_QUERY_METRICS)], + {'metrics_per_query': -1}, + [ + { + 'name': 'vsphere.vmop.numChangeDS.latest', + 'count': 1, + 'value': 7, + 'tags': [ + 'vcenter_server:FAKE', + 'vsphere_datacenter:dc1', + 'vsphere_type:datacenter', + ], + }, + ], + id='New version.Historical.Valid value.\'metrics_per_query\' negative', + ), + ], +) +def test_max_query_metrics( + aggregator, + dd_run_check, + service_instance, + mock_rest_api, + instance, + query_options, + extra_instance, + expected_metrics, +): + service_instance.content.setting.QueryOptions = mock.MagicMock(return_value=query_options) + + instance['fix_max_query_metrics'] = True + instance.update(extra_instance) + check = VSphereCheck('vsphere', {}, [instance]) + dd_run_check(check) + for expected_metric in expected_metrics: + aggregator.assert_metric( + expected_metric.get('name'), + count=expected_metric.get('count'), + value=expected_metric.get('value'), + hostname=expected_metric.get('hostname'), + tags=expected_metric.get('tags'), + ) + + +@pytest.mark.parametrize( + ('extra_instance', 'expected_exception', 'expected_warning_message'), + [ + pytest.param( + { + 'ssl_verify': False, + 'ssl_capath': '/dummy/path', + }, + does_not_raise(), + 'Your configuration is incorrectly attempting to specify both a CA path, ' + 'and to disable SSL verification. You cannot do both. Proceeding with disabling ssl verification.', + id='\'ssl_verify\' set to False and \'ssl_capath\' configured', + ), + pytest.param( + { + 'collection_type': 'invalid', + }, + pytest.raises( + ConfigurationError, + match="Your configuration is incorrectly attempting to " "set the `collection_type` to ", + ), + None, + id='\'collection_type\' set to invalid value', + ), + pytest.param( + { + 'collection_level': 0, + }, + pytest.raises( + ConfigurationError, + match="Your configuration is incorrectly attempting to set the collection_level to something different" + " than a integer between 1 and 4.", + ), + None, + id='\'collection_level\' set to invalid value', + ), + ], +) +def test_validate_config_errors(default_instance, extra_instance, expected_exception, expected_warning_message, caplog): + default_instance.update(extra_instance) + with expected_exception: + VSphereCheck('vsphere', {}, [default_instance]) + if expected_warning_message: + assert expected_warning_message in caplog.text + + +def test_two_checks(aggregator, dd_run_check, realtime_instance, get_timestamp): + get_timestamp.side_effect = [0, 0, 1000] + check = VSphereCheck('vsphere', {}, [realtime_instance]) + dd_run_check(check) + dd_run_check(check) + get_timestamp.call_count == 3 diff --git a/vsphere/tests/test_unit_legacy.py b/vsphere/tests/test_unit_legacy.py new file mode 100644 index 0000000000000..ad98fb840a5af --- /dev/null +++ b/vsphere/tests/test_unit_legacy.py @@ -0,0 +1,779 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) +import mock +import pytest +from pyVmomi import vim + +from datadog_checks.base import AgentCheck +from datadog_checks.base.utils.time import get_current_datetime +from datadog_checks.vsphere import VSphereCheck + +from .common import EVENTS, LEGACY_HISTORICAL_INSTANCE + +pytestmark = [pytest.mark.unit] + + +def test_log_deprecation_warning(dd_run_check, caplog, legacy_default_instance): + check = VSphereCheck('vsphere', {}, [legacy_default_instance]) + dd_run_check(check) + deprecation_message = 'DEPRECATION NOTICE: You are using a deprecated version of the vSphere integration.' + assert deprecation_message in caplog.text + + +def test_connection_exception(aggregator, dd_run_check, legacy_default_instance, connect_exception): + with pytest.raises(Exception): + check = VSphereCheck('vsphere', {}, [legacy_default_instance]) + dd_run_check(check) + aggregator.assert_service_check( + 'vcenter.can_connect', + AgentCheck.CRITICAL, + tags=['vcenter_host:FAKE', 'vcenter_server:vsphere_mock'], + ) + assert len(aggregator._metrics) == 0 + assert len(aggregator.events) == 0 + assert connect_exception.call_count == 1 + + +def test_connection_ok(aggregator, dd_run_check, legacy_default_instance): + check = VSphereCheck('vsphere', {}, [legacy_default_instance]) + dd_run_check(check) + aggregator.assert_service_check( + 'vcenter.can_connect', + AgentCheck.OK, + tags=['vcenter_host:FAKE', 'vcenter_server:vsphere_mock'], + ) + + +def test_metadata(datadog_agent, aggregator, dd_run_check, legacy_default_instance): + check = VSphereCheck('vsphere', {}, [legacy_default_instance]) + check.check_id = 'test:123' + dd_run_check(check) + datadog_agent.assert_metadata_count(0) + + +def test_event_exception(aggregator, dd_run_check, legacy_default_instance, service_instance): + service_instance.content.eventManager.QueryEvents = mock.MagicMock(side_effect=[Exception()]) + check = VSphereCheck('vsphere', {}, [legacy_default_instance]) + dd_run_check(check) + aggregator.assert_service_check( + 'vcenter.can_connect', + AgentCheck.CRITICAL, + count=0, + ) + assert len(aggregator.events) == 0 + assert service_instance.content.eventManager.QueryEvents.call_count == 1 + + +def test_two_events(aggregator, dd_run_check, legacy_default_instance, service_instance): + check = VSphereCheck('vsphere', {}, [legacy_default_instance]) + dd_run_check(check) + assert len(aggregator.events) == 2 + assert service_instance.content.eventManager.QueryEvents.call_count == 1 + + +def test_two_calls_to_queryevents(aggregator, dd_run_check, legacy_default_instance, service_instance): + service_instance.content.eventManager.QueryEvents = mock.MagicMock( + side_effect=[ + EVENTS, + [], + ] + ) + check = VSphereCheck('vsphere', {}, [legacy_default_instance]) + dd_run_check(check) + assert len(aggregator.events) == 2 + aggregator.reset() + dd_run_check(check) + assert len(aggregator.events) == 0 + assert service_instance.content.eventManager.QueryEvents.call_count == 2 + + +def test_event_filtered(aggregator, dd_run_check, legacy_default_instance, service_instance): + service_instance.content.eventManager.QueryEvents = mock.MagicMock( + return_value=[ + vim.event.VmDiskFailedEvent( + createdTime=get_current_datetime(), + ), + ] + ) + check = VSphereCheck('vsphere', {}, [legacy_default_instance]) + dd_run_check(check) + assert len(aggregator.events) == 0 + + +def test_event_vm_being_hot_migrated_change_host(aggregator, dd_run_check, legacy_default_instance, service_instance): + service_instance.content.eventManager.QueryEvents = mock.MagicMock( + return_value=[ + vim.event.VmBeingHotMigratedEvent( + createdTime=get_current_datetime(), + userName="datadog", + host=vim.event.HostEventArgument(name="host1"), + destHost=vim.event.HostEventArgument(name="host2"), + datacenter=vim.event.DatacenterEventArgument(name="dc1"), + destDatacenter=vim.event.DatacenterEventArgument(name="dc1"), + ds=vim.event.DatastoreEventArgument(name="ds1"), + destDatastore=vim.event.DatastoreEventArgument(name="ds1"), + vm=vim.event.VmEventArgument(name="vm1"), + ), + ] + ) + check = VSphereCheck('vsphere', {}, [legacy_default_instance]) + dd_run_check(check) + aggregator.assert_event( + """datadog has launched a hot migration of this virtual machine: +- Host MIGRATION: from host1 to host2 +- No datacenter migration: still dc1 +- No datastore migration: still ds1""", + count=1, + msg_title="VM vm1 is being migrated", + host="vm1", + tags=[ + 'vsphere_host:host1', + 'vsphere_host:host2', + 'vsphere_datacenter:dc1', + 'vsphere_datacenter:dc1', + ], + ) + + +def test_event_vm_being_hot_migrated_change_datacenter( + aggregator, dd_run_check, legacy_default_instance, service_instance +): + service_instance.content.eventManager.QueryEvents = mock.MagicMock( + return_value=[ + vim.event.VmBeingHotMigratedEvent( + createdTime=get_current_datetime(), + userName="datadog", + host=vim.event.HostEventArgument(name="host1"), + destHost=vim.event.HostEventArgument(name="host2"), + datacenter=vim.event.DatacenterEventArgument(name="dc1"), + destDatacenter=vim.event.DatacenterEventArgument(name="dc2"), + ds=vim.event.DatastoreEventArgument(name="ds1"), + destDatastore=vim.event.DatastoreEventArgument(name="ds1"), + vm=vim.event.VmEventArgument(name="vm1"), + ), + ] + ) + check = VSphereCheck('vsphere', {}, [legacy_default_instance]) + dd_run_check(check) + aggregator.assert_event( + """datadog has launched a hot migration of this virtual machine: +- Datacenter MIGRATION: from dc1 to dc2 +- Host MIGRATION: from host1 to host2 +- No datastore migration: still ds1""", + count=1, + msg_title="VM vm1 is being migrated", + host="vm1", + tags=[ + 'vsphere_host:host1', + 'vsphere_host:host2', + 'vsphere_datacenter:dc1', + 'vsphere_datacenter:dc2', + ], + ) + + +def test_event_vm_being_hot_migrated_change_datastore( + aggregator, dd_run_check, legacy_default_instance, service_instance +): + service_instance.content.eventManager.QueryEvents = mock.MagicMock( + return_value=[ + vim.event.VmBeingHotMigratedEvent( + createdTime=get_current_datetime(), + userName="datadog", + host=vim.event.HostEventArgument(name="host1"), + destHost=vim.event.HostEventArgument(name="host1"), + datacenter=vim.event.DatacenterEventArgument(name="dc1"), + destDatacenter=vim.event.DatacenterEventArgument(name="dc1"), + ds=vim.event.DatastoreEventArgument(name="ds1"), + destDatastore=vim.event.DatastoreEventArgument(name="ds2"), + vm=vim.event.VmEventArgument(name="vm1"), + ), + ] + ) + check = VSphereCheck('vsphere', {}, [legacy_default_instance]) + dd_run_check(check) + aggregator.assert_event( + """datadog has launched a hot migration of this virtual machine: +- Datastore MIGRATION: from ds1 to ds2 +- No host migration: still host1 +- No datacenter migration: still dc1""", + count=1, + msg_title="VM vm1 is being migrated", + host="vm1", + tags=[ + 'vsphere_host:host1', + 'vsphere_host:host1', + 'vsphere_datacenter:dc1', + 'vsphere_datacenter:dc1', + ], + ) + + +def test_event_alarm_status_changed_excluded(aggregator, dd_run_check, legacy_default_instance, service_instance): + event = vim.event.AlarmStatusChangedEvent( + createdTime=get_current_datetime(), + entity=vim.event.ManagedEntityEventArgument(entity=vim.VirtualMachine(moId="vm1"), name="vm1"), + alarm=vim.event.AlarmEventArgument(name="alarm1"), + to='yellow', + datacenter=vim.event.DatacenterEventArgument(name="dc1"), + fullFormattedMessage="Green to Gray", + ) + setattr(event, 'from', 'green') + service_instance.content.eventManager.QueryEvents = mock.MagicMock(return_value=[event]) + check = VSphereCheck('vsphere', {}, [legacy_default_instance]) + dd_run_check(check) + assert len(aggregator.events) == 0 + + +def test_event_alarm_status_changed_vm(aggregator, dd_run_check, legacy_default_instance, service_instance): + event = vim.event.AlarmStatusChangedEvent( + createdTime=get_current_datetime(), + entity=vim.event.ManagedEntityEventArgument(entity=vim.VirtualMachine(moId="vm1"), name="vm1"), + alarm=vim.event.AlarmEventArgument(name="alarm1"), + to='yellow', + datacenter=vim.event.DatacenterEventArgument(name="dc1"), + fullFormattedMessage="Green to Yellow", + ) + setattr(event, 'from', 'green') + service_instance.content.eventManager.QueryEvents = mock.MagicMock(return_value=[event]) + check = VSphereCheck('vsphere', {}, [legacy_default_instance]) + dd_run_check(check) + aggregator.assert_event( + """vCenter monitor status changed on this alarm, it was green and it's now yellow.""", + count=1, + msg_title="[Triggered] alarm1 on VM vm1 is now yellow", + alert_type="warning", + host="vm1", + ) + + +def test_event_alarm_status_changed_vm_recovered(aggregator, dd_run_check, legacy_default_instance, service_instance): + event = vim.event.AlarmStatusChangedEvent( + createdTime=get_current_datetime(), + entity=vim.event.ManagedEntityEventArgument(entity=vim.VirtualMachine(moId="vm1"), name="vm1"), + alarm=vim.event.AlarmEventArgument(name="alarm1"), + to='green', + datacenter=vim.event.DatacenterEventArgument(name="dc1"), + fullFormattedMessage="Green to Yellow", + ) + setattr(event, 'from', 'red') + service_instance.content.eventManager.QueryEvents = mock.MagicMock(return_value=[event]) + check = VSphereCheck('vsphere', {}, [legacy_default_instance]) + dd_run_check(check) + aggregator.assert_event( + """vCenter monitor status changed on this alarm, it was red and it's now green.""", + count=1, + msg_title="[Recovered] alarm1 on VM vm1 is now green", + alert_type="success", + host="vm1", + ) + + +def test_event_alarm_status_changed_host(aggregator, dd_run_check, legacy_default_instance, service_instance): + event = vim.event.AlarmStatusChangedEvent( + createdTime=get_current_datetime(), + entity=vim.event.ManagedEntityEventArgument(entity=vim.HostSystem(moId="vm1"), name="host1"), + alarm=vim.event.AlarmEventArgument(name="alarm1"), + to='yellow', + datacenter=vim.event.DatacenterEventArgument(name="dc1"), + fullFormattedMessage="Green to Yellow", + ) + setattr(event, 'from', 'green') + service_instance.content.eventManager.QueryEvents = mock.MagicMock(return_value=[event]) + check = VSphereCheck('vsphere', {}, [legacy_default_instance]) + dd_run_check(check) + aggregator.assert_event( + """vCenter monitor status changed on this alarm, it was green and it's now yellow.""", + count=1, + msg_title="[Triggered] alarm1 on host host1 is now yellow", + alert_type="warning", + host="host1", + ) + + +def test_event_alarm_status_changed_other(aggregator, dd_run_check, legacy_default_instance, service_instance): + event = vim.event.AlarmStatusChangedEvent( + createdTime=get_current_datetime(), + entity=vim.event.ManagedEntityEventArgument(entity=vim.Folder(moId="folder1"), name="folder1"), + alarm=vim.event.AlarmEventArgument(name="alarm1"), + to='yellow', + datacenter=vim.event.DatacenterEventArgument(name="dc1"), + fullFormattedMessage="Green to Yellow", + ) + setattr(event, 'from', 'green') + service_instance.content.eventManager.QueryEvents = mock.MagicMock(return_value=[event]) + check = VSphereCheck('vsphere', {}, [legacy_default_instance]) + dd_run_check(check) + assert len(aggregator.events) == 0 + + +def test_event_alarm_status_changed_wrong_from(aggregator, dd_run_check, legacy_default_instance, service_instance): + event = vim.event.AlarmStatusChangedEvent( + createdTime=get_current_datetime(), + entity=vim.event.ManagedEntityEventArgument(entity=vim.VirtualMachine(moId="vm1"), name="vm1"), + alarm=vim.event.AlarmEventArgument(name="alarm1"), + to='yellow', + datacenter=vim.event.DatacenterEventArgument(name="dc1"), + fullFormattedMessage="Green to Yellow", + ) + setattr(event, 'from', 'other') + service_instance.content.eventManager.QueryEvents = mock.MagicMock(return_value=[event]) + check = VSphereCheck('vsphere', {}, [legacy_default_instance]) + dd_run_check(check) + assert len(aggregator.events) == 0 + + +def test_event_alarm_status_changed_wrong_to(aggregator, dd_run_check, legacy_default_instance, service_instance): + event = vim.event.AlarmStatusChangedEvent( + createdTime=get_current_datetime(), + entity=vim.event.ManagedEntityEventArgument(entity=vim.VirtualMachine(moId="vm1"), name="vm1"), + alarm=vim.event.AlarmEventArgument(name="alarm1"), + to='other', + datacenter=vim.event.DatacenterEventArgument(name="dc1"), + fullFormattedMessage="Green to Yellow", + ) + setattr(event, 'from', 'green') + service_instance.content.eventManager.QueryEvents = mock.MagicMock(return_value=[event]) + check = VSphereCheck('vsphere', {}, [legacy_default_instance]) + dd_run_check(check) + assert len(aggregator.events) == 0 + + +def test_event_vm_message(aggregator, dd_run_check, legacy_default_instance, service_instance): + service_instance.content.eventManager.QueryEvents = mock.MagicMock( + return_value=[ + vim.event.VmMessageEvent( + createdTime=get_current_datetime(), + vm=vim.event.VmEventArgument(name="vm1"), + fullFormattedMessage="Event example", + ) + ] + ) + check = VSphereCheck('vsphere', {}, [legacy_default_instance]) + dd_run_check(check) + aggregator.assert_event( + """@@@\nEvent example\n@@@""", + msg_title="VM vm1 is reporting", + host="vm1", + ) + + +def test_event_vm_migrated(aggregator, dd_run_check, legacy_default_instance, service_instance): + service_instance.content.eventManager.QueryEvents = mock.MagicMock( + return_value=[ + vim.event.VmMigratedEvent( + createdTime=get_current_datetime(), + vm=vim.event.VmEventArgument(name="vm1"), + fullFormattedMessage="Event example", + ) + ] + ) + check = VSphereCheck('vsphere', {}, [legacy_default_instance]) + dd_run_check(check) + aggregator.assert_event( + """@@@\nEvent example\n@@@""", + msg_title="VM vm1 has been migrated", + host="vm1", + ) + + +def test_event_task(aggregator, dd_run_check, legacy_default_instance, service_instance): + service_instance.content.eventManager.QueryEvents = mock.MagicMock( + return_value=[ + vim.event.TaskEvent( + createdTime=get_current_datetime(), + fullFormattedMessage="Task completed successfully", + ) + ] + ) + check = VSphereCheck('vsphere', {}, [legacy_default_instance]) + dd_run_check(check) + aggregator.assert_event( + """@@@\nTask completed successfully\n@@@""", + msg_title="TaskEvent", + ) + + +def test_event_vm_powered_on(aggregator, dd_run_check, legacy_default_instance, service_instance): + service_instance.content.eventManager.QueryEvents = mock.MagicMock( + return_value=[ + vim.event.VmPoweredOnEvent( + createdTime=get_current_datetime(), + userName="datadog", + host=vim.event.HostEventArgument(name="host1"), + datacenter=vim.event.DatacenterEventArgument(name="dc1"), + vm=vim.event.VmEventArgument(name="vm1"), + fullFormattedMessage="Virtual machine powered on", + ) + ] + ) + check = VSphereCheck('vsphere', {}, [legacy_default_instance]) + dd_run_check(check) + aggregator.assert_event( + """datadog has powered on this virtual machine. It is running on: +- datacenter: dc1 +- host: host1 +""" + ) + + +def test_event_vm_powered_off(aggregator, dd_run_check, legacy_default_instance, service_instance): + service_instance.content.eventManager.QueryEvents = mock.MagicMock( + return_value=[ + vim.event.VmPoweredOffEvent( + createdTime=get_current_datetime(), + userName="datadog", + host=vim.event.HostEventArgument(name="host1"), + datacenter=vim.event.DatacenterEventArgument(name="dc1"), + vm=vim.event.VmEventArgument(name="vm1"), + fullFormattedMessage="Virtual machine powered off", + ) + ] + ) + check = VSphereCheck('vsphere', {}, [legacy_default_instance]) + dd_run_check(check) + aggregator.assert_event( + """datadog has powered off this virtual machine. It was running on: +- datacenter: dc1 +- host: host1 +""", + count=1, + ) + + +def test_event_vm_reconfigured(aggregator, dd_run_check, legacy_default_instance, service_instance): + service_instance.content.eventManager.QueryEvents = mock.MagicMock( + return_value=[ + vim.event.VmReconfiguredEvent( + createdTime=get_current_datetime(), + userName="datadog", + vm=vim.event.VmEventArgument(name="vm1"), + configSpec=vim.vm.ConfigSpec(), + ) + ] + ) + check = VSphereCheck('vsphere', {}, [legacy_default_instance]) + dd_run_check(check) + aggregator.assert_event( + """datadog saved the new configuration:\n@@@\n""", + count=1, + exact_match=False, + msg_title="VM vm1 configuration has been changed", + host="vm1", + ) + + +def test_event_vm_suspended(aggregator, dd_run_check, legacy_default_instance, service_instance): + service_instance.content.eventManager.QueryEvents = mock.MagicMock( + return_value=[ + vim.event.VmSuspendedEvent( + createdTime=get_current_datetime(), + userName="datadog", + host=vim.event.HostEventArgument(name="host1"), + datacenter=vim.event.DatacenterEventArgument(name="dc1"), + vm=vim.event.VmEventArgument(name="vm1"), + ) + ] + ) + check = VSphereCheck('vsphere', {}, [legacy_default_instance]) + dd_run_check(check) + aggregator.assert_event( + """datadog has suspended this virtual machine. It was running on: +- datacenter: dc1 +- host: host1 +""", + count=1, + msg_title="VM vm1 has been SUSPENDED", + host="vm1", + ) + + +def test_report_realtime_vm_count(aggregator, dd_run_check, legacy_realtime_instance, service_instance): + check = VSphereCheck('vsphere', {}, [legacy_realtime_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.vm.count', + count=1, + value=2, + tags=[ + 'vcenter_server:vsphere_mock', + ], + ) + + +def test_report_realtime_vm_metrics(aggregator, dd_run_check, legacy_realtime_instance, service_instance): + check = VSphereCheck('vsphere', {}, [legacy_realtime_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.cpu.costop.sum', + value=52, + count=1, + hostname='vm1', + tags=[ + 'instance:none', + ], + ) + aggregator.assert_metric( + 'vsphere.cpu.costop.sum', + value=11, + count=1, + hostname='vm2', + tags=[ + 'instance:none', + ], + ) + + +def test_report_realtime_vm_metrics_invalid_value(aggregator, dd_run_check, legacy_realtime_instance, service_instance): + service_instance.content.perfManager.QueryPerf = mock.MagicMock( + return_value=[ + vim.PerformanceManager.EntityMetric( + entity=vim.VirtualMachine(moId="vm1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[-3], + id=vim.PerformanceManager.MetricId(counterId=103), + ) + ], + ), + ] + ) + check = VSphereCheck('vsphere', {}, [legacy_realtime_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.cpu.costop.sum', + count=0, + ) + + +def test_report_realtime_vm_metrics_empty_value(aggregator, dd_run_check, legacy_realtime_instance, service_instance): + service_instance.content.perfManager.QueryPerf = mock.MagicMock( + return_value=[ + vim.PerformanceManager.EntityMetric( + entity=vim.VirtualMachine(moId="vm1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[], + id=vim.PerformanceManager.MetricId(counterId=103), + ) + ], + ), + ] + ) + check = VSphereCheck('vsphere', {}, [legacy_realtime_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.cpu.costop.sum', + count=0, + ) + + +def test_report_realtime_vm_metrics_counter_id_not_found( + aggregator, dd_run_check, legacy_realtime_instance, service_instance +): + service_instance.content.perfManager.QueryPerf = mock.MagicMock( + return_value=[ + vim.PerformanceManager.EntityMetric( + entity=vim.VirtualMachine(moId="vm1"), + value=[ + vim.PerformanceManager.IntSeries( + value=[5], + id=vim.PerformanceManager.MetricId(counterId=200), + ) + ], + ), + ] + ) + check = VSphereCheck('vsphere', {}, [legacy_realtime_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.cpu.costop.sum', + count=0, + ) + + +def test_report_realtime_host_metrics(aggregator, dd_run_check, legacy_realtime_instance): + check = VSphereCheck('vsphere', {}, [legacy_realtime_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.cpu.costop.sum', + value=61, + count=1, + hostname='host1', + tags=[ + 'instance:none', + ], + ) + + +def test_report_historical_datacenter_metrics(aggregator, dd_run_check, legacy_historical_instance): + check = VSphereCheck('vsphere', {}, [legacy_historical_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.vmop.numChangeDS.latest', + count=1, + value=7, + tags=[ + 'instance:dc1', + 'vcenter_server:vsphere_mock', + 'vsphere_datacenter:dc1', + 'vsphere_type:datacenter', + ], + ) + + +def test_report_historical_datacenter_in_folder_metrics(aggregator, dd_run_check, legacy_historical_instance): + check = VSphereCheck('vsphere', {}, [legacy_historical_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.vmop.numChangeDS.latest', + count=1, + value=3, + tags=[ + 'instance:none', + 'vcenter_server:vsphere_mock', + 'vsphere_datacenter:dc2', + 'vsphere_folder:folder_1', + 'vsphere_type:datacenter', + ], + ) + + +def test_report_historical_datastore_metrics(aggregator, dd_run_check, legacy_historical_instance): + check = VSphereCheck('vsphere', {}, [legacy_historical_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.datastore.busResets.sum', + count=1, + value=5, + tags=[ + 'instance:ds1', + 'vcenter_server:vsphere_mock', + 'vsphere_datastore:ds1', + 'vsphere_type:datastore', + ], + ) + + +def test_report_historical_cluster_metrics(aggregator, dd_run_check, legacy_historical_instance): + check = VSphereCheck('vsphere', {}, [legacy_historical_instance]) + dd_run_check(check) + aggregator.assert_metric( + 'vsphere.cpu.totalmhz.avg', + count=1, + value=5, + tags=[ + 'instance:c1', + 'vcenter_server:vsphere_mock', + 'vsphere_cluster:c1', + 'vsphere_type:cluster', + ], + ) + + +@pytest.mark.parametrize( + ('instance', 'query_options', 'extra_instance', 'expected_metrics'), + [ + pytest.param( + LEGACY_HISTORICAL_INSTANCE, + [mock.MagicMock(value=10)], + {}, + [ + { + 'name': 'vsphere.vmop.numChangeDS.latest', + 'count': 1, + 'value': 7, + 'tags': [ + 'instance:dc1', + 'vcenter_server:vsphere_mock', + 'vsphere_datacenter:dc1', + 'vsphere_type:datacenter', + ], + }, + ], + id='Legacy version. Valid value', + ), + pytest.param( + LEGACY_HISTORICAL_INSTANCE, + [mock.MagicMock(value=-1)], + {}, + [ + { + 'name': 'vsphere.vmop.numChangeDS.latest', + 'count': 1, + 'value': 7, + 'tags': [ + 'instance:dc1', + 'vcenter_server:vsphere_mock', + 'vsphere_datacenter:dc1', + 'vsphere_type:datacenter', + ], + }, + ], + id='Legacy version. Invalid value', + ), + pytest.param( + LEGACY_HISTORICAL_INSTANCE, + [Exception()], + {}, + [ + { + 'name': 'vsphere.vmop.numChangeDS.latest', + 'count': 1, + 'value': 7, + 'tags': [ + 'instance:dc1', + 'vcenter_server:vsphere_mock', + 'vsphere_datacenter:dc1', + 'vsphere_type:datacenter', + ], + }, + ], + id='Legacy version. Exception', + ), + pytest.param( + LEGACY_HISTORICAL_INSTANCE, + [mock.MagicMock(value=10)], + {'max_query_metrics': 10}, + [ + { + 'name': 'vsphere.vmop.numChangeDS.latest', + 'count': 1, + 'value': 7, + 'tags': [ + 'instance:dc1', + 'vcenter_server:vsphere_mock', + 'vsphere_datacenter:dc1', + 'vsphere_type:datacenter', + ], + }, + ], + id='Legacy version. Configured value', + ), + ], +) +def test_max_query_metrics( + aggregator, + dd_run_check, + service_instance, + mock_rest_api, + instance, + query_options, + extra_instance, + expected_metrics, +): + service_instance.content.setting.QueryOptions = mock.MagicMock(return_value=query_options) + + instance['fix_max_query_metrics'] = True + instance.update(extra_instance) + check = VSphereCheck('vsphere', {}, [instance]) + dd_run_check(check) + for expected_metric in expected_metrics: + aggregator.assert_metric( + expected_metric.get('name'), + count=expected_metric.get('count'), + value=expected_metric.get('value'), + hostname=expected_metric.get('hostname'), + tags=expected_metric.get('tags'), + ) From 6d7a6e0bd6e3778d2b5257c3bed489d8b21484ee Mon Sep 17 00:00:00 2001 From: NouhaManai Date: Thu, 6 Jul 2023 17:55:48 +0200 Subject: [PATCH 73/77] add profile (#15188) --- .../default_profiles/fortinet-appliance.yaml | 354 ++++++++++++++++++ snmp/metadata.csv | 11 + .../compose/data/fortinet-appliance.snmprec | 266 ++++++++++++- snmp/tests/compose/data/fortinet.snmprec | 4 + .../test_profile_fortinet.py | 12 +- .../test_profile_fortinet_appliance.py | 99 +++++ 6 files changed, 739 insertions(+), 7 deletions(-) create mode 100644 snmp/datadog_checks/snmp/data/default_profiles/fortinet-appliance.yaml create mode 100644 snmp/tests/compose/data/fortinet.snmprec create mode 100644 snmp/tests/test_e2e_core_profiles/test_profile_fortinet_appliance.py diff --git a/snmp/datadog_checks/snmp/data/default_profiles/fortinet-appliance.yaml b/snmp/datadog_checks/snmp/data/default_profiles/fortinet-appliance.yaml new file mode 100644 index 0000000000000..d9c6ab7c3be99 --- /dev/null +++ b/snmp/datadog_checks/snmp/data/default_profiles/fortinet-appliance.yaml @@ -0,0 +1,354 @@ +extends: + - _base.yaml + - fortinet.yaml + +sysobjectid: + - 1.3.6.1.4.1.12356.103.1.* # Fortinet FortiManager + - 1.3.6.1.4.1.12356.103.1.64 # Fortinet fmgvm + - 1.3.6.1.4.1.12356.103.1.1000 # Fortinet fmg100 + - 1.3.6.1.4.1.12356.103.1.1001 # Fortinet fmgvm + - 1.3.6.1.4.1.12356.103.1.1003 # Fortinet fmg100C + - 1.3.6.1.4.1.12356.103.1.2004 # Fortinet fmg200D + - 1.3.6.1.4.1.12356.103.1.2005 # Fortinet fmg200E + - 1.3.6.1.4.1.12356.103.1.2006 # Fortinet fmg200F + - 1.3.6.1.4.1.12356.103.1.3004 # Fortinet fmg300D + - 1.3.6.1.4.1.12356.103.1.3005 # Fortinet fmg300E + - 1.3.6.1.4.1.12356.103.1.3006 # Fortinet fmg300F + - 1.3.6.1.4.1.12356.103.1.4000 # Fortinet fmg400 + - 1.3.6.1.4.1.12356.103.1.4001 # Fortinet fmg400A + - 1.3.6.1.4.1.12356.103.1.4002 # Fortinet fmg400B + - 1.3.6.1.4.1.12356.103.1.4003 # Fortinet fmg400C + - 1.3.6.1.4.1.12356.103.1.4005 # Fortinet fmg400E + - 1.3.6.1.4.1.12356.103.1.10003 # Fortinet fmg1000C + - 1.3.6.1.4.1.12356.103.1.10004 # Fortinet fmg1000D + - 1.3.6.1.4.1.12356.103.1.20000 # Fortinet fmg2000XL + - 1.3.6.1.4.1.12356.103.1.20005 # Fortinet fmg2000E + - 1.3.6.1.4.1.12356.103.1.30002 # Fortinet fmg3000B + - 1.3.6.1.4.1.12356.103.1.30003 # Fortinet fmg3000C + - 1.3.6.1.4.1.12356.103.1.30006 # Fortinet fmg3000F + - 1.3.6.1.4.1.12356.103.1.39005 # Fortinet fmg3900E + - 1.3.6.1.4.1.12356.103.1.40004 # Fortinet fmg4000D + - 1.3.6.1.4.1.12356.103.1.40005 # Fortinet fmg4000E + - 1.3.6.1.4.1.12356.103.1.50011 # Fortinet fmg5001A + - 1.3.6.1.4.1.12356.103.3.* # Fortinet FortiAnalyzer + - 1.3.6.1.4.1.12356.103.3.20 # Fortinet fazvm + - 1.3.6.1.4.1.12356.103.3.64 # Fortinet fazvm + - 1.3.6.1.4.1.12356.103.3.1000 # Fortinet faz100 + - 1.3.6.1.4.1.12356.103.3.1001 # Fortinet faz100A + - 1.3.6.1.4.1.12356.103.3.1002 # Fortinet faz100B + - 1.3.6.1.4.1.12356.103.3.1003 # Fortinet faz100C + - 1.3.6.1.4.1.12356.103.3.2004 # Fortinet faz200D + - 1.3.6.1.4.1.12356.103.3.2005 # Fortinet faz200E + - 1.3.6.1.4.1.12356.103.3.2006 # Fortinet faz200F + - 1.3.6.1.4.1.12356.103.3.3004 # Fortinet faz300D + - 1.3.6.1.4.1.12356.103.3.3006 # Fortinet faz300F + - 1.3.6.1.4.1.12356.103.3.4000 # Fortinet faz400 + - 1.3.6.1.4.1.12356.103.3.4002 # Fortinet faz400B + - 1.3.6.1.4.1.12356.103.3.4003 # Fortinet faz400C + - 1.3.6.1.4.1.12356.103.3.4005 # Fortinet faz400E + - 1.3.6.1.4.1.12356.103.3.8000 # Fortinet faz800 + - 1.3.6.1.4.1.12356.103.3.8002 # Fortinet faz800B + - 1.3.6.1.4.1.12356.103.3.8006 # Fortinet faz800F + - 1.3.6.1.4.1.12356.103.3.10002 # Fortinet faz1000B + - 1.3.6.1.4.1.12356.103.3.10003 # Fortinet faz1000C + - 1.3.6.1.4.1.12356.103.3.10004 # Fortinet faz1000D + - 1.3.6.1.4.1.12356.103.3.10005 # Fortinet faz1000E + - 1.3.6.1.4.1.12356.103.3.20000 # Fortinet faz2000 + - 1.3.6.1.4.1.12356.103.3.20001 # Fortinet faz2000A + - 1.3.6.1.4.1.12356.103.3.20002 # Fortinet faz2000B + - 1.3.6.1.4.1.12356.103.3.20005 # Fortinet faz2000E + - 1.3.6.1.4.1.12356.103.3.30004 # Fortinet faz3000D + - 1.3.6.1.4.1.12356.103.3.30005 # Fortinet faz3000E + - 1.3.6.1.4.1.12356.103.3.30006 # Fortinet faz3000F + - 1.3.6.1.4.1.12356.103.3.35005 # Fortinet faz3500E + - 1.3.6.1.4.1.12356.103.3.35006 # Fortinet faz3500F + - 1.3.6.1.4.1.12356.103.3.37006 # Fortinet faz3700F + - 1.3.6.1.4.1.12356.103.3.39005 # Fortinet faz3900E + - 1.3.6.1.4.1.12356.103.3.40000 # Fortinet faz4000 + - 1.3.6.1.4.1.12356.103.3.40001 # Fortinet faz4000A + - 1.3.6.1.4.1.12356.103.3.40002 # Fortinet faz4000B + +metrics: + - MIB: FORTINET-FORTIMANAGER-FORTIANALYZER-MIB + symbol: + name: cpu.usage + OID: 1.3.6.1.4.1.12356.103.2.1.1.0 + - MIB: FORTINET-FORTIMANAGER-FORTIANALYZER-MIB + symbol: + name: memory.used + OID: 1.3.6.1.4.1.12356.103.2.1.2.0 + - MIB: FORTINET-FORTIMANAGER-FORTIANALYZER-MIB + symbol: + name: memory.total + OID: 1.3.6.1.4.1.12356.103.2.1.3.0 + - MIB: FORTINET-FORTIMANAGER-FORTIANALYZER-MIB + symbol: + name: fmSysDiskUsage + OID: 1.3.6.1.4.1.12356.103.2.1.4.0 + - MIB: FORTINET-FORTIMANAGER-FORTIANALYZER-MIB + symbol: + name: fmSysDiskCapacity + OID: 1.3.6.1.4.1.12356.103.2.1.5.0 + - MIB: FORTINET-FORTIMANAGER-FORTIANALYZER-MIB + symbol: + name: fmSysCpuUsageExcludedNice + OID: 1.3.6.1.4.1.12356.103.2.1.6.0 + - MIB: FORTINET-FORTIMANAGER-FORTIANALYZER-MIB + symbol: + name: fmLogRate + OID: 1.3.6.1.4.1.12356.103.2.1.9.0 + # - MIB: FORTINET-FORTIMANAGER-FORTIANALYZER-MIB + # symbol: + # name: fmRaidLevel + # OID: 1.3.6.1.4.1.12356.103.7.1.1.0 + # enum: + # unavailable: 0 + # linear: 1 + # raid-0: 2 + # raid-1: 3 + # raid-1s: 4 + # raid-5: 5 + # raid-5s: 6 + # raid-6: 7 + # raid-6s: 8 + # raid-10: 9 + # raid-10s: 10 + # raid-50: 11 + # raid-50s: 12 + # raid-60: 13 + # raid-60s: 14 + # TODO: enum in scalar metric is not supported yet (keep this metric and this + # comment in profile until it's fixed) + # - MIB: FORTINET-FORTIMANAGER-FORTIANALYZER-MIB + # symbol: + # name: fmRaidState + # OID: 1.3.6.1.4.1.12356.103.7.1.2.0 + # enum: + # unavailable: 0 + # ok: 1 + # degraded: 2 + # failed: 3 + # background-initializing: 4 + # background-verifying: 5 + # background-rebuilding: 6 + # TODO: enum in scalar metric is not supported yet (keep this metric and this + # comment in profile until it's fixed) + - MIB: FORTINET-FORTIMANAGER-FORTIANALYZER-MIB + symbol: + name: fmRaidSize + OID: 1.3.6.1.4.1.12356.103.7.1.3.0 + - MIB: FORTINET-FORTIMANAGER-FORTIANALYZER-MIB + symbol: + name: fmRaidDiskNumber + OID: 1.3.6.1.4.1.12356.103.7.1.4.0 + # - MIB: FORTINET-FORTIMANAGER-FORTIANALYZER-MIB + # symbol: + # name: fmHaMode + # OID: 1.3.6.1.4.1.12356.103.9.1.1.0 + # enum: + # standalone: 0 + # master: 1 + # slave: 2 + # TODO: enum in scalar metric is not supported yet (keep this metric and this + # comment in profile until it's fixed) + - MIB: FORTINET-FORTIMANAGER-FORTIANALYZER-MIB + symbol: + name: fmHaClusterId + OID: 1.3.6.1.4.1.12356.103.9.1.2.0 + - MIB: FORTINET-FORTIMANAGER-FORTIANALYZER-MIB + symbol: + name: fmHaPeerNumber + OID: 1.3.6.1.4.1.12356.103.9.1.3.0 + - MIB: FORTINET-FORTIMANAGER-FORTIANALYZER-MIB + table: + OID: 1.3.6.1.4.1.12356.103.6.2 + name: fmDeviceTable + symbols: + - name: fmDevice + constant_value_one: true + metric_tags: + - column: + name: fmDeviceEntName + OID: 1.3.6.1.4.1.12356.103.6.2.1.2 + tag: fm_device_ent_name + - column: + name: fmDeviceEntSn + OID: 1.3.6.1.4.1.12356.103.6.2.1.3 + tag: fm_device_ent_sn + - column: + name: fmDeviceEntMode + OID: 1.3.6.1.4.1.12356.103.6.2.1.4 + tag: fm_device_ent_mode + mapping: + 0: unregistered + 1: fmg + 2: faz + 3: fmg-faz + - column: + name: fmDeviceEntAdom + OID: 1.3.6.1.4.1.12356.103.6.2.1.5 + tag: fm_device_ent_adom + - column: + name: fmDeviceEntIp + OID: 1.3.6.1.4.1.12356.103.6.2.1.6 + tag: fm_device_ent_ip + - column: + name: fmDeviceEntHaMode + OID: 1.3.6.1.4.1.12356.103.6.2.1.10 + tag: fm_device_ent_ha_mode + mapping: + 0: standalone + 1: a-p + 2: a-a + 3: elbc + 4: dual + 5: fmg + - column: + name: fmDeviceEntHaGroup + OID: 1.3.6.1.4.1.12356.103.6.2.1.11 + tag: fm_device_ent_ha_group + - column: + name: fmDeviceEntDesc + OID: 1.3.6.1.4.1.12356.103.6.2.1.24 + tag: fm_device_ent_desc + - column: + OID: 1.3.6.1.4.1.12356.103.6.2.1.12 + name: fmDeviceEntConnectState + tag: fm_device_ent_connect_state + mapping: + 0: unknown + 1: up + 2: down + - column: + OID: 1.3.6.1.4.1.12356.103.6.2.1.13 + name: fmDeviceEntDbState + tag: fm_device_ent_db_state + mapping: + 0: unknown + 1: not-modified + 2: modified + - column: + OID: 1.3.6.1.4.1.12356.103.6.2.1.14 + name: fmDeviceEntConfigState + tag: fm_device_ent_config_state + mapping: + 0: unknown + 1: in-sync + 2: out-of-sync + - column: + OID: 1.3.6.1.4.1.12356.103.6.2.1.15 + name: fmDeviceEntState + tag: fm_device_ent_state + mapping: + 0: none + 1: unknown + 2: checked-in + 3: in-progress + 4: installed + 5: aborted + 6: sched + 7: retry + 8: canceled + 9: pending + 10: retrieved + 11: changed-conf + 12: sync-fail + 13: timeout + 14: rev-reverted + 15: auto-updated + - column: + OID: 1.3.6.1.4.1.12356.103.6.2.1.18 + name: fmDeviceEntSupportState + tag: fm_device_ent_support_state + mapping: + 0: expired + 1: valid + - MIB: FORTINET-FORTIMANAGER-FORTIANALYZER-MIB + table: + OID: 1.3.6.1.4.1.12356.103.7.2 + name: fmRaidDiskTable + symbols: + - name: fmRaidDiskEntSize + OID: 1.3.6.1.4.1.12356.103.7.2.1.3 + metric_tags: + - column: + OID: 1.3.6.1.4.1.12356.103.7.2.1.2 + name: fmRaidDiskEntState + tag: fm_raid_disk_ent_state + mapping: + 0: unavailable + 1: unused + 2: ok + 3: rebuilding + 4: failed + 5: spare + # - MIB: FORTINET-FORTIMANAGER-FORTIANALYZER-MIB + # table: + # OID: 1.3.6.1.4.1.12356.103.8.2 + # name: fmSensorTable + # symbols: + # - name: fmSensorEntVal + # OID: 1.3.6.1.4.1.12356.103.8.2.1.3 + # scalar string metric is not supported yet (keep this metric and this comment in profile until it's fixed) + # metric_tags: + # - column: + # name: fmSensorEntName + # OID: 1.3.6.1.4.1.12356.103.8.2.1.2 + # tag: fm_sensor_ent_name + # - column: + # name: fmSensorEntType + # OID: 1.3.6.1.4.1.12356.103.8.2.1.4 + # tag: fm_sensor_ent_type + # mapping: + # 0: power + # 1: fan + # 2: temperature + # 3: voltage + # - column: + # OID: 1.3.6.1.4.1.12356.103.8.2.1.5 + # name: fmSensorEntState + # tag: fm_sensor_ent_state + # mapping: + # 0: ok + # 1: failed + # 2: out-of-range-not-critical + # 3: out-of-range-critical + # 4: out-of-range-not-recoverable + # 5: input-lost + # 6: not-present + - MIB: FORTINET-FORTIMANAGER-FORTIANALYZER-MIB + table: + OID: 1.3.6.1.4.1.12356.103.9.2 + name: fmHaPeerTable + symbols: + - name: fmHaPeer + constant_value_one: true + metric_tags: + - column: + name: fmHaPeerEntIp + OID: 1.3.6.1.4.1.12356.103.9.2.1.2 + tag: fm_ha_peer_ent_ip + - column: + name: fmHaPeerEntSn + OID: 1.3.6.1.4.1.12356.103.9.2.1.3 + tag: fm_ha_peer_ent_sn + - column: + name: fmHaPeerEntHostName + OID: 1.3.6.1.4.1.12356.103.9.2.1.5 + tag: fm_ha_peer_ent_host_name + - column: + OID: 1.3.6.1.4.1.12356.103.9.2.1.4 + name: fmHaPeerEntEnabled + tag: fm_ha_peer_ent_enabled + mapping: + 1: disabled + 2: enabled + - column: + OID: 1.3.6.1.4.1.12356.103.9.2.1.6 + name: fmHaPeerEntState + tag: fm_ha_peer_ent_state + mapping: + 0: down + 1: negotiating + 2: synchronizing + 3: up diff --git a/snmp/metadata.csv b/snmp/metadata.csv index cbe82ede7d13f..a7a0f13a7dc5b 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -503,6 +503,17 @@ snmp.fgVdNumber,gauge,,,,[Fortinet FortiGate] The number of virtual domains in v snmp.fgVpnTunEntInOctets,gauge,,byte,,[Fortinet FortiGate] The number of bytes received on tunnel.,0,snmp,, snmp.fgVpnTunEntOutOctets,gauge,,byte,,[Fortinet FortiGate] The number of bytes sent out on tunnel.,0,snmp,, snmp.fgVpnTunEntStatus,gauge,,,,[Fortinet FortiGate] The current status of tunnel (up or down).,0,snmp,, +snmp.fmDevice,gauge,,,,"[FORTINET-FORTIMANAGER-FORTIANALYZER-MIB] A table of devices configured on the device (Make 'sum by {X}' queries to count elements with the tag X.)",0,snmp,, +snmp.fmHaClusterId,gauge,,,,"[FORTINET-FORTIMANAGER-FORTIANALYZER-MIB] Ha cluster ID",0,snmp,, +snmp.fmHaPeer,gauge,,,,"[FORTINET-FORTIMANAGER-FORTIANALYZER-MIB] A table of peers in the Ha (Make 'sum by {X}' queries to count elements with the tag X.)",0,snmp,, +snmp.fmHaPeerNumber,gauge,,,,"[FORTINET-FORTIMANAGER-FORTIANALYZER-MIB] Peer numbers in the Ha",0,snmp,, +snmp.fmLogRate,gauge,,,,"[FORTINET-FORTIMANAGER-FORTIANALYZER-MIB] Log receiving rate in number of logs per second.",0,snmp,, +snmp.fmRaidDiskEntSize,gauge,,,,"[FORTINET-FORTIMANAGER-FORTIANALYZER-MIB] Raid disk size in GB",0,snmp,, +snmp.fmRaidDiskNumber,gauge,,,,"[FORTINET-FORTIMANAGER-FORTIANALYZER-MIB] Disk numbers in the Raid",0,snmp,, +snmp.fmRaidSize,gauge,,,,"[FORTINET-FORTIMANAGER-FORTIANALYZER-MIB] Raid size in GB",0,snmp,, +snmp.fmSysCpuUsageExcludedNice,gauge,,,,"[FORTINET-FORTIMANAGER-FORTIANALYZER-MIB] Current CPU usage excluded nice processes usage (percentage)",0,snmp,, +snmp.fmSysDiskCapacity,gauge,,,,"[FORTINET-FORTIMANAGER-FORTIANALYZER-MIB] Total hard disk capacity (MB)",0,snmp,, +snmp.fmSysDiskUsage,gauge,,,,"[FORTINET-FORTIMANAGER-FORTIANALYZER-MIB] Current hard disk usage (MB)",0,snmp,, snmp.fruInformationStatus,gauge,,,,[Dell iDRAC] The status of the field replaceable unit information.,0,snmp,, snmp.fwAccepted,count,,packet,,[Checkpoint Firewall] Number of accepted packets.,0,snmp,, snmp.fwDropped,count,,packet,,[Checkpoint Firewall] Number of dropped packets.,0,snmp,, diff --git a/snmp/tests/compose/data/fortinet-appliance.snmprec b/snmp/tests/compose/data/fortinet-appliance.snmprec index e347175be93f0..ab7252e6fb31a 100644 --- a/snmp/tests/compose/data/fortinet-appliance.snmprec +++ b/snmp/tests/compose/data/fortinet-appliance.snmprec @@ -1,4 +1,268 @@ 1.3.6.1.2.1.1.1.0|4|Fortinet Appliance dummy device -1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.12356.103.1 +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.12356.103.1.999 1.3.6.1.2.1.1.5.0|4|fortinet.appliance.example 1.3.6.1.2.1.2.1.0|2|4 +1.3.6.1.4.1.12356.103.0.1.1.0|2|10 +1.3.6.1.4.1.12356.103.0.1.2.0|4x|6b657074206163746564 +1.3.6.1.4.1.12356.103.0.1.3.0|66|2902120382 +1.3.6.1.4.1.12356.103.0.1.4.0|66|3391849464 +1.3.6.1.4.1.12356.103.0.1.5.0|66|1423663517 +1.3.6.1.4.1.12356.103.0.1.6.0|66|2625169513 +1.3.6.1.4.1.12356.103.0.1.7.0|66|959593591 +1.3.6.1.4.1.12356.103.0.1.8.0|66|3376228240 +1.3.6.1.4.1.12356.103.0.1.9.0|66|1541160404 +1.3.6.1.4.1.12356.103.0.1.10.0|66|1510226804 +1.3.6.1.4.1.12356.103.0.1.11.0|2|5 +1.3.6.1.4.1.12356.103.0.1.12.0|4x|62757420717561696e746c792064726976696e6720627574207468656972 +1.3.6.1.4.1.12356.103.2.1.1.0|2|27 +1.3.6.1.4.1.12356.103.2.1.2.0|66|3220928040 +1.3.6.1.4.1.12356.103.2.1.3.0|66|232631662 +1.3.6.1.4.1.12356.103.2.1.4.0|66|2871192179 +1.3.6.1.4.1.12356.103.2.1.5.0|66|3224356503 +1.3.6.1.4.1.12356.103.2.1.6.0|66|3 +1.3.6.1.4.1.12356.103.2.1.7.0|4x|6b657074206f78656e204a6164656420717561696e746c79 +1.3.6.1.4.1.12356.103.2.1.8.0|70|11495605559129214297 +1.3.6.1.4.1.12356.103.2.1.9.0|66|2044860659 +1.3.6.1.4.1.12356.103.4.2.1.1.1.6|2|6 +1.3.6.1.4.1.12356.103.4.2.1.1.1.30|2|30 +1.3.6.1.4.1.12356.103.4.2.1.1.2.6|2|6 +1.3.6.1.4.1.12356.103.4.2.1.1.2.30|2|1 +1.3.6.1.4.1.12356.103.4.2.1.1.3.6|64x|041fa1c2 +1.3.6.1.4.1.12356.103.4.2.1.1.3.30|64x|8cdae424 +1.3.6.1.4.1.12356.103.4.2.1.1.4.6|66|5057 +1.3.6.1.4.1.12356.103.4.2.1.1.4.30|66|42912 +1.3.6.1.4.1.12356.103.4.2.1.1.5.6|64x|c8c445cb +1.3.6.1.4.1.12356.103.4.2.1.1.5.30|64x|44a46e52 +1.3.6.1.4.1.12356.103.4.2.1.1.6.6|66|64315 +1.3.6.1.4.1.12356.103.4.2.1.1.6.30|66|23834 +1.3.6.1.4.1.12356.103.4.2.1.1.7.6|65|1576173972 +1.3.6.1.4.1.12356.103.4.2.1.1.7.30|65|2332292695 +1.3.6.1.4.1.12356.103.5.1.1.0|2|1 +1.3.6.1.4.1.12356.103.5.1.2.0|2|17 +1.3.6.1.4.1.12356.103.5.1.3.0|2|15 +1.3.6.1.4.1.12356.103.5.2.1.1.20|2|20 +1.3.6.1.4.1.12356.103.5.2.1.1.28|2|28 +1.3.6.1.4.1.12356.103.5.2.1.2.20|4x|64726976696e67206b657074 +1.3.6.1.4.1.12356.103.5.2.1.2.28|4|forward +1.3.6.1.4.1.12356.103.5.2.1.3.20|2|1 +1.3.6.1.4.1.12356.103.5.2.1.3.28|2|2 +1.3.6.1.4.1.12356.103.5.2.1.4.20|2|1 +1.3.6.1.4.1.12356.103.5.2.1.4.28|2|1 +1.3.6.1.4.1.12356.103.5.2.1.5.20|2|2 +1.3.6.1.4.1.12356.103.5.2.1.5.28|2|9 +1.3.6.1.4.1.12356.103.5.2.1.6.20|2|25 +1.3.6.1.4.1.12356.103.5.2.1.6.28|2|10 +1.3.6.1.4.1.12356.103.5.2.1.7.20|2|19 +1.3.6.1.4.1.12356.103.5.2.1.7.28|2|22 +1.3.6.1.4.1.12356.103.5.2.1.8.20|2|22 +1.3.6.1.4.1.12356.103.5.2.1.8.28|2|2 +1.3.6.1.4.1.12356.103.5.2.1.9.20|2|1 +1.3.6.1.4.1.12356.103.5.2.1.9.28|2|3 +1.3.6.1.4.1.12356.103.6.1.1.0|2|12 +1.3.6.1.4.1.12356.103.6.1.2.0|2|5 +1.3.6.1.4.1.12356.103.6.2.1.1.20|2|20 +1.3.6.1.4.1.12356.103.6.2.1.1.24|2|24 +1.3.6.1.4.1.12356.103.6.2.1.2.20|4x|6f78656e2062757420627574 +1.3.6.1.4.1.12356.103.6.2.1.2.24|4x|4a61646564204a6164656420746865697220627574206f78656e2074686569722064726976696e6720627574 +1.3.6.1.4.1.12356.103.6.2.1.3.20|4x|666f7277617264204a61646564206f78656e204a61646564204a61646564 +1.3.6.1.4.1.12356.103.6.2.1.3.24|4x|717561696e746c7920627574 +1.3.6.1.4.1.12356.103.6.2.1.4.20|2|0 +1.3.6.1.4.1.12356.103.6.2.1.4.24|2|2 +1.3.6.1.4.1.12356.103.6.2.1.5.20|4x|62757420717561696e746c79206f78656e20746865697220717561696e746c7920717561696e746c7920666f7277617264 +1.3.6.1.4.1.12356.103.6.2.1.5.24|4x|666f7277617264207a6f6d62696573 +1.3.6.1.4.1.12356.103.6.2.1.6.20|4x|666f7277617264207a6f6d62696573206b657074206f78656e204a61646564207a6f6d6269657320627574206163746564 +1.3.6.1.4.1.12356.103.6.2.1.6.24|4x|4a61646564206163746564204a61646564 +1.3.6.1.4.1.12356.103.6.2.1.7.20|2|18 +1.3.6.1.4.1.12356.103.6.2.1.7.24|2|1 +1.3.6.1.4.1.12356.103.6.2.1.8.20|2|26 +1.3.6.1.4.1.12356.103.6.2.1.8.24|2|27 +1.3.6.1.4.1.12356.103.6.2.1.9.20|2|7 +1.3.6.1.4.1.12356.103.6.2.1.9.24|2|9 +1.3.6.1.4.1.12356.103.6.2.1.10.20|2|4 +1.3.6.1.4.1.12356.103.6.2.1.10.24|2|2 +1.3.6.1.4.1.12356.103.6.2.1.11.20|4x|717561696e746c79206b657074206b65707420717561696e746c79207a6f6d6269657320717561696e746c7920627574 +1.3.6.1.4.1.12356.103.6.2.1.11.24|4x|627574206f78656e207468656972204a6164656420717561696e746c79207a6f6d62696573207a6f6d62696573206163746564207468656972 +1.3.6.1.4.1.12356.103.6.2.1.12.20|2|1 +1.3.6.1.4.1.12356.103.6.2.1.12.24|2|2 +1.3.6.1.4.1.12356.103.6.2.1.13.20|2|1 +1.3.6.1.4.1.12356.103.6.2.1.13.24|2|0 +1.3.6.1.4.1.12356.103.6.2.1.14.20|2|0 +1.3.6.1.4.1.12356.103.6.2.1.14.24|2|1 +1.3.6.1.4.1.12356.103.6.2.1.15.20|2|6 +1.3.6.1.4.1.12356.103.6.2.1.15.24|2|1 +1.3.6.1.4.1.12356.103.6.2.1.16.20|4x|6f78656e2062757420666f727761726420627574 +1.3.6.1.4.1.12356.103.6.2.1.16.24|4x|7a6f6d6269657320666f7277617264206b65707420717561696e746c792064726976696e67206b65707420666f7277617264204a6164656420627574 +1.3.6.1.4.1.12356.103.6.2.1.17.20|2|2 +1.3.6.1.4.1.12356.103.6.2.1.17.24|2|2 +1.3.6.1.4.1.12356.103.6.2.1.18.20|2|1 +1.3.6.1.4.1.12356.103.6.2.1.18.24|2|0 +1.3.6.1.4.1.12356.103.6.2.1.19.20|4x|7a6f6d62696573206f78656e206275742064726976696e6720717561696e746c79 +1.3.6.1.4.1.12356.103.6.2.1.19.24|4x|746865697220717561696e746c79206b65707420616374656420746865697220717561696e746c79206163746564 +1.3.6.1.4.1.12356.103.6.2.1.20.20|4x|64726976696e6720666f7277617264204a6164656420717561696e746c7920627574204a61646564 +1.3.6.1.4.1.12356.103.6.2.1.20.24|4x|6f78656e207a6f6d62696573206b657074 +1.3.6.1.4.1.12356.103.6.2.1.21.20|4x|616374656420666f7277617264206f78656e204a61646564206163746564 +1.3.6.1.4.1.12356.103.6.2.1.21.24|4x|666f727761726420666f7277617264204a61646564204a61646564204a61646564204a61646564206163746564 +1.3.6.1.4.1.12356.103.6.2.1.22.20|4x|6f78656e206b65707420717561696e746c79 +1.3.6.1.4.1.12356.103.6.2.1.22.24|4x|6f78656e20616374656420717561696e746c7920627574204a61646564204a61646564206b657074204a61646564 +1.3.6.1.4.1.12356.103.6.2.1.23.20|4x|64726976696e67204a61646564 +1.3.6.1.4.1.12356.103.6.2.1.23.24|4x|666f727761726420666f727761726420717561696e746c7920616374656420627574 +1.3.6.1.4.1.12356.103.6.2.1.24.20|4x|7a6f6d62696573206b657074206b6570742064726976696e67207a6f6d6269657320717561696e746c7920746865697220666f7277617264 +1.3.6.1.4.1.12356.103.6.2.1.24.24|4x|717561696e746c7920627574206b657074 +1.3.6.1.4.1.12356.103.7.1.1.0|2|6 +1.3.6.1.4.1.12356.103.7.1.2.0|2|3 +1.3.6.1.4.1.12356.103.7.1.3.0|2|0 +1.3.6.1.4.1.12356.103.7.1.4.0|2|26 +1.3.6.1.4.1.12356.103.7.2.1.1.8|2|8 +1.3.6.1.4.1.12356.103.7.2.1.1.26|2|26 +1.3.6.1.4.1.12356.103.7.2.1.2.8|2|5 +1.3.6.1.4.1.12356.103.7.2.1.2.26|2|2 +1.3.6.1.4.1.12356.103.7.2.1.3.8|2|5 +1.3.6.1.4.1.12356.103.7.2.1.3.26|2|5 +1.3.6.1.4.1.12356.103.8.2.1.1.26|2|26 +1.3.6.1.4.1.12356.103.8.2.1.1.30|2|30 +1.3.6.1.4.1.12356.103.8.2.1.2.26|4x|62757420717561696e746c79206f78656e2064726976696e6720666f727761726420717561696e746c79206163746564 +1.3.6.1.4.1.12356.103.8.2.1.2.30|4x|7468656972207a6f6d6269657320666f7277617264204a6164656420746865697220717561696e746c79206f78656e2064726976696e6720627574 +1.3.6.1.4.1.12356.103.8.2.1.3.26|4x|6b657074204a61646564206b657074 +1.3.6.1.4.1.12356.103.8.2.1.3.30|4x|666f7277617264206f78656e +1.3.6.1.4.1.12356.103.8.2.1.4.26|2|1 +1.3.6.1.4.1.12356.103.8.2.1.4.30|2|3 +1.3.6.1.4.1.12356.103.8.2.1.5.26|2|0 +1.3.6.1.4.1.12356.103.8.2.1.5.30|2|2 +1.3.6.1.4.1.12356.103.9.1.1.0|2|1 +1.3.6.1.4.1.12356.103.9.1.2.0|2|2 +1.3.6.1.4.1.12356.103.9.1.3.0|2|30 +1.3.6.1.4.1.12356.103.9.2.1.1.3|2|3 +1.3.6.1.4.1.12356.103.9.2.1.1.11|2|11 +1.3.6.1.4.1.12356.103.9.2.1.2.3|4|but +1.3.6.1.4.1.12356.103.9.2.1.2.11|4x|7a6f6d62696573206163746564206f78656e204a61646564 +1.3.6.1.4.1.12356.103.9.2.1.3.3|4x|6f78656e204a61646564206f78656e2064726976696e6720666f7277617264 +1.3.6.1.4.1.12356.103.9.2.1.3.11|4|Jaded +1.3.6.1.4.1.12356.103.9.2.1.4.3|2|1 +1.3.6.1.4.1.12356.103.9.2.1.4.11|2|1 +1.3.6.1.4.1.12356.103.9.2.1.5.3|4x|6b6570742064726976696e67206b657074206b657074206b657074204a61646564207a6f6d626965732064726976696e67207a6f6d62696573 +1.3.6.1.4.1.12356.103.9.2.1.5.11|4x|7468656972204a6164656420717561696e746c79206b65707420627574 +1.3.6.1.4.1.12356.103.9.2.1.6.3|2|2 +1.3.6.1.4.1.12356.103.9.2.1.6.11|2|0 +1.3.6.1.4.1.12356.103.11.1.1.1.1.11|2|11 +1.3.6.1.4.1.12356.103.11.1.1.1.1.24|2|24 +1.3.6.1.4.1.12356.103.11.1.1.1.2.11|4x|6b657074207468656972206163746564 +1.3.6.1.4.1.12356.103.11.1.1.1.2.24|4x|6f78656e204a61646564204a61646564 +1.3.6.1.4.1.12356.103.11.1.1.1.3.11|4x|7a6f6d62696573207468656972 +1.3.6.1.4.1.12356.103.11.1.1.1.3.24|4x|666f7277617264207a6f6d6269657320666f7277617264207a6f6d62696573 +1.3.6.1.4.1.12356.103.11.2.1.1.0|2|0 +1.3.6.1.4.1.12356.103.11.2.1.2.1.1.13|2|13 +1.3.6.1.4.1.12356.103.11.2.1.2.1.1.30|2|30 +1.3.6.1.4.1.12356.103.11.2.1.2.1.2.13|4x|7a6f6d626965732062757420627574204a6164656420627574206163746564206b65707420746865697220717561696e746c79 +1.3.6.1.4.1.12356.103.11.2.1.2.1.2.30|4x|6163746564206b657074204a616465642064726976696e672064726976696e67206b65707420666f7277617264 +1.3.6.1.4.1.12356.103.11.2.1.2.1.3.13|66|56413 +1.3.6.1.4.1.12356.103.11.2.1.2.1.3.30|66|9682 +1.3.6.1.4.1.12356.103.11.2.1.2.1.4.13|2|12 +1.3.6.1.4.1.12356.103.11.2.1.2.1.4.30|2|2 +1.3.6.1.4.1.12356.103.11.2.1.2.1.5.13|2|2 +1.3.6.1.4.1.12356.103.11.2.1.2.1.5.30|2|1 +1.3.6.1.4.1.12356.103.11.2.2.1.0|2|0 +1.3.6.1.4.1.12356.103.11.2.2.2.1.1.20|2|20 +1.3.6.1.4.1.12356.103.11.2.2.2.1.1.27|2|27 +1.3.6.1.4.1.12356.103.11.2.2.2.1.2.20|4x|666f7277617264204a616465642064726976696e6720666f727761726420746865697220717561696e746c79204a61646564 +1.3.6.1.4.1.12356.103.11.2.2.2.1.2.27|4x|717561696e746c792064726976696e67 +1.3.6.1.4.1.12356.103.11.2.2.2.1.3.20|66|1758 +1.3.6.1.4.1.12356.103.11.2.2.2.1.3.27|66|5057 +1.3.6.1.4.1.12356.103.11.2.2.2.1.4.20|2|25 +1.3.6.1.4.1.12356.103.11.2.2.2.1.4.27|2|25 +1.3.6.1.4.1.12356.103.11.2.2.2.1.5.20|2|1 +1.3.6.1.4.1.12356.103.11.2.2.2.1.5.27|2|1 +1.3.6.1.4.1.12356.103.11.2.3.1.1.1.26|2|26 +1.3.6.1.4.1.12356.103.11.2.3.1.1.1.30|2|30 +1.3.6.1.4.1.12356.103.11.2.3.1.1.2.26|4x|6b6570742064726976696e67206f78656e +1.3.6.1.4.1.12356.103.11.2.3.1.1.2.30|4x|7a6f6d62696573206b657074206b657074 +1.3.6.1.4.1.12356.103.11.2.3.1.1.3.26|4x|717561696e746c7920627574 +1.3.6.1.4.1.12356.103.11.2.3.1.1.3.30|4|kept +1.3.6.1.4.1.12356.103.11.2.3.1.1.4.26|4x|4a61646564207468656972204a616465642064726976696e67 +1.3.6.1.4.1.12356.103.11.2.3.1.1.4.30|4x|4a61646564206b65707420666f727761726420717561696e746c79 +1.3.6.1.4.1.12356.103.11.2.3.1.1.5.26|70|8385039902234327070 +1.3.6.1.4.1.12356.103.11.2.3.1.1.5.30|70|12980446807446763823 +1.3.6.1.4.1.12356.103.11.2.3.1.1.6.26|4|forward +1.3.6.1.4.1.12356.103.11.2.3.1.1.6.30|4x|666f7277617264207468656972206f78656e20666f7277617264207468656972 +1.3.6.1.4.1.12356.103.11.2.3.1.1.7.26|4|driving +1.3.6.1.4.1.12356.103.11.2.3.1.1.7.30|4|but +1.3.6.1.4.1.12356.103.11.2.4.1.1.1.9|2|9 +1.3.6.1.4.1.12356.103.11.2.4.1.1.1.19|2|19 +1.3.6.1.4.1.12356.103.11.2.4.1.1.2.9|4x|7a6f6d62696573206b65707420627574 +1.3.6.1.4.1.12356.103.11.2.4.1.1.2.19|4x|7468656972206b657074206163746564 +1.3.6.1.4.1.12356.103.11.2.4.1.1.3.9|4|but +1.3.6.1.4.1.12356.103.11.2.4.1.1.3.19|4|forward +1.3.6.1.4.1.12356.103.11.2.4.1.1.4.9|70|10578697964953939119 +1.3.6.1.4.1.12356.103.11.2.4.1.1.4.19|70|5804615367985446688 +1.3.6.1.4.1.12356.103.11.2.4.2.1.1.12|2|12 +1.3.6.1.4.1.12356.103.11.2.4.2.1.2.12|4x|6f78656e206163746564207468656972 +1.3.6.1.4.1.12356.103.11.2.4.2.1.3.12|4x|4a61646564204a61646564204a61646564 +1.3.6.1.4.1.12356.103.11.2.4.2.1.4.12|4|acted +1.3.6.1.4.1.12356.103.11.2.4.2.1.5.12|4x|717561696e746c79207468656972 +1.3.6.1.4.1.12356.103.11.2.4.2.1.6.12|4|zombies +1.3.6.1.4.1.12356.103.11.3.1.1.0|2|1 +1.3.6.1.4.1.12356.103.11.3.1.2.1.1.18|2|18 +1.3.6.1.4.1.12356.103.11.3.1.2.1.1.20|2|20 +1.3.6.1.4.1.12356.103.11.3.1.2.1.2.18|4x|64726976696e672064726976696e6720717561696e746c79207468656972206b657074206f78656e2074686569722064726976696e67206163746564 +1.3.6.1.4.1.12356.103.11.3.1.2.1.2.20|4x|7a6f6d62696573206b6570742061637465642064726976696e67206f78656e +1.3.6.1.4.1.12356.103.11.3.1.2.1.3.18|66|19503 +1.3.6.1.4.1.12356.103.11.3.1.2.1.3.20|66|43113 +1.3.6.1.4.1.12356.103.11.3.1.2.1.4.18|2|14 +1.3.6.1.4.1.12356.103.11.3.1.2.1.4.20|2|28 +1.3.6.1.4.1.12356.103.11.3.1.2.1.5.18|2|0 +1.3.6.1.4.1.12356.103.11.3.1.2.1.5.20|2|0 +1.3.6.1.4.1.12356.103.11.3.2.1.0|2|1 +1.3.6.1.4.1.12356.103.11.3.2.2.1.1.28|2|28 +1.3.6.1.4.1.12356.103.11.3.2.2.1.1.31|2|31 +1.3.6.1.4.1.12356.103.11.3.2.2.1.2.28|4x|7a6f6d62696573206f78656e206f78656e206163746564204a61646564204a616465642062757420616374656420717561696e746c79 +1.3.6.1.4.1.12356.103.11.3.2.2.1.2.31|4x|717561696e746c79206b65707420666f72776172642062757420717561696e746c7920717561696e746c7920717561696e746c79 +1.3.6.1.4.1.12356.103.11.3.2.2.1.3.28|66|44440 +1.3.6.1.4.1.12356.103.11.3.2.2.1.3.31|66|29008 +1.3.6.1.4.1.12356.103.11.3.2.2.1.4.28|2|20 +1.3.6.1.4.1.12356.103.11.3.2.2.1.4.31|2|12 +1.3.6.1.4.1.12356.103.11.3.2.2.1.5.28|2|0 +1.3.6.1.4.1.12356.103.11.3.2.2.1.5.31|2|0 +1.3.6.1.4.1.12356.103.11.3.3.1.1.1.13|2|13 +1.3.6.1.4.1.12356.103.11.3.3.1.1.1.22|2|22 +1.3.6.1.4.1.12356.103.11.3.3.1.1.2.13|4|forward +1.3.6.1.4.1.12356.103.11.3.3.1.1.2.22|4|but +1.3.6.1.4.1.12356.103.11.3.3.1.1.3.13|4x|627574207468656972 +1.3.6.1.4.1.12356.103.11.3.3.1.1.3.22|4x|7a6f6d6269657320627574 +1.3.6.1.4.1.12356.103.11.3.3.1.1.4.13|70|16787940431416004052 +1.3.6.1.4.1.12356.103.11.3.3.1.1.4.22|70|17710184031405712434 +1.3.6.1.4.1.12356.103.11.3.3.1.1.5.13|70|13182687672703711880 +1.3.6.1.4.1.12356.103.11.3.3.1.1.5.22|70|3622256469158928737 +1.3.6.1.4.1.12356.103.11.3.3.1.1.6.13|4x|74686569722062757420717561696e746c79204a61646564206163746564206b657074 +1.3.6.1.4.1.12356.103.11.3.3.1.1.6.22|4x|6275742064726976696e67206f78656e +1.3.6.1.4.1.12356.103.11.3.4.1.1.1.8|2|8 +1.3.6.1.4.1.12356.103.11.3.4.1.1.1.11|2|11 +1.3.6.1.4.1.12356.103.11.3.4.1.1.2.8|4x|6b657074206f78656e207a6f6d62696573206275742064726976696e67207468656972206f78656e206b657074 +1.3.6.1.4.1.12356.103.11.3.4.1.1.2.11|4x|6b65707420666f72776172642064726976696e67207a6f6d62696573206f78656e20627574 +1.3.6.1.4.1.12356.103.11.3.4.1.1.3.8|70|6480978108954150981 +1.3.6.1.4.1.12356.103.11.3.4.1.1.3.11|70|12665300791626730954 +1.3.6.1.4.1.12356.103.11.3.4.2.1.1.16|2|16 +1.3.6.1.4.1.12356.103.11.3.4.2.1.1.19|2|19 +1.3.6.1.4.1.12356.103.11.3.4.2.1.2.16|4x|717561696e746c7920746865697220746865697220616374656420717561696e746c79204a61646564 +1.3.6.1.4.1.12356.103.11.3.4.2.1.2.19|4x|6f78656e20666f727761726420616374656420746865697220746865697220666f7277617264206163746564206163746564206f78656e +1.3.6.1.4.1.12356.103.11.3.4.2.1.3.16|70|7513702230642233979 +1.3.6.1.4.1.12356.103.11.3.4.2.1.3.19|70|14860622217699220291 +1.3.6.1.4.1.12356.103.11.3.4.3.1.1.26|2|26 +1.3.6.1.4.1.12356.103.11.3.4.3.1.1.30|2|30 +1.3.6.1.4.1.12356.103.11.3.4.3.1.2.26|70|4583029635519156221 +1.3.6.1.4.1.12356.103.11.3.4.3.1.2.30|70|3241036432196240444 +1.3.6.1.4.1.12356.103.11.3.4.3.1.3.26|70|11831558253105207984 +1.3.6.1.4.1.12356.103.11.3.4.3.1.3.30|70|14204262069719222138 +1.3.6.1.4.1.12356.103.11.3.4.3.1.4.26|4x|74686569722064726976696e6720666f727761726420717561696e746c7920666f7277617264206f78656e2064726976696e67204a6164656420627574 +1.3.6.1.4.1.12356.103.11.3.4.3.1.4.30|4x|7468656972206b657074 +1.3.6.1.4.1.12356.103.11.3.4.3.1.5.26|4x|4a6164656420717561696e746c7920627574207a6f6d62696573207a6f6d6269657320717561696e746c792064726976696e67 +1.3.6.1.4.1.12356.103.11.3.4.3.1.5.30|4x|7a6f6d62696573206163746564206f78656e206b6570742064726976696e67207a6f6d62696573207468656972 +1.3.6.1.4.1.12356.103.11.3.4.3.1.6.26|70|9992323139118834867 +1.3.6.1.4.1.12356.103.11.3.4.3.1.6.30|70|9367479477238246663 +1.3.6.1.4.1.12356.103.11.3.4.3.1.7.26|70|6762486026458541003 +1.3.6.1.4.1.12356.103.11.3.4.3.1.7.30|70|8839417090408992534 +1.3.6.1.4.1.12356.103.11.3.4.3.1.8.26|70|11506866136471525418 +1.3.6.1.4.1.12356.103.11.3.4.3.1.8.30|70|16048041839595291575 +1.3.6.1.4.1.12356.103.11.3.4.3.1.9.26|4x|7a6f6d62696573204a61646564 +1.3.6.1.4.1.12356.103.11.3.4.3.1.9.30|4x|4a616465642064726976696e67 +1.3.6.1.6.3.1.1.4.1.0|6|1.3.6.1.3.206.34.87.221.160 +1.3.6.1.6.3.1.1.4.3.0|6|1.3.6.1.3.23.181.143.140.11.126.158 +1.3.6.1.6.3.1.1.6.1.0|2|6 diff --git a/snmp/tests/compose/data/fortinet.snmprec b/snmp/tests/compose/data/fortinet.snmprec new file mode 100644 index 0000000000000..0e827733e68b9 --- /dev/null +++ b/snmp/tests/compose/data/fortinet.snmprec @@ -0,0 +1,4 @@ +1.3.6.1.2.1.1.1.0|4|Fortinet dummy device +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.12356.103.1 +1.3.6.1.2.1.1.5.0|4|fortinet.example +1.3.6.1.2.1.2.1.0|2|4 diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_fortinet.py b/snmp/tests/test_e2e_core_profiles/test_profile_fortinet.py index 402724f9dac11..8918bcb4ba3ea 100644 --- a/snmp/tests/test_e2e_core_profiles/test_profile_fortinet.py +++ b/snmp/tests/test_e2e_core_profiles/test_profile_fortinet.py @@ -18,14 +18,14 @@ pytestmark = [pytest.mark.e2e, common.py3_plus_only, common.snmp_integration_only] -def test_e2e_profile_fortinet_appliance(dd_agent_check): - config = create_e2e_core_test_config("fortinet-appliance") +def test_e2e_profile_fortinet(dd_agent_check): + config = create_e2e_core_test_config("fortinet") aggregator = common.dd_agent_check_wrapper(dd_agent_check, config, rate=True) ip_address = get_device_ip_from_config(config) common_tags = [ "snmp_profile:fortinet", - "snmp_host:fortinet.appliance.example", + "snmp_host:fortinet.example", "device_namespace:default", "snmp_device:" + ip_address, ] @@ -37,18 +37,18 @@ def test_e2e_profile_fortinet_appliance(dd_agent_check): # --- TEST METADATA --- device = { - "description": "Fortinet Appliance dummy device", + "description": "Fortinet dummy device", "id": "default:" + ip_address, "id_tags": ["device_namespace:default", "snmp_device:" + ip_address], "ip_address": "" + ip_address, - "name": "fortinet.appliance.example", + "name": "fortinet.example", "profile": "fortinet", "status": 1, "sys_object_id": "1.3.6.1.4.1.12356.103.1", "tags": [ "device_namespace:default", "snmp_device:" + ip_address, - "snmp_host:fortinet.appliance.example", + "snmp_host:fortinet.example", "snmp_profile:fortinet", ], "vendor": "fortinet", diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_fortinet_appliance.py b/snmp/tests/test_e2e_core_profiles/test_profile_fortinet_appliance.py new file mode 100644 index 0000000000000..89979c7830f44 --- /dev/null +++ b/snmp/tests/test_e2e_core_profiles/test_profile_fortinet_appliance.py @@ -0,0 +1,99 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +import pytest + +from datadog_checks.dev.utils import get_metadata_metrics + +from .. import common +from ..test_e2e_core_metadata import assert_device_metadata +from .utils import ( + assert_common_metrics, + assert_extend_generic_if, + create_e2e_core_test_config, + get_device_ip_from_config, +) + +pytestmark = [pytest.mark.e2e, common.py3_plus_only, common.snmp_integration_only] + + +def test_e2e_profile_fortinet_appliance(dd_agent_check): + config = create_e2e_core_test_config('fortinet-appliance') + aggregator = common.dd_agent_check_wrapper(dd_agent_check, config, rate=True) + + ip_address = get_device_ip_from_config(config) + common_tags = [ + 'snmp_profile:fortinet-appliance', + 'snmp_host:fortinet.appliance.example', + 'device_namespace:default', + 'snmp_device:' + ip_address, + ] + [] + + # --- TEST EXTENDED METRICS --- + assert_extend_generic_if(aggregator, common_tags) + + # --- TEST METRICS --- + assert_common_metrics(aggregator, common_tags) + + aggregator.assert_metric('snmp.cpu.usage', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.fmHaClusterId', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.fmHaPeerNumber', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.fmLogRate', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.fmRaidDiskNumber', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.fmRaidSize', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.fmSysCpuUsageExcludedNice', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.fmSysDiskCapacity', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.fmSysDiskUsage', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.memory.total', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.memory.usage', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.memory.used', metric_type=aggregator.GAUGE, tags=common_tags) + tag_row = [ + 'fm_device_ent_adom:forward zombies', + 'fm_device_ent_config_state:in-sync', + 'fm_device_ent_connect_state:down', + 'fm_device_ent_db_state:unknown', + 'fm_device_ent_desc:quaintly but kept', + 'fm_device_ent_ha_group:but oxen their Jaded quaintly zombies zombies acted their', + 'fm_device_ent_ha_mode:a-a', + 'fm_device_ent_ip:Jaded acted Jaded', + 'fm_device_ent_mode:faz', + 'fm_device_ent_name:Jaded Jaded their but oxen their driving but', + 'fm_device_ent_sn:quaintly but', + 'fm_device_ent_state:unknown', + 'fm_device_ent_support_state:expired', + ] + + aggregator.assert_metric('snmp.fmDevice', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + tag_rows = [['fm_raid_disk_ent_state:ok'], ['fm_raid_disk_ent_state:spare']] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.fmRaidDiskEntSize', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + tag_row = [ + 'fm_ha_peer_ent_enabled:disabled', + 'fm_ha_peer_ent_host_name:their Jaded quaintly kept but', + 'fm_ha_peer_ent_ip:zombies acted oxen Jaded', + 'fm_ha_peer_ent_sn:Jaded', + 'fm_ha_peer_ent_state:down', + ] + aggregator.assert_metric('snmp.fmHaPeer', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + # --- TEST METADATA --- + device = { + 'description': 'Fortinet Appliance dummy device', + 'id': 'default:' + ip_address, + 'id_tags': ['device_namespace:default', 'snmp_device:' + ip_address], + 'ip_address': '' + ip_address, + 'name': 'fortinet.appliance.example', + 'profile': 'fortinet-appliance', + 'status': 1, + 'sys_object_id': '1.3.6.1.4.1.12356.103.1.999', + 'vendor': 'fortinet', + } + device['tags'] = common_tags + assert_device_metadata(aggregator, device) + + # --- CHECK COVERAGE --- + aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) From bd6c2a3403fb5e777f58f042766d8f80451cb386 Mon Sep 17 00:00:00 2001 From: NouhaManai Date: Thu, 6 Jul 2023 18:52:39 +0200 Subject: [PATCH 74/77] Add profile for Fireeye (#15185) * init * update * address review * address review --- .../snmp/data/default_profiles/fireeye.yaml | 181 ++++++ snmp/metadata.csv | 17 + snmp/tests/compose/data/fireeye.snmprec | 540 ++++++++++++++++++ .../test_profile_fireeye.py | 95 +++ 4 files changed, 833 insertions(+) create mode 100644 snmp/datadog_checks/snmp/data/default_profiles/fireeye.yaml create mode 100644 snmp/tests/compose/data/fireeye.snmprec create mode 100644 snmp/tests/test_e2e_core_profiles/test_profile_fireeye.py diff --git a/snmp/datadog_checks/snmp/data/default_profiles/fireeye.yaml b/snmp/datadog_checks/snmp/data/default_profiles/fireeye.yaml new file mode 100644 index 0000000000000..3c8b4b89e45b5 --- /dev/null +++ b/snmp/datadog_checks/snmp/data/default_profiles/fireeye.yaml @@ -0,0 +1,181 @@ +extends: + - _base.yaml + - _generic-if.yaml + +metadata: + device: + fields: + vendor: + value: "fireeye" + +sysobjectid: + - 1.3.6.1.4.1.25597.1 + +metrics: + - MIB: HOST-RESOURCES-MIB + table: + OID: 1.3.6.1.2.1.25.3.3 + name: hrProcessorTable + symbols: + - OID: 1.3.6.1.2.1.25.3.3.1.2 + name: cpu.usage + metric_tags: + - tag: hr_processor_frw_id + column: + OID: 1.3.6.1.2.1.25.3.3.1.1 + name: hrProcessorFrwID + - MIB: HOST-RESOURCES-MIB + symbol: + OID: 1.3.6.1.2.1.25.2.3.1.6.1 # hrStorageUsed.1 = Physical memory + name: memory.total + - MIB: HOST-RESOURCES-MIB + symbol: + OID: 1.3.6.1.2.1.25.2.3.1.6.6 # hrStorageUsed.6 = Memory buffers + name: feMemoryBuffers + - MIB: HOST-RESOURCES-MIB + symbol: + OID: 1.3.6.1.2.1.25.2.3.1.6.7 # hrStorageUsed.7 = Cached memory + name: feCachedMemory + # - MIB: FE-FIREEYE-MIB + # symbol: + # OID: 1.3.6.1.4.1.25597.11.5.1.10.0 + # name: feProductLicenseActive + # enum: + # true: 1 + # false: 2 + # TODO: enum in scalar metric is not supported yet (keep this metric and this + # comment in profile until it's fixed) + # - MIB: FE-FIREEYE-MIB + # symbol: + # OID: 1.3.6.1.4.1.25597.11.1.1.1.0 + # name: feSystemStatus + # scalar string metric is not supported yet (keep this metric and this comment in profile until it's fixed) + # - MIB: FE-FIREEYE-MIB + # symbol: + # OID: 1.3.6.1.4.1.25597.11.1.1.6.0 + # name: feTemperatureIsHealthy + # enum: + # true: 1 + # false: 2 + # TODO: enum in scalar metric is not supported yet (keep this metric and this + # comment in profile until it's fixed) + # - MIB: FE-FIREEYE-MIB + # symbol: + # OID: 1.3.6.1.4.1.25597.11.2.1.2.0 + # name: feRaidIsHealthy + # enum: + # true: 1 + # false: 2 + # TODO: enum in scalar metric is not supported yet (keep this metric and this + # comment in profile until it's fixed) + - MIB: FE-FIREEYE-MIB + table: + OID: 1.3.6.1.4.1.25597.11.2.1.3 + name: fePhysicalDiskTable + symbols: + - name: fePhysicalDisk + constant_value_one: true + metric_tags: + - column: + OID: 1.3.6.1.4.1.25597.11.2.1.3.1.2 + name: fePhysicalDiskName + tag: fe_physical_disk_name + - column: + OID: 1.3.6.1.4.1.25597.11.2.1.3.1.4 + name: fePhysicalDiskIsHealthy + tag: fe_physical_disk_is_healthy + mapping: + 1: true + 2: false + # - MIB: FE-FIREEYE-MIB + # symbol: + # OID: 1.3.6.1.4.1.25597.11.3.1.2.0 + # name: fePowerSupplyOverallIsHealthy + # enum: + # true: 1 + # false: 2 + # TODO: enum in scalar metric is not supported yet (keep this metric and this + # comment in profile until it's fixed) + # - MIB: FE-FIREEYE-MIB + # symbol: + # OID: 1.3.6.1.4.1.25597.11.4.1.2.0 + # name: feFanOverallIsHealthy + # enum: + # true: 1 + # false: 2 + # TODO: enum in scalar metric is not supported yet (keep this metric and this + # comment in profile until it's fixed) + - MIB: FE-FIREEYE-MIB + symbol: + OID: 1.3.6.1.4.1.25597.13.1.1.0 + name: feTotalEmailCount + forced_type: monotonic_count + - MIB: FE-FIREEYE-MIB + symbol: + OID: 1.3.6.1.4.1.25597.13.1.4.0 + name: feInfectedEmailCount + forced_type: monotonic_count + - MIB: FE-FIREEYE-MIB + symbol: + OID: 1.3.6.1.4.1.25597.13.1.7.0 + name: feAnalyzedEmailCount + forced_type: monotonic_count + - MIB: FE-FIREEYE-MIB + symbol: + OID: 1.3.6.1.4.1.25597.13.1.10.0 + name: feTotalUrlCount + forced_type: monotonic_count + - MIB: FE-FIREEYE-MIB + symbol: + OID: 1.3.6.1.4.1.25597.13.1.13.0 + name: feInfectedUrlCount + forced_type: monotonic_count + - MIB: FE-FIREEYE-MIB + symbol: + OID: 1.3.6.1.4.1.25597.13.1.16.0 + name: feAnalyzedUrlCount + forced_type: monotonic_count + - MIB: FE-FIREEYE-MIB + symbol: + OID: 1.3.6.1.4.1.25597.13.1.19.0 + name: feTotalAttachmentCount + forced_type: monotonic_count + - MIB: FE-FIREEYE-MIB + symbol: + OID: 1.3.6.1.4.1.25597.13.1.22.0 + name: feInfectedAttachmentCount + forced_type: monotonic_count + - MIB: FE-FIREEYE-MIB + symbol: + OID: 1.3.6.1.4.1.25597.13.1.25.0 + name: feAnalyzedAttachmentCount + forced_type: monotonic_count + - MIB: FE-FIREEYE-MIB + symbol: + OID: 1.3.6.1.4.1.25597.13.1.40.0 + name: feeQuarantineUsage + - MIB: FE-FIREEYE-MIB + symbol: + OID: 1.3.6.1.4.1.25597.13.1.44.0 + name: feDeferredEmailCount + - MIB: FE-FIREEYE-MIB + symbol: + OID: 1.3.6.1.4.1.25597.13.1.45.0 + name: feHoldQueueEmailCount + - MIB: FE-FIREEYE-MIB + symbol: + OID: 1.3.6.1.4.1.25597.15.1.1.0 + name: feTotalObjectAnalyzedCount + forced_type: monotonic_count + - MIB: FE-FIREEYE-MIB + symbol: + OID: 1.3.6.1.4.1.25597.15.1.4.0 + name: feTotalMaliciousObjectCount + forced_type: monotonic_count +metric_tags: + - tag: fe_hardware_model + OID: 1.3.6.1.4.1.25597.11.1.1.2.0 + symbol: feHardwareModel + - tag: fe_serial_number + OID: 1.3.6.1.4.1.25597.11.1.1.3.0 + symbol: feSerialNumber diff --git a/snmp/metadata.csv b/snmp/metadata.csv index a7a0f13a7dc5b..3120c250e9f03 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -462,6 +462,23 @@ snmp.fanSpeedSensorStatus,gauge,,,,[Checkpoint Firewall] 0 = OK Otherwise = prob snmp.fanSpeedSensorValue,gauge,,hertz,,[Checkpoint Firewall] Fan rotations per minute.,0,snmp,, snmp.fcFxPortPhys,gauge,,,,"[FIBRE-CHANNEL-FE-MIB] Represent one entry for each FxPort in the Fabric Element, physical level status and parameters of the FxPorts.",0,snmp,, snmp.fcFxPortStatus,gauge,,,,"[FIBRE-CHANNEL-FE-MIB] Represent one entry for each FxPort in the Fabric Element, operational status and parameters of the FxPorts.",0,snmp,, +snmp.feAnalyzedAttachmentCount,count,,,,"[FE-FIREEYE-MIB] This is the cumulative count of all the attachment that we analyzed for maliciousness. This is the same as 'Total Attachments Analyzed' that we currently show in the output to CLI command 'show email-analysis statistics'. This counter will maintain its value across reboots.",0,snmp,, +snmp.feAnalyzedEmailCount,count,,,,"[FE-FIREEYE-MIB] This is cumulative count of all the email which were analyzed. This is the same as 'Total Emails Received and Analyzed' that we currently show in the output to CLI command 'show email-analysis statistics'. This counter will maintain its value across reboots.",0,snmp,, +snmp.feAnalyzedUrlCount,count,,,,"[FE-FIREEYE-MIB] This is the cumulative count of all the URLs that were analyzed and is the same as 'Total URLs Analyzed' that we currently show in the output to CLI command 'show email-analysis statistics'. This counter will maintain its value across reboots.",0,snmp,, +snmp.feCachedMemory,gauge,,,,"[FE-FIREEYE-MIB] Cached memory",0,snmp,, +snmp.feDeferredEmailCount,gauge,,,,"[FE-FIREEYE-MIB] This is a count of deferred emails and will represent snapshot current value.",0,snmp,, +snmp.feHoldQueueEmailCount,gauge,,,,"[FE-FIREEYE-MIB] This is a count of emails in the hold queue and will represent current snapshot value.",0,snmp,, +snmp.feInfectedAttachmentCount,count,,,,"[FE-FIREEYE-MIB] This is a count of all the attachment that are determined to be malicious and is the same as 'Total Attachments Considered Malicious' that we currently show in the output to CLI command 'show email-analysis statistics'. This will be the cumulative value and is maintained across appliance reboots.",0,snmp,, +snmp.feInfectedEmailCount,count,,,,"[FE-FIREEYE-MIB] This is a count of all the email which are determined to be malicious. This is the same as 'Total Email Received with Malicious Content' that we currently show in the output to CLI command 'show email-analysis statistics'. This will be the cumulative value and is maintained across appliance reboots.",0,snmp,, +snmp.feInfectedUrlCount,count,,,,"[FE-FIREEYE-MIB] This is a count of all the URLs that are determined to be malicious and is the same as 'Total URLs Considered Malicious' that we currently show in the output to CLI command 'show email-analysis statistics'. This will be the cumulative value and is maintained across appliance reboots.",0,snmp,, +snmp.feMemoryBuffers,gauge,,,,"[FE-FIREEYE-MIB] Memory buffers",0,snmp,, +snmp.fePhysicalDisk,gauge,,,,"[FE-FIREEYE-MIB] The physical disk table (Make 'sum by {X}' queries to count elements with the tag X.)",0,snmp,, +snmp.feTotalAttachmentCount,count,,,,"[FE-FIREEYE-MIB] This is a count of all the attachment received whether they are processed or not. This is the same as 'Total Attachments Received' that we currently show in the output to CLI command 'show email-analysis statistics'. This will be the cumulative value and is maintained across appliance reboots.",0,snmp,, +snmp.feTotalEmailCount,count,,,,"[FE-FIREEYE-MIB] This is a count of all the emails coming into postfix and also includes emails which do not contain any URL or attachment (email on fast path). This will be the cumulative value and maintained across appliance reboots.",0,snmp,, +snmp.feTotalMaliciousObjectCount,count,,,,"[FE-FIREEYE-MIB] This is a count of all malicious samples detected.",0,snmp,, +snmp.feTotalObjectAnalyzedCount,count,,,,"[FE-FIREEYE-MIB] This is a count of all the object analyzed, including all children of any samples, including URL.",0,snmp,, +snmp.feTotalUrlCount,count,,,,"[FE-FIREEYE-MIB] This is a count of all the URLs received whether they are processed or not. This is the same as 'Total URLs Received' that we currently show in the output to CLI command 'show email-analysis statistics'. This will be the cumulative value and is maintained across appliance reboots.",0,snmp,, +snmp.feeQuarantineUsage,gauge,,,,"[FE-FIREEYE-MIB] This is consumed capacity in term of percentage of max capacity. This is a snapshot value and represents current consumption value.",0,snmp,, snmp.fgApHTTPConnections,gauge,,connection,,[Fortinet FortiGate] The current number of HTTP proxy connections.,0,snmp,, snmp.fgApHTTPMaxConnections,gauge,,connection,,[Fortinet FortiGate] The maximum number of connections supported by HTTP proxy.,0,snmp,, snmp.fgFwPol6ByteCount,count,,packet,,[Fortinet FortiGate] The number of bytes in packets matching the policy.,0,snmp,, diff --git a/snmp/tests/compose/data/fireeye.snmprec b/snmp/tests/compose/data/fireeye.snmprec new file mode 100644 index 0000000000000..70878c4b72811 --- /dev/null +++ b/snmp/tests/compose/data/fireeye.snmprec @@ -0,0 +1,540 @@ +1.3.6.1.2.1.1.1.0|4|fireeye Device Description +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.25597.1 +1.3.6.1.2.1.1.5.0|4|fireeye.device.name +1.3.6.1.2.1.2.1.0|2|28 +1.3.6.1.2.1.25.1.1.0|67|1937602498 +1.3.6.1.2.1.25.1.2.0|4x|07d209150d352003 +1.3.6.1.2.1.25.1.3.0|2|27 +1.3.6.1.2.1.25.1.4.0|4x|4a6164656420717561696e746c79204a6164656420746865697220717561696e746c79 +1.3.6.1.2.1.25.1.5.0|66|1367682176 +1.3.6.1.2.1.25.1.6.0|66|4089305313 +1.3.6.1.2.1.25.1.7.0|2|31 +1.3.6.1.2.1.25.2.2.0|2|10 +1.3.6.1.2.1.25.2.3.1.1.3|2|3 +1.3.6.1.2.1.25.2.3.1.1.15|2|15 +1.3.6.1.2.1.25.2.3.1.2.3|6|1.3.6.1.3.105.153.190.192.28.108.179.46 +1.3.6.1.2.1.25.2.3.1.2.15|6|1.3.6.1.3.16.234.107.236.135.14.0 +1.3.6.1.2.1.25.2.3.1.3.3|4x|6f78656e207a6f6d62696573204a61646564206b657074206b65707420717561696e746c7920627574 +1.3.6.1.2.1.25.2.3.1.3.15|4x|64726976696e67206f78656e +1.3.6.1.2.1.25.2.3.1.4.3|2|20 +1.3.6.1.2.1.25.2.3.1.4.15|2|24 +1.3.6.1.2.1.25.2.3.1.5.3|2|1 +1.3.6.1.2.1.25.2.3.1.5.15|2|25 +1.3.6.1.2.1.25.2.3.1.6.1|2|25 +1.3.6.1.2.1.25.2.3.1.6.3|2|25 +1.3.6.1.2.1.25.2.3.1.6.6|2|25 +1.3.6.1.2.1.25.2.3.1.6.7|2|25 +1.3.6.1.2.1.25.2.3.1.6.15|2|3 +1.3.6.1.2.1.25.2.3.1.7.3|65|4267066009 +1.3.6.1.2.1.25.2.3.1.7.15|65|3111166561 +1.3.6.1.2.1.25.3.2.1.1.9|2|9 +1.3.6.1.2.1.25.3.2.1.1.13|2|13 +1.3.6.1.2.1.25.3.2.1.2.9|6|1.3.6.1.3.147.7.28.115.157 +1.3.6.1.2.1.25.3.2.1.2.13|6|1.3.6.1.3.195.103.199 +1.3.6.1.2.1.25.3.2.1.3.9|4|but +1.3.6.1.2.1.25.3.2.1.3.13|4|zombies +1.3.6.1.2.1.25.3.2.1.4.9|6|1.3.6.1.3.13.93.192.6.30.129.34 +1.3.6.1.2.1.25.3.2.1.4.13|6|1.3.6.1.3.197 +1.3.6.1.2.1.25.3.2.1.5.9|2|3 +1.3.6.1.2.1.25.3.2.1.5.13|2|3 +1.3.6.1.2.1.25.3.2.1.6.9|65|1415924643 +1.3.6.1.2.1.25.3.2.1.6.13|65|2611938728 +1.3.6.1.2.1.25.3.3.1.1.10|6|1.3.6.1.3.68.26.47 +1.3.6.1.2.1.25.3.3.1.1.23|6|1.3.6.1.3.68.143.66.213.126.236.187.81 +1.3.6.1.2.1.25.3.3.1.2.10|2|15 +1.3.6.1.2.1.25.3.3.1.2.23|2|21 +1.3.6.1.2.1.25.3.4.1.1.6|2|11 +1.3.6.1.2.1.25.3.4.1.1.29|2|23 +1.3.6.1.2.1.25.3.5.1.1.2|2|5 +1.3.6.1.2.1.25.3.5.1.1.23|2|1 +1.3.6.1.2.1.25.3.5.1.2.2|4x|717561696e746c79207a6f6d62696573206b657074206163746564206b657074 +1.3.6.1.2.1.25.3.5.1.2.23|4x|6f78656e20666f72776172642064726976696e67 +1.3.6.1.2.1.25.3.6.1.1.19|2|1 +1.3.6.1.2.1.25.3.6.1.1.22|2|1 +1.3.6.1.2.1.25.3.6.1.2.19|2|1 +1.3.6.1.2.1.25.3.6.1.2.22|2|1 +1.3.6.1.2.1.25.3.6.1.3.19|2|2 +1.3.6.1.2.1.25.3.6.1.3.22|2|2 +1.3.6.1.2.1.25.3.6.1.4.19|2|20 +1.3.6.1.2.1.25.3.6.1.4.22|2|23 +1.3.6.1.2.1.25.3.7.1.1.14.26|2|26 +1.3.6.1.2.1.25.3.7.1.1.25.15|2|15 +1.3.6.1.2.1.25.3.7.1.2.14.26|4x|6b657074206163746564207a6f6d6269657320746865697220717561696e746c79204a61646564 +1.3.6.1.2.1.25.3.7.1.2.25.15|4x|6b657074206b65707420627574206f78656e207468656972206163746564 +1.3.6.1.2.1.25.3.7.1.3.14.26|4x|717561696e746c79206b657074204a61646564206163746564204a61646564207a6f6d62696573 +1.3.6.1.2.1.25.3.7.1.3.25.15|4x|6b65707420627574206f78656e20717561696e746c79207468656972206f78656e20627574 +1.3.6.1.2.1.25.3.7.1.4.14.26|2|14 +1.3.6.1.2.1.25.3.7.1.4.25.15|2|9 +1.3.6.1.2.1.25.3.7.1.5.14.26|2|11 +1.3.6.1.2.1.25.3.7.1.5.25.15|2|5 +1.3.6.1.2.1.25.3.8.1.1.1|2|1 +1.3.6.1.2.1.25.3.8.1.1.18|2|18 +1.3.6.1.2.1.25.3.8.1.2.1|4x|717561696e746c79206f78656e20666f7277617264207a6f6d62696573207468656972 +1.3.6.1.2.1.25.3.8.1.2.18|4x|717561696e746c79207a6f6d626965732061637465642064726976696e67206163746564206b657074206f78656e206b657074 +1.3.6.1.2.1.25.3.8.1.3.1|4x|64726976696e6720627574207468656972204a6164656420717561696e746c79 +1.3.6.1.2.1.25.3.8.1.3.18|4x|6275742064726976696e67207a6f6d62696573206163746564207468656972 +1.3.6.1.2.1.25.3.8.1.4.1|6|1.3.6.1.3.253 +1.3.6.1.2.1.25.3.8.1.4.18|6|1.3.6.1.3.59.181.42 +1.3.6.1.2.1.25.3.8.1.5.1|2|1 +1.3.6.1.2.1.25.3.8.1.5.18|2|1 +1.3.6.1.2.1.25.3.8.1.6.1|2|1 +1.3.6.1.2.1.25.3.8.1.6.18|2|2 +1.3.6.1.2.1.25.3.8.1.7.1|2|9 +1.3.6.1.2.1.25.3.8.1.7.18|2|23 +1.3.6.1.2.1.25.3.8.1.8.1|4x|07d209150d352003 +1.3.6.1.2.1.25.3.8.1.8.18|4x|07d209150d352003 +1.3.6.1.2.1.25.3.8.1.9.1|4x|07d209150d352003 +1.3.6.1.2.1.25.3.8.1.9.18|4x|07d209150d352003 +1.3.6.1.2.1.25.4.1.0|2|11 +1.3.6.1.2.1.25.4.2.1.1.16|2|16 +1.3.6.1.2.1.25.4.2.1.1.24|2|24 +1.3.6.1.2.1.25.4.2.1.2.16|4x|6b657074204a61646564207a6f6d6269657320717561696e746c7920717561696e746c79207468656972 +1.3.6.1.2.1.25.4.2.1.2.24|4|but +1.3.6.1.2.1.25.4.2.1.3.16|6|1.3.6.1.3.245.82.41.11.225.210 +1.3.6.1.2.1.25.4.2.1.3.24|6|1.3.6.1.3.223.138.210.241.183 +1.3.6.1.2.1.25.4.2.1.4.16|4x|7a6f6d62696573206f78656e207a6f6d62696573206163746564206163746564206b657074206f78656e +1.3.6.1.2.1.25.4.2.1.4.24|4x|62757420616374656420616374656420717561696e746c7920666f727761726420666f7277617264 +1.3.6.1.2.1.25.4.2.1.5.16|4x|64726976696e67204a6164656420666f7277617264206b657074204a61646564204a61646564206b657074 +1.3.6.1.2.1.25.4.2.1.5.24|4x|64726976696e6720616374656420627574206b65707420666f7277617264207a6f6d6269657320627574 +1.3.6.1.2.1.25.4.2.1.6.16|2|3 +1.3.6.1.2.1.25.4.2.1.6.24|2|2 +1.3.6.1.2.1.25.4.2.1.7.16|2|3 +1.3.6.1.2.1.25.4.2.1.7.24|2|2 +1.3.6.1.2.1.25.5.1.1.1.4|2|23 +1.3.6.1.2.1.25.5.1.1.1.27|2|10 +1.3.6.1.2.1.25.5.1.1.2.4|2|30 +1.3.6.1.2.1.25.5.1.1.2.27|2|2 +1.3.6.1.2.1.25.6.1.0|67|4286615283 +1.3.6.1.2.1.25.6.2.0|67|527217942 +1.3.6.1.2.1.25.6.3.1.1.8|2|8 +1.3.6.1.2.1.25.6.3.1.1.28|2|28 +1.3.6.1.2.1.25.6.3.1.2.8|4x|746865697220717561696e746c7920717561696e746c79206f78656e +1.3.6.1.2.1.25.6.3.1.2.28|4|Jaded +1.3.6.1.2.1.25.6.3.1.3.8|6|1.3.6.1.3 +1.3.6.1.2.1.25.6.3.1.3.28|6|1.3.6.1.3.74 +1.3.6.1.2.1.25.6.3.1.4.8|2|1 +1.3.6.1.2.1.25.6.3.1.4.28|2|1 +1.3.6.1.2.1.25.6.3.1.5.8|4x|07d209150d352003 +1.3.6.1.2.1.25.6.3.1.5.28|4x|07d209150d352003 +1.3.6.1.4.1.25597.1.1.1.0|4x|6f78656e206f78656e +1.3.6.1.4.1.25597.1.1.2.1.1.23802|66|23802 +1.3.6.1.4.1.25597.1.1.2.1.1.31848|66|31848 +1.3.6.1.4.1.25597.1.1.2.1.1.35286|66|35286 +1.3.6.1.4.1.25597.1.1.2.1.1.58776|66|58776 +1.3.6.1.4.1.25597.1.1.2.1.2.23802|66|49529 +1.3.6.1.4.1.25597.1.1.2.1.2.31848|66|46140 +1.3.6.1.4.1.25597.1.1.2.1.2.35286|66|34720 +1.3.6.1.4.1.25597.1.1.2.1.2.58776|66|12640 +1.3.6.1.4.1.25597.1.1.2.1.3.23802|4|zombies +1.3.6.1.4.1.25597.1.1.2.1.3.31848|4|quaintly +1.3.6.1.4.1.25597.1.1.2.1.3.35286|4x|64726976696e6720666f7277617264206f78656e20746865697220717561696e746c79207a6f6d62696573206275742064726976696e67 +1.3.6.1.4.1.25597.1.1.2.1.3.58776|4x|6b657074206b657074206b657074207a6f6d6269657320666f72776172642064726976696e67206b657074 +1.3.6.1.4.1.25597.1.1.2.1.4.23802|4x|6b6570742061637465642064726976696e6720666f72776172642062757420627574 +1.3.6.1.4.1.25597.1.1.2.1.4.31848|4x|6275742064726976696e6720627574206f78656e206b65707420666f727761726420717561696e746c79207a6f6d62696573 +1.3.6.1.4.1.25597.1.1.2.1.4.35286|4x|6f78656e20717561696e746c79 +1.3.6.1.4.1.25597.1.1.2.1.4.58776|4x|717561696e746c7920627574207a6f6d626965732062757420717561696e746c7920627574 +1.3.6.1.4.1.25597.1.1.2.1.5.23802|4x|666f7277617264206b6570742064726976696e67207a6f6d6269657320627574204a61646564204a61646564207468656972204a61646564 +1.3.6.1.4.1.25597.1.1.2.1.5.31848|4|quaintly +1.3.6.1.4.1.25597.1.1.2.1.5.35286|4x|6275742062757420666f7277617264 +1.3.6.1.4.1.25597.1.1.2.1.5.58776|4x|627574207a6f6d62696573207a6f6d6269657320666f7277617264207468656972206163746564206f78656e +1.3.6.1.4.1.25597.1.1.2.1.6.23802|70|14650903387339138232 +1.3.6.1.4.1.25597.1.1.2.1.6.31848|70|3750650482426717563 +1.3.6.1.4.1.25597.1.1.2.1.6.35286|70|8109283317065945859 +1.3.6.1.4.1.25597.1.1.2.1.6.58776|70|12105053409570979200 +1.3.6.1.4.1.25597.1.1.2.1.7.23802|64x|d1791af1 +1.3.6.1.4.1.25597.1.1.2.1.7.31848|64x|b5f4d0be +1.3.6.1.4.1.25597.1.1.2.1.7.35286|64x|16168b75 +1.3.6.1.4.1.25597.1.1.2.1.7.58776|64x|3e613cbc +1.3.6.1.4.1.25597.1.1.2.1.8.23802|64x|ee1e6279 +1.3.6.1.4.1.25597.1.1.2.1.8.31848|64x|5c018b51 +1.3.6.1.4.1.25597.1.1.2.1.8.35286|64x|a35fa853 +1.3.6.1.4.1.25597.1.1.2.1.8.58776|64x|a1924945 +1.3.6.1.4.1.25597.1.1.2.1.9.23802|4x|64726976696e672062757420666f727761726420666f7277617264206f78656e20717561696e746c79206b657074204a6164656420666f7277617264 +1.3.6.1.4.1.25597.1.1.2.1.9.31848|4x|6f78656e206163746564206b65707420627574 +1.3.6.1.4.1.25597.1.1.2.1.9.35286|4x|6f78656e20746865697220666f7277617264 +1.3.6.1.4.1.25597.1.1.2.1.9.58776|4x|717561696e746c7920616374656420666f727761726420627574206f78656e206f78656e206163746564 +1.3.6.1.4.1.25597.1.1.2.1.10.23802|4x|616374656420627574206b657074207a6f6d62696573206f78656e20717561696e746c7920717561696e746c79206b657074 +1.3.6.1.4.1.25597.1.1.2.1.10.31848|4x|4a6164656420666f72776172642064726976696e67206163746564 +1.3.6.1.4.1.25597.1.1.2.1.10.35286|4|zombies +1.3.6.1.4.1.25597.1.1.2.1.10.58776|4x|4a61646564206f78656e +1.3.6.1.4.1.25597.1.1.2.1.11.23802|2|24 +1.3.6.1.4.1.25597.1.1.2.1.11.31848|2|5 +1.3.6.1.4.1.25597.1.1.2.1.11.35286|2|1 +1.3.6.1.4.1.25597.1.1.2.1.11.58776|2|5 +1.3.6.1.4.1.25597.1.1.2.1.12.23802|2|24 +1.3.6.1.4.1.25597.1.1.2.1.12.31848|2|12 +1.3.6.1.4.1.25597.1.1.2.1.12.35286|2|14 +1.3.6.1.4.1.25597.1.1.2.1.12.58776|2|31 +1.3.6.1.4.1.25597.1.1.2.1.13.23802|4|forward +1.3.6.1.4.1.25597.1.1.2.1.13.31848|4x|7a6f6d62696573207468656972206163746564207a6f6d62696573206163746564206f78656e2064726976696e67 +1.3.6.1.4.1.25597.1.1.2.1.13.35286|4x|666f7277617264204a61646564207468656972206b657074207a6f6d62696573207a6f6d6269657320627574206163746564206163746564 +1.3.6.1.4.1.25597.1.1.2.1.13.58776|4x|6f78656e206f78656e20717561696e746c7920717561696e746c79 +1.3.6.1.4.1.25597.1.1.2.1.14.23802|66|62048 +1.3.6.1.4.1.25597.1.1.2.1.14.31848|66|26406 +1.3.6.1.4.1.25597.1.1.2.1.14.35286|66|54700 +1.3.6.1.4.1.25597.1.1.2.1.14.58776|66|6645 +1.3.6.1.4.1.25597.1.1.2.1.15.23802|4x|6163746564206f78656e +1.3.6.1.4.1.25597.1.1.2.1.15.31848|4x|6b657074207a6f6d62696573 +1.3.6.1.4.1.25597.1.1.2.1.15.35286|4x|4a6164656420717561696e746c79206f78656e20717561696e746c792062757420717561696e746c79 +1.3.6.1.4.1.25597.1.1.2.1.15.58776|4x|6b657074204a61646564204a6164656420627574206f78656e206163746564206b657074206275742064726976696e67 +1.3.6.1.4.1.25597.1.1.2.1.16.23802|4x|6b657074204a61646564204a61646564 +1.3.6.1.4.1.25597.1.1.2.1.16.31848|4x|6f78656e2064726976696e672062757420666f727761726420666f7277617264207468656972 +1.3.6.1.4.1.25597.1.1.2.1.16.35286|4x|666f7277617264206b65707420666f7277617264206f78656e +1.3.6.1.4.1.25597.1.1.2.1.16.58776|4x|6f78656e207468656972204a61646564206163746564204a6164656420717561696e746c7920666f7277617264207468656972206163746564 +1.3.6.1.4.1.25597.1.1.2.1.17.23802|4x|64726976696e6720616374656420717561696e746c7920627574206f78656e206f78656e20717561696e746c79206f78656e206163746564 +1.3.6.1.4.1.25597.1.1.2.1.17.31848|4x|4a6164656420666f7277617264204a61646564204a61646564206b657074207a6f6d62696573 +1.3.6.1.4.1.25597.1.1.2.1.17.35286|4x|746865697220627574 +1.3.6.1.4.1.25597.1.1.2.1.17.58776|4x|64726976696e67206163746564206275742061637465642064726976696e67 +1.3.6.1.4.1.25597.1.1.2.1.18.23802|4x|64726976696e67207468656972206f78656e20717561696e746c79206275742064726976696e672064726976696e67 +1.3.6.1.4.1.25597.1.1.2.1.18.31848|4x|6f78656e204a61646564206b657074 +1.3.6.1.4.1.25597.1.1.2.1.18.35286|4x|6b65707420717561696e746c7920717561696e746c7920717561696e746c7920717561696e746c792064726976696e6720717561696e746c79207468656972206b657074 +1.3.6.1.4.1.25597.1.1.2.1.18.58776|4|oxen +1.3.6.1.4.1.25597.1.1.2.1.19.23802|4|kept +1.3.6.1.4.1.25597.1.1.2.1.19.31848|4x|64726976696e67206163746564204a616465642064726976696e67207a6f6d62696573207a6f6d62696573206f78656e206163746564 +1.3.6.1.4.1.25597.1.1.2.1.19.35286|4x|666f72776172642062757420627574 +1.3.6.1.4.1.25597.1.1.2.1.19.58776|4|Jaded +1.3.6.1.4.1.25597.1.1.2.1.20.23802|4x|61637465642064726976696e672064726976696e67206163746564207468656972207468656972206b657074207a6f6d62696573207468656972 +1.3.6.1.4.1.25597.1.1.2.1.20.31848|4x|6f78656e204a616465642064726976696e67207a6f6d62696573 +1.3.6.1.4.1.25597.1.1.2.1.20.35286|4x|7a6f6d626965732064726976696e67206f78656e +1.3.6.1.4.1.25597.1.1.2.1.20.58776|4x|666f7277617264206f78656e +1.3.6.1.4.1.25597.1.1.2.1.21.23802|66|20721 +1.3.6.1.4.1.25597.1.1.2.1.21.31848|66|47682 +1.3.6.1.4.1.25597.1.1.2.1.21.35286|66|46908 +1.3.6.1.4.1.25597.1.1.2.1.21.58776|66|30660 +1.3.6.1.4.1.25597.1.1.2.1.22.23802|66|53059 +1.3.6.1.4.1.25597.1.1.2.1.22.31848|66|29919 +1.3.6.1.4.1.25597.1.1.2.1.22.35286|66|48398 +1.3.6.1.4.1.25597.1.1.2.1.22.58776|66|49056 +1.3.6.1.4.1.25597.1.1.2.1.23.23802|4|but +1.3.6.1.4.1.25597.1.1.2.1.23.31848|4x|616374656420666f727761726420717561696e746c7920666f727761726420666f7277617264206b657074206b6570742064726976696e6720717561696e746c79 +1.3.6.1.4.1.25597.1.1.2.1.23.35286|4x|666f72776172642062757420717561696e746c79206b65707420746865697220746865697220627574 +1.3.6.1.4.1.25597.1.1.2.1.23.58776|4x|64726976696e672064726976696e67 +1.3.6.1.4.1.25597.1.1.2.1.24.23802|2|28 +1.3.6.1.4.1.25597.1.1.2.1.24.31848|2|18 +1.3.6.1.4.1.25597.1.1.2.1.24.35286|2|11 +1.3.6.1.4.1.25597.1.1.2.1.24.58776|2|26 +1.3.6.1.4.1.25597.1.1.2.1.25.23802|4x|64726976696e67207468656972 +1.3.6.1.4.1.25597.1.1.2.1.25.31848|4x|7a6f6d6269657320666f7277617264 +1.3.6.1.4.1.25597.1.1.2.1.25.35286|4x|666f727761726420666f727761726420666f7277617264207a6f6d62696573206f78656e20627574207a6f6d62696573 +1.3.6.1.4.1.25597.1.1.2.1.25.58776|4x|4a61646564207a6f6d626965732064726976696e6720627574204a61646564207468656972 +1.3.6.1.4.1.25597.1.1.2.1.26.23802|4x|6163746564204a61646564 +1.3.6.1.4.1.25597.1.1.2.1.26.31848|4x|717561696e746c79204a616465642062757420717561696e746c79204a6164656420717561696e746c7920666f7277617264206b65707420627574 +1.3.6.1.4.1.25597.1.1.2.1.26.35286|4x|666f7277617264206f78656e206b657074 +1.3.6.1.4.1.25597.1.1.2.1.26.58776|4x|7a6f6d626965732064726976696e6720746865697220717561696e746c792064726976696e67204a6164656420627574 +1.3.6.1.4.1.25597.1.1.2.1.27.23802|4|acted +1.3.6.1.4.1.25597.1.1.2.1.27.31848|4x|64726976696e67206163746564 +1.3.6.1.4.1.25597.1.1.2.1.27.35286|4x|6b657074207a6f6d62696573206b65707420627574 +1.3.6.1.4.1.25597.1.1.2.1.27.58776|4x|616374656420666f7277617264207a6f6d6269657320627574207468656972206163746564206163746564 +1.3.6.1.4.1.25597.1.1.2.1.28.23802|4x|7468656972204a61646564204a61646564 +1.3.6.1.4.1.25597.1.1.2.1.28.31848|4x|627574207a6f6d62696573206b657074206f78656e20616374656420746865697220627574206b657074 +1.3.6.1.4.1.25597.1.1.2.1.28.35286|4x|717561696e746c79204a6164656420666f727761726420666f72776172642061637465642064726976696e6720627574207a6f6d62696573 +1.3.6.1.4.1.25597.1.1.2.1.28.58776|4x|64726976696e67206f78656e206b657074204a61646564 +1.3.6.1.4.1.25597.1.1.2.1.29.23802|4x|6b657074207468656972204a61646564206b657074206f78656e20746865697220666f7277617264207a6f6d62696573 +1.3.6.1.4.1.25597.1.1.2.1.29.31848|4x|666f727761726420746865697220717561696e746c79207a6f6d6269657320666f7277617264206b65707420717561696e746c79206f78656e +1.3.6.1.4.1.25597.1.1.2.1.29.35286|4x|746865697220717561696e746c7920627574207a6f6d62696573207a6f6d62696573 +1.3.6.1.4.1.25597.1.1.2.1.29.58776|4x|4a616465642064726976696e67204a61646564 +1.3.6.1.4.1.25597.1.1.2.1.30.23802|64x|7ce19516 +1.3.6.1.4.1.25597.1.1.2.1.30.31848|64x|98f9ba5f +1.3.6.1.4.1.25597.1.1.2.1.30.35286|64x|06ece05f +1.3.6.1.4.1.25597.1.1.2.1.30.58776|64x|462a1add +1.3.6.1.4.1.25597.1.1.2.1.31.23802|4x|4a61646564207a6f6d62696573207468656972206b657074206f78656e +1.3.6.1.4.1.25597.1.1.2.1.31.31848|4|forward +1.3.6.1.4.1.25597.1.1.2.1.31.35286|4x|6b657074207a6f6d62696573206163746564206f78656e207468656972206b65707420666f7277617264207a6f6d62696573204a61646564 +1.3.6.1.4.1.25597.1.1.2.1.31.58776|4x|64726976696e672061637465642064726976696e6720717561696e746c792064726976696e6720717561696e746c79206275742064726976696e67206163746564 +1.3.6.1.4.1.25597.1.1.2.1.32.23802|4x|616374656420627574207a6f6d62696573204a61646564206b657074207a6f6d62696573206163746564 +1.3.6.1.4.1.25597.1.1.2.1.32.31848|4x|62757420666f72776172642062757420666f7277617264207a6f6d62696573206b657074204a61646564204a61646564 +1.3.6.1.4.1.25597.1.1.2.1.32.35286|4x|627574204a61646564 +1.3.6.1.4.1.25597.1.1.2.1.32.58776|4x|4a6164656420666f727761726420627574206f78656e +1.3.6.1.4.1.25597.1.1.2.1.33.23802|4x|717561696e746c79206f78656e20627574206b65707420717561696e746c7920717561696e746c79 +1.3.6.1.4.1.25597.1.1.2.1.33.31848|4x|6f78656e20666f727761726420616374656420616374656420717561696e746c79206163746564204a616465642064726976696e67 +1.3.6.1.4.1.25597.1.1.2.1.33.35286|4x|6f78656e206f78656e206163746564206f78656e207a6f6d62696573206b657074 +1.3.6.1.4.1.25597.1.1.2.1.33.58776|4x|7468656972204a61646564206163746564 +1.3.6.1.4.1.25597.1.1.2.1.34.23802|4x|7a6f6d6269657320746865697220717561696e746c7920627574206f78656e20746865697220616374656420616374656420627574 +1.3.6.1.4.1.25597.1.1.2.1.34.31848|4|Jaded +1.3.6.1.4.1.25597.1.1.2.1.34.35286|4x|64726976696e672064726976696e67207a6f6d6269657320666f7277617264204a61646564206163746564206163746564206f78656e204a61646564 +1.3.6.1.4.1.25597.1.1.2.1.34.58776|4x|64726976696e67206163746564206163746564 +1.3.6.1.4.1.25597.1.1.2.1.35.23802|2|3 +1.3.6.1.4.1.25597.1.1.2.1.35.31848|2|2 +1.3.6.1.4.1.25597.1.1.2.1.35.35286|2|3 +1.3.6.1.4.1.25597.1.1.2.1.35.58776|2|3 +1.3.6.1.4.1.25597.1.1.2.1.36.23802|4x|746865697220746865697220717561696e746c7920717561696e746c79206f78656e2064726976696e67206f78656e +1.3.6.1.4.1.25597.1.1.2.1.36.31848|4|acted +1.3.6.1.4.1.25597.1.1.2.1.36.35286|4x|6b657074206163746564 +1.3.6.1.4.1.25597.1.1.2.1.36.58776|4x|666f7277617264207a6f6d62696573206163746564206f78656e204a6164656420717561696e746c792064726976696e67 +1.3.6.1.4.1.25597.1.1.2.1.37.23802|2|0 +1.3.6.1.4.1.25597.1.1.2.1.37.31848|2|3 +1.3.6.1.4.1.25597.1.1.2.1.37.35286|2|16 +1.3.6.1.4.1.25597.1.1.2.1.37.58776|2|0 +1.3.6.1.4.1.25597.1.1.2.1.38.23802|4x|64726976696e67206b6570742074686569722062757420717561696e746c79207468656972206f78656e207468656972207468656972 +1.3.6.1.4.1.25597.1.1.2.1.38.31848|4x|64726976696e6720717561696e746c79206f78656e207468656972 +1.3.6.1.4.1.25597.1.1.2.1.38.35286|4x|746865697220717561696e746c79207468656972207a6f6d626965732064726976696e67204a61646564206275742064726976696e67207468656972 +1.3.6.1.4.1.25597.1.1.2.1.38.58776|4|Jaded +1.3.6.1.4.1.25597.1.1.2.1.39.23802|2|1 +1.3.6.1.4.1.25597.1.1.2.1.39.31848|2|4 +1.3.6.1.4.1.25597.1.1.2.1.39.35286|2|4 +1.3.6.1.4.1.25597.1.1.2.1.39.58776|2|4 +1.3.6.1.4.1.25597.1.1.2.1.40.23802|4x|61637465642064726976696e6720627574207a6f6d626965732064726976696e6720666f7277617264 +1.3.6.1.4.1.25597.1.1.2.1.40.31848|4x|746865697220717561696e746c79 +1.3.6.1.4.1.25597.1.1.2.1.40.35286|4x|717561696e746c79206f78656e20666f727761726420627574207468656972 +1.3.6.1.4.1.25597.1.1.2.1.40.58776|4x|6b6570742064726976696e67207a6f6d6269657320666f72776172642064726976696e67 +1.3.6.1.4.1.25597.1.1.2.1.41.23802|2|20 +1.3.6.1.4.1.25597.1.1.2.1.41.31848|2|5 +1.3.6.1.4.1.25597.1.1.2.1.41.35286|2|28 +1.3.6.1.4.1.25597.1.1.2.1.41.58776|2|4 +1.3.6.1.4.1.25597.1.1.2.1.42.23802|4x|7a6f6d6269657320666f7277617264206f78656e206b657074204a61646564207a6f6d62696573207468656972 +1.3.6.1.4.1.25597.1.1.2.1.42.31848|4x|6f78656e2064726976696e6720717561696e746c7920627574 +1.3.6.1.4.1.25597.1.1.2.1.42.35286|4x|7468656972207a6f6d62696573206163746564206275742062757420746865697220717561696e746c79206f78656e207468656972 +1.3.6.1.4.1.25597.1.1.2.1.42.58776|4x|6275742064726976696e672064726976696e67 +1.3.6.1.4.1.25597.1.1.2.1.43.23802|66|36510 +1.3.6.1.4.1.25597.1.1.2.1.43.31848|66|64269 +1.3.6.1.4.1.25597.1.1.2.1.43.35286|66|49420 +1.3.6.1.4.1.25597.1.1.2.1.43.58776|66|46390 +1.3.6.1.4.1.25597.1.1.2.1.44.23802|66|65044 +1.3.6.1.4.1.25597.1.1.2.1.44.31848|66|59986 +1.3.6.1.4.1.25597.1.1.2.1.44.35286|66|6972 +1.3.6.1.4.1.25597.1.1.2.1.44.58776|66|5077 +1.3.6.1.4.1.25597.1.1.2.1.45.23802|66|4113811425 +1.3.6.1.4.1.25597.1.1.2.1.45.31848|66|951367174 +1.3.6.1.4.1.25597.1.1.2.1.45.35286|66|3907654574 +1.3.6.1.4.1.25597.1.1.2.1.45.58776|66|2320400755 +1.3.6.1.4.1.25597.1.1.2.1.46.23802|4x|616374656420717561696e746c7920666f72776172642064726976696e67206f78656e204a61646564204a616465642064726976696e67 +1.3.6.1.4.1.25597.1.1.2.1.46.31848|4x|717561696e746c79207a6f6d62696573206f78656e20717561696e746c792064726976696e67207a6f6d62696573 +1.3.6.1.4.1.25597.1.1.2.1.46.35286|4|forward +1.3.6.1.4.1.25597.1.1.2.1.46.58776|4|but +1.3.6.1.4.1.25597.1.1.2.1.47.23802|4x|627574204a61646564204a6164656420717561696e746c792064726976696e6720746865697220666f7277617264206f78656e +1.3.6.1.4.1.25597.1.1.2.1.47.31848|4|oxen +1.3.6.1.4.1.25597.1.1.2.1.47.35286|4x|74686569722064726976696e67206b657074206b657074 +1.3.6.1.4.1.25597.1.1.2.1.47.58776|4x|717561696e746c792064726976696e672062757420666f727761726420666f7277617264 +1.3.6.1.4.1.25597.1.1.2.1.48.23802|4x|7468656972206f78656e206f78656e2064726976696e6720616374656420616374656420666f727761726420717561696e746c79206f78656e +1.3.6.1.4.1.25597.1.1.2.1.48.31848|4|oxen +1.3.6.1.4.1.25597.1.1.2.1.48.35286|4x|7a6f6d626965732064726976696e672061637465642064726976696e67206b657074207468656972 +1.3.6.1.4.1.25597.1.1.2.1.48.58776|4x|7a6f6d626965732064726976696e67 +1.3.6.1.4.1.25597.1.1.2.1.49.23802|4x|666f7277617264204a616465642064726976696e67 +1.3.6.1.4.1.25597.1.1.2.1.49.31848|4x|4a61646564206b657074 +1.3.6.1.4.1.25597.1.1.2.1.49.35286|4x|627574206275742064726976696e67207468656972 +1.3.6.1.4.1.25597.1.1.2.1.49.58776|4x|7468656972206163746564207468656972207a6f6d62696573206b65707420717561696e746c7920717561696e746c79206f78656e +1.3.6.1.4.1.25597.1.1.2.1.50.23802|4x|61637465642064726976696e67206275742064726976696e6720666f7277617264 +1.3.6.1.4.1.25597.1.1.2.1.50.31848|4x|4a616465642064726976696e672064726976696e6720666f7277617264206275742064726976696e6720666f7277617264 +1.3.6.1.4.1.25597.1.1.2.1.50.35286|4|forward +1.3.6.1.4.1.25597.1.1.2.1.50.58776|4|zombies +1.3.6.1.4.1.25597.1.1.3.0|66|24796 +1.3.6.1.4.1.25597.11.1.1.1.0|4x|717561696e746c7920666f727761726420717561696e746c7920717561696e746c7920666f72776172642062757420666f7277617264206163746564 +1.3.6.1.4.1.25597.11.1.1.2.0|4x|627574206275742074686569722064726976696e6720616374656420666f727761726420666f7277617264207468656972207a6f6d62696573 +1.3.6.1.4.1.25597.11.1.1.3.0|4x|7a6f6d626965732064726976696e6720717561696e746c79204a61646564207468656972207a6f6d626965732064726976696e6720627574204a61646564 +1.3.6.1.4.1.25597.11.1.1.4.0|2|18 +1.3.6.1.4.1.25597.11.1.1.5.0|4x|717561696e746c79204a6164656420746865697220717561696e746c79206f78656e206f78656e +1.3.6.1.4.1.25597.11.1.1.6.0|2|2 +1.3.6.1.4.1.25597.11.1.1.7.0|4x|6b65707420717561696e746c7920746865697220746865697220666f72776172642064726976696e67 +1.3.6.1.4.1.25597.11.1.1.8.0|2|2 +1.3.6.1.4.1.25597.11.1.1.9.0|2|2 +1.3.6.1.4.1.25597.11.1.1.10.0|2|2 +1.3.6.1.4.1.25597.11.1.1.11.0|2|2 +1.3.6.1.4.1.25597.11.1.1.12.0|2|13 +1.3.6.1.4.1.25597.11.1.1.13.0|2|12 +1.3.6.1.4.1.25597.11.1.1.14.0|2|1 +1.3.6.1.4.1.25597.11.1.1.15.0|2|3 +1.3.6.1.4.1.25597.11.1.1.16.0|2|1 +1.3.6.1.4.1.25597.11.1.1.17.0|2|2 +1.3.6.1.4.1.25597.11.2.1.1.0|4x|64726976696e6720666f72776172642064726976696e67206f78656e206f78656e +1.3.6.1.4.1.25597.11.2.1.2.0|2|2 +1.3.6.1.4.1.25597.11.2.1.3.1.1.10459|66|10459 +1.3.6.1.4.1.25597.11.2.1.3.1.1.30484|66|30484 +1.3.6.1.4.1.25597.11.2.1.3.1.1.50143|66|50143 +1.3.6.1.4.1.25597.11.2.1.3.1.1.56370|66|56370 +1.3.6.1.4.1.25597.11.2.1.3.1.2.10459|4x|6f78656e206b657074206f78656e207468656972206b657074206163746564204a61646564204a61646564204a61646564 +1.3.6.1.4.1.25597.11.2.1.3.1.2.30484|4x|717561696e746c7920627574207468656972206f78656e +1.3.6.1.4.1.25597.11.2.1.3.1.2.50143|4x|64726976696e67206163746564207a6f6d62696573206275742064726976696e67 +1.3.6.1.4.1.25597.11.2.1.3.1.2.56370|4x|666f7277617264206b657074 +1.3.6.1.4.1.25597.11.2.1.3.1.3.10459|4x|6b65707420627574206f78656e20746865697220666f7277617264 +1.3.6.1.4.1.25597.11.2.1.3.1.3.30484|4x|717561696e746c7920666f727761726420717561696e746c7920627574204a61646564206f78656e20666f727761726420717561696e746c79207468656972 +1.3.6.1.4.1.25597.11.2.1.3.1.3.50143|4x|61637465642064726976696e67206163746564206f78656e2064726976696e6720627574206163746564204a61646564207468656972 +1.3.6.1.4.1.25597.11.2.1.3.1.3.56370|4x|627574204a61646564 +1.3.6.1.4.1.25597.11.2.1.3.1.4.10459|2|2 +1.3.6.1.4.1.25597.11.2.1.3.1.4.30484|2|2 +1.3.6.1.4.1.25597.11.2.1.3.1.4.50143|2|1 +1.3.6.1.4.1.25597.11.2.1.3.1.4.56370|2|2 +1.3.6.1.4.1.25597.11.2.1.3.1.5.10459|4x|666f7277617264207468656972 +1.3.6.1.4.1.25597.11.2.1.3.1.5.30484|4x|6163746564206163746564206b65707420627574206163746564207a6f6d626965732064726976696e6720717561696e746c79 +1.3.6.1.4.1.25597.11.2.1.3.1.5.50143|4x|627574206b657074 +1.3.6.1.4.1.25597.11.2.1.3.1.5.56370|4x|4a61646564206f78656e207468656972207a6f6d62696573206b657074 +1.3.6.1.4.1.25597.11.2.1.3.1.6.10459|4x|64726976696e67206f78656e206163746564206f78656e20666f727761726420717561696e746c79 +1.3.6.1.4.1.25597.11.2.1.3.1.6.30484|4|forward +1.3.6.1.4.1.25597.11.2.1.3.1.6.50143|4x|7a6f6d62696573204a6164656420666f7277617264207468656972204a61646564 +1.3.6.1.4.1.25597.11.2.1.3.1.6.56370|4x|666f727761726420717561696e746c79204a61646564207a6f6d6269657320627574 +1.3.6.1.4.1.25597.11.2.1.3.1.7.10459|4x|717561696e746c79207468656972206163746564206f78656e206163746564 +1.3.6.1.4.1.25597.11.2.1.3.1.7.30484|4x|4a61646564206b6570742061637465642064726976696e672064726976696e67 +1.3.6.1.4.1.25597.11.2.1.3.1.7.50143|4|driving +1.3.6.1.4.1.25597.11.2.1.3.1.7.56370|4x|717561696e746c79206b657074206163746564207a6f6d62696573206f78656e207a6f6d62696573 +1.3.6.1.4.1.25597.11.3.1.1.0|4|driving +1.3.6.1.4.1.25597.11.3.1.2.0|2|2 +1.3.6.1.4.1.25597.11.3.1.3.1.1.15471|66|15471 +1.3.6.1.4.1.25597.11.3.1.3.1.1.18142|66|18142 +1.3.6.1.4.1.25597.11.3.1.3.1.1.27341|66|27341 +1.3.6.1.4.1.25597.11.3.1.3.1.1.39137|66|39137 +1.3.6.1.4.1.25597.11.3.1.3.1.2.15471|4x|4a6164656420627574204a61646564204a6164656420666f72776172642061637465642064726976696e67 +1.3.6.1.4.1.25597.11.3.1.3.1.2.18142|4x|6b657074206163746564206b65707420717561696e746c79206f78656e206163746564204a61646564 +1.3.6.1.4.1.25597.11.3.1.3.1.2.27341|4x|717561696e746c79207a6f6d62696573204a61646564206b657074 +1.3.6.1.4.1.25597.11.3.1.3.1.2.39137|4x|4a61646564206f78656e20666f7277617264206f78656e20627574 +1.3.6.1.4.1.25597.11.3.1.3.1.3.15471|2|1 +1.3.6.1.4.1.25597.11.3.1.3.1.3.18142|2|2 +1.3.6.1.4.1.25597.11.3.1.3.1.3.27341|2|2 +1.3.6.1.4.1.25597.11.3.1.3.1.3.39137|2|2 +1.3.6.1.4.1.25597.11.4.1.1.0|4x|7a6f6d62696573207a6f6d62696573204a61646564 +1.3.6.1.4.1.25597.11.4.1.2.0|2|1 +1.3.6.1.4.1.25597.11.4.1.3.1.1.18924|66|18924 +1.3.6.1.4.1.25597.11.4.1.3.1.1.30474|66|30474 +1.3.6.1.4.1.25597.11.4.1.3.1.1.53911|66|53911 +1.3.6.1.4.1.25597.11.4.1.3.1.1.62375|66|62375 +1.3.6.1.4.1.25597.11.4.1.3.1.2.18924|4x|6b65707420717561696e746c79 +1.3.6.1.4.1.25597.11.4.1.3.1.2.30474|4x|717561696e746c79204a61646564 +1.3.6.1.4.1.25597.11.4.1.3.1.2.53911|4|zombies +1.3.6.1.4.1.25597.11.4.1.3.1.2.62375|4x|4a61646564204a61646564207a6f6d62696573204a61646564206163746564207a6f6d62696573207a6f6d6269657320746865697220666f7277617264 +1.3.6.1.4.1.25597.11.4.1.3.1.3.18924|2|1 +1.3.6.1.4.1.25597.11.4.1.3.1.3.30474|2|2 +1.3.6.1.4.1.25597.11.4.1.3.1.3.53911|2|2 +1.3.6.1.4.1.25597.11.4.1.3.1.3.62375|2|1 +1.3.6.1.4.1.25597.11.4.1.3.1.4.18924|66|44494 +1.3.6.1.4.1.25597.11.4.1.3.1.4.30474|66|30312 +1.3.6.1.4.1.25597.11.4.1.3.1.4.53911|66|28262 +1.3.6.1.4.1.25597.11.4.1.3.1.4.62375|66|1255 +1.3.6.1.4.1.25597.11.5.1.1.0|4|Jaded +1.3.6.1.4.1.25597.11.5.1.2.0|4x|64726976696e672062757420717561696e746c792064726976696e6720717561696e746c79207468656972206f78656e204a6164656420717561696e746c79 +1.3.6.1.4.1.25597.11.5.1.3.0|4x|4a61646564204a61646564 +1.3.6.1.4.1.25597.11.5.1.4.0|2|2 +1.3.6.1.4.1.25597.11.5.1.5.0|4|their +1.3.6.1.4.1.25597.11.5.1.6.0|2|2 +1.3.6.1.4.1.25597.11.5.1.7.0|4x|717561696e746c7920666f7277617264206f78656e206f78656e +1.3.6.1.4.1.25597.11.5.1.8.1.1.28115|66|28115 +1.3.6.1.4.1.25597.11.5.1.8.1.1.31430|66|31430 +1.3.6.1.4.1.25597.11.5.1.8.1.1.58880|66|58880 +1.3.6.1.4.1.25597.11.5.1.8.1.1.61036|66|61036 +1.3.6.1.4.1.25597.11.5.1.8.1.2.28115|4x|666f727761726420627574206b657074206f78656e206b657074206163746564 +1.3.6.1.4.1.25597.11.5.1.8.1.2.31430|4|forward +1.3.6.1.4.1.25597.11.5.1.8.1.2.58880|4x|616374656420627574206163746564204a6164656420666f7277617264 +1.3.6.1.4.1.25597.11.5.1.8.1.2.61036|4x|7a6f6d6269657320666f72776172642064726976696e67 +1.3.6.1.4.1.25597.11.5.1.8.1.3.28115|4x|6b6570742064726976696e67 +1.3.6.1.4.1.25597.11.5.1.8.1.3.31430|4x|62757420717561696e746c79206f78656e207a6f6d62696573206f78656e20717561696e746c79206f78656e20666f7277617264 +1.3.6.1.4.1.25597.11.5.1.8.1.3.58880|4x|7a6f6d6269657320717561696e746c79206f78656e206b65707420666f7277617264204a61646564 +1.3.6.1.4.1.25597.11.5.1.8.1.3.61036|4x|6b657074207a6f6d6269657320717561696e746c79206b65707420717561696e746c79206163746564206163746564206163746564 +1.3.6.1.4.1.25597.11.5.1.8.1.4.28115|2|1 +1.3.6.1.4.1.25597.11.5.1.8.1.4.31430|2|2 +1.3.6.1.4.1.25597.11.5.1.8.1.4.58880|2|2 +1.3.6.1.4.1.25597.11.5.1.8.1.4.61036|2|2 +1.3.6.1.4.1.25597.11.5.1.8.1.5.28115|4x|666f7277617264204a61646564207a6f6d62696573206f78656e206f78656e20717561696e746c79207a6f6d6269657320666f7277617264206163746564 +1.3.6.1.4.1.25597.11.5.1.8.1.5.31430|4x|666f7277617264204a61646564 +1.3.6.1.4.1.25597.11.5.1.8.1.5.58880|4|their +1.3.6.1.4.1.25597.11.5.1.8.1.5.61036|4x|717561696e746c7920627574206f78656e207a6f6d62696573206275742064726976696e6720717561696e746c79 +1.3.6.1.4.1.25597.11.5.1.9.0|66|58472 +1.3.6.1.4.1.25597.11.5.1.10.0|2|1 +1.3.6.1.4.1.25597.11.5.1.11.0|2|1 +1.3.6.1.4.1.25597.11.5.1.12.0|2|2 +1.3.6.1.4.1.25597.11.5.1.13.0|4x|74686569722064726976696e67207468656972206b657074204a616465642062757420717561696e746c79 +1.3.6.1.4.1.25597.11.5.1.14.0|2|2 +1.3.6.1.4.1.25597.11.5.1.15.0|2|2 +1.3.6.1.4.1.25597.12.1.1.0|66|57210 +1.3.6.1.4.1.25597.12.1.2.0|66|7159 +1.3.6.1.4.1.25597.12.1.3.0|66|16036 +1.3.6.1.4.1.25597.12.1.4.0|66|405 +1.3.6.1.4.1.25597.12.1.5.0|66|64409 +1.3.6.1.4.1.25597.12.1.6.1.1.31284|66|31284 +1.3.6.1.4.1.25597.12.1.6.1.1.32127|66|32127 +1.3.6.1.4.1.25597.12.1.6.1.1.47452|66|47452 +1.3.6.1.4.1.25597.12.1.6.1.1.63100|66|63100 +1.3.6.1.4.1.25597.12.1.6.1.2.31284|4x|6b657074204a61646564206b657074204a61646564204a616465642064726976696e67 +1.3.6.1.4.1.25597.12.1.6.1.2.32127|4x|6f78656e20717561696e746c79206b657074207a6f6d6269657320627574207468656972206b6570742064726976696e67 +1.3.6.1.4.1.25597.12.1.6.1.2.47452|4x|7a6f6d626965732074686569722064726976696e67 +1.3.6.1.4.1.25597.12.1.6.1.2.63100|4x|746865697220717561696e746c7920717561696e746c79207a6f6d626965732064726976696e67 +1.3.6.1.4.1.25597.12.1.6.1.3.31284|2|1 +1.3.6.1.4.1.25597.12.1.6.1.3.32127|2|1 +1.3.6.1.4.1.25597.12.1.6.1.3.47452|2|2 +1.3.6.1.4.1.25597.12.1.6.1.3.63100|2|1 +1.3.6.1.4.1.25597.12.1.6.1.4.31284|2|2 +1.3.6.1.4.1.25597.12.1.6.1.4.32127|2|2 +1.3.6.1.4.1.25597.12.1.6.1.4.47452|2|2 +1.3.6.1.4.1.25597.12.1.6.1.4.63100|2|2 +1.3.6.1.4.1.25597.12.1.6.1.5.31284|2|2 +1.3.6.1.4.1.25597.12.1.6.1.5.32127|2|2 +1.3.6.1.4.1.25597.12.1.6.1.5.47452|2|2 +1.3.6.1.4.1.25597.12.1.6.1.5.63100|2|1 +1.3.6.1.4.1.25597.12.1.6.1.6.31284|2|2 +1.3.6.1.4.1.25597.12.1.6.1.6.32127|2|2 +1.3.6.1.4.1.25597.12.1.6.1.6.47452|2|2 +1.3.6.1.4.1.25597.12.1.6.1.6.63100|2|2 +1.3.6.1.4.1.25597.12.1.6.1.7.31284|2|1 +1.3.6.1.4.1.25597.12.1.6.1.7.32127|2|1 +1.3.6.1.4.1.25597.12.1.6.1.7.47452|2|1 +1.3.6.1.4.1.25597.12.1.6.1.7.63100|2|2 +1.3.6.1.4.1.25597.13.1.1.0|70|15258667404756803361 +1.3.6.1.4.1.25597.13.1.2.0|65|2296714362 +1.3.6.1.4.1.25597.13.1.3.0|65|1682989247 +1.3.6.1.4.1.25597.13.1.4.0|70|11525054174781659477 +1.3.6.1.4.1.25597.13.1.5.0|65|1856376342 +1.3.6.1.4.1.25597.13.1.6.0|65|2751354539 +1.3.6.1.4.1.25597.13.1.7.0|70|13361995085709291937 +1.3.6.1.4.1.25597.13.1.8.0|65|858821116 +1.3.6.1.4.1.25597.13.1.9.0|65|2419076109 +1.3.6.1.4.1.25597.13.1.10.0|70|15059187356577643695 +1.3.6.1.4.1.25597.13.1.11.0|65|1862844896 +1.3.6.1.4.1.25597.13.1.12.0|65|593943694 +1.3.6.1.4.1.25597.13.1.13.0|70|14946104546966183832 +1.3.6.1.4.1.25597.13.1.14.0|65|1055328770 +1.3.6.1.4.1.25597.13.1.15.0|65|292407451 +1.3.6.1.4.1.25597.13.1.16.0|70|17897117420616917047 +1.3.6.1.4.1.25597.13.1.17.0|65|2417805956 +1.3.6.1.4.1.25597.13.1.18.0|65|3107217612 +1.3.6.1.4.1.25597.13.1.19.0|70|13513145756626520355 +1.3.6.1.4.1.25597.13.1.20.0|65|776653656 +1.3.6.1.4.1.25597.13.1.21.0|65|2345211542 +1.3.6.1.4.1.25597.13.1.22.0|70|8084017860104890582 +1.3.6.1.4.1.25597.13.1.23.0|65|4249241610 +1.3.6.1.4.1.25597.13.1.24.0|65|2809703586 +1.3.6.1.4.1.25597.13.1.25.0|70|8854216143419134932 +1.3.6.1.4.1.25597.13.1.26.0|65|2317542935 +1.3.6.1.4.1.25597.13.1.27.0|65|1534108280 +1.3.6.1.4.1.25597.13.1.28.0|70|3936478559413851314 +1.3.6.1.4.1.25597.13.1.29.0|65|1982537068 +1.3.6.1.4.1.25597.13.1.30.0|65|3638288967 +1.3.6.1.4.1.25597.13.1.31.0|70|7931746305558252811 +1.3.6.1.4.1.25597.13.1.32.0|65|3719788523 +1.3.6.1.4.1.25597.13.1.33.0|65|3851139239 +1.3.6.1.4.1.25597.13.1.34.0|70|2181540934466208635 +1.3.6.1.4.1.25597.13.1.35.0|65|921784933 +1.3.6.1.4.1.25597.13.1.36.0|65|3054845763 +1.3.6.1.4.1.25597.13.1.37.0|70|12628846405548938525 +1.3.6.1.4.1.25597.13.1.38.0|65|1770903938 +1.3.6.1.4.1.25597.13.1.39.0|65|2110314278 +1.3.6.1.4.1.25597.13.1.40.0|66|16 +1.3.6.1.4.1.25597.13.1.41.0|70|2400779555943948328 +1.3.6.1.4.1.25597.13.1.42.0|65|3184074791 +1.3.6.1.4.1.25597.13.1.43.0|65|2183220650 +1.3.6.1.4.1.25597.13.1.44.0|66|41166 +1.3.6.1.4.1.25597.13.1.45.0|66|36346 +1.3.6.1.4.1.25597.13.1.46.0|66|64861 +1.3.6.1.4.1.25597.15.1.1.0|70|6351786604664126387 +1.3.6.1.4.1.25597.15.1.2.0|65|833072572 +1.3.6.1.4.1.25597.15.1.3.0|65|3619781251 +1.3.6.1.4.1.25597.15.1.4.0|70|9955724538152641613 +1.3.6.1.4.1.25597.15.1.5.0|65|1451221587 +1.3.6.1.4.1.25597.15.1.6.0|65|1913737464 +1.3.6.1.4.1.25597.15.1.7.0|70|3122868330847937944 +1.3.6.1.4.1.25597.15.1.8.0|65|944817948 +1.3.6.1.4.1.25597.15.1.9.0|65|2430873368 +1.3.6.1.4.1.25597.15.1.10.0|70|14561454393378365682 +1.3.6.1.4.1.25597.15.1.11.0|65|2834705801 +1.3.6.1.4.1.25597.15.1.12.0|65|3766671520 +1.3.6.1.4.1.25597.15.1.13.0|70|6147950105902082158 +1.3.6.1.4.1.25597.15.1.14.0|65|83718309 +1.3.6.1.4.1.25597.15.1.15.0|65|3795829998 +1.3.6.1.4.1.25597.15.1.16.0|70|4577680886428828658 +1.3.6.1.4.1.25597.15.1.17.0|65|4172098142 +1.3.6.1.4.1.25597.15.1.18.0|65|3819838758 +1.3.6.1.4.1.25597.15.1.19.0|70|9593096006142199917 +1.3.6.1.4.1.25597.15.1.20.0|65|350815786 +1.3.6.1.4.1.25597.15.1.21.0|65|234014441 +1.3.6.1.4.1.25597.15.1.22.0|70|10470660987272362034 +1.3.6.1.4.1.25597.15.1.23.0|65|745555520 +1.3.6.1.4.1.25597.15.1.24.0|65|1186385877 +1.3.6.1.4.1.25597.15.1.25.0|70|5307184811706214232 +1.3.6.1.6.3.1.1.4.1.0|6|1.3.6.1.3.78.20.146 +1.3.6.1.6.3.1.1.4.3.0|6|1.3.6.1.3.51.183.197 +1.3.6.1.6.3.1.1.6.1.0|2|16 diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_fireeye.py b/snmp/tests/test_e2e_core_profiles/test_profile_fireeye.py new file mode 100644 index 0000000000000..edbe182a662d2 --- /dev/null +++ b/snmp/tests/test_e2e_core_profiles/test_profile_fireeye.py @@ -0,0 +1,95 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +import pytest + +from datadog_checks.dev.utils import get_metadata_metrics + +from .. import common +from ..test_e2e_core_metadata import assert_device_metadata +from .utils import ( + assert_common_metrics, + assert_extend_generic_if, + create_e2e_core_test_config, + get_device_ip_from_config, +) + +pytestmark = [pytest.mark.e2e, common.py3_plus_only, common.snmp_integration_only] + + +def test_e2e_profile_fireeye(dd_agent_check): + config = create_e2e_core_test_config('fireeye') + aggregator = common.dd_agent_check_wrapper(dd_agent_check, config, rate=True) + + ip_address = get_device_ip_from_config(config) + common_tags = [ + 'snmp_profile:fireeye', + 'snmp_host:fireeye.device.name', + 'device_namespace:default', + 'snmp_device:' + ip_address, + ] + [ + 'fe_hardware_model:but but their driving acted forward forward their zombies', + 'fe_serial_number:zombies driving quaintly Jaded their zombies driving but ' 'Jaded', + ] + + # --- TEST EXTENDED METRICS --- + assert_extend_generic_if(aggregator, common_tags) + + # --- TEST METRICS --- + assert_common_metrics(aggregator, common_tags) + + aggregator.assert_metric('snmp.feAnalyzedAttachmentCount', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.feAnalyzedEmailCount', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.feAnalyzedUrlCount', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.feDeferredEmailCount', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.feHoldQueueEmailCount', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.feInfectedAttachmentCount', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.feInfectedEmailCount', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.feInfectedUrlCount', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.feTotalAttachmentCount', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.feTotalEmailCount', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.feTotalMaliciousObjectCount', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.feTotalObjectAnalyzedCount', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.feTotalUrlCount', metric_type=aggregator.COUNT, tags=common_tags) + aggregator.assert_metric('snmp.feeQuarantineUsage', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.memory.total', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.feCachedMemory', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.feMemoryBuffers', metric_type=aggregator.GAUGE, tags=common_tags) + tag_rows = [ + ['hr_processor_frw_id:1.3.6.1.3.68.143.66.213.126.236.187.81'], + ['hr_processor_frw_id:1.3.6.1.3.68.26.47'], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.cpu.usage', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + tag_rows = [ + ['fe_physical_disk_is_healthy:false', 'fe_physical_disk_name:forward kept'], + [ + 'fe_physical_disk_is_healthy:false', + 'fe_physical_disk_name:oxen kept oxen their kept acted Jaded Jaded Jaded', + ], + ['fe_physical_disk_is_healthy:false', 'fe_physical_disk_name:quaintly but their oxen'], + ['fe_physical_disk_is_healthy:true', 'fe_physical_disk_name:driving acted zombies but driving'], + ] + for tag_row in tag_rows: + aggregator.assert_metric('snmp.fePhysicalDisk', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + + # --- TEST METADATA --- + device = { + 'description': 'fireeye Device Description', + 'id': 'default:' + ip_address, + 'id_tags': ['device_namespace:default', 'snmp_device:' + ip_address], + 'ip_address': '' + ip_address, + 'name': 'fireeye.device.name', + 'profile': 'fireeye', + 'status': 1, + 'sys_object_id': '1.3.6.1.4.1.25597.1', + 'vendor': 'fireeye', + } + device['tags'] = common_tags + assert_device_metadata(aggregator, device) + + # --- CHECK COVERAGE --- + aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) From 69dc8adcd6c7b34a85b0c718de26258922971266 Mon Sep 17 00:00:00 2001 From: Alexandre Yang Date: Thu, 6 Jul 2023 19:02:38 +0200 Subject: [PATCH 75/77] Update alcatel-lucent-ind with prefix (#15184) --- .../default_profiles/alcatel-lucent-ind.yaml | 44 +++++++++--------- snmp/metadata.csv | 3 +- .../test_profile_alcatel_lucent_ind.py | 45 ++++++++++--------- 3 files changed, 48 insertions(+), 44 deletions(-) diff --git a/snmp/datadog_checks/snmp/data/default_profiles/alcatel-lucent-ind.yaml b/snmp/datadog_checks/snmp/data/default_profiles/alcatel-lucent-ind.yaml index 58943df95cc9b..eb259501e45b1 100644 --- a/snmp/datadog_checks/snmp/data/default_profiles/alcatel-lucent-ind.yaml +++ b/snmp/datadog_checks/snmp/data/default_profiles/alcatel-lucent-ind.yaml @@ -13,19 +13,19 @@ metrics: OID: 1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.10.0 # healthDeviceMemory1MinAvg - MIB: ALCATEL-IND1-HEALTH-MIB symbol: - name: healthDeviceTemperatureChas1MinAvg + name: alcatel.ind.healthDeviceTemperatureChas1MinAvg OID: 1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.18.0 - MIB: ALCATEL-IND1-CHASSIS-MIB table: name: chasEntPhysicalTable OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1 symbols: - - name: chasEntPhysical + - name: alcatel.ind.chasEntPhysical constant_value_one: true metric_tags: - column: OID: 1.3.6.1.2.1.47.1.1.1.1.5 - name: entPhysicalClass + name: alcatel.ind.entPhysicalClass tag: ent_physical_class mapping: 1: other @@ -42,19 +42,19 @@ metrics: 12: cpu - column: OID: 1.3.6.1.2.1.47.1.1.1.1.7 - name: entPhysicalName + name: alcatel.ind.entPhysicalName tag: ent_physical_name - column: OID: 1.3.6.1.2.1.47.1.1.1.1.11 - name: entPhysicalSerialNum + name: alcatel.ind.entPhysicalSerialNum tag: ent_physical_serial_num - column: OID: 1.3.6.1.2.1.47.1.1.1.1.13 - name: entPhysicalModelName + name: alcatel.ind.entPhysicalModelName tag: ent_physical_model_name - column: OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.1 - name: chasEntPhysAdminStatus + name: alcatel.ind.chasEntPhysAdminStatus tag: chas_ent_phys_admin_status mapping: 1: unknown @@ -66,7 +66,7 @@ metrics: 7: standby - column: OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.2 - name: chasEntPhysOperStatus + name: alcatel.ind.chasEntPhysOperStatus tag: chas_ent_phys_oper_status mapping: 1: up @@ -79,7 +79,7 @@ metrics: 8: master - column: OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.8 - name: chasEntPhysLedStatusOk1 + name: alcatel.ind.chasEntPhysLedStatusOk1 tag: chas_ent_phys_led_status_ok1 mapping: 0: not_applicable @@ -90,7 +90,7 @@ metrics: 5: amber_blink - column: OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.9 - name: chasEntPhysLedStatusOk2 + name: alcatel.ind.chasEntPhysLedStatusOk2 tag: chas_ent_phys_led_status_ok2 mapping: 0: not_applicable @@ -101,7 +101,7 @@ metrics: 5: amber_blink - column: OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.10 - name: chasEntPhysLedStatusPrimaryCMM + name: alcatel.ind.chasEntPhysLedStatusPrimaryCMM tag: chas_ent_phys_led_status_primary_cmm mapping: 0: not_applicable @@ -112,7 +112,7 @@ metrics: 5: amber_blink - column: OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.11 - name: chasEntPhysLedStatusSecondaryCMM + name: alcatel.ind.chasEntPhysLedStatusSecondaryCMM tag: chas_ent_phys_led_status_secondary_cmm mapping: 0: not_applicable @@ -123,7 +123,7 @@ metrics: 5: amber_blink - column: OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.12 - name: chasEntPhysLedStatusTemperature + name: alcatel.ind.chasEntPhysLedStatusTemperature tag: chas_ent_phys_led_status_temperature mapping: 0: not_applicable @@ -134,7 +134,7 @@ metrics: 5: amber_blink - column: OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.13 - name: chasEntPhysLedStatusFan + name: alcatel.ind.chasEntPhysLedStatusFan tag: chas_ent_phys_led_status_fan mapping: 0: not_applicable @@ -145,7 +145,7 @@ metrics: 5: amber_blink - column: OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.14 - name: chasEntPhysLedStatusFan1 + name: alcatel.ind.chasEntPhysLedStatusFan1 tag: chas_ent_phys_led_status_fan1 mapping: 0: not_applicable @@ -156,7 +156,7 @@ metrics: 5: amber_blink - column: OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.15 - name: chasEntPhysLedStatusFan2 + name: alcatel.ind.chasEntPhysLedStatusFan2 tag: chas_ent_phys_led_status_fan2 mapping: 0: not_applicable @@ -167,7 +167,7 @@ metrics: 5: amber_blink - column: OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.16 - name: chasEntPhysLedStatusFan3 + name: alcatel.ind.chasEntPhysLedStatusFan3 tag: chas_ent_phys_led_status_fan3 mapping: 0: not_applicable @@ -178,7 +178,7 @@ metrics: 5: amber_blink - column: OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.17 - name: chasEntPhysLedStatusBackupPS + name: alcatel.ind.chasEntPhysLedStatusBackupPS tag: chas_ent_phys_led_status_backup_ps mapping: 0: not_applicable @@ -189,7 +189,7 @@ metrics: 5: amber_blink - column: OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.18 - name: chasEntPhysLedStatusInternalPS + name: alcatel.ind.chasEntPhysLedStatusInternalPS tag: chas_ent_phys_led_status_internal_ps mapping: 0: not_applicable @@ -200,7 +200,7 @@ metrics: 5: amber_blink - column: OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.19 - name: chasEntPhysLedStatusControl + name: alcatel.ind.chasEntPhysLedStatusControl tag: chas_ent_phys_led_status_control mapping: 0: not_applicable @@ -211,7 +211,7 @@ metrics: 5: amber_blink - column: OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.20 - name: chasEntPhysLedStatusFabric + name: alcatel.ind.chasEntPhysLedStatusFabric tag: chas_ent_phys_led_status_fabric mapping: 0: not_applicable @@ -222,7 +222,7 @@ metrics: 5: amber_blink - column: OID: 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.21 - name: chasEntPhysLedStatusPSU + name: alcatel.ind.chasEntPhysLedStatusPSU tag: chas_ent_phys_led_status_psu mapping: 0: not_applicable diff --git a/snmp/metadata.csv b/snmp/metadata.csv index 3120c250e9f03..e7a91f20b6b3f 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -24,6 +24,8 @@ snmp.alcatel.ent.alaChasBpsPowerSupply,gauge,,,,"[ALCATEL-ENT1-CHASSIS-MIB] This snmp.alcatel.ent.alaChasEntPhysFanSpeed,gauge,,,,"[ALCATEL-ENT1-CHASSIS-MIB] Chassis fan speed.",0,snmp,, snmp.alcatel.ent.chasEntPhysical,gauge,,,,"[ALCATEL-ENT1-CHASSIS-MIB] This table contains one row per physical entity. It is an extension for the entity physical table (rfc 2737) that is instantiated for every physical entity object. The fields are not always significant for every object. (Make 'sum by {X}' queries to count elements with the tag X.)",0,snmp,, snmp.alcatel.ent.chasEntTempCurrent,gauge,,,,"[ALCATEL-ENT1-CHASSIS-MIB] This object indicates the current output of the temperature sensor in degrees Celsius.",0,snmp,, +snmp.alcatel.ind.chasEntPhysical,gauge,,,,"[ALCATEL-IND1-CHASSIS-MIB] This table contains one row per physical entity. It is an extension for the entity physical table (rfc 2737) that is instantiated for every physical entity object. The fields are not always significant for every object. (Make 'sum by {X}' queries to count elements with the tag X.)",0,snmp,, +snmp.alcatel.ind.healthDeviceTemperatureChas1MinAvg,gauge,,,,"[ALCATEL-IND1-HEALTH-MIB] Average chassis temperature over the last minute (percent).",0,snmp,, snmp.amperageProbeReading,gauge,,milliampere,,[Dell iDRAC] The reading for an amperage probe.,0,snmp,, snmp.amperageProbeStatus,gauge,,milliampere,,[Dell iDRAC] The probe status of the amperage probe.,0,snmp,, snmp.aristaBgp4V2PeerLocalAs,gauge,,,,"[ARISTA-BGP4V2-MIB] Some implementations of BGP can represent themselves as multiple ASes. This is the AS that this peering session is representing itself as to the remote peer.",0,snmp,, @@ -537,7 +539,6 @@ snmp.fwDropped,count,,packet,,[Checkpoint Firewall] Number of dropped packets.,0 snmp.fwNumConn,gauge,,connection,,[Checkpoint Firewall] Number of concurrent IPv6 and IPv4 connections.,0,snmp,, snmp.fwPeakNumConn,gauge,,connection,,[Checkpoint Firewall] Peak number of concurrent connections since last reboot.,0,snmp,, snmp.fwRejected,count,,packet,,[Checkpoint Firewall] Number of rejected packets.,0,snmp,, -snmp.healthDeviceTemperatureChas1MinAvg,gauge,,,,"[ALCATEL-IND1-HEALTH-MIB] Average chassis temperature over the last minute (percent).",0,snmp,, snmp.hrProcessorLoad,gauge,,,,"[HOST-RESOURCES-MIB] The average, over the last minute, of the percentage of time that this processor was not idle. Implementations may approximate this one minute smoothing period if necessary.",0,snmp,, snmp.hrSWRunPerfCPU,gauge,,,,[Cisco UC Virtual Machine] [Cisco ICM] [Cisco ISR 4431] The number of centi-seconds of the total system's CPU resources consumed by this process.,0,snmp,, snmp.hrSWRunPerfMem,gauge,,,,[Cisco UC Virtual Machine] [Cisco ICM] [Cisco ISR 4431] The total amount of real system memory allocated to this process.,0,snmp,, diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_alcatel_lucent_ind.py b/snmp/tests/test_e2e_core_profiles/test_profile_alcatel_lucent_ind.py index 54468523209c9..a4707e01eb555 100644 --- a/snmp/tests/test_e2e_core_profiles/test_profile_alcatel_lucent_ind.py +++ b/snmp/tests/test_e2e_core_profiles/test_profile_alcatel_lucent_ind.py @@ -36,29 +36,12 @@ def test_e2e_profile_alcatel_lucent_ind(dd_agent_check): # --- TEST METRICS --- assert_common_metrics(aggregator, common_tags) + aggregator.assert_metric( + 'snmp.alcatel.ind.healthDeviceTemperatureChas1MinAvg', metric_type=aggregator.GAUGE, tags=common_tags + ) aggregator.assert_metric('snmp.cpu.usage', metric_type=aggregator.GAUGE, tags=common_tags) - aggregator.assert_metric('snmp.healthDeviceTemperatureChas1MinAvg', metric_type=aggregator.GAUGE, tags=common_tags) aggregator.assert_metric('snmp.memory.usage', metric_type=aggregator.GAUGE, tags=common_tags) - tag_rows = [ - [ - 'chas_ent_phys_admin_status:reset_all', - 'chas_ent_phys_led_status_backup_ps:not_applicable', - 'chas_ent_phys_led_status_control:off', - 'chas_ent_phys_led_status_fabric:amber_on', - 'chas_ent_phys_led_status_fan1:amber_on', - 'chas_ent_phys_led_status_fan2:green_on', - 'chas_ent_phys_led_status_fan3:amber_blink', - 'chas_ent_phys_led_status_fan:not_applicable', - 'chas_ent_phys_led_status_internal_ps:not_applicable', - 'chas_ent_phys_led_status_ok1:amber_blink', - 'chas_ent_phys_led_status_ok2:green_blink', - 'chas_ent_phys_led_status_primary_cmm:green_on', - 'chas_ent_phys_led_status_psu:green_blink', - 'chas_ent_phys_led_status_secondary_cmm:off', - 'chas_ent_phys_led_status_temperature:amber_blink', - 'chas_ent_phys_oper_status:testing', - ], [ 'chas_ent_phys_admin_status:power_on', 'chas_ent_phys_led_status_backup_ps:green_blink', @@ -77,9 +60,29 @@ def test_e2e_profile_alcatel_lucent_ind(dd_agent_check): 'chas_ent_phys_led_status_temperature:amber_blink', 'chas_ent_phys_oper_status:not_present', ], + [ + 'chas_ent_phys_admin_status:reset_all', + 'chas_ent_phys_led_status_backup_ps:not_applicable', + 'chas_ent_phys_led_status_control:off', + 'chas_ent_phys_led_status_fabric:amber_on', + 'chas_ent_phys_led_status_fan1:amber_on', + 'chas_ent_phys_led_status_fan2:green_on', + 'chas_ent_phys_led_status_fan3:amber_blink', + 'chas_ent_phys_led_status_fan:not_applicable', + 'chas_ent_phys_led_status_internal_ps:not_applicable', + 'chas_ent_phys_led_status_ok1:amber_blink', + 'chas_ent_phys_led_status_ok2:green_blink', + 'chas_ent_phys_led_status_primary_cmm:green_on', + 'chas_ent_phys_led_status_psu:green_blink', + 'chas_ent_phys_led_status_secondary_cmm:off', + 'chas_ent_phys_led_status_temperature:amber_blink', + 'chas_ent_phys_oper_status:testing', + ], ] for tag_row in tag_rows: - aggregator.assert_metric('snmp.chasEntPhysical', metric_type=aggregator.GAUGE, tags=common_tags + tag_row) + aggregator.assert_metric( + 'snmp.alcatel.ind.chasEntPhysical', metric_type=aggregator.GAUGE, tags=common_tags + tag_row + ) # --- TEST METADATA --- device = { From 2ddd7e7a03ab7c562612848675238cf2b0af2d42 Mon Sep 17 00:00:00 2001 From: NouhaManai Date: Thu, 6 Jul 2023 19:17:57 +0200 Subject: [PATCH 76/77] Add profile for fortinet-fortiswitch (#15192) * add profile * add profile for fortinet-fortiswitch * add test * linter * space --- .../fortinet-fortiswitch.yaml | 35 ++++++++++ .../snmp/data/default_profiles/fortinet.yaml | 2 +- snmp/metadata.csv | 2 + .../compose/data/fortinet-fortiswitch.snmprec | 12 ++++ .../test_profile_fortinet.py | 40 +---------- .../test_profile_fortinet_fortiswitch.py | 66 +++++++++++++++++++ 6 files changed, 117 insertions(+), 40 deletions(-) create mode 100644 snmp/datadog_checks/snmp/data/default_profiles/fortinet-fortiswitch.yaml create mode 100644 snmp/tests/test_e2e_core_profiles/test_profile_fortinet_fortiswitch.py diff --git a/snmp/datadog_checks/snmp/data/default_profiles/fortinet-fortiswitch.yaml b/snmp/datadog_checks/snmp/data/default_profiles/fortinet-fortiswitch.yaml new file mode 100644 index 0000000000000..82b3c55555870 --- /dev/null +++ b/snmp/datadog_checks/snmp/data/default_profiles/fortinet-fortiswitch.yaml @@ -0,0 +1,35 @@ +extends: + - fortinet.yaml +sysobjectid: + - 1.3.6.1.4.1.12356.106.1.* # FortiSwitch + - 1.3.6.1.4.1.12356.106.1.1486 # FortiSwitch-148F-FPOE + - 1.3.6.1.4.1.12356.106.1.1248 # FortiSwitch-148E-FPOE + - 1.3.6.1.4.1.12356.106.1.2485 # FortiSwitch-248E-POE +metrics: + - MIB: FORTINET-FORTISWITCH-MIB + symbol: + name: cpu.usage + OID: 1.3.6.1.4.1.12356.106.4.1.2.0 + - MIB: FORTINET-FORTISWITCH-MIB + symbol: + name: memory.used + OID: 1.3.6.1.4.1.12356.106.4.1.3.0 + - MIB: FORTINET-FORTISWITCH-MIB + symbol: + name: memory.total + OID: 1.3.6.1.4.1.12356.106.4.1.4.0 + - MIB: FORTINET-FORTISWITCH-MIB + symbol: + name: fsSysDiskUsage + OID: 1.3.6.1.4.1.12356.106.4.1.5.0 + - MIB: FORTINET-FORTISWITCH-MIB + symbol: + name: fsSysDiskCapacity + OID: 1.3.6.1.4.1.12356.106.4.1.6.0 +metric_tags: + - OID: 1.3.6.1.4.1.12356.106.1.1.1.0 + symbol: fsSysSerial + tag: fs_sys_serial + - OID: 1.3.6.1.4.1.12356.106.4.1.1.0 + symbol: fsSysVersion + tag: fs_sys_version diff --git a/snmp/datadog_checks/snmp/data/default_profiles/fortinet.yaml b/snmp/datadog_checks/snmp/data/default_profiles/fortinet.yaml index 95a4cffb075e0..29aa52e59c4af 100644 --- a/snmp/datadog_checks/snmp/data/default_profiles/fortinet.yaml +++ b/snmp/datadog_checks/snmp/data/default_profiles/fortinet.yaml @@ -13,5 +13,5 @@ metadata: sysobjectid: - 1.3.6.1.4.1.12356.103.* # Fortinet Appliance - - 1.3.6.1.4.1.12356.106.1.* # Fortinet fortiswitch + - 1.3.6.1.4.1.12356.106.* # Fortinet fortiswitch \ No newline at end of file diff --git a/snmp/metadata.csv b/snmp/metadata.csv index e7a91f20b6b3f..eb9c4abcd8c7a 100644 --- a/snmp/metadata.csv +++ b/snmp/metadata.csv @@ -534,6 +534,8 @@ snmp.fmSysCpuUsageExcludedNice,gauge,,,,"[FORTINET-FORTIMANAGER-FORTIANALYZER-MI snmp.fmSysDiskCapacity,gauge,,,,"[FORTINET-FORTIMANAGER-FORTIANALYZER-MIB] Total hard disk capacity (MB)",0,snmp,, snmp.fmSysDiskUsage,gauge,,,,"[FORTINET-FORTIMANAGER-FORTIANALYZER-MIB] Current hard disk usage (MB)",0,snmp,, snmp.fruInformationStatus,gauge,,,,[Dell iDRAC] The status of the field replaceable unit information.,0,snmp,, +snmp.fsSysDiskCapacity,gauge,,,,"[FORTINET-FORTISWITCH-MIB] Total hard disk capacity (KB), if disk is present",0,snmp,, +snmp.fsSysDiskUsage,gauge,,,,"[FORTINET-FORTISWITCH-MIB] Current hard disk usage (KB), if disk is present",0,snmp,, snmp.fwAccepted,count,,packet,,[Checkpoint Firewall] Number of accepted packets.,0,snmp,, snmp.fwDropped,count,,packet,,[Checkpoint Firewall] Number of dropped packets.,0,snmp,, snmp.fwNumConn,gauge,,connection,,[Checkpoint Firewall] Number of concurrent IPv6 and IPv4 connections.,0,snmp,, diff --git a/snmp/tests/compose/data/fortinet-fortiswitch.snmprec b/snmp/tests/compose/data/fortinet-fortiswitch.snmprec index 85e572bb6cedd..9f70d2bab0809 100644 --- a/snmp/tests/compose/data/fortinet-fortiswitch.snmprec +++ b/snmp/tests/compose/data/fortinet-fortiswitch.snmprec @@ -2,3 +2,15 @@ 1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.12356.106.1.1 1.3.6.1.2.1.1.5.0|4|fortinet.fortiswitch.example 1.3.6.1.2.1.2.1.0|2|4 +1.3.6.1.4.1.12356.106.1.1.1.0|4x|746865697220616374656420717561696e746c79204a61646564207a6f6d6269657320666f7277617264206f78656e206275742064726976696e67 +1.3.6.1.4.1.12356.106.3.1.0|4|but +1.3.6.1.4.1.12356.106.4.1.1.0|4x|62757420666f727761726420717561696e746c79207a6f6d6269657320666f7277617264206b65707420717561696e746c79 +1.3.6.1.4.1.12356.106.4.1.2.0|66|3 +1.3.6.1.4.1.12356.106.4.1.3.0|66|590417085 +1.3.6.1.4.1.12356.106.4.1.4.0|66|509497976 +1.3.6.1.4.1.12356.106.4.1.5.0|66|4104510985 +1.3.6.1.4.1.12356.106.4.1.6.0|66|1177928164 +1.3.6.1.4.1.12356.106.4.2.1.0|4x|74686569722064726976696e67 +1.3.6.1.6.3.1.1.4.1.0|6|1.3.6.1.3.56.115.213.40 +1.3.6.1.6.3.1.1.4.3.0|6|1.3.6.1.3.89 +1.3.6.1.6.3.1.1.6.1.0|2|22 diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_fortinet.py b/snmp/tests/test_e2e_core_profiles/test_profile_fortinet.py index 8918bcb4ba3ea..a26d892545134 100644 --- a/snmp/tests/test_e2e_core_profiles/test_profile_fortinet.py +++ b/snmp/tests/test_e2e_core_profiles/test_profile_fortinet.py @@ -34,6 +34,7 @@ def test_e2e_profile_fortinet(dd_agent_check): assert_common_metrics(aggregator, common_tags) assert_extend_generic_if(aggregator, common_tags) aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) # --- TEST METADATA --- device = { @@ -54,42 +55,3 @@ def test_e2e_profile_fortinet(dd_agent_check): "vendor": "fortinet", } assert_device_metadata(aggregator, device) - - -def test_e2e_profile_fortinet_fortiswitch(dd_agent_check): - config = create_e2e_core_test_config("fortinet-fortiswitch") - aggregator = common.dd_agent_check_wrapper(dd_agent_check, config, rate=True) - - ip_address = get_device_ip_from_config(config) - common_tags = [ - "snmp_profile:fortinet", - "snmp_host:fortinet.fortiswitch.example", - "device_namespace:default", - "snmp_device:" + ip_address, - ] - - # --- TEST METRICS --- - assert_common_metrics(aggregator, common_tags) - assert_extend_generic_if(aggregator, common_tags) - aggregator.assert_all_metrics_covered() - aggregator.assert_metrics_using_metadata(get_metadata_metrics()) - - # --- TEST METADATA --- - device = { - "description": "Fortinet Fortiswitch dummy device", - "id": "default:" + ip_address, - "id_tags": ["device_namespace:default", "snmp_device:" + ip_address], - "ip_address": "" + ip_address, - "name": "fortinet.fortiswitch.example", - "profile": "fortinet", - "status": 1, - "sys_object_id": "1.3.6.1.4.1.12356.106.1.1", - "tags": [ - "device_namespace:default", - "snmp_device:" + ip_address, - "snmp_host:fortinet.fortiswitch.example", - "snmp_profile:fortinet", - ], - "vendor": "fortinet", - } - assert_device_metadata(aggregator, device) diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_fortinet_fortiswitch.py b/snmp/tests/test_e2e_core_profiles/test_profile_fortinet_fortiswitch.py new file mode 100644 index 0000000000000..cc5355a22851d --- /dev/null +++ b/snmp/tests/test_e2e_core_profiles/test_profile_fortinet_fortiswitch.py @@ -0,0 +1,66 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +import pytest + +from datadog_checks.dev.utils import get_metadata_metrics + +from .. import common +from ..test_e2e_core_metadata import assert_device_metadata +from .utils import ( + assert_common_metrics, + assert_extend_generic_if, + create_e2e_core_test_config, + get_device_ip_from_config, +) + +pytestmark = [pytest.mark.e2e, common.py3_plus_only, common.snmp_integration_only] + + +def test_e2e_profile_fortinet_fortiswitch(dd_agent_check): + config = create_e2e_core_test_config('fortinet-fortiswitch') + aggregator = common.dd_agent_check_wrapper(dd_agent_check, config, rate=True) + + ip_address = get_device_ip_from_config(config) + common_tags = [ + 'snmp_profile:fortinet-fortiswitch', + 'snmp_host:fortinet.fortiswitch.example', + 'device_namespace:default', + 'snmp_device:' + ip_address, + ] + [ + 'fs_sys_serial:their acted quaintly Jaded zombies forward oxen but driving', + 'fs_sys_version:but forward quaintly zombies forward kept quaintly', + ] + + # --- TEST EXTENDED METRICS --- + assert_extend_generic_if(aggregator, common_tags) + + # --- TEST METRICS --- + assert_common_metrics(aggregator, common_tags) + + aggregator.assert_metric('snmp.cpu.usage', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.fsSysDiskCapacity', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.fsSysDiskUsage', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.memory.total', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.memory.usage', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.memory.used', metric_type=aggregator.GAUGE, tags=common_tags) + + # --- TEST METADATA --- + device = { + 'description': 'Fortinet Fortiswitch dummy device', + 'id': 'default:' + ip_address, + 'id_tags': ['device_namespace:default', 'snmp_device:' + ip_address], + 'ip_address': '' + ip_address, + 'name': 'fortinet.fortiswitch.example', + 'profile': 'fortinet-fortiswitch', + 'status': 1, + 'sys_object_id': '1.3.6.1.4.1.12356.106.1.1', + 'vendor': 'fortinet', + } + device['tags'] = common_tags + assert_device_metadata(aggregator, device) + + # --- CHECK COVERAGE --- + aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics()) From c976f72f50b3394e0fa769c8696125005af81c67 Mon Sep 17 00:00:00 2001 From: Ken Schneider <103530259+ken-schneider@users.noreply.github.com> Date: Thu, 6 Jul 2023 13:26:43 -0400 Subject: [PATCH 77/77] [NDM] Add audiocodes-mediant-sbc profile (#15117) * add audiocodes-mediant-sbc profile * update audiocodes profile, fix e2e test --- .../audiocodes-mediant-sbc.yaml | 26 ++++++++ .../data/audiocodes-mediant-sbc.snmprec | 7 +++ .../test_profile_audiocodes_mediant_sbc.py | 62 +++++++++++++++++++ 3 files changed, 95 insertions(+) create mode 100644 snmp/datadog_checks/snmp/data/default_profiles/audiocodes-mediant-sbc.yaml create mode 100644 snmp/tests/compose/data/audiocodes-mediant-sbc.snmprec create mode 100644 snmp/tests/test_e2e_core_profiles/test_profile_audiocodes_mediant_sbc.py diff --git a/snmp/datadog_checks/snmp/data/default_profiles/audiocodes-mediant-sbc.yaml b/snmp/datadog_checks/snmp/data/default_profiles/audiocodes-mediant-sbc.yaml new file mode 100644 index 0000000000000..46f71ae5d120a --- /dev/null +++ b/snmp/datadog_checks/snmp/data/default_profiles/audiocodes-mediant-sbc.yaml @@ -0,0 +1,26 @@ +extends: + - _base.yaml + - _generic-if.yaml + +sysobjectid: + - 1.3.6.1.4.1.5003.8.1.1.71 + +metrics: + - MIB: HOST-RESOURCES-MIB + symbol: + name: memory.total + OID: 1.3.6.1.2.1.25.2.3.1.5.1 + - MIB: HOST-RESOURCES-MIB + symbol: + name: memory.used + OID: 1.3.6.1.2.1.25.2.3.1.6.1 + - MIB: HOST-RESOURCES-MIB + symbol: + name: cpu.usage + OID: 1.3.6.1.2.1.25.3.3.1.2.1 + +metadata: + device: + fields: + vendor: + value: "audiocodes" diff --git a/snmp/tests/compose/data/audiocodes-mediant-sbc.snmprec b/snmp/tests/compose/data/audiocodes-mediant-sbc.snmprec new file mode 100644 index 0000000000000..fae5ac349a144 --- /dev/null +++ b/snmp/tests/compose/data/audiocodes-mediant-sbc.snmprec @@ -0,0 +1,7 @@ +1.3.6.1.2.1.1.1.0|4|audiocodes-mediant-sbc Device Description +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.5003.8.1.1.71 +1.3.6.1.2.1.1.5.0|4|audiocodes-mediant-sbc.device.name +1.3.6.1.2.1.2.1.0|2|28 +1.3.6.1.2.1.25.2.3.1.5.1|2|21 +1.3.6.1.2.1.25.2.3.1.6.1|2|34 +1.3.6.1.2.1.25.3.3.1.2.1|2|58 diff --git a/snmp/tests/test_e2e_core_profiles/test_profile_audiocodes_mediant_sbc.py b/snmp/tests/test_e2e_core_profiles/test_profile_audiocodes_mediant_sbc.py new file mode 100644 index 0000000000000..1937c9b4854f2 --- /dev/null +++ b/snmp/tests/test_e2e_core_profiles/test_profile_audiocodes_mediant_sbc.py @@ -0,0 +1,62 @@ +# (C) Datadog, Inc. 2023-present +# All rights reserved +# Licensed under a 3-clause BSD style license (see LICENSE) + +import pytest + +from datadog_checks.dev.utils import get_metadata_metrics + +from .. import common +from ..test_e2e_core_metadata import assert_device_metadata +from .utils import ( + assert_common_metrics, + assert_extend_generic_if, + create_e2e_core_test_config, + get_device_ip_from_config, +) + +pytestmark = [pytest.mark.e2e, common.py3_plus_only, common.snmp_integration_only] + + +def test_e2e_profile_audiocodes_mediant_sbc(dd_agent_check): + config = create_e2e_core_test_config('audiocodes-mediant-sbc') + aggregator = common.dd_agent_check_wrapper(dd_agent_check, config, rate=True) + + ip_address = get_device_ip_from_config(config) + common_tags = [ + 'snmp_profile:audiocodes-mediant-sbc', + 'snmp_host:audiocodes-mediant-sbc.device.name', + 'device_namespace:default', + 'snmp_device:' + ip_address, + ] + [] + + # --- TEST EXTENDED METRICS --- + # Examples: + assert_extend_generic_if(aggregator, common_tags) + + # --- TEST METRICS --- + assert_common_metrics(aggregator, common_tags) + + aggregator.assert_metric('snmp.cpu.usage', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.memory.total', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.memory.usage', metric_type=aggregator.GAUGE, tags=common_tags) + aggregator.assert_metric('snmp.memory.used', metric_type=aggregator.GAUGE, tags=common_tags) + + # --- TEST METADATA --- + device = { + 'description': 'audiocodes-mediant-sbc Device Description', + 'id': 'default:' + ip_address, + 'id_tags': ['device_namespace:default', 'snmp_device:' + ip_address], + 'ip_address': '' + ip_address, + 'name': 'audiocodes-mediant-sbc.device.name', + 'profile': 'audiocodes-mediant-sbc', + 'status': 1, + 'sys_object_id': '1.3.6.1.4.1.5003.8.1.1.71', + 'vendor': 'audiocodes', + } + device['tags'] = common_tags + assert_device_metadata(aggregator, device) + + # --- CHECK COVERAGE --- + aggregator.assert_all_metrics_covered() + aggregator.assert_metrics_using_metadata(get_metadata_metrics())