From 27dcab4c8e69eb82c0ab35ab9043a67f0ed65074 Mon Sep 17 00:00:00 2001 From: muskan-crest Date: Thu, 18 Dec 2025 17:48:10 +0530 Subject: [PATCH 1/5] Added identity datastream in Axonius --- .github/CODEOWNERS | 1 + packages/axonius/_dev/build/build.yml | 3 + packages/axonius/_dev/build/docs/README.md | 130 ++ .../_dev/deploy/docker/docker-compose.yml | 15 + .../_dev/deploy/docker/files/config.yml | 1287 ++++++++++ packages/axonius/changelog.yml | 6 + .../_dev/test/pipeline/test-account.log | 3 + .../pipeline/test-account.log-expected.json | 294 +++ .../_dev/test/pipeline/test-certificate.log | 3 + .../test-certificate.log-expected.json | 379 +++ .../_dev/test/pipeline/test-common-config.yml | 3 + .../_dev/test/pipeline/test-group.log | 3 + .../pipeline/test-group.log-expected.json | 340 +++ .../test/pipeline/test-identity-common.log | 5 + .../test-identity-common.log-expected.json | 470 ++++ .../identity/_dev/test/pipeline/test-user.log | 3 + .../test/pipeline/test-user.log-expected.json | 603 +++++ .../_dev/test/system/test-default-config.yml | 13 + .../identity/agent/stream/cel.yml.hbs | 137 ++ .../elasticsearch/ilm/default_policy.json | 23 + .../elasticsearch/ingest_pipeline/default.yml | 814 +++++++ .../ingest_pipeline/pipeline-account.yml | 440 ++++ .../ingest_pipeline/pipeline-certificate.yml | 172 ++ .../ingest_pipeline/pipeline-group.yml | 139 ++ .../ingest_pipeline/pipeline-user.yml | 2070 +++++++++++++++++ .../identity/fields/base-fields.yml | 16 + .../data_stream/identity/fields/beats.yml | 6 + .../data_stream/identity/fields/ecs.yml | 5 + .../data_stream/identity/fields/fields.yml | 994 ++++++++ .../data_stream/identity/lifecycle.yml | 1 + .../axonius/data_stream/identity/manifest.yml | 80 + .../data_stream/identity/sample_event.json | 173 ++ packages/axonius/docs/README.md | 766 ++++++ .../img/axonius-identity-dashboard.png | Bin 0 -> 332880 bytes packages/axonius/img/axonius-logo.svg | 3 + ...-60472232-ca7b-45e6-9fa6-72e6efc41a8e.json | 1312 +++++++++++ packages/axonius/manifest.yml | 102 + packages/axonius/validation.yml | 3 + 38 files changed, 10817 insertions(+) create mode 100644 packages/axonius/_dev/build/build.yml create mode 100644 packages/axonius/_dev/build/docs/README.md create mode 100644 packages/axonius/_dev/deploy/docker/docker-compose.yml create mode 100644 packages/axonius/_dev/deploy/docker/files/config.yml create mode 100644 packages/axonius/changelog.yml create mode 100644 packages/axonius/data_stream/identity/_dev/test/pipeline/test-account.log create mode 100644 packages/axonius/data_stream/identity/_dev/test/pipeline/test-account.log-expected.json create mode 100644 packages/axonius/data_stream/identity/_dev/test/pipeline/test-certificate.log create mode 100644 packages/axonius/data_stream/identity/_dev/test/pipeline/test-certificate.log-expected.json create mode 100644 packages/axonius/data_stream/identity/_dev/test/pipeline/test-common-config.yml create mode 100644 packages/axonius/data_stream/identity/_dev/test/pipeline/test-group.log create mode 100644 packages/axonius/data_stream/identity/_dev/test/pipeline/test-group.log-expected.json create mode 100644 packages/axonius/data_stream/identity/_dev/test/pipeline/test-identity-common.log create mode 100644 packages/axonius/data_stream/identity/_dev/test/pipeline/test-identity-common.log-expected.json create mode 100644 packages/axonius/data_stream/identity/_dev/test/pipeline/test-user.log create mode 100644 packages/axonius/data_stream/identity/_dev/test/pipeline/test-user.log-expected.json create mode 100644 packages/axonius/data_stream/identity/_dev/test/system/test-default-config.yml create mode 100644 packages/axonius/data_stream/identity/agent/stream/cel.yml.hbs create mode 100644 packages/axonius/data_stream/identity/elasticsearch/ilm/default_policy.json create mode 100644 packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/default.yml create mode 100644 packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-account.yml create mode 100644 packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-certificate.yml create mode 100644 packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-group.yml create mode 100644 packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-user.yml create mode 100644 packages/axonius/data_stream/identity/fields/base-fields.yml create mode 100644 packages/axonius/data_stream/identity/fields/beats.yml create mode 100644 packages/axonius/data_stream/identity/fields/ecs.yml create mode 100644 packages/axonius/data_stream/identity/fields/fields.yml create mode 100644 packages/axonius/data_stream/identity/lifecycle.yml create mode 100644 packages/axonius/data_stream/identity/manifest.yml create mode 100644 packages/axonius/data_stream/identity/sample_event.json create mode 100644 packages/axonius/docs/README.md create mode 100644 packages/axonius/img/axonius-identity-dashboard.png create mode 100644 packages/axonius/img/axonius-logo.svg create mode 100644 packages/axonius/kibana/dashboard/axonius-60472232-ca7b-45e6-9fa6-72e6efc41a8e.json create mode 100644 packages/axonius/manifest.yml create mode 100644 packages/axonius/validation.yml diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 618d324c2f3..e745c7adcb4 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -93,6 +93,7 @@ /packages/aws_vpcflow_otel @elastic/obs-infraobs-integrations /packages/awsfargate @elastic/obs-infraobs-integrations /packages/awsfirehose @elastic/obs-ds-hosted-services +/packages/axonius @elastic/security-service-integrations /packages/azure @elastic/obs-infraobs-integrations @elastic/obs-ds-hosted-services @elastic/security-service-integrations /packages/azure/data_stream/activitylogs @elastic/obs-infraobs-integrations /packages/azure/data_stream/application_gateway @elastic/security-service-integrations diff --git a/packages/axonius/_dev/build/build.yml b/packages/axonius/_dev/build/build.yml new file mode 100644 index 00000000000..b2596b96490 --- /dev/null +++ b/packages/axonius/_dev/build/build.yml @@ -0,0 +1,3 @@ +dependencies: + ecs: + reference: git@v9.2.0 diff --git a/packages/axonius/_dev/build/docs/README.md b/packages/axonius/_dev/build/docs/README.md new file mode 100644 index 00000000000..facfecf9bea --- /dev/null +++ b/packages/axonius/_dev/build/docs/README.md @@ -0,0 +1,130 @@ +# Axonius Integration for Elastic + +## Overview + +[Axonius](https://www.axonius.com/) is a cybersecurity asset management platform that automatically collects data from hundreds of IT and security tools through adapters, merges that information, and builds a unified inventory of all assets including devices, users, SaaS apps, cloud instances, and more. By correlating data from multiple systems, Axonius helps organizations identify visibility gaps, missing security controls, risky configurations, and compliance issues. It lets you create powerful queries to answer any security or IT question and automate actions such as sending alerts, creating tickets, or enforcing policies. + +This integration for Elastic allows you to collect assets and security events data using the Axonius API, then visualize the data in Kibana. + +### Compatibility +The Axonius integration is compatible with product version **7.0**. + +### How it works +This integration periodically queries the Axonius API to retrieve logs. + +## What data does this integration collect? +This integration collects log messages of the following type: + +- `Identity`: Collect details of all identity assets including: + - users (endpoint: `/api/v2/users`) + - groups (endpoint: `/api/v2/groups`) + - security_roles (endpoint: `/api/v2/security_roles`) + - organizational_units (endpoint: `/api/v2/organizational_units`) + - accounts (endpoint: `/api/v2/accounts`) + - certificates (endpoint: `/api/v2/certificates`) + - permissions (endpoint: `/api/v2/permissions`) + - latest_rules (endpoint: `/api/v2/latest_rules`) + - profiles (endpoint: `/api/v2/profiles`) + - job_titles (endpoint: `/api/v2/job_titles`) + - access_review_campaign_instances (endpoint: `/api/v2/access_review_campaign_instances`) + - access_review_approval_items (endpoint: `/api/v2/access_review_approval_items`) + +### Supported use cases + +Integrating the Axonius Identity Datastream with Elastic SIEM provides a unified view of users, groups, roles, organizational units, accounts, permissions, certificates, profiles, and access-review activity. Metrics and breakdowns help teams quickly assess identity posture by highlighting active, inactive, suspended, and external users, as well as patterns across user types and departments. + +Tables showing top email addresses and cloud providers add context into frequently used identities and their sources. These insights help security and IAM teams detect identity anomalies, validate account hygiene, and maintain strong visibility into access across the organization. + +## What do I need to use this integration? + +### From Axonius + +To collect data through the Axonius APIs, you need to provide the **URL**, **API Key** and **API Secret**. Authentication is handled using the **API Key** and **API Secret**, which serves as the required credential. + +#### Retrieve URL, API Token and API Secret: + +1. Log in to the **Axonius** instance. +2. Your instance URL is your Base **URL**. +3. Navigate to **User Settings > API Key**. +4. Generate an **API Key**. +5. Copy both values including **API Key and Secret Key** and store them securely for use in the Integration configuration. + +## How do I deploy this integration? + +This integration supports both Elastic Agentless-based and Agent-based installations. + +### Agent-based deployment + +Elastic Agent must be installed. For more details, check the Elastic Agent [installation instructions](docs-content://reference/fleet/install-elastic-agents.md). You can install only one Elastic Agent per host. + +Elastic Agent is required to stream data from the syslog or log file receiver and ship the data to Elastic, where the events will then be processed via the integration's ingest pipelines. + +### Agentless deployment + +Agentless deployments are only supported in Elastic Serverless and Elastic Cloud environments. Agentless deployments provide a means to ingest data while avoiding the orchestration, management, and maintenance needs associated with standard ingest infrastructure. Using an agentless deployment makes manual agent deployment unnecessary, allowing you to focus on your data instead of the agent that collects it. + +For more information, refer to [Agentless integrations](https://www.elastic.co/guide/en/serverless/current/security-agentless-integrations.html) and [Agentless integrations FAQ](https://www.elastic.co/guide/en/serverless/current/agentless-integration-troubleshooting.html) + +### Configure + +1. In the top search bar in Kibana, search for **Integrations**. +2. In the search bar, type **Axonius**. +3. Select the **Axonius** integration from the search results. +4. Select **Add Axonius** to add the integration. +5. Enable and configure only the collection methods which you will use. + + * To **Collect logs from Axonius API**, you'll need to: + + - Configure **URL**, **API Key** and **API Secret**. + - Adjust the integration configuration parameters if required, including the Interval, HTTP Client Timeout etc. to enable data collection. + +6. Select **Save and continue** to save the integration. + +### Validation + +#### Dashboard populated + +1. In the top search bar in Kibana, search for **Dashboards**. +2. In the search bar, type **Axonius**, and verify the dashboard information is populated. + +## Troubleshooting + +For help with Elastic ingest tools, check [Common problems](https://www.elastic.co/docs/troubleshoot/ingest/fleet/common-problems). + +## Scaling + +For more information on architectures that can be used for scaling this integration, check the [Ingest Architectures](https://www.elastic.co/docs/manage-data/ingest/ingest-reference-architectures) documentation. + +## Reference + +### Identity + +The `identity` data stream provides identity asset logs from axonius. + +#### identity fields + +{{ fields "identity" }} + +{{event "identity"}} + +### Inputs used +{{/* All inputs used by this package will be automatically listed here. */}} +{{ inputDocs }} + +### API usage + +These APIs are used with this integration: + +* Identity: + * users (endpoint: `/api/v2/users`) + * groups (endpoint: `/api/v2/groups`) + * security_roles (endpoint: `/api/v2/security_roles`) + * organizational_units (endpoint: `/api/v2/organizational_units`) + * accounts (endpoint: `/api/v2/accounts`) + * certificates (endpoint: `/api/v2/certificates`) + * permissions (endpoint: `/api/v2/permissions`) + * latest_rules (endpoint: `/api/v2/latest_rules`) + * profiles (endpoint: `/api/v2/profiles`) + * job_titles (endpoint: `/api/v2/job_titles`) + * access_review_campaign_instances (endpoint: `/api/v2/access_review_campaign_instances`) + * access_review_approval_items (endpoint: `/api/v2/access_review_approval_items`) diff --git a/packages/axonius/_dev/deploy/docker/docker-compose.yml b/packages/axonius/_dev/deploy/docker/docker-compose.yml new file mode 100644 index 00000000000..2c44356c631 --- /dev/null +++ b/packages/axonius/_dev/deploy/docker/docker-compose.yml @@ -0,0 +1,15 @@ +version: '3.8' +services: + axonius: + image: docker.elastic.co/observability/stream:v0.20.0 + hostname: axonius + ports: + - 8090 + volumes: + - ./files:/files:ro + environment: + PORT: '8090' + command: + - http-server + - --addr=:8090 + - --config=/files/config.yml diff --git a/packages/axonius/_dev/deploy/docker/files/config.yml b/packages/axonius/_dev/deploy/docker/files/config.yml new file mode 100644 index 00000000000..3b65342221d --- /dev/null +++ b/packages/axonius/_dev/deploy/docker/files/config.yml @@ -0,0 +1,1287 @@ +rules: + - path: /api/v2/assets/users + methods: ['POST'] + request_headers: + Content-Type: application/json + api-key: xxxx + api-secret: xxxx + request_body: /.*"next_page":"xyz".*"page":{"limit":2}.*/ + responses: + - status_code: 200 + headers: + Content-Type: + - 'application/json' + body: |- + {{ minify_json ` + { + "assets": [ + { + "internal_axon_id": "5e0d2725484dde8e602ea9f97aa67d71", + "adapters": [ + "aws_adapter" + ], + "asset_type": "users", + "adapter_list_length": 1, + "specific_data": [ + { + "accurate_for_datetime": "Tue, 09 Dec 2025 12:02:20 GMT", + "adapter_categories": [ + "ERP", + "SaaS Management", + "HR" + ], + "client_used": "67fd0998fe1c8e812a176b9f", + "data": { + "accurate_for_datetime": "Tue, 09 Dec 2025 12:02:20 GMT", + "application_and_account_name": "workday/workday-demo", + "display_name": "William Mcallister", + "employee_id": "880290", + "employee_type": "Worker", + "fetch_time": "Tue, 09 Dec 2025 12:02:19 GMT", + "first_fetch_time": "Mon, 14 Apr 2025 13:27:14 GMT", + "first_name": "William", + "from_last_fetch": true, + "hr_employment_status": "Employed", + "id": "b5089852-7138-47ee-aac3-38359caf8754", + "is_active": true, + "is_fetched_from_adapter": true, + "is_managed_by_application": true, + "is_permission_adapter": true, + "is_saas_user": true, + "is_user_active": true, + "is_user_inactive": false, + "last_fetch_connection_id": "67fd0998fe1c8e812a176b9f", + "last_fetch_connection_label": "workday-demo", + "last_name": "Mcallister", + "mail": "william.mcallister@demo.local", + "nested_applications": [ + { + "active_from_direct_adapter": true, + "app_accounts": [ + { + "name": "workday-demo" + } + ], + "app_display_name": "workday-demo", + "assignment_type": "Direct", + "is_from_direct_adapter": true, + "is_managed": true, + "name": "Workday", + "parents": [ + { + "name": "", + "value": "" + } + ], + "relation_direct_name": "Workday", + "source_application": "Workday", + "value": "Workday_67fd0998fe1c8e812a176b9f", + "vendor_category": "HR" + } + ], + "nested_associated_devices": [], + "nested_grants_last_updated": "Tue, 09 Dec 2025 12:10:06 GMT", + "nested_grants_managers_last_updated": "Tue, 09 Dec 2025 12:10:10 GMT", + "nested_groups": [], + "nested_managers": [ + { + "assignment_type": "Indirect", + "parents": [ + { + "name": "Irene James", + "parent_type": "User", + "value": "irene.james@demo.local" + } + ], + "value": "" + } + ], + "nested_permissions": [], + "nested_resources": [], + "nested_roles": [], + "not_fetched_count": 0, + "pretty_id": "AX-2400172294", + "sm_entity_type": "saas_user", + "source_application": "Workday", + "tenant_number": [ + "4" + ], + "user_apps": [ + { + "active_from_direct_adapter": true, + "app_accounts": [ + { + "name": "workday-demo" + } + ], + "app_display_name": "workday-demo", + "app_id": "Workday_67fd0998fe1c8e812a176b9f", + "app_name": "Workday", + "is_from_direct_adapter": true, + "is_managed": true, + "is_saas_application": true, + "relation_direct_name": "Workday", + "source_application": "Workday", + "vendor_category": "HR" + } + ], + "user_department": "R&D", + "user_full_name": "William Mcallister", + "user_manager": "yvonne.gordon@demo.local", + "user_manager_mail": "yvonne.gordon@demo.local", + "user_remote_id": "c36808f9-305b-4e92-acfb-dfabfc2f0cb3", + "user_title": "R&D Engineer", + "username": "william.mcallister@demo.local" + }, + "initial_plugin_unique_name": "workday_adapter_0", + "plugin_name": "workday_adapter", + "plugin_type": "Adapter", + "plugin_unique_name": "workday_adapter_0", + "quick_id": "workday_adapter_0!b5089852-7138-47ee-aac3-38359caf8754", + "type": "entitydata" + } + ] + } + ], + "meta": { + "cache_last_updated": "Mon, 01 Dec 2025 13:37:38 GMT", + "is_data_from_cache": true, + "page": { + "number": 2, + "size": 2, + "totalPages": 2, + "totalResources": 3 + }, + "next_page": "abcd", + "expand_row": false, + "optimized_view": false, + "relation_fields_data": false + } + } + `}} + + - path: /api/v2/assets/users + methods: ['POST'] + request_headers: + Content-Type: application/json + api-key: xxxx + api-secret: xxxx + request_body: /.*"page":{"limit":2}.*/ + responses: + - status_code: 200 + headers: + Content-Type: + - 'application/json' + body: |- + {{ minify_json ` + { + "assets": [ + { + "internal_axon_id": "bc11b2989fc0f69708b6865d172a49fe", + "adapters": [ + "aws_adapter", + "zoom_adapter" + ], + "adapter_list_length": 12, + "specific_data": [ + { + "accurate_for_datetime": "Tue, 09 Dec 2025 12:02:24 GMT", + "adapter_categories": [ + "Cloud Infra" + ], + "client_used": "67fd09ab731ccb57309230fc", + "data": { + "accurate_for_datetime": "Tue, 09 Dec 2025 12:02:24 GMT", + "application_and_account_name": "aws/aws-demo", + "aws_iam_identity_type": "IAM User", + "fetch_time": "Tue, 09 Dec 2025 12:02:22 GMT", + "first_fetch_time": "Mon, 14 Apr 2025 13:27:03 GMT", + "from_last_fetch": true, + "id": "06C9040CA7D1D8B6F01F6", + "internal_is_admin": false, + "is_admin": false, + "is_fetched_from_adapter": true, + "is_managed_by_application": true, + "is_permission_adapter": true, + "is_saas_user": true, + "last_fetch_connection_id": "67fd09ab731ccb57309230fc", + "last_fetch_connection_label": "aws-demo", + "nested_associated_devices": [], + "nested_grants_last_updated": "Tue, 09 Dec 2025 12:10:06 GMT", + "nested_grants_managers_last_updated": "Tue, 09 Dec 2025 12:10:10 GMT", + "nested_groups": [], + "nested_managers": [], + "nested_permissions": [], + "nested_resources": [], + "nested_roles": [], + "not_fetched_count": 0, + "sm_entity_type": "saas_user", + "source_application": "AWS", + "tenant_number": [ + "2" + ], + "user_apps": [ + { + "active_from_direct_adapter": true, + "app_accounts": [ + { + "name": "aws-demo" + } + ], + "app_display_name": "aws-demo", + "app_id": "AWS_67fd09ab731ccb57309230fc", + "app_name": "AWS", + "is_from_direct_adapter": true, + "is_managed": true, + "is_saas_application": true, + "relation_direct_name": "AWS", + "source_application": "AWS", + "vendor_category": "Other" + } + ], + "user_is_password_enabled": false, + "user_pass_last_used": "Sat, 12 Apr 2025 21:58:16 GMT", + "user_path": "/", + "user_permissions": [], + "user_remote_id": "63d52bb0-7ce0-4467-9004-2b19c06b86ae", + "user_sid": "helen.jordan@demo.local@demo.local", + "username": "helen.jordan@demo.local" + }, + "initial_plugin_unique_name": "aws_adapter_0", + "plugin_name": "aws_adapter", + "plugin_type": "Adapter", + "plugin_unique_name": "aws_adapter_0", + "quick_id": "aws_adapter_0!06C9040CA7D1D8B6F01F6", + "type": "entitydata" + }, + { + "accurate_for_datetime": "Tue, 09 Dec 2025 12:02:11 GMT", + "adapter_categories": [ + "Directory", + "IAM", + "SaaS Management" + ], + "client_used": "67fd09bbfe1c8e812a176bb5", + "data": { + "account_disabled": true, + "accurate_for_datetime": "Tue, 09 Dec 2025 12:02:11 GMT", + "application_and_account_name": "microsoft/azure_ad-demo", + "associated_groups": [ + { + "display_name": "developers-group", + "remote_id": "a3e70162" + } + ], + "azure_account_id": "c8103abe-eda9-472b-894a-6260bb2ba8cc", + "cloud_provider": "Azure", + "email_activity": { + "is_deleted": false, + "product_license": "MICROSOFT FABRIC (FREE)+MICROSOFT TEAMS PHONE STANDARD+MICROSOFT DEFENDER FOR OFFICE365 (PLAN 2)+MICROSOFT 365 AUDIO CONFERENCING+ENTERPRISE MOBILITY + SECURITY E3+OFFICE365 E3+MICROSOFT 365 E3 EXTRA FEATURES", + "read_count": 2321, + "receive_count": 6965, + "report_date": "Fri, 10 Jan 2025 20:34:43 GMT", + "report_period": 90, + "send_count": 3030 + }, + "fetch_time": "Tue, 09 Dec 2025 12:02:03 GMT", + "first_fetch_time": "Mon, 14 Apr 2025 13:27:00 GMT", + "from_last_fetch": true, + "has_administrative_permissions": true, + "id": "c8103abe-eda9-472b-894a-6260bb2ba8cc", + "internal_is_admin": false, + "is_admin": false, + "is_fetched_from_adapter": true, + "is_latest_last_seen": true, + "is_managed_by_application": true, + "is_permission_adapter": true, + "is_saas_user": true, + "is_user_external": false, + "last_fetch_connection_id": "67fd09bbfe1c8e812a176bb5", + "last_fetch_connection_label": "azure_ad-demo", + "last_logon": "Sun, 30 Nov 2025 18:50:39 GMT", + "last_seen": "Mon, 10 Nov 2025 22:18:25 GMT", + "mail": "helen.jordan@demo.local", + "nested_applications": [ + { + "app_display_name": "Calendly", + "assignment_type": "Direct", + "extension_type": "User Consent", + "is_managed": false, + "is_unmanaged_extension": true, + "name": "Calendly", + "parents": [ + { + "name": "", + "value": "" + } + ], + "permissions": [ + { + "name": "openid" + } + ], + "relation_extension_name": "Calendly", + "source_application": "Microsoft", + "value": "2E2a2e7c9f758BDcC0E2", + "vendor_category": "Productivity" + } + ], + "nested_associated_devices": [], + "nested_grants_last_updated": "Tue, 09 Dec 2025 12:10:06 GMT", + "nested_grants_managers_last_updated": "Tue, 09 Dec 2025 12:10:10 GMT", + "nested_groups": [ + { + "assignment_type": "Direct", + "name": "Office365 Users", + "parents": [ + { + "name": "", + "value": "" + } + ], + "value": "d8e66837" + } + ], + "nested_managers": [], + "nested_resources": [], + "nested_roles": [], + "not_fetched_count": 0, + "sm_entity_type": "saas_user", + "source_application": "Microsoft", + "tenant_number": [ + "2" + ], + "user_apps": [], + "user_created": "Fri, 28 Jun 2024 08:49:28 GMT", + "user_permissions": [ + { + "is_admin": false, + "name": "OnlineMeetings.ReadWrite" + } + ], + "user_remote_id": "63d52bb0-7ce0-4467-9004-2b19c06b86ae", + "user_type": "Member", + "username": "helen.jordan@demo.local" + }, + "initial_plugin_unique_name": "azure_ad_adapter_0", + "plugin_name": "azure_ad_adapter", + "plugin_type": "Adapter", + "plugin_unique_name": "azure_ad_adapter_0", + "quick_id": "azure_ad_adapter_0!c8103abe-eda9-472b-894a-6260bb2ba8cc", + "type": "entitydata" + } + ] + }, + { + "internal_axon_id": "ddca721dfbf352b3fca31546ec23cb0c", + "adapters": [ + "workday_adapter" + ], + "adapter_list_length": 12, + "specific_data": [ + { + "accurate_for_datetime": "Tue, 09 Dec 2025 12:02:11 GMT", + "adapter_categories": [ + "Directory", + "IAM", + "SaaS Management" + ], + "client_used": "67fd09bbfe1c8e812a176bb5", + "data": { + "account_disabled": false, + "accurate_for_datetime": "Tue, 09 Dec 2025 12:02:11 GMT", + "admin_roles": [ + { + "display_name": "Application Administrator", + "id": "ce4625e3-77dd-4ca5-955e-fab8bcb69d18" + } + ], + "application_and_account_name": "microsoft/azure_ad-demo", + "associated_groups": [ + { + "display_name": "Network", + "remote_id": "570d01c7" + } + ], + "azure_account_id": "87dee520-a55d-43f5-aaa9-775691047e43", + "cloud_provider": "Azure", + "fetch_time": "Tue, 09 Dec 2025 12:02:01 GMT", + "first_fetch_time": "Mon, 14 Apr 2025 13:26:57 GMT", + "from_last_fetch": true, + "has_administrative_permissions": true, + "id": "87dee520-a55d-43f5-aaa9-775691047e43", + "internal_is_admin": false, + "is_admin": false, + "is_fetched_from_adapter": true, + "is_latest_last_seen": true, + "is_managed_by_application": true, + "is_permission_adapter": true, + "is_saas_user": true, + "is_user_external": false, + "last_fetch_connection_id": "67fd09bbfe1c8e812a176bb5", + "last_fetch_connection_label": "azure_ad-demo", + "last_logon": "Sun, 07 Dec 2025 03:33:50 GMT", + "last_seen": "Wed, 26 Nov 2025 06:54:58 GMT", + "mail": "chris.swarey@demo.local", + "nested_applications": [], + "nested_associated_devices": [], + "nested_grants_last_updated": "Tue, 09 Dec 2025 12:10:03 GMT", + "nested_grants_managers_last_updated": "Tue, 09 Dec 2025 12:10:09 GMT", + "nested_groups": [], + "nested_managers": [], + "nested_permissions": [], + "nested_resources": [], + "nested_roles": [], + "not_fetched_count": 0, + "sm_entity_type": "saas_user", + "source_application": "Microsoft", + "tenant_number": [ + "1" + ], + "user_apps": [], + "user_created": "Sun, 27 Oct 2024 11:19:15 GMT", + "user_permissions": [ + { + "is_admin": true, + "name": "openid" + } + ], + "user_remote_id": "27722fde-2498-4302-b125-71b5166694b1", + "user_type": "Member", + "username": "chris.swarey@demo.local" + }, + "initial_plugin_unique_name": "azure_ad_adapter_0", + "plugin_name": "azure_ad_adapter", + "plugin_type": "Adapter", + "plugin_unique_name": "azure_ad_adapter_0", + "quick_id": "azure_ad_adapter_0!87dee520-a55d-43f5-aaa9-775691047e43", + "type": "entitydata" + } + ] + } + ], + "meta": { + "cache_last_updated": "Mon, 01 Dec 2025 13:37:38 GMT", + "is_data_from_cache": true, + "page": { + "number": 1, + "size": 2, + "totalPages": 2, + "totalResources": 3 + }, + "next_page": "xyz", + "expand_row": false, + "optimized_view": false, + "relation_fields_data": false + } + } + `}} + + - path: /api/v2/assets/groups + methods: ['POST'] + request_headers: + Content-Type: application/json + api-key: xxxx + api-secret: xxxx + request_body: /.*"page":{"limit":2}.*/ + responses: + - status_code: 200 + headers: + Content-Type: + - 'application/json' + body: |- + {{ minify_json ` + { + "assets": [], + "meta": { + "cache_last_updated": "Mon, 01 Dec 2025 13:37:38 GMT", + "is_data_from_cache": true, + "page": { + "number": 1, + "size": 0, + "totalPages": 0, + "totalResources": 0 + }, + "next_page": "abcd", + "expand_row": false, + "optimized_view": false, + "relation_fields_data": false + } + } + `}} + + - path: /api/v2/assets/security_roles + methods: ['POST'] + request_headers: + Content-Type: application/json + api-key: xxxx + api-secret: xxxx + request_body: /.*"page":{"limit":2}.*/ + responses: + - status_code: 200 + headers: + Content-Type: + - 'application/json' + body: |- + {{ minify_json ` + { + "assets": [ + { + "internal_axon_id": "bbe87f5753a6cf1500ed8c8249d3a3dd", + "adapters": [ + "github_adapter" + ], + "adapter_list_length": 1, + "specific_data": [ + { + "accurate_for_datetime": "Tue, 09 Dec 2025 12:02:32 GMT", + "adapter_categories": [ + "Software Development Version Control", + "SaaS Management" + ], + "client_used": "67fd09a9fe1c8e812a176ba9", + "data": { + "accurate_for_datetime": "Tue, 09 Dec 2025 12:02:32 GMT", + "application_and_account_name": "github/github-prod", + "display_name": "REPOSITORY_MAINTAINER", + "fetch_time": "Tue, 09 Dec 2025 12:02:31 GMT", + "first_fetch_time": "Mon, 14 Apr 2025 13:25:24 GMT", + "from_last_fetch": true, + "id": "1af78d57c74550c0a7bb", + "id_raw": "4e8a1f5a1b3143e68b9c26d894f9a41f", + "is_admin": false, + "is_fetched_from_adapter": true, + "last_fetch_connection_id": "67fd09a9fe1c8e812a176ba9", + "last_fetch_connection_label": "github-prod", + "name": "REPOSITORY_MAINTAINER", + "not_fetched_count": 0, + "permissions": [], + "pretty_id": "AX-3152576343", + "remote_id": "3e82J945I67S92T50g3471", + "sm_entity_type": "security_role", + "software_cves": [], + "source_application": "GitHub", + "tenant_number": [ + "4" + ], + "type": "SecurityRoles" + }, + "initial_plugin_unique_name": "github_adapter_0", + "plugin_name": "github_adapter", + "plugin_type": "Adapter", + "plugin_unique_name": "github_adapter_0", + "quick_id": "github_adapter_0!1af78d57c74550c0a7bb", + "type": "entitydata" + } + ] + }, + { + "internal_axon_id": "4e54b5a92713c1b42ea35b1bb71af0f7", + "adapters": [ + "github_adapter" + ], + "adapter_list_length": 1, + "specific_data": [ + { + "accurate_for_datetime": "Tue, 09 Dec 2025 12:02:32 GMT", + "adapter_categories": [ + "Software Development Version Control", + "SaaS Management" + ], + "client_used": "67fd09a9fe1c8e812a176ba9", + "data": { + "accurate_for_datetime": "Tue, 09 Dec 2025 12:02:32 GMT", + "application_and_account_name": "github/github-prod", + "display_name": "REPOSITORY_MEMBER", + "fetch_time": "Tue, 09 Dec 2025 12:02:31 GMT", + "first_fetch_time": "Mon, 14 Apr 2025 13:25:24 GMT", + "from_last_fetch": true, + "id": "92674aa848660cff18c2", + "id_raw": "1a93c0f49df342bd8c6e3a6d9af3e014", + "is_admin": false, + "is_fetched_from_adapter": true, + "last_fetch_connection_id": "67fd09a9fe1c8e812a176ba9", + "last_fetch_connection_label": "github-prod", + "name": "REPOSITORY_MEMBER", + "not_fetched_count": 0, + "permissions": [], + "pretty_id": "AX-1314174377", + "remote_id": "8U24X75fN307L845Y63219", + "sm_entity_type": "security_role", + "software_cves": [], + "source_application": "GitHub", + "tenant_number": [ + "3" + ], + "type": "SecurityRoles" + }, + "initial_plugin_unique_name": "github_adapter_0", + "plugin_name": "github_adapter", + "plugin_type": "Adapter", + "plugin_unique_name": "github_adapter_0", + "quick_id": "github_adapter_0!92674aa848660cff18c2", + "type": "entitydata" + } + ] + } + ], + "meta": { + "cache_last_updated": "Mon, 01 Dec 2025 13:37:38 GMT", + "is_data_from_cache": true, + "page": { + "number": 1, + "size": 2, + "totalPages": 1, + "totalResources": 2 + }, + "next_page": "abcd", + "expand_row": false, + "optimized_view": false, + "relation_fields_data": false + } + } + `}} + + - path: /api/v2/assets/organizational_units + methods: ['POST'] + request_headers: + Content-Type: application/json + api-key: xxxx + api-secret: xxxx + request_body: /.*"page":{"limit":2}.*/ + responses: + - status_code: 200 + headers: + Content-Type: + - 'application/json' + body: |- + {{ minify_json ` + { + "assets": [], + "meta": { + "cache_last_updated": "Mon, 01 Dec 2025 13:37:38 GMT", + "is_data_from_cache": true, + "page": { + "number": 1, + "size": 0, + "totalPages": 0, + "totalResources": 0 + }, + "next_page": "abcd", + "expand_row": false, + "optimized_view": false, + "relation_fields_data": false + } + } + `}} + + - path: /api/v2/assets/accounts + methods: ['POST'] + request_headers: + Content-Type: application/json + api-key: xxxx + api-secret: xxxx + request_body: /.*"page":{"limit":2}.*/ + responses: + - status_code: 200 + headers: + Content-Type: + - 'application/json' + body: |- + {{ minify_json ` + { + "assets": [], + "meta": { + "cache_last_updated": "Mon, 01 Dec 2025 13:37:38 GMT", + "is_data_from_cache": true, + "page": { + "number": 1, + "size": 0, + "totalPages": 0, + "totalResources": 0 + }, + "next_page": "abcd", + "expand_row": false, + "optimized_view": false, + "relation_fields_data": false + } + } + `}} + + - path: /api/v2/assets/certificates + methods: ['POST'] + request_headers: + Content-Type: application/json + api-key: xxxx + api-secret: xxxx + request_body: /.*"page":{"limit":2}.*/ + responses: + - status_code: 200 + headers: + Content-Type: + - 'application/json' + body: |- + {{ minify_json ` + { + "assets": [ + { + "internal_axon_id": "bbe87f5753a6cf1500ed8c8249d3a3dd", + "adapters": [ + "github_adapter" + ], + "adapter_list_length": 1, + "specific_data": [ + { + "accurate_for_datetime": "Tue, 09 Dec 2025 12:02:32 GMT", + "adapter_categories": [ + "Software Development Version Control", + "SaaS Management" + ], + "client_used": "67fd09a9fe1c8e812a176ba9", + "data": { + "accurate_for_datetime": "Tue, 09 Dec 2025 12:02:32 GMT", + "application_and_account_name": "github/github-prod", + "display_name": "REPOSITORY_MAINTAINER", + "fetch_time": "Tue, 09 Dec 2025 12:02:31 GMT", + "first_fetch_time": "Mon, 14 Apr 2025 13:25:24 GMT", + "from_last_fetch": true, + "id": "1af78d57c74550c0a7bb", + "id_raw": "4e8a1f5a1b3143e68b9c26d894f9a41f", + "is_admin": false, + "is_fetched_from_adapter": true, + "last_fetch_connection_id": "67fd09a9fe1c8e812a176ba9", + "last_fetch_connection_label": "github-prod", + "name": "REPOSITORY_MAINTAINER", + "not_fetched_count": 0, + "permissions": [], + "pretty_id": "AX-3152576343", + "remote_id": "3e82J945I67S92T50g3471", + "sm_entity_type": "security_role", + "software_cves": [], + "source_application": "GitHub", + "tenant_number": [ + "4" + ], + "type": "SecurityRoles" + }, + "initial_plugin_unique_name": "github_adapter_0", + "plugin_name": "github_adapter", + "plugin_type": "Adapter", + "plugin_unique_name": "github_adapter_0", + "quick_id": "github_adapter_0!1af78d57c74550c0a7bb", + "type": "entitydata" + } + ] + }, + { + "internal_axon_id": "4e54b5a92713c1b42ea35b1bb71af0f7", + "adapters": [ + "github_adapter" + ], + "adapter_list_length": 1, + "specific_data": [ + { + "accurate_for_datetime": "Tue, 09 Dec 2025 12:02:32 GMT", + "adapter_categories": [ + "Software Development Version Control", + "SaaS Management" + ], + "client_used": "67fd09a9fe1c8e812a176ba9", + "data": { + "accurate_for_datetime": "Tue, 09 Dec 2025 12:02:32 GMT", + "application_and_account_name": "github/github-prod", + "display_name": "REPOSITORY_MEMBER", + "fetch_time": "Tue, 09 Dec 2025 12:02:31 GMT", + "first_fetch_time": "Mon, 14 Apr 2025 13:25:24 GMT", + "from_last_fetch": true, + "id": "92674aa848660cff18c2", + "id_raw": "1a93c0f49df342bd8c6e3a6d9af3e014", + "is_admin": false, + "is_fetched_from_adapter": true, + "last_fetch_connection_id": "67fd09a9fe1c8e812a176ba9", + "last_fetch_connection_label": "github-prod", + "name": "REPOSITORY_MEMBER", + "not_fetched_count": 0, + "permissions": [], + "pretty_id": "AX-1314174377", + "remote_id": "8U24X75fN307L845Y63219", + "sm_entity_type": "security_role", + "software_cves": [], + "source_application": "GitHub", + "tenant_number": [ + "3" + ], + "type": "SecurityRoles" + }, + "initial_plugin_unique_name": "github_adapter_0", + "plugin_name": "github_adapter", + "plugin_type": "Adapter", + "plugin_unique_name": "github_adapter_0", + "quick_id": "github_adapter_0!92674aa848660cff18c2", + "type": "entitydata" + } + ] + } + ], + "meta": { + "cache_last_updated": "Mon, 01 Dec 2025 13:37:38 GMT", + "is_data_from_cache": true, + "page": { + "number": 1, + "size": 2, + "totalPages": 1, + "totalResources": 2 + }, + "next_page": "abcd", + "expand_row": false, + "optimized_view": false, + "relation_fields_data": false + } + } + `}} + + - path: /api/v2/assets/permissions + methods: ['POST'] + request_headers: + Content-Type: application/json + api-key: xxxx + api-secret: xxxx + request_body: /.*"page":{"limit":2}.*/ + responses: + - status_code: 200 + headers: + Content-Type: + - 'application/json' + body: |- + {{ minify_json ` + { + "assets": [ + { + "internal_axon_id": "bbe87f5753a6cf1500ed8c8249d3a3dd", + "adapters": [ + "github_adapter" + ], + "adapter_list_length": 1, + "specific_data": [ + { + "accurate_for_datetime": "Tue, 09 Dec 2025 12:02:32 GMT", + "adapter_categories": [ + "Software Development Version Control", + "SaaS Management" + ], + "client_used": "67fd09a9fe1c8e812a176ba9", + "data": { + "accurate_for_datetime": "Tue, 09 Dec 2025 12:02:32 GMT", + "application_and_account_name": "github/github-prod", + "display_name": "REPOSITORY_MAINTAINER", + "fetch_time": "Tue, 09 Dec 2025 12:02:31 GMT", + "first_fetch_time": "Mon, 14 Apr 2025 13:25:24 GMT", + "from_last_fetch": true, + "id": "1af78d57c74550c0a7bb", + "id_raw": "4e8a1f5a1b3143e68b9c26d894f9a41f", + "is_admin": false, + "is_fetched_from_adapter": true, + "last_fetch_connection_id": "67fd09a9fe1c8e812a176ba9", + "last_fetch_connection_label": "github-prod", + "name": "REPOSITORY_MAINTAINER", + "not_fetched_count": 0, + "permissions": [], + "pretty_id": "AX-3152576343", + "remote_id": "3e82J945I67S92T50g3471", + "sm_entity_type": "security_role", + "software_cves": [], + "source_application": "GitHub", + "tenant_number": [ + "4" + ], + "type": "SecurityRoles" + }, + "initial_plugin_unique_name": "github_adapter_0", + "plugin_name": "github_adapter", + "plugin_type": "Adapter", + "plugin_unique_name": "github_adapter_0", + "quick_id": "github_adapter_0!1af78d57c74550c0a7bb", + "type": "entitydata" + } + ] + } + ], + "meta": { + "cache_last_updated": "Mon, 01 Dec 2025 13:37:38 GMT", + "is_data_from_cache": true, + "page": { + "number": 1, + "size": 1, + "totalPages": 1, + "totalResources": 1 + }, + "next_page": "abcd", + "expand_row": false, + "optimized_view": false, + "relation_fields_data": false + } + } + `}} + + - path: /api/v2/assets/latest_rules + methods: ['POST'] + request_headers: + Content-Type: application/json + api-key: xxxx + api-secret: xxxx + request_body: /.*"page":{"limit":2}.*/ + responses: + - status_code: 200 + headers: + Content-Type: + - 'application/json' + body: |- + {{ minify_json ` + { + "assets": [], + "meta": { + "cache_last_updated": "Mon, 01 Dec 2025 13:37:38 GMT", + "is_data_from_cache": true, + "page": { + "number": 1, + "size": 0, + "totalPages": 0, + "totalResources": 0 + }, + "next_page": "abcd", + "expand_row": false, + "optimized_view": false, + "relation_fields_data": false + } + } + `}} + + - path: /api/v2/assets/profiles + methods: ['POST'] + request_headers: + Content-Type: application/json + api-key: xxxx + api-secret: xxxx + request_body: /.*"page":{"limit":2}.*/ + responses: + - status_code: 200 + headers: + Content-Type: + - 'application/json' + body: |- + {{ minify_json ` + { + "assets": [ + { + "internal_axon_id": "bbe87f5753a6cf1500ed8c8249d3a3dd", + "adapters": [ + "github_adapter" + ], + "adapter_list_length": 1, + "specific_data": [ + { + "accurate_for_datetime": "Tue, 09 Dec 2025 12:02:32 GMT", + "adapter_categories": [ + "Software Development Version Control", + "SaaS Management" + ], + "client_used": "67fd09a9fe1c8e812a176ba9", + "data": { + "accurate_for_datetime": "Tue, 09 Dec 2025 12:02:32 GMT", + "application_and_account_name": "github/github-prod", + "display_name": "REPOSITORY_MAINTAINER", + "fetch_time": "Tue, 09 Dec 2025 12:02:31 GMT", + "first_fetch_time": "Mon, 14 Apr 2025 13:25:24 GMT", + "from_last_fetch": true, + "id": "1af78d57c74550c0a7bb", + "id_raw": "4e8a1f5a1b3143e68b9c26d894f9a41f", + "is_admin": false, + "is_fetched_from_adapter": true, + "last_fetch_connection_id": "67fd09a9fe1c8e812a176ba9", + "last_fetch_connection_label": "github-prod", + "name": "REPOSITORY_MAINTAINER", + "not_fetched_count": 0, + "permissions": [], + "pretty_id": "AX-3152576343", + "remote_id": "3e82J945I67S92T50g3471", + "sm_entity_type": "security_role", + "software_cves": [], + "source_application": "GitHub", + "tenant_number": [ + "4" + ], + "type": "SecurityRoles" + }, + "initial_plugin_unique_name": "github_adapter_0", + "plugin_name": "github_adapter", + "plugin_type": "Adapter", + "plugin_unique_name": "github_adapter_0", + "quick_id": "github_adapter_0!1af78d57c74550c0a7bb", + "type": "entitydata" + } + ] + }, + { + "internal_axon_id": "4e54b5a92713c1b42ea35b1bb71af0f7", + "adapters": [ + "github_adapter" + ], + "adapter_list_length": 1, + "specific_data": [ + { + "accurate_for_datetime": "Tue, 09 Dec 2025 12:02:32 GMT", + "adapter_categories": [ + "Software Development Version Control", + "SaaS Management" + ], + "client_used": "67fd09a9fe1c8e812a176ba9", + "data": { + "accurate_for_datetime": "Tue, 09 Dec 2025 12:02:32 GMT", + "application_and_account_name": "github/github-prod", + "display_name": "REPOSITORY_MEMBER", + "fetch_time": "Tue, 09 Dec 2025 12:02:31 GMT", + "first_fetch_time": "Mon, 14 Apr 2025 13:25:24 GMT", + "from_last_fetch": true, + "id": "92674aa848660cff18c2", + "id_raw": "1a93c0f49df342bd8c6e3a6d9af3e014", + "is_admin": false, + "is_fetched_from_adapter": true, + "last_fetch_connection_id": "67fd09a9fe1c8e812a176ba9", + "last_fetch_connection_label": "github-prod", + "name": "REPOSITORY_MEMBER", + "not_fetched_count": 0, + "permissions": [], + "pretty_id": "AX-1314174377", + "remote_id": "8U24X75fN307L845Y63219", + "sm_entity_type": "security_role", + "software_cves": [], + "source_application": "GitHub", + "tenant_number": [ + "3" + ], + "type": "SecurityRoles" + }, + "initial_plugin_unique_name": "github_adapter_0", + "plugin_name": "github_adapter", + "plugin_type": "Adapter", + "plugin_unique_name": "github_adapter_0", + "quick_id": "github_adapter_0!92674aa848660cff18c2", + "type": "entitydata" + } + ] + } + ], + "meta": { + "cache_last_updated": "Mon, 01 Dec 2025 13:37:38 GMT", + "is_data_from_cache": true, + "page": { + "number": 1, + "size": 2, + "totalPages": 1, + "totalResources": 2 + }, + "next_page": "abcd", + "expand_row": false, + "optimized_view": false, + "relation_fields_data": false + } + } + `}} + + - path: /api/v2/assets/job_titles + methods: ['POST'] + request_headers: + Content-Type: application/json + api-key: xxxx + api-secret: xxxx + request_body: /.*"page":{"limit":2}.*/ + responses: + - status_code: 200 + headers: + Content-Type: + - 'application/json' + body: |- + {{ minify_json ` + { + "assets": [], + "meta": { + "cache_last_updated": "Mon, 01 Dec 2025 13:37:38 GMT", + "is_data_from_cache": true, + "page": { + "number": 1, + "size": 0, + "totalPages": 0, + "totalResources": 0 + }, + "next_page": "abcd", + "expand_row": false, + "optimized_view": false, + "relation_fields_data": false + } + } + `}} + + - path: /api/v2/assets/access_review_campaign_instances + methods: ['POST'] + request_headers: + Content-Type: application/json + api-key: xxxx + api-secret: xxxx + request_body: /.*"page":{"limit":2}.*/ + responses: + - status_code: 200 + headers: + Content-Type: + - 'application/json' + body: |- + {{ minify_json ` + { + "assets": [ + { + "internal_axon_id": "bbe87f5753a6cf1500ed8c8249d3a3dd", + "adapters": [ + "github_adapter" + ], + "adapter_list_length": 1, + "specific_data": [ + { + "accurate_for_datetime": "Tue, 09 Dec 2025 12:02:32 GMT", + "adapter_categories": [ + "Software Development Version Control", + "SaaS Management" + ], + "client_used": "67fd09a9fe1c8e812a176ba9", + "data": { + "accurate_for_datetime": "Tue, 09 Dec 2025 12:02:32 GMT", + "application_and_account_name": "github/github-prod", + "display_name": "REPOSITORY_MAINTAINER", + "fetch_time": "Tue, 09 Dec 2025 12:02:31 GMT", + "first_fetch_time": "Mon, 14 Apr 2025 13:25:24 GMT", + "from_last_fetch": true, + "id": "1af78d57c74550c0a7bb", + "id_raw": "4e8a1f5a1b3143e68b9c26d894f9a41f", + "is_admin": false, + "is_fetched_from_adapter": true, + "last_fetch_connection_id": "67fd09a9fe1c8e812a176ba9", + "last_fetch_connection_label": "github-prod", + "name": "REPOSITORY_MAINTAINER", + "not_fetched_count": 0, + "permissions": [], + "pretty_id": "AX-3152576343", + "remote_id": "3e82J945I67S92T50g3471", + "sm_entity_type": "security_role", + "software_cves": [], + "source_application": "GitHub", + "tenant_number": [ + "4" + ], + "type": "SecurityRoles" + }, + "initial_plugin_unique_name": "github_adapter_0", + "plugin_name": "github_adapter", + "plugin_type": "Adapter", + "plugin_unique_name": "github_adapter_0", + "quick_id": "github_adapter_0!1af78d57c74550c0a7bb", + "type": "entitydata" + } + ] + }, + { + "internal_axon_id": "4e54b5a92713c1b42ea35b1bb71af0f7", + "adapters": [ + "github_adapter" + ], + "adapter_list_length": 1, + "specific_data": [ + { + "accurate_for_datetime": "Tue, 09 Dec 2025 12:02:32 GMT", + "adapter_categories": [ + "Software Development Version Control", + "SaaS Management" + ], + "client_used": "67fd09a9fe1c8e812a176ba9", + "data": { + "accurate_for_datetime": "Tue, 09 Dec 2025 12:02:32 GMT", + "application_and_account_name": "github/github-prod", + "display_name": "REPOSITORY_MEMBER", + "fetch_time": "Tue, 09 Dec 2025 12:02:31 GMT", + "first_fetch_time": "Mon, 14 Apr 2025 13:25:24 GMT", + "from_last_fetch": true, + "id": "92674aa848660cff18c2", + "id_raw": "1a93c0f49df342bd8c6e3a6d9af3e014", + "is_admin": false, + "is_fetched_from_adapter": true, + "last_fetch_connection_id": "67fd09a9fe1c8e812a176ba9", + "last_fetch_connection_label": "github-prod", + "name": "REPOSITORY_MEMBER", + "not_fetched_count": 0, + "permissions": [], + "pretty_id": "AX-1314174377", + "remote_id": "8U24X75fN307L845Y63219", + "sm_entity_type": "security_role", + "software_cves": [], + "source_application": "GitHub", + "tenant_number": [ + "3" + ], + "type": "SecurityRoles" + }, + "initial_plugin_unique_name": "github_adapter_0", + "plugin_name": "github_adapter", + "plugin_type": "Adapter", + "plugin_unique_name": "github_adapter_0", + "quick_id": "github_adapter_0!92674aa848660cff18c2", + "type": "entitydata" + } + ] + } + ], + "meta": { + "cache_last_updated": "Mon, 01 Dec 2025 13:37:38 GMT", + "is_data_from_cache": true, + "page": { + "number": 1, + "size": 2, + "totalPages": 1, + "totalResources": 2 + }, + "next_page": "abcd", + "expand_row": false, + "optimized_view": false, + "relation_fields_data": false + } + } + `}} + + - path: /api/v2/assets/access_review_approval_items + methods: ['POST'] + request_headers: + Content-Type: application/json + api-key: xxxx + api-secret: xxxx + request_body: /.*"page":{"limit":2}.*/ + responses: + - status_code: 200 + headers: + Content-Type: + - 'application/json' + body: |- + {{ minify_json ` + { + "assets": [], + "meta": { + "cache_last_updated": "Mon, 01 Dec 2025 13:37:38 GMT", + "is_data_from_cache": true, + "page": { + "number": 1, + "size": 0, + "totalPages": 0, + "totalResources": 0 + }, + "next_page": "abcd", + "expand_row": false, + "optimized_view": false, + "relation_fields_data": false + } + } + `}} diff --git a/packages/axonius/changelog.yml b/packages/axonius/changelog.yml new file mode 100644 index 00000000000..35fb1d2c290 --- /dev/null +++ b/packages/axonius/changelog.yml @@ -0,0 +1,6 @@ +# newer versions go on top +- version: 0.1.0 + changes: + - description: Initial release. + type: enhancement + link: https://github.com/elastic/integrations/pull/1 diff --git a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-account.log b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-account.log new file mode 100644 index 00000000000..32873b7f010 --- /dev/null +++ b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-account.log @@ -0,0 +1,3 @@ +{"asset_type":"accounts","event":{"data":{"active_users":1500,"active_users_saved_query_id":"665db21284bdd7fee6703009","admin_non_operational_users":0,"admin_non_operational_users_saved_query_id":"665db21a84bdd7fee67032aa","admin_operational_active_users":0,"admin_operational_active_users_saved_query_id":"665db21584bdd7fee6703148","admin_operational_inactive_users":0,"admin_operational_inactive_users_saved_query_id":"665db22a84bdd7fee6703692","admin_operational_users":0,"admin_operational_users_saved_query_id":"665db21684bdd7fee6703174","admins":0,"admins_saved_query_id":"665db22584bdd7fee67035a4","application_id":"198ef9c063EC253aEcEe","application_name":"VMware","asset_entity_info":"ARP","connected_assets":["storage_account_id::ac4d42d9-5b05-4f67-ba8d-c770fcaa17d6"],"connection_label":"okta-demo","created_date":"Sun, 23 Feb 2025 00:25:17 GMT","deleted_users":249,"deleted_users_saved_query_id":"665db22684bdd7fee67035bb","direct_not_sso_users":34,"direct_not_sso_users_saved_query_id":"665db21384bdd7fee67030ab","domains":[{"name":"salesforce.demo.local"}],"email":"example@domain.com","external_users":0,"external_users_saved_query_id":"665db21084bdd7fee6702f98","gce_account_id":"gce_account_id_1","inactive_users":96,"inactive_users_saved_query_id":"665db20b84bdd7fee6702d68","is_managed_by_direct_app":true,"last_enrichment_run":"Wed, 12 Nov 2025 00:02:18 GMT","managed_non_operational_users":371,"managed_non_operational_users_saved_query_id":"665db20e84bdd7fee6702e8b","managed_operational_users":1596,"managed_operational_users_saved_query_id":"665db20e84bdd7fee6702e83","managed_users":1602,"managed_users_by_app":1602,"managed_users_by_app_saved_query_id":"665db22784bdd7fee6703613","managed_users_by_sso":1568,"managed_users_by_sso_saved_query_id":"665db20e84bdd7fee6702ea0","managed_users_saved_query_id":"665db22284bdd7fee67034e4","orphaned_users":28,"orphaned_users_saved_query_id":"665db21784bdd7fee67031fb","paid_users":247,"paid_users_saved_query_id":"665db21984bdd7fee6703296","project_ids":["id1","id2"],"project_tags":[{"inherited":"dunno","key":"key1","namespaced_tag_key":"tkey","namespaced_tag_value":"tvalue","value":"value1"}],"projects_roles":[{"project_id":"id123","role_name":"role12"}],"relatable_ids":["image_id::87dec736-1ce1-4476-8a68-c37dcdffe9c2"],"remote_account_id":"racid","status":"closed","suspended_users":241,"suspended_users_saved_query_id":"665db20d84bdd7fee6702e2b","unlinked_users":0,"unlinked_users_saved_query_id":"665db22384bdd7fee67034fc"}}} +{"adapter_list_length":1,"adapters":["qualys_scans_adapter"],"asset_type":"accounts","event":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:04:58 GMT","adapter_categories":["VA Tool"],"client_used":"67fd09dffe1c8e812a176bcb","data":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:04:58 GMT","application_and_account_name":"qualys/qualys_scans-demo","application_name":"Qualys","asset_type":"Connected Adapter","domains":[{}],"fetch_time":"Tue, 09 Dec 2025 00:04:58 GMT","first_fetch_time":"Mon, 14 Apr 2025 13:29:14 GMT","from_last_fetch":true,"id":"38561584016c3bd50997","id_raw":"qualys_scans-demo_67fd09dffe1c8e812a176bcb","is_fetched_from_adapter":true,"is_managed_by_direct_app":true,"name":"Qualys/qualys_scans-demo","not_fetched_count":0,"source_application":"Qualys","type":"Accounts"},"initial_plugin_unique_name":"qualys_scans_adapter_0","plugin_name":"qualys_scans_adapter","plugin_type":"Adapter","plugin_unique_name":"qualys_scans_adapter_0","quick_id":"qualys_scans_adapter_0!38561584016c3bd50997","type":"entitydata"},"internal_axon_id":"e2781b0b477c77303261aec45a40cb44"} +{"adapter_list_length":2,"adapters":["github_adapter","okta_adapter"],"asset_type":"accounts","event":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:02:32 GMT","adapter_categories":["Software Development Version Control","SaaS Management"],"client_used":"67fd09a9fe1c8e812a176baa","data":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:02:32 GMT","active_users":0,"active_users_saved_query_id":"67fd1261709940e80b240c24","admin_non_operational_users":0,"admin_non_operational_users_saved_query_id":"67fd1261709940e80b240c68","admin_operational_active_users":0,"admin_operational_active_users_saved_query_id":"67fd1261709940e80b240c7e","admin_operational_inactive_users":0,"admin_operational_inactive_users_saved_query_id":"67fd1261709940e80b240c3f","admin_operational_users":0,"admin_operational_users_saved_query_id":"67fd1261709940e80b240c5d","admins":0,"admins_saved_query_id":"67fd1261709940e80b240c38","application_and_account_name":"github/github-dev","application_name":"GitHub","asset_type":"Connected Adapter","deleted_users":0,"deleted_users_saved_query_id":"67fd1261709940e80b240cb7","direct_not_sso_users":27,"direct_not_sso_users_saved_query_id":"67fd1261709940e80b240c86","domains":[{"name":"github.demo.local"}],"external_users":0,"external_users_saved_query_id":"67fd1261709940e80b240cc4","fetch_time":"Tue, 09 Dec 2025 00:02:32 GMT","first_fetch_time":"Mon, 14 Apr 2025 13:27:53 GMT","from_last_fetch":true,"id":"697947761f2f779c8df5","id_raw":"github-dev_67fd09a9fe1c8e812a176baa","inactive_users":339,"inactive_users_saved_query_id":"67fd1261709940e80b240c4a","is_fetched_from_adapter":true,"is_managed_by_direct_app":true,"last_enrichment_run":"Tue, 09 Dec 2025 00:10:07 GMT","managed_non_operational_users":0,"managed_non_operational_users_saved_query_id":"67fd1261709940e80b240c56","managed_operational_users":339,"managed_operational_users_saved_query_id":"67fd1261709940e80b240c71","managed_users":339,"managed_users_by_app":180,"managed_users_by_app_saved_query_id":"67fd1261709940e80b240c9a","managed_users_by_sso":312,"managed_users_by_sso_saved_query_id":"67fd1261709940e80b240ca6","managed_users_saved_query_id":"67fd1261709940e80b240c17","name":"GitHub/github-dev","not_fetched_count":0,"orphaned_users":27,"orphaned_users_saved_query_id":"67fd1261709940e80b240c8f","paid_users":0,"paid_users_saved_query_id":"67fd1261709940e80b240ccc","source_application":"GitHub","suspended_users":0,"suspended_users_saved_query_id":"67fd1261709940e80b240cae","type":"Accounts","unlinked_users":159,"unlinked_users_saved_query_id":"67fd1261709940e80b240c2b"},"initial_plugin_unique_name":"github_adapter_0","plugin_name":"github_adapter","plugin_type":"Adapter","plugin_unique_name":"github_adapter_0","quick_id":"github_adapter_0!697947761f2f779c8df5","type":"entitydata"},"internal_axon_id":"5592c1d0fc4c0fdeebb6c98530a7c777"} diff --git a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-account.log-expected.json b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-account.log-expected.json new file mode 100644 index 00000000000..a8679a7dfd3 --- /dev/null +++ b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-account.log-expected.json @@ -0,0 +1,294 @@ +{ + "expected": [ + { + "axonius": { + "identity": { + "asset_type": "accounts", + "event": { + "data": { + "active_users": 1500, + "active_users_saved_query_id": "665db21284bdd7fee6703009", + "admin_non_operational_users": 0, + "admin_non_operational_users_saved_query_id": "665db21a84bdd7fee67032aa", + "admin_operational_active_users": 0, + "admin_operational_active_users_saved_query_id": "665db21584bdd7fee6703148", + "admin_operational_inactive_users": 0, + "admin_operational_inactive_users_saved_query_id": "665db22a84bdd7fee6703692", + "admin_operational_users": 0, + "admin_operational_users_saved_query_id": "665db21684bdd7fee6703174", + "admins": 0, + "admins_saved_query_id": "665db22584bdd7fee67035a4", + "application_id": "198ef9c063EC253aEcEe", + "application_name": "VMware", + "asset_entity_info": "ARP", + "connected_assets": [ + "storage_account_id::ac4d42d9-5b05-4f67-ba8d-c770fcaa17d6" + ], + "connection_label": "okta-demo", + "created_date": "2025-02-23T00:25:17.000Z", + "deleted_users": 249, + "deleted_users_saved_query_id": "665db22684bdd7fee67035bb", + "direct_not_sso_users": 34, + "direct_not_sso_users_saved_query_id": "665db21384bdd7fee67030ab", + "domains": [ + { + "name": "salesforce.demo.local" + } + ], + "email": "example@domain.com", + "external_users": 0, + "external_users_saved_query_id": "665db21084bdd7fee6702f98", + "gce_account_id": "gce_account_id_1", + "inactive_users": 96, + "inactive_users_saved_query_id": "665db20b84bdd7fee6702d68", + "is_managed_by_direct_app": true, + "last_enrichment_run": "2025-11-12T00:02:18.000Z", + "managed_non_operational_users": 371, + "managed_non_operational_users_saved_query_id": "665db20e84bdd7fee6702e8b", + "managed_operational_users": 1596, + "managed_operational_users_saved_query_id": "665db20e84bdd7fee6702e83", + "managed_users": 1602, + "managed_users_by_app": 1602, + "managed_users_by_app_saved_query_id": "665db22784bdd7fee6703613", + "managed_users_by_sso": 1568, + "managed_users_by_sso_saved_query_id": "665db20e84bdd7fee6702ea0", + "managed_users_saved_query_id": "665db22284bdd7fee67034e4", + "orphaned_users": 28, + "orphaned_users_saved_query_id": "665db21784bdd7fee67031fb", + "paid_users": 247, + "paid_users_saved_query_id": "665db21984bdd7fee6703296", + "project_ids": [ + "id1", + "id2" + ], + "project_tags": [ + { + "inherited": "dunno", + "key": "key1", + "namespaced_tag_key": "tkey", + "namespaced_tag_value": "tvalue", + "value": "value1" + } + ], + "projects_roles": [ + { + "project_id": "id123", + "role_name": "role12" + } + ], + "relatable_ids": [ + "image_id::87dec736-1ce1-4476-8a68-c37dcdffe9c2" + ], + "remote_account_id": "racid", + "status": "closed", + "suspended_users": 241, + "suspended_users_saved_query_id": "665db20d84bdd7fee6702e2b", + "unlinked_users": 0, + "unlinked_users_saved_query_id": "665db22384bdd7fee67034fc" + } + } + } + }, + "ecs": { + "version": "9.2.0" + }, + "event": { + "category": [ + "iam" + ], + "created": "2025-02-23T00:25:17.000Z", + "kind": "event", + "original": "{\"asset_type\":\"accounts\",\"event\":{\"data\":{\"active_users\":1500,\"active_users_saved_query_id\":\"665db21284bdd7fee6703009\",\"admin_non_operational_users\":0,\"admin_non_operational_users_saved_query_id\":\"665db21a84bdd7fee67032aa\",\"admin_operational_active_users\":0,\"admin_operational_active_users_saved_query_id\":\"665db21584bdd7fee6703148\",\"admin_operational_inactive_users\":0,\"admin_operational_inactive_users_saved_query_id\":\"665db22a84bdd7fee6703692\",\"admin_operational_users\":0,\"admin_operational_users_saved_query_id\":\"665db21684bdd7fee6703174\",\"admins\":0,\"admins_saved_query_id\":\"665db22584bdd7fee67035a4\",\"application_id\":\"198ef9c063EC253aEcEe\",\"application_name\":\"VMware\",\"asset_entity_info\":\"ARP\",\"connected_assets\":[\"storage_account_id::ac4d42d9-5b05-4f67-ba8d-c770fcaa17d6\"],\"connection_label\":\"okta-demo\",\"created_date\":\"Sun, 23 Feb 2025 00:25:17 GMT\",\"deleted_users\":249,\"deleted_users_saved_query_id\":\"665db22684bdd7fee67035bb\",\"direct_not_sso_users\":34,\"direct_not_sso_users_saved_query_id\":\"665db21384bdd7fee67030ab\",\"domains\":[{\"name\":\"salesforce.demo.local\"}],\"email\":\"example@domain.com\",\"external_users\":0,\"external_users_saved_query_id\":\"665db21084bdd7fee6702f98\",\"gce_account_id\":\"gce_account_id_1\",\"inactive_users\":96,\"inactive_users_saved_query_id\":\"665db20b84bdd7fee6702d68\",\"is_managed_by_direct_app\":true,\"last_enrichment_run\":\"Wed, 12 Nov 2025 00:02:18 GMT\",\"managed_non_operational_users\":371,\"managed_non_operational_users_saved_query_id\":\"665db20e84bdd7fee6702e8b\",\"managed_operational_users\":1596,\"managed_operational_users_saved_query_id\":\"665db20e84bdd7fee6702e83\",\"managed_users\":1602,\"managed_users_by_app\":1602,\"managed_users_by_app_saved_query_id\":\"665db22784bdd7fee6703613\",\"managed_users_by_sso\":1568,\"managed_users_by_sso_saved_query_id\":\"665db20e84bdd7fee6702ea0\",\"managed_users_saved_query_id\":\"665db22284bdd7fee67034e4\",\"orphaned_users\":28,\"orphaned_users_saved_query_id\":\"665db21784bdd7fee67031fb\",\"paid_users\":247,\"paid_users_saved_query_id\":\"665db21984bdd7fee6703296\",\"project_ids\":[\"id1\",\"id2\"],\"project_tags\":[{\"inherited\":\"dunno\",\"key\":\"key1\",\"namespaced_tag_key\":\"tkey\",\"namespaced_tag_value\":\"tvalue\",\"value\":\"value1\"}],\"projects_roles\":[{\"project_id\":\"id123\",\"role_name\":\"role12\"}],\"relatable_ids\":[\"image_id::87dec736-1ce1-4476-8a68-c37dcdffe9c2\"],\"remote_account_id\":\"racid\",\"status\":\"closed\",\"suspended_users\":241,\"suspended_users_saved_query_id\":\"665db20d84bdd7fee6702e2b\",\"unlinked_users\":0,\"unlinked_users_saved_query_id\":\"665db22384bdd7fee67034fc\"}}}", + "type": [ + "info" + ] + }, + "related": { + "user": [ + "example@domain.com" + ] + }, + "service": { + "id": "198ef9c063EC253aEcEe", + "name": "VMware" + }, + "tags": [ + "preserve_duplicate_custom_fields" + ], + "user": { + "domain": "domain.com", + "email": "example@domain.com" + } + }, + { + "@timestamp": "2025-12-09T00:04:58.000Z", + "axonius": { + "identity": { + "adapter_list_length": 1, + "adapters": [ + "qualys_scans_adapter" + ], + "asset_type": "accounts", + "event": { + "accurate_for_datetime": "2025-12-09T00:04:58.000Z", + "adapter_categories": [ + "VA Tool" + ], + "client_used": "67fd09dffe1c8e812a176bcb", + "data": { + "accurate_for_datetime": "2025-12-09T00:04:58.000Z", + "application_and_account_name": "qualys/qualys_scans-demo", + "application_name": "Qualys", + "asset_type": "Connected Adapter", + "fetch_time": "2025-12-09T00:04:58.000Z", + "first_fetch_time": "2025-04-14T13:29:14.000Z", + "from_last_fetch": true, + "id": "38561584016c3bd50997", + "id_raw": "qualys_scans-demo_67fd09dffe1c8e812a176bcb", + "is_fetched_from_adapter": true, + "is_managed_by_direct_app": true, + "name": "Qualys/qualys_scans-demo", + "not_fetched_count": 0, + "source_application": "Qualys", + "type": "Accounts" + }, + "initial_plugin_unique_name": "qualys_scans_adapter_0", + "plugin_name": "qualys_scans_adapter", + "plugin_type": "Adapter", + "plugin_unique_name": "qualys_scans_adapter_0", + "quick_id": "qualys_scans_adapter_0!38561584016c3bd50997", + "type": "entitydata" + }, + "internal_axon_id": "e2781b0b477c77303261aec45a40cb44" + } + }, + "ecs": { + "version": "9.2.0" + }, + "event": { + "category": [ + "iam" + ], + "kind": "event", + "original": "{\"adapter_list_length\":1,\"adapters\":[\"qualys_scans_adapter\"],\"asset_type\":\"accounts\",\"event\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 00:04:58 GMT\",\"adapter_categories\":[\"VA Tool\"],\"client_used\":\"67fd09dffe1c8e812a176bcb\",\"data\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 00:04:58 GMT\",\"application_and_account_name\":\"qualys/qualys_scans-demo\",\"application_name\":\"Qualys\",\"asset_type\":\"Connected Adapter\",\"domains\":[{}],\"fetch_time\":\"Tue, 09 Dec 2025 00:04:58 GMT\",\"first_fetch_time\":\"Mon, 14 Apr 2025 13:29:14 GMT\",\"from_last_fetch\":true,\"id\":\"38561584016c3bd50997\",\"id_raw\":\"qualys_scans-demo_67fd09dffe1c8e812a176bcb\",\"is_fetched_from_adapter\":true,\"is_managed_by_direct_app\":true,\"name\":\"Qualys/qualys_scans-demo\",\"not_fetched_count\":0,\"source_application\":\"Qualys\",\"type\":\"Accounts\"},\"initial_plugin_unique_name\":\"qualys_scans_adapter_0\",\"plugin_name\":\"qualys_scans_adapter\",\"plugin_type\":\"Adapter\",\"plugin_unique_name\":\"qualys_scans_adapter_0\",\"quick_id\":\"qualys_scans_adapter_0!38561584016c3bd50997\",\"type\":\"entitydata\"},\"internal_axon_id\":\"e2781b0b477c77303261aec45a40cb44\"}", + "type": [ + "info" + ] + }, + "service": { + "name": "Qualys" + }, + "tags": [ + "preserve_duplicate_custom_fields" + ] + }, + { + "@timestamp": "2025-12-09T00:02:32.000Z", + "axonius": { + "identity": { + "adapter_list_length": 2, + "adapters": [ + "github_adapter", + "okta_adapter" + ], + "asset_type": "accounts", + "event": { + "accurate_for_datetime": "2025-12-09T00:02:32.000Z", + "adapter_categories": [ + "Software Development Version Control", + "SaaS Management" + ], + "client_used": "67fd09a9fe1c8e812a176baa", + "data": { + "accurate_for_datetime": "2025-12-09T00:02:32.000Z", + "active_users": 0, + "active_users_saved_query_id": "67fd1261709940e80b240c24", + "admin_non_operational_users": 0, + "admin_non_operational_users_saved_query_id": "67fd1261709940e80b240c68", + "admin_operational_active_users": 0, + "admin_operational_active_users_saved_query_id": "67fd1261709940e80b240c7e", + "admin_operational_inactive_users": 0, + "admin_operational_inactive_users_saved_query_id": "67fd1261709940e80b240c3f", + "admin_operational_users": 0, + "admin_operational_users_saved_query_id": "67fd1261709940e80b240c5d", + "admins": 0, + "admins_saved_query_id": "67fd1261709940e80b240c38", + "application_and_account_name": "github/github-dev", + "application_name": "GitHub", + "asset_type": "Connected Adapter", + "deleted_users": 0, + "deleted_users_saved_query_id": "67fd1261709940e80b240cb7", + "direct_not_sso_users": 27, + "direct_not_sso_users_saved_query_id": "67fd1261709940e80b240c86", + "domains": [ + { + "name": "github.demo.local" + } + ], + "external_users": 0, + "external_users_saved_query_id": "67fd1261709940e80b240cc4", + "fetch_time": "2025-12-09T00:02:32.000Z", + "first_fetch_time": "2025-04-14T13:27:53.000Z", + "from_last_fetch": true, + "id": "697947761f2f779c8df5", + "id_raw": "github-dev_67fd09a9fe1c8e812a176baa", + "inactive_users": 339, + "inactive_users_saved_query_id": "67fd1261709940e80b240c4a", + "is_fetched_from_adapter": true, + "is_managed_by_direct_app": true, + "last_enrichment_run": "2025-12-09T00:10:07.000Z", + "managed_non_operational_users": 0, + "managed_non_operational_users_saved_query_id": "67fd1261709940e80b240c56", + "managed_operational_users": 339, + "managed_operational_users_saved_query_id": "67fd1261709940e80b240c71", + "managed_users": 339, + "managed_users_by_app": 180, + "managed_users_by_app_saved_query_id": "67fd1261709940e80b240c9a", + "managed_users_by_sso": 312, + "managed_users_by_sso_saved_query_id": "67fd1261709940e80b240ca6", + "managed_users_saved_query_id": "67fd1261709940e80b240c17", + "name": "GitHub/github-dev", + "not_fetched_count": 0, + "orphaned_users": 27, + "orphaned_users_saved_query_id": "67fd1261709940e80b240c8f", + "paid_users": 0, + "paid_users_saved_query_id": "67fd1261709940e80b240ccc", + "source_application": "GitHub", + "suspended_users": 0, + "suspended_users_saved_query_id": "67fd1261709940e80b240cae", + "type": "Accounts", + "unlinked_users": 159, + "unlinked_users_saved_query_id": "67fd1261709940e80b240c2b" + }, + "initial_plugin_unique_name": "github_adapter_0", + "plugin_name": "github_adapter", + "plugin_type": "Adapter", + "plugin_unique_name": "github_adapter_0", + "quick_id": "github_adapter_0!697947761f2f779c8df5", + "type": "entitydata" + }, + "internal_axon_id": "5592c1d0fc4c0fdeebb6c98530a7c777" + } + }, + "ecs": { + "version": "9.2.0" + }, + "event": { + "category": [ + "iam" + ], + "kind": "event", + "original": "{\"adapter_list_length\":2,\"adapters\":[\"github_adapter\",\"okta_adapter\"],\"asset_type\":\"accounts\",\"event\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 00:02:32 GMT\",\"adapter_categories\":[\"Software Development Version Control\",\"SaaS Management\"],\"client_used\":\"67fd09a9fe1c8e812a176baa\",\"data\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 00:02:32 GMT\",\"active_users\":0,\"active_users_saved_query_id\":\"67fd1261709940e80b240c24\",\"admin_non_operational_users\":0,\"admin_non_operational_users_saved_query_id\":\"67fd1261709940e80b240c68\",\"admin_operational_active_users\":0,\"admin_operational_active_users_saved_query_id\":\"67fd1261709940e80b240c7e\",\"admin_operational_inactive_users\":0,\"admin_operational_inactive_users_saved_query_id\":\"67fd1261709940e80b240c3f\",\"admin_operational_users\":0,\"admin_operational_users_saved_query_id\":\"67fd1261709940e80b240c5d\",\"admins\":0,\"admins_saved_query_id\":\"67fd1261709940e80b240c38\",\"application_and_account_name\":\"github/github-dev\",\"application_name\":\"GitHub\",\"asset_type\":\"Connected Adapter\",\"deleted_users\":0,\"deleted_users_saved_query_id\":\"67fd1261709940e80b240cb7\",\"direct_not_sso_users\":27,\"direct_not_sso_users_saved_query_id\":\"67fd1261709940e80b240c86\",\"domains\":[{\"name\":\"github.demo.local\"}],\"external_users\":0,\"external_users_saved_query_id\":\"67fd1261709940e80b240cc4\",\"fetch_time\":\"Tue, 09 Dec 2025 00:02:32 GMT\",\"first_fetch_time\":\"Mon, 14 Apr 2025 13:27:53 GMT\",\"from_last_fetch\":true,\"id\":\"697947761f2f779c8df5\",\"id_raw\":\"github-dev_67fd09a9fe1c8e812a176baa\",\"inactive_users\":339,\"inactive_users_saved_query_id\":\"67fd1261709940e80b240c4a\",\"is_fetched_from_adapter\":true,\"is_managed_by_direct_app\":true,\"last_enrichment_run\":\"Tue, 09 Dec 2025 00:10:07 GMT\",\"managed_non_operational_users\":0,\"managed_non_operational_users_saved_query_id\":\"67fd1261709940e80b240c56\",\"managed_operational_users\":339,\"managed_operational_users_saved_query_id\":\"67fd1261709940e80b240c71\",\"managed_users\":339,\"managed_users_by_app\":180,\"managed_users_by_app_saved_query_id\":\"67fd1261709940e80b240c9a\",\"managed_users_by_sso\":312,\"managed_users_by_sso_saved_query_id\":\"67fd1261709940e80b240ca6\",\"managed_users_saved_query_id\":\"67fd1261709940e80b240c17\",\"name\":\"GitHub/github-dev\",\"not_fetched_count\":0,\"orphaned_users\":27,\"orphaned_users_saved_query_id\":\"67fd1261709940e80b240c8f\",\"paid_users\":0,\"paid_users_saved_query_id\":\"67fd1261709940e80b240ccc\",\"source_application\":\"GitHub\",\"suspended_users\":0,\"suspended_users_saved_query_id\":\"67fd1261709940e80b240cae\",\"type\":\"Accounts\",\"unlinked_users\":159,\"unlinked_users_saved_query_id\":\"67fd1261709940e80b240c2b\"},\"initial_plugin_unique_name\":\"github_adapter_0\",\"plugin_name\":\"github_adapter\",\"plugin_type\":\"Adapter\",\"plugin_unique_name\":\"github_adapter_0\",\"quick_id\":\"github_adapter_0!697947761f2f779c8df5\",\"type\":\"entitydata\"},\"internal_axon_id\":\"5592c1d0fc4c0fdeebb6c98530a7c777\"}", + "type": [ + "info" + ] + }, + "service": { + "name": "GitHub" + }, + "tags": [ + "preserve_duplicate_custom_fields" + ] + } + ] +} diff --git a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-certificate.log b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-certificate.log new file mode 100644 index 00000000000..61c1299fb28 --- /dev/null +++ b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-certificate.log @@ -0,0 +1,3 @@ +{"internal_axon_id":"d2e5e38e803587f6beec0ebf20841e35","adapters":["webscan_adapter"],"asset_type":"certificates","adapter_list_length":1,"event":{"accurate_for_datetime":"Mon, 08 Dec 2025 12:01:42 GMT","adapter_categories":["ITAM\/ITSM"],"client_used":"67fd09ab3c68ed1b541bb4af","data":{"accurate_for_datetime":"Mon, 08 Dec 2025 12:01:42 GMT","alt_names":[{"name":"test.demo.com","name_type":"DNS"}],"application_and_account_name":"web server information\/webscan-demo","asset_type":"Webscan Certificate","begins_on":"Thu, 15 Feb 2024 18:24:34 GMT","bit_size":256,"expires_on":"Thu, 27 Nov 2025 17:35:21 GMT","fetch_time":"Mon, 08 Dec 2025 12:01:41 GMT","first_fetch_time":"Mon, 14 Apr 2025 13:26:31 GMT","from_last_fetch":true,"id":"4c5eb5e23e36805ac57d","id_raw":"bbb6246e-7056-4120-b96f-87f3d38a080e","is_fetched_from_adapter":true,"issuer":{"common_name":"GlobalSign Root CA","country_name":"US","organization":"GlobalSign nv-sa"},"last_fetch_connection_id":"67fd09ab3c68ed1b541bb4af","last_fetch_connection_label":"webscan-demo","name":"GlobalSign Root CA","not_fetched_count":0,"pretty_id":"AX-3538281358","serial_number":"22053078225666923629770456953932","source_application":"Web Server Information","subject":{"common_name":"GlobalSign Root CA","country_name":"US","locality":"San Francisco","organization":"GlobalSign nv-sa","state":"California"},"tenant_number":["4"],"type":"Certificate","version":"2"},"initial_plugin_unique_name":"webscan_adapter_0","plugin_name":"webscan_adapter","plugin_type":"Adapter","plugin_unique_name":"webscan_adapter_0","quick_id":"webscan_adapter_0!4c5eb5e23e36805ac57d","type":"entitydata"}} +{"adapter_list_length":1,"adapters":["webscan_adapter"],"asset_type":"certificates","event":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:01:30 GMT","adapter_categories":["ITAM/ITSM"],"client_used":"67fd09ab3c68ed1b541bb4af","data":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:01:30 GMT","alt_names":[{"name":"subdomain.demo.com","name_type":"DNS"},{"name":"login.demo.com","name_type":"DNS"}],"application_and_account_name":"web server information/webscan-demo","asset_type":"Webscan Certificate","begins_on":"Wed, 05 Jun 2024 20:39:03 GMT","bit_size":4096,"expires_on":"Mon, 22 Dec 2025 18:05:33 GMT","fetch_time":"Tue, 09 Dec 2025 00:01:30 GMT","first_fetch_time":"Mon, 14 Apr 2025 13:26:31 GMT","from_last_fetch":true,"id":"c59079ddd4349aa5c745","id_raw":"3778ea79-f4c5-4a65-b0a6-e1304b698c45","is_fetched_from_adapter":true,"issuer":{"common_name":"Baltimore CyberTrust Root","country_name":"US","organization":"Baltimore"},"last_fetch_connection_id":"67fd09ab3c68ed1b541bb4af","last_fetch_connection_label":"webscan-demo","name":"Baltimore CyberTrust Root","not_fetched_count":0,"pretty_id":"AX-3061421597","serial_number":"00145161702969659350434254970802","source_application":"Web Server Information","subject":{"common_name":"Baltimore CyberTrust Root","country_name":"US","locality":"San Francisco","organization":"Baltimore","state":"California"},"tenant_number":["4"],"type":"Certificate","version":"2"},"initial_plugin_unique_name":"webscan_adapter_0","plugin_name":"webscan_adapter","plugin_type":"Adapter","plugin_unique_name":"webscan_adapter_0","quick_id":"webscan_adapter_0!c59079ddd4349aa5c745","type":"entitydata"},"internal_axon_id":"b679961d638ed4affd8b2027fe73af6d"} +{"adapter_list_length":1,"adapters":["webscan_adapter"],"asset_type":"certificates","event":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:01:30 GMT","adapter_categories":["ITAM/ITSM"],"client_used":"67fd09ab3c68ed1b541bb4af","data":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:01:30 GMT","alt_names":[{"name":"subdomain.demo.com","name_type":"DNS"},{"name":"test.demo.com","name_type":"DNS"},{"name":"login.demo.com","name_type":"DNS"}],"application_and_account_name":"web server information/webscan-demo","asset_type":"Webscan Certificate","begins_on":"Wed, 06 Nov 2024 21:18:38 GMT","bit_size":256,"expires_on":"Sun, 11 Jan 2026 15:12:32 GMT","fetch_time":"Tue, 09 Dec 2025 00:01:30 GMT","first_fetch_time":"Mon, 14 Apr 2025 13:26:31 GMT","from_last_fetch":true,"id":"358c45934b0b5dde6187","id_raw":"8b25e8ce-c084-455b-a2eb-60dd0790dbcf","is_fetched_from_adapter":true,"issuer":{"common_name":"DST Root CA X3","country_name":"US","organization":"Digital Signature Trust Co."},"last_fetch_connection_id":"67fd09ab3c68ed1b541bb4af","last_fetch_connection_label":"webscan-demo","name":"DST Root CA X3","not_fetched_count":0,"pretty_id":"AX-1987793400","serial_number":"50251828753248654275669930302432","source_application":"Web Server Information","subject":{"common_name":"DST Root CA X3","country_name":"US","locality":"San Francisco","organization":"Digital Signature Trust Co.","state":"California"},"tenant_number":["3"],"type":"Certificate","version":"2"},"initial_plugin_unique_name":"webscan_adapter_0","plugin_name":"webscan_adapter","plugin_type":"Adapter","plugin_unique_name":"webscan_adapter_0","quick_id":"webscan_adapter_0!358c45934b0b5dde6187","type":"entitydata"},"internal_axon_id":"767b51f89d768697b64836746401a5cf"} diff --git a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-certificate.log-expected.json b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-certificate.log-expected.json new file mode 100644 index 00000000000..c051af3d491 --- /dev/null +++ b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-certificate.log-expected.json @@ -0,0 +1,379 @@ +{ + "expected": [ + { + "@timestamp": "2025-12-08T12:01:42.000Z", + "axonius": { + "identity": { + "adapter_list_length": 1, + "adapters": [ + "webscan_adapter" + ], + "asset_type": "certificates", + "event": { + "accurate_for_datetime": "2025-12-08T12:01:42.000Z", + "adapter_categories": [ + "ITAM/ITSM" + ], + "client_used": "67fd09ab3c68ed1b541bb4af", + "data": { + "accurate_for_datetime": "2025-12-08T12:01:42.000Z", + "alt_names": [ + { + "name": "test.demo.com", + "name_type": "DNS" + } + ], + "application_and_account_name": "web server information/webscan-demo", + "asset_type": "Webscan Certificate", + "begins_on": "2024-02-15T18:24:34.000Z", + "bit_size": 256, + "expires_on": "2025-11-27T17:35:21.000Z", + "fetch_time": "2025-12-08T12:01:41.000Z", + "first_fetch_time": "2025-04-14T13:26:31.000Z", + "from_last_fetch": true, + "id": "4c5eb5e23e36805ac57d", + "id_raw": "bbb6246e-7056-4120-b96f-87f3d38a080e", + "is_fetched_from_adapter": true, + "issuer": { + "common_name": "GlobalSign Root CA", + "country_name": "US", + "organization": "GlobalSign nv-sa" + }, + "last_fetch_connection_id": "67fd09ab3c68ed1b541bb4af", + "last_fetch_connection_label": "webscan-demo", + "name": "GlobalSign Root CA", + "not_fetched_count": 0, + "pretty_id": "AX-3538281358", + "serial_number": "22053078225666923629770456953932", + "source_application": "Web Server Information", + "subject": { + "common_name": "GlobalSign Root CA", + "country_name": "US", + "locality": "San Francisco", + "organization": "GlobalSign nv-sa", + "state": "California" + }, + "tenant_number": [ + "4" + ], + "type": "Certificate", + "version": "2" + }, + "initial_plugin_unique_name": "webscan_adapter_0", + "plugin_name": "webscan_adapter", + "plugin_type": "Adapter", + "plugin_unique_name": "webscan_adapter_0", + "quick_id": "webscan_adapter_0!4c5eb5e23e36805ac57d", + "type": "entitydata" + }, + "internal_axon_id": "d2e5e38e803587f6beec0ebf20841e35" + } + }, + "ecs": { + "version": "9.2.0" + }, + "event": { + "category": [ + "iam" + ], + "end": "2025-11-27T17:35:21.000Z", + "kind": "event", + "original": "{\"internal_axon_id\":\"d2e5e38e803587f6beec0ebf20841e35\",\"adapters\":[\"webscan_adapter\"],\"asset_type\":\"certificates\",\"adapter_list_length\":1,\"event\":{\"accurate_for_datetime\":\"Mon, 08 Dec 2025 12:01:42 GMT\",\"adapter_categories\":[\"ITAM\\/ITSM\"],\"client_used\":\"67fd09ab3c68ed1b541bb4af\",\"data\":{\"accurate_for_datetime\":\"Mon, 08 Dec 2025 12:01:42 GMT\",\"alt_names\":[{\"name\":\"test.demo.com\",\"name_type\":\"DNS\"}],\"application_and_account_name\":\"web server information\\/webscan-demo\",\"asset_type\":\"Webscan Certificate\",\"begins_on\":\"Thu, 15 Feb 2024 18:24:34 GMT\",\"bit_size\":256,\"expires_on\":\"Thu, 27 Nov 2025 17:35:21 GMT\",\"fetch_time\":\"Mon, 08 Dec 2025 12:01:41 GMT\",\"first_fetch_time\":\"Mon, 14 Apr 2025 13:26:31 GMT\",\"from_last_fetch\":true,\"id\":\"4c5eb5e23e36805ac57d\",\"id_raw\":\"bbb6246e-7056-4120-b96f-87f3d38a080e\",\"is_fetched_from_adapter\":true,\"issuer\":{\"common_name\":\"GlobalSign Root CA\",\"country_name\":\"US\",\"organization\":\"GlobalSign nv-sa\"},\"last_fetch_connection_id\":\"67fd09ab3c68ed1b541bb4af\",\"last_fetch_connection_label\":\"webscan-demo\",\"name\":\"GlobalSign Root CA\",\"not_fetched_count\":0,\"pretty_id\":\"AX-3538281358\",\"serial_number\":\"22053078225666923629770456953932\",\"source_application\":\"Web Server Information\",\"subject\":{\"common_name\":\"GlobalSign Root CA\",\"country_name\":\"US\",\"locality\":\"San Francisco\",\"organization\":\"GlobalSign nv-sa\",\"state\":\"California\"},\"tenant_number\":[\"4\"],\"type\":\"Certificate\",\"version\":\"2\"},\"initial_plugin_unique_name\":\"webscan_adapter_0\",\"plugin_name\":\"webscan_adapter\",\"plugin_type\":\"Adapter\",\"plugin_unique_name\":\"webscan_adapter_0\",\"quick_id\":\"webscan_adapter_0!4c5eb5e23e36805ac57d\",\"type\":\"entitydata\"}}", + "start": "2024-02-15T18:24:34.000Z", + "type": [ + "info" + ] + }, + "file": { + "x509": { + "issuer": { + "common_name": [ + "GlobalSign Root CA" + ], + "country": [ + "US" + ], + "organization": [ + "GlobalSign nv-sa" + ] + }, + "serial_number": "22053078225666923629770456953932", + "subject": { + "common_name": [ + "GlobalSign Root CA" + ], + "country": [ + "US" + ], + "locality": [ + "San Francisco" + ], + "organization": [ + "GlobalSign nv-sa" + ], + "state_or_province": [ + "California" + ] + } + } + }, + "tags": [ + "preserve_duplicate_custom_fields" + ] + }, + { + "@timestamp": "2025-12-09T00:01:30.000Z", + "axonius": { + "identity": { + "adapter_list_length": 1, + "adapters": [ + "webscan_adapter" + ], + "asset_type": "certificates", + "event": { + "accurate_for_datetime": "2025-12-09T00:01:30.000Z", + "adapter_categories": [ + "ITAM/ITSM" + ], + "client_used": "67fd09ab3c68ed1b541bb4af", + "data": { + "accurate_for_datetime": "2025-12-09T00:01:30.000Z", + "alt_names": [ + { + "name": "subdomain.demo.com", + "name_type": "DNS" + }, + { + "name": "login.demo.com", + "name_type": "DNS" + } + ], + "application_and_account_name": "web server information/webscan-demo", + "asset_type": "Webscan Certificate", + "begins_on": "2024-06-05T20:39:03.000Z", + "bit_size": 4096, + "expires_on": "2025-12-22T18:05:33.000Z", + "fetch_time": "2025-12-09T00:01:30.000Z", + "first_fetch_time": "2025-04-14T13:26:31.000Z", + "from_last_fetch": true, + "id": "c59079ddd4349aa5c745", + "id_raw": "3778ea79-f4c5-4a65-b0a6-e1304b698c45", + "is_fetched_from_adapter": true, + "issuer": { + "common_name": "Baltimore CyberTrust Root", + "country_name": "US", + "organization": "Baltimore" + }, + "last_fetch_connection_id": "67fd09ab3c68ed1b541bb4af", + "last_fetch_connection_label": "webscan-demo", + "name": "Baltimore CyberTrust Root", + "not_fetched_count": 0, + "pretty_id": "AX-3061421597", + "serial_number": "00145161702969659350434254970802", + "source_application": "Web Server Information", + "subject": { + "common_name": "Baltimore CyberTrust Root", + "country_name": "US", + "locality": "San Francisco", + "organization": "Baltimore", + "state": "California" + }, + "tenant_number": [ + "4" + ], + "type": "Certificate", + "version": "2" + }, + "initial_plugin_unique_name": "webscan_adapter_0", + "plugin_name": "webscan_adapter", + "plugin_type": "Adapter", + "plugin_unique_name": "webscan_adapter_0", + "quick_id": "webscan_adapter_0!c59079ddd4349aa5c745", + "type": "entitydata" + }, + "internal_axon_id": "b679961d638ed4affd8b2027fe73af6d" + } + }, + "ecs": { + "version": "9.2.0" + }, + "event": { + "category": [ + "iam" + ], + "end": "2025-12-22T18:05:33.000Z", + "kind": "event", + "original": "{\"adapter_list_length\":1,\"adapters\":[\"webscan_adapter\"],\"asset_type\":\"certificates\",\"event\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 00:01:30 GMT\",\"adapter_categories\":[\"ITAM/ITSM\"],\"client_used\":\"67fd09ab3c68ed1b541bb4af\",\"data\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 00:01:30 GMT\",\"alt_names\":[{\"name\":\"subdomain.demo.com\",\"name_type\":\"DNS\"},{\"name\":\"login.demo.com\",\"name_type\":\"DNS\"}],\"application_and_account_name\":\"web server information/webscan-demo\",\"asset_type\":\"Webscan Certificate\",\"begins_on\":\"Wed, 05 Jun 2024 20:39:03 GMT\",\"bit_size\":4096,\"expires_on\":\"Mon, 22 Dec 2025 18:05:33 GMT\",\"fetch_time\":\"Tue, 09 Dec 2025 00:01:30 GMT\",\"first_fetch_time\":\"Mon, 14 Apr 2025 13:26:31 GMT\",\"from_last_fetch\":true,\"id\":\"c59079ddd4349aa5c745\",\"id_raw\":\"3778ea79-f4c5-4a65-b0a6-e1304b698c45\",\"is_fetched_from_adapter\":true,\"issuer\":{\"common_name\":\"Baltimore CyberTrust Root\",\"country_name\":\"US\",\"organization\":\"Baltimore\"},\"last_fetch_connection_id\":\"67fd09ab3c68ed1b541bb4af\",\"last_fetch_connection_label\":\"webscan-demo\",\"name\":\"Baltimore CyberTrust Root\",\"not_fetched_count\":0,\"pretty_id\":\"AX-3061421597\",\"serial_number\":\"00145161702969659350434254970802\",\"source_application\":\"Web Server Information\",\"subject\":{\"common_name\":\"Baltimore CyberTrust Root\",\"country_name\":\"US\",\"locality\":\"San Francisco\",\"organization\":\"Baltimore\",\"state\":\"California\"},\"tenant_number\":[\"4\"],\"type\":\"Certificate\",\"version\":\"2\"},\"initial_plugin_unique_name\":\"webscan_adapter_0\",\"plugin_name\":\"webscan_adapter\",\"plugin_type\":\"Adapter\",\"plugin_unique_name\":\"webscan_adapter_0\",\"quick_id\":\"webscan_adapter_0!c59079ddd4349aa5c745\",\"type\":\"entitydata\"},\"internal_axon_id\":\"b679961d638ed4affd8b2027fe73af6d\"}", + "start": "2024-06-05T20:39:03.000Z", + "type": [ + "info" + ] + }, + "file": { + "x509": { + "issuer": { + "common_name": [ + "Baltimore CyberTrust Root" + ], + "country": [ + "US" + ], + "organization": [ + "Baltimore" + ] + }, + "serial_number": "00145161702969659350434254970802", + "subject": { + "common_name": [ + "Baltimore CyberTrust Root" + ], + "country": [ + "US" + ], + "locality": [ + "San Francisco" + ], + "organization": [ + "Baltimore" + ], + "state_or_province": [ + "California" + ] + } + } + }, + "tags": [ + "preserve_duplicate_custom_fields" + ] + }, + { + "@timestamp": "2025-12-09T00:01:30.000Z", + "axonius": { + "identity": { + "adapter_list_length": 1, + "adapters": [ + "webscan_adapter" + ], + "asset_type": "certificates", + "event": { + "accurate_for_datetime": "2025-12-09T00:01:30.000Z", + "adapter_categories": [ + "ITAM/ITSM" + ], + "client_used": "67fd09ab3c68ed1b541bb4af", + "data": { + "accurate_for_datetime": "2025-12-09T00:01:30.000Z", + "alt_names": [ + { + "name": "subdomain.demo.com", + "name_type": "DNS" + }, + { + "name": "test.demo.com", + "name_type": "DNS" + }, + { + "name": "login.demo.com", + "name_type": "DNS" + } + ], + "application_and_account_name": "web server information/webscan-demo", + "asset_type": "Webscan Certificate", + "begins_on": "2024-11-06T21:18:38.000Z", + "bit_size": 256, + "expires_on": "2026-01-11T15:12:32.000Z", + "fetch_time": "2025-12-09T00:01:30.000Z", + "first_fetch_time": "2025-04-14T13:26:31.000Z", + "from_last_fetch": true, + "id": "358c45934b0b5dde6187", + "id_raw": "8b25e8ce-c084-455b-a2eb-60dd0790dbcf", + "is_fetched_from_adapter": true, + "issuer": { + "common_name": "DST Root CA X3", + "country_name": "US", + "organization": "Digital Signature Trust Co." + }, + "last_fetch_connection_id": "67fd09ab3c68ed1b541bb4af", + "last_fetch_connection_label": "webscan-demo", + "name": "DST Root CA X3", + "not_fetched_count": 0, + "pretty_id": "AX-1987793400", + "serial_number": "50251828753248654275669930302432", + "source_application": "Web Server Information", + "subject": { + "common_name": "DST Root CA X3", + "country_name": "US", + "locality": "San Francisco", + "organization": "Digital Signature Trust Co.", + "state": "California" + }, + "tenant_number": [ + "3" + ], + "type": "Certificate", + "version": "2" + }, + "initial_plugin_unique_name": "webscan_adapter_0", + "plugin_name": "webscan_adapter", + "plugin_type": "Adapter", + "plugin_unique_name": "webscan_adapter_0", + "quick_id": "webscan_adapter_0!358c45934b0b5dde6187", + "type": "entitydata" + }, + "internal_axon_id": "767b51f89d768697b64836746401a5cf" + } + }, + "ecs": { + "version": "9.2.0" + }, + "event": { + "category": [ + "iam" + ], + "end": "2026-01-11T15:12:32.000Z", + "kind": "event", + "original": "{\"adapter_list_length\":1,\"adapters\":[\"webscan_adapter\"],\"asset_type\":\"certificates\",\"event\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 00:01:30 GMT\",\"adapter_categories\":[\"ITAM/ITSM\"],\"client_used\":\"67fd09ab3c68ed1b541bb4af\",\"data\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 00:01:30 GMT\",\"alt_names\":[{\"name\":\"subdomain.demo.com\",\"name_type\":\"DNS\"},{\"name\":\"test.demo.com\",\"name_type\":\"DNS\"},{\"name\":\"login.demo.com\",\"name_type\":\"DNS\"}],\"application_and_account_name\":\"web server information/webscan-demo\",\"asset_type\":\"Webscan Certificate\",\"begins_on\":\"Wed, 06 Nov 2024 21:18:38 GMT\",\"bit_size\":256,\"expires_on\":\"Sun, 11 Jan 2026 15:12:32 GMT\",\"fetch_time\":\"Tue, 09 Dec 2025 00:01:30 GMT\",\"first_fetch_time\":\"Mon, 14 Apr 2025 13:26:31 GMT\",\"from_last_fetch\":true,\"id\":\"358c45934b0b5dde6187\",\"id_raw\":\"8b25e8ce-c084-455b-a2eb-60dd0790dbcf\",\"is_fetched_from_adapter\":true,\"issuer\":{\"common_name\":\"DST Root CA X3\",\"country_name\":\"US\",\"organization\":\"Digital Signature Trust Co.\"},\"last_fetch_connection_id\":\"67fd09ab3c68ed1b541bb4af\",\"last_fetch_connection_label\":\"webscan-demo\",\"name\":\"DST Root CA X3\",\"not_fetched_count\":0,\"pretty_id\":\"AX-1987793400\",\"serial_number\":\"50251828753248654275669930302432\",\"source_application\":\"Web Server Information\",\"subject\":{\"common_name\":\"DST Root CA X3\",\"country_name\":\"US\",\"locality\":\"San Francisco\",\"organization\":\"Digital Signature Trust Co.\",\"state\":\"California\"},\"tenant_number\":[\"3\"],\"type\":\"Certificate\",\"version\":\"2\"},\"initial_plugin_unique_name\":\"webscan_adapter_0\",\"plugin_name\":\"webscan_adapter\",\"plugin_type\":\"Adapter\",\"plugin_unique_name\":\"webscan_adapter_0\",\"quick_id\":\"webscan_adapter_0!358c45934b0b5dde6187\",\"type\":\"entitydata\"},\"internal_axon_id\":\"767b51f89d768697b64836746401a5cf\"}", + "start": "2024-11-06T21:18:38.000Z", + "type": [ + "info" + ] + }, + "file": { + "x509": { + "issuer": { + "common_name": [ + "DST Root CA X3" + ], + "country": [ + "US" + ], + "organization": [ + "Digital Signature Trust Co." + ] + }, + "serial_number": "50251828753248654275669930302432", + "subject": { + "common_name": [ + "DST Root CA X3" + ], + "country": [ + "US" + ], + "locality": [ + "San Francisco" + ], + "organization": [ + "Digital Signature Trust Co." + ], + "state_or_province": [ + "California" + ] + } + } + }, + "tags": [ + "preserve_duplicate_custom_fields" + ] + } + ] +} diff --git a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-common-config.yml b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-common-config.yml new file mode 100644 index 00000000000..37e8fa225fd --- /dev/null +++ b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-common-config.yml @@ -0,0 +1,3 @@ +fields: + tags: + - preserve_duplicate_custom_fields diff --git a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-group.log b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-group.log new file mode 100644 index 00000000000..2a5d8c88f2b --- /dev/null +++ b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-group.log @@ -0,0 +1,3 @@ +{"asset_type":"groups","event":{"data":{"first_seen":"Wed, 12 Nov 2025 00:02:18 GMT","roles":[{"display_name":"SharePoint Administrator","remote_id":"c9d7cac3e29346d3a4c259303bab613f"}],"user_count_link":[{"bracketWeight":0,"compOp":"IN","field":"event.data.mail","leftBracket":0,"logicOp":"and","not":false,"rightBracket":0,"value":["anna.pullman@demo.local","ryan.smith@demo.local"]}]}}} +{"adapter_list_length":1,"adapters":["okta_adapter"],"asset_type":"groups","event":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:09:21 GMT","action_if_exists":"update","associated_adapters":[],"association_type":"Tag","data":{"user_count":633,"user_count_link":[{"bracketWeight":0,"compOp":"equals","field":"specific_data.data.nested_groups.name","leftBracket":0,"logicOp":"","not":false,"rightBracket":0,"value":"Server-Operators"}]},"entity":"groups","hidden_for_gui":true,"name":"static_analysis_0_UserCountSchema","plugin_name":"static_analysis","plugin_unique_name":"static_analysis_0_UserCountSchema","type":"adapterdata"},"internal_axon_id":"f2230d26ee294785fa7cedb347ee946b"} +{"adapter_list_length":1,"adapters":["service_now_adapter"],"asset_type":"groups","event":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:02:40 GMT","adapter_categories":["CMDB","ITAM/ITSM","Ticketing","SaaS Management"],"client_used":"67fd0999fe1c8e812a176ba2","data":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:02:40 GMT","application_and_account_name":"servicenow/servicenow-dev","display_name":"Server","fetch_time":"Tue, 09 Dec 2025 00:02:34 GMT","first_fetch_time":"Mon, 14 Apr 2025 13:27:11 GMT","first_seen":"Wed, 14 Jun 2023 10:54:10 GMT","from_last_fetch":true,"groups":[{"display_name":"sales-group","name":"sales-group","remote_id":"c0d5e3a8"}],"has_administrative_permissions":false,"id":"ee198fc2ad0d8e96d043","id_raw":"ba25c305-3dbd-4389-a778-a2b24ac9c021","is_fetched_from_adapter":true,"last_fetch_connection_id":"67fd0999fe1c8e812a176ba2","last_fetch_connection_label":"servicenow-dev","name":"Server","nested_applications":[],"nested_associated_devices":[],"nested_grants_last_updated":"Tue, 09 Dec 2025 00:09:42 GMT","nested_groups":[{"assignment_type":"Direct","group_name":"sales-group","name":"sales-group","parents":[{"name":"","value":""}],"value":"c0d5e3a8"},{"assignment_type":"Indirect","group_name":"test-group","name":"test-group","parents":[{"name":"sales-group","parent_type":"Group","value":"c0d5e3a8"}],"value":"36ef470c"},{"assignment_type":"Indirect","group_name":"guests","name":"guests","parents":[{"name":"sales-group","parent_type":"Group","value":"c0d5e3a8"}],"value":"aed2627e"},{"assignment_type":"Indirect","group_name":"Server Operators","name":"Server Operators","parents":[{"name":"sales-group","parent_type":"Group","value":"c0d5e3a8"}],"value":"9ba02066"},{"assignment_type":"Indirect","group_name":"r\\u0026d testing","name":"r\\u0026d testing","parents":[{"name":"sales-group","parent_type":"Group","value":"c0d5e3a8"}],"value":"714c4251"},{"assignment_type":"Indirect","group_name":"lab production","name":"lab production","parents":[{"name":"sales-group","parent_type":"Group","value":"c0d5e3a8"}],"value":"26205d34"}],"nested_permissions":[],"nested_resources":[],"nested_roles":[{"assignment_type":"Direct","name":"sn_dependentclient.dependentclient_user","parents":[{"name":"","value":""}],"value":"38ceb28b936146f7acbb7438b54283fc"},{"assignment_type":"Direct","name":"log_points","parents":[{"name":"","value":""}],"value":"8d0a58c77a064bfd94e8ca3ee1cab36f"},{"assignment_type":"Direct","name":"decision_table_admin","parents":[{"name":"","value":""}],"value":"5ad93ef2d50c4fa997a72d4903271a87"},{"assignment_type":"Indirect","name":"catalog_template_editor","parents":[{"name":"sales-group","parent_type":"Group","value":"c0d5e3a8"}],"value":"340f6b1c033f49a9b3e2b0895f382329"},{"assignment_type":"Indirect","name":"export_rest_api","parents":[{"name":"sales-group","parent_type":"Group","value":"c0d5e3a8"}],"value":"c8e6c40ab18149aea54c3b5da4b1d849"}],"not_fetched_count":0,"permissions":[],"remote_id":"95c933af","roles":[{"display_name":"sn_dependentclient.dependentclient_user","remote_id":"38ceb28b936146f7acbb7438b54283fc"},{"display_name":"log_points","remote_id":"8d0a58c77a064bfd94e8ca3ee1cab36f"},{"display_name":"decision_table_admin","remote_id":"5ad93ef2d50c4fa997a72d4903271a87"}],"sm_entity_type":"group","software_cves":[],"source_application":"ServiceNow","tenant_number":["2"],"type":"Groups"},"initial_plugin_unique_name":"service_now_adapter_0","plugin_name":"service_now_adapter","plugin_type":"Adapter","plugin_unique_name":"service_now_adapter_0","quick_id":"service_now_adapter_0!ee198fc2ad0d8e96d043","type":"entitydata"},"internal_axon_id":"2285fd71b4ec307bb4054a9dc1c5aefb"} diff --git a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-group.log-expected.json b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-group.log-expected.json new file mode 100644 index 00000000000..e4d308719c8 --- /dev/null +++ b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-group.log-expected.json @@ -0,0 +1,340 @@ +{ + "expected": [ + { + "axonius": { + "identity": { + "asset_type": "groups", + "event": { + "data": { + "first_seen": "2025-11-12T00:02:18.000Z", + "roles": [ + { + "display_name": "SharePoint Administrator", + "remote_id": "c9d7cac3e29346d3a4c259303bab613f" + } + ], + "user_count_link": [ + { + "bracketWeight": 0.0, + "compOp": "IN", + "field": "event.data.mail", + "leftBracket": 0.0, + "logicOp": "and", + "not": false, + "rightBracket": 0.0, + "value": [ + "anna.pullman@demo.local", + "ryan.smith@demo.local" + ] + } + ] + } + } + } + }, + "ecs": { + "version": "9.2.0" + }, + "event": { + "category": [ + "iam" + ], + "kind": "event", + "original": "{\"asset_type\":\"groups\",\"event\":{\"data\":{\"first_seen\":\"Wed, 12 Nov 2025 00:02:18 GMT\",\"roles\":[{\"display_name\":\"SharePoint Administrator\",\"remote_id\":\"c9d7cac3e29346d3a4c259303bab613f\"}],\"user_count_link\":[{\"bracketWeight\":0,\"compOp\":\"IN\",\"field\":\"event.data.mail\",\"leftBracket\":0,\"logicOp\":\"and\",\"not\":false,\"rightBracket\":0,\"value\":[\"anna.pullman@demo.local\",\"ryan.smith@demo.local\"]}]}}}", + "type": [ + "info" + ] + }, + "related": { + "user": [ + "{0=anna.pullman@demo.local, 1=ryan.smith@demo.local}" + ] + }, + "tags": [ + "preserve_duplicate_custom_fields" + ], + "user": { + "roles": [ + "SharePoint Administrator" + ] + } + }, + { + "@timestamp": "2025-12-09T00:09:21.000Z", + "axonius": { + "identity": { + "adapter_list_length": 1, + "adapters": [ + "okta_adapter" + ], + "asset_type": "groups", + "event": { + "accurate_for_datetime": "2025-12-09T00:09:21.000Z", + "action_if_exists": "update", + "association_type": "Tag", + "data": { + "user_count_link": [ + { + "bracketWeight": 0.0, + "compOp": "equals", + "field": "specific_data.data.nested_groups.name", + "leftBracket": 0.0, + "not": false, + "rightBracket": 0.0, + "value": "Server-Operators" + } + ] + }, + "entity": "groups", + "hidden_for_gui": true, + "name": "static_analysis_0_UserCountSchema", + "plugin_name": "static_analysis", + "plugin_unique_name": "static_analysis_0_UserCountSchema", + "type": "adapterdata" + }, + "internal_axon_id": "f2230d26ee294785fa7cedb347ee946b" + } + }, + "ecs": { + "version": "9.2.0" + }, + "event": { + "action": "update", + "category": [ + "iam" + ], + "kind": "event", + "original": "{\"adapter_list_length\":1,\"adapters\":[\"okta_adapter\"],\"asset_type\":\"groups\",\"event\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 00:09:21 GMT\",\"action_if_exists\":\"update\",\"associated_adapters\":[],\"association_type\":\"Tag\",\"data\":{\"user_count\":633,\"user_count_link\":[{\"bracketWeight\":0,\"compOp\":\"equals\",\"field\":\"specific_data.data.nested_groups.name\",\"leftBracket\":0,\"logicOp\":\"\",\"not\":false,\"rightBracket\":0,\"value\":\"Server-Operators\"}]},\"entity\":\"groups\",\"hidden_for_gui\":true,\"name\":\"static_analysis_0_UserCountSchema\",\"plugin_name\":\"static_analysis\",\"plugin_unique_name\":\"static_analysis_0_UserCountSchema\",\"type\":\"adapterdata\"},\"internal_axon_id\":\"f2230d26ee294785fa7cedb347ee946b\"}", + "type": [ + "info" + ] + }, + "related": { + "user": [ + "Server-Operators" + ] + }, + "tags": [ + "preserve_duplicate_custom_fields" + ] + }, + { + "@timestamp": "2025-12-09T00:02:40.000Z", + "axonius": { + "identity": { + "adapter_list_length": 1, + "adapters": [ + "service_now_adapter" + ], + "asset_type": "groups", + "event": { + "accurate_for_datetime": "2025-12-09T00:02:40.000Z", + "adapter_categories": [ + "CMDB", + "ITAM/ITSM", + "Ticketing", + "SaaS Management" + ], + "client_used": "67fd0999fe1c8e812a176ba2", + "data": { + "accurate_for_datetime": "2025-12-09T00:02:40.000Z", + "application_and_account_name": "servicenow/servicenow-dev", + "display_name": "Server", + "fetch_time": "2025-12-09T00:02:34.000Z", + "first_fetch_time": "2025-04-14T13:27:11.000Z", + "first_seen": "2023-06-14T10:54:10.000Z", + "from_last_fetch": true, + "groups": [ + { + "display_name": "sales-group", + "name": "sales-group", + "remote_id": "c0d5e3a8" + } + ], + "has_administrative_permissions": false, + "id": "ee198fc2ad0d8e96d043", + "id_raw": "ba25c305-3dbd-4389-a778-a2b24ac9c021", + "is_fetched_from_adapter": true, + "last_fetch_connection_id": "67fd0999fe1c8e812a176ba2", + "last_fetch_connection_label": "servicenow-dev", + "name": "Server", + "nested_grants_last_updated": "2025-12-09T00:09:42.000Z", + "nested_groups": [ + { + "assignment_type": "Direct", + "group_name": "sales-group", + "name": "sales-group", + "value": "c0d5e3a8" + }, + { + "assignment_type": "Indirect", + "group_name": "test-group", + "name": "test-group", + "parents": [ + { + "name": "sales-group", + "parent_type": "Group", + "value": "c0d5e3a8" + } + ], + "value": "36ef470c" + }, + { + "assignment_type": "Indirect", + "group_name": "guests", + "name": "guests", + "parents": [ + { + "name": "sales-group", + "parent_type": "Group", + "value": "c0d5e3a8" + } + ], + "value": "aed2627e" + }, + { + "assignment_type": "Indirect", + "group_name": "Server Operators", + "name": "Server Operators", + "parents": [ + { + "name": "sales-group", + "parent_type": "Group", + "value": "c0d5e3a8" + } + ], + "value": "9ba02066" + }, + { + "assignment_type": "Indirect", + "group_name": "r\\u0026d testing", + "name": "r\\u0026d testing", + "parents": [ + { + "name": "sales-group", + "parent_type": "Group", + "value": "c0d5e3a8" + } + ], + "value": "714c4251" + }, + { + "assignment_type": "Indirect", + "group_name": "lab production", + "name": "lab production", + "parents": [ + { + "name": "sales-group", + "parent_type": "Group", + "value": "c0d5e3a8" + } + ], + "value": "26205d34" + } + ], + "nested_roles": [ + { + "assignment_type": "Direct", + "name": "sn_dependentclient.dependentclient_user", + "value": "38ceb28b936146f7acbb7438b54283fc" + }, + { + "assignment_type": "Direct", + "name": "log_points", + "value": "8d0a58c77a064bfd94e8ca3ee1cab36f" + }, + { + "assignment_type": "Direct", + "name": "decision_table_admin", + "value": "5ad93ef2d50c4fa997a72d4903271a87" + }, + { + "assignment_type": "Indirect", + "name": "catalog_template_editor", + "parents": [ + { + "name": "sales-group", + "parent_type": "Group", + "value": "c0d5e3a8" + } + ], + "value": "340f6b1c033f49a9b3e2b0895f382329" + }, + { + "assignment_type": "Indirect", + "name": "export_rest_api", + "parents": [ + { + "name": "sales-group", + "parent_type": "Group", + "value": "c0d5e3a8" + } + ], + "value": "c8e6c40ab18149aea54c3b5da4b1d849" + } + ], + "not_fetched_count": 0, + "remote_id": "95c933af", + "roles": [ + { + "display_name": "sn_dependentclient.dependentclient_user", + "remote_id": "38ceb28b936146f7acbb7438b54283fc" + }, + { + "display_name": "log_points", + "remote_id": "8d0a58c77a064bfd94e8ca3ee1cab36f" + }, + { + "display_name": "decision_table_admin", + "remote_id": "5ad93ef2d50c4fa997a72d4903271a87" + } + ], + "sm_entity_type": "group", + "source_application": "ServiceNow", + "tenant_number": [ + "2" + ], + "type": "Groups" + }, + "initial_plugin_unique_name": "service_now_adapter_0", + "plugin_name": "service_now_adapter", + "plugin_type": "Adapter", + "plugin_unique_name": "service_now_adapter_0", + "quick_id": "service_now_adapter_0!ee198fc2ad0d8e96d043", + "type": "entitydata" + }, + "internal_axon_id": "2285fd71b4ec307bb4054a9dc1c5aefb" + } + }, + "ecs": { + "version": "9.2.0" + }, + "event": { + "category": [ + "iam" + ], + "kind": "event", + "original": "{\"adapter_list_length\":1,\"adapters\":[\"service_now_adapter\"],\"asset_type\":\"groups\",\"event\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 00:02:40 GMT\",\"adapter_categories\":[\"CMDB\",\"ITAM/ITSM\",\"Ticketing\",\"SaaS Management\"],\"client_used\":\"67fd0999fe1c8e812a176ba2\",\"data\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 00:02:40 GMT\",\"application_and_account_name\":\"servicenow/servicenow-dev\",\"display_name\":\"Server\",\"fetch_time\":\"Tue, 09 Dec 2025 00:02:34 GMT\",\"first_fetch_time\":\"Mon, 14 Apr 2025 13:27:11 GMT\",\"first_seen\":\"Wed, 14 Jun 2023 10:54:10 GMT\",\"from_last_fetch\":true,\"groups\":[{\"display_name\":\"sales-group\",\"name\":\"sales-group\",\"remote_id\":\"c0d5e3a8\"}],\"has_administrative_permissions\":false,\"id\":\"ee198fc2ad0d8e96d043\",\"id_raw\":\"ba25c305-3dbd-4389-a778-a2b24ac9c021\",\"is_fetched_from_adapter\":true,\"last_fetch_connection_id\":\"67fd0999fe1c8e812a176ba2\",\"last_fetch_connection_label\":\"servicenow-dev\",\"name\":\"Server\",\"nested_applications\":[],\"nested_associated_devices\":[],\"nested_grants_last_updated\":\"Tue, 09 Dec 2025 00:09:42 GMT\",\"nested_groups\":[{\"assignment_type\":\"Direct\",\"group_name\":\"sales-group\",\"name\":\"sales-group\",\"parents\":[{\"name\":\"\",\"value\":\"\"}],\"value\":\"c0d5e3a8\"},{\"assignment_type\":\"Indirect\",\"group_name\":\"test-group\",\"name\":\"test-group\",\"parents\":[{\"name\":\"sales-group\",\"parent_type\":\"Group\",\"value\":\"c0d5e3a8\"}],\"value\":\"36ef470c\"},{\"assignment_type\":\"Indirect\",\"group_name\":\"guests\",\"name\":\"guests\",\"parents\":[{\"name\":\"sales-group\",\"parent_type\":\"Group\",\"value\":\"c0d5e3a8\"}],\"value\":\"aed2627e\"},{\"assignment_type\":\"Indirect\",\"group_name\":\"Server Operators\",\"name\":\"Server Operators\",\"parents\":[{\"name\":\"sales-group\",\"parent_type\":\"Group\",\"value\":\"c0d5e3a8\"}],\"value\":\"9ba02066\"},{\"assignment_type\":\"Indirect\",\"group_name\":\"r\\\\u0026d testing\",\"name\":\"r\\\\u0026d testing\",\"parents\":[{\"name\":\"sales-group\",\"parent_type\":\"Group\",\"value\":\"c0d5e3a8\"}],\"value\":\"714c4251\"},{\"assignment_type\":\"Indirect\",\"group_name\":\"lab production\",\"name\":\"lab production\",\"parents\":[{\"name\":\"sales-group\",\"parent_type\":\"Group\",\"value\":\"c0d5e3a8\"}],\"value\":\"26205d34\"}],\"nested_permissions\":[],\"nested_resources\":[],\"nested_roles\":[{\"assignment_type\":\"Direct\",\"name\":\"sn_dependentclient.dependentclient_user\",\"parents\":[{\"name\":\"\",\"value\":\"\"}],\"value\":\"38ceb28b936146f7acbb7438b54283fc\"},{\"assignment_type\":\"Direct\",\"name\":\"log_points\",\"parents\":[{\"name\":\"\",\"value\":\"\"}],\"value\":\"8d0a58c77a064bfd94e8ca3ee1cab36f\"},{\"assignment_type\":\"Direct\",\"name\":\"decision_table_admin\",\"parents\":[{\"name\":\"\",\"value\":\"\"}],\"value\":\"5ad93ef2d50c4fa997a72d4903271a87\"},{\"assignment_type\":\"Indirect\",\"name\":\"catalog_template_editor\",\"parents\":[{\"name\":\"sales-group\",\"parent_type\":\"Group\",\"value\":\"c0d5e3a8\"}],\"value\":\"340f6b1c033f49a9b3e2b0895f382329\"},{\"assignment_type\":\"Indirect\",\"name\":\"export_rest_api\",\"parents\":[{\"name\":\"sales-group\",\"parent_type\":\"Group\",\"value\":\"c0d5e3a8\"}],\"value\":\"c8e6c40ab18149aea54c3b5da4b1d849\"}],\"not_fetched_count\":0,\"permissions\":[],\"remote_id\":\"95c933af\",\"roles\":[{\"display_name\":\"sn_dependentclient.dependentclient_user\",\"remote_id\":\"38ceb28b936146f7acbb7438b54283fc\"},{\"display_name\":\"log_points\",\"remote_id\":\"8d0a58c77a064bfd94e8ca3ee1cab36f\"},{\"display_name\":\"decision_table_admin\",\"remote_id\":\"5ad93ef2d50c4fa997a72d4903271a87\"}],\"sm_entity_type\":\"group\",\"software_cves\":[],\"source_application\":\"ServiceNow\",\"tenant_number\":[\"2\"],\"type\":\"Groups\"},\"initial_plugin_unique_name\":\"service_now_adapter_0\",\"plugin_name\":\"service_now_adapter\",\"plugin_type\":\"Adapter\",\"plugin_unique_name\":\"service_now_adapter_0\",\"quick_id\":\"service_now_adapter_0!ee198fc2ad0d8e96d043\",\"type\":\"entitydata\"},\"internal_axon_id\":\"2285fd71b4ec307bb4054a9dc1c5aefb\"}", + "type": [ + "info" + ] + }, + "related": { + "user": [ + "Server" + ] + }, + "tags": [ + "preserve_duplicate_custom_fields" + ], + "user": { + "name": "Server", + "roles": [ + "sn_dependentclient.dependentclient_user", + "log_points", + "decision_table_admin" + ] + } + } + ] +} diff --git a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-identity-common.log b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-identity-common.log new file mode 100644 index 00000000000..363812a472c --- /dev/null +++ b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-identity-common.log @@ -0,0 +1,5 @@ +{"asset_type":"permissions","adapter_list_length":1,"adapters":["axonius_findings_adapter"],"internal_axon_id":"386843f6309d91e89a8e50ffc2e003cf","event":{"accurate_for_datetime":"Wed, 12 Nov 2025 00:02:19 GMT","action_if_exists":"update","adapter_categories":["Cloud Infra","Containers","Virtualization"],"association_type":"Tag","client_used":"67fd09bdfe1c8e812a176bbd","data":{"accurate_for_datetime":"Wed, 12 Nov 2025 00:02:19 GMT","application_and_account_name":"chef\/chef-demo","display_name":"William Mcallister","fetch_time":"Wed, 12 Nov 2025 00:02:18 GMT","first_fetch_time":"Wed, 12 Nov 2025 00:02:18 GMT","from_last_fetch":true,"groups":[{"display_name":"developers-group","name":"developers-group","remote_id":"a3e70162"}],"has_administrative_permissions":true,"id":"esx-monitor1871068-stg.healthcare-subsidiary.com","is_admin":false,"is_fetched_from_adapter":true,"is_managed_by_sso":false,"last_fetch_connection_id":"67fd09bdfe1c8e812a176bbd","last_fetch_connection_label":"chef-demo","nested_applications":[{"active_from_direct_adapter":true,"app_accounts":[{"name":"aws-demo"}],"app_display_name":"aws-demo","app_links":["https:\/\/impl.workday.com\/mytest"],"assignment_type":"Direct","extension_type":"User Consent","has_administrative_permissions":true,"is_deleted":true,"is_from_direct_adapter":true,"is_managed":true,"is_suspended":true,"is_unmanaged_extension":true,"is_user_external":true,"is_user_paid":false,"last_access":"Sat, 12 Apr 2025 22:59:20 GMT","last_access_count":7,"last_access_count_60_days":37,"last_access_count_90_days":67,"name":"AWS","parents":[{"name":"name1","value":"value1"}],"permissions":[{"name":"User.Read"}],"relation_direct_name":"AWS","relation_discovery_name":"relation_discovery_name","relation_extension_name":"Me\u0107kano","relation_sso_name":"Office365","source_application":"AWS","value":"AWS_67fd09ab731ccb57309230fc","vendor_category":"Other"}],"nested_associated_devices":[],"nested_grants_last_updated":"Sat, 12 Apr 2025 22:59:20 GMT","nested_groups":[{"assignment_type":"Direct","group_name":"developers-group","name":"Users","parents":[{"name":"sample_name","parent_type":"Group","value":"parents_value"}],"value":"aa8ceb7e"}],"nested_permissions":[{"assignment_type":"Direct","parents":[{"name":"parent_name","parent_type":"Group","value":"sample_value"}],"value":"User.Read"}],"nested_resources":[{"assignment_type":"Direct","name":"demo\/ml","parents":[{"name":"name2","value":"value2"}],"value":"https://axonius2-dev-ed.develop.my.salesforce.com/138/"}],"nested_roles":[{"assignment_type":"Indirect","name":"Application Administrator","parents":[{"name":"developers-group","parent_type":"Group","value":"a3e70162"}],"value":"a90eb3906d8a426d958ef805a006cdf7"}],"not_fetched_count":0,"permissions":[{"name":"User.Read"}],"pretty_id":"AX-2032710998","sm_entity_type":"saas_application","source_application":"Chef","tenant_number":["3"],"id_raw":"axonius_catalog_adapter!Zoom","name":"monitor1871068-stg","remote_id":"02A10b5B981B277a2FAd","type":"SaasApplications","operational_users_count":1,"total_users_count":1,"asset_type":"Endpoint","aws_arn":"arn:aws:iam::601111735606:role\/service-role\/aws-opsworks-cm-ec2-role","is_built_in":"true","is_privileged":"false"},"entity":"devices","hidden_for_gui":true,"initial_plugin_unique_name":"chef_adapter_0","name":"cisa_enrichment_0","plugin_name":"chef_adapter","plugin_type":"Adapter","plugin_unique_name":"chef_adapter_0","quick_id":"chef_adapter_0!esx-monitor1871068-stg.healthcare-subsidiary.com","type":"entitydata"}} +{"adapter_list_length":3,"adapters":["okta_adapter","oracle_cloud_adapter","workday_adapter"],"asset_type":"job_titles","event":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:02:17 GMT","adapter_categories":["Cloud Infra"],"client_used":"67fd09f2731ccb5730923116","data":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:02:17 GMT","application_and_account_name":"oracle cloud/oracle_cloud-demo","fetch_time":"Tue, 09 Dec 2025 00:02:13 GMT","first_fetch_time":"Mon, 14 Apr 2025 13:27:16 GMT","from_last_fetch":true,"id":"db11e404b96303faedfe","id_raw":"67fd09f2731ccb5730923116_Sales Senior Director","is_fetched_from_adapter":true,"last_fetch_connection_id":"67fd09f2731ccb5730923116","last_fetch_connection_label":"oracle_cloud-demo","name":"Sales Senior Director","not_fetched_count":0,"operational_users_count":1,"source_application":"Oracle Cloud","total_users_count":1,"type":"JobTitles"},"initial_plugin_unique_name":"oracle_cloud_adapter_0","plugin_name":"oracle_cloud_adapter","plugin_type":"Adapter","plugin_unique_name":"oracle_cloud_adapter_0","quick_id":"oracle_cloud_adapter_0!db11e404b96303faedfe","type":"entitydata"},"internal_axon_id":"c6827a92611637e89be05a32e682c95f"} +{"adapter_list_length":1,"adapters":["service_now_adapter"],"asset_type":"organizational_units","event":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:03:29 GMT","adapter_categories":["CMDB","ITAM/ITSM","Ticketing","SaaS Management"],"client_used":"67fd09aa731ccb57309230f8","data":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:03:29 GMT","application_and_account_name":"servicenow/servicenow-prod","fetch_time":"Tue, 09 Dec 2025 00:03:24 GMT","first_fetch_time":"Mon, 14 Apr 2025 13:28:25 GMT","from_last_fetch":true,"id":"20e6ecda6ecdf2a0cf90","id_raw":"67fd09aa731ccb57309230f8_Finance","is_fetched_from_adapter":true,"last_fetch_connection_id":"67fd09aa731ccb57309230f8","last_fetch_connection_label":"servicenow-prod","name":"Finance","not_fetched_count":0,"operational_users_count":86,"source_application":"ServiceNow","total_users_count":86,"type":"OrganizationalUnits"},"initial_plugin_unique_name":"service_now_adapter_0","plugin_name":"service_now_adapter","plugin_type":"Adapter","plugin_unique_name":"service_now_adapter_0","quick_id":"service_now_adapter_0!20e6ecda6ecdf2a0cf90","type":"entitydata"},"internal_axon_id":"365c146be1ec21a38d84252aef88ebef"} +{"adapter_list_length":1,"adapters":["azure_ad_adapter"],"asset_type":"permissions","event":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:01:51 GMT","adapter_categories":["Directory","IAM","SaaS Management"],"client_used":"67fd09bbfe1c8e812a176bb5","data":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:01:51 GMT","application_and_account_name":"microsoft/azure_ad-demo","fetch_time":"Tue, 09 Dec 2025 00:01:39 GMT","first_fetch_time":"Mon, 14 Apr 2025 13:26:45 GMT","from_last_fetch":true,"id":"13b8aecb3f7bc5e14876","id_raw":"Calendars.Read.Shared","is_admin":true,"is_fetched_from_adapter":true,"last_fetch_connection_id":"67fd09bbfe1c8e812a176bb5","last_fetch_connection_label":"azure_ad-demo","name":"Calendars.Read.Shared","not_fetched_count":0,"source_application":"Microsoft","type":"Permissions"},"initial_plugin_unique_name":"azure_ad_adapter_0","plugin_name":"azure_ad_adapter","plugin_type":"Adapter","plugin_unique_name":"azure_ad_adapter_0","quick_id":"azure_ad_adapter_0!13b8aecb3f7bc5e14876","type":"entitydata"},"internal_axon_id":"d5c35a74659f99ac755bd4c7a43e809d"} +{"adapter_list_length":1,"adapters":["service_now_adapter"],"asset_type":"security_roles","event":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:03:27 GMT","adapter_categories":["CMDB","ITAM/ITSM","Ticketing","SaaS Management"],"client_used":"67fd09aa731ccb57309230f8","data":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:03:27 GMT","application_and_account_name":"servicenow/servicenow-prod","description":"Allows access to the REST endpoints for Performance Dashboards data.","display_name":"pdb_user","fetch_time":"Tue, 09 Dec 2025 00:03:21 GMT","first_fetch_time":"Mon, 14 Apr 2025 13:28:22 GMT","from_last_fetch":true,"id":"5fd90eca19122eb8384b","id_raw":"900ea76192fd44f7b8ac76334115c835","is_admin":false,"is_fetched_from_adapter":true,"last_fetch_connection_id":"67fd09aa731ccb57309230f8","last_fetch_connection_label":"servicenow-prod","name":"pdb_user","not_fetched_count":0,"permissions":[],"sm_entity_type":"security_role","software_cves":[],"source_application":"ServiceNow","tenant_number":["3"],"type":"SecurityRoles"},"initial_plugin_unique_name":"service_now_adapter_0","plugin_name":"service_now_adapter","plugin_type":"Adapter","plugin_unique_name":"service_now_adapter_0","quick_id":"service_now_adapter_0!5fd90eca19122eb8384b","type":"entitydata"},"internal_axon_id":"30c4b7337f11c79ba953655eab05591e"} diff --git a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-identity-common.log-expected.json b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-identity-common.log-expected.json new file mode 100644 index 00000000000..427734d34c8 --- /dev/null +++ b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-identity-common.log-expected.json @@ -0,0 +1,470 @@ +{ + "expected": [ + { + "@timestamp": "2025-11-12T00:02:19.000Z", + "axonius": { + "identity": { + "adapter_list_length": 1, + "adapters": [ + "axonius_findings_adapter" + ], + "asset_type": "permissions", + "event": { + "accurate_for_datetime": "2025-11-12T00:02:19.000Z", + "action_if_exists": "update", + "adapter_categories": [ + "Cloud Infra", + "Containers", + "Virtualization" + ], + "association_type": "Tag", + "client_used": "67fd09bdfe1c8e812a176bbd", + "data": { + "accurate_for_datetime": "2025-11-12T00:02:19.000Z", + "application_and_account_name": "chef/chef-demo", + "asset_type": "Endpoint", + "aws_arn": "arn:aws:iam::601111735606:role/service-role/aws-opsworks-cm-ec2-role", + "display_name": "William Mcallister", + "fetch_time": "2025-11-12T00:02:18.000Z", + "first_fetch_time": "2025-11-12T00:02:18.000Z", + "from_last_fetch": true, + "groups": [ + { + "display_name": "developers-group", + "name": "developers-group", + "remote_id": "a3e70162" + } + ], + "has_administrative_permissions": true, + "id": "esx-monitor1871068-stg.healthcare-subsidiary.com", + "id_raw": "axonius_catalog_adapter!Zoom", + "is_admin": false, + "is_built_in": true, + "is_fetched_from_adapter": true, + "is_managed_by_sso": false, + "is_privileged": false, + "last_fetch_connection_id": "67fd09bdfe1c8e812a176bbd", + "last_fetch_connection_label": "chef-demo", + "name": "monitor1871068-stg", + "nested_applications": [ + { + "active_from_direct_adapter": true, + "app_accounts": [ + { + "name": "aws-demo" + } + ], + "app_display_name": "aws-demo", + "app_links": [ + "https://impl.workday.com/mytest" + ], + "assignment_type": "Direct", + "extension_type": "User Consent", + "has_administrative_permissions": true, + "is_deleted": true, + "is_from_direct_adapter": true, + "is_managed": true, + "is_suspended": true, + "is_unmanaged_extension": true, + "is_user_external": true, + "is_user_paid": false, + "last_access": "2025-04-12T22:59:20.000Z", + "last_access_count": 7, + "last_access_count_60_days": 37, + "last_access_count_90_days": 67, + "name": "AWS", + "parents": [ + { + "name": "name1", + "value": "value1" + } + ], + "permissions": [ + { + "name": "User.Read" + } + ], + "relation_direct_name": "AWS", + "relation_discovery_name": "relation_discovery_name", + "relation_extension_name": "Mećkano", + "relation_sso_name": "Office365", + "source_application": "AWS", + "value": "AWS_67fd09ab731ccb57309230fc", + "vendor_category": "Other" + } + ], + "nested_grants_last_updated": "2025-04-12T22:59:20.000Z", + "nested_groups": [ + { + "assignment_type": "Direct", + "group_name": "developers-group", + "name": "Users", + "parents": [ + { + "name": "sample_name", + "parent_type": "Group", + "value": "parents_value" + } + ], + "value": "aa8ceb7e" + } + ], + "nested_permissions": [ + { + "assignment_type": "Direct", + "parents": [ + { + "name": "parent_name", + "parent_type": "Group", + "value": "sample_value" + } + ], + "value": "User.Read" + } + ], + "nested_resources": [ + { + "assignment_type": "Direct", + "name": "demo/ml", + "parents": [ + { + "name": "name2", + "value": "value2" + } + ], + "value": "https://axonius2-dev-ed.develop.my.salesforce.com/138/" + } + ], + "nested_roles": [ + { + "assignment_type": "Indirect", + "name": "Application Administrator", + "parents": [ + { + "name": "developers-group", + "parent_type": "Group", + "value": "a3e70162" + } + ], + "value": "a90eb3906d8a426d958ef805a006cdf7" + } + ], + "not_fetched_count": 0, + "operational_users_count": 1, + "permissions": [ + { + "name": "User.Read" + } + ], + "pretty_id": "AX-2032710998", + "remote_id": "02A10b5B981B277a2FAd", + "sm_entity_type": "saas_application", + "source_application": "Chef", + "tenant_number": [ + "3" + ], + "total_users_count": 1, + "type": "SaasApplications" + }, + "entity": "devices", + "hidden_for_gui": true, + "initial_plugin_unique_name": "chef_adapter_0", + "name": "cisa_enrichment_0", + "plugin_name": "chef_adapter", + "plugin_type": "Adapter", + "plugin_unique_name": "chef_adapter_0", + "quick_id": "chef_adapter_0!esx-monitor1871068-stg.healthcare-subsidiary.com", + "type": "entitydata" + }, + "internal_axon_id": "386843f6309d91e89a8e50ffc2e003cf" + } + }, + "ecs": { + "version": "9.2.0" + }, + "event": { + "action": "update", + "category": [ + "iam" + ], + "kind": "event", + "original": "{\"asset_type\":\"permissions\",\"adapter_list_length\":1,\"adapters\":[\"axonius_findings_adapter\"],\"internal_axon_id\":\"386843f6309d91e89a8e50ffc2e003cf\",\"event\":{\"accurate_for_datetime\":\"Wed, 12 Nov 2025 00:02:19 GMT\",\"action_if_exists\":\"update\",\"adapter_categories\":[\"Cloud Infra\",\"Containers\",\"Virtualization\"],\"association_type\":\"Tag\",\"client_used\":\"67fd09bdfe1c8e812a176bbd\",\"data\":{\"accurate_for_datetime\":\"Wed, 12 Nov 2025 00:02:19 GMT\",\"application_and_account_name\":\"chef\\/chef-demo\",\"display_name\":\"William Mcallister\",\"fetch_time\":\"Wed, 12 Nov 2025 00:02:18 GMT\",\"first_fetch_time\":\"Wed, 12 Nov 2025 00:02:18 GMT\",\"from_last_fetch\":true,\"groups\":[{\"display_name\":\"developers-group\",\"name\":\"developers-group\",\"remote_id\":\"a3e70162\"}],\"has_administrative_permissions\":true,\"id\":\"esx-monitor1871068-stg.healthcare-subsidiary.com\",\"is_admin\":false,\"is_fetched_from_adapter\":true,\"is_managed_by_sso\":false,\"last_fetch_connection_id\":\"67fd09bdfe1c8e812a176bbd\",\"last_fetch_connection_label\":\"chef-demo\",\"nested_applications\":[{\"active_from_direct_adapter\":true,\"app_accounts\":[{\"name\":\"aws-demo\"}],\"app_display_name\":\"aws-demo\",\"app_links\":[\"https:\\/\\/impl.workday.com\\/mytest\"],\"assignment_type\":\"Direct\",\"extension_type\":\"User Consent\",\"has_administrative_permissions\":true,\"is_deleted\":true,\"is_from_direct_adapter\":true,\"is_managed\":true,\"is_suspended\":true,\"is_unmanaged_extension\":true,\"is_user_external\":true,\"is_user_paid\":false,\"last_access\":\"Sat, 12 Apr 2025 22:59:20 GMT\",\"last_access_count\":7,\"last_access_count_60_days\":37,\"last_access_count_90_days\":67,\"name\":\"AWS\",\"parents\":[{\"name\":\"name1\",\"value\":\"value1\"}],\"permissions\":[{\"name\":\"User.Read\"}],\"relation_direct_name\":\"AWS\",\"relation_discovery_name\":\"relation_discovery_name\",\"relation_extension_name\":\"Me\\u0107kano\",\"relation_sso_name\":\"Office365\",\"source_application\":\"AWS\",\"value\":\"AWS_67fd09ab731ccb57309230fc\",\"vendor_category\":\"Other\"}],\"nested_associated_devices\":[],\"nested_grants_last_updated\":\"Sat, 12 Apr 2025 22:59:20 GMT\",\"nested_groups\":[{\"assignment_type\":\"Direct\",\"group_name\":\"developers-group\",\"name\":\"Users\",\"parents\":[{\"name\":\"sample_name\",\"parent_type\":\"Group\",\"value\":\"parents_value\"}],\"value\":\"aa8ceb7e\"}],\"nested_permissions\":[{\"assignment_type\":\"Direct\",\"parents\":[{\"name\":\"parent_name\",\"parent_type\":\"Group\",\"value\":\"sample_value\"}],\"value\":\"User.Read\"}],\"nested_resources\":[{\"assignment_type\":\"Direct\",\"name\":\"demo\\/ml\",\"parents\":[{\"name\":\"name2\",\"value\":\"value2\"}],\"value\":\"https://axonius2-dev-ed.develop.my.salesforce.com/138/\"}],\"nested_roles\":[{\"assignment_type\":\"Indirect\",\"name\":\"Application Administrator\",\"parents\":[{\"name\":\"developers-group\",\"parent_type\":\"Group\",\"value\":\"a3e70162\"}],\"value\":\"a90eb3906d8a426d958ef805a006cdf7\"}],\"not_fetched_count\":0,\"permissions\":[{\"name\":\"User.Read\"}],\"pretty_id\":\"AX-2032710998\",\"sm_entity_type\":\"saas_application\",\"source_application\":\"Chef\",\"tenant_number\":[\"3\"],\"id_raw\":\"axonius_catalog_adapter!Zoom\",\"name\":\"monitor1871068-stg\",\"remote_id\":\"02A10b5B981B277a2FAd\",\"type\":\"SaasApplications\",\"operational_users_count\":1,\"total_users_count\":1,\"asset_type\":\"Endpoint\",\"aws_arn\":\"arn:aws:iam::601111735606:role\\/service-role\\/aws-opsworks-cm-ec2-role\",\"is_built_in\":\"true\",\"is_privileged\":\"false\"},\"entity\":\"devices\",\"hidden_for_gui\":true,\"initial_plugin_unique_name\":\"chef_adapter_0\",\"name\":\"cisa_enrichment_0\",\"plugin_name\":\"chef_adapter\",\"plugin_type\":\"Adapter\",\"plugin_unique_name\":\"chef_adapter_0\",\"quick_id\":\"chef_adapter_0!esx-monitor1871068-stg.healthcare-subsidiary.com\",\"type\":\"entitydata\"}}", + "type": [ + "info" + ] + }, + "related": { + "user": [ + "William Mcallister" + ] + }, + "tags": [ + "preserve_duplicate_custom_fields" + ], + "user": { + "name": "William Mcallister" + } + }, + { + "@timestamp": "2025-12-09T00:02:17.000Z", + "axonius": { + "identity": { + "adapter_list_length": 3, + "adapters": [ + "okta_adapter", + "oracle_cloud_adapter", + "workday_adapter" + ], + "asset_type": "job_titles", + "event": { + "accurate_for_datetime": "2025-12-09T00:02:17.000Z", + "adapter_categories": [ + "Cloud Infra" + ], + "client_used": "67fd09f2731ccb5730923116", + "data": { + "accurate_for_datetime": "2025-12-09T00:02:17.000Z", + "application_and_account_name": "oracle cloud/oracle_cloud-demo", + "fetch_time": "2025-12-09T00:02:13.000Z", + "first_fetch_time": "2025-04-14T13:27:16.000Z", + "from_last_fetch": true, + "id": "db11e404b96303faedfe", + "id_raw": "67fd09f2731ccb5730923116_Sales Senior Director", + "is_fetched_from_adapter": true, + "last_fetch_connection_id": "67fd09f2731ccb5730923116", + "last_fetch_connection_label": "oracle_cloud-demo", + "name": "Sales Senior Director", + "not_fetched_count": 0, + "operational_users_count": 1, + "source_application": "Oracle Cloud", + "total_users_count": 1, + "type": "JobTitles" + }, + "initial_plugin_unique_name": "oracle_cloud_adapter_0", + "plugin_name": "oracle_cloud_adapter", + "plugin_type": "Adapter", + "plugin_unique_name": "oracle_cloud_adapter_0", + "quick_id": "oracle_cloud_adapter_0!db11e404b96303faedfe", + "type": "entitydata" + }, + "internal_axon_id": "c6827a92611637e89be05a32e682c95f" + } + }, + "ecs": { + "version": "9.2.0" + }, + "event": { + "category": [ + "iam" + ], + "kind": "event", + "original": "{\"adapter_list_length\":3,\"adapters\":[\"okta_adapter\",\"oracle_cloud_adapter\",\"workday_adapter\"],\"asset_type\":\"job_titles\",\"event\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 00:02:17 GMT\",\"adapter_categories\":[\"Cloud Infra\"],\"client_used\":\"67fd09f2731ccb5730923116\",\"data\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 00:02:17 GMT\",\"application_and_account_name\":\"oracle cloud/oracle_cloud-demo\",\"fetch_time\":\"Tue, 09 Dec 2025 00:02:13 GMT\",\"first_fetch_time\":\"Mon, 14 Apr 2025 13:27:16 GMT\",\"from_last_fetch\":true,\"id\":\"db11e404b96303faedfe\",\"id_raw\":\"67fd09f2731ccb5730923116_Sales Senior Director\",\"is_fetched_from_adapter\":true,\"last_fetch_connection_id\":\"67fd09f2731ccb5730923116\",\"last_fetch_connection_label\":\"oracle_cloud-demo\",\"name\":\"Sales Senior Director\",\"not_fetched_count\":0,\"operational_users_count\":1,\"source_application\":\"Oracle Cloud\",\"total_users_count\":1,\"type\":\"JobTitles\"},\"initial_plugin_unique_name\":\"oracle_cloud_adapter_0\",\"plugin_name\":\"oracle_cloud_adapter\",\"plugin_type\":\"Adapter\",\"plugin_unique_name\":\"oracle_cloud_adapter_0\",\"quick_id\":\"oracle_cloud_adapter_0!db11e404b96303faedfe\",\"type\":\"entitydata\"},\"internal_axon_id\":\"c6827a92611637e89be05a32e682c95f\"}", + "type": [ + "info" + ] + }, + "tags": [ + "preserve_duplicate_custom_fields" + ] + }, + { + "@timestamp": "2025-12-09T00:03:29.000Z", + "axonius": { + "identity": { + "adapter_list_length": 1, + "adapters": [ + "service_now_adapter" + ], + "asset_type": "organizational_units", + "event": { + "accurate_for_datetime": "2025-12-09T00:03:29.000Z", + "adapter_categories": [ + "CMDB", + "ITAM/ITSM", + "Ticketing", + "SaaS Management" + ], + "client_used": "67fd09aa731ccb57309230f8", + "data": { + "accurate_for_datetime": "2025-12-09T00:03:29.000Z", + "application_and_account_name": "servicenow/servicenow-prod", + "fetch_time": "2025-12-09T00:03:24.000Z", + "first_fetch_time": "2025-04-14T13:28:25.000Z", + "from_last_fetch": true, + "id": "20e6ecda6ecdf2a0cf90", + "id_raw": "67fd09aa731ccb57309230f8_Finance", + "is_fetched_from_adapter": true, + "last_fetch_connection_id": "67fd09aa731ccb57309230f8", + "last_fetch_connection_label": "servicenow-prod", + "name": "Finance", + "not_fetched_count": 0, + "operational_users_count": 86, + "source_application": "ServiceNow", + "total_users_count": 86, + "type": "OrganizationalUnits" + }, + "initial_plugin_unique_name": "service_now_adapter_0", + "plugin_name": "service_now_adapter", + "plugin_type": "Adapter", + "plugin_unique_name": "service_now_adapter_0", + "quick_id": "service_now_adapter_0!20e6ecda6ecdf2a0cf90", + "type": "entitydata" + }, + "internal_axon_id": "365c146be1ec21a38d84252aef88ebef" + } + }, + "ecs": { + "version": "9.2.0" + }, + "event": { + "category": [ + "iam" + ], + "kind": "event", + "original": "{\"adapter_list_length\":1,\"adapters\":[\"service_now_adapter\"],\"asset_type\":\"organizational_units\",\"event\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 00:03:29 GMT\",\"adapter_categories\":[\"CMDB\",\"ITAM/ITSM\",\"Ticketing\",\"SaaS Management\"],\"client_used\":\"67fd09aa731ccb57309230f8\",\"data\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 00:03:29 GMT\",\"application_and_account_name\":\"servicenow/servicenow-prod\",\"fetch_time\":\"Tue, 09 Dec 2025 00:03:24 GMT\",\"first_fetch_time\":\"Mon, 14 Apr 2025 13:28:25 GMT\",\"from_last_fetch\":true,\"id\":\"20e6ecda6ecdf2a0cf90\",\"id_raw\":\"67fd09aa731ccb57309230f8_Finance\",\"is_fetched_from_adapter\":true,\"last_fetch_connection_id\":\"67fd09aa731ccb57309230f8\",\"last_fetch_connection_label\":\"servicenow-prod\",\"name\":\"Finance\",\"not_fetched_count\":0,\"operational_users_count\":86,\"source_application\":\"ServiceNow\",\"total_users_count\":86,\"type\":\"OrganizationalUnits\"},\"initial_plugin_unique_name\":\"service_now_adapter_0\",\"plugin_name\":\"service_now_adapter\",\"plugin_type\":\"Adapter\",\"plugin_unique_name\":\"service_now_adapter_0\",\"quick_id\":\"service_now_adapter_0!20e6ecda6ecdf2a0cf90\",\"type\":\"entitydata\"},\"internal_axon_id\":\"365c146be1ec21a38d84252aef88ebef\"}", + "type": [ + "info" + ] + }, + "tags": [ + "preserve_duplicate_custom_fields" + ] + }, + { + "@timestamp": "2025-12-09T00:01:51.000Z", + "axonius": { + "identity": { + "adapter_list_length": 1, + "adapters": [ + "azure_ad_adapter" + ], + "asset_type": "permissions", + "event": { + "accurate_for_datetime": "2025-12-09T00:01:51.000Z", + "adapter_categories": [ + "Directory", + "IAM", + "SaaS Management" + ], + "client_used": "67fd09bbfe1c8e812a176bb5", + "data": { + "accurate_for_datetime": "2025-12-09T00:01:51.000Z", + "application_and_account_name": "microsoft/azure_ad-demo", + "fetch_time": "2025-12-09T00:01:39.000Z", + "first_fetch_time": "2025-04-14T13:26:45.000Z", + "from_last_fetch": true, + "id": "13b8aecb3f7bc5e14876", + "id_raw": "Calendars.Read.Shared", + "is_admin": true, + "is_fetched_from_adapter": true, + "last_fetch_connection_id": "67fd09bbfe1c8e812a176bb5", + "last_fetch_connection_label": "azure_ad-demo", + "name": "Calendars.Read.Shared", + "not_fetched_count": 0, + "source_application": "Microsoft", + "type": "Permissions" + }, + "initial_plugin_unique_name": "azure_ad_adapter_0", + "plugin_name": "azure_ad_adapter", + "plugin_type": "Adapter", + "plugin_unique_name": "azure_ad_adapter_0", + "quick_id": "azure_ad_adapter_0!13b8aecb3f7bc5e14876", + "type": "entitydata" + }, + "internal_axon_id": "d5c35a74659f99ac755bd4c7a43e809d" + } + }, + "ecs": { + "version": "9.2.0" + }, + "event": { + "category": [ + "iam" + ], + "kind": "event", + "original": "{\"adapter_list_length\":1,\"adapters\":[\"azure_ad_adapter\"],\"asset_type\":\"permissions\",\"event\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 00:01:51 GMT\",\"adapter_categories\":[\"Directory\",\"IAM\",\"SaaS Management\"],\"client_used\":\"67fd09bbfe1c8e812a176bb5\",\"data\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 00:01:51 GMT\",\"application_and_account_name\":\"microsoft/azure_ad-demo\",\"fetch_time\":\"Tue, 09 Dec 2025 00:01:39 GMT\",\"first_fetch_time\":\"Mon, 14 Apr 2025 13:26:45 GMT\",\"from_last_fetch\":true,\"id\":\"13b8aecb3f7bc5e14876\",\"id_raw\":\"Calendars.Read.Shared\",\"is_admin\":true,\"is_fetched_from_adapter\":true,\"last_fetch_connection_id\":\"67fd09bbfe1c8e812a176bb5\",\"last_fetch_connection_label\":\"azure_ad-demo\",\"name\":\"Calendars.Read.Shared\",\"not_fetched_count\":0,\"source_application\":\"Microsoft\",\"type\":\"Permissions\"},\"initial_plugin_unique_name\":\"azure_ad_adapter_0\",\"plugin_name\":\"azure_ad_adapter\",\"plugin_type\":\"Adapter\",\"plugin_unique_name\":\"azure_ad_adapter_0\",\"quick_id\":\"azure_ad_adapter_0!13b8aecb3f7bc5e14876\",\"type\":\"entitydata\"},\"internal_axon_id\":\"d5c35a74659f99ac755bd4c7a43e809d\"}", + "type": [ + "info" + ] + }, + "tags": [ + "preserve_duplicate_custom_fields" + ] + }, + { + "@timestamp": "2025-12-09T00:03:27.000Z", + "axonius": { + "identity": { + "adapter_list_length": 1, + "adapters": [ + "service_now_adapter" + ], + "asset_type": "security_roles", + "event": { + "accurate_for_datetime": "2025-12-09T00:03:27.000Z", + "adapter_categories": [ + "CMDB", + "ITAM/ITSM", + "Ticketing", + "SaaS Management" + ], + "client_used": "67fd09aa731ccb57309230f8", + "data": { + "accurate_for_datetime": "2025-12-09T00:03:27.000Z", + "application_and_account_name": "servicenow/servicenow-prod", + "display_name": "pdb_user", + "fetch_time": "2025-12-09T00:03:21.000Z", + "first_fetch_time": "2025-04-14T13:28:22.000Z", + "from_last_fetch": true, + "id": "5fd90eca19122eb8384b", + "id_raw": "900ea76192fd44f7b8ac76334115c835", + "is_admin": false, + "is_fetched_from_adapter": true, + "last_fetch_connection_id": "67fd09aa731ccb57309230f8", + "last_fetch_connection_label": "servicenow-prod", + "name": "pdb_user", + "not_fetched_count": 0, + "sm_entity_type": "security_role", + "source_application": "ServiceNow", + "tenant_number": [ + "3" + ], + "type": "SecurityRoles" + }, + "initial_plugin_unique_name": "service_now_adapter_0", + "plugin_name": "service_now_adapter", + "plugin_type": "Adapter", + "plugin_unique_name": "service_now_adapter_0", + "quick_id": "service_now_adapter_0!5fd90eca19122eb8384b", + "type": "entitydata" + }, + "internal_axon_id": "30c4b7337f11c79ba953655eab05591e" + } + }, + "ecs": { + "version": "9.2.0" + }, + "event": { + "category": [ + "iam" + ], + "kind": "event", + "original": "{\"adapter_list_length\":1,\"adapters\":[\"service_now_adapter\"],\"asset_type\":\"security_roles\",\"event\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 00:03:27 GMT\",\"adapter_categories\":[\"CMDB\",\"ITAM/ITSM\",\"Ticketing\",\"SaaS Management\"],\"client_used\":\"67fd09aa731ccb57309230f8\",\"data\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 00:03:27 GMT\",\"application_and_account_name\":\"servicenow/servicenow-prod\",\"description\":\"Allows access to the REST endpoints for Performance Dashboards data.\",\"display_name\":\"pdb_user\",\"fetch_time\":\"Tue, 09 Dec 2025 00:03:21 GMT\",\"first_fetch_time\":\"Mon, 14 Apr 2025 13:28:22 GMT\",\"from_last_fetch\":true,\"id\":\"5fd90eca19122eb8384b\",\"id_raw\":\"900ea76192fd44f7b8ac76334115c835\",\"is_admin\":false,\"is_fetched_from_adapter\":true,\"last_fetch_connection_id\":\"67fd09aa731ccb57309230f8\",\"last_fetch_connection_label\":\"servicenow-prod\",\"name\":\"pdb_user\",\"not_fetched_count\":0,\"permissions\":[],\"sm_entity_type\":\"security_role\",\"software_cves\":[],\"source_application\":\"ServiceNow\",\"tenant_number\":[\"3\"],\"type\":\"SecurityRoles\"},\"initial_plugin_unique_name\":\"service_now_adapter_0\",\"plugin_name\":\"service_now_adapter\",\"plugin_type\":\"Adapter\",\"plugin_unique_name\":\"service_now_adapter_0\",\"quick_id\":\"service_now_adapter_0!5fd90eca19122eb8384b\",\"type\":\"entitydata\"},\"internal_axon_id\":\"30c4b7337f11c79ba953655eab05591e\"}", + "type": [ + "info" + ] + }, + "related": { + "user": [ + "pdb_user" + ] + }, + "tags": [ + "preserve_duplicate_custom_fields" + ], + "user": { + "name": "pdb_user" + } + } + ] +} diff --git a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-user.log b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-user.log new file mode 100644 index 00000000000..b4b9f3d9a58 --- /dev/null +++ b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-user.log @@ -0,0 +1,3 @@ +{"asset_type":"users","event":{"associated_adapter_plugin_name":"chef_adapter","data":{"account_disabled":false,"active":["sample-active-value"],"admin_roles":[{"display_name":"_SEED_ADMIN_ROLE","id":"89617862826397410"}],"associated_devices":[{"device_associated_saas_apps_names":["sample-app"],"device_caption":["sample-caption"],"device_id":["device-12345"],"device_labels":["label1"],"device_model":["sample-model"],"device_os_distribution":["Ubuntu"],"device_os_edition":["sample-edition"],"device_os_end_of_life":["2030-01-01"],"device_os_type":["Linux"],"device_os_version":["20.04"],"device_preferred_mac_address":["00:0C:29:12:52:47"],"device_serial":["SN12345678"],"internal_axon_id":["internal-axon-1"]}],"associated_employees":[{"internal_axon_id":["ax-employee-1"],"username":["employee.username@demo.local"]}],"associated_groups":[{"display_name":"Users","remote_id":"aa8ceb7e"}],"associated_licenses":[{"adapter_connection_label":["chef-demo"],"internal_axon_id":["lic-123"],"license_name":["Standard License"],"pricing_unit":["per-user"],"related_vendor_name":["VendorName"],"unit_price":["100"]}],"aws_iam_identity_type":"IAM User","azure_account_id":"c85155ee-451d-4839-ac97-b1ecad769374","breaches_data":[{"added_date":"Thu, 06 Dec 2018 19:11:27 GMT","breach_date":"Fri, 06 Dec 2018 19:11:27 GMT","data_classes":["sample-data-class"],"domain":"adapt.io","is_fabricated":false,"is_retired":false,"is_sensitive":false,"is_spam_list":false,"is_verified":true,"logo_path":"https:\/\/haveibeenpwned.com\/Content\/Images\/PwnedLogos\/List.png","modified_date":"Thu, 06 Dec 2018 19:11:27 GMT","name":"YouveBeenScraped","pwn_count":66147869,"title":"You've Been Scraped"}],"class_name":"cmdb_ci_vm","cloud_provider":"Azure","distinct_associated_devices_count":1,"email_activity":{"is_deleted":false,"product_license":"MICROSOFT FABRIC (FREE)+MICROSOFT TEAMS PHONE STANDARD+MICROSOFT DEFENDER FOR OFFICE365 (PLAN 2)+MICROSOFT 365 AUDIO CONFERENCING+ENTERPRISE MOBILITY + SECURITY E3+OFFICE365 E3+MICROSOFT 365 E3 EXTRA FEATURES","read_count":740,"receive_count":5181,"report_date":"Mon, 03 Jun 2024 00:00:00 GMT","report_period":90,"send_count":4677},"email_notification":{"alternative_host_reminder":false,"cancel_meeting_reminder":false,"jbh_reminder":true},"employee_id":"880290","employee_number":"880290","employee_type":"local","feature":{"cn_meeting":false,"in_meeting":false,"large_meeting":false,"meeting_capacity":70,"webinar":true,"zoom_phone":false},"first_name":"William","hire_date":"Wed, 12 Nov 2025 00:02:18 GMT","hr_employment_status":"Employed","in_meeting":{"allow_live_streaming":false,"annotation":false,"attendee_on_hold":true,"auto_saving_chat":false,"breakout_room":false,"chat":true,"closed_caption":true,"co_host":true,"data_center_regions":["AU","CA","CN","DE","HK","IE","IN","LA","NL","SG","TY","US"],"e2e_encryption":true,"entry_exit_chime":true,"far_end_camera_control":true,"feedback":true,"group_hd":true,"non_verbal_feedback":false,"polling":true,"private_chat":false,"record_play_voice":false,"remote_control":false,"remote_support":false,"share_dual_camera":true,"show_meeting_control_toolbar":false,"virtual_background":true,"waiting_room":false,"workplace_by_facebook":true},"internal_is_admin":false,"is_active":true,"is_delegated_admin":false,"is_from_sso_provider":true,"is_latest_last_seen":true,"is_managed_by_application":true,"is_mfa_enforced":false,"is_mfa_enrolled":true,"is_non_editable":false,"is_paid":false,"is_permission_adapter":true,"is_saas_user":true,"is_user_active":true,"is_user_deleted":true,"is_user_external":true,"is_user_inactive":false,"is_user_suspended":true,"last_client_version":"5.10.7.7748(mac)","last_login_attempt":"Wed, 12 Nov 2025 00:02:18 GMT","last_logon":"Wed, 12 Nov 2025 00:02:18 GMT","last_name":"Mcallister","last_password_change":"Wed, 12 Nov 2025 00:02:18 GMT","last_seen":"Wed, 12 Nov 2025 00:02:18 GMT","mail":"william.mcallister@demo.local","manager_id":"yvonne.gordon@demo.local","max_added_date":"Sat, 12 Apr 2025 22:59:20 GMT","max_breach_date":"Sat, 12 Apr 2025 22:59:20 GMT","max_modified_date":"Sat, 12 Apr 2025 22:59:20 GMT","nested_grants_managers_last_updated":"Sat, 12 Apr 2025 22:59:20 GMT","nested_managers":[{"assignment_type":"Direct","parents":[{"name":"pname1","parent_type":"User","value":"pvalue1"}],"value":"yvonne.gordon@demo.local"}],"nested_permissions":[{"has_administrative_permissions":true,"is_admin":true}],"oracle_cloud_cis_incompliant":[{"rule_cis_version":1,"rule_section":"1.11"}],"password_never_expires":false,"password_not_required":false,"pmi":4279269702,"provider_name":"OKTA","provider_type":"OKTA","recording":true,"recording_settings":{"auto_delete_cmr":false,"auto_delete_cmr_days":true,"auto_recording":true,"cloud_recording":false,"host_pause_stop_recording":false,"local_recording":true,"record_audio_file":true,"record_gallery_view":true,"record_speaker_view":true,"recording_audio_transcript":true,"save_chat_text":false,"show_timestamp":true},"recovery_question_set":false,"schedule_meeting":{"audio_type":"both","force_pmi_jbh_password":true,"host_video":false,"join_before_host":true,"participants_video":false,"pstn_password_protected":false,"require_password_for_instant_meetings":false,"require_password_for_pmi_meetings":true,"require_password_for_scheduled_meetings":true,"require_password_for_scheduling_new_meetings":false,"use_pmi_for_instant_meetings":true,"use_pmi_for_scheduled_meetings":true},"shirt_size":"M","snow_full_name":"William Mcallister","snow_location":"Seattle","status_changed":"Sun, 13 Apr 2025 00:29:22 GMT","telephony":{"show_international_numbers_link":true,"third_party_audio":true},"timezone":"Asia\/Shanghai","tsp":{"call_out":true,"show_international_numbers_link":true},"u_department":"R&D","u_vip":false,"updated_on":"Sun, 13 Apr 2025 00:29:22 GMT","user_apps":[{"active_from_direct_adapter":true,"app_accounts":[{"name":"aws-demo"}],"app_display_name":"aws-demo","app_id":"AWS_67fd09ab731ccb57309230fc","app_links":["https:\/\/demo.my.salesforce.com?so=00C4G0000005h79"],"app_name":"AWS","extension_type":"User Consent","is_from_direct_adapter":true,"is_managed":true,"is_saas_application":true,"is_unmanaged_extension":true,"is_user_deleted":true,"is_user_external":true,"is_user_paid":false,"is_user_suspended":true,"last_access":"Sun, 13 Apr 2025 00:29:22 GMT","permissions":[{"name":"User.Read"}],"relation_direct_name":"AWS","relation_discovery_name":"relation_discovery_name1","relation_extension_name":"Me\u0107kano","relation_sso_name":"Office365","source_application":"AWS","vendor_category":"Other"}],"user_country":"United States","user_created":"Sun, 13 Apr 2025 00:29:22 GMT","user_department":"R&D","user_factors":[{"created":"Sun, 13 Apr 2025 00:29:22 GMT","factor_status":"ACTIVE","factor_type":"Push Notifications","is_enabled":true,"last_updated":"Sun, 13 Apr 2025 00:29:22 GMT","name":"user_factor_name1","provider":"OKTA","strength":"Strong","vendor_name":"OKTA"}],"user_full_name":"William Mcallister","user_is_password_enabled":false,"user_manager":"yvonne.gordon@demo.local","user_manager_mail":"yvonne.gordon@demo.local","user_pass_last_used":"Sun, 13 Apr 2025 00:29:22 GMT","user_path":"\/","user_permissions":[{"is_admin":true,"name":"User.Read"}],"user_related_resources":[{"id":185980621,"name":"demo\/ml","type":"repository"}],"user_remote_id":"c36808f9-305b-4e92-acfb-dfabfc2f0cb3","user_sid":"william.mcallister@demo.local@demo.local","user_status":"SUSPENDED","user_telephone_number":"-6733","user_title":"R&D Engineer","user_type":"Guest","username":"william.mcallister@demo.local","verified":true}}} +{"adapter_list_length":2,"adapters":["active_directory_adapter","azure_ad_adapter"],"asset_type":"users","event":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:09:44 GMT","action_if_exists":"update","associated_adapters":[],"association_type":"Tag","data":{"associated_employees":[{"internal_axon_id":["762427561140fc5497b0d9007d922c57"],"username":["jessica.stowell@demo.local"]},{"internal_axon_id":["aeb3a136070d4e24452148cf1ef65d0c"],"username":["omar.caudill@demo.local"]},{"internal_axon_id":["400aaffbddcf2e13e366090dd03b6825"],"username":["donald.bouyer@demo.local"]},{"internal_axon_id":["d3cadc6e64a03bcc4f4be877d5fc8477"],"username":["david.plummer@demo.local"]},{"internal_axon_id":["4c884d940f167756a36c65e7814f5207"],"username":["greg.trujillo@demo.local"]},{"internal_axon_id":["428b88be91c19776323838324dbf94fb"],"username":["guillermo.krause@demo.local"]}]},"entity":"users","hidden_for_gui":true,"name":"static_analysis_0_associated_employees","plugin_name":"static_analysis","plugin_unique_name":"static_analysis_0_associated_employees","type":"adapterdata"},"internal_axon_id":"d6c6f476f36f29a1bd29e99f30a293ac"} +{"adapter_list_length":7,"adapters":["google_mdm_adapter","okta_adapter","service_now_adapter","slack_adapter","tenable_io_adapter","workday_adapter","zoom_adapter"],"asset_type":"users","event":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:09:44 GMT","action_if_exists":"update","associated_adapters":[],"association_type":"Tag","data":{"associated_employees":[{"internal_axon_id":["c0c9e1b4bc17295912be5cc2ce43ff1f"],"username":["clyde.bejaran@demo.local"]}]},"entity":"users","hidden_for_gui":true,"name":"static_analysis_0_associated_employees","plugin_name":"static_analysis","plugin_unique_name":"static_analysis_0_associated_employees","type":"adapterdata"},"internal_axon_id":"e2078572d687b8d1461d7c5878ebddf9"} diff --git a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-user.log-expected.json b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-user.log-expected.json new file mode 100644 index 00000000000..4d6c9d90bd5 --- /dev/null +++ b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-user.log-expected.json @@ -0,0 +1,603 @@ +{ + "expected": [ + { + "axonius": { + "identity": { + "asset_type": "users", + "event": { + "associated_adapter_plugin_name": "chef_adapter", + "data": { + "account_disabled": false, + "active": [ + "sample-active-value" + ], + "admin_roles": [ + { + "display_name": "_SEED_ADMIN_ROLE", + "id": "89617862826397410" + } + ], + "associated_devices": [ + { + "device_associated_saas_apps_names": [ + "sample-app" + ], + "device_caption": [ + "sample-caption" + ], + "device_id": [ + "device-12345" + ], + "device_labels": [ + "label1" + ], + "device_model": [ + "sample-model" + ], + "device_os_distribution": [ + "Ubuntu" + ], + "device_os_edition": [ + "sample-edition" + ], + "device_os_end_of_life": [ + "2030-01-01" + ], + "device_os_type": [ + "Linux" + ], + "device_os_version": [ + "20.04" + ], + "device_preferred_mac_address": [ + "00-0C-29-12-52-47" + ], + "device_serial": [ + "SN12345678" + ], + "internal_axon_id": [ + "internal-axon-1" + ] + } + ], + "associated_employees": [ + { + "internal_axon_id": [ + "ax-employee-1" + ], + "username": [ + "employee.username@demo.local" + ] + } + ], + "associated_groups": [ + { + "display_name": "Users", + "remote_id": "aa8ceb7e" + } + ], + "associated_licenses": [ + { + "adapter_connection_label": [ + "chef-demo" + ], + "internal_axon_id": [ + "lic-123" + ], + "license_name": [ + "Standard License" + ], + "pricing_unit": [ + "per-user" + ], + "related_vendor_name": [ + "VendorName" + ], + "unit_price": [ + "100" + ] + } + ], + "aws_iam_identity_type": "IAM User", + "azure_account_id": "c85155ee-451d-4839-ac97-b1ecad769374", + "breaches_data": [ + { + "added_date": "2018-12-06T19:11:27.000Z", + "breach_date": "2018-12-06T19:11:27.000Z", + "data_classes": [ + "sample-data-class" + ], + "domain": "adapt.io", + "is_fabricated": false, + "is_retired": false, + "is_sensitive": false, + "is_spam_list": false, + "is_verified": true, + "logo_path": "https://haveibeenpwned.com/Content/Images/PwnedLogos/List.png", + "modified_date": "2018-12-06T19:11:27.000Z", + "name": "YouveBeenScraped", + "pwn_count": 66147869, + "title": "You've Been Scraped" + } + ], + "class_name": "cmdb_ci_vm", + "cloud_provider": "Azure", + "distinct_associated_devices_count": 1, + "email_activity": { + "is_deleted": false, + "product_license": "MICROSOFT FABRIC (FREE)+MICROSOFT TEAMS PHONE STANDARD+MICROSOFT DEFENDER FOR OFFICE365 (PLAN 2)+MICROSOFT 365 AUDIO CONFERENCING+ENTERPRISE MOBILITY + SECURITY E3+OFFICE365 E3+MICROSOFT 365 E3 EXTRA FEATURES", + "read_count": 740, + "receive_count": 5181, + "report_date": "2024-06-03T00:00:00.000Z", + "report_period": 90, + "send_count": 4677 + }, + "email_notification": { + "alternative_host_reminder": false, + "cancel_meeting_reminder": false, + "jbh_reminder": true + }, + "employee_id": "880290", + "employee_number": "880290", + "employee_type": "local", + "feature": { + "cn_meeting": false, + "in_meeting": false, + "large_meeting": false, + "meeting_capacity": 70, + "webinar": true, + "zoom_phone": false + }, + "first_name": "William", + "hire_date": "2025-11-12T00:02:18.000Z", + "hr_employment_status": "Employed", + "in_meeting": { + "allow_live_streaming": false, + "annotation": false, + "attendee_on_hold": true, + "auto_saving_chat": false, + "breakout_room": false, + "chat": true, + "closed_caption": true, + "co_host": true, + "data_center_regions": [ + "AU", + "CA", + "CN", + "DE", + "HK", + "IE", + "IN", + "LA", + "NL", + "SG", + "TY", + "US" + ], + "e2e_encryption": true, + "entry_exit_chime": true, + "far_end_camera_control": true, + "feedback": true, + "group_hd": true, + "non_verbal_feedback": false, + "polling": true, + "private_chat": false, + "record_play_voice": false, + "remote_control": false, + "remote_support": false, + "share_dual_camera": true, + "show_meeting_control_toolbar": false, + "virtual_background": true, + "waiting_room": false, + "workplace_by_facebook": true + }, + "internal_is_admin": false, + "is_active": true, + "is_delegated_admin": false, + "is_from_sso_provider": true, + "is_latest_last_seen": true, + "is_managed_by_application": true, + "is_mfa_enforced": false, + "is_mfa_enrolled": true, + "is_non_editable": false, + "is_paid": false, + "is_permission_adapter": true, + "is_saas_user": true, + "is_user_active": true, + "is_user_deleted": true, + "is_user_external": true, + "is_user_inactive": false, + "is_user_suspended": true, + "last_client_version": "5.10.7.7748(mac)", + "last_login_attempt": "2025-11-12T00:02:18.000Z", + "last_logon": "2025-11-12T00:02:18.000Z", + "last_name": "Mcallister", + "last_password_change": "2025-11-12T00:02:18.000Z", + "last_seen": "2025-11-12T00:02:18.000Z", + "mail": "william.mcallister@demo.local", + "manager_id": "yvonne.gordon@demo.local", + "max_added_date": "2025-04-12T22:59:20.000Z", + "max_breach_date": "2025-04-12T22:59:20.000Z", + "max_modified_date": "2025-04-12T22:59:20.000Z", + "nested_grants_managers_last_updated": "2025-04-12T22:59:20.000Z", + "nested_managers": [ + { + "assignment_type": "Direct", + "parents": [ + { + "name": "pname1", + "parent_type": "User", + "value": "pvalue1" + } + ], + "value": "yvonne.gordon@demo.local" + } + ], + "nested_permissions": [ + { + "has_administrative_permissions": true, + "is_admin": true + } + ], + "oracle_cloud_cis_incompliant": [ + { + "rule_cis_version": 1.0, + "rule_section": 1.11 + } + ], + "password_never_expires": false, + "password_not_required": false, + "pmi": "4279269702", + "provider_name": "OKTA", + "provider_type": "OKTA", + "recovery_question_set": false, + "schedule_meeting": { + "audio_type": "both", + "force_pmi_jbh_password": true, + "host_video": false, + "join_before_host": true, + "participants_video": false, + "pstn_password_protected": false, + "require_password_for_instant_meetings": false, + "require_password_for_pmi_meetings": true, + "require_password_for_scheduled_meetings": true, + "require_password_for_scheduling_new_meetings": false, + "use_pmi_for_instant_meetings": true, + "use_pmi_for_scheduled_meetings": true + }, + "shirt_size": "M", + "snow_full_name": "William Mcallister", + "snow_location": "Seattle", + "status_changed": "2025-04-13T00:29:22.000Z", + "telephony": { + "show_international_numbers_link": true, + "third_party_audio": true + }, + "timezone": "Asia/Shanghai", + "tsp": { + "call_out": true, + "show_international_numbers_link": true + }, + "u_department": "R&D", + "u_vip": false, + "updated_on": "2025-04-13T00:29:22.000Z", + "user_apps": [ + { + "active_from_direct_adapter": true, + "app_accounts": [ + { + "name": "aws-demo" + } + ], + "app_display_name": "aws-demo", + "app_id": "AWS_67fd09ab731ccb57309230fc", + "app_links": [ + "https://demo.my.salesforce.com?so=00C4G0000005h79" + ], + "app_name": "AWS", + "extension_type": "User Consent", + "is_from_direct_adapter": true, + "is_managed": true, + "is_saas_application": true, + "is_unmanaged_extension": true, + "is_user_deleted": true, + "is_user_external": true, + "is_user_paid": false, + "is_user_suspended": true, + "last_access": "2025-04-13T00:29:22.000Z", + "permissions": [ + { + "name": "User.Read" + } + ], + "relation_direct_name": "AWS", + "relation_discovery_name": "relation_discovery_name1", + "relation_extension_name": "Mećkano", + "relation_sso_name": "Office365", + "source_application": "AWS", + "vendor_category": "Other" + } + ], + "user_country": "United States", + "user_created": "2025-04-13T00:29:22.000Z", + "user_department": "R&D", + "user_factors": [ + { + "created": "2025-04-13T00:29:22.000Z", + "factor_status": "ACTIVE", + "factor_type": "Push Notifications", + "is_enabled": true, + "last_updated": "2025-04-13T00:29:22.000Z", + "name": "user_factor_name1", + "provider": "OKTA", + "strength": "Strong", + "vendor_name": "OKTA" + } + ], + "user_full_name": "William Mcallister", + "user_is_password_enabled": false, + "user_manager": "yvonne.gordon@demo.local", + "user_manager_mail": "yvonne.gordon@demo.local", + "user_pass_last_used": "Sun, 13 Apr 2025 00:29:22 GMT", + "user_path": "/", + "user_permissions": [ + { + "is_admin": true, + "name": "User.Read" + } + ], + "user_related_resources": [ + { + "id": "185980621", + "name": "demo/ml", + "type": "repository" + } + ], + "user_remote_id": "c36808f9-305b-4e92-acfb-dfabfc2f0cb3", + "user_sid": "william.mcallister@demo.local@demo.local", + "user_status": "SUSPENDED", + "user_telephone_number": "-6733", + "user_title": "R&D Engineer", + "user_type": "Guest", + "username": "william.mcallister@demo.local", + "verified": true + } + } + } + }, + "cloud": { + "account": { + "id": "c85155ee-451d-4839-ac97-b1ecad769374" + }, + "provider": "Azure", + "service": { + "name": "IAM User" + } + }, + "device": { + "id": [ + "device-12345" + ], + "model": { + "name": [ + "sample-model" + ] + }, + "serial_number": [ + "SN12345678" + ] + }, + "ecs": { + "version": "9.2.0" + }, + "event": { + "category": [ + "iam" + ], + "created": "2025-04-13T00:29:22.000Z", + "kind": "event", + "original": "{\"asset_type\":\"users\",\"event\":{\"associated_adapter_plugin_name\":\"chef_adapter\",\"data\":{\"account_disabled\":false,\"active\":[\"sample-active-value\"],\"admin_roles\":[{\"display_name\":\"_SEED_ADMIN_ROLE\",\"id\":\"89617862826397410\"}],\"associated_devices\":[{\"device_associated_saas_apps_names\":[\"sample-app\"],\"device_caption\":[\"sample-caption\"],\"device_id\":[\"device-12345\"],\"device_labels\":[\"label1\"],\"device_model\":[\"sample-model\"],\"device_os_distribution\":[\"Ubuntu\"],\"device_os_edition\":[\"sample-edition\"],\"device_os_end_of_life\":[\"2030-01-01\"],\"device_os_type\":[\"Linux\"],\"device_os_version\":[\"20.04\"],\"device_preferred_mac_address\":[\"00:0C:29:12:52:47\"],\"device_serial\":[\"SN12345678\"],\"internal_axon_id\":[\"internal-axon-1\"]}],\"associated_employees\":[{\"internal_axon_id\":[\"ax-employee-1\"],\"username\":[\"employee.username@demo.local\"]}],\"associated_groups\":[{\"display_name\":\"Users\",\"remote_id\":\"aa8ceb7e\"}],\"associated_licenses\":[{\"adapter_connection_label\":[\"chef-demo\"],\"internal_axon_id\":[\"lic-123\"],\"license_name\":[\"Standard License\"],\"pricing_unit\":[\"per-user\"],\"related_vendor_name\":[\"VendorName\"],\"unit_price\":[\"100\"]}],\"aws_iam_identity_type\":\"IAM User\",\"azure_account_id\":\"c85155ee-451d-4839-ac97-b1ecad769374\",\"breaches_data\":[{\"added_date\":\"Thu, 06 Dec 2018 19:11:27 GMT\",\"breach_date\":\"Fri, 06 Dec 2018 19:11:27 GMT\",\"data_classes\":[\"sample-data-class\"],\"domain\":\"adapt.io\",\"is_fabricated\":false,\"is_retired\":false,\"is_sensitive\":false,\"is_spam_list\":false,\"is_verified\":true,\"logo_path\":\"https:\\/\\/haveibeenpwned.com\\/Content\\/Images\\/PwnedLogos\\/List.png\",\"modified_date\":\"Thu, 06 Dec 2018 19:11:27 GMT\",\"name\":\"YouveBeenScraped\",\"pwn_count\":66147869,\"title\":\"You've Been Scraped\"}],\"class_name\":\"cmdb_ci_vm\",\"cloud_provider\":\"Azure\",\"distinct_associated_devices_count\":1,\"email_activity\":{\"is_deleted\":false,\"product_license\":\"MICROSOFT FABRIC (FREE)+MICROSOFT TEAMS PHONE STANDARD+MICROSOFT DEFENDER FOR OFFICE365 (PLAN 2)+MICROSOFT 365 AUDIO CONFERENCING+ENTERPRISE MOBILITY + SECURITY E3+OFFICE365 E3+MICROSOFT 365 E3 EXTRA FEATURES\",\"read_count\":740,\"receive_count\":5181,\"report_date\":\"Mon, 03 Jun 2024 00:00:00 GMT\",\"report_period\":90,\"send_count\":4677},\"email_notification\":{\"alternative_host_reminder\":false,\"cancel_meeting_reminder\":false,\"jbh_reminder\":true},\"employee_id\":\"880290\",\"employee_number\":\"880290\",\"employee_type\":\"local\",\"feature\":{\"cn_meeting\":false,\"in_meeting\":false,\"large_meeting\":false,\"meeting_capacity\":70,\"webinar\":true,\"zoom_phone\":false},\"first_name\":\"William\",\"hire_date\":\"Wed, 12 Nov 2025 00:02:18 GMT\",\"hr_employment_status\":\"Employed\",\"in_meeting\":{\"allow_live_streaming\":false,\"annotation\":false,\"attendee_on_hold\":true,\"auto_saving_chat\":false,\"breakout_room\":false,\"chat\":true,\"closed_caption\":true,\"co_host\":true,\"data_center_regions\":[\"AU\",\"CA\",\"CN\",\"DE\",\"HK\",\"IE\",\"IN\",\"LA\",\"NL\",\"SG\",\"TY\",\"US\"],\"e2e_encryption\":true,\"entry_exit_chime\":true,\"far_end_camera_control\":true,\"feedback\":true,\"group_hd\":true,\"non_verbal_feedback\":false,\"polling\":true,\"private_chat\":false,\"record_play_voice\":false,\"remote_control\":false,\"remote_support\":false,\"share_dual_camera\":true,\"show_meeting_control_toolbar\":false,\"virtual_background\":true,\"waiting_room\":false,\"workplace_by_facebook\":true},\"internal_is_admin\":false,\"is_active\":true,\"is_delegated_admin\":false,\"is_from_sso_provider\":true,\"is_latest_last_seen\":true,\"is_managed_by_application\":true,\"is_mfa_enforced\":false,\"is_mfa_enrolled\":true,\"is_non_editable\":false,\"is_paid\":false,\"is_permission_adapter\":true,\"is_saas_user\":true,\"is_user_active\":true,\"is_user_deleted\":true,\"is_user_external\":true,\"is_user_inactive\":false,\"is_user_suspended\":true,\"last_client_version\":\"5.10.7.7748(mac)\",\"last_login_attempt\":\"Wed, 12 Nov 2025 00:02:18 GMT\",\"last_logon\":\"Wed, 12 Nov 2025 00:02:18 GMT\",\"last_name\":\"Mcallister\",\"last_password_change\":\"Wed, 12 Nov 2025 00:02:18 GMT\",\"last_seen\":\"Wed, 12 Nov 2025 00:02:18 GMT\",\"mail\":\"william.mcallister@demo.local\",\"manager_id\":\"yvonne.gordon@demo.local\",\"max_added_date\":\"Sat, 12 Apr 2025 22:59:20 GMT\",\"max_breach_date\":\"Sat, 12 Apr 2025 22:59:20 GMT\",\"max_modified_date\":\"Sat, 12 Apr 2025 22:59:20 GMT\",\"nested_grants_managers_last_updated\":\"Sat, 12 Apr 2025 22:59:20 GMT\",\"nested_managers\":[{\"assignment_type\":\"Direct\",\"parents\":[{\"name\":\"pname1\",\"parent_type\":\"User\",\"value\":\"pvalue1\"}],\"value\":\"yvonne.gordon@demo.local\"}],\"nested_permissions\":[{\"has_administrative_permissions\":true,\"is_admin\":true}],\"oracle_cloud_cis_incompliant\":[{\"rule_cis_version\":1,\"rule_section\":\"1.11\"}],\"password_never_expires\":false,\"password_not_required\":false,\"pmi\":4279269702,\"provider_name\":\"OKTA\",\"provider_type\":\"OKTA\",\"recording\":true,\"recording_settings\":{\"auto_delete_cmr\":false,\"auto_delete_cmr_days\":true,\"auto_recording\":true,\"cloud_recording\":false,\"host_pause_stop_recording\":false,\"local_recording\":true,\"record_audio_file\":true,\"record_gallery_view\":true,\"record_speaker_view\":true,\"recording_audio_transcript\":true,\"save_chat_text\":false,\"show_timestamp\":true},\"recovery_question_set\":false,\"schedule_meeting\":{\"audio_type\":\"both\",\"force_pmi_jbh_password\":true,\"host_video\":false,\"join_before_host\":true,\"participants_video\":false,\"pstn_password_protected\":false,\"require_password_for_instant_meetings\":false,\"require_password_for_pmi_meetings\":true,\"require_password_for_scheduled_meetings\":true,\"require_password_for_scheduling_new_meetings\":false,\"use_pmi_for_instant_meetings\":true,\"use_pmi_for_scheduled_meetings\":true},\"shirt_size\":\"M\",\"snow_full_name\":\"William Mcallister\",\"snow_location\":\"Seattle\",\"status_changed\":\"Sun, 13 Apr 2025 00:29:22 GMT\",\"telephony\":{\"show_international_numbers_link\":true,\"third_party_audio\":true},\"timezone\":\"Asia\\/Shanghai\",\"tsp\":{\"call_out\":true,\"show_international_numbers_link\":true},\"u_department\":\"R&D\",\"u_vip\":false,\"updated_on\":\"Sun, 13 Apr 2025 00:29:22 GMT\",\"user_apps\":[{\"active_from_direct_adapter\":true,\"app_accounts\":[{\"name\":\"aws-demo\"}],\"app_display_name\":\"aws-demo\",\"app_id\":\"AWS_67fd09ab731ccb57309230fc\",\"app_links\":[\"https:\\/\\/demo.my.salesforce.com?so=00C4G0000005h79\"],\"app_name\":\"AWS\",\"extension_type\":\"User Consent\",\"is_from_direct_adapter\":true,\"is_managed\":true,\"is_saas_application\":true,\"is_unmanaged_extension\":true,\"is_user_deleted\":true,\"is_user_external\":true,\"is_user_paid\":false,\"is_user_suspended\":true,\"last_access\":\"Sun, 13 Apr 2025 00:29:22 GMT\",\"permissions\":[{\"name\":\"User.Read\"}],\"relation_direct_name\":\"AWS\",\"relation_discovery_name\":\"relation_discovery_name1\",\"relation_extension_name\":\"Me\\u0107kano\",\"relation_sso_name\":\"Office365\",\"source_application\":\"AWS\",\"vendor_category\":\"Other\"}],\"user_country\":\"United States\",\"user_created\":\"Sun, 13 Apr 2025 00:29:22 GMT\",\"user_department\":\"R&D\",\"user_factors\":[{\"created\":\"Sun, 13 Apr 2025 00:29:22 GMT\",\"factor_status\":\"ACTIVE\",\"factor_type\":\"Push Notifications\",\"is_enabled\":true,\"last_updated\":\"Sun, 13 Apr 2025 00:29:22 GMT\",\"name\":\"user_factor_name1\",\"provider\":\"OKTA\",\"strength\":\"Strong\",\"vendor_name\":\"OKTA\"}],\"user_full_name\":\"William Mcallister\",\"user_is_password_enabled\":false,\"user_manager\":\"yvonne.gordon@demo.local\",\"user_manager_mail\":\"yvonne.gordon@demo.local\",\"user_pass_last_used\":\"Sun, 13 Apr 2025 00:29:22 GMT\",\"user_path\":\"\\/\",\"user_permissions\":[{\"is_admin\":true,\"name\":\"User.Read\"}],\"user_related_resources\":[{\"id\":185980621,\"name\":\"demo\\/ml\",\"type\":\"repository\"}],\"user_remote_id\":\"c36808f9-305b-4e92-acfb-dfabfc2f0cb3\",\"user_sid\":\"william.mcallister@demo.local@demo.local\",\"user_status\":\"SUSPENDED\",\"user_telephone_number\":\"-6733\",\"user_title\":\"R&D Engineer\",\"user_type\":\"Guest\",\"username\":\"william.mcallister@demo.local\",\"verified\":true}}}", + "type": [ + "info" + ] + }, + "related": { + "user": [ + "employee.username@demo.local", + "Users", + "William", + "Mcallister", + "william.mcallister@demo.local", + "yvonne.gordon@demo.local", + "William Mcallister" + ] + }, + "tags": [ + "preserve_duplicate_custom_fields" + ], + "threat": { + "enrichments": { + "indicator": { + "first_seen": [ + "2018-12-06T19:11:27.000Z" + ] + } + } + }, + "user": { + "domain": "demo.local", + "email": "william.mcallister@demo.local", + "full_name": "William Mcallister", + "name": "william.mcallister@demo.local" + } + }, + { + "@timestamp": "2025-12-09T00:09:44.000Z", + "axonius": { + "identity": { + "adapter_list_length": 2, + "adapters": [ + "active_directory_adapter", + "azure_ad_adapter" + ], + "asset_type": "users", + "event": { + "accurate_for_datetime": "2025-12-09T00:09:44.000Z", + "action_if_exists": "update", + "association_type": "Tag", + "data": { + "associated_employees": [ + { + "internal_axon_id": [ + "762427561140fc5497b0d9007d922c57" + ], + "username": [ + "jessica.stowell@demo.local" + ] + }, + { + "internal_axon_id": [ + "aeb3a136070d4e24452148cf1ef65d0c" + ], + "username": [ + "omar.caudill@demo.local" + ] + }, + { + "internal_axon_id": [ + "400aaffbddcf2e13e366090dd03b6825" + ], + "username": [ + "donald.bouyer@demo.local" + ] + }, + { + "internal_axon_id": [ + "d3cadc6e64a03bcc4f4be877d5fc8477" + ], + "username": [ + "david.plummer@demo.local" + ] + }, + { + "internal_axon_id": [ + "4c884d940f167756a36c65e7814f5207" + ], + "username": [ + "greg.trujillo@demo.local" + ] + }, + { + "internal_axon_id": [ + "428b88be91c19776323838324dbf94fb" + ], + "username": [ + "guillermo.krause@demo.local" + ] + } + ] + }, + "entity": "users", + "hidden_for_gui": true, + "name": "static_analysis_0_associated_employees", + "plugin_name": "static_analysis", + "plugin_unique_name": "static_analysis_0_associated_employees", + "type": "adapterdata" + }, + "internal_axon_id": "d6c6f476f36f29a1bd29e99f30a293ac" + } + }, + "ecs": { + "version": "9.2.0" + }, + "event": { + "action": "update", + "category": [ + "iam" + ], + "kind": "event", + "original": "{\"adapter_list_length\":2,\"adapters\":[\"active_directory_adapter\",\"azure_ad_adapter\"],\"asset_type\":\"users\",\"event\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 00:09:44 GMT\",\"action_if_exists\":\"update\",\"associated_adapters\":[],\"association_type\":\"Tag\",\"data\":{\"associated_employees\":[{\"internal_axon_id\":[\"762427561140fc5497b0d9007d922c57\"],\"username\":[\"jessica.stowell@demo.local\"]},{\"internal_axon_id\":[\"aeb3a136070d4e24452148cf1ef65d0c\"],\"username\":[\"omar.caudill@demo.local\"]},{\"internal_axon_id\":[\"400aaffbddcf2e13e366090dd03b6825\"],\"username\":[\"donald.bouyer@demo.local\"]},{\"internal_axon_id\":[\"d3cadc6e64a03bcc4f4be877d5fc8477\"],\"username\":[\"david.plummer@demo.local\"]},{\"internal_axon_id\":[\"4c884d940f167756a36c65e7814f5207\"],\"username\":[\"greg.trujillo@demo.local\"]},{\"internal_axon_id\":[\"428b88be91c19776323838324dbf94fb\"],\"username\":[\"guillermo.krause@demo.local\"]}]},\"entity\":\"users\",\"hidden_for_gui\":true,\"name\":\"static_analysis_0_associated_employees\",\"plugin_name\":\"static_analysis\",\"plugin_unique_name\":\"static_analysis_0_associated_employees\",\"type\":\"adapterdata\"},\"internal_axon_id\":\"d6c6f476f36f29a1bd29e99f30a293ac\"}", + "type": [ + "info" + ] + }, + "related": { + "user": [ + "jessica.stowell@demo.local", + "omar.caudill@demo.local", + "donald.bouyer@demo.local", + "david.plummer@demo.local", + "greg.trujillo@demo.local", + "guillermo.krause@demo.local" + ] + }, + "tags": [ + "preserve_duplicate_custom_fields" + ] + }, + { + "@timestamp": "2025-12-09T00:09:44.000Z", + "axonius": { + "identity": { + "adapter_list_length": 7, + "adapters": [ + "google_mdm_adapter", + "okta_adapter", + "service_now_adapter", + "slack_adapter", + "tenable_io_adapter", + "workday_adapter", + "zoom_adapter" + ], + "asset_type": "users", + "event": { + "accurate_for_datetime": "2025-12-09T00:09:44.000Z", + "action_if_exists": "update", + "association_type": "Tag", + "data": { + "associated_employees": [ + { + "internal_axon_id": [ + "c0c9e1b4bc17295912be5cc2ce43ff1f" + ], + "username": [ + "clyde.bejaran@demo.local" + ] + } + ] + }, + "entity": "users", + "hidden_for_gui": true, + "name": "static_analysis_0_associated_employees", + "plugin_name": "static_analysis", + "plugin_unique_name": "static_analysis_0_associated_employees", + "type": "adapterdata" + }, + "internal_axon_id": "e2078572d687b8d1461d7c5878ebddf9" + } + }, + "ecs": { + "version": "9.2.0" + }, + "event": { + "action": "update", + "category": [ + "iam" + ], + "kind": "event", + "original": "{\"adapter_list_length\":7,\"adapters\":[\"google_mdm_adapter\",\"okta_adapter\",\"service_now_adapter\",\"slack_adapter\",\"tenable_io_adapter\",\"workday_adapter\",\"zoom_adapter\"],\"asset_type\":\"users\",\"event\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 00:09:44 GMT\",\"action_if_exists\":\"update\",\"associated_adapters\":[],\"association_type\":\"Tag\",\"data\":{\"associated_employees\":[{\"internal_axon_id\":[\"c0c9e1b4bc17295912be5cc2ce43ff1f\"],\"username\":[\"clyde.bejaran@demo.local\"]}]},\"entity\":\"users\",\"hidden_for_gui\":true,\"name\":\"static_analysis_0_associated_employees\",\"plugin_name\":\"static_analysis\",\"plugin_unique_name\":\"static_analysis_0_associated_employees\",\"type\":\"adapterdata\"},\"internal_axon_id\":\"e2078572d687b8d1461d7c5878ebddf9\"}", + "type": [ + "info" + ] + }, + "related": { + "user": [ + "clyde.bejaran@demo.local" + ] + }, + "tags": [ + "preserve_duplicate_custom_fields" + ] + } + ] +} diff --git a/packages/axonius/data_stream/identity/_dev/test/system/test-default-config.yml b/packages/axonius/data_stream/identity/_dev/test/system/test-default-config.yml new file mode 100644 index 00000000000..22b4d1e4558 --- /dev/null +++ b/packages/axonius/data_stream/identity/_dev/test/system/test-default-config.yml @@ -0,0 +1,13 @@ +input: cel +service: axonius +vars: + url: http://{{Hostname}}:{{Port}} + api_key: xxxx + secret_key: xxxx +data_stream: + vars: + preserve_original_event: true + preserve_duplicate_custom_fields: true + batch_size: 2 +assert: + hit_count: 13 diff --git a/packages/axonius/data_stream/identity/agent/stream/cel.yml.hbs b/packages/axonius/data_stream/identity/agent/stream/cel.yml.hbs new file mode 100644 index 00000000000..237fef85139 --- /dev/null +++ b/packages/axonius/data_stream/identity/agent/stream/cel.yml.hbs @@ -0,0 +1,137 @@ +config_version: 2 +interval: {{interval}} +resource.tracer: + enabled: {{enable_request_tracer}} + filename: "../../logs/cel/http-request-trace-*.ndjson" + maxbackups: 5 +{{#if proxy_url}} +resource.proxy_url: {{proxy_url}} +{{/if}} +{{#if ssl}} +resource.ssl: {{ssl}} +{{/if}} +{{#if http_client_timeout}} +resource.timeout: {{http_client_timeout}} +{{/if}} +resource.url: {{url}} + +state: + api_key: {{api_key}} + secret_key: {{secret_key}} + batch_size: {{batch_size}} + asset_type_list: + - users + - groups + - security_roles + - organizational_units + - accounts + - certificates + - permissions + - latest_rules + - profiles + - job_titles + - access_review_campaign_instances + - access_review_approval_items + +redact: + fields: + - api_key + - secret_key +program: | + ( + state.?worklist.asset_type_list[0].hasValue() ? + state + : + state.drop("worklist").with( + { + "worklist": { + "asset_type_list": state.asset_type_list, + } + } + ) + ).as(state, state.with( + request( + "POST", + state.url.trim_right("/") + "/api/v2/assets/" + string(state.worklist.asset_type_list[0]) + ).with( + { + "Header": { + "Content-Type": ["application/json"], + "api-key": [state.api_key], + "api-secret": [state.secret_key], + }, + "Body": { + "include_metadata": true, + "page": { + "limit": state.batch_size, + }, + ?"next_page": state.?worklist.?next_page, + "fields": ["specific_data"], + "use_cache_entry": false, + "include_details": false, + }.encode_json(), + } + ).do_request().as(resp, resp.StatusCode == 200 ? + resp.Body.decode_json().as(body, + { + "events": (has(body.assets) && size(body.assets) > 0 ? + body.assets.map(assets, + assets.specific_data.map(d,{ + "message":{ + ?"internal_axon_id": assets.?internal_axon_id, + ?"adapters": assets.?adapters, + ?"adapter_list_length": assets.?adapter_list_length, + ?"labels": assets.?labels, + "asset_type": string(state.worklist.asset_type_list[0]), + "event": d + }.encode_json(), + }) + ).flatten() + : + [{"message":"empty_data"}] + ), + "worklist": { + "asset_type_list": (has(body.meta.page.number) && has(body.meta.page.totalPages) && + int(body.meta.page.number) < int(body.meta.page.totalPages)) ? state.worklist.asset_type_list : tail(state.worklist.asset_type_list), + "next_page": (has(body.meta.page.number) && has(body.meta.page.totalPages) && + int(body.meta.page.number) < int(body.meta.page.totalPages)) ? (body.?meta.?next_page) : null, + }, + "want_more": (has(body.meta.page.number) && has(body.meta.page.totalPages) && + int(body.meta.page.number) < int(body.meta.page.totalPages) || size(state.worklist.asset_type_list) > 1), + } + ) + : + { + "events": { + "error": { + "code": string(resp.StatusCode), + "id": string(resp.Status), + "message": "POST:" + state.url.trim_right("/") + "/api/v2/assets/ " + string(state.worklist.asset_type_list[0]) + ( + size(resp.Body) != 0 ? + string(resp.Body) + : + string(resp.Status) + " (" + string(resp.StatusCode) + ")" + ), + }, + }, + "want_more": false, + } + ) + )) +tags: +{{#if preserve_original_event}} + - preserve_original_event +{{/if}} +{{#if preserve_duplicate_custom_fields}} + - preserve_duplicate_custom_fields +{{/if}} +{{#each tags as |tag|}} + - {{tag}} +{{/each}} +{{#contains "forwarded" tags}} +publisher_pipeline.disable_host: true +{{/contains}} +{{#if processors}} +processors: +{{processors}} +{{/if}} diff --git a/packages/axonius/data_stream/identity/elasticsearch/ilm/default_policy.json b/packages/axonius/data_stream/identity/elasticsearch/ilm/default_policy.json new file mode 100644 index 00000000000..a2258ec38f8 --- /dev/null +++ b/packages/axonius/data_stream/identity/elasticsearch/ilm/default_policy.json @@ -0,0 +1,23 @@ +{ + "policy": { + "phases": { + "hot": { + "actions": { + "rollover": { + "max_age": "2d", + "max_size": "50gb" + }, + "set_priority": { + "priority": 100 + } + } + }, + "delete": { + "min_age": "30d", + "actions": { + "delete": {} + } + } + } + } +} diff --git a/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/default.yml b/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/default.yml new file mode 100644 index 00000000000..bdf874cb224 --- /dev/null +++ b/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/default.yml @@ -0,0 +1,814 @@ +--- +description: Pipeline for processing identity logs. +processors: + - set: + field: ecs.version + tag: set_ecs_version + value: 9.2.0 + - terminate: + description: error message set and no data to process. + tag: terminate_data_collection_error + if: ctx.error?.message != null && ctx.message == null && ctx.event?.original == null + - drop: + if: ctx.message == 'empty_data' + tag: drop_empty_data_events + + # remove agentless metadata + - remove: + description: Removes the fields added by Agentless as metadata, as they can collide with ECS fields. + tag: remove_agentless_tags + if: ctx.organization instanceof String && ctx.division instanceof String && ctx.team instanceof String + field: + - organization + - division + - team + ignore_missing: true + - rename: + field: message + tag: rename_message_to_event_original + target_field: event.original + ignore_missing: true + description: Renames the original `message` field to `event.original` to store a copy of the original message. The `event.original` field is not touched if the document already has one; it may happen when Logstash sends the document. + if: ctx.event?.original == null + - remove: + field: message + tag: remove_message + ignore_missing: true + description: The `message` field is no longer required if the document has an `event.original` field. + if: ctx.event?.original != null + - json: + field: event.original + tag: json_event_original + target_field: json + - set: + tag: set_event_kind + field: event.kind + value: event + - append: + field: event.category + value: iam + tag: category_iam + - append: + field: event.type + value: info + tag: type_info + + - convert: + field: json.adapter_list_length + tag: convert_adapter_list_length_to_long + target_field: axonius.identity.adapter_list_length + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.adapters + tag: rename_adapters + target_field: axonius.identity.adapters + ignore_missing: true + - rename: + field: json.asset_type + tag: rename_asset_type + target_field: axonius.identity.asset_type + ignore_missing: true + - date: + field: json.event.accurate_for_datetime + tag: date_event_accurate_for_datetime + target_field: axonius.identity.event.accurate_for_datetime + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.json?.event?.accurate_for_datetime != null && ctx.json.event.accurate_for_datetime != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - set: + field: '@timestamp' + tag: set_@timestamp_from_identity_event_accurate_for_datetime + copy_from: axonius.identity.event.accurate_for_datetime + ignore_empty_value: true + - rename: + field: json.event.action_if_exists + tag: rename_event_action_if_exists + target_field: axonius.identity.event.action_if_exists + ignore_missing: true + - set: + field: event.action + tag: set_event_action_from_identity_event_action_if_exists + copy_from: axonius.identity.event.action_if_exists + ignore_empty_value: true + - lowercase: + field: event.action + tag: lowercase_event_action + ignore_missing: true + - split: + field: event.action + tag: split_event_action + separator: \s+ + ignore_missing: true + if: ctx.event?.action != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - join: + field: event.action + tag: join_event_action + separator: '-' + if: ctx.event?.action != null && ctx.event.action != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.adapter_categories + tag: rename_event_adapter_categories + target_field: axonius.identity.event.adapter_categories + ignore_missing: true + - rename: + field: json.event.associated_adapters + tag: rename_event_associated_adapters + target_field: axonius.identity.event.associated_adapters + ignore_missing: true + - rename: + field: json.event.association_type + tag: rename_event_association_type + target_field: axonius.identity.event.association_type + ignore_missing: true + - rename: + field: json.event.client_used + tag: rename_event_client_used + target_field: axonius.identity.event.client_used + ignore_missing: true + - date: + field: json.event.data.accurate_for_datetime + tag: date_event_data_accurate_for_datetime + target_field: axonius.identity.event.data.accurate_for_datetime + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.json?.event?.data?.accurate_for_datetime != null && ctx.json.event.data.accurate_for_datetime != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.application_and_account_name + tag: rename_event_data_application_and_account_name + target_field: axonius.identity.event.data.application_and_account_name + ignore_missing: true + - rename: + field: json.event.data.asset_type + tag: rename_event_data_asset_type + target_field: axonius.identity.event.data.asset_type + ignore_missing: true + - rename: + field: json.event.data.aws_arn + tag: rename_event_data_aws_arn + target_field: axonius.identity.event.data.aws_arn + ignore_missing: true + - rename: + field: json.event.data.display_name + tag: rename_event_data_display_name + target_field: axonius.identity.event.data.display_name + ignore_missing: true + - set: + field: user.name + tag: set_user_email_from_event_data_display_name + copy_from: axonius.identity.event.data.display_name + ignore_empty_value: true + - append: + field: related.user + tag: append_event_data_display_name_into_related_user + value: '{{{axonius.identity.event.data.display_name}}}' + allow_duplicates: false + if: ctx.axonius?.identity?.event?.data?.display_name != null + - date: + field: json.event.data.fetch_time + tag: date_event_data_fetch_time + target_field: axonius.identity.event.data.fetch_time + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.json?.event?.data?.fetch_time != null && ctx.json.event.data.fetch_time != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - date: + field: json.event.data.first_fetch_time + tag: date_event_data_first_fetch_time + target_field: axonius.identity.event.data.first_fetch_time + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.json?.event?.data?.first_fetch_time != null && ctx.json.event.data.first_fetch_time != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.from_last_fetch + tag: convert_event_data_from_last_fetch_to_boolean + target_field: axonius.identity.event.data.from_last_fetch + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.groups + tag: rename_event_data_groups + target_field: axonius.identity.event.data.groups + ignore_missing: true + - convert: + field: json.event.data.has_administrative_permissions + tag: convert_event_data_has_administrative_permissions_to_boolean + target_field: axonius.identity.event.data.has_administrative_permissions + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.id + tag: rename_event_data_id + target_field: axonius.identity.event.data.id + ignore_missing: true + - rename: + field: json.event.data.id_raw + tag: rename_event_data_id_raw + target_field: axonius.identity.event.data.id_raw + ignore_missing: true + - convert: + field: json.event.data.is_admin + tag: convert_event_data_is_admin_to_boolean + target_field: axonius.identity.event.data.is_admin + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.is_built_in + tag: convert_event_data_is_built_in_to_boolean + target_field: axonius.identity.event.data.is_built_in + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.is_fetched_from_adapter + tag: convert_event_data_is_fetched_from_adapter_to_boolean + target_field: axonius.identity.event.data.is_fetched_from_adapter + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.is_managed_by_sso + tag: convert_event_data_is_managed_by_sso_to_boolean + target_field: axonius.identity.event.data.is_managed_by_sso + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.is_privileged + tag: convert_event_data_is_privileged_to_boolean + target_field: axonius.identity.event.data.is_privileged + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.last_fetch_connection_id + tag: rename_event_data_last_fetch_connection_id + target_field: axonius.identity.event.data.last_fetch_connection_id + ignore_missing: true + - rename: + field: json.event.data.last_fetch_connection_label + tag: rename_event_data_last_fetch_connection_label + target_field: axonius.identity.event.data.last_fetch_connection_label + ignore_missing: true + - rename: + field: json.event.data.name + tag: rename_event_data_name + target_field: axonius.identity.event.data.name + ignore_missing: true + - foreach: + field: json.event.data.nested_applications + tag: foreach_event_data_nested_applications_active_from_direct_adapter + if: ctx.json?.event?.data?.nested_applications instanceof List + processor: + convert: + field: _ingest._value.active_from_direct_adapter + tag: convert_event_data_nested_applications_active_from_direct_adapter_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.active_from_direct_adapter + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.nested_applications + tag: foreach_event_data_nested_applications_has_administrative_permissions + if: ctx.json?.event?.data?.nested_applications instanceof List + processor: + convert: + field: _ingest._value.has_administrative_permissions + tag: convert_event_data_nested_applications_has_administrative_permissions_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.has_administrative_permissions + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.nested_applications + tag: foreach_event_data_nested_applications_is_deleted + if: ctx.json?.event?.data?.nested_applications instanceof List + processor: + convert: + field: _ingest._value.is_deleted + tag: convert_event_data_nested_applications_is_deleted_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.is_deleted + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.nested_applications + tag: foreach_event_data_nested_applications_is_from_direct_adapter + if: ctx.json?.event?.data?.nested_applications instanceof List + processor: + convert: + field: _ingest._value.is_from_direct_adapter + tag: convert_event_data_nested_applications_is_from_direct_adapter_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.is_from_direct_adapter + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.nested_applications + tag: foreach_event_data_nested_applications_is_managed + if: ctx.json?.event?.data?.nested_applications instanceof List + processor: + convert: + field: _ingest._value.is_managed + tag: convert_event_data_nested_applications_is_managed_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.is_managed + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.nested_applications + tag: foreach_event_data_nested_applications_is_suspended + if: ctx.json?.event?.data?.nested_applications instanceof List + processor: + convert: + field: _ingest._value.is_suspended + tag: convert_event_data_nested_applications_is_suspended_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.is_suspended + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.nested_applications + tag: foreach_event_data_nested_applications_is_unmanaged_extension + if: ctx.json?.event?.data?.nested_applications instanceof List + processor: + convert: + field: _ingest._value.is_unmanaged_extension + tag: convert_event_data_nested_applications_is_unmanaged_extension_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.is_unmanaged_extension + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.nested_applications + tag: foreach_event_data_nested_applications_is_user_external + if: ctx.json?.event?.data?.nested_applications instanceof List + processor: + convert: + field: _ingest._value.is_user_external + tag: convert_event_data_nested_applications_is_user_external_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.is_user_external + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.nested_applications + tag: foreach_event_data_nested_applications_is_user_paid + if: ctx.json?.event?.data?.nested_applications instanceof List + processor: + convert: + field: _ingest._value.is_user_paid + tag: convert_event_data_nested_applications_is_user_paid_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.is_user_paid + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.nested_applications + tag: foreach_event_data_nested_applications_last_access + if: ctx.json?.event?.data?.nested_applications instanceof List + processor: + date: + field: _ingest._value.last_access + tag: date_event_data_nested_applications_last_access + target_field: _ingest._value.last_access + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + on_failure: + - remove: + field: _ingest._value.last_access + ignore_missing: true + - foreach: + field: json.event.data.nested_applications + tag: foreach_event_data_nested_applications_last_access_count + if: ctx.json?.event?.data?.nested_applications instanceof List + processor: + convert: + field: _ingest._value.last_access_count + tag: convert_event_data_nested_applications_last_access_count_to_long + type: long + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.last_access_count + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.nested_applications + tag: foreach_event_data_nested_applications_last_access_count_60_days + if: ctx.json?.event?.data?.nested_applications instanceof List + processor: + convert: + field: _ingest._value.last_access_count_60_days + tag: convert_event_data_nested_applications_last_access_count_60_days_to_long + type: long + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.last_access_count_60_days + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.nested_applications + tag: foreach_event_data_nested_applications_last_access_count_90_days + if: ctx.json?.event?.data?.nested_applications instanceof List + processor: + convert: + field: _ingest._value.last_access_count_90_days + tag: convert_event_data_nested_applications_last_access_count_90_days_to_long + type: long + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.last_access_count_90_days + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.nested_applications + tag: rename_event_data_nested_applications + target_field: axonius.identity.event.data.nested_applications + ignore_missing: true + - rename: + field: json.event.data.nested_associated_devices + tag: rename_event_data_nested_associated_devices + target_field: axonius.identity.event.data.nested_associated_devices + ignore_missing: true + - date: + field: json.event.data.nested_grants_last_updated + tag: date_event_data_nested_grants_last_updated + target_field: axonius.identity.event.data.nested_grants_last_updated + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.json?.event?.data?.nested_grants_last_updated != null && ctx.json.event.data.nested_grants_last_updated != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.nested_groups + tag: rename_event_data_nested_groups + target_field: axonius.identity.event.data.nested_groups + ignore_missing: true + - rename: + field: json.event.data.nested_permissions + tag: rename_event_data_nested_permissions + target_field: axonius.identity.event.data.nested_permissions + ignore_missing: true + - foreach: + field: json.event.data.nested_resources + tag: foreach_event_data_nested_resources_value + if: ctx.json?.event?.data?.nested_resources instanceof List + processor: + convert: + field: _ingest._value.value + tag: convert_event_data_nested_resources_value_to_keyword + type: string + ignore_missing: true + - rename: + field: json.event.data.nested_resources + tag: rename_event_data_nested_resources + target_field: axonius.identity.event.data.nested_resources + ignore_missing: true + - rename: + field: json.event.data.nested_roles + tag: rename_event_data_nested_roles + target_field: axonius.identity.event.data.nested_roles + ignore_missing: true + - convert: + field: json.event.data.not_fetched_count + tag: convert_event_data_not_fetched_count_to_long + target_field: axonius.identity.event.data.not_fetched_count + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.operational_users_count + tag: convert_event_data_operational_users_count_to_long + target_field: axonius.identity.event.data.operational_users_count + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.permissions + tag: rename_event_data_permissions + target_field: axonius.identity.event.data.permissions + ignore_missing: true + - rename: + field: json.event.data.pretty_id + tag: rename_event_data_pretty_id + target_field: axonius.identity.event.data.pretty_id + ignore_missing: true + - rename: + field: json.event.data.remote_id + tag: rename_event_data_remote_id + target_field: axonius.identity.event.data.remote_id + ignore_missing: true + - rename: + field: json.event.data.sm_entity_type + tag: rename_event_data_sm_entity_type + target_field: axonius.identity.event.data.sm_entity_type + ignore_missing: true + - rename: + field: json.event.data.source_application + tag: rename_event_data_source_application + target_field: axonius.identity.event.data.source_application + ignore_missing: true + - rename: + field: json.event.data.tenant_number + tag: rename_event_data_tenant_number + target_field: axonius.identity.event.data.tenant_number + ignore_missing: true + - convert: + field: json.event.data.total_users_count + tag: convert_event_data_total_users_count_to_long + target_field: axonius.identity.event.data.total_users_count + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.type + tag: rename_event_data_type + target_field: axonius.identity.event.data.type + ignore_missing: true + - rename: + field: json.event.entity + tag: rename_event_entity + target_field: axonius.identity.event.entity + ignore_missing: true + - convert: + field: json.event.hidden_for_gui + tag: convert_event_hidden_for_gui_to_boolean + target_field: axonius.identity.event.hidden_for_gui + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.initial_plugin_unique_name + tag: rename_event_initial_plugin_unique_name + target_field: axonius.identity.event.initial_plugin_unique_name + ignore_missing: true + - rename: + field: json.event.name + tag: rename_event_name + target_field: axonius.identity.event.name + ignore_missing: true + - rename: + field: json.event.plugin_name + tag: rename_event_plugin_name + target_field: axonius.identity.event.plugin_name + ignore_missing: true + - rename: + field: json.event.plugin_type + tag: rename_event_plugin_type + target_field: axonius.identity.event.plugin_type + ignore_missing: true + - rename: + field: json.event.plugin_unique_name + tag: rename_event_plugin_unique_name + target_field: axonius.identity.event.plugin_unique_name + ignore_missing: true + - rename: + field: json.event.quick_id + tag: rename_event_quick_id + target_field: axonius.identity.event.quick_id + ignore_missing: true + - rename: + field: json.event.type + tag: rename_event_type + target_field: axonius.identity.event.type + ignore_missing: true + - rename: + field: json.internal_axon_id + tag: rename_internal_axon_id + target_field: axonius.identity.internal_axon_id + ignore_missing: true + - pipeline: + name: '{{ IngestPipeline "pipeline-account" }}' + tag: pipeline-account + if: >- + ctx.axonius?.identity?.asset_type.contains('accounts') + - pipeline: + name: '{{ IngestPipeline "pipeline-group" }}' + tag: pipeline-group + if: >- + ctx.axonius?.identity?.asset_type.contains('groups') + - pipeline: + name: '{{ IngestPipeline "pipeline-certificate" }}' + tag: pipeline-certificate + if: >- + ctx.axonius?.identity?.asset_type.contains('certificates') + - pipeline: + name: '{{ IngestPipeline "pipeline-user" }}' + tag: pipeline-user + if: >- + ctx.axonius?.identity?.asset_type.contains('users') + - remove: + field: + - axonius.identity.event.accurate_for_datetime + - axonius.identity.event.data.display_name + - axonius.identity.event.data.application_id + - axonius.identity.event.data.application_name + - axonius.identity.event.data.created_date + - axonius.identity.event.data.email + - axonius.identity.event.data.begins_on + - axonius.identity.event.data.expires_on + - axonius.identity.event.data.issuer.common_name + - axonius.identity.event.data.issuer.country_name + - axonius.identity.event.data.issuer.organization + - axonius.identity.event.data.serial_number + - axonius.identity.event.data.subject.common_name + - axonius.identity.event.data.subject.country_name + - axonius.identity.event.data.subject.locality + - axonius.identity.event.data.subject.organization + - axonius.identity.event.data.subject.state + - axonius.identity.event.data.aws_iam_identity_type + - axonius.identity.event.data.azure_account_id + - axonius.identity.event.data.cloud_provider + - axonius.identity.event.data.mail + - axonius.identity.event.data.user_created + - axonius.identity.event.data.user_full_name + - axonius.identity.event.data.username + tag: remove_custom_duplicate_fields + ignore_missing: true + if: ctx.tags == null || !ctx.tags.contains('preserve_duplicate_custom_fields') + - remove: + field: json + tag: remove_json + ignore_missing: true + - script: + tag: script_to_drop_null_values + lang: painless + description: This script processor iterates over the whole document to remove fields with null values. + source: |- + void handleMap(Map map) { + map.values().removeIf(v -> { + if (v instanceof Map) { + handleMap(v); + } else if (v instanceof List) { + handleList(v); + } + return v == null || v == '' || (v instanceof Map && v.size() == 0) || (v instanceof List && v.size() == 0) + }); + } + void handleList(List list) { + list.removeIf(v -> { + if (v instanceof Map) { + handleMap(v); + } else if (v instanceof List) { + handleList(v); + } + return v == null || v == '' || (v instanceof Map && v.size() == 0) || (v instanceof List && v.size() == 0) + }); + } + handleMap(ctx); + - set: + field: event.kind + tag: set_pipeline_error_into_event_kind + value: pipeline_error + if: ctx.error?.message != null + - append: + field: tags + value: preserve_original_event + allow_duplicates: false + if: ctx.error?.message != null +on_failure: + - append: + field: error.message + value: |- + Processor '{{{ _ingest.on_failure_processor_type }}}' + {{{#_ingest.on_failure_processor_tag}}}with tag '{{{ _ingest.on_failure_processor_tag }}}' + {{{/_ingest.on_failure_processor_tag}}}failed with message '{{{ _ingest.on_failure_message }}}' + - set: + field: event.kind + tag: set_pipeline_error_to_event_kind + value: pipeline_error + - append: + field: tags + value: preserve_original_event + allow_duplicates: false diff --git a/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-account.yml b/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-account.yml new file mode 100644 index 00000000000..74f0c274a5f --- /dev/null +++ b/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-account.yml @@ -0,0 +1,440 @@ +--- +description: Pipeline for processing account logs. +processors: + - convert: + field: json.event.data.active_users + tag: convert_event_data_active_users_to_long + target_field: axonius.identity.event.data.active_users + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.active_users_saved_query_id + tag: rename_event_data_active_users_saved_query_id + target_field: axonius.identity.event.data.active_users_saved_query_id + ignore_missing: true + - convert: + field: json.event.data.admin_non_operational_users + tag: convert_event_data_admin_non_operational_users_to_long + target_field: axonius.identity.event.data.admin_non_operational_users + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.admin_non_operational_users_saved_query_id + tag: rename_event_data_admin_non_operational_users_saved_query_id + target_field: axonius.identity.event.data.admin_non_operational_users_saved_query_id + ignore_missing: true + - convert: + field: json.event.data.admin_operational_active_users + tag: convert_event_data_admin_operational_active_users_to_long + target_field: axonius.identity.event.data.admin_operational_active_users + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.admin_operational_active_users_saved_query_id + tag: rename_event_data_admin_operational_active_users_saved_query_id + target_field: axonius.identity.event.data.admin_operational_active_users_saved_query_id + ignore_missing: true + - convert: + field: json.event.data.admin_operational_inactive_users + tag: convert_event_data_admin_operational_inactive_users_to_long + target_field: axonius.identity.event.data.admin_operational_inactive_users + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.admin_operational_inactive_users_saved_query_id + tag: rename_event_data_admin_operational_inactive_users_saved_query_id + target_field: axonius.identity.event.data.admin_operational_inactive_users_saved_query_id + ignore_missing: true + - convert: + field: json.event.data.admin_operational_users + tag: convert_event_data_admin_operational_users_to_long + target_field: axonius.identity.event.data.admin_operational_users + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.admin_operational_users_saved_query_id + tag: rename_event_data_admin_operational_users_saved_query_id + target_field: axonius.identity.event.data.admin_operational_users_saved_query_id + ignore_missing: true + - convert: + field: json.event.data.admins + tag: convert_event_data_admins_to_long + target_field: axonius.identity.event.data.admins + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.admins_saved_query_id + tag: rename_event_data_admins_saved_query_id + target_field: axonius.identity.event.data.admins_saved_query_id + ignore_missing: true + - rename: + field: json.event.data.application_id + tag: rename_event_data_application_id + target_field: axonius.identity.event.data.application_id + ignore_missing: true + - set: + field: service.id + tag: set_service_id_from_identity_event_data_application_id + copy_from: axonius.identity.event.data.application_id + ignore_empty_value: true + - rename: + field: json.event.data.application_name + tag: rename_event_data_application_name + target_field: axonius.identity.event.data.application_name + ignore_missing: true + - set: + field: service.name + tag: set_service_name_from_identity_event_data_application_name + copy_from: axonius.identity.event.data.application_name + ignore_empty_value: true + - rename: + field: json.event.data.asset_entity_info + tag: rename_event_data_asset_entity_info + target_field: axonius.identity.event.data.asset_entity_info + ignore_missing: true + - rename: + field: json.event.data.connected_assets + tag: rename_event_data_connected_assets + target_field: axonius.identity.event.data.connected_assets + ignore_missing: true + - rename: + field: json.event.data.connection_label + tag: rename_event_data_connection_label + target_field: axonius.identity.event.data.connection_label + ignore_missing: true + - date: + field: json.event.data.created_date + tag: date_event_data_created_date + target_field: axonius.identity.event.data.created_date + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.json?.event?.data?.created_date != null && ctx.json.event.data.created_date != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - set: + field: event.created + tag: set_event_created_from_identity_event_data_created_date + copy_from: axonius.identity.event.data.created_date + ignore_empty_value: true + - convert: + field: json.event.data.deleted_users + tag: convert_event_data_deleted_users_to_long + target_field: axonius.identity.event.data.deleted_users + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.deleted_users_saved_query_id + tag: rename_event_data_deleted_users_saved_query_id + target_field: axonius.identity.event.data.deleted_users_saved_query_id + ignore_missing: true + - convert: + field: json.event.data.direct_not_sso_users + tag: convert_event_data_direct_not_sso_users_to_long + target_field: axonius.identity.event.data.direct_not_sso_users + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.direct_not_sso_users_saved_query_id + tag: rename_event_data_direct_not_sso_users_saved_query_id + target_field: axonius.identity.event.data.direct_not_sso_users_saved_query_id + ignore_missing: true + - rename: + field: json.event.data.domains + tag: rename_event_data_domains + target_field: axonius.identity.event.data.domains + ignore_missing: true + - rename: + field: json.event.data.email + tag: rename_event_data_email + target_field: axonius.identity.event.data.email + ignore_missing: true + - set: + field: user.email + tag: set_user_email_from_identity_event_data_email + copy_from: axonius.identity.event.data.email + ignore_empty_value: true + - dissect: + tag: dissect_user_email + if: ctx.user?.email != null && ctx.user.email.contains('@') + field: user.email + pattern: '%{}@%{user.domain}' + - append: + field: related.user + tag: append_identity_event_data_email_into_related_user + value: '{{{axonius.identity.event.data.email}}}' + allow_duplicates: false + if: ctx.axonius?.identity?.event?.data?.email != null + - convert: + field: json.event.data.external_users + tag: convert_event_data_external_users_to_long + target_field: axonius.identity.event.data.external_users + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.external_users_saved_query_id + tag: rename_event_data_external_users_saved_query_id + target_field: axonius.identity.event.data.external_users_saved_query_id + ignore_missing: true + - rename: + field: json.event.data.gce_account_id + tag: rename_event_data_gce_account_id + target_field: axonius.identity.event.data.gce_account_id + ignore_missing: true + - convert: + field: json.event.data.inactive_users + tag: convert_event_data_inactive_users_to_long + target_field: axonius.identity.event.data.inactive_users + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.inactive_users_saved_query_id + tag: rename_event_data_inactive_users_saved_query_id + target_field: axonius.identity.event.data.inactive_users_saved_query_id + ignore_missing: true + - convert: + field: json.event.data.is_managed_by_direct_app + tag: convert_event_data_is_managed_by_direct_app_to_boolean + target_field: axonius.identity.event.data.is_managed_by_direct_app + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - date: + field: json.event.data.last_enrichment_run + tag: date_event_data_last_enrichment_run + target_field: axonius.identity.event.data.last_enrichment_run + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.json?.event?.data?.last_enrichment_run != null && ctx.json.event.data.last_enrichment_run != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.managed_non_operational_users + tag: convert_event_data_managed_non_operational_users_to_long + target_field: axonius.identity.event.data.managed_non_operational_users + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.managed_non_operational_users_saved_query_id + tag: rename_event_data_managed_non_operational_users_saved_query_id + target_field: axonius.identity.event.data.managed_non_operational_users_saved_query_id + ignore_missing: true + - convert: + field: json.event.data.managed_operational_users + tag: convert_event_data_managed_operational_users_to_long + target_field: axonius.identity.event.data.managed_operational_users + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.managed_operational_users_saved_query_id + tag: rename_event_data_managed_operational_users_saved_query_id + target_field: axonius.identity.event.data.managed_operational_users_saved_query_id + ignore_missing: true + - convert: + field: json.event.data.managed_users + tag: convert_event_data_managed_users_to_long + target_field: axonius.identity.event.data.managed_users + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.managed_users_by_app + tag: convert_event_data_managed_users_by_app_to_long + target_field: axonius.identity.event.data.managed_users_by_app + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.managed_users_by_app_saved_query_id + tag: rename_event_data_managed_users_by_app_saved_query_id + target_field: axonius.identity.event.data.managed_users_by_app_saved_query_id + ignore_missing: true + - convert: + field: json.event.data.managed_users_by_sso + tag: convert_event_data_managed_users_by_sso_to_long + target_field: axonius.identity.event.data.managed_users_by_sso + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.managed_users_by_sso_saved_query_id + tag: rename_event_data_managed_users_by_sso_saved_query_id + target_field: axonius.identity.event.data.managed_users_by_sso_saved_query_id + ignore_missing: true + - rename: + field: json.event.data.managed_users_saved_query_id + tag: rename_event_data_managed_users_saved_query_id + target_field: axonius.identity.event.data.managed_users_saved_query_id + ignore_missing: true + - convert: + field: json.event.data.orphaned_users + tag: convert_event_data_orphaned_users_to_long + target_field: axonius.identity.event.data.orphaned_users + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.orphaned_users_saved_query_id + tag: rename_event_data_orphaned_users_saved_query_id + target_field: axonius.identity.event.data.orphaned_users_saved_query_id + ignore_missing: true + - convert: + field: json.event.data.paid_users + tag: convert_event_data_paid_users_to_long + target_field: axonius.identity.event.data.paid_users + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.paid_users_saved_query_id + tag: rename_event_data_paid_users_saved_query_id + target_field: axonius.identity.event.data.paid_users_saved_query_id + ignore_missing: true + - rename: + field: json.event.data.project_ids + tag: rename_event_data_project_ids + target_field: axonius.identity.event.data.project_ids + ignore_missing: true + - rename: + field: json.event.data.project_tags + tag: rename_event_data_project_tags + target_field: axonius.identity.event.data.project_tags + ignore_missing: true + - rename: + field: json.event.data.projects_roles + tag: rename_event_data_projects_roles + target_field: axonius.identity.event.data.projects_roles + ignore_missing: true + - rename: + field: json.event.data.relatable_ids + tag: rename_event_data_relatable_ids + target_field: axonius.identity.event.data.relatable_ids + ignore_missing: true + - rename: + field: json.event.data.remote_account_id + tag: rename_event_data_remote_account_id + target_field: axonius.identity.event.data.remote_account_id + ignore_missing: true + - rename: + field: json.event.data.status + tag: rename_event_data_status + target_field: axonius.identity.event.data.status + ignore_missing: true + - convert: + field: json.event.data.suspended_users + tag: convert_event_data_suspended_users_to_long + target_field: axonius.identity.event.data.suspended_users + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.suspended_users_saved_query_id + tag: rename_event_data_suspended_users_saved_query_id + target_field: axonius.identity.event.data.suspended_users_saved_query_id + ignore_missing: true + - convert: + field: json.event.data.unlinked_users + tag: convert_event_data_unlinked_users_to_long + target_field: axonius.identity.event.data.unlinked_users + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.unlinked_users_saved_query_id + tag: rename_event_data_unlinked_users_saved_query_id + target_field: axonius.identity.event.data.unlinked_users_saved_query_id + ignore_missing: true +on_failure: + - append: + field: error.message + value: |- + Processor '{{{ _ingest.on_failure_processor_type }}}' + {{{#_ingest.on_failure_processor_tag}}}with tag '{{{ _ingest.on_failure_processor_tag }}}' + {{{/_ingest.on_failure_processor_tag}}}failed with message '{{{ _ingest.on_failure_message }}}' + - set: + field: event.kind + tag: set_pipeline_error_to_event_kind + value: pipeline_error + - append: + field: tags + value: preserve_original_event + allow_duplicates: false diff --git a/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-certificate.yml b/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-certificate.yml new file mode 100644 index 00000000000..ec24cdab16c --- /dev/null +++ b/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-certificate.yml @@ -0,0 +1,172 @@ +--- +description: Pipeline for processing certificate logs. +processors: + - rename: + field: json.event.data.alt_names + tag: rename_event_data_alt_names + target_field: axonius.identity.event.data.alt_names + ignore_missing: true + - date: + field: json.event.data.begins_on + tag: date_event_data_begins_on + target_field: axonius.identity.event.data.begins_on + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.json?.event?.data?.begins_on != null && ctx.json.event.data.begins_on != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - set: + field: event.start + tag: set_event_start_from_identity_event_data_begins_on + copy_from: axonius.identity.event.data.begins_on + ignore_empty_value: true + - convert: + field: json.event.data.bit_size + tag: convert_event_data_bit_size_to_long + target_field: axonius.identity.event.data.bit_size + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - date: + field: json.event.data.expires_on + tag: date_event_data_expires_on + target_field: axonius.identity.event.data.expires_on + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.json?.event?.data?.expires_on != null && ctx.json.event.data.expires_on != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - set: + field: event.end + tag: set_event_end_from_identity_event_data_expires_on + copy_from: axonius.identity.event.data.expires_on + ignore_empty_value: true + - rename: + field: json.event.data.issuer.common_name + tag: rename_event_data_issuer_common_name + target_field: axonius.identity.event.data.issuer.common_name + ignore_missing: true + - append: + field: file.x509.issuer.common_name + tag: append_axonius_identity_event_data_issuer_common_name_into_file_x509_issuer_common_name + value: '{{{axonius.identity.event.data.issuer.common_name}}}' + allow_duplicates: false + if: ctx.axonius?.identity?.event?.data?.issuer?.common_name != null + - rename: + field: json.event.data.issuer.country_name + tag: rename_event_data_issuer_country_name + target_field: axonius.identity.event.data.issuer.country_name + ignore_missing: true + - append: + field: file.x509.issuer.country + tag: append_axonius_identity_event_data_issuer_country_name_into_file_x509_issuer_country + value: '{{{axonius.identity.event.data.issuer.country_name}}}' + allow_duplicates: false + if: ctx.axonius?.identity?.event?.data?.issuer?.country_name != null + - rename: + field: json.event.data.issuer.organization + tag: rename_event_data_issuer_organization + target_field: axonius.identity.event.data.issuer.organization + ignore_missing: true + - append: + field: file.x509.issuer.organization + tag: append_axonius_identity_event_data_issuer_organization_into_file_x509_issuer_organization + value: '{{{axonius.identity.event.data.issuer.organization}}}' + allow_duplicates: false + if: ctx.axonius?.identity?.event?.data?.issuer?.organization != null + - rename: + field: json.event.data.serial_number + tag: rename_event_data_serial_number + target_field: axonius.identity.event.data.serial_number + ignore_missing: true + - set: + field: file.x509.serial_number + tag: set_file_x509_serial_number_from_identity_event_data_serial_number + copy_from: axonius.identity.event.data.serial_number + ignore_empty_value: true + - rename: + field: json.event.data.subject.common_name + tag: rename_event_data_subject_common_name + target_field: axonius.identity.event.data.subject.common_name + ignore_missing: true + - append: + field: file.x509.subject.common_name + tag: append_axonius_identity_event_data_subject_common_name_into_file_x509_subject_common_name + value: '{{{axonius.identity.event.data.subject.common_name}}}' + allow_duplicates: false + if: ctx.axonius?.identity?.event?.data?.subject?.common_name != null + - rename: + field: json.event.data.subject.country_name + tag: rename_event_data_subject_country_name + target_field: axonius.identity.event.data.subject.country_name + ignore_missing: true + - append: + field: file.x509.subject.country + tag: append_axonius_identity_event_data_subject_country_name_into_file_x509_subject_country + value: '{{{axonius.identity.event.data.subject.country_name}}}' + allow_duplicates: false + if: ctx.axonius?.identity?.event?.data?.subject?.country_name != null + - rename: + field: json.event.data.subject.locality + tag: rename_event_data_subject_locality + target_field: axonius.identity.event.data.subject.locality + ignore_missing: true + - append: + field: file.x509.subject.locality + tag: append_axonius_identity_event_data_subject_locality_into_file_x509_subject_locality + value: '{{{axonius.identity.event.data.subject.locality}}}' + allow_duplicates: false + if: ctx.axonius?.identity?.event?.data?.subject?.locality != null + - rename: + field: json.event.data.subject.organization + tag: rename_event_data_subject_organization + target_field: axonius.identity.event.data.subject.organization + ignore_missing: true + - append: + field: file.x509.subject.organization + tag: append_axonius_identity_event_data_subject_organization_into_file_x509_subject_organization + value: '{{{axonius.identity.event.data.subject.organization}}}' + allow_duplicates: false + if: ctx.axonius?.identity?.event?.data?.subject?.organization != null + - rename: + field: json.event.data.subject.state + tag: rename_event_data_subject_state + target_field: axonius.identity.event.data.subject.state + ignore_missing: true + - append: + field: file.x509.subject.state_or_province + tag: append_axonius_identity_event_data_subject_state_into_file_x509_subject_state_or_province + value: '{{{axonius.identity.event.data.subject.state}}}' + allow_duplicates: false + if: ctx.axonius?.identity?.event?.data?.subject?.state != null + - rename: + field: json.event.data.version + tag: rename_event_data_version + target_field: axonius.identity.event.data.version + ignore_missing: true +on_failure: + - append: + field: error.message + value: |- + Processor '{{{ _ingest.on_failure_processor_type }}}' + {{{#_ingest.on_failure_processor_tag}}}with tag '{{{ _ingest.on_failure_processor_tag }}}' + {{{/_ingest.on_failure_processor_tag}}}failed with message '{{{ _ingest.on_failure_message }}}' + - set: + field: event.kind + tag: set_pipeline_error_to_event_kind + value: pipeline_error + - append: + field: tags + value: preserve_original_event + allow_duplicates: false diff --git a/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-group.yml b/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-group.yml new file mode 100644 index 00000000000..279c2281a81 --- /dev/null +++ b/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-group.yml @@ -0,0 +1,139 @@ +--- +description: Pipeline for processing group logs. +processors: + - date: + field: json.event.data.first_seen + tag: date_event_data_first_seen + target_field: axonius.identity.event.data.first_seen + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.json?.event?.data?.first_seen != null && ctx.json.event.data.first_seen != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.roles + tag: foreach_event_data_roles_display_name + if: ctx.json?.event?.data?.roles instanceof List + processor: + append: + field: user.roles + tag: append_event_data_roles_display_name_into_user_roles + value: '{{{_ingest._value.display_name}}}' + allow_duplicates: false + - rename: + field: json.event.data.roles + tag: rename_event_data_roles + target_field: axonius.identity.event.data.roles + ignore_missing: true + - foreach: + field: json.event.data.user_count_link + tag: foreach_event_data_user_count_link_bracketWeight + if: ctx.json?.event?.data?.user_count_link instanceof List + processor: + convert: + field: _ingest._value.bracketWeight + tag: convert_event_data_user_count_link_bracketWeight_to_double + type: double + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.bracketWeight + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.user_count_link + tag: foreach_event_data_user_count_link_leftBracket + if: ctx.json?.event?.data?.user_count_link instanceof List + processor: + convert: + field: _ingest._value.leftBracket + tag: convert_event_data_user_count_link_leftBracket_to_double + type: double + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.leftBracket + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.user_count_link + tag: foreach_event_data_user_count_link_not + if: ctx.json?.event?.data?.user_count_link instanceof List + processor: + convert: + field: _ingest._value.not + tag: convert_event_data_user_count_link_not_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.not + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.user_count_link + tag: foreach_event_data_user_count_link_rightBracket + if: ctx.json?.event?.data?.user_count_link instanceof List + processor: + convert: + field: _ingest._value.rightBracket + tag: convert_event_data_user_count_link_rightBracket_to_double + type: double + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.rightBracket + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.user_count_link + tag: foreach_event_data_user_count_link_value + if: ctx.json?.event?.data?.user_count_link instanceof List + processor: + append: + field: related.user + tag: append_event_data_user_count_link_value_into_related_user + value: '{{{_ingest._value.value}}}' + allow_duplicates: false + - rename: + field: json.event.data.user_count_link + tag: rename_event_data_user_count_link + target_field: axonius.identity.event.data.user_count_link + ignore_missing: true + - foreach: + field: axonius.identity.event.data.roles + tag: foreach_axonius_identity_event_data_roles + if: ctx.axonius?.identity?.event?.data?.roles instanceof List + processor: + remove: + field: _ingest._value.display_name + tag: remove_custom_duplicate_fields_from_axonius_identity_event_data_roles + ignore_missing: true + if: ctx.tags == null || !ctx.tags.contains('preserve_duplicate_custom_fields') +on_failure: + - append: + field: error.message + value: |- + Processor '{{{ _ingest.on_failure_processor_type }}}' + {{{#_ingest.on_failure_processor_tag}}}with tag '{{{ _ingest.on_failure_processor_tag }}}' + {{{/_ingest.on_failure_processor_tag}}}failed with message '{{{ _ingest.on_failure_message }}}' + - set: + field: event.kind + tag: set_pipeline_error_to_event_kind + value: pipeline_error + - append: + field: tags + value: preserve_original_event + allow_duplicates: false diff --git a/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-user.yml b/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-user.yml new file mode 100644 index 00000000000..e25e86d3a37 --- /dev/null +++ b/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-user.yml @@ -0,0 +1,2070 @@ +--- +description: Pipeline for processing user logs. +processors: + - rename: + field: json.event.associated_adapter_plugin_name + tag: rename_event_associated_adapter_plugin_name + target_field: axonius.identity.event.associated_adapter_plugin_name + ignore_missing: true + - convert: + field: json.event.data.account_disabled + tag: convert_event_data_account_disabled_to_boolean + target_field: axonius.identity.event.data.account_disabled + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.active + tag: rename_event_data_active + target_field: axonius.identity.event.data.active + ignore_missing: true + - rename: + field: json.event.data.admin_roles + tag: rename_event_data_admin_roles + target_field: axonius.identity.event.data.admin_roles + ignore_missing: true + - foreach: + field: json.event.data.associated_devices + tag: foreach_event_data_associated_devices_device_id + if: ctx.json?.event?.data?.associated_devices instanceof List + processor: + foreach: + field: _ingest._value.device_id + tag: foreach_event_data_associated_devices_device_id + ignore_missing: true + processor: + append: + field: device.id + tag: append_event_data_associated_devices_device_id_into_device_id + value: '{{{_ingest._value}}}' + allow_duplicates: false + - foreach: + field: json.event.data.associated_devices + tag: foreach_event_data_associated_devices_device_model + if: ctx.json?.event?.data?.associated_devices instanceof List + processor: + foreach: + field: _ingest._value.device_model + tag: foreach_event_data_associated_devices_device_model + ignore_missing: true + processor: + append: + field: device.model.name + tag: append_event_data_associated_devices_device_model_into_device_model_name + value: '{{{_ingest._value}}}' + allow_duplicates: false + - foreach: + field: json.event.data.associated_devices + tag: foreach_event_data_associated_devices_device_serial + if: ctx.json?.event?.data?.associated_devices instanceof List + processor: + foreach: + field: _ingest._value.device_serial + tag: foreach_event_data_associated_devices_device_serial + ignore_missing: true + processor: + append: + field: device.serial_number + tag: append_event_data_associated_devices_device_serial_into_device_serial_number + value: '{{{_ingest._value}}}' + allow_duplicates: false + - foreach: + field: json.event.data.associated_devices + tag: foreach_event_data_associated_devices_device_preferred_mac_address + if: ctx.json?.event?.data?.associated_devices instanceof List + processor: + foreach: + field: _ingest._value.device_preferred_mac_address + tag: foreach_event_data_associated_devices_device_preferred_mac_address + ignore_missing: true + processor: + gsub: + field: _ingest._value + tag: gsub_event_data_device_preferred_mac_address + pattern: ':' + replacement: '-' + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.associated_devices + tag: foreach_event_data_associated_devices_device_preferred_mac_address + if: ctx.json?.event?.data?.associated_devices instanceof List + processor: + foreach: + field: _ingest._value.device_preferred_mac_address + tag: foreach_event_data_associated_devices_device_preferred_mac_address + ignore_missing: true + processor: + uppercase: + field: _ingest._value + tag: uppercase_event_data_device_preferred_mac_address + ignore_missing: true + - rename: + field: json.event.data.associated_devices + tag: rename_event_data_associated_devices + target_field: axonius.identity.event.data.associated_devices + ignore_missing: true + - foreach: + field: json.event.data.associated_employees + tag: foreach_event_data_associated_employees_username + if: ctx.json?.event?.data?.associated_employees instanceof List + processor: + foreach: + field: _ingest._value.username + tag: foreach_event_data_associated_employees_username + ignore_missing: true + processor: + append: + field: related.user + tag: append_event_data_associated_employees_username_into_related_user + value: '{{{_ingest._value}}}' + allow_duplicates: false + - rename: + field: json.event.data.associated_employees + tag: rename_event_data_associated_employees + target_field: axonius.identity.event.data.associated_employees + ignore_missing: true + - foreach: + field: json.event.data.associated_groups + tag: foreach_event_data_associated_groups_display_name + if: ctx.json?.event?.data?.associated_groups instanceof List + processor: + append: + field: related.user + tag: append_event_data_associated_groups_display_name_into_related_user + value: '{{{_ingest._value.display_name}}}' + allow_duplicates: false + - rename: + field: json.event.data.associated_groups + tag: rename_event_data_associated_groups + target_field: axonius.identity.event.data.associated_groups + ignore_missing: true + - rename: + field: json.event.data.associated_licenses + tag: rename_event_data_associated_licenses + target_field: axonius.identity.event.data.associated_licenses + ignore_missing: true + - rename: + field: json.event.data.aws_iam_identity_type + tag: rename_event_data_aws_iam_identity_type + target_field: axonius.identity.event.data.aws_iam_identity_type + ignore_missing: true + - set: + field: cloud.service.name + tag: set_cloud_service_name_from_identity_event_data_aws_iam_identity_type + copy_from: axonius.identity.event.data.aws_iam_identity_type + ignore_empty_value: true + - rename: + field: json.event.data.azure_account_id + tag: rename_event_data_azure_account_id + target_field: axonius.identity.event.data.azure_account_id + ignore_missing: true + - set: + field: cloud.account.id + tag: set_cloud_account_id_from_identity_event_data_azure_account_id + copy_from: axonius.identity.event.data.azure_account_id + ignore_empty_value: true + - foreach: + field: json.event.data.breaches_data + tag: foreach_event_data_breaches_data_added_date + if: ctx.json?.event?.data?.breaches_data instanceof List + processor: + date: + field: _ingest._value.added_date + tag: date_event_data_breaches_data_added_date + target_field: _ingest._value.added_date + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + on_failure: + - remove: + field: _ingest._value.added_date + ignore_missing: true + - foreach: + field: json.event.data.breaches_data + tag: foreach_event_data_breaches_data_added_date + if: ctx.json?.event?.data?.breaches_data instanceof List + processor: + append: + field: threat.enrichments.indicator.first_seen + tag: append_event_data_breaches_data_added_date_into_threat_enrichments_indicator_first_seen + value: '{{{_ingest._value.added_date}}}' + allow_duplicates: false + - foreach: + field: json.event.data.breaches_data + tag: foreach_event_data_breaches_data_breach_date + if: ctx.json?.event?.data?.breaches_data instanceof List + processor: + date: + field: _ingest._value.breach_date + tag: date_event_data_breaches_data_breach_date + target_field: _ingest._value.breach_date + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + on_failure: + - remove: + field: _ingest._value.breach_date + ignore_missing: true + - foreach: + field: json.event.data.breaches_data + tag: foreach_event_data_breaches_data_is_fabricated + if: ctx.json?.event?.data?.breaches_data instanceof List + processor: + convert: + field: _ingest._value.is_fabricated + tag: convert_event_data_breaches_data_is_fabricated_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.is_fabricated + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.breaches_data + tag: foreach_event_data_breaches_data_is_retired + if: ctx.json?.event?.data?.breaches_data instanceof List + processor: + convert: + field: _ingest._value.is_retired + tag: convert_event_data_breaches_data_is_retired_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.is_retired + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.breaches_data + tag: foreach_event_data_breaches_data_is_sensitive + if: ctx.json?.event?.data?.breaches_data instanceof List + processor: + convert: + field: _ingest._value.is_sensitive + tag: convert_event_data_breaches_data_is_sensitive_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.is_sensitive + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.breaches_data + tag: foreach_event_data_breaches_data_is_spam_list + if: ctx.json?.event?.data?.breaches_data instanceof List + processor: + convert: + field: _ingest._value.is_spam_list + tag: convert_event_data_breaches_data_is_spam_list_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.is_spam_list + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.breaches_data + tag: foreach_event_data_breaches_data_is_verified + if: ctx.json?.event?.data?.breaches_data instanceof List + processor: + convert: + field: _ingest._value.is_verified + tag: convert_event_data_breaches_data_is_verified_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.is_verified + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.breaches_data + tag: foreach_event_data_breaches_data_modified_date + if: ctx.json?.event?.data?.breaches_data instanceof List + processor: + date: + field: _ingest._value.modified_date + tag: date_event_data_breaches_data_modified_date + target_field: _ingest._value.modified_date + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + on_failure: + - remove: + field: _ingest._value.modified_date + ignore_missing: true + - foreach: + field: json.event.data.breaches_data + tag: foreach_event_data_breaches_data_pwn_count + if: ctx.json?.event?.data?.breaches_data instanceof List + processor: + convert: + field: _ingest._value.pwn_count + tag: convert_event_data_breaches_data_pwn_count_to_long + type: long + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.pwn_count + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.breaches_data + tag: rename_event_data_breaches_data + target_field: axonius.identity.event.data.breaches_data + ignore_missing: true + - rename: + field: json.event.data.class_name + tag: rename_event_data_class_name + target_field: axonius.identity.event.data.class_name + ignore_missing: true + - rename: + field: json.event.data.cloud_provider + tag: rename_event_data_cloud_provider + target_field: axonius.identity.event.data.cloud_provider + ignore_missing: true + - set: + field: cloud.provider + tag: set_cloud_provider_from_identity_event_data_cloud_provider + copy_from: axonius.identity.event.data.cloud_provider + ignore_empty_value: true + - convert: + field: json.event.data.distinct_associated_devices_count + tag: convert_event_data_distinct_associated_devices_count_to_long + target_field: axonius.identity.event.data.distinct_associated_devices_count + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.email_activity.is_deleted + tag: convert_event_data_email_activity_is_deleted_to_boolean + target_field: axonius.identity.event.data.email_activity.is_deleted + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.email_activity.product_license + tag: rename_event_data_email_activity_product_license + target_field: axonius.identity.event.data.email_activity.product_license + ignore_missing: true + - convert: + field: json.event.data.email_activity.read_count + tag: convert_event_data_email_activity_read_count_to_long + target_field: axonius.identity.event.data.email_activity.read_count + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.email_activity.receive_count + tag: convert_event_data_email_activity_receive_count_to_long + target_field: axonius.identity.event.data.email_activity.receive_count + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - date: + field: json.event.data.email_activity.report_date + tag: date_event_data_email_activity_report_date + target_field: axonius.identity.event.data.email_activity.report_date + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.json?.event?.data?.email_activity?.report_date != null && ctx.json.event.data.email_activity.report_date != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.email_activity.report_period + tag: convert_event_data_email_activity_report_period_to_long + target_field: axonius.identity.event.data.email_activity.report_period + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.email_activity.send_count + tag: convert_event_data_email_activity_send_count_to_long + target_field: axonius.identity.event.data.email_activity.send_count + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.email_notification.alternative_host_reminder + tag: convert_event_data_email_notification_alternative_host_reminder_to_boolean + target_field: axonius.identity.event.data.email_notification.alternative_host_reminder + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.email_notification.cancel_meeting_reminder + tag: convert_event_data_email_notification_cancel_meeting_reminder_to_boolean + target_field: axonius.identity.event.data.email_notification.cancel_meeting_reminder + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.email_notification.jbh_reminder + tag: convert_event_data_email_notification_jbh_reminder_to_boolean + target_field: axonius.identity.event.data.email_notification.jbh_reminder + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.employee_id + tag: rename_event_data_employee_id + target_field: axonius.identity.event.data.employee_id + ignore_missing: true + - rename: + field: json.event.data.employee_number + tag: rename_event_data_employee_number + target_field: axonius.identity.event.data.employee_number + ignore_missing: true + - rename: + field: json.event.data.employee_type + tag: rename_event_data_employee_type + target_field: axonius.identity.event.data.employee_type + ignore_missing: true + - convert: + field: json.event.data.feature.cn_meeting + tag: convert_event_data_feature_cn_meeting_to_boolean + target_field: axonius.identity.event.data.feature.cn_meeting + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.feature.in_meeting + tag: convert_event_data_feature_in_meeting_to_boolean + target_field: axonius.identity.event.data.feature.in_meeting + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.feature.large_meeting + tag: convert_event_data_feature_large_meeting_to_boolean + target_field: axonius.identity.event.data.feature.large_meeting + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.feature.meeting_capacity + tag: convert_event_data_feature_meeting_capacity_to_long + target_field: axonius.identity.event.data.feature.meeting_capacity + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.feature.webinar + tag: convert_event_data_feature_webinar_to_boolean + target_field: axonius.identity.event.data.feature.webinar + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.feature.zoom_phone + tag: convert_event_data_feature_zoom_phone_to_boolean + target_field: axonius.identity.event.data.feature.zoom_phone + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.first_name + tag: rename_event_data_first_name + target_field: axonius.identity.event.data.first_name + ignore_missing: true + - append: + field: related.user + tag: append_identity_event_data_first_name_into_related_user + value: '{{{axonius.identity.event.data.first_name}}}' + allow_duplicates: false + if: ctx.axonius?.identity?.event?.data?.first_name != null + - date: + field: json.event.data.hire_date + tag: date_event_data_hire_date + target_field: axonius.identity.event.data.hire_date + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.json?.event?.data?.hire_date != null && ctx.json.event.data.hire_date != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.hr_employment_status + tag: rename_event_data_hr_employment_status + target_field: axonius.identity.event.data.hr_employment_status + ignore_missing: true + - convert: + field: json.event.data.in_meeting.allow_live_streaming + tag: convert_event_data_in_meeting_allow_live_streaming_to_boolean + target_field: axonius.identity.event.data.in_meeting.allow_live_streaming + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.in_meeting.annotation + tag: convert_event_data_in_meeting_annotation_to_boolean + target_field: axonius.identity.event.data.in_meeting.annotation + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.in_meeting.attendee_on_hold + tag: convert_event_data_in_meeting_attendee_on_hold_to_boolean + target_field: axonius.identity.event.data.in_meeting.attendee_on_hold + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.in_meeting.auto_saving_chat + tag: convert_event_data_in_meeting_auto_saving_chat_to_boolean + target_field: axonius.identity.event.data.in_meeting.auto_saving_chat + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.in_meeting.breakout_room + tag: convert_event_data_in_meeting_breakout_room_to_boolean + target_field: axonius.identity.event.data.in_meeting.breakout_room + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.in_meeting.chat + tag: convert_event_data_in_meeting_chat_to_boolean + target_field: axonius.identity.event.data.in_meeting.chat + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.in_meeting.closed_caption + tag: convert_event_data_in_meeting_closed_caption_to_boolean + target_field: axonius.identity.event.data.in_meeting.closed_caption + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.in_meeting.co_host + tag: convert_event_data_in_meeting_co_host_to_boolean + target_field: axonius.identity.event.data.in_meeting.co_host + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.in_meeting.data_center_regions + tag: rename_event_data_in_meeting_data_center_regions + target_field: axonius.identity.event.data.in_meeting.data_center_regions + ignore_missing: true + - convert: + field: json.event.data.in_meeting.e2e_encryption + tag: convert_event_data_in_meeting_e2e_encryption_to_boolean + target_field: axonius.identity.event.data.in_meeting.e2e_encryption + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.in_meeting.entry_exit_chime + tag: convert_event_data_in_meeting_entry_exit_chime_to_boolean + target_field: axonius.identity.event.data.in_meeting.entry_exit_chime + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.in_meeting.far_end_camera_control + tag: convert_event_data_in_meeting_far_end_camera_control_to_boolean + target_field: axonius.identity.event.data.in_meeting.far_end_camera_control + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.in_meeting.feedback + tag: convert_event_data_in_meeting_feedback_to_boolean + target_field: axonius.identity.event.data.in_meeting.feedback + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.in_meeting.group_hd + tag: convert_event_data_in_meeting_group_hd_to_boolean + target_field: axonius.identity.event.data.in_meeting.group_hd + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.in_meeting.non_verbal_feedback + tag: convert_event_data_in_meeting_non_verbal_feedback_to_boolean + target_field: axonius.identity.event.data.in_meeting.non_verbal_feedback + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.in_meeting.polling + tag: convert_event_data_in_meeting_polling_to_boolean + target_field: axonius.identity.event.data.in_meeting.polling + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.in_meeting.private_chat + tag: convert_event_data_in_meeting_private_chat_to_boolean + target_field: axonius.identity.event.data.in_meeting.private_chat + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.in_meeting.record_play_voice + tag: convert_event_data_in_meeting_record_play_voice_to_boolean + target_field: axonius.identity.event.data.in_meeting.record_play_voice + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.in_meeting.remote_control + tag: convert_event_data_in_meeting_remote_control_to_boolean + target_field: axonius.identity.event.data.in_meeting.remote_control + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.in_meeting.remote_support + tag: convert_event_data_in_meeting_remote_support_to_boolean + target_field: axonius.identity.event.data.in_meeting.remote_support + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.in_meeting.share_dual_camera + tag: convert_event_data_in_meeting_share_dual_camera_to_boolean + target_field: axonius.identity.event.data.in_meeting.share_dual_camera + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.in_meeting.show_meeting_control_toolbar + tag: convert_event_data_in_meeting_show_meeting_control_toolbar_to_boolean + target_field: axonius.identity.event.data.in_meeting.show_meeting_control_toolbar + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.in_meeting.virtual_background + tag: convert_event_data_in_meeting_virtual_background_to_boolean + target_field: axonius.identity.event.data.in_meeting.virtual_background + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.in_meeting.waiting_room + tag: convert_event_data_in_meeting_waiting_room_to_boolean + target_field: axonius.identity.event.data.in_meeting.waiting_room + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.in_meeting.workplace_by_facebook + tag: convert_event_data_in_meeting_workplace_by_facebook_to_boolean + target_field: axonius.identity.event.data.in_meeting.workplace_by_facebook + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.internal_is_admin + tag: convert_event_data_internal_is_admin_to_boolean + target_field: axonius.identity.event.data.internal_is_admin + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.is_active + tag: convert_event_data_is_active_to_boolean + target_field: axonius.identity.event.data.is_active + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.is_delegated_admin + tag: convert_event_data_is_delegated_admin_to_boolean + target_field: axonius.identity.event.data.is_delegated_admin + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.is_from_sso_provider + tag: convert_event_data_is_from_sso_provider_to_boolean + target_field: axonius.identity.event.data.is_from_sso_provider + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.is_latest_last_seen + tag: convert_event_data_is_latest_last_seen_to_boolean + target_field: axonius.identity.event.data.is_latest_last_seen + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.is_managed_by_application + tag: convert_event_data_is_managed_by_application_to_boolean + target_field: axonius.identity.event.data.is_managed_by_application + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.is_mfa_enforced + tag: convert_event_data_is_mfa_enforced_to_boolean + target_field: axonius.identity.event.data.is_mfa_enforced + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.is_mfa_enrolled + tag: convert_event_data_is_mfa_enrolled_to_boolean + target_field: axonius.identity.event.data.is_mfa_enrolled + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.is_non_editable + tag: convert_event_data_is_non_editable_to_boolean + target_field: axonius.identity.event.data.is_non_editable + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.is_paid + tag: convert_event_data_is_paid_to_boolean + target_field: axonius.identity.event.data.is_paid + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.is_permission_adapter + tag: convert_event_data_is_permission_adapter_to_boolean + target_field: axonius.identity.event.data.is_permission_adapter + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.is_saas_user + tag: convert_event_data_is_saas_user_to_boolean + target_field: axonius.identity.event.data.is_saas_user + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.is_user_active + tag: convert_event_data_is_user_active_to_boolean + target_field: axonius.identity.event.data.is_user_active + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.is_user_deleted + tag: convert_event_data_is_user_deleted_to_boolean + target_field: axonius.identity.event.data.is_user_deleted + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.is_user_external + tag: convert_event_data_is_user_external_to_boolean + target_field: axonius.identity.event.data.is_user_external + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.is_user_inactive + tag: convert_event_data_is_user_inactive_to_boolean + target_field: axonius.identity.event.data.is_user_inactive + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.is_user_suspended + tag: convert_event_data_is_user_suspended_to_boolean + target_field: axonius.identity.event.data.is_user_suspended + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.last_client_version + tag: rename_event_data_last_client_version + target_field: axonius.identity.event.data.last_client_version + ignore_missing: true + - date: + field: json.event.data.last_login_attempt + tag: date_event_data_last_login_attempt + target_field: axonius.identity.event.data.last_login_attempt + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.json?.event?.data?.last_login_attempt != null && ctx.json.event.data.last_login_attempt != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - date: + field: json.event.data.last_logon + tag: date_event_data_last_logon + target_field: axonius.identity.event.data.last_logon + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.json?.event?.data?.last_logon != null && ctx.json.event.data.last_logon != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.last_name + tag: rename_event_data_last_name + target_field: axonius.identity.event.data.last_name + ignore_missing: true + - append: + field: related.user + tag: append_identity_event_data_last_name_into_related_user + value: '{{{axonius.identity.event.data.last_name}}}' + allow_duplicates: false + if: ctx.axonius?.identity?.event?.data?.last_name != null + - date: + field: json.event.data.last_password_change + tag: date_event_data_last_password_change + target_field: axonius.identity.event.data.last_password_change + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.json?.event?.data?.last_password_change != null && ctx.json.event.data.last_password_change != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - date: + field: json.event.data.last_seen + tag: date_event_data_last_seen + target_field: axonius.identity.event.data.last_seen + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.json?.event?.data?.last_seen != null && ctx.json.event.data.last_seen != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.mail + tag: rename_event_data_mail + target_field: axonius.identity.event.data.mail + ignore_missing: true + - set: + field: user.email + tag: set_user_email_from_identity_event_data_mail + copy_from: axonius.identity.event.data.mail + ignore_empty_value: true + - dissect: + tag: dissect_user_email + if: ctx.user?.email != null && ctx.user.email.contains('@') + field: user.email + pattern: '%{}@%{user.domain}' + - append: + field: related.user + tag: append_identity_event_data_mail_into_related_user + value: '{{{axonius.identity.event.data.mail}}}' + allow_duplicates: false + if: ctx.axonius?.identity?.event?.data?.mail != null + - rename: + field: json.event.data.manager_id + tag: rename_event_data_manager_id + target_field: axonius.identity.event.data.manager_id + ignore_missing: true + - append: + field: related.user + tag: append_identity_event_data_manager_id_into_related_user + value: '{{{axonius.identity.event.data.manager_id}}}' + allow_duplicates: false + if: ctx.axonius?.identity?.event?.data?.manager_id != null + - date: + field: json.event.data.max_added_date + tag: date_event_data_max_added_date + target_field: axonius.identity.event.data.max_added_date + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.json?.event?.data?.max_added_date != null && ctx.json.event.data.max_added_date != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - date: + field: json.event.data.max_breach_date + tag: date_event_data_max_breach_date + target_field: axonius.identity.event.data.max_breach_date + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.json?.event?.data?.max_breach_date != null && ctx.json.event.data.max_breach_date != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - date: + field: json.event.data.max_modified_date + tag: date_event_data_max_modified_date + target_field: axonius.identity.event.data.max_modified_date + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.json?.event?.data?.max_modified_date != null && ctx.json.event.data.max_modified_date != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - date: + field: json.event.data.nested_grants_managers_last_updated + tag: date_event_data_nested_grants_managers_last_updated + target_field: axonius.identity.event.data.nested_grants_managers_last_updated + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.json?.event?.data?.nested_grants_managers_last_updated != null && ctx.json.event.data.nested_grants_managers_last_updated != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.nested_managers + tag: foreach_event_data_nested_managers_value + if: ctx.json?.event?.data?.nested_managers instanceof List + processor: + append: + field: related.user + tag: append_event_data_nested_managers_value_into_related_user + value: '{{{_ingest._value.value}}}' + allow_duplicates: false + - rename: + field: json.event.data.nested_managers + tag: rename_event_data_nested_managers + target_field: axonius.identity.event.data.nested_managers + ignore_missing: true + - foreach: + field: json.event.data.nested_permissions + tag: foreach_event_data_nested_permissions_has_administrative_permissions + if: ctx.json?.event?.data?.nested_permissions instanceof List + processor: + convert: + field: _ingest._value.has_administrative_permissions + tag: convert_event_data_nested_permissions_has_administrative_permissions_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.has_administrative_permissions + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.nested_permissions + tag: foreach_event_data_nested_permissions_is_admin + if: ctx.json?.event?.data?.nested_permissions instanceof List + processor: + convert: + field: _ingest._value.is_admin + tag: convert_event_data_nested_permissions_is_admin_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.is_admin + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.nested_permissions + tag: rename_event_data_nested_permissions + target_field: axonius.identity.event.data.nested_permissions + ignore_missing: true + - foreach: + field: json.event.data.oracle_cloud_cis_incompliant + tag: foreach_event_data_oracle_cloud_cis_incompliant_rule_section + if: ctx.json?.event?.data?.oracle_cloud_cis_incompliant instanceof List + processor: + convert: + field: _ingest._value.rule_section + tag: convert_event_data_oracle_cloud_cis_incompliant_rule_section_to_float + type: float + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.rule_section + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.oracle_cloud_cis_incompliant + tag: foreach_event_data_oracle_cloud_cis_incompliant_rule_cis_version + if: ctx.json?.event?.data?.oracle_cloud_cis_incompliant instanceof List + processor: + convert: + field: _ingest._value.rule_cis_version + tag: convert_event_data_oracle_cloud_cis_incompliant_rule_cis_version_to_float + type: float + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.rule_cis_version + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.oracle_cloud_cis_incompliant + tag: rename_event_data_oracle_cloud_cis_incompliant + target_field: axonius.identity.event.data.oracle_cloud_cis_incompliant + ignore_missing: true + - convert: + field: json.event.data.password_never_expires + tag: convert_event_data_password_never_expires_to_boolean + target_field: axonius.identity.event.data.password_never_expires + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.password_not_required + tag: convert_event_data_password_not_required_to_boolean + target_field: axonius.identity.event.data.password_not_required + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.pmi + tag: convert_event_data_pmi_into_keyword + type: string + target_field: axonius.identity.event.data.pmi + ignore_missing: true + - rename: + field: json.event.data.provider_name + tag: rename_event_data_provider_name + target_field: axonius.identity.event.data.provider_name + ignore_missing: true + - rename: + field: json.event.data.provider_type + tag: rename_event_data_provider_type + target_field: axonius.identity.event.data.provider_type + ignore_missing: true + - convert: + field: json.event.data.recording.auto_delete_cmr + tag: convert_event_data_recording_auto_delete_cmr_to_boolean + target_field: axonius.identity.event.data.recording.auto_delete_cmr + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.recording.auto_delete_cmr_days + tag: convert_event_data_recording_auto_delete_cmr_days_to_boolean + target_field: axonius.identity.event.data.recording.auto_delete_cmr_days + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.recording.auto_recording + tag: convert_event_data_recording_auto_recording_to_boolean + target_field: axonius.identity.event.data.recording.auto_recording + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.recording.cloud_recording + tag: convert_event_data_recording_cloud_recording_to_boolean + target_field: axonius.identity.event.data.recording.cloud_recording + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.recording.host_pause_stop_recording + tag: convert_event_data_recording_host_pause_stop_recording_to_boolean + target_field: axonius.identity.event.data.recording.host_pause_stop_recording + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.recording.local_recording + tag: convert_event_data_recording_local_recording_to_boolean + target_field: axonius.identity.event.data.recording.local_recording + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.recording.record_audio_file + tag: convert_event_data_recording_record_audio_file_to_boolean + target_field: axonius.identity.event.data.recording.record_audio_file + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.recording.record_gallery_view + tag: convert_event_data_recording_record_gallery_view_to_boolean + target_field: axonius.identity.event.data.recording.record_gallery_view + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.recording.record_speaker_view + tag: convert_event_data_recording_record_speaker_view_to_boolean + target_field: axonius.identity.event.data.recording.record_speaker_view + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.recording.recording_audio_transcript + tag: convert_event_data_recording_recording_audio_transcript_to_boolean + target_field: axonius.identity.event.data.recording.recording_audio_transcript + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.recording.save_chat_text + tag: convert_event_data_recording_save_chat_text_to_boolean + target_field: axonius.identity.event.data.recording.save_chat_text + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.recording.show_timestamp + tag: convert_event_data_recording_show_timestamp_to_boolean + target_field: axonius.identity.event.data.recording.show_timestamp + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.recovery_question_set + tag: convert_event_data_recovery_question_set_to_boolean + target_field: axonius.identity.event.data.recovery_question_set + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.schedule_meeting.audio_type + tag: rename_event_data_schedule_meeting_audio_type + target_field: axonius.identity.event.data.schedule_meeting.audio_type + ignore_missing: true + - convert: + field: json.event.data.schedule_meeting.force_pmi_jbh_password + tag: convert_event_data_schedule_meeting_force_pmi_jbh_password_to_boolean + target_field: axonius.identity.event.data.schedule_meeting.force_pmi_jbh_password + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.schedule_meeting.host_video + tag: convert_event_data_schedule_meeting_host_video_to_boolean + target_field: axonius.identity.event.data.schedule_meeting.host_video + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.schedule_meeting.join_before_host + tag: convert_event_data_schedule_meeting_join_before_host_to_boolean + target_field: axonius.identity.event.data.schedule_meeting.join_before_host + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.schedule_meeting.participants_video + tag: convert_event_data_schedule_meeting_participants_video_to_boolean + target_field: axonius.identity.event.data.schedule_meeting.participants_video + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.schedule_meeting.pstn_password_protected + tag: convert_event_data_schedule_meeting_pstn_password_protected_to_boolean + target_field: axonius.identity.event.data.schedule_meeting.pstn_password_protected + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.schedule_meeting.require_password_for_instant_meetings + tag: convert_event_data_schedule_meeting_require_password_for_instant_meetings_to_boolean + target_field: axonius.identity.event.data.schedule_meeting.require_password_for_instant_meetings + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.schedule_meeting.require_password_for_pmi_meetings + tag: convert_event_data_schedule_meeting_require_password_for_pmi_meetings_to_boolean + target_field: axonius.identity.event.data.schedule_meeting.require_password_for_pmi_meetings + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.schedule_meeting.require_password_for_scheduled_meetings + tag: convert_event_data_schedule_meeting_require_password_for_scheduled_meetings_to_boolean + target_field: axonius.identity.event.data.schedule_meeting.require_password_for_scheduled_meetings + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.schedule_meeting.require_password_for_scheduling_new_meetings + tag: convert_event_data_schedule_meeting_require_password_for_scheduling_new_meetings_to_boolean + target_field: axonius.identity.event.data.schedule_meeting.require_password_for_scheduling_new_meetings + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.schedule_meeting.use_pmi_for_instant_meetings + tag: convert_event_data_schedule_meeting_use_pmi_for_instant_meetings_to_boolean + target_field: axonius.identity.event.data.schedule_meeting.use_pmi_for_instant_meetings + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.schedule_meeting.use_pmi_for_scheduled_meetings + tag: convert_event_data_schedule_meeting_use_pmi_for_scheduled_meetings_to_boolean + target_field: axonius.identity.event.data.schedule_meeting.use_pmi_for_scheduled_meetings + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.shirt_size + tag: rename_event_data_shirt_size + target_field: axonius.identity.event.data.shirt_size + ignore_missing: true + - rename: + field: json.event.data.snow_full_name + tag: rename_event_data_snow_full_name + target_field: axonius.identity.event.data.snow_full_name + ignore_missing: true + - append: + field: related.user + tag: append_identity_event_data_snow_full_name_into_related_user + value: '{{{axonius.identity.event.data.snow_full_name}}}' + allow_duplicates: false + if: ctx.axonius?.identity?.event?.data?.snow_full_name != null + - rename: + field: json.event.data.snow_location + tag: rename_event_data_snow_location + target_field: axonius.identity.event.data.snow_location + ignore_missing: true + - date: + field: json.event.data.status_changed + tag: date_event_data_status_changed + target_field: axonius.identity.event.data.status_changed + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.json?.event?.data?.status_changed != null && ctx.json.event.data.status_changed != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.telephony.show_international_numbers_link + tag: convert_event_data_telephony_show_international_numbers_link_to_boolean + target_field: axonius.identity.event.data.telephony.show_international_numbers_link + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.telephony.third_party_audio + tag: convert_event_data_telephony_third_party_audio_to_boolean + target_field: axonius.identity.event.data.telephony.third_party_audio + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.timezone + tag: rename_event_data_timezone + target_field: axonius.identity.event.data.timezone + ignore_missing: true + - convert: + field: json.event.data.tsp.call_out + tag: convert_event_data_tsp_call_out_to_boolean + target_field: axonius.identity.event.data.tsp.call_out + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: json.event.data.tsp.show_international_numbers_link + tag: convert_event_data_tsp_show_international_numbers_link_to_boolean + target_field: axonius.identity.event.data.tsp.show_international_numbers_link + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.u_department + tag: rename_event_data_u_department + target_field: axonius.identity.event.data.u_department + ignore_missing: true + - convert: + field: json.event.data.u_vip + tag: convert_event_data_u_vip_to_boolean + target_field: axonius.identity.event.data.u_vip + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - date: + field: json.event.data.updated_on + tag: date_event_data_updated_on + target_field: axonius.identity.event.data.updated_on + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.json?.event?.data?.updated_on != null && ctx.json.event.data.updated_on != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.user_apps + tag: foreach_event_data_user_apps_active_from_direct_adapter + if: ctx.json?.event?.data?.user_apps instanceof List + processor: + convert: + field: _ingest._value.active_from_direct_adapter + tag: convert_event_data_user_apps_active_from_direct_adapter_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.active_from_direct_adapter + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.user_apps + tag: foreach_event_data_user_apps_is_from_direct_adapter + if: ctx.json?.event?.data?.user_apps instanceof List + processor: + convert: + field: _ingest._value.is_from_direct_adapter + tag: convert_event_data_user_apps_is_from_direct_adapter_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.is_from_direct_adapter + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.user_apps + tag: foreach_event_data_user_apps_is_managed + if: ctx.json?.event?.data?.user_apps instanceof List + processor: + convert: + field: _ingest._value.is_managed + tag: convert_event_data_user_apps_is_managed_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.is_managed + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.user_apps + tag: foreach_event_data_user_apps_is_saas_application + if: ctx.json?.event?.data?.user_apps instanceof List + processor: + convert: + field: _ingest._value.is_saas_application + tag: convert_event_data_user_apps_is_saas_application_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.is_saas_application + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.user_apps + tag: foreach_event_data_user_apps_is_unmanaged_extension + if: ctx.json?.event?.data?.user_apps instanceof List + processor: + convert: + field: _ingest._value.is_unmanaged_extension + tag: convert_event_data_user_apps_is_unmanaged_extension_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.is_unmanaged_extension + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.user_apps + tag: foreach_event_data_user_apps_is_user_deleted + if: ctx.json?.event?.data?.user_apps instanceof List + processor: + convert: + field: _ingest._value.is_user_deleted + tag: convert_event_data_user_apps_is_user_deleted_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.is_user_deleted + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.user_apps + tag: foreach_event_data_user_apps_is_user_external + if: ctx.json?.event?.data?.user_apps instanceof List + processor: + convert: + field: _ingest._value.is_user_external + tag: convert_event_data_user_apps_is_user_external_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.is_user_external + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.user_apps + tag: foreach_event_data_user_apps_is_user_paid + if: ctx.json?.event?.data?.user_apps instanceof List + processor: + convert: + field: _ingest._value.is_user_paid + tag: convert_event_data_user_apps_is_user_paid_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.is_user_paid + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.user_apps + tag: foreach_event_data_user_apps_is_user_suspended + if: ctx.json?.event?.data?.user_apps instanceof List + processor: + convert: + field: _ingest._value.is_user_suspended + tag: convert_event_data_user_apps_is_user_suspended_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.is_user_suspended + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.user_apps + tag: foreach_event_data_user_apps_last_access + if: ctx.json?.event?.data?.user_apps instanceof List + processor: + date: + field: _ingest._value.last_access + tag: date_event_data_user_apps_last_access + target_field: _ingest._value.last_access + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + on_failure: + - remove: + field: _ingest._value.last_access + ignore_missing: true + - rename: + field: json.event.data.user_apps + tag: rename_event_data_user_apps + target_field: axonius.identity.event.data.user_apps + ignore_missing: true + - rename: + field: json.event.data.user_country + tag: rename_event_data_user_country + target_field: axonius.identity.event.data.user_country + ignore_missing: true + - date: + field: json.event.data.user_created + tag: date_event_data_user_created + target_field: axonius.identity.event.data.user_created + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.json?.event?.data?.user_created != null && ctx.json.event.data.user_created != '' + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - set: + field: event.created + tag: set_event_created_from_identity_event_data_user_created + copy_from: axonius.identity.event.data.user_created + ignore_empty_value: true + - rename: + field: json.event.data.user_department + tag: rename_event_data_user_department + target_field: axonius.identity.event.data.user_department + ignore_missing: true + - foreach: + field: json.event.data.user_factors + tag: foreach_event_data_user_factors_created + if: ctx.json?.event?.data?.user_factors instanceof List + processor: + date: + field: _ingest._value.created + tag: date_event_data_user_factors_created + target_field: _ingest._value.created + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + on_failure: + - remove: + field: _ingest._value.created + ignore_missing: true + - foreach: + field: json.event.data.user_factors + tag: foreach_event_data_user_factors_is_enabled + if: ctx.json?.event?.data?.user_factors instanceof List + processor: + convert: + field: _ingest._value.is_enabled + tag: convert_event_data_user_factors_is_enabled_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.is_enabled + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: json.event.data.user_factors + tag: foreach_event_data_user_factors_last_updated + if: ctx.json?.event?.data?.user_factors instanceof List + processor: + date: + field: _ingest._value.last_updated + tag: date_event_data_user_factors_last_updated + target_field: _ingest._value.last_updated + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + on_failure: + - remove: + field: _ingest._value.last_updated + ignore_missing: true + - rename: + field: json.event.data.user_factors + tag: rename_event_data_user_factors + target_field: axonius.identity.event.data.user_factors + ignore_missing: true + - rename: + field: json.event.data.user_full_name + tag: rename_event_data_user_full_name + target_field: axonius.identity.event.data.user_full_name + ignore_missing: true + - set: + field: user.full_name + tag: set_user_full_name_from_identity_event_data_user_full_name + copy_from: axonius.identity.event.data.user_full_name + ignore_empty_value: true + - append: + field: related.user + tag: append_identity_event_data_user_full_name_into_related_user + value: '{{{axonius.identity.event.data.user_full_name}}}' + allow_duplicates: false + if: ctx.axonius?.identity?.event?.data?.user_full_name != null + - convert: + field: json.event.data.user_is_password_enabled + tag: convert_event_data_user_is_password_enabled_to_boolean + target_field: axonius.identity.event.data.user_is_password_enabled + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.user_manager + tag: rename_event_data_user_manager + target_field: axonius.identity.event.data.user_manager + ignore_missing: true + - append: + field: related.user + tag: append_identity_event_data_user_manager_into_related_user + value: '{{{axonius.identity.event.data.user_manager}}}' + allow_duplicates: false + if: ctx.axonius?.identity?.event?.data?.user_manager != null + - rename: + field: json.event.data.user_manager_mail + tag: rename_event_data_user_manager_mail + target_field: axonius.identity.event.data.user_manager_mail + ignore_missing: true + - append: + field: related.user + tag: append_identity_event_data_user_manager_mail_into_related_user + value: '{{{axonius.identity.event.data.user_manager_mail}}}' + allow_duplicates: false + if: ctx.axonius?.identity?.event?.data?.user_manager_mail != null + - rename: + field: json.event.data.user_pass_last_used + tag: rename_event_data_user_pass_last_used + target_field: axonius.identity.event.data.user_pass_last_used + ignore_missing: true + - rename: + field: json.event.data.user_path + tag: rename_event_data_user_path + target_field: axonius.identity.event.data.user_path + ignore_missing: true + - foreach: + field: json.event.data.user_permissions + tag: foreach_event_data_user_permissions_is_admin + if: ctx.json?.event?.data?.user_permissions instanceof List + processor: + convert: + field: _ingest._value.is_admin + tag: convert_event_data_user_permissions_is_admin_to_boolean + type: boolean + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.is_admin + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.user_permissions + tag: rename_event_data_user_permissions + target_field: axonius.identity.event.data.user_permissions + ignore_missing: true + - foreach: + field: json.event.data.user_related_resources + tag: foreach_event_data_user_related_resources_id + if: ctx.json?.event?.data?.user_related_resources instanceof List + processor: + convert: + field: _ingest._value.id + tag: convert_event_data_user_related_resources_id_into_keyword + type: string + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.id + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - rename: + field: json.event.data.user_related_resources + tag: rename_event_data_user_related_resources + target_field: axonius.identity.event.data.user_related_resources + ignore_missing: true + - rename: + field: json.event.data.user_remote_id + tag: rename_event_data_user_remote_id + target_field: axonius.identity.event.data.user_remote_id + ignore_missing: true + - rename: + field: json.event.data.user_sid + tag: rename_event_data_user_sid + target_field: axonius.identity.event.data.user_sid + ignore_missing: true + - rename: + field: json.event.data.user_status + tag: rename_event_data_user_status + target_field: axonius.identity.event.data.user_status + ignore_missing: true + - rename: + field: json.event.data.user_telephone_number + tag: rename_event_data_user_telephone_number + target_field: axonius.identity.event.data.user_telephone_number + ignore_missing: true + - rename: + field: json.event.data.user_title + tag: rename_event_data_user_title + target_field: axonius.identity.event.data.user_title + ignore_missing: true + - rename: + field: json.event.data.user_type + tag: rename_event_data_user_type + target_field: axonius.identity.event.data.user_type + ignore_missing: true + - rename: + field: json.event.data.username + tag: rename_event_data_username + target_field: axonius.identity.event.data.username + ignore_missing: true + - set: + field: user.name + tag: set_user_name_from_identity_event_data_username + copy_from: axonius.identity.event.data.username + ignore_empty_value: true + - append: + field: related.user + tag: append_identity_event_data_username_into_related_user + value: '{{{axonius.identity.event.data.username}}}' + allow_duplicates: false + if: ctx.axonius?.identity?.event?.data?.username != null + - convert: + field: json.event.data.verified + tag: convert_event_data_verified_to_boolean + target_field: axonius.identity.event.data.verified + type: boolean + ignore_missing: true + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: axonius.identity.event.data.associated_devices + tag: foreach_axonius_identity_event_data_associated_devices + if: ctx.axonius?.identity?.event?.data?.associated_devices instanceof List + processor: + remove: + field: + - _ingest._value.device_id + - _ingest._value.device_model + - _ingest._value.device_serial + tag: remove_custom_duplicate_fields_from_axonius_identity_event_data_associated_devices + ignore_missing: true + if: ctx.tags == null || !ctx.tags.contains('preserve_duplicate_custom_fields') + - foreach: + field: axonius.identity.event.data.breaches_data + tag: foreach_axonius_identity_event_data_breaches_data + if: ctx.axonius?.identity?.event?.data?.breaches_data instanceof List + processor: + remove: + field: _ingest._value.added_date + tag: remove_custom_duplicate_fields_from_axonius_identity_event_data_breaches_data + ignore_missing: true + if: ctx.tags == null || !ctx.tags.contains('preserve_duplicate_custom_fields') +on_failure: + - append: + field: error.message + value: |- + Processor '{{{ _ingest.on_failure_processor_type }}}' + {{{#_ingest.on_failure_processor_tag}}}with tag '{{{ _ingest.on_failure_processor_tag }}}' + {{{/_ingest.on_failure_processor_tag}}}failed with message '{{{ _ingest.on_failure_message }}}' + - set: + field: event.kind + tag: set_pipeline_error_to_event_kind + value: pipeline_error + - append: + field: tags + value: preserve_original_event + allow_duplicates: false diff --git a/packages/axonius/data_stream/identity/fields/base-fields.yml b/packages/axonius/data_stream/identity/fields/base-fields.yml new file mode 100644 index 00000000000..919b224d09f --- /dev/null +++ b/packages/axonius/data_stream/identity/fields/base-fields.yml @@ -0,0 +1,16 @@ +- name: data_stream.dataset + external: ecs +- name: data_stream.namespace + external: ecs +- name: data_stream.type + external: ecs +- name: event.dataset + type: constant_keyword + external: ecs + value: axonius.identity +- name: event.module + type: constant_keyword + external: ecs + value: axonius +- name: '@timestamp' + external: ecs diff --git a/packages/axonius/data_stream/identity/fields/beats.yml b/packages/axonius/data_stream/identity/fields/beats.yml new file mode 100644 index 00000000000..4084f1dc7f5 --- /dev/null +++ b/packages/axonius/data_stream/identity/fields/beats.yml @@ -0,0 +1,6 @@ +- name: input.type + type: keyword + description: Type of filebeat input. +- name: log.offset + type: long + description: Log offset. diff --git a/packages/axonius/data_stream/identity/fields/ecs.yml b/packages/axonius/data_stream/identity/fields/ecs.yml new file mode 100644 index 00000000000..e1d89be8ab4 --- /dev/null +++ b/packages/axonius/data_stream/identity/fields/ecs.yml @@ -0,0 +1,5 @@ +# Define ECS constant fields as constant_keyword +- name: observer.vendor + external: ecs + type: constant_keyword + value: Axonius diff --git a/packages/axonius/data_stream/identity/fields/fields.yml b/packages/axonius/data_stream/identity/fields/fields.yml new file mode 100644 index 00000000000..5e9860fab7c --- /dev/null +++ b/packages/axonius/data_stream/identity/fields/fields.yml @@ -0,0 +1,994 @@ +- name: axonius + type: group + fields: + - name: identity + type: group + fields: + - name: adapter_list_length + type: long + - name: adapters + type: keyword + - name: asset_type + type: keyword + - name: event + type: group + fields: + - name: accurate_for_datetime + type: date + - name: action_if_exists + type: keyword + - name: adapter_categories + type: keyword + - name: associated_adapter_plugin_name + type: keyword + - name: association_type + type: keyword + - name: client_used + type: keyword + - name: data + type: group + fields: + - name: account_disabled + type: boolean + - name: accurate_for_datetime + type: date + - name: active + type: keyword + - name: active_users + type: long + - name: active_users_saved_query_id + type: keyword + - name: admin_non_operational_users + type: long + - name: admin_non_operational_users_saved_query_id + type: keyword + - name: admin_operational_active_users + type: long + - name: admin_operational_active_users_saved_query_id + type: keyword + - name: admin_operational_inactive_users + type: long + - name: admin_operational_inactive_users_saved_query_id + type: keyword + - name: admin_operational_users + type: long + - name: admin_operational_users_saved_query_id + type: keyword + - name: admin_roles + type: group + fields: + - name: display_name + type: keyword + - name: id + type: keyword + - name: admins + type: long + - name: admins_saved_query_id + type: keyword + - name: alt_names + type: group + fields: + - name: name + type: keyword + - name: name_type + type: keyword + - name: application_and_account_name + type: keyword + - name: application_id + type: keyword + - name: application_name + type: keyword + - name: asset_entity_info + type: keyword + - name: asset_type + type: keyword + - name: associated_devices + type: group + fields: + - name: device_associated_saas_apps_names + type: keyword + - name: device_caption + type: keyword + - name: device_id + type: keyword + - name: device_labels + type: keyword + - name: device_model + type: keyword + - name: device_os_distribution + type: keyword + - name: device_os_edition + type: keyword + - name: device_os_end_of_life + type: keyword + - name: device_os_type + type: keyword + - name: device_os_version + type: keyword + - name: device_preferred_mac_address + type: keyword + - name: device_serial + type: keyword + - name: internal_axon_id + type: keyword + - name: associated_employees + type: group + fields: + - name: internal_axon_id + type: keyword + - name: username + type: keyword + - name: associated_groups + type: group + fields: + - name: display_name + type: keyword + - name: remote_id + type: keyword + - name: associated_licenses + type: group + fields: + - name: adapter_connection_label + type: keyword + - name: internal_axon_id + type: keyword + - name: license_name + type: keyword + - name: pricing_unit + type: keyword + - name: related_vendor_name + type: keyword + - name: unit_price + type: keyword + - name: aws_arn + type: keyword + - name: aws_iam_identity_type + type: keyword + - name: azure_account_id + type: keyword + - name: begins_on + type: date + - name: bit_size + type: long + - name: breaches_data + type: group + fields: + - name: added_date + type: date + - name: breach_date + type: date + - name: data_classes + type: keyword + - name: domain + type: keyword + - name: is_fabricated + type: boolean + - name: is_retired + type: boolean + - name: is_sensitive + type: boolean + - name: is_spam_list + type: boolean + - name: is_verified + type: boolean + - name: logo_path + type: keyword + - name: modified_date + type: date + - name: name + type: keyword + - name: pwn_count + type: long + - name: title + type: keyword + - name: class_name + type: keyword + - name: cloud_provider + type: keyword + - name: connected_assets + type: keyword + - name: connection_label + type: keyword + - name: created_date + type: date + - name: deleted_users + type: long + - name: deleted_users_saved_query_id + type: keyword + - name: direct_not_sso_users + type: long + - name: direct_not_sso_users_saved_query_id + type: keyword + - name: display_name + type: keyword + - name: distinct_associated_devices_count + type: long + - name: domains + type: group + fields: + - name: name + type: keyword + - name: email + type: keyword + - name: email_activity + type: group + fields: + - name: is_deleted + type: boolean + - name: product_license + type: keyword + - name: read_count + type: long + - name: receive_count + type: long + - name: report_date + type: date + - name: report_period + type: long + - name: send_count + type: long + - name: email_notification + type: group + fields: + - name: alternative_host_reminder + type: boolean + - name: cancel_meeting_reminder + type: boolean + - name: jbh_reminder + type: boolean + - name: employee_id + type: keyword + - name: employee_number + type: keyword + - name: employee_type + type: keyword + - name: expires_on + type: date + - name: external_users + type: long + - name: external_users_saved_query_id + type: keyword + - name: feature + type: group + fields: + - name: cn_meeting + type: boolean + - name: in_meeting + type: boolean + - name: large_meeting + type: boolean + - name: meeting_capacity + type: long + - name: webinar + type: boolean + - name: zoom_phone + type: boolean + - name: fetch_time + type: date + - name: first_fetch_time + type: date + - name: first_name + type: keyword + - name: first_seen + type: date + - name: from_last_fetch + type: boolean + - name: gce_account_id + type: keyword + - name: groups + type: group + fields: + - name: display_name + type: keyword + - name: name + type: keyword + - name: remote_id + type: keyword + - name: groups + type: keyword + - name: has_administrative_permissions + type: boolean + - name: hire_date + type: date + - name: hr_employment_status + type: keyword + - name: id + type: keyword + - name: id_raw + type: keyword + - name: in_meeting + type: group + fields: + - name: allow_live_streaming + type: boolean + - name: annotation + type: boolean + - name: attendee_on_hold + type: boolean + - name: auto_saving_chat + type: boolean + - name: breakout_room + type: boolean + - name: chat + type: boolean + - name: closed_caption + type: boolean + - name: co_host + type: boolean + - name: data_center_regions + type: keyword + - name: e2e_encryption + type: boolean + - name: entry_exit_chime + type: boolean + - name: far_end_camera_control + type: boolean + - name: feedback + type: boolean + - name: group_hd + type: boolean + - name: non_verbal_feedback + type: boolean + - name: polling + type: boolean + - name: private_chat + type: boolean + - name: record_play_voice + type: boolean + - name: remote_control + type: boolean + - name: remote_support + type: boolean + - name: share_dual_camera + type: boolean + - name: show_meeting_control_toolbar + type: boolean + - name: virtual_background + type: boolean + - name: waiting_room + type: boolean + - name: workplace_by_facebook + type: boolean + - name: inactive_users + type: long + - name: inactive_users_saved_query_id + type: keyword + - name: internal_is_admin + type: boolean + - name: is_active + type: boolean + - name: is_admin + type: boolean + - name: is_built_in + type: boolean + - name: is_delegated_admin + type: boolean + - name: is_fetched_from_adapter + type: boolean + - name: is_from_sso_provider + type: boolean + - name: is_latest_last_seen + type: boolean + - name: is_managed_by_application + type: boolean + - name: is_managed_by_direct_app + type: boolean + - name: is_managed_by_sso + type: boolean + - name: is_mfa_enforced + type: boolean + - name: is_mfa_enrolled + type: boolean + - name: is_non_editable + type: boolean + - name: is_paid + type: boolean + - name: is_permission_adapter + type: boolean + - name: is_privileged + type: boolean + - name: is_saas_user + type: boolean + - name: is_user_active + type: boolean + - name: is_user_deleted + type: boolean + - name: is_user_external + type: boolean + - name: is_user_inactive + type: boolean + - name: is_user_suspended + type: boolean + - name: issuer + type: group + fields: + - name: common_name + type: keyword + - name: country_name + type: keyword + - name: organization + type: keyword + - name: last_client_version + type: keyword + - name: last_enrichment_run + type: date + - name: last_fetch_connection_id + type: keyword + - name: last_fetch_connection_label + type: keyword + - name: last_login_attempt + type: date + - name: last_logon + type: date + - name: last_name + type: keyword + - name: last_password_change + type: date + - name: last_seen + type: date + - name: mail + type: keyword + - name: managed_non_operational_users + type: long + - name: managed_non_operational_users_saved_query_id + type: keyword + - name: managed_operational_users + type: long + - name: managed_operational_users_saved_query_id + type: keyword + - name: managed_users + type: long + - name: managed_users_by_app + type: long + - name: managed_users_by_app_saved_query_id + type: keyword + - name: managed_users_by_sso + type: long + - name: managed_users_by_sso_saved_query_id + type: keyword + - name: managed_users_saved_query_id + type: keyword + - name: manager_id + type: keyword + - name: max_added_date + type: date + - name: max_breach_date + type: date + - name: max_modified_date + type: date + - name: name + type: keyword + - name: nested_applications + type: group + fields: + - name: active_from_direct_adapter + type: boolean + - name: app_accounts + type: group + fields: + - name: name + type: keyword + - name: app_display_name + type: keyword + - name: app_links + type: keyword + - name: assignment_type + type: keyword + - name: extension_type + type: keyword + - name: has_administrative_permissions + type: boolean + - name: is_deleted + type: boolean + - name: is_from_direct_adapter + type: boolean + - name: is_managed + type: boolean + - name: is_suspended + type: boolean + - name: is_unmanaged_extension + type: boolean + - name: is_user_external + type: boolean + - name: is_user_paid + type: boolean + - name: last_access + type: date + - name: last_access_count + type: long + - name: last_access_count_60_days + type: long + - name: last_access_count_90_days + type: long + - name: name + type: keyword + - name: parents + type: group + fields: + - name: name + type: keyword + - name: value + type: keyword + - name: permissions + type: group + fields: + - name: name + type: keyword + - name: relation_direct_name + type: keyword + - name: relation_discovery_name + type: keyword + - name: relation_extension_name + type: keyword + - name: relation_sso_name + type: keyword + - name: source_application + type: keyword + - name: value + type: keyword + - name: vendor_category + type: keyword + - name: nested_applications + type: keyword + - name: nested_associated_devices + type: keyword + - name: nested_grants_last_updated + type: date + - name: nested_grants_managers_last_updated + type: date + - name: nested_groups + type: group + fields: + - name: assignment_type + type: keyword + - name: group_name + type: keyword + - name: name + type: keyword + - name: parents + type: group + fields: + - name: name + type: keyword + - name: parent_type + type: keyword + - name: value + type: keyword + - name: value + type: keyword + - name: nested_managers + type: group + fields: + - name: assignment_type + type: keyword + - name: parents + type: group + fields: + - name: name + type: keyword + - name: parent_type + type: keyword + - name: value + type: keyword + - name: value + type: keyword + - name: nested_permissions + type: group + fields: + - name: has_administrative_permissions + type: boolean + - name: is_admin + type: boolean + - name: nested_permissions + type: group + fields: + - name: assignment_type + type: keyword + - name: parents + type: group + fields: + - name: name + type: keyword + - name: parent_type + type: keyword + - name: value + type: keyword + - name: value + type: keyword + - name: nested_resources + type: group + fields: + - name: assignment_type + type: keyword + - name: name + type: keyword + - name: parents + type: group + fields: + - name: name + type: keyword + - name: value + type: keyword + - name: value + type: keyword + - name: nested_resources + type: keyword + - name: nested_roles + type: group + fields: + - name: assignment_type + type: keyword + - name: name + type: keyword + - name: parents + type: group + fields: + - name: name + type: keyword + - name: parent_type + type: keyword + - name: value + type: keyword + - name: value + type: keyword + - name: not_fetched_count + type: long + - name: operational_users_count + type: long + - name: oracle_cloud_cis_incompliant + type: group + fields: + - name: rule_cis_version + type: float + - name: rule_section + type: float + - name: orphaned_users + type: long + - name: orphaned_users_saved_query_id + type: keyword + - name: paid_users + type: long + - name: paid_users_saved_query_id + type: keyword + - name: password_never_expires + type: boolean + - name: password_not_required + type: boolean + - name: permissions + type: group + fields: + - name: name + type: keyword + - name: pmi + type: keyword + - name: pretty_id + type: keyword + - name: project_ids + type: keyword + - name: project_tags + type: group + fields: + - name: inherited + type: keyword + - name: key + type: keyword + - name: namespaced_tag_key + type: keyword + - name: namespaced_tag_value + type: keyword + - name: value + type: keyword + - name: projects_roles + type: group + fields: + - name: project_id + type: keyword + - name: role_name + type: keyword + - name: provider_name + type: keyword + - name: provider_type + type: keyword + - name: recording + type: group + fields: + - name: auto_delete_cmr + type: boolean + - name: auto_delete_cmr_days + type: boolean + - name: auto_recording + type: boolean + - name: cloud_recording + type: boolean + - name: host_pause_stop_recording + type: boolean + - name: local_recording + type: boolean + - name: record_audio_file + type: boolean + - name: record_gallery_view + type: boolean + - name: record_speaker_view + type: boolean + - name: recording_audio_transcript + type: boolean + - name: save_chat_text + type: boolean + - name: show_timestamp + type: boolean + - name: recovery_question_set + type: boolean + - name: relatable_ids + type: keyword + - name: remote_account_id + type: keyword + - name: remote_id + type: keyword + - name: roles + type: group + fields: + - name: display_name + type: keyword + - name: remote_id + type: keyword + - name: roles + type: keyword + - name: schedule_meeting + type: group + fields: + - name: audio_type + type: keyword + - name: force_pmi_jbh_password + type: boolean + - name: host_video + type: boolean + - name: join_before_host + type: boolean + - name: participants_video + type: boolean + - name: pstn_password_protected + type: boolean + - name: require_password_for_instant_meetings + type: boolean + - name: require_password_for_pmi_meetings + type: boolean + - name: require_password_for_scheduled_meetings + type: boolean + - name: require_password_for_scheduling_new_meetings + type: boolean + - name: use_pmi_for_instant_meetings + type: boolean + - name: use_pmi_for_scheduled_meetings + type: boolean + - name: serial_number + type: keyword + - name: shirt_size + type: keyword + - name: sm_entity_type + type: keyword + - name: snow_full_name + type: keyword + - name: snow_location + type: keyword + - name: source_application + type: keyword + - name: status + type: keyword + - name: status_changed + type: date + - name: subject + type: group + fields: + - name: common_name + type: keyword + - name: country_name + type: keyword + - name: locality + type: keyword + - name: organization + type: keyword + - name: state + type: keyword + - name: suspended_users + type: long + - name: suspended_users_saved_query_id + type: keyword + - name: telephony + type: group + fields: + - name: show_international_numbers_link + type: boolean + - name: third_party_audio + type: boolean + - name: tenant_number + type: keyword + - name: timezone + type: keyword + - name: total_users_count + type: long + - name: tsp + type: group + fields: + - name: call_out + type: boolean + - name: show_international_numbers_link + type: boolean + - name: type + type: keyword + - name: u_department + type: keyword + - name: u_vip + type: boolean + - name: unlinked_users + type: long + - name: unlinked_users_saved_query_id + type: keyword + - name: updated_on + type: date + - name: user_apps + type: group + fields: + - name: active_from_direct_adapter + type: boolean + - name: app_accounts + type: group + fields: + - name: name + type: keyword + - name: app_display_name + type: keyword + - name: app_id + type: keyword + - name: app_links + type: keyword + - name: app_name + type: keyword + - name: extension_type + type: keyword + - name: is_from_direct_adapter + type: boolean + - name: is_managed + type: boolean + - name: is_saas_application + type: boolean + - name: is_unmanaged_extension + type: boolean + - name: is_user_deleted + type: boolean + - name: is_user_external + type: boolean + - name: is_user_paid + type: boolean + - name: is_user_suspended + type: boolean + - name: last_access + type: date + - name: permissions + type: group + fields: + - name: name + type: keyword + - name: relation_direct_name + type: keyword + - name: relation_discovery_name + type: keyword + - name: relation_extension_name + type: keyword + - name: relation_sso_name + type: keyword + - name: source_application + type: keyword + - name: vendor_category + type: keyword + - name: user_count_link + type: group + fields: + - name: bracketWeight + type: double + - name: compOp + type: keyword + - name: field + type: keyword + - name: leftBracket + type: double + - name: logicOp + type: keyword + - name: not + type: boolean + - name: rightBracket + type: double + - name: value + type: keyword + - name: user_country + type: keyword + - name: user_created + type: date + - name: user_department + type: keyword + - name: user_factors + type: group + fields: + - name: created + type: date + - name: factor_status + type: keyword + - name: factor_type + type: keyword + - name: is_enabled + type: boolean + - name: last_updated + type: date + - name: name + type: keyword + - name: provider + type: keyword + - name: strength + type: keyword + - name: vendor_name + type: keyword + - name: user_full_name + type: keyword + - name: user_is_password_enabled + type: boolean + - name: user_manager + type: keyword + - name: user_manager_mail + type: keyword + - name: user_pass_last_used + type: keyword + - name: user_path + type: keyword + - name: user_permissions + type: group + fields: + - name: is_admin + type: boolean + - name: name + type: keyword + - name: user_related_resources + type: group + fields: + - name: id + type: keyword + - name: name + type: keyword + - name: type + type: keyword + - name: user_remote_id + type: keyword + - name: user_sid + type: keyword + - name: user_status + type: keyword + - name: user_telephone_number + type: keyword + - name: user_title + type: keyword + - name: user_type + type: keyword + - name: username + type: keyword + - name: verified + type: boolean + - name: version + type: keyword + - name: entity + type: keyword + - name: hidden_for_gui + type: boolean + - name: initial_plugin_unique_name + type: keyword + - name: name + type: keyword + - name: plugin_name + type: keyword + - name: plugin_type + type: keyword + - name: plugin_unique_name + type: keyword + - name: quick_id + type: keyword + - name: type + type: keyword + - name: internal_axon_id + type: keyword diff --git a/packages/axonius/data_stream/identity/lifecycle.yml b/packages/axonius/data_stream/identity/lifecycle.yml new file mode 100644 index 00000000000..f7b0d98d5aa --- /dev/null +++ b/packages/axonius/data_stream/identity/lifecycle.yml @@ -0,0 +1 @@ +data_retention: '30d' diff --git a/packages/axonius/data_stream/identity/manifest.yml b/packages/axonius/data_stream/identity/manifest.yml new file mode 100644 index 00000000000..bc093ad0bc6 --- /dev/null +++ b/packages/axonius/data_stream/identity/manifest.yml @@ -0,0 +1,80 @@ +title: Identity +type: logs +ilm_policy: logs-axonius.identity-default_policy +streams: + - input: cel + title: Identity + description: Collect Identity logs from Axonius. + template_path: cel.yml.hbs + vars: + - name: interval + type: text + title: Interval + description: Duration between requests to the Axonius API. Supported units for this parameter are h/m/s. + multi: false + required: true + show_user: true + default: 24h + - name: batch_size + type: integer + title: Batch Size + description: Batch size for the response of the Axonius API. The batch size can range from a minimum of 1 to a maximum of 2000. + default: 2000 + multi: false + required: true + show_user: true + - name: enable_request_tracer + type: bool + title: Enable request tracing + multi: false + default: false + required: false + show_user: false + description: >- + The request tracer logs requests and responses to the agent's local file-system for debugging configurations. + Enabling this request tracing compromises security and should only be used for debugging. Disabling the request + tracer will delete any stored traces. + See [documentation](https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-input-cel.html#_resource_tracer_enable) + for details. + - name: preserve_original_event + type: bool + title: Preserve original event + description: Preserves a raw copy of the original event, added to the field event.original. + multi: false + required: false + show_user: true + default: false + - name: tags + type: text + title: Tags + description: Tags for the data-stream. + multi: true + required: true + show_user: false + default: + - forwarded + - axonius-identity + - name: http_client_timeout + type: text + title: HTTP Client Timeout + description: Duration before declaring that the HTTP client connection has timed out. Supported time units are ns, us, ms, s, m, h. + multi: false + required: true + show_user: false + default: 5m + - name: preserve_duplicate_custom_fields + required: false + title: Preserve duplicate custom fields + description: Preserve axonius.identity.* fields that were copied to Elastic Common Schema (ECS) fields. + type: bool + multi: false + show_user: false + default: false + - name: processors + type: yaml + title: Processors + multi: false + required: false + show_user: false + description: >- + Processors are used to reduce the number of fields in the exported event or to enhance the event with metadata. This executes in the agent before the logs are parsed. diff --git a/packages/axonius/data_stream/identity/sample_event.json b/packages/axonius/data_stream/identity/sample_event.json new file mode 100644 index 00000000000..7b4aad1b7c4 --- /dev/null +++ b/packages/axonius/data_stream/identity/sample_event.json @@ -0,0 +1,173 @@ +{ + "@timestamp": "2025-12-09T12:02:11.000Z", + "agent": { + "ephemeral_id": "fa5bf2ae-a8ba-4b17-8ea6-c1f94cf39fd0", + "id": "9e2501d5-affe-4b18-9946-d7093484df30", + "name": "elastic-agent-38295", + "type": "filebeat", + "version": "8.18.0" + }, + "axonius": { + "identity": { + "adapter_list_length": 12, + "adapters": [ + "aws_adapter", + "zoom_adapter" + ], + "asset_type": "users", + "event": { + "accurate_for_datetime": "2025-12-09T12:02:11.000Z", + "adapter_categories": [ + "Directory", + "IAM", + "SaaS Management" + ], + "client_used": "67fd09bbfe1c8e812a176bb5", + "data": { + "account_disabled": true, + "accurate_for_datetime": "2025-12-09T12:02:11.000Z", + "application_and_account_name": "microsoft/azure_ad-demo", + "associated_groups": [ + { + "display_name": "developers-group", + "remote_id": "a3e70162" + } + ], + "azure_account_id": "c8103abe-eda9-472b-894a-6260bb2ba8cc", + "cloud_provider": "Azure", + "email_activity": { + "is_deleted": false, + "product_license": "MICROSOFT FABRIC (FREE)+MICROSOFT TEAMS PHONE STANDARD+MICROSOFT DEFENDER FOR OFFICE365 (PLAN 2)+MICROSOFT 365 AUDIO CONFERENCING+ENTERPRISE MOBILITY + SECURITY E3+OFFICE365 E3+MICROSOFT 365 E3 EXTRA FEATURES", + "read_count": 2321, + "receive_count": 6965, + "report_date": "2025-01-10T20:34:43.000Z", + "report_period": 90, + "send_count": 3030 + }, + "fetch_time": "2025-12-09T12:02:03.000Z", + "first_fetch_time": "2025-04-14T13:27:00.000Z", + "from_last_fetch": true, + "has_administrative_permissions": true, + "id": "c8103abe-eda9-472b-894a-6260bb2ba8cc", + "internal_is_admin": false, + "is_admin": false, + "is_fetched_from_adapter": true, + "is_latest_last_seen": true, + "is_managed_by_application": true, + "is_permission_adapter": true, + "is_saas_user": true, + "is_user_external": false, + "last_fetch_connection_id": "67fd09bbfe1c8e812a176bb5", + "last_fetch_connection_label": "azure_ad-demo", + "last_logon": "2025-11-30T18:50:39.000Z", + "last_seen": "2025-11-10T22:18:25.000Z", + "mail": "helen.jordan@demo.local", + "nested_applications": [ + { + "app_display_name": "Calendly", + "assignment_type": "Direct", + "extension_type": "User Consent", + "is_managed": false, + "is_unmanaged_extension": true, + "name": "Calendly", + "permissions": [ + { + "name": "openid" + } + ], + "relation_extension_name": "Calendly", + "source_application": "Microsoft", + "value": "2E2a2e7c9f758BDcC0E2", + "vendor_category": "Productivity" + } + ], + "nested_grants_last_updated": "2025-12-09T12:10:06.000Z", + "nested_grants_managers_last_updated": "2025-12-09T12:10:10.000Z", + "nested_groups": [ + { + "assignment_type": "Direct", + "name": "Office365 Users", + "value": "d8e66837" + } + ], + "not_fetched_count": 0, + "sm_entity_type": "saas_user", + "source_application": "Microsoft", + "tenant_number": [ + "2" + ], + "user_created": "2024-06-28T08:49:28.000Z", + "user_permissions": [ + { + "is_admin": false, + "name": "OnlineMeetings.ReadWrite" + } + ], + "user_remote_id": "63d52bb0-7ce0-4467-9004-2b19c06b86ae", + "user_type": "Member", + "username": "helen.jordan@demo.local" + }, + "initial_plugin_unique_name": "azure_ad_adapter_0", + "plugin_name": "azure_ad_adapter", + "plugin_type": "Adapter", + "plugin_unique_name": "azure_ad_adapter_0", + "quick_id": "azure_ad_adapter_0!c8103abe-eda9-472b-894a-6260bb2ba8cc", + "type": "entitydata" + }, + "internal_axon_id": "bc11b2989fc0f69708b6865d172a49fe" + } + }, + "cloud": { + "account": { + "id": "c8103abe-eda9-472b-894a-6260bb2ba8cc" + }, + "provider": "Azure" + }, + "data_stream": { + "dataset": "axonius.identity", + "namespace": "52700", + "type": "logs" + }, + "ecs": { + "version": "9.2.0" + }, + "elastic_agent": { + "id": "9e2501d5-affe-4b18-9946-d7093484df30", + "snapshot": false, + "version": "8.18.0" + }, + "event": { + "agent_id_status": "verified", + "category": [ + "iam" + ], + "created": "2024-06-28T08:49:28.000Z", + "dataset": "axonius.identity", + "ingested": "2025-12-18T12:07:36Z", + "kind": "event", + "original": "{\"adapter_list_length\":12,\"adapters\":[\"aws_adapter\",\"zoom_adapter\"],\"asset_type\":\"users\",\"event\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 12:02:11 GMT\",\"adapter_categories\":[\"Directory\",\"IAM\",\"SaaS Management\"],\"client_used\":\"67fd09bbfe1c8e812a176bb5\",\"data\":{\"account_disabled\":true,\"accurate_for_datetime\":\"Tue, 09 Dec 2025 12:02:11 GMT\",\"application_and_account_name\":\"microsoft/azure_ad-demo\",\"associated_groups\":[{\"display_name\":\"developers-group\",\"remote_id\":\"a3e70162\"}],\"azure_account_id\":\"c8103abe-eda9-472b-894a-6260bb2ba8cc\",\"cloud_provider\":\"Azure\",\"email_activity\":{\"is_deleted\":false,\"product_license\":\"MICROSOFT FABRIC (FREE)+MICROSOFT TEAMS PHONE STANDARD+MICROSOFT DEFENDER FOR OFFICE365 (PLAN 2)+MICROSOFT 365 AUDIO CONFERENCING+ENTERPRISE MOBILITY + SECURITY E3+OFFICE365 E3+MICROSOFT 365 E3 EXTRA FEATURES\",\"read_count\":2321,\"receive_count\":6965,\"report_date\":\"Fri, 10 Jan 2025 20:34:43 GMT\",\"report_period\":90,\"send_count\":3030},\"fetch_time\":\"Tue, 09 Dec 2025 12:02:03 GMT\",\"first_fetch_time\":\"Mon, 14 Apr 2025 13:27:00 GMT\",\"from_last_fetch\":true,\"has_administrative_permissions\":true,\"id\":\"c8103abe-eda9-472b-894a-6260bb2ba8cc\",\"internal_is_admin\":false,\"is_admin\":false,\"is_fetched_from_adapter\":true,\"is_latest_last_seen\":true,\"is_managed_by_application\":true,\"is_permission_adapter\":true,\"is_saas_user\":true,\"is_user_external\":false,\"last_fetch_connection_id\":\"67fd09bbfe1c8e812a176bb5\",\"last_fetch_connection_label\":\"azure_ad-demo\",\"last_logon\":\"Sun, 30 Nov 2025 18:50:39 GMT\",\"last_seen\":\"Mon, 10 Nov 2025 22:18:25 GMT\",\"mail\":\"helen.jordan@demo.local\",\"nested_applications\":[{\"app_display_name\":\"Calendly\",\"assignment_type\":\"Direct\",\"extension_type\":\"User Consent\",\"is_managed\":false,\"is_unmanaged_extension\":true,\"name\":\"Calendly\",\"parents\":[{\"name\":\"\",\"value\":\"\"}],\"permissions\":[{\"name\":\"openid\"}],\"relation_extension_name\":\"Calendly\",\"source_application\":\"Microsoft\",\"value\":\"2E2a2e7c9f758BDcC0E2\",\"vendor_category\":\"Productivity\"}],\"nested_associated_devices\":[],\"nested_grants_last_updated\":\"Tue, 09 Dec 2025 12:10:06 GMT\",\"nested_grants_managers_last_updated\":\"Tue, 09 Dec 2025 12:10:10 GMT\",\"nested_groups\":[{\"assignment_type\":\"Direct\",\"name\":\"Office365 Users\",\"parents\":[{\"name\":\"\",\"value\":\"\"}],\"value\":\"d8e66837\"}],\"nested_managers\":[],\"nested_resources\":[],\"nested_roles\":[],\"not_fetched_count\":0,\"sm_entity_type\":\"saas_user\",\"source_application\":\"Microsoft\",\"tenant_number\":[\"2\"],\"user_apps\":[],\"user_created\":\"Fri, 28 Jun 2024 08:49:28 GMT\",\"user_permissions\":[{\"is_admin\":false,\"name\":\"OnlineMeetings.ReadWrite\"}],\"user_remote_id\":\"63d52bb0-7ce0-4467-9004-2b19c06b86ae\",\"user_type\":\"Member\",\"username\":\"helen.jordan@demo.local\"},\"initial_plugin_unique_name\":\"azure_ad_adapter_0\",\"plugin_name\":\"azure_ad_adapter\",\"plugin_type\":\"Adapter\",\"plugin_unique_name\":\"azure_ad_adapter_0\",\"quick_id\":\"azure_ad_adapter_0!c8103abe-eda9-472b-894a-6260bb2ba8cc\",\"type\":\"entitydata\"},\"internal_axon_id\":\"bc11b2989fc0f69708b6865d172a49fe\"}", + "type": [ + "info" + ] + }, + "input": { + "type": "cel" + }, + "related": { + "user": [ + "developers-group", + "helen.jordan@demo.local" + ] + }, + "tags": [ + "preserve_original_event", + "preserve_duplicate_custom_fields", + "forwarded", + "axonius-identity" + ], + "user": { + "domain": "demo.local", + "email": "helen.jordan@demo.local", + "name": "helen.jordan@demo.local" + } +} diff --git a/packages/axonius/docs/README.md b/packages/axonius/docs/README.md new file mode 100644 index 00000000000..b1b0cc2e8f2 --- /dev/null +++ b/packages/axonius/docs/README.md @@ -0,0 +1,766 @@ +# Axonius Integration for Elastic + +## Overview + +[Axonius](https://www.axonius.com/) is a cybersecurity asset management platform that automatically collects data from hundreds of IT and security tools through adapters, merges that information, and builds a unified inventory of all assets including devices, users, SaaS apps, cloud instances, and more. By correlating data from multiple systems, Axonius helps organizations identify visibility gaps, missing security controls, risky configurations, and compliance issues. It lets you create powerful queries to answer any security or IT question and automate actions such as sending alerts, creating tickets, or enforcing policies. + +This integration for Elastic allows you to collect assets and security events data using the Axonius API, then visualize the data in Kibana. + +### Compatibility +The Axonius integration is compatible with product version **7.0**. + +### How it works +This integration periodically queries the Axonius API to retrieve logs. + +## What data does this integration collect? +This integration collects log messages of the following type: + +- `Identity`: Collect details of all identity assets including: + - users (endpoint: `/api/v2/users`) + - groups (endpoint: `/api/v2/groups`) + - security_roles (endpoint: `/api/v2/security_roles`) + - organizational_units (endpoint: `/api/v2/organizational_units`) + - accounts (endpoint: `/api/v2/accounts`) + - certificates (endpoint: `/api/v2/certificates`) + - permissions (endpoint: `/api/v2/permissions`) + - latest_rules (endpoint: `/api/v2/latest_rules`) + - profiles (endpoint: `/api/v2/profiles`) + - job_titles (endpoint: `/api/v2/job_titles`) + - access_review_campaign_instances (endpoint: `/api/v2/access_review_campaign_instances`) + - access_review_approval_items (endpoint: `/api/v2/access_review_approval_items`) + +### Supported use cases + +Integrating the Axonius Identity Datastream with Elastic SIEM provides a unified view of users, groups, roles, organizational units, accounts, permissions, certificates, profiles, and access-review activity. Metrics and breakdowns help teams quickly assess identity posture by highlighting active, inactive, suspended, and external users, as well as patterns across user types and departments. + +Tables showing top email addresses and cloud providers add context into frequently used identities and their sources. These insights help security and IAM teams detect identity anomalies, validate account hygiene, and maintain strong visibility into access across the organization. + +## What do I need to use this integration? + +### From Axonius + +To collect data through the Axonius APIs, you need to provide the **URL**, **API Key** and **API Secret**. Authentication is handled using the **API Key** and **API Secret**, which serves as the required credential. + +#### Retrieve URL, API Token and API Secret: + +1. Log in to the **Axonius** instance. +2. Your instance URL is your Base **URL**. +3. Navigate to **User Settings > API Key**. +4. Generate an **API Key**. +5. Copy both values including **API Key and Secret Key** and store them securely for use in the Integration configuration. + +## How do I deploy this integration? + +This integration supports both Elastic Agentless-based and Agent-based installations. + +### Agent-based deployment + +Elastic Agent must be installed. For more details, check the Elastic Agent [installation instructions](docs-content://reference/fleet/install-elastic-agents.md). You can install only one Elastic Agent per host. + +Elastic Agent is required to stream data from the syslog or log file receiver and ship the data to Elastic, where the events will then be processed via the integration's ingest pipelines. + +### Agentless deployment + +Agentless deployments are only supported in Elastic Serverless and Elastic Cloud environments. Agentless deployments provide a means to ingest data while avoiding the orchestration, management, and maintenance needs associated with standard ingest infrastructure. Using an agentless deployment makes manual agent deployment unnecessary, allowing you to focus on your data instead of the agent that collects it. + +For more information, refer to [Agentless integrations](https://www.elastic.co/guide/en/serverless/current/security-agentless-integrations.html) and [Agentless integrations FAQ](https://www.elastic.co/guide/en/serverless/current/agentless-integration-troubleshooting.html) + +### Configure + +1. In the top search bar in Kibana, search for **Integrations**. +2. In the search bar, type **Axonius**. +3. Select the **Axonius** integration from the search results. +4. Select **Add Axonius** to add the integration. +5. Enable and configure only the collection methods which you will use. + + * To **Collect logs from Axonius API**, you'll need to: + + - Configure **URL**, **API Key** and **API Secret**. + - Adjust the integration configuration parameters if required, including the Interval, HTTP Client Timeout etc. to enable data collection. + +6. Select **Save and continue** to save the integration. + +### Validation + +#### Dashboard populated + +1. In the top search bar in Kibana, search for **Dashboards**. +2. In the search bar, type **Axonius**, and verify the dashboard information is populated. + +## Troubleshooting + +For help with Elastic ingest tools, check [Common problems](https://www.elastic.co/docs/troubleshoot/ingest/fleet/common-problems). + +## Scaling + +For more information on architectures that can be used for scaling this integration, check the [Ingest Architectures](https://www.elastic.co/docs/manage-data/ingest/ingest-reference-architectures) documentation. + +## Reference + +### Identity + +The `identity` data stream provides identity asset logs from axonius. + +#### identity fields + +**Exported fields** + +| Field | Description | Type | +|---|---|---| +| @timestamp | Date/time when the event originated. This is the date/time extracted from the event, typically representing when the event was generated by the source. If the event source has no original timestamp, this value is typically populated by the first time the event was received by the pipeline. Required field for all events. | date | +| axonius.identity.adapter_list_length | | long | +| axonius.identity.adapters | | keyword | +| axonius.identity.asset_type | | keyword | +| axonius.identity.event.accurate_for_datetime | | date | +| axonius.identity.event.action_if_exists | | keyword | +| axonius.identity.event.adapter_categories | | keyword | +| axonius.identity.event.associated_adapter_plugin_name | | keyword | +| axonius.identity.event.association_type | | keyword | +| axonius.identity.event.client_used | | keyword | +| axonius.identity.event.data.account_disabled | | boolean | +| axonius.identity.event.data.accurate_for_datetime | | date | +| axonius.identity.event.data.active | | keyword | +| axonius.identity.event.data.active_users | | long | +| axonius.identity.event.data.active_users_saved_query_id | | keyword | +| axonius.identity.event.data.admin_non_operational_users | | long | +| axonius.identity.event.data.admin_non_operational_users_saved_query_id | | keyword | +| axonius.identity.event.data.admin_operational_active_users | | long | +| axonius.identity.event.data.admin_operational_active_users_saved_query_id | | keyword | +| axonius.identity.event.data.admin_operational_inactive_users | | long | +| axonius.identity.event.data.admin_operational_inactive_users_saved_query_id | | keyword | +| axonius.identity.event.data.admin_operational_users | | long | +| axonius.identity.event.data.admin_operational_users_saved_query_id | | keyword | +| axonius.identity.event.data.admin_roles.display_name | | keyword | +| axonius.identity.event.data.admin_roles.id | | keyword | +| axonius.identity.event.data.admins | | long | +| axonius.identity.event.data.admins_saved_query_id | | keyword | +| axonius.identity.event.data.alt_names.name | | keyword | +| axonius.identity.event.data.alt_names.name_type | | keyword | +| axonius.identity.event.data.application_and_account_name | | keyword | +| axonius.identity.event.data.application_id | | keyword | +| axonius.identity.event.data.application_name | | keyword | +| axonius.identity.event.data.asset_entity_info | | keyword | +| axonius.identity.event.data.asset_type | | keyword | +| axonius.identity.event.data.associated_devices.device_associated_saas_apps_names | | keyword | +| axonius.identity.event.data.associated_devices.device_caption | | keyword | +| axonius.identity.event.data.associated_devices.device_id | | keyword | +| axonius.identity.event.data.associated_devices.device_labels | | keyword | +| axonius.identity.event.data.associated_devices.device_model | | keyword | +| axonius.identity.event.data.associated_devices.device_os_distribution | | keyword | +| axonius.identity.event.data.associated_devices.device_os_edition | | keyword | +| axonius.identity.event.data.associated_devices.device_os_end_of_life | | keyword | +| axonius.identity.event.data.associated_devices.device_os_type | | keyword | +| axonius.identity.event.data.associated_devices.device_os_version | | keyword | +| axonius.identity.event.data.associated_devices.device_preferred_mac_address | | keyword | +| axonius.identity.event.data.associated_devices.device_serial | | keyword | +| axonius.identity.event.data.associated_devices.internal_axon_id | | keyword | +| axonius.identity.event.data.associated_employees.internal_axon_id | | keyword | +| axonius.identity.event.data.associated_employees.username | | keyword | +| axonius.identity.event.data.associated_groups.display_name | | keyword | +| axonius.identity.event.data.associated_groups.remote_id | | keyword | +| axonius.identity.event.data.associated_licenses.adapter_connection_label | | keyword | +| axonius.identity.event.data.associated_licenses.internal_axon_id | | keyword | +| axonius.identity.event.data.associated_licenses.license_name | | keyword | +| axonius.identity.event.data.associated_licenses.pricing_unit | | keyword | +| axonius.identity.event.data.associated_licenses.related_vendor_name | | keyword | +| axonius.identity.event.data.associated_licenses.unit_price | | keyword | +| axonius.identity.event.data.aws_arn | | keyword | +| axonius.identity.event.data.aws_iam_identity_type | | keyword | +| axonius.identity.event.data.azure_account_id | | keyword | +| axonius.identity.event.data.begins_on | | date | +| axonius.identity.event.data.bit_size | | long | +| axonius.identity.event.data.breaches_data.added_date | | date | +| axonius.identity.event.data.breaches_data.breach_date | | date | +| axonius.identity.event.data.breaches_data.data_classes | | keyword | +| axonius.identity.event.data.breaches_data.domain | | keyword | +| axonius.identity.event.data.breaches_data.is_fabricated | | boolean | +| axonius.identity.event.data.breaches_data.is_retired | | boolean | +| axonius.identity.event.data.breaches_data.is_sensitive | | boolean | +| axonius.identity.event.data.breaches_data.is_spam_list | | boolean | +| axonius.identity.event.data.breaches_data.is_verified | | boolean | +| axonius.identity.event.data.breaches_data.logo_path | | keyword | +| axonius.identity.event.data.breaches_data.modified_date | | date | +| axonius.identity.event.data.breaches_data.name | | keyword | +| axonius.identity.event.data.breaches_data.pwn_count | | long | +| axonius.identity.event.data.breaches_data.title | | keyword | +| axonius.identity.event.data.class_name | | keyword | +| axonius.identity.event.data.cloud_provider | | keyword | +| axonius.identity.event.data.connected_assets | | keyword | +| axonius.identity.event.data.connection_label | | keyword | +| axonius.identity.event.data.created_date | | date | +| axonius.identity.event.data.deleted_users | | long | +| axonius.identity.event.data.deleted_users_saved_query_id | | keyword | +| axonius.identity.event.data.direct_not_sso_users | | long | +| axonius.identity.event.data.direct_not_sso_users_saved_query_id | | keyword | +| axonius.identity.event.data.display_name | | keyword | +| axonius.identity.event.data.distinct_associated_devices_count | | long | +| axonius.identity.event.data.domains.name | | keyword | +| axonius.identity.event.data.email | | keyword | +| axonius.identity.event.data.email_activity.is_deleted | | boolean | +| axonius.identity.event.data.email_activity.product_license | | keyword | +| axonius.identity.event.data.email_activity.read_count | | long | +| axonius.identity.event.data.email_activity.receive_count | | long | +| axonius.identity.event.data.email_activity.report_date | | date | +| axonius.identity.event.data.email_activity.report_period | | long | +| axonius.identity.event.data.email_activity.send_count | | long | +| axonius.identity.event.data.email_notification.alternative_host_reminder | | boolean | +| axonius.identity.event.data.email_notification.cancel_meeting_reminder | | boolean | +| axonius.identity.event.data.email_notification.jbh_reminder | | boolean | +| axonius.identity.event.data.employee_id | | keyword | +| axonius.identity.event.data.employee_number | | keyword | +| axonius.identity.event.data.employee_type | | keyword | +| axonius.identity.event.data.expires_on | | date | +| axonius.identity.event.data.external_users | | long | +| axonius.identity.event.data.external_users_saved_query_id | | keyword | +| axonius.identity.event.data.feature.cn_meeting | | boolean | +| axonius.identity.event.data.feature.in_meeting | | boolean | +| axonius.identity.event.data.feature.large_meeting | | boolean | +| axonius.identity.event.data.feature.meeting_capacity | | long | +| axonius.identity.event.data.feature.webinar | | boolean | +| axonius.identity.event.data.feature.zoom_phone | | boolean | +| axonius.identity.event.data.fetch_time | | date | +| axonius.identity.event.data.first_fetch_time | | date | +| axonius.identity.event.data.first_name | | keyword | +| axonius.identity.event.data.first_seen | | date | +| axonius.identity.event.data.from_last_fetch | | boolean | +| axonius.identity.event.data.gce_account_id | | keyword | +| axonius.identity.event.data.groups | | keyword | +| axonius.identity.event.data.groups.display_name | | keyword | +| axonius.identity.event.data.groups.name | | keyword | +| axonius.identity.event.data.groups.remote_id | | keyword | +| axonius.identity.event.data.has_administrative_permissions | | boolean | +| axonius.identity.event.data.hire_date | | date | +| axonius.identity.event.data.hr_employment_status | | keyword | +| axonius.identity.event.data.id | | keyword | +| axonius.identity.event.data.id_raw | | keyword | +| axonius.identity.event.data.in_meeting.allow_live_streaming | | boolean | +| axonius.identity.event.data.in_meeting.annotation | | boolean | +| axonius.identity.event.data.in_meeting.attendee_on_hold | | boolean | +| axonius.identity.event.data.in_meeting.auto_saving_chat | | boolean | +| axonius.identity.event.data.in_meeting.breakout_room | | boolean | +| axonius.identity.event.data.in_meeting.chat | | boolean | +| axonius.identity.event.data.in_meeting.closed_caption | | boolean | +| axonius.identity.event.data.in_meeting.co_host | | boolean | +| axonius.identity.event.data.in_meeting.data_center_regions | | keyword | +| axonius.identity.event.data.in_meeting.e2e_encryption | | boolean | +| axonius.identity.event.data.in_meeting.entry_exit_chime | | boolean | +| axonius.identity.event.data.in_meeting.far_end_camera_control | | boolean | +| axonius.identity.event.data.in_meeting.feedback | | boolean | +| axonius.identity.event.data.in_meeting.group_hd | | boolean | +| axonius.identity.event.data.in_meeting.non_verbal_feedback | | boolean | +| axonius.identity.event.data.in_meeting.polling | | boolean | +| axonius.identity.event.data.in_meeting.private_chat | | boolean | +| axonius.identity.event.data.in_meeting.record_play_voice | | boolean | +| axonius.identity.event.data.in_meeting.remote_control | | boolean | +| axonius.identity.event.data.in_meeting.remote_support | | boolean | +| axonius.identity.event.data.in_meeting.share_dual_camera | | boolean | +| axonius.identity.event.data.in_meeting.show_meeting_control_toolbar | | boolean | +| axonius.identity.event.data.in_meeting.virtual_background | | boolean | +| axonius.identity.event.data.in_meeting.waiting_room | | boolean | +| axonius.identity.event.data.in_meeting.workplace_by_facebook | | boolean | +| axonius.identity.event.data.inactive_users | | long | +| axonius.identity.event.data.inactive_users_saved_query_id | | keyword | +| axonius.identity.event.data.internal_is_admin | | boolean | +| axonius.identity.event.data.is_active | | boolean | +| axonius.identity.event.data.is_admin | | boolean | +| axonius.identity.event.data.is_built_in | | boolean | +| axonius.identity.event.data.is_delegated_admin | | boolean | +| axonius.identity.event.data.is_fetched_from_adapter | | boolean | +| axonius.identity.event.data.is_from_sso_provider | | boolean | +| axonius.identity.event.data.is_latest_last_seen | | boolean | +| axonius.identity.event.data.is_managed_by_application | | boolean | +| axonius.identity.event.data.is_managed_by_direct_app | | boolean | +| axonius.identity.event.data.is_managed_by_sso | | boolean | +| axonius.identity.event.data.is_mfa_enforced | | boolean | +| axonius.identity.event.data.is_mfa_enrolled | | boolean | +| axonius.identity.event.data.is_non_editable | | boolean | +| axonius.identity.event.data.is_paid | | boolean | +| axonius.identity.event.data.is_permission_adapter | | boolean | +| axonius.identity.event.data.is_privileged | | boolean | +| axonius.identity.event.data.is_saas_user | | boolean | +| axonius.identity.event.data.is_user_active | | boolean | +| axonius.identity.event.data.is_user_deleted | | boolean | +| axonius.identity.event.data.is_user_external | | boolean | +| axonius.identity.event.data.is_user_inactive | | boolean | +| axonius.identity.event.data.is_user_suspended | | boolean | +| axonius.identity.event.data.issuer.common_name | | keyword | +| axonius.identity.event.data.issuer.country_name | | keyword | +| axonius.identity.event.data.issuer.organization | | keyword | +| axonius.identity.event.data.last_client_version | | keyword | +| axonius.identity.event.data.last_enrichment_run | | date | +| axonius.identity.event.data.last_fetch_connection_id | | keyword | +| axonius.identity.event.data.last_fetch_connection_label | | keyword | +| axonius.identity.event.data.last_login_attempt | | date | +| axonius.identity.event.data.last_logon | | date | +| axonius.identity.event.data.last_name | | keyword | +| axonius.identity.event.data.last_password_change | | date | +| axonius.identity.event.data.last_seen | | date | +| axonius.identity.event.data.mail | | keyword | +| axonius.identity.event.data.managed_non_operational_users | | long | +| axonius.identity.event.data.managed_non_operational_users_saved_query_id | | keyword | +| axonius.identity.event.data.managed_operational_users | | long | +| axonius.identity.event.data.managed_operational_users_saved_query_id | | keyword | +| axonius.identity.event.data.managed_users | | long | +| axonius.identity.event.data.managed_users_by_app | | long | +| axonius.identity.event.data.managed_users_by_app_saved_query_id | | keyword | +| axonius.identity.event.data.managed_users_by_sso | | long | +| axonius.identity.event.data.managed_users_by_sso_saved_query_id | | keyword | +| axonius.identity.event.data.managed_users_saved_query_id | | keyword | +| axonius.identity.event.data.manager_id | | keyword | +| axonius.identity.event.data.max_added_date | | date | +| axonius.identity.event.data.max_breach_date | | date | +| axonius.identity.event.data.max_modified_date | | date | +| axonius.identity.event.data.name | | keyword | +| axonius.identity.event.data.nested_applications | | keyword | +| axonius.identity.event.data.nested_applications.active_from_direct_adapter | | boolean | +| axonius.identity.event.data.nested_applications.app_accounts.name | | keyword | +| axonius.identity.event.data.nested_applications.app_display_name | | keyword | +| axonius.identity.event.data.nested_applications.app_links | | keyword | +| axonius.identity.event.data.nested_applications.assignment_type | | keyword | +| axonius.identity.event.data.nested_applications.extension_type | | keyword | +| axonius.identity.event.data.nested_applications.has_administrative_permissions | | boolean | +| axonius.identity.event.data.nested_applications.is_deleted | | boolean | +| axonius.identity.event.data.nested_applications.is_from_direct_adapter | | boolean | +| axonius.identity.event.data.nested_applications.is_managed | | boolean | +| axonius.identity.event.data.nested_applications.is_suspended | | boolean | +| axonius.identity.event.data.nested_applications.is_unmanaged_extension | | boolean | +| axonius.identity.event.data.nested_applications.is_user_external | | boolean | +| axonius.identity.event.data.nested_applications.is_user_paid | | boolean | +| axonius.identity.event.data.nested_applications.last_access | | date | +| axonius.identity.event.data.nested_applications.last_access_count | | long | +| axonius.identity.event.data.nested_applications.last_access_count_60_days | | long | +| axonius.identity.event.data.nested_applications.last_access_count_90_days | | long | +| axonius.identity.event.data.nested_applications.name | | keyword | +| axonius.identity.event.data.nested_applications.parents.name | | keyword | +| axonius.identity.event.data.nested_applications.parents.value | | keyword | +| axonius.identity.event.data.nested_applications.permissions.name | | keyword | +| axonius.identity.event.data.nested_applications.relation_direct_name | | keyword | +| axonius.identity.event.data.nested_applications.relation_discovery_name | | keyword | +| axonius.identity.event.data.nested_applications.relation_extension_name | | keyword | +| axonius.identity.event.data.nested_applications.relation_sso_name | | keyword | +| axonius.identity.event.data.nested_applications.source_application | | keyword | +| axonius.identity.event.data.nested_applications.value | | keyword | +| axonius.identity.event.data.nested_applications.vendor_category | | keyword | +| axonius.identity.event.data.nested_associated_devices | | keyword | +| axonius.identity.event.data.nested_grants_last_updated | | date | +| axonius.identity.event.data.nested_grants_managers_last_updated | | date | +| axonius.identity.event.data.nested_groups.assignment_type | | keyword | +| axonius.identity.event.data.nested_groups.group_name | | keyword | +| axonius.identity.event.data.nested_groups.name | | keyword | +| axonius.identity.event.data.nested_groups.parents.name | | keyword | +| axonius.identity.event.data.nested_groups.parents.parent_type | | keyword | +| axonius.identity.event.data.nested_groups.parents.value | | keyword | +| axonius.identity.event.data.nested_groups.value | | keyword | +| axonius.identity.event.data.nested_managers.assignment_type | | keyword | +| axonius.identity.event.data.nested_managers.parents.name | | keyword | +| axonius.identity.event.data.nested_managers.parents.parent_type | | keyword | +| axonius.identity.event.data.nested_managers.parents.value | | keyword | +| axonius.identity.event.data.nested_managers.value | | keyword | +| axonius.identity.event.data.nested_permissions.assignment_type | | keyword | +| axonius.identity.event.data.nested_permissions.has_administrative_permissions | | boolean | +| axonius.identity.event.data.nested_permissions.is_admin | | boolean | +| axonius.identity.event.data.nested_permissions.parents.name | | keyword | +| axonius.identity.event.data.nested_permissions.parents.parent_type | | keyword | +| axonius.identity.event.data.nested_permissions.parents.value | | keyword | +| axonius.identity.event.data.nested_permissions.value | | keyword | +| axonius.identity.event.data.nested_resources | | keyword | +| axonius.identity.event.data.nested_resources.assignment_type | | keyword | +| axonius.identity.event.data.nested_resources.name | | keyword | +| axonius.identity.event.data.nested_resources.parents.name | | keyword | +| axonius.identity.event.data.nested_resources.parents.value | | keyword | +| axonius.identity.event.data.nested_resources.value | | keyword | +| axonius.identity.event.data.nested_roles.assignment_type | | keyword | +| axonius.identity.event.data.nested_roles.name | | keyword | +| axonius.identity.event.data.nested_roles.parents.name | | keyword | +| axonius.identity.event.data.nested_roles.parents.parent_type | | keyword | +| axonius.identity.event.data.nested_roles.parents.value | | keyword | +| axonius.identity.event.data.nested_roles.value | | keyword | +| axonius.identity.event.data.not_fetched_count | | long | +| axonius.identity.event.data.operational_users_count | | long | +| axonius.identity.event.data.oracle_cloud_cis_incompliant.rule_cis_version | | float | +| axonius.identity.event.data.oracle_cloud_cis_incompliant.rule_section | | float | +| axonius.identity.event.data.orphaned_users | | long | +| axonius.identity.event.data.orphaned_users_saved_query_id | | keyword | +| axonius.identity.event.data.paid_users | | long | +| axonius.identity.event.data.paid_users_saved_query_id | | keyword | +| axonius.identity.event.data.password_never_expires | | boolean | +| axonius.identity.event.data.password_not_required | | boolean | +| axonius.identity.event.data.permissions.name | | keyword | +| axonius.identity.event.data.pmi | | keyword | +| axonius.identity.event.data.pretty_id | | keyword | +| axonius.identity.event.data.project_ids | | keyword | +| axonius.identity.event.data.project_tags.inherited | | keyword | +| axonius.identity.event.data.project_tags.key | | keyword | +| axonius.identity.event.data.project_tags.namespaced_tag_key | | keyword | +| axonius.identity.event.data.project_tags.namespaced_tag_value | | keyword | +| axonius.identity.event.data.project_tags.value | | keyword | +| axonius.identity.event.data.projects_roles.project_id | | keyword | +| axonius.identity.event.data.projects_roles.role_name | | keyword | +| axonius.identity.event.data.provider_name | | keyword | +| axonius.identity.event.data.provider_type | | keyword | +| axonius.identity.event.data.recording.auto_delete_cmr | | boolean | +| axonius.identity.event.data.recording.auto_delete_cmr_days | | boolean | +| axonius.identity.event.data.recording.auto_recording | | boolean | +| axonius.identity.event.data.recording.cloud_recording | | boolean | +| axonius.identity.event.data.recording.host_pause_stop_recording | | boolean | +| axonius.identity.event.data.recording.local_recording | | boolean | +| axonius.identity.event.data.recording.record_audio_file | | boolean | +| axonius.identity.event.data.recording.record_gallery_view | | boolean | +| axonius.identity.event.data.recording.record_speaker_view | | boolean | +| axonius.identity.event.data.recording.recording_audio_transcript | | boolean | +| axonius.identity.event.data.recording.save_chat_text | | boolean | +| axonius.identity.event.data.recording.show_timestamp | | boolean | +| axonius.identity.event.data.recovery_question_set | | boolean | +| axonius.identity.event.data.relatable_ids | | keyword | +| axonius.identity.event.data.remote_account_id | | keyword | +| axonius.identity.event.data.remote_id | | keyword | +| axonius.identity.event.data.roles | | keyword | +| axonius.identity.event.data.roles.display_name | | keyword | +| axonius.identity.event.data.roles.remote_id | | keyword | +| axonius.identity.event.data.schedule_meeting.audio_type | | keyword | +| axonius.identity.event.data.schedule_meeting.force_pmi_jbh_password | | boolean | +| axonius.identity.event.data.schedule_meeting.host_video | | boolean | +| axonius.identity.event.data.schedule_meeting.join_before_host | | boolean | +| axonius.identity.event.data.schedule_meeting.participants_video | | boolean | +| axonius.identity.event.data.schedule_meeting.pstn_password_protected | | boolean | +| axonius.identity.event.data.schedule_meeting.require_password_for_instant_meetings | | boolean | +| axonius.identity.event.data.schedule_meeting.require_password_for_pmi_meetings | | boolean | +| axonius.identity.event.data.schedule_meeting.require_password_for_scheduled_meetings | | boolean | +| axonius.identity.event.data.schedule_meeting.require_password_for_scheduling_new_meetings | | boolean | +| axonius.identity.event.data.schedule_meeting.use_pmi_for_instant_meetings | | boolean | +| axonius.identity.event.data.schedule_meeting.use_pmi_for_scheduled_meetings | | boolean | +| axonius.identity.event.data.serial_number | | keyword | +| axonius.identity.event.data.shirt_size | | keyword | +| axonius.identity.event.data.sm_entity_type | | keyword | +| axonius.identity.event.data.snow_full_name | | keyword | +| axonius.identity.event.data.snow_location | | keyword | +| axonius.identity.event.data.source_application | | keyword | +| axonius.identity.event.data.status | | keyword | +| axonius.identity.event.data.status_changed | | date | +| axonius.identity.event.data.subject.common_name | | keyword | +| axonius.identity.event.data.subject.country_name | | keyword | +| axonius.identity.event.data.subject.locality | | keyword | +| axonius.identity.event.data.subject.organization | | keyword | +| axonius.identity.event.data.subject.state | | keyword | +| axonius.identity.event.data.suspended_users | | long | +| axonius.identity.event.data.suspended_users_saved_query_id | | keyword | +| axonius.identity.event.data.telephony.show_international_numbers_link | | boolean | +| axonius.identity.event.data.telephony.third_party_audio | | boolean | +| axonius.identity.event.data.tenant_number | | keyword | +| axonius.identity.event.data.timezone | | keyword | +| axonius.identity.event.data.total_users_count | | long | +| axonius.identity.event.data.tsp.call_out | | boolean | +| axonius.identity.event.data.tsp.show_international_numbers_link | | boolean | +| axonius.identity.event.data.type | | keyword | +| axonius.identity.event.data.u_department | | keyword | +| axonius.identity.event.data.u_vip | | boolean | +| axonius.identity.event.data.unlinked_users | | long | +| axonius.identity.event.data.unlinked_users_saved_query_id | | keyword | +| axonius.identity.event.data.updated_on | | date | +| axonius.identity.event.data.user_apps.active_from_direct_adapter | | boolean | +| axonius.identity.event.data.user_apps.app_accounts.name | | keyword | +| axonius.identity.event.data.user_apps.app_display_name | | keyword | +| axonius.identity.event.data.user_apps.app_id | | keyword | +| axonius.identity.event.data.user_apps.app_links | | keyword | +| axonius.identity.event.data.user_apps.app_name | | keyword | +| axonius.identity.event.data.user_apps.extension_type | | keyword | +| axonius.identity.event.data.user_apps.is_from_direct_adapter | | boolean | +| axonius.identity.event.data.user_apps.is_managed | | boolean | +| axonius.identity.event.data.user_apps.is_saas_application | | boolean | +| axonius.identity.event.data.user_apps.is_unmanaged_extension | | boolean | +| axonius.identity.event.data.user_apps.is_user_deleted | | boolean | +| axonius.identity.event.data.user_apps.is_user_external | | boolean | +| axonius.identity.event.data.user_apps.is_user_paid | | boolean | +| axonius.identity.event.data.user_apps.is_user_suspended | | boolean | +| axonius.identity.event.data.user_apps.last_access | | date | +| axonius.identity.event.data.user_apps.permissions.name | | keyword | +| axonius.identity.event.data.user_apps.relation_direct_name | | keyword | +| axonius.identity.event.data.user_apps.relation_discovery_name | | keyword | +| axonius.identity.event.data.user_apps.relation_extension_name | | keyword | +| axonius.identity.event.data.user_apps.relation_sso_name | | keyword | +| axonius.identity.event.data.user_apps.source_application | | keyword | +| axonius.identity.event.data.user_apps.vendor_category | | keyword | +| axonius.identity.event.data.user_count_link.bracketWeight | | double | +| axonius.identity.event.data.user_count_link.compOp | | keyword | +| axonius.identity.event.data.user_count_link.field | | keyword | +| axonius.identity.event.data.user_count_link.leftBracket | | double | +| axonius.identity.event.data.user_count_link.logicOp | | keyword | +| axonius.identity.event.data.user_count_link.not | | boolean | +| axonius.identity.event.data.user_count_link.rightBracket | | double | +| axonius.identity.event.data.user_count_link.value | | keyword | +| axonius.identity.event.data.user_country | | keyword | +| axonius.identity.event.data.user_created | | date | +| axonius.identity.event.data.user_department | | keyword | +| axonius.identity.event.data.user_factors.created | | date | +| axonius.identity.event.data.user_factors.factor_status | | keyword | +| axonius.identity.event.data.user_factors.factor_type | | keyword | +| axonius.identity.event.data.user_factors.is_enabled | | boolean | +| axonius.identity.event.data.user_factors.last_updated | | date | +| axonius.identity.event.data.user_factors.name | | keyword | +| axonius.identity.event.data.user_factors.provider | | keyword | +| axonius.identity.event.data.user_factors.strength | | keyword | +| axonius.identity.event.data.user_factors.vendor_name | | keyword | +| axonius.identity.event.data.user_full_name | | keyword | +| axonius.identity.event.data.user_is_password_enabled | | boolean | +| axonius.identity.event.data.user_manager | | keyword | +| axonius.identity.event.data.user_manager_mail | | keyword | +| axonius.identity.event.data.user_pass_last_used | | keyword | +| axonius.identity.event.data.user_path | | keyword | +| axonius.identity.event.data.user_permissions.is_admin | | boolean | +| axonius.identity.event.data.user_permissions.name | | keyword | +| axonius.identity.event.data.user_related_resources.id | | keyword | +| axonius.identity.event.data.user_related_resources.name | | keyword | +| axonius.identity.event.data.user_related_resources.type | | keyword | +| axonius.identity.event.data.user_remote_id | | keyword | +| axonius.identity.event.data.user_sid | | keyword | +| axonius.identity.event.data.user_status | | keyword | +| axonius.identity.event.data.user_telephone_number | | keyword | +| axonius.identity.event.data.user_title | | keyword | +| axonius.identity.event.data.user_type | | keyword | +| axonius.identity.event.data.username | | keyword | +| axonius.identity.event.data.verified | | boolean | +| axonius.identity.event.data.version | | keyword | +| axonius.identity.event.entity | | keyword | +| axonius.identity.event.hidden_for_gui | | boolean | +| axonius.identity.event.initial_plugin_unique_name | | keyword | +| axonius.identity.event.name | | keyword | +| axonius.identity.event.plugin_name | | keyword | +| axonius.identity.event.plugin_type | | keyword | +| axonius.identity.event.plugin_unique_name | | keyword | +| axonius.identity.event.quick_id | | keyword | +| axonius.identity.event.type | | keyword | +| axonius.identity.internal_axon_id | | keyword | +| data_stream.dataset | The field can contain anything that makes sense to signify the source of the data. Examples include `nginx.access`, `prometheus`, `endpoint` etc. For data streams that otherwise fit, but that do not have dataset set we use the value "generic" for the dataset value. `event.dataset` should have the same value as `data_stream.dataset`. Beyond the Elasticsearch data stream naming criteria noted above, the `dataset` value has additional restrictions: \* Must not contain `-` \* No longer than 100 characters | constant_keyword | +| data_stream.namespace | A user defined namespace. Namespaces are useful to allow grouping of data. Many users already organize their indices this way, and the data stream naming scheme now provides this best practice as a default. Many users will populate this field with `default`. If no value is used, it falls back to `default`. Beyond the Elasticsearch index naming criteria noted above, `namespace` value has the additional restrictions: \* Must not contain `-` \* No longer than 100 characters | constant_keyword | +| data_stream.type | An overarching type for the data stream. Currently allowed values are "logs" and "metrics". We expect to also add "traces" and "synthetics" in the near future. | constant_keyword | +| event.dataset | Name of the dataset. If an event source publishes more than one type of log or events (e.g. access log, error log), the dataset is used to specify which one the event comes from. It's recommended but not required to start the dataset name with the module name, followed by a dot, then the dataset name. | constant_keyword | +| event.module | Name of the module this data is coming from. If your monitoring agent supports the concept of modules or plugins to process events of a given source (e.g. Apache logs), `event.module` should contain the name of this module. | constant_keyword | +| input.type | Type of filebeat input. | keyword | +| log.offset | Log offset. | long | +| observer.vendor | Vendor name of the observer. | constant_keyword | + + +An example event for `identity` looks as following: + +```json +{ + "@timestamp": "2025-12-09T12:02:11.000Z", + "agent": { + "ephemeral_id": "fa5bf2ae-a8ba-4b17-8ea6-c1f94cf39fd0", + "id": "9e2501d5-affe-4b18-9946-d7093484df30", + "name": "elastic-agent-38295", + "type": "filebeat", + "version": "8.18.0" + }, + "axonius": { + "identity": { + "adapter_list_length": 12, + "adapters": [ + "aws_adapter", + "zoom_adapter" + ], + "asset_type": "users", + "event": { + "accurate_for_datetime": "2025-12-09T12:02:11.000Z", + "adapter_categories": [ + "Directory", + "IAM", + "SaaS Management" + ], + "client_used": "67fd09bbfe1c8e812a176bb5", + "data": { + "account_disabled": true, + "accurate_for_datetime": "2025-12-09T12:02:11.000Z", + "application_and_account_name": "microsoft/azure_ad-demo", + "associated_groups": [ + { + "display_name": "developers-group", + "remote_id": "a3e70162" + } + ], + "azure_account_id": "c8103abe-eda9-472b-894a-6260bb2ba8cc", + "cloud_provider": "Azure", + "email_activity": { + "is_deleted": false, + "product_license": "MICROSOFT FABRIC (FREE)+MICROSOFT TEAMS PHONE STANDARD+MICROSOFT DEFENDER FOR OFFICE365 (PLAN 2)+MICROSOFT 365 AUDIO CONFERENCING+ENTERPRISE MOBILITY + SECURITY E3+OFFICE365 E3+MICROSOFT 365 E3 EXTRA FEATURES", + "read_count": 2321, + "receive_count": 6965, + "report_date": "2025-01-10T20:34:43.000Z", + "report_period": 90, + "send_count": 3030 + }, + "fetch_time": "2025-12-09T12:02:03.000Z", + "first_fetch_time": "2025-04-14T13:27:00.000Z", + "from_last_fetch": true, + "has_administrative_permissions": true, + "id": "c8103abe-eda9-472b-894a-6260bb2ba8cc", + "internal_is_admin": false, + "is_admin": false, + "is_fetched_from_adapter": true, + "is_latest_last_seen": true, + "is_managed_by_application": true, + "is_permission_adapter": true, + "is_saas_user": true, + "is_user_external": false, + "last_fetch_connection_id": "67fd09bbfe1c8e812a176bb5", + "last_fetch_connection_label": "azure_ad-demo", + "last_logon": "2025-11-30T18:50:39.000Z", + "last_seen": "2025-11-10T22:18:25.000Z", + "mail": "helen.jordan@demo.local", + "nested_applications": [ + { + "app_display_name": "Calendly", + "assignment_type": "Direct", + "extension_type": "User Consent", + "is_managed": false, + "is_unmanaged_extension": true, + "name": "Calendly", + "permissions": [ + { + "name": "openid" + } + ], + "relation_extension_name": "Calendly", + "source_application": "Microsoft", + "value": "2E2a2e7c9f758BDcC0E2", + "vendor_category": "Productivity" + } + ], + "nested_grants_last_updated": "2025-12-09T12:10:06.000Z", + "nested_grants_managers_last_updated": "2025-12-09T12:10:10.000Z", + "nested_groups": [ + { + "assignment_type": "Direct", + "name": "Office365 Users", + "value": "d8e66837" + } + ], + "not_fetched_count": 0, + "sm_entity_type": "saas_user", + "source_application": "Microsoft", + "tenant_number": [ + "2" + ], + "user_created": "2024-06-28T08:49:28.000Z", + "user_permissions": [ + { + "is_admin": false, + "name": "OnlineMeetings.ReadWrite" + } + ], + "user_remote_id": "63d52bb0-7ce0-4467-9004-2b19c06b86ae", + "user_type": "Member", + "username": "helen.jordan@demo.local" + }, + "initial_plugin_unique_name": "azure_ad_adapter_0", + "plugin_name": "azure_ad_adapter", + "plugin_type": "Adapter", + "plugin_unique_name": "azure_ad_adapter_0", + "quick_id": "azure_ad_adapter_0!c8103abe-eda9-472b-894a-6260bb2ba8cc", + "type": "entitydata" + }, + "internal_axon_id": "bc11b2989fc0f69708b6865d172a49fe" + } + }, + "cloud": { + "account": { + "id": "c8103abe-eda9-472b-894a-6260bb2ba8cc" + }, + "provider": "Azure" + }, + "data_stream": { + "dataset": "axonius.identity", + "namespace": "52700", + "type": "logs" + }, + "ecs": { + "version": "9.2.0" + }, + "elastic_agent": { + "id": "9e2501d5-affe-4b18-9946-d7093484df30", + "snapshot": false, + "version": "8.18.0" + }, + "event": { + "agent_id_status": "verified", + "category": [ + "iam" + ], + "created": "2024-06-28T08:49:28.000Z", + "dataset": "axonius.identity", + "ingested": "2025-12-18T12:07:36Z", + "kind": "event", + "original": "{\"adapter_list_length\":12,\"adapters\":[\"aws_adapter\",\"zoom_adapter\"],\"asset_type\":\"users\",\"event\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 12:02:11 GMT\",\"adapter_categories\":[\"Directory\",\"IAM\",\"SaaS Management\"],\"client_used\":\"67fd09bbfe1c8e812a176bb5\",\"data\":{\"account_disabled\":true,\"accurate_for_datetime\":\"Tue, 09 Dec 2025 12:02:11 GMT\",\"application_and_account_name\":\"microsoft/azure_ad-demo\",\"associated_groups\":[{\"display_name\":\"developers-group\",\"remote_id\":\"a3e70162\"}],\"azure_account_id\":\"c8103abe-eda9-472b-894a-6260bb2ba8cc\",\"cloud_provider\":\"Azure\",\"email_activity\":{\"is_deleted\":false,\"product_license\":\"MICROSOFT FABRIC (FREE)+MICROSOFT TEAMS PHONE STANDARD+MICROSOFT DEFENDER FOR OFFICE365 (PLAN 2)+MICROSOFT 365 AUDIO CONFERENCING+ENTERPRISE MOBILITY + SECURITY E3+OFFICE365 E3+MICROSOFT 365 E3 EXTRA FEATURES\",\"read_count\":2321,\"receive_count\":6965,\"report_date\":\"Fri, 10 Jan 2025 20:34:43 GMT\",\"report_period\":90,\"send_count\":3030},\"fetch_time\":\"Tue, 09 Dec 2025 12:02:03 GMT\",\"first_fetch_time\":\"Mon, 14 Apr 2025 13:27:00 GMT\",\"from_last_fetch\":true,\"has_administrative_permissions\":true,\"id\":\"c8103abe-eda9-472b-894a-6260bb2ba8cc\",\"internal_is_admin\":false,\"is_admin\":false,\"is_fetched_from_adapter\":true,\"is_latest_last_seen\":true,\"is_managed_by_application\":true,\"is_permission_adapter\":true,\"is_saas_user\":true,\"is_user_external\":false,\"last_fetch_connection_id\":\"67fd09bbfe1c8e812a176bb5\",\"last_fetch_connection_label\":\"azure_ad-demo\",\"last_logon\":\"Sun, 30 Nov 2025 18:50:39 GMT\",\"last_seen\":\"Mon, 10 Nov 2025 22:18:25 GMT\",\"mail\":\"helen.jordan@demo.local\",\"nested_applications\":[{\"app_display_name\":\"Calendly\",\"assignment_type\":\"Direct\",\"extension_type\":\"User Consent\",\"is_managed\":false,\"is_unmanaged_extension\":true,\"name\":\"Calendly\",\"parents\":[{\"name\":\"\",\"value\":\"\"}],\"permissions\":[{\"name\":\"openid\"}],\"relation_extension_name\":\"Calendly\",\"source_application\":\"Microsoft\",\"value\":\"2E2a2e7c9f758BDcC0E2\",\"vendor_category\":\"Productivity\"}],\"nested_associated_devices\":[],\"nested_grants_last_updated\":\"Tue, 09 Dec 2025 12:10:06 GMT\",\"nested_grants_managers_last_updated\":\"Tue, 09 Dec 2025 12:10:10 GMT\",\"nested_groups\":[{\"assignment_type\":\"Direct\",\"name\":\"Office365 Users\",\"parents\":[{\"name\":\"\",\"value\":\"\"}],\"value\":\"d8e66837\"}],\"nested_managers\":[],\"nested_resources\":[],\"nested_roles\":[],\"not_fetched_count\":0,\"sm_entity_type\":\"saas_user\",\"source_application\":\"Microsoft\",\"tenant_number\":[\"2\"],\"user_apps\":[],\"user_created\":\"Fri, 28 Jun 2024 08:49:28 GMT\",\"user_permissions\":[{\"is_admin\":false,\"name\":\"OnlineMeetings.ReadWrite\"}],\"user_remote_id\":\"63d52bb0-7ce0-4467-9004-2b19c06b86ae\",\"user_type\":\"Member\",\"username\":\"helen.jordan@demo.local\"},\"initial_plugin_unique_name\":\"azure_ad_adapter_0\",\"plugin_name\":\"azure_ad_adapter\",\"plugin_type\":\"Adapter\",\"plugin_unique_name\":\"azure_ad_adapter_0\",\"quick_id\":\"azure_ad_adapter_0!c8103abe-eda9-472b-894a-6260bb2ba8cc\",\"type\":\"entitydata\"},\"internal_axon_id\":\"bc11b2989fc0f69708b6865d172a49fe\"}", + "type": [ + "info" + ] + }, + "input": { + "type": "cel" + }, + "related": { + "user": [ + "developers-group", + "helen.jordan@demo.local" + ] + }, + "tags": [ + "preserve_original_event", + "preserve_duplicate_custom_fields", + "forwarded", + "axonius-identity" + ], + "user": { + "domain": "demo.local", + "email": "helen.jordan@demo.local", + "name": "helen.jordan@demo.local" + } +} +``` + +### Inputs used + +These inputs can be used with this integration: +
+cel + +## Setup + +For more details about the CEL input settings, check the [Filebeat documentation](https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-input-cel.html). + +Before configuring the CEL input, make sure you have: +- Network connectivity to the target API endpoint +- Valid authentication credentials (API keys, tokens, or certificates as required) +- Appropriate permissions to read from the target data source + +### Collecting logs from CEL + +To configure the CEL input, you must specify the `request.url` value pointing to the API endpoint. The interval parameter controls how frequently requests are made and is the primary way to balance data freshness with API rate limits and costs. Authentication is often configured through the `request.headers` section using the appropriate method for the service. + +NOTE: To access the API service, make sure you have the necessary API credentials and that the Filebeat instance can reach the endpoint URL. Some services may require IP whitelisting or VPN access. + +To collect logs via API endpoint, configure the following parameters: + +- API Endpoint URL +- API credentials (tokens, keys, or username/password) +- Request interval (how often to fetch data) +
+ + +### API usage + +These APIs are used with this integration: + +* Identity: + * users (endpoint: `/api/v2/users`) + * groups (endpoint: `/api/v2/groups`) + * security_roles (endpoint: `/api/v2/security_roles`) + * organizational_units (endpoint: `/api/v2/organizational_units`) + * accounts (endpoint: `/api/v2/accounts`) + * certificates (endpoint: `/api/v2/certificates`) + * permissions (endpoint: `/api/v2/permissions`) + * latest_rules (endpoint: `/api/v2/latest_rules`) + * profiles (endpoint: `/api/v2/profiles`) + * job_titles (endpoint: `/api/v2/job_titles`) + * access_review_campaign_instances (endpoint: `/api/v2/access_review_campaign_instances`) + * access_review_approval_items (endpoint: `/api/v2/access_review_approval_items`) diff --git a/packages/axonius/img/axonius-identity-dashboard.png b/packages/axonius/img/axonius-identity-dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..db2aa53b46418b18de5d243eb037f0708a6844b1 GIT binary patch literal 332880 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

}N1l$@}U-0u2N%(_&a0{l=hF$Lz>aCvb?N^); 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%0AL0xKjQ68gbW) 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 t4wJKv%bIdlN=u(%B23cN>?-43>(H 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 literal 0 HcmV?d00001 diff --git a/packages/axonius/img/axonius-logo.svg b/packages/axonius/img/axonius-logo.svg new file mode 100644 index 00000000000..76c63d28c54 --- /dev/null +++ b/packages/axonius/img/axonius-logo.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/packages/axonius/kibana/dashboard/axonius-60472232-ca7b-45e6-9fa6-72e6efc41a8e.json b/packages/axonius/kibana/dashboard/axonius-60472232-ca7b-45e6-9fa6-72e6efc41a8e.json new file mode 100644 index 00000000000..38f84568741 --- /dev/null +++ b/packages/axonius/kibana/dashboard/axonius-60472232-ca7b-45e6-9fa6-72e6efc41a8e.json @@ -0,0 +1,1312 @@ +{ + "attributes": { + "controlGroupInput": { + "chainingSystem": "HIERARCHICAL", + "controlStyle": "oneLine", + "ignoreParentSettingsJSON": { + "ignoreFilters": false, + "ignoreQuery": false, + "ignoreTimerange": false, + "ignoreValidations": false + }, + "panelsJSON": {}, + "showApplySelections": false + }, + "description": "Overview of Identity assets including users, groups, accounts and more in Axonius.", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "data_stream.dataset", + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "axonius.identity" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "axonius.identity" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-92ddbbb3-5b76-406f-94fa-5d6403f357c9", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "currentIndexPatternId": "logs-*", + "layers": { + "92ddbbb3-5b76-406f-94fa-5d6403f357c9": { + "columnOrder": [ + "85f5d170-59ca-4644-a4cf-86731e716c59" + ], + "columns": { + "85f5d170-59ca-4644-a4cf-86731e716c59": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "axonius.identity.event.data.is_user_inactive : true " + }, + "isBucketed": false, + "label": "Inactive Users", + "operationType": "count", + "params": { + "emptyAsNull": false + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {}, + "indexPatternId": "logs-*", + "sampling": 1 + } + } + }, + "indexpattern": { + "currentIndexPatternId": "logs-*", + "layers": {} + }, + "textBased": { + "indexPatternRefs": [ + { + "id": "logs-*", + "timeField": "@timestamp", + "title": "logs-*" + } + ], + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "color": "#6092C0", + "layerId": "92ddbbb3-5b76-406f-94fa-5d6403f357c9", + "layerType": "data", + "metricAccessor": "85f5d170-59ca-4644-a4cf-86731e716c59" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsMetric" + }, + "enhancements": { + "dynamicActions": { + "events": [] + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false + }, + "gridData": { + "h": 11, + "i": "6ad81d2b-ed86-4f33-8b69-f53709f63008", + "w": 9, + "x": 20, + "y": 0 + }, + "panelIndex": "6ad81d2b-ed86-4f33-8b69-f53709f63008", + "title": "", + "type": "lens" + }, + { + "embeddableConfig": { + "enhancements": { + "dynamicActions": { + "events": [] + } + }, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "**Overview**\n\nThis dashboard provides a comprehensive view of Identity Assets collected from Axonius.\n\nIt provides clear visibility into the identity landscape, highlighting counts of active, inactive, suspended, and external users to help teams quickly assess overall account posture. Breakdowns by user status, type, and department reveal how identities are distributed across the organization and make it easier to spot unusual patterns or high-risk groups.\n\nTables showing top email addresses and cloud providers add further context, helping analysts identify heavily used accounts and understand where identities originate. These insights enable teams to monitor user activity, detect anomalies, and maintain strong identity hygiene across the environment.\n\n**[Integration Page](/app/integrations/detail/axonius)**\n\n", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + } + }, + "gridData": { + "h": 24, + "i": "81193bb4-dd3c-480a-be42-294bdc0ea866", + "w": 11, + "x": 0, + "y": 0 + }, + "panelIndex": "81193bb4-dd3c-480a-be42-294bdc0ea866", + "type": "visualization" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-92ddbbb3-5b76-406f-94fa-5d6403f357c9", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "currentIndexPatternId": "logs-*", + "layers": { + "92ddbbb3-5b76-406f-94fa-5d6403f357c9": { + "columnOrder": [ + "85f5d170-59ca-4644-a4cf-86731e716c59" + ], + "columns": { + "85f5d170-59ca-4644-a4cf-86731e716c59": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "axonius.identity.event.data.is_user_external : true " + }, + "isBucketed": false, + "label": "External Users", + "operationType": "count", + "params": { + "emptyAsNull": false + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {}, + "indexPatternId": "logs-*", + "sampling": 1 + } + } + }, + "indexpattern": { + "currentIndexPatternId": "logs-*", + "layers": {} + }, + "textBased": { + "indexPatternRefs": [ + { + "id": "logs-*", + "timeField": "@timestamp", + "title": "logs-*" + } + ], + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "color": "#6092C0", + "layerId": "92ddbbb3-5b76-406f-94fa-5d6403f357c9", + "layerType": "data", + "metricAccessor": "85f5d170-59ca-4644-a4cf-86731e716c59" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsMetric" + }, + "enhancements": { + "dynamicActions": { + "events": [] + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false + }, + "gridData": { + "h": 11, + "i": "3e391701-e157-420b-951a-d7100ae6a606", + "w": 9, + "x": 29, + "y": 0 + }, + "panelIndex": "3e391701-e157-420b-951a-d7100ae6a606", + "title": "", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-92ddbbb3-5b76-406f-94fa-5d6403f357c9", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "currentIndexPatternId": "logs-*", + "layers": { + "92ddbbb3-5b76-406f-94fa-5d6403f357c9": { + "columnOrder": [ + "85f5d170-59ca-4644-a4cf-86731e716c59" + ], + "columns": { + "85f5d170-59ca-4644-a4cf-86731e716c59": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "axonius.identity.event.data.is_user_suspended : true " + }, + "isBucketed": false, + "label": "Suspended Users", + "operationType": "count", + "params": { + "emptyAsNull": false + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {}, + "indexPatternId": "logs-*", + "sampling": 1 + } + } + }, + "indexpattern": { + "currentIndexPatternId": "logs-*", + "layers": {} + }, + "textBased": { + "indexPatternRefs": [ + { + "id": "logs-*", + "timeField": "@timestamp", + "title": "logs-*" + } + ], + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "color": "#6092C0", + "layerId": "92ddbbb3-5b76-406f-94fa-5d6403f357c9", + "layerType": "data", + "metricAccessor": "85f5d170-59ca-4644-a4cf-86731e716c59" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsMetric" + }, + "enhancements": { + "dynamicActions": { + "events": [] + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false + }, + "gridData": { + "h": 11, + "i": "26f08be7-2fb8-467a-a083-b1ad005319aa", + "w": 10, + "x": 38, + "y": 0 + }, + "panelIndex": "26f08be7-2fb8-467a-a083-b1ad005319aa", + "title": "", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-92ddbbb3-5b76-406f-94fa-5d6403f357c9", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "92ddbbb3-5b76-406f-94fa-5d6403f357c9": { + "columnOrder": [ + "85f5d170-59ca-4644-a4cf-86731e716c59" + ], + "columns": { + "85f5d170-59ca-4644-a4cf-86731e716c59": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "axonius.identity.event.data.is_user_active : true " + }, + "isBucketed": false, + "label": "Active Users", + "operationType": "count", + "params": { + "emptyAsNull": false + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "color": "#6092C0", + "layerId": "92ddbbb3-5b76-406f-94fa-5d6403f357c9", + "layerType": "data", + "metricAccessor": "85f5d170-59ca-4644-a4cf-86731e716c59" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsMetric" + }, + "enhancements": { + "dynamicActions": { + "events": [] + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false + }, + "gridData": { + "h": 11, + "i": "e6ecc072-ac29-41db-9114-13dae61a9b12", + "w": 9, + "x": 11, + "y": 0 + }, + "panelIndex": "e6ecc072-ac29-41db-9114-13dae61a9b12", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-de0785d4-371f-4a45-ac37-2186b2edcf67", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "currentIndexPatternId": "logs-*", + "layers": { + "de0785d4-371f-4a45-ac37-2186b2edcf67": { + "columnOrder": [ + "54671554-f13e-4033-ae23-a5a3b3611f70", + "023570e2-b88f-44fc-a677-c18fede19957" + ], + "columns": { + "023570e2-b88f-44fc-a677-c18fede19957": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "axonius.identity.asset_type : \"users\" " + }, + "isBucketed": false, + "label": "Count", + "operationType": "count", + "params": { + "emptyAsNull": false + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "54671554-f13e-4033-ae23-a5a3b3611f70": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "User Department", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "023570e2-b88f-44fc-a677-c18fede19957", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "secondaryFields": [], + "size": 10 + }, + "scale": "ordinal", + "sourceField": "axonius.identity.event.data.user_department" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {}, + "indexPatternId": "logs-*", + "sampling": 1 + } + } + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "Linear", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "023570e2-b88f-44fc-a677-c18fede19957" + ], + "colorMapping": { + "assignments": [], + "colorMode": { + "type": "categorical" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "de0785d4-371f-4a45-ac37-2186b2edcf67", + "layerType": "data", + "seriesType": "bar_horizontal", + "xAccessor": "54671554-f13e-4033-ae23-a5a3b3611f70" + } + ], + "legend": { + "isVisible": true, + "position": "right", + "shouldTruncate": false + }, + "preferredSeriesType": "bar_percentage_stacked", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": { + "dynamicActions": { + "events": [] + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false + }, + "gridData": { + "h": 13, + "i": "6951a3ed-dc02-4bfa-afa9-39c2832d7f1b", + "w": 19, + "x": 29, + "y": 11 + }, + "panelIndex": "6951a3ed-dc02-4bfa-afa9-39c2832d7f1b", + "title": "Users by Department", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-de0785d4-371f-4a45-ac37-2186b2edcf67", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "currentIndexPatternId": "logs-*", + "layers": { + "de0785d4-371f-4a45-ac37-2186b2edcf67": { + "columnOrder": [ + "54671554-f13e-4033-ae23-a5a3b3611f70", + "023570e2-b88f-44fc-a677-c18fede19957" + ], + "columns": { + "023570e2-b88f-44fc-a677-c18fede19957": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "axonius.identity.asset_type : \"users\" " + }, + "isBucketed": false, + "label": "Count", + "operationType": "count", + "params": { + "emptyAsNull": false + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "54671554-f13e-4033-ae23-a5a3b3611f70": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "User Type", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "023570e2-b88f-44fc-a677-c18fede19957", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "secondaryFields": [], + "size": 10 + }, + "scale": "ordinal", + "sourceField": "axonius.identity.event.data.user_type" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {}, + "indexPatternId": "logs-*", + "sampling": 1 + } + } + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "Linear", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "023570e2-b88f-44fc-a677-c18fede19957" + ], + "colorMapping": { + "assignments": [], + "colorMode": { + "type": "categorical" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "de0785d4-371f-4a45-ac37-2186b2edcf67", + "layerType": "data", + "seriesType": "bar_horizontal", + "xAccessor": "54671554-f13e-4033-ae23-a5a3b3611f70" + } + ], + "legend": { + "isVisible": true, + "position": "right", + "shouldTruncate": false + }, + "preferredSeriesType": "bar_percentage_stacked", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": { + "dynamicActions": { + "events": [] + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false + }, + "gridData": { + "h": 13, + "i": "c1ee3a0e-4c34-482f-b05f-4e7688cade1e", + "w": 18, + "x": 11, + "y": 11 + }, + "panelIndex": "c1ee3a0e-4c34-482f-b05f-4e7688cade1e", + "title": "Users by Type", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-de0785d4-371f-4a45-ac37-2186b2edcf67", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "de0785d4-371f-4a45-ac37-2186b2edcf67": { + "columnOrder": [ + "74985650-cdb9-4a10-ba7a-b894a621146b", + "023570e2-b88f-44fc-a677-c18fede19957" + ], + "columns": { + "023570e2-b88f-44fc-a677-c18fede19957": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "axonius.identity.asset_type : \"users\" " + }, + "isBucketed": false, + "label": "Count", + "operationType": "count", + "params": { + "emptyAsNull": false + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "74985650-cdb9-4a10-ba7a-b894a621146b": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "User Status", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "023570e2-b88f-44fc-a677-c18fede19957", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "size": 5 + }, + "scale": "ordinal", + "sourceField": "axonius.identity.event.data.user_status" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "colorMapping": { + "assignments": [], + "colorMode": { + "type": "categorical" + }, + "paletteId": "eui_amsterdam_color_blind", + "specialAssignments": [ + { + "color": { + "type": "loop" + }, + "rule": { + "type": "other" + }, + "touched": false + } + ] + }, + "layerId": "de0785d4-371f-4a45-ac37-2186b2edcf67", + "layerType": "data", + "legendDisplay": "show", + "metrics": [ + "023570e2-b88f-44fc-a677-c18fede19957" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "74985650-cdb9-4a10-ba7a-b894a621146b" + ], + "truncateLegend": false + } + ], + "shape": "pie" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": { + "dynamicActions": { + "events": [] + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false + }, + "gridData": { + "h": 17, + "i": "091d0600-2142-4fed-99b2-cf8b3fd41f4f", + "w": 11, + "x": 0, + "y": 24 + }, + "panelIndex": "091d0600-2142-4fed-99b2-cf8b3fd41f4f", + "title": "Users by Status", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-d8a5a798-7079-4ee6-ac52-6fa6465a663f", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "currentIndexPatternId": "logs-*", + "layers": { + "d8a5a798-7079-4ee6-ac52-6fa6465a663f": { + "columnOrder": [ + "5703741c-7c01-443c-a659-9504618d9b66", + "8e4741cc-61b9-4853-822c-faacd3e44b9a" + ], + "columns": { + "5703741c-7c01-443c-a659-9504618d9b66": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Cloud Provider", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "8e4741cc-61b9-4853-822c-faacd3e44b9a", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "secondaryFields": [], + "size": 10 + }, + "scale": "ordinal", + "sourceField": "cloud.provider" + }, + "8e4741cc-61b9-4853-822c-faacd3e44b9a": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Count", + "operationType": "count", + "params": { + "emptyAsNull": false + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {}, + "indexPatternId": "logs-*", + "sampling": 1 + } + } + }, + "indexpattern": { + "currentIndexPatternId": "logs-*", + "layers": {} + }, + "textBased": { + "indexPatternRefs": [ + { + "id": "logs-*", + "timeField": "@timestamp", + "title": "logs-*" + } + ], + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "columns": [ + { + "columnId": "8e4741cc-61b9-4853-822c-faacd3e44b9a", + "isMetric": true, + "isTransposed": false + }, + { + "columnId": "5703741c-7c01-443c-a659-9504618d9b66", + "isMetric": false, + "isTransposed": false + } + ], + "layerId": "d8a5a798-7079-4ee6-ac52-6fa6465a663f", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": { + "dynamicActions": { + "events": [] + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false + }, + "gridData": { + "h": 17, + "i": "c6710940-9337-4981-9769-1fc79e4ece1a", + "w": 19, + "x": 29, + "y": 24 + }, + "panelIndex": "c6710940-9337-4981-9769-1fc79e4ece1a", + "title": "Top Cloud Providers", + "type": "lens" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-d8a5a798-7079-4ee6-ac52-6fa6465a663f", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "d8a5a798-7079-4ee6-ac52-6fa6465a663f": { + "columnOrder": [ + "5703741c-7c01-443c-a659-9504618d9b66", + "8e4741cc-61b9-4853-822c-faacd3e44b9a" + ], + "columns": { + "5703741c-7c01-443c-a659-9504618d9b66": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "User email", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "8e4741cc-61b9-4853-822c-faacd3e44b9a", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "user.email" + }, + "8e4741cc-61b9-4853-822c-faacd3e44b9a": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Count", + "operationType": "count", + "params": { + "emptyAsNull": false + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "columns": [ + { + "columnId": "8e4741cc-61b9-4853-822c-faacd3e44b9a", + "isMetric": true, + "isTransposed": false + }, + { + "columnId": "5703741c-7c01-443c-a659-9504618d9b66", + "isMetric": false, + "isTransposed": false + } + ], + "layerId": "d8a5a798-7079-4ee6-ac52-6fa6465a663f", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": { + "dynamicActions": { + "events": [] + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false + }, + "gridData": { + "h": 17, + "i": "66ca2230-6ac6-4f1d-a8d0-7e00a907e562", + "w": 18, + "x": 11, + "y": 24 + }, + "panelIndex": "66ca2230-6ac6-4f1d-a8d0-7e00a907e562", + "title": "Top Email Addresses", + "type": "lens" + } + ], + "timeRestore": false, + "title": "[Logs Axonius] Identity", + "version": 3 + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2025-12-09T10:44:24.406Z", + "created_by": "u_mGBROF_q5bmFCATbLXAcCwKa0k8JvONAwSruelyKA5E_0", + "id": "axonius-60472232-ca7b-45e6-9fa6-72e6efc41a8e", + "references": [ + { + "id": "metrics-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "6ad81d2b-ed86-4f33-8b69-f53709f63008:indexpattern-datasource-layer-92ddbbb3-5b76-406f-94fa-5d6403f357c9", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "3e391701-e157-420b-951a-d7100ae6a606:indexpattern-datasource-layer-92ddbbb3-5b76-406f-94fa-5d6403f357c9", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "26f08be7-2fb8-467a-a083-b1ad005319aa:indexpattern-datasource-layer-92ddbbb3-5b76-406f-94fa-5d6403f357c9", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "e6ecc072-ac29-41db-9114-13dae61a9b12:indexpattern-datasource-layer-92ddbbb3-5b76-406f-94fa-5d6403f357c9", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "6951a3ed-dc02-4bfa-afa9-39c2832d7f1b:indexpattern-datasource-layer-de0785d4-371f-4a45-ac37-2186b2edcf67", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "c1ee3a0e-4c34-482f-b05f-4e7688cade1e:indexpattern-datasource-layer-de0785d4-371f-4a45-ac37-2186b2edcf67", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "091d0600-2142-4fed-99b2-cf8b3fd41f4f:indexpattern-datasource-layer-de0785d4-371f-4a45-ac37-2186b2edcf67", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "c6710940-9337-4981-9769-1fc79e4ece1a:indexpattern-datasource-layer-d8a5a798-7079-4ee6-ac52-6fa6465a663f", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "66ca2230-6ac6-4f1d-a8d0-7e00a907e562:indexpattern-datasource-layer-d8a5a798-7079-4ee6-ac52-6fa6465a663f", + "type": "index-pattern" + }, + { + "id": "metrics-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "type": "index-pattern" + } + ], + "type": "dashboard", + "typeMigrationVersion": "10.2.0", + "updated_by": "u_mGBROF_q5bmFCATbLXAcCwKa0k8JvONAwSruelyKA5E_0" +} \ No newline at end of file diff --git a/packages/axonius/manifest.yml b/packages/axonius/manifest.yml new file mode 100644 index 00000000000..cfc6c100cfc --- /dev/null +++ b/packages/axonius/manifest.yml @@ -0,0 +1,102 @@ +format_version: 3.3.2 +name: axonius +title: Axonius +version: 0.1.0 +description: Collect logs from Axonius with Elastic Agent. +type: integration +categories: + - security +conditions: + kibana: + version: ^8.18.0 || ^9.1.0 + elastic: + subscription: basic +screenshots: + - src: /img/axonius-identity-dashboard.png + title: identity Assets Dashboard + size: 600x600 + type: image/png +icons: + - src: /img/axonius-logo.svg + title: Axonius Logo + size: 32x32 + type: image/svg+xml +policy_templates: + - name: axonius + title: Axonius + description: Collect logs from Axonius. + deployment_modes: + default: + enabled: true + agentless: + enabled: true + organization: security + division: engineering + team: security-service-integrations + inputs: + - type: cel + title: Collect logs from Axonius API + description: Collecting logs via Axonius API. + vars: + - name: url + type: url + title: URL + description: Base URL of the Axonius server. + multi: false + required: true + show_user: true + - name: api_key + type: password + title: API Key + secret: true + description: API key from the Axonius server. + multi: false + required: true + show_user: true + - name: secret_key + type: password + title: API Secret + secret: true + description: API secret from the Axonius server. + multi: false + required: true + show_user: true + - name: proxy_url + type: text + title: Proxy URL + description: URL to proxy connections in the form of http[s]://:@:. Please ensure your username and password are in URL encoded format. + multi: false + required: false + show_user: false + - name: ssl + type: yaml + title: SSL Configuration + description: SSL configuration options. See [documentation](https://www.elastic.co/guide/en/beats/filebeat/current/configuration-ssl.html#ssl-common-config) for details. + multi: false + required: false + show_user: false + default: | + #certificate_authorities: + # - | + # -----BEGIN CERTIFICATE----- + # MIIDCjCCAfKgAwIBAgITJ706Mu2wJlKckpIvkWxEHvEyijANBgkqhkiG9w0BAQsF + # ADAUMRIwEAYDVQQDDAlsb2NhbGhvc3QwIBcNMTkwNzIyMTkyOTA0WhgPMjExOTA2 + # MjgxOTI5MDRaMBQxEjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEB + # BQADggEPADCCAQoCggEBANce58Y/JykI58iyOXpxGfw0/gMvF0hUQAcUrSMxEO6n + # fZRA49b4OV4SwWmA3395uL2eB2NB8y8qdQ9muXUdPBWE4l9rMZ6gmfu90N5B5uEl + # 94NcfBfYOKi1fJQ9i7WKhTjlRkMCgBkWPkUokvBZFRt8RtF7zI77BSEorHGQCk9t + # /D7BS0GJyfVEhftbWcFEAG3VRcoMhF7kUzYwp+qESoriFRYLeDWv68ZOvG7eoWnP + # PsvZStEVEimjvK5NSESEQa9xWyJOmlOKXhkdymtcUd/nXnx6UTCFgnkgzSdTWV41 + # CI6B6aJ9svCTI2QuoIq2HxX/ix7OvW1huVmcyHVxyUECAwEAAaNTMFEwHQYDVR0O + # BBYEFPwN1OceFGm9v6ux8G+DZ3TUDYxqMB8GA1UdIwQYMBaAFPwN1OceFGm9v6ux + # 8G+DZ3TUDYxqMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAG5D + # 874A4YI7YUwOVsVAdbWtgp1d0zKcPRR+r2OdSbTAV5/gcS3jgBJ3i1BN34JuDVFw + # 3DeJSYT3nxy2Y56lLnxDeF8CUTUtVQx3CuGkRg1ouGAHpO/6OqOhwLLorEmxi7tA + # H2O8mtT0poX5AnOAhzVy7QW0D/k4WaoLyckM5hUa6RtvgvLxOwA0U+VGurCDoctu + # 8F4QOgTAWyh8EZIwaKCliFRSynDpv3JTUwtfZkxo6K6nce1RhCWFAsMvDZL8Dgc0 + # yvgJ38BRsFOtkRuAGSf6ZUwTO8JJRRIFnpUzXflAnGivK9M13D5GEQMmIl6U9Pvk + # sxSmbIUfc2SGJGCJD4I= + # -----END CERTIFICATE----- +owner: + github: elastic/security-service-integrations + type: elastic diff --git a/packages/axonius/validation.yml b/packages/axonius/validation.yml new file mode 100644 index 00000000000..1189aa63c89 --- /dev/null +++ b/packages/axonius/validation.yml @@ -0,0 +1,3 @@ +errors: + exclude_checks: + - SVR00004 # References in dashboards. From 0222d3a3fd67c9ad9ec0da445725c3c6bcef5efc Mon Sep 17 00:00:00 2001 From: muskan-crest Date: Thu, 18 Dec 2025 17:51:28 +0530 Subject: [PATCH 2/5] Update changelog entry --- packages/axonius/changelog.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/axonius/changelog.yml b/packages/axonius/changelog.yml index 35fb1d2c290..549380056f6 100644 --- a/packages/axonius/changelog.yml +++ b/packages/axonius/changelog.yml @@ -3,4 +3,4 @@ changes: - description: Initial release. type: enhancement - link: https://github.com/elastic/integrations/pull/1 + link: https://github.com/elastic/integrations/pull/16620 From 16cee7919e5c9e3cb212bc6fd6af716fa4fb3007 Mon Sep 17 00:00:00 2001 From: muskan-crest Date: Fri, 26 Dec 2025 15:50:31 +0530 Subject: [PATCH 3/5] Added transform pipeline --- packages/axonius/_dev/build/docs/README.md | 25 +- .../pipeline/test-account.log-expected.json | 9 +- .../test-certificate.log-expected.json | 9 +- .../pipeline/test-group.log-expected.json | 9 +- .../test-identity-common.log-expected.json | 15 +- .../test/pipeline/test-user.log-expected.json | 9 +- .../identity/agent/stream/cel.yml.hbs | 3 - .../elasticsearch/ingest_pipeline/default.yml | 6 + .../data_stream/identity/fields/fields.yml | 2 + .../fields/is-transform-source-true.yml | 4 + .../axonius/data_stream/identity/manifest.yml | 8 - .../data_stream/identity/sample_event.json | 17 +- packages/axonius/docs/README.md | 44 +- .../latest_identity/fields/base-fields.yml | 16 + .../latest_identity/fields/beats.yml | 6 + .../transform/latest_identity/fields/ecs.yml | 76 ++ .../latest_identity/fields/fields.yml | 996 ++++++++++++++++++ .../fields/is-transform-source-false.yml | 4 + .../transform/latest_identity/manifest.yml | 11 + .../transform/latest_identity/transform.yml | 37 + .../img/axonius-identity-dashboard.png | Bin 332880 -> 338619 bytes ...-60472232-ca7b-45e6-9fa6-72e6efc41a8e.json | 67 +- 22 files changed, 1305 insertions(+), 68 deletions(-) create mode 100644 packages/axonius/data_stream/identity/fields/is-transform-source-true.yml create mode 100644 packages/axonius/elasticsearch/transform/latest_identity/fields/base-fields.yml create mode 100644 packages/axonius/elasticsearch/transform/latest_identity/fields/beats.yml create mode 100644 packages/axonius/elasticsearch/transform/latest_identity/fields/ecs.yml create mode 100644 packages/axonius/elasticsearch/transform/latest_identity/fields/fields.yml create mode 100644 packages/axonius/elasticsearch/transform/latest_identity/fields/is-transform-source-false.yml create mode 100644 packages/axonius/elasticsearch/transform/latest_identity/manifest.yml create mode 100644 packages/axonius/elasticsearch/transform/latest_identity/transform.yml diff --git a/packages/axonius/_dev/build/docs/README.md b/packages/axonius/_dev/build/docs/README.md index facfecf9bea..89069dc3aea 100644 --- a/packages/axonius/_dev/build/docs/README.md +++ b/packages/axonius/_dev/build/docs/README.md @@ -31,12 +31,16 @@ This integration collects log messages of the following type: ### Supported use cases -Integrating the Axonius Identity Datastream with Elastic SIEM provides a unified view of users, groups, roles, organizational units, accounts, permissions, certificates, profiles, and access-review activity. Metrics and breakdowns help teams quickly assess identity posture by highlighting active, inactive, suspended, and external users, as well as patterns across user types and departments. +Integrating the Axonius Identity Datastream with Elastic SIEM provides a unified view of users, groups, roles, organizational units, accounts, permissions, certificates, profiles, and access review activity. Metrics and breakdowns help teams quickly assess identity posture by highlighting active, inactive, suspended, and external users, as well as patterns across user types and departments. Tables showing top email addresses and cloud providers add context into frequently used identities and their sources. These insights help security and IAM teams detect identity anomalies, validate account hygiene, and maintain strong visibility into access across the organization. ## What do I need to use this integration? +### From Elastic + +This integration installs [Elastic latest transforms](https://www.elastic.co/docs/explore-analyze/transforms/transform-overview#latest-transform-overview). For more details, check the [Transform](https://www.elastic.co/docs/explore-analyze/transforms/transform-setup) setup and requirements. + ### From Axonius To collect data through the Axonius APIs, you need to provide the **URL**, **API Key** and **API Secret**. Authentication is handled using the **API Key** and **API Secret**, which serves as the required credential. @@ -47,7 +51,13 @@ To collect data through the Axonius APIs, you need to provide the **URL**, **API 2. Your instance URL is your Base **URL**. 3. Navigate to **User Settings > API Key**. 4. Generate an **API Key**. -5. Copy both values including **API Key and Secret Key** and store them securely for use in the Integration configuration. +5. If you do not see the API Key tab in your user settings, follow these steps: + 1. Go to **System Settings** > **User and Role Management** > **Service Accounts**. + 2. Create a Service Account, and then generate an **API Key**. +6. Copy both values including **API Key and Secret Key** and store them securely for use in the Integration configuration. + +**Note:** +To generate or reset an API key, your role must be **Admin**, and you must have **API Access** permissions, which include **API Access Enabled** and **Reset API Key**. ## How do I deploy this integration? @@ -87,6 +97,13 @@ For more information, refer to [Agentless integrations](https://www.elastic.co/g 1. In the top search bar in Kibana, search for **Dashboards**. 2. In the search bar, type **Axonius**, and verify the dashboard information is populated. +#### Transforms healthy + +1. In the top search bar in Kibana, search for **Transforms**. +2. Select the **Data / Transforms** from the search results. +3. In the search bar, type **axonius**. +4. All transforms from the search results should indicate **Healthy** under the **Health** column. + ## Troubleshooting For help with Elastic ingest tools, check [Common problems](https://www.elastic.co/docs/troubleshoot/ingest/fleet/common-problems). @@ -128,3 +145,7 @@ These APIs are used with this integration: * job_titles (endpoint: `/api/v2/job_titles`) * access_review_campaign_instances (endpoint: `/api/v2/access_review_campaign_instances`) * access_review_approval_items (endpoint: `/api/v2/access_review_approval_items`) + +#### ILM Policy + +To facilitate identity data, source data stream-backed indices `.ds-logs-axonius.identity-*` are allowed to contain duplicates from each polling interval. ILM policy `logs-axonius.identity-default_policy` is added to these source indices, so it doesn't lead to unbounded growth. This means that in these source indices data will be deleted after `30 days` from ingested date. diff --git a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-account.log-expected.json b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-account.log-expected.json index a8679a7dfd3..8490a18c548 100644 --- a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-account.log-expected.json +++ b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-account.log-expected.json @@ -86,7 +86,8 @@ "unlinked_users": 0, "unlinked_users_saved_query_id": "665db22384bdd7fee67034fc" } - } + }, + "transform_unique_id": "06QLxqxkDWILMiPUnx82BIz87Lc=" } }, "ecs": { @@ -159,7 +160,8 @@ "quick_id": "qualys_scans_adapter_0!38561584016c3bd50997", "type": "entitydata" }, - "internal_axon_id": "e2781b0b477c77303261aec45a40cb44" + "internal_axon_id": "e2781b0b477c77303261aec45a40cb44", + "transform_unique_id": "MmWIPw5K01Viih7QMSCTzqUGr0w=" } }, "ecs": { @@ -267,7 +269,8 @@ "quick_id": "github_adapter_0!697947761f2f779c8df5", "type": "entitydata" }, - "internal_axon_id": "5592c1d0fc4c0fdeebb6c98530a7c777" + "internal_axon_id": "5592c1d0fc4c0fdeebb6c98530a7c777", + "transform_unique_id": "NGzJreKl2cvKT/Mp9NTeXRSOHZg=" } }, "ecs": { diff --git a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-certificate.log-expected.json b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-certificate.log-expected.json index c051af3d491..306588357fc 100644 --- a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-certificate.log-expected.json +++ b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-certificate.log-expected.json @@ -66,7 +66,8 @@ "quick_id": "webscan_adapter_0!4c5eb5e23e36805ac57d", "type": "entitydata" }, - "internal_axon_id": "d2e5e38e803587f6beec0ebf20841e35" + "internal_axon_id": "d2e5e38e803587f6beec0ebf20841e35", + "transform_unique_id": "Odx9fE8sV+1lCFDeADL7zugotXk=" } }, "ecs": { @@ -191,7 +192,8 @@ "quick_id": "webscan_adapter_0!c59079ddd4349aa5c745", "type": "entitydata" }, - "internal_axon_id": "b679961d638ed4affd8b2027fe73af6d" + "internal_axon_id": "b679961d638ed4affd8b2027fe73af6d", + "transform_unique_id": "fYuXqtfJLKJ24laKfs2pcNkuELA=" } }, "ecs": { @@ -320,7 +322,8 @@ "quick_id": "webscan_adapter_0!358c45934b0b5dde6187", "type": "entitydata" }, - "internal_axon_id": "767b51f89d768697b64836746401a5cf" + "internal_axon_id": "767b51f89d768697b64836746401a5cf", + "transform_unique_id": "a8UeB3YaIU4lCPAgIx2o5XbQ29k=" } }, "ecs": { diff --git a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-group.log-expected.json b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-group.log-expected.json index e4d308719c8..d692bfde3f3 100644 --- a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-group.log-expected.json +++ b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-group.log-expected.json @@ -29,7 +29,8 @@ } ] } - } + }, + "transform_unique_id": "ln52qz4dwMaH33vfZ343CfOfWZc=" } }, "ecs": { @@ -92,7 +93,8 @@ "plugin_unique_name": "static_analysis_0_UserCountSchema", "type": "adapterdata" }, - "internal_axon_id": "f2230d26ee294785fa7cedb347ee946b" + "internal_axon_id": "f2230d26ee294785fa7cedb347ee946b", + "transform_unique_id": "Yi7EQyFEUxTvkDiRCrt/u91p7u8=" } }, "ecs": { @@ -303,7 +305,8 @@ "quick_id": "service_now_adapter_0!ee198fc2ad0d8e96d043", "type": "entitydata" }, - "internal_axon_id": "2285fd71b4ec307bb4054a9dc1c5aefb" + "internal_axon_id": "2285fd71b4ec307bb4054a9dc1c5aefb", + "transform_unique_id": "+cCrMPCIJIKUJ2cPA1kZ8wH3Le4=" } }, "ecs": { diff --git a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-identity-common.log-expected.json b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-identity-common.log-expected.json index 427734d34c8..4c2c4638a7c 100644 --- a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-identity-common.log-expected.json +++ b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-identity-common.log-expected.json @@ -176,7 +176,8 @@ "quick_id": "chef_adapter_0!esx-monitor1871068-stg.healthcare-subsidiary.com", "type": "entitydata" }, - "internal_axon_id": "386843f6309d91e89a8e50ffc2e003cf" + "internal_axon_id": "386843f6309d91e89a8e50ffc2e003cf", + "transform_unique_id": "RY0PNolwfrCUO8b8wPAhSRzV0tg=" } }, "ecs": { @@ -247,7 +248,8 @@ "quick_id": "oracle_cloud_adapter_0!db11e404b96303faedfe", "type": "entitydata" }, - "internal_axon_id": "c6827a92611637e89be05a32e682c95f" + "internal_axon_id": "c6827a92611637e89be05a32e682c95f", + "transform_unique_id": "Djt3PwVdApFWmEQnn5Cro1ulZtQ=" } }, "ecs": { @@ -310,7 +312,8 @@ "quick_id": "service_now_adapter_0!20e6ecda6ecdf2a0cf90", "type": "entitydata" }, - "internal_axon_id": "365c146be1ec21a38d84252aef88ebef" + "internal_axon_id": "365c146be1ec21a38d84252aef88ebef", + "transform_unique_id": "8jB2KnVqyD+UVJcwYda7VulakrE=" } }, "ecs": { @@ -371,7 +374,8 @@ "quick_id": "azure_ad_adapter_0!13b8aecb3f7bc5e14876", "type": "entitydata" }, - "internal_axon_id": "d5c35a74659f99ac755bd4c7a43e809d" + "internal_axon_id": "d5c35a74659f99ac755bd4c7a43e809d", + "transform_unique_id": "Dem0CCOo74mVb3qAVjwK4Oi1h1E=" } }, "ecs": { @@ -438,7 +442,8 @@ "quick_id": "service_now_adapter_0!5fd90eca19122eb8384b", "type": "entitydata" }, - "internal_axon_id": "30c4b7337f11c79ba953655eab05591e" + "internal_axon_id": "30c4b7337f11c79ba953655eab05591e", + "transform_unique_id": "bi+UrgpCSzpYOMwUWoVDY0OfcMk=" } }, "ecs": { diff --git a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-user.log-expected.json b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-user.log-expected.json index 4d6c9d90bd5..87c21e852f6 100644 --- a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-user.log-expected.json +++ b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-user.log-expected.json @@ -362,7 +362,8 @@ "username": "william.mcallister@demo.local", "verified": true } - } + }, + "transform_unique_id": "ZNY7kze1pn+th2XzSwalofQqdkY=" } }, "cloud": { @@ -504,7 +505,8 @@ "plugin_unique_name": "static_analysis_0_associated_employees", "type": "adapterdata" }, - "internal_axon_id": "d6c6f476f36f29a1bd29e99f30a293ac" + "internal_axon_id": "d6c6f476f36f29a1bd29e99f30a293ac", + "transform_unique_id": "1G9GgsyNMtN5iGQk4+HZeJxjHWo=" } }, "ecs": { @@ -573,7 +575,8 @@ "plugin_unique_name": "static_analysis_0_associated_employees", "type": "adapterdata" }, - "internal_axon_id": "e2078572d687b8d1461d7c5878ebddf9" + "internal_axon_id": "e2078572d687b8d1461d7c5878ebddf9", + "transform_unique_id": "Lx92Br6FupBVJnGMm25nSs5SUHw=" } }, "ecs": { diff --git a/packages/axonius/data_stream/identity/agent/stream/cel.yml.hbs b/packages/axonius/data_stream/identity/agent/stream/cel.yml.hbs index 237fef85139..941dc3e92cf 100644 --- a/packages/axonius/data_stream/identity/agent/stream/cel.yml.hbs +++ b/packages/axonius/data_stream/identity/agent/stream/cel.yml.hbs @@ -119,9 +119,6 @@ program: | ) )) tags: -{{#if preserve_original_event}} - - preserve_original_event -{{/if}} {{#if preserve_duplicate_custom_fields}} - preserve_duplicate_custom_fields {{/if}} diff --git a/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/default.yml b/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/default.yml index bdf874cb224..0ae9f9b8133 100644 --- a/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/default.yml +++ b/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/default.yml @@ -40,6 +40,12 @@ processors: field: event.original tag: json_event_original target_field: json + - fingerprint: + fields: + - event.original + tag: fingerprint_event_original + target_field: axonius.identity.transform_unique_id + ignore_missing: true - set: tag: set_event_kind field: event.kind diff --git a/packages/axonius/data_stream/identity/fields/fields.yml b/packages/axonius/data_stream/identity/fields/fields.yml index 5e9860fab7c..441e28a567e 100644 --- a/packages/axonius/data_stream/identity/fields/fields.yml +++ b/packages/axonius/data_stream/identity/fields/fields.yml @@ -992,3 +992,5 @@ type: keyword - name: internal_axon_id type: keyword + - name: transform_unique_id + type: keyword diff --git a/packages/axonius/data_stream/identity/fields/is-transform-source-true.yml b/packages/axonius/data_stream/identity/fields/is-transform-source-true.yml new file mode 100644 index 00000000000..367ed8d40c6 --- /dev/null +++ b/packages/axonius/data_stream/identity/fields/is-transform-source-true.yml @@ -0,0 +1,4 @@ +- name: labels.is_transform_source + type: constant_keyword + description: Distinguishes between documents that are a source for a transform and documents that are an output of a transform, to facilitate easier filtering. + value: 'true' diff --git a/packages/axonius/data_stream/identity/manifest.yml b/packages/axonius/data_stream/identity/manifest.yml index bc093ad0bc6..332e59d0173 100644 --- a/packages/axonius/data_stream/identity/manifest.yml +++ b/packages/axonius/data_stream/identity/manifest.yml @@ -36,14 +36,6 @@ streams: tracer will delete any stored traces. See [documentation](https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-input-cel.html#_resource_tracer_enable) for details. - - name: preserve_original_event - type: bool - title: Preserve original event - description: Preserves a raw copy of the original event, added to the field event.original. - multi: false - required: false - show_user: true - default: false - name: tags type: text title: Tags diff --git a/packages/axonius/data_stream/identity/sample_event.json b/packages/axonius/data_stream/identity/sample_event.json index 7b4aad1b7c4..d1c0d735cbf 100644 --- a/packages/axonius/data_stream/identity/sample_event.json +++ b/packages/axonius/data_stream/identity/sample_event.json @@ -1,9 +1,9 @@ { "@timestamp": "2025-12-09T12:02:11.000Z", "agent": { - "ephemeral_id": "fa5bf2ae-a8ba-4b17-8ea6-c1f94cf39fd0", - "id": "9e2501d5-affe-4b18-9946-d7093484df30", - "name": "elastic-agent-38295", + "ephemeral_id": "ba91a9bf-40c9-4bab-8184-9be7d6c2ad8f", + "id": "f7715edc-eff0-4526-b250-1a56517c01e0", + "name": "elastic-agent-41335", "type": "filebeat", "version": "8.18.0" }, @@ -114,7 +114,8 @@ "quick_id": "azure_ad_adapter_0!c8103abe-eda9-472b-894a-6260bb2ba8cc", "type": "entitydata" }, - "internal_axon_id": "bc11b2989fc0f69708b6865d172a49fe" + "internal_axon_id": "bc11b2989fc0f69708b6865d172a49fe", + "transform_unique_id": "N8G3qDAOmSElCdviQ3d6FpD76pE=" } }, "cloud": { @@ -125,14 +126,14 @@ }, "data_stream": { "dataset": "axonius.identity", - "namespace": "52700", + "namespace": "56452", "type": "logs" }, "ecs": { "version": "9.2.0" }, "elastic_agent": { - "id": "9e2501d5-affe-4b18-9946-d7093484df30", + "id": "f7715edc-eff0-4526-b250-1a56517c01e0", "snapshot": false, "version": "8.18.0" }, @@ -143,9 +144,8 @@ ], "created": "2024-06-28T08:49:28.000Z", "dataset": "axonius.identity", - "ingested": "2025-12-18T12:07:36Z", + "ingested": "2025-12-26T10:17:19Z", "kind": "event", - "original": "{\"adapter_list_length\":12,\"adapters\":[\"aws_adapter\",\"zoom_adapter\"],\"asset_type\":\"users\",\"event\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 12:02:11 GMT\",\"adapter_categories\":[\"Directory\",\"IAM\",\"SaaS Management\"],\"client_used\":\"67fd09bbfe1c8e812a176bb5\",\"data\":{\"account_disabled\":true,\"accurate_for_datetime\":\"Tue, 09 Dec 2025 12:02:11 GMT\",\"application_and_account_name\":\"microsoft/azure_ad-demo\",\"associated_groups\":[{\"display_name\":\"developers-group\",\"remote_id\":\"a3e70162\"}],\"azure_account_id\":\"c8103abe-eda9-472b-894a-6260bb2ba8cc\",\"cloud_provider\":\"Azure\",\"email_activity\":{\"is_deleted\":false,\"product_license\":\"MICROSOFT FABRIC (FREE)+MICROSOFT TEAMS PHONE STANDARD+MICROSOFT DEFENDER FOR OFFICE365 (PLAN 2)+MICROSOFT 365 AUDIO CONFERENCING+ENTERPRISE MOBILITY + SECURITY E3+OFFICE365 E3+MICROSOFT 365 E3 EXTRA FEATURES\",\"read_count\":2321,\"receive_count\":6965,\"report_date\":\"Fri, 10 Jan 2025 20:34:43 GMT\",\"report_period\":90,\"send_count\":3030},\"fetch_time\":\"Tue, 09 Dec 2025 12:02:03 GMT\",\"first_fetch_time\":\"Mon, 14 Apr 2025 13:27:00 GMT\",\"from_last_fetch\":true,\"has_administrative_permissions\":true,\"id\":\"c8103abe-eda9-472b-894a-6260bb2ba8cc\",\"internal_is_admin\":false,\"is_admin\":false,\"is_fetched_from_adapter\":true,\"is_latest_last_seen\":true,\"is_managed_by_application\":true,\"is_permission_adapter\":true,\"is_saas_user\":true,\"is_user_external\":false,\"last_fetch_connection_id\":\"67fd09bbfe1c8e812a176bb5\",\"last_fetch_connection_label\":\"azure_ad-demo\",\"last_logon\":\"Sun, 30 Nov 2025 18:50:39 GMT\",\"last_seen\":\"Mon, 10 Nov 2025 22:18:25 GMT\",\"mail\":\"helen.jordan@demo.local\",\"nested_applications\":[{\"app_display_name\":\"Calendly\",\"assignment_type\":\"Direct\",\"extension_type\":\"User Consent\",\"is_managed\":false,\"is_unmanaged_extension\":true,\"name\":\"Calendly\",\"parents\":[{\"name\":\"\",\"value\":\"\"}],\"permissions\":[{\"name\":\"openid\"}],\"relation_extension_name\":\"Calendly\",\"source_application\":\"Microsoft\",\"value\":\"2E2a2e7c9f758BDcC0E2\",\"vendor_category\":\"Productivity\"}],\"nested_associated_devices\":[],\"nested_grants_last_updated\":\"Tue, 09 Dec 2025 12:10:06 GMT\",\"nested_grants_managers_last_updated\":\"Tue, 09 Dec 2025 12:10:10 GMT\",\"nested_groups\":[{\"assignment_type\":\"Direct\",\"name\":\"Office365 Users\",\"parents\":[{\"name\":\"\",\"value\":\"\"}],\"value\":\"d8e66837\"}],\"nested_managers\":[],\"nested_resources\":[],\"nested_roles\":[],\"not_fetched_count\":0,\"sm_entity_type\":\"saas_user\",\"source_application\":\"Microsoft\",\"tenant_number\":[\"2\"],\"user_apps\":[],\"user_created\":\"Fri, 28 Jun 2024 08:49:28 GMT\",\"user_permissions\":[{\"is_admin\":false,\"name\":\"OnlineMeetings.ReadWrite\"}],\"user_remote_id\":\"63d52bb0-7ce0-4467-9004-2b19c06b86ae\",\"user_type\":\"Member\",\"username\":\"helen.jordan@demo.local\"},\"initial_plugin_unique_name\":\"azure_ad_adapter_0\",\"plugin_name\":\"azure_ad_adapter\",\"plugin_type\":\"Adapter\",\"plugin_unique_name\":\"azure_ad_adapter_0\",\"quick_id\":\"azure_ad_adapter_0!c8103abe-eda9-472b-894a-6260bb2ba8cc\",\"type\":\"entitydata\"},\"internal_axon_id\":\"bc11b2989fc0f69708b6865d172a49fe\"}", "type": [ "info" ] @@ -160,7 +160,6 @@ ] }, "tags": [ - "preserve_original_event", "preserve_duplicate_custom_fields", "forwarded", "axonius-identity" diff --git a/packages/axonius/docs/README.md b/packages/axonius/docs/README.md index b1b0cc2e8f2..fb599a7ec70 100644 --- a/packages/axonius/docs/README.md +++ b/packages/axonius/docs/README.md @@ -31,12 +31,16 @@ This integration collects log messages of the following type: ### Supported use cases -Integrating the Axonius Identity Datastream with Elastic SIEM provides a unified view of users, groups, roles, organizational units, accounts, permissions, certificates, profiles, and access-review activity. Metrics and breakdowns help teams quickly assess identity posture by highlighting active, inactive, suspended, and external users, as well as patterns across user types and departments. +Integrating the Axonius Identity Datastream with Elastic SIEM provides a unified view of users, groups, roles, organizational units, accounts, permissions, certificates, profiles, and access review activity. Metrics and breakdowns help teams quickly assess identity posture by highlighting active, inactive, suspended, and external users, as well as patterns across user types and departments. Tables showing top email addresses and cloud providers add context into frequently used identities and their sources. These insights help security and IAM teams detect identity anomalies, validate account hygiene, and maintain strong visibility into access across the organization. ## What do I need to use this integration? +### From Elastic + +This integration installs [Elastic latest transforms](https://www.elastic.co/docs/explore-analyze/transforms/transform-overview#latest-transform-overview). For more details, check the [Transform](https://www.elastic.co/docs/explore-analyze/transforms/transform-setup) setup and requirements. + ### From Axonius To collect data through the Axonius APIs, you need to provide the **URL**, **API Key** and **API Secret**. Authentication is handled using the **API Key** and **API Secret**, which serves as the required credential. @@ -47,7 +51,13 @@ To collect data through the Axonius APIs, you need to provide the **URL**, **API 2. Your instance URL is your Base **URL**. 3. Navigate to **User Settings > API Key**. 4. Generate an **API Key**. -5. Copy both values including **API Key and Secret Key** and store them securely for use in the Integration configuration. +5. If you do not see the API Key tab in your user settings, follow these steps: + 1. Go to **System Settings** > **User and Role Management** > **Service Accounts**. + 2. Create a Service Account, and then generate an **API Key**. +6. Copy both values including **API Key and Secret Key** and store them securely for use in the Integration configuration. + +**Note:** +To generate or reset an API key, your role must be **Admin**, and you must have **API Access** permissions, which include **API Access Enabled** and **Reset API Key**. ## How do I deploy this integration? @@ -87,6 +97,13 @@ For more information, refer to [Agentless integrations](https://www.elastic.co/g 1. In the top search bar in Kibana, search for **Dashboards**. 2. In the search bar, type **Axonius**, and verify the dashboard information is populated. +#### Transforms healthy + +1. In the top search bar in Kibana, search for **Transforms**. +2. Select the **Data / Transforms** from the search results. +3. In the search bar, type **axonius**. +4. All transforms from the search results should indicate **Healthy** under the **Health** column. + ## Troubleshooting For help with Elastic ingest tools, check [Common problems](https://www.elastic.co/docs/troubleshoot/ingest/fleet/common-problems). @@ -530,12 +547,14 @@ The `identity` data stream provides identity asset logs from axonius. | axonius.identity.event.quick_id | | keyword | | axonius.identity.event.type | | keyword | | axonius.identity.internal_axon_id | | keyword | +| axonius.identity.transform_unique_id | | keyword | | data_stream.dataset | The field can contain anything that makes sense to signify the source of the data. Examples include `nginx.access`, `prometheus`, `endpoint` etc. For data streams that otherwise fit, but that do not have dataset set we use the value "generic" for the dataset value. `event.dataset` should have the same value as `data_stream.dataset`. Beyond the Elasticsearch data stream naming criteria noted above, the `dataset` value has additional restrictions: \* Must not contain `-` \* No longer than 100 characters | constant_keyword | | data_stream.namespace | A user defined namespace. Namespaces are useful to allow grouping of data. Many users already organize their indices this way, and the data stream naming scheme now provides this best practice as a default. Many users will populate this field with `default`. If no value is used, it falls back to `default`. Beyond the Elasticsearch index naming criteria noted above, `namespace` value has the additional restrictions: \* Must not contain `-` \* No longer than 100 characters | constant_keyword | | data_stream.type | An overarching type for the data stream. Currently allowed values are "logs" and "metrics". We expect to also add "traces" and "synthetics" in the near future. | constant_keyword | | event.dataset | Name of the dataset. If an event source publishes more than one type of log or events (e.g. access log, error log), the dataset is used to specify which one the event comes from. It's recommended but not required to start the dataset name with the module name, followed by a dot, then the dataset name. | constant_keyword | | event.module | Name of the module this data is coming from. If your monitoring agent supports the concept of modules or plugins to process events of a given source (e.g. Apache logs), `event.module` should contain the name of this module. | constant_keyword | | input.type | Type of filebeat input. | keyword | +| labels.is_transform_source | Distinguishes between documents that are a source for a transform and documents that are an output of a transform, to facilitate easier filtering. | constant_keyword | | log.offset | Log offset. | long | | observer.vendor | Vendor name of the observer. | constant_keyword | @@ -546,9 +565,9 @@ An example event for `identity` looks as following: { "@timestamp": "2025-12-09T12:02:11.000Z", "agent": { - "ephemeral_id": "fa5bf2ae-a8ba-4b17-8ea6-c1f94cf39fd0", - "id": "9e2501d5-affe-4b18-9946-d7093484df30", - "name": "elastic-agent-38295", + "ephemeral_id": "ba91a9bf-40c9-4bab-8184-9be7d6c2ad8f", + "id": "f7715edc-eff0-4526-b250-1a56517c01e0", + "name": "elastic-agent-41335", "type": "filebeat", "version": "8.18.0" }, @@ -659,7 +678,8 @@ An example event for `identity` looks as following: "quick_id": "azure_ad_adapter_0!c8103abe-eda9-472b-894a-6260bb2ba8cc", "type": "entitydata" }, - "internal_axon_id": "bc11b2989fc0f69708b6865d172a49fe" + "internal_axon_id": "bc11b2989fc0f69708b6865d172a49fe", + "transform_unique_id": "N8G3qDAOmSElCdviQ3d6FpD76pE=" } }, "cloud": { @@ -670,14 +690,14 @@ An example event for `identity` looks as following: }, "data_stream": { "dataset": "axonius.identity", - "namespace": "52700", + "namespace": "56452", "type": "logs" }, "ecs": { "version": "9.2.0" }, "elastic_agent": { - "id": "9e2501d5-affe-4b18-9946-d7093484df30", + "id": "f7715edc-eff0-4526-b250-1a56517c01e0", "snapshot": false, "version": "8.18.0" }, @@ -688,9 +708,8 @@ An example event for `identity` looks as following: ], "created": "2024-06-28T08:49:28.000Z", "dataset": "axonius.identity", - "ingested": "2025-12-18T12:07:36Z", + "ingested": "2025-12-26T10:17:19Z", "kind": "event", - "original": "{\"adapter_list_length\":12,\"adapters\":[\"aws_adapter\",\"zoom_adapter\"],\"asset_type\":\"users\",\"event\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 12:02:11 GMT\",\"adapter_categories\":[\"Directory\",\"IAM\",\"SaaS Management\"],\"client_used\":\"67fd09bbfe1c8e812a176bb5\",\"data\":{\"account_disabled\":true,\"accurate_for_datetime\":\"Tue, 09 Dec 2025 12:02:11 GMT\",\"application_and_account_name\":\"microsoft/azure_ad-demo\",\"associated_groups\":[{\"display_name\":\"developers-group\",\"remote_id\":\"a3e70162\"}],\"azure_account_id\":\"c8103abe-eda9-472b-894a-6260bb2ba8cc\",\"cloud_provider\":\"Azure\",\"email_activity\":{\"is_deleted\":false,\"product_license\":\"MICROSOFT FABRIC (FREE)+MICROSOFT TEAMS PHONE STANDARD+MICROSOFT DEFENDER FOR OFFICE365 (PLAN 2)+MICROSOFT 365 AUDIO CONFERENCING+ENTERPRISE MOBILITY + SECURITY E3+OFFICE365 E3+MICROSOFT 365 E3 EXTRA FEATURES\",\"read_count\":2321,\"receive_count\":6965,\"report_date\":\"Fri, 10 Jan 2025 20:34:43 GMT\",\"report_period\":90,\"send_count\":3030},\"fetch_time\":\"Tue, 09 Dec 2025 12:02:03 GMT\",\"first_fetch_time\":\"Mon, 14 Apr 2025 13:27:00 GMT\",\"from_last_fetch\":true,\"has_administrative_permissions\":true,\"id\":\"c8103abe-eda9-472b-894a-6260bb2ba8cc\",\"internal_is_admin\":false,\"is_admin\":false,\"is_fetched_from_adapter\":true,\"is_latest_last_seen\":true,\"is_managed_by_application\":true,\"is_permission_adapter\":true,\"is_saas_user\":true,\"is_user_external\":false,\"last_fetch_connection_id\":\"67fd09bbfe1c8e812a176bb5\",\"last_fetch_connection_label\":\"azure_ad-demo\",\"last_logon\":\"Sun, 30 Nov 2025 18:50:39 GMT\",\"last_seen\":\"Mon, 10 Nov 2025 22:18:25 GMT\",\"mail\":\"helen.jordan@demo.local\",\"nested_applications\":[{\"app_display_name\":\"Calendly\",\"assignment_type\":\"Direct\",\"extension_type\":\"User Consent\",\"is_managed\":false,\"is_unmanaged_extension\":true,\"name\":\"Calendly\",\"parents\":[{\"name\":\"\",\"value\":\"\"}],\"permissions\":[{\"name\":\"openid\"}],\"relation_extension_name\":\"Calendly\",\"source_application\":\"Microsoft\",\"value\":\"2E2a2e7c9f758BDcC0E2\",\"vendor_category\":\"Productivity\"}],\"nested_associated_devices\":[],\"nested_grants_last_updated\":\"Tue, 09 Dec 2025 12:10:06 GMT\",\"nested_grants_managers_last_updated\":\"Tue, 09 Dec 2025 12:10:10 GMT\",\"nested_groups\":[{\"assignment_type\":\"Direct\",\"name\":\"Office365 Users\",\"parents\":[{\"name\":\"\",\"value\":\"\"}],\"value\":\"d8e66837\"}],\"nested_managers\":[],\"nested_resources\":[],\"nested_roles\":[],\"not_fetched_count\":0,\"sm_entity_type\":\"saas_user\",\"source_application\":\"Microsoft\",\"tenant_number\":[\"2\"],\"user_apps\":[],\"user_created\":\"Fri, 28 Jun 2024 08:49:28 GMT\",\"user_permissions\":[{\"is_admin\":false,\"name\":\"OnlineMeetings.ReadWrite\"}],\"user_remote_id\":\"63d52bb0-7ce0-4467-9004-2b19c06b86ae\",\"user_type\":\"Member\",\"username\":\"helen.jordan@demo.local\"},\"initial_plugin_unique_name\":\"azure_ad_adapter_0\",\"plugin_name\":\"azure_ad_adapter\",\"plugin_type\":\"Adapter\",\"plugin_unique_name\":\"azure_ad_adapter_0\",\"quick_id\":\"azure_ad_adapter_0!c8103abe-eda9-472b-894a-6260bb2ba8cc\",\"type\":\"entitydata\"},\"internal_axon_id\":\"bc11b2989fc0f69708b6865d172a49fe\"}", "type": [ "info" ] @@ -705,7 +724,6 @@ An example event for `identity` looks as following: ] }, "tags": [ - "preserve_original_event", "preserve_duplicate_custom_fields", "forwarded", "axonius-identity" @@ -764,3 +782,7 @@ These APIs are used with this integration: * job_titles (endpoint: `/api/v2/job_titles`) * access_review_campaign_instances (endpoint: `/api/v2/access_review_campaign_instances`) * access_review_approval_items (endpoint: `/api/v2/access_review_approval_items`) + +#### ILM Policy + +To facilitate identity data, source data stream-backed indices `.ds-logs-axonius.identity-*` are allowed to contain duplicates from each polling interval. ILM policy `logs-axonius.identity-default_policy` is added to these source indices, so it doesn't lead to unbounded growth. This means that in these source indices data will be deleted after `30 days` from ingested date. diff --git a/packages/axonius/elasticsearch/transform/latest_identity/fields/base-fields.yml b/packages/axonius/elasticsearch/transform/latest_identity/fields/base-fields.yml new file mode 100644 index 00000000000..919b224d09f --- /dev/null +++ b/packages/axonius/elasticsearch/transform/latest_identity/fields/base-fields.yml @@ -0,0 +1,16 @@ +- name: data_stream.dataset + external: ecs +- name: data_stream.namespace + external: ecs +- name: data_stream.type + external: ecs +- name: event.dataset + type: constant_keyword + external: ecs + value: axonius.identity +- name: event.module + type: constant_keyword + external: ecs + value: axonius +- name: '@timestamp' + external: ecs diff --git a/packages/axonius/elasticsearch/transform/latest_identity/fields/beats.yml b/packages/axonius/elasticsearch/transform/latest_identity/fields/beats.yml new file mode 100644 index 00000000000..d5fd38748ba --- /dev/null +++ b/packages/axonius/elasticsearch/transform/latest_identity/fields/beats.yml @@ -0,0 +1,6 @@ +- name: input.type + type: keyword + description: Type of Filebeat input. +- name: log.offset + type: long + description: Log offset. diff --git a/packages/axonius/elasticsearch/transform/latest_identity/fields/ecs.yml b/packages/axonius/elasticsearch/transform/latest_identity/fields/ecs.yml new file mode 100644 index 00000000000..9377de7069d --- /dev/null +++ b/packages/axonius/elasticsearch/transform/latest_identity/fields/ecs.yml @@ -0,0 +1,76 @@ +- external: ecs + name: agent.ephemeral_id +- external: ecs + name: agent.id +- external: ecs + name: agent.name +- external: ecs + name: agent.type +- external: ecs + name: agent.version +- external: ecs + name: cloud.account.id +- external: ecs + name: cloud.provider +- external: ecs + name: cloud.service.name +- external: ecs + name: device.id +- external: ecs + name: device.model.name +- external: ecs + name: device.serial_number +- external: ecs + name: ecs.version +- external: ecs + name: error.code +- external: ecs + name: error.id +- external: ecs + name: error.message +- external: ecs + name: event.action +- external: ecs + name: event.created +- external: ecs + name: event.end +- external: ecs + name: event.id +- external: ecs + name: event.start +- external: ecs + name: file.x509.issuer.common_name +- external: ecs + name: file.x509.issuer.country +- external: ecs + name: file.x509.issuer.organization +- external: ecs + name: file.x509.serial_number +- external: ecs + name: file.x509.subject.common_name +- external: ecs + name: file.x509.subject.country +- external: ecs + name: file.x509.subject.locality +- external: ecs + name: file.x509.subject.organization +- external: ecs + name: file.x509.subject.state_or_province +- external: ecs + name: related.user +- external: ecs + name: service.id +- external: ecs + name: service.name +- external: ecs + name: threat.enrichments.indicator.first_seen +- external: ecs + name: user.domain +- external: ecs + name: user.email +- external: ecs + name: user.full_name +- external: ecs + name: user.name +- external: ecs + name: user.roles diff --git a/packages/axonius/elasticsearch/transform/latest_identity/fields/fields.yml b/packages/axonius/elasticsearch/transform/latest_identity/fields/fields.yml new file mode 100644 index 00000000000..441e28a567e --- /dev/null +++ b/packages/axonius/elasticsearch/transform/latest_identity/fields/fields.yml @@ -0,0 +1,996 @@ +- name: axonius + type: group + fields: + - name: identity + type: group + fields: + - name: adapter_list_length + type: long + - name: adapters + type: keyword + - name: asset_type + type: keyword + - name: event + type: group + fields: + - name: accurate_for_datetime + type: date + - name: action_if_exists + type: keyword + - name: adapter_categories + type: keyword + - name: associated_adapter_plugin_name + type: keyword + - name: association_type + type: keyword + - name: client_used + type: keyword + - name: data + type: group + fields: + - name: account_disabled + type: boolean + - name: accurate_for_datetime + type: date + - name: active + type: keyword + - name: active_users + type: long + - name: active_users_saved_query_id + type: keyword + - name: admin_non_operational_users + type: long + - name: admin_non_operational_users_saved_query_id + type: keyword + - name: admin_operational_active_users + type: long + - name: admin_operational_active_users_saved_query_id + type: keyword + - name: admin_operational_inactive_users + type: long + - name: admin_operational_inactive_users_saved_query_id + type: keyword + - name: admin_operational_users + type: long + - name: admin_operational_users_saved_query_id + type: keyword + - name: admin_roles + type: group + fields: + - name: display_name + type: keyword + - name: id + type: keyword + - name: admins + type: long + - name: admins_saved_query_id + type: keyword + - name: alt_names + type: group + fields: + - name: name + type: keyword + - name: name_type + type: keyword + - name: application_and_account_name + type: keyword + - name: application_id + type: keyword + - name: application_name + type: keyword + - name: asset_entity_info + type: keyword + - name: asset_type + type: keyword + - name: associated_devices + type: group + fields: + - name: device_associated_saas_apps_names + type: keyword + - name: device_caption + type: keyword + - name: device_id + type: keyword + - name: device_labels + type: keyword + - name: device_model + type: keyword + - name: device_os_distribution + type: keyword + - name: device_os_edition + type: keyword + - name: device_os_end_of_life + type: keyword + - name: device_os_type + type: keyword + - name: device_os_version + type: keyword + - name: device_preferred_mac_address + type: keyword + - name: device_serial + type: keyword + - name: internal_axon_id + type: keyword + - name: associated_employees + type: group + fields: + - name: internal_axon_id + type: keyword + - name: username + type: keyword + - name: associated_groups + type: group + fields: + - name: display_name + type: keyword + - name: remote_id + type: keyword + - name: associated_licenses + type: group + fields: + - name: adapter_connection_label + type: keyword + - name: internal_axon_id + type: keyword + - name: license_name + type: keyword + - name: pricing_unit + type: keyword + - name: related_vendor_name + type: keyword + - name: unit_price + type: keyword + - name: aws_arn + type: keyword + - name: aws_iam_identity_type + type: keyword + - name: azure_account_id + type: keyword + - name: begins_on + type: date + - name: bit_size + type: long + - name: breaches_data + type: group + fields: + - name: added_date + type: date + - name: breach_date + type: date + - name: data_classes + type: keyword + - name: domain + type: keyword + - name: is_fabricated + type: boolean + - name: is_retired + type: boolean + - name: is_sensitive + type: boolean + - name: is_spam_list + type: boolean + - name: is_verified + type: boolean + - name: logo_path + type: keyword + - name: modified_date + type: date + - name: name + type: keyword + - name: pwn_count + type: long + - name: title + type: keyword + - name: class_name + type: keyword + - name: cloud_provider + type: keyword + - name: connected_assets + type: keyword + - name: connection_label + type: keyword + - name: created_date + type: date + - name: deleted_users + type: long + - name: deleted_users_saved_query_id + type: keyword + - name: direct_not_sso_users + type: long + - name: direct_not_sso_users_saved_query_id + type: keyword + - name: display_name + type: keyword + - name: distinct_associated_devices_count + type: long + - name: domains + type: group + fields: + - name: name + type: keyword + - name: email + type: keyword + - name: email_activity + type: group + fields: + - name: is_deleted + type: boolean + - name: product_license + type: keyword + - name: read_count + type: long + - name: receive_count + type: long + - name: report_date + type: date + - name: report_period + type: long + - name: send_count + type: long + - name: email_notification + type: group + fields: + - name: alternative_host_reminder + type: boolean + - name: cancel_meeting_reminder + type: boolean + - name: jbh_reminder + type: boolean + - name: employee_id + type: keyword + - name: employee_number + type: keyword + - name: employee_type + type: keyword + - name: expires_on + type: date + - name: external_users + type: long + - name: external_users_saved_query_id + type: keyword + - name: feature + type: group + fields: + - name: cn_meeting + type: boolean + - name: in_meeting + type: boolean + - name: large_meeting + type: boolean + - name: meeting_capacity + type: long + - name: webinar + type: boolean + - name: zoom_phone + type: boolean + - name: fetch_time + type: date + - name: first_fetch_time + type: date + - name: first_name + type: keyword + - name: first_seen + type: date + - name: from_last_fetch + type: boolean + - name: gce_account_id + type: keyword + - name: groups + type: group + fields: + - name: display_name + type: keyword + - name: name + type: keyword + - name: remote_id + type: keyword + - name: groups + type: keyword + - name: has_administrative_permissions + type: boolean + - name: hire_date + type: date + - name: hr_employment_status + type: keyword + - name: id + type: keyword + - name: id_raw + type: keyword + - name: in_meeting + type: group + fields: + - name: allow_live_streaming + type: boolean + - name: annotation + type: boolean + - name: attendee_on_hold + type: boolean + - name: auto_saving_chat + type: boolean + - name: breakout_room + type: boolean + - name: chat + type: boolean + - name: closed_caption + type: boolean + - name: co_host + type: boolean + - name: data_center_regions + type: keyword + - name: e2e_encryption + type: boolean + - name: entry_exit_chime + type: boolean + - name: far_end_camera_control + type: boolean + - name: feedback + type: boolean + - name: group_hd + type: boolean + - name: non_verbal_feedback + type: boolean + - name: polling + type: boolean + - name: private_chat + type: boolean + - name: record_play_voice + type: boolean + - name: remote_control + type: boolean + - name: remote_support + type: boolean + - name: share_dual_camera + type: boolean + - name: show_meeting_control_toolbar + type: boolean + - name: virtual_background + type: boolean + - name: waiting_room + type: boolean + - name: workplace_by_facebook + type: boolean + - name: inactive_users + type: long + - name: inactive_users_saved_query_id + type: keyword + - name: internal_is_admin + type: boolean + - name: is_active + type: boolean + - name: is_admin + type: boolean + - name: is_built_in + type: boolean + - name: is_delegated_admin + type: boolean + - name: is_fetched_from_adapter + type: boolean + - name: is_from_sso_provider + type: boolean + - name: is_latest_last_seen + type: boolean + - name: is_managed_by_application + type: boolean + - name: is_managed_by_direct_app + type: boolean + - name: is_managed_by_sso + type: boolean + - name: is_mfa_enforced + type: boolean + - name: is_mfa_enrolled + type: boolean + - name: is_non_editable + type: boolean + - name: is_paid + type: boolean + - name: is_permission_adapter + type: boolean + - name: is_privileged + type: boolean + - name: is_saas_user + type: boolean + - name: is_user_active + type: boolean + - name: is_user_deleted + type: boolean + - name: is_user_external + type: boolean + - name: is_user_inactive + type: boolean + - name: is_user_suspended + type: boolean + - name: issuer + type: group + fields: + - name: common_name + type: keyword + - name: country_name + type: keyword + - name: organization + type: keyword + - name: last_client_version + type: keyword + - name: last_enrichment_run + type: date + - name: last_fetch_connection_id + type: keyword + - name: last_fetch_connection_label + type: keyword + - name: last_login_attempt + type: date + - name: last_logon + type: date + - name: last_name + type: keyword + - name: last_password_change + type: date + - name: last_seen + type: date + - name: mail + type: keyword + - name: managed_non_operational_users + type: long + - name: managed_non_operational_users_saved_query_id + type: keyword + - name: managed_operational_users + type: long + - name: managed_operational_users_saved_query_id + type: keyword + - name: managed_users + type: long + - name: managed_users_by_app + type: long + - name: managed_users_by_app_saved_query_id + type: keyword + - name: managed_users_by_sso + type: long + - name: managed_users_by_sso_saved_query_id + type: keyword + - name: managed_users_saved_query_id + type: keyword + - name: manager_id + type: keyword + - name: max_added_date + type: date + - name: max_breach_date + type: date + - name: max_modified_date + type: date + - name: name + type: keyword + - name: nested_applications + type: group + fields: + - name: active_from_direct_adapter + type: boolean + - name: app_accounts + type: group + fields: + - name: name + type: keyword + - name: app_display_name + type: keyword + - name: app_links + type: keyword + - name: assignment_type + type: keyword + - name: extension_type + type: keyword + - name: has_administrative_permissions + type: boolean + - name: is_deleted + type: boolean + - name: is_from_direct_adapter + type: boolean + - name: is_managed + type: boolean + - name: is_suspended + type: boolean + - name: is_unmanaged_extension + type: boolean + - name: is_user_external + type: boolean + - name: is_user_paid + type: boolean + - name: last_access + type: date + - name: last_access_count + type: long + - name: last_access_count_60_days + type: long + - name: last_access_count_90_days + type: long + - name: name + type: keyword + - name: parents + type: group + fields: + - name: name + type: keyword + - name: value + type: keyword + - name: permissions + type: group + fields: + - name: name + type: keyword + - name: relation_direct_name + type: keyword + - name: relation_discovery_name + type: keyword + - name: relation_extension_name + type: keyword + - name: relation_sso_name + type: keyword + - name: source_application + type: keyword + - name: value + type: keyword + - name: vendor_category + type: keyword + - name: nested_applications + type: keyword + - name: nested_associated_devices + type: keyword + - name: nested_grants_last_updated + type: date + - name: nested_grants_managers_last_updated + type: date + - name: nested_groups + type: group + fields: + - name: assignment_type + type: keyword + - name: group_name + type: keyword + - name: name + type: keyword + - name: parents + type: group + fields: + - name: name + type: keyword + - name: parent_type + type: keyword + - name: value + type: keyword + - name: value + type: keyword + - name: nested_managers + type: group + fields: + - name: assignment_type + type: keyword + - name: parents + type: group + fields: + - name: name + type: keyword + - name: parent_type + type: keyword + - name: value + type: keyword + - name: value + type: keyword + - name: nested_permissions + type: group + fields: + - name: has_administrative_permissions + type: boolean + - name: is_admin + type: boolean + - name: nested_permissions + type: group + fields: + - name: assignment_type + type: keyword + - name: parents + type: group + fields: + - name: name + type: keyword + - name: parent_type + type: keyword + - name: value + type: keyword + - name: value + type: keyword + - name: nested_resources + type: group + fields: + - name: assignment_type + type: keyword + - name: name + type: keyword + - name: parents + type: group + fields: + - name: name + type: keyword + - name: value + type: keyword + - name: value + type: keyword + - name: nested_resources + type: keyword + - name: nested_roles + type: group + fields: + - name: assignment_type + type: keyword + - name: name + type: keyword + - name: parents + type: group + fields: + - name: name + type: keyword + - name: parent_type + type: keyword + - name: value + type: keyword + - name: value + type: keyword + - name: not_fetched_count + type: long + - name: operational_users_count + type: long + - name: oracle_cloud_cis_incompliant + type: group + fields: + - name: rule_cis_version + type: float + - name: rule_section + type: float + - name: orphaned_users + type: long + - name: orphaned_users_saved_query_id + type: keyword + - name: paid_users + type: long + - name: paid_users_saved_query_id + type: keyword + - name: password_never_expires + type: boolean + - name: password_not_required + type: boolean + - name: permissions + type: group + fields: + - name: name + type: keyword + - name: pmi + type: keyword + - name: pretty_id + type: keyword + - name: project_ids + type: keyword + - name: project_tags + type: group + fields: + - name: inherited + type: keyword + - name: key + type: keyword + - name: namespaced_tag_key + type: keyword + - name: namespaced_tag_value + type: keyword + - name: value + type: keyword + - name: projects_roles + type: group + fields: + - name: project_id + type: keyword + - name: role_name + type: keyword + - name: provider_name + type: keyword + - name: provider_type + type: keyword + - name: recording + type: group + fields: + - name: auto_delete_cmr + type: boolean + - name: auto_delete_cmr_days + type: boolean + - name: auto_recording + type: boolean + - name: cloud_recording + type: boolean + - name: host_pause_stop_recording + type: boolean + - name: local_recording + type: boolean + - name: record_audio_file + type: boolean + - name: record_gallery_view + type: boolean + - name: record_speaker_view + type: boolean + - name: recording_audio_transcript + type: boolean + - name: save_chat_text + type: boolean + - name: show_timestamp + type: boolean + - name: recovery_question_set + type: boolean + - name: relatable_ids + type: keyword + - name: remote_account_id + type: keyword + - name: remote_id + type: keyword + - name: roles + type: group + fields: + - name: display_name + type: keyword + - name: remote_id + type: keyword + - name: roles + type: keyword + - name: schedule_meeting + type: group + fields: + - name: audio_type + type: keyword + - name: force_pmi_jbh_password + type: boolean + - name: host_video + type: boolean + - name: join_before_host + type: boolean + - name: participants_video + type: boolean + - name: pstn_password_protected + type: boolean + - name: require_password_for_instant_meetings + type: boolean + - name: require_password_for_pmi_meetings + type: boolean + - name: require_password_for_scheduled_meetings + type: boolean + - name: require_password_for_scheduling_new_meetings + type: boolean + - name: use_pmi_for_instant_meetings + type: boolean + - name: use_pmi_for_scheduled_meetings + type: boolean + - name: serial_number + type: keyword + - name: shirt_size + type: keyword + - name: sm_entity_type + type: keyword + - name: snow_full_name + type: keyword + - name: snow_location + type: keyword + - name: source_application + type: keyword + - name: status + type: keyword + - name: status_changed + type: date + - name: subject + type: group + fields: + - name: common_name + type: keyword + - name: country_name + type: keyword + - name: locality + type: keyword + - name: organization + type: keyword + - name: state + type: keyword + - name: suspended_users + type: long + - name: suspended_users_saved_query_id + type: keyword + - name: telephony + type: group + fields: + - name: show_international_numbers_link + type: boolean + - name: third_party_audio + type: boolean + - name: tenant_number + type: keyword + - name: timezone + type: keyword + - name: total_users_count + type: long + - name: tsp + type: group + fields: + - name: call_out + type: boolean + - name: show_international_numbers_link + type: boolean + - name: type + type: keyword + - name: u_department + type: keyword + - name: u_vip + type: boolean + - name: unlinked_users + type: long + - name: unlinked_users_saved_query_id + type: keyword + - name: updated_on + type: date + - name: user_apps + type: group + fields: + - name: active_from_direct_adapter + type: boolean + - name: app_accounts + type: group + fields: + - name: name + type: keyword + - name: app_display_name + type: keyword + - name: app_id + type: keyword + - name: app_links + type: keyword + - name: app_name + type: keyword + - name: extension_type + type: keyword + - name: is_from_direct_adapter + type: boolean + - name: is_managed + type: boolean + - name: is_saas_application + type: boolean + - name: is_unmanaged_extension + type: boolean + - name: is_user_deleted + type: boolean + - name: is_user_external + type: boolean + - name: is_user_paid + type: boolean + - name: is_user_suspended + type: boolean + - name: last_access + type: date + - name: permissions + type: group + fields: + - name: name + type: keyword + - name: relation_direct_name + type: keyword + - name: relation_discovery_name + type: keyword + - name: relation_extension_name + type: keyword + - name: relation_sso_name + type: keyword + - name: source_application + type: keyword + - name: vendor_category + type: keyword + - name: user_count_link + type: group + fields: + - name: bracketWeight + type: double + - name: compOp + type: keyword + - name: field + type: keyword + - name: leftBracket + type: double + - name: logicOp + type: keyword + - name: not + type: boolean + - name: rightBracket + type: double + - name: value + type: keyword + - name: user_country + type: keyword + - name: user_created + type: date + - name: user_department + type: keyword + - name: user_factors + type: group + fields: + - name: created + type: date + - name: factor_status + type: keyword + - name: factor_type + type: keyword + - name: is_enabled + type: boolean + - name: last_updated + type: date + - name: name + type: keyword + - name: provider + type: keyword + - name: strength + type: keyword + - name: vendor_name + type: keyword + - name: user_full_name + type: keyword + - name: user_is_password_enabled + type: boolean + - name: user_manager + type: keyword + - name: user_manager_mail + type: keyword + - name: user_pass_last_used + type: keyword + - name: user_path + type: keyword + - name: user_permissions + type: group + fields: + - name: is_admin + type: boolean + - name: name + type: keyword + - name: user_related_resources + type: group + fields: + - name: id + type: keyword + - name: name + type: keyword + - name: type + type: keyword + - name: user_remote_id + type: keyword + - name: user_sid + type: keyword + - name: user_status + type: keyword + - name: user_telephone_number + type: keyword + - name: user_title + type: keyword + - name: user_type + type: keyword + - name: username + type: keyword + - name: verified + type: boolean + - name: version + type: keyword + - name: entity + type: keyword + - name: hidden_for_gui + type: boolean + - name: initial_plugin_unique_name + type: keyword + - name: name + type: keyword + - name: plugin_name + type: keyword + - name: plugin_type + type: keyword + - name: plugin_unique_name + type: keyword + - name: quick_id + type: keyword + - name: type + type: keyword + - name: internal_axon_id + type: keyword + - name: transform_unique_id + type: keyword diff --git a/packages/axonius/elasticsearch/transform/latest_identity/fields/is-transform-source-false.yml b/packages/axonius/elasticsearch/transform/latest_identity/fields/is-transform-source-false.yml new file mode 100644 index 00000000000..759b444efd7 --- /dev/null +++ b/packages/axonius/elasticsearch/transform/latest_identity/fields/is-transform-source-false.yml @@ -0,0 +1,4 @@ +- name: labels.is_transform_source + type: constant_keyword + description: Distinguishes between documents that are a source for a transform and documents that are an output of a transform, to facilitate easier filtering. + value: 'false' diff --git a/packages/axonius/elasticsearch/transform/latest_identity/manifest.yml b/packages/axonius/elasticsearch/transform/latest_identity/manifest.yml new file mode 100644 index 00000000000..24e9e926793 --- /dev/null +++ b/packages/axonius/elasticsearch/transform/latest_identity/manifest.yml @@ -0,0 +1,11 @@ +start: true +destination_index_template: + mappings: + dynamic: true + dynamic_templates: + - strings_as_keyword: + match_mapping_type: string + mapping: + ignore_above: 1024 + type: keyword + date_detection: true diff --git a/packages/axonius/elasticsearch/transform/latest_identity/transform.yml b/packages/axonius/elasticsearch/transform/latest_identity/transform.yml new file mode 100644 index 00000000000..aefd6362f84 --- /dev/null +++ b/packages/axonius/elasticsearch/transform/latest_identity/transform.yml @@ -0,0 +1,37 @@ +# Use of '*' to use all namespaces defined. +source: + index: + - 'logs-axonius.identity-*' +dest: + index: 'logs-axonius_latest.dest_identity-1' + aliases: + - alias: 'logs-axonius_latest.identity' + move_on_creation: true +latest: + unique_key: + - event.dataset + - axonius.identity.transform_unique_id + sort: '@timestamp' +description: >- + Latest identity from Axonius. As identity get updated, this transform stores only the latest state of each identity inside the destination index. Thus the transform's destination index contains only the latest state of the identity. +frequency: 30s +settings: + # This is required to prevent the transform from clobbering the Fleet-managed mappings. + deduce_mappings: false + unattended: true +sync: + time: + field: 'event.ingested' + # Updated to 120s because of refresh delay in Serverless. With default 60s, + # sometimes transform wouldn't process all documents. + delay: 120s +retention_policy: + time: + field: 'event.ingested' + max_age: 24h +_meta: + managed: false + # Bump this version to delete, reinstall, and restart the transform during + # package installation. + fleet_transform_version: 0.1.0 + run_as_kibana_system: false diff --git a/packages/axonius/img/axonius-identity-dashboard.png b/packages/axonius/img/axonius-identity-dashboard.png index db2aa53b46418b18de5d243eb037f0708a6844b1..2dc3f0732d231e9772dcce21b525c13214f7ea69 100644 GIT binary patch literal 338619 zcmaI8by!u~_CE|rD6OQlf`D{LH%NDPcb7D5Nv1ax$VQhn4A1%(bJ z{!u{575Z=qfnRx=7~zzjL?~yKUuiJ`*wri=G4-KX>PT08dtjnUp^|`OVv4{#Ix#kr z!1y?Eo2brir|ktDtZ|4Hc*kXJ&5#crJymz3$>l`-`uix)iNHy3bHV~<;X^_&ywk(;&zX3lzJosDs{EvqOtrS}Elo+l;*e6BK2L>}83XYN=8u9n5-UH0{H~;!23Ihgt zVf!=HeHIj41zlU*e~*9+#%+Z%75jURsE zt!IwrqW`^P{$s>bvwzI-`xQ5vKRUfwek3X;JosQfnL5>4!gfefJmgC z20}EQ|Aif9I=>05TKq5C9W?oQwTjepU%;H)Z=5cBmz}JjNPSqv`{&cwg%_3f17>tVL$a}ZhqO-@@0@?Re$=CIrx%;nn|OR4Rh6pp3Bn$;j}Ie!+LrKU&r&4}F^`0jL=m_b+q&rHOqnp`9h55jR_W z<_)p(m4l85RPmS%@m3EK7Br%*`xS-9roUPnO4VamRacequPpPFKSl1byR5o=U#`XU zege_Dw_b753=M~m$2tBjz+0KNp{X#{x$Ot_jhDaaaz%yR4AH!u-{(l6%Kfdx{QEFN z!=L$!`VEmIi-S?^v-RLAyW%Qn-4w{3ULjSub=H5U<^*{obOI8CPe3K@vZgNP;x+GN z2eM>XiCM*6>R(k^Po<+q9BPG}J!+2)7{8PVx)iN1^WBxR;pjol^T}*f%`j|K5r^*~ z{9}6m(Q+|aALBoA`lHSp=uw5{gFH3Tj!Y05CW@lEVP15BQh4EGSi!zFop(PhHX7_G zHE?rGOn!1GhAE%aDO(yFE#8KC@`Gfh+E{@bX^|#3F)yh(y^G^%Do)Kdn;ZDKj*{4f?Ncbc2| zh1dOAB&i{~#|AVab|t)xhY|Nekg2}23pwvTkb0xxwybCIHAYpsm4=WD?Ur9o_(6NU z+SjTAhBTPbMyMUxe>3Z+nEyDppPGrA?_(*BvsmwmsSnsGx7iY8=fHL+XO1m2f)FR` zVYerA=e_{=bW}-errFW`TKMqr<;4o2_6h^72?B;A^XhnPSJNe{RmaQ^Az;s*a(}IH zwWZ3WUxm4}-c|w1?pQHf&Bc7N+aN4DtGurw=dK+2{0! zaD=LScB>ul--!EV>Y{>iYid|W2{!$gdCn$F2j%ty;MpCIVP;BhUb`YMc9MQ1VeLE< zC(KXQ@BT!^9`D!W!- zu9GVi)khe*tvt$q&ALKvvWpDABza`hURru1pLS?i(R$D002M^Y4b$oYogc>>^B?cz z%T3<4#t-0f7`XX*b8t;uZVF6eZ*X}AkLHQy>|6uCH>akVDP=y3*`Hm9Bqb%ay1MG4 z%IQ3oin7lTE8&2w?VXRwJop6;@`+?eXU6BHY>Z;&zjWO}!{f+dizDUcHZTjh#ELkJynC3{lY&q zM5xdLr^K_>ql-rTmj@?kzs7vZs5P`Of!|Z4ryfi```Sgr7HO+iEb(qAne7>x^sxS| zv?=EI6%2Brr1lI+=>#6m*Sh^}qK-(^AB9En)wqmV)We4HW`nW@VyUu<(jAES07XPG z0Ois4P@0;WRbKfl-%~2DO$U=$EYj^W z14kV!7Vx4S=`B|iQ9mQ({)^K;jR2}o{Bu08rVWjmV!atUE%QW_wA{Iq_2{iYy_{Ul zyHfBfJp=f@-wfEGE`$1RxFuKi?$sNY5rLAsSPA->ybzvyo|pI-&t9ld6AP1Mx$X#myVF-MCtn&e0!Q6iq+FW_gWgU%vOs1(rhx$P!l39&2GD z;f!>v3~J;x0+F|BpPlGbb?r~sxNe#Suoq4}%gqm`Etz_Lv)G)AJ!2$B@}Zj3d<%{P4i^EHbxryh>@t)XZ^gvVPWfGwF zOeX>AFz~)&@x#qic(8Tp_xaqV(ED5t#j28AX}s*CR<+848v5(KnQY*)Xcf2Hjg=T* z@iLI7vERm^qPDiPU}dNCek!%g&`KBFSkrpBqaJ)!C-BG5I7spX#7i`H;?JB{ew?D! zrEQiCf;A$)8s_SCB*?~W=2l-Ya1+Fk%L=sm`oEe~HEb2plS6ktTK12GN1INav>1KJ z#h^Ug{8D2LOt;!&lAV>Wn7KNb7Pv4O-S&owLD_O!*wT9cD?SQ^v26i`fH($s(k^8y zgYKLx%vE#4h&afGIcffO#-oDia&J6naqnBvc*p(HnF5cOIM-S?!0R2s+OCh&sL=r_ z9;g|kL1~8Vi|^rA-bq^~prB<-#`4dO9LZM-cwBlmGxNTl5^cP<%AH-A_3N{B^2RcW zlxA2u{7{pyEagzR`Mk^G=aHRi!tS(CGgNk)8HKKfN%Ms$v$X>lLvFS=tuLf+ocxrs zg}ld=>5q?FCEb|p`)s*4P>#uar1NUDrA zgR>Pl+x$T4S4yo+L8d<*9TLJ{m`Hcz>Pm@KTHd;e`uRHKMtz`uEw{R@@{$UYWV0=IZEY$XRT zV6`3rtEX*-X|6Ww9EOru3N|YB)6Be34`89lCCF$i^Rf<{s}$wA{8!WUh?`{{Te`?30&dTQN4K3ar@mRfB?$l9E(e&V{3lhIa^ zsU_UEH!TD#ujprr^05XV+&`V5T3X^)*{)zKs8Y+JZ4JhDMn&>XeBV+BDc69m90ZrP zrIYnK>dG~u8Iuyaz%O3y^$riCbf<*s??$yR+)m<|oJK9z_w6Q3RM#~v7biOt8KuTf z;gazclWiQ%{orY6Sy1Pyb%>B`Y{<~}hmQg=u|2wp^D&92KdWfj)Y_-XmZ}v=W;HJ= zj+ZA5>TF*oa^T%;%5sXxqQ!takAo5w^4*b5H?9n{`}B#wab|e(yJsUSZB>Q0^Wk{v z?SDc(h)tY_v}rCi8a!?jo^qd)ZGZ6CXGgyEB;dU_cxwXSBDc?Lymm7<0P$#W(=syS zu#)Lft3K#l*9VU*-J1yj=~5OfM2}~(c?{MK%1?9mT$Q)_r>oMi*~3bazK{K6oKggf zxEqCbKih}qvGf`NWu*Mk5BtvhKJeO{mV4c-^zCo`xi0V)T-={ANSBU9RbUru8pNcj z7bu_bx`&BI7QfUyqi8G9DR9y=3EB;5-H^~SReCsoV*}fz7i@|gN66M560cy@O9f2IDy;H~ZCJ;QX*KW+Q9$V^PP^NOwBFBu-C*N5K#8 zp>NJnKALZ?1ks>XTPpi63f}geDdw$YNJg_7QVfsL@qm{%RP#g90JqQRT|98&>2xPS zKo>7jh!wCc6Xk7XUyWtSYgbt;KR>^=DV((pYEKK7=AOyTB)0&XR}WX-65#$02XA%K z1#g*7>)p7P+{9LEOs)p@X8QBS@}o!>sg!)UH8pWQc86e{ZR3}czGZqP8bKgDUt!E} zlZl4mpAe46%HN81w<`Y;7M1Ayqj>x)v&B03q@ef86=Y;(Dj6SN9L_hQsg`I7U^TFB z{H_J$qS9N6t?j-)5CnPrB;wGmB?haRDq?V)V@h7 z8nHH0thxK7!S)G|9iu|mdm{#ydSqpNHd`?L92K>v@#H}kjtQj^U;4yldFHOs=^`iT zf>EhdLm5sHp?zZFRUGy@hbx zzS-I%ROBZ6vXTzaCg3{`IG8QTw49|YtE`l~$V-wAjkBZOLgc7*kO@M)#Vyug?Y#xl znO*EJ7gO)g78hR0w`i${5u9-#VmXY>#IH1a?B2KEFRWJ!TSa2cFP=I-1A1Fp>GlbDb2`T1nmd(0bDL@=#g4FpKDT?IqdT-g;F* zE`{#9r2(G#{_Wz!U9P>vfet9bqa!<6I8#N-I}c{Z??_0UpaiBbc{kJ<)U*f$8>BlL zUWH6w0QxMbE4E)6F#M`%mO7IrbIfKk>TTGTOgZMyuP3(o5RU2rBa!F@P=GEKQvYXxBm(@eS5*Q<>~c) zb(u?<=&i$66^U`73a$Ox`a9Q$8;qIa6`vFD8)*GEKg@}i`ADF=X>@(nS4O*MtigJ> z1AO-5Kz!vwC21=|6PpOb-U!QHtx6k0fYvGV&=3+?{Z%O}8_vTyb(U67jV7EAK1*IH zoU>$sPuUBp)187=`^&T z&k>OY^A+Bm85HBJ6{M=>*@p&YK`0N9w8xo(?5iBeaCLFB=*DM3&iD9$Bq%5(Cw+CW zd?BFL)ap;wBo*if2^2GM_(0m9+pgn_wHK z>*LbvVLh{>i^fTNBlMsA0v4>BsZ~A+ovn`ySeUQZ#T5VsW2r;KN?_xj5`NV;NOs_K z6w+|iH8l8-Z9rnpqqUZk+}#3O{#_Nu5^Fv?|L7jXYIyPm!y4{64lJg;v|2t6Z@JdX<4*!Qpa^G3&#pAwd;Ej7WyG4R{3-d%vSE(oO8~iW;JL+lVw@P z9!+0HJ1QkgVZb>uB!waIt^}RO9`uJ+JyNUMnvG%&#*e2mUqG@RL}i`4FTIg5foIJa zB}rbHmZF|>Cxpc^CU-1VHq`?*8p`!sl{M`Mf0dnVph2S0h(-b=baZr`Dl7%fK83Sh z%tbgj_(Axywq^o?FA^jWpFbC?)XvjE2bHX7cXf3M0!%9Dm7Y7ZvetdtQ&=Ch`TF%M z)fW%O;g+n2p~OncH3foF=e@9YVidvKiY+}0(55L67i+A^`O)2g7~t|~cQHfz?Y$x= z<4OA?zgP>M(A@_`Xp?%s>zN}U75Z~XREB2T^n|CSC9xWfh&)*CbT#Q7*Osc5#_Pda zK7fKnaCKu2U7}Tw_=21l+2c#0YU#VU`Xv@5`3?9m6Sew>P13ERMx8EJ%ZUg^;Gcpt^7A%ab0 z92vQ2w2OZc=HfJDVlSOAp1;vgr7|2iOwxUo(|s&RyXfY4upJ%)mW zCi+7VwXBLkwOtiQtI-+d73?fkUXWyblYR+Ir$fnf2`IZ&g!&sj8r)~9SZYg4DekR( zYe^(YEF-#{>78f4PHS#W-GZCL`d-#d^@{11K{4|!cp4G3kL^H19R`<<*cV` zcHS9hvmHDoC4ogqp2%o$X;h?HFZbA5+sq0(-{SHJ3wo?XEP1D0)ns}mS8hW%#OaJn z1Wp-OIC;OaIlz$W`8Kw@(|V-|Who?(!o0aY{KbgqvQT^_#Y;T=7&X@Ob74$gPgK&A z`PB#~P1ui|nWKW>E{8{yctN;R63UN!)YI1WMjD8lwvm0dC|Pk?i|xxYsT0z~O~7YJ zJJQ`F!_;<1i-4OIcHc}7w)8N|ezGHobMCEW_Wm61Bp{V`nXR$|Nt6<}3}G6a+&ILS za_7e%W&OPQ2hu^4mxDFGONd6bZ5Puk^pYy;kF|}t9On4=mQ}Vu7<|?fvC4=N5|PIu z*VQqBBPzLiPL+vj{Ik|ixrK&(m9dC^Sd@AZlvq+zrNpnXvRjjlfWyTwEh*eD9`8T` z*&$eOY8zvHiU8ROb84Rh0{2YcFujGjgB}QqBqD!53&;E}f#y*WUmMJO@6SHQ)$HYW6oNiS>xMv)a8Bjr^ zQADX@=O`&vPL<$xKSKDWT<6LP_+e8k%Y~u*i@XXW<9P72L8f69P=LaOyE`yeSwKx) zjbydmpRDhV z9qK`%ujvA5-=7{tPGSI!W<_@WZ*-?d^7tGjCD}2l0|iG$G%B3!_(j0TM_kQ-R8F(| z&IjSVmm8r^TL$tAJ+R;!1ZUWl_IsSsY`4XE-r4ajKl&lWo{j_W$KBbXs)RLAGZzm@;GmhbbT zu4ZeAm246xg7TuKVb|{axrb4@kA-N@w>k&2`9}R_pQNK&ugI@b$rBU0Mvu(z^fdoY zGnZg2S*^NPeNTSa93{PPs9|91T|DV2ByI}L7zv$L{I;VM_~11oh9woNiFiPq`N>@M zafu9gbuc4Thxk4G(f#cvcANK8wFI1347?ldFzxE07EO7IaR*jBz~zK|n*-ZH32dmJ zTBn;M^*SLBOxE{4@zq?6CVk|SJ9kUs18q?e&3H@7avJhiiH59e&wG$Ird%(zMwOX? z4Ky=zT^(i+Y`B;0@@K<02z^H`PFR}~>IeuPM;3b8Iwq;zXY#J>PxmL>Il~EwWRG{i zw@0>XMmc;!2Y3#269)$oE83U}7tT~#?Bz*y^9u{)$9%(qiz2rGJrXLFyr`^Xg=`7) z`v%A2qg|f9y0>ph&wvxz;xyf$-LnmMmioWiS#HYw0FKs=!Rzd<2`50eD*}71zYNva z^LaXn&U@XEhwpuqYwJZ%x(!y4?u+vg&*!}r z`nG*zq^eNT9a=S*QBs`*-dk$d6z;;Mw{9bmtv}@bIp=w^G?!(MRpNAZ#`nQn{wGU9 zQE6#$f-o@XIQYpr7`Tu#IECA3j8zb&X%vAtbMa~kSC<3b8+Nhlv@m{xD@Voo?FU$$ zHv)AJ+ApL4lP|)lHOz0%$4VMl0$s}5=|kfNZ5rMm>es2XINcM?ajJ?lPn+L`sL)pj zu@)y~SRa_MJ3L_GRe56R%BI3arp4>cryZ0T-`gB@Hcc(uE;nROdt9Ul=&uO; zRJmLNVTq-sq^dLzQSXhOhvf4gCxV}Zth5Mp_U2x`8j77#o@QZT>7JK*7>%Ebx9>0S zKHE%WHk&Hb&&Uk3pP1bk+i6}_=w3C-w=!OAfDgxK`AoLd@>J<+^oj2BfMO-?wucAs z-Rw=TSM>!o75~#Fm@&Gx|L`dogF>$6lX+i*-yH?r-HwKF_D!_Yxmvj7Na%NB3=E7< z2MchMttoyERCTuI=D{t*O_6LXu7u>|2D{9H0`M+XTBr&vs$je@D+lSL>Ce$5*dIPR^8 z>T@J}hwtwOp8^+&ZXy_{kZ*2d5mVE1nFf{^8P_j#S#`o9DZ%?HDYAxk+})ZK39Ui6(Po2B z-RvAhk7Ab>J?1EEBBk-VimIgFX0*uo{CB(zjmRwo zot9k7sMkm7$^3}$IWW*%by@?5=6QX0`eLzB&*r$R_bP?-7US<)fZb366Zx#j?d(2F z9bkhq5R&l{@p(p;Xmf5P#H%LtUUPfGzWMP3m+MaQfnmp^=^mt6=eX04RW-ptP9@T4 zeO||?tG~Q>a;9()U$&KI&F;4U4byV(c!?`d`#`wZ6H@AW9_jjd1+13ySR7{!bXn~Q z$G@@KWq3G!r169l1t75)ArQQjUrno9L$gq21BY*EX{`$ucp5o~UIF_Qr?8kv-DC4T zG2qZ9v2;RGwzlhS>7$d~r*bPeNWfi6sM(|1KP*k?QQxk*aCfuZRqqJ?(TIo#;Bl^E zjX=R?TU)%nfK(qyhvm1)YV~zm^)sJNCzh5gZPT3ZOA4@i&e6CkaC9VS1L$Hpr@bQ!Z#e(xAwKb4Q720CUGD5$ zRLi6#y>ZTYl=gcnPI#4^Ko|Ai9(YrK@7|Vl`m@<#)v}{ys5wnuk(29teQKQ_Z})+LLz&dK^XT$UqmE-zjta2w;b+&Fx| zrhg>V4S&S*6%bH(CyrR>tvj7uFdYNLMpN~YPG-bdkx5R?TK-BZ%6M4$GT~;}2$>L+ zkCGCY7*=h+xm<{OQXCPA~XCM@{|PC;|bFZ|V~L-3mDje7^#5vZ4mwH~X&Rrc1oVVlEvzp9Hv9JrYiP4Q@v zQh;E4LVe@8Nr{Ym$>@Bz2-hnZP~~$vT{x>`K0tr=ijBiGKLu%zFVk?~D3A~T39d)> zdl-EyoY znN7%aSZI&BXl~Cw?U)VKl~$Ld++J38v5;L5W%qFEPZ$mBM0EZ<65H6}&UcC$S|(5f zrgzv8cp`U3U)cRYd2qAA;MY8aM)DE*2VCT=;Y6B8QCoy!zYkM*7m_L2%c`*~>zK3J z`9oLWSSwkR;Z-A-_gMw@cWYol;+^-doRv=Vb4fsI0Hl4RpN=PcAk#cnw1l6)#rISh zQdh^`boHdCC0%F6%+?%W-~fMSKX2&yQc|s3qhF7HA~LelfHVR9pE?f{(N#E z&*lVb<@8x_w}8CrOM)l<#%4`}9B6z=)uI`T$L2$dqZ!Zh+U6?c=AgF$DVLyVn^bNm znL*csVbveHrI4y|7%nGzHb%*(6y80_Dw}a!mAE)c-IA&qk!w9u)6lqKJPV{&NI%In zg}sn^BGoD0ez5piHS#l}n&Y|5>HTW}J@Wm{Gfd|Yv>Q(LxgU^%U{vcyq4Mf8xKtPD zk+ff#!1;Hdhxy`ZBm84uuNN2iOD_Yk62WjP#74i z1F@GU12N;=%y>btDqC8R1buqgqP_@PT{qF`>jkM{45P`_oE4-9@e}?-eR?0llBZIO z@}y;bvqbLT@_BS^oZa|$z&(K(#dp28Tt!-Pzu4u2_7sGHz-qVxQoc!dk=2ri9^)M5 z+_Gp>f#)<1L>M8MkEmxRZ>v{(8J5O`pH0ms_=v52Iv*cH;?m}Yo^XzHlx;1OjY1U4 z^l)F5$Wil9thvX`Y&}tsTr2=IyhqE7^*7Y$m5A2Wfpa0|ix3vOjG?9uQJ>~lv-_}V z+fAPTy?tb~m9`hsu#y*nQ&lZ&D?SmH?ITv3kv(a-(nxA1;Ih}y%$s<+^G0|DB$}@z zG8Fal^LT>R0HWPD`v+cGWJ>KRupiaamZuWzjBI7j)$Oxgx;8VHXkWMc$hJ%^>=J$Q zHNI`MRnU$9v_($7uSl~b({WJ@bYc9o32SY;o-k^^@gQ)NP)kSH-tVu;U^rk_9ESGG z)kX2Z90ou{?9;-pBvpl&!~2>0VCTS=&m9w0{LU?Lp4Vv~nbmqeDUlq~!-r*Ovsoy5 z>K&)hjY#wV2iS#y4tgZ;=Pc!jun0j0>$Q$!^&Z6E+H{H8v-pWN^olYy1g%a)NmnT53j-DZ@ z6ZCvrz`BNr*K=o_2y86*wyswtGsCMkyzq)SPtorF$PV{_53hcXFVM5zE+c{e`UDS8>b25V%gP$L?j~7?<(1aAAqmFwvL6%X}~?8 zWFCfh1zgKkT^0H&~o@O~f81>|NvsX;v#E5}b0EgzsI>Uo5m7>#t>OMLikOP1y97JVpuAwJ)B< znC=yvCH}H3NKw6swCyWya2q5htp*+pIBF=~0gk!FBnr7RJ?r0C>tjjLeQIBQGg&41!|96Yo<>0W z7R7HC%m&qb?;TPeW3n2QhP_eBl1vise{ctMk%P0&1xJyYQ5#=i(~KX-EIl5fRr?gf z+MMt`|Mr%E*Bxf!c>AdFIg&@7^3#`xFN86(c#W1KH{r@Ah zKUr6*jt|eDu>a4mlu?5GCDDYyTWx~nIv!zljn@jQ3u3^keIpidzJEM;a(tH`nmgdNn||he7Gt8nclrkg;wI-K^f!3#*WUH4 zV9u}2a8T2}j1z)$mzZu_{d>_5y>%O5R7>(=A+R^iHIxMBa=4oT#52uf8{1~%w7FvQ0makExEAOLpb^6Z%%jTRKIOJU`TcChu>2wT>tjOS-fty~x`5&CaD?Drj~qSEIh=kUdB3_E zt8N&po`2Z%M_(}eLSg3dtA<0FH~;E>`~gq?8r`P@4HEfVb^mI;&r?AVwlxkFmA{z# zPjBt#UCLj8}Y&9N4ODffE->z6?PACE701-!#4s87A_ zI9~dfnEod8r%?M$VF>7c8`ba4a2G>x+_KbtAP)LA(%+*08x%qL|De%R4WZ$!(>7v8 z^A-OuE%*np95U0UC}hCJhWbXrFYd0YBc9IvUi}{n{$}M*LX{yS9AlFa{)YZ>Li7HX z#s4C%6Bf6MWhnTcP-n_0HaK>w|Dhai^}&9>YXLtM<%2t9weTlQN5B7~iV0f}<$sJ% zP2snJvrbz=b~E}PUmYZUdjCS*|NeMh))tKab(dolO&CGj-@3I>io=Yg$AES_kmd!v zHHy4J3O8BXkAHCD_v?SLp5GZs?6hoY3OMI_{)R}HZ{+xRUY7})5!;dx=iaFMz4PlT zX@L%8M7h;^^i{I|VVwUIi|+k^#0r7t;4TQqqI9>*LU+>WX{LT;OTLj4E-gJI7y+Z!uSBH#hCrdCfOZaJ2 z;=~j2mx-v~>T+iz~(dssPzb(Q4cqu+Q^|&fpw}&(E(O*mbS?x){8-~r7Z!-;| z={_FIL+B8rYUBCM#eeAYFY9h&#)_imP1}P?-SEdZu)P$}d{M&6WsiOUbG$CEb*M;> z0EtVYd9zP)kK|x#t~-6o#7H7)(Y!TAlz{g^RKPk4;Rt6H1{M~#=yqDf%`$%1k70<5 zBJ1*G&uTfOhL3;o4~p#n^+$4TH*oAihL{X@=|^4o%k!^_qygveT&cY%Mn?|;cI@ac zQ|48Q(q8-GVwGK~`r2#bznH^T@YP)6O?w}O55rh)@7jgqVIy~e`&-?Nf}rmI$2ugc zaH-;BtZb$?qtCzuTw2bTgha81orb;cFzu00k3cd_O)Q^SV`#`t5(h;RDo#2!v|huX zZ2LXeY9i9VZfE@ZpqJn?j$pkNqSi^tq)W|pw@v$%`J`m_tzvS&ZOoz3D3Ht)F)B7q zgTJK4YhPv#`ro35AgO$q|BlD!-;Nz$bk0x6Iy=9*zF`b}vP11|wC)wH91#RnR(gYC zy@eT&W2=&EtFTvLafQ z{SmJlvCvMc|EA?@5ztso151ggDm+nhXh+z~0ZdaiptyvprEjkIdyzh5M59dp0U%kj z=^kr8AGn1`s3j?2ZNs}Q7QeQ_{_|l7j4bSOvcoH4DV{4be@!=CAJU%~>wh?wpRXjk zFFt4zZYNng^cu4GM;7Ya|5 zUefn|^O@`M2dGtbv-L*APurWQHue@|rjLm}e~v6ERY8AS@I}|{quzeS;M}1bnm6F6 zB;0Iiv*BjP42m3lTzrH-=?`n=eWZ!}=-n6;GO~SBoaUGVQ(L2w<2tak7}2uFA$kNe^1d4qSotfY_$LFY=N=NTmvC|_jb2*2QpdbFP_+7JM0#!;Y_ z)M0D9HZ847AExKJm%d`{Cnrzj{TNP##o)ErnmS?9lmaFMUf&rsA#p2g}}2n?Xcp zc{Lx3XnWMrcf0fQRcdqEcv>@dhzT+AX97iDS+H>>JwVIl8Jb|)6SMXUSX-|3NF-kU zg(hULzJB+}w;5%w!*7PPsz@27HS17T=;jbl@UI=t$Heb=y|?IOw3}W$?bVUd1arj> z&RIYML*7|KAj40VO^xV=+B>SNuejFy9&pqw?MF3DBji?^qO__2(i38a*Y@>82fkx z_a+G+Zo{!0T3+ z*1P#6C5MVqrSECaCgx#Ro=lLK3T%qCrudd(M9WW?pJYUb)HWFcdiQ26D5p6sz%}ux36F26IwqJ%A_?Gv6NSr zi(HQskLS4YSnHl=YwerAu76l92XO{E(MPr~4XjgKbsEwUrw08MCTyUu()`vnz4PFhJ$FG|XpI#V1 z9_(${SW!n=JG}Xnh9a5fOLclb-GMacz<%xb!$C_(A@Nnf*`9}W)um3Y2&G&bre#f9 zoB!%!ur~p>8(brruAdf}VV`SSEvI%ew&*Y-NIXY7vx%pHg*ugt-amy~dlAySd%78W zt;h;%;3_IgtB3dc0vE|SAYGc}Kq~TapxNy5{z@nMgIA?K4lm(lM4KiNU^jarEokGJ zaA}iSc!`sh+(bElPH*%QN(GNu^3t=R*e9AHUru@$+9arxODI4h(qaS3Ax8pr(CC1G zg%aiG_*ClOx}Z5C*lvpLSYX*FZD>S2VS6TJ)-PA(A~7}0ql;UIf;;6h|@tc#;a zD``m+?cSf96RHQM{}y<0tjA?S6K>K8L3Q+XxVAFm4RxbUj8z}> zyNCm?X&gya>+X}^@Hl{+l8K1Y2qIijy&2&`T~ z(#fS?@0yoXYjR))5%UK0<=qfRm*}*jh)<+V#gGA`o0LvnH$czEyfET!2b!`Y!Be=# zBMS7)@44T;(tP5{3K!arX(~R(HK4f|C)_9)weC~%j4cckpy^iXsjpjra-<$Ah4i!AV7?c3`TlJxPsO*#@EF*VS~W;GgOdn7Hp z=<;$cYK{nsG?32@qqR`364g_y0%>|T$}R^@^$T8G3I54aQU!ga{{(hE_DBhNdssDW zL6Z7|T}nk!a6?kkWv)PJ&(?jsw;Ahvy0ND7@t)H(in`~wIj~pmvK+xGLTLKScvr8Z z?uL|SgTIvmy>XUAh&u;6(Kbf4YcV1{I!|7<-0U@hTmJk*Tf+lm~FYCFmix+d9(IupZx>XoL~$B()!;7vrk(-1a=}!WvR`vSD}sxVo-LuSgu@{Zs2<;N9r9} z_IaX>%l52Bgz>%xIzQZ9Lu)l{Qw&#)2C*G-qO|&;!v^tmgbepOTp{XOqr2VcUoAJ9 zou3I{p44bd-U&@_u_$kyyHC*%+5#N{j!vlb?pui;8LSo2ms3xIRuDK1jVMHqP8L8q z=&d?T%%x^nr`iBY!-{mF{%(y7LY59A8T z?%np=4rT6@;XU2>Z+7{%7|7H#>WiAOo3xAkikW(_fVO$7`|s-N7tEm>>A7WAb@V)a z7~WE0BhBgt*4Mwcxe3^qJc-;G7-lffS3GC4)X=j2HE`h9!mSP zX#dQ#6yEZ&PsrUc{(LCsutC~Eq<5(r%no=m8;(e6@PU(@ z6_62;(xL(AR->4X=qksJ*Ae6T)gysB9@Ek5V(9}2JtFi6M}#yQH_=*ZPx480VUuRO zU($^T+ns-}{gkgvy{DiAM{2viI?nv%%a@KMS`YcL2^f%b4V79VXpT;|HCP%&)`hNj+zFPUG9?wyS#SvR?m*mN6ZyOy)m8_Az*iqICyIJMUp=^UBCGo{z+mX(}&OGSm4Ey>ZT!10Yn=VN#=rBM@;&1>&BT$*An-&AQ%5H%0{ zl6H8p>So|tn@ew2lST>I=YSTy?h8SzY3_mm{FB{Vk}Ez0m4qw%=`K1`Z!PKjaK2GT z-<$Itqy@C2;DE*7nZVDafFJO3mHj`?<5rHJH*$Ut3u=iF5pqxC9be_-nVQEl|5m=B z^@upvO63WA*{iUHXT`Ib8km&TX5T_&(wX8@5Qhk|a zH?myHoDZgY?ISUO-<;|4&aD_hv!OQ+y%!p*DlnxhU@w&B9*_2qC^hQR6b}{s2)44E z&`VfFOp*14rG`WFIQq8QP;2{+3uvaP?ScNXyxxk^j*o>pTY`BiGuQ^S2(!a0vyh&b zRey{%Y7oyR+W zRtIik^#1dYSxG9~PuE{(uJZ@qG#o2%A6zFc+=|C|a@hZ_1&pu0HWIUQ?&p-XT5>@J z)xgP5^`kbT>UN#rNAM4HOz-r!7W00=0N-Xf+^$m^nT9)Y$?D(xf~&@tm7&#NY!1*y z4aQLx6*uy+5(L8fRwH_fDXv}+gFBRjhza-)Ef|~&HEemlz#ajCJ zalP7BeE22dUe~vx3H2<`(_E-Nr&592vMEZY*l(12?z8q@2BM$h+ z2^NwcYn;jrTupw(0RIqsgYZobx(`ozV50$%96l(}LYYi$zTAmaY|MEw;@Ow*aN)un zCv-dzx_P)XO!mZFeiYC0$@oj#Pd4G?C>HBI!;KcNY??YX5Y|*G4k&2tO7^zkJS>0FG-Ba4Rk-YTZ5|SEp}KkLFb%A5PQ$7D_0~&oDdp!7N!^uw7VkQ$=VAa` zK@GD>IK6$fR2fDushc)+HuEF8d;U}n{wg4xS3>nd{u6;5Nh4ebQTO^%KZSfQxTWiI zkbK38XNVLFdCBpdSEFV3bN?gtMyKkaUgtOWo11C}26{ah`V;g%<&2nnm7WZFdJFTr zAY~HO7@Za@@atk^F_=Kh*8HIN1(64U$g-<1e1N+m_!eRxb)@eKqEMI;#2w-V5NvLOxW5 zC$BRX35ih(LT_ucfmEjRcxoT-hbnlLh(iCT z6v<9QGbhZd5B}_N^3WIZ;KJvkSL!agBHgD~_pz&bmL(~Zmm_End%9tFB-|tn$kBA# z*PXr?s(Pl@!OSh3-Rjg?|Dm>k=wMv=tryrwEOix z3@`R?bmQT7=gWx-R6hAW08gCMy&f$5&^%as@sF0qTSb|bs1Cw1O>IcXS!J%2F-C+B zV?_m~OXwB{Fk?*WQ+ZRaiKAO{aIDX|%ZS(gN9%b>oZ3#ms3}qE7uQTY6=dmzI>5Os zu$8}!zT20ycwYe(#a{11%5Aujf)ZXfIJ_3b*YS}TL|L}hqLayb!k zX5yupkdUDFu)seBz9Z)xZSeOQo1!0S`oxBpGR4ndyS`e~>`o80hUg^IfJK29Knj1RhgqazG#9H|PP^ zxON$=aCp-;0xWAgr!Y5m%yil?OB-4N$_KAb1@9tW$;>r46=18kv^033>wv%;u^&1^Bb;zT`V2o7!7 z2|z25aT3rYf@Py?>=yR$CjeIC3NZk*uSWbk*xh#UQ&NcCbBLP5+S3 z6OX>uCSBVpX?c!FSj55_axq>%=@gHFnQ?l=vOwOj*m)obaZ93Ou?ecjs}>!@^eOO} zs7zorIafL$*ZjLU{VQQ6k@vyJ6vK>)Y_(7>6P?793C>rN zFYG!$oQs0e4aGq+Oh&8#sX(t|ftP1^L#?%z^?S#O^CHFACl|a(N=m@x{uWn_RCtCnw$GIhWiyEv z5sa!~f`?|1nCiVXQDdew{1V~+R7fV?jGDpu;A_zAV6?;cXxM};2~&m2=2CV z3GVLh?(V#uqq*mv`#yfKk?HB_>D5wQRcnN&eH72@EV#yu#lbnZR%GJ~NGF5{+4P;opj}3GFW?h`1XI#J z&%RM_Aqb&ci$)BwyWrQsaHS2CABl2BM~z(c7O1G9@x4?zHMc@8;@e8?r~L{%P&Rth ztXj}(QxP|K2%`pW6`V@p8_4RHCK_dWzhhmR26?)ggKD({5_`3dp6JcmZ_1<7#tqVm zkhG%uF6;<}`FgH>le!!?Tj3gmd$TH2FvK}Ae06LQ993?#>j@ys55K7KDOKh&gb!e>KS-Zc%jtjz;vG3QLTLDnmKOyOuteZ z%&L%*493xD&On6u+Y*<4I)ldF>O&yhi(v z9!-w~FD(kHyzkGMBm!GkJ=w+O9tpaoONTnQw=OyQ8)veobp=&i&RVbi8A=hj!d4ku z;tVvDq#ioWH_mJfL9m1a^q{2pRLaj&hT822XsNWSV{o_N0dK@JwVtU|qQ!&b;~}AL zPQq;3a06$#Yuklwh@KvLMfL`AqrM-uy2L3!Wanhty-YaWtu#Ux`zLUCANV^D>J+{M zU0C!6rSdfocGxX9TXmeoOGz#)WEqqX^LpBX#t?<(j<~z?N#e*RQfDvCd48U2V?P;E zY_l)k5RHC2)tpo7JkH2?0PTNwX{enE@*8JeN$6PIumRU?E5_yQzFph4Vv@VT^}#3a zAm61S?7j*vCWGe?F|~#Lj8;<++n8Lc|6xN&+VLG-3nMItViZ-=lVY z1WaY8QI!Vga6D5@dmp2nsQy9aX_AY7pKYY4gNY1obMkf}b2VjH*Ty2KBgj&=%uw$b z#_pi{K=nE~2g13 z(4nQ_!F}=ja(34nxU ziTlQu));C-i2{S~tO-+5N_q8&Z>LnZY_|E7ZEkkUp*PzseyC4}P`Rc|S6UE!zmQdI zAv)|OCkp)d!CEv`Tq&SR9|NFyjf;&BCx#51j7)9dv3B2b*l+Lv&&*IB81NsFGX#T} z$mD7&-VG!=k6UXT0kJi9o7K)J-d>da)_H+vZtsJ)#!vP5_T8qXMe(wgnqnCB5rU~D zDoS)Z8;+9G)H;o%TQ@&WZx0~Ew76M12{682BO^?J)d4ZEz-(cB# zUSkuBcguKjsc`e_Gie?RcV5%@(&-IxbJ9`NK0-4~OZbQfij!sdQK1pyH0*|*-3=Ar zTq58Eb*B7>Rg}iA^0?A#Xbb!&F$Us%XOqK$K&mAC)PPmytj%h9DwFo?M9Ay&hpw(X z?OVOOceKQ1%;g)(%8_Ka_8x~+@dHJ(GNAi!7h?+_qT~Ut0)4AAVk?E!Ib;JISW~V0 zr1YD>GXdQ#u+;yeweTo_!kYK*+A_i1KQSN49b}M+xrr2RhX_nMn8u3ix!l34c|NO5-9veS zF}+);f7Yd7)YB+XCW_7v2&7JR7Mn|zrfAAQS{`ShlUrh(0(kWf=Xtaqa+G4h2Q5g% zMEK?_X>?;-kR@svhv=M$@JL5nHFbnmn&wTE+bzqZO8ac#6 zSQx;8Lj)Iz0AJZdM0i4{+<+K*g0iI}&vj#x(t04$CaT3cmAMMk+4l z5^nfo=fQGMfQH9ApE@BZ zchh#1L?Hcy_Z8)=$!nJAYnzV0-6W>D+5CYIv5JZF>4bXIH|M*%25epYSSLLO9_Q#oGTsHX8v>m$a*&DA}%>1;M%2~9@xkENzp zkc(T3Z8%xZgqp94Gt-cHdE^{E`%oj=^E^mL9Crf>k;_O=ZWrq|X)H~FJTK+or-CGKyONu|!+{h^F*=yP72EV&m z=S3urE8}xoQKUT;wk2?)B_Dp0!qJxF^fe&yU~Su2K=!_1x2_$s^p0tJFJD?hu!RM) zrA!@b*rd+Mt$F2^G%RZ1^4q@jj0e`X>_2v>A9f(MOH7f=B}kG0PjDkz$lZzjI$dNs z*KYRYO|ibZ`CmlGEH+@5;KL@Y)o8G`Rn?L@dWt{}RNg~iVHl>>bm3uncGOJ0HZdmw zHsDC_k`~s#OX)#7cvfFAl`SEO%Br&DJ=x*ZJ{(Q=sOLry09_$8`nkQxAl6YURhzHL zi<+B6ADik5ukUFt484I+{jBwAvpA#$f2teQ##pJE9ZNCJ>%0>X3a30UE!;VXY{@6o z1p>%Pl^5n=>(<-{(W`*FjgjY1G|SEk#gF3eb`i>FFo0oC)cFy9Yy~OQ*T)u}kg8XQ z?Qx@wE7%%jhw2lVie*MC8e9WG6~sgC=+#JcnUyskdx08K&=H*eYUQ9g@5e0pdHsqi zO5f7Qk@Y+sV!@8L#43~Cmy?*sHVZE<+fmL&$34p?im4=+0$J;!QBgrb<_6ZrVOZ3O z{;vTHr7bn_d^@y@k#0Um6Lk8q4PvkMO1gao?tp zwS~L&OZNjj1yGhkC3HNKn!u~`(NyKTDi^0?Jn8ruK#x4awa>O5oMkZT#D^@7g>t#3C={SR@(ztHkMG%c6uSVd;Y}gcVVcB(jr+=^z5Z{+cgqvT~TiPYc zG}>G!P%C{)?!$?)t%Nes1+jNw&kTg7d={{Qqd5BRq-k z#z2yQ7e?suww>a+(PBqF&jC%t4xc}pejt&KMEK{CuO$9FvOTpyf6PmlM7q)I_6#DU zMF)!K#H-ZYqPkEI?PVMj&ZCNuhrvvjjBK^JaQ{SXZUd*L1f~$|ZmL`KS<5ZV>`CBe zE>L)Ccl#y5@G;>bOZJtWw)V%_-#W0ZR*>kwiGu0We(Ch_AA5s^&j-nM9I@>n>=SFS zmhqXah*jLB@l=H&AKuDdKJylgS>(gXKj;BbD!Kk?sBSnl-5I-c z<+)wrU+N^_W3ZHVC1+Joq2ZfXe_(h>FN-#fB6mLS2pu=~bGGF2%}N|U?Jex=R0qJ# z%@oTiL#hkeZCyD5x4@<<-Qu#-2J?iTkC)1+O`g!lDayhP^1`yY{_wc7bjaneo(#?> zP@f2xF-p8zw5(KNh&L?No?Sbie0F(nd8H3|43@JxOVo4nF0tKb zG~~nF=r)O2XFi?GGrQ&2@CI}yp>h#`*n|Yt8r8M26?~7tsc3=93LKEbv!UdIchq+E zDQrUWFbXJvUc0JB3S!v6=w&(F7V(4A+3wLp;DtIgO7w-;J+d0ArPlv?o2;#N(b#_r zU%+n2jqzP7o&M3@s1(A(NQ2+##??5FyyCs;hqmypvTLbiguTvfq!^0>5)JkGFeOw;M^yzD^Jki zCE|BL9X^=#e~BO7kL0d4O2Ev+W_)dS#!C_N(((O%3Z>MYfB7OLAkk`MGV}HNucKX{ z8C4NTuki2ZzI}LLX}FjHOR+W1xPGdz06Kg*_&Sw3ztIeOy{T6!eIW80qp>xB@RJo` z0RK&(Y$6VLpiN=a|8=Qq?y@(pzP^TRgx1>cQbL`)LCOw@n9N;z<#b&L5lWF*eJ8@n zh*0REer$|uj=Y+e8y4dejpw>BsaKXN$k~}g%lEMWJ>^$l2SU6b_yXeXlS7uMX4uv* zRoxQ2`V%iwrI|9CEEWV4yYAbY$z#@vts@#4Ysz)dvEtIEo?VoM5DwHuhKn)G57W3g zq4C;E%kQ<-R&Y00%OSMZR1Ws>2Jnr_m`pfD>?OQ>ZpD!fc-W^A=wDXkACFF^%7?Rj z${rmZyOo?IIqN1=%)Q9@e;)eA*2Y8fxz(}qxweSK3bB+Q28#*lO#7G06Z^C||6JM@ zy$)iJ*YWmvJ;7~-X}(dSEcBW*zkApmxoeiuhI%Ba=T0Wp zATdtSHYdAM8#;5lrKdGsCZ@F2(W$e|F8HHuxDeG7JLrD8y7RJF*tf%eDz zmf$Diq?jPCgOCnzDx2LBkw%*TV%_?}F#O~g_Jx2U0d^=YZ9uhjS?|%AsARNtZkWvt ziv6qXSnvSr>uJ^V~ql2A_vRo@W{^jX` zEJ0mTuv91@rN0ewXh@P+1!GYoW%u;6?G=yZ0Q`m1?sEhSvQBPV8GAlIyBxJ&W`_?_m0!>(*V>3DBZAAv% zGeGCJRVR#u@Y#1sCxZ>Wj~29{#nqZ1ytm&03?Jp6gttE!xqRu-yj7Cc_1S(zRI`|X$S7|)_)sILs zz8I%-F=_zGX_;d{pI_GK4WKXi8wfRCkgukZMhv}k4o70@Z*qtnAW`|Ra{p#v{v;|h z=)nH0byOPo&9rrdN;vvx!dfYWMK1k5P_?vBZDjz84uG_z1zn-KH)B<>$=Cq&QRxl> zL&CayDHXK>Km{V|A%R{)6T=LxTmIM9VGRfNtm3bq{^rUWMt{&oS}-0(P@+fE)Y537 z>qv2F-%KdyQHtgJ4!osP8m$gmJ*^x}fht15))0`s?5r#%qo5b!Pq}T`3#2b=fJ>VX ztEn^Srd-AM{Re586wdZPwLE>0e*Qb;4Z!97TUJn^qm1xOD|3z^k8}tQmH$O{{<~>D z$*kp?&+KDV(?CNaRGN&jLCb(N0SUPglD?Dwg6#jsRsOwH-!E_xp1CLp4I7i6@?VGY z$aeHI#zC-ahChXF|K1{gmYBM~@3;Pw3Hv8ApST=$iq7D(k4Qp0HT?pEYYIGtsDCYx z$PO%s1m~B6ex4iJz}YJPOGE!wmY*d?%-VWbbn5!49FiV?qRD^&_)i);`xYsasYNK- z;hzlnpY>=rh2&uT9}P2f_|q8wnz`%zSKjl_;RzWG|8IBmziAL^n0@R5i!`G#h`-FW zfA+vWb})R(-vjH$0W#}PEa1;x;>T~e^}q7#e+!#?@t?vIr$!D{ zV1t~(*pmLQ2Kg(<>_vfBEZObI{ZXevc!u9C=l`tZ?~n3}R0RhnY2^wY@}I(!i(A~a z`_22!|6g=6nQYn-a!z-j>v3H<N@KvOzN$s|chQ(b*Q@HcO8laj{TyGSRYJc)8~ z{`d2omxHDoq#OKlS3i6W@VqttKYRB@D9B%`u)jn8S6gzwIADj*W6}HDS-o!+44?OZ z%m%rpe|DO! z2i*D%4j+gh1MYS;jaKzYFth??A?VW928YGV3_lI~Ys9dSSI+AH;Rl1@7B?<>rQUwi zG3`OQr5kRanv z)&7(3^1mD){VfQ>Zt?XTq06Y_#;WWLSUW@5_2}h?Fam-mpFbDE#q?7=;;`vK!WpW! zFAU(*$5F$n+2F8xXC{Rus{~QVbnEgMjV8x6s|2+8Q7+V{IN&5E9NHrRR@~j37Fq05- zogl|gWf>=jk+91QDl}piETHis-9MS;B=n?ju<06fJjqzi`m@s-ps%I=uZ{@)bAg45 zit%+Fb%T(92LpgZRVnBU+vh%5KwnGBT-0&lNv_++ISiCjj_wSt|I%KhsB3=*$ltyG z56RNK7I2Jx@`mE{{`KLufg`7r`GPiW+DrKL*Vz*bQFOM(BXX9RNjR#0@u*lbdv zqx`|p8I(as!henKKT7{)k^n9O72p_5ALD#2f0BBBPLPP8g#WoL`Nzz%b`R8&DyKb8 zdz`L0L|?jI7aQ1~*2#DzJUcy}7ELriJG}}JlS|!xXtF-dF%O8cwOPS9MaB)9J_K5$ zgoZZrx<&!T8NU_kw}iQN{x5I2kKE6^<@WpD``TvoczeD8QQ&`HWVJgG)F1*Q`zIGL zNrz5vaNVQc^OEFk&PI*N{OiSTxO&6XVE8UD_e7fML>UFx3AFxRNK2*36VPqp#_CXbHOkM}k<&Tvs$u^!h% zRS|HVNI-xCG$7;6v}@DuIDY){zUYa!QaY?z0~9r>g5$Kga;4P+xwBWY8+kQSXcOw> zeNXYA=}bM{jwC^(+@=XJ%~2K|x5Vi94*?iB$z(#2UYFam4w9oLLd>=|g$IzLT{isD z(c^kB1EQBQ_9ylmp1GBT*_~5dau!rv(x;hrsIIQFc-pxtj8=AeQ}^yc?jx5)ov zPCMg)w>|kQYKYk(PM}3|1jP=!gv2u0>?rhv_)j5KG?uPLi!e4bdO^r| zD@4@J&ti5aIjFFCIV;nDz|%>xyC`&;wu;%gS{9}srTl(p&D6y2rw-=X+sX4<+sU(O z3qLBgDI;6k9mmBPUuYIJ-F=^U0pT9&owLzf5d6b%H3hmKo37~DZzc8iV^&bBwRdVY zBOP{xm-^kY=2tEn5EiU?H==!_a$7%8B?6={+$OU;?rvQVtmLg?0+NC5s68p=P9JmJ z>5W~{VGjTn%MfkPm0X>TW-9fcofLL6N6+HSe!!Yx1PT?`8O&7Wz<}90Orl*SH^Q?| z13ZNv)7x9&-8!Xvz6QlLkWokM%aNp6-1VK4k96v>g3*h?LZ!!zA>2`GgyMsM3_|X;txGOW91-hyB#9RXsUf4 z>gELbJ8XU%GB~N)NB&s!;=t{#!p+AVBXD~fV>B}~3bRM>#R-9*UG^jdu*XFd zBt5aL5u36`4C!0^KI#pc#^?8_i1L#a=BT8lK*0kAS?xncyNqQvk&cT~r5k~aUgm2l z!Y1bolP=k{ok?bhmC6#e43+8cc~sInO2QvhY;zs%e2HBP>pv`}M>6L5(6ZD>=9hiJ zAPbbRH&(Xdzy2s;PW{pn@2tl~2K=5TZFYijJnw@|u)xNC=PU10XKr8{ zz(SR9Fb7?X6(toLJe@cYG`1rV|7t{yE;!)hEqbdrb7S!yKIsj;?ev>!V+BRR(xq9K9PyzADoZAZJjfhXl)49YG*QUhv645jMi0)LKhV5kg z?Zw@Q{VC(61@~=F&%1wYQGSN`SqX%zCUA?B1i2-?FhnXu)7%_@8o!kgD5fDc-#Sadle(^v?6 z+SgR^w%gyLe_U6~pD)~OpM4@@puQj6QhDnc)nV`g606-igzj&z9XA8i&Au6QC(oKqccx zQDON)x7RVaFc-bt)g3v=cn}Ubmwl*waFDy#L{TB$a~}lF!-b0a(}&REhePd<0WRO; z34KW$N`fqi<|Mbvg6ouh<}PmM!0{^2MD*~~QC#>OtQS?X2p$d48f*U~AxCgt~$ z(6Dn+EB?&!+`9gBy5Yn}s_y9P!%YTP65V=Hfj&FkN*4Zgo>Bbto-DGy)BiGm|J*K|HK2xuhIOu;j^^Rk$NQGX z1&Q|Tw2E#KSSE8Lp0-TCA>cc2_YXjhjUd_TAeVeKL^*II2qtm3?cmo7eR)jK?;_gu z)mW?@6;sjtG(qD{fo96%jTkk07;OH&?0d6cHP(`Bi>K#w1mU}u8Qm^TnY%-ki0hsW zJHk18Y7&K%!H-u*4|MKGI-#_DVnPmI_&gZBmarX7*W`^6d8Ts!(gjtX_9+`A@|F#D z9*~^2ws3AF%z^+>)r h&has2X8hVPTU$VHidz^0%So0H0o#O9D&&OD)c?*Z@ECr zxBlmY?Rzx}cz6dM@6?+ODLy_01%+$lSHqG1!D@rmQ-5}6O;@zkiR=A6bxb7PERT$S{l^+X;Uka9rP#f8)0>g{3bo=a21C2rJZI5`o)9WCy!lpmm0<3Mt zDaAai9R1wd)k-F#7lMg8bc#>gdvfcG5{|G-!#Zs`!LH6Z{O;D0@H_Fug7Lkv(y2Zb zd+1E>)Lh66HOa%!JC%jt-V`lv>9lH`b*o|oI?8SyY2xL20(6fay83F02z+V3?&>b3 zV=H<$5InSKLa5BrcF)zaE8*yFYQnLK&x0vP6=>$r3|RDjYKxqa1%}uyt0v;?AVU3T zg8Y-Wl7sTkQd+)lSeE1GEhl?A+)x^=uNcLiwSuOX%_u%69iC-+y=90=06MVvsfK-d z5_BK0Q@@PSuGyf2affuEqUPK2w=4@Q2g~FZ1Rwl!Y4gJ3vR8bUH^r^XVC8TG3@);~ zbHwX9sqD>V3)yP$b%6*i6bkG$X1eg@Z$5*MQM2e?4(VV&mBLLaTSYR0<7G|N9^ZMc z$bHgXR#PKduthMr(iWcuoOV9gYQ)tkG7q=EovtNt!Q}S=fWVi{XRlijoNHUHjXgmo zInnU#S!x%;!MUAwH2Z9{theA0rU=QE32-LiF%T&Kg!y8Y!H%N;d(H1x0=sv@L{&Pu zkiaA)ziA$|xBP<@=oODu5zka;@JXj|x?f)Vh%>@$_D$y~XV&2uD)uE>h4C6Rb|pQ@ z+&(K_^a`&0T;+60)aGY&TD%%(+LYH+YoYcdN!ZPz?{Q8hh4anI|nXF*OUuc6l zd0-+w6 zibrZg?0lvbzMzoc`3H&H3X{TeG*;p812mebj+_fhX#^(PWoQ-dNXpFi@l|5=hlcA zF*XsoM4TiS1;}jog_w!p74J(x9&Spb)1|1hc720YxeDHLiR~7tKEl;@HR-T+C%GtP zwlMn|*=d)nx3+sK6}Uw>6a7EWAMDEwQ|mz4*Oq31b2^;7)hwre3) zUc_MpQupK@*#x8w;%Ujw5{#Amb+2fxe#LFy{M~?xi{5$iTWr!xxy@-{Ql4BCLVTUn z9Rp1i=OJx>quast9KUPb9G!D%U#<{gxfLb;%YNtgiGscvQ*N;)doxm}+^(vnIKfUO zQT9d_o26OLjJcwbcbl`WsPt-XKpR{wn_1gFYJ?Lf3w|}5ebw)c06A1GsFr}!R$1@b zseA82Za!;mkjJRhX#P;M_s!SdP7tNqkpz0|mEPxSah`{?HI3|(9;k-Zm^JoBB}&syA+fQS3(E-;%<6Sz zR~Uh|df{n*HH_IR)}(u5PPT>+LdHG(43bkw3so)6ZWNM}CP2fP)5ohtxkY`XZ z$=n1yweqq+C0EgFrj%>B5Hi9%L4rHI@Itmpii2wNzO2%fem07BiUQ#K`aq^C zXFv*wI1NTJ=h1?e>7GFaBs~sle-sZNIMv@?ZPV>uV>2z;S#a9=gaB9yEbYx@An9i7 z-OCLa)2N-@aX6$wf~fhiSGhbkSBjvHoF1wb&L{ZBVr$0_`)g;y|FX_CB}Gq zJVpAP1G2cK29)my8XZhW=7Ri1ZMq6^N+c?$iy%~(0u+nbeWlS9WzWdzv)OC%r3h5> z{QKY|&IReNBVpY-%cWq8x965G`;j!eP!+uKi=-0TBLs}k>BVuC5^aLGxzhvld2+E$ z^IBZZfkr-7EO(g_%4I^~d58#Q8Op+!*<}TCIY(c&lv()h;*|qfE^JP&hp=}!~REdb4ML2|aZkMo{&3I6FMg|7y;!6EhH9?Up+(L!1 zL1zq4U*d=tc9EXMo3hGY3hj#hppew<7LX5kN`2OXk;uyRR-STPld|(BK5csOb8#K2 zd``4?@EcC1#b$DWcTQ~#4lx#%ElN`A7+;=hsOoO*6y3ZnPw#HE1v1(dRm!R+D`j)v zw@H?+Y0hH+ZkyMgbcvLo0r=t4!XTCI4z?bM0k{yl=X*wXz>4x&7e*&nN$mWEH~Q_0 z`ZE7!Z}tZW`QZgMCcKrjKXhA7{=#a0R5G^xc=1^4e82hitgzR|Rn$sC+xVdm&}fVa z^bFTbaA~P@SVW>p;zFFk z1X5u~?Y^@V`aj(1HIX2~5*++2B zOG##mSSqs$2i}JQKL7Z}@$vmE!z+qwx=&1!HF}Lu{n4qlBWVA9SH z^wgbFg{wL762aH@IfBu%+`#-ac1N7Hq@BPt8%`iiw*);NHco>T)*={|TE&^knp%Yt zh1#Gga`f#1nJ^e#a9z2~vv%Z+!X33`)Tzvu!N$ulR^|}vt1Yv>XFv&g77Q+HoQi%2 zV;H8NL+m=be-42n2osH%^^8jg3bs1PjAMs1ndlT>LLKXNF4kFwkg7e| z;=8XGQ-G=o@>*}S%dpJOL?MQpCODJVI%EZkk&n??gX_tVP{&JZ7`{^at5tF+m}Zc^ zxvH^7?<4NAxgQXZL0nF0lWLS8%gA)(`!^^}aDCxb3`OM;2%(_X^=d4^*=>r5JqkA{ zG1^iZdU2P}55Lcj<$VHqQ3Ac>Ba&)2fvw9+h#Fum_m?*rDbS_0J+5HyFrWSqneV28 zz#XP0M3FOkbv$RcLnqtFw4hiUFGMD`OH_CVY^ z-4!`mjH0bw$j-qeu8;O`@$FmOtvJlw{faJ+$&1(B>nZ3gBb4U8Jmz%ce8h#UXfugP zFmQOAJ^)Z-m3%URRK9ZjF^^b1ew_=Td>#?kR0i!=G~Z1w3ClgIuzMXw=$-Ujb1oeL z8VbqwPfIVdJ^es;zHzpdFBG1Qwe1xe(#{W>RKjw$rOrwpi0kTeIi$$bvuQ9eoMp0= z7Y_Drh@&hh`j#V{Nbwx;l))YRT+YYUQ1te`%29B!EVA-!F|oqMn6swV72=p}NIn7j ztC@9F;c|>jwQQcwg8-WCNYv8QFra`0pYJCs zRJ_K#T;Gd{R^6`2MWir6pVSuVT}0di6KB~?z>S)YHYmywmvL|*90dvV%Lm&8_V+AR zG~jhKk8BKmVLmHT1SbgVQn4*t151&hqQq}YIopeb=ljqwkvrv0!ogKQ@myX%HQM5h zG4CC#DVwDVL8mPz&`ptC?<{rN)YBkzN8OINxr_9}ly$a_i%rldA0g`NJX;iiGS9`+ zikVB@!~H@QX8W7thqlp>H5Jwb@9t(s8>0@|XuUiB;p+t{&9OErwl$uSJt@xV6?{$E z0p<9)na&DtC0mDUrjm&k(HuD3>Chi-DNZVDm><^4$o81M;jN*Fx^+VIiReh@MaApbOlw&4zr~CQ|26wO2ipm3ze<|{Y!WukNLyAq9V^G zBLuJ+E4Wu&3)#ezDY#eHDJpcgwd&jCkl9{Kda6E#ln{I^{U=I5YyvSy{X3FN%nRC3 zr5rm2v{wM;LguF~1bP9ml&DiuOI4Rfz5?P^2=`8R{l+Z_4W|y06I`sc;h4fM_x{8JL|;67-(WEl z?g9mO96q$z0v`z)BML=NNm$6CvRV@v&cn4# zFPq908F;201=trwRqqyoz+1GSq9H@`4B>~A=o*5(s_sUC7Yj8qxB zU1mQY@f|(y?-RQ-+4WxXK?z-SIn_Ii^15@qgJ@npbx_5k358sh=|arVz`h(lGGX5W zDrEP;yiT0PyRT@xRhxtQN)~|CVtY;qKev)3SZmU zK|Di<8Vzr41m(vM4PE^rN}<6a64F7h=&T6G9nJ5&q=eVs`nD6LpeJh^cR{4Mgs?;+ ztJwhM=EXysIqGIP#LQ=Zcxwg|0f%E(EQW;*#ZS*S#{jc+f7UecBx)sz&4Zh61yOKJ zYnx4_L9NIR`#~v(JFgjmCZ&~S-CT#7#j}lesoe6%E@6l*GaBV|EwgqcXBbIm-J0Y! zU{7msY~=c|yWQagqM2C+3jvA{D){Zflr+7r4#Y4Xy5DTk_1$a@oO<6f(^V6Lp@xkW zR_vm82&9>XxP`k7(F;d*9iie*^0r1rxg+zHPXjpL0ZhrGnFRT4+CiYsKi2&}qh<>W zGzyqSn?c^MrmSpwbaYgKULEM-P!CRY?N-W$+(wX8y%Pl}?9iLzETS!nzWMk`Q2P6; zS6~unR+52WFi+4*FRzxzJUfFL=I4&e1_egDMR3#M&K5?OC;5-9FR})7NJ~vl6fdepKCi zpLVJ3Z$HLa^P+M)Wju!zHw1%pchROfk2V&#uKV8|w3uVR4&waOkuI+fX?hdpJWhR( z>m7msiFGjx6ECmN4pKwsd1;1Nw>MXUCbSx^^csKf_~44g<>dfwqA9VFn4XM)l+vI- zSHNV7ZHpz;wh+LUf&XJn>%*u(?YLABKMn3o$B{B*#WR*n4bC0?LPS&0VZ7%0c`zIj z8IdvJJp1sw&Aw~BIaQ4IgU?Q5%?a+CV!L~^7Faz8VorK#&^8}m)}dP}TrQbZHL#|@ z>S|M*gf{`a3}%fXa5L(9w|T2_t(NbvUTjH?y&f^7)A^#+2*W3mtwzw}&1YeT70-%f zUi5oKn)YXc6voKE0QNHA+q+07PhklqJ%K zDnw5aj5?DPTFW-byMV5PpS9iAWojF)KL(BSmP*>HUqI1WL zmbmwD%+GquT*0Cd~&i0@a4yx!NA^&tY1f&8t!7e#XGuSvlO9J;z$u+4wq# zZRo{>=)MhVpi{QxU@4@><$CI?u&z@4!@S?Vi#$n#Vjy@U4xd{7;3kq5A)2pz6dbl_=jDNliZsvB6im;Oc|QZ-N_-B}?4)#}TgA!l;kYNKnpIjQa3n~- zho3~k5^THuX68Tzv{`D#bwRIIK7^cia=MoU4S-br^54i8=+D#cOaBi+u`_3__hV~W zscooGb@F2T%PjSFbV{0!a`16wc^Qht@=?o2T9VXl1j|c{+3u47%H=_Lr^b4*&*GS- z&)bSuJp548%iLMgotOoD19&Z1NJ19ON;En}&!)SqMPBe%n%5uf5oB^bbdR3^9MpbF zI2tVis#{E87QJjA8%ZEo6J8RKQ6>uCG^!sGl&R~Kq^S{DxEHvw90g9Wa_jZQ15|mK zTH9uxMcb_=iR%k*rk6F=wmYZCtC=RAP3G;fl^w5oJP_k$ET&B+KXWWvVUpKM)~Tga zTHfe0M!4ovkr%Wdvxkr9*Uj=m1d~J5T#I0%pnv|tpXz&}-0v=IW(~~t>fHSD=V;!mGH#^Sr4jk{rmoa0bqrSIN4TZGO-y zKR6k`-E--HSA(JHf#>jaXND;Gl!?a0LKz%(Fg!WYp$KFR*gUlQx(O9`t~B~8j(+X0 zjf2mNctqHZwhkI?;H~#I#=5c5h%$R4Qs7%ky)*jFcffl4{D)}H+3{?~=B_YxHAA$# ztHFipkXxzZH!D0O!tm*UL$mE%Z9M;vdxvEJQ;*KKjGg7WTK7i=#gwI`mW%1=*H%3_HCAb!k$Jyn;*ZcgGOveePFJ*6 zDM=T9rI?PUlDaq2Ab2)RlOhUC{wiwf#jj@4cmN49`POu@IgU=qL)r?6F1}R8mRmW| zaYrcj${o6$e7r6h>Bc)n67#gm6mg-^Vt{E}bQPNRk%+Vr;VP%KV(|QVjtTU&C+EM?egFS~$UzW-dsDfvo@EoFbw zZBb^Sx43+g7Pm2GMRi?(7AVg(KfDDuN3PT2rX|ma0y0YglH+Wb8 z>aCO(Q0*%T44AUvu-(VcDc`N^FYm=68JX%2pf4CY_aA2yV4HQIDR>M_rv<2}m zJMAEP^h2^L%AXH$Mpy(hOE8h}YoLYWT;OZqb-0jb{*9YoJt4A?8!uU^yQvDpwqvHm zK+JzZ!^4*rA@;iRv1aLniwgm3ntjJdNFvKx348%hUf5=3$H_x)znRa})Z$ZT&7r9U zaW@yd(AaVlNA&?^Gu5m&+9#eezuei(~C7+4p1AfmrgS%C0OyDFr1nGU)} z-gL+bW*-i3d4?vk)d6PzD*g-rsE_=zgHLmuIzcN_o#h9a5G7qvH&kGcF8D;ac2Pv8 z>TA8H#b5e>SwWxuP%Yh}$*qiQR9Gk5kN}`m@4`$7hKN(TZoV=C3iXH_3w?1i>J65! zFp~*!@eJF5*5>mz-*(+ufR;3O^!$ELfFTNSkKKlIBc~54b#$Hi4x{b+r7q{n_a!$S z&dF#MB~ji&2cQ~>nWC?-uE(9pNsb*zEp4t?!%UCEGz!ooegi*DDs&&vo;*hp6&~2d zx!2OcLyQxDS;E!K}Lt5*euLiLo)u9p17Y-ym~N-HAsiq@!sPEYWPv=B#sh9DZ(EyT^z5sLGU zVfPZrb^U$$*6;?*T*QCOhkbUSgumm-zXc?a0=~p>H;Td0YDvk(f%j_3DYS{fz`9as zXN=wl2}%fLkp0Fu`U7SAjr;Z=)UluO-T9Me&A`x<5Bxzl6y!e$+JD^ZZ*t;K2=9{w zkTO?em?ZOiv3)*Z_>BKDK>X<jw7+9es=Jr>*?N z{F>^oeZo zyB?nzZNO(cICT<8V%^!nQSSF)YT(cpdOEVAvE%39!4mBj+KvG6_!av6?WF+2=%@4e zZ+GdV2fJu!auNtf2szX>397H3LpZDigG^T@rr|-WT46d64T@y?n<4pDW2^(=={dF} z&CTvjTZB56Q*M$aHAXk^i-|4j_F<@Tj>o3AVfr>co7 zeq#1by&W@1G*R!5u8(~4qZP2!vc!{M>!{=PuERvY8kiq_PoPcI7ZJbD*Zht9Dw3)< z2JlUW1|$l4+~fq5Vu*8b6O+<_<Yfl@)6OL|l$I=W zl(k4X^gaBOa!ia|0_rWZb8Gl3-T0T!ex7wuRP~s_Es^mgM57i?q%q_fdL_dYLB!vF3Vx`Ds}ftHqDee+P)07;rdfc4XuD zKf=BOD$1^FTTn_$q+3x!kd$sj1Vu_xX%Xp?&H+h5LXmDz8U_%C9J-N`7;=Vg7@C2B znSXfHC*J3MzkkhIEVzer?i2g$z0W?^xi*#A%{ha=z5DmC|GGOd$#R(%gs+19vO!|3 z&3^x%3l{;am$2SdUmQo&A39^#2j4ONe`^m+rKdWW0zTdwqK<#|IR=R>$?`8n@Mp4v zTHYAbp>dhr+p0!2kvSH=NtPJNdt@VP1ld1RMS<>kKJSD`!VYS1-?|ZZZ$2|}=rInQ zxm20EsrZh`|D!R91OXUDP<{SxUMClSL)+aPlK{k@tOU!`uy0f16dAnqgx2`LXK<0O zds65Y@PQ|o6+ryQ)xqn0H z@==;k_~qTugIbJcehu_*7+5-r2ZJj_{u~3@fcpexWd9t50E_#Wo*&ajM~CM5Yv4QH z{2zV!>-sgOX~h_go}w)Vx{Q4Pe+KsFj4@n7lo`@pRDUL{`YS2iZz1_9Pk$PxTQZpJ zJSiCiRDZ*%?|-_|^%r0Ap9O!T)=Mvw?{IyW#Q#VCV&bnH{15Ts^Tk-1krUH<|0r-7 zuOY>X`t&c;8RLM1NkoDeE&o5H=WAT zdwe%q_-VCX{fFTUuwZRo{2SU`{T4a47*(Z|XcaqD--&%OOR0>7FZ3N{xduJ~zWnRX z91k}k60gjGW})4F%WJj#38|9QwEeu`ePx-J!DB@SGKB(XG5Rsxg~X2djkMscg|Bh)e~ zfUBxz-fiYRSuV70z^%x)T+v_kLxcZ5Kz~emK*Rm!^54fLn1#KhHzdrmM&i>-EGsEU z=z2zXqf#)lh(g=GL=Hmr&GD9k98+&t9Vq~C_1*Z-{;J6vm2-_B(}ZSGX5_}Q+of$D zwj@_0GgI1P8`$+V!tjaPXY;^baOlg*WIkqZ7e?J@;-ONUF{2wWBKf1b@q6ibzQ;oL z(7F^B;fzoaGG7Z=vJ`)30YFG$(M#u1Rm|~lu~LcxwxM&WrVa%K=ymj zqzMnUO*9FpSUObPY`l5(kfu_&uiYbKwa}e(KCgb6f3xTaA3nli_`W+dVAq=_%|5M| zVkH=2qSKl7nEuUwpw%zO<1bHZ$thrqaOyF%Wx!a9?^P-uRmOE?;cX5?#&pp7Vs62H zu%6THtn*g34~RtuM;i&ufn<0Z)?Pmg1}*%mbTlnw-KK%;lSVVUIuHet*wY=y^?0?j zwY}RRc3-{A&`Iuy+w(0ZJ*pm`YcgGEucq-w>GUa7n3I>8=BcdK#$xBytyJJt24UMC zrNC_gXWXMG+|+|m{L950UI)S&Lm@zmSjXU4*$%FnU12_p_zoVK3e!JKKEfzBGY1kqyqJE`%5+^5}Z|Rp@BOTTxbqvIA4d z)*Bjq)V4duHS4&}iEVORGp5cG8k|xbhxDQK@tsXFU&RK4POcq6-8}mr9!akT;2?L} zo2YxRma4uitF?vIdXpO!k&Yt6@W%5Yy;&v=*F)!S)KDhx5d7OOtHI5 zw@btd&XmrfAGa=yroJ4bVi9N8+v_6tfO6|>3oSVJe}Io&feQDOK4m*f?fKeplZ0+i zb|OrtS2FmNz;DQn`@A}OL=I+b_)f3Xss&iEGzb1&&;4_w5u=GcNl^(7#DO2Sdl$iT zUNKT52GYaUy{apY3)}DK*4AgSvGV44Q@BZcBOm*)m_NQ*G7W*E+Hz;T>s*GiJcvzZS+X1&Val_NrDr&2Se zh0Vk6CqKwK9l$bxFZqBv^36qQYx)%?!;W6fP)E5l2uw#oU2)RcTH;tzT_QTlbZ9gy zk*fF%xOKe=ApMZb5M3y`ryS+Ffn7;s^)N*vfm>ZU(y8MUtsYsD9{F1?bL!}-U9K18 z-1k+@<~~I8p#Yx^%E>Rg+Rxn)+VzQJPAdGjV%YKPqYdGnBR6GXmyb&T~Hr5y^QCJ`(vVO$A ziCKrJ!>%H*{o}3^*u)e$xL&nwpdFPldMMFIz!e392oTxjXsg;?z>Zq4Q>Jc-y~bP6 zwemXn5OkcLxgvJ{+*D}rTjGN<_7K}xNLr;g9;2V9zx4(<|7G(-K~IaX8zWR-ZR*E!^^hST;FEt9Aj~&d`qa@r)6~<>Y zVh%#pbI)1(;&Fv+c4qbqEC)8MemODPTX|~0vl!L6(LfCNsNa1 zriOdjK0Jy(avx3iVNDq!OB%6dNHFevFBSU43vPyrz{@(@1>=8wV+BUv_4XCwcy)Eg zFhWQ3v6*VV*LH$?`+SM~qH)BJXrsDD*K36+Ms(v?>jF)kYFdC@v{rD<2#wJE9ij&7 zK&pLcxx+OBKWLzd_UG}0OZSrvSZ{%*duH?b`=zTKqlP1D`Hlk)7gNiqvN z7p)N&|Am44Gks~?i+Y!~wP1MmleO5Wa92&{A$0wX5iemyNQ*rGmwiTCv3%(vcQ<)F z%B5gK)=GPLRQPydq%(W*Oe3y-r;B_jk1s#Cn%>9VyWmPFr}8$}9BvejVEbHFp&!yd z@pzT4cuR+-j3=a{+kyPGM0o)54tcSz`T75@v6c;W^>8 zA!iQIGwU#JLSd^eW#^ea#@jVcYUiVQ^dW<^A*JOa>K6b_{ss%u?@32IoM$u5leQ6n4?ea;J-hUn>bWGkJsUf%?D!iN&5#zOyDU3}nn8Wu-u5`x+ORW~ zq>*(1(=3~*-37<9Syzs7-lm6XWnTwVXoj39bgCUYj+FD9z?obx$Mdf!isqPKP~|Uw z)-#-TESD5sFN}ni%_=J3o63*0!KGZdEJmqFHs$ z>ljfU{*;*2?ozTmiEI!Fck`i^*Fs}(knJr^cvO}#0 zc*o1kR~U?S>ASO1*W?`eMS-%zm+$zIGvrX^X%j?)6^$*JAXaBaakRiE?zy0qm*lD2%>%c=Nd6I$o1DHcVfi_=GsTu;&ymrBg@Q0iB9 zq00eKL+@Nr;IkXXlwVQi5wD`^K1qnW zGu51L@{MYk#g2MZTsJYQxh7^UzBn%KSXMojZW`|>Ddfg2Kiw4QjWq?04fWsLC2^Hs z6erl$dXn~XY}BkZ!P;SWreDi{ZOfX-Q(3HPC+LT~+g+FJ^o^zv)VR%1KbX7FoiT(z zMXR~%`LazHXy4;G zZ_6JSjH1O1U(R-d#xLHOMPA={k-QF3s!fX%zUN)8z%K!waakp}+sK~J7LPL;2x2f8 zn%@o)eIN%`rFWALRZEzY&Bu98-vpoh_5`LppS$JX2emfM-?^d>KH=q-m(pv7zLYB9 zRrZ8y^gOrgOZd@w8)#KM+VR%GalwkHgaK}zsrm>+wg!_oEmk>r<;<*! zsJkY38M0GJPg)Mwa4~=%7o8LvIc8jt>&(1=*I-|D5|Alm`PFD~`L4_*AK zlg-iUCD#OYqrd{v=-R(+dDVEEnf{DhU<~4AtRY<1r*icksdi-;xuY`9J#wU{|J;?? z0ml1l68MDKb*3%7tfHG$*g0dNM|D4z1{)(nv!@r74$~WN;GNiZ1!S#jjnmaSeN75mf2M8U?2fVdKpFoaB_}O=D>K zv6UnD>`0{&>pYNY?divYT6lUm+u}ghz|f0{Dsyt5mC7euc;jPyUfXUS-aIY6q(v>O zU2>M^vtrG|s*FuUUVs!n-K2v~A<@P%`X7yC@K}5D>IIVdw)F$2i7HYzVl*vjZq&o* z_J@-mVY3zkZH1Y{EIbUY^P)Y@kCPty8^=Il<&kk=@x%<*pL$Zoj#rnKa6yqC{224o z)xyL*|Mm@Tp_grFMyY6=#p*-r?GVYKBJ!|$QgY5Iv6dGXBAH#b9wf?2cc>Sqx(qd_ zCXaZtGTucFRb?~lc%^mLX?6`|YOqTZIIxdCId(Z1HzcCvCv(n=Y)LK1!62vJPuYEn z)$Ti;)l(w^m~%$y!Xv5xz@Tb~mJ3F>ku}ta*Dx8`lGA-24sNXO1*OHKlP`_7FX~P@ zRDs)~^`^ohkcQ}WcthZmyf1gRKgS7Mo#Z|hNX;vZ?M$$#E)ey5B{9Im7?>V>{HmGD ztc>NBxjE#f`6qA!_D6pIuW5cuqUQDYSHBz?Y0M}DN5Ey#;Oo{5>Whv_%O)SEY{cTQ zXm#$wnMQeFmvTGB%JP<^%qL|b4TAz%Sv&IU@W-T+rqzsA+aw+BwqAWN{fN4;|J{b~!nES^KLTCd zmxP3RwdB?xu@e!I*HWxNE)X3C)LN%uYW29u{_Lt>l z_}r&gRS^`bFEYni05S{kc86avpBZlNr;5jK3()N0D)RC&{)l{&^F)`FLGYVG$Jy*q zP8{LxEh4h_t~+!4+>{JjzU*&U?LW(fCK!|*465MkVAW+S*pfB)v3Px#icq5A+iCav zF^PZFI^)FU#HY2P^>Fcxsb0ArPMo>qN0G8uwFwlK_ZDkqk|L-uY@iqo&Qn(Xp>=PO zlcVSe+W=)ovytC?BxOUbWdkEOEV^=g-ulWL;^8{5_)7A(G8dPJ8m`h&7orpwA{+-n zpdkrrB>^`>oFj(9cd1TP`P#K?y;FL(7WSX)-I_=uPtFNeN#E2D!gDA|$o zl>{bmoth5M6P8st2Ym}q@hqi}Oh?+YX?3slkW%jyR8c2*fj6=I!j$fRlZ`&(cD(p* z@S(|oR%$c9JP-P;FV19GF(W#(>jO}uBIv=Aa7kSg@Sge0uQOiwT5^+m5?Z=ICtV4` zN9p^mdw08ZZ2V4*g4zqe2MIXT9cmTyV3LzFs zVTCumuiE5!nQRMHr7dx#2|w9jogOwu_k_pHOU8;QO++8IC+b2w?gqbtuS7wCLXUV0G%VqzLR_It5enTb71ATKjL23< zHDRt{3`Fv@mphI<$wztTO{uN+srj9LRadEWsS2RPE=NAL)}1gEjBgIK@5;VKFDfD0dfQS0ik^4(C=~dzr)Ffqyc`EHp)-5^XR7$$ zTAwECO5USiJ01Vw>#x;@KuYZ2)1WsjI$h=0t-0rfTd-%vH@;);9w^=0yjGpdNi2rv zeIYaUqKVr}!oJIUCyj4~LVa~x&eGS4u24kFHRXeUffVu7^2@J>hzYjsYZw|sDEfc&a579d!gktr1gxej;>@@KhvcOWO-4KbJhg8 zaolY(bC&j{+INgxrsQQn+Rf^q>x~~W!p1Ffvs6`F8y;(#p1w_KA73AknluP^+oA^$ zE_tPW)+Q|`@>tL+?~_<_GZRi8)d}f!ZI2XAe2||d9)(jEl@Xl2%AQ@v(Da6#NECXb zt)8_~#f>NC^;Ti+PG1&xr%+|biA*C_!mvYTFN&`rlPf|ZQUkCpH<gE%P@9|!!)XZT<~tqsRQ~-V5C`F0>!gt0k|+KY?1MJ)y>T40YkXzJng?uh z@q)U+BMTdsVmR()X4iD=ZaR#phDeR(pd^_F@(_Tvxxwbm1I52;0DLt%Dl+7xW>WDm zQy~rHC@O-bngeJxHMA-L(cG91-Q+x-s-wGElO|zzzcCFg zn-C{4s4(@)Lx%9aM-g|S$aYX?5&X{j(Vji0|IT}zs>uxau}G~l;(4>nb6}F za`5?S!QH-)wTpDZ@k2X$8I-$l)?u^h+6#fWy77K~UsLu}#<3@0<|_Z`&7yfpH(|EA zyyqhH6`XEQFiB{u-CMnb#T_ETqnf8a60B~6v(~J@)K_0t2J7>xX~91oeqg6fc0EtU zB(CrQs5^5?`4OEZ=u~l@bS#tymn(r)tKf`4p#Rvk)Xy|LAPuk83gP=$!CmR_(z$tEV7b+-r4A;znSi9u=wBGD6)d4{Lbi=oK zJyfO4c7}3$Tk8d#vFCCH+BH?#8a(Vus%eq@`8pz2Fz$7 zRo!M`MM{+3h$n%pv7D`Eo1r^Igb3{#iDNsDOWzB0m47yqJ(W65!JNo3OAz6<6L1nA zC+gjNbtIQJU=SwdZ;Z5-BRVxfKS>Ttdt*MNX&=2+g^O2RcOqQUE@#ag$5Bw zuO6Fp&~skbsl#(i*Qa5=uaqCqew^ZH(AntB=@lQr`^f67Ji_-O}k?PCjTRge`4gDdsZir_!x8wp6LY-f@zLW`-s#r?pDbZex243+kY0RHnPB&%12#J4``loA&7o+vmshPVaJ}&2gZ9MH z{xpJnZ=w!Gy?Cx$bVJ&cu2cJijBFrNADOh(6}tRmrMLG9N4;EyTl0WFI$gHGBK+o~ zXNX!Q!<1xe*MuQP3^CM@N~`=yE*)z=AoCfVGhKIikb-QQxEfB=Z~G6#lOcQt@5 zhWg`kHP^ejpZZ93+nC*cd_qeG@HX*`bzgFJ9IpoF& z$W~W+gJGK?0F@ynR=Sh;TqWU0YHVSQ$78P_fF{cbA@cFXmi*uv zDJx;gGbvB*jV4vbLSp{}uURRYDm`#$ach;d-MsDfZR2H~SVt8oUMG*Pc|3oxkZn2Q@V7Zl!@EKAun6Cz||tRmtllM`D^3X z9PazBSlHU7ICr#eDPfnXJ%1SUJg)5rmBNTP=(EM=AJ!Q?P8KdShP7YQk~8etC!P0e z*|}6JY^+wVdH3CYq2^X>XXd41cY7czL+i?8m8V5 z@^+p}j!m;F5A(~h{Y8A zk0(DHxk&9{Z_%B(?d-iF=JX#e8O*t|`s}aX|7u>hH#RMe}kFB0~e6kzvy*`sOSFWi>u#KyA<4< zynwX-^XUC|r~fWgwRf6x{(SydEB-pK|KrPMXRhWyg=)?d!+`jYsrp&&?|7(yb9NK2 z5nhVF0CAVVxbAkkxj~Zi)AtxI)BpZyMnJ9%@(=R=!AL60Q;Idx8Z~Z$ffxPcSN;7{ zb_a-+Jd*l9D)G1Zvlk}-ECcJ<@GzoPj2ko+24*<1|VreBbjUVZKb;qISO_qRFt&0YLU zOJNepU@%6KX?6o~m<9j8+dUBTOCJRITq>DHQ5A-}KSlBu{JP`ofAs#B`f9pj@e}?e z#$}>DB+RiyRys@6EC!bl^cnn z`GL3bd~)|pa?HtdPqnxcokmiNfhe0uqe~*%$tqlg(f6v)hBogn9J!r{U;7g8f<-so z4BQ97jA(R52Dc2g%`Gk%J7y6=k4RerGeaGDZ1GMwSv7!lT>rHNJtz4euyLQSZlsx< zI}b3+z`?lDhPs!qw#&~hg^es!d09#us=q8H3C^0xq6E4&w0ry;CxH0 z;ML+uG;YOa9lpVpTjE-HR1s2FzCHz7o6;R`B7~iB)~6KFmvn-R+(Zm)LhnDis*xY2 zokj0cbxU7Pp`$PSOTZ)?eVY0p;XxY_QFs4dhuOgQTA$Lv1F_JggB7BE_t3PLLgI4CLlV(`<9*UAzDDt?>t?9NE9qyVs} z^4GuY5OyCFNCJBgiX;bnF-2$IP8S>)w`u7_pe4LW5`eo>5)7+c_#C+lDrCz;WE zP$=2ddr&M1tFtbeVH-MMoj}kk zU1Mw66&YNc>E}yse^{wCH!RwQxTc&XIHzu0pB)nI8rAYrSJr?RM-&61Vx)*+mR=Im zNw+biyj|TRC{R))_^Zi`)RU9DD*fNOG4^4z%y(kHB$qBypY532zy_WYp}ZX z>8I(!je+{9??0ap5&U`{{%LyYbZX4)atupZu|RRy+te{lSC`=LKyN{Gl@|as9KFXg z4Z2pF_QzuOdL|3CzhjxRH5+%No3LFfJU}30S7`XMO(IkcunQ{|3zeDzv7B>9<5&Z18V% z->*8??qkLOH}c$7!hEUMLprW=zZ`^2cS0X$+@nzG)*fwYkEf`8&>ST(&yQyK{tIsHRBnzTLSk)FtY@Sm6aH{0}&@2T!)-7 zy++=ftHthj6*ba`0#pf1+DZ69ow@63EOa+Wty66r3nI_9Mwr`A-#}=27$G}tpguRl zo7I?Vq%>~C9nyI}}A*Ajva;x{u`w0wCxn26JwZt{*MYT+av~>Dnt8Q$q)fUnt zqxumb9=XXp2XNXkq-Khz{sFS10wdDL7&A95&6|tK3{a=)&#IY8O)$E!OaEem_uUuJ zy17qT6G(XqVW)XDxv}C|!b|8AZxr7~imi5rjB6`sh-<}Kqoj({renS6sZaJ3WDhkl zI2+Fv6Z0P$!QK{)K6KHX&d*pq6!x#dKy}x^*pV68E}MN5i#vyMDtU*?y&VTNqn7DB zM$CXA_q}frp@I6L@r>6~c>qR5dc%>7Q`vgbX`X4>+4n*rDi=D75P69% zSA%&;pbg{4N-Ok%N%|N^zmx(q!(6T}e!6#u{<7>^o(pCSPW!p%uR6Lcw}KWJBl3AY zNFEC*6gq)^G-lgt;d+D0qf5Rl3c7)cN>|f zqbl*Jz1#yQ#jmSp>JoUoF{3*vX;sxEqti#ilwj$yk?Uex+pe(oWeK{nyT4-rNys4Z z<>i(k!^@SMAh`L5V;o@fc+NoK;{hnwQhxGZgB9kK zNBy!-fzMHab7po^v<#;*+o9~6A@L7j1`msjJ!b?I>21!k;qDj1kow5ij5FuktbLFN zB8Q*QkKWfFyt6TI6Y_* z_SH9+n6~fdg{py8rAn7!uMIce`K}hH?Uarj=Sd-D&+XM`gXI;^UKc=uO;gbCI%iR? z^5Qyj0Ywaf@0=DJi@+b`~%Ze`U8e%H;of@=K5h@ zEgSbmaU3q*;51Yz%=eF}O70Eo@7*%1$$S?BTN9mMQ|i6pz$y>x_qox{K! zqEy?%=IFtM=|!*QFbF0SC}KR&O5G)hb4kX!!fR*{df)y+I+gqw#u<&iJ{^{4r zO*?_-^zU;Vx-mRP@Xxr5qrwe5BVTf}_KV+uQ|&mq8fAFfGIV(=eAD&`dtQkVD|`)& z6EGLpbU9``m%pbx{(w{=lqbvYgb?AJEC$%Q&AJ|Z^2657_=JSV$D2U$;78dD%|T;b zwnb*ojO-T&Mn*lwl7^kZ;gB-JL#G46rn0JSz$gfOVrtk2x_9ceQc%0XxYcvR?wcrw zu?iSJMfZN|u}Gg&%NTNsXJ406Fa({$Z@@ZTMdS@7N1o^lv1Z(x+rvhyO}ClS2=^M- zKTLvqZ)(jrSx~&|ACXPlF5X0>uVsIdKhOdXAB*WVbb$=r`SPsb$h-9?8*1|L?x%=p z4k`%c{fzZx@8UFo?{tT^s|LK9ShUfC(QOJW@&EuG;BKvD``9^e3K^VvI+sF@_;I(i zLr>;g-}zux<@vSLbm`YJ#sCrr>k+g)BMDRW3vn&0YL8P7vR>g_%YB*9wEcsQzD@Pv zUNjx*ct#Pit2Q`S0*g3YxL6%<9SpN!q<5-hFKx2)8lAUcqLzNB0CI#FU5)j2JJ~~x(FU`dtcs@r*!G~uDY>EHY z^V8i3;JJ}6Q>k_kg3|dwM9?~<|ISv(w~Dz-ZGx)Gc|WiR>e@un+O=3>$46}S}#kEs6v zH_vy2$C~~2WM2%HkMXF!B8q&i3m;7?bCsbNr>HK}!{eE8QD+R{eT+U5UwJK@MBVR1 zNt_yY?xP8|5k*g~m8TiDHw7IqTiga*2&Zm+xhOo0Q^U9*$^l&L&`v1Cy;{;eZ8Gu) zF~C`rig*6?&h;e+Uh5>I@m&>e>-`@ed3g>+ndT+)lrxJGz1GDTU!~TZ8*~yruM(SZ?{*_Hc#`NeOuyUCT$G^$MRCwSWM& zcC|qd@QgY)n|w<;bW4QY3jp*Xu=LI*H?V)x8_I=uCFQ9({;Su|LqRs|>V{`zJQC^C zXV***N4xfX4_x|GRt8U}iW!sOA5NZFxG!EbZMBPqI=>nzPg?+=Jx;ZKYpFM4fml)- zG)1EZw@}@NDy-5Dy7uyW%-^Q)t<$@Px7QJ0Ha;ZxpUwEk;;eJHoi{b@`)=SmZLc^6 z3Vjtg=(j+e^V;lnyfE)s)?Do3y@TeRc03&Y8gIqp6T-WMrsJW)Qs^patwzM%A5C=< z#WNQ5uh2z@)BzbExD38k1bP~jPKNlLb{z>>ycE{*84!QDtG|>&B0337UP61(Gk^9e zcww3Z9z9zXb&A|ZKw+;iO388fQ!tQX_XfrdmU^vtoNQlq`%;)o%>x`{@bRk9YD(1M`Zqs)cAIrt<#Wc}+t((Op48=fgTQpI zPA8KJ&)Gekbj5cV;&8(Swryc-s7b&n{lh>o-;*B6X}2m)L>J2ENi?0N>)#g#=&j1(qM---Jlo=qOJ;H@EZ;km znL0{NB)_lsfVic`DYdS#sk#CeQOCe+JA7^HjHq+hDVk*kFZv<#3@jDj64j&|W4v)U z-$vD`rt(IAuaC?jGHT_bwqoGig_ByLBm09iOC;Lla0H}s*9ygl7g|YuK)RZ_n{)6g z;*^Y!X%VnX!FF*A>y91st)cT_HlNWE2g;N_jnYZXRfg>vO^|D+W*7st<&M9H)%{27 z^&sEzWmKM9*5RGV`DX7M_of7`Iwfa3Bka)G$3hH<(c43}ll$;+Br$Y#E*w6BX>|rk z!HiA%0iO)(ohnzZ@f5KOsDuwBgJ>dmlkC#$>Gt_2yAonWA?B2(f z=t|ysgv1NPe(FT7@N239C=P;MfP1z4df`Tk_ZJa=~Cfq$a=v1pA-Z5y=+LY`gv z&f(bjy&oB{11i;*z&Hb{fSE`)2-8p=^I7Pl+oE@s3<&cTI-pls5+b^i(h#eqPxneO zIYdHk5k=mF@Z^SVQYG8StSTGJ1kO*Mm_J)dXWX-~Q&a4V_#S_eIb!7} zk^zlWtISx$eKb$v>ATho1J=a4J%YLk=>=h89C%Kf1eJqN|zSV z`-5XH?vni}^GGF1L$tlCPW?yGK>Gy5rv5|?Oy)e4UcK1freaN6M|NgO4 za(|rYi@X<-8t)gAg^9u2s(V?!v?PYOdJ6oeM}caF~@^N&AINf3sklsHHSCXK&ZSQUC(=m>0k$ru)K_Cqm~4 zi(Z|3<4M$a5bjjBLi(1@aX){Xq20NTwycd8e3%+FsA2qdebi3o(WunoC``zVxx+Vl zmehFJJ+j7Mcmda-g6OUahVFRI>!zsj`Md2Rzc}E~Mev(b-l4|rYiIH@LRfxOnVQq; zXX~t~p1KW+pyGN{Nfxtr+{!e9s;H(JMW+MVO-_?JfNAPJz=hm|z$+a9peNCXjo_M{ zkMNpo$ZI-|Ox&xnfI93trj~qvaC$0g59R~j(@olrrf2rU`u1bI6#+{^?2+2*j!(%L zhCmW0`ATnCJvZ{_cjab_q=ZYAytj5d-1Xf2aT@Z5h?wSspFp$sL5>Gv-4maYK8n7J zjm6$RTfO|QRCJEwBfg1>334F%i~{{`dzGz?C8!S+61)fs^^06TxmI|AUqg)L+w}08 zn3XQlI3Gnp{oNHS03SVUJHs~RVm9FsH2ADT3T<`F$Q0$L>osxXJWEytpC~=5o;?x- zT$_H7kDdss*mBv@I}n7PUpQ#!plFkeS05vn81*-bPoBu(dkb83dh8^%6cAhknAfB! z7^%#+7Kzd$@ghqslC(s&onqv6!EbSK;o?lx$?(yV@ACt{i*{8l8&vuuO%_Zn0ucqE z8u3F(?oelt<#HQEO@~-%T9(H7R52TCO>G3(Gq6y8NXSx!3?}K0?ds_c~kD)aELd<@1dxc5X5^F5#8E zCzT2R7=Ozv@5o$mhwoXJzhAO&_Y3A>o>S}eD8F6d4TT%s4PjX130%zA;efZdSy&vZ z+$--cVCWf#3b5;(G|9FsxGI1szn}@#7YpPlRs(*AV`5(h4Yg9O=n-aUUTy4igK4X} zrG=SJ=ei^~r_s6hsu&{*G2kvVD_%p0XG6DJ!rJ`cmH3XPALPE`=+%=uvUyMXUSJ{& zb^-J6!`@foh(_D1DKs|NjHNm+waK(9IUKy3=FM}`a*mtk+9wFYov_$p78^VEL!_uV zwstfL?A2{Pd3J^}@tCx5*Q5JT_T(hfnE7Bs`ohud@NPXJ!r0fYJ|_=7F_~DmhC^fS z?><0rSiM9(3H0$Liyw*5+d2((09e8{n0R_yocbYm@t$2&O+_onC_X#1Q+L;fAd!d{ z&$f5|&a0?|03@uh*pyLfvGKE?gas2<0*bFZsz6?NruB zu_Q~cNzc%+7{!IwK=*j3k4Vhpj;!w6N7C6LCH>m?X5OBNZtBe4MBxqKoKT(P7Mk+k)N3!K0*$% z`N}hO+O-W|$S~Hen4&!k)DWcGC$($A4hUZwPNTRk5lT_tr%5(@ql)KD;LT&X4PxBn z64>4tNj7;t509K#thoIZz%}~s8GCP7=cClOk3>{%r+#e~;>`4vn5>eroT#TG3Ll3XA#3ei%zy09FcDFh z&VuFFT<^9n)0zys$<fFeB^q?)nO0%YNjtCXL;D zJT7|RLV+5`J0WI{Wa$f<)wqR$%+iMk0grjla*RA%I=->TQEZHuYS|hEr14IxF*6KZ z%R>7y8KQyOXRi=;W@Bvk28l(}6QUTKyy+ZJemKXdMF&yDu!W@{U{2#xSf1);pSwec zY(I)hp(xta{nh6R;HX0C#QRSP87(PAnq>!So9ZA7k*EwySzz5Q3wusuj=2JCtN=L@ z!%adU+EH)046&Uw=;)F`z}#3xQonqvnyL>yizou>EsD(s0Ix<|8oyiDX2q07GG6+m zUob$=`bRuAzq)*GFmI&}wU#(7rBrdnjB*v5qdeefK-rVpDq`K6o2RUI2WRF)UjNF` z=0Takovs)~GSB*mh&h3rz5Dpj(_Fp~+RDJPjAx?%S`jggTt&S>m8zChqmcfAlMj29MpR*wx?z#z>e>~xrjCLSL?a5>tay_ay@}q@s^R(}I z^#yzBiw|ftkKmj|g~_$25=riUTMm25cT3cRhN0=0S|tt>1b8uoO38|bX&BY(lijEetbMcBFMY1rs8*fwW3R_l-$`Y~2PCvoD|cs4>fngvfUdb? zH85gTwe|P`K2}>5Gh&Q8@SVN31w+PQ#2`Vk>ybBLdf{d7fJnFrxSq;l=rAsMzUaYJ z6UR*mGXnt9%zQNvui$Bap{9E(K-x2D1V1-kfD zezk-mRLE=-0M`M_bQB` z3@A`exGXNR7g2(DON%yqE9A*z42^=4TVFr&IBHxeSNLNUU_xIozvFvDGyYZAYZ$DWNN>5Hjvwrb-f^Ypjs7g9+OkEJ5Q__=upe34@W zqs%jr;oC)J&MM-Z*2P(D%7KWd0h_9sXx}C+c*AG+kDx@R4o3?X7;W^B6L(0J_gKaKOu|ze8TS=Mf-XXNn(VEM{X6W!2Gy#@xQCMbr{O{ieWpI!e))8X{4A&)_?v zSs(INGow+Y(qP>-vPNfkX$YDNtZa(4-h)3F5P9nw=3q8HGO;9zS@umOvu!bc>Ed)6)fkb zSo8N^EQ8CE*_m5C9!P$sWrTH}(cO;Z${`b&pcZE~4w^|J8i`Me0dQgPsZsmg$TU6uiep2?2X{S}Q!os5kG^TVZh?&TLpIEUDI`g9iZkw6J3aRsGwVlNHSSwrHmj~jx2**2{rCvntHd#oVdmww zp6FTn>$=QeUN=6dviuBO=|Sz(_|Z5He)CX587Ex3YTvl6gYc`)5c|6P6^q@yq=S7N zmKT4tU*&wpqFj-3-Z@{I(M#H;HXoJGLBuGG&y8w5{cis`@#)a(gpY)nbKt@2f|;F_ zB*vB~?E1l&@*2+thMA-8=j|8w2|&OE_+`E!Fy4;oQWvLr2EN%FBmq5 zWf3Q`qpU8j#LH^-c>A%I^KO>deZkEaDRnI914US*4qLo9oL&rVC&O4nN9)}c^J}%M zZ|PJuh;(+(2ou5%XqYa}WA_cbX50{ve;^NfQoi@@fVJHxY+(7Bk&^d^&cL3h*tvn_ ztZ$32qIc@eJAX-)(=Qg=*!mi8=MnMZo19rWzf+%n5_I<=nO?7fMp4781(MP-QD&~_ zET)&RTsK*wN2faXK897;bW~fUHXiw6T@xs$bmWYHL%%d5mM&b!J*>IH-c$x_psuP1 zc+4}IYo7;BQaECgB$$uJ=wNz-Q4F z(~Q8X)&WxePy7VFCai=2{0R6?r&Qf~Km;vf8J6+uxSTq5(W(vMzs z4&AaA#fZ$OzC}swm@utFdEYV|&a*5`{L$E9GOK6xGFup7c@1@zvc98M@|TV~lb8B8*9tAs#MEQFB8mp zs9W}V1o%mmq!#Yf3AP)!gdtVX3j2cv93+90WU#}MadgY}Wf-1(ST`fi*fiBeB44-} z;c|_3;ADUQr!WE^ODwj$!{*cONzT>;M3~`pu&Yl$PKb2PT%b>1G|pD;D4(u* zMC~c#{XiW0IFokIlpNB6^$&itPpdUG8@$pFQd?E8v9>z0KW^k^^T!r{BQc48obe-n zJ*#({xsF{Qk~HDnAG$3c)v<3cGOihJ-gyr}#1y* zMVH&G|JZfYmqqIti0wU357^j7DXJ~l;at6%I1tD_gEsiFaBvUko!A0ow--NmPu`US zM|5LCChV^5iU2i9!M6k9)_Fg9B0ZaJ)(m=dU>(!MbFRg}aZ!cvU9u0JB?M7tPz&Gn zF5$YO4K~YVdm$c|n4EUCw~IKu7E}d+O?pPEmr6Lk6K*SRQVh>+*2@(x3-x&~!7~HIp_W7w{J8h8U{%foJ z(E5z2T{;q&i)$#&;)*9)C%#wU;O5>3N0ghLD>wb2$fk9-&egMqku9$H=N`^GIOBJ4 z*FOHGyc6}Sy+-2a2bif=7(xNNrQ0kh!lOr)vft3-+0lqI%HF&idg*%nSk_V{kc!Me zK_X;T4v2@z$bt-rqR-oEw@PS_kBmsB=mkn*e)ly|{2pO^m|sG$kC<9~{{@ECc2odm zrBryV%)LWB>RKhyPmSaIrK4zO-r60zQ8Nq~yOo^q0ADH_Mm)vPyaOu?-A9^{;r`l3 zDzAAS`Z>&DmH5*E$U%PMgd<))H zDu{#2w!}lP*ZxDWg)g+m}eIN4dRJmd1#)PZ+(Wv)Gtt6zW6HfZp0eQN~1;lvwS zbTjG9^0w6)eIG;$SR}LJ2!MUn5allcF-+$>E{p_p0 z5*x0s`)kG!(CUW%wn8y|k-LpvKRZqTY=e zn6Bnzn%k?Xlh`24K0EJ-a~3;AEfG$1AAKFVw;W(HHvO`>y}bn9YS-~VCKA=H*`3qv zKj+Rlt^FWJki?wH7#uZd&29$Abq&{G?e%&PfAnmtvpMJrvvQO8$T8QwHNx)XpukFRu7{!qW-%LdLtL`b$=VMjx!h zNFVmMBvw)Nj2XFI&Lnp5;MZw3MC&2Q5u#mJ_+u@5=*2@Xulr2wk0e(&a_9658!NJ% zdCyV#hJY|hl{g(<$JWQ7>O4jKnKyi2FRi_Nmb`2}W9mG@V0v~YIPM*&LZ)=;t+N}` zdW~B8LvR$g$B@nYYDEV6Vr2LGb_zXccQp2iE}Lk&7H#&Z$2VNGH`+aaw(f5%a?R`U z;O%eFO+7-7$W42hzVFuJI6zV9^kR_Go|aHpYQ5Tx=CD{h#dj)oCLXGZ!HTpLNqg~l znAE!OoOY1nF2pBi(0ppm^&r0lcHrM&j{>$pQr2ASg_q>arebOrfdw7ayBM7-oRG~% zi;CbdZ$L1@k=bEacw=1WBkr-AdvKL{@C0k}x4NN>3B7?K9j0|hH>oyL-z(Q;`O1gY z9Qdq=PbmAG%}L-{B$GFS%QSuuD?8syJICjJmfP(m68uNK3*7WL^JjAHY%?X$VYXi` zN8KRZTX!9(qGH#=3a3pKKiOQ zK|C6#fzZ-dibrMq`>%VE^F{N-+JG0R7jV)kRLTB#{GS`GXE$G5MYY7G#SEJkK>cRi z*BT)m@=p=>gTcCcUPEbOZivA-eeE(K;J=S63?W%5o^N}Yu>uQVcy>8yfZ*^@m)Y=4 z1|w&+O`1598PvkBJ>RT|rqTcs@Rg}f5AAnsGP<~S_=rDIMr;KR16U`*+3V@^bzHZR zTG8{LO%5DdXtQSyLM~tkzK&~Vw-0V5NoeuESL=u(^d0W$j^*o_@}@`t9B{HWSpYiU zti!{KYTeQN7~u1-GMK~bi@GOi<|X9zxvRVHx&*zu?u73MPSx@7_zCBLI?lo<(1=_R zBS7DW+kAdQ*Haq;-fPqtwbKEB48FZ$LJ8la!3^Ccc8B`q>2pVzVmb0UD)~h@OkF9l zLuVglx+s58{BubO{oOOxS+WIRDnciOaJ`_nC3OafS>z$I(fX3h`zE&IiV2B`kCczw zD95)B@ zR$%6CRp&t||080ZF*S~Sy>vbp%oC4r( zo%Cr}8@0GCYAH1l>oYMJb<6PeJ6_+-bGfJpyWj{Yaw_?#F zvDVv0_&)05d=6v!xu5NLSVHw~Vp#Nka8Bq6`0&^cxx(Ag$tn)aA<;$^8ygNj>!tF3 za9wEZBmkCB4R*I-SJkSc)4||H#&uZCRot9K3U>Q9&DaqQFFX{Yv;xlI-tm71^+y~o zH>cwI(jd&|>FrAkzJovs=T;`57ezn}ak77QRd7_L|v8&77>*a-Z3Mfw?X$5Zk z=K#WGWC2dz5$jV~Z<~H=)5JatLYA<;Okkc^n z;c}Mc#XO|NZfz$MWtda5q7z$d9qSrW+!^uQc=0AN5kc3AR!xI;xz(T z?2s4pQZz18WU}egs5NSYN*nXf&J_!4q$sjFN3^J6(7=`=&r?^ncp9P5?4{lM_zg!U zQlVPU%Xr~X$6t3DIFzVOWWY{cb7=OhOExMF!I#VjMK2UuQ)9a3f2q!sK`P)CkoZ-W!-PCe0TA1bg=Mn$d!<&oM*nk5oP7Rq^wnnKjPRznKjLb z2YmSE-2iWG*46y7JX1;HWy(Iz`n8pK>-)Ul2RZ$^Y?IVV&_P=Ze1H9k2Fb_z17_64 z#ojBU>~s`>ev=7Ah1Vl{!n`_mzqDRd1c=YVXzJ}n7f^|qo!7C}w#U7VdbO>-fHZVf z%wL5ls-@REm`&98){#kIhMNX8@KIgO=_KmTEh_rhwlx1j$*XNw?VIi$H^#{eMsi5( zpbS{Um>Ty!??<9Sekblaf30Mb$F;zwY%X=kw}z6+IdoFng330&xSkCiQQtrJnl)IV zK3TPqV!hCg=p3(~J;iQkrL)G|JXM_`E>@^jRSM~HGqa0aQ@adX??H9^L_aLq`oqLg zd0Ca)@TQSxp3((DJIu+ic1IW+Xo zaGu4B$+F~h-hc6W=o9DAbOe{IPik@6X7F*KvMM_8!AaHkCCoighkfTzd;VbvEaPeT zGwKii3+k1^2Q!=H?`zE+I9%>XVuy7P?>7y{z%qD9ee+@R!?)}3PxeD)23MC}u1;Vx zXcr5$8}IWTgXqeCSQ__mjQJ1*r4xT6ixOAX z($<$yr1>%=s%=ByZFDim7keykJYvVvQp2V!@cA!(wK)`yal6H3NVT?0DVC6@4$Txj!sB`)@vzXWv5n+1+JrB zpSJ`3Mu@Yfc`q`Mu5k^zystjnIaXc8yJVAY+YO>ma07XF9qQ~Lpeh{wL+<3$Y$N+T z#QFT?$JUEH*8x-m$kjNRgWcAg9Qn-=XRIHIh`ed%0Ax&ucDF$=OewYQ>(@9$AKc+` z*%8?)r#h|!*M0dS4n`DFm%;@Vtr08sAhxDauraNOov^~6R>_vGj3A(ap&;B=9B3b@ z?=^#67p@?;8E2Y#^T8<+8O|-o?<`Yp6W}hliS@#;pB+ugABu;< zY5TT=*zg4%zBY(I!1tc#w8b&SeerpV9m{}UGbsHvH#cCGCG(Qce8W3sa_dn{@5eQ? z2+%m@WL&9UQlL48WXW^Be3Da_2G#r#0p-Mp3<7&uRySW(?iXE#U5KA92(-mcy?^tGy1iyI|mFfUOE-nSX&sAN>FVK=Ri z%b4C*;bnO9f|*ggIa1XIW%`~2=cUi`RF&4NR(mwa&_yW6EfJZQEN{n>^H$l7T>o6a z8P5*v%$B~#zlMv&ZRo^Wx_oYm$yPv}DxmK$#FfU*!mn9Yq4CrXRr)Pvan0HX9u)M` z*~o-l382hZw`eRd^9wW&_QG(!#Ai||*quX)wP^Y3H00kEO`QH6jr=BeotE3Dai))R zOXxw%K98?uvfe~p&wV*#$79D=-OAN#3p3~UCc2|hf+o7}mlTn~JGvGQ8(nq1_YT9@ zg^(&{_f(YL8Jzis9dkFprVpDL)w1g%ZZ^WRQ?G_P32TgSMWdp&IJQ8mK z$D%yfwWb#@jDgx-0#*eQ7hs~)N=elm5TH6#5K~zk`Cz@Tn*g6+HrcrhsEO3`Zaj&m zg9e4==tNRR*y=m!h0$4_>`%Rsz--NY9(zoqz!c0X66D^V0BvVob_@#GI&7B9d1nAP&3%U5y^T&@w>P_ zcAu2Q19?+QhOR_IAqgXvX z&zj;V*!Fz}_i1B7mkVQI%CtYw9Mx>bisfO00^^&5o5c+U^qEz1ex*(@?etV+_09^7 z8`d0)7v@A>XI^Mfc+SG52G6Z!vGyRl!Nf6*xb+(BSYPt8o-;4a?a!DOI5@W)m7L~+ zVOBVc1$yEdlGz5hW@9am(meLiA1g@94E4n-&A*#d9R#)hJbztHM>xhgB?^$d=wT#r zAR@we@}Bc8H4-qNXPO#Mq}R9b;s6ot6)(fV=c5I(!E&3%s@nQZx1X>hCJMG{Z~B6s z7-nWokN5yMe9q0FT$>mDoidsY(fhUSx{I|I5X_@dX-mtZw|@TsN`8^7`?fB4*R;oD zZ2|PcEYbIPE;V~tE;?SoaHE_q*R0I6viF7e%qo_j!RYve!vqR1`GEU-M_Au)isZhE zxwt29?SYwHOuM=vknI_7kV^TCILGQ4>u=3epW8c+U*boejd&$l!aJ<E-x25UC=kglswWaORY^xkcneSpkp}cFx zahL?uF#_s7kovGw%_r}8I$hN>alTJ5>hg*nE2z~GY&Y>g$?@|9e~+wkSJRq2?7O6B zGfYmR6cIM7PfD7pa1WWok45hN#x4hi2x^Fc=2HSQcZ`=)!=4cx+bm z1BEIR`ikH2zR)j6!O<_PJdx~HXyzOUku&h2p?ev-=ccfHXk#1ds;7^NXT{F%v-mxj z?h1r_ycS(QdlW8`epx~Cxt;pz{quvEME^cHUzT-Ug59E`auOu7{ z=Fm+%LL+?8wi+t+%DNL@pBo=}e=C;l1Nf9ZvK&AES$t@I?J6zOrLN@>`pP--w#fp% zZbvQSvDy1%(8D^H{7Fp9H`4v-;``|Y-`dC6+uNep2Hnlcq0aOtv&t(cC%yWrEjYMq zS${U<>~Zr3dPBVhaHT`zpvQ25y&e71Gn`}f%AS{_vam{7iw-2wP%@com49i+xHa9# zpTO2f{)f!n9|^|EXmW0jD|1}{65-bQ$wpmEcHeRCvV|Gua2FBSok#4mHjdw44{|GP z*edmZ)sXm!^6=>S@%|;loKF^rg|x1uH@r>y?fD)BukioXO6#ZHeiK~kP%>=rtu*c+ zyM5yk4RX>^q5au5qw9tQR9xVuDtS@-*V9_0{hBcTg1gw_iZVK}#9GlfT!P_+!C0G%?KdCT}&5Ntge#Vn&X@ z6J*Li%W?c`@e?% zrwHfZ&9*I9i!xpYpjK2ot7W2yUzx8nWB{Sv{ z2YJW1y)pH#3x4{=4?M6W$^S!}Jl_s_#QX~i$v-T{@3#U;k~~vtR`qB>hUr_+V%fqdH<%w1`T_I6y!`E z-(rl}e=~EAC8YYhe=hi6ZuEy;H9=O&T7xM2RTjnnNYKyw@4onlHU4}M;m?hr*JmdW{Qu|s+tW8%K+^8p7GiM7-*!SimqdZ-;M!vT)v&^f62IMl z-~ScV3YNampM$YGfphYnymg|UD_4(xTP}UH##;(A*Vzgs1yGOhFd6EfJ^&wujTP)m zlf;ItFucjto*LJ7vKdnOhUGoMHzU@X(9)Q5?u38fVOFd4R2aHcSl(b24c5IW6*nES zUH_ffdY#7-Knn+K!b>vhWWO%=c~XR2HxPIn|_PK z=*Ys;1O5o)B)@F?hl|SpxoDuj7GxOEsONH(_K~qjJ?Hm1&Z>0Z`{=xF*d^|scj%to zK@a=Hn9pD{BcMjj)d3LUtkI(%9EwTac(ae2(3TbX8C{mmT#ecpJNGfq#pEp2)pGqh zU=IlwlVTv0NRY3beNXd1?x?*fsgW(0iyynNWX;jH5GcVbWQ(?KDlpM{TiDPvL$w~2 zK*%+^{y7$pv6E`XMA8N{Qc%|`(1!fiM)t?YUv&x0Vg=@3TfY`J+#G(ZZk?61P7D(j z*6VOpquqJF<^rkjEmZw%n_j&}GHfmktr_uTeFm>Id5r;dJA{0Z7*FeNEH zCE~z_i^VC=4B^88BtKCnaW?wZLy+CBNTl5Kh)5e#wCBOkV~pB zm4y@|_?}5S2rcC+n)bG)GscAaMGMg=j{(CwDzgzUeK?b&V>ztHd4fdsOKQAMk?IVH zoTYNu0;AAz94nkW>*O+#^zuDwNyl=uLiSPPGxe8g;negJERP{khGs)E5XEnMf zksTcap+(Lswi$zI9&&_ARSi{jJ@{;FZ)s}zTX*YQMUm&eAk8CH#%&v40_|xT@dPGO z*aq>}18D@r*3qO|Pz}u?CEBgq`obSZ>`k&MFmaK#`wvNDzP^oxr>xH2o{mVYo#ZKP zu2F#fF!REBL4iJHWsEZ?QKVs~I4wOEZe+DY)YmZTRQZ)Yyx&h8ppCN$3u@uxpButo zuIr(ha}?Ncab1i-{qNsp3{2c2<(L;y8FQ z(*q=-FMs6%4tuMYb~|NToY!ve_?%`g)*+1Wny=wdG7C-8b-ncint zh-!g^c#E0*+sdyg*GGz>epcktQt@&A90g@FPi+R0jAR!oGOZ%s7xokS?FF3!3LI5j zxC$dutYBh}z^qCE;OqE=nvbv5UonUSWVtbS? zIyZSMvOMoTM&>3ht^LFrs1P{+pAEHoEu*mjE}3U#bDGk6ak<=`8VZ=m%KP3b#>rzj@b#}Vf^v!!~x z>X8WRZG|Dqn0BaU7LXfgTdd> zxmTIqLqg6}t2KRuRUEcah^>D8ET57Tb?@A8C2&(ZltOY_v{Yz3N~9YBWlxs#HHuy# zhKX&WSZ|^tvhU0C(WjSrubD`hxxrj*)C4HQvss!_Jna+86UNdnbv(_SG4H(%Fkhqm40T0-=jrwCC$Rt$8p5f)hrQ|Cp($Up{zqy;@_^BlEU zXM3bXDOt(wzeUXcM<4vW{~gEsBf(#HhJu5>b*?#D^%6^w}JI8ru ztik6XD%IS!B|rVnjjY~v5i86A@jF9VHb>S zjJ8&kcX+TPpyOexiu+Ttk0wzPLxdbP!r?_%f%wtGtQy}G4!I*`I)_DezbIR3TnzM6 zd6B~kHx!W?WjCi3encS5_N$v`GkRGW>S4sIRhlQEYeQOmxb^12ObX)lWxJzyA~|d< z7xEZ0F7tK7R3u8sVy?Q4ev6}~Wct4CCb?!p+~5j7l2NN#BIIC9xsPaABxIE^5*y{> z8VfZ?bxi2BaQU4)%beyR=9AA2zJ>&@wjY$`FsW|<8XAhd;IXZ%%u;7Bor^ znvoc})0=(T8sE(DCCE+dHSvg}q|_gs-iUL=Ovy|B)qCSOOvyH$&5Gesm{2%193wWg z$J)5jO19WJiiK^8F;RM0IlwmQRu)emcHG%conV1)S=x6_+(lc7~Fad)+Wqq2aTJr4Ar;xfPh zs0KsSMieR`*}!z}jYpAOUwj=#;4Y_F)?Vc|5FrFzRGYO*I_2jx`r3Tq#F>f;0TE$z z9L2tT?WJ}k+2_vlQQkFNtspmJ5YG>wz(c9L!#uExg^efMwAB*nsuI|U;0$zrp~4~l zu9dtK1)Sk{qf0H8i||dCc900w^8<@?0}XsWI)kqlIood1FfF(~i4fw46zlL|Z7Y$N zYTsPd`Ut?iCl?i=yN%wkyLhd!cr}hFu_@gvLrZ#6;{*;N_x?}|w?a+8j64+fWv4(;G2L~X zl&M(}fJ97`I{b2lDtLyqt#HbH;sY*3EGZx%Lk(v+<8{fo1279RyLC6Qr^cheWn4bJ zzf=LZy?VP_{3&%*sjEHC#ho-JlB8LtnOQ3e9@Pqg0SEPnQZ0>=p0`j26KwHvBDWoW z?gA(BlWP`HX&_$bTsOY}qzALV_XNDB4KQxk?eUz|EX z`i+yPALXq6c0$Zyhp)2!Gh*FHL;K+^sKw8} z5D;dgzLpx5k!Vo-*vlN&L<8M@H>wEGvnofcx61-P2aD-1kT^2TC5gdmFJk%An9c%E zJmd%hgtt+!m?6UP>q#j|x;{l5Q-Z>R)ZnUfoF7KHi%M5NtF z>1|?y^ji*?p+|nxrt%QHJvI&!f&Ms5(q*;Y5btJyY8HL~Bm)OEa5A4NXbQ(1jW2b) zHdSL0lN@+>emMqo5NiNH$5PPy{odQM&78D=BdRQERsePAxxbwf4E?I-4Ra~C!pIRLDrXrX*;%ods3 zP(TsKe}@$5J|di8o0?cjDHl<#`3bsxmQjp=pK-D%?A22+JO@2`Y7wA3hQ?WYrt|Zc zoyL=7oW4%7Lo+kw&S4Pu>}YU70Ebz(&nugZRzeyDl+mTw0gg00@lWgpl+ov=yoitt zJ4E&YP-ti(Kk1Oqy@iZ`x{$vWWW*Y}ifO2HEyzWQ=2$2B&f#6>O3-?S@-|>&;R)m5w)2Gy(*BYN=;46glW_H>lnJH!4;-6`#XOMB@3|H$Hjwy_*fNDn>G zIpzh){SBhYu4u7`EpttFjL3A1vh@9j3OqA=)vQK!_v$IH#>|vPo{s9#;>x!Z6MX@M zYhk{m@R(1L@=B?(5z^!d++eeBwidA!q-y1F!WV93vE~30knUM>VlyR@)#dHTs0%!M zDMcVsjevR;3`Y2?G+F4t_Z)?&o2u5!a%l`t7pzp%l%$mO*eYZT%1SM`xC(Sv_3Gq@ z9P|MOF-PeYW@J4v_^cyEvgv1%vt^~6UXV@Hlif1$0^=>k*h@a)PA#6>D87uu?k0H? zo{{oDutWPU3U+Exh5 z)2l*yv&1Q9&sy@=i}H0*buk6PF`}Vm-S*_YQ1$dQ{G(*D(jI@*Z}M zj~93$A}gihZMSh5uup?OvdSfoGc!IpCd#OhU|^6$7t-v`OFQ&#yx z$X!GT9pFm)0`}|+2;QE7E1)vPsry!eo1{e5CBniGZo=b&LmtY%G%w5@lB1v+c`J05 zeyfP>(rDA81+O%F68B-X3}j0+Th8JY_-5^Kq8a)iARPwhq)4B09DlLdwEDT160epR ziY*mRe@P`OhZ1e$vQQARWj-6#0B7G7G8m{lh+4*Ps-QIsGveKGLTq^&O={_!lnPUw ztq|4by4zG!hEbVFL8}o5zdHe@UBIak)ALSG8pjfzB{GB1Q=4Hu^Xrg~9@#)hGEr`f zYmnu4s=@hILuoF^*mPNkz9Q$!bsdyFiUnB zE3ZW5%~2T5~Xx-f)@APOx1*G8xSVJpl}ww@Yu1b&Au04q)qhY7BDEj6;n@vx~9g%onTY=t#dSIs{|l(3AALKEz$~WsWjq4uHQL3T27$yrv*J~YBNd3M~V23w50`Y0)WyPrl<7=lngwhpB(6^a1mbnYE0o{QfRx0?+x8TuC zQ!27PGT#7atW?SaF3g8_CI)j?i7;uFB4x=(H4q3NQp%YP0CJ6aB17=ss@r~q)-ssO z6dXm#Hi+<~Mis}-lh}(^ra8q}+lz`(h$A3yuEsL=%$k0wHdG!(| zIHyc!3T>z+ zU@pd_(UPF`WFs2(E+pT_6HIbI+%OnA>44Ve09{7iz>oy!Q*VTqMQ5Z?P3{lUU+L?aOt z!@S&q4m?95&pKoig!W;p7-84_n`tv3Q22ptkKHzSlPFFsq1?CZ73#!dGJd@qYf@;U zkzkZ&C*K}!O32&ZI;NJy)b!@xOqK!r`;yc-g4HS$x^M%% zs7TWf*CsIdQnXKi{H{3%jmG}MLQ*zRk!5ZX-DY~e7ASMuFJw~_X?+i)laN*(MvT`` zdmg)dAGia|JAvq`mJlXPcOa6BiQXWNJ^{H}9aHln@vJk33w?S)gUpA35qm~&M5HL4 zfQ*9Nafc>dQzC4Gr@p4ogBHbR;-6vNwnVMmjB}2>Vzk z>g!s}*OMd&3QCg02=&BIej=QwePz43r-97hBoy!B9e9WkdJm%`Q8!IK>~7WbZZ{Dk zfuU29ODf}%1vG+fskkE`iI?%H4#*972PU#sWRE&GJJYtj57zoy7PrC^4Ez@o_bWjr z;0f8nYlhFl4$t}?fL(B9?Vkb^L$v~`v7lMfL|Osqzgv=QDY4T4i)zZg1=W1_n%SWh zYvY{ULo@neTsAf$KI=&~;mIV&l!x%O>M1+jXHz}PNLDE!vP2QJFOvs7I8h^|a^>Nj zPcQ^yQGtptV!#mwG!X3BDsNAE(|NZNCeYPuV`x@1&}*lA1$T^vF5oZ84ZPh z;>HJE!zvbE%m9E@o9aZT9lYovBR{$_p{|8=lp$-|HPA!moGo#7Ii}9LsGY?xU88u#ENxcugwd!)v4B5yVR)L59Q=; ziAyG*(9@3@nPd6&_+0oLLTVG_oc$XsxMZ=Ob-XAi9yU?v5hH;&NkHCt7wxb%lTJAS z2`zWgPphZ*XuCu9)w)Eb1zYNg+grWbJ9LPR08)qzLt5_ZA>cUf?e>u{I@>s6ed6{f zUFC8<(B7hz;b=7&)1v9FdMk)kQa5O%ix-ujSZ>V|zR?hAe{4luf1+P8zM{L#sZ^nM zr!tm}Zl!ldtJa!gtYb|SS<$AQFf{w;ndJA)gX>Kfs42x?07a85yZJwY;} z;_{@$!}}}n2o3y-iW(aCI*lj;LIkYm=jAg_Md{@x#rm~`oE z^Tk=(kn=s)=lNXP%xn(T-KKMgg~@TzqYj4T>G9+7_*O?Au8GCd`pn%8*?v_TS2Sjj zLh+aP{xSL-Z1^hkKj)Iu2=694+0ZCe`#b)%F$8}6w_Xi@&iEIa0kQ!IX%}36pWnU) zha~P12YcYEXZvzH3V_C)&!HXhBbhiR^8AVB|MNM2o%w#DuQ>%ExROq$sZbdFa31c- zwP$|ArP$-+p*Gk<{Xn_5sMG%3!1rH+|6v7|B>r0xT}xZ{L85zvh(hpK9HLx^$RTzMB5uM;g#feguPn&)c5N9*W-q<$AiVx&M7p z4l@XXK9QD5`inWiCFl3{-&LSN3;2ry0Ve7vs1@ulhw($xzYyM3!M6ofMn?-#>Mz{w zkBZ=bF8Uv~{>ccbboRG_T~h7n!25|3KC;yvuCH#Xwy;Im`(FJC7v5btF_@ghNYiRm zW13)dtNRswukUx%ox3UzOxKL%t z`rUQrMjL;WHMyLTgu{#4K{j3O{BIpga$I4mF#oaqzYo+YRiF{lS}tjqj2j5kVN-zb zFg>p#YEuwzzRa6w3@QRZAz6p(4UWq65n~`4&rCb;URE!$bZ%W6@eQoVj;Za+sL@>Rg96PQHy?| z)Z;wVNm~S&&c~Cu4t8w;bRksCQ^X%_xsHo1Su1u}h1UI(GEpKT(Xi>mo;7p=pGXmd zeWiqg;LUt0+m?$+rM77pF7=#0yr;roi*qvS7M67-5(a#XZlIkP8G5-V?mcQ z^0V4B3jMT9D%5s~wzA&jm)aFU&s?3lYI6pE)++Pbt!AOy+=7!F%+ z2umg2qAsgu)2XtLeS(JXQb4^sI#dCXCK<=I8uk_{#(#y&D$P{nnYdIWWRCc4^MhI1 zGs7G|?(5YK?c=Hy)sit6*=Ydvka~hnIP}RaO*GX=14o!ga;kix^CxqydWR|gR5@uG z)_#d>cBz9#6W_4ea(>w)qriUcQ{idUC$^ClB=e+iK00yuON{kP^irJB#cU=$DO3aT z3q=1~DeXGEBsz@7=-5^gQ1mHgcT{m5(r~kcus&#w|5TsF>^wrW; z-#=0=U+k*Bk(|~K{C?(SL~`k4)0IJp^dwwZFHI)rwZg1!YhG)Q0XO}T)I#(t-TmpC zG5^`2FiqVhrY1}3`HT87pCN=E(?#jN!bGwKs@qB&h-$<|hJm*R!qF>h9_yL6MyUWu8fF1K^kP`E-SqFubu0Px8I*V7=KAPV$?dm!fiZy zW$OLHfgU0<=Efeo*u(l&-G`QdIPyG&knQO6aUdiZX0M@qXL6Sy&6;}R0f z?EL1m?-#>?Qh{fs9#b0}3t(DASc2hlQ?ncN&COVivdL$6i}&wp8z^_1=2tlB2Q*s; ztIAo%6>==0)Vcn*6ICeYhzB&>EUS{Xe`K2LY=)yo79$6Aim z2a>$Ph=*bY*^WXN5~2Qv;<&uFxXru_Gm+?9EO>#k?pLcF;KzLBwD06*AE1g=z;%Z6 zMv4jpw08t%+$(9Nkb5Egi?IZ&EzEp|FXJ3Nn3!}Wh4RdVp94QETpPaI6GvvEED;#L zt(AD5eK#w0d*OPZ&i!QLc#dnfJnRg#xZBBBq(78qrFw~Be=m5u)Sr?ohBIb8*^wc7 zTgj}z%ZlhpYt8mv%wSF$;emwMeK<4MwE93TwKyZeB6~0T4Z>npNR;=|rS?SQDt%ld z4}4?;vd}Podi4@jS;2&qZ_nX}XoizdMqMiFvpzEvWi__jzc4Q}laWCXTv$c3?zihZ zE|MpkM2F6i-iC_yb}5h0Rq4jUZ#v^ySsm^6nG?5mmk%3EX}5_3Bf8#Yn-`us5WY%Z zhO>^pzHve%tEO|uO)o+uA>Xdc&^VH$!~>yhpa<2NYDFz{&bQ=KdpVrov>^%^+9AaN zDG}7dp`EGwx0QmeCT7xI71ZJm#o+pheZy};jAG)E(pytm4fA^8-63>)K9SW)jZA0@ zZwI1{^i>m%PV--k7FIu}{^W}aoT2JV{pZGm@kbEUiP#HGu`DG+-sKL zuQJl|u?=X$363Dvw^T4~v@|0yljK{`e8oyotF`*cQ$=HcSB)aQZcnkh_Oq zfg7<7R&MnKH+x-)@4c8lh9W0u_3wm|2Kx6Lms4??cR);0VuTOKL%M~JnZ+hb+wyyh z&%~B!mn}O(BFY>#*MQ3JEc>M`mgfkA?PFGA+S^r=zGaj;JN ztU!Dih+}85iuZ-D6Yj|CbCtmO=wRr}1-v-4b4L|M&JJRiX1BLKdWT`s5@DxO6Wq*oXAA&Q3N7H|U}m@SDmv zr0S4UbxO}P&H}>Z9St9ELONrebKyScl~sKYu18@dFrN$h=Dif>*}eg&C9 zHSig;boQX0eDYz&pqF37Z~XJ_xbaRIg77SHmSCR_C{bhj8^dVX_ybDBE`G9pPaG|d z(KZS}mfwPV>bFwH*LG7xG*YPz^RI;8)nuQCP@7=&^cdyD$_(TkOR}W=KgQlVpsJ<+ z9+ng(6Dc2?mS2d(%qdZC8>ab^t+Gkz4!V4-v7?My4|y9 zX7BmTTC>(_y*raI&gXiLVu>D13XiXX9K&+MfJf zw#1tiHV)sJle(7HC5Po`wfez{eU`;)r1C$`UYftUh565F4H%%&Bv^j*+WSMNu)|@1 zOL~nvyDp35A-$D&3p7#;Ud#VP@ml|qpJTSmPbmbaBoB(e* zkzMsO4Q5Z8YH{~9Q=RyDrtAdMtnFA2mFC!hI>EbQb4S1;t6GG$^g((uPn3LE&m3T{ zvg6rpmai=65NwZSyA_x?+sR6c7`o1y$GerKo;USw;nJnj`MqK-C^=kc3{%~(8F?_j zy8BwlY{tl9BHnRrJ=CYR9CW*M^>O%wk^Ja$i%;}iW)G91cKHpTxMHU~p_6!#SSQff zv^O2fz_v%&kznod_Zbg2HJ^W#zCPelIN=2$vG8N@t8%c4=!FyZCmfQoQY4jeRh(A~ zu&FqqxtC^*-#^?M?DItfbC!Iy5}dlJp7X%)PQPOesCq}7euWP9jZB&D+=&qU61)mY?Ml=!)plGm zgW?`>M?&~NMgjP`M4{_{^Q-xZvDud)f7uE_6T39W7KyTXySpi?%w!j3%@Y>GF;E5R zo+;-BDN>SeuX0G~D2H28kj{jkduk?fcw%p~uH%~549q*eUAe~-M{cH0v^~;y%Vgkz zqrA7^SYV9D8WC?8VxB^Snu0GgAAaaIhlPeK82{iDu<%suDy%pVUjPe5|EG(Z-X^9u3QDMuk5i+TOI{aK6l-ZH&say zBOrs-IxGnk$9FADJ+AmSzmORP@C(W=13|=28$mfI@$B?-&SEwbU9{F;^D2uz2YOWw z8py^rp3<+`2JWiM;B#(aFniAnB^3_!rFm`TsX7}ChC1n@3l0cpII`y zueq#k{gb5Nzd@OAE6ZOJ6QQU(U!+E{!5?d!2jo!Z-e7^=vml{y=^LoRj(Zzl^JpRW zd`Gg|Px8prt}A9nABsIl@}YXt87R4ke6ATP@(hD>=umWcBqBJm3Xk#4R~!)X1hXFe zM{GG3{c*&LrVBs~L@EO>?;M5y@}m*M+?JfCEsUikuKrVu8U)19TlVZqq_7p>kM}>D z^GplQhli5{XU1Hv6uS!p4NV%Xs_B%Kd6Rp31> zDOoA!VM~V3%OMT`T+enY8ZK_c$t*~R+MTtb_EpUAc;zw3{Q>5IBcaTVyswnr?$ga= zHs^O;i|U@fXRlu#=MufGUAehavT#oBd!pt_M#A0XGb^bJ|Dr=&-xJ_H54%|Gv#2eEtNXq8==n+#{9_9N+E6)a z%nB1G3R15pYGF@#T7=K^%2o5gy2^}zu1S1(-2SWfIS)t-K&PjcwmBaVK0fCJJe8T6?Qr@QDq#F=pe zoIWHm#4EkwrbRg}FN^OEX@3u z;qlp1WV8z=bKBe9KBbOAxz#JytDXK4-O4AzW@es2)<*dK^pH;>o_fgv>#Lq7MGy-p zS%7J@$~_u#T{XlspRnFv1$@B$jOmOW@_g^$9R+0bewGNK z(e*~NP5qL1il13#CF=k_x-AQ0v&38Ko&r9X^&8J?Ck!y*-qk#Qha3GMjflK5D|m2k z9T}(&eXX>7B7P%>zo4!kC-&bpVth=d@=HIEh!sCMPIFqU@yadw;_?2&UsRkBJS*7 z&1ltxD``XAM1BI0xg$0GXphya|@f}v8nL&V#2JsPaq69vun~bvt zfHKSy&f~jgBqru${sH0XGPE832O|7h#@7ni1;z94`tLS|$i`PNl+U)}4RmO?V%A_5 z8-afH*H2vBcSp%b_eb6RYe~EUlqWmGZ|XhPi+S}*b`_q>O|Ze1LNi@|H2CM$Fn@hf zfj_iIg^E^C_t`n2r!6#LrvGO);m?06lNX97E7(l`z>_QQ*#AG&fwn;U-VQb<<}b+E zcbT@$<=21xM(ck7(C@aO;+}J2)4zhe-$mY<`1!zppjpss3@U)QFv!e4KIcEeuG{LU z+OYqtB=+*PVlZF0CT0Z^9sc;ozW<#0x3UYErcfcx{L*fzypPkryY*jEF~H6gpaQIn z1gqkKov__~{ic84=jTrNN6$X30(cHxl)(=_rpZ1M^Zx_5(}8xZOyKvtP3RE+ujl>Q zvA)obeWzgZ>d(g5JHrnCuNcb~Y2YcAYq@5z|1q7@AGE#suhB?o;~=VaE(wzRx6C!O zjf0`B`yZq6`6(d$;`h8);|^=h=wPAt6ANJZkJ0=a z=p2S-T^`A6g1`UGciZrZDgXCtf)6y112^^e?%;nt`gaxPJ3MF~cY7H#{n^K(s<8CG zBfWoj9Q1W`*8uvMcp0V?8UXvp``UI)*7oGz5-sX?GHp(NkaD-)zj=f2SN?}suni8X zL2OIwXVgu*<@AsKhu-iP@AGqv-Jsd?Ef#i_3;=URb*GZ)uXg>o(O=p~9)L1hP%tq5 zmevG(^vf~y8~)FWW}2WH#0w<-o1Y)W*8=dfvOin!N8kOZ2Ff*oaj2Nn?Fszz2{JDb zG|2zQpu4mJw^*_p#{YSTADyf733gZTKd!<5lelt|@6zR6NXk^>uE)Dz2}IorptxaIIHtaBuMfo;dp>UcL7oJ#pSL>r zMhk5_%dj2Bi>OKRFZs;=DE4U*O?l$yVUqf8{5TX;wMAOP_wXpTadRYJMm6s36oZGJ z5zac^Bzz~uZoMnc_hlFeBoOS8OJp;l;Usb*FXNR?O_-@O>Kt2q&ejA$r6>sx)=;%o zcMfCmx7yM%p1IHXdzOD6RUxyxmGplO@Rv#`AD4Dq1qe$xaMEnHY<6G`F0V}27|;UB z>pAxD?V=d@?mXwVU`A}3i9X4%kHa^X5`DiCgKmH}uQgp#p>Se%gf~gTn{!4E$6<1j zkrub7K&GCoOulW`_(8#tYy7Fpb6b_U#s&g}ry?;GH@ZRR-dqduYt|^vGY!4vWWSCA z{aPM@rJWpMmgZM0N0oi|@6FS?UQv+e0B6Krh6mF~$8=E39iyE6!`RSE5BKd8%q0n>fbH|tiL5XZhVjDzyES!{U6WiM!+_?EaWZzSXzRGV z6It>rNIzV%vfj%(M%ksZ;b$h4ak`^eq-GVV;(a9++t=x=$la<9 zg)Tr^xCLe2ldfUNqb56TUenR;SxAEC_yKP1WF8OGJVk8^rJE}% zrJQC&a~QbwL>UmY$zV*YTBkG5@JoZvp_@f!|2JwVyMXVR3-4-_!`7quC zv4)U|#|DRyYW=!TPw@b7{6!zx%c)8(ROJvWC0uKz`E)l|^68t-tUVb`i)r?)ZlSf1 z>!G0O>h0UG>%b$PlAbtlP^kLn-3sL>Nn zq=c3A>iC_RXYK?y($kqt_3L8a_Y-|L@TRCj1xeMD0FHe8UM{F+92X3^ZEz!()p(Kdji&2t@zlh4%W zfGHyQ{sr%qCY+ymx<*3=VRsY#2oHBM-34UN2oan%QPnc&G1!0CcrM6^#ao!uKI7qX zMw+jKvvw6J<9%+K%wq{$|1uVp2Waw2-G`Sq_z$o8^{Wzd@$KV%hd ziia@$1ys5Pzyj+KRQXS#C&Ft3J7xRb@~z!cPHfH2ON&T7jf4C%m^WF)Li!qS?Zh)N+MZgyPoHNBhndcjWU9 z9D`GduvO8hTUEsB{m};luwOD>SqP^8lyy;=WGBQ991cqFj075WKm};r0x<^t%z&u- zB=$M|%n!2B1CXqBUPos9!8lF{)ie~UJz3;4&5Ycehj&OdkJ2=|cwB2YAC{zH8z+%1 zU%?=}8*jL_dw&%d4n%v7$?=HYBKLFLQBGPoxB4cyLJGI*HB;Y}&`}SeD)U~U=qMbE zy_*)g>cRKGXsp+a2(uQymXP1u3uq;?i|s40^k_g;mGy3S&@Or6_2bo-)UfOU7wiZ- zM(BcCH6B%j?qY4sW6XH{x@igWztl~|R^RBY$g=4Q9kmy1WKoo)V)6zz9_Mgt@nN?P zjK)sZBXQOvM<4KifpJNV?1o*X9+GMEHVj8%jL#V)RJt7Y5f)NqoZjQ{Lp(Y~zb%g? z{J5n;S768Q9NE`jK$E@tCu3|6 z^U77zMfam5f?u)joLiWqm?CZN>QrIIsSNclsGj-O0-L0 zYKE*r?5f|$sk+2{OUPSC^`XI|+@;x&V042vBj<-(v@dkL3ki7{KeAjHwCGeTT*s1N zuhwJCHStW(__&krovv33QM(q=>5(mmpRO=S`n(O+5VVT-c||;tA1dT@wpkcNAh=J= z)<28Zxl1y4LCTI8LcXn}mep|NEcU>#uBS=wVRrW|4yxhTW0{axF^W#%dL|rRdfs&< zkfWu4Yez%jUQD9j@7lYK2qypEdw!s5oDmvTi&C<&m)K{iP#z7NRqZm6&+H%2ZXkbT zs|Hv+f0G6IRhzrx2a|Pl#x#>DHsAWGg2{x>r2Qd+q1D#r)3wHe83fc^E{h++uDyV; z9_Q?4L;6NK#JAv&#%cR9qGb3EZ-nIu^rgg4FqfJ021PWUp?sG51lbmX09EQM+DO_zg9Yb5Fj^`&5vP%D*LrSqY(a|BZO*=qog;R#Zph;3a%Ko2 z8#gI;(Wa(|@VhoOkvL+%OJ?YyqHggaDy)wujDGh29i>UMOJ)gg2oNPw?>%>SD?xs9dA) zOsr=Bof1)G(&%@Q(xvK)(&3SNF5cl}GtL_ix^FH)@x60SYBY6@W-yjrJfg_nCTtmh z6#l?AVwtQ>?e8xy)@xIQa^K87&D0oI_j%AvR`FdVWEYS|yhRJC-)r#0?X??Q9>muo zA1KKS`Scn}%2``)9j{_C+Z57w_N^h{taIi_BT_MFHa|7AWu5kZTWA1R?o+0(7T?#@RI~SfntL4P3<@g0PqHL73OVI%Ao@~*D_@_B94xsvCjuP5=owf$TuL!*i$a!-hTBq z2}%)d<}SvrSC(u;l*F>ID8TwfWyDa8hjESbcWUYpqkD(9KkB!G}eO?~wB)VXcU5K%VPawKHiJ%Yp{n7ZfgZK+z z6XJz;qc$&j(JH9aQgbW5U<3lX#0!Qa7_Z!ViC=1Y&WeNlNX|Uj+P`Y5f_BPi_|ksz zO-$fqi`kUVNEdmpf^-L^F6_nvg8p}9#7wS18q#p*%EJ82OrW7x^>X=Q{=|Ck*Dh0) zv$rQ~4`FB&pBX*we`GydP~`nXATj8=o^VBmci^N(_NlhPJG*o@P0~l%7uS$Zp3Q7$ zCPr6svdNuE&7gxxe1Wbxi=3-Tspk!imV#az{VZR z)c8%Fx}}6*s#wtR0sez>YKdd2LI=HSa4-ADz0y_^ zyGd74aoBm_(nxJHd_MQ0U2&4$i9S zeGt19s@xGG*@8~F04FM7DEb0{d^d*do3O$K5l=e#{9d5Jad%fR^GYB7FF{FzH_J#H zJ3U^0{1`aZSTEhAZ@glOrY5sh^n~ut)+R6l4xN!`wLdQa&XXL^;qb3SR^X zBJ<2zeq_`0q^IXCH9u77G2sRxs=5VR^|8yC{Yr~t8oAYZ2(fe}(O;>?VW*B~4nN&r zzUK1fkrO%C)H-mOjo(ZiA|!sHacRj&f@mS9(mm<9 zbr6C6AmWBu-rJAcbOU8|vm;{kavhg2T^h_?KGFm_ODxOt4d$fz{8(r@2VK@iwF9eT zZ`2r}=<;hygjw_dQHKG>Pi_rR_`yhzS|seoo0|uQ069#lPLPD4pw7jNE|Y*CjxxGD zyVpPTN}Srg&j+2TR8ZKdMk}Gh`dA{^;eNlsV9=npT5?o!YFDr;_9e)-%=*lmT`yS0 zaXuXu%CgMf2+He;(R(P@^5dAuq{z*Fm14){$v-+2-yNq{vDg{Gd|NOE8GrwcAX2JX zd6clbf+F_SV!SrddAh>56Rq+AiuIf+*Zc=T0lWZHGYi$@O}yZYf;#6%<#{r%Dzc>L z7#!btQ|4#qv)->tXtvROn13(bx4oZ!u$2v?1X=f!QO|)v>u#yyn_#U*JdTXDob9p) z{#x?|&2DtAA(9U|Nrg0R_xh@KrAqG`S?`Gj@kL%?q=*uOR@J6k1&2-~;eoY(k9LG3 zir2L}lv<8YD`9h%Gg?Z3K0mo>*4YgNKZ1#!N2zRAjyuxOtBt?BO(H)_FyQC8#A{00 z;{p|ZTpaN`3?`TwoITUi3}&sP*DiM%CxOy!ptG(-M$OV!A-AZe&DV9-KCL2u?IIHp z85%bGIbvFv?>K+{{-Z4TRz=f7u{y}~v$QBzs}!4sX0b}^&q7}ZnmBE&mQvU@Q9nD? zFrLcXA2Zg2@8z_B?Nz90eB6qJMq^S};JqKWGn)xHtgTzBYA)B<4-P;&ISca~E4t9o z_(*tS(@}11{SXu}cdya=l|@eoa7dby`00kjrnPoSd;@jG6dxplr`6Z6`9fsVM0;kR zTXum+M>`>h_!A6Vv$n0}CwzxUiy9tf(=aFH36S;I$1Hy7QbLncUo_)}{vaEGl_4?i zU(1I*(cLf4Mj=f@nj{E350sJuf=6-vubK%#bg|L1`#u&ymL~bcAajY~5kquB0c1RR zz>7orNVk!H99!*gx3{M%K4*V)8uX`*ENly}x%(*_HJuwGW;um2WQq+zBz)H5ns(P( zG;^1nD(e1ciOU^T>inR_z=L#{i%lVwFP}#64qWXQSp2~te)Z$ zhE3Ptg%DRY`?g~9jn`E9T>1_oaH6VF+pSIJAMN=Yn1TLbE#qj@3rJagn)Xi&rxNM& z|H)#t89}k_S>1uiUv!f12{Q8^9sM1x2JZD^&)%X4Wi;v)XTg8YEu9@$>;J-pp%=Mi z12}S8a9{R6+Ycx!G_e1|YoU9+cjxG@-vHQlkANxD&&T);>(A8Ra##G#ctJ17e1!}! z8UwEADXun1l>lAztI0oq{#3&JEHa?*I^a=htjUPLr~6KZ4PPNcyhB{^lX?9~RQ#`w z_iD8tThc%To7K>#+VNOYy5F?aH;Nyuwe#cim(gf*h-i#TjX}Z4@cS zjf~JQC;U#HzgC5Gyy4gN;eO8&tTEvhMwsHxaZ&Qiu`M#sv4IXDnYO;oUY)Sr5CutF z%_qOSbWnWG#0muoO)oTcf)V5C+%_8VW8GX1V^HQa|=BKj;g$03j~G>`z>?+UXyi@XIYn+ho^vARBAaW1@Z ztRU-2e%Rf zId-sND5&a4&FJy-oP4TvDV&`NS>r|kQ9cX)CaJgsq8rb}tdV!_)jmcsG)ev@_rR7n zth>s=t7~HAI5q)SbnO)Zl8L$TPN=6Sx(A0UWQjVVT4^84^EF2 zHyIOR2~j#BsR+HBx7qg;42BT=>NCZZEo$H|5;xLxXmRfAkgx_I~L z!pw3WJ|RSzLQy*BHDfDQ4hZLV^fsN}7lYJri7bt5gfr?9M!v`}A*+zUq*t9!3lFEw zbbGpC-xsG}KC>9W0v6X0E1DSq7ONYH4$ z0=2OVP0LlY_GI*U5*{4~yYOsp@aSb7_VAAh2yCMnG4BK9Qb3rCU-#omEdaDqn#ZwZ7 z#H^DkOwBQkf%g(u0H< zI%zz$pK|G+H^3ZJ5Q72|NvfBAXi*qUJS!2aCMJ~3ZDP4?Qka})U&aLTcaUHoQyBPO zqi|mCO4C1|!8W%lt`Hp(*A_m`&qGQ{3JF~>4d(09Am!VjGRsy<%&0cO#G7Z-elX5A zd1Xqs3b;>M`WQIhx6Pp2Bas+wvPf*nZ|)+hL4Pw4TQh2(L5Rtwj}G&0GAXR=`g{xA zD$KM!-a&n0a9(PU0+Ll4}S^r?K>M-1n~da5g_-UC4c*Io>xlE(kuFK^r>j@0+EOtBGKm zxzHw}+pfY1o^A3}hLGWyR09M`6|Q#8j{QZhIkjH=a?vK4EX7~PJlpC>+c^ILS$y<_ zT_UNqvFsi_xFh9m!!|vV7XGzpEHSMS(c-;x@9+$~ae(R`HMt|JDXDU__-OW;SmWg ziX8gK1W6hnANx#3Sb74His@1Mz2us+ua&eEx-U^IX#DaJPHt`{w8rBdOLbL4Uv_Cu zbIL5F-8;*gPwr)%7_MfRqp!H&BtKqKMk`NBJkX``s8aLnvJ3!;Ao6(i8XOivssMs@^D~8$F9iR0?6WPfS$dQhOP{ z-Z^gu0|C7_6b&SWdsuzGv<{ckWFLKT{rgQc)%Qv1>v@Ok_4jgVb1Ud126(@iP@Wb{ zpJ0-9Ke11Be8R#2D0p7>Eb)wOwCg7LcrUCD9A881%#=i6!HjF>_;{2vFJ3@+K>jQb3?LZdApVBg;B%uJkuoIn=?p${ zwOL|JO7Zp;NN_Mx^cEm}qum)cJS~^`NbG@o0QSi(jZu8^o*Cc7UXig^`nETytN6MH zdrg%?1a%M|tOox@Wbo{lM8w<+5hxq1*RI4WN+&|};~lbKvYzyVlZVs9_o8`HC5bHK z%@Z1laS>KUEr|#4Z;BkGu!K8ADD-E3q2^9kGCbd$zJ#|9M-0>n=g;p*TE|sTjtRj> zV1V1lSL9g;y_NGc&+cxmc}<@D3zsvOm@o7D!HgjZYjgoy$5B87x*h zy+VgBOzx9!H@L8H^g$!x2h2XWTB3`X9Lkhnv?-v6OTxBNWIl(L?%(eEDEgsLDZ0f; zu#jf9LG{vX*GKq4l9gcjhCHzH1#ub4?ehM^j+bwR3{KSIQrYhzW+*+t7X`gr=TkHZ zK_ZR>_4qy7{32PS$a9VS+~mvX@l~-_x@0t2XTyvBM=(& z&+;{s9Cq-x7A6-;5Q>+fl0a)0xG%1qq+iS7#V++x4GV z3<{$Usd;-}kmj?jiVvRBwEK0!D;E?hUbm_Y-Hh@-uSUb=?DYuB&L?e}lQ_N!?WQDs z$c}jKjuL$3T!n94C0ig_sH-Gp{RJPPg}Cq`{q|eDRGzy~>#jKRfoi#fir_ueh_714 z4ma;ny(y4ZO(O%5!S?*=$@%0 zIw7h2X7MQTyvRy)(|CUI;?&OfbA_2A^#)j|^p0u3iO=7|4wv-tTrO^SvEF2?1BPuT z-n};yE&Gq^#M6?}tea{gd#4G3PSM&igzi3UxozI8!sTG2SETKZ?ydjsXWh)ZP(is+^^r_vMUS79+Y0?-csZ+VQY|xI{1uNS>*S$rp7+O$pl@9ry@e zI)Z8B?9F)hCeeSk;;>5p{E@NtzL+!pwLg%ig6XQNXV zc(?W=L@&EM*5YC0e|nT9KN9ogcOf2Ue^CQHn)sj%@{dLSkHcr9kD=>5zlJZXoWy)T zynp290EMmRM8$&Yrt=3_!NFB;3RhJ9EzP}$KU{qvhujChnNu}D4y<18h(AXy6OSCbBM6EPKBbj7K|8h;lMO*_I*fiXe3gVw zq3dK&jf}ww-YoMQE-P%wbDq@yNuLm5PFpG_fQ`DavHJB}O4z~X>W7Tz_p?x7^(P~c zgzwX~)+WH}6p8M!3>{7la&lxt4w2$mHde!49w5@M9HL;D@S^cB%}zNe-HhB*+QSJ9 z*55qSDRbV04%^ABlj@tAV=}>1UnCF;#~!uFNr*Xa0ctH}6Cl%hx8!&{{CGzTG|ESl zN*L)mv@x8-uNH91^s(wAH;8WrO0ncuzoT`qjj8Bgv)ncBc@;A{M3rGa=!G?FOzUHz z{tdD6=djWrNe=>2nV>s{*X0Pa&;Q5n*1BFO!)5dJJW2;F$luYLW2(p%!U@IU*>ib2 z-!2wWevqs|ce6$|71RrL!`oHq*NUv;c$2()zc(?-zq8hm12tK>RS_OT-18jtBJOEp zk;EXeQuw;yN@&c)kYSos%}*gqPA4lmA0Ik(pE%@f#{}xhwc1)k2;0rNB}6#;GEhFq zm>W#`#e@+%H*u7G4k?HGNO z!(&QNue4^VWM4%_XR0$o|4qZ7W<6HylM+nfPKBbkTEVuC7zt4{JuyANc)C{=mfXS< zlyA@HY2lD>GQGUY#5AJ%CM7C*v)6AYy=VZ(zcF|ZaGtUN!h?{K<0{h1+5`3S4Riyz zzPvC&fUp<2j}#kSegGL4!W=OOcfM1S`^@VXo|i;j$`f{8{3v%sS`aVpEPg|D;fC4uClEj?{RIT}Q(nOHeHh&q4V4BDmo`yOC zdLg66AQb1Af;!cGLN*9beIwtAG11jkCyOq4-h0=2psCXYb^uu0Lf)%N-K=9zDn^Pn zN14E(>r1s;r`GGFCjpgJy6Uy$FY zX_z;(G3q(~im{cpXIC{pNB)f-GHk|%2eS-czup-;dRf!$Nc3xwG%vUn`{(h^?|>En z@&Hwok=Us1I>W=t_QGqszR!3X&kV5DsGj<8JVS)oCWVkKyaJ1y2}UE*m&yn=E~!Tb zlACz4c3-in%46aO1?T?od)nYNZ4rr1sJYvXsma{kN%oK(4HOodsW>FoEyf`)bx2!^ zR?-&ptbrf#oTfziX3g+H`vDap9#bIsrh`-CR*3_tHOpOf#lTjIt>0RrlXBd;HxDpB zcZSV=?iF$>W}|jz!)c02#^F7nFt)|+_reLPa5XbHvtz4*@DLKP#-dM$I8%#1k7&P~ zk<$>Y!+Y-Ci{)%1;VeeWNm1f!Pa*G~-rhBvv>ue2K>%VgVq-UeoWy14?iC8Rk(Vfa z)gg5$81%bFtNOGrBXZsVZ#|goOPXg4B4jU^tLn{+JZLgC=zEV_dUJu%d7g;*Jj9{F z1yQ89-cTW1_=_2;0)IlNI61T^W7P;hi;sR-$9MwGqr<1fagc#RfkLP*Y? znh@Q0tn+qG)^eYnf@RUpuIZ5jG2GP`j)%-HcN`M}lQBbHb&%+H>}2G;t*+=SF7f&* zMlKp2oj=rv6uT<18})V1KuXV?M9SIBpFrZK3wx5Y$b*3Tw`LpUg=l+(o9}u5pnWsY|B7w|1fd6xP?Q@@;Fz#+$}DyJ^-~ z*ItO=%QdZ`$*k(MU9Jk>V7+tjU2%SsPuAUTlCH`oFOk4jr>`_9h==F*!V2?Jl#fDY z740a5@6>SDPFz*{aH5LQX$drg40Qsk@7WlYQ&Qno!PU~#S#&#hf%`}?gcIe8Q4XB)6}UV{uARdulM~2n&hQ2*d;ywN1hDlSG{3{ z4ldU(*LxeU)5Guw&I)u=y}dGg(3u*P(=6|iz;yeQwM**Sp6$+hpPs~4w~Ak^KNn6f zDZb{*>1w$9*~Q2MhT*h6j59drL0N6@zDMDnVnJ$9Edp@L^RHRZ=1kWX`R7LkIMaWw zqkB@)TXrPg_RjaSD;}wYbg#^4!OE!piS<8@Wh&`Lx1{=kSb}W;oO2D1YQOt+x1LxD_k%mX~ z(sB~rJ;^r*?(6iNS9Q0L?se=Dl}XQTKP4KXKXUf-H5W}W8ct)+=H?->J6OcKXZKNy zP;vVq3NC%OCvUMmH{*hGAVpD=NkhDXhVE2(J$rwTdMa|~S&y{A;mshTJc{H?3LCRG zjll76dfhOWhYKqV7!7spd7iJ*f)*{Yf9q;~A^zopFeiyWy2*D(EpyWkGQ-f|PGra9 z0l!HSUUQL=y1#Bs7tho!kJ?kD9t*;@5bDGt2k(c7ip{s8*E!Od@-Cvzt67xUlAs56 z9zqQ(g)yhelIW?%;P(^^+SWQ6RgbW{ah8@5E{AS4YZ5-|Q02RwZ(#7t+nUdNU6w0R}Nq`VaDPjM! zAUAK8j;8<3*RE&Yt#_W|jgVf=8Rr(1i)3jGdl|d|h4oJ}s3 z>2b>a9G+6CP55Rvj%30`7$p#6;Rc*}4|le+@Xz``QE^sJ4{}rHn!^H!7bDog-=QA z`I8j__9j3CRRmG*gTLN_?;Fv75=FpWG7I1VxfadyX?Om+l_UQ@uJLt&(owdorqDZ% zPQd;OO!{*W|2*aLIvuz}OZo}t#SaQ{^sfCs-qCNZ`*qE`WFQ{uBzace`Zt*J-w*qX zwbKQB(rjkVtDpYWNp1Wv`Twy6|0XTO0c1FhJ`KfFKgg_#VszOJTH^|hh+WZy_2tiQ z*a6-;5ze2|fj#k71LxCiul)wwr_YDdKC0a8W7D4*(QG$0kClF}P`=HLck}o42mXW6 zgJ!MmEt&1-3MxnL&I~w=r`6izbH9k0aZ+~79`avG%)B#o*1)XF;VhcwJo^Qce8YIg zSyXqgH2d+X6YtLc_8LV}aAHhI%y3}=X4;!_S`n9Pkca2g-gejOcJW0w?5~*#?M7b( zkp2&q&94DzR0cRr+fGweB205A)ZG=izBkn1=Dd&$Wt5T>kRnf(pE&9qFMD<*{GOBF zXW#>vlRvD}d|>yHo<1IhK#81ROb}~yK?7 zC-ti0vj*qtXz;?S>Bcgx?L92T>iQlffS?9jVn+JXOG>uw**&UM>NfScHpj<06r5$x z5UWDt%`fg6I4h)dd??{?UcSyxHY|y6{FGdWP{+EWm64(hp~M44*$L-O*E%AjJdTN0 zX54;g+D^!=hoEAIZXvF>+uhOUXswZ79wh}t66KS-oFq7?GMv;|7B6#KYU;U<6HSGFy@bGG6ARc7OaT&xvW zD%CRKt?ONeCM?)@oSKY|`ZeR4Ex8fXBIu%rrdIuMW9P4?vZHK>UPU6zXntyU*-Wh8 zc+>AdF%W%0w`#UgMb-T=)w!#1YVn!vQjcLcLlxnOMOXh>&U>TS4crm&I?9YZ>zxMa zNGmD@)-=-(^#A%a{CZoyz2)!T!!BXemU(gDVI}}}Rf*w1oC}NlGaBs9Ja7+&eGAm` z2`pt6v=sihXWPENQ42mNVZ`4+l-w{QVf_Kw$)YK)SE32(c^~hlz!fPbo0oFr%Lee! z1meegrtQr9r~wI$Vnp8)XAlG4BIfZIxpEm^DWU{>9|zAC3&d4lM~C87z#b@uRBr@k z0Z}}`QZ#`K-G;Uk+q8>}JMNrlqAqy`F8O7Ib?ni$P*W{U6tRUL)DY7Y)}f}w%%Ggg zA}8E<-`5tyK_F%*U~x8m>znNtd7U+Bcxe2$%$(295~l7dc_Poy3(L$gXpo-BZo_#| z%gIVyHUbnjK)HPQqLSF06HPl#-*|z-x{>=f_rQN519H9_5lj`4X#Wt|f>PF}8jV2B zG>g^{8{6L<4z8W$W==Dh1QC9bSC)lk(Yjo&mQG+Fuhb4H$XdP8AB!<;IR%mPiD;ylx%lI6#LsKRQXmnjd&)+&XH7gwNX`~7^l6!ZiqQftCso3+ zRZr7L*=)j`je|s66tU$I)Wn*cvD7RE*(A9#x?kR4C4e_rCt`Gc#Hz%DYWI%?VF$LO zVa{&2;@n#`?JQ#S@B2a4&jxR;>e2UPKG&g`C(&cI7?9pwh-2TyyRMv#lGex+e1R(H zjv>2TNBmBy+uLxbC(o!s{@B?bn0y1Sb*nOSdPTD;B!S}Nn_Kp6aiMo)?^=7alb#;D z*P+)+47>GwIfWoH(56TV3$aFBh0GAboK6suuUi6YDxGyvQ0`Z#Nl(#=L}*I4_k~TP zZ~O4qr|S0__ucc-tpv(}?hL5KX{zO;=WF6?ZJp| zc-%^!(cW&;lut}U={bL!AJ>otajI{f-H$YtWVq;Gl7}oP>mu%sfm7c8lXlVYbIEQ# zr(>C|q`<2YPky$Fu~rri@3Kxl5@V`|jcrZhAIHU+a$(wbC};*&HY=Bn%i`;=sibyA zPtcwSfwa~lSW&5xdFoc-S2ldhmC^4t)NV3m@&xf>HY=B5eYk!+(Ip)0X3TQ9EZ61H z)$cR46AMy)>_Zf^J5WSqBBs!d@*q?|CP>~1PWeI&L`&v9Y&cQD`pqxwiOi#kL3#1_ z{md#Pu?yNsi(55%?Bm||BVtyX{rN!fwzJV8Uy}QJpD|)wSDR-j2Pfl)Fbihh*hKfw z-XWsp`tCfILVA+YpbL%kS!Bh$s;_wKWO>ebOvStQTYUXiqwFBe z3jI|V{D2j{XUX#DW-1oEn#~p>x`gxD_O=#&qDns5qyh(`^D`j>~%F&&da!H9l92pgfqrPQpQFD^GsN?zA$-LWzAEg}Y zZKBENu;{}4$SG&reaWk(4&r!{F%k&uHyCAyz*A`4lB zhCE?|JjbDcrd_uv6|B=(9bPpX~o}Ki`r;@ns@;o{E8|rpjy|*JRs}iQR&X(O5 zB*98vBCxwr70QMl{(vnZ%w6pvlE_)=Izh{7UnG2*jlm#RU=D=poJ2t)pI=Otzgi?z zZyXy-6y(DAP)pfwDbcZ2Q&=9onm_Dji%xLsYAKOfCFyaxpKVN!3#nfqZCHQoa1X(2 z!{seQd2J)%2k&2e-{#maAywx5kLuPO^J8G<-XBpVKG%`(Vtna=^6Lo|UUeM##|=vK zE3e@(BaPqU5(K^b4Bt6CAoe7JVmoI8tzpQ~J-d-ULsTNnIY=PL@y5!NXj?g4+_j5T z1OBXZLf3*?jC`1@mvDP>MUTMv(TqjLh#tBpz|;^nSJ^1TvOvUB`8021W zBuq}V6R(OxAf7G+AEMt-ZS8p|?k%|EH-T4wUb=?0x{AY=wO}hUyw@j{vDnxUvktH{ z!MDCNlJM+y{7_$r378l%*?n9qSzX(l2`sq?j1;eT<^E^#O%-($2CDjG%wj#(mK}QR zQb)^bH)GgD095CJG&azdO`ACcKP#Z)gbS4n;wU)#HJymWtJBuCayhG z@ipJh1$_c-W{p1d?-~^PAhE8exVV3~YGBm*X z{Q6X9GH&z3)l7on+hE$<;nWb7Bd(lKtbKmKP|x#;faS?%_U9<+;44}ZD*++R14`m@iyl4Mz8^&Lbd|Bo~RJMU(HzPb?swp`Z@4%hZ)*8JvY=J-;7| zIdFIo;V~}9%E-eoWZ?;QkcpR$cj3qpzBn#+yt;ppS*tTOt&-6KAGis`7PfOdYgKs` z;-%KoqES{*HaNfc1RX{Z)cYn=mu53%%ovTjpQ0d^*OSwX9)Jvwd7`sA{pIzN)gdPz z5XQ=(MrP~Ru@|-Ww)$2LOY_qffwof{0Is81c>aLo{wHIDy(n1a6A#vGHPzw<1k`za zK}(s<5nDp88$ow7I2_gZo13VZa18zILSrH9iFv;%)^#u?wQpc;*OyKey02{Q3Gz7g zKHgVAX8PwE1Q)Jx!wC~v`-LtDK175a2@X@*$jwi0V-)UX#9c$!M=!E(oc0&-Oaq^P zP;UFwydjWw#J_UH|H)}TiS5*Vq-7dY%fInf!2&M>>|B?(S~Eg1dWw-~=bQ-$`~iyZ?Rnz4w0X zo}TWi>XLJQ&pBP1K#e;}`>&OyTot{kx|JaxI7ys?-3W}Y5{o`o)!i*7I89<76&6U5 z3qgf|p_4+0eS|{;|LfoyUXlKv=eqW(m>=b}ci&qtm`_gjkxG5tAixdEPe;m^Ua5Y; zU_gZOdV2KjkyJE0fa9y26CBrwF`(0>PCX#ue| z7IV${bE+QAfi1|OcbQb8iqTjq>W-kwCRTE?;}W-71FY>_pC1hj>`YF1ZN)bZAUQTO zKTr%FtK=<@G77n-Cj>if82Ra{(X5(n7**?9_1b-)c5)2|3fOTKFdm3-+-WNG z>pk%xf)y<%U^{2MCnqI?E(w3~G(+|A&PT;DtK&#;n#Gnik^C-@BK{vQ3G~Jyd>~Xs z{(5O*2DostgfJP{w1+Wutmrj(YUb#L`7U`o2Jot*s5BXDx=g%+aIEnZ9BP60d86m* zRbNs$0-2pypB00gZw4ry?eL%I6?Tzq6%$y33sJqy4(HAq^2?yC>MSqazb`9hq`?#{ z!&>{IBP8GWb?QqZ z_|Ah31fB2#M&P8|;=+b%iYI=}&UYeiZ@V{~P;C^O@Vfza!#&IIYvpQ*c{-K56W_rP zBTx;@C>1CqL60W}0L7)(?8|Fb7B{~D`F2Klyf{bMAwWQe<`q>+B~HAo+# z_sGmz%GMG!9YG&l@XhDLnHt&FxU|QD;Cu!8fNPmPTZ+xZNX~;5c|I32KbIJpkqX83 z#2%S*rd~jmHwJ5sa8khpod$}yA=f9pVM$BU=sBj^OQOY&O-e_=P7DmIZc{JCaX6{5 zor3SEIMdebG6U37)ob*ru_X1yA?aR}WvV-aFLCi%XZ@NjL07p?ttOr%fc+3j@5&D-;vvn~|nj+qdPj1+hA zoFWU7+>p>TMu!N7O%vO;4Wu+FN5dCUe5MqM6YpN^pMaM;<53c2($4K6MV+R+?N_jW=C2uOM40kF!(GOW(RMa8`ZK0P8iTJzEY(qu+R z_oJNNUFuaonmhR81O=QBOIn)0d2}*X8B-* z8be`y6#Ph-80hYACmg$miw@_(o8lNS!C^7&y~+x3^mhnDNgB&1C`-$G*({6RA#uvJZdb8e~YKF4DM57j0loV|whjRB~62)G#4I zeu=JbtJ1~?5!-t(vdD>|mV4dDJt*7U1uoMi;mvB5&TE&Py_D3c-4HVeZM9-YjlYsA zM!T>OxS`YNfs*-5t7mtrYK!J;CvD*lTD1jzq*4LfI7fxkM8WwJzQ7yVFWG5dM15x3$(SXTepf) zN%yu!Oikb0@E{7IOF;P2=T}3>Z4xjpAY+2amP&rnMkZ8|7}lgQVV?4<#|qlvB;NI_ z*7Q{()*!&Uwqw2OfvzDr?%EF4!9^=Ub(OI6+dDIkH3?E)NlNt}fMrh~=cU111?CYI z?tuq)J^aJcXpskSNSk*(!(ECK*UNrSMoRy(MJR-@(SMsNzk53vdi7fav5ZE}ifp(& z_IV!zTKx*(^j>ZNX@nK1m>?bti z&a@!&RNsY>fa{>duH-3~(DVynp}?Txf3!QU3e=#+KhOIri5n2|*nmGbD=RpfMwP-y z^rQK1Pzvom+D{XGww)IGR}ua+$Nsgro5MxW6&+8Kk}>?Qau*G`P~qQJ+wb!~Z?KgG zmJsvPq_ZEwAT2tkT8D!Br)YWbU(5Xae;_-vxgK8ed+0w4@|W?M3?MD4cpZ6Or$9vp@jo^B>!4o{ zoR;i&uNV5G09yfIJT?Pw#g$n?y3Wu@EB?CpuiO67I)BcD|M;ludo2o1 zJQ54Srr7N@f%bJnD2z67cy~P+L?ayBlQ8EYhHR1-CgH4z8QoZQ0PmEm=2+9%CSf(L zn6H?@D1fx*KU)XQ_gvwlwA9Z!H)Fy_uoP9`K}s6a6j;b9xTWxdXGjuvT%gy zy#wu;g&u}a2ld{ZhR#Pnvk47Z;nx&FGsMrcaO+= z{p=|RCM6VMFtc2^jm&znN&Zq--KKeV<+BLQE=@g>Dx+FnP~JfT$!a?muKf+SW~>xez2P^xJ4CJ%Mhd@ar_*T2r_ z`)Egox#HEZm|zRWT;fbXFeOQy>=o?5+~T!yt)hVDkw-q(Twc2*N#KX-I(@T<24>#+ z*aQ{hgaT}~4X+sEpW}ftV5@XX33i*b9~Ju3lzf<4tqH*GcSVIW=>Z*#RXi^_tpk^N&F` z_qCdt`h2{GEZZeBx$L4$BZpjdUx!pTCFu{UF#ZIB623~+2YsfwdC>SAqQC zfqRg9*KG2_NVBh-Q7Y-1vus;W`i2b+KP?+f6!D z++wF4MKEV|Fy}Tn=VbegHzquUw^nJ2YIiFFX=H>^w6Zj<;VzH*9AlkJlN)0OukP{o zf-51!6EEahj+ONtY|fn;m2rvMHxv$8M2YFG^N>trH>M~Yx1lNyCG%FgZOvdCi=jc` zc+xgovYsykh1?rCrL#g{b4jz7bZ|n7aMZ70 z74xTZH;y6qkt+t)n(C8ZMhvPyL5S$alUm53+Y^+94{X`jxfFFwu%_b>acJPAMT`Y~ z@Xyeveol?p*NKcluK3?|1`Hkd4McwEzoswHQfdH|-e^PP_68Msgsu9fPpp>_RrJV` zik1^5XJenV`)ZbAFU4_Gc1SYt6Hij}NrUEMI|~x^+G{Qc_K-W=bYdxqzRpdwZ{$JR z*5uocQYeXA?el9PLA8$T58@)kiv*^PMTh<6&@6+u@5mY}qr}+jsDx9(BMf%oUbAsi zA1FSm6BuQUiyUMa%Dw`W_zd;#1_UO*rkTmj74!c%P#aV6?c7jmF*)#9L7Yq~#Ei~a zU_L>1AczY=9ItSzk7)6;s{bg18d|zDuAi5N`tCYs4)I|UZR8bhg_Lj~L1^-wI*cRA zK><-M#^LCV!^NAGhXLlzt&uQm@uZS_6RqXzd80Xw#ohsfC;t^r^QK;i(R}Y5nUaM zeUf1OR9K?)*s*4Kq|wh4^z>RtMuEHW80}a+Kj%FVuDS@RAU!WlP$VgsbPzJx!yC@Z z&JZr$M8T7v-Kj2ePg&&Nsk#`a{*f0kCAg=0DMD00*(@F?SBZZgjqS4H(0M#<#i0$7 z%ltB|((YPZ%$U8Vf^r47b9jR0@)jrHj-3Xi;iB0EtP__*AsJL#mZUr-bd(n;E}Jar zJp@ooE=J?B;G}!k-u1qLyY!nxiIOyG!^`61~!~dH&G9Gm+6f^ zw;YCvhx_MvmLWA5HI9+YXH#*b)#h<5u2aI4jwsHeN37s9hk;x7+@E7j>=^n_nt__2 zie2ndwdTSvqlzBC!Gy*(QYnSM&j&E15 z;Y8gPnDpFe_YWalJ~=iZ%6L9cAvolspch!1mVYee4VTOj!-UYW6&<=czDFhciaHhf zjBk&+R4pk20xE|KJ_&M}uVoT8_)QyEEaW?!W_$B zNhObAsGOJN(kowF$6T(I zypXc@$$ocVDQ~{F1>4>;IS{yt1s?05(bg-Il@!HdYa@o?TIu5opuWs`(v#T@BC~LY z!}UmPBsi|HF*o0IF6@J^Bv@VSR6rieaHUxG55?_Z^j%cc2^gdMsu_a8I?igmoc`p& zgu(*cevK#rhUCIq)~9B5LFWobrzC^C4^(EYnmSoX|;1i zsk@KVVKItjF`Auls&Ees*!GZ(3iv<-QTO2$GhvNWeQ|}=p;=Uh`K?&w4NAyJ(Ryxs zJNjvR(TVqCeKAWa&%Nh`afF8Uc_JO!1{uOxWH=^W;zPEkH`JGzgp32G?3cxZw)A6d zJOZViaEQC% zGGN(>w)W8Ck~xVo6@e=w5k!ZmnsAieu~Kl@6F_1i#D81fe{>{f6nMqh-;<#4GaBxP zA_gbD%#R@bP$P9Gs-#dJdBof-O1pj(e3Ob>geVlJh$Xlpl}FmU5Loz)v>}Nc4IvQK zQie9=!>f1tp}B=Zl)bmrkSpug3ThfR*@V*sUp8E2kc@A(MX0!+kSvnp>^$+YId(d8G~X_Mc- z=KIvTDHylyfN3bKW7l#}FMCFpdN{*PaL?uEGep_m#JsLh7k`_=(4%9S*w%KqhEsfO zEcOIx`sFm=MLvhdarHp@Hh+(4qyp+~O%>h_u2MXP})=mprtqo17vno~Z# ztxg1uUm<)NH6>$os_nsmG#5w4VdaOADw||Iiq`Jn9O%Y1Fg4Y@*YRvPSfBymuuwFq|61_=^d&*|dU3$dZsIHROM*)ASN)RV zka(&g#`T`xKmX{j+x!k%x()Gr1L2yMGTMbrk-s*HEl2S8Zo@SGoA|(?7_(J zR4pkCohiK1{JQ})DK}=EhG{X(q(q?}!ge{1z(M#1v@8PuiUJe!H>!SNNdR<*LL{pb zDM|DZ$(T#H{-6cv$$ZA{XP*M#7$I^z-8+#IY$NcK0i9UiSCyR;xncn{LEXE+N#J5D z*!&^-WCk1D_a< zM%_*;l%q`t{mEM30L7tgSTU*S<5{MvKLCe0xb~T4FeqC*eYBKN8h70y zI~xQ0s3hJtHLIx!_ZVSxA>d1gIKjs}7kWzkFIaUl5I*@GJ%?4N$~9W`KFpf(h&}j$ zsHyAk@|H4*O=X0nbLOsBFD24Dba__vtG%qRb?HeCkB4&Y8eW^ZpWKrgg`(mo`#0`< z16LhIl!Q9G_$=CkUVQ_0P4X^pvl=y5^kIVa+ZxhrDP7K8Hkx>JpiomdPZtS;FY{q? zLTtycR~9b!r)&IwTH${<;<(44SaplvV1-Yxki8kQi+)g2Fi!z^qG%&f${}ac!Gvfk zKTI2c!X|$)JFrj|b1e%WP~>$WidMr1mFcuq?c_w6`jYPFe9CLzH5M-X<+BH7d^~W0 zks%jL=?vRhbJa^JSWAo?2tuf!O;iu8~SOyh;X9;`7O@aSbV zGrq!+Eez(#P6;m02|t$kKN!{S1S(9jO2P7%jSAlJ%OCG`Ea84^SdJ$0L|hTlT@Bi- z!v+jj9%5y=a((hUtf*@fK+7o>cDAW%u3nf6g6W~i3k0Jp%fml9jWJqP8C_y9iO{`d z#qXExn@OU_CiI>`65KD2S`})oLsC8 z9Uqb*YZG`3p3@^5sOX317Z?CmBtJyHzoKd+V&AXy{Sm5D+*-so@NPXIQzo9q4UR@H z$seqW_Gv7b37Y(>5 zU`kM1a!EN>HO%}nkx?l&pZR9Bxbx)VA=r|E>*A1eX;RfJa+Htq7F8V_z8c_0kH{dJ{sKEE_OTvceJD2Xf4 zK_#*yk`)D+mg-ZOPL766b4|AcFASynajPaa+>r;0RT#Uu?ObjL4Wxq)M`tXgx}dMd zjTo~fR{^PwLLLZbjd!!tw@Sh%7`|$IgIa6AGfi)Ixt~`@P=r^7-IJ@7=O*)p&Wu_F zi2bE4+RN_a(S~urhtzNlQEl|`EwA2n^yvJit8p3b8U4#r%1tvaOf;84rn6;{$p!R_c?CN$)e+t^nNg z(jPwvprs`^g-M0|V{J-80;i?<4?9LD3`(NQ0`az=jrxFMMyXz&@pHHueys0(+dOE^ zaN5p!jVIMwhz=dyFN&QRGCSW^vt#%Wy%}F{+I5YkW&E5}%*#jAR{2)=`%3_GQ%uW; zo>+Q*9D-eom=;=`IX|aaG!XTTiV&u8LXkd+qnID#tDKnnEQV?Q8HI#D4{dlKhcLK- z=zK7WB{rREpmA?!@`(do`FU-HAQ!Es1pUX}Ma-~SRSOh_vlXlDv*Hk;%*GjF#NSA7 zpWOvsOu_*h(k^)@sn++ zQY>6?Y*hNx)T4 zkKl4#iyC-|ai?yY56sfm@0M<9XrQr{V$ay6@P{=rEA8?kM8za1)cIaqjR|b6zg_cM z4piGF-FSZ=)PsmOr8H7%hN$uMiiral4X&Q3Pt22?^5azrb|yQiEB(p!vQ!sbKJlcj zOwL-eG|dYmV&lV=gEadFK^+xvdo>7d`#jcc z`Obx%)wx=Uwrj3DD@_MW+)gJjL)!5{i0GyW=_ncoVU6#V`e7B-kgA(=vN$(|ttf-vjC8LW|n~ z4NSx6q%5HS5TP)|Je+Kqj zIvZ5YM3kjq=lYyhkTDfjUEkqCHJ?d6u~OdctEH6dqGu0^91obF9aR}RtEKyyPm!6D z!;OXrqi?MlE4u(cE1KO+CLg>W`)E`t{6(5STqzUrlafO*m(LiTLrCL_g!LgnO~mbm z*2-04_ZJ@nU|rp{qiDXOj~yO644PX7;Ys?!o5P>_fC$eWuaKr@+N}8EXL4MtvE`0P z$Gg6(8UiQar3;(x%Dd)kd@B2=o zS-2_9;+w&B+mxb407xkXU|)(xtGG0OiE}v1+_2pQW1SFX9Sg59I=|*_=Go*CyGu@k zX>L9^zOiqJ_`ZHFbcMv80eKiP8Z0!P!$>_s>OepVjH~6Ykf|TL{h*IQRM>_xG8hoa z>atv;)|QM6kbHugv3sIxoUjlb821o}5~U(W83z{KBM#hkWe=dU^{efB!g!v%F;pf& zpOQH3aKAw>0Q<}C_#Z(-%-}0}HpJf}3k5Esd}iL4C67w0Ne2Ged^6;;E#;Hl=R2UI zWO%GG?C(Y~5c%lxH-h-*z5gaJxSddpxij;ypl~5fIxh(#-JwtK_er*NLXf+0d>Yq^ zA;n-K1tAa@>Nq=z!~6AzipBma+r8w+{QuXxOOW}7@7F`$=BW_z`(5QSJKZjBgd1U* zNJ9lhe>~gQa!rdqB<_fK%l5m#LQwtG;Ivr(IR5R0gOf8q!y}o%GnLM`&>)Jm{^JLs z-`FmK4MLUhpY{CHX=@gPi7{5*l`M}5U{a-hoeLFw|ZzTyn z5bgJ^fN5Zw3cqXk_j%Csf5X(SW^y6<6$iBpRos8p-ZzIrDD^)Z>M!&r0SoT992Mn3 zO84)}aI2t-b^cMuznVk{Dg*=%nFj$;Av2B7SJwIMs{V<>_%cJGUFH;%wRQtwD~&MX z6UKS_XXbS1OKe6^C`qKpDS+9P(Q0HYCKKRD2WJ`pQ}~}XvbR9bp8gM<-E~XFOfJ8& z)j&l~f|QO|%~s^wF?5u{>Hu5Y|>64)(9C`&BJ`&NAMw!ds!A$1tM@i?yd zLp#*mfCL2|0|K#{fm*D~C7x@|%CjPXr%+<*(2}sJL?t+=7EsLo=HF!j)erPS!N8?O z{#nAGwWgu`Sr{dalW;rbo456Z{5;H(*9Oxl;zORTQ@z#;S4e@Z(=7P#zvv)-u}M$z ziBZ#&Aw7P{t3SKbuY3R1kj#y6F%4q>jBF77h5B2!)TBHW!IxN}$%%(VEmWE`utAkj z5_+zc;5%7WwKn=uvSWUV%(?{pUOom_&q|=Mpc*(Txf%G`q~P07UJ5K* zb;Yu3f6O}yd{w*E_^VV#g^E zZ7fAYo+LHHYGP4HW+-1t3Kt)#RkHlPZ>20;LyxWn!l4+!5sPajvgK6eS}2DRK~1SbvDwNo9NM9gJ~eIQ{s`r0 zIhLssHAQen81l-e!0WWvvann`#>H*M`S5$_c6E40-nEUDmh2mJo7|QCoIQ746N0aR z9`cCCVOg-{(ah;ZA|!^&dz>pB$>OK|24z=HbHrP_?-oR_zsb*ccs9U$mV1vRnq=R` z+e2N}=iHl!rnq~)7WUt9?|t}ac4=+$IYY2#oI}(@Dbgv;_Oek9x_qH2kl)mu!)V3l zb++4FK8X-Pn9s!c`g&5&WzChy-OGsdT?X6x{Q@b9|34E3xNp}Wj}7l|wTqg7y%{Sj ziGoU*a(|-dtNWJnn|LD6=}s0RAiZVST5KWEIt;ve8`5_+GT7I3}##2br?0S z#@SyK#($XJ(RnG}d-A9sA20|`{?Q1vU&=7MbKXO_nYbKo}Cz+m+A&tuiKzc{) z(wG}9j!PbmnlHyI=LtOT=R$x36DUF5@U8+ygr06wI*eKMS^>Ao1UHjW*99c)n48>xi9ISECF9ka5MERoW_{7w=Bwc9QT-u zYn%7@tRGO8(X*?Mo$Lz zC2FJt6Ay97J@7|DngU_B6(4)-iH9~^Npa8%ok_33hqah!+&taWhrEUlzIS^SO>iW} zo$-&oA84OsXdGjftsD=0+{k#v<-u;0R>03!wTPq&XY++5+!m^IWUd`$nUN#x#(WCo zT|Kk~STB|$KcpbpB1wSp<}#tI(Iv~gMv^R#bM1gdLME8 zFwP=UdD_zB63KD4oilGf60BU=qh@=_w*NF&yi{x4QbSiT?3J$N zh~iiL&~zLO^tSY!0m5qNi5hmp8EDN@A?#OM7T##XTcS_hUrjz%64YV$l5Xh-F1Ef= zuIBi~Eg8awFH!W57Gb}2{FgLpCwSjY0aw)|!hL5XVaPc~1}`5hly0+;okeBOUXnn&d{W<} z3?37;7bWsddt%37amlPVB!|+4pv`LFir1^`#0jHe3O<86_^udA=A-_&b8X9SKGN?AWe51x#3TYsQH=HjwIrY*PgoE^OL z*-1{BUTFkOXZ4)mzGF`=+*cs@idfE4M}ca!I-K*h(vD)hock^4@AkM<*n$VGom`e%L0h$DkdHX@IOvTAqvSP#yQy>bVQSQ*r;6h6 zGUq8>Zp-Mr@nGt3%}D*I5%x7FgH89MsYl25AX$l-P2BnB_kc!sZltuaqan$I2*>iF zxdl-J4LC~Jk#jw|%PfCbMHXtbS{}7x?qXDtLvT!z_XA+C$g&-eMA!<(mmV4_9Wy9>*C}rMUT%-oqH4eeQvSXsWDiqQfm={!T47V zE=J}vlOOE6^mFkBBbgHQ;VRVLNzBx7v$|E6XW&Pc$RLTm^I1d3lM&ubo`Sz4|B(E$P)w-~vhyVHFW*;F<2Bdh2j$hWFpLI-sR z+!{G^LwPGZctbH>m3+ntPM#|(qQ?cF+=K!J)~>Cnp#B1wJ(RIB%$Nu#UR>~XU!Up` z#EH74KBYA=*cH-!QEeo#K^w_Kvoa0F{L%I_HG0e8l<{OPIW_8VGBm^80u=x)YCnzm zLjbNh>R4w72-rnX;KF{z$@IRY<}Y;V1<`}fD;d7r%K3`^!(IUCm-=yjKlC@K=5IKw z8`t-AoWp8x)W2dOt!kSTW1D?Av?DgOVV_RGTaJ8sm_7SRGP_Zb^>JRS)87c!-NW5( z1yR-IE0!k^thAh{5~LC|aE~pkvf+HZAQ@>4T@pCk8G?RD=7&x8Pq~RRy}lJa2csMK ziB?VQko>>+F9dcNS(aImYW~o+*4P{;Jfi21n<6R~Zji*xwKImjr21`N2E~H?x3vlK ztOR|ZlkA}~8lOkuO%1;_ysN90U}rzKXBs?3^smg9KBfO&DsoQjN;xR%ww;Y_*8&hn zZ4pVpkIw#PFGcaGrm~p$*l)(a#CD2RQU+^&6@VhR3rb*WGG-2zq?T`D!|PcH5i}MV zDggyB(Ur~+ql9}Y+-Yp4c^zR&2o3H(?at=8Rjr}F>ue(&qnAA~tK^ZgJn7o5nLgB5 zjFs4kts027^8JA%C3om|ETfWw(V6GZ)8U3dowTJk=q09q`uTIM$onN8qP$j+9d+%C9d`>ewr^gotbr4KhBD*fJ$Pzu=@|`Oisr<%Z*Rd!r$bI2`GP{? z%e{at-;_7vcJP6IyxvE}xq^DCmoP#5#Oyd_F6SJSmi-fB!uRN6@01d(@(YQhayDN^fFEkAln{CO5T-8al&)w*9G8s-iJ;HoV^VM>uVkg1O-LFC0cX?g2KLuFKFm}}m41je~qLUMI zuz+X(nwToG9dOO&Syy>+TSY<=3-&j$OoBseX*t7ox1O?aV0Hni{CW5p)u5H z_bmBXpvlG$!g%f~!SOqoN10|3 z8wh6(TzeZ%R4EQRH^w>MxsAt?do%!`t)8azw1Z6860J{Z)#Z^-FB!!?XE zkZfy3VL0IM7)Uiv6%@Ji)J}-)66O$SO1ceyGfNJ@BLJdt4-f%_)j{F)U!tB8UgqFF z1|`ghl?U?-N2d}VzM0Zl55Xqh-i`VQ?P$GNLtHc3qWJ`kO85w{Pa*^#Whq@&3(W-@ zDwdxe~(EFS)vyPHx2nymFu+9agOy-uKaM!I)-@WeFTqT^V=A`axElPIM z8g>gimd#_aV^W_8I3E?kdAog*r?^aC$aN+729ALpGqha z<5Y=!a7`rCj+X|?-ZL?2)f-+0Q+bo@()$VZyQ@5!?X|gBU-11!&O29vRE`X^J>P2> z)V<7^2wn8D7|0h!VV1IspOT_R+-%w|MSWlpZNoF4$Z1g^&p0whu;5EQamb(fdmnHh z;(+Jlg3D<`yjNGurAE2^Y)WWnor<&-xbRh_DY2Z%H#b1xEM}OKU;RPu$L%CN7*@j@QTS|}?1OhL0KTXQJ1Qp+>viaQ4-p;dZFASshLiVIu5X(Y0q z;r-N#uT;NbDE2igSc?r7Pr<;)!t7ddJuZkL`0CF0&?AjU@zLv&jm+Iq0aYs7RGy4M zOFq=`OB?MR2$~+)Og7}a;et#VB^ijr#j&z@f~X1M8E~AwQ0yk`XGq02t{fJMWkFxL z%RxFkiI#j^XP-Q0g}+h^QfA(}vBqZdYM>b(?oaeil;@z>ebT zq}ly8O?vTiEF@!$nY()VR(2sX3$wNr$L5>0GMnNg7APz6yP2-X#m&9+AMBOj;3y5y zeO=IU)n1x99D6s4qPpneb%{hGrJI~#H-AVH$PoW7boP@T*7(WL2cqb%Jl>e<5*UWZ zH|2_41l27=Yruq*Ydj^X)&<0Zw0Ih{75}INld(eS{fr;7K|T*tFjTr!8fhk$lKAnK zB;`*Hw=@oBE9eso2jsp*)RWb1KT&G`jSx^MOQ_tF9Je7&Ii|5lY5fGs#X{qKG@$f( z{H$^QI-{YCB!Udl|4RkoVJ2uQ3A1l!(;1b#wr3R)922JxxBB*k*E;3MOmgnpOYz<2 z$$iU}%4%eeiUvT!KmL%O{xaTVe;3hcB2h{Q0!#)NDTnsrY2V6` zD{x_#-CO^0b%EO_mI*Ee)AtVz|B1XSqed=Ru)7VqWij>~7Xf5u(eO4*eCcuLOWOLu zm$4ObBy$#ibb9(VXyG|tz*^=U@x@*QdPSed8 zIL`6FwTk&|wJdIUXJ7xem$faYfa!wrZS#_SMefcDXtOh~(Ywe%mIsi^B)S09Hpk1o zvu_?7^1B>i?9k9RiE$>}R)&SAy{)ZFOM=fpJ6?GUxiB5;+1?)27M&bRw`fom}R z1~!s>wLp5uhQxU)+>*2{w8?6WGNT|W3p?kvoPYL4A`-uuYScCy{TsH3Lg zlllCNaz%2CET*9swh0z*$IZP<y1VT+#-DRQYaGo6AS7awo@N;#hk161sO5IQkR7uKHcZ6&;tJf_ z^9gR*h9~vwmzX#bSY1O_zgu2EP4_(bFJpUuX#u~8^lO=~6IJ?zE+-nHDRu>-*n}vZ z20ZhYMlp9*B(PyR=;xQ~H9Ym`(lz{2r%Ukq0uKx11*1cp`)M(u$gT8wL}6cSDcj?t zXN8n<>W-x_PutG@Hovor)$dZg(TQ?CMLr>Kx@p%eb{qbMk*l2g<^QC}Wp*bnqU8?Mzyvb?@cmUw6ChU}r}Ill#W;eUY= zV4yRykVjpFv4Wp)ehHZvd5K&dML#<~@!6cMd1YnP&-@I#v%jHr7WG^>v< zlb3hk_Cb)W9|6BmpF}d)sU7O^2cnljjqn>iZ*)n51BdZ$6;rog!<|TB;tHw%l7v^G z?uE^!r?I}NA-ibrtAT8OeI6)i3FPnLfq&5T*I)m(br7os<2VB}TY>kw-R0ac9lsxb z`54`ItQNSTC4Obags`<$HJ2dzMu6A~c#ZC`EWxK8T4>gThL#mvC^|}}p$RcIKx?f} z1UDhjutPigBd#xicTdRvXTmC0ssNpTkXqp`)~-}M-7oW7xJi=qQ*%U26M}OvtCR)%%1 z#t3ofBZG&+x*qkLc8-lqtD za;d(*|LE}iaY-vS5UQk%MQbqy+Yh-aA>=r4E+w_b4V1deC{kW+xqI53fdiEy{w$K; z3`k}s4tg{984$cL`D2Q*!xOVwscQ7Cwo+C!rJxe}irZQ;9F`RhjBW!{zsA0i$b3gR z|IgIl#K49p(ZI!OQkb+ux*GS;w-CWLlca}%A(6D^mbij7C|vX|Tw(~?IUkN1^I|&g z5MTGreZ{q|Dh>#$S?Tza0Iju`FW4li;dR<%mrMtN2?F%aG}T+qdT|rDm&-?O%k}a| zt>rrw?Z*Vl`%UxH-+|xQfkM}qRzBD^LbDK|s!<>=k4$jzZ3_@z2zzsFX4Gk1o(I~; zK+i~NPbQxEun1{5Qk!6>dYZF^U&Q;|N!l92bg!X!=3#A5BlFJm7~ii$8Z#8dOevld zBw~SZs~6a4hNqY50qOw$fYpwAgQa)~sg(S+nx99qmN0&+UOcaVr^bMOc4o zWxfJXT4@AbW;H*;S@tGwE<;HUKAvQaf16xk%JbO6exJ!FKzg-K@{GHqorU+_r=02G z72$JsZ%*EPV$LJP^guzCkzF^*)RN0+B5vR>YnD*}ob%cG`3Kw4=v&FvXMV_&oAJ7J zgv`vtje8hYMgdp#V74L!U9VTh;GmKJGsLRc3CfLR-M*U8Q~z1tWo(yi51=V^e$LYQ zfkSm`tA^V&%e>q87Bxk5;%7$kt8uOw*_9hi!<8Cl%C8oiQtVjO4X2=Bgry793OEFJ z&+eJ1I8@o_JtQVKf;CYK@yHorfU6ttbl;CdU{msVWyV)HD+|r$-m!#=WA7AT`bytn zxAM^;h4~qxa6o9?v~vDUGE0+jiB)f7=ezEk9Nd8AVxXwU5PQFSDx@~DvuS}X2R^b_ z5>y($-b(h0^$0hzW`>9{SIjk8e4on-*YZ(*I{>wRLW>9=lV>Fg>4$n_)XJv>F;0Im zm#BlUrXF!{{lydRK)|tmQUOUAr(roH0qFCgpGA2eUX!M)TrZ0WUd3{Q+Ggt`SX=Wn zX!^VEsC{dH66p`fDQid8uSMLZP)ZzEVYvO4)dKlkXJ|q30-3kg0E&plLA@2h>8!q* zlf=3`8%yeX8P(XGTHi|Srzrj!>pw%?acHOfi3A@aKM*eBEyU-SyU&jtM=$Rf$B{OJ z5}z?U4&SFuQacq{`AloZ5vlr&e$c*?T{_4e`^H9C{{7Sr*Hx%fKPGZZf9{6s_0X@k z9h3of$|hJrD|{!|Xi&{&jNI?YuS2phaz*eZV@Z$Ohj@?alAA*MS6>6g8HhmL#sLMG zUbqfmo!WbP=Y^xACHIn7^8*@PCD$yhMiTG620{AZr6-3mL7X9v=Zrcl0*Mv`vYbuK zD$d#iu36EXYu>HvV@>z@;8dUCMGtm#yt7txonNFmH#VI3to`0rIX~rJ$;Jln(U~(M z*_Cl-gVVb1F8H|}4N%9^iEks`nb~ZQ`=aW<(7jQ}u;&b&aeQnK(*$_xETe4jl@=Stdd6%cT{nr`6?OdzBAtSCh?LSH-6aMgg3{6@3@IHWB@HSy zbSWq$-7s_wAt2q|-AvsBzVCPMeeV5}=NS&nK6|ab_WH%L+Yl$E(;5CJUYFnKt}S@S zc}x5;3BxlK1Iv5r*iOAd2W3N|pLVPhy_^gGy)%3|6(GOm#D3(pPLFZ{_m+y;6J4Q= z$7aON$2LAI=2s&$a5OgJon%95SE~IFQpF14zcQb^NV{S6hui^^?6xi=m{Ye7xJBpr z{L0}>?c*F^pdCU#;kzF%ZnOt#+YKO4+$|Nh7_`n9+n>f5oF)}nHt4&Rrkf}%!hb{M zK*@cq7MmV*{u!~ODakA}wTqQvc>g#KE&TUQ`~;y-nvO=1?cZJuO*!~B!ZUZFa*?Cg z-PaJmQ!!BJqGpNu1T7vh0Y-PM)tD^fgq9%pl=1zS;^v{T1B{)lJx~8<;M$TFd4O8A7vn!Pl^}Bw$#%R6ghX>J1IarbL#t z5$9du)kh0h7cZu;e>q7bn6@O!3#yOyFFU;S13*DpFr)Fi1NUuP5^{Fc4npWo@B%gp z?zGlu@|^dgG=HADo9W&}kM)z%a=N>=p}0}Ufh@>^%<#L|J zPkK=TSr(6uj?R}zf9A3Nbo-(i1BGj)65iDg@yp3oc=KN>PJrgKPyK)}zXdyhNm4y~ zZ&OsntlNpd!3h~%@6y8*X&a4;CVx1~+;?0_>4=*ual)x2g;=QNIkH7Ox@MlOL|~ZG zm0d&2c14p9zs}o`R@EVwbXi=L=&NZQqfDxOjT)#1r3#W~++gV>1R}F#D85=`&5+rV zA~e)-5i?i9M>0(a$~Bfj*a=j8PFrL)woEZxIbwbJA`FE>=zjFm&HPwsFzxhz42b>hJ*we7Pz4%p%DT8UDM)#WDUD8vq zAJJK3{>yA2E0OI&7Bkj12EHTHrTLHSNsXu4Xn)_o`Z0FR?AhTL?i0%5JM5~Tnub^> zdPQ=t21G(Hng&oDX%$b*!ys;ISx!W2G4ZnIQ@J$2Vxc1?Cxs)8XHgG%UDM4-E9%yM z+YF2NS_#dQ3NUu@_r@^z^s!*r4KF%3M(6&Q9-!qMDbL(C}r)U-_r zOL;cv@baUf_yN_T$f2a}RX^`<@rj3G>=~Uu1UEXLHh3ZbdeL?_7u0Yme!ZzxFzm4M zjNN$H)#>YB5h8f6KF6LbT;w7zDAiNHuWXd<8DM&^Q$6_xp zJ13NVQi7P`!*1$NoDVCBVcI=EL8Js8AV^ae)qUaj^r7%Rt48KP$xy1<^zYEmg4q`r zfjbus%oIy_wodC3V>+SdaJQWD1#nCl z#58-z6!eOU7v~_eGfRf+rc30le`O5cnNzuBBMG4gNOlHpbT)k?c5){pBla+YF zjAhAvz)Sx;xB)EDPXE37fMV~1W6-;kaOnqa{nK`r+~s&p9!1kH`J=@hkb#ub5tMC` z)9P{;=Aoq;gc|4hls*}IF2#nDz|Y998`eW7J@=BBR*L2bPLh`LHbYyi|4Q_w z%y{nwJ{M~w{SKIvZ5Ndgr1vMA2)`j*jm`Er7ae!Kw(mboh@UTw zyBIZnfU9-G@E9t{h;7sl!9O+7UJ}K8eEjSE;d#@zlZ{)UoZps#vV z3buyZaBHg+Ql_K`rsk=odC~+v+V6TTQ@?9p1H$1H4VIJ!0@xpSZ)vX`l{J|t+kGqv zkK5}8RWl%I5dz6lj&=mrqz@xayu?uCtlzC;jL>vcZRjp#ktFexKmpT0Q0hJD%0~be z@RXd|ea82@D8A_3s{!LMJaUEw{t@G#LDb(6plF^_TX&s{hPba8HVEc@-Ph@FaU)2Y z*@b&TJ+J<5<-PE}7`j-T)tk|HxL9E|m&{Tv8i17EpG}w8;cQT_ZjeZKc|ZA9;WiZp zVBCkabTuHbm3(?R>PwF{ur~bfUS4{AD=d_DTf92*-NQRelZ?z9ob#s4-!in@n6ffZ`%b> z)UVc?>ZAL-rI@IvK;BTDRgdbH_)Ihb_rjBmQNS+KH^l>b>}pCC&0cG0B}C*AbKIE% zROuVeMXk-FW}l%HF}w(a?F^taxG4uxVThUikS3LA{q0W@@6~Rl|2+8 zYxfc&1#2H|kuS_(OPXRL*3tK8@k|VQq^y=L<48*%j#w>p!Jtv_~{>}N_`wgT6 zlSZ|7`4 zs+vHeXQq4YOwqo}JKlDhU8UjVeCu4g1AC9B9LT4Xg{xl~-+YOdQsCrB3q@FEu@#Oi?V*JTEf)y5GDmq-oKXmI zE`jTZB)_L15;GcLeoVXAEg9YN?H8#~q9v}(Pcz!T{q>HuLXq7u>gNz_RKs7sAFQfa z&$uwk?NskWT=&l0_hf#7+BA$9+${;e8pgorVv0f5*G6_clia(rdJKbU)dKAiFX}Z? z2T^xlOfvfYt43OA14gHx`RaK5(T^9{<;1D5zasCm7gr~GnK#&YA5kB@H2I4MJ|w_p z(yTZfrvfeK6nfva%d%KmtYW1khVVCtp)7n%6hKQM9T%O`{&{6-VSK%Bi7G8-`JJR! zRigP@Cozk<^8@eI5#({Y4*@Q+^&%LvG!%+XQjk=K~c4g zKGkTNlxdQzopNNYWnuEav%w_l{$hnaw7`#PV{evT{Dt7XbE~Q2oEreufBVBmg9ue@ zvW_XRiBpfNAMrxlQjr^_Xr+{x>XjnG4bU&@^211BD<+Kp!~ALzo~CrR!}e3gO2cZ= zc}x$#r~I!KzST7jvq=U;vxC_o;E2TYN~Klv2;w;F3yG3-I6qi0s*u{!HS!Q1ZvATmBY_OF^Fp;yUdGFl=+jMddg}!gGU}dB%a16 z$o(io#^fK}ZIOTRxfohH9@CVzYaq`AEMpoAKkxTT^G8>Li3IIvB^w#viIR%rzRWqS z%pC{Xv(8=M@;Eou)_7-L$C$)G=vV!;Mu4n)7);L~&rs%pmXuHT&y9L;M-q;EF6#x} z4Wb6yeq)mybgq&Y%9mfcux#hXCSwsZYcwR=nnn%AL04F+iH6+1K~=oNR3+8eP**e% zY5tW$kr5ky_cASkO_v83#0Lo*&?5Okfz9cALJ(CT=>x(|4@;tdhcS#y# zb|!@uIIZKHgkvL`Y8Sw6)Jzmqi-L&$0-s)9;j%A7OLQ?-I4aDR~4y|}|4<^Dj7#;fc$L!1RH zUn#`rVJ(}0;AM$Z1ynz_2qFRiHW zh+{l7j$9ehi|=UAi=DHO$ZNM$Psx)~U)1?p7mBAVsd8OxLC-dYfIGmQ8{V1bQuv`#BQRKq1WCJr~|W+i5J~X zx$CoHnI_@?S1hm52^Hwn7%Q&0;B%%dKbZKAC?(IW@FGK;)z^B{Z2{&HbV! z|1I0(NuTkb`Ej%R=3t!@XJPHs%wfr_5UE|5)~%7FoQBD6(G}6Lq5v#0>9U_B2CmcY znGUb&vgMz>?-zjMih+s;NbgRMaTfg(d*ozlXIHmNbh@kI z2{MIKty+*+nHW@UWfr`j<5}~1-QnVQE1Kxs^nA+_w^rsrG79BT{8RBV&27pso_H#k z^J&FnQ}A16+AR4&&JqriYgowjY4Y`5_Fw4fnn>8kT(8(x_FGBGmNTP+_0|?ZHmlYp z&S0mz_hD4!V_5a>j#6jhS(wS1VEnyJrJw>)=q86p&a|fgEJZry4?SJ*e{ZPb5ddyCL;^K2V9P(;KYYwo_`|Dx1S_UE!!rt&FcS-N){*5yJi zE;(PSg~4aD+X!G$`V=di)WNpY_erinT*TMqPA4CNq*^wPRVonTcqKqmljIch6qn%O zx@uI^0yXKJBK`@qkmXrx#rJm&U6%A?ptho(sg>c+*_dTNpKog(y)x;|>Du)uAUnkp z1_O%DP)B=SUwX-@xlyaeCR|j5P>9h^DMve+>kv(NZh`&4L!fJy9Xs~ZC}n9H^Efbl zP(f!sd;eO@LI!AkJ$U>4<)BJ>xT&wsm&gI-kW9lbTD-d*<0@-m{&gN*m=nmW)R!Gi zgi2_3n&iTuKZt_+<$pPcHJyc5rATC|aicJX__mTp>%6meSoQT!V_K4-7S&Spn2whZ zuTAqdjvj9^J^LF?u2LnIO+`K;Zmx5y_OKvAP#Ee6-Y+R?O?k`~0TRov8?7>Hf7v5C zX1bjo9+-~j@AkSxRY|?+3y;AT=*e7sly(&bUXh{m$rZwKy~EFi?U5ki72BhnCftah zO7?Jo;Cr@b+fki>Uo^E6vDpntFI058m4<+}gU!O##L8GE`BLxB8y_gO^`*##0VA{C6LVa?s`j+4VPHzx~i1xd3nxVB+JhXs2zP3`EM^^`*iaKGB-W{ z9?RB|r_vC1BULwn>e>YUbbzD#BZ&{v)zvtPy<%3J2+gl#v9I4*KkF{8@Ks7^qI<_g zymP;FDh9tQhm-DXV9#5QxKmbwtaWG4SsWoV5F{mX_W}DJ%wM{Un>uJxQkV7!(WiZx zb$a1aG;OJgR*eUPGFhZ3#rz&pIrDvt+%TnP*V#}&9jY(o;WlBd2!3(L=h_-f&;^nF zM$*7p`2O~4Jwr|rX;68DC1ExoGo0xzw_&QM~f^7#MBQ5I!r z9<7x!2=*?Gt4Vh+s(>iZ*QmMOD0g(@WXRPMf~J)J-3^|Tn*=TYmYt4diaCop;Z{3r z_GT=>Z|oHG{LA1`&Cssm2*QCLngf;-Yg)`mONs_LOCK@+0C8>557A(B7LtFGW6Vbj74-`nqWkeSgr(#b$`k1|eHjvHTA}qCUgAL?b>=<2Pt{ zCwE+%sT`CGQ&g^eM|z~GL-;WuCUAWm?5id8gG<5Z!sBtVfdcTuuNChtvQ(ne&^j^6 zPp*Ex?jviGBE;JoGWCe!qE#I|z4h(8l$qzEY7imtK~sOep7o{hIK!{`rx0P~HyV!k zClZOz*8Xy&@Q{F{DWcc-0rx7E#6$uE1kC2DH~T-bmDTTuB2>dn;+9F257=n2q!L5y z?@e^})d~>IWJUxI;4E&{3)smM3ZmYI6&JGTp}3<3sc2gDDH3c?y&`wW<-;f85xVno zd~)frZfv7vOVJ7f(C6QqYwxBeefU!M13xeBp7MjXytM_r9{Y%nakK^VnYz_Ry7MIB z8LflE2>#Kyj+N!;jO{xSoW|IC#n!&sW2F8Iz`8ed-wd_#SDH;tTwUtVNsSMiOcT$s`zGTust`Y0Ha!qzP~%AhE=yA z_fL_uy-|ts`sl7g^v?{({~8b$Nq6&_sLuq2yxu=iDVVDJ8d?h*7<$6s`%t5|Z5|x4 zF_s=aiBhowd$Dl_`v==?L{g3fOC8a#ZRoLoTes1yoH1ldqDb@-=$VI%H_Wc#4`}i| z7StkLVt+1&gX1-0-+g`BRR!4R`mqj8)*OpeUGROixpbw(kD+6mim3*#nLOEibt{^6 zz|4nKR4?V?r%u(Xx^$jJ9*|lkPE*j{BQwgMIb5QfX<5j&8A@wmD|5Ak<%jCR0NMk$aflY5;F3tB zk#7%m)c^Wt#jhZ!>~7qM&fdI5yW?h^|55tlAYp0*?|ZB@Rp2+-R9k?~cE7Q&B;)nL z2ATUoJH+`1`jgG!M=9xv_A}=uq~>4eVURQX~8}GIOKvfTMfL zSTbjXVUGT|O&LLCv_$6T;r%gRk^cH2IWZ=zy#wIcrh`U0vb;oknNLQ=rn;-vwtAIf!v(U8BUM`NFBW@CT7?_y?*2$o-%QVw2{R#{ zy+fjle%?s>SVIXjldPYuUSing)ZnR5s3y$$gus2czjw3Ovg5~pO$52Hap^o-Uxa@U z=CfC5Z5QAWhbHHYwa?-VJJMAnnmMCoXo3DGx~ykA-L zw_^f)xrY?{&xa+~I`i2k9rLTFpS(6Ux;rN&PLcPzW%}Z-=9izZvLvSMKrMTwR(|pz zFPe`8y80C&8~3jKOq;?dGb|jazr73nlwQ62^FNM;8|mXYOnA?fe&R7D$p!b_fw{&% z*@Ex=Y^^`zyp+j^-0dvs^4vHPVJ~ZT)r~e{c*8o&BOG}V)kudQ>rJsYoDxiuL(i^n zlXMG!X=Bv}9Y^{dWNj4n=BjbWb1{L-WC>D=x3FU0=E_S02$+ zw`gmSb3}wpGs}MLU{J(^xVD0qdLiRw&AD}<_fUyK6p5X zbaS;U(mY+4(Dabho6oFs4yF?Ju#$nE*`|}^cs{X4J($s{?WzqSd4xo%mN92 zugp>S!(XL4X0Sb=N=xp!M>=#K!~R1Dp=*9AY3FoO=>wg7Nr`}|QDy5Q>K>8%HShDE zNLtKJpB}h33rC!Z{>LuSu12!9ZB*^~F!TZV`&s+e<7RfEkU}1MV(G#4y@#)|)yht~ zhTaSkG`rqOpE@|c12g^Q{gg3I4d|T$jF*KmCIwhcC}?`W^%_yPTZ5mwN)jxrD5+7k z*kZ?*m75R^E5ZviokvYDJB8DebJT}1E7lx+oe#5w_IBjpydgb=JvO|mFvd0T?{Bxp znO)=;dLNTFL?RZ?a#Od5wb(EN9a)MV|0;Y~TxO>ljH%_VEL2$+*p+c}W%#^t++FB* zQRw<}zmMXcZ2<`u=Rv%NEyL|qmz%PD6$F;&Xd9%|uFhfI{xkUXy!k)0kw~;aI#84BK2(_MZ9{IwPacHL`nT8k=LjR z3hk==`K`Lz*-IrzU&?-kT}b{+vKH)V)ZPyFPGCr~AKXBsqC=h0w^-PVssNIAWbm}b z*hwy&`R+`q%PU9*ARMaZnjhzU2j4sstiw2R{!dE%vtbVgwev#6*C6?HB0pI!2xo{G6|wS|T*q_if%fH#Yxfar`CK*KabtcCAE7^{BS3z=6^K)oyzm_tQd5 z_JD3^LHkr@y{f{0(x?Pptww72VenH!H{<{SIx8@-cufL(i>8KiysX*dWv1sS0McmW z0`&Pj`JfqVDsVH(lj*|(Z>eN^qP5EzpF^i`O(}Sv{5mn9d-N9OtkuQ(D4PKgw~RYf z4w{Gg09o((@sx4sd1Fl9#PM)3d^nj^my{v&EqF2_6y+o2V2lht%rJs_iOLHqgF~CR zw;i~n;Y3n-1Es$X@DI4ikWQQ>jqVw0G>pTeuEfTE=ghhsgCw>z-B>?uluR1$FCupV zu>@>qxjTmG(#j%HQ_PCVD}V1S09X0J%L_d*Tf4Ex!o}F~CD>zCc>(s&LL#DWo{{oJ zGPr~}l`DId-BX*ziF(%kLn1=OH|p4Let;&?;p6qcjQ?g+e(jm04r&qKUn~L10m`WH zPBq01z`pVPmnLWlGR)wpL{QVJJz0BjcS>#FW=bm@8{!X%ejA;Ku@1lcB()BEBZj!J z4BBp3>1|BJe;|P+kk7Vwcfsz{XTJUgwrQ7sY-6pru7OS!DlD8btFiJT(Kd<|y(>jH z9ifG;dAydbVV@FCvfhVOTE8@z0c{59BHT!~U}sHFnW zXKqIW&~`2D16mL6`WKBfts__xw|*&rjWU9yV`yI7t791L zgBdLqXlp<^-=z2V(&1+S+k?zy$Z=6*3`Q-YEvYjIzlTXVi@l##n(w--L}i+Ia9UVW z#euya>>#_<0qHBDj9|TiVF~#HZXhnTVG{8(u_Z3wlCEgjgO*^t(u=G2Cr?~orqysP zYtM$9Q2hajpP5O}u9CBviEgG9DFD@Kf!pNA$B_atrDPI}>!h*`mo#p>AUY#!GCe#o&AyAm6Tzfm__bF4R74OAb4K$iT>07 zdN?x75Le4XEGNdoa{kB3@o}fNh^UtIY_bj@UR9a-W1aY$IU!ZjO5yGpBayy-asTd$ zi~7{t(6of`uz{ZnktUv^`ox0WWG8$tH&i$DuX!ty$?t#I)wVse9Q&uW;#M;@Jt1}U zdUT(alNIUCQDEScTmtx2zH$YT6j?xHR2GLBo=Q?$@fgP z*{hIT!L9yL@Op^Btsi45>&>HIKgr2Rx?6N8n*U!r$EuHFuNJp@(;99^pHPVsaSl(OFde0ClR@ZllA{rxrL2NvbnCyqp36zN%$unnORx1@fga&k z<{kK@-%Lo0jt3^BX|SEY06(5!BD6vdsCN`|b^pDzcq}!o3ms|LoXM&1dR0_u4gsr9 zYX@XITDqlFh)`7p96iSup~}BSb6ad4W=S98HKUKoQvvYB4ZFmkmOl4P!5vm(eAA3@ zPakY_nl**PeBc|UP5o~JpJ;)i=<41$C$lC8W`>kFr3|z7S_J%(?(PII?%`ntbpx`a z$5UTulom&r`KMO!YgLzH`^${2_IJ}{0PswKy-Wr})MS0^-1@CsHDkA)QPPV7)Io;q zLJ$kiOHJb|rqFPt18yf#&D_pMrv2BD;!_R zh(~uuFL5n`k!leCADN|V-5%(D@I94%)^KD#!=dl?c@sgY@1B(nhYP01xH`l{rA?|2 z8L@?HNMXrnQDWH$s=cXl2TtZyAibOMPHrQWz&gH$K9Bx0B zfv>c5{Y7|p)Ky62b)HYSMM&n=3gyRwfSB1(IfD2-qEC_ii}`4$!t zWMq_jy(1nb@QApc7x9XHtB4!tNh7USKL7hD_%W%`yb{;y!yXZ9!dC~ zMkyGNFNziIg{inlxj9$7PLi{ru$CWwhpX&K0gDy*pBZ!OlTXP-#1A9e2N}2oPKrM^ zrMJ2ijdeUcnUG;uplnc29C$KMSujBS9|4!6DZ=5OfGhcErm=1A@w%U}M0wJkA2i{* z6eV)Ij7+QFgQ-`}B;UW5O8*=-?yD3EE8CZD(wc$Kb8Abj#a?7Yg`Q$3;&3(O;6Cpg z`ec?U!-m}!%HdYdd$#vHvL8KC<7n$C;cgTcID*C#fCdEYJTOZ262Py1(CsvP+|C3(SsTSs?lmj?ZiCPlOxXP$;}aD(oaUs zhg}hQEHgr9a)3>t>&yOL1P}OuM`3^jAW{XjHY)B&HOQTLT|t=<&B=xPuB+Yj)uPYl zaU66qpW_3E4>0G+0+VN8Vezo_Vo$%-y5U)|VI%50}p|R6)|6 zu1*DP6RJfobNXr>ZG{tziqxc|e-i+u(a2{9WVW4@4v&oU zLN*t&?VkVURopufz;*iLF72oq9N{c{SnMZ&Jsb;hEnBrHw70T!{U$0p_XZsNdYvDu zW8|J{~ZYCj|XJiv4Fn0snD;*K)*2O5s- zU8d4%&A6fIY{|$Sq(pnZPQAyFvyq@)wjWi_3!}EdyYDv=e)?&~+`)?^Z?4`kc$BaM zv#>GVRG5+hWtHBuXd>KIqS|=TnB^D%Mc1`8VwokiaZWkYkJ#qT9MwLur$sQynG%eBPbNMWjto{q(+Cx~lziXp)a==PGOuy>2MBAoShqo8axX zcOqX@e}UqiA)vB{=9yfq}7eZiQTTb`~-F zXpC`>w9;3C(NlY>G(_UhXKBcP&tH6?ZA+iSSJm^*T^ULazPqxcJ(ac$>VB3jMLdmL zh!ak}mcVatz0R8Gmtwc@*gWj<=)(Diy%AtQU77FEt&7tn?{^+0SUo5dAYdmnSm~AP z&M`!m+t?Yytg&-u#XRft_-J$E>SF=6ZCP*6)!)_qv?_A54dOUW(C9 zCETV!%4*^qH9eag#oJ{mCH>=8wE}0!oF4N7+Fgg|#^WopQ?cTPGQO^bMn=U0M2~y@ zW>tq!;I(DL8l=j;E@#uj=G?;-BT18kArcKyWPx4TV+S63ah1BF;x!iztBv>T5>xM7 zQkQ(+C2_%ds-MV_0SSyWAo6)j$b#;&z(C18awA@Ist@c_31yVxwh?rOygOhCyL#33 zdLSE;yag+|BAG``3gG~ayv5f$wD_$E;01R-OCeSPQ`XIGu>t7TR_y{8JpmP38=Wpe z7xk7QfM#25Svn;!l(gYUDHes}%e}Whg--qSd6@OhEkTg_X+T`N7%Y)aw9}Q-knKDj zPd3e_>*}OBy~{AR>PI1xwSMa0OO==+r28XNt=N&ogP=xJ$#-45R1>y#S;_|g_7EwA zGI;V{`sA?*;de6pn>lVDBkB8Cn0rt`^z-dsIkxDPv3e+OKl_Iaux{wy@}L+zY#=7s zR}Wlu8Iq@2To(uFTA3cns&CLYvRJ+TtYvol>4&(6A}@eaZBG(}Q_#F&D9S4a5g#|6 zs~6e>^mQVYzVMLt?-QYO;X9Pi%z^7pXgMp8%YmVKx>yn#nF>1jNEJ+R6E!8f$P{pVLu0N&9;2tet^PK3PqM~7h!Sjw=3MRGfzbgb!2LYLM~ z%h*E)bxL3^w(xzs(7}0Io%f*R{-q;b+6s-2y0rHn-W)_xdYJpTeg&i{eZKZ;8qd~O zdV9RW8FVb=Zz!;zzufs%zl!G+y0>wFocZNJ;SCoGEtbM7iQ{8>TJuCJ zf93d>(C)UaqxkfJO3&Fxba1A6&D7YA3@C5T^FP-%x&S$i}$fVFNEy)(}duWbLd9r%iXT44fCNn zoMcmc1~ict&dXbRQR}69rJ5#27H4Q=deDBdc4ZKEwf~&q9Bmys@MAwndQ;qET>nj~ zX?=;%Ch8Z=N{VmA@-Ae+(tx=$${W+-AsO`w)@AMKr4HJ7)7UYv<#faW@_&t|S9PO_?gQ?34>1is7G ze+0AMn|?Jh{as$C!4Id%(i`QF3<&FL2t_0r`_0n_D28ujjY=kWuo_G16VHBV+2^fN zeT)IWbrhP{$MP6wwEI~>X-Sy6Ec0OSecFM&H)7vS-r`sRW_E5i!w+*0(fPMNRV~CzT7cWy|#8$+fV*44Z-3Y4ySh)%^G`SL>ODYjXY;f8hR|!W)4s5`Cb06-V3@-H2=B{1K<-5D z1U19XGqOdOSr543z}-gsejPvq0M(rPlvjTvzVG@cBWB88zQ=xtA9x4T94rABx>-}7 zy#cb)iKHNz+r*}+WPd=~(1k7plHUOXYmmUbrq2f&Z zZN`>Yho1%2wu5T+ReZgEj+CTzKXp`f&-|eC`Oz({G&e-ft^&K8es7XjF=>*p$8NWm$VUA{LLQuQ)4P|ws-tDry{_lPjKCk3Sik#s(=TZZ4QkjHR zjnlLQH^;vl+3mr6`wu&7e1aaVwu_=7$QLHTMWi^+YeW74%pQ|2o%YG@Yr+tbnasT@ z6yy9wjG{{Lm+Q8BzJ5P3feKhxtg`AjMTm;={W)L6)XP^(Hwl3aGk0P$jO&eDK)s&j*G^z%0oNzYTpxpG|t>h8|ppgF9 zMyA!$s>tx0?@t|qH4BMz>04uT=h^vy#z>h)sxOG)iV&{>?ibRXQpOoj;bhx+nJ=nk zC;0ahyF=NOHxWzUt5&T{0o8Dp!$O1DzR9zsgQ4{bsk#1+L4NNjxP|bhV-MS7{z7((S-~wZWE|>|+1cr)FnbZ-tK39n;I1Suuc26M?7aUywM?cKpb16zVxSs9 zGJ8X$Y(AE?S{f%tKyrg6Rf{?`sc$3kJ8u7B6EUNZ@2=Ivh$mKPM9q{R6m+8z@kA=S zmu&_c86mJ~{BxtEvkw3&cFM#FB==Iq$LtQ=56_UZTNtX#y=&eG{^@)3>bNi+7`2v! zF06@Rr+Q<&ewJ>v=(w<1y(bMhu0<2JY(BrXfR zhnS97nw+ja`HQE0FdM}bBdi}u$(ZTuDGQf&Ue*t(I9O)bF?V;F)(3Ik%x?u?3_17P zhXIDvED!5u@7BmvGQt=KsK2dQXAiqGt3kJEXA>_g_1=pvTp5?H?><1i7Q2d3$oN&g z#o?GbJ5h@4aao`PMxCo-`i-J!Ge- zvmqQ*dT7&cDFPI)qe{d&cIZqKMt&XYq0IFVY!O+^VpQvd;r76B5ipt&fGps=#}4)S z3hZ_jte=l_gMn`3<yJ7-p zyFCHYkB5ftfVs;DI?S*fdEf|c z*{4F&-RSP==P!sq8l@-Z_{9LwMObDi5?=}`^OfQ@=4x@V)(x2mWl^}II9{$Qa;|fs zKm9?Ge=eHf6GVX0yjWd&IioOxfpqn7xQ8d&IB=tV?cZf5$^&!0*;T-?^?rWD6;cNs zie5!x+(Vx{c3=O#TqXMhKz94vy&8ogJpHANeadAf-ji&p5$uH@ikXTR{A!<1=UZ9; zqric==X=GehgZ#WF`0=iZ#2?n2xL9lU#bOz4;S=UVSnOgKkwz zI>0XO3E}v5Z-hWkU`P`N<}d zcAzyEq^W4zeGh{Zi;NnHb;+_IEPN1X^r_62JM)M411Q;uJd>SPKsqk!Wq#HV7odJA zV-c=>3<#H651wr}Owt&t=duWkgH%+czdZQwmj<#cwGI}$k6{3ey)LFukjU2bx-be^ zSAV{a3mg}jMljlIX2hAP$MUoRy{tnC)GF>)?`u+uHJj&cy5tA#teo->dOOA;?J@iH^oZUc%A*2%UC7Ak zSG=bCfSy=yzmr*3yYr!RyRu2`VDwVCN8^@T3>Z{G@87!h*kMoODt&a0DVi17Yc14l zPD@e%DODzQ-0gVHWM27?H7*{1_a2bpqwXEE8m>z`^(Z@*m1*UAw_I=h%(SfoPtk_^ z7wr?wcoJY1H!cA6VKQH!DFGm*^UH&Y8MMUgwF!QjSO4@E%a;+iOJyE)$K(6wh0HL6 z#03Hw2l|&MbuxfIz{b_7N=^QRsuD-uxgC2c3o_&VyzY?`r!Uw&h($Bvwv`rzkLjDZ zCt7u2T&Y)`M`~q67p8piJH#TQ!S*og-0!YqYv803uo)QRGs+StGe+HaU}HM~qF{UbLa0Jo!ZrC};0W0V;TX*cKk#K2Qmjq8w>7y{$va!Nv{s^ z99G(GXBPCC$d6@SOBsia#LGP=Ja^Ajf(^%A_B#2N)i?x99u6tkC&0x@Ef$AwB?8zP zsGK}{(3zX2X_VZ$h$s3qh>}P4W9%mkb0Gp_FKkX!GOivpt=hbz$U+!cHbsp^!P&9`SP7&1G%R9x@OZe-oOtM01q&^BsoN9%7E_?PC1UiJ5mRa(v_AaDb8ka*DIUpN1LvD_eDpCBKdFi*Qex5h+&$q)F!- zN;0R^jeft&9$8BF*bHe6nWC0wlFd!Nxyj?-8tO(VU;?$X(^HsxIb8d4u9OtuQ?i_W zHQayFA46ntbtCfzLCe!Ur&zHNg7`3S1KvbW;-`xvpw+7$oDTO8+H7;r_0o`eC;ju2 zJ&ggQ_9N?9N{QV0d76Y%k-Yc`XgE_XYdGtzYDYej5G@`wA!FiOyyhs$5>DSq-;sIFc4Yp_&Hw^?YZ zF@k&zqd^+%J20jO#^i!$IPP`>R>}Ak_e8Y?_JCOrdtmJlD|d^N9VP$zJkC{wdS!T- z;mwftri4d7*9DVfJ1(Y;=GlXHbg)aVS&;SQM4XBYoTSKAb?sEO0LoGR!3PGXv&Dno zr3>0Pt+Z~){dqM4qaP#6l&?lSB}?tOyn|H78yU{0DQ~9PtAT|2|NgbrOvxV7>e}fm z>d%oFcPKCxsZ<<)m#LY39#7pZGB}asC0+6T`gbcOk}M^1gn7lyzY+iQ^`^P3QgvRM zuD7{<^>6g_#vh%G{PG;1ha1>BmWJN2`J2%XZC*n&gyvJG6e9=J$M-D(zS&OWnaJ;% zcJ19>(&s;gVoxf;TaW~{7@M8px%skyxr11$iPJ?J3FCy_G_mR^Z zvs~8A6D3as#>RW&%C`^z2E=FSc9?mW?6SvS5;S6&H32)3@OpyVhtb_AZCn3X@&zezP>OQ zsa=@0o(_XIo%2T`?mjDa{imdEsy=u5#N!aJY5rT{TE(`EOi`dO<0?1nQxzuS)#YVC-%IWh!z9}`%j#*qHPYO5DM!o+yvt#ZxF zMJ1g)8wMl%0DDVt;>YUU9~7KkM)&|#MzEs+N4OHEdTr_4^(QkG?>}r0uf@0biCH^K z0_p1E+P(YaRIJrupR?Fmk_U5{K5`kMoxdQM*5Q!DpUELr3qzC$h`o7BicxzI)2tN6 zR!mK0A2As+dX1$;C@UIuc3)@cox0C-IVReD1<}b(rN)e_Rq3#Wv;_Sv)?G8o#wRk6 zqwz2`Jv2%)y8NhHq2}D|R|fyYORGa}TNlb&nS8gZ^UwJ*sTgn-Wc)ZR3$ZhmEZ47+ z=Xv6&%wc=D?|g8V|HJ|+PO9|<^ZRn@&UI5Ek`YvXehR8Fqxr?`fqNi3ei`V1Mz(Re zDJ5z=-6h|BXp%;@7?Bk!)z@H$kgz`$2Y@=4Xof>1xGj6qVk`bfsloMdC8i5gE1kP{ zTzcdL;*~qxQOv8krG&^pTB|BbsjzQIij_>twMa`}KEwu4k&L^*<6^09?Ni$(nR{L5spFr=Ce~%sMnAA_dL-9= zKaf1+(a?TLV!2_V6&Vi^f={=3sY&Nj+p@i5=re}cPFl;xc)J6Aj`Ab$1?XLx_Y=ED z?e|vb(k@?SSW*$mu-wDU&U7! z97WHK&+)`oIle^swAf=ra$2uq?6`bq3H9OXS|8CUTSc<_b|&Aa$gf&&>qce~dfFYv z#4F%4o6K&dk{v*uM?(?bF?*GKd91)8eiB0W+eV{WQ?WPVBsG`@GKu(jx}QYK zM0=HZ9@xkA!jvc)Nj@xmj8ZRBd_@l_W<{3FK$!5p-YLoHM;2C(#N2xgc*B^pN?~iA zQInpStPwHsDl9P*)pHDdp|c@TW|{}g5D@H&d_*yyArU7TtgDWsQ1xtU>Z18-H09OL z{i?YENyCe}ZQvU2Cj2s8(AnA&MLs7+A2rNR=9=%EPyKj<7B0q($?d&HsN3(O9VI{0 zDw3Sr0{hAy7Nl?xrgT24FU3-oQCAxiHIO|&y_n3E)kTz3VOMA{=gY|956G7WOfYR^pKl;DW?oOa>H#c+##+ZlQQ}; zU1?UBw{+6hJY@_VrUtjliZIORl_93K>@D;`#g$L6rp9)ELa7%q)JsJ$TdC{eiM=NU|!%@GSy#>b~R zJZUzN&>7a%fA6>TTv9hSwbq)7{Acn7@cis(h3b~f>%$q3pP!M!5Woy|eS>*b zt8{T+^ZlSX-CQrjKnA^B|9<8XDm%GeK>GS&uR%t3P*h(Vr6~{Iq2l(XbGl{yXZ@%6 zDD&&p9Zk%v=PiKWfjVHN3%H$6UyMRPG=9N_pn?I&-Pmdnq5}p;Xp^rB4@9M{$Wnf? zb)3k33k(DO8X+PoQOG}`j1>v8eaG2tqM`7dw!Wz_Vgfx-iH(6Ah#P%)B+7_z{ND9U zA_n6$y_X<6Sl>;?L{4~x>rA~TjUS-dfCwMd8M(?`%}M4u(TvK(0Pi1d7Pr=lhj9v_ zk2p{=`XNL_e#Z@waX9f45kZ2^>3n*&9ycJ^c<|F5xl?aU9XG^R;er)&I~x%ZbjFWZ zP+vb@8zHh$%-0m69_0+qxP{?QD!GxwZ z`7T+HRh7_U%*htv13)s8l{X;n2+ONsfcJITPf50LSMW**!pRrvZP(@oa=%WQK~msb zhG=0rrzlkzq;=av0R`l~KH^zc0xS7&X#eb6H!d2PFGzdGX(*yeHJ32ryS!O@IF%e` zP9HcwfnEvRb8#G6fpO}wBq$A?TuFStwY(?m3SnmK#!?OW&7MI5v8%?QRHl9$V0wvK z*L4ajbfIK*#D{~LO}WnC2NMt4e(#_6n1) zIQqPF^=hdC0quxN`m~KOmWBmwLFq0BYzeVcUN^snIpU@iM0;{h{tC?BFTcr&u3#g5 zrxI}O+u#5f`YEs6`|w+*wFYy8=U5MYhccgR8Znl`-Kn$0OQv@%yXKoDH)7wmOI97~ zI!0mzSAYIPka6^zAj7LtK8N!?m-Wnw@3`{_hUt8Gi>7=|7*|H)^7t1PiSkT`*U#J& z0URnAL>B`KcOHuhDfNV?jpE&mOmIT$4xuZy`>K#mmeh(DF|;bhH!UB<$&GXr`4-=m zX}RBVI?=?N30l(Sc8q+Prpd|$FO>a=n8gsdDSVv=(<08vtl@63ZS6W#;#*$s*`77z zj`Z3#UL75;cmLxIg%5IZNqVIW6L3__y2nCx7N&cB%DR`vqC7&Q$< zwhf|>?`Is|z4ZP94`&s&cTE>~8c)l+@^f~U8DxxJv#yH>)H{K@eQg-OU?BDN+qwu^ za?gXlZ+q5{LoO~Z-yl5Kcmjx$7;f-1Wkh~@cRGKEr~^igsRG8iK2y{!@l4}tphkz^ z1`8<9#f=7F=zuXN7u0y({e0F0e+TwiEhP9($t{55N?OpaqZeNM~J_p~>!} zVcahkKGHPXC2(QhjG*$&`Mi)2 z5$`yNQZ>?Ne$j6v$DR4kjfW$!YQ!n}l!*o^+N1CYUvoROoUj=tan+ZZtUqVG!yMT? zc7CZgje`0dPn)fh3fG8h_TopdWwycBUSfgjiX_CsWTQ$B-DSKASE>@Cn)iVA-<*wh z>h+^!B|6~wUeg?wF7l<6TzTUR$2Yn$aHEokql?5^c(-2H-1cGS zRNGzaWhw(|u3e)6F)*v0xi0Hd-8QrZys43d`iOQY8%k;*`l#=WvTHsG)IWdsiafjO zL;|1%yn3jAPpttY(3-gaW0r|$be;0pL|ayMiiEq!Q;-VpBlVWCA^z~ctZnO@%kkgno>;5e5c#M+ML9M{)g6ITp7x0I_q2# z;k$rAD!Y_;XOsR=T~Ar#saBNfWvQaYndCf(H~Hlt^ji+N-Zli8VH8$B=17EPNq)#y zD>6*Hj@gUF*45rLgR)UJd!GNw7jIBQvOMIcnoTFU&_|Ra5sS%MgpLsQny4xK5{Ze8 zxw!7HKe7WY$H;%$4rTtcr;V3>P{zhlH5o8E-7mIJSzmwgoEA+)$M?Ly^XrvRFw=}4 ztlxI|3Jhl-Mrmt{7qo(13ihHxb>dl*Za7GWA-4=MA-%XT^q1d0A1u6;^^vstV`+hmQcA)6=Xl`1v}qO*1m%^8 zt9}kk64|FG9{F!ZF3BvpLiwVWuODaJD?QGF7>@O;$r~1k8jKPmnNMZ0oU{p$XH`u*J`ZvM5_dr_KOT>s{MPZk;Vb12a z9)dlG)L(POhN)vE0 zR=jzivob=mdlHbG6S+5_l@SUN2KTyiCCpOfMS7Y(eW_|1YMfD@Vc+w6cCU74wj3%paL5lhB^e>i;PZ9rorat8daVXKYdW*55xx_wbQDnEi8L9pFd|K4qrJ4o zH`7Z{#2`XV8)1M|dbn;J=$#TVZ&pIgdEUJw!vF0gRN~800*5+|)9zptdK!IwvzXzL zh%VJi-wle$t<@VcGaCj=@Qv=2c9U=e&IChQ5Ast>I8tU6s+HcfA+hGrw>eN5PQfHR zO3!2q6j`@>2y#RMi-QlvwRdY=0o;-N`c(g6ll4&`sHg!U{G-De5W#v+>RjMO-TY#~1Qm(6~nvyhDw z$%^M&EP>IgvxWx)`^Xfr(;J48|_rK><` zSk8+2?(|PyD(+yHy(AG;$YHT43=3YrjL7dK*mcF8cLMqA2iYm<2r~mrr_jyehV6KN zQ-6aRXT+}K8rk2!Org%%e|P=^Axa$;(iXUG+q95dj>&jJjSPlg60gs6*# zq9DE#9c-EQ|H|H-x@>vNGx8^Um$D_Tyz=%-Y&!(isAOM`J*44}pTsZ4oYnW8oIMCq zKKSKXy-++g=QUmrleB5a(;~dulRZHQ(Qw?fM)1qy#hx7ARKKvt1Y@TpZBc_~>T>E; z2{KsaAVJ3iIyvEPnd(sdi}bZ58!N8a_nL04hJ;tiszGdJbkdEl82QH4%X+f{a6{L; z!X^k+o@fY`+8gj6d9y!8u%wk2eaJuQy28|?Ize61`{{w<{!--f2Z@JqZ9Ff10B<6d z;=TN=o=-J8-a}dlq8(`QQhdxib*ZRaBN{kBa_%XC)F5iWRXF@Ow$p<5>NRt-JSXJ8 z6xDBeW8em5{v&!_R4F37IUnLBvCK)<$A$r-=Z zx&Nl{j1*tccbbkFHkvOp2rV-QZDLL%Ctjre%vq1X?A1W>D_vHGtZZw6gU**r+X^{8 zD`7!*@UucGg5S3VDONr!`x1@GqbJJyBpDMpVaSt$XHfVz5eQ8yY}fNuT`SYX5%(Pp zAWvBOqElvNcXls()~0GChmg{T#>sH-!jlQds%s!pQg&i6n!ltyLH7fE@SoHlq^3J? zpp&78g?|QLY;n_zK7Lgfd7-+!xMPH}MoO+vOKYKCG4ZesQbQE8Qzi+&}G>NG<#9yI1~bfels$Lb>X7EDanAsIkz?@|mO zOJK2g=v338{!Y<;tW9^OtgMn;*mSbMOD#2n5lXqN4z*f06~_&6O6}H~TzGVhtqT`P zxb-n|p@);Tx*^uXNG7ud%NXHuWHXJM1EC<*rX8hPv44@6r_f!?nC=Ny|D$~xHg;q8 zQdi)DdOGQre^1YWJ?)9KWuK=2gOG)Xz1=(gG3nC#@b{-Mwcg!aWBw!swAgNptwR~4hk2^;&~tVAHDR;(bU%l(ifi{&)|rzzICN#iOL9CUbDB| zOTFjce288bf{{-pRal7R4jTjm81XDid^V%soQt}MiJ5WARwDC74JRz@4mbt;HW1tn zSj-ShR-hETMP3vhvKkw|qjhjP!u!ODkSB{fZ0$_`;|-!>V=gzxeoamfPM`f&94S{o1DhaVwY{dwn`n<9 zYfbu39Ou=eZ^B5-k@A2b)c>xcfW6&Eh@wEzEM&h}r^TyJDZln*0dEo2UQEy&$8^?I z&{Z12co-u_tdDrN6PWh6k~&N+WfWHbccQMtQ4I*M=+ z|MgSu@gM5~>{n3=HvAtehptc*;=-d){Q>~A7U#`+519o4FO7!^F7MU*^=Ks53z+?C zz0a@I!GI_O9gN6@V@DvdeQ^BX$LMau*iV1&{yRpY%?lRC^6#fU{eA_|)6en~g#-Il z`qn7Kw11J1|D$L9&g6ZifQ*^ncS7-VkOtW4HySL9^?yBO!Urtw|93ckt2l9@C${(w zZjy+9?o}=4d-&g8-0#x|1VCwimEynv@97F-@ZpKW>F=e$YAg;y@^?z(f6D^X1FQmU z7|2UOIW0NA-yq*Oi4c@BNg#8>lu-b^c=q#+0Iri0BOn(0SLVyKWa?(ap6z&#e6Eo<}fJ4lHWm5UMmpf7({zS0?XM zH|0k7F2%iWdML5T9j2;z-sfkEf;r_+_)*^w-nY>dSq|_^0-aulO8icO4D{>x`NM32 z4X@lj%Zw`PFN%rKE))a zQ6O8QPyK>p2sXvbI7qK1pR1uOG7>-iEL5DJ-icHvM(%pU(dG2KQN#8cR%aOEzxpwN ztm{_o*V8Epv7Pf@{-k5lVkRS$!+nODA3z2D+IjAs@T0LIyno{@u=!)7#f%~M>)MTv zASbuib|8=R_9{IQyZ=I-lu(5``vVvWEAa#x>kBhaD!4A%CAbDRPTlln81bx8Hvq3P zLvBn99B1+QSx`d0j|*#FG$&f_M8mh5TKjMD6W42a5#_C<6MBAwV!DI132fcdoang= z4Bu*L6}vBw6n`X1y#BVMCQG(cPOpH$PYD|{DY|Bewl=2uwetKS{zq+FXT1q>^u|5g zNu&GY=&gfR&EFOTfSeq-XO7=`Kj3xwz~jdsl5zuzpJ|oIPl@PlPjWO8q6vk9h4UE9 zM+9I{pS$0$%i2y}dxHgY7_9wFa$cL9v3+16XfqVE9@G+i8mg=g^lRcdfBcW~S`8vv z=LT0*?cm{aR$ltc-U}X48{b8cdcW>Q(65>2-tj*w+cN8?5aAWI2kZ)jvj}bf2 z!c%u9gb|7m74WjyCzha~`uu+sw&`u%)1H_GAi#LL2o+MJrU?i_nM0kD)50F2d0n!;^ar}lQ5HHBT zq7|(UB_P%Yyf5`_bR~P2UCZXv2&5lXH`4+8cS`SY^p5=YKkk2A?CQ4w|K0h;j2)aV zf;O2=%D^iMdcCUm>$nGbMM60ZRfKra;OBQI2gI;cBm5;W)!$5qLcM{?Nu(woR;qo( z2)3tR!tUftFQP{?Nz%UfNHgsk>Y&Pz4)Bc+=EUoHW;Ln71To8WM?sF7sxcRwG!}Cha)a~Qy`Yc%-189XHDGE`QsvNjTB_b zM=VG=^f`eJxmG3nqvOGmib<~j(j7q6Dk%Dr{=iVk^(boC|Cd4q{GfpV;+GJP0#?_-ZXGE#0U{+t{D-{;8&!l^q+?+tHYR z%vx{$eU1vGp`I;kf!N$@7M+{WCr!q37#*kjrnYxlPE!Y$(TH!R)xYc3b_!wTUCxUaOD;kda5tP-a-H9jk?rAT74-1 z)$VA_!eh&C%iOCbvottB$maN<$5p`pAq0-Xse%DnT9E&Sp>QF`<;2J+ z`@WQ<57J+-sJ(dB6MB($R#ZqsZvZR`!$wXhO@&DQpVj|w6Y)!j`+_9@8M%M|E+VPl zm)7u1SlyqoMVQ0|UPQGRw!iW1LZwl#j|Oc0$S|b>5p%q(kLD$QgWx~x(9_iiXfQ!- zl^adb??YzhXGp|)R<;S1$A?<8Pm3fbGdiO5l%;QvZ$%sugDSQZLywAu`-R#sHZ7(= zWnmi*Eks*?BABjHj2O_l%)x6jThUPc(H{RPZoiGxfBtg~LVUym9$PIVGo9l9qBTY% zXfpg9jIC6)f63l83SGP0Czy&yu($-ex}fVt&dXQMDMW8$J(&af0CQR^a}2r4<$IiF z(v)jN4Ys2>)bvy2^IemR-T^_^S4WC)LdPH)HbSB9^_bs5-Ew}?MPY0LKqF5if&`)b zhad3w%SI+h{J+!YjncXRdcSl~HV!B)>EWlEJxoRl(r+@jv&*qjq*H?^(BwJa0_gf& zj|7*4Uod5sd5to3?Ok=81k79}@dT990DK~Awsio;swwohM!XhKF2yDLoHr^4%jVgW zAVS{3$(_IgWISZMmU+58HF~u3O6aJ-IM8$kPx%+K8j!CL-GzK4@GbR3Q?YU~=XmG` zxF!{WLoU1Ev&wx|%}**7hu+3F+UojeLbOvl0j`rqMsOhk{T4CLZdwj-sy=H2XieB6 z#V=J}goq%9x3*!+|FFGbZ#HSi&qAsiBHksc>KuQl`e6Xp8(2%(^fJB|MPKU@4iD~)gG|`MP+B{^Q4-e49Zh?bY(4p z5Y3&R(G%^QpH&=9R`CY|J^|1Z`LABxzx;I$$Ws^el4WzY|A_^Bg@U?&C+{NaB5I>= z-3ZEmyuD$^kF>Mla6h#C-~mw1_)zt>+-{&ga=iD(vU;L#H5tj?17BTGg?q(;6eJIw z`!G(e{-Xn6>=EVFe*<~X~Z!_Gwby4&#EwNOkpelfrhOJrj-W`;RiMlG6-v(ow$-C|bIpST3z3949I zBq1@pJ&G5xKcKeLz~`5@Ut=DbBANOSjbMl_DqNUj+^LpK%u&<9OoadP@&TX-hJp&B zR)>2wmRDXSc$9K!!~?%ra+zjfWA1-hPJ3$fwGB=Fj;#%C{;yjbx>~&d>!AGBKH_+w zHD+aKe`JTBaA(6&!UUI3Zb`$@`kgM)iXJ*iI|;rwhbW1mGTG+%4v9;~rQzGvRKFuP zu>ONMDo#rsC_<9?J2^t;3IYF7pE003IT18^%V7BEm>n$%dibe&9F9Kj2a|+_K4;$g zf#N0*>{;DdvqCXx*!iE>$Rdi}G8EZPvp$9Z)qV>Z9uZ`I7AX%}MvjcR6gxXaaW$oO zoWXUmY3&_*un_4`n&|MW?FpMN-vaGrXn$!epwLF;7I)<8irB22Uht3q^s8f-3Sa?J zG0(Q)!S)8Yo{c7i#Ci&m-@fWUY8e3;^jTc^8QkJ}tGI10lW&Rl-b<;JHKZ*paxC+F z;9{CFDJlg(Y-=E1xRBJ4wO?3Hs1e#r^wrX^dR^h8ZHF4pvI8ZpZ`qOSPq3;fGU7|PiR*YS=Zo(r}lA?e(r?D!O-SIzjR)AXu3{_3#uZFW`VDDGX58_1I0B` z38C=y{JQ(8*I$4kk9-4W%<-Q#i};ssO#0sjjp+&|@?9al_FeYd*N~$;8bj{DS~$9L zaMtH+10&EQQa^}ZJ9_c+r8=v>hLY+paax1$%do9$Y{<^fZH=y~2ncF)6`nIfb*V;b z<(>q}M&=OTgWjBC5AwgyuYeR+oY`TGJlu)Bl7sskOa1H;&*D(p4{SwbFO1xAJg z2EHv+PigBLksz4Qx#@stcEO&F}xlcDo4xWZ`;l%c+VG_ z5nlh+5^1FNDnax1T*j%>UVT684A^up2v?Vd0dL5v-$?ADF%xNU{pEzyO{e*rK&jBti z1=x3=biZ<+Nk&{+&%m5v)q`mFx7%O#gmKEB)`yo6L;vJ0=ubd+qTI%DVyOa9I;*c$ zI^&`y5Jwz%%vVIR*I*hRbi>#lIhip&Llx%ML*XUS<6ULorva&$zkOuD<|cxCigp6q ztRvXLl<5Z&kN~mwBO%Y4%5j!v2eMWL`^a#I6fH(h+OWT|WQD#Vz5&3MxtA?IG((Av z8E+z288k9|8LFNT`9_0BadLAl>e2~VC43gFBd!#-3DHH4QYBFy z5kWA(qYtlD@4%&**5XxN;8A#lfO{Yh4?S2(rdy*uK>W`4A)2+Ia<>X4Uym&w-kmCf zb!~rN&#WbrTF47X)XXq23Dt?N%kgkxpvzYnSfvmd*wCvGVv!%|`Bh^9tlYyu7M?}Q zKFXJ=p_ap&uYVv|LyBGZeaJW5?`Jl{9R${q&ES};Ovx`7egaVXDeetD>fB3L>Z!x( z47{=l-UuzW(wLfo8r3UBUh&b28ieKTu+IDGbgR~zaZ4%1`%zi_25Uwe=3=A`*riom zXy!h&;9St}E`4{J`v;OTxmX&j&b}vj*_cz0V}I^>#E#R9JaLg_n>StiX!+3DO+zGf zA~)^G!oR+SGE5n0W;D!CpYmg~`VlA6O*Nirc9!i8Nyz(7GQv;dev21Au*%Fy%=ipK znzqRbW}~g&ag?w0e2eoK|2=`b)?g#krd&@OK0uKI)8a|PVMhx_LvfAZwr<HFcd74g$SE8Q8_>7*6*H3^*zW10mSlk zEUVVH3>5yV+lE>MD0TMSDX!ZFGX#57+!bn8HafREqCzEHY^SZfFiP1zC$%;*C^VA}QbWYA zG-=UOTMrAFig5xs@XB4NK1;Hv#!j3%=5$0#kgIR5g1)ik#uD4fR&6RWRgwL>6b|ir zOCq?1GY5emrPsL-wtH$!1K3sxRac(Gg|lqys%k}!Ix5I4AM^OAmHyQ<(nuH|Ar-wJMZEIH6%*LOGF93xgprkvkj z78Hr>X1H35W^sGbpt;qXR#p!kRaNtfU@&^E9o)s=2rKxG{nen0I40}h3q_qG(Z1Zh z(D$Rlli2Ugix~VIO-LP)YU}O}tZ^Nus^SvY)uH!?-EsRKschcAJwY$G2QREBj#~H< zI;G7>|4Z}!9{K=ELAfO%GIB^VS>N;LS*?u$CNV>0W5_i~rFi4{g1xf_T+~Cqai&jN(UXgEJ|NcI8mS?v0}2DKnWLI zK5p=R070cKyDzwK^K=8dQa!T%BrMB#+DjpD5iVhlj9<_SwxMkXstJPZO3rP~oXa(A zEm-*;#zmwWQ1(J1(Vf`oGPWMvIz+@7RZs^ zmLY8?Q=j$HsTm?UEwh5!=g&Vq`S*1r{WgEfZQ>9t7POdW{yWSI5F1qqc-x3f5}hlY zV1<>(i&1_4BxqrRg<)$m-;fVMKj3dc(p-v?@&eORFD#()eRYFDnT?ETL$C94IGxx&evBVyTy}|UHV%_I z^T{BBZZ#IZzR70LLz3T)8(Yq4%ojrobUFJ(MKe6;%KpH3uSN>i)f8WP{e+0G0*DJ@& zOJ@M@Q5+f8|2aOHJ8-PIt&SusesuNLlm#UwZtz?ZOCA2Rh1g%k4pk4KoxZ?Ui#olmd0Bz}V zEGR)>nX1m+>*m0jQ;3TMvUjQEnkBS-AGQWuX&Wm{f-F*$Nekcj@IDIG$bEkU>?9nO zA!*v%Llh=vg(8Hbw(vs4Td@EU^Ih{tHn>S3xvUE&VuS0D zmZTCmBYbrY_m~J|)jo(?zJa_bt`7&(MWzxN9;piqzv*>; zJ7@ziptl=yWJRWO%5NJCPBLq{2fZy)OD6gTJE3QOE~|_C3?<%*7;-l7%(BC1*e*0B z?@ffXkX@<8S~sHK9?WyT701B1vp)en+>v)HHrY^bi0==qt!75Yn@D_bmyZAa9V43kU8w(ZfQfp!IKk3eXmL`KWGIwid>(;mOESbTCNj`2lyvh3vB5ZxjGGj$#>_G>xxt@2 z5#9Bow0JH=#KDdeZ24la=Z4wItjx}n@aoZog0y0WAq&&3P zPF^s^?l+)_6mQIJ`Fxewh?`m9w&hfLZs>Br?4ko1S*Z-8W)r;L6b12M_$$wT2wz8pWy zNpumEe65ukC@*lW?VBCA0}|*6@{g0aQej=4VWLrOsbqp#$qB>FbVU^dkXZ7CPE9Ab z_2BupV*>;na}cWTGGG1FehrR_0}W9G^G8VrCxURHo?c zx1Z@z(AXsMex=@ejtr)T%X(?*{S_h6P^JeGCMJcs5;my|;l#NIe|VJC+8%7yFp-0N zA<4U3?@w<@QH$mKNc_hqOeSYLTB77+bWx&@9_fVBThLs5!U9FrqDPL{X8VGwwvB9h zt{!XM_(9&N{&@6x*-sCaMn!`g({ICG#YROYqX5O7huP?}tQpSIGw_8Kx`OhW?dL*V zy(G4DE}D*u4Q&$qCt?IT(g-aE4F+|{k=UFhNpg%!o}Ff&x5ryx*boq&dYRwvxOSZQ zcfPx)I}s9|?C_71>28bJ{)q*s*$@#abVz=AOC?Z@t)aQQeG39jtI$*nwsk7>Mb?kB zGjq5OrtcGR70mqh5hm&yHTUk;`#Sdh5`~UVmfSmnk4I`&K?E6u6QQJ|F7RdA?7VIG zrHPbeIxkO{v4XTEeIfoHW1OI!5qb{6Mi?lsaPQt&kK2JtNUA z5=CPF7NL*rSz7q;<57lmw=PjXl?q_l-Z{nC2OyDf80RYOqJBV1pxn%dNj})9Ca=VL zFJX1|(4n~{T^&O!qZiIq6!;l&IM$L%WL<7@poN))6s(rR%^MQS{v#476Y0h)#cgaz z9kbY&ql28F2lg|HnGS2?(33JxAHwyu;RYycjcT}Lp5d5I3(OA)-=wQyx%)!G8vHk6 zNf#?WX$DQVSxys`1h2;e9H)JxekXO9zQO&%WPe9a5(G2?4VBtIjZMSwoez5hjw|tH zB6lC}3W!Xo*cVUtL`%E5N{thp%Y+H5^#-x3kTqR&gj73KXd7nSf6*K%4sYkay^ zOP@56wPJ3yrr6B04ZzU=Q?@=q>k3EWkWNGdU&ojEUiMpy&R2IUxSeq35NYu98ulc@ zJx?EI{|c?pk$`WH;IwnJ0<#cpX`S1QEF`bZzt$Z&!ghNg+Cf_=N zmk8JhZ;+5Rl=+BVqZSOg*e=wHXuIJlPVJ{Pm8%eWR+aCb7HwB@4Xx;`cy)4@^~<0U zgQ5}pu}J#LeguIBTqKaH^a#F9&kokxfZSIvj_yLkt~tc9mfse2k3$@*FSBxca`gq;&p!(iv-B@CXi zP`^@vOnDiUGi66a&PV2%<|-5S(r|lO6t#^nxGN~yXt;dkc0M20GzJ7V5(JDj_IaY} zi=v-~_RQuu?}F-FmgsyhJ(oittF8z=B;=UbXSYS$D?(S7I7%6i29 z&97=l#@*O4xzro8EZsm6e9()VUL;`!&B#Y|9T@tQmetPPfl5!soLaCa@Ww#)npMD5 z>E7N5cG3`n9+^mDKAORVy_RsF9t{m($yA`z!bFfQMNK7?5vhQo;!z&f9nc^;JXpZL z?KiB~y%Q*|z_CC!-guwOp3nO<(9Z|3g5F)zN7bKjtr}8dgax`GrVEC2Eh?seuZT4v z=cb%jrQ=N?cP?luHgu2jmRMK0QUMIKRFF(i47H5JmuQ|^6am`hwrS1YT!Qfu=)o(vgzifpN1FDtWP(^*3{Ej|1*a-i%7 zolhRlH}s-MUU!A3ik|CvrnGrYPj3$#zF{D9fWVqXb>-Px$IKOoyW6A`wsqv*bg-eSNZq0pEYXt^Px7>`Q7~#b9ufMG$*DlUZ?z`{J-0}s zD9TS$QCjLKy2gY{aT4ab$yW3VkGjOlN$f$`ZR*m~x=fZyjas=}<|a>08jV{|QbZ}q zQL+33#I&nx`!+{JOQ`Sp6{(7vWUv^OqRy?y7z#UHkoTwUc3$gt7trZP`Q51KX}W;U zne!B_yHygM2gxZ$LW*yX&=lvNgp@$|B|S85VuB^N)XPi@g&v4z+QLt3~ux> zP#~LO>(#fpjdTKgJi!Sw%RNiJgnI58blF-P>)}J1fEnSB%e{Npfq>rZrT#+U=R6c$ zixZ!eXn7USCfQ1#oLfXhRq;z#ETY!ZanIip1;`bSAef5F3kcTp#cB8qK0f(*N1M5o z%hEP>jJZ+1{awSHrVI?1w$}F9VZbe7Y=O@rp)f=!=9IsfO}90I+I*hk<5VNjH*G(=K&s1_8#Pj!q1OGF! zLo|QOaOwyIlT^h1 z=Z%f$cB%qpq$=q8nJfBJF44XjM)KmPsu)PH*IS#|CT0~aw!CjB{=EFI+N|>p+INOW#)9dDS8!?ZxOvkFhZ~D} zdh6oA*mjej7C!<(Q|o*RuN!oi%iPO*m4-iFBcA!;<3_Q=iEG{!xBSiY`2zJJ`ANn) z!g-SY^iSXUBgt3a|F-t;2Wyzqe~BvaGgM618nn$(B;T0>HA1UEH*Bk?84|J@R+oZG zgfbsoV|GCii2IBUpA_Qjb!>5*2h+ZF5{r=zR7MDy9}-!!&>1)>^4A`G!n1fG1=R*$ zK8rpQL&!|^%*noB9WomKbmm;5IZ~~=6IPd4ECD8Weyj*BXD4$})|&bSw7L~;TAZk>9t-j5ezC~eU@InEMe?p)dF=!Y( z8&{!yg_h^i1pGy(^@*-NM#9hiFN){Fq{4AoM^w%+48UBBgaW(p`#&af|%TjH?f`Ny|m7pm$F5A@=4r4=ftmPdmqerxptzA zhd}FdEB}Y)@`^HLN?SLLRc03j~K33auQ6ZL{kG(0_ob+9Ocd2e{&IIpF$bqG0tqXI1!^~Q8 zDYe%Cg;AkLasl5tay5&mO0xNtcY64o;ZrEW)O3gRA!PM z)B6-&6+-Om*?tv)T(vU>dwk4BTeN z2{oGUc@T8$v!Pu2=WKXeQeokWXYzRVK%Me|UC706n zi6(zw5#f(1o4LEOuQcxj+NJjtv}bI$##LP;A9>b}pi>*j6&f{aKyo|{%^EN0f7p?K zCZ;#oMGS=GnhYuqyU~P@7ai-Ef!0pprG6xQdN<32&>dn?EQsf6y%! zGcqb14HrJxN81(6+yfUA*DpI&9@68{#ShKT1^8|zgdP*IM5VlFT~3!W5p}e=rOMJ4 z9X1ufY25P2j>mm1IL+P#{jt!n1Nv8c)T>b*5q^CuQS zM6m~tN_o@&qRECYct9S$%Gv_7%|wqLN&LIs6w1pR3Ika-VYI+ZsdsoN*ZLYS;j?*; zgIPD(p$w9zz4Vx35`&YA`_n;Hid(f9RB3tK(k8>O;>vVER)Q^M^ysX$aNmcK;$*~> zzo=BoHEtE0QR@jI%c)H0Fy%1Id!KnM*yB$is6xto3?Eck#%R44pB}U4pqp0KRnuf_ zU3ZEd83oj*ywWIfpmt7k<@us}OMbyUBan0QF#*Rn6K+*)U}Ha+pupWS9Z&AO!A_45 z9uNPfp&-Wz|25Z}eVY#2oSN~LNZKi0F2nTTLW9OHFlxVby?roDmBv3l+&>1)Z&Kcu z@G7~B33f4@Do~GADZ>-Wz0^5089S;e|Dbx0-7W600p1%Qt-Djex);i;DJBBVrNL+; z&C=Lf336!~M-+wGN%obe+IALsx$=*U)sS2oTIlQTF4_AGQWXpISgVAv$-v1e!oz3D~>%7RHPmN0sx>%#c34c#nj6}xl zqZL{G!+2@&#~{@-Zv$cT`It_l{++crJVNE02>%a9RGQ?lcdYGCY|PuH0DRG{!4!gNR- z;s4YDu-e@pL-pCnu{Ad02jQ*@IzWD9SF;L0b{-Bo#vW<2mFb&ZJ;I9`z6sE^B>oV0b zTtnW@r0}6A=1p3+Jb2KT?(nZ$`!}^l+nkrq5^F)wS5cilZ`(RLy)oNv)u@}3?K}d~ zG9mw3Xi0rhl&skQ^)1K&lo*7MS>?1~Ip3#{B|uxH%e&cQ7n<=spU;-e<{av5fFdW6~Z=)^mfZep+qUuFi8X>+siiTI-u`*%rT5XinYa>Hch_!@~*kIdjVap1{K z%hf&?)wqg^H8?;zCY~v9;Rca=RM}6ZxCht7^}>&4X$>{#r@P>KYD2eJ>e37bAbY+{X6X~(*oJdX@=(GTW?{pB z9U(HxyEN%p2g~L%D5?l9)7EE8gl*=miZ#5}igZ(Kxuxr`(L|Hm+5s1=dy-XIhZ?GQ z;Pe3y3E>eud7SDk4YC)be%7+~7-;^ZPVQNYite@xF2VVvJQNtQmaBaJsO*SEx58Hx zYxs6zACIKYMhR|sdJI?|{LvN9JzjhpSO}+;kQ;RqtC@TA-_ihhYinhsf@c5ir0c7r z;7|%_b@$wjeac#c`3X5lYHZ8Q?nQongk9bV!@Ovs>l!vxiV4cr>ghf|?<*c>u)ro< z3A25z@r7-VN(f#qDKq<^TsmMKyJARM1I8kNoq6GcaMG4&^x!$xnd;RBL-2n=^ zHHM!wDrf~u&S?zRD}!zQ5}GU znCZ)V=Kklls|UI3*f{UALf`h;@U0n}L?o@u!lu8J3xCDx-o~ZAtf2=>qlJ7suXgpo z^QmIa{cOW{vl3DGGE9ULHl zEP61b-j9T2THczPX_d!ofjYGmkU+d62}skSX&O?{!C;q8e5U^zp#MEA}&wG6KSPE;R^RUGG|}S zr*a&T=2@HuHR{yw`}robtjCvK=IQ`b?0yZ zk~D_iKiKu$hJcjGI&o*(fa69VNxakrpR1&WWma3^hXuWTF-&A~v<PL=Dz$tmTD4KXnuBGW=%?VwTm#FIbuM#a2-xt;!sK7x;B z{V{CY`zpTZ0H5cF?hX(y`yEHKVOquxZ_u$wa<>D0k-q{yAEi<#Cs(bawrjhp@%8^> z>>b1NTHAK*294dA&7CG`8{1}^#&#OpHX1axZQHhO+qUuD>Fk`d&sxvB-f!FTWBds2 zj0@vBkNr5#aealhqGaBFZ>sAA0@*V>YzHa(J!M9{;ppl#_Wv3Q;JVScMM@?9XCu|4 zcpV51nV=eR!?MFPetyHHG~_mXXw*2WEZL^8RES+2$J1SX&m)!K=czmOK93 zKhi+AqRzRaloBMYYUz;XY#Y&KQ~I>z?Zw6bx)#`$G4~mD=iD>z%VdZ=V~5(CEBwLXCg3FkmIgdwIQVxz^70WdOx#g6? z|BO%2sbbWB(DwNr#%=rZ9uZ!$}1x$gtbBp=01Op3g}UoH7Hax7pc7CuVTYN8hjt&Q1cja6p| zVyeAsqjDqoCS!Rh4;fnb9@%0~M_(qgI>SO8>&u(8=(ca>bHcKRE_dyrhl9l$_%11?%*8{ ztta>QXr=olOf|~6_ivEYRgb`wZiZ=2@U%=1?_DMnAU@U77P_|DCYDe}*T~s2;#$t| zg6GeDZZ7HWW*tLJ(p)-Z=_#&p7*h!ij#ZW_>tnYid^jQiyg%6in-Eu)MgA}n7T(_dB+4BW!W7bueqaVc#tB1}h_&<lja;$=sBp8T^0o*z<(?}X5B7#a-(uS_UPjBg>iXOF`9`6fawpP0s!K&JCw~9O#HDEC&hEKV% zzw^trq9esN*BKn+VEGnmTy$`+r?&nUW~j^M+Lo{z3%td+UfuxDd9w}2SN!uH97Ia` zDcETqvp3j2JzH5X+F#+B*dZx^#y z5l?bBK|{)HEb#nns(9w%Iy3&NR*73nRV3ewb5V;7=T86AK0drqYrFAele~NXIH-(U zsBcjK*xD!SSagC9O)CE3UHPq10c-&IEvPxMCmU}-F4L3@pP~~uV6Tt8VwoM+z63Q& zyqhS~*F9|~WTUJq6LrcAIstEvmJQxU7I2$QKUzn7hddvbHd_O4(+#>NEp7q{XyT=n zm_k!RbwL}D^-u|ec0#!BkrMoXd`p(s&lA2^EgVLO-Ue73GX^T$NS|xBjC=7 z7bR%5((edlVjLYypHIvOS@v-r*ekfEpNo)q7IWW9T$E2O!D|%|YxY1V@xsKSdIx!b zM!)NWn#i)j5>Mt5<4=yIigu8`(>9KA&@#$MUuxV>!s}GnwNR_ICnPaRusQ6nQ;uoD zrC|iQ0MYL;E*t8Gjt+LQ8x;o@%m(T#T-X_be`^7u%|$|6klSaZ_vvDnvYX6V5{0;x zz;hB}t?ceo4s(m&g=P|_(lxzgH!&HIiC4zsPM~HZy0aj~z_iAxOVz`ZOK*j`3y+UFa*rcusTG zk?_#oW) zZHvI^=QTP-Io)-_#-QR0gnCu*D(U3k&j|RcJoH>B8Cmpv0YxSHOCr?<^-XB@{N}X? zHw6nyDptLwZPYNkK|2c`%#_kDukJ=SJ0#Ka-u!T&*NFQ#9Q z`Bu*7mNczIaN=9mUub+CQG3fMdmbffoEU3vifS2OcvUh|hTw*OoDgl{b^!k$OuUXd zQ4F`;lzzUef`hO+S}ZIwd5w#Jb9)s5DRhVrQ>^i@Fm$`l$vR77I*c=%f%U14d3;HzPLzN-TiUATi6v+B46}V z2}H|dW_}AiRU>Hh z?Lb)KvrXP}o*bc`emg)?PI4g00I^w1iCt;oVk}b@ zzT+|R#mwKzk7%0cK7=C(h;f*;!0n4TF5R>~T+D~4SzWBtl8v@Gzspm=6t$8ptI$mkAA61Jum(M5jbdxbY0F~HXv|5yC* z4~qi+R$zk;AddQYvN~Z?a-{tZJES`G$QrGT^DkCKP0IaWC<}1*{4vK=pc5H*7P^xP zR_(G7upXR_{kxkM!tQ0>VmqPZBxgawhSq1lk!@1kiBx%aE^R&PvyX%l<`>lT`KV|N zzdxxw$M>F`6&`eox^V7IN85zN_q_QM*Fs)FZSY4|Rd(8)#4bDE1rY562`;)=?hH?P%3!d*4kvO3j|Ql6>WJ?D*Ey8`%_UrLXYzPkIUW`h1tln zI)0TObvuXeWM+^3#_|2AGl~fmzd|Wls)ctpsc^V~VZ{CrE9LD`!5yXA!!;HyuU zNge`mE1jk=Pk9at&x)?AJ>8`mbpOs0}k`fcw1HU-*r2xGO9mqdWJIY2`y=Aul8xq>dVp zu>f3JX0Trwi?}mqV{E>mP~`Rv_$*7^JmaEH+dw?;r>J{`ve~6}e^{(rP9UEDD)ej- zCYwxgT_H(nTO^_k1~Zc|5A##mBXFGrIkz&}_Sl*}?Qzb!6DomsoAQUN3y2}=!Vo}r ziMWR>)M12oEO!QwQ*0C-=QL$_0$!EjRaESj--zZ8Lm#smw1nkt-Xcx z@WM!AB0kG)KZnlkPpYW8!+DpjI_R-hM>6FFNSY~lhdNzI5N$>;ebU~JH>n9L$E}3I zk=@vD!~1w*nNXe-xHRk4|I)1)K*=K5KdK)@b-C^ovQYqihv-Lhr4ct&YY+`*Cd}7d zDu3oM#z^yA5LTDVltR(GU^cbUx9nPB9AX=&cKUXU1b3tZI|diIykjxZVEwi zbr94vdcHV6b3LwTEsR+&UJ^$)Zo8e1?V#T2!Ix|>g|G+JtUSa>`I7yyVm#=?HK07J zxs|oRI2}oG&RS>y8Wyy)#}hmc7L3+RnHindOCN@KP`dfW!qVdvob|jl51&l{8UTbs5w`P-^HKXQ8^5p+ep4== zZoVE?0;fgE018+jQCmQxxq)s9;Ir5i?^C#sU&5G_I!3^|bTi<|j8x9^T47W4lUXR< zrR1BZn#o}2_6>|Gt5u43Ee9P~4=*bNf~EG9zz0u@&5=I8zWi#XIh`IA(xP!#M-iuo zw*_og5<2jpFeC*S+%;*~6T~A?W3eAS?V;zYZ1)qRq~&o!;$Yt*Cdp|Vrp4I8KAl7P zr+oI|<)t)9cRNtpO8(Th5n?G%NP;m6O)$QF>*pzw`mX-+oMynI%u|v!ycmz_oI>Ou zWLFOCt&86g{cs|B@ zmao|ufVB|Gpt0TA=%w$U<~J zt9abe!Exf4iTaJy$TB*9ggYI0W4A-=j2`GP3*_x_!^zn(BxD$oXUI`s&HpOZXpFDsWF9y1@ln>jo`p4(8be!uJcJldra za;BE7&!O|Q!a;d)Be^LZVaDfZ2ZLu4W0j7^8`_F0x9w07bT0_B2vMhp}+=<=P zLn3iHkgc@X8JiP>vP`>#7xG~`q1uRee$HN~(4uTZ*Kt#6s3SxlPHOC3o6M$SI9#NM zo^RS3C(pPC`U*(MO?s%)qj)N7*o&f37!+}TFM~=SLi7zx`ATDB_zK4+1-@4ViT+|w z6h7UJ1bVXr>)>YxM9aYav7*$y9`G>|+_nPIxw|>ITE?sC6gLJ^n(Crua4YGN{Gy zZ*4KsB+3e$R+6yQr7<)nIIuULTaI#(Js$EY6sf-ncV>gTW!VhLv{_AWVZz#h55ZtO z-Y=^|x*`Q|Y+GR0FvH&=zD;K-fiokcNJYG8RcR|{k%1teU!E%oG384;C3b59VL-=% zTyS*bIH%i)av*wOu`5H|f02Y4fHQkMh?pJEk8iO|_B*o$g3ZfI3q#jWFxaW0z1_Mj zK9N>p5aHSMepZ1F#+6lCOmUG}JQ}xEIpD zKmYK2^(84ilwEPe7@xl9dE@Y2lbh{6@x&2hKPa=!xh6ptA7*vYxC1SWHQD& z%F379ksXc~_4#J}5MM|TrN3=kKrnZq876wj{Q?pq+m%OXAawkM zoc*%+^I0T~WeqU#IA(%@zWKexn2t?w)Jo^`XV+>(jW&+_^SuT%ZplypEG`}*@)U{A zL5mvP*y@e$j(38_4%2>u#P*Q-o*De^ir^WdD5}%(UzB!Z_K|iqKO3?w|G1xrNaP0F z9}1F1$4E2r(V(6Bprz!*<0e#VFwhlXhhk`LVzjLoODG5y0 zmF4)gJIUn+wIma^K_R)=Zsz7Kp3UE#q1DpELkn4zI=Y}oa~=gpa*>xBjFh?VSm_Nz zdpj;Wh@)SmW(*a!I7jH?&Lk7K{b9t2fpF$W1jTSxuf}ocPJ=OxQ4CY1&SN) zaG;vRW{Y~6)mZ3SzA+qiXNbIS=jA`WKc$f_>xT8H=l=jz5g9m*PLF?&d!?Doq@*1Q zde#5)LWXM?>nrS2QI5>EKakm#>N2JnckR4z1bPD-KfkR1yd5ermG;adaF+2RD~a_N zp-lckR@rS#O!vy!)gD@>P0p3Q?$;<$Vca9&2u%1r z**nj{D=!9+j2sVk{Hia&hFc>YXYWYQbgW=ix&zxrGWgD}@)&#B%<&AYu;>Ku*0M5a zw}E?hA{zMahu3N>P#AROr_qVDOKtSawzAc!d8`wgHqU}P**6brh7k8Wz{x6UX&u#( zN)@=d!ZM3po!d+UG3jmW`Cwwx&H>Vd(huIP>{MIS%5+FXSPLW6l$(-As1g6uZ=e{h z5Gys{s^c1?r(HOneC>z_Ao$dQ95wqhf}(Zv>{M>6PcMbWM`BA|$(>A=oA zM;TEn2wtBbEBZ_Dese7e9tv6y(KQ5*~uHEA&;VvPa8@EZj+}K;3c`fl8UL#0 z;p9P&)HF}`}33h(6ZES0Fi)Xi)_49+P=gB5pUhppCZ~2B> z5qX{s29$h%80fk!-RD9$y1$ockec~U_^UDomT|2Hpr{`_(um({R=eD{3^J_*2V#`M zD~?t_2V_%n$f?W2>Qi~B$Dqji1U^+&r;0{p9oj0Gw#fv)sgda9uWBt_fU1lpY?;No zpVhER^9q9ckc7k|{}9gT)Wl1vamP3*8)Yj>)zdMf=CNe)-?*j+6!$!IJR%N!-e^%l z_hpu%eM7piLB;*lmLGi#S;BFwb3vqSabna#A&v8migxLHn1q+TR094LQUe$=49;muP#q%XFyt9hyd;WXFEm}&)3)YBGg{yl=?q!pOBz&yQ zs1PZ&i&j;?2Sv=~m(vJSn_E?OXxSI^87SVl7*eIvmJZbtLVjcnV1TCL=NlJdpzYTj z6hnWw>j!~KE4@41a9E2q&S`QwFUoFmYu!#gH-xF4Do!R8){7#%14dsRC1vdD)=!r2 z@@*3vytvE?0R(D}Wq=H|qnDYSQ1L0~$F;pjNY$dSzx4&6G-n+KHyPe4Sq~3kx z+`uN7WUQClisrj(xY=$nP%&$#Z+RAtkdfmVGe$uKh{LIT2rdr~zNdP=}fk)wIK~MKiOofSb-| ze`BLEsq`hWkoza*`2Jz{xzuE>KC*sN!@iW>wF?r<0A!HE+gzCxY1aI(8-K@V+o`R= z$9<&%p5Y!yiJu=cOM(PeQSEwDP~X7k-gSBuibgYwFJXFDn+{7qvFHh3Jr$82(1y8t za}UFM*E($xM145%soET1Q{B*Pk7U!Hs8Hj!J?1hm8vzFwpIL7>Y2n*{8E7+`;qXc- zY4N%kK3ZGfc{qu>SuS4CZ!PFLS>G?9JdqQ+EKK2c^|&0(7$GDh6?Z61=)yPsZH-yA zhAO4}^&Aic-TAp{awx8+p(p8GOJdh{Mdx|y7Glyf-}B<>=KA=F(wdE+8!X$bmGg1N zEz;<@3z6L?26ma(vVG*t3qLuQ4%=aj^xrBQvlzS^F6w*yG$^^Mx`!avuCWoXgWTuw zKu!fmdHoO){q4Ol>SDM8f?mETlv)#^jb>bO6?yO0P5U3YM!rAzPUHf0jQUsExIj7H zdhs1A`LzP^?t4%5B*r2jYPG8p{IQr6So);s_m0(Q@@SB|fCTkRpVdgFN5abzoz z&y0BVkZ8(A-*0`P3h(c%o$Sh11UR`JK;Ue$Sxtn3dLLC0zQs&ulQi!1@RjI}j|Im! z(ic)PLOO_QngfqG%MaaDNOT;AVRfHzhyj>O3aTD~0(;b#Y7?Jnruj}OsCd`XNa)Gf ziv&1MfHA#(DwVK=av0@nhPdO#Xm3L%mps<5lpkq-9DUKTS$ z+lm-T$xT_#`diQqSL4(4|P{sh>r@eTLKft-F zPy3RCa1${+F}~(=>O%-et6&c*`eTJuMu^Sz*b^(aG+t-H@k)k&9GIu!&COH zNtTYGCJ}Wu*%CIVSaDF#Rp&hCqR0IzAsgM{w7r)pPw8a9h=HI5EDjpuMP*VayooS)Bs;xNc!wH#MMEFjRJ9f;H=`%tmYW)8|}l(Fh$-#fY6yLt={~fgr3F z0?z{(imjEOk<Z5j5;`n7L3ufH)ks<2%y zt=&q6lmLClPPlg)=&Oh=)FDH8u%&zW@Nfk)8Jn4PUyvt<6>$8C5>Sv)%J8GvCPJJQ zz&qIBb<-whFAepW>T`C>bR5{E07HRpbzmkfNY@low$g2V#vu~M&I~wv^3I+?Av#)D zS^}*ubF-IpG%rpPYm<-rY0XvoN&w3lwcwkX-L$~2ReN%dIwTy;B9x^QKL>4A@wb3I zTV({XBs$#7D(S2G8b9I>tEeD%wJpFSRtkYEgZAoGc897 zYnny?eD^=&E7mBO<*5{_-n~^0xy8MFItC#5K?|jh(X6ciPion$S>}cb=7Z&0iNay3 z{lW(x{Ax;sA33tAR-~J0pp&v&@B2#V#OD%{NX{pa@^EA2UKz5Q05U=(OhRY%d7nb( zVuTlKgWZ&2C95%|OpUsGyKGz15!+}{SCn;CGc@ejCKf9<`NJR2RUq1&F*oC{epXUlP$wf{+ z7U5}940)xCMfJXBc$wc+^u@~L~zY0uA!PDf5Ypw(U&ss6=;Uw@{IxPWyxBKZh4 z3U?B@E|!@ME$Sq0yA?zW`Kz3F`^0_#2iMM#htPWz{2{@u1BkHlGQ$3W>J#ma>%O?V zsUU*u4aqf=Gm*fZ{z{2mlWt?CW~hW=yLWgPxIuTF29 zRDFZe*|r!yi?GbHnqr7K%`UMZckE)lP-R4kRfNH`sb=oek%stW4RkOo(jMbL*B$49 zoNs{<;N|txY=Y=uT7H9L^Ue&mTWV!9&ABX3`G2biFKxpi` z+82s@9rd@jmNp!|EX{1ki%roDSn`3oyyuquueagVh5r}HO;iNs!>{D1I4-wAVGe+* zoJ!x;CSTXB3uet>_@5d34@8`kf-n{)P}iB9w9R~(!eplVd!50Y{SiDXU}%Fdpu#GLdSqf zbI~4!inZ$v;&^|)7dy$PDnF4i3mNwX5u()Z4=V<@sQVwM>3_@&)PYcNUq)>)@7T1n zO9}s%vG`|VhPHAe0aMiPKT1JD!{LJ%{`c_LpY-(=z$%IXGlUh+Z$@2S>jv*PPyc7c z?$>(wH$eFMGs46`Xe)fgGXHn9PtUUzO8=s2AbaB})F=)jt}WSsi)Syyv(F)vWuWY_ zdrSVinFf?1BFF*YDCF$=vY^iqN})w;nvZcN%%s z=O5-NccdMf7-RDqE^ald9jXta-I$1PDv~-L_{>Ffbsx9UxY`orPhVmUN%+cM=CdXw zEv5nqxoY6O%{r=r>`Lk(ygeVxtIRTIuhv7d5o-oALCSo27C_pB|8=f*c()4d7_1hs zq!@%^eM3&nsl85Nc<8;O`OGrFuRBb4Kt&dO(57d+mk=;)v*q9zIx;a_icjg*U;qic z6TO73Mn`E6%6o$ji-3-!)*ILoS%_o!0i;>g>HQH8DrjHrFRz#XEeK zq!D5yPdYS~#i@xkkvz&fijv`f%!pSQYLA@C@Q<$Z=S4c`B>QAUxGo20#z~v#?(;JSw8zJpG>&)x#A9 z(=)XQ12p@ANa6rY{PL2;=ez|i^)Vn>`(9n{FGh~@_T7^g616C-I+NA)7$8$mmeA4! zKmSGX$Iyk!&|8<4#NXKcUd=|r&|a-jU^T0K#X|S$H-R7WC9b>yhs87H*y4*HX0ye_>~#jozBe;OnbU0%8L z0oc>K1&LaAqh>{m1g9Zcueq)~{;9{C>px3-g{tqX1(c40_69z?@&mE|{n} z0On#M?FMJebkyDn6z?dP%{nmTyn2ULC3qnuP4aRiZ%tD?2XFEJhpPe#Kn>2b0I|7T z&;#J}f{)hK!jE3c13I2KH1P-dw!S229`IP%fY2T*=Jt9o#syPs?e`Se?wgXo#wque ze?=jcR)mcBee|{FOw%mw>eG8PMVh{&@g5KHHGPyi?o_RWXUG-Y2ITcv-)KHvkRe&_ zAcRrgIpPb0&->zRsEy;(qrnVU^%XvqqY7~%YSW;=N@+y$iEyB#QUJ^%oZ>4 zY|N_3ukJk<<)Yw@{XjD|=K0l2fCOs*PFCMmLvDtA&Q+}DvGCkCX!cyAd{=(##eys} zOnyPujZ0f9D{1=dqmq?>g2AG0q}@pct*c3Q;eN0fj$AsTQ><1yV8XHyrp`$2{rEVf zQD zSJDpYR$_Vmw^(T(o$$O-!Vv}l*ltjjch{FO(rB7b!)^#81Y*e|QMPpe4-isr?>|@V zKiB^ToiSlR`H(8nKoYwlCaY}gCmwZK+tIZ*TG7sW72@EY5c@+T6TQHa0R71Tj2Lee zt|UN=ttu?zN&(+sMb+0jl`7~Zf~IhvTRo3hbz&kd3nU=uqHRA&(Q z{P9I><3L-*=4L1G+~Oq$yURB$bO#J{8TryaqtS zjc8FQ^IOAr={J=<%kipaEqxL0TPok5bAHPBMZX(?(NT1)%2e$u&|O9ut$WQ+?||7x zsFctp7IaqliY4j!6ORvl6pLNdaADsoNaS<&n1LH@; zu^b6dIa50T7mYH*pIGOJly(JPbjabl`4va7reR=-#v^7jRGcc9-9GT1d>Ve`$rq_I znqP;^ve|4X8NOJFg6bi9*fkpp?#1-HKARUPNKdEx-hp*Egqq;(ZKSD`n?8pZ`f4P` zDp;u?b|r@G>^BkVtE6za3GDr9?Qr>xJGsSo{RDhr_wglAyZNSbR2}x39Yx`niRbA< zt08dea-d*_rxpdh#S_$iuEu;9vy=Kk)Hl{)O<3WISuMb(swtr=118SMf32Zhn$mR7 z@$k-tIltU8bY(uTs*DI!xtjDftT>jF{yPWhABX`e;0olU&+8glO~3f4?HK}`&|u*J z4f-)uJR0RDFxp0taEKA~V-+1!tzf@!RLP@V6Zu0j0fMNW=}Z$JDa{4qLMac`)n2Ki z6E?~sP;1lm`ZE2AKtMuq7Ko7PdX;t7iCK*6hwz9ShCl=)m(6fQqu)#Acon{b zm{Zu73#=^4enWiyPb5+?Wc5ykah-nKvZA;chx9fL+6NfIq@%+76~e@%qPgGt*r(|J z^Tf|0bJ1i!@!N67TyA`XZo$qL|2NXx~LLcTyMNBJmO;)jO6O z_qn@bD0ZqH=iKVe9a{p@O{upYs?>9=M-cQ(oTraeCuLPtu+VJLfaL8B{f8y}W3Qn; zs64W6O4(2exr06usOWHyc%8*{`p80f-k~?mc6J)Z)K>;Bh0GM`t-h`m92}Z&-E?Fc-bqq8Rx^$f-F3`Q7rH_Z`^|?2aN6 zcS2~;Q2CHUI%3Ko_jn|P1to2WgWgD1J1FG`^J-)TsTXL|ml>|tsY%84fEn<7L1l@r zJ#0x%_5AoAJ-kXG-IhIA0Mr?`h$}9zTf4!GSmxNi-FD2mAX(pZWqWXf%|DIDbs#wWduSZvD*o zt;wtrD{Mc}>qKK_%$$5|p&uCLqo zteZ6Tye)cKV~0$QNeR>@AUTOgi&@mLmzq#@QTR%Y$G1@Y zN|92}PH7@^ffI+sp!m4=6vDB}*O z9qd~xL_9usC=wvX5N;%UL&2bvduk!mGGQffO6?&xEMM68865crr577O|4=*e>h}aH zN1HNH?GhM%KNJWo%vl34F5^Oo`if9R)-}_bq-NdpSS^FHh1kG)%r{%OHzs~oKatk^Fq{OuB66a(yq*O||l^=GC;!VBwGlCoQ(C=HTm5s=YoLP9NCr9FHcf z>?@ak$qeCn80|#}s4>p&SoSo!WDl~4UEo#elohKGn5Nfw4*aZjL#(`Jqv8mS$In@7 zC}z!{onQG>Rno$gWzVOx+D>8RH?v~5vl(fBox>PkYWau_YYxbbm*W_|Cd5L>+RQQ%=I?8i@*lCzH^Qj`1RgIrfRTo4ME&SSmyytX(8~OPv}W!WgUK%3H;{0#JD(isHsZl)ab3|F(D=o zrfGgZSvhdP+|b{uYa!d>LFD`Uk1-RWUy#l*PLvRZXcW5Uy|HOOu2EOilbLW<;SjDa9m@}g3m~)Id;X#*@0Kb z`^OYVPG7_svb!~{z9a81lX3S+|MYvzhY~SWcT4%aA1;-IrmM%d#2F8MIq!1Y=GzTdx!6&{UUuWEU4030waX@rqkM4v7Zq!L!Z z?U2PPeOSYo)_vY9Z^29-K(=lg$h)8p8`{!DctU-VIc?&p5uHckj zG+fz{KKB!0Srs_|bA{ZvD2&H3h|L+SBP=p57}ez6@^dMV@ZBr?n~cQzeuJt;KRu;H zz{cj{NL`vU`IxM!z_oR9dEWb7?^YCAa5EBOGiH{Ca#dM4gdWAH)76JQiGArPLG!kI(+hYCH#Edf#j zCxx`9d6h3wwBYQ zYBe=1)O=TbK#*Y96qa99j+M~`IXG5vdo{@`JCeMGd+;(>U_0L!In;<(%jPXDdR9j& zs*>El;Z4>uyr2h|P}22``A-{YX`u}f$kkl17M?{Yi{6oaZS6SdfIWh2_xPJf``w<6+R5zg!{kAsg2`zQf&Y-uFl(8)u8SSifo5-9pvbxW+d2@V#d4lQWPx$&eNz6 z1KZTe6954X7mNlq7jGTV)fU$>z!L;Ems|lF7Fj5(poICc-n9aL3ZG*Jmzi>S9_jCt zXVTO1UlGqnVt9w8#VF&m^mFk(KgCLXZ=sB5m4|wGmqE6?YJk=;uM803F<|+CYt3jqY zlq*jFjnU{_`Uu*B2Y7GYP>qw;tar1Yq0CHcwLVr&fyE;)*m}~h-+2hf+bspjs9-V) zSR;Yl5{uozLklQH;I>LYurO_sK|0F%FLWs1QA*c}w%C;kp71=W(c_hDd9L&Wc@G_= z3TYSMW@`&-J|?)==tqeEH~iCpo-zUOTQn0>pe8GY4KS)eCei`-1*T-Q$r0uJ8&p~P zMjocGK05S5nq`vzkh5(59c3)NVIVsR7%bMwr+F{{XKab|7lsw@%VaX$W^`KeYjx|M zm%yEi^b3VT=8gn8`oe1L!0TJhMH=rMRyaMyd&AEtmCZ7Z8QO@CJQqI&U}r;Ei>L4fi7Yo2SwvMxCoBcmrZ-rvMw=HRR_3LSJMN!XGz1SRBB$Y+S?iE1^d;Ac1wT3!7k7$IJ|^K}iQRowfAEAjmPn^zH#*K-!>oi8G?^}3@?4G7Yky}Q z*(xOI$lvw-D}b7Npd8T6`RR;&8TmjvM=-!1w@A-Sa6CG4K#ciWM?lJ$F4~_H)i?;k zIFTSQ%l7H$Zo}S~0vU)TIU}E*e$%X6Gevr(q;rJneVBl6ATaW87kV|MP#MwD)0Fld zL@Hxa0;!Xd)X}~3i!`-L9)U01P!IWfrSR^as3#9Kt%Y^~S&K;*HNkNc-JkM;Cw@J3 z1=JMH_C?y4;(Iro=K=neDGITGM3`cmYsLKONPlCb>#jWpkW_k z`)(i-9?1o^BF>=BkaVWIfGr`a)5NYvxKNNkUL<`#N=?z3`U`vIE;11R$LVwR5WsEr z=SlP*Vj#%nA-TC0OSd2J8mO%0+ZYc(qbxp6TzzYXIHLxh^wHMps1bG;+M=NMjMkWu z{{42bg1s^wqU_sK`e*akoS5UU_5fN8lt~afnu% zqU&%kd}QF8Z8#>v?M^^<)s~oAL8Zg8@b+|LvR&fZN(F>$UbpI?8I`@EjDy%Q0wzX| z33bK(L2dZ+#~qqAJ&fn_(ZtT!u~`dDiD`d$u|$!fZF8$@q}KpXFk@0_HkEkg>ca_0 z+{%5``Jf{X=Du^CS>A&6%4F&WfxlcSZ7S6!wtSz84qlHVUOU+y!}SDY8pB1IfT z8ov4{^p(FOZQ*@j!eh2=oHI-@7VjUh6uL|Q{5N9*9?*?}O~rtXBtmC0Q>I)z%Kbwk z4|>wI zXrX(Az@rX9k%eOV+qXdY-GKMy#f%WtCrF3>$FE&DwFNwRvHqQ#{l1Q|OP=tTx5N+p zsh2ptk2W~!Kj1=@tOwi=I^24@$QqWV$}7u6vzCsYNUHSb$}57~Rqh}Fg;#f-8wGElGC}(G1)u%y&Bz*7hiMn5 z!H(XQdg?u0&z(PL@jo*~SVJ2nbt>met94U7yiZaV^Yzvj3zvI#wZWAP6|-xBsz;vn zl;nk;B%(k4gt&ruw+x5k{Ttj#z`OEQ1-bNoPk4o$7UU_@}Q z)d%a4>s$Z@ne2b$9BEl{B^d3ld;R$$!?@n6kPP*ct4 zJ&bzcSAVF(PEx?e5Jm2bdPdbaFhj!^aeF=xPiRYSL!f4Xu}IbUMoLiIP7%Sy0@Z2d z3F-h}C2+wFKltG!xZ|-G>+2hZYCEIDt65^uZra@k3sJo1n=YEc1edCGz3>}m@~16P zf0yxLpe5uwwglDk4-3Z!^J!%Jy(!wk#%&?{(`Nf!S9G738bf5xyGta_k{3{+U{`1d z$l@QC`A0ao%(rzYa8VCtjaP)p3ummGh%h?t)-OFNyw4J+N&O)LrBb_Qp9CR-?V8m*qNk;4Mal%01<1fEAz!3RHv6I) z(Vs_lUOGxpT!T}F>aY>X>)t*~lYHh1JREj)&^v1&z?GSQlDA1>;fD8R9AM0R8kgS- zxm4ZmD`Jnn3-=g|xE664uerH))0`q3i2Zli-NA=(fe}k59XIR{(IeR#Y7`0llKrU? zp*aL1Dt(~4pmh&LUVZSr4r>hb zE_0w<$RF_zEC_*aWYpR~EU%oD74H||T$mYwlF{Cb(Aj)vpw_#R0q$0UJ~M<<{^DP5 z$0c>yczeSX#eMc2`QvbZpYQefCrqYkybx1bKckfrRArzWpWqooyt9jQShP!|7)yrg7<|8%b72{bFX>1o^tk4;4K`MCv&gG`|=nDTRhjOUnPLdv|_8!VM* zxN0c%%#v~7XuAqPAJ5Y<&ribT38}@50FC`Gq|ELx8!d&lmOJDCZux({kl-k;YTo(^lBe-t}zI-!vxE;3hg(zgDbdJKnRn)?A`oI5eL8Mc<1(fdY zkWxyJ?(Xg`k!~qTK{}+nySux)yJ7Bw_4V_+|7-bR)^bK?PQK6H*S=nmS4%%o?P)s* zQ*LoR9)`aO6`$*x);tWpM=^W6Z}KlWo+N+s>^@O*AqygOgUfn?RlEtDwg&oiaOK}Pf5QZ&as z_x$!Azpj{I{f{(YcLxu2>|BoTB9Q(XYM1I$)J%U!wCupt$>OqWXpa+Z#B^Ts2i|w$o)|$- z^SCNr$ftj=QgT${AN6WO@4e$qX~@nW;}{_1z#@6HlEiWZ6EU&DW`bPnG!ZFyAPKC) zqBL}?4^w!q*L;@5u(hn$H^oZZYdUDzcu?F^hS$y6BzDb_(Vqt_ekRSC$?sxqYGS5} z8QH0hTw=P`x}3j1%vlm0*~D})_ITiv%*Ng^CId&yYVagtwYYgo@PqA3npI~*zH=|ORwT;ZS*v!4iG|iWHR$oGzp=17!7Q$#*-l<_scpv1 z-E4&hG#%-Pg+X%}|Gob=KSPB^h|ijTFMaX;$7!{m>jhu!JRx7hBW3rG`!C&%^EUTw zeQq6bl3iBIOW&xJPZw0{mfQ&A)K{N>Kw^9IYjlUb3}TuSCW!#-#>6`^LC6h;R<~0t zW0vpBJ|v%y2tOq0hWd{pv_=H+h|6Kju43N1H_YGe#f%jp4L9&hMZ?+Fe_!akG7?Jlw@|4@ga%R}3Kld#w{9u+R!*uMlt z6*r%k0bt$aj&ou>VWW}hnv{;y9y4a8ii==wgB)9_4G*fq^NSuxj$`)a8$9LT++3g; z$xSWK8j(PuNcoRGUb(VX1M+ceY*&jxcc}IO&-o&$*ZWnY(gpD1$^XoV~Y zK@A{;fs0Sl)8@AV4lnQ)<$-01`v-icO}r440Xp`Vd+cvo}o$ zdHsDiigW%Uk#99KS%0-}i-G-04YQlyP{n}u@dzj~nciUl^H*)^5R4n@1&l{Ywu3Dn zia>$npx}3NCoaZs#y?~WAbnfjQ31>xj_)2kIj#?C4U5k%9IX~>wj5O3T1E=WZjC?MW zAC8AS-TnNTs#e&-%~~3f9ua`$3JE0g$bl#uc6431CJkU+3D%;!{ zNR)d#ojT|uD(|J#wzIq+vu2d8<}@k0kZ8t&y$)XVvgAe26mz2R9oHi>72QPI;8PXJ zKjF6T)ETEK!pWRM<7w|00X`RKq>uyiS^ry!Er-0+8omr!HC%g5PY#ju z$6WuvHvr`ue&mRjiL=4IM?@te;C5Yq#!_fgHPnOsV3Ju%b5o96BfsTX1soQq{&ANZ zrH?l_ig#x3G&3c4!JVnkCY%>`k@{EQ%rXCbqhBSX|5lBF z%0ioWGd;pAYub7)!gP6+F*|)}N!nj#C(7KB{``{dQ0+w%m3{ZLrD4#3Haa6Q$@0~n z4)g3fQql7*w;hu*TlcYw#rOe+(3o)+++lNd2*XDc^H#Qdz_QwAkp7a-E>H`zILx}|#R z;KIg1y-gn^Ft`hIv+itf*-tE_PA=)j#-i`P7TcO{H_qQKx{+*Q^fyY17(|xew7>VJk@+I5f_;e zP@V63bwA<>4XOu7T%@~kQAV&ThL5w&$s^B=C?z4dCuwXClWewd%Q@6MFL}Y@Y!Z)8 zUR8rW5&)mZ_Dht3e2{mA)wNKD!MV z52aU*gnRO1)T=Nj2CsMK-4!?RDw~LH?7aw{&|gi3@B6H&pgQijMCph~N>YZCGoxcd zCs;#MmB=OHS|ZL2SrHy|&>_WLJ1b?Gmj*kqYwcxmD{>HQrj`|kA%`=HLgJp17^43% zE;%XYTeN6)QL?TP(fMBAu#xU_v?azPHfvavT1<0FLHES(5ZketHS>d_cf2g(2>Y9Q z=r$8;-7=c&+Hp+ovuf&E_;W;#S-RrRbPtQ_-_Gf?(AilZ@~aZ}5D*V>pb|ozl^n9a zBI!tc9YokX$q2C*&NrTTPN&~bJ?n=fM`9Z}9<$&KZ!FXyO!B!=%`*GurMhuq`jm}mr2{cjZC3h}btoKxy#0HGZJf>;GQSb}; zAECExx^jRKuJ~%)QJK|jSv&o0cj;>{#9)VtuhE<;!JL_~e($Sy-3T6-SXl)cv~T&=*75M6WXom~!6iM?b{P zVSU#BvgO{wuYqHbg^_rh2^EWMf8f49njQ4;yvC$CHrj5#X4_x{Gf?R}j~~s|Qs{U? zrEaNW-RFab3*%pYiqcEhS$mpkw<1J_p-G3M2=}EP-W`33=Q^~7fJ{9WLuirgPO*P& zZ7#Kr2TFePS>3+)h5A~kb3PC{h6_~~AnLbW^#)V^6$Jo+;Csn986;&cOxc@DM+R@EXxzDnkurH%3#Z#$@| z;93eS=IQAXtE@y^$^!k?ZImflLYReyFr<8s|KaJsYGm-7V61;};y*7wHK#(EuV93H z8!+--sh}K5Qo}jET!j1#0rlOwXavXWhuaTmbEdZpW0JjJKkCZTSJv0#!JM_CkbEk2 zj^{MW3z9Z+zRF;L>Vxgnz36))YxFjSi8gu;rrEP`uoLCHInoZ_NfTdk$C-_yZ@)NC zE6iCO82vo&Unax!0b=CIHeSqRVT~g;2^pALUK<3>$@?YrcKTvkH#T^LPPFIp1y&ss zTq07Qp0DK@;ZUbZ2O&Od{V&^h;t~HPBASQabpR|cH0nXe=NmziFf$A`PZ^A$S4dj> z=xG5cHr`QYulu0}XXKl*q2*_V*0Xld)ERE&uvlqD>n97c`a0V)O{5ZjG|`ditPa}g z9hUtV&a^ZO_I96(sGK6CV0}mmy@rz)puOYVT>IrqICRu@T$z>Ds=^ZdLF&zlQZPn? z`EdG4d9zc2c5&K>da4LM{P1OF}e>Z-ZdjBYz-mC%g;_7S&0r;0F+23#F8T%^o!#0 zh|nr(XbTA4qe3p8pRAm+IOPv*pmy2JjK>N2svM_FJ&(dnrA9x|sv0O_zWb*ZFft;V zsF%!}B)j`?(LEHxmdpe(HQ<0}`d6Htf;pdPDsUlG#7=DlI$-mk{G%{(qLXKew0= zJn-^=7ercms8~$bo31O_XW%23n_O95?J^`{h>#?YjwR4sO5RoBVsLpfrv`9uH`SqJ zn}s&PezG$xYyG7WgOier}_bc3r9JcAUb{@#&Xi!j8oEgYrUZbv|B zDFR>O$JA0K$aDMQ{F-LC+BqS|V*>Iwv2rYyz-RrQ5{=_>Hr=s6q=7x&z@91WV}!W?oQ3D_eS>}ee2-b;yEYooNRYa@Ay z#Q=ffBH7x2sou}r4Uge^$4^??=rr6lOGkFSd>F{)BmG zIy7-5k-|uIZuAp=wHyIGJPBrgM=4E!7xqo64w0cn1f?HMAc2zv7ReX|byHt=6>yeY z^=7@}V0Wtq1Csd^Aow2S-Y0&9OyUki4T^TQFLX9tJkKqxk&2Tvg$rwjY9wCPQ{42%Z%kgL|9jgEYN~7 zEJ7;ioL#`-wAjHdT!bMIHyh`qy{Z>UR;yOPg<03QLrs5>%svAyL12kkkZ`)LvbIUd z#*?+!iOiWGUG4FLxF{UM9rd>ZeK=hzQ~IO?OzI-{qjsu7;j!JGKwOl=#ccL3w}3j( z%_@2?3Zr86_JMJepkF4)1%J$2seuKZ$<#JA9PI&_`cu)BUV8DMM=JTO*JhNF52jw~ zRFdv&bxpeIaTBISRs!Ord-;2#?LLlLPu85-i+|3Oq; zKG!GOuh4NJ7cE6fJs1a*pX9j`84Y%<`IA3g5)+!kGoyaDd+=j4^<{}1-s}&!r1HKe zGrRP|5HX$;4;1dvslZ09-sc}hHfBX|pBFKbwp)cE4w~%MGP~4f6p8sQ8hff_%lT?K zO{rWr_As=1XcgPJ6MUW@^*o~R8th3r+EKk+C{TOlhS%Y~`yC}rRQrtYO;n-rnwboD zMBliQ87=kO1=knk&Xg#Tn&{d+2>DvY^DcQ7;w3-u2Y&2Ilq`)%Mku0PnC=8imV$9e z-MR99xsdOM9mpcPkH^|dDju0H+*6m=^$Lz573N}sX8UD` zT(6(jMuxh1m#NH!avgm)dWvj$fO3-GeCDH3A-9)HWm?{l znw>EHrhyVbFPBZZKgPW)K-Zxt{BKcgjcokpurA#apD|IBR8^+Z^Fsef5KU{xtS2NR9*pDPXNb z`)94wtjzC4`~SaZ0b3qWQ9^3*px2V|;yzBo9c^WiT%{VjQLM4OK{A(d*?!QgaksH> zo1R)__~!|UzX*c-&r0>*vO>17R`;h$=rF%U!D&u1G$I{c6>tW_u<5e^5w+s!OM7b= zA(uy&?Zip}LKK9XMx_G;WhYRc+5KpAy+2>}LSF~+rz}2uy^$fv_a6GZdKw)v*lXi0(mG$N=(~GXcEk^^0w60& z;_%H^q;LK8Ex&%^bVyhZQP=Kc)3T315vL9zQFvu(!+1LBC#YLA>}EE)=c8^w>oG+w zw404GegCDnXMlQrzq5nzJ>91ES-k_=BL!|gAy6ZUU|uH;4#+R##Otjgwm4XOXR-vg zaPj>EI7wCnSdfm*48sE|Zs*mX%eV-fOmCH9XD zdZY=Rm81TD2DP#I+sJl`H(>B*ACrs{aDjPn8+97H4|*i}32P4E7+a~Q;Unx9B4Joa zGt)|_Av80A&^FYIwuR8rh6M;6k&=Nx7H)W}0?{H;B0c{WTJwxG#l8?dBO#K=V{+`- z5@bDLbVz*&xl^wWR8RcLN-9p-zgIcnwcqDwxc`MrbNQ0nq5hpBDec$n?(z~_sdFxF8K`vKd*zxG`rzAl~*$1^W*+h!l`NHM)l!b6D*HP2${`9 zV9I*ZH*@&SC)0+DTvAGe)8szLP0c<&8pS76e&`Nim+|dfl`t;cJc1AWaVLq%XZNX??Wku)Q9xh63KQ|5n zcyi~~7N_zu;mOEcD!Nz83JeMxZZ35A)|-Ur=Vnpk>#r_cq^xcFxtM4N9y=sLMHgMO zoE@55=J#izq(YF6f69ITJwJI+b8gBpj_R+78V|OMVF`@6{l4>9uH{b_{cxV=5QLbf z{^ulb4j`d7Xjh(3Zm~E#PFa32bZGIgUzpO*mt0%gD1l=*2MC&q$6S;03+!EbI?!>* z?kB1_#$r(&l-c8bRHU%!%;fGbtUCQHm@@8A=AH-Qz03rVxhpN7rTj3tW5@|q_Iim3zC z$HrTM(D?v*>(rlI?Q%IFrgAkc`<2-moYWu<{cWx z7{olv(YgPu2{&zGMivvjc*)jaO z$^_#%dy2X5@*rtCTXv<+OW?e2M?&*dUiW5t>lOOzTx2H&+~vBo{eP?OPunXV!ieS1 zUTQ{0zMfms6!Z{aD78)LYM`1_8WS`n6g=yRB`Wrk{Eemo!n_TLZC;oV&Zh+CTG~v( z-A>``YSHVC%|m=G32(o7LiQKBXggSF1&HYZO#rr{Jf(GTit1SBkpPcx1YCJ*ZP&%^SSGZhF!~Sn^K?v>MK)WV z-DFe`susUSzwMwp9xsD*yL9F`Y&;?|bECvu@?1JgPHh{ATd@c~;YWCB5!^YnsTQj5 zxJSQ6HWt07Z(LQM;_(>sa)VPv<3k^}J?E_5+nUDMshL=t86MEfsa+1@>bu3q4?>=~ zrvK?mKE=Bxq?(Iz?IPj}&KWuB=-e?d!)i(;=Mvy9JFv6_lJ|e`Uo4Wf27K7NDqP_; zQ;y(aShv43fajCOw=e=G=*-#-l0O*ww%~duo5Qy+Y7O1AO!6VaL(2OjoqsSBTsh@G zzS{GFP3UzcI{r3ZN6TAlIiiDFdL=jeZ7WCprGd0!&)9C+3>2R{I{ZA zjsQZS4uGWC0A1EDI|rwQCZK!+UA1J%s5P(T2%%uszHy6&KDaNfySH$3Q{ zDUws>w=elNI-?LdnJ$6JVS)5>TmK1TiD<@t4Rn0wT-qo<|7k8Y_NnI$OuXo>Hcacr z)c@J0ioypvfxx)@cP`-@wa7yW!OcU+a^+0UBNH>~!M7pN@rfbhI=R^|V*Kn(7fb6^ zey}UMdEX+*=Acv<5lMsh9IpwtPnE&R}TI(Py z<7nEa9z~X4yy1cB(|zZddYX}ARo&nF<}?K_8V}Q%RowC*w?=7Sf)uebtVjxN60B&wgF)h7pyzzQGg9^+ILucQZ}4FN#>4bM`|U zY6l3gC~aG~4Q4M5v^VDw$jgz!rZxol*iaJlGW13Cpt-2sm!0lmK!+oOR|VV5%EB>X zlYu7*A43e}H7x4}I=QKthAO^7`5xI&bLNbX)yv;=|KOm*DaSR%);UzU-#E!bA(@DT%-=d^j!^3E0|b(-`}seefhuIrpp ze~{%!v5ba4bQUtLUXjaJVrz8S3UOvO?r_-+w%eg#ON}ACZZLOH;kK$v#Sj-Pjv-4N z(2{CWflc#qU$6lXB##kj6W5;{CyaSzPxj!ey?MlGhs=3_*4|opS9OSY{$5QrCHb?a z20DT#fat|mUF$;LWKBC!(XxL>Jx4gWPE4lIEk}JssG--U(xSdsC&gV8qq*N7o zAsqsD!`s<7=$lq-%3LWhS$XD0f2XwAz^?MBz_HeKM@Ycme!)aH7(}PbF4!_+u7FK%ygl%3KNV`&{K~QJEL(fQE4i%9NlQ4pR~*yk~LED(?rr z`9bp3%4r~rq6PzcoEkTbqLKRw(+C{sF?=VH`sVq2=g@}LltgRw?r_Lql{`*-a80gi zDZIw5lQga-#Lb$yNDJps;ut^17l*p!U~Qp5{5xlX?J8NIb%dJN}8 zK1dnhbP6-(BRQ*=bStvq^i229E8Iz(6fiSitvKnf=0aOM7U*99WboJsKWZ9&rcM78 zB6NQc`Ckt&;f>Jo@r+)-Tk11159;%RXvPEjjO`LVMMHk!#fj??svV`TTVZeB8pIFl zA`2wEp~!uA!w%i2w^)F&UZfGAU&r-4m*wM?5Bl+#c-@ysE14IuLfJ%3iTp8_kVM&I zuyf_ZaLL$kJ`6H=U^L{;Pi*HIhr* z)8p1cjh5)W2V>@A+qii!U41T>Y(XfSJRDN_)Iv{+torf4Aoxj_@d7ox_tC;}Teu(P9fX+PG+aqJ4+2p`(xdxH4{G}{gnWSB}7c*VoFtlby z!JYcfdRMiWK`aQ?6g%&fWJ4o9>*-M=3eO!P1h^GToQN_^VsoLl494IAH_-8k#=xCX42)fVysp0CDsfCa8A3r&8@h70R=uDa-HW& zX`ahgmeI9ep>JOoo_#fg41dvev0PF?Salj={H<%PWyQ0S=Ow`A(+cdU-W_Xf@SOnc z@Cxt*uI+RqpG5YlY7w=wFRhE29|8yrfKG6LQCRXMW7WUM0Y)~Y)Yv>p!HYp1Pu5`1 z#Y@WdwJ`0g$Z(O^4;7J93yeLfhe|_mC@fT1Ooa)4d^}aMxt_;-S^S0S_5>+l;P{Az zHyPO6mPmunb!3I>ynrnS#P%|7C1UB#`8XXl?zP8_h8L!KGsqGaT9BjBDGd9%WL_2I zj$|$HrUmJY`3Zg)*J|&t#nW90OI2P8h|l(|`aCM*+t1Q*tRC<4g&8F$`B%*M*40W* zZ?8b(DSmN)!i_M=Mvq}cRi3QDnE4_3j5+M`J9$PHlkX)5Jwoj;JTRtHx)P8DPn&*~F|Pail*=hkD&j>iTHRq9ZC>?g@@SzswB7IN~S5TqOx|LnfUK zggIm5NwE8yI$)qK)4F*u&0PeBjkJ|^X72voBrX$75k%P~cho6_H3>`7M@4^<_SCg4 zCp)dQP9(C+*Nadqx~JtPv5`?re+CY4AiV!%JP$wPPdsK}Y>FRV ztQwbod_-FF)tS?5Iw>TgR%f5n2qV_~5HB1pk@Z`P9|ukMoIHYE->}+JsWptRM#$Rf zCr7!pbd_x*ucILnWTQw~^M*QX&&HAxXb$DiZhgZT_Oq8kynbJ0%hWp}QN{g%p-Y<1 z_6?57o3F*Y*7X>BK{)pIWSa*&12?2t1U({8f!!ssKLfjY@u6xbiYmwImmmqZV}s9n z;Wjy5ZH*n-52M9>7vkvp`eNjn`CC?2y0DjP8iPyluO*GWR#--|KeqQ9?(@tj@b=#9 zhRftQoAKBni4)m!t_M|1?n$00hRtlKi~}Q@^P6&K+-hO1Ay%o?;FgK`BD@R*X99}goQD%ZH&CS1g7 z;P@A{spR`KuQZu^-~t`*;h#*V^SOyWJ7cuoZrnBtX(ZLEAf^J)!h#XE12|cNsvbJ& z%O@DFq%^yZ%40drnzJTl3mhPzg*A7jC!HHj6tIO>D--S@kawHS4! zoGIb0ehcZ41~xvdA-q|4iu>D*Pv z+>1@7b&rqgU+UjnJx&@nJYG!Q6wG6m&$eJQ^01P%Ry z^RCZ3lxBou{%^eU#ND&3l2GocwFz80hXH<_N?zRJ#q#QA3rNCB0T<7z&ut)p-g1<@ zGXVkdHcc3p&`WX6*|QY%pl6seJ@rn05O5C&?8Mj!XD$onI3=PG5Nmca$8vBVLWM^| zFxD~Ta%_Z)9mDE&t3h>J;kZb0K%~YYz{GJvH ziuBXjE|<`A4-AVo0rj@hqWBD7k6c7=0}b=8L}|@AFI3`GMa!^yD)T{Pck{6<%<~Ue z(oRK_-+Ob-l?t#3?_i7jULJEP1>JK3QrX=^0*N60`fVsd@9o!_8-TTf_PG!}+n{96 zwtGbrykAtyyV03J(IX%NBBQoa_Dn%tpyEhEonaD4bVq!^U#ZlkVMlpWlucxjB=!xp zE+Kd2oeG`_FH-q0)?r<@c7KbXp14h7O-yF*Wln!zXWK`Gbv$OBsrSJDJ{jaQ*uk`G zu+5XFg)E?KT6oFXpQOk0=_vC{E)WNAziB+L=8brkiZL@dNAVe-X0RCj!X;7m?PoZc z^FXgDcBFfg6@)*4_N(q>!nxYnT3^Y|Ow-!p60i4%jvG0HFxoe2GVgyq{Pl8kRN?o1>q9zF!i>|$C`O}nw!Jm;f zhC$Efe${u1N$5AezrQv;6rl#mgL|B}Jrn9r^8PW?Bs%)t2|&d;97ehK>AV4Qn-<;@Y0ypwpBG>ruTOd|Ct5aD7>o3F*QLsWG!Z@O z4zc&$9`KVK4{IWt^4#pA!1h>ij!jPLs&Di9%y&=zDWVPPfE$iqFkzOPoAHzM7Vjqj zY4dr%L*$tgYw&0VJ9*$x(5UtPm_``ma@lB!p}+GU+G|40G7^e@QKg7&?|AE)Iqd$V z6LD|K-#T7_T(54W)tenME4P)7Sm9|k`Wv)3JrRj8)RWx-95EM`}pJ*%M z&Rd1B)hZ!dB{$qJy5#crW>w=L+W=2>oX)PNxgKLIcHXerX0Fu}puywO-pHB>&+hz^ zY@9L~hma0-Tl9c>UX^oW=1;_{C{^=#8ag8UR zj?hviA3!<`lgyVFu3QeYgBEBMmlqzq2j)`t>B%#%he^D1J)%z9Nt#;A!g;(5LDerQ znrhKcgWo7qaNBWK@-zNbo8R)i6l{0g88S9`+m z%QqZ#7A!pj-#B(qI!`_7;iR~_z1bAiNFU$$Lz#=Pf~kA}PY-SuIy!M$ZtQS6h%qd7 z7bhhqDfFq=HMDbf-fW1R8XDrRe3^e(hwtfOhkdB-y40Kdjc?imLDli)bkJ?d^q(Lu@3dY2<_6x%poJM0_y%ca6zeSB3+|C8nd-G(hR> z@1N#)IKZq@EP}=gDnqlES058`j*{|6F=h*FP8MfpJtXI^h-P_GrVKUPC5zH4G|72! zrkx#NDr)ycn`F=^c`@q}PV_lh=Wkf3%P%0-8D-^dmpjy%S{Bcu3h0NzXMEc?sgNwr zGd(fhtR^v&58J-_#cv2VDHe*0Oy5#QY4m7&)V7_-KK0n5qQ~|`1S#$I@)+EWF%}ES zKb|Wz)y^w~n~lk6axDa@NW(3-5z1jie@B^^uE+<|W)nWAdQ}jQANqBY7)=4(+%ooi zI|+_8)42IXX;FWd1M?g=qtbW@p=^*E-I;=%Z8f`Wm4C^mv>{#mf2okO5G?T-m$7gP zmt0fXg6Tsqq}dVD=Nqi8?tJX#TGDa!Zni2rswUz?{!IUTpP6<^2dc8wBR+ zYz>6>ls$)MLnh>nT}=9imWar)`?|idY^MBZER=S^zfW${ z(636gX=R;d;i!9H^@4HAOteSFKcTM2tl1k$6*;09kD~0J>nP*l9Ch4IHhpd%nE`6q zYe<_!EN_9~EN|?FsOQ=A4!r7$nx(B+fYr`(;Mr}Q5Ohv$pizxS-Ta!~28J6nm7MbuR7AM9;~h-;VPAq5)wzmBWY9nMZ$}Sk1i%vlhUj)QHb)7e z3TRUK^pl*MuyL4@cQ?LNHnIxZeT}5#mX2mWe6=qY0_u5iV@?k%V0edX16+!}5(ZL% z|6p-8en)`?osaa&R)BbQv~M_vc`>Zho!E(V)dDcB)LHW18wx!qIdx=9J*lQ>&Wz6% zZGB3ce}yD3RxG{S+tO+;4=sTqP;*#uk*{YpH`Y8R3n8aTB{DHWdRC`bp%jf4a+^IC zd1)YPsF|5TqKF!t;Q@hDga`xSz!Uby&t#m?oIi#L|HQM<_g3~dq|%yBItZj8(ASgd z-MhCtf!Esyz8hXA+L_{#wurnbc-Cj38Ni`T{48H#v%PUinD|&h3+!i`7aC(Qt%)oHzRGW4=EmpKarr z=GK`?I+j!_==NETmF##?m7`|ZMB?pW&Q$g}Nua5JJW~Oq3{MoB&G-O3>>%EjIs~_l zYEGY^tTEUcV^BWFd@B*&XjB%3|BNenKW=doZ8)sg{NWDlQ?hJqn@nAdBl>)7F}$+p zV27yux6~6O)W;>l#}JUK9ZBOsglDtJk3GAP|8&vNz%|_`f|{wy$*J7H&@JyL5;PVc z$wIDhvb&#h3#=xQQ`7$*XV3Yyj6PMO>O_{XqKUG;A%6W9VnszV*1upj?8jL+5tEFe z3*8P2T;#1aGOL+-7&0c&8b(-ul2f_4xXAERpwLH%3I|9c-CPB`Ro@w(*ihK8gH4w6E$C!HoU;W zciMBGqcr=9fR;t3WAK^4y3ReKhI?Fu(d-7Y0FhDWy-@jS^&9hc*mX%Mk;Pdn*;ga2 zX~wwc81cBJ$B**4-J0k|>3#7&Uh5ar$ac?i88$CBf0eREFSo z!ON@2)%|qw4TH5W7+s3X&+1Q&T$e!)1o&xO3R`hwNS5g(REqLae_Fwx#%m6SlC zE=e)_3mz7ipbt>sqsIg3e2Id{fRsH7Y7!wcp)T z{%_FIKbzHq7T|)Y<>(>LE!4w%Ju%X58|>P9n!j}W1alE@aEbGgw|b9q%k^FbU}OpM z$zvpZ*$UB%uAfrYcu?ckIqVTw=!@kKMEauf6bLZ4Y_y)9nd3Un3T^al>!<&PLij@U z`vG9D@r>~Q5&V3`*rYbGf~!@*Trl~3gD|kz53)x`XCx6%uWH+?8fJ!;f!VRk)kqCHP( z24@m@q2G~GP{G`j@sR)y=Y9MYtTaWZzZ;qHPj!nlMKqoUC4aJTr_$$MG98pxK9504 zYcg?*ANpHR2uh0D&gKg#3CW)b)mTuX1_vfU8 z1V=K>?U)|XoE0|^mm;R2ov6B!sWu{4i3F0@D#~(fhdSV_!*TklJKUTsaTSKFmYYz| z6etn4x00anLM!xy!lG2Tq68n3JFexVmbwt1h?T$UQ6tlS@+P zPPU7~@pr0*Y+I#N7Z5uubTq@*!|hY(_Vx#}x9z1SR+|O1Hszlmw_(X5h0I=%fo|{w z6pdC~OLi=WI9kX0vTj%EjvBiHQOP=frao!E_Y(QrQisR#4m)ZT6z@|Urql4wH(WB4 zWSehevT`M=>e zA{$e!Np{jiVp$WKL!D2v-Vv14juIJ@*H{}tQdgf~PiFdhU_6g^?tfg@)o3$oQ;o|9xNBCX8t{PmWX>Y2s!N;j0S&$tcy zCakHOsILqhiq$>X{9(n(HhqfIu1c0?n>gqsx$qxK8!45ysws<>>Tt+9b@^hD0+I)< zWN)YQ&v=?JT=#^AC*R;jGErmCJBTjt=6^b##dR$?=x}p$-$i>=Kf|8nxioYN#SNyw zlsqiNIs4Ui7l8q*{guV|to~dK%w!MbKQlGdoLsf2CCN4jq8Q}!eD-JyMAiO_CtCTz zz}uhc`qc_lKBdVwL*&^Yzr^xRg$jXIPK4h}-j6kyHIcDp#IPHp$^mxOdK&xH=VKKx@3?vKuM(R=t zA(VU}M3}vMqUxLL0k|SM};P_ zK!Be+NjkgP5x{efrK^~`O#xWZUM_t54F8HZ33$RxZcaaRmHT)ViNIz{+uB>RrFt+w zL&C0x;G^cdbwoI*^_?p06z_3=R!{`U5@R86qfX*&#}{#R!M=%ip< zt3?h8J$kpU=J5!j*% zs4JYYK-$#5LzB(q0NrsweyCRa6S!y#Y&I(07zQD(`CY%c?%<&+SqaRx*6byLe%LXe zF13eh1U=r3tnUV#cd*kyfEs9%0Afk*g?ezfC!W~g!}7l8;|mfSixH#Wk5 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

}N1l$@}U-0u2N%(_&a0{l=hF$Lz>aCvb?N^); zaZle{?JB6yJXkZP{)A#MZ_CneKju1vVig)SabH=@!azyxOM`oo+spRX(D;NX;UDt) zVtW2{teS3j!xhNfAcDP*bp8|{XdWMbibdv(f6)+TsAMf)_f0tafR>MNrf(t*oO;bR zz)rE(JUHL9i)Ql)^BqBLvi);??39w!sSr>scqG4XZB91fl{hq4s&H>d=BaM*um4&l z-~F((7AxT7`=JqfWVQs5Hw3l$E#GrbLFx84M_Y&Jui)U#=atOxVyQ9Yo<;Y>BzJ5 zGVK}3Y_KK;oW8udUj4>OzG`AhKfRHCYH1#9XDLlzIcS;^tkPv^ZfUl)pyOeynA@J+ zAFBkmGEd3lR`oj;akOK}Ca+AS)+<9|(LR)O3Rf8lgVs;tsNoHAe`BBUEw}}_TQb~& ziLM^S6^=%0$2c)q?##a%EGXhVXFp$7>RKD@H;5b#>w%VUdY_Fn%>_XV#N-WvXv^8> zz{-Zsp!=4j+LNQt#ZDB!2!|*{LQdm*@4>_={ejKmZ^P~IBDcKo(1b`bK(1K-^oMon zQS;!FfsT5^Y$McZOzV;RS!K=boa~{MAKl@?^`paje2Md?3K4Aphyo&X{@3tihefKWWMVbXJjZd9{2mM~~Hu?vS;JqcE`oo3m z=*!QSYMO-Pzbge4_6R@FevxDnu(e!ev&@ny=qKpaYgMfgPfy0mnbpRuAPv+)vUWyu z;o(@8b9Lw@!zumID;sHlil0y_0^nKx3mfTM!5#nXj5^58^R%=U{QNvnSIAX=urFJ^ z)RO&k(>y69W!T~NjD^jyfar)02iJuM`JWgWbym zB`f_G7yYg6BRhk_aeNjSj=Qtyd`Hc<{PH)%<*Aq?-VVg~fX$`F*7msj@!`Xx+PLrw zX#H6K)>ryRg$rX9a3N2Jfu&hmqgsr!2lqu;+=BCt4%3|zBD7;nyz0zs_wp-*{Xw_k z`Ej+oR^tzBoEq6pZ6FE18$#p4R?whU)zV`6%O9XctQaO8Bxvzl1$8gRnXM64ZxL>VE|73kIPj@hBW~1lmFm`dLo4G<j^oDIH9} z_Xg2=VYJ8;T5n$KgA_Lt20f#dU#mG1E`XimtH+$iD0JU$2au0Vzju1RAO>x1frlsm zcy)_-$!txjo?|D#zj1?EQe*XOch&~+ZhO8<%3(jYk%N`tipAr^ z#)bA0>`ZJtGADt}mr|i0>WIc`Prmw8jfEk28nNI+#oUC0c(#z=vc)dwXS6?3LQofl z5*WX^w%^G9PagHF53AjT(&nTGR8w#L|5QK!o=tT9 zNeTX+?uCDvLnBanRLZ*V$--QPr6QsU`)fAb5u{Xz%`6J#-khZJnrSH5$mwqNrb;n%U!f{gnUe@mp%^~c?w~xiZzrlE1qNw_! zj?w{HsII&QnxI<|(w<$iC$*FT&%u1ImlF z@iDhD)FN6!JkQo&|2Z{8S@6Oa!L$391Nrg1ydZ@0dqL4(1ze>Vl~zq5tr$e$8S*0M zFLHDjcX9OhIu^|k;K&3;TfGrea?q->|337gvn#;;ZV1ihzKW)X+l~6uCKeY9<5RWn zAk0VnTbv#y*mDW54dq|`8P4g-($5)II~lD~$GKX}9yih9Cpc(_#Vr%H$ot-5RrzUR zE$A;AEG_Vli~Ir|k#F_24Z))e#pQ}xC8|JkqEIpc3}~2!*7AilUs?D4S8KG_r$X2( z!gn4q5vh5rCIz$SCluX(WtoJ}^cjDNC(qcDwl|JiCiGabc+SQNdu4Mpk;nO?)Sd@g zHE)gLeCkZ*Ojd*R_}KLlg{P*kn$Tax_YHW+tbTg5ch6^7vL!w|{gHD%;j1M6KSTcV zgTn?Co2Ezc|HD&PUwaLpL)JS8?f&5z{xa>aQ4Nb=Tp#1?d1zEvkdJ|4zXW+`5UGs;r>gozxKu7oxpzy=%vjHZQ?Ex@k{#4+J=oV zVgGEOKQsMD?;?~-hw8DseB;}rt2xgj@ap~l2p0|u8v3k8f_Zodd%zs{ zKSw-#I_>#uFb!wd)u-AQ{WSl}UL3F(v44F1Z$qZ2LR->vaSd+@@fWfG=;xoU@=s&^ zI3|M7BNy=ZABRh!-aUNOyD>rke>us2^vgr7X_pCoq4ucIcHp;shfIjhmj6GR{^dpm z&^Lbe4f_1ktJnyW`e>?O?)kTQ9|aYKKs`n_@tMUxFF=bRCa5;b|3f9eq%%E-dkRUo zqhCk(uTkUh^wIx^a4E^6j)=h2xu-6M|Kry(fM@qVw9l_8%M=!SzzVkqVE`Kf+oyHK zp=@jV@O)BsMXO2KM$&AiiFnjgy<%`Ae=3jvA?Lq*8y1xcH+)fVC6!fw?Wd@(WG4;t zx(CLyaC@qacSG?>0`J=mMy8^$`k~7>dA?ZqsF?quBdFH&-@qAE%^H_*Uk-^=+u?4NdIKCwlS)U+hFr=gVaaAtf?!zv?= zV4Xg7OAenrx#L$aDb?QC?tz<&NbxToj)Ym4yT*A|qp^zr^!`=3SqR?%V}!fN1P z?zU%0YP_iC(40MXMdS1Hw`fxsb)PV#yvbj1aNk{A#c+?QUPFV(X}pFBH}4CiX|mVL zQ|)hi9HUSdja3(Rk!v34h+xx4QJ#l}Vw6-@1Ac5EA(n|#s5TDy`uV+NJESBNcKh<> zOGmR{IBvIL>feU)MEVblJ%0S{S)p*lk|R~!KQlE;xXb0z5UjI@2R7x4N*alAz=#%{ znIh-k%38o_bR8YSwR;tbiNs7yDM4$g98c`aRYbk3#l*xKmbtYiUDzHSE#;kO$bWh1 zuYKI3>Scmc**8Skw--#^lkl@U3Yt3R?(wiOA$cva%g>mEe|G07bR zn_Bn&z!>y!Qrc(Gfg-=LNj&RG3Hb7*XO|BvO#FW!6;!x^M{GvHh=|Iou`<%VW_x}T z7`|617{hm-yd^dRIn!J;Q!;)j)zxL}7>jaeWVC>Sy!0jq)o=I;f zvcprhZ@w>+EGXc*4p*vi`T2B!wi~ts z6@a6?XH$LFg8<2W4ms?FEh{fv7&&cT&zv&is^H};N>~0$wauK!^Ri;=@Co(Q)R|PH zL4qOy4JnT4!noK|#=CxYBOr^A8$4(AwdisAvh#4=aJP8`rVkk<1sfe@Z_}#CPHFtk z5%t^pYCVlYKJqV>8|30u)U4nWhpNig)9+l4-k@I?=1J0&ZqN+_2sMMt*#ySoAjw-LE7XLl9SAZix=5tSq_}8pk>H=$Sp_t!cABP zHr91V|L7>}`MKkk@avyr)NGgKO>~+aXs#FJof*^x*o0TRMOmly_L!U-OdV6CH)BGv zr?0*Q26m-_ilH|Ja&y5=`&;Gs6k^uW^dT292c!e>%>>7V)&`dipYQMnXW3XAXO7oN zj_ICX^9iD&zxO~Z`8xS)ToQa_w{R|1uDC%Z=u@gqCe9u6pVX_KBZJW>ul2g>c7IX z^hWeMcX?KqW)7iXPXfEPlWr>56VOb3c^D?)Ob}DM(>6AZHv%WN%;bql1>GT8eV39tH1a`aO zAs>IL>Po@v|2TRC6AW=929caekqH2HRb3EOG&H-E>r3Es92vYt>hR@b{JAe)K_nOI z$l`M0DvMPeB)C{zD?Yap4yuG#C&caD6k;Xhit7nXdf{kQxcK&)LI8twhy<% zTPSwK^<3^!xaZP2^P_<+5AW0Cq)&BrG7pPip7%#g4es6rqaTBEWGEu;qG0+ z#(wf%thsymuzF)CrTGb{GNzGL*B^m`v!B6CWNJ#)bTq3e#!$e_Mf03dg)Ru&M?`hO zidw0VEOWj^eBvTiFjtw9iHYQ6ijs!r$%~hnCC*z!+K07ST($~cH&x)o46()pNYg5y zc4D04@^1{#;|@o{{;wDjj^QP?*SE4B^+5e@kHIxN6IpfeizmY1!mWb{YR!)&NY>Do zO$v z>W+wo|4JsLjWg`-J^718MXGC7L2q0sYheey_&Kk{0yJH76*WM}wz5Bztj0(^?D7eq zjCcS3{N|+A?b(J~(aU3c)&@Z732prFCqPlo+-Nn^JwLW5_QO?1V6IS1qax}c=%{NK z{-R`m4}XkHIQ0hG`6RXA>)0i*dVHe0h>>#hc*7`~#SGTaY@#-UQ8zCM-|s}d-zrot zo~&YUw495Zml%3$LKQxN8)1GEb|4vJ_88G|muqS{enX9M-Je?pHB+r!N&QrjllP~F z!P0y`%1Rw6L7;}#(1(dK19kgdq!$^>9zid;&)KU|8$(JNLk+gO#t+e+0!&{L<0M5p zK2uF@=@bx)hz=+7>((EtLJKd8oQB7ln_oGe(|2p${}gD{)n&J@O5yRt2FcZZfBEJt z*A{@7Eb$`aXk#A$xeV29OtrE6$;RcF7daJm42(F*s&uK_?u|}RD_-d6<4Pc` zAy@Y{(`IEo62AnXR%EcUt`p8bwhuYeQm?iZ@RlIUv%e(h>Z*EJv`ymMfJZ@M)oa8K z2uprrs61=!B>fPPC6Y%gT}7QNbl?LNxS-W;WjKj;0g&Uf>WzoepN&PfwZAN}9~OH{ z&XJl0JnP0Xh!3lImz-E_Wnpl1R$uTlC_AoCrK0|vOnkAOf<({`mE(SMlia{UFx z9+h6-^j$Uj#T|T!#lZ&>J`c^h$q0lV=$aEY-OLgHqY!3H+k)~3#(Hf?v}m|@Y0?!7 zJ&kM($#$%tXT>9LhsTW@1Kc*;z33|Di?jh4x;N#S)NUFablz-U_3J7VRN?vD^M%%n zEujo%x$V>nXtosfP467-)s>^DY4;r&kpyAtc3%(=XHIQ~@Os>NT{obQROfLTzg*px zzDnXse_u&iO}yW{`6O%D14QOO>#uHPp=alpby`5Kc4p134>3NltOxF&c}i`UFDbYk zedK%Y;N&TXJi)Z@|8=e)y)YN8ZAD}zrqw@hFE5crwCnQz0J(C84$wqZ%9+$|0wR@F zX4$aZ-R4wx9m7ZO0=9kPk}``;2#GRrP#TvMHqipk;o91ZHsfU zfUb0(tTvF=5~c0+`&a@}qPC{H>~LR2pHc2CMyEQiObm+VC49VgKfoOnC4U|pRGkGZ zKd2IgJTz^*%Q$nNx=80n(vUc~b)-nQ=DRO3qNQ-!y}jr`@6n7n>JdY~iSl?*=pNXg zVb{{!rts2|rVhmGK%;KJ!Y0fUJ_#xRHashz)aV;cd||$|Nl)Hm(#hc=9VXshdT^-0 zq}NPba6c2oiC>g|P}{APMNPj@`#==~p7BGU!B{#zs~KK@`69DqW5f&rG2n%uAWpq< z@@_+$8nHIF;AU}&jvI$4+7DG0(=ciw!19_1%Tkmc!7i9Ntxai*NIJ^=a6=J9kOPkO zes;b2eg#o$+N#1nW23s__fcy`;?p(I|JySUYWuT{}#OC1g%1V728LTifogvMu1Wd7-H zlxnvPXCxkT9%2Re-6=tr9_?mPM+2F<>Yl@R`_tRfADj(?@ir?f%Q`A=C@)R#buTXw zrLi+qN^I8G%fAGE^=lwGdoUocNvG26}Vvs{ncK@MnXgW{c=8gUX4IrRH-qJ<(;O47?1m?IQP@ zUdUczbgEfc=VZKrr1h9N&Y~i?rcco@rNGy|;i0iMGoFLsK`AVy0*Rmqraf1lT8lYr_;fi-CUhT~pY?qect z7-vk;k2LQBlZub*f}fXz@hTiYm8eyz9ZrvNeNndV(@jCt2O5OHUCk+$q#+wNa99yG zmq$j%u mKKIx5V-#T`6aLIVdFj5kEjxSM2qqz|G&uSNk^UoDrfm86S56_yg3Igj z66=Ai$xGqvD$fH|fOWR>`h9ifu59BpHO z?;{uRiKO}bDa50h6nnJvyD}Xn4Ok=>5y}q&_?m(<7g7T#V5<{4XZ16M`zNbMw?3I_ zG^OEv**RRncuPz;-UPT%G?+lLJ*(}y=;L2zyC`_@^I@?qT^<_wnreeBHL zJN-k&*H7oo)!`nJkH!nFI~G1_48;tSF#&!p)il=jrQYiSRso|#SAEJ)5$T&&b$6N< zJB@dODZ=1Bv~%#BUDxt%Q=&OD51aoEPIe-S^-ZGPx+xLE;xl^~lUp!B!K78DU(N>? zG&Pg=Rp~u>%b$~VgOfDZa6%`S+KlR|Ma(MzS!wGe{!w=mhgXA+9@G+}BW2ru!GgN( z_g z-p3SbZ+*U&BS7M&_nhaNI~r>Uihpxt>vMaVF7csZ(JDxQQt`V+4=k{MReA#S)6J1C zb%6|nyOtFpVe4g)PBCH%4RwTji~yNciv(^-aPa4t%(o|{LfX5BY_Cv{wWO#|@;ptN zjS23X%{O(c5p;_*NV zv~H@Ix2QJqEj;<+8X5d0P;w)obEH_s<>{6>Zt}!=nS>hlbE2=3uB;gnXBnFJS|Nay zAjjy^+Yzo=bW{m*gKs`{{1AOe;u%|oy^4wm91k4XhcOF>!_Rk01oO2-NtWQOgcvGM zOUqp)%9mS3sIx>>_71YQgFy9|Z+qe43M71vM1w?=l8G@PBSo^D%3x(OWXx30C~47B zB|nbMTO~$t!<)%>kVG#MMmjo#(lCS3tPjA6d__X{`Cb3dl?BuY2HBy)$$}2BE|Wh_ zHteP1$EcOrM&;`x@U~MC7!$dQ(DlMiSL?<<tDq$+2H{vi!XDUTcXwF8`foRN| z*P%3m{VDypSQU+B{5R+QwQtpdE8BUsmP`(yo~&Dpwi8c%TuVqt0#oLMim-+cX; zkBR%#V=O}JKTnNc2T1rN-0rU{$)c(#Z%0ag#4@JK7vEM8hfSE|$GbE*(7G#*GGZDx zDx#5BGx-30G#9(4%_+hfxmE)^f6lNjmvb9cYE83j&%pGHm<0=nE%AO@>+NKg?OX3o z$7cO_u2uQL!U)#vM5o$ZJ$+lwIh#TC+}gXm3A1!rPyjOGL3En3zgR3n@$d20cB*4yMwz!qh-m z-VfTb`8H~{NbREar?tnIvbT3)@Ib+F-Quqc3*Z1QS}U>pCM)xm-hr~Xxb7!Uo{o)0 z?|9TWcj8xZb069`bxtOF9D=ZXx1)7M6OAiJG87$@!Rn~@`S<7xt~KO`SYd5#iaE+3 zCWXRL~8fgCy+l|6Pbu3mHL_n$Y5)Kv@ zReyS2T$g^=ICmOMUB9DgcmZoac%&=}aHoac9%SGN*6?sHDX;R3_LI|nS#ovCe40=T z52h&$m>nZHdeF^RMc9#>6&<(TIXohFwcWBRF@IM5v=GdsZ}O~q&(I>|mgW2i4C6`+ zXi#X;m{D86{H{8H&T}iVgin$q)DKN4{XSliU}t)V99KIzFtq_c9Qui58PEs`4+XnzW?L83WsFE+N8@~Um+Yd;*CU+dGpyy7C!n=NA)4pVoTR~BhiTWysyXwoAC*ZuwN?azU zMIZ2v3HP&%;f-YHK@o zY_x0TqEiV(VF_Boo;<)5xkHj(rmFUs8W!sUX0B7Bf8tMeRIxAo+#corlD^Xtj!NIlQ28)>N@bUp!xt>HlNwEu-Sf zwyt5^Eg`rjKyXiR*WeJ`A-ELoE&&pp5Fofag%_?NxLZMRcXtYVE4Mp+yZgJ(7~iNL zoTA35bIz_UYtJ?3Tow4F?=(*7Ip#D^C(1Q!pSrMyX4fzqqZ~`o5T`Bj5_xjrfSs%3 zu^o93LOFifc#c~~y9GH*{i>`wR_wRa7ByUZHF`f2xvoT8B#fK;)-h(I^Ora6#SG4GNu8)GQb&ZF&iHw23ZMqy{r^6*&m);KF zD0u08j{TjR4MT;25{>F9Pl>2`!4F~&I-=HZyhf?o`?wU@4*B_RQhpdq8Fm(wiY+p6 z6kJG2urXDlgXDS6vwHL(B7*$!W9aISWH}u)zZYniFFDAI1+eP{pld)E@A3W|Ui~)f zl1QA`?P~I}f-e%q=Z-9Cs1obPWvV-SB)W@xns@Tb=}BDg&1>9kN6RM- z0fm7d*`_U}Sw<^;>{)tNltKZCrz6#EW?#J~e>yH<)0{VVbaxV?U+D$uA>LgMPFMMj zMR-(r{`@HVhAy2VwcR=__5GPLtS)yL zt?0b;UbohhyP;}HW}E;twm(E}9;-b0xW&E~B@dVUJPoAj7l=LW6~XHJf;hZr#}c4q zXMC?yA5A#>q~9`I%?{Pb1=28rY43qrz%O16oBLsvm28(%IKgsB6{}b2&9QY(Bx|#? zTI%p9K7=2eukS%HC8PN^3?~r6;;7;8-{0FL#UVei=L4bSvnBs#WTC?ulFL1{-t1i3 zD#uAhdRb>DM>jS5fM=-ZiMkpR5>l3jz%ph~<3K`-@6ryEjPJ4^9yA`oqNSBK-4aGe zN5{)!hD8m{yl%@w{DST&cx%kd8PnZ1BpGo2w++DWLrQKaqaesBBu5DIP+0}Npg<_> zBEhX#1tArwE+DB?a6_X#AE^Rtx5`-0k+`yEf;U!OsjQOs#*GoMp)qjBy4c$@>8CTd z>5CmTz1`u&uXF36TrPImhFg}fyWcQ35B2ZS(Khw^L>Wb;WS|h#jS1bp4RKpTSK5^} zokBu$yUX!%5k&)j$LJ4}cIbMxD-0O7*9aR|t(XQU%9$!8nTCpWo>_3GLVIa=&h8&` z593EGaYyGaGHMfaX{C!t^HfWjH}M&GnCSDpo=BUbzZ;fGEH7iPc9{9UJJDllk}WP5 zQi4P(XI>sRIB**u_Os%+lxPrgu==)^`MEi}cFF3bA!pyytgK?NJ>8t zIc0zG7r{AN@XpE)!=|vR=W}za4GV4sy14?Xz9XJc(jiDIdYSB|q{q%v3|^Py_4Qc- z)7yOIU6{@qo4@zW>F|d(3g*42)SoM*=2%D5ZB5W4(skX_-cbeaZnN1u32N!?WKHhk z6oYH7A86T=EM3Vj0nT?drV_2zr-ZD zJ!>o#ar=5z?_k#Eq+X>Zqsp%f-GjDRu-+5})aK(C2|C?l)E&(hZjoJc`{o;1%ao@? zv7gnKQWP6`Xn8d3F^=4aJnzQA!;OLui_Uc^{$PIBlbS*RHKz!)pzIL;ds6HdOQM65 zAhr~qreEZhy0TRH%Gbllyb?*hs*7By25unw23O7VsX4DBEVO3c4lzU;mIXhjxG-qm zCK0-QPsJ9Cn-I35s=t58x<#L3wxn6P-=BA_)unYW(LiCj(%7ppLhe&9a=J62PofSS zFGG3`4~gw_QXE5`xPfU2rRhS%)o68Zx7&Mkf0sw^7!&bI*s?6u;EdW6fO z&C}YrnGUJNgJ6o)6_ z%O}lKx6kK&b@Sf%I6!avRnvEFUaQ3UJ-abrM8!t+OWOR46jPbR{BXpE;ts&G3LiQh zI$?4FjL^}9)VZoN9)6L+wr!|hKALOT+DgVQkV(d$(S*c?ajMt=tD8m;}9ZD^`s51NI7UQ>XY?Sd7cW)x~N#t2PXU`0*nE1%E7N0l%g61!nJ}0f) ze-s3s;dyGAtU{Ob=} znu4@0S3FA$~Xjy2wtct^0vLepWP zJ}g7;d+j;RmlZ*K3tB4^oBJn?F6xNZ_BoDSbFuf~n}bICBk-S;J6EQ93S7U2BHwy9 zYiJ~XomV!h3o&l zTrg}!o6=CM@qXCQ@%g-Cyty^(S;{n{wdle}S$f;P>ArkJy1>OdER)W)1O`g-^rA$B zDWH1gZJ{B4$K9GbaHzW*)c_H_Z;_p{J`K$AAHRiP>3JGB(tifYvFxyoo8`-04j4E4 zbczcoKcM(? zWjDhKyIdwsSqeJ2|%t4nz4i1ccGVG z?6}n&;TlooqP-zt@ppUdHrP_-Jo(^His)kl%QLOGFUoHRfUTQ^5WkDZGj4}Xw?1}; z1}5JvRmb3$axq=H=}9oI(P0nXa0Z#oGi@;!fSU8hdvr--dy5G4B)eB{nBYQM&uj=t z(|Mdx>yMErd8l7BW2Jo;F0Ee=J=WK2@j{maA9S=)Sv(^n3to{njz#Y%V`2u4W=7zT z#NZ^jpWJx9)7>>WOnlI4waSFt3(BUZBtRmy?UH=%qJ>|*T0g4|V)E%5C}+g4l$N+K zImBsqp$}#8H<++f5vcVPZGmF(3KoWAc7|o@eJjDG=`@c!1_CO?Q?-;qR3B<}UpDh= zeQ>A=@+eG1-g03MO$i};FZkX=jY-dzd90}x-I~Bn9&}X0GIWszIP_vZc|$)hI?w`R ztA%E(OP0jNjEv+5w{hNgm7TX4aI1e%35fvn2o%&LUinQv<6N>1AXs}^3b;_|;lxhF zwhU3v1oecE>KH?zv(x?Ns1+ldkk^}N9|mKubSU_xTRy7j+jMmHpy8o!cBin;S&mMG zO(k$KGkAzb-(L3)pL*WO&hpig)nVGi7((8BY*~@j_jFFZ(SdG+9}Y<$pKo0Qg5dTr zB?jJ;L|iaC$35nk=PAAo{}8t4-&>i)R^tvY?_VkedBX^QYXQaP5;HbdEfKrsUxkH+ zzG|(PtgEl@O80)eIX}jOMgtVgDd65uofJ@APjgEi=HS~H^dDR-pdOhHmrcO6m-|dl?A)yB{g+y->ENNN zQQbw*{4;3UDgo1-TN7}=@f5S{UU4RuW*NruJsTdSmCN zQC2v#*zy@Gz~GGO_BkQ>{m;7_rw;F(#Zty4pVkO-7BjEH&H)Y5ZdthU_Zr1w+88%G zfQAO1L6*Gs(XUAYa-j%5VOR%Y^=kf#ideCZg97>TJ&&u+g6s!_esr1zd8StVQoil) z#xALttKsm6((xpg;ZV?N-SJQE9 z2!!R9CQ&18!>T)G4Mni*bqAINIU|B}*++ewS;D<}a!x-E)A3q@@Lf_To3S=Ddg;l= z3=kReqr&2u_abkx6)9LcH5n?otDR|TOAqqj?#>?|Uf8Q6Q53^ee&r^tm)W=XnPJ#F z7XuD(`o=agd$q&9QZvf${sE-B??!83x5#vJtsGL=va}93BRbznDm7Y^G2~$kUNbBY zT4>{rK?^Me*V$uL#?2GNX!$*_7+#8~_gjp~oq=O(R}wt5wjwEQz=))cQq#N^rQB+q6&%yP zikL2nHL9_*zH9Q^XL;1A!h7HQ{X5)554eYTQw^uVw)mA!faaWRMvl zj*l={anJdA-Axb^3CwEkeObikrKEhQmpqy+&&OB$N@@DCqG8#MgGW9*)yb?7yD#Zp#B(oVzH{L=#Zon(OIA7daejY=7s zH!oM*`?yNRSinPvnkG~E7BZvx(h3SWgXT$&i6_v`w2K$Kcuop6$MVge0UvVOFtb=E zIWWjK!uub(<|!?=7#kkC20e=AWKI->uD@CvlwZxBnV};*PN_4t^Mla&)FaSwNJuOu zxF)s~pN<=uh#y zpSKw+{MJ}uUGJW_Qu=tm8^gNaVR-v)5lT!kHkx;`PH)LUtiN>Ku>RR9t}6~!I2p2w zb!Bw^dX^U|GwPTx=IP)i?|n%6&N~y845X_jr`x!u4gOU26PdF~%r8zP&Fm2BUKgXA zI1Wy%O=zQ5%D}v95e70El)n^}ryri9_K(r9vskF}OqW0|F(`iHrUy1f?fMshCaNu`vNnfYgI_GLtlr;!CoF=i{~}bDgpFx#(2*Wn*!;y~Ki}vD zx&L!0rIuO_=ywU89a+MZJ~wPpF(f+%wU=k@O*vZ%AHT89=0057TdxsG8)ke_{oCR;&=6HP`+SHZ_lgA!f$Lp$`1HfDHr;_1;lA2JL;NJ z>08k0mS6aQY>*|SBv(6w!z|~U=pSdYL2kO67_Q&si2D;tow`f&kS?t^!d2$ye`fnM z5}deIXi{pjT9}UELy3i7<4!9v{|T1<;;WQA{dDT0E|U}MeyaEOkCS`qk%B}36DB%Eqps&$jzI`P@rnIy#ZJX0ELP2( z>cHm>z7^5P#Af5ml?uZLW5d!ncM>pAKwciGQ_eWp^vN76yXb(>U3aRCP|^J2(AFjy zPuwJv9>uf=5U09xRb1`DN4BBSN;bzOy^RH|oj(~szgKk~=t*YCI%ZNLw@@q9Bfk|` zxX|A9<7%1XS&aJmTNUs(f@dHTu2Ju=A?s8VkdOB0-8k1Zb(rORPRe_g_L5Swk=OuL z*X=C1@R6jB*TkIHxq!%O$ImWCH-Jf7YeF)OI22i5f2Uz zjVvs#ryeTd(Uey_30Cg^2X*&P+PVk%FG4IMt*c`QaWZj3LI4md)fEO*gQi}#$K!dV zZWJcGSrWPh#C72i6Pvfd%F)I4L#d6fj*fv*QLeAAhmQWFdlS7d;`}QL_>&d~ZO>oA ziXnA4{6_0qB2rs=Z)wuAl@GMPlAiq+=NE17rAgR5^3 zl!vB~pscd4$)Dl$xESFZRiY|p)}P2pNP-1C^}bogZrXG#E@C30Z3GL<&&?6CkbJm_ z_>BdK+x-^Fh``q1tWf_CK6)Q%;Dt0R=XQhDF3seAAC$bjLOh-)NY1?U zGd~lrh0~EdESsf`?5E8?*D85@Blmw@{@1PlR#H&bAX?))b(CWdT zj3lIS^12sD4P^o8Unc(5@_}je9V&lO$o|_RMvri5FA<-kzB{q+PR+;RE8rvd*Nvw~ zCh6n-;!Ly6G%oX|x+@F#jL`hAuY#Vua*MOV^nY|>wnB8MmSJ)fr}tkiK*^2b5cxlz z$5e}Q1_8h+AkOvM!~Sm*0_6;fL)O1e%8-WETgdFKdGr}gt||O4ndLW@{g)`=_jwx( z&=Z`ech`)d)@8r6lE0bk{~Z@}e>BAJuF*&St7t@Tvh<&thdibZz5io0{dv>ha4LBY zok{*J-RWC|DtuzLV{8Kck5|Y249qC|DEmynZ8DGV$W~9FD$b7ne648VIzg}DINFLFdNA1s}vS}J?ApEPV zD+dRMfL2+o=;+vuosF+2O!M-JS+M`(D!;Bb(S)QGV-xa!JVJmCWY<6)ex^FR z&gU5&EghZjb92O8TwHTCw%a#(J%j8z=RS^P{}xF7e*f*7c;$BUcJqIzp4iskX2p!k zwt&SRg7a?3`Z(ih$kf=LJhhP1sAl;7szveNsuX`51>9D^W|(A{{Hw@FU|Jm##(GUP z@Jk4OtvU&6plsJ+8W(JI*s|KMCggR%q;BzZvenD{zZz5z-n<#<=IN%MmHik z9TLX|lqnJrL`>W3?r=jhyS4>ZPEhHoX>!MUZ_G>jL9CAGzYpzLBv_4qDSu*95k8oh zI8Qq8YM^Zp!eUXMBSOEY|63`kdSOHZ*up!YnBTqOB%-=15Zk3yJBSj zFchB-oaUqm=J^!X@F|Apb5g^u3m>LVq1*#6A0OJw81k2|Un7kuM*ngcfSOT_{!8}x zkLox8%#)|MTi(CdUJ==|p@i1yfM)N(LKgmnq(MbReQ$h)DkgU+HFsqlm>Kx+x$3Yg zLCzn6t*Ye;dW^*t2?r;q%KIuG1dr@IL9TTBa^PgeB(Iitg%OM~;l5>vHV&!lvGy3!m$r%R7it;Uvw5ji|0KVmeE?NTJ-l&m^l>>)6ll zU@$RQBN1u=HO4o#`+R0{H{;mX@fn5V!1@Pt$H`s!)IPkrm)Wb8RaJpD83J=PA&60~ ze3Nc``me#phWBk-|Nq8>QJsy5kmij4h@Fj1u(a{Bxy)BnyYl|g_iS{8U@o^YZLODA zrzUjNmu5}rioJY%WSA~Z8%X#N0lZ^J7nhIm@l>YiyDt6vdoKOw<-(EZVCcc13*XkR zOJf&QX63{J?R~xI!T$J2^YnHGZO;N)%IhlY>g21^lIhVuB{h6D9C(|t5h^Xw@m&mA z8aa$Mc>yXvast92EB<#y{k^9Ax!8-0;Kz>6Z#rL(ojAn9|H>UV7y z2#AOfk-fcDr?vjL?r0K>#UGmB-z(mK7P$Z1fi@jwW^-7W^f!T^sjAv)4(%8`x|3SC zXa;=h{b4oXK;x={l1hOjR6_njzQuSRKn^3owTTuHI)&A>roV-PpPnQE9@yzDBa(%j z4@`Dzg_A@Tj5d3Ywoon&&?+rFUeRJfxzHq8Q5rry8tGS)^AYd3ycyfI%$g)3cF--% z4g6mpjf?z$KG?E>-l=eO)Z5#i-eo1hy=>Y_g@gSXq^XKY=oo4(3Sj5~M2qSJg|lD^ z+r;jB?x|fTjm9cxv|#_wL3K#CsHt3B&np#XH>LOxrn~}f^1%{?lh9Fiq(BAoV*0xT zxq}mLrStD|9P~Ha;DCkhOCJ<;RlEG|Z>oOSLVpTgL=H(2aB6Y%)R#BvH2VWTofA>= zHq%lt=Js5gn1~k6CyEuN+qXCMoHPE}@K&(k-@(Y=W0}T){w%=RYhJ#v;J@F_Z!O&K z>QI0CE_0fWETDF}qT=gwgjw8wZW;g6<^ClMg$i6zpwSoS2)wi?G*T>u*_Ql2d*+{) zU7?3oY4Vj7;rcU@G7W=?fu8&C5b3|M>&ZPDn`P<9LryUF$zu?eC5I<}IHq=?;I+QT ziwNvx<$T^dMjjpn=dGbGi%e{(W;fPc@j|oiUce%^N5juzaxm7+kn5$*_pr7(VgY--h5qe8BqaN6qaN~_(g{GVQ) zQ2f0?IWz-W{}mv6JR)$VoldeqzI2pPKZ~{KGW|wN5DwsT*R1|V7t4rf@MNW1PU>z) zcHvA?n;>F4Na6N<3ccWKJ;V_?s4Lfbir1jZ3A5myhfLV-i5bcNlJ}RjCR^KDcewFv zCF|*8eeN$4c)X#-ugX3DmKgI&1;GD(-4$VZPS~(P?dO~O`bhq$h=!=iPxs088~6St zF=5@>S5tNs%3jnTLVl5(VHK;xneJKLH?Ec(=FCe^uGnDmc3Ap&SnoT;e$_cuQQ}0FK64{OP%8=I5dt~Im95~7 zdhDe$?Re8+JA{wMW7YBfXPN4u6~_SiWDZOdDQsz|rF|q;F4U^_#{374e9Ao)96SXv zFex#pD9Z=|@wHO6iX%|m7t7>0sx&+8MK z%Dx1!n68W9VAc|0u{CnNm!*r9M!X6WL;SvaFnqjP=^vewk^s%2?{{xfrsPLBDuz)? zh8sZ*`yvAPu6Q46Y#_->pm(lB9`>mM5}Enx*#SksN}q)QhU-n=3Jd}@(Wk`19s;9p zU#3(PZWBZU_a9&Gu=_HCDcV0{>n8M0JTh0Eor8C#i(YVLUUjFK5Z#?;xAD8JcgxIU zPT;>G1R-S}wZ&h>^%!*i&@Mb(zeSOd(E5JWUr)+$zMQ>jo#w3A$<4{{JJ6Ofm~}XS zYu%aNl>SN|in_fYGIYDZ2WMW%RWUVl60klJknz`wCk!OWlQ)?I_bkVAP!m}V&8o{! z(cG(y_Yg3Mk_ComKK$&Qh1OBQXAy+EO-FB6s9`tVG1n=B7KdBVIPu~ z2#6;WszF0O_1!+Yc~r*7Tsb=Wf_C&93(!8`altI^`DkKi(z_w#QKj$hlIAsLL>V{x z2pmvd-?#kse44#zWY`5&zz-u*$B*=>R2!qcWgh3!un(J?R(Hd-Ry5uT@l?E`X-6%W z?p3Y{G<}_1-nP!L-8sveYMh&BZSp}I{otnu3a;;mwQvQ&rR&~ohpfYhVfL%xIZI26 zlEB-qy={(C#15cscOxiyJ^AjR3qgOw@6LDGwa2);729H;*N_@e(>Xa zf<CkL*-a=P)jg zyn)54P?f2z9w_bV+aoA_(!AsJ-_!6f=JhSy0aTLAW&zvyg-ej089%ICD8Sz6KAlO` z(gB*b#WM7c6_ddlInxfz=5+5`p2c~n|DaYc^v$P&*{lAY&Mw!zZy?t)peJJy$;u-) z53ey3HV{v`{3RbBeg(J3OYQw=RjzFCrvx2qKDTuI76pxd(@>f;{j&~zIRnd6Yt&jv zjJmWL!@WX2l*Um1M0-&s*JxpVKf*A$HTWiO#ScS}yN3LdG=UZZ6a35{h@eA%NNk<& z*%I$Pj}5$mo}bL-faVJyY>Mv=2{Qn&+t9*s1k@a-FjiNq(T!i|-jB@d(G7*smtt4$ zc?OkQCa3>=BtfBl=TO(R>XT&fM-AqMO&gwt0xoZgF>Mib>;t`k8WNO9-kl z#_EN?RL@zhx5qPA%!sU@9qnE7b;q>x^d{5II|2^QviT#mWi*laLChiBDD=AdZE=@G zj-yHSEI+=(yRW+$?Gd6^b+h?VcpwdK9rtYBfRm=v63Na(u6sgm+@?lnbB?*%^qyY0 zUL$CXW(HPB4|k+RCB+-ElaNGmk|YTx?<+2Ur!{u2JdPKyW?~d$s}f5ecM_&#wYrS3$`E;%wI!&9YXGWf{x6L|dkMj|$E7=vjN*VaMsKNL& z4$cbKi1}ah$glbP7qsSMhk&JzDRQ^l?AR^riLrL}Anjq*V@KNjh!Ip5S6{V0Lr*wY z&kw;$jc&&(9<9b4k*yr{y5~3$Z#gsfkA%2#UpUqWJe;2#PB;fF+sQxKp=sO^zL~Hu z!IrSW&Wg@hy0~MQZU4&z5(5@Y@@WqfJ`TUst z|3rR}9`1_PjXOnjREn#wTT40)%{gYI_^@*k!sEovVn`0UEfb0eAUl5(K@>)#3<&B_d8!^+O5IZvS4qV#Ny0~H^z4c?F& z+l7TV7(jxZJt=07=c?Sjn#5+lXB>H2C((r@IX<#S-ZL~8DxrBVwbY%pY}Yw6jt_bk zx~y^3S=gNEQ&8d653XRsoHO5-pKxS*!oiFCT;cCwSt=1|*3X5(A=kJe(?oEQmwq5z zYHDl@D`O@2XwnE446$#kty7W{^v~qvIXb7*o)!oh$SDgGT=_8+l6HzRqd=XOj@m$X08PoJnt`G0SzPX-`!Ph#&&Wm z%^H^(_>yTLo|OuHALG?An7V}LHwha}>DuT#HgV(rh&h~_|bq62GnbAA# z7cu0u39k153GIXoUM0~0eU&;N?HA*(Q@lu~t=3op3l`Z=@!xf_pCn0z4@rbIr(1O&=GsYDI-*eeymOZ0PI^d~M3Z1o za(`@r0(AQoutdyU3Ug=v5I8LzueDc7BGe1{a5>d|!m@;y3sDORZezNFW6^UJKMa+; zsKmcd1J({qcO+7ty14sLs(LGS`(X>i8^48pf+v zH?H2=tVF_jnbPg1c0*y;{Ue1W`W45{BEknY{} zb~rV7Cx-j;=#2^XlD*#ZM^|0^ovU!8|QYGVD}<)h?9;=?zJ?=3 z#oqm67BP{-wr}?e?j9MLk@c?+z(Hn;26!s%E(RS{FxJ!M(bb-7Db!v}vv6eljWh$Y zv!~aZnUkeg+=)h^Xb?Ys-%Vw&AVtsi70|~1!~U{nC2XRlwxXgG0@uAeIsw{?uAWhy9K(Gb!tn}NB)m@@F}kd< zk|jnG{MawvBbU6dV3)cm3aYl|KN^H^%Dba=QUaGhcWW z(DP~}e8Od;LwTj8E+c}qEj6BSS+~*-J zIl^Lj-o5fmuu-o*?|j9N^}1dJ+-|v>NyEw?oj$>C(0BYbR^R5{e5aRs^gZP$gnIJ} zZLwM#?V;(Dc7Bdz#L9s-==mfMjD4mYoq;^_${R4Z2J_Aj2Ix|GBBSHiv%&1UC^sVp z5(A4Yy|+}Ze-&PI!wh$2(uJzza$8M12L^^9De$dEu%>hwU;8Up4c~Mjcjewn@62SA z6RVvDiTfPI(^^bb7(VC5A`dk5G2b~|KXEJmG}o=(bGWGG#>6`3N9-TjG<>?0l&*Yp z!BEy#GBA0Aw=suecnOGl4XNrnF(kYyUntOj36a!%tN1pl&R0lmQUDeyK~K58xA{hP zOQ#isLBl@knlJI=aux1e0~wmSMDT>Q{?8X;Z>QTLQ{TACfTE_}88!u?b1x{jd(*ly zv3|9hz=cP4l^(p8^7_ma9-Zm(-nl&FwZ5>(wJZaS-xPoO*|dU|8yHv6RLB~ds@~Ur zo-OLwEk$8+{GoT$xoTBZ(&ZR{QyBtr-wv!kf$A!(`9msRAqoaGzo!im!`1dnvZt)o zvuT-W!U%s+98ON*^YM{YGZIQQ*~@J^L_OdsINspHO2?2&-aFm=k{&J@ZbL#dUNwq* zv!}YLDU*KuT5znU4KJFam8lgL-(Y8=hMc_IAT<4@dljUji|$5N>5YmUWjP$hpHX?^ z`+(rzro?{^>XQZ3h2#a5W=i?jcE3h-ija*u@q^k)T`t;$!3laO_0PvLS3N(SyZ#n0 zypt>Unv*+s`&@-6>!P1mxEP*`NTu$iGgyvy7mf(EI}sI+nwZ^kT;K0Z%#9&;t}A7- zfN-$rWC?@FwjS}NZmkHBNv33J6TP1xnrP*)cA54e@^uNG^1-SG#^E?w?v((lC9U=L z5*ArXM)%(E%vudqmHnNlN1feA4hCAIbvP!*CsaT31x$r$kGU3pqW0_2h-Csm2!0yl z16sjQYDoWaow&l=8Lmv9==!qy551_NQ?03kmMhdIMxZzJw0rsA#J zBaeHb2f&m(`H+a>odv-7bKg$y>o8YtIt<*Ij5lRTJ%?e0LRS0+Qxh*Sns6dQS;0M7 z6Nx1c3ZzXK4W*+$lt=}`fI3aV@1)fWg8JJ^LQh#O)R+tQx;0NOufkXljBxkJmSgr< ze>|tbfjv|lqCv~4(SKpiG8?&S6Js)(fbyb58OGkwv z&CNh!7H|Ph`za^iKe5Gv-I&*WQ;g;8>ycWcLxxLze>jptD%batX`9J~%j!+W@gkLn zH#6KC<4d_O7!q0Us1pXz8BG#Y`>_SxQMvUFpSfB~qoG_ZAIr0@Iad9OPj@K>m{dtn)TkhacMLd;aWwvrXEUvycRlBA! zACG5D)y-No=ydx}&{VvqN(?5l3h+q7ze;p!8K$W?FP?`y00A^^t(A5IYlQt5hqJk^<~cr^4`j{I(c7LK? z?1SDtN%X4wNFDnsBxkyxsIAsZJ$tA%Ro!)%UT@#!~v zs;u@CIVsy;V<#R`oOPJRWj1cLMb6ysmKjQOBLAp8*8$XH*IMR}@YS7Juh>;R8H|RZ zltp*`Ui1EK1AsUt!-Qb1Jy!@Nls0_3zCSG+|M0V??u_wjgVKr4yqgE$M(>`#f$lN2 z4q=I&yc20y2OM}^u&A8b25;P4o_K$B4Ak(JImW!9G~%GCI@5OEqU@_*e?7v<#)2Ks-u&7hh<+7_JKwKw#^sb zmCV5znO7pm*j`yb^1Hv)y*nwXE`B5n1!arAs41)l{zc7bDTbwb& ztk+>2bCG z`U2$o=n$jf7{eUZ{i~g3Eq`d$^r%k}bBN2~9J-}Q++3U^|q{E{t4zu3js;7Gkg z<Tc*ubT4$ z{=0z@lLD7A>k$1@jfXXQyj5c@pFBF5;(IPR^=THFE6$&;uEW95`YFZ>H=lW&Hatp9 zzMb#;xEwDbvapO4g9k^x2W8xv#!%3p`GrAgF2A$?f%!e!7F4&kMVJmT+XJ<)6XLU@! zFZp#WhLe6t(tzTM^X5vLtXB|UewfUX#w$yGbegl0`>D2x`JQRsTlD14kaWi|C#n7> z;Q0AE?6-?U9G6p`;1I_5kLh_05PD(j@|lWN*)mbj4nz-NYoD6;#iM+TUXeaqxxe-V)^ zRZYUUwCG2A2>snAw{n%UGmov|M>ABc&!vtr&|Jbl7$O-!n3zAab?+29W~V`+x5XeO zV42%#OOf`_6moy@<;jH^?EF*bUXZW4ksGlT)+0g%2pGJ^)%lsPj$R8>f9U~f@=+@= zigUixAM&E?N=c1Ioc|YyFn^02w_~!sf`gDtDG;fTXz~+Nnk=c|=9qSTW#VEefF81;2650B3%tE? z8WSUpdAA+Ns4fkv#QoL|;TV`ILqqmGce+$rend#5A*CWt(q!oxDJrp4R%h6Rh87*( z%XT-#q7sN6Ca0NqtE`e%inrrgZ3K4r*Q{4a-EYI2ny}EZiCY{uU4!M+*zPYiL7{p* zdxuHu3?xEQC4APTIvP6jmI>3rtpsRIB?P%-ODT?1z=v;*1G;!W{1*+vD%x*OWn$lK z!5)>KHZ(N#Xuj)J4cW3xmiByV!CZ2m=4~xq@cW7RbkWkIz7zP!9Edr&O?6~#=so2J zWE_Cb(Cp6G>!CXEl5_5&4?BPxw+#*`EQhzqm~Rq^s-Ej;IWlwObcDLIY}iGP^m6Ds zDhmrl*3MFS5PgY}02)+FPO%h^D)rWM&bjsHzM707?+|8adw6)z@|`jgEIQzPV(B{l z4jiwMw7IYYgruKyzr0+wdLMQ3KQe+Mc6cid&>aIO9-Esh(Adu|qbXHav||~&E$+0Y zp_%*~7w${kEO(tCpW-YKuGn$&+4aM-58627p%nbc$Q_2uLghLs&yJya60Gh}e?rz1I3gS-ZkwQ_9tpIaI~3#6Dy z3w3DZE{R#*n>Bja6SowyCQBJ@`iP4dZoE236IEKlO)fliqxo%xRZEj(S)hgLRHd;Xlg=CL+jDQDpJ(bGhoGgK<96U@B-K_g zb@>bdaw_Slu3b(G+yt{3#ZGge%Hbm)#_fU4P|{1S7m_hbO<61bhU_Ann1nnp#2+yw zK-|q)I$lBka|i=jGR%x0rM`*=H(lvOU&US!?(s}wHRtqpke}AKgQSB;4pk%&-}Dx( zV-vPxVGZwh>f5AUAz$PBj#Ui!-gADSL&AU%!*2V}{rtIgyQKrh=#@uB zE}5I6hFMpSQAbCnpaukwB8ib2uVHESCw50YVtU)a4j1?cWV1Q4t#lmr1Ozh=T<0qtj-u3^a^;mJ4E zO*bB_xgn_{`$e&C`aC(H(qKMSLW@v*^QUHQYB5ksRqd=>9H(|8*(y7I>&c{%72pV) z_*Z1~-~9M5-k`A}4xMTT(e}fXMS~UTP_ZsH)arsySU|yKIa&R%y%RWA8D~r!<2&Km znsHNd!*T%_CkOD?N_SyLXP-qtjFK?-{Q1aPy<(*2@t?$d-GF0m2beB5*}{9evL*>? zcQNM`nuogCPkSx~zB)y;1qybk$5o5tdOcu>Y8lH3Y5{f`Jjpa@yn+ER-pz*q3!Kj_ z7Hxppgsdfvv#zwePYcX}q|XZ$*;lRQBJZfn+adOTL2IdZxs54u^Z39M@OZdKRqc4L zB_bE*orzPa9AOE>W?u4g-k76hUa4mr6SPM9v~pw`(GGbl{Zi8#<8B+pI!fzvz26e* z@q8fRgDj@}jtV*!*Dm&~7sxK6%Y>NfS+KsRJn1x1*mCj5hGQgYHP2$at7zK@0CXc! z7nfdjx@b+8Ev)ybqs39c*`wk4{o9B3_XirNCdlqROD~5j9UXK@HGHv(HmGSBcyq1> z8SKBVI+kQf`1oWQE4?ikweFOgp7PKCTF5#Wy?v8y)|>6L#I8qHR+Xise?Qhr%%^!S zrhU0)WdY22+`ILkMmOGr8vbn0yT;`_&u_r)Xw?f!DIG@5Ip(vasrqQ3 zDP0xaKt%3&JQ1X@$$}_)FC`9Nx1O3lB5fKLJMk)7bU97uhY;}j^8k6-^=LsyjT=PWLMH_rSccI)#0$Kom7@h}GetZa+~NrA+fn9(}Rr(pCF7^-_aF$8B+kF*g5JnPCo4n*3Q zFU=;O;t%9Q#w4aTSf-EC9pn_ym;eDGR=2w-pp5n(pRx_bM`B6_=?If?Xss^ecLp6i-!H z^BRw#%TGFCg1Xyl>%0>h$5uyI!qq87-Clj|OWYRxD2SyqzY zm2u$c)`3j~kMvfW5V?rPw^4JSf+U+sW|U+3V~4{ve#>|v6; z`~MO46;M%b-TO31Dj^*T(kaq0AOZpcBHbuR$H35yC@77jbV#>!4TCgDcbDVMidij;>PS1xn}meac%FWVe`LW9zH|2!DH zX9*LOc(`-WQI+A#tRg=XC_C)Lx>9TiS}yLC$Qep-n?{r`vq zG{O7-(velxf!cghIDv(qNR&u6%l6q9@+nREng$k^FB2loy`$~x6E;b+FE|9IxI@wT zi*14Y-X|vp_wRTLAZcp$w>)%|LHN6qT`ATJTg7MPvO(7s#^fvtWqu}8%(N~{6I$JU z2Qh-v-$)Tm7YB+U>+sj|aqT4_@9wf?1sKHE_7s)KTL?F>*lRG;)m^vTI{?kPCvD9m z)RzNb3^9}18-(172Myh#2B`au9)dr;Hb?q2!Mu)kS2;Df?YLlRSiq|J9#Ori<{$Bm zG6w|zcLn>esOPiF!u?phOC;3s8spBx>X#RUC6AmtEQwuZQ2H$f;N%turJq=zudX1+ zbDJW~6(oL&duqCQyY~w(bg6f5BX@AXwoTOO5u?{AB}cH?Ud%V`dmAqZF57XN*TZ!) zzo{B@C6crl|89W)bATmGu}TU480!PlT;FQ%OH2hbAHVF=UZ1L@^ixCynH6{~mbV8V zna2O$AsXTp4oDYp|18jpXhU!_nDTJf-xR4u+(jPyvoh*eeD}|?f1_uyrg?Sej{riDSvXYqtns73{a8#w1 zAIc~CwBb(%HWs-bh5Wk;4JN|n{3?=Eqa>$y-^u`!U|7T8lT*k_Q<8E*bM zggrPoxB&Pq@NX@6$_b(R^P0&M32~R|(uzluBQHh=wd3(Wf7*Ia!fYfj(Kc<;_$lAi z%;KS^Sw2qe8uyO}n$3=Bpak&yNW zq%_g<<@h~!u6=0VK`tU9x>4n^!aNP7-JglrL>nRWBsd?BO!JvEJ)#yxRP{?m18?2b zRf<9%1lKG|8lh!mkku&mpOSFd69H7W5nR@HD9_2lA4@5!zjh0|yRh*4_5KL$f75;- z>T&&jJ?A)6>qRCeKT#ED`lHfx$oP{^CwzYOF6TB@_6OnZdY6@psYI$tLT z4ba;&ce$CLdc=Bc=VWm}5$a*e3}N|K1>uc=zfP7Q80hwE-PP1)*0vD+w15t!{_ms{ zzS04Em*1@CVztW1O6Ckp#%*L82lgjImQQXWDq*Fc0=Xa4zO#g~i%)-7<Yz1A`Pn61fX#w614e1^5(_W*v6ky0ukzv@o_-_Ai>Czt5Wd{OOwy z-YykDsN)!RPR}g(qIhpTO#@9RKcY->1Wo!BE^+mNw z`@5G?&h%7Yi4maCenqfRdvysbKocs;DkLmiC|!khEt++yeWH+RS5lMMZjE)bYus8*}eADPmF@wcS%zf^?ZM zF>7j9CH*c=-_vbf@ln>1LD;AKPYn|*v2HTJZW~H`)Qsg&E5~yoM61fHMG@d zYu4R>3Y{m3YbGtvI4hY@ce#Ibig7H;ax%0nVDoG0KHYwvg`{fB{j*G7U#Gu(q&xzX z@z2$U&|)@HhMbk`^U`X1smUvh-eO#J@Y;XkN*{)@f5 zDQIT6IrKC%xuEq;&KLCmwU;*wHwZzo^XY4+(v3hSF-YfsFlGIg{U1g)#Rc(*)MFCJ z>5s!=?SD5i`g;M~$fR>4({|o6svQGOYzMV5iqk;aNkuN70uu59Ofv0v`qi~JZgIqlM-*+NiX2&~OZ3Q$ zenM!75r&lnICaJ8@%1Ig^goEJ{*yfbA^LNO=#7r#Toi`%U3`HYb9kYg3&4-+G4Na)zk<_1M4O3~|uHzsf?~sqp{zvcF{fVu+x$ z+7ej1lj?%pchjr(m!t4Y?Em6r;QO)TOwlBqVPmk@+qg4F-rFSzd8E%p&-d!4YWNNN zrWifF{M_ooBgZRibkC?bhQ6+_T9cL9r=p36+o$X@bN5=f2bjEiLq_4#Vt92ghq;em z%Jc0k^_r!y@6nYmsx1xehW=x_#}0bX=F0`Wt{e7|G%sF|2eQfXT3jAA{O0- z9u*Y`c!ak&{iL2VsV;3i?GKTWV9q_`+_V7I~O&jRTB??7Uxl0nT|LxG1o-7v2+g2ndd8 zdOF(`U)he?%wvxz;z#vL8JTww+3D7~Mm@0^<0Qcq4}P~Ia%J`c6XtkEg@YQL@sdwKFMgD?aW&h) zaHbTMY`UE5?peW^Q_$Dzxaz$=L)M6u=eJ`yi=`o4pK!z6W=-t@_I6g@7|tSV{w_(63~*<7;byrdN<$?aPJ1H`^j79v#DFhRwT=+Qd9qaRrNLm6liSl;k z9y%$h6Ge7WC&IPQJ}ow*fZM)B`PNX>N+NGUm^T1#nI`|L=Wf7!EQ@&>%#ei1v#U&P zKqHu~qng~ci)J)<`sLzRbS*O3EcG~DmbK(^YHx#;!LRW9XV1>>wv<>(*La;Wm|7?K zbISS>?x<*0I8#^_s=uq+$u*q8D+Wp;YF1QQ$hnjJb2ba=bfCqyS%csj5j~q3zjI7( zSINtw-&nv!nkCLDX+Y6=wQ+o4+t2R8n6jWBdGau;81`mQXHA!6{ps8=o?y_7O!@VK5;)U-1eaU+H=0F79U7 z>h@f7+IUd2%Q5mveg<*Vg%@zHN!Z;xce8pcZ1EuOl?LW$ju+2Ju^~m@?vtWe4i)|; za3!VtB{u<4Anud3hsau|J=m@d0CWI&o~E}RxAo29Xxa8L$<$s*m1+7%bR)60br-~Xt7wGmoTcAC4~feqK7=F zEH6yiM?dI6)V!qbr(-4#KaTTdTXe5cOw#@8$EkCcO5MPv`GY+RK1#kI<9Lx#OpbPF ze;e^LFAkKZ%W|B~)UUO0I%WGa~VsWtEeQZEdVWU#cnZKr(TWmwju1(6J=hu)DGblY;?oU~#!Si7_mArV?`%$r~Vvt^cN!TOr z18O3d*CbojEa2&B@1hGAl*w(vFL@y66yL{c^Fnm3cDAT|s1$5SOM`r>D*W&+fb#%v z!|U%pc$)sf=^A`YUihq<`SGQphu`$6c~7>mL)44TEABJO6%Td99x$Ov&nAZhO>IYPLS#XE&)q3x#vjLq6VF`eV$OgUG@~H584`!{LJ9TKOkgrgQ zlRZ_fxExmZyP<5nN9GohL$@A|2K@(+@!yWUbD-S)WKZnkqP*aYl+wzKdONxlgoktH zZ#LxqJr4nP+;sq64iqTWhUDgg%_pqd)+#6JdP<1#DP^sUuPmY z7Qeiv5+*P(oIiEO(-dj8?fV9nLyBQh$2*K%D>K#iH@GXAd z>lP-FjfC?Zx%G=}mFRPz@Ll#}b5N5+HMtqGrVyA( zI6Ne^AmQL^Q{1bTik)5ep{YZSEtSL5J;N=wnOhzJ>UX6)jl1p{8ZRf@SFyLYw(fW@ zV!F}kh1?%uPz;;=E%%ut0y^RBvn%QbR`BqK0vz!x} zt^72rJR^2td;A`y(=_j7Q)XI2ldX;J7%MW-L&^|pv1bZ~o1EqOPRYh8UbY=oI^&bqD3D1JEe1UP!(sSN=?(aaHgpZ?E@KvG1}=@8Z%9RS8k%n81`|bKidRB+9#( z{gf=ZNyqOTKZSYvi%3Eo@`cnW5<4_Qx@TIeX%*L6Z`4!YFN!toe8nBr*dOHg#5kPx zv#4AI?-t2pMlvceIZiyJenM&MX}N(4Qj$qG*`8)99@Zf=$qOD>reqAUuzouO;8zP$gA84*$9-@(Vtrmq3HuWGtF zM?){8+0k`NOr_oc=TYkV+q*W0Vw$og$_2|8Zm%Jx*B8>M z;SnBhc%R2rE#1V2%;NmKs^1mY#V~M3Q75;oTKd?>H>E@%fHyx!e23UW;oiX%C%e`u z0o>AFMZl5fAue9OlFW3#rfU&nOZMyKw=#KsVqJPO(}#Y}INw*h^Nyfe8;0EJsf0G? zX>FmYgWAtpk7N`=HdHlZrqfO}RR{V!sB}8_D8X+Qnevxg@b{|Ol^i%D%(wDuuh^9J zLyBxdSwI-~V7ZdaWdc|$N3YA)xPg;$(dJ|5B_eg{%5kQp(@jXrY9X~33b19(HTqoc zCD3|6=#%k!_0lXCUQzN|aFklg_DESG$=BN1VIzP8gZLL#f=hLM1`B~V;X@QnBlXg@6ms;9DhK? zDTr+vud8u|*?OWJK?7g|NtvA8>sv3<8YqY#Yt#&6nJ5LJYFss9>zWa?#J^MSHZmmj zkF|xQUlwrZ=I0yKh(bEnTo7QB(I*A|Z~20QD#W#bVo* zY{MHsEV1mWm(~e>1Z+ZiVc!eL>MlR;!|mF>_1Q`+8fcaJ(720z03qMn)_mztah|TO zIv`{_vHMVX=hgaAU^CSKnehlu`=gJ>`6jMO@|R_jz1zd`tcKwI>Q=H(^V#YX*H&{ig^gFPRJk;-*&I#rm2pXmoI@5QSK3IIiIkKGBZm^{PZIb5-K z8@G4D>?@p*ix@>k7PsCmlC9=Bb6~g4f?dA}ijp0P(GYC;-3>!Xmk$o?Aexi%n2c3R zYaH9b*=Psq#>CiNqJM4AgA*~nD#6}CWMiwq*D5s+&F|BMpP?8lOcmUfxYTT4-0P&t zm1Q$J76{DQ^)M`MEDZ9N#VwM z-uf6cuI8nEA7fwG~Ap${0Fhl>qplnGO zPX5pJjW7ZrLZgAPq&~*AU#Mi~Gi3O`Fxng8{sv1U=n=f}y?1i_{Qt%aSJ@z+{&!|) z*YO5hO{UfT=NnJbLo)w6TH3#jtB7G!#LjVtoaAx_#eRvHTNC*dj6je<$+Z9I*x?tA z9{-=6T{_)R82zhG#q{hq^0`o}EyP?3W&QN%=#X`9z67Snt%v_ND*i(Ri9Vu*_rH+W z-*}Bl1_DLi#(98k6*%p3!d|r{-i~NOrWL5Uh zS@FGr*X1AF+Ip0$e@k&w{dETNxG#Aj@~L+$%GdL ztNTL7QN!ZDu>gmY-_nX!B8mJxA-}KwvF9WFLBuSuxzYTc9}x{lN#gx$Dg1r+FSvE% zE+REQYhwL3QgAauqE^T>{~auLO)>3E+dgot64Ly)rg9T6@c+ky=wxqtv1H}=CI3?~ zehB~1ese!$^UEPJ8h~$HOeCQEZ{0z3>-%dSAs{wL+BV2zQ^@|Nu_WmL>QBV}8~M+Xzzr(u9e@25o1Rm)n?+hh@J1jCFyY1b$^?XBph4U}DXc%64v zDpd`nRw~sDR8NJIcw~zKb%>U6c%r=&3syYi{lkT{RV!zU6rD+YknyE&_TSw-i>Xhq zuP>fW7LG%P8I7 zACDQ_?BuN=5}Wdg{&A?K=GS}|C#eM4*1M*^{#-(M%(ub0+bXvqw%aPdp=$Np_)9SO zKr9T=R1e}gj$|0zdpxs$9=jH6MR#0?48FUT0&0V?rLYwvgA7rHK;Fs+;x8YXv(dJr zp@~2K@O5Xmdkq&;#A@BKuEJZq#r>y!@OyS=V8e0BBcg${%j08%K$k~!USC$>1iU>v2UP{ro-xws;-N)s`1 z-`c;z3-wABZ6C8zsSTrlK)10zf4JPaFD|Hp{lb@ZrJ*~HpPer8M% zdewzmk_bpqgKU>a3=bO10hqSkw}^-Chjgyk$fvXfZlN*bI>xg<9^Jml{nKVX*^uOFBv}mz6v>Dgq)hb^Zhws;H+nxWNcPLG%} ze+6yFXN6_2ZpL3o%U7z0`qz8Qu)TiKp(XSaAz9c!%=?ciXZSy_?uz07cZgkS(7uaF z%;7xiG|lcEnCtq@5(A^yZ%q9l|wG@)i5f?e2>PA{ASB zq^Juk{6C$qo2_`^dh3!vLd^*bxB}=~9z5Wx zl;GyB;@8M2!zC+?K6vnC{eM-9NgyjDggkok!NR=+Nmm9Tc3L7D=cjz25}Mq$Djug! zUEUXXP@`UOzy+RQnHk$A_W07t;PCd!`r>wPOJ)%8%_yFM+ws%RR#x6fged@+)njER~u!-raYv#;td+O zEa?50&*R}e@cSCh?@;ELfTx6<-sdcRo@e6Vyi%nH=4VxRI5_6UXAOokVNkxc^{W0_ z{Yldfkk|Q|UB{tKbyPo|er=A{UGzFlgm&y4z1~3h_q2D6cv%*h2e4EpH9Q}@`3&C> zOFGFIrAPnUM^0NX0KoxDi>XnaT4>55s&aww(n zy3b3;7E$z4e9sR*N!Gm;puxI=Zssx$D8{~f=5>nFIQWVH5%JPT2$iS zw%o>_5n1E_pCyUgbg`JT+VWq`0{18hWzVC7D9QUY3(jS|duP2TIoS^PW436}&)z_? zO6FyI4K*@WGmq`}*Kt&j(vC!;c}c0^u1F3Vdc^S(VhhY;f6)fv&B}@ngRDpXT_Y=#Ot!VhSrrzA_H4` zLE={G$C?pCUkoHv>o zhB8~_xYs#-l5wc2XAQNSiXAp*o%QANm=&;hqQt?u(J`PR!aea&+%k3k_+w2A-v?e@ zpN|{`O0TkB9OPfzgFZh|_C#JBzI$Kv^}RQ5Mv!b}h1)8;p85779H0hG-!(_rZ1om7 zdV>OliH=HO#yR}lV!{Zv$?b8oxY7i$Jex?5Fe~QwM`=-QKl!HZ4FjPkfjoz?>FYTb zYwu9&A%@gLzK31f{0TP!nLeU^vmSlzm)G_Ec zsg}h9{*x>N0%*nceE0&gfKBf@j@?biCmu>W-^N*V4f`uyIEO}-H=xT(fPOtZxdMMj z198}DWl4dvg&wDqzfV1YcOhRaT6q_zC*0rVghZM3bvmjxWSMs8ww1 zjek1GRg-X0oVs!}q1~-buZKVF=zeWkavKr*vN_X>{Osqb&$zpN?_&5BSFhdSBV1}r z!>h&C^s1)&r>{8rqHQ6I*KXXbjh<=PPOp+H zz*m&ev&>x0aXDy{sDsYjfWwm5)1I-7*0>_D7I_?$YM82IFuT_GfUoxCAs1?3bzx=Y z@%nY)6DND*J})lK;c^#_`9%bk3-GWpM$q!S8v(&K#0WNAiX{mZ*)&yIP{V@V>;h)( zWLY@9uUR&)EsF#w85PwzauoJP;W2`Tahf(thSntKNBwMjD`3`(feag*HH34)Nx~hs zq%bYCiqoWa@ zxeBnUnA%yM=bXAhaHC(;yv27gn`EVDpJv~20te(+*8a=Hh7&wCCZccUi0{bZ6aEHu z3gF@M>rmImlhbKIYcH|ma0;Q?Bfi=h@x6rIz@A=ipEHawo#7ATpNF8!3CdOj8Ezb0 zX0fp11vi<#`Er+JZ~bY-D|r}SfZLLremon1mfpbbx*x;S>GN1<t=>(Yo2eI=$;-ZVu9;$Ht$LZRp+mnY$TaZXY_fNk9s2m$U-oe#JHwSCgS(a9x5-ji{5tOi$2%y=NJVY+|<)loYCqTo@#dpcWQfCmT>taIgc9VDqKoNd8RU6A&zq@j6`_VA1 z+Ff;EpE@CYbt$+hX5mdsj@A^RFh7h}6vhA1eDKH&uy8ana@8)HAT#=7V2e-9SpaO` z!c+4LO~)~H+dBHuZ+p$JP-X?oBFumCgJM7{sa-DDh_&<){J6RQgxUosj(I>IB~EckPxnj7 zXf1Sq(ku5ISTJ1XD(MNVygTY4ZWCi*o4WESLEMd!Z^=L9uG_oIur6}&f4I%0^ z`B{Kwa9CBmc$+4yL{>_QR7^Ygp&RJ-!W#kXlecu-!YJZn;AGC0F1xLc0RmZ^0TYi# zAz}gPIb&t3-r+vuo@(^m$=G1t(D_RDMjU%iKs}6lo@BE!~g= zXh{3f+*!}LbT1m_rWT$$yR--F&52K4DPl?aj~t(BPC<%YlMnkFb7!@KOsCxpEk?5J z5X=*sO3;^i(k+-vAm7ZRqH8i8_a^;%oDP6%|B8oGmdVDIXkTnoD8?Q3Ms^Mzrj2kQ zyfJinDals<0YJV)6+oOi>p6_*7qr8EB-jWd>bn@OYG3)*#wC!xYF7^&Gw~@dXKb)8 zj=PSy?&;s;OXbMZeFxh+uFlvfG!|!x&^4?XT|`0QlMNTu+xl)s<7vAdIol#%EQ#2g zOPZ5+8ud;4Z}uR)bjXTMQo--Pd##~y3%Ob>L^o@G+sz2&kUv;K@H$){ziD##ftS!ZO9EJZb4LI|AUweCJRzY*y3}^lgTu=lbHNNbrmU4G$k>kl5R0U zrEs}H(6rKLVsD#sWPGaM=@KJwnQ?>6S+E2t&a!&>kX%tkG{=ftSYVp1f1~CtC^gPJ zrJy8Gd`V@c)^tWJVGXdScOCw4LRM)FH$E7}OMl_ZO2+D%ctY|jm&Ey(^7&pO`{B?r z8bipW|4^+CyRNwOvKbsuQ*ZlC4Rx5iwVC zl)~|1M&;vF$^{o)ssO<4K*~p&Y5Msdv`paA@z)$fXRcMIse(A~AKbaUVaKM&Ze?e7 zyp%{kk1RgEEW9T=Y&gvyxib`3Z}c#j99mS~&pUP@b~Y@BSIhB(2Ox zy^%03X9k#lU?6qW;R^xIaK92PF82o0@yRx5luT=8xn0%xf?{gTg_&%kv#)A6cWL(A zFI8q7r-6qsrXr%@Q;Lze{C>7qWuw~#D4qwES_KDD{j=gz!fl&4nB7KI;(_nYP!0f9 z%Z01um>Wqjk6>4&y4TE}1Mj0!)j#Oj+OEm(I!PBXOV1WlvMT8kERWd}aX&qn?0?si zXg{(`GJw+nu)Vat->E$mgbyfJ3Hmq4-LR&}46L~EMJXKT;nG(5Db*VvI5Wlvg1*lL{hoo) zz3W27&3y1vy9E>)Nascmx9QpAw*Vp8Q;9t_ygs?<5of$GcM1V)P@ewP^6Em4aX_~n zb_t~@6##Bwdl^?@DK3t1to50IlT5?{%KC41S#a(!iYdK+-ZyGVLQ1hko1u4cg?WOn zA>L5Sx%+a4p9Nj&v$2+N3Bxl85+6aUtU_HFk@L*K_Mk*$~@J6U#WB;V&o;1&3&>M(22R_ z7XXtVaLphm4cjVfiXHl3G(+tt?_lq9X)~n$%AV}PxXh^W^28afyX4*ScR)(ChDcJ> zIr>tz+yVD}cNC1kXOLb3jwkE0QduVZj*A0KNMD<%+_|;I6FwIT07#GtvGTP6N_8idR0=1W7Un)$kM-xSNdb>+s&x%^B#_4*Yu2 z1kbzl9&TIcHNWEJcAp1u*}vTWfMfIEB;xtuwGVvFQa6?@`K34ZA-^Bx68BPy#7bj* zr47eY7@A|scixhJ-5m>b5+p*5UM z+VGyD!s$R*p&|OkY{ydV*DEuJaoN7dS{Ip1M`vPWgqOIssiMeLyrp@#IirAz*q*_; z4^QE~gZ*@(+6{o)YdgE&wQG1Jq9o3>yH1r~4qc_cw?liA)94#X)CwAUD}UUtFq{EZp`YrQzVRc?ah1TsW>M)1L7XQ<3j*Y=O7XjW$CuC7mZA-Xwc%` z0r1@a&bp6wUY0EEbY>uPrZ5C01?$jy0B()9KW`8q#GBp1?IirdCpq-OSTUvIVDocc zzqI9&W9zjwxqK2Jxk;GgRnZSjVIUM`b-5d6#iEYefmhYEMH7@7LY7|`yTg&XTt7S% z;zUS0H)3Vrb$x=2ODje^R^)r)%e+N%-U2bbF!G9er94twOLyma)zuLTC*&gZ z(z2fxTvX}c^kUz*ST23^N>os`|gSXY1qAV@9u^gz`QH&?Dd>v_!X-3 z>#^xcuM@Z{y-uOsW6U{!-L}LMZXP+iYzzVoB4=&G0DAMUExVPnz-VlY^=(@5AU-n! z*yDp^c+>82qes|I7FMJL#cClCwECrNC6<`pxd$?dti(FGq5= z>n&I${k$(#SKkv1FhcrIh0T$SLryvU?5giI-KJJVVhuy^co3DEMMzRg}3ixd#VcuW;csNlUz3nH-AbU8X` zNfT+8^boEwDf5vSsa+#i=^d?c+H|rxK0iLLY=R*vwH%)2)R>on=in`PL?df^sbU|} zA|M6#I)qskA|*5#DQ=77R4aRu`JWRhm9ZyA2K`|46vpr+5b4Uuo+bW8pY zN*s36@dN`^TY-uqn}eS6LhU~0qS({4HtX$+tAh#s`k$%%U-5juYax@+x<(xe?-%*Z z2WKIcdO}^*&*zE4;}`-b0C6r{YhR~be!DeseTcCe8jsa@6h4-Pf~g2mte#Bm`K(?g zhvw67afLJhQ_5+mq4BqE>bN5RYM~N0q^>8bUT{hegD%nvAx|AMiVG;Wa_8(!Z*KRI zBld|L&Yo!Vlr!+Jm+ps?pdzmNF*FcV07U8y=248N!b*r0sUjr<{$J zTMN85H0cdQ3Rthp!@v78!`Udcu&;7)@HU%8s)gq%5pfMC_srE-O48kaofWpQ7%DTM zBvE-=>7w}&p-*QERtx|uR@~8*;tHVQV6f)}xKlCOkbbh*dXL%X$W7;Pt)lTnm)@H8 zG)OCTo~`8(>nJmfHxskKFc9WpVvNr*p)H{zMXdP zau#fPIzdOz(ei2B(Mm`4t29%eX$nFhCPsnbB2x+PcH4)h;@0$IjU@!%f#hXQmY|vC z&Q4mD9v=+hDoQVOAp3QPtbz>zy>Egid)6%N;ZKplEIycgOPhL8UiY=R9f-uv8V<&Nxoou*^4q&CrwOkI$0fI)*D^7 zFPUBdo1Mx4G|s_LJbWuVzmldF?6lPI9`NIX661c}gb*>I={$tr1Dm&Vee3lNi(td5 z*lJ&6Y2dmcXtSv?&`x|lcon2%hw?;tj(K4lMO=y&vfKKAEJ_rI{&R^x0TuRI$z|KA zj^{zMhoBYSQ-eG5;|)p1=DMlD6{JDm zA=d9--f{rUgzbOa?!3GtezJ}<+{gFSt3KP91NLF0h4H1n1rKX=ztmf0WwlP>AIQ^! zi(u1s%(3! zMcQt(4Aqtc9E-N%)^%@VeLfIWCuJ*433$zaAh7!WqVBlZaQ9J22$uC|Uk_=b{S{Q% z-hG~N0K#Hp~kF@k3?|0!OV|df>MTW>9;$`7JQ3UNAlF z-85~h)##*P;&o~igP|Z=r!?AFoumuk1N^3@TSu7i#d@Nn8sGM; z!_A9>sA-Te(5qFIOg!TV^A*Q@s?5O$FTvV1YR|}H3?*+UxynFPFBy<9FS8^{Ra@n}9Os6!mF`4Ykgf3h&vomL^WY3*=e!K!Wz| ztn2lFD0IPw?y8NOJ@gq^9_iP9tgZk={9(d4-NSZaKt2FC!E(G%OofKP= zDm63_8g9)622UMZSw0kh4w*(j+dx@l@}l;UWpkPZ^`k2W_US*i!`0jDG)|ZWKX@o zm*iO8uP?b@ctjUR{>$7GC!E_64R>pUiEa}vU?!K)KHf39Y)O4u#4-{MBcrm@#EpOBwubC|_zkzikVO#q`1S za}Q6FdunxjoHPd3|P} z=Nu)sUDkR^AL|G>-P@;V`{G$3H7A-kn{d?$b^Dn!7vlonS}n1nDu@wh0J@ehoV>iv zE(`2ibnE6pn4VczOz&47nf5wY$wfW$-WJ#0sor;L7Bxs=Sl?yvJ0cKxtySW%;7PZ| z?CeosOQ7z~+*7&9ej#+<^P{-2{NbbBM$p}MQ65Zsn)fXccUpLi(wys`I@gk~23bF< z37K}5Hhe?Jv(E=rTy@Yr>0U*tQmsKG~h8VU#vp28VS%4EjR1b`#=bele%DzQc=l6Sojt4G2ObE9NA};lSS*y7TS^t zetla%Xew%17BFe!&A8k(EO4wJxm54%Q6{JZn@<6NFZ(<(RpEU<$NiSY!+b?m2{Y6F zOlczd(pcc+tR}w}QEoUmQ#x_V;^20ivK;Ba(wn?C2Lq1D7EEyg-+nxrFcLsjN)$;bIpw(!C5evXoLoGnMM;4t%k(iv94T9IUW^!x~JIJ9)t z?oo^Tm2GEYXzQfieIFls&LCmV6yY~XB;}C}8Ms656tQUh@APK$Nu@5}L_MXO6=#zM zkA$_O<`%wC5cVO9Ie${8T7AztI{N+3Gp~AlehRYo@Pe>0Z)C-eA|L5TXyaCf?|lwl zLkocYTaQDxyJr>6&opJBR%~8awgaBCdY~4bi}GfgxA0mHLigT4n(>W5bL{%}S66q) zh-bzgH6#njNO409RlmEWrgxoDGc!ujSs+ z#MSzq$8S?+V-e-b?eQrj8+v{}24?wjjw2EpEeu8Nl|dKePVQkxHx zvn8$*(}c?ND24aysxU95cV9w6kBvITSjhG|5%F#Gv+05U(yK@-xIg;4>d%mYrR$NCj}InU_Emj#HYK$|Pb z0+k2a@@U1h%xiCVn51IJPr(?y3CAq^tVuE;sSX2={aVS$Wsv_8!~=F`{VL7Im>L{m zC^r`nu~@ut!Sh6a9w=Xjs~%YM8BOTrO5cn4??P#Hg}8XH#LaaG@3$Hs`PfO!vCx@M z=@8$wmAo>n&IBr=py*hZUajb99enr<*`pT}aN`K-30A4?dQa!75tyXu;R42jj*UW= zcquk~IG!vTR==+kc;zi<#Htlqc==-KX=_LvO?aAT6Jc7>)s}C?;}m)E;t1M%V=+%b zWs&dqBTWUJ%8-I@=)D%oAS-r=yzGIxE+PhPrsj>UjW>O{9?sX6B8Xj{q>M&h=`(0| zO3YMAE3a?c?jj5CHtb^Yaq2tvu2J$@EM`$mZhYJ0@M$w6kN^y5#2nWi9wS{yBpQ1M z-HTed4SlmuMiwSn0r!O>o?Ra{wlQemWIpV{?^nAzhc!9~Un_VYtiIOGvay&+`LI_p%cr>4~ z)jyo}VyA}Gzty@xH}1HtEFf5RJ`ykNDtve10zUy zGw?K#+PtE1te(a{^P1rC&X-gVF3+mQOSTDJeG-1+GhJKX?fDN6lkBhZ<%T)c>?Us9a65v~Gt5oEs@>IOv-xL=q%9G%oRxgRN zR6vCPiUKuS@1jyityn3-XbXG-AJQ>XRrT|5YA)(-uQ9&}>j^z^_CSOiDt$zT8Wuf~ zgpRK$9->US?2+QfEhIU<#lEv$-rzU7z-K$UVs-OabtE)I86=J#rwL2TKdC1?o|OQ@&- zMg~No_&l7#+SY!~M5iJgyj>!Zb;0E5lshxb%#U`T=boDASo#HQ$blJG_03BjzGenS zg%bt_^x$4hf@M&z9KriG-tznDaoxm;E4uYgoq1F+R(X~C-J=f_r5nOu4_d+y#i>ZdgSX`OV~>!-(#gl>G?*5u3YjP#u5|#MQf%zksa$5%cXRrR>KuMkVlKjbY%J+svRO* z=W&vKpOk6NFx(ETA@Dx%Dm@Zdv+tCa{fw$jbD#2~B6U55zydz*Sn$`Z=@kVyq{Q|S z240kgWj11$;Geo$9M784^V~yxO;t9wSvc`R0l_$Hv-*)hfu|k5lPf5lrHg<1x~c=H z>T7eS=7JhLeZU`WWQKu%?L?&Hop}n>W1uEJ;=U+sHcr*$-eu}7y}D9R==I2*)D0?k zx}RpC8+7*On9ojLn(j=4@AfR7*B!<3SqxmfuPZ)$1UlZcgu#?|?}&iIw6 z#ttpa1rNbhg-JIB3{}1*sV&g0^6QDWc9azM8`d0s-e9>TfRM|9d)7>B-9ZDmhba#hzw{#=jCEX$*odVJVhc0QPg+q6DcYO!- zv7YDseg7Q}XYYG=W_EXWuDNzr*mWEpbr?{NZKaWL@J0;D*rSkZp6KG3N&5EJ`qQ z+zT?iF{>oK-f#Uq3fl)=IBO3Qh$)L;1{M&`cm*33bhoZNx^p>73I=uyS#!zCWo@E6 z?o{gSeSz{AVG~tzH6wOaadfx4%gK~v#kqe(?$Bju~|b&%G>2Ef$czM7TR6t8o8@X-WOmruPMgW;GHnHPy9%r zy-ndU*ZI=t({V1#YNMS`;}Us?yFsN(8}oBQo`*05xAVp9h47YF0o*>VO&|bzCJNt1 ze!av0q~W+jZ2!x;&xgSd6YA-?PP2*&m&GiX+q2T`4Ahak@|y0U_sRP_aB#y=0Q#jD ziTBzeNlRKDr`4)48jkP*~VWj6@~FTY?(-NVRzJHIfejU2(^`4B!b-pE$VDE*IF-u)$!i9bb8) zcOKri+I(I80%sZw>BX&^o|^LBdc*@}cQgQRaRh6i$LXh($uaHbOk9k6<{Q}Bsf~sb zK9BwP{+finr)|jRydUA+bUt@XVT|rihL)biFBGi}2IqnuMzDQ8EB$h9K&#$|Z69%QB=!9t924+Lv&92%0$4{8QBK5O^l>%EqXkx-K&bWHyw0*M2sY5nAPl( z=7w|!+3F3-g9(Db0i9uboRE+^WMa;#1bn?nYYx+1YEsiv0@@CfsjinP$;sm?%|CuQ z3OcT0xADBqtA}NyWGAfGl`O?{UOWkL(~8v%59_;a-!6wG4m>-pQJeOxrgcr*6fX3z zP793QKpWJtK?&!#&3Y^HFbgZZ?_(rn_oX72R&)-D^aiilU6;7(<2Jq?)DzB&O|scX zLNrP*NG82t?pZCLJ8Fc}`snRqOxu+1LVRoU!q)$c?~BL8utDqj@rdmARU7NI zQqd#x%*OdCpU9m(tkDcZ2ayRMKbM|{eVAQVCy)KP_G8Usnx3hFijIW=H$Bi1LUZ2m zw}&Ig8Lv>&=tJZT_DKmZd_A$F&e3f_Opf(obS)%484(Q^y^5!&x*2kHL#95iTy}EnQD0d>#$4c~hoeMQXxUW-KjLg)M+3#ggV|~~` z?Fnpw?{F~QGuESroIf83Rhf+3J+z{9Sc!-l>-OCmog_Op3Drs(IatZi(vNx(Jy*e~ zg4XUgW-|_7kjt9kX%f4GlecL%JRY9+Ul266uHNmq zu7@ojtp0LWh+fk+uQu@!qo{1^8&V?ZBD;=zwFl?9)@Q%*9=3JKW7$J?)B81nXlK{w zMIp>Q16SGe&exnnHl`TX?hbf?P<1XPFbkMykr^RNm-6BG<=vnqXCb8J{CddcppxF` zUS0y1%-cA-=;-kwqjjCYd)Q|go6FiYde=($8?Ds z-6H0jzm{5f){S{nS-TwEckh#GH8RN0iOKkn?gKp`?&Vu(q2mmBpoMH|TUXr;gOBG< zN$udg9C)ppCND9O_-3LRQL6({951x8(s{AiWIXVMV7O8&32&|(JGOJuxqYHT2GVU# zx*V&6k55+2iU(ylH(BybZ7yuJ*0aob{d1fc+O4vKI4e&>u^kq1c`x4s(`S*8r=Xu=1%=>F%<}Fgz0Xtkj8Mj!; zeOVXZJf%;^=SDZgLpZVa-9w%FOdJwL+u9c!{-&GPx;#t`FQ(amC#RI4bK+G_x9af6 zC&LpYkK4K%ccQfdGGe7Xy`bnmlAea~c% z6i|W+`Z);{dJ(}F&x12)^{y_!29Q*?u^d4aO9T8oVGr&nOM;KYMsF1~qe!+LH)&=} zp9bSUBRb_@o#wD7QRU;s)3@(w_*PHZxA5u0iz72r?`GDWfwQ|UN;EcEb>qR~mAAM# zo~gVfP(l=a4@f47$CTjAGdTvmzUINUVE50%&FR}|S4i)D77D&FQmFS}-nBoUn8t`) zOq!o?yf$79WDhVKnPpmrhN`-35_NkK<2N0x~@6>ovsfW&;i!j1|823q6SP)=iv}r zn+{mD*#K-5)&dQ>pRjdRuv2dCqp!!MGnA*k%{}hfMV0j_9biiT^16_n@-Su3YTY3t zofm?wgA0^Gw4UUx8+g!;b%A;cc`v_^gk{S)Z>~#TpHiJx2picJOu4(hIGrt+azQXy z?aY0~m~wCW;hsK4fE?;2SrKW$X&I=SIXSvd&2!>+GWc-~np)%C`u*<%_KGsF3O zu5KO~m)Sb<_BH$_s6?ThL3i{v>Fw}^l~n@(kY-50_f-vUvteg*`^oe=KH&8gMt}_3 zx>;&+>eH(8G!rz6fm`4@_+|zCrlb2scGm1Oo#f4FcRuf9=KfmG#~M7a8-YSzsrUO^ z>)5f|qj`_WgBo5F+@bYML8gbYcHgtsKkpG^)T;&PNkypCs2fRVT?N>32KUW*Z9 zG9_tQhbb(%>RyL=lqE%^CQgiTAum^{%x4D=d>X>mM9W^$qr2B2MysB+}2% z|3pWN8#;2{77f0Q**il7${00NWsU{>u&q7Y<14AP3e9I>J;0M?oWu%VoTtznYF8(g zbe^{|bn}L>r6cd&0$gz>MG2ohkCYUs8;!cs%HeH9;(!+E*5t$KIi7333MWvyo=A7~ zTPZXLuTVdc>l3?_TooZRZg8m-_qE`A!i!6d?ee`gc`4S$I5BUN*9L>!xI4kkPM+e? z1-qx{*sLhfZS`!cF8}Cmyzn;RYNgh9M721bm~&~E-cueAT1!5?=*-p^4> zzK*HM#d3Ll?dHW>kru_NoL77lIjFY1`~GzuNR zCuy{{Tz7F`ck1An>?am+(xugoD>73YOg-lEwtnY61WM6KYU&*f(calVAYjc1n@i{> zTqA_O`slMeKnp&xfT`x201VEAjAO7tMt!A#1u#8(bQ$D_>Fi^7~ z7|~L6HGN*#O_UWON+^yEb-w`@(fvZHch?KSqA*frQkYN21M&S=Kc)rY$3T-J;kERr z7G_4=PQC`1Wm_4T(~lZvG84Bk0D#ymF?}(FM;7|)>gQkF{~{fLd`}komVv+67d4&G zZd9hU)Yqg28Zh=wkFq_+v9Y{r2v^gw$nGDJlfg($YfEP<#N10T(R7>ywl*t6+!Bhu zvZk&CRn&OL22BcVjwZ4ej_lUF?7?WS>@6-aEkseh^n^f9XhQGEeM1%RCFQJ2O5<$R zepBvc?h6bO&k1Xiv>IfB(Nq;=vwJs_-fKThVZmjk$?;Vig6f(?pv>WJ#V9JrrTXeLA^~15Uvy_r`%hl6YXrp4Vo<18vb6+jo9^7O8c~H}DNZp@z z@Emx7pZ#K-p47A`!%v;LFsT1vPiCmXmoa@yrudWm>C)_zaQ>1Hyt-d4kZaWJqF-lD z*Xbe8o}Ueo(R8}Mg)Z$U;l&{t>|5gepHFz%at%Ep1Y)ryfs(J!k|z2=xl+INZwAp8 z@%O)f{Of^Ca`wPLbU(k--~R3Q4udd2ul!|>@Oqo zfq1ZppJMQ}29a3-$$IK^-+!6$0;2CbW9g5+_?#n_1^xKO1k|Zik(ytX>#mx>-2e3! z(E0Lv8y_4H6MtKT>#g?ha^xRJDElu4*u#i+kU^R_3v6s*{Y!`k#^7fW|JJ%MD|7>y z>9jFw?O)vVZzchvDp39<1ed}Ga#fwlWa$7LBkKQ8L=Vat2aRER+X)^Yl*xMH34ZqH zlJK2_^~X}f|E+~%JYC55{ti_^(EUf(!GCKc2%@F7Jd{G&s>NA?w3XQ)kY5W72yUZ^${YRBP6+Y+CR;ljYMt}YO z!44Yae0cu4rE@{#VFC>gyi%=G@yY#vbF`C||HJ|!J#+a=+&7Uel3%7Z!T=4M*-pBZ%FvjYzQ#CiY*l|? ztLkVJ#gx=ZicAaw1-@c*7gDqL6z!!z+rc0Ar2kOP&zb9Mq5Loo*-z_{@5q{KVAfNB zQeikz38dc6$j>AZ_dfXg!r?y(=d!shug6N&_17ADIWAi}^)w49$s52P`Q|lJ`Ot{C7LX%+uvx!Y3=>YfPgz6;udUx2+sAP8;$`gT1 zIDGWbj8@fViN*qYYZjC>y~_b`#wO+9-jVYI>6+=d8IY_`Siu27|DJLG*dQ>`odBFMGXX&`G~6)gtxuJ_r(WKJiyq`LXI&B9DFi#NL?0TAq5LRH1^0;4g#z|j zz8X1IhCw+v^91em7wX~8i9qWJFgFwyG zTHR?d9EB;MKFP{Va13Z9{>bR@RJUOPgCMYU*C?-9I{+q+*d}gdVv5V~8F1g)LEf<9 zL(}`jiYBBF*f>3)?26a|AmuydQMkMgA_keFH{4x0?POF9I?*40{_` zy1DW_kgF65w=V23d*{=_uwsl`RjOvOhXYT0IsK`0x8#yl`MyAZT-~k6$TW@E+R945 zW(~fr1Yb3wjefen{H9y6@Xdz1QKVyfa6_TJyrar9t(h@Wn>mM^wb5YLF3n4g;jVmBYCN4y>Zn5o93~{i_)D^>CMP>td|l1zy*xi@8(e|xNjySB<1?y1=N+^&KC^-bNul~&(-P8<%$ENN%9^*Vw`5u;{&mAH@@ zBQ=`NIQ=b{ZfgT%o1gnuhChV#k9vIH7wGQ`iVxa`r-0@$rCK8uJ`ORnLF)`w`!d*b z69!?~M$=-CiUnyy%mFn+YGZWf#B#L##OxSWHe^I&k+z!wE!>Kng|w8`4(%7csy7e? z+fAQ$<#I#ZFc@=8pRP3@=NeAc5#;ceV_ceaw&cfKUFtnWV%RN%Jzilhl;`D^h$HWH z<3?MRGA8lNV;w^Bcw3Leu!k%fN=3PQsA(rkH`rZdi_o1Ue~~QGE$FAEGS!UC-zxP& zI70zb8~yZg-ZRn2s^+Mumi29HGIgkzJ9czc-WI4NB-F~!Xk9P#i;{1pUJ+I~$=lKC zTuagMu_N?kX$KyF^Ggxh8;70YAoI`A4HGYWvLAcn=$pkfI#|F*MoGHDRzDLmXN`W+ zt9hXGTpIU=|9L-t@Iu_}kp9&~DEFY4hZL$&cmoQ{_w=LnVRTCe!;A$`W zcx5a16W0r%aP4j+X@O;4PlL(RSQE>#h{8&{{%%(vCo+d201|A;0m69Avb27 z(sZsG@A$qH+O9x>ivsL=PWU710o5+wx*aJ*67{_`Ax;+Ou=!@n%lB1iU-%G}Bg>!g zDH#vEIkdWV&0t+mV0@)E9T&LLf{+ttSTIEQj+DaHGD*bDKnEuxaag8%a2ourTIFoy zqmT?bwAc5huFBh<8GDq~=<=vtbC99Iz!WAz&*}4UMGr^4 zsFh_Xp1r4t$A%)=ZDu*WS!8*#xdYBb{T{kiT>4AP8sC7>Cylc@qqiCJ+JQ&M3J4jQ zMQ~%}5o!r(WK*Vv09ZwVq@^`zyYfS$<5-}^oEG9^GM6tG$Rxw%CJeF4OJ+^M; zFOn%$*sfo)?xaQYMScpHrX zuI=QUm0ek7T^PegaRzsp9>6-z;Yv(dTB!U^e1N{7tvOG*CuhAvZB68HIk7!HnYmSTf$k-F!N4&s% zL7+V^+3MrR7V{d(N6DPBGl|kroMuYjoWrL`Sp+xsEWS-`qJbT6Emb5x9z)7ZINGtr zyJ0Pw!p4XWPe(VRK~aIs(YyggqV(gnB3`;#t0~oU(#>eX$>gF$0^x0=u0MAs1$Y6S0G8o~`mJ1>d9R z-oi7hQL$09qbkh$g9GG4QBh9QHkXNJ$7-Xbue2bR_E4~lV3u??XA&9lzzss!{&EsM zb$keaU+i0yF)oIcKaP7=`H~%wEb#)Mc<kNP=uC!2O z)LUT0?#DitfY*>yu9wm$vhX2QtM4Zc>=Id!tdPVZK+I-RiDM|PY@yRuR$~ycm0b!y zAyGla-9aT_;CGTo?lZ^q@602y&M_Ri&_RDP9CiZKY+)R3!rqQOWx@@V$OJ-P%BM5J zhmc(;&_TZ%49l1jAdyF)=+PXjU!WEznhtMBHP;hek1Fda5RZqDQiwh7XJi3p3S2O! za8ehS%P<|5msLwaIfM%HQ`#Xc?a+d!i{pL>@tU%)O^0`7hS%p!+P#uME9Z{ek)Nip z2^IDz0(SZJdW!jkyp7&?S$g2&!Q6Mr_43&&{uvrlR{9%nMZX%f#pWXe`I2s&b=s%4 zY1}(ew)FE1XWpSe!MI0hKJ6`{N`%V(da1Y;Y2l>uZ~ig(9U#~7VNW&G z98y3D5Qy7rw%1%-!1+<+1?%NB@?Hdx@d`k_LL~}x!|laSjVcFKpZ68T9O%|O9fAcL z+h5OEaj8)9SHllaG|S?fVxk02SsP+veQ7SdCT5|Un+z_ahClPv3k^K93yKsZ#t*BB zZ_BTQxwe9)d9iW8el|*qVTXF1d9*AScSp$SbL5M8aFYT*w9nx~Q{d)WbWM6FpifR; zog}QCMi5qfWC#8GY3#?jQv>{0=*%|~;U+)(aUDM5a4fL z9EgUZbTIUb-UPUS3I^ayRTG(>;#WYzY!MvQ>eM_UZA%4Q1Ur)ZPGLIwz~Qlx;Odj7 zjItW+>k@7(4VmoUTK=-h`s1DCfVo&f@?JDFg!JN zM!?_1ZHavz9t{Ll%{DX>NOKr6^YbA46!-#}f1+D+wRo!D$A_OEWkJH?HinrVZ%tby zKMt6B4+kycC7wn=YvsV?Izc>H1wZ-X&6wwu8S5u}-`5zSN^X>$c-*)`3d1OGdjepf z48(ofG`gTU`mKt)!f+9b@48#Xg1{qdc{K4JZQ=SP*dya?zYN;K9PxY3u_v|AM~%KR z(+I}0S#&6kUk{I;3!Fnj7=?dh&WKBQ)C z#O0RfIiSl_nV3Sv?w^ zuGM62Ta_s&yfqv)GA`Ls2M2zKS%3Pe59gU*@fBNS_>(43?Cn4ZsW4hsBmC%db(yuw zlV>|x@NLJ_ar|M0M>*`nt}k{-Wm$%wcCoy(Fd_F`2WzKyNA7sqk$;ne)?txHA}&+H zeL-q|CyJF2X65ZkD5YpEcslh)T*sslPf22R@>ccY!!XCHYCaDNdJ3j5sPr6U9DmMh znlP;P$`bB(VV8qVAzLv8-BX`H(cECb{#5vh9S~}d2s#|@LsD@9l0~fcXnd*qKDPx1 z_{()iWQ7)2;j*{MtnaSf7Axf(P`N>sIi=)}9_vxl3WeN}K8YBM&rNmKEfMm5HLjO) zE5a_JBC8lFKT+7>mEFwH;lOTU0Pyl|I_I%L13Kc;53di0 z-rMcOv`t*21tG){e-v8nk_mPtQD{=&l?bqG|0fn;?19;PKA!ne5Nd$90af09TALY( zGe#%HNGk<0B}zoKw)P?X_J7>&0}8)+3Si{E4ycG zvaNu%Cg#CI18=s^%TQZwf=nWC%;y~qFH0X3n!3##(rorpg(4|rDWEg4c&TlIZs9Nl z8z~C9o}zRBA#ig+pE)D@e(NA=Fp2QRE)F;@`V+*r&BLr1OujNybcJ@(U+wv!Onvg} zyQsFK#xfA#6PsNyK11A+d}cIggaZ)bpjypA*o_lrka;TB$lJaBeBWUX!6T9+M|fw*ROVPXRP}-lYL%6MxVE$U}33}P;tPc1FedQ zcy{FUsP;z3^#{F-2qweK1pRjl9YmsQ+6?kU)A>PAnkRjlMS@AY>4zJ3!s$Td1}S2yaVF+5N}knt6>0DU=g12?#w7B!m@K+ z*(!WjUQw@M8}7(?kNNM=KDoUm7-2MCRGRk3cIw#9xle z!|eYS>s0aOC9Y)I*MMLC8W!UzjU1a&D&&<3*Mx%Fj>hHyj+ySKZwsw+TdJibB|v~a zRB)@uq;jvFOp3-f521wfC}XSW)0{#z3hA@^s zNx%SagFp{JSn(c$YC<5C*ry3U%O} zvkhKhhM25HijGa`8oZfswx1sJ!cV(nL68-=8$T?^-WbM>MI4{Il>MyO<3)8jYp@c` z|EUs{{=@TE&t`oLq`(AoDwCK2hh&{PKt!7?ni(pH2!$-#loR8X(g`1XBa)WNdzn66 zcPN2QtoDl<1}?p$7vjL(mJtz-{J7&#pK5j|ofHnt7jx_jyxC#&=yJJaTSLj>n#ws) zS{=dh(}(Sr4KEi6UOCJASdHnw;$g!#Te?tAdWC-5BUa8%;RgX}RiH6=L4IeFEuUHi zGntnabK-MEiDqBtLoF@^bEKnTIxQF7c@sJ*{+{|wh)Xrk*_6P2Cj(?MO9b*S1A5Dc zgB9*4gem*?83gs0P20oAP6YOXm$k(rMY>Y7ennVSpS5886~zV}^u|B(gBVFLxbY-k z^;)^)C#xD;LPhzLVFbz}{AUTwjqQ1m==mkHcp{$p}Un zXCHq4GEC*7Lcblta>1_x#QYAdZ9lsHfC8(Tk&r1%Mqa^NF8Iz`%MVwVWjJ4{ zNRuFRP__T%h_nj^ZJ%h4oKki5DI+(uy3J#z9NWhjl)+wdiIKToZw~||`88`Tr?b3H z@n^29b;&41R~}hu%0CJ{k$Eg$>C_TGVrD#nRWyA<;CEL7q&<_6T$5;TKEl>%n5XV$ zW(5y{6uFZJu~RUjtY$%u?2;QT%?o21E1cW3iZO`gKvg~54@yIa%S$21`JfPR5p)cp#TP~+t?-FvJnE5h zw{+941}pwvjRy0V_u{Q@F+`F_ywXFb&r6j$tF&aP1N%UmG-gU?f}$(<{TW(T4%kk+ zL~sR>p*h|*Z+BYW4&|jw5s^R6d}2^AE5x+@S!DP!3OiId&hDc}0kgzr_l7|};@pgq zMFiJqov^`O0Bdt?BEm4McWqX`I~p}^5Jm6*jOX&FV{RN~SVh~B)6Cvr=WbiIGFsCF z-a3mImfv9Z?~7bPkv;Py@0F^~K4_z-no$lu>JLL>D@yfbvc!nDK{rDbNfSJ*aV5$E zG3Hk($u7+LKSs6R^cy6{t+nk^&7X3HqkbS;e;dJwqKdgG)>dPTNFx<@l{?==uVpA4 zKrg;Is>6cc$u*YytP47iq#oqIWHA(fiG99}_S}jdLFygz-W9$9nwg~)jj)#+9nzOj z`C2*^8ewVcsi%OAeen+b&+_K}N?wae)WO%N=hrf?%IB}bZcpRQDYR&-OGS>vQ$6da zZGHC-JT_odpl}{=9cx-7EP7sxM&~o zwn^b5K>3Fqi=Gd&Mz3EQA@5KtJOmMClKD>Y+i3pS4RGWPo zsl3UKWwhECRe4JaxnN8e2C#@S0m0;XhgHzq;n|ruj@@i|Cm>?XGd+Ykv~_~(a`Iv& zN=IU>Fjn=bgd_SwJ=5#Y_AC|Gc01<8Rr?v(g@AFdfjA)T^~WPr#T{QQv#Ml?kA<^_ z!>I|$&ubqpK>G%ZeczAx=P~ud{=mmyL+}t)?gC0SZ$LR!QDBX%AIH3`>RQPL7XZiI zW)L@)s_b=iW2y!7XVcZsFkNd##9$jYq>_ya%%*lq%}0zmY|rH=t26tL7VpvrAXS}f zR~vR+>%Z(cH4e1h2K zSIMJ3D2E^e{93wLDUEI6j*<5gL?K1Z&Y6Smr)cXOhHY$Pc9n`5aywa&~I2uQFKA0|O^=?$+ztUI+G?CRMuqOBa zv$lh-uY171epAZ#k1ow%?h|7mNX@B=>dW`UnO~jvrNz;M|5qbl3-N^{qPBe za`@+GS``pG?0rMZAgZT@E2W>gCG@usMN1tpTI+KRLNciUy zzrl!qAk5(7pfS`rE&f0q`RB3p3V*k_ABf&BxW7Rb1ca7O=kEN1)obj*<9{K4KfC$k z)WpA!4#Kd{cMt*XVbK2|h<3!2EI;M7Am~&0v(+z2KfJRH5z6g}sb*?34DBacJ@dTQ z4^b67lH;;WX*R68Eq?Ha;(eS;u4%F#EGKHgX;oG;wmc{i4}g|k0Qdx}e3k3*Wkder zYDH98D`)M$@xKy9?bE7tR1%XhyrOw^=domkcPxbRnAllmjhLOvHq`jPjcMpLM9~kd z__uEtW+8YmDtV44QC9X#T05NR7>F2-skFH|YUUbjAdwW=G8F0^^+-O8LN5 z_Cj2E)JEv8wQxEsqo*+Xx@#S6(cN*nb?V=ywFg!6E42n>wA%Exr+$EV(YT`Yu(*P+ z`iV?9+sUFJTt?nV$L)#9Mk7icwsM}>lhsi zFkAiLt-#Bqz7_TWZ`RHOZ%I|EJ-L*92?}c~QTg)iEGy!ssry5VVfCzISRM4tD|CVO zN%GgNFn#YyJKs*^6+Gt1ujHtnb!M-!Yb^9)zo?(!0~${d;m4den1(scOqQIeOjX=1 zQ^YkF6F?rRy*=VQcYHT7Xp)Nzl<2Q7eXPt8HnwcSWS?{R?8rQ-fKI-NMKw7pk5}-{ z%lipm1ymsDKy)(=-nEkFM50XqDHXQUg*6l&8@?&7o^?qMCEwguKJ{@ow8yX5k#QHW zN4uH$%wOUK1s>p8K&w-@#&NKr{4~wBU8(wb0aH=W{1@ZN{}VL-w#u;j7GhRf6$lON zJQiob^QlocQ`2ieHM!d-qocPE6_ngeOZDZb?GKI}>6iHohh8LcdH#;7n&Mq)29M8a zn9A~T3=Caja;Wev_$yv6eD$t4uRDjVe8VFvgGE-{wb09SF@s<=40QDrGt1A9If(E> zh0FU%JUy*0o-|rrEBzA-ke9_X4o3!a7!H0s8*sxdV=LL~UIfQMHh~X9c+7fkM->8h zFZ+YtFGx4`Bn9mk&{w$bt@CS2 zNJ%)gUtp_`O@20u!fd=(=00b~F{_ADCELR#c4i+s3O36lWP*5R+gN+V^l-|USXVG|A~{S?G~P9< zL~_4*j?SiwV3kz5N4n>ati2^^_`roiRSfR9bS2-^zlX5h9~9Bptx3K{ z^P@t+!EKofO^R$K|2CLcH&a})K7z%gJq>Y&DEz(^c3lwM4X?G!Z!reBx z$CJ{%VpzGBRRBV#37;J|R}wD0MHiPP+Q7iW@4^*Wa5 zP4gGgcXe||hi(mZFTkSulc4P4TD}5wnOQQ=ZWChSA=`65=(j3XFG}w{f6}D%#En9k z;=_LOklv?A9>g4Olcwqjni&3>mE}3hLGn%wbFr>6sz5e`hkf&+~D$qNKHjkPwVK3uedV}_;%4IhC+1HCQHs0HtF#o(C0&3 zM?iFXbKq*HM6gt1KqX6Q3+_blXR@a<{4U>s3wTI78^1(ioN%D7;&v2c`R*J^44r8> z6(zWQtK`ST9#DGctMkNm)>DvCUM6yhUv=nHb>*_!)LwcEigruS~6*Z{adPj0~VGk3}$02~s3%RRVyRR$s z-gHo$9GIKeeH)ql4=}OJ_Dh!OjqXX_xkA)2A&3#!OLOD6Za# zL9fix!+Z)nvXm_(EBGcaKTZxBM*{f^T6+BngLl_PzX z#UFL?U*3sUu{xu&bkC~jtU8msI5gY=*yN5>dr?W%bxyj6XlIbU|m8$Cttagc^F>^pOp==5-yl5pxhDB|A zCB*~7GzxjcRq*wfa_q_EwF-)u2c8?>Pv?I8-xr zM&5HnsrByXU($!gysD>lxtPo-y~f>gk+9Vke#+958+v zwT)IY`t4NbyP>Rz)oYPDtURxPuv>bFG-a`Ox7t4S6 zG`~S0qE^Ym!e*1vi|tsLIYUp{j>Cv8*<1<$6wiPB~ZfFZDlEVCf#-T$Z_8C6&u8QjxUY<1M;L5R|=vr0d!i6n^{Xo z#>--=%~gAk!NGmWE@%d)_6d%rRGl44j&2D}(YglK?;AxQrx&tj+!V31hTVlixRzN+ zVhLPAmy1PLk3lVeR+3q$GPD}sc1#kiHwLsB)>wQrqW(?js$xD>Ka)~_YNSDSfdu%4IUH^)es-~Ls4PI@ugJbstJrwYYSjmx-29{A zMT0hQrM+um5VlH`;a^(@_b%x!5Lbn?xe|Bvjg9_nk+{}GEk@vaHMM|2LFEE<_l!bt z@54n-jp$7C-T^0+cbJ!1JT31uF25rxI9V5^rG{p`GWk07Xg%8~;w;r^!s+cqSl4Bz z6w^tpBWldIfLv#eW&LL1=P7J$OP|77ReG(EM5lDM!Wo#>?2A-m>uB#4f-EevnX)j5 zGtC=E)ssI-Z4YD3*n>T-Ps+sC6RooH2(_C6+whDuEum9APMPxEHS&=i55Kvm_gB}Z z2ZHhP%s6Sz0^g%V>RYh#{wcfhGO+r;QlB!;;k4dlSdr}2wV@)57};KEt1>SVyKgf; zm#mv=e00{5TQ{bp3#nR8@A&$hJ6w|ghzh-Xsur??D;bT=3S+8n2rFNx6+k|OuabFC zsu^9H%9=~|nGQmam{z7L5ntZ3K|*KfPZT2>sF5^mTPbRHa4OV2fz{`|ttxKG;pg40 zTj61(5?{fRU-A|rnsWnEjC>%`SJec%&EbGi_y(o;4qB9qq743x5ldvU>^o8mW!BzY zTIShYbl=aC!}}oIf_=@gc1688t5X!x$cTz>UrqcJ$f6drKPqY!+wyXzptLRRHnh=G z5fd+xZQ8G;I*Mrb(@n3ZwcixbkMjgKIN$E>StMexUUR+)2(_5YJmMC=IYe1`FJ{ZE7=A>+gd7*J9H02(b+8_ir71Ta@9ZAkgJ-(SeEnxfWmaVh!HJQz#kJcXFLZ z>ayVu%TT17Yb~ff-OS5Q4@{lGYB^Gm3$Kv;v|xb+>B2KLviYt5RFmo#J8h~|6~zV=XL zripQ22cx~p_b5$`Xq_B|@?`r+Ee4!EyCP&hUSS%|3UAhUv8bDIBLbbh{U4E~&U`p# z>F!aB*vaM$fD)J3HG6)}+;bZ+TAC0~Dwp8%81pt)cvm*9B-%W1RyOX_oh z@V7h`(P`?TVc@L*PK|ROjKMy_h>umxmFGf)VS#zx5fGO&#w2=6ij3W>>scCjn4j(q zitf1TPISK^4pE3zX}Ox<{&osn-cN>xKd8MV>m;7hVj?=N2+H77@$tBff&e?VM$e%~ z?6~PrL<0q)znDO0*p9hrW;Ae3d#%rA`=%DgG@ZiXNk`<*)ghVfv%}a;6Sv89d-I|* zRlH{L-H1%mZan!rkoqmI@LN7NRt*5UL~;n5Y~$@|JScZ5fz(crJBvcPYh+o%g;XT+ zZ1TLjj9RUFljB>A*p6)0GekV48d+RDOcnX=%pt9B_Fbr|H<8cM(-+a~FYw2#kA(Yr zee7%>kL1Y)9m++jn!(&m3k92lp9EsHU)E9cYin1%hQ))RY_(0O`@GmnED>m`cP?f> zMB7pZ^&SRs&XrUCa(C`GfFRCB4MC;(IefgcF*$`Od;1dvzqjHZM#v+g67cOSnePhk zL~s=7qn-G7lLl#wQ z223S=xOlS}9OIRswlxkvTpA&T_BArSSXS<86*J_dzcAW?2KMy|Z?N6bXG%B;-LTx{ zT^`#p=iG?utmi_zLAYVB0UCNU2M9=Qqbe7_@QV?4th-J=*d5PtE|YWTBk6^8H1du86AAPE(=XB!(L&DdMEYj^dYd)2 z%~Cbk>>km4QKfFxP3LdVwZZb7juafr_BbYMN3K{$bg@OZ7nwI=nA9g9Ax5gCM0>rf z5yEUc#&>IqJ05%%Pj!lufR$|>m0t7ZXel4XoIg>waEYfZlB7%dU)y!lp1R(yux5m?~WcnG@&rtOj>#eC#*)tngo| zgUc1EIy1$|Pg%@AZI`b{4;Fa$vf?buPJ)>cmrUz~+ZPZeTu&;`>EW_HYCFSkuvaeu z_Ta~H-99P8G~|1oC97`jNE}+(j7{zx&kl2vHGtaDaOQG=K3yGbM;6Jn&1lxVYdyt0 z6PzN)ItB5$xYI|D5y_(cA}(@v!~pA_^bz{N+0|L6EtLXW*zr)%G1~CQQmyZWEC@06 z%zt02e|UyJvi03G7Q}e8GYvgKd)5tlhBFSk-!8l?f$~4GfOJ`g5$Fqnbwkau+Q-C% z4!f$b7oiR)ENU;W*SX`6(jhhrBM4a?$NUCR!L8gjuo!y4_wHR^jeYda;?~XeYAj7W zKUvFGoEio4o;*RGx?h)Q=9c*CHZSS89p{B)?QXjP6J|Fdi|5eFSDWT^_8Ld&E4_$= z=5ze)o@Px0W)9O2o5R?X^m?T$N_Z6d?s(@;jaBN2K=G{QA+(0Tdyg9;ju)0mYtu z3&~qF{(A01XMe?$ABqq?G_bHvsA&7)a{9ph=6nA0@mFL3lrSeS-BeLJq43ifhNht= zh<^U{D@6N`Y4C$u5b+y7`sZQa1jerkG4sE&eXJfRMe!)re-mZ+=h5|~{yiYi2Sfp7 zhn?cj*y}gN{!2ihm-9T(gXF?0coD#u{|zquwr2hKrwd&R$Rw1cA3`G;)$nCJe+=Zi zCVmO%;am)Y4tA@`5+=pIOXdF>>$hhO6++`y?vB+5Mf?gDg9J_gzXz1z4k}2sOQahA zk5PZ`21xz2KMneajr`E~kOT-jphSE2r#t+>E`s}B0PBx-zD?vHA(@;%I{sS;pr`(e ztpu_oA`tTu02{3i4Lyai!1}+f;pbaGLP44W|`;#j5qlM2~kcebKmmNGP2^nGs^8bTCE$}?>(gvGe$^Gb&Hhs&{|JgY= z-v?fr9%b1th^?g_dV=eJE4)M)G&^aB4R!wbNya*q+V=}6zbX2ssewnQ2HEcssw2dzH8p;TK|jpzA1V$r8++y>aYrg^tARD(MHJ5kBpG*#}Hryl?{ z`vnDhqy`2b$hV`fnWyNBN0Mox8_kiAqRbSl(n@=iBJ<%9Q%(B#& zS~!s(rKLwgYvNm3xb62vp)+%WA`y_8HWe|(qkD6{OUrAlil=>@bEDYjJV4ktWR}8I zelYcN*|Q@wx0iTW>-#NyvJag_t$B(?nk{H|%x^T^v1|nDt-<}?G+5gxa=ucmZfj%M zCm!lzJA7>ctVo(;^*`5yN-t@-I%t>~u*gR4>M zQpue4#3rv&pO~k@k^aHjrok0Vx8&w9!54_Aua7 z*>OVJ0dwq5W+Uv}ASq%)=J6|J+RB1qQ`FUk^?IT$gQ51K;#e}sK?Tvbc|HQh*u zbV?&2CEeYfQqm>ejnXCENOyO4gLH?I($Wp@Mz8mJz0c?O{&&vdoE*~% zCUlIPxLG?oz+aR9$}POywsCFNhLGckP~Lm8q~#=gBX=2>!T5s`a92hfnS(AwHO!ez zeG4l;$-dM{F-X%F4R7X0TNRqD7dec^M(1i{Jqi(K42CMWdR$DS@|#R*+(Q>icW1*t z^;(`_jEruR4E33Jt7!y%JSAznP)QGYt!PYgo9{@zP4&(aw!H5D>`PVAjBUSKKT<{m zD>(fRp!}D4x*bc*WZ~~7U9N-s4Eo)6;sF&{$_)E6N;M|%-V_eECwAi<2@-tT5IBKU zkFR<~z50SiJox%lPd}q5sq|FUmt&MG_hkXHkc<>Oy9r@ZBYU)yQ%Ao021P2Ycg125 zsy+#~q9KM@s%t^Eis@=WVA{o6R=ezIm0QiB0u6Fe!YzrH#X={ch?InB5C!R`>q$|k z&5Dbgl`4x9w9bHZEz@gJc;i2GFfriPRNB(}g(m_Q=ZVgYha#~Dpvo*`sqYnIC}uEh-t`lH3z1A{hL#zN&N0rT1W|F14TlWN#|f{(6IDMr9s?3M3jr7)s(Dg`+xWv zjeNw!o)xng8L3CZHlE zN-FyIb7nO4db(gM^D&?X3Sg*xP>VC>#=b9J5O?08z&%@-)wuBVM@2c42zIy^p2V+{ z8!T-d_r^Qm@uYzShg%UEWi)gXJp}JWLw0h?=tm87%VB&)kF8+NIY}rVIHcJ{C(?YX znZ@;je0^HPiy0mLlScLoWQf7qgB;4#4C%h-c%1)uWLMY(&oE`D_oMTO4OdC1aMxZ@ z)b^Hyb=_uAW4313yj!{ZBng?MM=C4Qd|N8SJ)kCFlh6d6gf6OhPy(B=d=tW4(YF3O zg(#7sEhSVH-ke1N9A-qCgL6xd}fLUl1vO%ccQ=%Jztd*`YlHV@*8_L9ip@^U@GQX_!{DafhF zWUTz+g^J}=LNR`UVd(x%JDwXTP-l6@ynqefO5iY zcedfnDXPi6p&h0O&S)%a9NhWTg=zNCErepCw7nVdoeW!qHPbzP%gn;13uDP4llRc9 z$;rLCYc8ms6V-&7-+YO>tQu*gL(Fq(N6q;i9BR(7X10jBrlEzK@YsFDySaF_6@Q{Y zpE;7vs*IEMJLx5|UswPsOj3$3_JQsttgyQ;3^O4Yf}5P8#F5d-Swd7_EiVFOrJMIW6-{}b;MG*DN$qYR>J*a85jO9D7Uk^KunVzm{>l6 zcEI53Y3q5M^+oFGuaJN#u7L*n^9yML+*K5+H-`q9@2f1mgl}2}DcJ0*p>{BQk?z-7 zjWV8N{AB_6=>ufDW$hF7&O*z1iEA?%5F-pltLHcjufeUezscQASaizw(5%1RD*fA zDOir`eDh9}lJZ3GWJArRsHo|gX8(H#QZk{m@ueUKeRn0oM~SLK31eX|1pK{-CLCyl zsfNW3&z5E+Yr+0^+hh+gaOis)#p~+BPG53o>!#yGQcRJ3#+-~f!}S=`!j6JL3LBnd zaTg4&8;EciB}Z~A+BF9@W*#Po?TdU#InRjNox0_Bs~0b7v~Q$=9q86n6PuVi-n~{5d zSMxZvC$%3}gx%nynZ;&-NflqDZi`pLfJ5!%hzl2|Wvj0+ zK2fiX*n&vBLA`A>3V&M6N^gRLNmB|vwyBq?N3&R;TzEy;`f{|RJ*70|S~S?FJH`O} za}Tu47u^1%goyZsDM5dN8($VMbU*+0VX3?i50EtAdvZS#-el|rIfxQkzKEyFN&7b~ z^sI>3H#(LOT;3_7qKuFQvbQOm$ZPu<`jLgeQnmP@-z%R_^@>NCONtnCq+kQJ0-|C3 z=+80~AZRW3vJ+3k^0^J8wl)TAYoVqcCMuuZw2ueAGWs&D-ob#+6$({q=yD;I5ou2Hcr1lG^d=LmQTh8nNYR7 zQUKjlCC}sVj;(IR%isu5J<=xjeu^7|gt>hiucYH zABCT?;auUK#)#B#D>+}G?1KC1LI8WaSR_bX2DG5~K-i(3&Ig-hcH12b&b&<}(EcPg zc-uTOx&mij)By(eoy^NPa4r)`J|bWDUAe2)o9SUX%qh=u>>;P%JJoj~5(yypqbzC_ zoX9~)A8OSV`slLP?%vsKn=SIh-BrFpZtVi3J~|64LEjTM#Q< zM*oefi!D2;`Jp!P(r0}``R-Y%nVs1-Hax1pgUY~Iqv**(*&I>newsJXc*1>yUUeb|NQ}( zi9vR_OH9u1(v1mggWeILtsvO`rTT1TkQZN82?S!$#ZuW}Z4MxeeSvV_`9~XYxM^Dh z0?nXZ@zW@h``Ubk8h65qFS2TE6~H2m`CK)kBgA@G&_5ytLf*7Y*YgTAn>X{~DC#{W zc3kkj4n@26x4DHffHV@4lH$r-Ga}vF7gVe3xSyS_UBq04pj~EwjN^SN)U0GAMUqAp z*bQIh8~efW!qWl_6*_o0>!U6wcIPi}Ff;jS_TP3rb~vT-b3+ zBg@Tg1gz8mjmcC6w;soqMNNDCR}AbA^BSAuQr*P}*wFFB9=rC~k4oz=WHq-*yt-v^ z5Ua08etIquz%e}k6OsVnqQ7dW58%(l##oKi88z-749j7lEMJPah!ZnW zG{VbLMbcD^sP>w33eCH3TxJ8$yrTe7QgBynSPxb!K=SzEmTqa0O$)~W|Te= zBCaRV<1 z!+aFI7t|Xe92*9;<;bx=2r3}zn>2UEFeJ7#T+xGU%Np~#Ct*}lvFyZAFHHAxo1~?T z9r+yCG}I|U|1BhNtpG{>-w?mE1Ckq1109z!syaJkbjwPJe+K$6rU|b0t(}*}+Iyv| zk&8}aI{>6W`T%23{Jzyp9e*dCVw2-Cr-kdl(uux|Gmg`M*wf3||Ev>!G?Tl88 zU$f%4Gxfk}krbzFw%_Qqb9p$Y>f%E2u(XTiR)zJ{&V7&brQc{@YiXC=Of6?aExjlO z;Ss3cqI96+V~|}aMNTybmbzJFw4zVOTky=%?9T_Rk+8qE2Ecsc8UdpDFEs4OoKw#M zrpj&N=FsR7Yi3yEq59=pG6SF)yCR2vx4pK#a1VFTx+q_ZSDx{G_Bb$!0aqO>Pq#;L zSGh6!chk2gz_tKn@(-~68(;zWYyk+Y??l=rE%Zy(w}rEBXcr@`+$`%{33rJ0Yihm< z$Lv2_rpge!E1NF!eHh{rvcC%6I<&wY`orP`pnAl;J$_>p>K!3moyJrisFiu0Po{Hc zN9he@%YwbRFgdT!msE2)iq9kvj&-oQ-n!mAj;FE9QU@e>` zi_jqRLjPkj{<|Ij!Su&cpClYlF@}G`zv$n!ys3U$@BI4JU+DNdDu9WR#QcK^yD0=& z{9h(*m+;P-NYAU!Yq{*5vNoSQ04Il_M~lP}_lF))}K#jyE93ijg)f4|$mNQCN_ z08Mf$BE|2sLf1a?NB2E_=MS#LTNSXh+?#HSPtD?EgR554Wo7AbZ^hly9p|QQAN+N@ ze;xekqJQTFd{(H&!1)(n#2AXf>{j5EDG2w~>h%;_=37+(^^&f% z1dJh$_QPFSm8lmcrqGyDfui~|QLLI9&BqcK@qa_$b_H68GN41_7TLYzBo9$LfuH9< zC7o2Za`y|1cLI~jk>7KBW;mTB*iJ^!t1k~2lu7Oy5u=;XwX^)6D=BSS;6gQDnK>Qt z9oyJpu`PSp{4#E9lwHHul))GAe9%iVtzzR98T+Q|ABN!HI$|$_%T2v#y7~-3Xf9uO z$z>=a70%pkeEq)WFFl813J)c^9;pBdvs%@OMzZD72S`OMlCp|Cjun63Sv$G&b}sZd z%&fb*=#0IsLYi6G06mZQf^?vD{v>aeD6I&-l{Z3TdWL3<;wfrRSBhZWHbwWnQDq6* zd}`=#1fYMAX+OryU&GZ~IRn@=&J1*-& zc{6{sD)D8+XX4JfCUYlx-umrus_nuYL)F`+rU>qWH!?rl+NYJe-SIyJ^p7F-W~}R} z;{VCCjV0lg0SAI&9;x99&IbOJr-v<|!8qT$WC^h!ilp8`R5Ui&nIT24AQ5$xB$b%? zEF2tT)T>pzy8LYoP7@v{nAK!=(fgxfcn`=({(XDe3l>u7*ilo!BW{JdrnKM{qp>o5 z;i%bQ#T!`a8Y;WmB{si>7t+**wK*uUuV-3=Drb)PEQ>~|#1~uG2>IW9Xu83Py1cWe zom==O7kaHrAIDRKmYb0A3k$f)GYa%fDA{^8;LSSZC;^XU*nhjQAnQP=k(yGe!}Vi3 zOl<{#>nop(G~uo#hA<5E0fj)0$Ne2Eb09f;?DUhv+XSn$I@PJxf%Q0xEMm56^<)9u zhDi%=z9~0->O}FJE65h6G_lNqN-g^lO;O(MI^W?@3Z7Edvw6Gh`+^44`3_GGh0Xio zsf~x$`D6Ag2Udw)mJWr6W%wu$ynIhpwGfZ5T(x+ER!0d@Xq?kK@Aj#nBtwKcGpA4H z%4aApwHIdfqc_)C*6_+v$+vraf56>qY9l;m+Vd*fGt39vj_$lvD%=StHF~u9tyAk+dy&QBokKsg(0>K!(amt7&{*fo<<5v zYyC4VtWdNQ{CBcxRD7xlO_pz6!xGbW0|6B;P-9?29OyzaSl-tm8NyVn=vRHFVno+{ z@>w8?WFnjV`V*5KeWF2T}?P zjDc*tXUjMh*W^(z$Gjo!6r;FKI5+NGSykLE5UbVSjZgW%TGfmP07LjFc23;sECr!7 z=4_Y)$x+g<04l(k#8B}n>h5) z4yWtZm~{0(hh<7r1@-|5!5fp)#~q<4uM^A6+9&(4EiZx~Vtv@khOOPjCxRgpWaslX zh?%;RXOr~G>VkLLHk1N+QUN`*2&1Fz@VHp?!toVMObCd_Ng}2U9}D7MjJEu%R{9bq8y))iY$Dc!^=7*l^BDU*o^CE`L1;!%C?_&m#;}S ztStrRuGBV*CYsK;vS&K}UD=tz4QiG5&lCN}Lr~$1DE+MCwnPY|V6P1S4I!IBgAM8$ zDr#g(D<=G*nb21&X+D+ePhT-fSFTG?f=Hy-ifhy?&qM|JQ3`ulcZ~kG;^Yl(eSzTh zD31Tg4I<##MtM%>`FszP$Dg49*^~ot^@0QyyFCgsOA;5;JY{_o%JS*mHVPFa?Kb$k zGCcy@l_78WLK(3;`&VrX8?F4Q=y4+;L(d^|}O|b&-BYI6Ib~Wr~;+|9{@L( zQ=6fT$3UjPSYGzg=Rv*8!ObQDt(Ps>hHhQai+wLN zNnq3EG1N#Xl*ZyEU?e~~)0P4s9b-Ia!dNQot%USVG^nwsH4tt_TvJ1u0I*mgaC?A3 za{#dTU?d#UT^aA88+ZNVgbt)wPRUru;0->+U?)}*F}yOpiAtr}QNCd(_R&ZG%?cK^ zM@N*YapIi)si_%HU!|MxYQtD*^QW%W)`yOuO(SK6w4U*e|3`dVxNiw%wr9`+Z63usFPttN9NPg z&LD%nJfCNEihV>$1c;U{KD4AZ%lxW9$Jwfzr2i0pr9S zdMNI6?x@f)zH`5mWdPYy_H8PBs7Pq7_z%msYPwXIoY(O=gnn+K{GnwcIkkfLjB=Iz zm)pGj*PcK=LFt#*T&4|dRJORs;S~!E&=7h||>7{QTk&DHv6GxRmA^fHq z54?IB8W6$m`m(!KJf$=RL=Vy^c4-KQX~zAOD%VvCh6oAY4p)mo*gNFQE5R{BS^=Ly zin5C@qtOPv(FULW3OC5)c>zD-N0eaMfsl5_igW6e4!2aK-C?%jQ-v3*>-6HZuR5goyOK|Y0ptrA^l=_g7jHd;v zhn^%B9Ew`izriZ&xzQ_R`z#!Yak7cM^CWUFY|kdlULQlT^kZy&ebgw*`!~D%R2rFN zoOTk!NbquHa!NBbt=1}@I+qnfLd#FaW;+ZzZhQ810%_PhYy|&<<*F--_Z~^IJ65wCX` zx5!b3(GAv8#O%oH94{ven2OWc(2mi%U1awox(nbdt^;#LT=pR{MvimDS1yWqKjsQ| zH5b9ePIz)Y0{KsOkzB7;MrP)Ewux)hfV}GWAgceX6YqZ+>uWXe0d`WdoB9vHQpEKw zb!DxEC{Qe%zf|*lXPsl=Im+0%56n`q?nlL$5QRvACK;fD7#Ch%y%GP~>kcE7Ux&o* z;$@_ZoOCu?#5PM?2sLJ^b#6(U$nL_+<4N^4!3TQzI1{I1oixE1JApu5u_BPOC-X3W z1SHG?VZ+R2VpCjsszDPLOQv9uM6nrdHhH!&gj1J1xRj9;RwpxgdyG=8m+BnKTJeUv z#Xb>J#G4V2OSL&+%yEYdj*G|@#LjR`b?BLuZ#iwftc8Xz35oB69)*Bp>yc^c-L#_n zX?=dfMbC2@Ul`T%9P+69Vza2% zaaH5-ZG{?Aeh=z730rGcr5|-$bFZcsKE(pD3{4%a7Qbv447_bcCr<~Bt7MA#Mkp|$ zW-bmUhzG5D!1dM=ituTV?o8hv^XJt1t0c$AT;r*Pqt8t4J;bmM7p$I-C-Nuo3h>>H zjNF8sb~(z-D#X8O&mLU6(o6hqj?wac!O4$#;5xTW=S`A=NhqG8M&wl5gpL_!s(NJ!W|IaXYmaxJA0*|Rx__tQxLDdZq`kI9 z(FiD>Qn^yDno{(LI7J7B*Z8;k4znvbKt8A)Lnyo=$}5GGOQCk9!i)>&)UymJAA-=A z(d&}oi3VOEcKkTk@%e(qrtym|RLSmRR zRVE+Y(L-(kAE-_HMt^iNq|)}H$5=m!9HNAaVt!X6Dtai0A=3|Hrk4kNtvBbDn3JGy z=|1}yw5v(%27CtWa+?hl{6K!=Tjc!S{BA-Oy~)}VbS*pF3lAx+K&)SxvHSTVqe5+* zg$<=&ToPW`aEq4K*$oJ03zmB#QXcDI^|TfJO3;`6KI=W?ld2u>3%tcZ4{CHIG9S0t z@GMGLKy~HFniY(IL;t~j9G^262{y{$`jc#8WsQG7v@Xxge|8dE^$+I~^)jhCZ(wPX z?4mgT+8zHy2h~6T(C*9-t$i0;Dk>A4u?9qc&S+A7L*<^MgQJk6!g7wtyZ%EcfRDdK zD&Q&AlUT+0xQvsN3NSUnU$kF$AG1kS5A=+9;%#JVJk!_EU3l5Mxj+gd$) za@3}URsEVGO{GqVZ%)Cd{fB%&P|h{>1x^d~}mik;5xQJOy@0&D#w`GP)Q=a6mfJzVG4Om*0@jZxl4ETq^ z2nrF6S<3xsL-jpC;VtPi%zZvXzsjlDOXA)-xq4eLTCdN&jk8se_m9H*JvgKSjg_bc zw18CivHp1?ESCI{NzK4o+4f(zT=P2#ZnT(cEdLv#g^6m z{$iE(T})r->vy+?B!?AOA?Ynck@`;I6q^R?B$S38141M&M$kmu_&L8o{o$MzCP?DG zI=zn2olIWqwc+(PU-@fJuo^NXLa^K~zcV&D-h1Wf#h!+!v`51#3(un|Kg^1gwN^rz zW-Z0gEM((B&oeCaZi)gP%N&)SE603Iz+*FUa#%Pm07#98zm$$ivquSTi{E0b^F7!l3T1Alb-h9q>~=##Lpu-xw-p ztL_KqTq4w$!?yM{;i+4?8$s{B?-Nln^Tbv03P9Pb#mZ`a7m{zs3HW#ErrI!D@GBMEb&Myp zH6U*`F`MSTU-0800Wnpp>S=9x`)Z<3)^=V-`yE`Ra9cJj#*_X>8crZ)?q%_#J*ncx zDsIiJYGBHBR1&Ml`(1FtOp zM5D2450m(!*Sf%CIMzBXAfaO+rgVZ$rwXw;`0k3+&xbz|{1PmbXw5AKV zFS0YwqfU<1sfqzDRu0R%mNMZs#Ilf6|B%yw7|B9&17hluZNdt|Q=LR#j?~tPk3|Cwk7)-KE?yxQlG~6wTFQ3;F)G{Cfv;q4*WpcC+Lo(9pLnp*lBCm5 zwW8X#1QVG3E`LrX^*CU~zXdV11ExeoCVL{{+X3DnUf-6XM3y$}8Z@9=C~4YnG^^g- z%d*YsOzl9YM(iC-Xr#6tFdtaP4@OcD0-DQ!b2Xv8o(ywP1;_0QOa`swF#4WMdN()am`2wgvt}4g3E80&%GB~*R5~4A z8+znzLag`VZLe^dd2sk^3GBay1{i=5Zvo{=ZlE8&APO4p1U_b4zb=*a+Vfj*7-4 zkKn79;I_eBzwGVodGC!+)oZA+X|7R6v|VSa#-J+IrtyC1oUwz#x4@3pG4uf@-tU;9+AclU%7^2zN~@{c zpJ+_6PXCm*{M~*(SmQ4mXn;(G=Cb}S_Os_Qs>#8i(V*eZ9g3qD*cxg!6)JH_tBR`3 zG`Ulw_jq8`9*RR4qSfhMK~uJXEc^~XxNLH_{cqC~_lx%6|Jf8iJd=V@mbb&D`htIw zSs9nG<-)%mqGB z>s^X>8!khE?UQYWs$G%fH<5 zeA2LV!~SzBADJf_kgC>^DU~Di?yie{Qika>YdYX8?(~H)FMF!RkSWXY@)D7=eGPpd^F`%wpOfx=bE2)=PrbuIY|2HYR8z@8TF~pgAzibI zc;e5mt4&$sthm86qc9nDS!2=~#`3bHt~0-Vq$56e_MAQpJ& zQ{ig~^V0B6YnQ@QSxd8Rv+rZi%^mioQ^U^cLdJ+b6jw_pS=_3HR!Hp~rxc{{4hK~C zT>;5LC*m$Sl_h=2dlf`EyWD91qt@Wx6M=mjUj&4uxt%AhU@vH>GZ!NKRxa`DaZX|~zg)DYGtzB0wGLX@qH51T z1VTwhimB?a6JWp|03Jqj549%YZ`lLcpt#^dz0n32?~~-BLbgh#qZS~)F~CZ zJ;fzY1P!;euvbf?P$?Bt89epL;p{8K&`cHj5+hl*4R2c&6&mWT%RX}mVTaW##sXsU6&ejIJjp-!O_J7bRr##^OBzwGmrz&EhKZjkQ|i+i~*uPiOp_} ztTBI>?pC;8IHpHXNLRDOjesXW61oPq0ju-HMkb#XByy*en=j(kJl~;z>}h54M?%IG zT49aAjq2XHm<-aVm2H(SZb5{SANBp=v?dTT$NQ5cJI7Y)n?~qcmy}p=HS6Ar7i#45 z`z|AV(ti|5>YGNxQ;Yv4vd=5IFUPK6*Jiha@hI|CqA#|&O@-uf7#o{BU46XVy&UyJ zyd!&9%dhmHG+E)y*E$eQI=`m}HJBhOFfnhVH|*E;`U=X{^MP8U>gxP9vHyDcPkq7y z@;9Fh%U`)Ckvw#uHn6Z_Z|<08=-grSESZbXbANhp-DqT!i*HH^EDSwYd)R;=&&W11 zp#%?2o@N#op2FA8ROd#KqjEgQ8M&2CP25+|I+u_ry}>zLX6 zAI_gtbpv)7J@86ik@#(;Uv+;;%d&Hh~>YxUI*hOrGKn9r-|e&cBjg;$*5l zM$*fgXb+s~h+cdy6|7MbfqpS`4YFjO5Rh`oq#IMB5czPc zBs3LLOK3-%|BI%|jQH4Pmc@$$7d*w0{FKS_Y>O)skN1W+^D_zRJynjfUx-&81MzS*`p1;6MZsoa0)pco>3QG}ee(zj-mXe&U@P+qvG zX>rL9DT$KgdAEYJ8Nof?$wNl?{5!9T3vbcBFfqWz%0Fa%?~tzoFVL;0J`fiRAytj( zDIdsST+NER6}7v5;q0f~*q*o8_{;$f1ojFLtfS9MCgpovS4MnaYP4~raw@*Q+O z5a$@-vW=k1UP=oi0)*ePKFT}DNc8*_fn>Yaz+YH(%t6*tm=@A~ZJ@2efD4@;eMrf=p%8_3-J1LOTamDJy5d$sy=of49mQ6L?ZhfLOpb8Gc{@+M(q}fU7k|pGA$B=>|`Z%&X)WAQ2=Rh1%MBLC; z?om9zy$q-BDr#Hw9-a<}s^3rzoD4y}}LPGE*MLthShy(M}{Y|?G1{{opm z$)VAwGh4V=#rhx&lI1z!ui53B6=*2FXf`|OuMN(h$f9I9BJ3c>oW(HTqYHlJTWVyxNYVj({W)GH-(JFj)`qZjgw_#4>cXj(a^=76*12+v~;^^C- zZc$Ml`=gz=T9RgR8gbo96c=Wy*)T0&U;m@5ryQezm=pVR_nzUM_k`bINRNx^KlBPH z#aW3y5PCrxjK%k-+{3>mKwsprg-`PxrprwE!&WSB|2?xi4OsStuuJKu2O8bCM7}`5 z%I>7v+c>POljxbrlVb%EB#Klqrxk?0@(MMl0n@M;EBy~cH`KfU$q@x<+mxio^ODZw z#bpPBG)bTOd)kK~yFgp1nTL-s96|Y&=&Dw+GZSx`xOS>E z%%;QfO~!UI7ULtDIUEc%k$4ooc8J|d?%h)yOyU{5(`?{gm@)i7FufI!e~l}z^(Jtw ztu;J{itUr@fdE;VVjG9ru9e$*UWu#kBCplLV5tRK7_z~XMGLx`dchKBgp;9V-=Xk4 z-*)&AFkQ-Ou6?a9)Z)b5;e;l#nm4DUkLt~svo_D;<7so&h+nin2!*V>uK!Kj^t4se z2X*{+Y%Z{!YUDLp)c3h|Ml{RO&Hf|KL&BflWGA4d3Q2JEI`W}5sbn5aQq7ASdk@4?U6kR$f3C^dO0 zz9mT`rAF337z-thU)PaZuz&3Blx}iDyp=7-c&UWtV>i@L0Y?HE79&!FHU{O&-qeTB z)N=HeN9||75jW~(n5AWY?m0HlgZxiPC~Tj~i+dSo3*h!&AJz}L3}o?0CWf~LVV!z! z%+>-~4gxdQwsLzLWaM@U8;;XJY|1u>2O5rrPRBuHRu{asfisPO2-tLA&(&o0mt-gx z^u-yq(clUliUTM7GoLIJ51dX~z`ums0&+yJGJYWv3+ev$X{4hU<=IS8fNbD-+RUU#<3+Ck zu6o0NJ*vmTLD+sP*gG@wIYe4mW2j6^4yzs}Nyx58r)4IV#~+q=YMU1V5VZ zyIw(#k{zlI(jgT$M<+&$+U*<0k;RKXIU&Gqji_CrPVmea;0!)NIfK8@`_O?z-liGa zY+zfo!MxK(^L|w2Ba^}F1V4Pfs>~c%;uDi1X)MP zyRb^4W1=F3e$;w!B6his4YRcPjG%vn`q#7T7ZCF&tYU@o?IEKCATfT1TnMc}?68TU zMX{Hm3vK~(2&@^qtr}b$eK>?;8|*rO#s?nohomdEvd%47Mj4&cMC-a3v+C;$y#~U$ z)ZI{n%8L0HD9uTTzHPVlxDUDJl)_FjZhywa_Ikvb=sYkb!Muard%;TVwqn2OWVCKX zQss*9#@&E`#C?BfA@ww@Hv|`pcz4eNJ7={Y!;FT<`ggQ=Cv5 z_sRirSaw7(v#9%^82;v3L$ZXSOqWeSxT^0pDew@phA>lXD4l8Oc$3Ilz15GdgWdD?|Uw9LUupdRR}SJ409 z;JdcwlOyP}0ErZVYl-RdP^#2?a|(j~GSR0yaXvpzUGNAk5?iV1g&w|>u~9(E&FgjP6n3G#M(Pc zHyM2DB4+}JyvYU8{NIJ@edNUNZIEp}a_ z$m#KnvGx7niL%%f0>pi{vi`E>yDRktT@>1w-Uw{mM6{9)etd!45`ortF@1jJWlQ8P z*Yg_4ZhR;UwscS^`AyvCzWYf!KlywH6byC6&Rr@jo`Mq)T z5)6CtwJ^9raa6z(}PZ9k2{nC?EHot!*wQZn!hxU zMpx(_f&S%7U z3kVC}9iv9hsZ*g398=LEZzpBamp7-2ow!-;2YJrA3Gg3h4L@+CCf^sBMo$l@R*kyM zB=!1z+DcH)V;Aou$v=@%z|w2vH&w`A?Nv?uMVNn4H``*)x46%5@mndD#YE3qPa8dd$|Q#Ko3U4p zK4AFh^&;Wd&k7k{|BFNUS54QC_6K6q-=J4RW|z@Sze?CiC5>&_rSjoXMvA!RscD*1 z`|}pQaf4a>m6r0!Vb2 z0uUD7U^uGWJQ^Qqfn*leK0XTDBO6L}(0=#X@S7^`k3`skvqv1+yUO-@ecq(N){`D| z&paq~pBO9bT9zd20PptYz^TJrKj$rIZWM81Vi~fuJh&i{-S-a43!S}Tgkd)*2qCSm zl-Jw)Ef)*sUKc#c+-|8=qA)O^#6%GO-pI&c0(`%{p-cCUk^AwUcN-D^7Z&i_7cXG~ zCug{2NXQ}l`A*4*RAB#q$NBkNx-@TgOHFqSNznH{&e_fa8uiDie_e+L4=B~Azpl$? zOY#e~-NK>Z$u~;>&nw=xb%~fH2FIvx@!oy>($3Lb?u-wY5-2t`Esz1$KqVPjS<-1z ze%`>S<|xpP0-D3CCg9&eF-iH=>P*}5G?vvGD+B`0Czpii`v2DqV=xe< zOnH`W5NAk2?_PT4FMqHBTQ#(3cgm4LjX4w+>3tLP8YL>f=)L!|05)sB3*yvq-90;l z?<`d`{5R2P40e{{uV`%SYC;&O?mIB=l*IdTFOM{%xC~H5UM|5Y4lxO{tgM8!4q0u@ zx+d4b3xoY=9#wo$Mz!C1@n?xaXYnN8O#~>$cg4YyP0oh?HxgOW^Lc9e zmsyQqO|$eJ)#7NOn_9kS+PQ|VVN~dekbzm1Od<8}P3J6+zoilMsM8GFGtd|;Bx#dB z^U|O}t7E{po{>dm6XRidK0^?*MeOhuJ;yyseDb(+A$3d{H*2qb)Fm}>w;^!Q^lc5- z=NQ;yasD*}sNST$Euzs^O<>pVT2+Y&2@AD5%`ltE(w07!3&FOE9x=sT!xdGLwlI{=UYI*6 zAbWd7A}v(19gaBpmvZb6=vE48F)Ry1 z)+S2cnROMUim{#J+Ix&>HkEzd?OA&J8WZgIAw~w4sq)+4`1L28WWGsu%Mb;W%l44D z{9wMjGv{tZdeM{W_(+@XJ6JyML5Xim3-XS&zA0q64ic8>qmv%@Brjw%e3q<88KUj` zkV=JiqoXtK^ZR)?9bLItpAR`0d>`~Rxl)%b=tN#=1AD%s(w6K-6q3@xcNO_CLlwFm z+wbwUEKsu%&69KuUGs(GVu+z)8lUY*w2MgMB{j;8GuJ>j@fmtW;@u0l(D2%>0$IMQ zcNDJS+gHv~XP*Vv=3e(tJ+A`YQM*FckCtM}7OZ~EhkIGj(UvC~~b&)HE zETO@1_NVKWl^Bvnbg}LW32jjvO8g-yZ+A-Yxa&q0ik6ubeP2|qS+=`60{f1Wio{zKp*myxm@kJ9BQa=5%A32srpjHO-UTZ`Obt)t9Bur1A=Y?@RxUW;3?aE7+I0#(l6Vfc5_(&mOJEd1YZa*$3z$N@eSb|wXE9Ry40p@gO$0998E zVjDREM;Xq#(e|*TED7Dr;E78+B047Y_#e-g-_?03;96ugOk4nOuN#J!MP;_?<&HtDdgz3LOy^--HD5C+GIcWObPl(bR7 z*59^EYzJnZ&<)fis^hJDLJ*Vt5~+5wfTNbeizdwYEP+{qXEe@p7?1M%d>V}vC$zX# z#5|%$4=11%(-t>upW9$`rQ62uZAsPB#tTtfV_xR9rC-ZJ1vB;uw{}hSfF@?;g6p;v zSY?k|)?y8?!i~9eTnY{7>i@hj-4~QxU72zPw`ETV7fH*}7VO?hJ0{J>`4W-YxXlGH z8JtJ?#CrZCz_B74Mi7KLE@cW3rt5(EMaR`YCVY9h+dIIrF(6%5$Om8 znTgu1X;d)>e&;*ztM|l+7sUeMUTz4c?WbOO2g35aqK5!^#dxO@6sT~4phOnZA(*O- z3_8l#DZ=^uA-=GP58w^wpSj8y_z4QS>sy`HiTyB;dJ#^S6$tI&$Pvm!p2)Ya`YRWy zT+pFT9|WA}6vRacYdjgQ#xt!1fh&p>n^HwoV6cmVT}!Hn1mvSeKYkgT6Cp4Ond0&* z10%_u6YG+fEDfz}0}G9<9ejfraTos_-)TcI%VdOP@dH|PmIdOnd_n)0y({10rs9B3 zNQC1(A6STp`iggM2XD}F`>^f3^Q;u45KE2xDHUF6fjDspuKiMkQuaub4*_Fl4=sm6 z%jM3+=;BvxDe#tQoq8kD6GuMJFJ4S`LVav*p$x1)RbOTJTfV(YS9|fZC$t!=hi|RU z?ls~xu2SUABop43XO(F9E|<{rjPS@CirA3pE7SJSVcrTV*D*x6or-c6JC%3p3ohf{ z>YUwG^bKTLE!Yk5VwL~`s*;mIsY`es}8vQVP z#*c+~LEI9ITAS*Eh!0o4$S$bjPb-Dv-G-up&DoGJU9$P{SyyH(0x|ag0qDR9ug)7x zQRr`kHXb2RF4h>5nNn;q!q?@Upf{`xS>LP#e(Ro`Qh@muK{Bgybn>`Uy((%uh2#Be zsR!Ad!32hN+xzG9H3K}tw^xlJo;8B>&An_`fO8A4#m4$#)Q4Ch^Bwa(o*Iayh|mF2 z00FGsSXafMB9o0XoX|Oz&4bVSws8uvkX-S8iV(n-28AM8%-tQ%5MK-AdcB{HhHQU$ zj|`?W@`@4Av!6JlT-<9RI=Q=FP{Q<1C~nFGhP*Pv6Biq9hOvAsYXakMn%`;UDwVZs zpj-I;H7{N|E>OxbDxQ8@%cLq>s*$=g3(E!ZJB2Tkk(t5gN91V9qsDT2!HKKGu;@Il zW*Vq3_xwTP?<(d+ikVd+%^Z*dbR#=pK;9!30Ew1Jz7xlXiM>kj2?W&MOlp2TKlmq3p&E0gQ>BD{`@C`|3@PH ziy{D7oqq_?)PtOsVuWbqAQW7KqEe&R>Uw z7WOw15GTt4CyKfH*C~|v&J6i297uZ`)2yUCcjO;D`-wcpJ$HOFqF)$PNgNo(({22X z;_ApzA32ZX?-1#FCVj*Epx>ael46O!BMA0TN37T2W1aIr+H?t$%0AL0xKjQ68gbW) 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 t4wJKv%bIdlN=u(%B23cN>?-43>(H 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 diff --git a/packages/axonius/kibana/dashboard/axonius-60472232-ca7b-45e6-9fa6-72e6efc41a8e.json b/packages/axonius/kibana/dashboard/axonius-60472232-ca7b-45e6-9fa6-72e6efc41a8e.json index 38f84568741..5f5b300cbc4 100644 --- a/packages/axonius/kibana/dashboard/axonius-60472232-ca7b-45e6-9fa6-72e6efc41a8e.json +++ b/packages/axonius/kibana/dashboard/axonius-60472232-ca7b-45e6-9fa6-72e6efc41a8e.json @@ -37,6 +37,28 @@ "data_stream.dataset": "axonius.identity" } } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "labels.is_transform_source", + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index", + "key": "labels.is_transform_source", + "negate": false, + "params": { + "query": "false" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "labels.is_transform_source": "false" + } + } } ], "query": { @@ -142,7 +164,8 @@ }, "syncColors": false, "syncCursor": true, - "syncTooltips": false + "syncTooltips": false, + "title": "" }, "gridData": { "h": 11, @@ -152,7 +175,6 @@ "y": 0 }, "panelIndex": "6ad81d2b-ed86-4f33-8b69-f53709f63008", - "title": "", "type": "lens" }, { @@ -284,7 +306,8 @@ }, "syncColors": false, "syncCursor": true, - "syncTooltips": false + "syncTooltips": false, + "title": "" }, "gridData": { "h": 11, @@ -294,7 +317,6 @@ "y": 0 }, "panelIndex": "3e391701-e157-420b-951a-d7100ae6a606", - "title": "", "type": "lens" }, { @@ -386,7 +408,8 @@ }, "syncColors": false, "syncCursor": true, - "syncTooltips": false + "syncTooltips": false, + "title": "" }, "gridData": { "h": 11, @@ -396,7 +419,6 @@ "y": 0 }, "panelIndex": "26f08be7-2fb8-467a-a083-b1ad005319aa", - "title": "", "type": "lens" }, { @@ -646,7 +668,8 @@ }, "syncColors": false, "syncCursor": true, - "syncTooltips": false + "syncTooltips": false, + "title": "Users by Department" }, "gridData": { "h": 13, @@ -656,7 +679,6 @@ "y": 11 }, "panelIndex": "6951a3ed-dc02-4bfa-afa9-39c2832d7f1b", - "title": "Users by Department", "type": "lens" }, { @@ -815,7 +837,8 @@ }, "syncColors": false, "syncCursor": true, - "syncTooltips": false + "syncTooltips": false, + "title": "Users by Type" }, "gridData": { "h": 13, @@ -825,7 +848,6 @@ "y": 11 }, "panelIndex": "c1ee3a0e-4c34-482f-b05f-4e7688cade1e", - "title": "Users by Type", "type": "lens" }, { @@ -966,7 +988,8 @@ }, "syncColors": false, "syncCursor": true, - "syncTooltips": false + "syncTooltips": false, + "title": "Users by Status" }, "gridData": { "h": 17, @@ -976,7 +999,6 @@ "y": 24 }, "panelIndex": "091d0600-2142-4fed-99b2-cf8b3fd41f4f", - "title": "Users by Status", "type": "lens" }, { @@ -1102,7 +1124,8 @@ }, "syncColors": false, "syncCursor": true, - "syncTooltips": false + "syncTooltips": false, + "title": "Top Cloud Providers" }, "gridData": { "h": 17, @@ -1112,7 +1135,6 @@ "y": 24 }, "panelIndex": "c6710940-9337-4981-9769-1fc79e4ece1a", - "title": "Top Cloud Providers", "type": "lens" }, { @@ -1227,7 +1249,8 @@ }, "syncColors": false, "syncCursor": true, - "syncTooltips": false + "syncTooltips": false, + "title": "Top Email Addresses" }, "gridData": { "h": 17, @@ -1237,7 +1260,6 @@ "y": 24 }, "panelIndex": "66ca2230-6ac6-4f1d-a8d0-7e00a907e562", - "title": "Top Email Addresses", "type": "lens" } ], @@ -1246,8 +1268,7 @@ "version": 3 }, "coreMigrationVersion": "8.8.0", - "created_at": "2025-12-09T10:44:24.406Z", - "created_by": "u_mGBROF_q5bmFCATbLXAcCwKa0k8JvONAwSruelyKA5E_0", + "created_at": "2025-12-24T12:33:03.197Z", "id": "axonius-60472232-ca7b-45e6-9fa6-72e6efc41a8e", "references": [ { @@ -1255,6 +1276,11 @@ "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", "type": "index-pattern" }, + { + "id": "logs-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index", + "type": "index-pattern" + }, { "id": "logs-*", "name": "6ad81d2b-ed86-4f33-8b69-f53709f63008:indexpattern-datasource-layer-92ddbbb3-5b76-406f-94fa-5d6403f357c9", @@ -1304,6 +1330,11 @@ "id": "metrics-*", "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index", + "type": "index-pattern" } ], "type": "dashboard", From 8b75b008bd506c18330ed31744f20d932346c5f2 Mon Sep 17 00:00:00 2001 From: muskan-crest Date: Tue, 21 Apr 2026 18:13:40 +0530 Subject: [PATCH 4/5] Resolved comments provided by bot and @efd6. --- packages/axonius/_dev/build/docs/README.md | 2 +- .../_dev/deploy/docker/files/config.yml | 2 +- packages/axonius/changelog.yml | 5 - .../_dev/test/pipeline/test-account.log | 2 +- .../pipeline/test-account.log-expected.json | 7 +- .../pipeline/test-group.log-expected.json | 14 +- .../test-identity-common.log-expected.json | 2 +- .../identity/agent/stream/cel.yml.hbs | 8 +- .../elasticsearch/ingest_pipeline/default.yml | 26 +- .../ingest_pipeline/pipeline-account.yml | 10 + .../ingest_pipeline/pipeline-certificate.yml | 6 + .../ingest_pipeline/pipeline-group.yml | 3 + .../ingest_pipeline/pipeline-user.yml | 1568 ++++------------- .../data_stream/identity/fields/fields.yml | 45 +- .../data_stream/identity/sample_event.json | 12 +- packages/axonius/docs/README.md | 24 +- .../latest_identity/fields/fields.yml | 45 +- ...-60472232-ca7b-45e6-9fa6-72e6efc41a8e.json | 1480 +++++++++++++--- packages/axonius/manifest.yml | 3 +- 19 files changed, 1775 insertions(+), 1489 deletions(-) diff --git a/packages/axonius/_dev/build/docs/README.md b/packages/axonius/_dev/build/docs/README.md index 3d483e36a8f..f69c328e86a 100644 --- a/packages/axonius/_dev/build/docs/README.md +++ b/packages/axonius/_dev/build/docs/README.md @@ -163,7 +163,7 @@ Destinations indices are aliased to `logs-axonius_latest.`. **Note:** Assets deleted from Axonius may reappear in a future discovery cycle if they are still present in connected data sources and get re-detected. Because the exact duration for which a deleted asset may remain dormant before being rediscovered is unknown, the transform retention period is set to **90 days** to reduce the risk of data loss for such assets. This means deleted assets will continue to appear in dashboards for up to 90 days after deletion. -The network and identity destination index is a content-based deduplicated view, not an entity-level latest-state view like the other data streams (for example `user` and `gateway`), which rely on a unique entity identifier and reflect the latest state of each entity. +The network and identity destination indices are a content-based deduplicated view, not an entity-level latest-state view like the other data streams (for example `user` and `gateway`), which rely on a unique entity identifier and reflect the latest state of each entity. ## Troubleshooting diff --git a/packages/axonius/_dev/deploy/docker/files/config.yml b/packages/axonius/_dev/deploy/docker/files/config.yml index adae87531b5..025509030dc 100644 --- a/packages/axonius/_dev/deploy/docker/files/config.yml +++ b/packages/axonius/_dev/deploy/docker/files/config.yml @@ -3133,7 +3133,7 @@ rules: "cache_last_updated": "Mon, 01 Dec 2025 13:37:38 GMT", "is_data_from_cache": true, "page": { - "number": 2, + "number": 1, "size": 2, "totalPages": 2, "totalResources": 4 diff --git a/packages/axonius/changelog.yml b/packages/axonius/changelog.yml index f9bc6ee355e..a602b8656c4 100644 --- a/packages/axonius/changelog.yml +++ b/packages/axonius/changelog.yml @@ -1,9 +1,4 @@ # newer versions go on top -- version: 0.1.1 - changes: - - description: Add support for identity data stream. - type: enhancement - link: https://github.com/elastic/integrations/pull/16620 - version: 0.1.0 changes: - description: Initial release. diff --git a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-account.log b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-account.log index 32873b7f010..815fe2d68f5 100644 --- a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-account.log +++ b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-account.log @@ -1,3 +1,3 @@ {"asset_type":"accounts","event":{"data":{"active_users":1500,"active_users_saved_query_id":"665db21284bdd7fee6703009","admin_non_operational_users":0,"admin_non_operational_users_saved_query_id":"665db21a84bdd7fee67032aa","admin_operational_active_users":0,"admin_operational_active_users_saved_query_id":"665db21584bdd7fee6703148","admin_operational_inactive_users":0,"admin_operational_inactive_users_saved_query_id":"665db22a84bdd7fee6703692","admin_operational_users":0,"admin_operational_users_saved_query_id":"665db21684bdd7fee6703174","admins":0,"admins_saved_query_id":"665db22584bdd7fee67035a4","application_id":"198ef9c063EC253aEcEe","application_name":"VMware","asset_entity_info":"ARP","connected_assets":["storage_account_id::ac4d42d9-5b05-4f67-ba8d-c770fcaa17d6"],"connection_label":"okta-demo","created_date":"Sun, 23 Feb 2025 00:25:17 GMT","deleted_users":249,"deleted_users_saved_query_id":"665db22684bdd7fee67035bb","direct_not_sso_users":34,"direct_not_sso_users_saved_query_id":"665db21384bdd7fee67030ab","domains":[{"name":"salesforce.demo.local"}],"email":"example@domain.com","external_users":0,"external_users_saved_query_id":"665db21084bdd7fee6702f98","gce_account_id":"gce_account_id_1","inactive_users":96,"inactive_users_saved_query_id":"665db20b84bdd7fee6702d68","is_managed_by_direct_app":true,"last_enrichment_run":"Wed, 12 Nov 2025 00:02:18 GMT","managed_non_operational_users":371,"managed_non_operational_users_saved_query_id":"665db20e84bdd7fee6702e8b","managed_operational_users":1596,"managed_operational_users_saved_query_id":"665db20e84bdd7fee6702e83","managed_users":1602,"managed_users_by_app":1602,"managed_users_by_app_saved_query_id":"665db22784bdd7fee6703613","managed_users_by_sso":1568,"managed_users_by_sso_saved_query_id":"665db20e84bdd7fee6702ea0","managed_users_saved_query_id":"665db22284bdd7fee67034e4","orphaned_users":28,"orphaned_users_saved_query_id":"665db21784bdd7fee67031fb","paid_users":247,"paid_users_saved_query_id":"665db21984bdd7fee6703296","project_ids":["id1","id2"],"project_tags":[{"inherited":"dunno","key":"key1","namespaced_tag_key":"tkey","namespaced_tag_value":"tvalue","value":"value1"}],"projects_roles":[{"project_id":"id123","role_name":"role12"}],"relatable_ids":["image_id::87dec736-1ce1-4476-8a68-c37dcdffe9c2"],"remote_account_id":"racid","status":"closed","suspended_users":241,"suspended_users_saved_query_id":"665db20d84bdd7fee6702e2b","unlinked_users":0,"unlinked_users_saved_query_id":"665db22384bdd7fee67034fc"}}} -{"adapter_list_length":1,"adapters":["qualys_scans_adapter"],"asset_type":"accounts","event":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:04:58 GMT","adapter_categories":["VA Tool"],"client_used":"67fd09dffe1c8e812a176bcb","data":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:04:58 GMT","application_and_account_name":"qualys/qualys_scans-demo","application_name":"Qualys","asset_type":"Connected Adapter","domains":[{}],"fetch_time":"Tue, 09 Dec 2025 00:04:58 GMT","first_fetch_time":"Mon, 14 Apr 2025 13:29:14 GMT","from_last_fetch":true,"id":"38561584016c3bd50997","id_raw":"qualys_scans-demo_67fd09dffe1c8e812a176bcb","is_fetched_from_adapter":true,"is_managed_by_direct_app":true,"name":"Qualys/qualys_scans-demo","not_fetched_count":0,"source_application":"Qualys","type":"Accounts"},"initial_plugin_unique_name":"qualys_scans_adapter_0","plugin_name":"qualys_scans_adapter","plugin_type":"Adapter","plugin_unique_name":"qualys_scans_adapter_0","quick_id":"qualys_scans_adapter_0!38561584016c3bd50997","type":"entitydata"},"internal_axon_id":"e2781b0b477c77303261aec45a40cb44"} +{"adapter_list_length":1,"adapters":["qualys_scans_adapter"],"asset_type":"accounts","event":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:04:58 GMT","adapter_categories":["VA Tool"],"client_used":"67fd09dffe1c8e812a176bcb","data":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:04:58 GMT","application_and_account_name":"qualys/qualys_scans-demo","application_name":"Qualys","asset_type":"Connected Adapter","domains":[{}],"fetch_time":"Tue, 09 Dec 2025 00:04:58 GMT","first_fetch_time":"Mon, 14 Apr 2025 13:29:14 GMT","from_last_fetch":true,"id":"38561584016c3bd50997","id_raw":"qualys_scans-demo_67fd09dffe1c8e812a176bcb","is_fetched_from_adapter":true,"is_managed_by_direct_app":true,"name":"Qualys/qualys_scans-demo","not_fetched_count":0,"roles":["roles/clou."], "source_application":"Qualys","type":"Accounts"},"initial_plugin_unique_name":"qualys_scans_adapter_0","plugin_name":"qualys_scans_adapter","plugin_type":"Adapter","plugin_unique_name":"qualys_scans_adapter_0","quick_id":"qualys_scans_adapter_0!38561584016c3bd50997","type":"entitydata"},"internal_axon_id":"e2781b0b477c77303261aec45a40cb44"} {"adapter_list_length":2,"adapters":["github_adapter","okta_adapter"],"asset_type":"accounts","event":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:02:32 GMT","adapter_categories":["Software Development Version Control","SaaS Management"],"client_used":"67fd09a9fe1c8e812a176baa","data":{"accurate_for_datetime":"Tue, 09 Dec 2025 00:02:32 GMT","active_users":0,"active_users_saved_query_id":"67fd1261709940e80b240c24","admin_non_operational_users":0,"admin_non_operational_users_saved_query_id":"67fd1261709940e80b240c68","admin_operational_active_users":0,"admin_operational_active_users_saved_query_id":"67fd1261709940e80b240c7e","admin_operational_inactive_users":0,"admin_operational_inactive_users_saved_query_id":"67fd1261709940e80b240c3f","admin_operational_users":0,"admin_operational_users_saved_query_id":"67fd1261709940e80b240c5d","admins":0,"admins_saved_query_id":"67fd1261709940e80b240c38","application_and_account_name":"github/github-dev","application_name":"GitHub","asset_type":"Connected Adapter","deleted_users":0,"deleted_users_saved_query_id":"67fd1261709940e80b240cb7","direct_not_sso_users":27,"direct_not_sso_users_saved_query_id":"67fd1261709940e80b240c86","domains":[{"name":"github.demo.local"}],"external_users":0,"external_users_saved_query_id":"67fd1261709940e80b240cc4","fetch_time":"Tue, 09 Dec 2025 00:02:32 GMT","first_fetch_time":"Mon, 14 Apr 2025 13:27:53 GMT","from_last_fetch":true,"id":"697947761f2f779c8df5","id_raw":"github-dev_67fd09a9fe1c8e812a176baa","inactive_users":339,"inactive_users_saved_query_id":"67fd1261709940e80b240c4a","is_fetched_from_adapter":true,"is_managed_by_direct_app":true,"last_enrichment_run":"Tue, 09 Dec 2025 00:10:07 GMT","managed_non_operational_users":0,"managed_non_operational_users_saved_query_id":"67fd1261709940e80b240c56","managed_operational_users":339,"managed_operational_users_saved_query_id":"67fd1261709940e80b240c71","managed_users":339,"managed_users_by_app":180,"managed_users_by_app_saved_query_id":"67fd1261709940e80b240c9a","managed_users_by_sso":312,"managed_users_by_sso_saved_query_id":"67fd1261709940e80b240ca6","managed_users_saved_query_id":"67fd1261709940e80b240c17","name":"GitHub/github-dev","not_fetched_count":0,"orphaned_users":27,"orphaned_users_saved_query_id":"67fd1261709940e80b240c8f","paid_users":0,"paid_users_saved_query_id":"67fd1261709940e80b240ccc","source_application":"GitHub","suspended_users":0,"suspended_users_saved_query_id":"67fd1261709940e80b240cae","type":"Accounts","unlinked_users":159,"unlinked_users_saved_query_id":"67fd1261709940e80b240c2b"},"initial_plugin_unique_name":"github_adapter_0","plugin_name":"github_adapter","plugin_type":"Adapter","plugin_unique_name":"github_adapter_0","quick_id":"github_adapter_0!697947761f2f779c8df5","type":"entitydata"},"internal_axon_id":"5592c1d0fc4c0fdeebb6c98530a7c777"} diff --git a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-account.log-expected.json b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-account.log-expected.json index 51439df58a0..6ddcf050ef1 100644 --- a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-account.log-expected.json +++ b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-account.log-expected.json @@ -153,8 +153,11 @@ "is_managed_by_direct_app": true, "name": "Qualys/qualys_scans-demo", "not_fetched_count": 0, + "roles_accounts": [ + "roles/clou." + ], "source_application": "Qualys", - "transform_unique_id": "MmWIPw5K01Viih7QMSCTzqUGr0w=", + "transform_unique_id": "o1/wQWHAgVHLeNNsa0aSzPLTx74=", "type": "Accounts" } }, @@ -166,7 +169,7 @@ "iam" ], "kind": "event", - "original": "{\"adapter_list_length\":1,\"adapters\":[\"qualys_scans_adapter\"],\"asset_type\":\"accounts\",\"event\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 00:04:58 GMT\",\"adapter_categories\":[\"VA Tool\"],\"client_used\":\"67fd09dffe1c8e812a176bcb\",\"data\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 00:04:58 GMT\",\"application_and_account_name\":\"qualys/qualys_scans-demo\",\"application_name\":\"Qualys\",\"asset_type\":\"Connected Adapter\",\"domains\":[{}],\"fetch_time\":\"Tue, 09 Dec 2025 00:04:58 GMT\",\"first_fetch_time\":\"Mon, 14 Apr 2025 13:29:14 GMT\",\"from_last_fetch\":true,\"id\":\"38561584016c3bd50997\",\"id_raw\":\"qualys_scans-demo_67fd09dffe1c8e812a176bcb\",\"is_fetched_from_adapter\":true,\"is_managed_by_direct_app\":true,\"name\":\"Qualys/qualys_scans-demo\",\"not_fetched_count\":0,\"source_application\":\"Qualys\",\"type\":\"Accounts\"},\"initial_plugin_unique_name\":\"qualys_scans_adapter_0\",\"plugin_name\":\"qualys_scans_adapter\",\"plugin_type\":\"Adapter\",\"plugin_unique_name\":\"qualys_scans_adapter_0\",\"quick_id\":\"qualys_scans_adapter_0!38561584016c3bd50997\",\"type\":\"entitydata\"},\"internal_axon_id\":\"e2781b0b477c77303261aec45a40cb44\"}", + "original": "{\"adapter_list_length\":1,\"adapters\":[\"qualys_scans_adapter\"],\"asset_type\":\"accounts\",\"event\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 00:04:58 GMT\",\"adapter_categories\":[\"VA Tool\"],\"client_used\":\"67fd09dffe1c8e812a176bcb\",\"data\":{\"accurate_for_datetime\":\"Tue, 09 Dec 2025 00:04:58 GMT\",\"application_and_account_name\":\"qualys/qualys_scans-demo\",\"application_name\":\"Qualys\",\"asset_type\":\"Connected Adapter\",\"domains\":[{}],\"fetch_time\":\"Tue, 09 Dec 2025 00:04:58 GMT\",\"first_fetch_time\":\"Mon, 14 Apr 2025 13:29:14 GMT\",\"from_last_fetch\":true,\"id\":\"38561584016c3bd50997\",\"id_raw\":\"qualys_scans-demo_67fd09dffe1c8e812a176bcb\",\"is_fetched_from_adapter\":true,\"is_managed_by_direct_app\":true,\"name\":\"Qualys/qualys_scans-demo\",\"not_fetched_count\":0,\"roles\":[\"roles/clou.\"], \"source_application\":\"Qualys\",\"type\":\"Accounts\"},\"initial_plugin_unique_name\":\"qualys_scans_adapter_0\",\"plugin_name\":\"qualys_scans_adapter\",\"plugin_type\":\"Adapter\",\"plugin_unique_name\":\"qualys_scans_adapter_0\",\"quick_id\":\"qualys_scans_adapter_0!38561584016c3bd50997\",\"type\":\"entitydata\"},\"internal_axon_id\":\"e2781b0b477c77303261aec45a40cb44\"}", "type": [ "info" ] diff --git a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-group.log-expected.json b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-group.log-expected.json index c18cfa69dd5..4e2a311fb13 100644 --- a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-group.log-expected.json +++ b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-group.log-expected.json @@ -49,12 +49,7 @@ }, "tags": [ "preserve_duplicate_custom_fields" - ], - "user": { - "roles": [ - "SharePoint Administrator" - ] - } + ] }, { "@timestamp": "2025-12-09T00:09:21.000Z", @@ -324,12 +319,7 @@ "preserve_duplicate_custom_fields" ], "user": { - "name": "Server", - "roles": [ - "sn_dependentclient.dependentclient_user", - "log_points", - "decision_table_admin" - ] + "name": "Server" } } ] diff --git a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-identity-common.log-expected.json b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-identity-common.log-expected.json index ef94041aa38..8b9b6f4e7ae 100644 --- a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-identity-common.log-expected.json +++ b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-identity-common.log-expected.json @@ -161,7 +161,7 @@ ], "not_fetched_count": 0, "operational_users_count": 1, - "permissions": [ + "permissions_list": [ { "name": "User.Read" } diff --git a/packages/axonius/data_stream/identity/agent/stream/cel.yml.hbs b/packages/axonius/data_stream/identity/agent/stream/cel.yml.hbs index 9c9e0122213..beca4579dd9 100644 --- a/packages/axonius/data_stream/identity/agent/stream/cel.yml.hbs +++ b/packages/axonius/data_stream/identity/agent/stream/cel.yml.hbs @@ -44,7 +44,7 @@ program: | state.with( request( "POST", - state.url.trim_right("/") + "/api/v2/assets/" + string(state.worklist.asset_type_list[0]) + state.url.trim_right("/") + "/api/v2/assets/" + state.worklist.asset_type_list[0] ).with( { "Header": { @@ -75,7 +75,7 @@ program: | ?"adapters": assets.?adapters, ?"adapter_list_length": assets.?adapter_list_length, ?"labels": assets.?labels, - "asset_type": string(state.worklist.asset_type_list[0]), + "asset_type": state.worklist.asset_type_list[0], "event": d, }.encode_json(), } @@ -105,13 +105,13 @@ program: | "error": { "code": string(resp.StatusCode), "id": string(resp.Status), - "message": "POST:" + state.url.trim_right("/") + "/api/v2/assets/" + string(state.worklist.asset_type_list[0]) + ( + "message": "POST:" + state.url.trim_right("/") + "/api/v2/assets/" + state.worklist.asset_type_list[0] + ( size(resp.Body) != 0 ? string(resp.Body) : string(resp.Status) + " (" + string(resp.StatusCode) + ")" ), - "asset_type": string(state.worklist.asset_type_list[0]), + "asset_type": state.worklist.asset_type_list[0], }, }.encode_json(), }, diff --git a/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/default.yml b/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/default.yml index f87bb8e34f7..2e6a0cc54af 100644 --- a/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/default.yml +++ b/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/default.yml @@ -95,6 +95,9 @@ processors: - EEE,dd MMM yyyy HH:mm:ss 'GMT' if: ctx.axonius?.identity?.event?.accurate_for_datetime != null && ctx.axonius.identity.event.accurate_for_datetime != '' on_failure: + - remove: + field: axonius.identity.event.accurate_for_datetime + ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' @@ -117,7 +120,6 @@ processors: tag: split_event_action separator: \s+ ignore_missing: true - if: ctx.event?.action != '' on_failure: - append: field: error.message @@ -141,6 +143,9 @@ processors: - EEE,dd MMM yyyy HH:mm:ss 'GMT' if: ctx.axonius?.identity?.accurate_for_datetime != null && ctx.axonius.identity.accurate_for_datetime != '' on_failure: + - remove: + field: axonius.identity.accurate_for_datetime + ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' @@ -182,6 +187,9 @@ processors: - EEE,dd MMM yyyy HH:mm:ss 'GMT' if: ctx.axonius?.identity?.fetch_time != null && ctx.axonius.identity.fetch_time != '' on_failure: + - remove: + field: axonius.identity.fetch_time + ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' @@ -195,6 +203,9 @@ processors: - EEE,dd MMM yyyy HH:mm:ss 'GMT' if: ctx.axonius?.identity?.first_fetch_time != null && ctx.axonius.identity.first_fetch_time != '' on_failure: + - remove: + field: axonius.identity.first_fetch_time + ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' @@ -513,6 +524,9 @@ processors: - EEE,dd MMM yyyy HH:mm:ss 'GMT' if: ctx.axonius?.identity?.nested_grants_last_updated != null && ctx.axonius.identity.nested_grants_last_updated != '' on_failure: + - remove: + field: axonius.identity.nested_grants_last_updated + ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' @@ -574,6 +588,16 @@ processors: - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: + field: axonius.identity.permissions + tag: convert_permissions_to_long + type: long + ignore_missing: true + on_failure: + - rename: + field: axonius.identity.permissions + target_field: axonius.identity.permissions_list + ignore_missing: true - pipeline: name: '{{ IngestPipeline "pipeline-account" }}' tag: pipeline-account diff --git a/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-account.yml b/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-account.yml index cc828755703..dc826b00394 100644 --- a/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-account.yml +++ b/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-account.yml @@ -1,6 +1,10 @@ --- description: Pipeline for processing account logs. processors: + - rename: + field: axonius.identity.roles + target_field: axonius.identity.roles_accounts + ignore_missing: true - convert: field: axonius.identity.active_users tag: convert_active_users_to_long @@ -93,6 +97,9 @@ processors: - EEE,dd MMM yyyy HH:mm:ss 'GMT' if: ctx.axonius?.identity?.created_date != null && ctx.axonius.identity.created_date != '' on_failure: + - remove: + field: axonius.identity.created_date + ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' @@ -187,6 +194,9 @@ processors: - EEE,dd MMM yyyy HH:mm:ss 'GMT' if: ctx.axonius?.identity?.last_enrichment_run != null && ctx.axonius.identity.last_enrichment_run != '' on_failure: + - remove: + field: axonius.identity.last_enrichment_run + ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' diff --git a/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-certificate.yml b/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-certificate.yml index 63cbc8d7aee..22f9729f771 100644 --- a/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-certificate.yml +++ b/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-certificate.yml @@ -11,6 +11,9 @@ processors: - EEE,dd MMM yyyy HH:mm:ss 'GMT' if: ctx.axonius?.identity?.begins_on != null && ctx.axonius.identity.begins_on != '' on_failure: + - remove: + field: axonius.identity.begins_on + ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' @@ -41,6 +44,9 @@ processors: - EEE,dd MMM yyyy HH:mm:ss 'GMT' if: ctx.axonius?.identity?.expires_on != null && ctx.axonius.identity.expires_on != '' on_failure: + - remove: + field: axonius.identity.expires_on + ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' diff --git a/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-group.yml b/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-group.yml index 9a6f7456b6b..6133d4ef490 100644 --- a/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-group.yml +++ b/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-group.yml @@ -11,6 +11,9 @@ processors: - EEE,dd MMM yyyy HH:mm:ss 'GMT' if: ctx.axonius?.identity?.first_seen != null && ctx.axonius.identity.first_seen != '' on_failure: + - remove: + field: axonius.identity.first_seen + ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' diff --git a/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-user.yml b/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-user.yml index 932e72155f2..2e80562f518 100644 --- a/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-user.yml +++ b/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-user.yml @@ -171,91 +171,36 @@ processors: - remove: field: _ingest._value.breach_date ignore_missing: true - - foreach: - field: axonius.identity.breaches_data - tag: foreach_breaches_data_is_fabricated - if: ctx.axonius?.identity?.breaches_data instanceof List - processor: - convert: - field: _ingest._value.is_fabricated - tag: convert_breaches_data_is_fabricated_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: _ingest._value.is_fabricated - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - foreach: - field: axonius.identity.breaches_data - tag: foreach_breaches_data_is_retired - if: ctx.axonius?.identity?.breaches_data instanceof List - processor: - convert: - field: _ingest._value.is_retired - tag: convert_breaches_data_is_retired_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: _ingest._value.is_retired - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - foreach: - field: axonius.identity.breaches_data - tag: foreach_breaches_data_is_sensitive - if: ctx.axonius?.identity?.breaches_data instanceof List - processor: - convert: - field: _ingest._value.is_sensitive - tag: convert_breaches_data_is_sensitive_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: _ingest._value.is_sensitive - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - foreach: - field: axonius.identity.breaches_data - tag: foreach_breaches_data_is_spam_list - if: ctx.axonius?.identity?.breaches_data instanceof List - processor: - convert: - field: _ingest._value.is_spam_list - tag: convert_breaches_data_is_spam_list_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: _ingest._value.is_spam_list - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - foreach: - field: axonius.identity.breaches_data - tag: foreach_breaches_data_is_verified + - script: + tag: script_convert_breaches_data_booleans + lang: painless + description: Converts all breaches_data boolean fields in each array element, removing values that cannot be converted. if: ctx.axonius?.identity?.breaches_data instanceof List - processor: - convert: - field: _ingest._value.is_verified - tag: convert_breaches_data_is_verified_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: _ingest._value.is_verified - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + source: |- + def fields = ['is_fabricated', 'is_retired', 'is_sensitive', 'is_spam_list', 'is_verified']; + for (def item : ctx.axonius.identity.breaches_data) { + for (def f : fields) { + if (!item.containsKey(f) || item[f] == null) { + continue; + } + def v = item[f]; + if (v instanceof Boolean) { + continue; + } + def s = v.toString().toLowerCase(); + if (s == 'true' || s == '1') { + item[f] = true; + } else if (s == 'false' || s == '0' || s == '') { + item[f] = false; + } else { + item.remove(f); + } + } + } + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - foreach: field: axonius.identity.breaches_data tag: foreach_breaches_data_modified_date @@ -353,6 +298,9 @@ processors: - EEE,dd MMM yyyy HH:mm:ss 'GMT' if: ctx.axonius?.identity?.email_activity?.report_date != null && ctx.axonius.identity.email_activity.report_date != '' on_failure: + - remove: + field: axonius.identity.email_activity.report_date + ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' @@ -416,75 +364,47 @@ processors: - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.feature.cn_meeting - tag: convert_feature_cn_meeting_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.feature.cn_meeting - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.feature.in_meeting - tag: convert_feature_in_meeting_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.feature.in_meeting - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.feature.large_meeting - tag: convert_feature_large_meeting_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.feature.large_meeting - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.feature.meeting_capacity - tag: convert_feature_meeting_capacity_to_long - type: long - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.feature.meeting_capacity - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.feature.webinar - tag: convert_feature_webinar_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.feature.webinar - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.feature.zoom_phone - tag: convert_feature_zoom_phone_to_boolean - type: boolean - ignore_missing: true + - script: + tag: script_convert_feature_fields + lang: painless + description: Converts feature boolean and long fields, removing values that cannot be converted. + if: ctx.axonius?.identity?.feature != null + source: |- + def boolFields = ['cn_meeting', 'in_meeting', 'large_meeting', 'webinar', 'zoom_phone']; + def longFields = ['meeting_capacity']; + def obj = ctx.axonius.identity.feature; + for (def f : boolFields) { + if (!obj.containsKey(f) || obj[f] == null) { + continue; + } + def v = obj[f]; + if (v instanceof Boolean) { + continue; + } + def s = v.toString().toLowerCase(); + if (s == 'true' || s == '1') { + obj[f] = true; + } else if (s == 'false' || s == '0' || s == '') { + obj[f] = false; + } else { + obj.remove(f); + } + } + for (def f : longFields) { + if (!obj.containsKey(f) || obj[f] == null) { + continue; + } + def v = obj[f]; + if (v instanceof Long || v instanceof Integer) { + continue; + } + try { + obj[f] = Long.parseLong(v.toString()); + } catch (NumberFormatException e) { + obj.remove(f); + } + } on_failure: - - remove: - field: axonius.identity.feature.zoom_phone - ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' @@ -503,634 +423,241 @@ processors: - yyyy-MM-dd - EEE,dd MMM yyyy HH:mm:ss 'GMT' if: ctx.axonius?.identity?.hire_date != null && ctx.axonius.identity.hire_date != '' - on_failure: - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.in_meeting.allow_live_streaming - tag: convert_in_meeting_allow_live_streaming_to_boolean - type: boolean - ignore_missing: true on_failure: - remove: - field: axonius.identity.in_meeting.allow_live_streaming - ignore_missing: true + field: axonius.identity.hire_date + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - script: + tag: script_convert_in_meeting_booleans + lang: painless + description: Converts all in_meeting boolean fields, removing values that cannot be converted. + if: ctx.axonius?.identity?.in_meeting != null + source: |- + def fields = [ + 'allow_live_streaming', 'annotation', 'attendee_on_hold', 'auto_saving_chat', + 'breakout_room', 'chat', 'closed_caption', 'co_host', 'e2e_encryption', + 'entry_exit_chime', 'far_end_camera_control', 'feedback', 'group_hd', + 'non_verbal_feedback', 'polling', 'private_chat', 'record_play_voice', + 'remote_control', 'remote_support', 'share_dual_camera', + 'show_meeting_control_toolbar', 'virtual_background', 'waiting_room', + 'workplace_by_facebook' + ]; + def obj = ctx.axonius.identity.in_meeting; + for (def f : fields) { + if (!obj.containsKey(f) || obj[f] == null) { + continue; + } + def v = obj[f]; + if (v instanceof Boolean) { + continue; + } + def s = v.toString().toLowerCase(); + if (s == 'true' || s == '1') { + obj[f] = true; + } else if (s == 'false' || s == '0' || s == '') { + obj[f] = false; + } else { + obj.remove(f); + } + } + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - script: + tag: script_convert_identity_top_level_booleans + lang: painless + description: Converts top-level identity boolean fields, removing values that cannot be converted. + if: ctx.axonius?.identity != null + source: |- + def fields = [ + 'internal_is_admin', 'is_active', 'is_delegated_admin', 'is_from_sso_provider', + 'is_latest_last_seen', 'is_managed_by_application', 'is_mfa_enforced', + 'is_mfa_enrolled', 'is_non_editable', 'is_paid', 'is_permission_adapter', + 'is_saas_user', 'is_user_active', 'is_user_deleted', 'is_user_external', + 'is_user_inactive', 'is_user_suspended' + ]; + def obj = ctx.axonius.identity; + for (def f : fields) { + if (!obj.containsKey(f) || obj[f] == null) { + continue; + } + def v = obj[f]; + if (v instanceof Boolean) { + continue; + } + def s = v.toString().toLowerCase(); + if (s == 'true' || s == '1') { + obj[f] = true; + } else if (s == 'false' || s == '0' || s == '') { + obj[f] = false; + } else { + obj.remove(f); + } + } + on_failure: - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.in_meeting.annotation - tag: convert_in_meeting_annotation_to_boolean - type: boolean - ignore_missing: true + - date: + field: axonius.identity.last_login_attempt + tag: date_last_login_attempt + target_field: axonius.identity.last_login_attempt + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.axonius?.identity?.last_login_attempt != null && ctx.axonius.identity.last_login_attempt != '' on_failure: - remove: - field: axonius.identity.in_meeting.annotation + field: axonius.identity.last_login_attempt ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.in_meeting.attendee_on_hold - tag: convert_in_meeting_attendee_on_hold_to_boolean - type: boolean - ignore_missing: true + - date: + field: axonius.identity.last_logon + tag: date_last_logon + target_field: axonius.identity.last_logon + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.axonius?.identity?.last_logon != null && ctx.axonius.identity.last_logon != '' on_failure: - remove: - field: axonius.identity.in_meeting.attendee_on_hold + field: axonius.identity.last_logon ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.in_meeting.auto_saving_chat - tag: convert_in_meeting_auto_saving_chat_to_boolean - type: boolean - ignore_missing: true + - append: + field: related.user + tag: append_identity_last_name_into_related_user + value: '{{{axonius.identity.last_name}}}' + allow_duplicates: false + if: ctx.axonius?.identity?.last_name != null + - date: + field: axonius.identity.last_password_change + tag: date_last_password_change + target_field: axonius.identity.last_password_change + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.axonius?.identity?.last_password_change != null && ctx.axonius.identity.last_password_change != '' on_failure: - remove: - field: axonius.identity.in_meeting.auto_saving_chat + field: axonius.identity.last_password_change ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.in_meeting.breakout_room - tag: convert_in_meeting_breakout_room_to_boolean - type: boolean - ignore_missing: true + - date: + field: axonius.identity.last_seen + tag: date_last_seen + target_field: axonius.identity.last_seen + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.axonius?.identity?.last_seen != null && ctx.axonius.identity.last_seen != '' on_failure: - remove: - field: axonius.identity.in_meeting.breakout_room + field: axonius.identity.last_seen ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.in_meeting.chat - tag: convert_in_meeting_chat_to_boolean - type: boolean - ignore_missing: true + - set: + field: user.email + tag: set_user_email_from_identity_mail + copy_from: axonius.identity.mail + ignore_empty_value: true + - dissect: + tag: dissect_user_email + if: ctx.user?.email != null && ctx.user.email.contains('@') + field: user.email + pattern: '%{}@%{user.domain}' + - append: + field: related.user + tag: append_identity_mail_into_related_user + value: '{{{axonius.identity.mail}}}' + allow_duplicates: false + if: ctx.axonius?.identity?.mail != null + - append: + field: related.user + tag: append_identity_manager_id_into_related_user + value: '{{{axonius.identity.manager_id}}}' + allow_duplicates: false + if: ctx.axonius?.identity?.manager_id != null + - date: + field: axonius.identity.max_added_date + tag: date_max_added_date + target_field: axonius.identity.max_added_date + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.axonius?.identity?.max_added_date != null && ctx.axonius.identity.max_added_date != '' on_failure: - remove: - field: axonius.identity.in_meeting.chat + field: axonius.identity.max_added_date ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.in_meeting.closed_caption - tag: convert_in_meeting_closed_caption_to_boolean - type: boolean - ignore_missing: true + - date: + field: axonius.identity.max_breach_date + tag: date_max_breach_date + target_field: axonius.identity.max_breach_date + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.axonius?.identity?.max_breach_date != null && ctx.axonius.identity.max_breach_date != '' on_failure: - remove: - field: axonius.identity.in_meeting.closed_caption + field: axonius.identity.max_breach_date ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.in_meeting.co_host - tag: convert_in_meeting_co_host_to_boolean - type: boolean - ignore_missing: true + - date: + field: axonius.identity.max_modified_date + tag: date_max_modified_date + target_field: axonius.identity.max_modified_date + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.axonius?.identity?.max_modified_date != null && ctx.axonius.identity.max_modified_date != '' on_failure: - remove: - field: axonius.identity.in_meeting.co_host + field: axonius.identity.max_modified_date ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.in_meeting.e2e_encryption - tag: convert_in_meeting_e2e_encryption_to_boolean - type: boolean - ignore_missing: true + - date: + field: axonius.identity.nested_grants_managers_last_updated + tag: date_nested_grants_managers_last_updated + target_field: axonius.identity.nested_grants_managers_last_updated + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.axonius?.identity?.nested_grants_managers_last_updated != null && ctx.axonius.identity.nested_grants_managers_last_updated != '' on_failure: - remove: - field: axonius.identity.in_meeting.e2e_encryption + field: axonius.identity.nested_grants_managers_last_updated ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.in_meeting.entry_exit_chime - tag: convert_in_meeting_entry_exit_chime_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.in_meeting.entry_exit_chime - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.in_meeting.far_end_camera_control - tag: convert_in_meeting_far_end_camera_control_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.in_meeting.far_end_camera_control - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.in_meeting.feedback - tag: convert_in_meeting_feedback_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.in_meeting.feedback - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.in_meeting.group_hd - tag: convert_in_meeting_group_hd_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.in_meeting.group_hd - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.in_meeting.non_verbal_feedback - tag: convert_in_meeting_non_verbal_feedback_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.in_meeting.non_verbal_feedback - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.in_meeting.polling - tag: convert_in_meeting_polling_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.in_meeting.polling - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.in_meeting.private_chat - tag: convert_in_meeting_private_chat_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.in_meeting.private_chat - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.in_meeting.record_play_voice - tag: convert_in_meeting_record_play_voice_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.in_meeting.record_play_voice - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.in_meeting.remote_control - tag: convert_in_meeting_remote_control_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.in_meeting.remote_control - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.in_meeting.remote_support - tag: convert_in_meeting_remote_support_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.in_meeting.remote_support - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.in_meeting.share_dual_camera - tag: convert_in_meeting_share_dual_camera_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.in_meeting.share_dual_camera - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.in_meeting.show_meeting_control_toolbar - tag: convert_in_meeting_show_meeting_control_toolbar_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.in_meeting.show_meeting_control_toolbar - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.in_meeting.virtual_background - tag: convert_in_meeting_virtual_background_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.in_meeting.virtual_background - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.in_meeting.waiting_room - tag: convert_in_meeting_waiting_room_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.in_meeting.waiting_room - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.in_meeting.workplace_by_facebook - tag: convert_in_meeting_workplace_by_facebook_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.in_meeting.workplace_by_facebook - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.internal_is_admin - tag: convert_internal_is_admin_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.internal_is_admin - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.is_active - tag: convert_is_active_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.is_active - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.is_delegated_admin - tag: convert_is_delegated_admin_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.is_delegated_admin - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.is_from_sso_provider - tag: convert_is_from_sso_provider_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.is_from_sso_provider - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.is_latest_last_seen - tag: convert_is_latest_last_seen_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.is_latest_last_seen - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.is_managed_by_application - tag: convert_is_managed_by_application_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.is_managed_by_application - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.is_mfa_enforced - tag: convert_is_mfa_enforced_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.is_mfa_enforced - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.is_mfa_enrolled - tag: convert_is_mfa_enrolled_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.is_mfa_enrolled - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.is_non_editable - tag: convert_is_non_editable_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.is_non_editable - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.is_paid - tag: convert_is_paid_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.is_paid - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.is_permission_adapter - tag: convert_is_permission_adapter_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.is_permission_adapter - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.is_saas_user - tag: convert_is_saas_user_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.is_saas_user - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.is_user_active - tag: convert_is_user_active_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.is_user_active - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.is_user_deleted - tag: convert_is_user_deleted_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.is_user_deleted - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.is_user_external - tag: convert_is_user_external_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.is_user_external - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.is_user_inactive - tag: convert_is_user_inactive_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.is_user_inactive - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.is_user_suspended - tag: convert_is_user_suspended_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.is_user_suspended - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - date: - field: axonius.identity.last_login_attempt - tag: date_last_login_attempt - target_field: axonius.identity.last_login_attempt - formats: - - EEE, dd MMM yyyy HH:mm:ss 'GMT' - - yyyy-MM-dd - - EEE,dd MMM yyyy HH:mm:ss 'GMT' - if: ctx.axonius?.identity?.last_login_attempt != null && ctx.axonius.identity.last_login_attempt != '' - on_failure: - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - date: - field: axonius.identity.last_logon - tag: date_last_logon - target_field: axonius.identity.last_logon - formats: - - EEE, dd MMM yyyy HH:mm:ss 'GMT' - - yyyy-MM-dd - - EEE,dd MMM yyyy HH:mm:ss 'GMT' - if: ctx.axonius?.identity?.last_logon != null && ctx.axonius.identity.last_logon != '' - on_failure: - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - append: - field: related.user - tag: append_identity_last_name_into_related_user - value: '{{{axonius.identity.last_name}}}' - allow_duplicates: false - if: ctx.axonius?.identity?.last_name != null - - date: - field: axonius.identity.last_password_change - tag: date_last_password_change - target_field: axonius.identity.last_password_change - formats: - - EEE, dd MMM yyyy HH:mm:ss 'GMT' - - yyyy-MM-dd - - EEE,dd MMM yyyy HH:mm:ss 'GMT' - if: ctx.axonius?.identity?.last_password_change != null && ctx.axonius.identity.last_password_change != '' - on_failure: - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - date: - field: axonius.identity.last_seen - tag: date_last_seen - target_field: axonius.identity.last_seen - formats: - - EEE, dd MMM yyyy HH:mm:ss 'GMT' - - yyyy-MM-dd - - EEE,dd MMM yyyy HH:mm:ss 'GMT' - if: ctx.axonius?.identity?.last_seen != null && ctx.axonius.identity.last_seen != '' - on_failure: - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - set: - field: user.email - tag: set_user_email_from_identity_mail - copy_from: axonius.identity.mail - ignore_empty_value: true - - dissect: - tag: dissect_user_email - if: ctx.user?.email != null && ctx.user.email.contains('@') - field: user.email - pattern: '%{}@%{user.domain}' - - append: - field: related.user - tag: append_identity_mail_into_related_user - value: '{{{axonius.identity.mail}}}' - allow_duplicates: false - if: ctx.axonius?.identity?.mail != null - - append: - field: related.user - tag: append_identity_manager_id_into_related_user - value: '{{{axonius.identity.manager_id}}}' - allow_duplicates: false - if: ctx.axonius?.identity?.manager_id != null - - date: - field: axonius.identity.max_added_date - tag: date_max_added_date - target_field: axonius.identity.max_added_date - formats: - - EEE, dd MMM yyyy HH:mm:ss 'GMT' - - yyyy-MM-dd - - EEE,dd MMM yyyy HH:mm:ss 'GMT' - if: ctx.axonius?.identity?.max_added_date != null && ctx.axonius.identity.max_added_date != '' - on_failure: - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - date: - field: axonius.identity.max_breach_date - tag: date_max_breach_date - target_field: axonius.identity.max_breach_date - formats: - - EEE, dd MMM yyyy HH:mm:ss 'GMT' - - yyyy-MM-dd - - EEE,dd MMM yyyy HH:mm:ss 'GMT' - if: ctx.axonius?.identity?.max_breach_date != null && ctx.axonius.identity.max_breach_date != '' - on_failure: - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - date: - field: axonius.identity.max_modified_date - tag: date_max_modified_date - target_field: axonius.identity.max_modified_date - formats: - - EEE, dd MMM yyyy HH:mm:ss 'GMT' - - yyyy-MM-dd - - EEE,dd MMM yyyy HH:mm:ss 'GMT' - if: ctx.axonius?.identity?.max_modified_date != null && ctx.axonius.identity.max_modified_date != '' - on_failure: - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - date: - field: axonius.identity.nested_grants_managers_last_updated - tag: date_nested_grants_managers_last_updated - target_field: axonius.identity.nested_grants_managers_last_updated - formats: - - EEE, dd MMM yyyy HH:mm:ss 'GMT' - - yyyy-MM-dd - - EEE,dd MMM yyyy HH:mm:ss 'GMT' - if: ctx.axonius?.identity?.nested_grants_managers_last_updated != null && ctx.axonius.identity.nested_grants_managers_last_updated != '' - on_failure: - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - foreach: field: axonius.identity.nested_managers tag: foreach_nested_managers_value @@ -1186,199 +713,89 @@ processors: type: float ignore_missing: true on_failure: - - remove: - field: _ingest._value.rule_section - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - foreach: - field: axonius.identity.oracle_cloud_cis_incompliant - tag: foreach_oracle_cloud_cis_incompliant_rule_cis_version - if: ctx.axonius?.identity?.oracle_cloud_cis_incompliant instanceof List - processor: - convert: - field: _ingest._value.rule_cis_version - tag: convert_oracle_cloud_cis_incompliant_rule_cis_version_to_float - type: float - ignore_missing: true - on_failure: - - remove: - field: _ingest._value.rule_cis_version - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.password_never_expires - tag: convert_password_never_expires_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.password_never_expires - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.password_not_required - tag: convert_password_not_required_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.password_not_required - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.pmi - tag: convert_pmi_into_keyword - type: string - ignore_missing: true - - convert: - field: axonius.identity.recording.auto_delete_cmr - tag: convert_recording_auto_delete_cmr_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.recording.auto_delete_cmr - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.recording.auto_delete_cmr_days - tag: convert_recording_auto_delete_cmr_days_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.recording.auto_delete_cmr_days - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.recording.auto_recording - tag: convert_recording_auto_recording_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.recording.auto_recording - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.recording.cloud_recording - tag: convert_recording_cloud_recording_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.recording.cloud_recording - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.recording.host_pause_stop_recording - tag: convert_recording_host_pause_stop_recording_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.recording.host_pause_stop_recording - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.recording.local_recording - tag: convert_recording_local_recording_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.recording.local_recording - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.recording.record_audio_file - tag: convert_recording_record_audio_file_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.recording.record_audio_file - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.recording.record_gallery_view - tag: convert_recording_record_gallery_view_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.recording.record_gallery_view - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.recording.record_speaker_view - tag: convert_recording_record_speaker_view_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.recording.record_speaker_view - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - remove: + field: _ingest._value.rule_section + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - foreach: + field: axonius.identity.oracle_cloud_cis_incompliant + tag: foreach_oracle_cloud_cis_incompliant_rule_cis_version + if: ctx.axonius?.identity?.oracle_cloud_cis_incompliant instanceof List + processor: + convert: + field: _ingest._value.rule_cis_version + tag: convert_oracle_cloud_cis_incompliant_rule_cis_version_to_float + type: float + ignore_missing: true + on_failure: + - remove: + field: _ingest._value.rule_cis_version + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - convert: - field: axonius.identity.recording.recording_audio_transcript - tag: convert_recording_recording_audio_transcript_to_boolean + field: axonius.identity.password_never_expires + tag: convert_password_never_expires_to_boolean type: boolean ignore_missing: true on_failure: - remove: - field: axonius.identity.recording.recording_audio_transcript + field: axonius.identity.password_never_expires ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - convert: - field: axonius.identity.recording.save_chat_text - tag: convert_recording_save_chat_text_to_boolean + field: axonius.identity.password_not_required + tag: convert_password_not_required_to_boolean type: boolean ignore_missing: true on_failure: - remove: - field: axonius.identity.recording.save_chat_text + field: axonius.identity.password_not_required ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - convert: - field: axonius.identity.recording.show_timestamp - tag: convert_recording_show_timestamp_to_boolean - type: boolean + field: axonius.identity.pmi + tag: convert_pmi_into_keyword + type: string ignore_missing: true + - script: + tag: script_convert_recording_booleans + lang: painless + description: Converts all recording boolean fields, removing values that cannot be converted. + if: ctx.axonius?.identity?.recording != null + source: |- + def fields = [ + 'auto_delete_cmr', 'auto_delete_cmr_days', 'auto_recording', 'cloud_recording', + 'host_pause_stop_recording', 'local_recording', 'record_audio_file', + 'record_gallery_view', 'record_speaker_view', 'recording_audio_transcript', + 'save_chat_text', 'show_timestamp' + ]; + def obj = ctx.axonius.identity.recording; + for (def f : fields) { + if (!obj.containsKey(f) || obj[f] == null) { + continue; + } + def v = obj[f]; + if (v instanceof Boolean) { + continue; + } + def s = v.toString().toLowerCase(); + if (s == 'true' || s == '1') { + obj[f] = true; + } else if (s == 'false' || s == '0' || s == '') { + obj[f] = false; + } else { + obj.remove(f); + } + } on_failure: - - remove: - field: axonius.identity.recording.show_timestamp - ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' @@ -1394,135 +811,38 @@ processors: - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.schedule_meeting.force_pmi_jbh_password - tag: convert_schedule_meeting_force_pmi_jbh_password_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.schedule_meeting.force_pmi_jbh_password - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.schedule_meeting.host_video - tag: convert_schedule_meeting_host_video_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.schedule_meeting.host_video - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.schedule_meeting.join_before_host - tag: convert_schedule_meeting_join_before_host_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.schedule_meeting.join_before_host - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.schedule_meeting.participants_video - tag: convert_schedule_meeting_participants_video_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.schedule_meeting.participants_video - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.schedule_meeting.pstn_password_protected - tag: convert_schedule_meeting_pstn_password_protected_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.schedule_meeting.pstn_password_protected - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.schedule_meeting.require_password_for_instant_meetings - tag: convert_schedule_meeting_require_password_for_instant_meetings_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.schedule_meeting.require_password_for_instant_meetings - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.schedule_meeting.require_password_for_pmi_meetings - tag: convert_schedule_meeting_require_password_for_pmi_meetings_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.schedule_meeting.require_password_for_pmi_meetings - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.schedule_meeting.require_password_for_scheduled_meetings - tag: convert_schedule_meeting_require_password_for_scheduled_meetings_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.schedule_meeting.require_password_for_scheduled_meetings - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.schedule_meeting.require_password_for_scheduling_new_meetings - tag: convert_schedule_meeting_require_password_for_scheduling_new_meetings_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.schedule_meeting.require_password_for_scheduling_new_meetings - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.schedule_meeting.use_pmi_for_instant_meetings - tag: convert_schedule_meeting_use_pmi_for_instant_meetings_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: axonius.identity.schedule_meeting.use_pmi_for_instant_meetings - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - convert: - field: axonius.identity.schedule_meeting.use_pmi_for_scheduled_meetings - tag: convert_schedule_meeting_use_pmi_for_scheduled_meetings_to_boolean - type: boolean - ignore_missing: true + - script: + tag: script_convert_schedule_meeting_booleans + lang: painless + description: Converts all schedule_meeting boolean fields, removing values that cannot be converted. + if: ctx.axonius?.identity?.schedule_meeting != null + source: |- + def fields = [ + 'force_pmi_jbh_password', 'host_video', 'join_before_host', 'participants_video', + 'pstn_password_protected', 'require_password_for_instant_meetings', + 'require_password_for_pmi_meetings', 'require_password_for_scheduled_meetings', + 'require_password_for_scheduling_new_meetings', 'use_pmi_for_instant_meetings', + 'use_pmi_for_scheduled_meetings' + ]; + def obj = ctx.axonius.identity.schedule_meeting; + for (def f : fields) { + if (!obj.containsKey(f) || obj[f] == null) { + continue; + } + def v = obj[f]; + if (v instanceof Boolean) { + continue; + } + def s = v.toString().toLowerCase(); + if (s == 'true' || s == '1') { + obj[f] = true; + } else if (s == 'false' || s == '0' || s == '') { + obj[f] = false; + } else { + obj.remove(f); + } + } on_failure: - - remove: - field: axonius.identity.schedule_meeting.use_pmi_for_scheduled_meetings - ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' @@ -1542,6 +862,9 @@ processors: - EEE,dd MMM yyyy HH:mm:ss 'GMT' if: ctx.axonius?.identity?.status_changed != null && ctx.axonius.identity.status_changed != '' on_failure: + - remove: + field: axonius.identity.status_changed + ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' @@ -1615,162 +938,46 @@ processors: - EEE,dd MMM yyyy HH:mm:ss 'GMT' if: ctx.axonius?.identity?.updated_on != null && ctx.axonius.identity.updated_on != '' on_failure: + - remove: + field: axonius.identity.updated_on + ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - foreach: - field: axonius.identity.user_apps - tag: foreach_user_apps_active_from_direct_adapter - if: ctx.axonius?.identity?.user_apps instanceof List - processor: - convert: - field: _ingest._value.active_from_direct_adapter - tag: convert_user_apps_active_from_direct_adapter_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: _ingest._value.active_from_direct_adapter - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - foreach: - field: axonius.identity.user_apps - tag: foreach_user_apps_is_from_direct_adapter - if: ctx.axonius?.identity?.user_apps instanceof List - processor: - convert: - field: _ingest._value.is_from_direct_adapter - tag: convert_user_apps_is_from_direct_adapter_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: _ingest._value.is_from_direct_adapter - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - foreach: - field: axonius.identity.user_apps - tag: foreach_user_apps_is_managed - if: ctx.axonius?.identity?.user_apps instanceof List - processor: - convert: - field: _ingest._value.is_managed - tag: convert_user_apps_is_managed_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: _ingest._value.is_managed - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - foreach: - field: axonius.identity.user_apps - tag: foreach_user_apps_is_saas_application - if: ctx.axonius?.identity?.user_apps instanceof List - processor: - convert: - field: _ingest._value.is_saas_application - tag: convert_user_apps_is_saas_application_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: _ingest._value.is_saas_application - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - foreach: - field: axonius.identity.user_apps - tag: foreach_user_apps_is_unmanaged_extension - if: ctx.axonius?.identity?.user_apps instanceof List - processor: - convert: - field: _ingest._value.is_unmanaged_extension - tag: convert_user_apps_is_unmanaged_extension_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: _ingest._value.is_unmanaged_extension - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - foreach: - field: axonius.identity.user_apps - tag: foreach_user_apps_is_user_deleted - if: ctx.axonius?.identity?.user_apps instanceof List - processor: - convert: - field: _ingest._value.is_user_deleted - tag: convert_user_apps_is_user_deleted_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: _ingest._value.is_user_deleted - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - foreach: - field: axonius.identity.user_apps - tag: foreach_user_apps_is_user_external - if: ctx.axonius?.identity?.user_apps instanceof List - processor: - convert: - field: _ingest._value.is_user_external - tag: convert_user_apps_is_user_external_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: _ingest._value.is_user_external - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - foreach: - field: axonius.identity.user_apps - tag: foreach_user_apps_is_user_paid - if: ctx.axonius?.identity?.user_apps instanceof List - processor: - convert: - field: _ingest._value.is_user_paid - tag: convert_user_apps_is_user_paid_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: _ingest._value.is_user_paid - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - - foreach: - field: axonius.identity.user_apps - tag: foreach_user_apps_is_user_suspended + - script: + tag: script_convert_user_apps_booleans + lang: painless + description: Converts all user_apps boolean fields in each array element, removing values that cannot be converted. if: ctx.axonius?.identity?.user_apps instanceof List - processor: - convert: - field: _ingest._value.is_user_suspended - tag: convert_user_apps_is_user_suspended_to_boolean - type: boolean - ignore_missing: true - on_failure: - - remove: - field: _ingest._value.is_user_suspended - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + source: |- + def fields = [ + 'active_from_direct_adapter', 'is_from_direct_adapter', 'is_managed', + 'is_saas_application', 'is_unmanaged_extension', 'is_user_deleted', + 'is_user_external', 'is_user_paid', 'is_user_suspended' + ]; + for (def item : ctx.axonius.identity.user_apps) { + for (def f : fields) { + if (!item.containsKey(f) || item[f] == null) { + continue; + } + def v = item[f]; + if (v instanceof Boolean) { + continue; + } + def s = v.toString().toLowerCase(); + if (s == 'true' || s == '1') { + item[f] = true; + } else if (s == 'false' || s == '0' || s == '') { + item[f] = false; + } else { + item.remove(f); + } + } + } + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - foreach: field: axonius.identity.user_apps tag: foreach_user_apps_last_access @@ -1798,6 +1005,9 @@ processors: - EEE,dd MMM yyyy HH:mm:ss 'GMT' if: ctx.axonius?.identity?.user_created != null && ctx.axonius.identity.user_created != '' on_failure: + - remove: + field: axonius.identity.user_created + ignore_missing: true - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' diff --git a/packages/axonius/data_stream/identity/fields/fields.yml b/packages/axonius/data_stream/identity/fields/fields.yml index c74bf2008f4..c2a4d502720 100644 --- a/packages/axonius/data_stream/identity/fields/fields.yml +++ b/packages/axonius/data_stream/identity/fields/fields.yml @@ -382,9 +382,6 @@ - name: remote_id type: keyword description: Remote identifier of the group. - - name: groups - type: keyword - description: List of group names this identity belongs to. - name: has_administrative_permissions type: boolean description: Indicates whether this identity has administrative permissions. @@ -712,6 +709,12 @@ - name: value type: keyword description: Value or identifier of the parent entity. + - name: permissions + type: group + fields: + - name: name + type: keyword + description: Name of the permission. - name: relation_direct_name type: keyword description: Name of the direct relationship to the application. @@ -733,9 +736,6 @@ - name: vendor_category type: keyword description: Vendor category of the application. - - name: nested_applications - type: keyword - description: Flattened list of nested application names. - name: nested_associated_devices type: keyword description: Flattened list of nested associated device identifiers. @@ -802,9 +802,6 @@ - name: is_admin type: boolean description: Indicates if the identity has admin privileges. - - name: nested_permissions - type: group - fields: - name: assignment_type type: keyword description: How the permission was assigned (e.g., direct, inherited). @@ -844,9 +841,6 @@ - name: value type: keyword description: Value or identifier of the resource. - - name: nested_resources - type: keyword - description: Flattened list of nested resource values. - name: nested_roles type: group fields: @@ -904,6 +898,15 @@ - name: password_not_required type: boolean description: Indicates whether a password is not required for this account. + - name: permissions_list + type: group + fields: + - name: name + type: keyword + description: Name of the permission. + - name: permissions + type: long + description: Total number of permissions assigned to the identity. - name: pmi type: keyword description: Personal Meeting ID (Zoom). @@ -940,6 +943,18 @@ - name: role_name type: keyword description: Name of the role in the project. + - name: roles + type: group + fields: + - name: display_name + type: keyword + description: Display Name of the role. + - name: remote_id + type: keyword + description: Remote ID of the role. + - name: roles_accounts + type: keyword + description: Account roles. - name: provider_name type: keyword description: Name of the identity provider. @@ -1183,6 +1198,12 @@ - name: last_access type: date description: Date and time of the last access to the application. + - name: permissions + type: group + fields: + - name: name + type: keyword + description: Name of the permission. - name: relation_direct_name type: keyword description: Name of the direct relationship to the application. diff --git a/packages/axonius/data_stream/identity/sample_event.json b/packages/axonius/data_stream/identity/sample_event.json index d2fcb5bb97b..49ecc84c6ed 100644 --- a/packages/axonius/data_stream/identity/sample_event.json +++ b/packages/axonius/data_stream/identity/sample_event.json @@ -1,9 +1,9 @@ { "@timestamp": "2025-12-09T12:02:11.000Z", "agent": { - "ephemeral_id": "9109326f-aa8f-4059-a349-eff84327ad03", - "id": "15cd14d0-a0dc-4a18-83a6-7be41048ff2b", - "name": "elastic-agent-92590", + "ephemeral_id": "9f03aa73-e75b-478f-a4b6-03207451caa1", + "id": "2009affa-84ca-46da-9030-1686d937a20d", + "name": "elastic-agent-92850", "type": "filebeat", "version": "8.18.0" }, @@ -124,14 +124,14 @@ }, "data_stream": { "dataset": "axonius.identity", - "namespace": "36505", + "namespace": "42638", "type": "logs" }, "ecs": { "version": "9.2.0" }, "elastic_agent": { - "id": "15cd14d0-a0dc-4a18-83a6-7be41048ff2b", + "id": "2009affa-84ca-46da-9030-1686d937a20d", "snapshot": false, "version": "8.18.0" }, @@ -142,7 +142,7 @@ ], "created": "2024-06-28T08:49:28.000Z", "dataset": "axonius.identity", - "ingested": "2026-04-19T13:23:58Z", + "ingested": "2026-04-21T12:29:16Z", "kind": "event", "type": [ "info" diff --git a/packages/axonius/docs/README.md b/packages/axonius/docs/README.md index c8976781664..766529b2026 100644 --- a/packages/axonius/docs/README.md +++ b/packages/axonius/docs/README.md @@ -163,7 +163,7 @@ Destinations indices are aliased to `logs-axonius_latest.`. **Note:** Assets deleted from Axonius may reappear in a future discovery cycle if they are still present in connected data sources and get re-detected. Because the exact duration for which a deleted asset may remain dormant before being rediscovered is unknown, the transform retention period is set to **90 days** to reduce the risk of data loss for such assets. This means deleted assets will continue to appear in dashboards for up to 90 days after deletion. -The network and identity destination index is a content-based deduplicated view, not an entity-level latest-state view like the other data streams (for example `user` and `gateway`), which rely on a unique entity identifier and reflect the latest state of each entity. +The network and identity destination indices are a content-based deduplicated view, not an entity-level latest-state view like the other data streams (for example `user` and `gateway`), which rely on a unique entity identifier and reflect the latest state of each entity. ## Troubleshooting @@ -2205,7 +2205,6 @@ The `identity` data stream provides identity asset logs from axonius. | axonius.identity.first_seen | The date and time when this identity was first observed. | date | | axonius.identity.from_last_fetch | Indicates whether this identity asset was modified since the last fetch. | boolean | | axonius.identity.gce_account_id | Google Cloud Engine account ID associated with this identity. | keyword | -| axonius.identity.groups | List of group names this identity belongs to. | keyword | | axonius.identity.groups.display_name | Display name of the group. | keyword | | axonius.identity.groups.name | Name of the group. | keyword | | axonius.identity.groups.remote_id | Remote identifier of the group. | keyword | @@ -2293,7 +2292,6 @@ The `identity` data stream provides identity asset logs from axonius. | axonius.identity.max_breach_date | Most recent breach date across all breaches for this identity. | date | | axonius.identity.max_modified_date | Most recent modified date across all breaches for this identity. | date | | axonius.identity.name | The name or identifier of the identity asset. | keyword | -| axonius.identity.nested_applications | Flattened list of nested application names. | keyword | | axonius.identity.nested_applications.active_from_direct_adapter | Indicates if active status is from a direct adapter. | boolean | | axonius.identity.nested_applications.app_accounts.name | Name of the application account. | keyword | | axonius.identity.nested_applications.app_display_name | Display name of the application. | keyword | @@ -2315,6 +2313,7 @@ The `identity` data stream provides identity asset logs from axonius. | axonius.identity.nested_applications.name | Name of the application. | keyword | | axonius.identity.nested_applications.parents.name | Name of the parent entity. | keyword | | axonius.identity.nested_applications.parents.value | Value or identifier of the parent entity. | keyword | +| axonius.identity.nested_applications.permissions.name | Name of the permission. | keyword | | axonius.identity.nested_applications.relation_direct_name | Name of the direct relationship to the application. | keyword | | axonius.identity.nested_applications.relation_discovery_name | Name of the discovered relationship to the application. | keyword | | axonius.identity.nested_applications.relation_extension_name | Name of the extension-based relationship to the application. | keyword | @@ -2344,7 +2343,6 @@ The `identity` data stream provides identity asset logs from axonius. | axonius.identity.nested_permissions.parents.parent_type | Type of the parent entity. | keyword | | axonius.identity.nested_permissions.parents.value | Value or identifier of the parent entity. | keyword | | axonius.identity.nested_permissions.value | Value or identifier of the permission. | keyword | -| axonius.identity.nested_resources | Flattened list of nested resource values. | keyword | | axonius.identity.nested_resources.assignment_type | How the resource was assigned. | keyword | | axonius.identity.nested_resources.name | Name of the resource. | keyword | | axonius.identity.nested_resources.parents.name | Name of the parent entity. | keyword | @@ -2366,6 +2364,8 @@ The `identity` data stream provides identity asset logs from axonius. | axonius.identity.paid_users_saved_query_id | Saved query ID for the paid users metric. | keyword | | axonius.identity.password_never_expires | Indicates whether the password is set to never expire. | boolean | | axonius.identity.password_not_required | Indicates whether a password is not required for this account. | boolean | +| axonius.identity.permissions | Total number of permissions assigned to the identity. | long | +| axonius.identity.permissions_list.name | Name of the permission. | keyword | | axonius.identity.pmi | Personal Meeting ID (Zoom). | keyword | | axonius.identity.pretty_id | A human-readable identifier for the identity asset. | keyword | | axonius.identity.project_ids | Cloud project IDs associated with this identity. | keyword | @@ -2394,6 +2394,9 @@ The `identity` data stream provides identity asset logs from axonius. | axonius.identity.relatable_ids | IDs used to relate this identity to other assets. | keyword | | axonius.identity.remote_account_id | Remote account identifier for this identity. | keyword | | axonius.identity.remote_id | Remote identifier for this identity in the source system. | keyword | +| axonius.identity.roles.display_name | Display Name of the role. | keyword | +| axonius.identity.roles.remote_id | Remote ID of the role. | keyword | +| axonius.identity.roles_accounts | Account roles. | keyword | | axonius.identity.schedule_meeting.audio_type | Audio type configured for scheduled meetings. | keyword | | axonius.identity.schedule_meeting.force_pmi_jbh_password | Indicates if PMI join-before-host password is forced. | boolean | | axonius.identity.schedule_meeting.host_video | Indicates if host video is on when joining a meeting. | boolean | @@ -2451,6 +2454,7 @@ The `identity` data stream provides identity asset logs from axonius. | axonius.identity.user_apps.is_user_paid | Indicates if the user has a paid license in the application. | boolean | | axonius.identity.user_apps.is_user_suspended | Indicates if the user is suspended in the application. | boolean | | axonius.identity.user_apps.last_access | Date and time of the last access to the application. | date | +| axonius.identity.user_apps.permissions.name | Name of the permission. | keyword | | axonius.identity.user_apps.relation_direct_name | Name of the direct relationship to the application. | keyword | | axonius.identity.user_apps.relation_discovery_name | Name of the discovered relationship to the application. | keyword | | axonius.identity.user_apps.relation_extension_name | Name of the extension-based relationship to the application. | keyword | @@ -2515,9 +2519,9 @@ An example event for `identity` looks as following: { "@timestamp": "2025-12-09T12:02:11.000Z", "agent": { - "ephemeral_id": "9109326f-aa8f-4059-a349-eff84327ad03", - "id": "15cd14d0-a0dc-4a18-83a6-7be41048ff2b", - "name": "elastic-agent-92590", + "ephemeral_id": "9f03aa73-e75b-478f-a4b6-03207451caa1", + "id": "2009affa-84ca-46da-9030-1686d937a20d", + "name": "elastic-agent-92850", "type": "filebeat", "version": "8.18.0" }, @@ -2638,14 +2642,14 @@ An example event for `identity` looks as following: }, "data_stream": { "dataset": "axonius.identity", - "namespace": "36505", + "namespace": "42638", "type": "logs" }, "ecs": { "version": "9.2.0" }, "elastic_agent": { - "id": "15cd14d0-a0dc-4a18-83a6-7be41048ff2b", + "id": "2009affa-84ca-46da-9030-1686d937a20d", "snapshot": false, "version": "8.18.0" }, @@ -2656,7 +2660,7 @@ An example event for `identity` looks as following: ], "created": "2024-06-28T08:49:28.000Z", "dataset": "axonius.identity", - "ingested": "2026-04-19T13:23:58Z", + "ingested": "2026-04-21T12:29:16Z", "kind": "event", "type": [ "info" diff --git a/packages/axonius/elasticsearch/transform/latest_identity/fields/fields.yml b/packages/axonius/elasticsearch/transform/latest_identity/fields/fields.yml index c74bf2008f4..c2a4d502720 100644 --- a/packages/axonius/elasticsearch/transform/latest_identity/fields/fields.yml +++ b/packages/axonius/elasticsearch/transform/latest_identity/fields/fields.yml @@ -382,9 +382,6 @@ - name: remote_id type: keyword description: Remote identifier of the group. - - name: groups - type: keyword - description: List of group names this identity belongs to. - name: has_administrative_permissions type: boolean description: Indicates whether this identity has administrative permissions. @@ -712,6 +709,12 @@ - name: value type: keyword description: Value or identifier of the parent entity. + - name: permissions + type: group + fields: + - name: name + type: keyword + description: Name of the permission. - name: relation_direct_name type: keyword description: Name of the direct relationship to the application. @@ -733,9 +736,6 @@ - name: vendor_category type: keyword description: Vendor category of the application. - - name: nested_applications - type: keyword - description: Flattened list of nested application names. - name: nested_associated_devices type: keyword description: Flattened list of nested associated device identifiers. @@ -802,9 +802,6 @@ - name: is_admin type: boolean description: Indicates if the identity has admin privileges. - - name: nested_permissions - type: group - fields: - name: assignment_type type: keyword description: How the permission was assigned (e.g., direct, inherited). @@ -844,9 +841,6 @@ - name: value type: keyword description: Value or identifier of the resource. - - name: nested_resources - type: keyword - description: Flattened list of nested resource values. - name: nested_roles type: group fields: @@ -904,6 +898,15 @@ - name: password_not_required type: boolean description: Indicates whether a password is not required for this account. + - name: permissions_list + type: group + fields: + - name: name + type: keyword + description: Name of the permission. + - name: permissions + type: long + description: Total number of permissions assigned to the identity. - name: pmi type: keyword description: Personal Meeting ID (Zoom). @@ -940,6 +943,18 @@ - name: role_name type: keyword description: Name of the role in the project. + - name: roles + type: group + fields: + - name: display_name + type: keyword + description: Display Name of the role. + - name: remote_id + type: keyword + description: Remote ID of the role. + - name: roles_accounts + type: keyword + description: Account roles. - name: provider_name type: keyword description: Name of the identity provider. @@ -1183,6 +1198,12 @@ - name: last_access type: date description: Date and time of the last access to the application. + - name: permissions + type: group + fields: + - name: name + type: keyword + description: Name of the permission. - name: relation_direct_name type: keyword description: Name of the direct relationship to the application. diff --git a/packages/axonius/kibana/dashboard/axonius-60472232-ca7b-45e6-9fa6-72e6efc41a8e.json b/packages/axonius/kibana/dashboard/axonius-60472232-ca7b-45e6-9fa6-72e6efc41a8e.json index 39c515bc456..6339297c8ab 100644 --- a/packages/axonius/kibana/dashboard/axonius-60472232-ca7b-45e6-9fa6-72e6efc41a8e.json +++ b/packages/axonius/kibana/dashboard/axonius-60472232-ca7b-45e6-9fa6-72e6efc41a8e.json @@ -75,6 +75,46 @@ "useMargins": true }, "panelsJSON": [ + { + "embeddableConfig": { + "enhancements": { + "dynamicActions": { + "events": [] + } + }, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "**Overview**\n\nThis dashboard provides a comprehensive view of Identity Assets collected from Axonius.\n\nIt provides clear visibility into the identity landscape, highlighting counts of active, inactive, suspended, and external users to help teams quickly assess overall account posture. Breakdowns by user status, type, and department reveal how identities are distributed across the organization and make it easier to spot unusual patterns or high-risk groups.\n\nTables showing top email addresses and cloud providers add further context, helping analysts identify heavily used accounts and understand where identities originate. These insights enable teams to monitor user activity, detect anomalies, and maintain strong identity hygiene across the environment.\n\n**Note:** Assets deleted from Axonius may reappear in a future discovery cycle if they are still present in connected data sources and get re-detected. Because the exact duration for which a deleted asset may remain dormant before being rediscovered is unknown, the transform retention period is set to **90 days** to reduce the risk of data loss for such assets. This means deleted assets will continue to appear in dashboards for up to 90 days after deletion.\n\n**[Integration Page](/app/integrations/detail/axonius)**\n\n", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + } + }, + "gridData": { + "h": 34, + "i": "81193bb4-dd3c-480a-be42-294bdc0ea866", + "w": 12, + "x": 0, + "y": 0 + }, + "panelIndex": "81193bb4-dd3c-480a-be42-294bdc0ea866", + "type": "visualization" + }, { "embeddableConfig": { "attributes": { @@ -83,13 +123,17 @@ "id": "logs-*", "name": "indexpattern-datasource-layer-92ddbbb3-5b76-406f-94fa-5d6403f357c9", "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "2ee7aed8-ca20-47ad-b404-5795f39d9ffa", + "type": "index-pattern" } ], "state": { "adHocDataViews": {}, "datasourceStates": { "formBased": { - "currentIndexPatternId": "logs-*", "layers": { "92ddbbb3-5b76-406f-94fa-5d6403f357c9": { "columnOrder": [ @@ -101,10 +145,10 @@ "dataType": "number", "filter": { "language": "kuery", - "query": "axonius.identity.is_user_inactive : true " + "query": "axonius.identity.is_user_suspended : true " }, "isBucketed": false, - "label": "Inactive Users", + "label": "Suspended Users", "operationType": "count", "params": { "emptyAsNull": false @@ -115,27 +159,71 @@ }, "ignoreGlobalFilters": false, "incompleteColumns": {}, - "indexPatternId": "logs-*", "sampling": 1 } } }, "indexpattern": { - "currentIndexPatternId": "logs-*", "layers": {} }, "textBased": { - "indexPatternRefs": [ - { - "id": "logs-*", - "timeField": "@timestamp", - "title": "logs-*" - } - ], "layers": {} } }, - "filters": [], + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "2ee7aed8-ca20-47ad-b404-5795f39d9ffa", + "negate": false, + "params": [ + { + "meta": { + "disabled": false, + "field": "data_stream.dataset", + "index": "logs-*", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "axonius.identity" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "axonius.identity" + } + } + }, + { + "meta": { + "disabled": false, + "field": "labels.is_transform_source", + "index": "logs-*", + "key": "labels.is_transform_source", + "negate": false, + "params": { + "query": "false" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "labels.is_transform_source": "false" + } + } + } + ], + "relation": "AND", + "type": "combined" + }, + "query": {} + } + ], "internalReferences": [], "query": { "language": "kuery", @@ -157,66 +245,79 @@ "events": [] } }, - "filters": [], + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "logs-*", + "negate": false, + "params": [ + { + "meta": { + "disabled": false, + "field": "data_stream.dataset", + "index": "logs-*", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "axonius.identity" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "axonius.identity" + } + } + }, + { + "meta": { + "disabled": false, + "field": "labels.is_transform_source", + "index": "logs-*", + "key": "labels.is_transform_source", + "negate": false, + "params": { + "query": "false" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "labels.is_transform_source": "false" + } + } + } + ], + "relation": "AND", + "type": "combined" + }, + "query": {} + } + ], "query": { "language": "kuery", "query": "" }, "syncColors": false, "syncCursor": true, - "syncTooltips": false, - "title": "" + "syncTooltips": false }, "gridData": { - "h": 11, - "i": "6ad81d2b-ed86-4f33-8b69-f53709f63008", + "h": 8, + "i": "26f08be7-2fb8-467a-a083-b1ad005319aa", "w": 9, - "x": 20, + "x": 39, "y": 0 }, - "panelIndex": "6ad81d2b-ed86-4f33-8b69-f53709f63008", + "panelIndex": "26f08be7-2fb8-467a-a083-b1ad005319aa", + "title": "", "type": "lens" }, - { - "embeddableConfig": { - "enhancements": { - "dynamicActions": { - "events": [] - } - }, - "savedVis": { - "data": { - "aggs": [], - "searchSource": { - "filter": [], - "query": { - "language": "kuery", - "query": "" - } - } - }, - "description": "", - "id": "", - "params": { - "fontSize": 12, - "markdown": "**Overview**\n\nThis dashboard provides a comprehensive view of Identity Assets collected from Axonius.\n\nIt provides clear visibility into the identity landscape, highlighting counts of active, inactive, suspended, and external users to help teams quickly assess overall account posture. Breakdowns by user status, type, and department reveal how identities are distributed across the organization and make it easier to spot unusual patterns or high-risk groups.\n\nTables showing top email addresses and cloud providers add further context, helping analysts identify heavily used accounts and understand where identities originate. These insights enable teams to monitor user activity, detect anomalies, and maintain strong identity hygiene across the environment.\n\n**Note:** Assets deleted from Axonius may reappear in a future discovery cycle if they are still present in connected data sources and get re-detected. Because the exact duration for which a deleted asset may remain dormant before being rediscovered is unknown, the transform retention period is set to **90 days** to reduce the risk of data loss for such assets. This means deleted assets will continue to appear in dashboards for up to 90 days after deletion.\n\n**[Integration Page](/app/integrations/detail/axonius)**\n\n", - "openLinksInNewTab": false - }, - "title": "", - "type": "markdown", - "uiState": {} - } - }, - "gridData": { - "h": 24, - "i": "81193bb4-dd3c-480a-be42-294bdc0ea866", - "w": 11, - "x": 0, - "y": 0 - }, - "panelIndex": "81193bb4-dd3c-480a-be42-294bdc0ea866", - "type": "visualization" - }, { "embeddableConfig": { "attributes": { @@ -225,13 +326,17 @@ "id": "logs-*", "name": "indexpattern-datasource-layer-92ddbbb3-5b76-406f-94fa-5d6403f357c9", "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "39f9a1ea-9b71-4e3d-bde8-6c4f01c6ee6b", + "type": "index-pattern" } ], "state": { "adHocDataViews": {}, "datasourceStates": { "formBased": { - "currentIndexPatternId": "logs-*", "layers": { "92ddbbb3-5b76-406f-94fa-5d6403f357c9": { "columnOrder": [ @@ -257,27 +362,71 @@ }, "ignoreGlobalFilters": false, "incompleteColumns": {}, - "indexPatternId": "logs-*", "sampling": 1 } } }, "indexpattern": { - "currentIndexPatternId": "logs-*", "layers": {} }, "textBased": { - "indexPatternRefs": [ - { - "id": "logs-*", - "timeField": "@timestamp", - "title": "logs-*" - } - ], "layers": {} } }, - "filters": [], + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "39f9a1ea-9b71-4e3d-bde8-6c4f01c6ee6b", + "negate": false, + "params": [ + { + "meta": { + "disabled": false, + "field": "data_stream.dataset", + "index": "logs-*", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "axonius.identity" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "axonius.identity" + } + } + }, + { + "meta": { + "disabled": false, + "field": "labels.is_transform_source", + "index": "logs-*", + "key": "labels.is_transform_source", + "negate": false, + "params": { + "query": "false" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "labels.is_transform_source": "false" + } + } + } + ], + "relation": "AND", + "type": "combined" + }, + "query": {} + } + ], "internalReferences": [], "query": { "language": "kuery", @@ -299,24 +448,77 @@ "events": [] } }, - "filters": [], + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "logs-*", + "negate": false, + "params": [ + { + "meta": { + "disabled": false, + "field": "data_stream.dataset", + "index": "logs-*", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "axonius.identity" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "axonius.identity" + } + } + }, + { + "meta": { + "disabled": false, + "field": "labels.is_transform_source", + "index": "logs-*", + "key": "labels.is_transform_source", + "negate": false, + "params": { + "query": "false" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "labels.is_transform_source": "false" + } + } + } + ], + "relation": "AND", + "type": "combined" + }, + "query": {} + } + ], "query": { "language": "kuery", "query": "" }, "syncColors": false, "syncCursor": true, - "syncTooltips": false, - "title": "" + "syncTooltips": false }, "gridData": { - "h": 11, + "h": 8, "i": "3e391701-e157-420b-951a-d7100ae6a606", "w": 9, - "x": 29, + "x": 30, "y": 0 }, "panelIndex": "3e391701-e157-420b-951a-d7100ae6a606", + "title": "", "type": "lens" }, { @@ -327,13 +529,17 @@ "id": "logs-*", "name": "indexpattern-datasource-layer-92ddbbb3-5b76-406f-94fa-5d6403f357c9", "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "d9ff7f56-a595-45c7-85ee-0eb26c6c8ed3", + "type": "index-pattern" } ], "state": { "adHocDataViews": {}, "datasourceStates": { "formBased": { - "currentIndexPatternId": "logs-*", "layers": { "92ddbbb3-5b76-406f-94fa-5d6403f357c9": { "columnOrder": [ @@ -345,10 +551,10 @@ "dataType": "number", "filter": { "language": "kuery", - "query": "axonius.identity.is_user_suspended : true " + "query": "axonius.identity.is_user_inactive : true " }, "isBucketed": false, - "label": "Suspended Users", + "label": "Inactive Users", "operationType": "count", "params": { "emptyAsNull": false @@ -359,27 +565,71 @@ }, "ignoreGlobalFilters": false, "incompleteColumns": {}, - "indexPatternId": "logs-*", "sampling": 1 } } }, "indexpattern": { - "currentIndexPatternId": "logs-*", "layers": {} }, "textBased": { - "indexPatternRefs": [ - { - "id": "logs-*", - "timeField": "@timestamp", - "title": "logs-*" - } - ], "layers": {} } }, - "filters": [], + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "d9ff7f56-a595-45c7-85ee-0eb26c6c8ed3", + "negate": false, + "params": [ + { + "meta": { + "disabled": false, + "field": "data_stream.dataset", + "index": "logs-*", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "axonius.identity" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "axonius.identity" + } + } + }, + { + "meta": { + "disabled": false, + "field": "labels.is_transform_source", + "index": "logs-*", + "key": "labels.is_transform_source", + "negate": false, + "params": { + "query": "false" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "labels.is_transform_source": "false" + } + } + } + ], + "relation": "AND", + "type": "combined" + }, + "query": {} + } + ], "internalReferences": [], "query": { "language": "kuery", @@ -401,24 +651,77 @@ "events": [] } }, - "filters": [], + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "logs-*", + "negate": false, + "params": [ + { + "meta": { + "disabled": false, + "field": "data_stream.dataset", + "index": "logs-*", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "axonius.identity" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "axonius.identity" + } + } + }, + { + "meta": { + "disabled": false, + "field": "labels.is_transform_source", + "index": "logs-*", + "key": "labels.is_transform_source", + "negate": false, + "params": { + "query": "false" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "labels.is_transform_source": "false" + } + } + } + ], + "relation": "AND", + "type": "combined" + }, + "query": {} + } + ], "query": { "language": "kuery", "query": "" }, "syncColors": false, "syncCursor": true, - "syncTooltips": false, - "title": "" + "syncTooltips": false }, "gridData": { - "h": 11, - "i": "26f08be7-2fb8-467a-a083-b1ad005319aa", - "w": 10, - "x": 38, + "h": 8, + "i": "6ad81d2b-ed86-4f33-8b69-f53709f63008", + "w": 9, + "x": 21, "y": 0 }, - "panelIndex": "26f08be7-2fb8-467a-a083-b1ad005319aa", + "panelIndex": "6ad81d2b-ed86-4f33-8b69-f53709f63008", + "title": "", "type": "lens" }, { @@ -429,6 +732,11 @@ "id": "logs-*", "name": "indexpattern-datasource-layer-92ddbbb3-5b76-406f-94fa-5d6403f357c9", "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "3e95f6ea-740a-4d7f-9d54-5ba9aa5919c3", + "type": "index-pattern" } ], "state": { @@ -471,7 +779,60 @@ "layers": {} } }, - "filters": [], + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "3e95f6ea-740a-4d7f-9d54-5ba9aa5919c3", + "negate": false, + "params": [ + { + "meta": { + "disabled": false, + "field": "data_stream.dataset", + "index": "logs-*", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "axonius.identity" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "axonius.identity" + } + } + }, + { + "meta": { + "disabled": false, + "field": "labels.is_transform_source", + "index": "logs-*", + "key": "labels.is_transform_source", + "negate": false, + "params": { + "query": "false" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "labels.is_transform_source": "false" + } + } + } + ], + "relation": "AND", + "type": "combined" + }, + "query": {} + } + ], "internalReferences": [], "query": { "language": "kuery", @@ -493,7 +854,60 @@ "events": [] } }, - "filters": [], + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "logs-*", + "negate": false, + "params": [ + { + "meta": { + "disabled": false, + "field": "data_stream.dataset", + "index": "logs-*", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "axonius.identity" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "axonius.identity" + } + } + }, + { + "meta": { + "disabled": false, + "field": "labels.is_transform_source", + "index": "logs-*", + "key": "labels.is_transform_source", + "negate": false, + "params": { + "query": "false" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "labels.is_transform_source": "false" + } + } + } + ], + "relation": "AND", + "type": "combined" + }, + "query": {} + } + ], "query": { "language": "kuery", "query": "" @@ -503,10 +917,10 @@ "syncTooltips": false }, "gridData": { - "h": 11, + "h": 8, "i": "e6ecc072-ac29-41db-9114-13dae61a9b12", "w": 9, - "x": 11, + "x": 12, "y": 0 }, "panelIndex": "e6ecc072-ac29-41db-9114-13dae61a9b12", @@ -520,17 +934,21 @@ "id": "logs-*", "name": "indexpattern-datasource-layer-de0785d4-371f-4a45-ac37-2186b2edcf67", "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "813ed89d-a9c0-4aa9-b7cc-5b18e16754dd", + "type": "index-pattern" } ], "state": { "adHocDataViews": {}, "datasourceStates": { "formBased": { - "currentIndexPatternId": "logs-*", "layers": { "de0785d4-371f-4a45-ac37-2186b2edcf67": { "columnOrder": [ - "54671554-f13e-4033-ae23-a5a3b3611f70", + "74985650-cdb9-4a10-ba7a-b894a621146b", "023570e2-b88f-44fc-a677-c18fede19957" ], "columns": { @@ -550,11 +968,11 @@ "scale": "ratio", "sourceField": "___records___" }, - "54671554-f13e-4033-ae23-a5a3b3611f70": { + "74985650-cdb9-4a10-ba7a-b894a621146b": { "customLabel": true, "dataType": "string", "isBucketed": true, - "label": "User Department", + "label": "User Status", "operationType": "terms", "params": { "exclude": [], @@ -571,49 +989,88 @@ "parentFormat": { "id": "terms" }, - "secondaryFields": [], - "size": 10 + "size": 5 }, "scale": "ordinal", - "sourceField": "axonius.identity.user_department" + "sourceField": "axonius.identity.user_status" } }, "ignoreGlobalFilters": false, "incompleteColumns": {}, - "indexPatternId": "logs-*", "sampling": 1 } } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} } }, - "filters": [], + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "813ed89d-a9c0-4aa9-b7cc-5b18e16754dd", + "negate": false, + "params": [ + { + "meta": { + "disabled": false, + "field": "data_stream.dataset", + "index": "logs-*", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "axonius.identity" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "axonius.identity" + } + } + }, + { + "meta": { + "disabled": false, + "field": "labels.is_transform_source", + "index": "logs-*", + "key": "labels.is_transform_source", + "negate": false, + "params": { + "query": "false" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "labels.is_transform_source": "false" + } + } + } + ], + "relation": "AND", + "type": "combined" + }, + "query": {} + } + ], "internalReferences": [], "query": { "language": "kuery", "query": "" }, "visualization": { - "axisTitlesVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true - }, - "fittingFunction": "Linear", - "gridlinesVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true - }, - "labelsOrientation": { - "x": 0, - "yLeft": 0, - "yRight": 0 - }, "layers": [ { - "accessors": [ - "023570e2-b88f-44fc-a677-c18fede19957" - ], + "categoryDisplay": "default", "colorMapping": { "assignments": [], "colorMode": { @@ -634,51 +1091,101 @@ }, "layerId": "de0785d4-371f-4a45-ac37-2186b2edcf67", "layerType": "data", - "seriesType": "bar_horizontal", - "xAccessor": "54671554-f13e-4033-ae23-a5a3b3611f70" + "legendDisplay": "show", + "metrics": [ + "023570e2-b88f-44fc-a677-c18fede19957" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "74985650-cdb9-4a10-ba7a-b894a621146b" + ], + "truncateLegend": false } ], - "legend": { - "isVisible": true, - "position": "right", - "shouldTruncate": false - }, - "preferredSeriesType": "bar_percentage_stacked", - "tickLabelsVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true - }, - "valueLabels": "hide" + "shape": "pie" } }, "title": "", "type": "lens", - "visualizationType": "lnsXY" + "visualizationType": "lnsPie" }, "enhancements": { "dynamicActions": { "events": [] } }, - "filters": [], + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "logs-*", + "negate": false, + "params": [ + { + "meta": { + "disabled": false, + "field": "data_stream.dataset", + "index": "logs-*", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "axonius.identity" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "axonius.identity" + } + } + }, + { + "meta": { + "disabled": false, + "field": "labels.is_transform_source", + "index": "logs-*", + "key": "labels.is_transform_source", + "negate": false, + "params": { + "query": "false" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "labels.is_transform_source": "false" + } + } + } + ], + "relation": "AND", + "type": "combined" + }, + "query": {} + } + ], "query": { "language": "kuery", "query": "" }, "syncColors": false, "syncCursor": true, - "syncTooltips": false, - "title": "Users by Department" + "syncTooltips": false }, "gridData": { "h": 13, - "i": "6951a3ed-dc02-4bfa-afa9-39c2832d7f1b", - "w": 19, - "x": 29, - "y": 11 + "i": "091d0600-2142-4fed-99b2-cf8b3fd41f4f", + "w": 12, + "x": 12, + "y": 8 }, - "panelIndex": "6951a3ed-dc02-4bfa-afa9-39c2832d7f1b", + "panelIndex": "091d0600-2142-4fed-99b2-cf8b3fd41f4f", + "title": "Users by Status", "type": "lens" }, { @@ -689,13 +1196,17 @@ "id": "logs-*", "name": "indexpattern-datasource-layer-de0785d4-371f-4a45-ac37-2186b2edcf67", "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "ea142db6-7dc7-40fb-9dc5-9645e6541f82", + "type": "index-pattern" } ], "state": { "adHocDataViews": {}, "datasourceStates": { "formBased": { - "currentIndexPatternId": "logs-*", "layers": { "de0785d4-371f-4a45-ac37-2186b2edcf67": { "columnOrder": [ @@ -723,7 +1234,7 @@ "customLabel": true, "dataType": "string", "isBucketed": true, - "label": "User Type", + "label": "User Department", "operationType": "terms", "params": { "exclude": [], @@ -744,18 +1255,70 @@ "size": 10 }, "scale": "ordinal", - "sourceField": "axonius.identity.user_type" + "sourceField": "axonius.identity.user_department" } }, "ignoreGlobalFilters": false, "incompleteColumns": {}, - "indexPatternId": "logs-*", "sampling": 1 } } } - }, - "filters": [], + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "ea142db6-7dc7-40fb-9dc5-9645e6541f82", + "negate": false, + "params": [ + { + "meta": { + "disabled": false, + "field": "data_stream.dataset", + "index": "logs-*", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "axonius.identity" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "axonius.identity" + } + } + }, + { + "meta": { + "disabled": false, + "field": "labels.is_transform_source", + "index": "logs-*", + "key": "labels.is_transform_source", + "negate": false, + "params": { + "query": "false" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "labels.is_transform_source": "false" + } + } + } + ], + "relation": "AND", + "type": "combined" + }, + "query": {} + } + ], "internalReferences": [], "query": { "language": "kuery", @@ -830,24 +1393,77 @@ "events": [] } }, - "filters": [], + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "logs-*", + "negate": false, + "params": [ + { + "meta": { + "disabled": false, + "field": "data_stream.dataset", + "index": "logs-*", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "axonius.identity" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "axonius.identity" + } + } + }, + { + "meta": { + "disabled": false, + "field": "labels.is_transform_source", + "index": "logs-*", + "key": "labels.is_transform_source", + "negate": false, + "params": { + "query": "false" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "labels.is_transform_source": "false" + } + } + } + ], + "relation": "AND", + "type": "combined" + }, + "query": {} + } + ], "query": { "language": "kuery", "query": "" }, "syncColors": false, "syncCursor": true, - "syncTooltips": false, - "title": "Users by Type" + "syncTooltips": false }, "gridData": { "h": 13, - "i": "c1ee3a0e-4c34-482f-b05f-4e7688cade1e", - "w": 18, - "x": 11, - "y": 11 + "i": "6951a3ed-dc02-4bfa-afa9-39c2832d7f1b", + "w": 24, + "x": 24, + "y": 8 }, - "panelIndex": "c1ee3a0e-4c34-482f-b05f-4e7688cade1e", + "panelIndex": "6951a3ed-dc02-4bfa-afa9-39c2832d7f1b", + "title": "Users by Department", "type": "lens" }, { @@ -858,6 +1474,11 @@ "id": "logs-*", "name": "indexpattern-datasource-layer-de0785d4-371f-4a45-ac37-2186b2edcf67", "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "9578e7d9-00be-46e4-918c-d9c1fa412741", + "type": "index-pattern" } ], "state": { @@ -867,7 +1488,7 @@ "layers": { "de0785d4-371f-4a45-ac37-2186b2edcf67": { "columnOrder": [ - "74985650-cdb9-4a10-ba7a-b894a621146b", + "54671554-f13e-4033-ae23-a5a3b3611f70", "023570e2-b88f-44fc-a677-c18fede19957" ], "columns": { @@ -887,11 +1508,11 @@ "scale": "ratio", "sourceField": "___records___" }, - "74985650-cdb9-4a10-ba7a-b894a621146b": { + "54671554-f13e-4033-ae23-a5a3b3611f70": { "customLabel": true, "dataType": "string", "isBucketed": true, - "label": "User Status", + "label": "User Type", "operationType": "terms", "params": { "exclude": [], @@ -908,10 +1529,11 @@ "parentFormat": { "id": "terms" }, - "size": 5 + "secondaryFields": [], + "size": 10 }, "scale": "ordinal", - "sourceField": "axonius.identity.user_status" + "sourceField": "axonius.identity.user_type" } }, "ignoreGlobalFilters": false, @@ -919,24 +1541,89 @@ "sampling": 1 } } - }, - "indexpattern": { - "layers": {} - }, - "textBased": { - "layers": {} } }, - "filters": [], + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "9578e7d9-00be-46e4-918c-d9c1fa412741", + "negate": false, + "params": [ + { + "meta": { + "disabled": false, + "field": "data_stream.dataset", + "index": "logs-*", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "axonius.identity" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "axonius.identity" + } + } + }, + { + "meta": { + "disabled": false, + "field": "labels.is_transform_source", + "index": "logs-*", + "key": "labels.is_transform_source", + "negate": false, + "params": { + "query": "false" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "labels.is_transform_source": "false" + } + } + } + ], + "relation": "AND", + "type": "combined" + }, + "query": {} + } + ], "internalReferences": [], "query": { "language": "kuery", "query": "" }, "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "Linear", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, "layers": [ { - "categoryDisplay": "default", + "accessors": [ + "023570e2-b88f-44fc-a677-c18fede19957" + ], "colorMapping": { "assignments": [], "colorMode": { @@ -957,48 +1644,104 @@ }, "layerId": "de0785d4-371f-4a45-ac37-2186b2edcf67", "layerType": "data", - "legendDisplay": "show", - "metrics": [ - "023570e2-b88f-44fc-a677-c18fede19957" - ], - "nestedLegend": false, - "numberDisplay": "percent", - "primaryGroups": [ - "74985650-cdb9-4a10-ba7a-b894a621146b" - ], - "truncateLegend": false + "seriesType": "bar_horizontal", + "xAccessor": "54671554-f13e-4033-ae23-a5a3b3611f70" } ], - "shape": "pie" + "legend": { + "isVisible": true, + "position": "right", + "shouldTruncate": false + }, + "preferredSeriesType": "bar_percentage_stacked", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" } }, "title": "", "type": "lens", - "visualizationType": "lnsPie" + "visualizationType": "lnsXY" }, "enhancements": { "dynamicActions": { "events": [] } }, - "filters": [], + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "logs-*", + "negate": false, + "params": [ + { + "meta": { + "disabled": false, + "field": "data_stream.dataset", + "index": "logs-*", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "axonius.identity" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "axonius.identity" + } + } + }, + { + "meta": { + "disabled": false, + "field": "labels.is_transform_source", + "index": "logs-*", + "key": "labels.is_transform_source", + "negate": false, + "params": { + "query": "false" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "labels.is_transform_source": "false" + } + } + } + ], + "relation": "AND", + "type": "combined" + }, + "query": {} + } + ], "query": { "language": "kuery", "query": "" }, "syncColors": false, "syncCursor": true, - "syncTooltips": false, - "title": "Users by Status" + "syncTooltips": false }, "gridData": { - "h": 17, - "i": "091d0600-2142-4fed-99b2-cf8b3fd41f4f", - "w": 11, - "x": 0, - "y": 24 + "h": 13, + "i": "c1ee3a0e-4c34-482f-b05f-4e7688cade1e", + "w": 36, + "x": 12, + "y": 21 }, - "panelIndex": "091d0600-2142-4fed-99b2-cf8b3fd41f4f", + "panelIndex": "c1ee3a0e-4c34-482f-b05f-4e7688cade1e", + "title": "Users by Type", "type": "lens" }, { @@ -1009,13 +1752,17 @@ "id": "logs-*", "name": "indexpattern-datasource-layer-d8a5a798-7079-4ee6-ac52-6fa6465a663f", "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "0d3b0169-f18d-4606-8433-4a3cb429d180", + "type": "index-pattern" } ], "state": { "adHocDataViews": {}, "datasourceStates": { "formBased": { - "currentIndexPatternId": "logs-*", "layers": { "d8a5a798-7079-4ee6-ac52-6fa6465a663f": { "columnOrder": [ @@ -1027,7 +1774,7 @@ "customLabel": true, "dataType": "string", "isBucketed": true, - "label": "Cloud Provider", + "label": "User email", "operationType": "terms", "params": { "exclude": [], @@ -1044,11 +1791,10 @@ "parentFormat": { "id": "terms" }, - "secondaryFields": [], "size": 10 }, "scale": "ordinal", - "sourceField": "cloud.provider" + "sourceField": "user.email" }, "8e4741cc-61b9-4853-822c-faacd3e44b9a": { "customLabel": true, @@ -1065,27 +1811,71 @@ }, "ignoreGlobalFilters": false, "incompleteColumns": {}, - "indexPatternId": "logs-*", "sampling": 1 } } }, "indexpattern": { - "currentIndexPatternId": "logs-*", "layers": {} }, "textBased": { - "indexPatternRefs": [ - { - "id": "logs-*", - "timeField": "@timestamp", - "title": "logs-*" - } - ], "layers": {} } }, - "filters": [], + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "0d3b0169-f18d-4606-8433-4a3cb429d180", + "negate": false, + "params": [ + { + "meta": { + "disabled": false, + "field": "data_stream.dataset", + "index": "logs-*", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "axonius.identity" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "axonius.identity" + } + } + }, + { + "meta": { + "disabled": false, + "field": "labels.is_transform_source", + "index": "logs-*", + "key": "labels.is_transform_source", + "negate": false, + "params": { + "query": "false" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "labels.is_transform_source": "false" + } + } + } + ], + "relation": "AND", + "type": "combined" + }, + "query": {} + } + ], "internalReferences": [], "query": { "language": "kuery", @@ -1117,24 +1907,77 @@ "events": [] } }, - "filters": [], + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "logs-*", + "negate": false, + "params": [ + { + "meta": { + "disabled": false, + "field": "data_stream.dataset", + "index": "logs-*", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "axonius.identity" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "axonius.identity" + } + } + }, + { + "meta": { + "disabled": false, + "field": "labels.is_transform_source", + "index": "logs-*", + "key": "labels.is_transform_source", + "negate": false, + "params": { + "query": "false" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "labels.is_transform_source": "false" + } + } + } + ], + "relation": "AND", + "type": "combined" + }, + "query": {} + } + ], "query": { "language": "kuery", "query": "" }, "syncColors": false, "syncCursor": true, - "syncTooltips": false, - "title": "Top Cloud Providers" + "syncTooltips": false }, "gridData": { "h": 17, - "i": "c6710940-9337-4981-9769-1fc79e4ece1a", - "w": 19, - "x": 29, - "y": 24 + "i": "66ca2230-6ac6-4f1d-a8d0-7e00a907e562", + "w": 23, + "x": 0, + "y": 34 }, - "panelIndex": "c6710940-9337-4981-9769-1fc79e4ece1a", + "panelIndex": "66ca2230-6ac6-4f1d-a8d0-7e00a907e562", + "title": "Top Email Addresses", "type": "lens" }, { @@ -1145,6 +1988,11 @@ "id": "logs-*", "name": "indexpattern-datasource-layer-d8a5a798-7079-4ee6-ac52-6fa6465a663f", "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "009cf6e6-9a5a-4eb6-a90a-842d200df069", + "type": "index-pattern" } ], "state": { @@ -1162,7 +2010,7 @@ "customLabel": true, "dataType": "string", "isBucketed": true, - "label": "User email", + "label": "Cloud Provider", "operationType": "terms", "params": { "exclude": [], @@ -1179,10 +2027,11 @@ "parentFormat": { "id": "terms" }, + "secondaryFields": [], "size": 10 }, "scale": "ordinal", - "sourceField": "user.email" + "sourceField": "cloud.provider" }, "8e4741cc-61b9-4853-822c-faacd3e44b9a": { "customLabel": true, @@ -1210,7 +2059,60 @@ "layers": {} } }, - "filters": [], + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "009cf6e6-9a5a-4eb6-a90a-842d200df069", + "negate": false, + "params": [ + { + "meta": { + "disabled": false, + "field": "data_stream.dataset", + "index": "logs-*", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "axonius.identity" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "axonius.identity" + } + } + }, + { + "meta": { + "disabled": false, + "field": "labels.is_transform_source", + "index": "logs-*", + "key": "labels.is_transform_source", + "negate": false, + "params": { + "query": "false" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "labels.is_transform_source": "false" + } + } + } + ], + "relation": "AND", + "type": "combined" + }, + "query": {} + } + ], "internalReferences": [], "query": { "language": "kuery", @@ -1242,24 +2144,77 @@ "events": [] } }, - "filters": [], + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "logs-*", + "negate": false, + "params": [ + { + "meta": { + "disabled": false, + "field": "data_stream.dataset", + "index": "logs-*", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "axonius.identity" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "data_stream.dataset": "axonius.identity" + } + } + }, + { + "meta": { + "disabled": false, + "field": "labels.is_transform_source", + "index": "logs-*", + "key": "labels.is_transform_source", + "negate": false, + "params": { + "query": "false" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "labels.is_transform_source": "false" + } + } + } + ], + "relation": "AND", + "type": "combined" + }, + "query": {} + } + ], "query": { "language": "kuery", "query": "" }, "syncColors": false, "syncCursor": true, - "syncTooltips": false, - "title": "Top Email Addresses" + "syncTooltips": false }, "gridData": { "h": 17, - "i": "66ca2230-6ac6-4f1d-a8d0-7e00a907e562", - "w": 18, - "x": 11, - "y": 24 + "i": "c6710940-9337-4981-9769-1fc79e4ece1a", + "w": 25, + "x": 23, + "y": 34 }, - "panelIndex": "66ca2230-6ac6-4f1d-a8d0-7e00a907e562", + "panelIndex": "c6710940-9337-4981-9769-1fc79e4ece1a", + "title": "Top Cloud Providers", "type": "lens" } ], @@ -1268,11 +2223,11 @@ "version": 3 }, "coreMigrationVersion": "8.8.0", - "created_at": "2025-12-24T12:33:03.197Z", + "created_at": "2026-04-20T18:21:58.952Z", "id": "axonius-60472232-ca7b-45e6-9fa6-72e6efc41a8e", "references": [ { - "id": "metrics-*", + "id": "logs-*", "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", "type": "index-pattern" }, @@ -1283,7 +2238,12 @@ }, { "id": "logs-*", - "name": "6ad81d2b-ed86-4f33-8b69-f53709f63008:indexpattern-datasource-layer-92ddbbb3-5b76-406f-94fa-5d6403f357c9", + "name": "26f08be7-2fb8-467a-a083-b1ad005319aa:indexpattern-datasource-layer-92ddbbb3-5b76-406f-94fa-5d6403f357c9", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "26f08be7-2fb8-467a-a083-b1ad005319aa:2ee7aed8-ca20-47ad-b404-5795f39d9ffa", "type": "index-pattern" }, { @@ -1293,7 +2253,17 @@ }, { "id": "logs-*", - "name": "26f08be7-2fb8-467a-a083-b1ad005319aa:indexpattern-datasource-layer-92ddbbb3-5b76-406f-94fa-5d6403f357c9", + "name": "3e391701-e157-420b-951a-d7100ae6a606:39f9a1ea-9b71-4e3d-bde8-6c4f01c6ee6b", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "6ad81d2b-ed86-4f33-8b69-f53709f63008:indexpattern-datasource-layer-92ddbbb3-5b76-406f-94fa-5d6403f357c9", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "6ad81d2b-ed86-4f33-8b69-f53709f63008:d9ff7f56-a595-45c7-85ee-0eb26c6c8ed3", "type": "index-pattern" }, { @@ -1301,11 +2271,31 @@ "name": "e6ecc072-ac29-41db-9114-13dae61a9b12:indexpattern-datasource-layer-92ddbbb3-5b76-406f-94fa-5d6403f357c9", "type": "index-pattern" }, + { + "id": "logs-*", + "name": "e6ecc072-ac29-41db-9114-13dae61a9b12:3e95f6ea-740a-4d7f-9d54-5ba9aa5919c3", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "091d0600-2142-4fed-99b2-cf8b3fd41f4f:indexpattern-datasource-layer-de0785d4-371f-4a45-ac37-2186b2edcf67", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "091d0600-2142-4fed-99b2-cf8b3fd41f4f:813ed89d-a9c0-4aa9-b7cc-5b18e16754dd", + "type": "index-pattern" + }, { "id": "logs-*", "name": "6951a3ed-dc02-4bfa-afa9-39c2832d7f1b:indexpattern-datasource-layer-de0785d4-371f-4a45-ac37-2186b2edcf67", "type": "index-pattern" }, + { + "id": "logs-*", + "name": "6951a3ed-dc02-4bfa-afa9-39c2832d7f1b:ea142db6-7dc7-40fb-9dc5-9645e6541f82", + "type": "index-pattern" + }, { "id": "logs-*", "name": "c1ee3a0e-4c34-482f-b05f-4e7688cade1e:indexpattern-datasource-layer-de0785d4-371f-4a45-ac37-2186b2edcf67", @@ -1313,7 +2303,17 @@ }, { "id": "logs-*", - "name": "091d0600-2142-4fed-99b2-cf8b3fd41f4f:indexpattern-datasource-layer-de0785d4-371f-4a45-ac37-2186b2edcf67", + "name": "c1ee3a0e-4c34-482f-b05f-4e7688cade1e:9578e7d9-00be-46e4-918c-d9c1fa412741", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "66ca2230-6ac6-4f1d-a8d0-7e00a907e562:indexpattern-datasource-layer-d8a5a798-7079-4ee6-ac52-6fa6465a663f", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "66ca2230-6ac6-4f1d-a8d0-7e00a907e562:0d3b0169-f18d-4606-8433-4a3cb429d180", "type": "index-pattern" }, { @@ -1323,11 +2323,11 @@ }, { "id": "logs-*", - "name": "66ca2230-6ac6-4f1d-a8d0-7e00a907e562:indexpattern-datasource-layer-d8a5a798-7079-4ee6-ac52-6fa6465a663f", + "name": "c6710940-9337-4981-9769-1fc79e4ece1a:009cf6e6-9a5a-4eb6-a90a-842d200df069", "type": "index-pattern" }, { - "id": "metrics-*", + "id": "logs-*", "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", "type": "index-pattern" }, diff --git a/packages/axonius/manifest.yml b/packages/axonius/manifest.yml index 2be12627759..84b5764e26f 100644 --- a/packages/axonius/manifest.yml +++ b/packages/axonius/manifest.yml @@ -1,11 +1,10 @@ format_version: 3.3.2 name: axonius title: Axonius -version: 0.1.1 +version: 0.1.0 description: Collect logs from Axonius with Elastic Agent. type: integration categories: - - security - asset_inventory - datastore - iam From 2bfe61749f9e9c1755ba37ca3dc6afb380f6bd87 Mon Sep 17 00:00:00 2001 From: muskan-crest Date: Wed, 22 Apr 2026 19:46:43 +0530 Subject: [PATCH 5/5] Resolved further comments of @efd6 and bot. --- .../test/pipeline/test-user.log-expected.json | 4 +-- .../ingest_pipeline/pipeline-user.yml | 26 +++++++++++++------ .../data_stream/identity/fields/fields.yml | 4 +-- packages/axonius/docs/README.md | 4 +-- .../latest_identity/fields/fields.yml | 4 +-- 5 files changed, 26 insertions(+), 16 deletions(-) diff --git a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-user.log-expected.json b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-user.log-expected.json index 390fad2d65b..ec2d683f5c7 100644 --- a/packages/axonius/data_stream/identity/_dev/test/pipeline/test-user.log-expected.json +++ b/packages/axonius/data_stream/identity/_dev/test/pipeline/test-user.log-expected.json @@ -242,7 +242,7 @@ "oracle_cloud_cis_incompliant": [ { "rule_cis_version": 1.0, - "rule_section": 1.11 + "rule_section": "1.11" } ], "password_never_expires": false, @@ -339,7 +339,7 @@ "user_is_password_enabled": false, "user_manager": "yvonne.gordon@demo.local", "user_manager_mail": "yvonne.gordon@demo.local", - "user_pass_last_used": "Sun, 13 Apr 2025 00:29:22 GMT", + "user_pass_last_used": "2025-04-13T00:29:22.000Z", "user_path": "/", "user_permissions": [ { diff --git a/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-user.yml b/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-user.yml index 2e80562f518..d0fc2065bbc 100644 --- a/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-user.yml +++ b/packages/axonius/data_stream/identity/elasticsearch/ingest_pipeline/pipeline-user.yml @@ -304,6 +304,23 @@ processors: - append: field: error.message value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - date: + field: axonius.identity.user_pass_last_used + tag: date_user_pass_last_used + target_field: axonius.identity.user_pass_last_used + formats: + - EEE, dd MMM yyyy HH:mm:ss 'GMT' + - yyyy-MM-dd + - EEE,dd MMM yyyy HH:mm:ss 'GMT' + if: ctx.axonius?.identity?.user_pass_last_used != null && ctx.axonius.identity.user_pass_last_used != '' + on_failure: + - remove: + field: axonius.identity.user_pass_last_used + ignore_missing: true + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + - convert: field: axonius.identity.email_activity.report_period tag: convert_email_activity_report_period_to_long @@ -710,15 +727,8 @@ processors: convert: field: _ingest._value.rule_section tag: convert_oracle_cloud_cis_incompliant_rule_section_to_float - type: float + type: string ignore_missing: true - on_failure: - - remove: - field: _ingest._value.rule_section - ignore_missing: true - - append: - field: error.message - value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag {{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.on_failure_pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - foreach: field: axonius.identity.oracle_cloud_cis_incompliant tag: foreach_oracle_cloud_cis_incompliant_rule_cis_version diff --git a/packages/axonius/data_stream/identity/fields/fields.yml b/packages/axonius/data_stream/identity/fields/fields.yml index c2a4d502720..28f0aa82021 100644 --- a/packages/axonius/data_stream/identity/fields/fields.yml +++ b/packages/axonius/data_stream/identity/fields/fields.yml @@ -878,7 +878,7 @@ type: float description: CIS benchmark version of the incompliant rule. - name: rule_section - type: float + type: keyword description: Section number of the incompliant CIS rule. - name: orphaned_users type: long @@ -1304,7 +1304,7 @@ type: keyword description: Email address of the user's manager. - name: user_pass_last_used - type: keyword + type: date description: Date or timestamp when the user's password was last used. - name: user_path type: keyword diff --git a/packages/axonius/docs/README.md b/packages/axonius/docs/README.md index 766529b2026..7041ab76311 100644 --- a/packages/axonius/docs/README.md +++ b/packages/axonius/docs/README.md @@ -2357,7 +2357,7 @@ The `identity` data stream provides identity asset logs from axonius. | axonius.identity.not_fetched_count | The number of times this identity asset failed to be fetched. | long | | axonius.identity.operational_users_count | Total number of operational users in the account. | long | | axonius.identity.oracle_cloud_cis_incompliant.rule_cis_version | CIS benchmark version of the incompliant rule. | float | -| axonius.identity.oracle_cloud_cis_incompliant.rule_section | Section number of the incompliant CIS rule. | float | +| axonius.identity.oracle_cloud_cis_incompliant.rule_section | Section number of the incompliant CIS rule. | keyword | | axonius.identity.orphaned_users | Number of orphaned users in the account. | long | | axonius.identity.orphaned_users_saved_query_id | Saved query ID for the orphaned users metric. | keyword | | axonius.identity.paid_users | Number of paid users in the account. | long | @@ -2486,7 +2486,7 @@ The `identity` data stream provides identity asset logs from axonius. | axonius.identity.user_is_password_enabled | Indicates whether password authentication is enabled for this user. | boolean | | axonius.identity.user_manager | Name or identifier of the user's manager. | keyword | | axonius.identity.user_manager_mail | Email address of the user's manager. | keyword | -| axonius.identity.user_pass_last_used | Date or timestamp when the user's password was last used. | keyword | +| axonius.identity.user_pass_last_used | Date or timestamp when the user's password was last used. | date | | axonius.identity.user_path | Path of the user in the directory (e.g., AWS IAM path). | keyword | | axonius.identity.user_permissions.is_admin | Indicates if the user has admin privileges for this permission. | boolean | | axonius.identity.user_permissions.name | Name of the permission. | keyword | diff --git a/packages/axonius/elasticsearch/transform/latest_identity/fields/fields.yml b/packages/axonius/elasticsearch/transform/latest_identity/fields/fields.yml index c2a4d502720..28f0aa82021 100644 --- a/packages/axonius/elasticsearch/transform/latest_identity/fields/fields.yml +++ b/packages/axonius/elasticsearch/transform/latest_identity/fields/fields.yml @@ -878,7 +878,7 @@ type: float description: CIS benchmark version of the incompliant rule. - name: rule_section - type: float + type: keyword description: Section number of the incompliant CIS rule. - name: orphaned_users type: long @@ -1304,7 +1304,7 @@ type: keyword description: Email address of the user's manager. - name: user_pass_last_used - type: keyword + type: date description: Date or timestamp when the user's password was last used. - name: user_path type: keyword