From a1a717862b4dc21891bbdf03b3900aa3e2f00d21 Mon Sep 17 00:00:00 2001 From: Nicolas Chaulet Date: Thu, 9 Sep 2021 08:39:18 -0400 Subject: [PATCH 01/57] [Fleet] Fix config migration from ingestManager to support both xpack.fleet and xpack.ingestManager config values (#111612) --- x-pack/plugins/fleet/server/index.test.ts | 79 +++++++++++++++++++++++ x-pack/plugins/fleet/server/index.ts | 35 +++++++++- 2 files changed, 111 insertions(+), 3 deletions(-) create mode 100644 x-pack/plugins/fleet/server/index.test.ts diff --git a/x-pack/plugins/fleet/server/index.test.ts b/x-pack/plugins/fleet/server/index.test.ts new file mode 100644 index 0000000000000..924fecc311073 --- /dev/null +++ b/x-pack/plugins/fleet/server/index.test.ts @@ -0,0 +1,79 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { applyDeprecations, configDeprecationFactory } from '@kbn/config'; + +import { config } from '.'; + +const applyConfigDeprecations = (settings: Record = {}) => { + if (!config.deprecations) { + throw new Error('Config is not valid no deprecations'); + } + const deprecations = config.deprecations(configDeprecationFactory); + const deprecationMessages: string[] = []; + const migrated = applyDeprecations( + settings, + deprecations.map((deprecation) => ({ + deprecation, + path: '', + })), + () => ({ message }) => deprecationMessages.push(message) + ); + return { + messages: deprecationMessages, + migrated: migrated.config, + }; +}; + +describe('Config depreciation test', () => { + it('should migrate old xpack.ingestManager.fleet settings to xpack.fleet.agents', () => { + const { migrated } = applyConfigDeprecations({ + xpack: { + ingestManager: { + fleet: { enabled: true, elasticsearch: { host: 'http://testes.fr:9200' } }, + }, + }, + }); + + expect(migrated).toMatchInlineSnapshot(` + Object { + "xpack": Object { + "fleet": Object { + "agents": Object { + "elasticsearch": Object { + "hosts": Array [ + "http://testes.fr:9200", + ], + }, + "enabled": true, + }, + }, + }, + } + `); + }); + + it('should support mixing xpack.ingestManager config and xpack.fleet config', () => { + const { migrated } = applyConfigDeprecations({ + xpack: { + ingestManager: { registryUrl: 'http://registrytest.fr' }, + fleet: { registryProxyUrl: 'http://registryProxy.fr' }, + }, + }); + + expect(migrated).toMatchInlineSnapshot(` + Object { + "xpack": Object { + "fleet": Object { + "registryProxyUrl": "http://registryProxy.fr", + "registryUrl": "http://registrytest.fr", + }, + }, + } + `); + }); +}); diff --git a/x-pack/plugins/fleet/server/index.ts b/x-pack/plugins/fleet/server/index.ts index 8841c897fcb2a..21cdf659f2f5a 100644 --- a/x-pack/plugins/fleet/server/index.ts +++ b/x-pack/plugins/fleet/server/index.ts @@ -38,9 +38,37 @@ export const config: PluginConfigDescriptor = { epm: true, agents: true, }, - deprecations: ({ renameFromRoot, unused }) => [ - renameFromRoot('xpack.ingestManager', 'xpack.fleet'), - renameFromRoot('xpack.fleet.fleet', 'xpack.fleet.agents'), + deprecations: ({ renameFromRoot, unused, unusedFromRoot }) => [ + // Fleet plugin was named ingestManager before + renameFromRoot('xpack.ingestManager.enabled', 'xpack.fleet.enabled'), + renameFromRoot('xpack.ingestManager.registryUrl', 'xpack.fleet.registryUrl'), + renameFromRoot('xpack.ingestManager.registryProxyUrl', 'xpack.fleet.registryProxyUrl'), + renameFromRoot('xpack.ingestManager.fleet', 'xpack.ingestManager.agents'), + renameFromRoot('xpack.ingestManager.agents.enabled', 'xpack.fleet.agents.enabled'), + renameFromRoot('xpack.ingestManager.agents.elasticsearch', 'xpack.fleet.agents.elasticsearch'), + renameFromRoot( + 'xpack.ingestManager.agents.tlsCheckDisabled', + 'xpack.fleet.agents.tlsCheckDisabled' + ), + renameFromRoot( + 'xpack.ingestManager.agents.pollingRequestTimeout', + 'xpack.fleet.agents.pollingRequestTimeout' + ), + renameFromRoot( + 'xpack.ingestManager.agents.maxConcurrentConnections', + 'xpack.fleet.agents.maxConcurrentConnections' + ), + renameFromRoot('xpack.ingestManager.agents.kibana', 'xpack.fleet.agents.kibana'), + renameFromRoot( + 'xpack.ingestManager.agents.agentPolicyRolloutRateLimitIntervalMs', + 'xpack.fleet.agents.agentPolicyRolloutRateLimitIntervalMs' + ), + renameFromRoot( + 'xpack.ingestManager.agents.agentPolicyRolloutRateLimitRequestPerInterval', + 'xpack.fleet.agents.agentPolicyRolloutRateLimitRequestPerInterval' + ), + unusedFromRoot('xpack.ingestManager'), + // Unused settings before Fleet server exists unused('agents.kibana'), unused('agents.maxConcurrentConnections'), unused('agents.agentPolicyRolloutRateLimitIntervalMs'), @@ -48,6 +76,7 @@ export const config: PluginConfigDescriptor = { unused('agents.pollingRequestTimeout'), unused('agents.tlsCheckDisabled'), unused('agents.fleetServerEnabled'), + // Renaming elasticsearch.host => elasticsearch.hosts (fullConfig, fromPath, addDeprecation) => { const oldValue = fullConfig?.xpack?.fleet?.agents?.elasticsearch?.host; if (oldValue) { From 9792c1079ea1b233f9d54e89ea7ada393a72ba26 Mon Sep 17 00:00:00 2001 From: Dmitry Tomashevich <39378793+Dmitriynj@users.noreply.github.com> Date: Thu, 9 Sep 2021 15:48:20 +0300 Subject: [PATCH 02/57] [Discover] Fix pagination when applying filter (#110763) * [Discover] fix pagination when applying filter * [Discover] refactoring to forward ref usage * [Discover] remove console log debug * [Discover] hide pagination on empty result * [Discover] add usePager test Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../doc_table/doc_table_embeddable.tsx | 95 ++++-- .../doc_table/doc_table_infinite.tsx | 147 +++++---- .../doc_table/doc_table_wrapper.tsx | 302 +++++++++--------- .../doc_table/lib/use_pager.test.tsx | 75 +++++ .../components/doc_table/lib/use_pager.ts | 69 +--- 5 files changed, 395 insertions(+), 293 deletions(-) create mode 100644 src/plugins/discover/public/application/apps/main/components/doc_table/lib/use_pager.test.tsx diff --git a/src/plugins/discover/public/application/apps/main/components/doc_table/doc_table_embeddable.tsx b/src/plugins/discover/public/application/apps/main/components/doc_table/doc_table_embeddable.tsx index 04902af692b74..c01f661eb116a 100644 --- a/src/plugins/discover/public/application/apps/main/components/doc_table/doc_table_embeddable.tsx +++ b/src/plugins/discover/public/application/apps/main/components/doc_table/doc_table_embeddable.tsx @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import React, { memo, useCallback, useMemo } from 'react'; +import React, { memo, useCallback, useEffect, useMemo, useRef } from 'react'; import './index.scss'; import { FormattedMessage } from '@kbn/i18n/react'; import { EuiFlexGroup, EuiFlexItem, EuiText } from '@elastic/eui'; @@ -24,30 +24,61 @@ export interface DocTableEmbeddableProps extends DocTableProps { const DocTableWrapperMemoized = memo(DocTableWrapper); export const DocTableEmbeddable = (props: DocTableEmbeddableProps) => { - const pager = usePager({ totalItems: props.rows.length }); + const tableWrapperRef = useRef(null); + const { + currentPage, + pageSize, + totalPages, + startIndex, + hasNextPage, + changePage, + changePageSize, + } = usePager({ + totalItems: props.rows.length, + }); + const showPagination = totalPages !== 0; - const pageOfItems = useMemo( - () => props.rows.slice(pager.startIndex, pager.pageSize + pager.startIndex), - [pager.pageSize, pager.startIndex, props.rows] - ); + const scrollTop = useCallback(() => { + if (tableWrapperRef.current) { + tableWrapperRef.current.scrollTo(0, 0); + } + }, []); + + const pageOfItems = useMemo(() => props.rows.slice(startIndex, pageSize + startIndex), [ + pageSize, + startIndex, + props.rows, + ]); - const shouldShowLimitedResultsWarning = () => - !pager.hasNextPage && props.rows.length < props.totalHitCount; + const onPageChange = useCallback( + (page: number) => { + scrollTop(); + changePage(page); + }, + [changePage, scrollTop] + ); - const scrollTop = () => { - const scrollDiv = document.querySelector('.kbnDocTableWrapper') as HTMLElement; - scrollDiv.scrollTo(0, 0); - }; + const onPageSizeChange = useCallback( + (size: number) => { + scrollTop(); + changePageSize(size); + }, + [changePageSize, scrollTop] + ); - const onPageChange = (page: number) => { - scrollTop(); - pager.onPageChange(page); - }; + /** + * Go to the first page if the current is no longer available + */ + useEffect(() => { + if (totalPages < currentPage + 1) { + onPageChange(0); + } + }, [currentPage, totalPages, onPageChange]); - const onPageSizeChange = (size: number) => { - scrollTop(); - pager.onPageSizeChange(size); - }; + const shouldShowLimitedResultsWarning = useMemo( + () => !hasNextPage && props.rows.length < props.totalHitCount, + [hasNextPage, props.rows.length, props.totalHitCount] + ); const sampleSize = useMemo(() => { return getServices().uiSettings.get(SAMPLE_SIZE_SETTING, 500); @@ -77,7 +108,7 @@ export const DocTableEmbeddable = (props: DocTableEmbeddableProps) => { responsive={false} wrap={true} > - {shouldShowLimitedResultsWarning() && ( + {shouldShowLimitedResultsWarning && ( { - + - - - + {showPagination && ( + + + + )} ); }; diff --git a/src/plugins/discover/public/application/apps/main/components/doc_table/doc_table_infinite.tsx b/src/plugins/discover/public/application/apps/main/components/doc_table/doc_table_infinite.tsx index 5f0825d9cbd15..dddfefa906962 100644 --- a/src/plugins/discover/public/application/apps/main/components/doc_table/doc_table_infinite.tsx +++ b/src/plugins/discover/public/application/apps/main/components/doc_table/doc_table_infinite.tsx @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import React, { Fragment, memo, useCallback, useEffect, useState } from 'react'; +import React, { Fragment, memo, useCallback, useEffect, useRef, useState } from 'react'; import './index.scss'; import { FormattedMessage } from '@kbn/i18n/react'; import { debounce } from 'lodash'; @@ -17,24 +17,88 @@ import { shouldLoadNextDocPatch } from './lib/should_load_next_doc_patch'; const FOOTER_PADDING = { padding: 0 }; -const DocTableInfiniteContent = (props: DocTableRenderProps) => { - const [limit, setLimit] = useState(props.minimumVisibleRows); +const DocTableWrapperMemoized = memo(DocTableWrapper); - // Reset infinite scroll limit - useEffect(() => { - setLimit(props.minimumVisibleRows); - }, [props.rows, props.minimumVisibleRows]); +interface DocTableInfiniteContentProps extends DocTableRenderProps { + limit: number; + onSetMaxLimit: () => void; + onBackToTop: () => void; +} + +const DocTableInfiniteContent = ({ + rows, + columnLength, + sampleSize, + limit, + onSkipBottomButtonClick, + renderHeader, + renderRows, + onSetMaxLimit, + onBackToTop, +}: DocTableInfiniteContentProps) => { + const onSkipBottomButton = useCallback(() => { + onSetMaxLimit(); + onSkipBottomButtonClick(); + }, [onSetMaxLimit, onSkipBottomButtonClick]); + + return ( + + + + {renderHeader()} + {renderRows(rows.slice(0, limit))} + + + + + +
+ {rows.length === sampleSize ? ( +
+ + + + +
+ ) : ( + + ​ + + )} +
+
+ ); +}; + +export const DocTableInfinite = (props: DocTableProps) => { + const tableWrapperRef = useRef(null); + const [limit, setLimit] = useState(50); /** * depending on which version of Discover is displayed, different elements are scrolling * and have therefore to be considered for calculation of infinite scrolling */ useEffect(() => { - const scrollDiv = document.querySelector('.kbnDocTableWrapper') as HTMLElement; + // After mounting table wrapper should be initialized + const scrollDiv = tableWrapperRef.current as HTMLDivElement; const scrollMobileElem = document.documentElement; const scheduleCheck = debounce(() => { const isMobileView = document.getElementsByClassName('dscSidebar__mobile').length > 0; + const usedScrollDiv = isMobileView ? scrollMobileElem : scrollDiv; if (shouldLoadNextDocPatch(usedScrollDiv)) { setLimit((prevLimit) => prevLimit + 50); @@ -58,63 +122,26 @@ const DocTableInfiniteContent = (props: DocTableRenderProps) => { focusElem.focus(); // Only the desktop one needs to target a specific container - if (!isMobileView) { - const scrollDiv = document.querySelector('.kbnDocTableWrapper') as HTMLElement; - scrollDiv.scrollTo(0, 0); + if (!isMobileView && tableWrapperRef.current) { + tableWrapperRef.current.scrollTo(0, 0); } else if (window) { window.scrollTo(0, 0); } }, []); - return ( - - - - {props.renderHeader()} - {props.renderRows(props.rows.slice(0, limit))} - - - - - -
- {props.rows.length === props.sampleSize ? ( -
- - - - -
- ) : ( - - ​ - - )} -
-
- ); -}; + const setMaxLimit = useCallback(() => setLimit(props.rows.length), [props.rows.length]); -const DocTableWrapperMemoized = memo(DocTableWrapper); -const DocTableInfiniteContentMemoized = memo(DocTableInfiniteContent); - -const renderDocTable = (tableProps: DocTableRenderProps) => ( - -); + const renderDocTable = useCallback( + (tableProps: DocTableRenderProps) => ( + + ), + [limit, onBackToTop, setMaxLimit] + ); -export const DocTableInfinite = (props: DocTableProps) => { - return ; + return ; }; diff --git a/src/plugins/discover/public/application/apps/main/components/doc_table/doc_table_wrapper.tsx b/src/plugins/discover/public/application/apps/main/components/doc_table/doc_table_wrapper.tsx index 08e7dcfb66695..2fac1c828796d 100644 --- a/src/plugins/discover/public/application/apps/main/components/doc_table/doc_table_wrapper.tsx +++ b/src/plugins/discover/public/application/apps/main/components/doc_table/doc_table_wrapper.tsx @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import React, { useCallback, useMemo, useState } from 'react'; +import React, { forwardRef, useCallback, useMemo } from 'react'; import { EuiIcon, EuiSpacer, EuiText } from '@elastic/eui'; import type { IndexPattern, IndexPatternField } from 'src/plugins/data/common'; import { FormattedMessage } from '@kbn/i18n/react'; @@ -86,7 +86,6 @@ export interface DocTableProps { export interface DocTableRenderProps { columnLength: number; rows: DocTableRow[]; - minimumVisibleRows: number; sampleSize: number; renderRows: (row: DocTableRow[]) => JSX.Element[]; renderHeader: () => JSX.Element; @@ -100,163 +99,166 @@ export interface DocTableWrapperProps extends DocTableProps { render: (params: DocTableRenderProps) => JSX.Element; } -export const DocTableWrapper = ({ - render, - columns, - rows, - indexPattern, - onSort, - onAddColumn, - onMoveColumn, - onRemoveColumn, - sort, - onFilter, - useNewFieldsApi, - searchDescription, - sharedItemTitle, - dataTestSubj, - isLoading, -}: DocTableWrapperProps) => { - const [minimumVisibleRows, setMinimumVisibleRows] = useState(50); - const [ - defaultSortOrder, - hideTimeColumn, - isShortDots, - sampleSize, - showMultiFields, - filterManager, - addBasePath, - ] = useMemo(() => { - const services = getServices(); - return [ - services.uiSettings.get(SORT_DEFAULT_ORDER_SETTING, 'desc'), - services.uiSettings.get(DOC_HIDE_TIME_COLUMN_SETTING, false), - services.uiSettings.get(FORMATS_UI_SETTINGS.SHORT_DOTS_ENABLE), - services.uiSettings.get(SAMPLE_SIZE_SETTING, 500), - services.uiSettings.get(SHOW_MULTIFIELDS, false), - services.filterManager, - services.addBasePath, - ]; - }, []); +const wait = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)); - const onSkipBottomButtonClick = useCallback(async () => { - // delay scrolling to after the rows have been rendered - const bottomMarker = document.getElementById('discoverBottomMarker'); - const wait = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)); - // show all the rows - setMinimumVisibleRows(rows.length); - - while (rows.length !== document.getElementsByClassName('kbnDocTable__row').length) { - await wait(50); - } - bottomMarker!.focus(); - await wait(50); - bottomMarker!.blur(); - }, [setMinimumVisibleRows, rows]); - - const fieldsToShow = useMemo( - () => - getFieldsToShow( - indexPattern.fields.map((field: IndexPatternField) => field.name), - indexPattern, - showMultiFields - ), - [indexPattern, showMultiFields] - ); - - const renderHeader = useCallback( - () => ( - - ), - [ +export const DocTableWrapper = forwardRef( + ( + { + render, columns, - defaultSortOrder, - hideTimeColumn, + rows, indexPattern, - isShortDots, + onSort, + onAddColumn, onMoveColumn, onRemoveColumn, - onSort, sort, - ] - ); - - const renderRows = useCallback( - (rowsToRender: DocTableRow[]) => { - return rowsToRender.map((current) => ( - - )); - }, - [ - columns, onFilter, - indexPattern, useNewFieldsApi, + searchDescription, + sharedItemTitle, + dataTestSubj, + isLoading, + }: DocTableWrapperProps, + ref + ) => { + const [ + defaultSortOrder, hideTimeColumn, - onAddColumn, - onRemoveColumn, + isShortDots, + sampleSize, + showMultiFields, filterManager, addBasePath, - fieldsToShow, - ] - ); + ] = useMemo(() => { + const services = getServices(); + return [ + services.uiSettings.get(SORT_DEFAULT_ORDER_SETTING, 'desc'), + services.uiSettings.get(DOC_HIDE_TIME_COLUMN_SETTING, false), + services.uiSettings.get(FORMATS_UI_SETTINGS.SHORT_DOTS_ENABLE), + services.uiSettings.get(SAMPLE_SIZE_SETTING, 500), + services.uiSettings.get(SHOW_MULTIFIELDS, false), + services.filterManager, + services.addBasePath, + ]; + }, []); + + const onSkipBottomButtonClick = useCallback(async () => { + // delay scrolling to after the rows have been rendered + const bottomMarker = document.getElementById('discoverBottomMarker'); + + while (rows.length !== document.getElementsByClassName('kbnDocTable__row').length) { + await wait(50); + } + bottomMarker!.focus(); + await wait(50); + bottomMarker!.blur(); + }, [rows]); + + const fieldsToShow = useMemo( + () => + getFieldsToShow( + indexPattern.fields.map((field: IndexPatternField) => field.name), + indexPattern, + showMultiFields + ), + [indexPattern, showMultiFields] + ); + + const renderHeader = useCallback( + () => ( + + ), + [ + columns, + defaultSortOrder, + hideTimeColumn, + indexPattern, + isShortDots, + onMoveColumn, + onRemoveColumn, + onSort, + sort, + ] + ); + + const renderRows = useCallback( + (rowsToRender: DocTableRow[]) => { + return rowsToRender.map((current) => ( + + )); + }, + [ + columns, + onFilter, + indexPattern, + useNewFieldsApi, + hideTimeColumn, + onAddColumn, + onRemoveColumn, + filterManager, + addBasePath, + fieldsToShow, + ] + ); - return ( -
- {rows.length !== 0 && - render({ - columnLength: columns.length, - rows, - minimumVisibleRows, - sampleSize, - onSkipBottomButtonClick, - renderHeader, - renderRows, - })} - {!rows.length && ( -
- - - - - -
- )} -
- ); -}; + return ( +
} + > + {rows.length !== 0 && + render({ + columnLength: columns.length, + rows, + sampleSize, + onSkipBottomButtonClick, + renderHeader, + renderRows, + })} + {!rows.length && ( +
+ + + + + +
+ )} +
+ ); + } +); diff --git a/src/plugins/discover/public/application/apps/main/components/doc_table/lib/use_pager.test.tsx b/src/plugins/discover/public/application/apps/main/components/doc_table/lib/use_pager.test.tsx new file mode 100644 index 0000000000000..e94600b5d1725 --- /dev/null +++ b/src/plugins/discover/public/application/apps/main/components/doc_table/lib/use_pager.test.tsx @@ -0,0 +1,75 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { act, renderHook } from '@testing-library/react-hooks'; +import { usePager } from './use_pager'; + +describe('usePager', () => { + const defaultProps = { + totalItems: 745, + }; + + test('should initialize the first page', () => { + const { result } = renderHook(() => { + return usePager(defaultProps); + }); + + expect(result.current.currentPage).toEqual(0); + expect(result.current.pageSize).toEqual(50); + expect(result.current.totalPages).toEqual(15); + expect(result.current.startIndex).toEqual(0); + expect(result.current.hasNextPage).toEqual(true); + }); + + test('should change the page', () => { + const { result } = renderHook(() => { + return usePager(defaultProps); + }); + + act(() => { + result.current.changePage(5); + }); + + expect(result.current.currentPage).toEqual(5); + expect(result.current.pageSize).toEqual(50); + expect(result.current.totalPages).toEqual(15); + expect(result.current.startIndex).toEqual(250); + expect(result.current.hasNextPage).toEqual(true); + }); + + test('should go to the last page', () => { + const { result } = renderHook(() => { + return usePager(defaultProps); + }); + + act(() => { + result.current.changePage(15); + }); + + expect(result.current.currentPage).toEqual(15); + expect(result.current.pageSize).toEqual(50); + expect(result.current.totalPages).toEqual(15); + expect(result.current.startIndex).toEqual(750); + expect(result.current.hasNextPage).toEqual(false); + }); + + test('should change page size and stay on the current page', () => { + const { result } = renderHook(() => usePager(defaultProps)); + + act(() => { + result.current.changePage(5); + result.current.changePageSize(100); + }); + + expect(result.current.currentPage).toEqual(5); + expect(result.current.pageSize).toEqual(100); + expect(result.current.totalPages).toEqual(8); + expect(result.current.startIndex).toEqual(500); + expect(result.current.hasNextPage).toEqual(true); + }); +}); diff --git a/src/plugins/discover/public/application/apps/main/components/doc_table/lib/use_pager.ts b/src/plugins/discover/public/application/apps/main/components/doc_table/lib/use_pager.ts index 5522e3c150213..d21941b8360eb 100644 --- a/src/plugins/discover/public/application/apps/main/components/doc_table/lib/use_pager.ts +++ b/src/plugins/discover/public/application/apps/main/components/doc_table/lib/use_pager.ts @@ -6,73 +6,38 @@ * Side Public License, v 1. */ -import { useCallback, useEffect, useState } from 'react'; +import { useCallback, useMemo, useState } from 'react'; interface MetaParams { - currentPage: number; - totalItems: number; totalPages: number; startIndex: number; hasNextPage: boolean; - pageSize: number; -} - -interface ProvidedMeta { - updatedPageSize?: number; - updatedCurrentPage?: number; } const INITIAL_PAGE_SIZE = 50; export const usePager = ({ totalItems }: { totalItems: number }) => { - const [meta, setMeta] = useState({ - currentPage: 0, - totalItems, - startIndex: 0, - totalPages: Math.ceil(totalItems / INITIAL_PAGE_SIZE), - hasNextPage: true, - pageSize: INITIAL_PAGE_SIZE, - }); - - const getNewMeta = useCallback( - (newMeta: ProvidedMeta) => { - const actualCurrentPage = newMeta.updatedCurrentPage ?? meta.currentPage; - const actualPageSize = newMeta.updatedPageSize ?? meta.pageSize; - - const newTotalPages = Math.ceil(totalItems / actualPageSize); - const newStartIndex = actualPageSize * actualCurrentPage; - - return { - currentPage: actualCurrentPage, - totalPages: newTotalPages, - startIndex: newStartIndex, - totalItems, - hasNextPage: meta.currentPage + 1 < meta.totalPages, - pageSize: actualPageSize, - }; - }, - [meta.currentPage, meta.pageSize, meta.totalPages, totalItems] - ); + const [pageSize, setPageSize] = useState(INITIAL_PAGE_SIZE); + const [currentPage, setCurrentPage] = useState(0); - const onPageChange = useCallback( - (pageIndex: number) => setMeta(getNewMeta({ updatedCurrentPage: pageIndex })), - [getNewMeta] - ); + const meta: MetaParams = useMemo(() => { + const totalPages = Math.ceil(totalItems / pageSize); + return { + totalPages, + startIndex: pageSize * currentPage, + hasNextPage: currentPage + 1 < totalPages, + }; + }, [currentPage, pageSize, totalItems]); - const onPageSizeChange = useCallback( - (newPageSize: number) => - setMeta(getNewMeta({ updatedPageSize: newPageSize, updatedCurrentPage: 0 })), - [getNewMeta] - ); + const changePage = useCallback((pageIndex: number) => setCurrentPage(pageIndex), []); - /** - * Update meta on totalItems change - */ - useEffect(() => setMeta(getNewMeta({})), [getNewMeta, totalItems]); + const changePageSize = useCallback((newPageSize: number) => setPageSize(newPageSize), []); return { ...meta, - onPageChange, - onPageSizeChange, + currentPage, + pageSize, + changePage, + changePageSize, }; }; From 764256573ae2cdd09b2c68c2231a2f0f01a892b6 Mon Sep 17 00:00:00 2001 From: Yaroslav Kuznietsov Date: Thu, 9 Sep 2021 15:56:46 +0300 Subject: [PATCH 03/57] [Canvas] `SidebarContent` refactor. (#111672) * Refactored sidebar. Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../element_settings/element_settings.tsx | 2 +- .../public/components/sidebar/sidebar.tsx | 1 - .../sidebar/sidebar_content/index.ts | 9 +++ .../sidebar_content.component.tsx} | 71 +++++++++---------- .../sidebar_content/sidebar_content.tsx | 34 +++++++++ 5 files changed, 78 insertions(+), 39 deletions(-) create mode 100644 x-pack/plugins/canvas/public/components/sidebar/sidebar_content/index.ts rename x-pack/plugins/canvas/public/components/sidebar/{sidebar_content.js => sidebar_content/sidebar_content.component.tsx} (58%) create mode 100644 x-pack/plugins/canvas/public/components/sidebar/sidebar_content/sidebar_content.tsx diff --git a/x-pack/plugins/canvas/public/components/sidebar/element_settings/element_settings.tsx b/x-pack/plugins/canvas/public/components/sidebar/element_settings/element_settings.tsx index 9cca858223078..4935647ca6810 100644 --- a/x-pack/plugins/canvas/public/components/sidebar/element_settings/element_settings.tsx +++ b/x-pack/plugins/canvas/public/components/sidebar/element_settings/element_settings.tsx @@ -12,7 +12,7 @@ import { ElementSettings as Component } from './element_settings.component'; import { State, PositionedElement } from '../../../../types'; interface Props { - selectedElementId: string; + selectedElementId: string | null; } const mapStateToProps = (state: State, { selectedElementId }: Props): StateProps => ({ diff --git a/x-pack/plugins/canvas/public/components/sidebar/sidebar.tsx b/x-pack/plugins/canvas/public/components/sidebar/sidebar.tsx index 7976ad1f6d01a..8252455e9ebd8 100644 --- a/x-pack/plugins/canvas/public/components/sidebar/sidebar.tsx +++ b/x-pack/plugins/canvas/public/components/sidebar/sidebar.tsx @@ -6,7 +6,6 @@ */ import React, { FunctionComponent } from 'react'; -// @ts-expect-error unconverted component import { SidebarContent } from './sidebar_content'; interface Props { diff --git a/x-pack/plugins/canvas/public/components/sidebar/sidebar_content/index.ts b/x-pack/plugins/canvas/public/components/sidebar/sidebar_content/index.ts new file mode 100644 index 0000000000000..867f47ea3de65 --- /dev/null +++ b/x-pack/plugins/canvas/public/components/sidebar/sidebar_content/index.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { SidebarContent } from './sidebar_content'; +export { SidebarContent as SidebarContentComponent } from './sidebar_content.component'; diff --git a/x-pack/plugins/canvas/public/components/sidebar/sidebar_content.js b/x-pack/plugins/canvas/public/components/sidebar/sidebar_content/sidebar_content.component.tsx similarity index 58% rename from x-pack/plugins/canvas/public/components/sidebar/sidebar_content.js rename to x-pack/plugins/canvas/public/components/sidebar/sidebar_content/sidebar_content.component.tsx index 7292a98fa91ae..c469c2fda2776 100644 --- a/x-pack/plugins/canvas/public/components/sidebar/sidebar_content.js +++ b/x-pack/plugins/canvas/public/components/sidebar/sidebar_content/sidebar_content.component.tsx @@ -6,17 +6,19 @@ */ import React, { Fragment } from 'react'; -import { connect } from 'react-redux'; -import { compose, branch, renderComponent } from 'recompose'; import { EuiSpacer } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; +import { SidebarHeader } from '../../sidebar_header'; +import { MultiElementSettings } from '../multi_element_settings'; +import { GroupSettings } from '../group_settings'; +import { GlobalConfig } from '../global_config'; +import { ElementSettings } from '../element_settings'; -import { getSelectedToplevelNodes, getSelectedElementId } from '../../state/selectors/workpad'; -import { SidebarHeader } from '../sidebar_header'; -import { MultiElementSettings } from './multi_element_settings'; -import { GroupSettings } from './group_settings'; -import { GlobalConfig } from './global_config'; -import { ElementSettings } from './element_settings'; +interface SidebarContentProps { + commit?: Function; + selectedElementId: string | null; + selectedToplevelNodes: string[]; +} const strings = { getGroupedElementSidebarTitle: () => @@ -43,12 +45,7 @@ const strings = { }), }; -const mapStateToProps = (state) => ({ - selectedToplevelNodes: getSelectedToplevelNodes(state), - selectedElementId: getSelectedElementId(state), -}); - -const MultiElementSidebar = () => ( +const MultiElementSidebar: React.FC = () => ( @@ -56,38 +53,38 @@ const MultiElementSidebar = () => ( ); -const GroupedElementSidebar = () => ( +const GroupedElementSidebar: React.FC = () => ( - + ); -const SingleElementSidebar = ({ selectedElementId }) => ( +const SingleElementSidebar: React.FC<{ selectedElementId: string | null }> = ({ + selectedElementId, +}) => ( - + ); -const branches = [ - // multiple elements are selected - branch( - ({ selectedToplevelNodes }) => selectedToplevelNodes.length > 1, - renderComponent(MultiElementSidebar) - ), - // a single, grouped element is selected - branch( - ({ selectedToplevelNodes }) => - selectedToplevelNodes.length === 1 && selectedToplevelNodes[0].includes('group'), - renderComponent(GroupedElementSidebar) - ), - // a single element is selected - branch( - ({ selectedToplevelNodes }) => selectedToplevelNodes.length === 1, - renderComponent(SingleElementSidebar) - ), -]; +export const SidebarContent: React.FC = ({ + selectedToplevelNodes, + selectedElementId, +}) => { + if (selectedToplevelNodes.length > 1) { + return ; + } + + if (selectedToplevelNodes.length === 1 && selectedToplevelNodes[0].includes('group')) { + return ; + } -export const SidebarContent = compose(connect(mapStateToProps), ...branches)(GlobalConfig); + if (selectedToplevelNodes.length === 1) { + return ; + } + + return ; +}; diff --git a/x-pack/plugins/canvas/public/components/sidebar/sidebar_content/sidebar_content.tsx b/x-pack/plugins/canvas/public/components/sidebar/sidebar_content/sidebar_content.tsx new file mode 100644 index 0000000000000..e53f5d6d515df --- /dev/null +++ b/x-pack/plugins/canvas/public/components/sidebar/sidebar_content/sidebar_content.tsx @@ -0,0 +1,34 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { useSelector } from 'react-redux'; +import { getSelectedToplevelNodes, getSelectedElementId } from '../../../state/selectors/workpad'; +import { State } from '../../../../types'; +import { SidebarContent as Component } from './sidebar_content.component'; + +interface SidebarContentProps { + commit?: Function; +} + +export const SidebarContent: React.FC = ({ commit }) => { + const selectedToplevelNodes = useSelector((state) => + getSelectedToplevelNodes(state) + ); + + const selectedElementId = useSelector((state) => + getSelectedElementId(state) + ); + + return ( + + ); +}; From b001830d585bb8efc2918cd6d2f50fe14a3f2d7a Mon Sep 17 00:00:00 2001 From: Ahmad Bamieh Date: Thu, 9 Sep 2021 15:59:44 +0300 Subject: [PATCH 04/57] [Deprecations service] Expose `level` field to config deprecations (#111516) --- packages/kbn-config/src/deprecation/types.ts | 6 ++++ .../deprecations/deprecations_service.test.ts | 30 +++++++++++++++++-- .../deprecations/deprecations_service.ts | 26 +++++++++------- 3 files changed, 49 insertions(+), 13 deletions(-) diff --git a/packages/kbn-config/src/deprecation/types.ts b/packages/kbn-config/src/deprecation/types.ts index 007c3ec54113b..0e1f36121e50e 100644 --- a/packages/kbn-config/src/deprecation/types.ts +++ b/packages/kbn-config/src/deprecation/types.ts @@ -23,6 +23,12 @@ export interface DeprecatedConfigDetails { title?: string; /* The message to be displayed for the deprecation. */ message: string; + /** + * levels: + * - warning: will not break deployment upon upgrade + * - critical: needs to be addressed before upgrade. + */ + level?: 'warning' | 'critical'; /* (optional) set false to prevent the config service from logging the deprecation message. */ silent?: boolean; /* (optional) link to the documentation for more details on the deprecation. */ diff --git a/src/core/server/deprecations/deprecations_service.test.ts b/src/core/server/deprecations/deprecations_service.test.ts index 0e8aaf3de49c9..bc0dbcef4a5b6 100644 --- a/src/core/server/deprecations/deprecations_service.test.ts +++ b/src/core/server/deprecations/deprecations_service.test.ts @@ -66,7 +66,7 @@ describe('DeprecationsService', () => { const deprecationsRegistry = mockDeprecationsRegistry.create(); const getDeprecationsContext = mockDeprecationsRegistry.createGetDeprecationsContext(); - it('registers config deprecations', () => { + it('registers config deprecations', async () => { const deprecationsService = new DeprecationsService(coreContext); coreContext.configService.getHandledDeprecatedConfigs.mockReturnValue([ [ @@ -93,7 +93,7 @@ describe('DeprecationsService', () => { expect(deprecationsFactory.getRegistry).toBeCalledTimes(1); expect(deprecationsFactory.getRegistry).toBeCalledWith('testDomain'); expect(deprecationsRegistry.registerDeprecations).toBeCalledTimes(1); - const configDeprecations = deprecationsRegistry.registerDeprecations.mock.calls[0][0].getDeprecations( + const configDeprecations = await deprecationsRegistry.registerDeprecations.mock.calls[0][0].getDeprecations( getDeprecationsContext ); expect(configDeprecations).toMatchInlineSnapshot(` @@ -115,5 +115,31 @@ describe('DeprecationsService', () => { ] `); }); + + it('accepts `level` field overrides', async () => { + const deprecationsService = new DeprecationsService(coreContext); + coreContext.configService.getHandledDeprecatedConfigs.mockReturnValue([ + [ + 'testDomain', + [ + { + message: 'testMessage', + level: 'warning', + correctiveActions: { + manualSteps: ['step a'], + }, + }, + ], + ], + ]); + + deprecationsFactory.getRegistry.mockReturnValue(deprecationsRegistry); + deprecationsService['registerConfigDeprecationsInfo'](deprecationsFactory); + + const configDeprecations = await deprecationsRegistry.registerDeprecations.mock.calls[0][0].getDeprecations( + getDeprecationsContext + ); + expect(configDeprecations[0].level).toBe('warning'); + }); }); }); diff --git a/src/core/server/deprecations/deprecations_service.ts b/src/core/server/deprecations/deprecations_service.ts index c41567d88a2aa..f6f48d2a88b01 100644 --- a/src/core/server/deprecations/deprecations_service.ts +++ b/src/core/server/deprecations/deprecations_service.ts @@ -186,17 +186,21 @@ export class DeprecationsService deprecationsRegistry.registerDeprecations({ getDeprecations: () => { return deprecationsContexts.map( - ({ title, message, correctiveActions, documentationUrl }) => { - return { - title: title || `${domainId} has a deprecated setting`, - level: 'critical', - deprecationType: 'config', - message, - correctiveActions, - documentationUrl, - requireRestart: true, - }; - } + ({ + title = `${domainId} has a deprecated setting`, + level = 'critical', + message, + correctiveActions, + documentationUrl, + }) => ({ + title, + level, + message, + correctiveActions, + documentationUrl, + deprecationType: 'config', + requireRestart: true, + }) ); }, }); From 29142a6fb8028356ae216a4aee8976b7297baebb Mon Sep 17 00:00:00 2001 From: Thomas Watson Date: Thu, 9 Sep 2021 15:01:07 +0200 Subject: [PATCH 05/57] Fix audit log tests (#111706) This ensures that the config object given to the `AuditService` setup method is in fact the `xpack.security.audit.*` config options. Previously the entire `xpack.security.*` config object would be passed in. The reason why this didn't fail the tests before was that both happen to have a similarly named config option called `enabled`, which these tests rely on. --- x-pack/plugins/security/server/audit/audit_service.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/security/server/audit/audit_service.test.ts b/x-pack/plugins/security/server/audit/audit_service.test.ts index 7c7bc4f031793..a1848068eac35 100644 --- a/x-pack/plugins/security/server/audit/audit_service.test.ts +++ b/x-pack/plugins/security/server/audit/audit_service.test.ts @@ -29,7 +29,7 @@ import { jest.useFakeTimers(); const createConfig = (settings: Partial) => { - return ConfigSchema.validate(settings); + return ConfigSchema.validate({ audit: settings }).audit; }; const logger = loggingSystemMock.createLogger(); From cac4957ef27b07b1fbb6abfcfb8fa1ab88dfa568 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20Zolt=C3=A1n=20Szab=C3=B3?= Date: Thu, 9 Sep 2021 15:10:12 +0200 Subject: [PATCH 06/57] [APM] Changes link version to master in APM links. (#111685) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- src/core/public/doc_links/doc_links_service.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/core/public/doc_links/doc_links_service.ts b/src/core/public/doc_links/doc_links_service.ts index 6b03581a7765b..ca174fc12109d 100644 --- a/src/core/public/doc_links/doc_links_service.ts +++ b/src/core/public/doc_links/doc_links_service.ts @@ -35,9 +35,9 @@ export class DocLinksService { kibanaSettings: `${KIBANA_DOCS}apm-settings-in-kibana.html`, supportedServiceMaps: `${KIBANA_DOCS}service-maps.html#service-maps-supported`, customLinks: `${KIBANA_DOCS}custom-links.html`, - droppedTransactionSpans: `${APM_DOCS}get-started/${DOC_LINK_VERSION}/transaction-spans.html#dropped-spans`, - upgrading: `${APM_DOCS}server/${DOC_LINK_VERSION}/upgrading.html`, - metaData: `${APM_DOCS}get-started/${DOC_LINK_VERSION}/metadata.html`, + droppedTransactionSpans: `${APM_DOCS}get-started/master/transaction-spans.html#dropped-spans`, + upgrading: `${APM_DOCS}server/master/upgrading.html`, + metaData: `${APM_DOCS}get-started/master/metadata.html`, }, canvas: { guide: `${KIBANA_DOCS}canvas.html`, From 36cec00c6dedbb4abf56df2bf583c2f668b2926a Mon Sep 17 00:00:00 2001 From: Chris Cowan Date: Thu, 9 Sep 2021 07:20:33 -0600 Subject: [PATCH 07/57] [Metrics UI] Remove rounding from Metric Threshold start time (#111634) * [Metrics UI] Remove rounding from Metric Threshold start time * adding missed files --- .../lib/create_timerange.test.ts | 132 ++++++++++++++++++ .../metric_threshold/lib/create_timerange.ts | 31 ++++ .../metric_threshold/lib/evaluate_alert.ts | 28 +--- 3 files changed, 170 insertions(+), 21 deletions(-) create mode 100644 x-pack/plugins/infra/server/lib/alerting/metric_threshold/lib/create_timerange.test.ts create mode 100644 x-pack/plugins/infra/server/lib/alerting/metric_threshold/lib/create_timerange.ts diff --git a/x-pack/plugins/infra/server/lib/alerting/metric_threshold/lib/create_timerange.test.ts b/x-pack/plugins/infra/server/lib/alerting/metric_threshold/lib/create_timerange.test.ts new file mode 100644 index 0000000000000..5640a1d928436 --- /dev/null +++ b/x-pack/plugins/infra/server/lib/alerting/metric_threshold/lib/create_timerange.test.ts @@ -0,0 +1,132 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { createTimerange } from './create_timerange'; +import { Aggregators } from '../types'; +import moment from 'moment'; + +describe('createTimerange(interval, aggType, timeframe)', () => { + describe('without timeframe', () => { + describe('Basic Metric Aggs', () => { + it('should return a second range for last 1 second', () => { + const subject = createTimerange(1000, Aggregators.COUNT); + expect(subject.end - subject.start).toEqual(1000); + }); + it('should return a minute range for last 1 minute', () => { + const subject = createTimerange(60000, Aggregators.COUNT); + expect(subject.end - subject.start).toEqual(60000); + }); + it('should return 5 minute range for last 5 minutes', () => { + const subject = createTimerange(300000, Aggregators.COUNT); + expect(subject.end - subject.start).toEqual(300000); + }); + it('should return a hour range for last 1 hour', () => { + const subject = createTimerange(3600000, Aggregators.COUNT); + expect(subject.end - subject.start).toEqual(3600000); + }); + it('should return a day range for last 1 day', () => { + const subject = createTimerange(86400000, Aggregators.COUNT); + expect(subject.end - subject.start).toEqual(86400000); + }); + }); + describe('Rate Aggs', () => { + it('should return a 20 second range for last 1 second', () => { + const subject = createTimerange(1000, Aggregators.RATE); + expect(subject.end - subject.start).toEqual(1000 * 5); + }); + it('should return a 5 minute range for last 1 minute', () => { + const subject = createTimerange(60000, Aggregators.RATE); + expect(subject.end - subject.start).toEqual(60000 * 5); + }); + it('should return 25 minute range for last 5 minutes', () => { + const subject = createTimerange(300000, Aggregators.RATE); + expect(subject.end - subject.start).toEqual(300000 * 5); + }); + it('should return 5 hour range for last hour', () => { + const subject = createTimerange(3600000, Aggregators.RATE); + expect(subject.end - subject.start).toEqual(3600000 * 5); + }); + it('should return a 5 day range for last day', () => { + const subject = createTimerange(86400000, Aggregators.RATE); + expect(subject.end - subject.start).toEqual(86400000 * 5); + }); + }); + }); + describe('with full timeframe', () => { + describe('Basic Metric Aggs', () => { + it('should return 5 minute range when given 4 minute timeframe', () => { + const end = moment(); + const timeframe = { + start: end.clone().subtract(4, 'minutes').valueOf(), + end: end.valueOf(), + }; + const subject = createTimerange(300000, Aggregators.COUNT, timeframe); + expect(subject.end - subject.start).toEqual(300000); + }); + it('should return 6 minute range when given 6 minute timeframe', () => { + const end = moment(); + const timeframe = { + start: end.clone().subtract(6, 'minutes').valueOf(), + end: end.valueOf(), + }; + const subject = createTimerange(300000, Aggregators.COUNT, timeframe); + expect(subject.end - subject.start).toEqual(360000); + }); + }); + describe('Rate Aggs', () => { + it('should return 25 minute range when given 4 minute timeframe', () => { + const end = moment(); + const timeframe = { + start: end.clone().subtract(4, 'minutes').valueOf(), + end: end.valueOf(), + }; + const subject = createTimerange(300000, Aggregators.RATE, timeframe); + expect(subject.end - subject.start).toEqual(300000 * 5); + }); + it('should return 25 minute range when given 6 minute timeframe', () => { + const end = moment(); + const timeframe = { + start: end.clone().subtract(6, 'minutes').valueOf(), + end: end.valueOf(), + }; + const subject = createTimerange(300000, Aggregators.RATE, timeframe); + expect(subject.end - subject.start).toEqual(300000 * 5); + }); + }); + }); + describe('with partial timeframe', () => { + describe('Basic Metric Aggs', () => { + it('should return 5 minute range for last 5 minutes', () => { + const end = moment(); + const timeframe = { + end: end.valueOf(), + }; + const subject = createTimerange(300000, Aggregators.AVERAGE, timeframe); + expect(subject).toEqual({ + start: end.clone().subtract(5, 'minutes').valueOf(), + end: end.valueOf(), + }); + }); + }); + describe('Rate Aggs', () => { + it('should return 25 minute range for last 5 minutes', () => { + const end = moment(); + const timeframe = { + end: end.valueOf(), + }; + const subject = createTimerange(300000, Aggregators.RATE, timeframe); + expect(subject).toEqual({ + start: end + .clone() + .subtract(300 * 5, 'seconds') + .valueOf(), + end: end.valueOf(), + }); + }); + }); + }); +}); diff --git a/x-pack/plugins/infra/server/lib/alerting/metric_threshold/lib/create_timerange.ts b/x-pack/plugins/infra/server/lib/alerting/metric_threshold/lib/create_timerange.ts new file mode 100644 index 0000000000000..cca63aca14d09 --- /dev/null +++ b/x-pack/plugins/infra/server/lib/alerting/metric_threshold/lib/create_timerange.ts @@ -0,0 +1,31 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import moment from 'moment'; +import { Aggregators } from '../types'; + +export const createTimerange = ( + interval: number, + aggType: Aggregators, + timeframe?: { end: number; start?: number } +) => { + const to = moment(timeframe ? timeframe.end : Date.now()).valueOf(); + + // Rate aggregations need 5 buckets worth of data + const minimumBuckets = aggType === Aggregators.RATE ? 5 : 1; + + const calculatedFrom = to - interval * minimumBuckets; + + // Use either the timeframe.start when the start is less then calculatedFrom + // OR use the calculatedFrom + const from = + timeframe && timeframe.start && timeframe.start <= calculatedFrom + ? timeframe.start + : calculatedFrom; + + return { start: from, end: to }; +}; diff --git a/x-pack/plugins/infra/server/lib/alerting/metric_threshold/lib/evaluate_alert.ts b/x-pack/plugins/infra/server/lib/alerting/metric_threshold/lib/evaluate_alert.ts index 9a8f2267e7efe..a099b83fdb423 100644 --- a/x-pack/plugins/infra/server/lib/alerting/metric_threshold/lib/evaluate_alert.ts +++ b/x-pack/plugins/infra/server/lib/alerting/metric_threshold/lib/evaluate_alert.ts @@ -13,7 +13,6 @@ import { TOO_MANY_BUCKETS_PREVIEW_EXCEPTION, } from '../../../../../common/alerting/metrics'; import { getIntervalInSeconds } from '../../../../utils/get_interval_in_seconds'; -import { roundTimestamp } from '../../../../utils/round_timestamp'; import { InfraSource } from '../../../../../common/source_configuration/source_configuration'; import { InfraDatabaseSearchResponse } from '../../../adapters/framework/adapter_types'; import { createAfterKeyHandler } from '../../../../utils/create_afterkey_handler'; @@ -22,6 +21,7 @@ import { DOCUMENT_COUNT_I18N } from '../../common/messages'; import { UNGROUPED_FACTORY_KEY } from '../../common/utils'; import { MetricExpressionParams, Comparator, Aggregators } from '../types'; import { getElasticsearchMetricQuery } from './metric_query'; +import { createTimerange } from './create_timerange'; interface AggregationWithoutIntervals { aggregatedValue: { value: number; values?: Array<{ key: number; value: number }> }; @@ -135,23 +135,12 @@ const getMetric: ( const interval = `${timeSize}${timeUnit}`; const intervalAsSeconds = getIntervalInSeconds(interval); const intervalAsMS = intervalAsSeconds * 1000; - - const to = moment(timeframe ? timeframe.end : Date.now()).valueOf(); - - // Rate aggregations need 5 buckets worth of data - const minimumBuckets = aggType === Aggregators.RATE ? 5 : 1; - - const minimumFrom = to - intervalAsMS * minimumBuckets; - - const from = roundTimestamp( - timeframe && timeframe.start && timeframe.start <= minimumFrom ? timeframe.start : minimumFrom, - timeUnit - ); + const calculatedTimerange = createTimerange(intervalAsMS, aggType, timeframe); const searchBody = getElasticsearchMetricQuery( params, timefield, - { start: from, end: to }, + calculatedTimerange, hasGroupBy ? groupBy : undefined, filterQuery ); @@ -160,8 +149,8 @@ const getMetric: ( // Rate aggs always drop partial buckets; guard against this boolean being passed as false shouldDropPartialBuckets || aggType === Aggregators.RATE ? { - from, - to, + from: calculatedTimerange.start, + to: calculatedTimerange.end, bucketSizeInMillis: intervalAsMS, } : null; @@ -191,10 +180,7 @@ const getMetric: ( bucket, aggType, dropPartialBucketsOptions, - { - start: from, - end: to, - }, + calculatedTimerange, bucket.doc_count ), }), @@ -212,7 +198,7 @@ const getMetric: ( (result.aggregations! as unknown) as Aggregation, aggType, dropPartialBucketsOptions, - { start: from, end: to }, + calculatedTimerange, isNumber(result.hits.total) ? result.hits.total : result.hits.total.value ), }; From 334f129bcbffb1502d408f8be1c6c13a60c68635 Mon Sep 17 00:00:00 2001 From: ymao1 Date: Thu, 9 Sep 2021 09:43:42 -0400 Subject: [PATCH 08/57] [Alerting] Fixing flaky tests (#111366) * Unskipping test * Retrying deletes * Unskipping test * Changing fn signature * hmm * Removing unnecessary code * Unskipping test Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../alerting/server/rules_client/rules_client.ts | 8 ++++++++ .../security_and_spaces/tests/alerting/alerts.ts | 16 +--------------- .../security_and_spaces/tests/alerting/delete.ts | 3 +-- .../security_and_spaces/tests/alerting/find.ts | 3 +-- .../security_and_spaces/tests/alerting/get.ts | 3 +-- .../security_and_spaces/tests/alerting/update.ts | 3 +-- 6 files changed, 13 insertions(+), 23 deletions(-) diff --git a/x-pack/plugins/alerting/server/rules_client/rules_client.ts b/x-pack/plugins/alerting/server/rules_client/rules_client.ts index c3e21e02cdb7d..51f27916e015a 100644 --- a/x-pack/plugins/alerting/server/rules_client/rules_client.ts +++ b/x-pack/plugins/alerting/server/rules_client/rules_client.ts @@ -672,6 +672,14 @@ export class RulesClient { } public async delete({ id }: { id: string }) { + return await retryIfConflicts( + this.logger, + `rulesClient.delete('${id}')`, + async () => await this.deleteWithOCC({ id }) + ); + } + + private async deleteWithOCC({ id }: { id: string }) { let taskIdToRemove: string | undefined | null; let apiKeyToInvalidate: string | null = null; let attributes: RawAlert; diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/tests/alerting/alerts.ts b/x-pack/test/alerting_api_integration/security_and_spaces/tests/alerting/alerts.ts index 93535826d14e7..3131649e7c742 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/tests/alerting/alerts.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/tests/alerting/alerts.ts @@ -39,8 +39,7 @@ export default function alertTests({ getService }: FtrProviderContext) { const esTestIndexTool = new ESTestIndexTool(es, retry); const taskManagerUtils = new TaskManagerUtils(es, retry); - // FLAKY: https://github.com/elastic/kibana/issues/106492 - describe.skip('alerts', () => { + describe('alerts', () => { const authorizationIndex = '.kibana-test-authorization'; const objectRemover = new ObjectRemover(supertest); @@ -502,19 +501,6 @@ instanceStateValue: true }) ); - // Enqueue non ephemerically so we the latter code can query properly - const enqueueResponse = await supertest - .post(`${getUrlPrefix(space.id)}/api/alerts_fixture/${createdAction.id}/enqueue_action`) - .set('kbn-xsrf', 'foo') - .send({ - params: { - reference, - index: ES_TEST_INDEX_NAME, - retryAt: retryDate.getTime(), - }, - }); - expect(enqueueResponse.status).to.eql(204); - switch (scenario.id) { case 'no_kibana_privileges at space1': case 'global_read at space1': diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/tests/alerting/delete.ts b/x-pack/test/alerting_api_integration/security_and_spaces/tests/alerting/delete.ts index fe67decd7d191..d43fb2e7d835f 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/tests/alerting/delete.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/tests/alerting/delete.ts @@ -23,8 +23,7 @@ export default function createDeleteTests({ getService }: FtrProviderContext) { const retry = getService('retry'); const supertestWithoutAuth = getService('supertestWithoutAuth'); - // FLAKY https://github.com/elastic/kibana/issues/111001 - describe.skip('delete', () => { + describe('delete', () => { const objectRemover = new ObjectRemover(supertest); after(() => objectRemover.removeAll()); diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/tests/alerting/find.ts b/x-pack/test/alerting_api_integration/security_and_spaces/tests/alerting/find.ts index 2126e7383e321..3454ef5c94d9f 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/tests/alerting/find.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/tests/alerting/find.ts @@ -17,8 +17,7 @@ export default function createFindTests({ getService }: FtrProviderContext) { const supertest = getService('supertest'); const supertestWithoutAuth = getService('supertestWithoutAuth'); - // FLAKY https://github.com/elastic/kibana/issues/111022 - describe.skip('find', () => { + describe('find', () => { const objectRemover = new ObjectRemover(supertest); afterEach(() => objectRemover.removeAll()); diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/tests/alerting/get.ts b/x-pack/test/alerting_api_integration/security_and_spaces/tests/alerting/get.ts index 5925f2bcc812f..0400557209348 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/tests/alerting/get.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/tests/alerting/get.ts @@ -21,8 +21,7 @@ export default function createGetTests({ getService }: FtrProviderContext) { const supertest = getService('supertest'); const supertestWithoutAuth = getService('supertestWithoutAuth'); - // FLAKY https://github.com/elastic/kibana/issues/111496 - describe.skip('get', () => { + describe('get', () => { const objectRemover = new ObjectRemover(supertest); afterEach(() => objectRemover.removeAll()); diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/tests/alerting/update.ts b/x-pack/test/alerting_api_integration/security_and_spaces/tests/alerting/update.ts index d0ab2e0189a44..e628f0b3d950e 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/tests/alerting/update.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/tests/alerting/update.ts @@ -32,8 +32,7 @@ export default function createUpdateTests({ getService }: FtrProviderContext) { .then((response: SupertestResponse) => response.body); } - // FLAKY: https://github.com/elastic/kibana/issues/110801 - describe.skip('update', () => { + describe('update', () => { const objectRemover = new ObjectRemover(supertest); after(() => objectRemover.removeAll()); From 72dfb9c7e3e49d22c94c50126aa0e974aa69663c Mon Sep 17 00:00:00 2001 From: Jonathan Budzenski Date: Thu, 9 Sep 2021 09:29:27 -0500 Subject: [PATCH 09/57] skip flaky suite, #109564 --- .../functional/apps/graph/feature_controls/graph_security.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/functional/apps/graph/feature_controls/graph_security.ts b/x-pack/test/functional/apps/graph/feature_controls/graph_security.ts index cc121dccfb13e..913a5034bacc5 100644 --- a/x-pack/test/functional/apps/graph/feature_controls/graph_security.ts +++ b/x-pack/test/functional/apps/graph/feature_controls/graph_security.ts @@ -16,7 +16,8 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { const appsMenu = getService('appsMenu'); const globalNav = getService('globalNav'); - describe('security', () => { + // FLAKY https://github.com/elastic/kibana/issues/109564 + describe.skip('security', () => { before(async () => { await esArchiver.load('x-pack/test/functional/es_archives/empty_kibana'); // ensure we're logged out so we can login as the appropriate users From a045c8ab4a653f89db700e52c2f52f6b9e765da0 Mon Sep 17 00:00:00 2001 From: Scotty Bollinger Date: Thu, 9 Sep 2021 09:50:14 -0500 Subject: [PATCH 10/57] Fix bug where flyout state was not reset (#111662) This PR fixes a bug in both App Search and Workplace Search where the role mappings flyout state was not being cleared when updating a role mapping. The issue is that the state of the flyout is determined by the existence of a role mapping and this was not being cleared when the role mapping was saved. --- .../role_mappings/role_mappings_logic.test.ts | 10 ++++++++++ .../components/role_mappings/role_mappings_logic.ts | 1 + .../views/role_mappings/role_mappings_logic.test.ts | 10 ++++++++++ .../views/role_mappings/role_mappings_logic.ts | 1 + 4 files changed, 22 insertions(+) diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/role_mappings/role_mappings_logic.test.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/role_mappings/role_mappings_logic.test.ts index e63469f985d7d..14d97c7dd3f4d 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/role_mappings/role_mappings_logic.test.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/role_mappings/role_mappings_logic.test.ts @@ -418,6 +418,16 @@ describe('RoleMappingsLogic', () => { expect(flashAPIErrors).toHaveBeenCalledWith('this is an error'); }); + + it('resets roleMapping state', () => { + mount({ + ...mappingsServerProps, + roleMapping: asRoleMapping, + }); + RoleMappingsLogic.actions.initializeRoleMappings(); + + expect(RoleMappingsLogic.values.roleMapping).toEqual(null); + }); }); describe('initializeRoleMapping', () => { diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/role_mappings/role_mappings_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/role_mappings/role_mappings_logic.ts index 6dac9e481f7ef..7b7bcd864ebd0 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/role_mappings/role_mappings_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/role_mappings/role_mappings_logic.ts @@ -178,6 +178,7 @@ export const RoleMappingsLogic = kea roleMapping, + initializeRoleMappings: () => null, resetState: () => null, closeUsersAndRolesFlyout: () => null, }, diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/role_mappings/role_mappings_logic.test.ts b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/role_mappings/role_mappings_logic.test.ts index 1cf1adfd00200..3f5a63275f05d 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/role_mappings/role_mappings_logic.test.ts +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/role_mappings/role_mappings_logic.test.ts @@ -376,6 +376,16 @@ describe('RoleMappingsLogic', () => { expect(flashAPIErrors).toHaveBeenCalledWith('this is an error'); }); + + it('resets roleMapping state', () => { + mount({ + ...mappingsServerProps, + roleMapping: wsRoleMapping, + }); + RoleMappingsLogic.actions.initializeRoleMappings(); + + expect(RoleMappingsLogic.values.roleMapping).toEqual(null); + }); }); describe('initializeRoleMapping', () => { diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/role_mappings/role_mappings_logic.ts b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/role_mappings/role_mappings_logic.ts index 64cec51001647..55f82a07bf405 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/role_mappings/role_mappings_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/role_mappings/role_mappings_logic.ts @@ -168,6 +168,7 @@ export const RoleMappingsLogic = kea roleMapping, + initializeRoleMappings: () => null, resetState: () => null, closeUsersAndRolesFlyout: () => null, }, From 86d61a4f6c961822d76a22a0945901c1c9e9cc80 Mon Sep 17 00:00:00 2001 From: Scotty Bollinger Date: Thu, 9 Sep 2021 09:51:32 -0500 Subject: [PATCH 11/57] Fix a bug where users not populated (#111660) In https://github.com/elastic/kibana/pull/109008, we fixed an issue where Role mappings were not populated on changes (adding/deleting). However, we did not apply the same fix for Users in the table under Role mappings. This PR does that. --- .../applications/shared/role_mapping/users_table.tsx | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/role_mapping/users_table.tsx b/x-pack/plugins/enterprise_search/public/applications/shared/role_mapping/users_table.tsx index 3b6e2dc440a76..3dc5560a9eaba 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/role_mapping/users_table.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/shared/role_mapping/users_table.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React, { useState } from 'react'; +import React, { useState, useEffect } from 'react'; import { EuiBadge, EuiBasicTableColumn, EuiInMemoryTable, EuiTextColor } from '@elastic/eui'; import type { EuiSearchBarOnChangeArgs } from '@elastic/eui'; @@ -57,6 +57,8 @@ const noItemsPlaceholder = ; const invitationBadge = {INVITATION_PENDING_LABEL}; const deactivatedBadge = {DEACTIVATED_LABEL}; +type Users = Array>; + export const UsersTable: React.FC = ({ accessItemKey, singleUserRoleMappings, @@ -72,9 +74,13 @@ export const UsersTable: React.FC = ({ id: user.roleMapping.id, accessItems: (user.roleMapping as SharedRoleMapping)[accessItemKey], invitation: user.invitation, - })) as unknown) as Array>; + })) as unknown) as Users; + + const [items, setItems] = useState([] as Users); - const [items, setItems] = useState(users); + useEffect(() => { + setItems(users); + }, [singleUserRoleMappings]); const columns: Array> = [ { From 13f948d6d10498e1c5f9c784611e1c23744f02cd Mon Sep 17 00:00:00 2001 From: Jonathan Budzenski Date: Thu, 9 Sep 2021 10:11:23 -0500 Subject: [PATCH 12/57] Remove unused dependencies (#109279) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- package.json | 15 ----- yarn.lock | 165 +++------------------------------------------------ 2 files changed, 7 insertions(+), 173 deletions(-) diff --git a/package.json b/package.json index e3f65f7c50853..e8ac3a65924b2 100644 --- a/package.json +++ b/package.json @@ -184,12 +184,9 @@ "JSONStream": "1.3.5", "abort-controller": "^3.0.0", "abortcontroller-polyfill": "^1.4.0", - "ajv": "^6.12.4", "angular": "^1.8.0", "angular-aria": "^1.8.0", - "angular-elastic": "^2.5.1", "angular-recursion": "^1.0.5", - "angular-resource": "1.8.0", "angular-route": "^1.8.0", "angular-sanitize": "^1.8.0", "angular-sortable-view": "^0.0.17", @@ -201,7 +198,6 @@ "brace": "0.11.1", "broadcast-channel": "^3.0.3", "chalk": "^4.1.0", - "check-disk-space": "^2.1.0", "cheerio": "^1.0.0-rc.9", "chokidar": "^3.4.3", "chroma-js": "^1.4.1", @@ -237,15 +233,12 @@ "fflate": "^0.6.9", "file-saver": "^1.3.8", "file-type": "^10.9.0", - "focus-trap-react": "^3.1.1", "font-awesome": "4.7.0", - "formsy-react": "^1.1.5", "fp-ts": "^2.3.1", "geojson-vt": "^3.2.1", "get-port": "^5.0.0", "getopts": "^2.2.5", "getos": "^3.1.0", - "github-markdown-css": "^2.10.0", "glob": "^7.1.2", "glob-all": "^3.2.1", "globby": "^11.0.3", @@ -323,9 +316,7 @@ "pngjs": "^3.4.0", "polished": "^3.7.2", "prop-types": "^15.7.2", - "proper-lockfile": "^3.2.0", "proxy-from-env": "1.0.0", - "proxyquire": "1.8.0", "puid": "1.0.7", "puppeteer": "^8.0.0", "query-string": "^6.13.2", @@ -341,7 +332,6 @@ "react-dropzone": "^4.2.9", "react-fast-compare": "^2.0.4", "react-grid-layout": "^0.16.2", - "react-input-range": "^1.3.0", "react-intl": "^2.8.0", "react-is": "^16.8.0", "react-markdown": "^4.3.1", @@ -406,9 +396,7 @@ "type-detect": "^4.0.8", "typescript-fsa": "^3.0.0", "typescript-fsa-reducers": "^1.2.2", - "ui-select": "0.19.8", "unified": "^9.2.1", - "unstated": "^2.1.1", "use-resize-observer": "^6.0.0", "utility-types": "^3.10.0", "uuid": "3.3.2", @@ -601,7 +589,6 @@ "@types/prettier": "^2.1.5", "@types/pretty-ms": "^5.0.0", "@types/prop-types": "^15.7.3", - "@types/proper-lockfile": "^3.0.1", "@types/rbush": "^3.0.0", "@types/reach__router": "^1.2.6", "@types/react": "^16.9.36", @@ -696,7 +683,6 @@ "cypress-promise": "^1.1.0", "cypress-real-events": "^1.4.0", "debug": "^2.6.9", - "del-cli": "^3.0.1", "delete-empty": "^2.0.0", "dependency-check": "^4.1.0", "diff": "^4.0.1", @@ -830,7 +816,6 @@ "tape": "^5.0.1", "tar-fs": "^2.1.0", "tempy": "^0.3.0", - "terminal-link": "^2.1.1", "terser": "^5.7.1", "terser-webpack-plugin": "^2.1.2", "tough-cookie": "^4.0.0", diff --git a/yarn.lock b/yarn.lock index bdf256424c5eb..1c91896c1f063 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5827,11 +5827,6 @@ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== -"@types/proper-lockfile@^3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/proper-lockfile/-/proper-lockfile-3.0.1.tgz#dd770a2abce3adbcce3bd1ed892ce2f5f17fbc86" - integrity sha512-ODOjqxmaNs0Zkij+BJovsNJRSX7BJrr681o8ZnNTNIcTermvVFzLpz/XFtfg3vNrlPVTJY1l4e9h2LvHoxC1lg== - "@types/q@^1.5.1": version "1.5.4" resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" @@ -6975,13 +6970,6 @@ angular-aria@^1.8.0: resolved "https://registry.yarnpkg.com/angular-aria/-/angular-aria-1.8.0.tgz#97aec9b1e8bafd07d5fab30f98d8ec832e18e25d" integrity sha512-eCQI6EwgY6bYHdzIUfDABHnZjoZ3bNYpCsnceQF4bLfbq1QtZ7raRPNca45sj6C9Pfjde6PNcEDvuLozFPYnrQ== -angular-elastic@^2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/angular-elastic/-/angular-elastic-2.5.1.tgz#e938ab1bd8c76415b8ca6514b15fe3593a5df535" - integrity sha1-6TirG9jHZBW4ymUUsV/jWTpd9TU= - dependencies: - angular ">=1.0.6" - angular-mocks@^1.7.9: version "1.7.9" resolved "https://registry.yarnpkg.com/angular-mocks/-/angular-mocks-1.7.9.tgz#0a3b7e28b9a493b4e3010ed2b0f69a68e9b4f79b" @@ -6992,11 +6980,6 @@ angular-recursion@^1.0.5: resolved "https://registry.yarnpkg.com/angular-recursion/-/angular-recursion-1.0.5.tgz#cd405428a0bf55faf52eaa7988c1fe69cd930543" integrity sha1-zUBUKKC/Vfr1Lqp5iMH+ac2TBUM= -angular-resource@1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/angular-resource/-/angular-resource-1.8.0.tgz#578ef122e7cb7bcc6c0ad6c2451dc3d27fd570ba" - integrity sha512-9woUq3kDwoT7R6SjKX8vaJMhOplYBm9sqRAxKgDhDIdPyA8iBowqQIusf9+8Q+z/HlXb8ZXvKspJyKXrxmKdvg== - angular-route@^1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/angular-route/-/angular-route-1.8.0.tgz#cb8066c5d34284ffd6a15ac7be1b3d51c5ad7bb2" @@ -7012,7 +6995,7 @@ angular-sortable-view@^0.0.17: resolved "https://registry.yarnpkg.com/angular-sortable-view/-/angular-sortable-view-0.0.17.tgz#99e2679951a86b6ee6ff27b099022943c683fb4f" integrity sha512-2WkhM0Lt/wyMyrX/+7ve9ejSegBd7A4eRBNHEIJz8XMBIOjt+3oM1WpcAm+qNThkmNmmQaDeaYv0TQZw/WDMBw== -angular@>=1.0.6, angular@^1.8.0: +angular@^1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/angular/-/angular-1.8.0.tgz#b1ec179887869215cab6dfd0df2e42caa65b1b51" integrity sha512-VdaMx+Qk0Skla7B5gw77a8hzlcOakwF8mjlW13DpIWIDlfqwAbSSLfd8N/qZnzEmQF4jC4iofInd3gE7vL8ZZg== @@ -7724,11 +7707,6 @@ attr-accept@^2.0.0: resolved "https://registry.yarnpkg.com/attr-accept/-/attr-accept-2.2.1.tgz#89b48de019ed4342f1865626b4389c666b3ed231" integrity sha512-GpefLMsbH5ojNgfTW+OBin2xKzuHfyeNA+qCktzZojBhbA/lPZdCFMWdwk5ajb989Ok7ZT+EADqvW3TAFNMjhA== -autobind-decorator@^1.3.4: - version "1.4.3" - resolved "https://registry.yarnpkg.com/autobind-decorator/-/autobind-decorator-1.4.3.tgz#4c96ffa77b10622ede24f110f5dbbf56691417d1" - integrity sha1-TJb/p3sQYi7eJPEQ9du/VmkUF9E= - autoprefixer@^9.7.2, autoprefixer@^9.7.4: version "9.8.5" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.5.tgz#2c225de229ddafe1d1424c02791d0c3e10ccccaa" @@ -9395,11 +9373,6 @@ charenc@~0.0.1: resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc= -check-disk-space@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/check-disk-space/-/check-disk-space-2.1.0.tgz#2e77fe62f30d9676dc37a524ea2008f40c780295" - integrity sha512-f0nx9oJF/AVF8nhSYlF1EBvMNnO+CXyLwKhPvN1943iOMI9TWhQigLZm80jAf0wzQhwKkzA8XXjyvuVUeGGcVQ== - check-error@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" @@ -10469,11 +10442,6 @@ create-react-context@0.3.0, create-react-context@^0.3.0: gud "^1.0.0" warning "^4.0.3" -create-react-context@^0.1.5: - version "0.1.6" - resolved "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.1.6.tgz#0f425931d907741127acc6e31acb4f9015dd9fdc" - integrity sha512-eCnYYEUEc5i32LHwpE/W7NlddOB9oHwsPaWtWzYtflNkkwa3IfindIcoXdVWs12zCbwaMCavKNu84EXogVIWHw== - cronstrue@^1.51.0: version "1.51.0" resolved "https://registry.yarnpkg.com/cronstrue/-/cronstrue-1.51.0.tgz#7a63153d61d940344049037628da38a60784c8e2" @@ -11653,14 +11621,6 @@ defined@^1.0.0, defined@~1.0.0: resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= -del-cli@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/del-cli/-/del-cli-3.0.1.tgz#2d27ff260204b5104cadeda86f78f180a4ebe89a" - integrity sha512-BLHItGr82rUbHhjMu41d+vw9Md49i81jmZSV00HdTq4t+RTHywmEht/23mNFpUl2YeLYJZJyGz4rdlMAyOxNeg== - dependencies: - del "^5.1.0" - meow "^6.1.1" - del@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" @@ -13831,14 +13791,6 @@ filesize@6.1.0: resolved "https://registry.yarnpkg.com/filesize/-/filesize-6.1.0.tgz#e81bdaa780e2451d714d71c0d7a4f3238d37ad00" integrity sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg== -fill-keys@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/fill-keys/-/fill-keys-1.0.2.tgz#9a8fa36f4e8ad634e3bf6b4f3c8882551452eb20" - integrity sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA= - dependencies: - is-object "~1.0.1" - merge-descriptors "~1.0.0" - fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" @@ -14044,20 +13996,6 @@ focus-lock@^0.7.0: resolved "https://registry.yarnpkg.com/focus-lock/-/focus-lock-0.7.0.tgz#b2bfb0ca7beacc8710a1ff74275fe0dc60a1d88a" integrity sha512-LI7v2mH02R55SekHYdv9pRHR9RajVNyIJ2N5IEkWbg7FT5ZmJ9Hw4mWxHeEUcd+dJo0QmzztHvDvWcc7prVFsw== -focus-trap-react@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/focus-trap-react/-/focus-trap-react-3.1.2.tgz#4dd021ccd028bbd3321147d132cdf7585d6d1394" - integrity sha512-MoQmONoy9gRPyrC5DGezkcOMGgx7MtIOAQDHe098UtL2sA2vmucJwEmQisb+8LRXNYFHxuw5zJ1oLFeKu4Mteg== - dependencies: - focus-trap "^2.0.1" - -focus-trap@^2.0.1: - version "2.4.5" - resolved "https://registry.yarnpkg.com/focus-trap/-/focus-trap-2.4.5.tgz#91c9c9ffb907f8f4446d80202dda9c12c2853ddb" - integrity sha512-jkz7Dh6Pb4ox+z24GhVABDE7lFT19z7KVrpYGH5qqI6KK3Y2IcXhBx844W6ZXYahD+jOEUcGz49dLakXg2sjOQ== - dependencies: - tabbable "^1.0.3" - folktale@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/folktale/-/folktale-2.0.1.tgz#6dc26a65565aefdef9520223e022dddf5b8d8462" @@ -14155,11 +14093,6 @@ fork-ts-checker-webpack-plugin@4.1.6, fork-ts-checker-webpack-plugin@^4.1.4: tapable "^1.0.0" worker-rpc "^0.1.0" -form-data-to-object@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/form-data-to-object/-/form-data-to-object-0.2.0.tgz#f7a8e68ddd910a1100a65e25ac6a484143ff8168" - integrity sha1-96jmjd2RChEApl4lrGpIQUP/gWg= - form-data@^2.3.1, form-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.0.tgz#094ec359dc4b55e7d62e0db4acd76e89fe874d37" @@ -14211,14 +14144,6 @@ formidable@^1.2.0: resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.2.2.tgz#bf69aea2972982675f00865342b982986f6b8dd9" integrity sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q== -formsy-react@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/formsy-react/-/formsy-react-1.1.5.tgz#ee0911bb70712eb6fb9924d56fdb974a19006955" - integrity sha512-nNWe4Vbp6aDQ/zSxJ7gVQgD5+avFRVbydcjA2Om42flxpQFrKE54AAbuyEj3Jvv+2b9LVl+WLMAPalyvLjwNcQ== - dependencies: - form-data-to-object "^0.2.0" - prop-types "^15.5.10" - forwarded-parse@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/forwarded-parse/-/forwarded-parse-2.1.0.tgz#1ae9d7a4be3af884f74d936d856f7d8c6abd0439" @@ -14589,11 +14514,6 @@ gifwrap@^0.9.2: image-q "^1.1.1" omggif "^1.0.10" -github-markdown-css@^2.10.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/github-markdown-css/-/github-markdown-css-2.10.0.tgz#0612fed22816b33b282f37ef8def7a4ecabfe993" - integrity sha512-RX5VUC54uX6Lvrm226M9kMzsNeOa81MnKyxb3J0G5KLjyoOySOZgwyKFkUpv6iUhooiUZdogk+OTwQPJ4WttYg== - github-slugger@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.3.0.tgz#9bd0a95c5efdfc46005e82a906ef8e2a059124c9" @@ -16675,7 +16595,7 @@ is-obj@^2.0.0: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== -is-object@^1.0.1, is-object@~1.0.1: +is-object@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" integrity sha1-iVJojF7C/9awPsyF52ngKQMINHA= @@ -17696,7 +17616,7 @@ jju@~1.4.0: resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" integrity sha1-o6vicYryQaKykE+EpiWXDzia4yo= -joi@*, joi@^17.4.0: +joi@*, joi@^17.3.0, joi@^17.4.0: version "17.4.0" resolved "https://registry.yarnpkg.com/joi/-/joi-17.4.0.tgz#b5c2277c8519e016316e49ababd41a1908d9ef20" integrity sha512-F4WiW2xaV6wc1jxete70Rw4V/VuMd6IN+a5ilZsxG4uYtUXWu2kq9W5P2dz30e7Gmw8RCbY/u/uk+dMPma9tAg== @@ -17707,17 +17627,6 @@ joi@*, joi@^17.4.0: "@sideway/formula" "^3.0.0" "@sideway/pinpoint" "^2.0.0" -joi@^17.3.0: - version "17.3.0" - resolved "https://registry.yarnpkg.com/joi/-/joi-17.3.0.tgz#f1be4a6ce29bc1716665819ac361dfa139fff5d2" - integrity sha512-Qh5gdU6niuYbUIUV5ejbsMiiFmBdw8Kcp8Buj2JntszCkCfxJ9Cz76OtHxOZMPXrt5810iDIXs+n1nNVoquHgg== - dependencies: - "@hapi/hoek" "^9.0.0" - "@hapi/topo" "^5.0.0" - "@sideway/address" "^4.1.0" - "@sideway/formula" "^3.0.0" - "@sideway/pinpoint" "^2.0.0" - jpeg-js@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.0.4.tgz#06aaf47efec7af0b1924a59cd695a6d2b5ed870e" @@ -19321,23 +19230,6 @@ memory-fs@^0.5.0: errno "^0.1.3" readable-stream "^2.0.1" -meow@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/meow/-/meow-6.1.1.tgz#1ad64c4b76b2a24dfb2f635fddcadf320d251467" - integrity sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "^4.0.2" - normalize-package-data "^2.5.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.13.1" - yargs-parser "^18.1.3" - meow@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/meow/-/meow-7.0.1.tgz#1ed4a0a50b3844b451369c48362eb0515f04c1dc" @@ -19392,7 +19284,7 @@ meow@^9.0.0: type-fest "^0.18.0" yargs-parser "^20.2.3" -merge-descriptors@1.0.1, merge-descriptors@~1.0.0: +merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= @@ -19850,11 +19742,6 @@ module-details-from-path@^1.0.3: resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b" integrity sha1-EUyUlnPiqKNenTV4hSeqN7Z52is= -module-not-found-error@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/module-not-found-error/-/module-not-found-error-1.0.1.tgz#cf8b4ff4f29640674d6cdd02b0e3bc523c2bbdc0" - integrity sha1-z4tP9PKWQGdNbN0CsOO8UjwrvcA= - moment-duration-format@^2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/moment-duration-format/-/moment-duration-format-2.3.2.tgz#5fa2b19b941b8d277122ff3f87a12895ec0d6212" @@ -22471,15 +22358,6 @@ propagate@^2.0.0: resolved "https://registry.yarnpkg.com/propagate/-/propagate-2.0.1.tgz#40cdedab18085c792334e64f0ac17256d38f9a45" integrity sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag== -proper-lockfile@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/proper-lockfile/-/proper-lockfile-3.2.0.tgz#89ca420eea1d55d38ca552578851460067bcda66" - integrity sha512-iMghHHXv2bsxl6NchhEaFck8tvX3F9cknEEh1SUpguUOBjN7PAAW9BLzmbc1g/mCD1gY3EE2EABBHPJfFdHFmA== - dependencies: - graceful-fs "^4.1.11" - retry "^0.12.0" - signal-exit "^3.0.2" - property-information@^5.0.0, property-information@^5.0.1, property-information@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.5.0.tgz#4dc075d493061a82e2b7d096f406e076ed859943" @@ -22534,15 +22412,6 @@ proxy-from-env@^1.0.0, proxy-from-env@^1.1.0: resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== -proxyquire@1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/proxyquire/-/proxyquire-1.8.0.tgz#02d514a5bed986f04cbb2093af16741535f79edc" - integrity sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw= - dependencies: - fill-keys "^1.0.2" - module-not-found-error "^1.0.0" - resolve "~1.1.7" - prr@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" @@ -23141,14 +23010,6 @@ react-input-autosize@^2.2.1, react-input-autosize@^2.2.2: dependencies: prop-types "^15.5.8" -react-input-range@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/react-input-range/-/react-input-range-1.3.0.tgz#f96d001631ab817417f1e26d8f9f9684b4827f59" - integrity sha1-+W0AFjGrgXQX8eJtj5+WhLSCf1k= - dependencies: - autobind-decorator "^1.3.4" - prop-types "^15.5.8" - react-inspector@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-5.0.1.tgz#8a30f3d488c4f40203624bbe24800f508ae05d3a" @@ -24518,7 +24379,7 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@1.1.7, resolve@~1.1.7: +resolve@1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= @@ -26601,7 +26462,7 @@ syntax-error@^1.1.1: dependencies: acorn-node "^1.2.0" -tabbable@1.1.3, tabbable@^1.0.3: +tabbable@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-1.1.3.tgz#0e4ee376f3631e42d7977a074dbd2b3827843081" integrity sha512-nOWwx35/JuDI4ONuF0ZTo6lYvI0fY0tZCH1ErzY2EXfu4az50ZyiUX8X073FLiZtmWUVlkRnuXsehjJgCw9tYg== @@ -26841,7 +26702,7 @@ term-size@^2.1.0: resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.0.tgz#1f16adedfe9bdc18800e1776821734086fcc6753" integrity sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw== -terminal-link@^2.0.0, terminal-link@^2.1.1: +terminal-link@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== @@ -27640,11 +27501,6 @@ uglify-to-browserify@~1.0.0: resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" integrity sha1-bgkk1r2mta/jSeOabWMoUKD4grc= -ui-select@0.19.8: - version "0.19.8" - resolved "https://registry.yarnpkg.com/ui-select/-/ui-select-0.19.8.tgz#74860848a7fd8bc494d9856d2f62776ea98637c1" - integrity sha1-dIYISKf9i8SU2YVtL2J3bqmGN8E= - uid-safe@2.1.5: version "2.1.5" resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.5.tgz#2b3d5c7240e8fc2e58f8aa269e5ee49c0857bd3a" @@ -28068,13 +27924,6 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" -unstated@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/unstated/-/unstated-2.1.1.tgz#36b124dfb2e7a12d39d0bb9c46dfb6e51276e3a2" - integrity sha512-fORlTWMZxq7NuMJDxyIrrYIZKN7wEWYQ9SiaJfIRcSpsowr6Ph/JIfK2tgtXLW614JfPG/t5q9eEIhXRCf55xg== - dependencies: - create-react-context "^0.1.5" - untildify@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" From c6c4f52fc373e5702eb9452a0d3879bdf06caa2a Mon Sep 17 00:00:00 2001 From: Marta Bondyra Date: Thu, 9 Sep 2021 17:15:44 +0200 Subject: [PATCH 13/57] [Lens] comment redux logger (#111513) * [Lens] comment redux logger * Update x-pack/plugins/lens/public/state_management/index.ts Co-authored-by: Marco Liberati * Update x-pack/plugins/lens/public/state_management/index.ts Co-authored-by: Marco Liberati Co-authored-by: Marco Liberati Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- x-pack/plugins/lens/public/state_management/index.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/lens/public/state_management/index.ts b/x-pack/plugins/lens/public/state_management/index.ts index a23a040de2361..1d8f4fdffa730 100644 --- a/x-pack/plugins/lens/public/state_management/index.ts +++ b/x-pack/plugins/lens/public/state_management/index.ts @@ -6,7 +6,7 @@ */ import { configureStore, getDefaultMiddleware, DeepPartial } from '@reduxjs/toolkit'; -import logger from 'redux-logger'; +import { createLogger } from 'redux-logger'; import { useDispatch, useSelector, TypedUseSelectorHook } from 'react-redux'; import { lensSlice } from './lens_slice'; import { timeRangeMiddleware } from './time_range_middleware'; @@ -50,7 +50,14 @@ export const makeConfigureStore = ( optimizingMiddleware(), timeRangeMiddleware(storeDeps.lensServices.data), ]; - if (process.env.NODE_ENV === 'development') middleware.push(logger); + if (process.env.NODE_ENV === 'development') { + middleware.push( + createLogger({ + // @ts-ignore + predicate: () => window.ELASTIC_LENS_LOGGER, + }) + ); + } return configureStore({ reducer, From fdc7aac4aa7c32f18d63475a4904968029796c64 Mon Sep 17 00:00:00 2001 From: Lisa Cawley Date: Thu, 9 Sep 2021 08:28:05 -0700 Subject: [PATCH 14/57] [DOCS] APM failed transaction correlations (#111219) --- docs/apm/correlations.asciidoc | 88 ++++++------------ .../correlations-failed-transactions.png | Bin 0 -> 151440 bytes docs/apm/images/error-rate-hover.png | Bin 524077 -> 0 bytes 3 files changed, 27 insertions(+), 61 deletions(-) create mode 100644 docs/apm/images/correlations-failed-transactions.png delete mode 100644 docs/apm/images/error-rate-hover.png diff --git a/docs/apm/correlations.asciidoc b/docs/apm/correlations.asciidoc index c0c18433c9021..2165994b8372f 100644 --- a/docs/apm/correlations.asciidoc +++ b/docs/apm/correlations.asciidoc @@ -58,68 +58,34 @@ out, you can begin viewing sample traces to continue your investigation. [[correlations-error-rate]] ==== Find failed transaction correlations -The correlations on the *Error rate* tab help you discover which fields are -contributing to failed transactions. - -By default, a number of attributes commonly known to cause performance issues, -like version, infrastructure, and location, are included, but all are completely -customizable to your APM data. Find something interesting? A quick click of a -button will auto-query your data as you work to resolve the underlying issue. - -The error rate over time chart visualizes the change in error rate over the selected time frame. -Correlated attributes are sorted by _Impact_–a visual representation of the -{ref}/search-aggregations-bucket-significantterms-aggregation.html[significant terms aggregation] -score that powers correlations. -Attributes with a high impact, or attributes present in a large percentage of failed transactions, -may contribute to increased error rates. - -To find error rate correlations, hover over each potentially correlated attribute to -compare the error rate distribution of transactions with and without the selected attribute. - -For example, in the screenshot below, the field `url.original` and value `http://localhost:3100...` -existed in 100% of failed transactions between 6:00 and 10:30. +beta::[] + +The correlations on the *Failed transaction correlations* tab help you discover +which attributes are most influential in distinguishing between transaction +failures and successes. In this context, the success or failure of a transaction +is determined by its {ecs-ref}/ecs-event.html#field-event-outcome[event.outcome] +value. For example, APM agents set the `event.outcome` to `failure` when an HTTP +transaction returns a `5xx` status code. + +// The chart highlights the failed transactions in the overall latency distribution for the transaction group. +If there are attributes that have a statistically significant correlation with +failed transactions, they are listed in a table. The table is sorted by scores, +which are mapped to high, medium, or low impact levels. Attributes with high +impact levels are more likely to contribute to failed transactions. +// By default, the attribute with the highest score is added to the chart. To see a different attribute in the chart, hover over its row in the table. + +For example, in the screenshot below, the field +`kubernetes.pod.name` and value `frontend-node-59dff47885-fl5lb` has a medium +impact level and existed in 19% of the failed transactions. [role="screenshot"] -image::apm/images/error-rate-hover.png[Correlations errors hover effect] - -Select the `+` filter to create a new query in the {apm-app} for transactions with -`url.original: http://localhost:3100...`. With the "noise" now filtered out, -you can begin viewing sample traces to continue your investigation. - -As you sift through erroneous transactions, you'll likely notice other interesting attributes. -Return to the correlations fly-out and select *Customize fields* to search on these new attributes. -You may need to do this a few times–each time filtering out more and more noise and bringing you -closer to a diagnosis. - -[discrete] -[[correlations-customize-fields]] -===== Customize fields - -By default, a handful of attributes commonly known to cause performance issues -are included in the analysis on the *Error rate* tab. You can add and remove -fields under the **Customize fields** dropdown. - -The following fields are selected by default. To keep the default list -manageable, only the first six matching fields with wildcards are used. - -**Frontend (RUM) agent:** - -* `labels.*` -* `user.*` -* `user_agent.name` -* `user_agent.os.name` -* `url.original` - -**Backend agents:** +image::apm/images/correlations-failed-transactions.png[Failed transaction correlations] -* `labels.*` -* `host.ip` -* `service.node.name` -* `service.version` +TIP: Some details, such as the failure and success percentages, are available +only when the +<> +advanced setting is enabled. -[TIP] -==== -* Want to start over? Select **reset** to clear your customizations. -* The *Latency* tab does not have a **Customize fields** dropdown, since it -automatically considers all relevant fields in the transactions. -==== +Select the `+` filter to create a new query in the {apm-app} for transactions +with this attribute. You might do his for multiple attributes--each time +filtering out more and more noise and bringing you closer to a diagnosis. \ No newline at end of file diff --git a/docs/apm/images/correlations-failed-transactions.png b/docs/apm/images/correlations-failed-transactions.png new file mode 100644 index 0000000000000000000000000000000000000000..3258b44f7097bc1c5df52d7633fcd9ab368d4e51 GIT binary patch literal 151440 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 z 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

NmS3A|&6jgDQ;2(|6ku9d4dr9(*>#$tb&u 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 HT88}()HBOG literal 0 HcmV?d00001 diff --git a/docs/apm/images/error-rate-hover.png b/docs/apm/images/error-rate-hover.png deleted file mode 100644 index 69f000930931897e233384f9530dc7f505f39ba1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 524077 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 WeIBg}6~+_bkD{!qO!2LILH`G$q*KZO From 930bc9c1e3d947a1c6683bf189147d1bfbe07ac8 Mon Sep 17 00:00:00 2001 From: Kevin Qualters <56408403+kqualters-elastic@users.noreply.github.com> Date: Thu, 9 Sep 2021 11:55:57 -0400 Subject: [PATCH 15/57] Use correct z-index for timeline global footer (#111492) --- .../security_solution/public/app/home/template_wrapper/index.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/x-pack/plugins/security_solution/public/app/home/template_wrapper/index.tsx b/x-pack/plugins/security_solution/public/app/home/template_wrapper/index.tsx index 67d9943fabe83..99f67ba26e8f1 100644 --- a/x-pack/plugins/security_solution/public/app/home/template_wrapper/index.tsx +++ b/x-pack/plugins/security_solution/public/app/home/template_wrapper/index.tsx @@ -42,7 +42,6 @@ const StyledKibanaPageTemplate = styled(KibanaPageTemplate)<{ transform: ${( { $isShowingTimelineOverlay } // Since the bottom bar wraps the whole overlay now, need to override any transforms when it is open ) => ($isShowingTimelineOverlay ? 'none' : 'translateY(calc(100% - 50px))')}; - z-index: ${({ theme }) => theme.eui.euiZLevel8}; .${IS_DRAGGING_CLASS_NAME} & { // When a drag is in process the bottom flyout should slide up to allow a drop From 7f441b49b3804271270f7f3f883b300306656b6e Mon Sep 17 00:00:00 2001 From: Robert Oskamp Date: Thu, 9 Sep 2021 17:58:58 +0200 Subject: [PATCH 16/57] [ML] Functional tests - skip color assertions in cloud (#111695) This PR skips color assertions during functional tests in cloud environments. --- x-pack/test/functional/services/ml/common_ui.ts | 5 +++++ x-pack/test/functional/services/transform/wizard.ts | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/x-pack/test/functional/services/ml/common_ui.ts b/x-pack/test/functional/services/ml/common_ui.ts index 9af9aaa45be5c..65621c4959d37 100644 --- a/x-pack/test/functional/services/ml/common_ui.ts +++ b/x-pack/test/functional/services/ml/common_ui.ts @@ -241,6 +241,11 @@ export function MachineLearningCommonUIProvider({ channelTolerance = 10, valueTolerance = 10 ) { + if (process.env.TEST_CLOUD) { + log.warning('Not running color assertions in cloud'); + return; + } + await retry.tryForTime(30 * 1000, async () => { await testSubjects.existOrFail(dataTestSubj); diff --git a/x-pack/test/functional/services/transform/wizard.ts b/x-pack/test/functional/services/transform/wizard.ts index 607f2ee120ed1..feda634e90cf2 100644 --- a/x-pack/test/functional/services/transform/wizard.ts +++ b/x-pack/test/functional/services/transform/wizard.ts @@ -22,6 +22,7 @@ export type HistogramCharts = Array<{ export function TransformWizardProvider({ getService, getPageObjects }: FtrProviderContext) { const aceEditor = getService('aceEditor'); const canvasElement = getService('canvasElement'); + const log = getService('log'); const testSubjects = getService('testSubjects'); const comboBox = getService('comboBox'); const retry = getService('retry'); @@ -241,6 +242,11 @@ export function TransformWizardProvider({ getService, getPageObjects }: FtrProvi }, async assertIndexPreviewHistogramCharts(expectedHistogramCharts: HistogramCharts) { + if (process.env.TEST_CLOUD) { + log.warning('Not running color assertions in cloud'); + return; + } + // For each chart, get the content of each header cell and assert // the legend text and column id and if the chart should be present or not. await retry.tryForTime(5000, async () => { From a7c3172285a7852bcf73527f57993a97eb053cd2 Mon Sep 17 00:00:00 2001 From: Stacey Gammon Date: Thu, 9 Sep 2021 12:05:43 -0400 Subject: [PATCH 17/57] add doc about git clean for working around ts issues (#111572) * add doc about git clean for working around ts issues * Update dev_docs/troubleshooting.mdx Co-authored-by: Spencer * Update dev_docs/troubleshooting.mdx Co-authored-by: Spencer * Update troubleshooting.mdx Co-authored-by: Spencer --- dev_docs/troubleshooting.mdx | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 dev_docs/troubleshooting.mdx diff --git a/dev_docs/troubleshooting.mdx b/dev_docs/troubleshooting.mdx new file mode 100644 index 0000000000000..f624a8cd77507 --- /dev/null +++ b/dev_docs/troubleshooting.mdx @@ -0,0 +1,28 @@ +--- +id: kibTroubleshooting +slug: /kibana-dev-docs/troubleshooting +title: Troubleshooting +summary: A collection of tips for working around strange issues. +date: 2021-09-08 +tags: ['kibana', 'onboarding', 'dev', 'troubleshooting'] +--- + +### Typescript issues + +When switching branches, sometimes the TypeScript cache can get mixed up and show some invalid errors. If you run into TypeScript issues (invalid errors, or if it's taking too long to build types), here a few things to try. + +1. Build TypeScript references with the clean command. + +``` +node scripts/build_ts_refs --clean +``` + +2. Restore your repository to a totally fresh state by running `git clean` + +``` +# dry-run the clean to see what will be deleted +git clean -fdxn -e /config -e /.vscode + +# review the files which will be deleted, consider adding some more excludes (-e) +# re-run without the dry-run (-n) flag to actually delete the files +``` From 7ae423c5bbc0d8cc8707b93a363da73d40c4d0d1 Mon Sep 17 00:00:00 2001 From: Kuldeep M Date: Thu, 9 Sep 2021 17:09:29 +0100 Subject: [PATCH 18/57] Workplace Search remove extraneous tooltip from Recent Activity table (#111709) * remove extraneous tooltip remove remove extraneous tooltip from Recent Activity table on the Source Overview page * remove unused import * rename trigger name to something more relevant --- .../shared/status_item/status_item.tsx | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/status_item/status_item.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/status_item/status_item.tsx index 35ac8f1b85c05..025230d0b5c1a 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/status_item/status_item.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/status_item/status_item.tsx @@ -11,7 +11,6 @@ import { EuiCopy, EuiButton, EuiButtonIcon, - EuiToolTip, EuiSpacer, EuiCodeBlock, EuiPopover, @@ -30,19 +29,17 @@ export const StatusItem: React.FC = ({ details }) => { const closePopover = () => setIsPopoverOpen(false); const formattedDetails = details.join('\n'); - const tooltipPopoverTrigger = ( - - - + const popoverTrigger = ( + ); const infoPopover = ( - + Date: Thu, 9 Sep 2021 12:14:39 -0400 Subject: [PATCH 19/57] [Event Log][8.0] Set all event log index assets to hidden (#110929) * Setting event log indices to hidden * Cleaning up cluster client and adding unit tests * Unit tests * Unit tests * Unit tests * Unit tests * PR feedback Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../server/es/cluster_client_adapter.mock.ts | 6 + .../server/es/cluster_client_adapter.test.ts | 287 +++++++++++++++- .../server/es/cluster_client_adapter.ts | 138 +++++++- .../event_log/server/es/context.test.ts | 1 + .../event_log/server/es/documents.test.ts | 11 +- .../plugins/event_log/server/es/documents.ts | 15 +- .../plugins/event_log/server/es/init.test.ts | 321 ++++++++++++++++++ x-pack/plugins/event_log/server/es/init.ts | 120 +++++++ 8 files changed, 875 insertions(+), 24 deletions(-) diff --git a/x-pack/plugins/event_log/server/es/cluster_client_adapter.mock.ts b/x-pack/plugins/event_log/server/es/cluster_client_adapter.mock.ts index 8a33342e71d02..667512ea13f65 100644 --- a/x-pack/plugins/event_log/server/es/cluster_client_adapter.mock.ts +++ b/x-pack/plugins/event_log/server/es/cluster_client_adapter.mock.ts @@ -17,6 +17,12 @@ const createClusterClientMock = () => { createIndexTemplate: jest.fn(), doesAliasExist: jest.fn(), createIndex: jest.fn(), + getExistingLegacyIndexTemplates: jest.fn(), + setLegacyIndexTemplateToHidden: jest.fn(), + getExistingIndices: jest.fn(), + setIndexToHidden: jest.fn(), + getExistingIndexAliases: jest.fn(), + setIndexAliasToHidden: jest.fn(), queryEventsBySavedObjects: jest.fn(), shutdown: jest.fn(), }; diff --git a/x-pack/plugins/event_log/server/es/cluster_client_adapter.test.ts b/x-pack/plugins/event_log/server/es/cluster_client_adapter.test.ts index ef43b9081f9ec..f4140298928b6 100644 --- a/x-pack/plugins/event_log/server/es/cluster_client_adapter.test.ts +++ b/x-pack/plugins/event_log/server/es/cluster_client_adapter.test.ts @@ -16,7 +16,7 @@ import { findOptionsSchema } from '../event_log_client'; import { delay } from '../lib/delay'; import { times } from 'lodash'; import { DeeplyMockedKeys } from '@kbn/utility-types/jest'; -import { RequestEvent } from '@elastic/elasticsearch'; +import { estypes, RequestEvent } from '@elastic/elasticsearch'; type MockedLogger = ReturnType; @@ -215,22 +215,39 @@ describe('doesIndexTemplateExist', () => { }); }); - test('should return true when call cluster returns true', async () => { + test('should return true when call cluster to legacy template API returns true', async () => { clusterClient.indices.existsTemplate.mockResolvedValue(asApiResponse(true)); + clusterClient.indices.existsIndexTemplate.mockResolvedValue(asApiResponse(false)); await expect(clusterClientAdapter.doesIndexTemplateExist('foo')).resolves.toEqual(true); }); - test('should return false when call cluster returns false', async () => { + test('should return true when call cluster to index template API returns true', async () => { clusterClient.indices.existsTemplate.mockResolvedValue(asApiResponse(false)); + clusterClient.indices.existsIndexTemplate.mockResolvedValue(asApiResponse(true)); + await expect(clusterClientAdapter.doesIndexTemplateExist('foo')).resolves.toEqual(true); + }); + + test('should return false when both call cluster calls returns false', async () => { + clusterClient.indices.existsTemplate.mockResolvedValue(asApiResponse(false)); + clusterClient.indices.existsIndexTemplate.mockResolvedValue(asApiResponse(false)); await expect(clusterClientAdapter.doesIndexTemplateExist('foo')).resolves.toEqual(false); }); - test('should throw error when call cluster throws an error', async () => { + test('should throw error when call cluster to legacy template API throws an error', async () => { clusterClient.indices.existsTemplate.mockRejectedValue(new Error('Fail')); await expect( clusterClientAdapter.doesIndexTemplateExist('foo') ).rejects.toThrowErrorMatchingInlineSnapshot( - `"error checking existance of index template: Fail"` + `"error checking existence of index template: Fail"` + ); + }); + + test('should throw error when call cluster to index template API throws an error', async () => { + clusterClient.indices.existsIndexTemplate.mockRejectedValue(new Error('Fail')); + await expect( + clusterClientAdapter.doesIndexTemplateExist('foo') + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"error checking existence of index template: Fail"` ); }); }); @@ -238,7 +255,7 @@ describe('doesIndexTemplateExist', () => { describe('createIndexTemplate', () => { test('should call cluster with given template', async () => { await clusterClientAdapter.createIndexTemplate('foo', { args: true }); - expect(clusterClient.indices.putTemplate).toHaveBeenCalledWith({ + expect(clusterClient.indices.putIndexTemplate).toHaveBeenCalledWith({ name: 'foo', create: true, body: { args: true }, @@ -246,20 +263,274 @@ describe('createIndexTemplate', () => { }); test(`should throw error if index template still doesn't exist after error is thrown`, async () => { - clusterClient.indices.putTemplate.mockRejectedValueOnce(new Error('Fail')); + clusterClient.indices.putIndexTemplate.mockRejectedValueOnce(new Error('Fail')); clusterClient.indices.existsTemplate.mockResolvedValueOnce(asApiResponse(false)); + clusterClient.indices.existsIndexTemplate.mockResolvedValueOnce(asApiResponse(false)); await expect( clusterClientAdapter.createIndexTemplate('foo', { args: true }) ).rejects.toThrowErrorMatchingInlineSnapshot(`"error creating index template: Fail"`); }); test('should not throw error if index template exists after error is thrown', async () => { - clusterClient.indices.putTemplate.mockRejectedValueOnce(new Error('Fail')); + clusterClient.indices.putIndexTemplate.mockRejectedValueOnce(new Error('Fail')); clusterClient.indices.existsTemplate.mockResolvedValueOnce(asApiResponse(true)); await clusterClientAdapter.createIndexTemplate('foo', { args: true }); }); }); +describe('getExistingLegacyIndexTemplates', () => { + test('should call cluster with given index template pattern', async () => { + await clusterClientAdapter.getExistingLegacyIndexTemplates('foo*'); + expect(clusterClient.indices.getTemplate).toHaveBeenCalledWith( + { + name: 'foo*', + }, + { ignore: [404] } + ); + }); + + test('should return templates when found', async () => { + const response = { + 'foo-bar-template': { + order: 0, + index_patterns: ['foo-bar-*'], + settings: { index: { number_of_shards: '1' } }, + mappings: { dynamic: false, properties: {} }, + aliases: {}, + }, + }; + clusterClient.indices.getTemplate.mockResolvedValue( + asApiResponse(response) + ); + await expect(clusterClientAdapter.getExistingLegacyIndexTemplates('foo*')).resolves.toEqual( + response + ); + }); + + test('should throw error when call cluster throws an error', async () => { + clusterClient.indices.getTemplate.mockRejectedValue(new Error('Fail')); + await expect( + clusterClientAdapter.getExistingLegacyIndexTemplates('foo*') + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"error getting existing legacy index templates: Fail"` + ); + }); +}); + +describe('setLegacyIndexTemplateToHidden', () => { + test('should call cluster with given index template name and template', async () => { + const currentTemplate = { + order: 0, + index_patterns: ['foo-bar-*'], + settings: { index: { number_of_shards: '1' } }, + mappings: { dynamic: false, properties: {} }, + aliases: {}, + }; + await clusterClientAdapter.setLegacyIndexTemplateToHidden('foo-bar-template', currentTemplate); + expect(clusterClient.indices.putTemplate).toHaveBeenCalledWith({ + name: 'foo-bar-template', + body: { + order: 0, + index_patterns: ['foo-bar-*'], + settings: { index: { number_of_shards: '1' }, 'index.hidden': true }, + mappings: { dynamic: false, properties: {} }, + aliases: {}, + }, + }); + }); + + test('should throw error when call cluster throws an error', async () => { + clusterClient.indices.putTemplate.mockRejectedValue(new Error('Fail')); + await expect( + clusterClientAdapter.setLegacyIndexTemplateToHidden('foo-bar-template', { + aliases: {}, + index_patterns: [], + mappings: {}, + order: 0, + settings: {}, + }) + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"error setting existing legacy index template foo-bar-template to hidden: Fail"` + ); + }); +}); + +describe('getExistingIndices', () => { + test('should call cluster with given index pattern', async () => { + await clusterClientAdapter.getExistingIndices('foo*'); + expect(clusterClient.indices.getSettings).toHaveBeenCalledWith( + { + index: 'foo*', + }, + { ignore: [404] } + ); + }); + + test('should return indices when found', async () => { + const response = { + 'foo-bar-000001': { + settings: { + index: { + number_of_shards: 1, + uuid: 'Ure4d9edQbCMtcmyy0ObrA', + }, + }, + }, + }; + clusterClient.indices.getSettings.mockResolvedValue( + asApiResponse(response) + ); + await expect(clusterClientAdapter.getExistingIndices('foo*')).resolves.toEqual(response); + }); + + test('should throw error when call cluster throws an error', async () => { + clusterClient.indices.getSettings.mockRejectedValue(new Error('Fail')); + await expect( + clusterClientAdapter.getExistingIndices('foo*') + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"error getting existing indices matching pattern foo*: Fail"` + ); + }); +}); + +describe('setIndexToHidden', () => { + test('should call cluster with given index name', async () => { + await clusterClientAdapter.setIndexToHidden('foo-bar-000001'); + expect(clusterClient.indices.putSettings).toHaveBeenCalledWith({ + index: 'foo-bar-000001', + body: { + settings: { + 'index.hidden': true, + }, + }, + }); + }); + + test('should throw error when call cluster throws an error', async () => { + clusterClient.indices.putSettings.mockRejectedValue(new Error('Fail')); + await expect( + clusterClientAdapter.setIndexToHidden('foo-bar-000001') + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"error setting existing index foo-bar-000001 to hidden: Fail"` + ); + }); +}); + +describe('getExistingIndexAliases', () => { + test('should call cluster with given index pattern', async () => { + await clusterClientAdapter.getExistingIndexAliases('foo*'); + expect(clusterClient.indices.getAlias).toHaveBeenCalledWith( + { + index: 'foo*', + }, + { ignore: [404] } + ); + }); + + test('should return aliases when found', async () => { + const response = { + 'foo-bar-000001': { + aliases: { + 'foo-bar': { + is_write_index: true, + }, + }, + }, + }; + clusterClient.indices.getAlias.mockResolvedValue( + asApiResponse(response) + ); + await expect(clusterClientAdapter.getExistingIndexAliases('foo*')).resolves.toEqual(response); + }); + + test('should throw error when call cluster throws an error', async () => { + clusterClient.indices.getAlias.mockRejectedValue(new Error('Fail')); + await expect( + clusterClientAdapter.getExistingIndexAliases('foo*') + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"error getting existing index aliases matching pattern foo*: Fail"` + ); + }); +}); + +describe('setIndexAliasToHidden', () => { + test('should call cluster with given index name and aliases', async () => { + await clusterClientAdapter.setIndexAliasToHidden('foo-bar-000001', { + aliases: { + 'foo-bar': { + is_write_index: true, + }, + }, + }); + expect(clusterClient.indices.updateAliases).toHaveBeenCalledWith({ + body: { + actions: [ + { + add: { + index: 'foo-bar-000001', + alias: 'foo-bar', + is_hidden: true, + is_write_index: true, + }, + }, + ], + }, + }); + }); + + test('should update multiple aliases at once and preserve existing alias settings', async () => { + await clusterClientAdapter.setIndexAliasToHidden('foo-bar-000001', { + aliases: { + 'foo-bar': { + is_write_index: true, + }, + 'foo-b': { + index_routing: 'index', + routing: 'route', + }, + }, + }); + expect(clusterClient.indices.updateAliases).toHaveBeenCalledWith({ + body: { + actions: [ + { + add: { + index: 'foo-bar-000001', + alias: 'foo-bar', + is_hidden: true, + is_write_index: true, + }, + }, + { + add: { + index: 'foo-bar-000001', + alias: 'foo-b', + is_hidden: true, + index_routing: 'index', + routing: 'route', + }, + }, + ], + }, + }); + }); + + test('should throw error when call cluster throws an error', async () => { + clusterClient.indices.updateAliases.mockRejectedValue(new Error('Fail')); + await expect( + clusterClientAdapter.setIndexAliasToHidden('foo-bar-000001', { + aliases: { + 'foo-bar': { + is_write_index: true, + }, + }, + }) + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"error setting existing index aliases for index foo-bar-000001 to is_hidden: Fail"` + ); + }); +}); + describe('doesAliasExist', () => { test('should call cluster with proper arguments', async () => { await clusterClientAdapter.doesAliasExist('foo'); diff --git a/x-pack/plugins/event_log/server/es/cluster_client_adapter.ts b/x-pack/plugins/event_log/server/es/cluster_client_adapter.ts index 47bd29cf4b08a..7eb3328dddb6b 100644 --- a/x-pack/plugins/event_log/server/es/cluster_client_adapter.ts +++ b/x-pack/plugins/event_log/server/es/cluster_client_adapter.ts @@ -7,7 +7,7 @@ import { Subject } from 'rxjs'; import { bufferTime, filter as rxFilter, switchMap } from 'rxjs/operators'; -import { reject, isUndefined, isNumber } from 'lodash'; +import { reject, isUndefined, isNumber, pick } from 'lodash'; import type { PublicMethodsOf } from '@kbn/utility-types'; import { Logger, ElasticsearchClient } from 'src/core/server'; import util from 'util'; @@ -163,17 +163,23 @@ export class ClusterClientAdapter { try { const esClient = await this.elasticsearchClientPromise; - const { body } = await esClient.indices.existsTemplate({ name }); - return body as boolean; + const { body: legacyResult } = await esClient.indices.existsTemplate({ name }); + const { body: indexTemplateResult } = await esClient.indices.existsIndexTemplate({ name }); + return (legacyResult as boolean) || (indexTemplateResult as boolean); } catch (err) { - throw new Error(`error checking existance of index template: ${err.message}`); + throw new Error(`error checking existence of index template: ${err.message}`); } } public async createIndexTemplate(name: string, template: Record): Promise { try { const esClient = await this.elasticsearchClientPromise; - await esClient.indices.putTemplate({ name, body: template, create: true }); + await esClient.indices.putIndexTemplate({ + name, + body: template, + // @ts-expect-error doesn't exist in @elastic/elasticsearch + create: true, + }); } catch (err) { // The error message doesn't have a type attribute we can look to guarantee it's due // to the template already existing (only long message) so we'll check ourselves to see @@ -188,6 +194,128 @@ export class ClusterClientAdapter { + try { + const esClient = await this.elasticsearchClientPromise; + const { body: templates } = await esClient.indices.getTemplate( + { name: indexTemplatePattern }, + { ignore: [404] } + ); + return templates; + } catch (err) { + throw new Error(`error getting existing legacy index templates: ${err.message}`); + } + } + + public async setLegacyIndexTemplateToHidden( + indexTemplateName: string, + currentIndexTemplate: estypes.IndicesTemplateMapping + ): Promise { + try { + const esClient = await this.elasticsearchClientPromise; + await esClient.indices.putTemplate({ + name: indexTemplateName, + body: { + ...currentIndexTemplate, + settings: { + ...currentIndexTemplate.settings, + 'index.hidden': true, + }, + }, + }); + } catch (err) { + throw new Error( + `error setting existing legacy index template ${indexTemplateName} to hidden: ${err.message}` + ); + } + } + + public async getExistingIndices( + indexPattern: string + ): Promise { + try { + const esClient = await this.elasticsearchClientPromise; + const { body: indexSettings } = await esClient.indices.getSettings( + { index: indexPattern }, + { ignore: [404] } + ); + return indexSettings; + } catch (err) { + throw new Error( + `error getting existing indices matching pattern ${indexPattern}: ${err.message}` + ); + } + } + + public async setIndexToHidden(indexName: string): Promise { + try { + const esClient = await this.elasticsearchClientPromise; + await esClient.indices.putSettings({ + index: indexName, + body: { + settings: { + 'index.hidden': true, + }, + }, + }); + } catch (err) { + throw new Error(`error setting existing index ${indexName} to hidden: ${err.message}`); + } + } + + public async getExistingIndexAliases( + indexPattern: string + ): Promise { + try { + const esClient = await this.elasticsearchClientPromise; + const { body: indexAliases } = await esClient.indices.getAlias( + { index: indexPattern }, + { ignore: [404] } + ); + return indexAliases; + } catch (err) { + throw new Error( + `error getting existing index aliases matching pattern ${indexPattern}: ${err.message}` + ); + } + } + + public async setIndexAliasToHidden( + indexName: string, + currentAliases: estypes.IndicesGetAliasIndexAliases + ): Promise { + try { + const esClient = await this.elasticsearchClientPromise; + await esClient.indices.updateAliases({ + body: { + actions: Object.keys(currentAliases.aliases).map((aliasName) => { + const existingAliasOptions = pick(currentAliases.aliases[aliasName], [ + 'is_write_index', + 'filter', + 'index_routing', + 'routing', + 'search_routing', + ]); + return { + add: { + ...existingAliasOptions, + index: indexName, + alias: aliasName, + is_hidden: true, + }, + }; + }), + }, + }); + } catch (err) { + throw new Error( + `error setting existing index aliases for index ${indexName} to is_hidden: ${err.message}` + ); + } + } + public async doesAliasExist(name: string): Promise { try { const esClient = await this.elasticsearchClientPromise; diff --git a/x-pack/plugins/event_log/server/es/context.test.ts b/x-pack/plugins/event_log/server/es/context.test.ts index 9589ab3c4aebf..0fe63ffb6217a 100644 --- a/x-pack/plugins/event_log/server/es/context.test.ts +++ b/x-pack/plugins/event_log/server/es/context.test.ts @@ -64,6 +64,7 @@ describe('createEsContext', () => { elasticsearchClientPromise: Promise.resolve(elasticsearchClient), }); elasticsearchClient.indices.existsTemplate.mockResolvedValue(asApiResponse(false)); + elasticsearchClient.indices.existsIndexTemplate.mockResolvedValue(asApiResponse(false)); elasticsearchClient.indices.existsAlias.mockResolvedValue(asApiResponse(false)); const doesAliasExist = await context.esAdapter.doesAliasExist(context.esNames.alias); expect(doesAliasExist).toBeFalsy(); diff --git a/x-pack/plugins/event_log/server/es/documents.test.ts b/x-pack/plugins/event_log/server/es/documents.test.ts index 121fcc42f37e4..6df5a1334f167 100644 --- a/x-pack/plugins/event_log/server/es/documents.test.ts +++ b/x-pack/plugins/event_log/server/es/documents.test.ts @@ -25,10 +25,11 @@ describe('getIndexTemplate()', () => { test('returns the correct details of the index template', () => { const indexTemplate = getIndexTemplate(esNames); expect(indexTemplate.index_patterns).toEqual([esNames.indexPatternWithVersion]); - expect(indexTemplate.settings.number_of_shards).toBeGreaterThanOrEqual(0); - expect(indexTemplate.settings.auto_expand_replicas).toBe('0-1'); - expect(indexTemplate.settings['index.lifecycle.name']).toBe(esNames.ilmPolicy); - expect(indexTemplate.settings['index.lifecycle.rollover_alias']).toBe(esNames.alias); - expect(indexTemplate.mappings).toMatchObject({}); + expect(indexTemplate.template.settings.number_of_shards).toBeGreaterThanOrEqual(0); + expect(indexTemplate.template.settings.auto_expand_replicas).toBe('0-1'); + expect(indexTemplate.template.settings['index.lifecycle.name']).toBe(esNames.ilmPolicy); + expect(indexTemplate.template.settings['index.lifecycle.rollover_alias']).toBe(esNames.alias); + expect(indexTemplate.template.settings['index.hidden']).toBe(true); + expect(indexTemplate.template.mappings).toMatchObject({}); }); }); diff --git a/x-pack/plugins/event_log/server/es/documents.ts b/x-pack/plugins/event_log/server/es/documents.ts index 8594fca603d18..c4ffda5f51ebe 100644 --- a/x-pack/plugins/event_log/server/es/documents.ts +++ b/x-pack/plugins/event_log/server/es/documents.ts @@ -12,13 +12,16 @@ import mappings from '../../generated/mappings.json'; export function getIndexTemplate(esNames: EsNames) { const indexTemplateBody = { index_patterns: [esNames.indexPatternWithVersion], - settings: { - number_of_shards: 1, - auto_expand_replicas: '0-1', - 'index.lifecycle.name': esNames.ilmPolicy, - 'index.lifecycle.rollover_alias': esNames.alias, + template: { + settings: { + number_of_shards: 1, + auto_expand_replicas: '0-1', + 'index.lifecycle.name': esNames.ilmPolicy, + 'index.lifecycle.rollover_alias': esNames.alias, + 'index.hidden': true, + }, + mappings, }, - mappings, }; return indexTemplateBody; diff --git a/x-pack/plugins/event_log/server/es/init.test.ts b/x-pack/plugins/event_log/server/es/init.test.ts index 074ceea1f4a24..bfdf0c17e5035 100644 --- a/x-pack/plugins/event_log/server/es/init.test.ts +++ b/x-pack/plugins/event_log/server/es/init.test.ts @@ -13,6 +13,327 @@ describe('initializeEs', () => { beforeEach(() => { esContext = contextMock.create(); + esContext.esAdapter.getExistingLegacyIndexTemplates.mockResolvedValue({}); + esContext.esAdapter.getExistingIndices.mockResolvedValue({}); + esContext.esAdapter.getExistingIndexAliases.mockResolvedValue({}); + }); + + test(`should update existing index templates if any exist and are not hidden`, async () => { + const testTemplate = { + order: 0, + index_patterns: ['foo-bar-*'], + settings: { + index: { + lifecycle: { + name: 'foo-bar-policy', + rollover_alias: 'foo-bar-1', + }, + number_of_shards: '1', + auto_expand_replicas: '0-1', + }, + }, + mappings: {}, + aliases: {}, + }; + esContext.esAdapter.getExistingLegacyIndexTemplates.mockResolvedValue({ + 'foo-bar-template': testTemplate, + }); + + await initializeEs(esContext); + expect(esContext.esAdapter.getExistingLegacyIndexTemplates).toHaveBeenCalled(); + expect(esContext.esAdapter.setLegacyIndexTemplateToHidden).toHaveBeenCalledWith( + 'foo-bar-template', + testTemplate + ); + }); + + test(`should not update existing index templates if any exist and are already hidden`, async () => { + const testTemplate = { + order: 0, + index_patterns: ['foo-bar-*'], + settings: { + index: { + lifecycle: { + name: 'foo-bar-policy', + rollover_alias: 'foo-bar-1', + }, + hidden: 'true', + number_of_shards: '1', + auto_expand_replicas: '0-1', + }, + }, + mappings: {}, + aliases: {}, + }; + esContext.esAdapter.getExistingLegacyIndexTemplates.mockResolvedValue({ + 'foo-bar-template': testTemplate, + }); + + await initializeEs(esContext); + expect(esContext.esAdapter.getExistingLegacyIndexTemplates).toHaveBeenCalled(); + expect(esContext.esAdapter.setLegacyIndexTemplateToHidden).not.toHaveBeenCalled(); + }); + + test(`should continue initialization if getting existing index templates throws an error`, async () => { + esContext.esAdapter.getExistingLegacyIndexTemplates.mockRejectedValue(new Error('Fail')); + + await initializeEs(esContext); + expect(esContext.esAdapter.getExistingLegacyIndexTemplates).toHaveBeenCalled(); + expect(esContext.logger.error).toHaveBeenCalledWith( + `error getting existing index templates - Fail` + ); + expect(esContext.esAdapter.setLegacyIndexTemplateToHidden).not.toHaveBeenCalled(); + expect(esContext.esAdapter.doesIlmPolicyExist).toHaveBeenCalled(); + }); + + test(`should continue initialization if updating existing index templates throws an error`, async () => { + const testTemplate = { + order: 0, + index_patterns: ['foo-bar-*'], + settings: { + index: { + lifecycle: { + name: 'foo-bar-policy', + rollover_alias: 'foo-bar-1', + }, + number_of_shards: '1', + auto_expand_replicas: '0-1', + }, + }, + mappings: {}, + aliases: {}, + }; + esContext.esAdapter.getExistingLegacyIndexTemplates.mockResolvedValue({ + 'foo-bar-template': testTemplate, + 'another-test-template': testTemplate, + }); + esContext.esAdapter.setLegacyIndexTemplateToHidden.mockRejectedValueOnce(new Error('Fail')); + esContext.esAdapter.setLegacyIndexTemplateToHidden.mockResolvedValueOnce(); + + await initializeEs(esContext); + expect(esContext.esAdapter.getExistingLegacyIndexTemplates).toHaveBeenCalled(); + expect(esContext.esAdapter.setLegacyIndexTemplateToHidden).toHaveBeenCalledWith( + 'foo-bar-template', + testTemplate + ); + expect(esContext.esAdapter.setLegacyIndexTemplateToHidden).toHaveBeenCalledWith( + 'another-test-template', + testTemplate + ); + expect(esContext.logger.error).toHaveBeenCalledTimes(1); + expect(esContext.logger.error).toHaveBeenCalledWith( + `error setting existing \"foo-bar-template\" index template to hidden - Fail` + ); + expect(esContext.esAdapter.doesIlmPolicyExist).toHaveBeenCalled(); + }); + + test(`should update existing index settings if any exist and are not hidden`, async () => { + const testSettings = { + settings: { + index: { + lifecycle: { + name: 'foo-bar-policy', + rollover_alias: 'foo-bar-1', + }, + routing: { + allocation: { + include: { + _tier_preference: 'data_content', + }, + }, + }, + number_of_shards: '1', + auto_expand_replicas: '0-1', + provided_name: '.kibana-event-log-7.15.0-000001', + creation_date: '1630439186791', + number_of_replicas: '0', + uuid: 'Ure4d9edQbCMtcmyy0ObrA', + version: { + created: '7150099', + }, + }, + }, + }; + esContext.esAdapter.getExistingIndices.mockResolvedValue({ + 'foo-bar-000001': testSettings, + }); + + await initializeEs(esContext); + expect(esContext.esAdapter.getExistingIndices).toHaveBeenCalled(); + expect(esContext.esAdapter.setIndexToHidden).toHaveBeenCalledWith('foo-bar-000001'); + }); + + test(`should not update existing index settings if any exist and are already hidden`, async () => { + const testSettings = { + settings: { + index: { + lifecycle: { + name: 'foo-bar-policy', + rollover_alias: 'foo-bar-1', + }, + routing: { + allocation: { + include: { + _tier_preference: 'data_content', + }, + }, + }, + hidden: 'true', + number_of_shards: '1', + auto_expand_replicas: '0-1', + provided_name: '.kibana-event-log-7.15.0-000001', + creation_date: '1630439186791', + number_of_replicas: '0', + uuid: 'Ure4d9edQbCMtcmyy0ObrA', + version: { + created: '7150099', + }, + }, + }, + }; + esContext.esAdapter.getExistingIndices.mockResolvedValue({ + 'foo-bar-000001': testSettings, + }); + + await initializeEs(esContext); + expect(esContext.esAdapter.getExistingIndices).toHaveBeenCalled(); + expect(esContext.esAdapter.setIndexToHidden).not.toHaveBeenCalled(); + }); + + test(`should continue initialization if getting existing index settings throws an error`, async () => { + esContext.esAdapter.getExistingIndices.mockRejectedValue(new Error('Fail')); + + await initializeEs(esContext); + expect(esContext.esAdapter.getExistingIndices).toHaveBeenCalled(); + expect(esContext.logger.error).toHaveBeenCalledWith(`error getting existing indices - Fail`); + expect(esContext.esAdapter.setIndexToHidden).not.toHaveBeenCalled(); + expect(esContext.esAdapter.doesIlmPolicyExist).toHaveBeenCalled(); + }); + + test(`should continue initialization if updating existing index settings throws an error`, async () => { + const testSettings = { + settings: { + index: { + lifecycle: { + name: 'foo-bar-policy', + rollover_alias: 'foo-bar-1', + }, + routing: { + allocation: { + include: { + _tier_preference: 'data_content', + }, + }, + }, + number_of_shards: '1', + auto_expand_replicas: '0-1', + provided_name: '.kibana-event-log-7.15.0-000001', + creation_date: '1630439186791', + number_of_replicas: '0', + uuid: 'Ure4d9edQbCMtcmyy0ObrA', + version: { + created: '7150099', + }, + }, + }, + }; + esContext.esAdapter.getExistingIndices.mockResolvedValue({ + 'foo-bar-000001': testSettings, + 'foo-bar-000002': testSettings, + }); + + esContext.esAdapter.setIndexToHidden.mockRejectedValueOnce(new Error('Fail')); + esContext.esAdapter.setIndexToHidden.mockResolvedValueOnce(); + + await initializeEs(esContext); + expect(esContext.esAdapter.getExistingIndices).toHaveBeenCalled(); + expect(esContext.logger.error).toHaveBeenCalledTimes(1); + expect(esContext.logger.error).toHaveBeenCalledWith( + `error setting existing \"foo-bar-000001\" index to hidden - Fail` + ); + expect(esContext.esAdapter.doesIlmPolicyExist).toHaveBeenCalled(); + }); + + test(`should update existing index aliases if any exist and are not hidden`, async () => { + const testAliases = { + aliases: { + 'foo-bar': { + is_write_index: true, + }, + }, + }; + esContext.esAdapter.getExistingIndexAliases.mockResolvedValue({ + 'foo-bar-000001': testAliases, + }); + + await initializeEs(esContext); + expect(esContext.esAdapter.getExistingIndexAliases).toHaveBeenCalled(); + expect(esContext.esAdapter.setIndexAliasToHidden).toHaveBeenCalledWith( + 'foo-bar-000001', + testAliases + ); + }); + + test(`should not update existing index aliases if any exist and are already hidden`, async () => { + const testAliases = { + aliases: { + 'foo-bar': { + is_write_index: true, + is_hidden: true, + }, + }, + }; + esContext.esAdapter.getExistingIndexAliases.mockResolvedValue({ + 'foo-bar-000001': testAliases, + }); + + await initializeEs(esContext); + expect(esContext.esAdapter.getExistingIndexAliases).toHaveBeenCalled(); + expect(esContext.esAdapter.setIndexAliasToHidden).not.toHaveBeenCalled(); + }); + + test(`should continue initialization if getting existing index aliases throws an error`, async () => { + esContext.esAdapter.getExistingIndexAliases.mockRejectedValue(new Error('Fail')); + + await initializeEs(esContext); + expect(esContext.esAdapter.getExistingIndexAliases).toHaveBeenCalled(); + expect(esContext.logger.error).toHaveBeenCalledWith( + `error getting existing index aliases - Fail` + ); + expect(esContext.esAdapter.setIndexAliasToHidden).not.toHaveBeenCalled(); + expect(esContext.esAdapter.doesIlmPolicyExist).toHaveBeenCalled(); + }); + + test(`should continue initialization if updating existing index aliases throws an error`, async () => { + const testAliases = { + aliases: { + 'foo-bar': { + is_write_index: true, + }, + }, + }; + esContext.esAdapter.getExistingIndexAliases.mockResolvedValue({ + 'foo-bar-000001': testAliases, + 'foo-bar-000002': testAliases, + }); + esContext.esAdapter.setIndexAliasToHidden.mockRejectedValueOnce(new Error('Fail')); + esContext.esAdapter.setIndexAliasToHidden.mockResolvedValueOnce(); + + await initializeEs(esContext); + expect(esContext.esAdapter.getExistingIndexAliases).toHaveBeenCalled(); + expect(esContext.esAdapter.setIndexAliasToHidden).toHaveBeenCalledWith( + 'foo-bar-000001', + testAliases + ); + expect(esContext.esAdapter.setIndexAliasToHidden).toHaveBeenCalledWith( + 'foo-bar-000002', + testAliases + ); + expect(esContext.logger.error).toHaveBeenCalledTimes(1); + expect(esContext.logger.error).toHaveBeenCalledWith( + `error setting existing \"foo-bar-000001\" index aliases - Fail` + ); + expect(esContext.esAdapter.doesIlmPolicyExist).toHaveBeenCalled(); }); test(`should create ILM policy if it doesn't exist`, async () => { diff --git a/x-pack/plugins/event_log/server/es/init.ts b/x-pack/plugins/event_log/server/es/init.ts index 484dfdc95a72c..e2769e39b28ff 100644 --- a/x-pack/plugins/event_log/server/es/init.ts +++ b/x-pack/plugins/event_log/server/es/init.ts @@ -5,6 +5,8 @@ * 2.0. */ +import { IndicesAlias, IndicesIndexStatePrefixedSettings } from '@elastic/elasticsearch/api/types'; +import { estypes } from '@elastic/elasticsearch'; import { getIlmPolicy, getIndexTemplate } from './documents'; import { EsContext } from './context'; @@ -25,6 +27,7 @@ export async function initializeEs(esContext: EsContext): Promise { async function initializeEsResources(esContext: EsContext) { const steps = new EsInitializationSteps(esContext); + await steps.setExistingAssetsToHidden(); await steps.createIlmPolicyIfNotExists(); await steps.createIndexTemplateIfNotExists(); await steps.createInitialIndexIfNotExists(); @@ -35,6 +38,122 @@ class EsInitializationSteps { this.esContext = esContext; } + async setExistingIndexTemplatesToHidden() { + let indexTemplates: estypes.IndicesGetTemplateResponse = {}; + try { + // look up existing index templates and update index.hidden to true if that + // setting is currently false or undefined + + // since we are updating to the new index template API and converting new event log + // indices to hidden in the same PR, we only need to use the legacy template API to + // look for and update existing event log indices. + indexTemplates = await this.esContext.esAdapter.getExistingLegacyIndexTemplates( + this.esContext.esNames.indexPattern + ); + } catch (err) { + // errors when trying to get existing index templates + // should not block the rest of initialization, log the error and move on + this.esContext.logger.error(`error getting existing index templates - ${err.message}`); + } + + Object.keys(indexTemplates).forEach(async (indexTemplateName: string) => { + try { + const hidden: string | boolean = indexTemplates[indexTemplateName]?.settings?.index?.hidden; + // Check to see if this index template is hidden + if (hidden !== true && hidden !== 'true') { + this.esContext.logger.debug( + `setting existing "${indexTemplateName}" index template to hidden.` + ); + + await this.esContext.esAdapter.setLegacyIndexTemplateToHidden( + indexTemplateName, + indexTemplates[indexTemplateName] + ); + } + } catch (err) { + // errors when trying to update existing index templates to hidden + // should not block the rest of initialization, log the error and move on + this.esContext.logger.error( + `error setting existing "${indexTemplateName}" index template to hidden - ${err.message}` + ); + } + }); + } + + async setExistingIndicesToHidden() { + let indices: estypes.IndicesGetSettingsResponse = {}; + try { + // look up existing indices and update index.hidden to true if that + // setting is currently false or undefined + indices = await this.esContext.esAdapter.getExistingIndices( + this.esContext.esNames.indexPattern + ); + } catch (err) { + // errors when trying to get existing indices + // should not block the rest of initialization, log the error and move on + this.esContext.logger.error(`error getting existing indices - ${err.message}`); + } + + Object.keys(indices).forEach(async (indexName: string) => { + try { + const hidden: string | boolean | undefined = (indices[indexName] + ?.settings as IndicesIndexStatePrefixedSettings)?.index?.hidden; + + // Check to see if this index template is hidden + if (hidden !== true && hidden !== 'true') { + this.esContext.logger.debug(`setting existing ${indexName} index to hidden.`); + await this.esContext.esAdapter.setIndexToHidden(indexName); + } + } catch (err) { + // errors when trying to update existing indices to hidden + // should not block the rest of initialization, log the error and move on + this.esContext.logger.error( + `error setting existing "${indexName}" index to hidden - ${err.message}` + ); + } + }); + } + + async setExistingIndexAliasesToHidden() { + let indexAliases: estypes.IndicesGetAliasResponse = {}; + try { + // Look up existing index aliases and update index.is_hidden to true if that + // setting is currently false or undefined + indexAliases = await this.esContext.esAdapter.getExistingIndexAliases( + this.esContext.esNames.indexPattern + ); + } catch (err) { + // errors when trying to get existing index aliases + // should not block the rest of initialization, log the error and move on + this.esContext.logger.error(`error getting existing index aliases - ${err.message}`); + } + Object.keys(indexAliases).forEach(async (indexName: string) => { + try { + const aliases = indexAliases[indexName]?.aliases; + const hasNotHiddenAliases: boolean = Object.keys(aliases).some((alias: string) => { + return (aliases[alias] as IndicesAlias)?.is_hidden !== true; + }); + + if (hasNotHiddenAliases) { + this.esContext.logger.debug(`setting existing "${indexName}" index aliases to hidden.`); + await this.esContext.esAdapter.setIndexAliasToHidden(indexName, indexAliases[indexName]); + } + } catch (err) { + // errors when trying to set existing index aliases to is_hidden + // should not block the rest of initialization, log the error and move on + this.esContext.logger.error( + `error setting existing "${indexName}" index aliases - ${err.message}` + ); + } + }); + } + + async setExistingAssetsToHidden(): Promise { + await this.setExistingIndexTemplatesToHidden(); + await this.setExistingIndicesToHidden(); + await this.setExistingIndexAliasesToHidden(); + } + async createIlmPolicyIfNotExists(): Promise { const exists = await this.esContext.esAdapter.doesIlmPolicyExist( this.esContext.esNames.ilmPolicy @@ -67,6 +186,7 @@ class EsInitializationSteps { aliases: { [this.esContext.esNames.alias]: { is_write_index: true, + is_hidden: true, }, }, }); From b546762668c86603c9ed0d55d6b0b7e098849a10 Mon Sep 17 00:00:00 2001 From: Kaarina Tungseth Date: Thu, 9 Sep 2021 11:44:22 -0500 Subject: [PATCH 20/57] [DOCS] Adds preview to runtime fields (#110327) * [DOCS] Adds preview to runtime fields * Final draft changes * Review comments --- ...ent-indexPatterns-pinRuntimeField-7.15.png | Bin 0 -> 4334 bytes .../management/manage-index-patterns.asciidoc | 46 +++++++++--------- 2 files changed, 23 insertions(+), 23 deletions(-) create mode 100644 docs/management/images/stackManagement-indexPatterns-pinRuntimeField-7.15.png diff --git a/docs/management/images/stackManagement-indexPatterns-pinRuntimeField-7.15.png b/docs/management/images/stackManagement-indexPatterns-pinRuntimeField-7.15.png new file mode 100644 index 0000000000000000000000000000000000000000..49d0d4caec00f8dd1c3cd246dbfabe07104fdc51 GIT binary patch literal 4334 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%0DOst7C-g{?_m zT=*C1-;V!EwD_ASCizd|KOFxcUKIc~@I_!(>2S4!@*)t>|FQiWZv;bmdH7$!O_2yc zdC^~#f0=)=AfT&5`Ntvs?0_FuYzxQ}LqNaVNuHSTRQ(mU`JQR1Dw$}K)tL0VQ!CM2 z1V~vXduCX0xt>sH=B?-rCyXSsDc|GUUkK0rte^y9p;78>i6Y#YeJ!VIeV59R^75Md z`)Uq#KJKs1;V07`QrVmOQl{H2>pgw%w=$2Kg2XcBPuMS_7s=;H+bAbLrWYY*Q^h4j zb{2gJ_N&9GD5l5vqCSVjKYuAs3e4^^sGjhILU6NGeUqA4bInQ}g6mWJ5+zb626mMD zDcWSwTRy^06N~(#t=aY;@MAF|=6sGL2`?|+zl-}i?EhKc?62c6(K{H}bdSUN0ikpv z&~};haMGy#2@QB@b$NU4n1C-u3%CC6gQ@E|EopD8>uUUf9gf$Pl;L`&NZs-^f{b2n zBxtJrm?Z5EMJ%T;_tf}BWWt_5By1l_DW)!|&E~nTYN4ygOq&2+zJ24*FJCc+w+-@5 zDtX6M>lPYV*&~Bif}XgZIS@m@|vGqq-nxuD;TG% zu=cAM>aWAMTit3ochbG^^Mw5hbozIan#xcKWMs)@{FV{KQk&pT0uJH z(x{F^uP1jE2}pfaVllA5KbAtBnYZW2H<>n(ykaKT>-poYU8B-F8#;+nj^yQM{YC3+ xkN0GP16LO6_AB>cJ$amP7d{^L4r!yqb0EeNQR*xkarHL_XsPL|mMh> and <>. . Open the main menu, then click *Stack Management > Index Patterns*. . Select the index pattern you want to add the runtime field to, then click *Add field*. -. Enter a *Name* for the runtime field, then select the field *Type*. +. Enter the field *Name*, then select the *Type*. + +. Select *Set custom label*, then enter the label you want to display where the index pattern is used, such as *Discover*. + +. Select *Set value*, then define the script. The script must match the *Type*, or the index pattern fails anywhere it is used. + +. To help you define the script, use the *Preview*: + +* To view the other available fields, use the *Document ID* arrows. + +* To filter the fields list, enter the keyword in *Filter fields*. -. Select *Set value*, then define the field value by emitting a single value using the {ref}/modules-scripting-painless.html[Painless scripting language]. -+ -The script must match the field *Type*, or the script fails. +* To pin frequently used fields to the top of the list, hover over the field, then click image:images/stackManagement-indexPatterns-pinRuntimeField-7.15.png[Icon to pin field to the top of the list]. . Click *Create field*. -+ -For information on how to create runtime fields in *Discover*, refer to <>. -+ -For information on how to create runtime fields in *Lens*, refer to <>. [float] [[runtime-field-examples]] ==== Runtime field examples -Try the runtime field examples on your own using the *Sample web logs* data index pattern. +Try the runtime field examples on your own using the <> data index pattern. [float] [[simple-hello-world-example]] ==== Return a keyword value -To return `Hello World!` value: +Return `Hello World!`: [source,text] ---- @@ -101,7 +101,7 @@ emit(""); [[replace-nulls-with-blanks]] ===== Replace nulls with blanks -Replace null values with none values: +Replace `null` values with `None`: [source,text] ---- @@ -115,7 +115,7 @@ else { } ---- -Specify operating system condition: +Specify the operating system condition: [source,text] ---- From b9e6f935c44ec9092644e905bfd6b0c8e7ae2aad Mon Sep 17 00:00:00 2001 From: Chris Roberson Date: Thu, 9 Sep 2021 12:51:39 -0400 Subject: [PATCH 21/57] [Actions] Treat failures as successes for Task Manager (#109655) * Support retry with email as an example * Fix tests * Add logic to treat as failure if there is a retry * Handle retry better * Make this optional * Tweaks * Remove unnecessary code * Fix existing tests * Add some unit tests * Add test * Add doc note * More docs * PR feedback * Update docs/management/action-types.asciidoc Co-authored-by: gchaps <33642766+gchaps@users.noreply.github.com> * Update docs/management/action-types.asciidoc Co-authored-by: gchaps <33642766+gchaps@users.noreply.github.com> * Update docs/management/action-types.asciidoc Co-authored-by: gchaps <33642766+gchaps@users.noreply.github.com> * Update docs/management/action-types.asciidoc Co-authored-by: gchaps <33642766+gchaps@users.noreply.github.com> * Update docs/management/action-types.asciidoc Co-authored-by: gchaps <33642766+gchaps@users.noreply.github.com> Co-authored-by: gchaps <33642766+gchaps@users.noreply.github.com> Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- docs/management/action-types.asciidoc | 9 ++ .../task-manager-health-monitoring.asciidoc | 9 ++ .../actions/server/action_type_registry.ts | 3 +- .../server/lib/action_executor.test.ts | 2 + .../actions/server/lib/action_executor.ts | 2 + .../server/lib/task_runner_factory.test.ts | 153 +++++++++++++++++- .../actions/server/lib/task_runner_factory.ts | 44 +++-- x-pack/plugins/actions/server/types.ts | 2 + .../alerting_api_integration/common/config.ts | 1 + .../plugins/alerts/server/action_types.ts | 37 +++++ .../spaces_only/tests/actions/enqueue.ts | 89 ++++++++-- 11 files changed, 324 insertions(+), 27 deletions(-) diff --git a/docs/management/action-types.asciidoc b/docs/management/action-types.asciidoc index 3d3d7aeb2d777..92adbaf97d8c5 100644 --- a/docs/management/action-types.asciidoc +++ b/docs/management/action-types.asciidoc @@ -135,5 +135,14 @@ image::images/connectors-with-missing-secrets.png[Connectors with missing secret For out-of-the-box and standardized connectors, you can <> before {kib} starts. +[float] +[[montoring-connectors]] +=== Monitoring connectors + +The <> helps you understand the performance of all tasks in your environment. +However, if connectors fail to execute, they will report as successful to Task Manager. The failure stats will not +accurately depict the performance of connectors. + +For more information on connector successes and failures, refer to the <>. include::connectors/index.asciidoc[] diff --git a/docs/user/production-considerations/task-manager-health-monitoring.asciidoc b/docs/user/production-considerations/task-manager-health-monitoring.asciidoc index 3321a9d0c02a1..b07a01906b895 100644 --- a/docs/user/production-considerations/task-manager-health-monitoring.asciidoc +++ b/docs/user/production-considerations/task-manager-health-monitoring.asciidoc @@ -111,6 +111,7 @@ a| Runtime | This section tracks excution performance of Task Manager, tracking task _drift_, worker _load_, and execution stats broken down by type, including duration and execution results. + a| Capacity Estimation | This section provides a rough estimate about the sufficiency of its capacity. As the name suggests, these are estimates based on historical data and should not be used as predictions. Use these estimations when following the Task Manager <>. @@ -123,6 +124,14 @@ The root `status` indicates the `status` of the system overall. The Runtime `status` indicates whether task executions have exceeded any of the <>. An `OK` status means none of the threshold have been exceeded. A `Warning` status means that at least one warning threshold has been exceeded. An `Error` status means that at least one error threshold has been exceeded. +[IMPORTANT] +============================================== +Some tasks (such as <>) will incorrectly report their status as successful even if the task failed. +The runtime and workload block will return data about success and failures and will not take this into consideration. + +To get a better sense of action failures, please refer to the <> for more accurate context into failures and successes. +============================================== + The Capacity Estimation `status` indicates the sufficiency of the observed capacity. An `OK` status means capacity is sufficient. A `Warning` status means that capacity is sufficient for the scheduled recurring tasks, but non-recurring tasks often cause the cluster to exceed capacity. An `Error` status means that there is insufficient capacity across all types of tasks. By monitoring the `status` of the system overall, and the `status` of specific task types of interest, you can evaluate the health of the {kib} Task Management system. diff --git a/x-pack/plugins/actions/server/action_type_registry.ts b/x-pack/plugins/actions/server/action_type_registry.ts index e5846560a6c98..76b360ce8b17f 100644 --- a/x-pack/plugins/actions/server/action_type_registry.ts +++ b/x-pack/plugins/actions/server/action_type_registry.ts @@ -134,7 +134,8 @@ export class ActionTypeRegistry { // Don't retry other kinds of errors return false; }, - createTaskRunner: (context: RunContext) => this.taskRunnerFactory.create(context), + createTaskRunner: (context: RunContext) => + this.taskRunnerFactory.create(context, actionType.maxAttempts), }, }); // No need to notify usage on basic action types diff --git a/x-pack/plugins/actions/server/lib/action_executor.test.ts b/x-pack/plugins/actions/server/lib/action_executor.test.ts index 440de161490aa..ba7f750859d40 100644 --- a/x-pack/plugins/actions/server/lib/action_executor.test.ts +++ b/x-pack/plugins/actions/server/lib/action_executor.test.ts @@ -187,10 +187,12 @@ test('successfully executes as a task', async () => { const scheduleDelay = 10000; // milliseconds const scheduled = new Date(Date.now() - scheduleDelay); + const attempts = 1; await actionExecutor.execute({ ...executeParams, taskInfo: { scheduled, + attempts, }, }); diff --git a/x-pack/plugins/actions/server/lib/action_executor.ts b/x-pack/plugins/actions/server/lib/action_executor.ts index 5dfe56cff5016..d265bca237c3b 100644 --- a/x-pack/plugins/actions/server/lib/action_executor.ts +++ b/x-pack/plugins/actions/server/lib/action_executor.ts @@ -44,6 +44,7 @@ export interface ActionExecutorContext { export interface TaskInfo { scheduled: Date; + attempts: number; } export interface ExecuteOptions { @@ -210,6 +211,7 @@ export class ActionExecutor { config: validatedConfig, secrets: validatedSecrets, isEphemeral, + taskInfo, }); } catch (err) { rawResult = { diff --git a/x-pack/plugins/actions/server/lib/task_runner_factory.test.ts b/x-pack/plugins/actions/server/lib/task_runner_factory.test.ts index cff92f874e0ef..85d819ba09b8a 100644 --- a/x-pack/plugins/actions/server/lib/task_runner_factory.test.ts +++ b/x-pack/plugins/actions/server/lib/task_runner_factory.test.ts @@ -136,6 +136,7 @@ test('executes the task by calling the executor with proper parameters, using gi }), taskInfo: { scheduled: new Date(), + attempts: 0, }, }); @@ -191,6 +192,7 @@ test('executes the task by calling the executor with proper parameters, using st }), taskInfo: { scheduled: new Date(), + attempts: 0, }, }); @@ -341,6 +343,7 @@ test('uses API key when provided', async () => { }), taskInfo: { scheduled: new Date(), + attempts: 0, }, }); @@ -401,6 +404,7 @@ test('uses relatedSavedObjects merged with references when provided', async () = }), taskInfo: { scheduled: new Date(), + attempts: 0, }, }); }); @@ -451,6 +455,7 @@ test('uses relatedSavedObjects as is when references are empty', async () => { }), taskInfo: { scheduled: new Date(), + attempts: 0, }, }); }); @@ -499,6 +504,7 @@ test('sanitizes invalid relatedSavedObjects when provided', async () => { relatedSavedObjects: [], taskInfo: { scheduled: new Date(), + attempts: 0, }, }); }); @@ -538,6 +544,7 @@ test(`doesn't use API key when not provided`, async () => { }), taskInfo: { scheduled: new Date(), + attempts: 0, }, }); @@ -549,9 +556,15 @@ test(`doesn't use API key when not provided`, async () => { }); test(`throws an error when license doesn't support the action type`, async () => { - const taskRunner = taskRunnerFactory.create({ - taskInstance: mockedTaskInstance, - }); + const taskRunner = taskRunnerFactory.create( + { + taskInstance: { + ...mockedTaskInstance, + attempts: 1, + }, + }, + 2 + ); mockedEncryptedSavedObjectsClient.getDecryptedAsInternalUser.mockResolvedValueOnce({ id: '3', @@ -579,6 +592,138 @@ test(`throws an error when license doesn't support the action type`, async () => } catch (e) { expect(e instanceof ExecutorError).toEqual(true); expect(e.data).toEqual({}); - expect(e.retry).toEqual(false); + expect(e.retry).toEqual(true); } }); + +test(`treats errors as errors if the task is retryable`, async () => { + const taskRunner = taskRunnerFactory.create({ + taskInstance: { + ...mockedTaskInstance, + attempts: 0, + }, + }); + + mockedEncryptedSavedObjectsClient.getDecryptedAsInternalUser.mockResolvedValueOnce({ + id: '3', + type: 'action_task_params', + attributes: { + actionId: '2', + params: { baz: true }, + apiKey: Buffer.from('123:abc').toString('base64'), + }, + references: [ + { + id: '2', + name: 'actionRef', + type: 'action', + }, + ], + }); + mockedActionExecutor.execute.mockResolvedValueOnce({ + status: 'error', + actionId: '2', + message: 'Error message', + data: { foo: true }, + retry: false, + }); + + let err; + try { + await taskRunner.run(); + } catch (e) { + err = e; + } + expect(err).toBeDefined(); + expect(err instanceof ExecutorError).toEqual(true); + expect(err.data).toEqual({ foo: true }); + expect(err.retry).toEqual(false); + expect(taskRunnerFactoryInitializerParams.logger.error as jest.Mock).toHaveBeenCalledWith( + `Action '2' failed and will not retry: Error message` + ); +}); + +test(`treats errors as successes if the task is not retryable`, async () => { + const taskRunner = taskRunnerFactory.create({ + taskInstance: { + ...mockedTaskInstance, + attempts: 1, + }, + }); + + mockedEncryptedSavedObjectsClient.getDecryptedAsInternalUser.mockResolvedValueOnce({ + id: '3', + type: 'action_task_params', + attributes: { + actionId: '2', + params: { baz: true }, + apiKey: Buffer.from('123:abc').toString('base64'), + }, + references: [ + { + id: '2', + name: 'actionRef', + type: 'action', + }, + ], + }); + mockedActionExecutor.execute.mockResolvedValueOnce({ + status: 'error', + actionId: '2', + message: 'Error message', + data: { foo: true }, + retry: false, + }); + + let err; + try { + await taskRunner.run(); + } catch (e) { + err = e; + } + expect(err).toBeUndefined(); + expect(taskRunnerFactoryInitializerParams.logger.error as jest.Mock).toHaveBeenCalledWith( + `Action '2' failed and will not retry: Error message` + ); +}); + +test('treats errors as errors if the error is thrown instead of returned', async () => { + const taskRunner = taskRunnerFactory.create({ + taskInstance: { + ...mockedTaskInstance, + attempts: 0, + }, + }); + + mockedEncryptedSavedObjectsClient.getDecryptedAsInternalUser.mockResolvedValueOnce({ + id: '3', + type: 'action_task_params', + attributes: { + actionId: '2', + params: { baz: true }, + apiKey: Buffer.from('123:abc').toString('base64'), + }, + references: [ + { + id: '2', + name: 'actionRef', + type: 'action', + }, + ], + }); + mockedActionExecutor.execute.mockRejectedValueOnce({}); + + let err; + try { + await taskRunner.run(); + } catch (e) { + err = e; + } + expect(err).toBeDefined(); + expect(err instanceof ExecutorError).toEqual(true); + expect(err.data).toEqual({}); + expect(err.retry).toEqual(true); + expect(taskRunnerFactoryInitializerParams.logger.error as jest.Mock).toHaveBeenCalledWith( + `Action '2' failed and will retry: undefined` + ); +}); diff --git a/x-pack/plugins/actions/server/lib/task_runner_factory.ts b/x-pack/plugins/actions/server/lib/task_runner_factory.ts index 45ae6c1d5fae9..9a3856bbf7cee 100644 --- a/x-pack/plugins/actions/server/lib/task_runner_factory.ts +++ b/x-pack/plugins/actions/server/lib/task_runner_factory.ts @@ -22,7 +22,6 @@ import { ActionExecutorContract } from './action_executor'; import { ExecutorError } from './executor_error'; import { RunContext } from '../../../task_manager/server'; import { EncryptedSavedObjectsClient } from '../../../encrypted_saved_objects/server'; -import { ActionTypeDisabledError } from './errors'; import { ActionTaskParams, ActionTypeRegistryContract, @@ -62,7 +61,7 @@ export class TaskRunnerFactory { this.taskRunnerContext = taskRunnerContext; } - public create({ taskInstance }: RunContext) { + public create({ taskInstance }: RunContext, maxAttempts: number = 1) { if (!this.isInitialized) { throw new Error('TaskRunnerFactory not initialized'); } @@ -78,6 +77,7 @@ export class TaskRunnerFactory { const taskInfo = { scheduled: taskInstance.runAt, + attempts: taskInstance.attempts, }; return { @@ -119,7 +119,14 @@ export class TaskRunnerFactory { basePathService.set(fakeRequest, path); - let executorResult: ActionTypeExecutorResult; + // Throwing an executor error means we will attempt to retry the task + // TM will treat a task as a failure if `attempts >= maxAttempts` + // so we need to handle that here to avoid TM persisting the failed task + const isRetryableBasedOnAttempts = taskInfo.attempts < (maxAttempts ?? 1); + const willRetryMessage = `and will retry`; + const willNotRetryMessage = `and will not retry`; + + let executorResult: ActionTypeExecutorResult | undefined; try { executorResult = await actionExecutor.execute({ params, @@ -131,20 +138,39 @@ export class TaskRunnerFactory { relatedSavedObjects: validatedRelatedSavedObjects(logger, relatedSavedObjects), }); } catch (e) { - if (e instanceof ActionTypeDisabledError) { - // We'll stop re-trying due to action being forbidden - throw new ExecutorError(e.message, {}, false); + logger.error( + `Action '${actionId}' failed ${ + isRetryableBasedOnAttempts ? willRetryMessage : willNotRetryMessage + }: ${e.message}` + ); + if (isRetryableBasedOnAttempts) { + // In order for retry to work, we need to indicate to task manager this task + // failed + throw new ExecutorError(e.message, {}, true); } - throw e; } - if (executorResult.status === 'error') { + if ( + executorResult && + executorResult?.status === 'error' && + executorResult?.retry !== undefined && + isRetryableBasedOnAttempts + ) { + logger.error( + `Action '${actionId}' failed ${ + !!executorResult.retry ? willRetryMessage : willNotRetryMessage + }: ${executorResult.message}` + ); // Task manager error handler only kicks in when an error thrown (at this time) // So what we have to do is throw when the return status is `error`. throw new ExecutorError( executorResult.message, executorResult.data, - executorResult.retry == null ? false : executorResult.retry + executorResult.retry as boolean | Date + ); + } else if (executorResult && executorResult?.status === 'error') { + logger.error( + `Action '${actionId}' failed ${willNotRetryMessage}: ${executorResult.message}` ); } diff --git a/x-pack/plugins/actions/server/types.ts b/x-pack/plugins/actions/server/types.ts index 14e9e120a853a..64250ca77fba4 100644 --- a/x-pack/plugins/actions/server/types.ts +++ b/x-pack/plugins/actions/server/types.ts @@ -19,6 +19,7 @@ import { SavedObjectReference, } from '../../../../src/core/server'; import { ActionTypeExecutorResult } from '../common'; +import { TaskInfo } from './lib/action_executor'; export { ActionTypeExecutorResult } from '../common'; export { GetFieldsByIssueTypeResponse as JiraGetFieldsResponse } from './builtin_action_types/jira/types'; export { GetCommonFieldsResponse as ServiceNowGetFieldsResponse } from './builtin_action_types/servicenow/types'; @@ -59,6 +60,7 @@ export interface ActionTypeExecutorOptions { secrets: Secrets; params: Params; isEphemeral?: boolean; + taskInfo?: TaskInfo; } export interface ActionResult { diff --git a/x-pack/test/alerting_api_integration/common/config.ts b/x-pack/test/alerting_api_integration/common/config.ts index dd43606cc79b7..d9383306e1dc6 100644 --- a/x-pack/test/alerting_api_integration/common/config.ts +++ b/x-pack/test/alerting_api_integration/common/config.ts @@ -44,6 +44,7 @@ const enabledActionTypes = [ 'test.noop', 'test.delayed', 'test.rate-limit', + 'test.no-attempts-rate-limit', 'test.throw', ]; diff --git a/x-pack/test/alerting_api_integration/common/fixtures/plugins/alerts/server/action_types.ts b/x-pack/test/alerting_api_integration/common/fixtures/plugins/alerts/server/action_types.ts index a848207bf1b70..e7e48a0938084 100644 --- a/x-pack/test/alerting_api_integration/common/fixtures/plugins/alerts/server/action_types.ts +++ b/x-pack/test/alerting_api_integration/common/fixtures/plugins/alerts/server/action_types.ts @@ -37,6 +37,7 @@ export function defineActionTypes( actions.registerType(getDelayedActionType()); actions.registerType(getFailingActionType()); actions.registerType(getRateLimitedActionType()); + actions.registerType(getNoAttemptsRateLimitedActionType()); actions.registerType(getAuthorizationActionType(core)); } @@ -183,6 +184,42 @@ function getRateLimitedActionType() { return result; } +function getNoAttemptsRateLimitedActionType() { + const paramsSchema = schema.object({ + index: schema.string(), + reference: schema.string(), + retryAt: schema.number(), + }); + type ParamsType = TypeOf; + const result: ActionType<{}, {}, ParamsType> = { + id: 'test.no-attempts-rate-limit', + name: 'Test: Rate Limit', + minimumLicenseRequired: 'gold', + maxAttempts: 0, + validate: { + params: paramsSchema, + }, + async executor({ config, params, services }) { + await services.scopedClusterClient.index({ + index: params.index, + refresh: 'wait_for', + body: { + params, + config, + reference: params.reference, + source: 'action:test.rate-limit', + }, + }); + return { + status: 'error', + retry: new Date(params.retryAt), + actionId: '', + }; + }, + }; + return result; +} + function getAuthorizationActionType(core: CoreSetup) { const paramsSchema = schema.object({ callClusterAuthorizationIndex: schema.string(), diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/actions/enqueue.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/actions/enqueue.ts index f937e63840937..533570ae4c16d 100644 --- a/x-pack/test/alerting_api_integration/spaces_only/tests/actions/enqueue.ts +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/actions/enqueue.ts @@ -97,21 +97,8 @@ export default function ({ getService }: FtrProviderContext) { }, }) .expect(204); - await esTestIndexTool.waitForDocs('action:test.failing', reference, 1); - await supertest - .put( - `${getUrlPrefix( - Spaces.space1.id - )}/api/alerts_fixture/Actions-cleanup_failed_action_executions/reschedule_task` - ) - .set('kbn-xsrf', 'foo') - .send({ - runAt: new Date().toISOString(), - }) - .expect(200); - await retry.try(async () => { const searchResult = await es.search({ index: '.kibana_task_manager', @@ -139,5 +126,81 @@ export default function ({ getService }: FtrProviderContext) { expect((searchResult.body.hits.total as estypes.SearchTotalHits).value).to.eql(0); }); }); + + it('should never leaved a failed task, even if max attempts is reached', async () => { + // We have to provide the test.rate-limit the next runAt, for testing purposes + const retryDate = new Date(Date.now() + 1); + const { body: createdAction } = await supertest + .post(`${getUrlPrefix(Spaces.space1.id)}/api/actions/connector`) + .set('kbn-xsrf', 'foo') + .send({ + name: 'My action', + connector_type_id: 'test.no-attempts-rate-limit', + config: {}, + secrets: {}, + }) + .expect(200); + objectRemover.add(Spaces.space1.id, createdAction.id, 'action', 'actions'); + + const reference = `actions-enqueue-2:${Spaces.space1.id}:${createdAction.id}`; + await supertest + .post( + `${getUrlPrefix(Spaces.space1.id)}/api/alerts_fixture/${createdAction.id}/enqueue_action` + ) + .set('kbn-xsrf', 'foo') + .send({ + params: { + reference, + index: ES_TEST_INDEX_NAME, + retryAt: retryDate.getTime(), + }, + }) + .expect(204); + + await retry.try(async () => { + const runningSearchResult = await es.search({ + index: '.kibana_task_manager', + body: { + query: { + bool: { + must: [ + { + term: { + 'task.taskType': 'actions:test.no-attempts-rate-limit', + }, + }, + { + term: { + 'task.status': 'running', + }, + }, + ], + }, + }, + }, + }); + expect((runningSearchResult.body.hits.total as estypes.SearchTotalHits).value).to.eql(1); + }); + + await retry.try(async () => { + const searchResult = await es.search({ + index: '.kibana_task_manager', + body: { + query: { + bool: { + must: [ + { + term: { + 'task.taskType': 'actions:test.no-attempts-rate-limit', + }, + }, + ], + }, + }, + }, + }); + expect((searchResult.body.hits.total as estypes.SearchTotalHits).value).to.eql(0); + }); + }); }); } From 6e9b1b57b83f3fddb892eb83a6e4941aff18e11c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cau=C3=AA=20Marcondes?= <55978943+cauemarcondes@users.noreply.github.com> Date: Thu, 9 Sep 2021 12:55:28 -0400 Subject: [PATCH 22/57] [APM] Consistent "no data" screen with other Observability solutions (#111630) * logic to show no data screen * fixing i18n * fixing ts * addressing pr comments --- .../public/application/application.test.tsx | 16 +++++- .../app/service_inventory/index.tsx | 13 +---- .../no_services_message.test.tsx | 10 +--- .../service_inventory/no_services_message.tsx | 57 +++---------------- .../service_inventory.test.tsx | 22 ------- .../routing/templates/apm_main_template.tsx | 15 +++++ .../routing/templates/no_data_config.ts | 44 ++++++++++++++ .../templates/settings_template.test.tsx | 16 +++++- .../create_static_index_pattern.test.ts | 2 +- .../create_static_index_pattern.ts | 2 +- .../server/lib/services/get_services/index.ts | 8 --- .../apm/server/lib/services/queries.test.ts | 2 +- .../get_global_apm_server_route_repository.ts | 4 +- .../has_historical_agent_data.ts | 4 +- .../server/routes/historical_data/index.ts | 25 ++++++++ .../shared/page_template/page_template.tsx | 20 +++++-- .../translations/translations/ja-JP.json | 4 -- .../translations/translations/zh-CN.json | 4 -- .../tests/historical_data/has_data.ts | 41 +++++++++++++ .../test/apm_api_integration/tests/index.ts | 4 ++ .../tests/services/top_services.ts | 5 -- 21 files changed, 194 insertions(+), 124 deletions(-) create mode 100644 x-pack/plugins/apm/public/components/routing/templates/no_data_config.ts rename x-pack/plugins/apm/server/{lib/services/get_services => routes/historical_data}/has_historical_agent_data.ts (86%) create mode 100644 x-pack/plugins/apm/server/routes/historical_data/index.ts create mode 100644 x-pack/test/apm_api_integration/tests/historical_data/has_data.ts diff --git a/x-pack/plugins/apm/public/application/application.test.tsx b/x-pack/plugins/apm/public/application/application.test.tsx index cbc72f918877c..144da47828bf7 100644 --- a/x-pack/plugins/apm/public/application/application.test.tsx +++ b/x-pack/plugins/apm/public/application/application.test.tsx @@ -9,7 +9,7 @@ import React from 'react'; import { act } from '@testing-library/react'; import { createMemoryHistory } from 'history'; import { Observable } from 'rxjs'; -import { CoreStart } from 'src/core/public'; +import { CoreStart, DocLinksStart, HttpStart } from 'src/core/public'; import { mockApmPluginContextValue } from '../context/apm_plugin/mock_apm_plugin_context'; import { createCallApmApi } from '../services/rest/createCallApmApi'; import { renderApp } from './'; @@ -85,6 +85,20 @@ describe('renderApp', () => { getEditAlertFlyout: jest.fn(), }, usageCollection: { reportUiCounter: () => {} }, + http: { + basePath: { + prepend: (path: string) => `/basepath${path}`, + get: () => `/basepath`, + }, + } as HttpStart, + docLinks: ({ + DOC_LINK_VERSION: '0', + ELASTIC_WEBSITE_URL: 'https://www.elastic.co/', + links: { + apm: {}, + observability: { guide: '' }, + }, + } as unknown) as DocLinksStart, } as unknown) as ApmPluginStartDeps; jest.spyOn(window, 'scrollTo').mockReturnValueOnce(undefined); diff --git a/x-pack/plugins/apm/public/components/app/service_inventory/index.tsx b/x-pack/plugins/apm/public/components/app/service_inventory/index.tsx index c72c0cfbbceed..2cdb808622854 100644 --- a/x-pack/plugins/apm/public/components/app/service_inventory/index.tsx +++ b/x-pack/plugins/apm/public/components/app/service_inventory/index.tsx @@ -179,8 +179,6 @@ export function ServiceInventory() { canCreateJob && !userHasDismissedCallout; - const isLoading = mainStatisticsStatus === FETCH_STATUS.LOADING; - return ( <> @@ -192,17 +190,10 @@ export function ServiceInventory() { )} - ) - } + noItemsMessage={} /> diff --git a/x-pack/plugins/apm/public/components/app/service_inventory/no_services_message.test.tsx b/x-pack/plugins/apm/public/components/app/service_inventory/no_services_message.test.tsx index 3e07e18f95a02..3a3ddcc558679 100644 --- a/x-pack/plugins/apm/public/components/app/service_inventory/no_services_message.test.tsx +++ b/x-pack/plugins/apm/public/components/app/service_inventory/no_services_message.test.tsx @@ -22,13 +22,9 @@ describe('NoServicesMessage', () => { describe(`when historicalDataFound is ${historicalDataFound}`, () => { it('renders', () => { expect(() => - render( - , - { wrapper: Wrapper } - ) + render(, { + wrapper: Wrapper, + }) ).not.toThrowError(); }); }); diff --git a/x-pack/plugins/apm/public/components/app/service_inventory/no_services_message.tsx b/x-pack/plugins/apm/public/components/app/service_inventory/no_services_message.tsx index a2dc5feec44f8..872359262cf02 100644 --- a/x-pack/plugins/apm/public/components/app/service_inventory/no_services_message.tsx +++ b/x-pack/plugins/apm/public/components/app/service_inventory/no_services_message.tsx @@ -5,76 +5,35 @@ * 2.0. */ -import { EuiEmptyPrompt, EuiLink } from '@elastic/eui'; +import { EuiEmptyPrompt } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import React from 'react'; import { FETCH_STATUS } from '../../../hooks/use_fetcher'; import { ErrorStatePrompt } from '../../shared/ErrorStatePrompt'; -import { useUpgradeAssistantHref } from '../../shared/Links/kibana'; -import { SetupInstructionsLink } from '../../shared/Links/SetupInstructionsLink'; interface Props { - // any data submitted from APM agents found (not just in the given time range) - historicalDataFound: boolean; status: FETCH_STATUS | undefined; } -export function NoServicesMessage({ historicalDataFound, status }: Props) { - const upgradeAssistantHref = useUpgradeAssistantHref(); - - if (status === 'failure') { - return ; +export function NoServicesMessage({ status }: Props) { + if (status === FETCH_STATUS.LOADING) { + return null; } - if (historicalDataFound) { - return ( - - {i18n.translate('xpack.apm.servicesTable.notFoundLabel', { - defaultMessage: 'No services found', - })} - - } - titleSize="s" - /> - ); + if (status === FETCH_STATUS.FAILURE) { + return ; } return ( - {i18n.translate('xpack.apm.servicesTable.noServicesLabel', { - defaultMessage: `Looks like you don't have any APM services installed. Let's add some!`, + {i18n.translate('xpack.apm.servicesTable.notFoundLabel', { + defaultMessage: 'No services found', })} } titleSize="s" - body={ - -

- {i18n.translate('xpack.apm.servicesTable.7xUpgradeServerMessage', { - defaultMessage: `Upgrading from a pre-7.x version? Make sure you've also upgraded - your APM Server instance(s) to at least 7.0.`, - })} -

-

- {i18n.translate('xpack.apm.servicesTable.7xOldDataMessage', { - defaultMessage: - 'You may also have old data that needs to be migrated.', - })}{' '} - - {i18n.translate('xpack.apm.servicesTable.UpgradeAssistantLink', { - defaultMessage: - 'Learn more by visiting the Kibana Upgrade Assistant', - })} - - . -

- - } - actions={} /> ); } diff --git a/x-pack/plugins/apm/public/components/app/service_inventory/service_inventory.test.tsx b/x-pack/plugins/apm/public/components/app/service_inventory/service_inventory.test.tsx index 8f2e921d4bd83..2ff3f2702cb53 100644 --- a/x-pack/plugins/apm/public/components/app/service_inventory/service_inventory.test.tsx +++ b/x-pack/plugins/apm/public/components/app/service_inventory/service_inventory.test.tsx @@ -134,28 +134,6 @@ describe('ServiceInventory', () => { expect(container.querySelectorAll('.euiTableRow')).toHaveLength(2); }); - it('should render getting started message, when list is empty and no historical data is found', async () => { - httpGet - .mockResolvedValueOnce({ fallbackToTransactions: false }) - .mockResolvedValueOnce({ - hasLegacyData: false, - hasHistoricalData: false, - items: [], - }); - - const { findByText } = render(, { wrapper }); - - // wait for requests to be made - await waitFor(() => expect(httpGet).toHaveBeenCalledTimes(2)); - - // wait for elements to be rendered - const gettingStartedMessage = await findByText( - "Looks like you don't have any APM services installed. Let's add some!" - ); - - expect(gettingStartedMessage).not.toBeEmptyDOMElement(); - }); - it('should render empty message, when list is empty and historical data is found', async () => { httpGet .mockResolvedValueOnce({ fallbackToTransactions: false }) diff --git a/x-pack/plugins/apm/public/components/routing/templates/apm_main_template.tsx b/x-pack/plugins/apm/public/components/routing/templates/apm_main_template.tsx index 2a1ccd00e5a71..f4494f1841ba3 100644 --- a/x-pack/plugins/apm/public/components/routing/templates/apm_main_template.tsx +++ b/x-pack/plugins/apm/public/components/routing/templates/apm_main_template.tsx @@ -8,8 +8,10 @@ import { EuiPageHeaderProps, EuiPageTemplateProps } from '@elastic/eui'; import React from 'react'; import { useKibana } from '../../../../../../../src/plugins/kibana_react/public'; +import { useFetcher } from '../../../hooks/use_fetcher'; import { ApmPluginStartDeps } from '../../../plugin'; import { ApmEnvironmentFilter } from '../../shared/EnvironmentFilter'; +import { getNoDataConfig } from './no_data_config'; /* * This template contains: @@ -31,12 +33,25 @@ export function ApmMainTemplate({ children: React.ReactNode; } & EuiPageTemplateProps) { const { services } = useKibana(); + const { http, docLinks } = services; + const basePath = http?.basePath.get(); const ObservabilityPageTemplate = services.observability.navigation.PageTemplate; + const { data } = useFetcher((callApmApi) => { + return callApmApi({ endpoint: 'GET /api/apm/has_data' }); + }, []); + + const noDataConfig = getNoDataConfig({ + basePath, + docsLink: docLinks!.links.observability.guide, + hasData: data?.hasData, + }); + return ( ], diff --git a/x-pack/plugins/apm/public/components/routing/templates/no_data_config.ts b/x-pack/plugins/apm/public/components/routing/templates/no_data_config.ts new file mode 100644 index 0000000000000..868db57a0efdc --- /dev/null +++ b/x-pack/plugins/apm/public/components/routing/templates/no_data_config.ts @@ -0,0 +1,44 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { i18n } from '@kbn/i18n'; +import { KibanaPageTemplateProps } from '../../../../../../../src/plugins/kibana_react/public'; + +export function getNoDataConfig({ + docsLink, + basePath, + hasData, +}: { + docsLink: string; + basePath?: string; + hasData?: boolean; +}): KibanaPageTemplateProps['noDataConfig'] { + // Returns no data config when there is no historical data + if (hasData === false) { + return { + solution: i18n.translate('xpack.apm.noDataConfig.solutionName', { + defaultMessage: 'Observability', + }), + actions: { + beats: { + title: i18n.translate('xpack.apm.noDataConfig.beatsCard.title', { + defaultMessage: 'Add data with APM agents', + }), + description: i18n.translate( + 'xpack.apm.noDataConfig.beatsCard.description', + { + defaultMessage: + 'Use APM agents to collect APM data. We make it easy with agents for many popular languages.', + } + ), + href: basePath + `/app/home#/tutorial/apm`, + }, + }, + docsLink, + }; + } +} diff --git a/x-pack/plugins/apm/public/components/routing/templates/settings_template.test.tsx b/x-pack/plugins/apm/public/components/routing/templates/settings_template.test.tsx index d3efef4c88380..b601eb8ffcb2b 100644 --- a/x-pack/plugins/apm/public/components/routing/templates/settings_template.test.tsx +++ b/x-pack/plugins/apm/public/components/routing/templates/settings_template.test.tsx @@ -11,7 +11,7 @@ import React, { ReactNode } from 'react'; import { SettingsTemplate } from './settings_template'; import { createMemoryHistory } from 'history'; import { MemoryRouter, RouteComponentProps } from 'react-router-dom'; -import { CoreStart } from 'kibana/public'; +import { CoreStart, DocLinksStart, HttpStart } from 'kibana/public'; import { createKibanaReactContext } from 'src/plugins/kibana_react/public'; const { location } = createMemoryHistory(); @@ -25,6 +25,20 @@ const KibanaReactContext = createKibanaReactContext({ }, }, }, + http: { + basePath: { + prepend: (path: string) => `/basepath${path}`, + get: () => `/basepath`, + }, + } as HttpStart, + docLinks: ({ + DOC_LINK_VERSION: '0', + ELASTIC_WEBSITE_URL: 'https://www.elastic.co/', + links: { + apm: {}, + observability: { guide: '' }, + }, + } as unknown) as DocLinksStart, } as Partial); function Wrapper({ children }: { children?: ReactNode }) { diff --git a/x-pack/plugins/apm/server/lib/index_pattern/create_static_index_pattern.test.ts b/x-pack/plugins/apm/server/lib/index_pattern/create_static_index_pattern.test.ts index 35f5721eee05c..46596d8ac864a 100644 --- a/x-pack/plugins/apm/server/lib/index_pattern/create_static_index_pattern.test.ts +++ b/x-pack/plugins/apm/server/lib/index_pattern/create_static_index_pattern.test.ts @@ -8,7 +8,7 @@ /* eslint-disable @typescript-eslint/naming-convention */ import { createStaticIndexPattern } from './create_static_index_pattern'; import { Setup } from '../helpers/setup_request'; -import * as HistoricalAgentData from '../services/get_services/has_historical_agent_data'; +import * as HistoricalAgentData from '../../routes/historical_data/has_historical_agent_data'; import { InternalSavedObjectsClient } from '../helpers/get_internal_saved_objects_client'; import { APMConfig } from '../..'; diff --git a/x-pack/plugins/apm/server/lib/index_pattern/create_static_index_pattern.ts b/x-pack/plugins/apm/server/lib/index_pattern/create_static_index_pattern.ts index 414414c6bfe65..6fa96de0b9413 100644 --- a/x-pack/plugins/apm/server/lib/index_pattern/create_static_index_pattern.ts +++ b/x-pack/plugins/apm/server/lib/index_pattern/create_static_index_pattern.ts @@ -8,7 +8,7 @@ import { SavedObjectsErrorHelpers } from '../../../../../../src/core/server'; import { APM_STATIC_INDEX_PATTERN_ID } from '../../../common/index_pattern_constants'; import apmIndexPattern from '../../tutorial/index_pattern.json'; -import { hasHistoricalAgentData } from '../services/get_services/has_historical_agent_data'; +import { hasHistoricalAgentData } from '../../routes/historical_data/has_historical_agent_data'; import { Setup } from '../helpers/setup_request'; import { APMRouteHandlerResources } from '../../routes/typings'; import { InternalSavedObjectsClient } from '../helpers/get_internal_saved_objects_client.js'; diff --git a/x-pack/plugins/apm/server/lib/services/get_services/index.ts b/x-pack/plugins/apm/server/lib/services/get_services/index.ts index 61cb4a28586d7..d4b11880b56ab 100644 --- a/x-pack/plugins/apm/server/lib/services/get_services/index.ts +++ b/x-pack/plugins/apm/server/lib/services/get_services/index.ts @@ -6,12 +6,10 @@ */ import { Logger } from '@kbn/logging'; -import { isEmpty } from 'lodash'; import { withApmSpan } from '../../../utils/with_apm_span'; import { Setup, SetupTimeRange } from '../../helpers/setup_request'; import { getLegacyDataStatus } from './get_legacy_data_status'; import { getServicesItems } from './get_services_items'; -import { hasHistoricalAgentData } from './has_historical_agent_data'; export async function getServices({ environment, @@ -38,14 +36,8 @@ export async function getServices({ getLegacyDataStatus(setup), ]); - const noDataInCurrentTimeRange = isEmpty(items); - const hasHistoricalData = noDataInCurrentTimeRange - ? await hasHistoricalAgentData(setup) - : true; - return { items, - hasHistoricalData, hasLegacyData, }; }); diff --git a/x-pack/plugins/apm/server/lib/services/queries.test.ts b/x-pack/plugins/apm/server/lib/services/queries.test.ts index be5f280477a09..a4a32229cbd44 100644 --- a/x-pack/plugins/apm/server/lib/services/queries.test.ts +++ b/x-pack/plugins/apm/server/lib/services/queries.test.ts @@ -9,7 +9,7 @@ import { getServiceAgent } from './get_service_agent'; import { getServiceTransactionTypes } from './get_service_transaction_types'; import { getServicesItems } from './get_services/get_services_items'; import { getLegacyDataStatus } from './get_services/get_legacy_data_status'; -import { hasHistoricalAgentData } from './get_services/has_historical_agent_data'; +import { hasHistoricalAgentData } from '../../routes/historical_data/has_historical_agent_data'; import { SearchParamsMock, inspectSearchParams, diff --git a/x-pack/plugins/apm/server/routes/get_global_apm_server_route_repository.ts b/x-pack/plugins/apm/server/routes/get_global_apm_server_route_repository.ts index 941eb796d3ab3..9bc9108da9055 100644 --- a/x-pack/plugins/apm/server/routes/get_global_apm_server_route_repository.ts +++ b/x-pack/plugins/apm/server/routes/get_global_apm_server_route_repository.ts @@ -33,6 +33,7 @@ import { sourceMapsRouteRepository } from './source_maps'; import { traceRouteRepository } from './traces'; import { transactionRouteRepository } from './transactions'; import { APMRouteHandlerResources } from './typings'; +import { historicalDataRouteRepository } from './historical_data'; const getTypedGlobalApmServerRouteRepository = () => { const repository = createApmServerRouteRepository() @@ -56,7 +57,8 @@ const getTypedGlobalApmServerRouteRepository = () => { .merge(sourceMapsRouteRepository) .merge(apmFleetRouteRepository) .merge(backendsRouteRepository) - .merge(fallbackToTransactionsRouteRepository); + .merge(fallbackToTransactionsRouteRepository) + .merge(historicalDataRouteRepository); return repository; }; diff --git a/x-pack/plugins/apm/server/lib/services/get_services/has_historical_agent_data.ts b/x-pack/plugins/apm/server/routes/historical_data/has_historical_agent_data.ts similarity index 86% rename from x-pack/plugins/apm/server/lib/services/get_services/has_historical_agent_data.ts rename to x-pack/plugins/apm/server/routes/historical_data/has_historical_agent_data.ts index 97b8a8fa5505b..13591b47a8584 100644 --- a/x-pack/plugins/apm/server/lib/services/get_services/has_historical_agent_data.ts +++ b/x-pack/plugins/apm/server/routes/historical_data/has_historical_agent_data.ts @@ -5,8 +5,8 @@ * 2.0. */ -import { ProcessorEvent } from '../../../../common/processor_event'; -import { Setup } from '../../helpers/setup_request'; +import { ProcessorEvent } from '../../../common/processor_event'; +import { Setup } from '../../lib/helpers/setup_request'; // Note: this logic is duplicated in tutorials/apm/envs/on_prem export async function hasHistoricalAgentData(setup: Setup) { diff --git a/x-pack/plugins/apm/server/routes/historical_data/index.ts b/x-pack/plugins/apm/server/routes/historical_data/index.ts new file mode 100644 index 0000000000000..6e574a435bc83 --- /dev/null +++ b/x-pack/plugins/apm/server/routes/historical_data/index.ts @@ -0,0 +1,25 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { setupRequest } from '../../lib/helpers/setup_request'; +import { createApmServerRoute } from '../create_apm_server_route'; +import { createApmServerRouteRepository } from '../create_apm_server_route_repository'; +import { hasHistoricalAgentData } from './has_historical_agent_data'; + +const hasDataRoute = createApmServerRoute({ + endpoint: 'GET /api/apm/has_data', + options: { tags: ['access:apm'] }, + handler: async (resources) => { + const setup = await setupRequest(resources); + const hasData = await hasHistoricalAgentData(setup); + return { hasData }; + }, +}); + +export const historicalDataRouteRepository = createApmServerRouteRepository().add( + hasDataRoute +); diff --git a/x-pack/plugins/observability/public/components/shared/page_template/page_template.tsx b/x-pack/plugins/observability/public/components/shared/page_template/page_template.tsx index 965e5dba6a80e..36b69782a424e 100644 --- a/x-pack/plugins/observability/public/components/shared/page_template/page_template.tsx +++ b/x-pack/plugins/observability/public/components/shared/page_template/page_template.tsx @@ -31,7 +31,10 @@ export type WrappedPageTemplateProps = Pick< | 'restrictWidth' | 'template' | 'isEmptyState' ->; + | 'noDataConfig' +> & { + showSolutionNav?: boolean; +}; export interface ObservabilityPageTemplateDependencies { currentAppId$: Observable; @@ -49,6 +52,7 @@ export function ObservabilityPageTemplate({ getUrlForApp, navigateToApp, navigationSections$, + showSolutionNav = true, ...pageTemplateProps }: ObservabilityPageTemplateProps): React.ReactElement | null { const sections = useObservable(navigationSections$, []); @@ -118,11 +122,15 @@ export function ObservabilityPageTemplate({ {children} diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index c857c98d5b398..aa9ea1a9b5b76 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -6895,20 +6895,16 @@ "xpack.apm.serviceProfiling.valueTypeLabel.samples": "サンプル", "xpack.apm.serviceProfiling.valueTypeLabel.unknown": "その他", "xpack.apm.serviceProfiling.valueTypeLabel.wallTime": "Wall", - "xpack.apm.servicesTable.7xOldDataMessage": "また、移行が必要な古いデータがある可能性もあります。", - "xpack.apm.servicesTable.7xUpgradeServerMessage": "バージョン7.xより前からのアップグレードですか?また、\n APM Server インスタンスを7.0以降にアップグレードしていることも確認してください。", "xpack.apm.servicesTable.environmentColumnLabel": "環境", "xpack.apm.servicesTable.healthColumnLabel": "ヘルス", "xpack.apm.servicesTable.latencyAvgColumnLabel": "レイテンシ(平均)", "xpack.apm.servicesTable.metricsExplanationLabel": "これらのメトリックは何か。", "xpack.apm.servicesTable.nameColumnLabel": "名前", - "xpack.apm.servicesTable.noServicesLabel": "APM サービスがインストールされていないようです。追加しましょう!", "xpack.apm.servicesTable.notFoundLabel": "サービスが見つかりません", "xpack.apm.servicesTable.throughputColumnLabel": "スループット", "xpack.apm.servicesTable.tooltip.metricsExplanation": "サービスメトリックは、トランザクションタイプ「要求」、「ページ読み込み」、または上位の使用可能なトランザクションタイプのいずれかで集計されます。", "xpack.apm.servicesTable.transactionColumnLabel": "トランザクションタイプ", "xpack.apm.servicesTable.transactionErrorRate": "失敗したトランザクション率", - "xpack.apm.servicesTable.UpgradeAssistantLink": "Kibana アップグレードアシスタントで詳細をご覧ください", "xpack.apm.settings.agentConfig": "エージェントの編集", "xpack.apm.settings.agentConfig.createConfigButton.tooltip": "エージェント構成を作成する権限がありません", "xpack.apm.settings.agentConfig.descriptionText": "APMアプリ内からエージェント構成を微調整してください。変更はAPMエージェントに自動的に伝達されるので、再デプロイする必要はありません。", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 2d30e0dcbbd8c..24f1d07049840 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -6949,21 +6949,17 @@ "xpack.apm.serviceProfiling.valueTypeLabel.samples": "样例", "xpack.apm.serviceProfiling.valueTypeLabel.unknown": "其他", "xpack.apm.serviceProfiling.valueTypeLabel.wallTime": "现实时间", - "xpack.apm.servicesTable.7xOldDataMessage": "可能还有需要迁移的旧数据。", - "xpack.apm.servicesTable.7xUpgradeServerMessage": "从 7.x 之前的版本升级?另外,确保您已将\n APM Server 实例升级到至少 7.0。", "xpack.apm.servicesTable.environmentColumnLabel": "环境", "xpack.apm.servicesTable.environmentCount": "{environmentCount, plural, one {1 个环境} other {# 个环境}}", "xpack.apm.servicesTable.healthColumnLabel": "运行状况", "xpack.apm.servicesTable.latencyAvgColumnLabel": "延迟(平均值)", "xpack.apm.servicesTable.metricsExplanationLabel": "这些指标是什么?", "xpack.apm.servicesTable.nameColumnLabel": "名称", - "xpack.apm.servicesTable.noServicesLabel": "似乎您没有安装任何 APM 服务。让我们添加一些!", "xpack.apm.servicesTable.notFoundLabel": "未找到任何服务", "xpack.apm.servicesTable.throughputColumnLabel": "吞吐量", "xpack.apm.servicesTable.tooltip.metricsExplanation": "服务指标将基于事务类型“request”、“page-load”或排名靠前的可用事务类型进行聚合。", "xpack.apm.servicesTable.transactionColumnLabel": "事务类型", "xpack.apm.servicesTable.transactionErrorRate": "失败事务率", - "xpack.apm.servicesTable.UpgradeAssistantLink": "通过访问 Kibana 升级助手来了解详情", "xpack.apm.settings.agentConfig": "代理配置", "xpack.apm.settings.agentConfig.createConfigButton.tooltip": "您无权创建代理配置", "xpack.apm.settings.agentConfig.descriptionText": "从 APM 应用中微调您的代理配置。更改将自动传播到 APM 代理,因此无需重新部署。", diff --git a/x-pack/test/apm_api_integration/tests/historical_data/has_data.ts b/x-pack/test/apm_api_integration/tests/historical_data/has_data.ts new file mode 100644 index 0000000000000..ec3f0e5e7f362 --- /dev/null +++ b/x-pack/test/apm_api_integration/tests/historical_data/has_data.ts @@ -0,0 +1,41 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; +import { FtrProviderContext } from '../../common/ftr_provider_context'; +import { registry } from '../../common/registry'; + +export default function ApiTest({ getService }: FtrProviderContext) { + const supertest = getService('supertest'); + const archiveName = 'apm_8.0.0'; + + registry.when( + 'Historical data when data is not loaded', + { config: 'basic', archives: [] }, + () => { + it('handles the empty state', async () => { + const response = await supertest.get(`/api/apm/has_data`); + + expect(response.status).to.be(200); + expect(response.body.hasData).to.be(false); + }); + } + ); + + registry.when( + 'Historical data when data is loaded', + { config: 'basic', archives: [archiveName] }, + () => { + it('returns hasData: true', async () => { + const response = await supertest.get(`/api/apm/has_data`); + + expect(response.status).to.be(200); + expect(response.body.hasData).to.be(true); + }); + } + ); +} diff --git a/x-pack/test/apm_api_integration/tests/index.ts b/x-pack/test/apm_api_integration/tests/index.ts index c0690fd2f8260..6c989e61bc6bf 100644 --- a/x-pack/test/apm_api_integration/tests/index.ts +++ b/x-pack/test/apm_api_integration/tests/index.ts @@ -224,6 +224,10 @@ export default function apmApiIntegrationTests(providerContext: FtrProviderConte loadTestFile(require.resolve('./csm/web_core_vitals')); }); + describe('historical_data/has_data', function () { + loadTestFile(require.resolve('./historical_data/has_data')); + }); + registry.run(providerContext); }); } diff --git a/x-pack/test/apm_api_integration/tests/services/top_services.ts b/x-pack/test/apm_api_integration/tests/services/top_services.ts index 23b2ca7cfefe9..8e79d6cda58e1 100644 --- a/x-pack/test/apm_api_integration/tests/services/top_services.ts +++ b/x-pack/test/apm_api_integration/tests/services/top_services.ts @@ -37,7 +37,6 @@ export default function ApiTest({ getService }: FtrProviderContext) { ); expect(response.status).to.be(200); - expect(response.body.hasHistoricalData).to.be(false); expect(response.body.hasLegacyData).to.be(false); expect(response.body.items.length).to.be(0); }); @@ -66,10 +65,6 @@ export default function ApiTest({ getService }: FtrProviderContext) { expect(response.status).to.eql(200); }); - it('returns hasHistoricalData: true', () => { - expect(response.body.hasHistoricalData).to.be(true); - }); - it('returns hasLegacyData: false', () => { expect(response.body.hasLegacyData).to.be(false); }); From c51c92cd7a3e8748d55fb6d17f8d551ba3c754f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cau=C3=AA=20Marcondes?= <55978943+cauemarcondes@users.noreply.github.com> Date: Thu, 9 Sep 2021 12:57:29 -0400 Subject: [PATCH 23/57] [APM] Fix bucket size in alert previews (#111304) * fixing preview charts * using metrics * fixing ts issues * refactoring * refactoring useServiceTransactionTypesFetcher * addressing pr comments * addressing pr comments * addressing pr comments --- .../error_count_alert_trigger/index.tsx | 12 ++- .../apm/public/components/alerting/helper.ts | 26 ++++-- .../index.tsx | 20 +++-- .../index.tsx | 8 +- .../index.tsx | 21 +++-- .../apm_service/apm_service_context.tsx | 6 +- .../use_service_transaction_types_fetcher.tsx | 18 ++-- .../chart_preview/get_transaction_duration.ts | 45 +++++++--- .../get_transaction_error_count.ts | 11 +-- .../get_transaction_error_rate.ts | 85 +++++++++++-------- .../apm/server/routes/alerts/chart_preview.ts | 3 + .../tests/alerts/chart_preview.ts | 1 + 12 files changed, 170 insertions(+), 86 deletions(-) diff --git a/x-pack/plugins/apm/public/components/alerting/error_count_alert_trigger/index.tsx b/x-pack/plugins/apm/public/components/alerting/error_count_alert_trigger/index.tsx index a06520f1c5bfc..3103be6c03379 100644 --- a/x-pack/plugins/apm/public/components/alerting/error_count_alert_trigger/index.tsx +++ b/x-pack/plugins/apm/public/components/alerting/error_count_alert_trigger/index.tsx @@ -15,7 +15,7 @@ import { useEnvironmentsFetcher } from '../../../hooks/use_environments_fetcher' import { useFetcher } from '../../../hooks/use_fetcher'; import { ChartPreview } from '../chart_preview'; import { EnvironmentField, IsAboveField, ServiceField } from '../fields'; -import { AlertMetadata, getAbsoluteTimeRange } from '../helper'; +import { AlertMetadata, getIntervalAndTimeRange, TimeUnit } from '../helper'; import { ServiceAlertTrigger } from '../service_alert_trigger'; export interface AlertParams { @@ -54,14 +54,20 @@ export function ErrorCountAlertTrigger(props: Props) { const { data } = useFetcher( (callApmApi) => { - if (params.windowSize && params.windowUnit) { + const { interval, start, end } = getIntervalAndTimeRange({ + windowSize: params.windowSize, + windowUnit: params.windowUnit as TimeUnit, + }); + if (interval && start && end) { return callApmApi({ endpoint: 'GET /api/apm/alerts/chart_preview/transaction_error_count', params: { query: { - ...getAbsoluteTimeRange(params.windowSize, params.windowUnit), environment: params.environment, serviceName: params.serviceName, + interval, + start, + end, }, }, }); diff --git a/x-pack/plugins/apm/public/components/alerting/helper.ts b/x-pack/plugins/apm/public/components/alerting/helper.ts index 7a8f128e41564..4032c33fa30b7 100644 --- a/x-pack/plugins/apm/public/components/alerting/helper.ts +++ b/x-pack/plugins/apm/public/components/alerting/helper.ts @@ -4,8 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ - -import datemath from '@elastic/datemath'; +import moment from 'moment'; export interface AlertMetadata { environment: string; @@ -15,12 +14,25 @@ export interface AlertMetadata { end?: string; } -export function getAbsoluteTimeRange(windowSize: number, windowUnit: string) { - const now = new Date().toISOString(); +export type TimeUnit = 's' | 'm' | 'h' | 'd'; + +const BUCKET_SIZE = 20; + +export function getIntervalAndTimeRange({ + windowSize, + windowUnit, +}: { + windowSize: number; + windowUnit: TimeUnit; +}) { + const end = Date.now(); + const start = + end - + moment.duration(windowSize, windowUnit).asMilliseconds() * BUCKET_SIZE; return { - start: - datemath.parse(`now-${windowSize}${windowUnit}`)?.toISOString() ?? now, - end: now, + interval: `${windowSize}${windowUnit}`, + start: new Date(start).toISOString(), + end: new Date(end).toISOString(), }; } diff --git a/x-pack/plugins/apm/public/components/alerting/transaction_duration_alert_trigger/index.tsx b/x-pack/plugins/apm/public/components/alerting/transaction_duration_alert_trigger/index.tsx index 2a73cba0a63d5..ba32561ac3378 100644 --- a/x-pack/plugins/apm/public/components/alerting/transaction_duration_alert_trigger/index.tsx +++ b/x-pack/plugins/apm/public/components/alerting/transaction_duration_alert_trigger/index.tsx @@ -29,7 +29,7 @@ import { ServiceField, TransactionTypeField, } from '../fields'; -import { AlertMetadata, getAbsoluteTimeRange } from '../helper'; +import { AlertMetadata, getIntervalAndTimeRange, TimeUnit } from '../helper'; import { ServiceAlertTrigger } from '../service_alert_trigger'; import { PopoverExpression } from '../service_alert_trigger/popover_expression'; @@ -77,9 +77,11 @@ export function TransactionDurationAlertTrigger(props: Props) { createCallApmApi(services as CoreStart); - const transactionTypes = useServiceTransactionTypesFetcher( - metadata?.serviceName - ); + const transactionTypes = useServiceTransactionTypesFetcher({ + serviceName: metadata?.serviceName, + start: metadata?.start, + end: metadata?.end, + }); const params = defaults( { @@ -104,16 +106,22 @@ export function TransactionDurationAlertTrigger(props: Props) { const { data } = useFetcher( (callApmApi) => { - if (params.windowSize && params.windowUnit) { + const { interval, start, end } = getIntervalAndTimeRange({ + windowSize: params.windowSize, + windowUnit: params.windowUnit as TimeUnit, + }); + if (interval && start && end) { return callApmApi({ endpoint: 'GET /api/apm/alerts/chart_preview/transaction_duration', params: { query: { - ...getAbsoluteTimeRange(params.windowSize, params.windowUnit), aggregationType: params.aggregationType, environment: params.environment, serviceName: params.serviceName, transactionType: params.transactionType, + interval, + start, + end, }, }, }); diff --git a/x-pack/plugins/apm/public/components/alerting/transaction_duration_anomaly_alert_trigger/index.tsx b/x-pack/plugins/apm/public/components/alerting/transaction_duration_anomaly_alert_trigger/index.tsx index 519b18cd3a6b6..f72126284395c 100644 --- a/x-pack/plugins/apm/public/components/alerting/transaction_duration_anomaly_alert_trigger/index.tsx +++ b/x-pack/plugins/apm/public/components/alerting/transaction_duration_anomaly_alert_trigger/index.tsx @@ -48,9 +48,11 @@ interface Props { export function TransactionDurationAnomalyAlertTrigger(props: Props) { const { alertParams, metadata, setAlertParams, setAlertProperty } = props; - const transactionTypes = useServiceTransactionTypesFetcher( - metadata?.serviceName - ); + const transactionTypes = useServiceTransactionTypesFetcher({ + serviceName: metadata?.serviceName, + start: metadata?.start, + end: metadata?.end, + }); const params = defaults( { diff --git a/x-pack/plugins/apm/public/components/alerting/transaction_error_rate_alert_trigger/index.tsx b/x-pack/plugins/apm/public/components/alerting/transaction_error_rate_alert_trigger/index.tsx index 8f2e212a22681..cdbdd4eb4bacb 100644 --- a/x-pack/plugins/apm/public/components/alerting/transaction_error_rate_alert_trigger/index.tsx +++ b/x-pack/plugins/apm/public/components/alerting/transaction_error_rate_alert_trigger/index.tsx @@ -23,7 +23,7 @@ import { ServiceField, TransactionTypeField, } from '../fields'; -import { AlertMetadata, getAbsoluteTimeRange } from '../helper'; +import { AlertMetadata, getIntervalAndTimeRange, TimeUnit } from '../helper'; import { ServiceAlertTrigger } from '../service_alert_trigger'; interface AlertParams { @@ -47,10 +47,11 @@ export function TransactionErrorRateAlertTrigger(props: Props) { const { alertParams, metadata, setAlertParams, setAlertProperty } = props; createCallApmApi(services as CoreStart); - - const transactionTypes = useServiceTransactionTypesFetcher( - metadata?.serviceName - ); + const transactionTypes = useServiceTransactionTypesFetcher({ + serviceName: metadata?.serviceName, + start: metadata?.start, + end: metadata?.end, + }); const params = defaults( { ...omit(metadata, ['start', 'end']), ...alertParams }, @@ -72,15 +73,21 @@ export function TransactionErrorRateAlertTrigger(props: Props) { const { data } = useFetcher( (callApmApi) => { - if (params.windowSize && params.windowUnit) { + const { interval, start, end } = getIntervalAndTimeRange({ + windowSize: params.windowSize, + windowUnit: params.windowUnit as TimeUnit, + }); + if (interval && start && end) { return callApmApi({ endpoint: 'GET /api/apm/alerts/chart_preview/transaction_error_rate', params: { query: { - ...getAbsoluteTimeRange(params.windowSize, params.windowUnit), environment: params.environment, serviceName: params.serviceName, transactionType: params.transactionType, + interval, + start, + end, }, }, }); diff --git a/x-pack/plugins/apm/public/context/apm_service/apm_service_context.tsx b/x-pack/plugins/apm/public/context/apm_service/apm_service_context.tsx index 6b423cac88887..d6b052a5dc884 100644 --- a/x-pack/plugins/apm/public/context/apm_service/apm_service_context.tsx +++ b/x-pack/plugins/apm/public/context/apm_service/apm_service_context.tsx @@ -51,7 +51,11 @@ export function ApmServiceContextProvider({ end, }); - const transactionTypes = useServiceTransactionTypesFetcher(serviceName); + const transactionTypes = useServiceTransactionTypesFetcher({ + serviceName, + start, + end, + }); const transactionType = getTransactionType({ transactionType: query.transactionType, diff --git a/x-pack/plugins/apm/public/context/apm_service/use_service_transaction_types_fetcher.tsx b/x-pack/plugins/apm/public/context/apm_service/use_service_transaction_types_fetcher.tsx index ab1a2877cf5bf..c2e81cb0c92ae 100644 --- a/x-pack/plugins/apm/public/context/apm_service/use_service_transaction_types_fetcher.tsx +++ b/x-pack/plugins/apm/public/context/apm_service/use_service_transaction_types_fetcher.tsx @@ -5,19 +5,19 @@ * 2.0. */ -import { useApmParams } from '../../hooks/use_apm_params'; import { useFetcher } from '../../hooks/use_fetcher'; -import { useTimeRange } from '../../hooks/use_time_range'; const INITIAL_DATA = { transactionTypes: [] }; -export function useServiceTransactionTypesFetcher(serviceName?: string) { - const { - query: { rangeFrom, rangeTo }, - } = useApmParams('/services/{serviceName}'); - - const { start, end } = useTimeRange({ rangeFrom, rangeTo }); - +export function useServiceTransactionTypesFetcher({ + serviceName, + start, + end, +}: { + serviceName?: string; + start?: string; + end?: string; +}) { const { data = INITIAL_DATA } = useFetcher( (callApmApi) => { if (serviceName && start && end) { diff --git a/x-pack/plugins/apm/server/lib/alerts/chart_preview/get_transaction_duration.ts b/x-pack/plugins/apm/server/lib/alerts/chart_preview/get_transaction_duration.ts index 3a67076201efa..8e3a44d780630 100644 --- a/x-pack/plugins/apm/server/lib/alerts/chart_preview/get_transaction_duration.ts +++ b/x-pack/plugins/apm/server/lib/alerts/chart_preview/get_transaction_duration.ts @@ -6,17 +6,19 @@ */ import { QueryDslQueryContainer } from '@elastic/elasticsearch/api/types'; +import { rangeQuery } from '../../../../../observability/server'; import { - PROCESSOR_EVENT, SERVICE_NAME, - TRANSACTION_DURATION, TRANSACTION_TYPE, } from '../../../../common/elasticsearch_fieldnames'; -import { ProcessorEvent } from '../../../../common/processor_event'; -import { rangeQuery } from '../../../../../observability/server'; import { environmentQuery } from '../../../../common/utils/environment_query'; import { AlertParams } from '../../../routes/alerts/chart_preview'; -import { getBucketSize } from '../../helpers/get_bucket_size'; +import { + getDocumentTypeFilterForAggregatedTransactions, + getProcessorEventForAggregatedTransactions, + getSearchAggregatedTransactions, + getTransactionDurationFieldForAggregatedTransactions, +} from '../../helpers/aggregated_transactions'; import { Setup, SetupTimeRange } from '../../helpers/setup_request'; export async function getTransactionDurationChartPreview({ @@ -26,43 +28,58 @@ export async function getTransactionDurationChartPreview({ alertParams: AlertParams; setup: Setup & SetupTimeRange; }) { + const searchAggregatedTransactions = await getSearchAggregatedTransactions({ + ...setup, + kuery: '', + }); + const { apmEventClient, start, end } = setup; const { aggregationType, environment, serviceName, transactionType, + interval, } = alertParams; const query = { bool: { filter: [ - { term: { [PROCESSOR_EVENT]: ProcessorEvent.transaction } }, ...(serviceName ? [{ term: { [SERVICE_NAME]: serviceName } }] : []), ...(transactionType ? [{ term: { [TRANSACTION_TYPE]: transactionType } }] : []), ...rangeQuery(start, end), ...environmentQuery(environment), + ...getDocumentTypeFilterForAggregatedTransactions( + searchAggregatedTransactions + ), ] as QueryDslQueryContainer[], }, }; - const { intervalString } = getBucketSize({ start, end, numBuckets: 20 }); + const transactionDurationField = getTransactionDurationFieldForAggregatedTransactions( + searchAggregatedTransactions + ); const aggs = { timeseries: { date_histogram: { field: '@timestamp', - fixed_interval: intervalString, + fixed_interval: interval, + min_doc_count: 0, + extended_bounds: { + min: start, + max: end, + }, }, aggs: { agg: aggregationType === 'avg' - ? { avg: { field: TRANSACTION_DURATION } } + ? { avg: { field: transactionDurationField } } : { percentiles: { - field: TRANSACTION_DURATION, + field: transactionDurationField, percents: [aggregationType === '95th' ? 95 : 99], }, }, @@ -70,7 +87,13 @@ export async function getTransactionDurationChartPreview({ }, }; const params = { - apm: { events: [ProcessorEvent.transaction] }, + apm: { + events: [ + getProcessorEventForAggregatedTransactions( + searchAggregatedTransactions + ), + ], + }, body: { size: 0, query, aggs }, }; const resp = await apmEventClient.search( diff --git a/x-pack/plugins/apm/server/lib/alerts/chart_preview/get_transaction_error_count.ts b/x-pack/plugins/apm/server/lib/alerts/chart_preview/get_transaction_error_count.ts index 0ead50c709083..d15f82248dec5 100644 --- a/x-pack/plugins/apm/server/lib/alerts/chart_preview/get_transaction_error_count.ts +++ b/x-pack/plugins/apm/server/lib/alerts/chart_preview/get_transaction_error_count.ts @@ -10,7 +10,6 @@ import { ProcessorEvent } from '../../../../common/processor_event'; import { AlertParams } from '../../../routes/alerts/chart_preview'; import { rangeQuery } from '../../../../../observability/server'; import { environmentQuery } from '../../../../common/utils/environment_query'; -import { getBucketSize } from '../../helpers/get_bucket_size'; import { Setup, SetupTimeRange } from '../../helpers/setup_request'; export async function getTransactionErrorCountChartPreview({ @@ -21,7 +20,7 @@ export async function getTransactionErrorCountChartPreview({ alertParams: AlertParams; }) { const { apmEventClient, start, end } = setup; - const { serviceName, environment } = alertParams; + const { serviceName, environment, interval } = alertParams; const query = { bool: { @@ -33,13 +32,15 @@ export async function getTransactionErrorCountChartPreview({ }, }; - const { intervalString } = getBucketSize({ start, end, numBuckets: 20 }); - const aggs = { timeseries: { date_histogram: { field: '@timestamp', - fixed_interval: intervalString, + fixed_interval: interval, + extended_bounds: { + min: start, + max: end, + }, }, }, }; diff --git a/x-pack/plugins/apm/server/lib/alerts/chart_preview/get_transaction_error_rate.ts b/x-pack/plugins/apm/server/lib/alerts/chart_preview/get_transaction_error_rate.ts index f4d8ffc2749c3..ed4a7a7208eeb 100644 --- a/x-pack/plugins/apm/server/lib/alerts/chart_preview/get_transaction_error_rate.ts +++ b/x-pack/plugins/apm/server/lib/alerts/chart_preview/get_transaction_error_rate.ts @@ -5,16 +5,18 @@ * 2.0. */ +import { rangeQuery } from '../../../../../observability/server'; import { - PROCESSOR_EVENT, SERVICE_NAME, TRANSACTION_TYPE, } from '../../../../common/elasticsearch_fieldnames'; -import { ProcessorEvent } from '../../../../common/processor_event'; -import { AlertParams } from '../../../routes/alerts/chart_preview'; -import { rangeQuery } from '../../../../../observability/server'; import { environmentQuery } from '../../../../common/utils/environment_query'; -import { getBucketSize } from '../../helpers/get_bucket_size'; +import { AlertParams } from '../../../routes/alerts/chart_preview'; +import { + getDocumentTypeFilterForAggregatedTransactions, + getProcessorEventForAggregatedTransactions, + getSearchAggregatedTransactions, +} from '../../helpers/aggregated_transactions'; import { Setup, SetupTimeRange } from '../../helpers/setup_request'; import { calculateFailedTransactionRate, @@ -28,43 +30,58 @@ export async function getTransactionErrorRateChartPreview({ setup: Setup & SetupTimeRange; alertParams: AlertParams; }) { - const { apmEventClient, start, end } = setup; - const { serviceName, environment, transactionType } = alertParams; + const searchAggregatedTransactions = await getSearchAggregatedTransactions({ + ...setup, + kuery: '', + }); - const query = { - bool: { - filter: [ - { term: { [PROCESSOR_EVENT]: ProcessorEvent.transaction } }, - ...(serviceName ? [{ term: { [SERVICE_NAME]: serviceName } }] : []), - ...(transactionType - ? [{ term: { [TRANSACTION_TYPE]: transactionType } }] - : []), - ...rangeQuery(start, end), - ...environmentQuery(environment), - ], - }, - }; + const { apmEventClient, start, end } = setup; + const { serviceName, environment, transactionType, interval } = alertParams; const outcomes = getOutcomeAggregation(); - const { intervalString } = getBucketSize({ start, end, numBuckets: 20 }); - - const aggs = { - outcomes, - timeseries: { - date_histogram: { - field: '@timestamp', - fixed_interval: intervalString, + const params = { + apm: { + events: [ + getProcessorEventForAggregatedTransactions( + searchAggregatedTransactions + ), + ], + }, + body: { + size: 0, + query: { + bool: { + filter: [ + ...(serviceName ? [{ term: { [SERVICE_NAME]: serviceName } }] : []), + ...(transactionType + ? [{ term: { [TRANSACTION_TYPE]: transactionType } }] + : []), + ...rangeQuery(start, end), + ...environmentQuery(environment), + ...getDocumentTypeFilterForAggregatedTransactions( + searchAggregatedTransactions + ), + ], + }, + }, + aggs: { + outcomes, + timeseries: { + date_histogram: { + field: '@timestamp', + fixed_interval: interval, + extended_bounds: { + min: start, + max: end, + }, + }, + aggs: { outcomes }, + }, }, - aggs: { outcomes }, }, }; - const params = { - apm: { events: [ProcessorEvent.transaction] }, - body: { size: 0, query, aggs }, - }; - const resp = await apmEventClient.search( 'get_transaction_error_rate_chart_preview', params diff --git a/x-pack/plugins/apm/server/routes/alerts/chart_preview.ts b/x-pack/plugins/apm/server/routes/alerts/chart_preview.ts index 13879cb5fecb7..c28bca5048350 100644 --- a/x-pack/plugins/apm/server/routes/alerts/chart_preview.ts +++ b/x-pack/plugins/apm/server/routes/alerts/chart_preview.ts @@ -26,6 +26,9 @@ const alertParamsRt = t.intersection([ }), environmentRt, rangeRt, + t.type({ + interval: t.string, + }), ]); export type AlertParams = t.TypeOf; diff --git a/x-pack/test/apm_api_integration/tests/alerts/chart_preview.ts b/x-pack/test/apm_api_integration/tests/alerts/chart_preview.ts index c8bb844238020..d3e5b08233487 100644 --- a/x-pack/test/apm_api_integration/tests/alerts/chart_preview.ts +++ b/x-pack/test/apm_api_integration/tests/alerts/chart_preview.ts @@ -24,6 +24,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { serviceName: 'opbeans-java', transactionType: 'request' as string | undefined, environment: 'ENVIRONMENT_ALL', + interval: '5m', }, }, }); From c006c82db9325a84cc2ee2c1f50b645377cfe892 Mon Sep 17 00:00:00 2001 From: Thomas Neirynck Date: Thu, 9 Sep 2021 13:34:40 -0400 Subject: [PATCH 24/57] [Maps] Add force-refresh toggle (#104691) Adds the ability for users to control whether a layer should refresh on auto-update or when the refresh-button is clicked. This is required to display static layers from geo-data indexed in Elasticsearch. --- .../__mocks__/regions_layer.mock.ts | 2 + .../VisitorBreakdownMap/useLayerList.ts | 2 + .../data_request_descriptor_types.ts | 31 ++-- .../common/descriptor_types/map_descriptor.ts | 5 - .../source_descriptor_types.ts | 1 + .../public/actions/data_request_actions.ts | 74 +++++--- .../maps/public/actions/layer_actions.ts | 16 +- .../maps/public/actions/map_actions.test.ts | 3 - .../maps/public/actions/map_actions.ts | 31 ++-- .../layers/__fixtures__/mock_sync_context.ts | 18 +- .../blended_vector_layer.test.tsx | 3 + .../blended_vector_layer.ts | 17 +- .../layers/build_vector_request_meta.ts | 32 ++++ .../create_choropleth_layer_descriptor.ts | 3 + .../create_region_map_layer_descriptor.ts | 1 + .../layers/heatmap_layer/heatmap_layer.ts | 22 ++- .../maps/public/classes/layers/layer.test.ts | 1 + .../create_layer_descriptor.test.ts | 3 + .../observability/create_layer_descriptor.ts | 1 + .../security/create_layer_descriptors.test.ts | 9 + .../tiled_vector_layer/tiled_vector_layer.tsx | 14 +- .../classes/layers/vector_layer/utils.tsx | 20 ++- .../layers/vector_layer/vector_layer.tsx | 67 ++++--- .../vector_tile_layer.test.ts | 4 +- .../es_agg_source/es_agg_source.test.ts | 1 + .../es_geo_grid_source.test.ts | 7 +- .../es_geo_line_source.test.ts | 8 +- .../create_layer_descriptor.test.ts | 1 + .../es_search_source/es_search_source.test.ts | 7 +- .../es_search_source/es_search_source.tsx | 4 +- .../classes/sources/es_source/es_source.ts | 20 ++- .../geojson_file_source/geojson_file.test.ts | 6 +- .../geojson_file_source.ts | 4 +- .../mvt_single_layer_vector_source.tsx | 4 +- .../maps/public/classes/sources/source.ts | 16 +- .../sources/table_source/table_source.test.ts | 8 +- .../sources/table_source/table_source.ts | 13 +- .../sources/vector_source/vector_source.tsx | 12 +- ...p_fetch.test.js => can_skip_fetch.test.ts} | 163 ++++++++++-------- .../public/classes/util/can_skip_fetch.ts | 80 ++++----- .../maps/public/classes/util/data_request.ts | 12 +- .../classes/util/is_refresh_only_query.ts | 24 --- .../classes/util/mb_filter_expressions.ts | 8 +- .../components/force_refresh_checkbox.tsx | 42 +++++ .../components/global_filter_checkbox.tsx | 24 ++- .../components/global_time_checkbox.tsx | 25 ++- .../filter_editor/filter_editor.tsx | 28 ++- .../reducers/map/data_request_utils.test.ts | 18 +- .../public/reducers/map/data_request_utils.ts | 14 +- .../plugins/maps/public/reducers/map/map.ts | 1 - .../plugins/maps/public/reducers/map/types.ts | 5 +- .../routes/map_page/map_app/map_app.tsx | 8 +- .../routes/map_page/saved_map/saved_map.ts | 2 +- .../public/selectors/map_selectors.test.ts | 3 - .../maps/public/selectors/map_selectors.ts | 10 +- 55 files changed, 536 insertions(+), 422 deletions(-) create mode 100644 x-pack/plugins/maps/public/classes/layers/build_vector_request_meta.ts rename x-pack/plugins/maps/public/classes/util/{can_skip_fetch.test.js => can_skip_fetch.test.ts} (81%) delete mode 100644 x-pack/plugins/maps/public/classes/util/is_refresh_only_query.ts create mode 100644 x-pack/plugins/maps/public/components/force_refresh_checkbox.tsx diff --git a/x-pack/plugins/apm/public/components/app/RumDashboard/VisitorBreakdownMap/__mocks__/regions_layer.mock.ts b/x-pack/plugins/apm/public/components/app/RumDashboard/VisitorBreakdownMap/__mocks__/regions_layer.mock.ts index abc676d17ccfa..94de1c088562a 100644 --- a/x-pack/plugins/apm/public/components/app/RumDashboard/VisitorBreakdownMap/__mocks__/regions_layer.mock.ts +++ b/x-pack/plugins/apm/public/components/app/RumDashboard/VisitorBreakdownMap/__mocks__/regions_layer.mock.ts @@ -11,6 +11,7 @@ export const mockLayerList = [ { leftField: 'iso2', right: { + applyForceRefresh: true, applyGlobalQuery: true, applyGlobalTime: true, type: 'ES_TERM_SOURCE', @@ -86,6 +87,7 @@ export const mockLayerList = [ { leftField: 'region_iso_code', right: { + applyForceRefresh: true, applyGlobalQuery: true, applyGlobalTime: true, type: 'ES_TERM_SOURCE', diff --git a/x-pack/plugins/apm/public/components/app/RumDashboard/VisitorBreakdownMap/useLayerList.ts b/x-pack/plugins/apm/public/components/app/RumDashboard/VisitorBreakdownMap/useLayerList.ts index c998964b86400..f96595ad7043a 100644 --- a/x-pack/plugins/apm/public/components/app/RumDashboard/VisitorBreakdownMap/useLayerList.ts +++ b/x-pack/plugins/apm/public/components/app/RumDashboard/VisitorBreakdownMap/useLayerList.ts @@ -45,6 +45,7 @@ const ES_TERM_SOURCE_COUNTRY: ESTermSourceDescriptor = { indexPatternId: APM_STATIC_INDEX_PATTERN_ID, applyGlobalQuery: true, applyGlobalTime: true, + applyForceRefresh: true, }; const ES_TERM_SOURCE_REGION: ESTermSourceDescriptor = { @@ -60,6 +61,7 @@ const ES_TERM_SOURCE_REGION: ESTermSourceDescriptor = { indexPatternId: APM_STATIC_INDEX_PATTERN_ID, applyGlobalQuery: true, applyGlobalTime: true, + applyForceRefresh: true, }; const getWhereQuery = (serviceName: string) => { diff --git a/x-pack/plugins/maps/common/descriptor_types/data_request_descriptor_types.ts b/x-pack/plugins/maps/common/descriptor_types/data_request_descriptor_types.ts index 8e996934ef69e..f2c13a81045ee 100644 --- a/x-pack/plugins/maps/common/descriptor_types/data_request_descriptor_types.ts +++ b/x-pack/plugins/maps/common/descriptor_types/data_request_descriptor_types.ts @@ -7,10 +7,10 @@ /* eslint-disable @typescript-eslint/consistent-type-definitions */ -import { Query } from 'src/plugins/data/public'; +import type { Query } from 'src/plugins/data/common'; import { SortDirection } from 'src/plugins/data/common/search'; import { RENDER_AS, SCALING_TYPES } from '../constants'; -import { MapExtent, MapQuery } from './map_descriptor'; +import { MapExtent } from './map_descriptor'; import { Filter, TimeRange } from '../../../../../src/plugins/data/common'; import { ESTermSourceDescriptor } from './source_descriptor_types'; @@ -20,12 +20,11 @@ export type Timeslice = { }; // Global map state passed to every layer. -export type MapFilters = { +export type DataFilters = { buffer?: MapExtent; // extent with additional buffer extent?: MapExtent; // map viewport filters: Filter[]; - query?: MapQuery; - refreshTimerLastTriggeredAt?: string; + query?: Query; searchSessionId?: string; timeFilters: TimeRange; timeslice?: Timeslice; @@ -60,24 +59,24 @@ export type VectorSourceSyncMeta = | ESTermSourceSyncMeta | null; -export type VectorSourceRequestMeta = MapFilters & { +export type VectorSourceRequestMeta = DataFilters & { applyGlobalQuery: boolean; applyGlobalTime: boolean; + applyForceRefresh: boolean; fieldNames: string[]; geogridPrecision?: number; - timesiceMaskField?: string; - sourceQuery?: MapQuery; + timesliceMaskField?: string; + sourceQuery?: Query; sourceMeta: VectorSourceSyncMeta; + isForceRefresh: boolean; }; -export type VectorJoinSourceRequestMeta = Omit & { - sourceQuery?: Query; -}; +export type VectorJoinSourceRequestMeta = Omit; -export type VectorStyleRequestMeta = MapFilters & { +export type VectorStyleRequestMeta = DataFilters & { dynamicStyleFields: string[]; isTimeAware: boolean; - sourceQuery: MapQuery; + sourceQuery: Query; timeFilters: TimeRange; }; @@ -107,7 +106,7 @@ export type VectorTileLayerMeta = { }; // Partial because objects are justified downstream in constructors -export type DataMeta = Partial< +export type DataRequestMeta = Partial< VectorSourceRequestMeta & VectorJoinSourceRequestMeta & VectorStyleRequestMeta & @@ -134,8 +133,8 @@ export type StyleMetaData = { export type DataRequestDescriptor = { dataId: string; - dataMetaAtStart?: DataMeta | null; + dataRequestMetaAtStart?: DataRequestMeta | null; dataRequestToken?: symbol; data?: object; - dataMeta?: DataMeta; + dataRequestMeta?: DataRequestMeta; }; diff --git a/x-pack/plugins/maps/common/descriptor_types/map_descriptor.ts b/x-pack/plugins/maps/common/descriptor_types/map_descriptor.ts index 20d811fab62f7..8cb43713face4 100644 --- a/x-pack/plugins/maps/common/descriptor_types/map_descriptor.ts +++ b/x-pack/plugins/maps/common/descriptor_types/map_descriptor.ts @@ -10,7 +10,6 @@ import { ReactNode } from 'react'; import { GeoJsonProperties } from 'geojson'; import { Geometry } from 'geojson'; -import { Query } from '../../../../../src/plugins/data/common'; import { DRAW_SHAPE, ES_SPATIAL_RELATIONS } from '../constants'; export type MapExtent = { @@ -20,10 +19,6 @@ export type MapExtent = { maxLat: number; }; -export type MapQuery = Query & { - queryLastTriggeredAt?: string; -}; - export type MapCenter = { lat: number; lon: number; diff --git a/x-pack/plugins/maps/common/descriptor_types/source_descriptor_types.ts b/x-pack/plugins/maps/common/descriptor_types/source_descriptor_types.ts index 9a2af711ea2c7..285c4043e46c7 100644 --- a/x-pack/plugins/maps/common/descriptor_types/source_descriptor_types.ts +++ b/x-pack/plugins/maps/common/descriptor_types/source_descriptor_types.ts @@ -42,6 +42,7 @@ export type AbstractESSourceDescriptor = AbstractSourceDescriptor & { geoField?: string; applyGlobalQuery: boolean; applyGlobalTime: boolean; + applyForceRefresh: boolean; }; type AbstractAggDescriptor = { diff --git a/x-pack/plugins/maps/public/actions/data_request_actions.ts b/x-pack/plugins/maps/public/actions/data_request_actions.ts index 50df95a52c4d4..48b0a416b5f0f 100644 --- a/x-pack/plugins/maps/public/actions/data_request_actions.ts +++ b/x-pack/plugins/maps/public/actions/data_request_actions.ts @@ -45,22 +45,28 @@ import { } from './map_action_constants'; import { ILayer } from '../classes/layers/layer'; import { IVectorLayer } from '../classes/layers/vector_layer'; -import { DataMeta, MapExtent, MapFilters } from '../../common/descriptor_types'; +import { DataRequestMeta, MapExtent, DataFilters } from '../../common/descriptor_types'; import { DataRequestAbortError } from '../classes/util/data_request'; import { scaleBounds, turfBboxToBounds } from '../../common/elasticsearch_util'; const FIT_TO_BOUNDS_SCALE_FACTOR = 0.1; export type DataRequestContext = { - startLoading(dataId: string, requestToken: symbol, requestMeta?: DataMeta): void; - stopLoading(dataId: string, requestToken: symbol, data: object, resultsMeta?: DataMeta): void; + startLoading(dataId: string, requestToken: symbol, requestMeta?: DataRequestMeta): void; + stopLoading( + dataId: string, + requestToken: symbol, + data: object, + resultsMeta?: DataRequestMeta + ): void; onLoadError(dataId: string, requestToken: symbol, errorMessage: string): void; onJoinError(errorMessage: string): void; updateSourceData(newData: unknown): void; isRequestStillActive(dataId: string, requestToken: symbol): boolean; registerCancelCallback(requestToken: symbol, callback: () => void): void; - dataFilters: MapFilters; - forceRefresh: boolean; + dataFilters: DataFilters; + forceRefreshDueToDrawing: boolean; // Boolean signaling data request triggered by a user updating layer features via drawing tools. When true, layer will re-load regardless of "source.applyForceRefresh" flag. + isForceRefresh: boolean; // Boolean signaling data request triggered by auto-refresh timer or user clicking refresh button. When true, layer will re-load only when "source.applyForceRefresh" flag is set to true. }; export function clearDataRequests(layer: ILayer) { @@ -112,13 +118,14 @@ function getDataRequestContext( dispatch: ThunkDispatch, getState: () => MapStoreState, layerId: string, - forceRefresh: boolean = false + forceRefreshDueToDrawing: boolean, + isForceRefresh: boolean ): DataRequestContext { return { dataFilters: getDataFilters(getState()), - startLoading: (dataId: string, requestToken: symbol, meta: DataMeta) => + startLoading: (dataId: string, requestToken: symbol, meta: DataRequestMeta) => dispatch(startDataLoad(layerId, dataId, requestToken, meta)), - stopLoading: (dataId: string, requestToken: symbol, data: object, meta: DataMeta) => + stopLoading: (dataId: string, requestToken: symbol, data: object, meta: DataRequestMeta) => dispatch(endDataLoad(layerId, dataId, requestToken, data, meta)), onLoadError: (dataId: string, requestToken: symbol, errorMessage: string) => dispatch(onDataLoadError(layerId, dataId, requestToken, errorMessage)), @@ -136,17 +143,18 @@ function getDataRequestContext( }, registerCancelCallback: (requestToken: symbol, callback: () => void) => dispatch(registerCancelCallback(requestToken, callback)), - forceRefresh, + forceRefreshDueToDrawing, + isForceRefresh, }; } -export function syncDataForAllLayers() { +export function syncDataForAllLayers(isForceRefresh: boolean) { return async ( dispatch: ThunkDispatch, getState: () => MapStoreState ) => { const syncPromises = getLayerList(getState()).map((layer) => { - return dispatch(syncDataForLayer(layer)); + return dispatch(syncDataForLayer(layer, isForceRefresh)); }); await Promise.all(syncPromises); }; @@ -162,19 +170,20 @@ function syncDataForAllJoinLayers() { return 'hasJoins' in layer ? (layer as IVectorLayer).hasJoins() : false; }) .map((layer) => { - return dispatch(syncDataForLayer(layer)); + return dispatch(syncDataForLayer(layer, false)); }); await Promise.all(syncPromises); }; } -export function syncDataForLayer(layer: ILayer, forceRefresh: boolean = false) { +export function syncDataForLayerDueToDrawing(layer: ILayer) { return async (dispatch: Dispatch, getState: () => MapStoreState) => { const dataRequestContext = getDataRequestContext( dispatch, getState, layer.getId(), - forceRefresh + true, + false ); if (!layer.isVisible() || !layer.showAtZoomLevel(dataRequestContext.dataFilters.zoom)) { return; @@ -183,14 +192,30 @@ export function syncDataForLayer(layer: ILayer, forceRefresh: boolean = false) { }; } -export function syncDataForLayerId(layerId: string | null) { +export function syncDataForLayer(layer: ILayer, isForceRefresh: boolean) { + return async (dispatch: Dispatch, getState: () => MapStoreState) => { + const dataRequestContext = getDataRequestContext( + dispatch, + getState, + layer.getId(), + false, + isForceRefresh + ); + if (!layer.isVisible() || !layer.showAtZoomLevel(dataRequestContext.dataFilters.zoom)) { + return; + } + await layer.syncData(dataRequestContext); + }; +} + +export function syncDataForLayerId(layerId: string | null, isForceRefresh: boolean) { return async ( dispatch: ThunkDispatch, getState: () => MapStoreState ) => { const layer = getLayerById(layerId, getState()); if (layer) { - dispatch(syncDataForLayer(layer)); + dispatch(syncDataForLayer(layer, isForceRefresh)); } }; } @@ -204,7 +229,12 @@ function setLayerDataLoadErrorStatus(layerId: string, errorMessage: string | nul }; } -function startDataLoad(layerId: string, dataId: string, requestToken: symbol, meta: DataMeta) { +function startDataLoad( + layerId: string, + dataId: string, + requestToken: symbol, + meta: DataRequestMeta +) { return ( dispatch: ThunkDispatch, getState: () => MapStoreState @@ -237,7 +267,7 @@ function endDataLoad( dataId: string, requestToken: symbol, data: object, - meta: DataMeta + meta: DataRequestMeta ) { return ( dispatch: ThunkDispatch, @@ -342,7 +372,7 @@ export function fitToLayerExtent(layerId: string) { if (targetLayer) { try { const bounds = await targetLayer.getBounds( - getDataRequestContext(dispatch, getState, layerId) + getDataRequestContext(dispatch, getState, layerId, false, false) ); if (bounds) { await dispatch(setGotoWithBounds(scaleBounds(bounds, FIT_TO_BOUNDS_SCALE_FACTOR))); @@ -374,7 +404,9 @@ export function fitToDataBounds(onNoBounds?: () => void) { if (!(await layer.isFittable())) { return null; } - return layer.getBounds(getDataRequestContext(dispatch, getState, layer.getId())); + return layer.getBounds( + getDataRequestContext(dispatch, getState, layer.getId(), false, false) + ); }); let bounds; @@ -442,7 +474,7 @@ export function autoFitToBounds() { // Ensure layer syncing occurs when setGotoWithBounds is not triggered. function onNoBounds() { if (localSetQueryCallId === lastSetQueryCallId) { - dispatch(syncDataForAllLayers()); + dispatch(syncDataForAllLayers(false)); } } dispatch(fitToDataBounds(onNoBounds)); diff --git a/x-pack/plugins/maps/public/actions/layer_actions.ts b/x-pack/plugins/maps/public/actions/layer_actions.ts index edd21090143bf..d5bb061ccf430 100644 --- a/x-pack/plugins/maps/public/actions/layer_actions.ts +++ b/x-pack/plugins/maps/public/actions/layer_actions.ts @@ -80,7 +80,7 @@ export function rollbackToTrackedLayerStateForSelectedLayer() { // syncDataForLayer may not trigger endDataLoad if no re-fetch is required dispatch(updateStyleMeta(layerId)); - dispatch(syncDataForLayerId(layerId)); + dispatch(syncDataForLayerId(layerId, false)); }; } @@ -149,7 +149,7 @@ export function addLayer(layerDescriptor: LayerDescriptor) { type: ADD_LAYER, layer: layerDescriptor, }); - dispatch(syncDataForLayerId(layerDescriptor.id)); + dispatch(syncDataForLayerId(layerDescriptor.id, false)); const layer = createLayerInstance(layerDescriptor); const features = await layer.getLicensedFeatures(); @@ -226,7 +226,7 @@ export function setLayerVisibility(layerId: string, makeVisible: boolean) { visibility: makeVisible, }); if (makeVisible) { - dispatch(syncDataForLayerId(layerId)); + dispatch(syncDataForLayerId(layerId, false)); } }; } @@ -330,7 +330,7 @@ function updateMetricsProp(layerId: string, value: unknown) { value, }); await dispatch(updateStyleProperties(layerId, previousFields as IESAggField[])); - dispatch(syncDataForLayerId(layerId)); + dispatch(syncDataForLayerId(layerId, false)); }; } @@ -356,7 +356,7 @@ export function updateSourceProp( if (newLayerType) { dispatch(updateLayerType(layerId, newLayerType)); } - dispatch(syncDataForLayerId(layerId)); + dispatch(syncDataForLayerId(layerId, false)); }; } @@ -459,7 +459,7 @@ export function setLayerQuery(id: string, query: Query) { newValue: query, }); - dispatch(syncDataForLayerId(id)); + dispatch(syncDataForLayerId(id, false)); }; } @@ -563,7 +563,7 @@ export function updateLayerStyle(layerId: string, styleDescriptor: StyleDescript dispatch(updateStyleMeta(layerId)); // Style update may require re-fetch, for example ES search may need to retrieve field used for dynamic styling - dispatch(syncDataForLayerId(layerId)); + dispatch(syncDataForLayerId(layerId, false)); }; } @@ -589,7 +589,7 @@ export function setJoinsForLayer(layer: ILayer, joins: JoinDescriptor[]) { joins, }); await dispatch(updateStyleProperties(layer.getId(), previousFields)); - dispatch(syncDataForLayerId(layer.getId())); + dispatch(syncDataForLayerId(layer.getId(), false)); }; } diff --git a/x-pack/plugins/maps/public/actions/map_actions.test.ts b/x-pack/plugins/maps/public/actions/map_actions.test.ts index d222d8e5b0466..935ca332baa22 100644 --- a/x-pack/plugins/maps/public/actions/map_actions.test.ts +++ b/x-pack/plugins/maps/public/actions/map_actions.test.ts @@ -277,7 +277,6 @@ describe('map_actions', () => { const query = { language: 'kuery', query: '', - queryLastTriggeredAt: '2020-08-14T15:07:12.276Z', }; const timeFilters = { from: 'now-1y', to: 'now' }; const filters = [ @@ -327,7 +326,6 @@ describe('map_actions', () => { const newQuery = { language: 'kuery', query: 'foobar', - queryLastTriggeredAt: '2020-08-14T15:07:12.276Z', }; const setQueryAction = await setQuery({ query: newQuery, @@ -384,7 +382,6 @@ describe('map_actions', () => { }); await setQueryAction(dispatchMock, getStoreMock); - // Only checking calls length instead of calls because queryLastTriggeredAt changes on this run expect(dispatchMock.mock.calls.length).toEqual(2); }); }); diff --git a/x-pack/plugins/maps/public/actions/map_actions.ts b/x-pack/plugins/maps/public/actions/map_actions.ts index c1db14347460f..ba52203ce486b 100644 --- a/x-pack/plugins/maps/public/actions/map_actions.ts +++ b/x-pack/plugins/maps/public/actions/map_actions.ts @@ -51,7 +51,11 @@ import { UPDATE_MAP_SETTING, UPDATE_EDIT_STATE, } from './map_action_constants'; -import { autoFitToBounds, syncDataForAllLayers, syncDataForLayer } from './data_request_actions'; +import { + autoFitToBounds, + syncDataForAllLayers, + syncDataForLayerDueToDrawing, +} from './data_request_actions'; import { addLayer, addLayerWithoutDataSync } from './layer_actions'; import { MapSettings } from '../reducers/map'; import { DrawState, MapCenterAndZoom, MapExtent, Timeslice } from '../../common/descriptor_types'; @@ -172,7 +176,7 @@ export function mapExtentChanged(mapExtentState: MapExtentState) { }); } - dispatch(syncDataForAllLayers()); + dispatch(syncDataForAllLayers(false)); }; } @@ -212,10 +216,6 @@ export function clearGoto() { return { type: CLEAR_GOTO }; } -function generateQueryTimestamp() { - return new Date().toISOString(); -} - export function setQuery({ query, timeFilters, @@ -240,11 +240,6 @@ export function setQuery({ getState: () => MapStoreState ) => { const prevQuery = getQuery(getState()); - const prevTriggeredAt = - prevQuery && prevQuery.queryLastTriggeredAt - ? prevQuery.queryLastTriggeredAt - : generateQueryTimestamp(); - const prevTimeFilters = getTimeFilters(getState()); function getNextTimeslice() { @@ -261,11 +256,7 @@ export function setQuery({ const nextQueryContext = { timeFilters: timeFilters ? timeFilters : prevTimeFilters, timeslice: getNextTimeslice(), - query: { - ...(query ? query : prevQuery), - // ensure query changes to trigger re-fetch when "Refresh" clicked - queryLastTriggeredAt: forceRefresh ? generateQueryTimestamp() : prevTriggeredAt, - }, + query: query ? query : prevQuery, filters: filters ? filters : getFilters(getState()), searchSessionId: searchSessionId ? searchSessionId : getSearchSessionId(getState()), searchSessionMapBuffer, @@ -280,7 +271,7 @@ export function setQuery({ searchSessionMapBuffer: getSearchSessionMapBuffer(getState()), }; - if (_.isEqual(nextQueryContext, prevQueryContext)) { + if (!forceRefresh && _.isEqual(nextQueryContext, prevQueryContext)) { // do nothing if query context has not changed return; } @@ -293,7 +284,7 @@ export function setQuery({ if (getMapSettings(getState()).autoFitToDataBounds) { dispatch(autoFitToBounds()); } else { - await dispatch(syncDataForAllLayers()); + await dispatch(syncDataForAllLayers(forceRefresh)); } }; } @@ -372,7 +363,7 @@ export function addNewFeatureToIndex(geometry: Geometry | Position[]) { try { await layer.addFeature(geometry); - await dispatch(syncDataForLayer(layer, true)); + await dispatch(syncDataForLayerDueToDrawing(layer)); } catch (e) { getToasts().addError(e, { title: i18n.translate('xpack.maps.mapActions.addFeatureError', { @@ -399,7 +390,7 @@ export function deleteFeatureFromIndex(featureId: string) { } try { await layer.deleteFeature(featureId); - await dispatch(syncDataForLayer(layer, true)); + await dispatch(syncDataForLayerDueToDrawing(layer)); } catch (e) { getToasts().addError(e, { title: i18n.translate('xpack.maps.mapActions.removeFeatureError', { diff --git a/x-pack/plugins/maps/public/classes/layers/__fixtures__/mock_sync_context.ts b/x-pack/plugins/maps/public/classes/layers/__fixtures__/mock_sync_context.ts index 16aca6760c4d5..b81ba6c854629 100644 --- a/x-pack/plugins/maps/public/classes/layers/__fixtures__/mock_sync_context.ts +++ b/x-pack/plugins/maps/public/classes/layers/__fixtures__/mock_sync_context.ts @@ -7,21 +7,22 @@ import sinon from 'sinon'; import { DataRequestContext } from '../../../actions'; -import { DataMeta, MapFilters } from '../../../../common/descriptor_types'; +import { DataRequestMeta, DataFilters } from '../../../../common/descriptor_types'; export class MockSyncContext implements DataRequestContext { - dataFilters: MapFilters; + dataFilters: DataFilters; isRequestStillActive: (dataId: string, requestToken: symbol) => boolean; onLoadError: (dataId: string, requestToken: symbol, errorMessage: string) => void; registerCancelCallback: (requestToken: symbol, callback: () => void) => void; - startLoading: (dataId: string, requestToken: symbol, meta: DataMeta) => void; - stopLoading: (dataId: string, requestToken: symbol, data: object, meta: DataMeta) => void; + startLoading: (dataId: string, requestToken: symbol, meta: DataRequestMeta) => void; + stopLoading: (dataId: string, requestToken: symbol, data: object, meta: DataRequestMeta) => void; onJoinError: (errorMessage: string) => void; updateSourceData: (newData: unknown) => void; - forceRefresh: boolean; + forceRefreshDueToDrawing: boolean; + isForceRefresh: boolean; - constructor({ dataFilters }: { dataFilters: Partial }) { - const mapFilters: MapFilters = { + constructor({ dataFilters }: { dataFilters: Partial }) { + const mapFilters: DataFilters = { filters: [], timeFilters: { from: 'now', @@ -41,6 +42,7 @@ export class MockSyncContext implements DataRequestContext { this.stopLoading = sinon.spy(); this.onJoinError = sinon.spy(); this.updateSourceData = sinon.spy(); - this.forceRefresh = false; + this.forceRefreshDueToDrawing = false; + this.isForceRefresh = false; } } diff --git a/x-pack/plugins/maps/public/classes/layers/blended_vector_layer/blended_vector_layer.test.tsx b/x-pack/plugins/maps/public/classes/layers/blended_vector_layer/blended_vector_layer.test.tsx index 4c81ee67e1daf..d4138ccfaf319 100644 --- a/x-pack/plugins/maps/public/classes/layers/blended_vector_layer/blended_vector_layer.test.tsx +++ b/x-pack/plugins/maps/public/classes/layers/blended_vector_layer/blended_vector_layer.test.tsx @@ -63,6 +63,7 @@ describe('getSource', () => { ...documentSourceDescriptor, applyGlobalQuery: false, applyGlobalTime: false, + applyForceRefresh: false, }), layerDescriptor: BlendedVectorLayer.createDescriptor( { @@ -86,6 +87,7 @@ describe('getSource', () => { geoField: sourceDescriptor.geoField, applyGlobalQuery: sourceDescriptor.applyGlobalQuery, applyGlobalTime: sourceDescriptor.applyGlobalTime, + applyForceRefresh: sourceDescriptor.applyForceRefresh, }; expect(abstractEsSourceDescriptor).toEqual({ type: sourceDescriptor.type, @@ -94,6 +96,7 @@ describe('getSource', () => { indexPatternId: 'myIndexPattern', applyGlobalQuery: false, applyGlobalTime: false, + applyForceRefresh: false, } as AbstractESSourceDescriptor); }); }); diff --git a/x-pack/plugins/maps/public/classes/layers/blended_vector_layer/blended_vector_layer.ts b/x-pack/plugins/maps/public/classes/layers/blended_vector_layer/blended_vector_layer.ts index 5db22ff5354a8..d2734265f3bc3 100644 --- a/x-pack/plugins/maps/public/classes/layers/blended_vector_layer/blended_vector_layer.ts +++ b/x-pack/plugins/maps/public/classes/layers/blended_vector_layer/blended_vector_layer.ts @@ -60,6 +60,7 @@ function getClusterSource(documentSource: IESSource, documentStyle: IVectorStyle }); clusterSourceDescriptor.applyGlobalQuery = documentSource.getApplyGlobalQuery(); clusterSourceDescriptor.applyGlobalTime = documentSource.getApplyGlobalTime(); + clusterSourceDescriptor.applyForceRefresh = documentSource.getApplyForceRefresh(); clusterSourceDescriptor.metrics = [ { type: AGG_TYPE.COUNT, @@ -290,16 +291,18 @@ export class BlendedVectorLayer extends VectorLayer implements IVectorLayer { async syncData(syncContext: DataRequestContext) { const dataRequestId = ACTIVE_COUNT_DATA_ID; const requestToken = Symbol(`layer-active-count:${this.getId()}`); - const searchFilters: VectorSourceRequestMeta = await this._getSearchFilters( + const requestMeta: VectorSourceRequestMeta = await this._getVectorSourceRequestMeta( + syncContext.isForceRefresh, syncContext.dataFilters, this.getSource(), this.getCurrentStyle() ); const source = this.getSource(); - const canSkipFetch = await canSkipSourceUpdate({ + + const canSkipSourceFetch = await canSkipSourceUpdate({ source, prevDataRequest: this.getDataRequest(dataRequestId), - nextMeta: searchFilters, + nextRequestMeta: requestMeta, extentAware: source.isFilterByMapBounds(), getUpdateDueToTimeslice: (timeslice?: Timeslice) => { return this._getUpdateDueToTimesliceFromSourceRequestMeta(source, timeslice); @@ -308,7 +311,7 @@ export class BlendedVectorLayer extends VectorLayer implements IVectorLayer { let activeSource; let activeStyle; - if (canSkipFetch) { + if (canSkipSourceFetch) { // Even when source fetch is skipped, need to call super._syncData to sync StyleMeta and formatters if (this._isClustered) { activeSource = this._clusterSource; @@ -320,12 +323,12 @@ export class BlendedVectorLayer extends VectorLayer implements IVectorLayer { } else { let isSyncClustered; try { - syncContext.startLoading(dataRequestId, requestToken, searchFilters); + syncContext.startLoading(dataRequestId, requestToken, requestMeta); isSyncClustered = !(await this._documentSource.canLoadAllDocuments( - searchFilters, + requestMeta, syncContext.registerCancelCallback.bind(null, requestToken) )); - syncContext.stopLoading(dataRequestId, requestToken, { isSyncClustered }, searchFilters); + syncContext.stopLoading(dataRequestId, requestToken, { isSyncClustered }, requestMeta); } catch (error) { if (!(error instanceof DataRequestAbortError) || !isSearchSourceAbortError(error)) { syncContext.onLoadError(dataRequestId, requestToken, error.message); diff --git a/x-pack/plugins/maps/public/classes/layers/build_vector_request_meta.ts b/x-pack/plugins/maps/public/classes/layers/build_vector_request_meta.ts new file mode 100644 index 0000000000000..4d52dacc63782 --- /dev/null +++ b/x-pack/plugins/maps/public/classes/layers/build_vector_request_meta.ts @@ -0,0 +1,32 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import _ from 'lodash'; +import type { Query } from 'src/plugins/data/common'; +import { DataFilters, VectorSourceRequestMeta } from '../../../common/descriptor_types'; +import { IVectorSource } from '../sources/vector_source'; +import { ITermJoinSource } from '../sources/term_join_source'; + +export function buildVectorRequestMeta( + source: IVectorSource | ITermJoinSource, + fieldNames: string[], + dataFilters: DataFilters, + sourceQuery: Query | null | undefined, + isForceRefresh: boolean +): VectorSourceRequestMeta { + return { + ...dataFilters, + fieldNames: _.uniq(fieldNames).sort(), + geogridPrecision: source.getGeoGridPrecision(dataFilters.zoom), + sourceQuery: sourceQuery ? sourceQuery : undefined, + applyGlobalQuery: source.getApplyGlobalQuery(), + applyGlobalTime: source.getApplyGlobalTime(), + sourceMeta: source.getSyncMeta(), + applyForceRefresh: source.isESSource() ? source.getApplyForceRefresh() : false, + isForceRefresh, + }; +} diff --git a/x-pack/plugins/maps/public/classes/layers/choropleth_layer_wizard/create_choropleth_layer_descriptor.ts b/x-pack/plugins/maps/public/classes/layers/choropleth_layer_wizard/create_choropleth_layer_descriptor.ts index a4955a965d77c..6b91e4812a1d6 100644 --- a/x-pack/plugins/maps/public/classes/layers/choropleth_layer_wizard/create_choropleth_layer_descriptor.ts +++ b/x-pack/plugins/maps/public/classes/layers/choropleth_layer_wizard/create_choropleth_layer_descriptor.ts @@ -64,6 +64,7 @@ function createChoroplethLayerDescriptor({ metrics: [metricsDescriptor], applyGlobalQuery: true, applyGlobalTime: true, + applyForceRefresh: true, }, }, ], @@ -148,6 +149,8 @@ export function createEsChoroplethLayerDescriptor({ scalingType: SCALING_TYPES.LIMIT, tooltipProperties: [leftJoinField], applyGlobalQuery: false, + applyGlobalTime: false, + applyForceRefresh: false, }), leftField: leftJoinField, rightIndexPatternId, diff --git a/x-pack/plugins/maps/public/classes/layers/create_region_map_layer_descriptor.ts b/x-pack/plugins/maps/public/classes/layers/create_region_map_layer_descriptor.ts index 229532c09f955..408460de28aeb 100644 --- a/x-pack/plugins/maps/public/classes/layers/create_region_map_layer_descriptor.ts +++ b/x-pack/plugins/maps/public/classes/layers/create_region_map_layer_descriptor.ts @@ -92,6 +92,7 @@ export function createRegionMapLayerDescriptor({ metrics: [metricsDescriptor], applyGlobalQuery: true, applyGlobalTime: true, + applyForceRefresh: true, }; if (termsSize !== undefined) { termSourceDescriptor.size = termsSize; diff --git a/x-pack/plugins/maps/public/classes/layers/heatmap_layer/heatmap_layer.ts b/x-pack/plugins/maps/public/classes/layers/heatmap_layer/heatmap_layer.ts index d12c8432a4191..d65d114205163 100644 --- a/x-pack/plugins/maps/public/classes/layers/heatmap_layer/heatmap_layer.ts +++ b/x-pack/plugins/maps/public/classes/layers/heatmap_layer/heatmap_layer.ts @@ -10,11 +10,12 @@ import { FeatureCollection } from 'geojson'; import { AbstractLayer } from '../layer'; import { HeatmapStyle } from '../../styles/heatmap/heatmap_style'; import { EMPTY_FEATURE_COLLECTION, LAYER_TYPE } from '../../../../common/constants'; -import { HeatmapLayerDescriptor, MapQuery } from '../../../../common/descriptor_types'; +import { HeatmapLayerDescriptor } from '../../../../common/descriptor_types'; import { ESGeoGridSource } from '../../sources/es_geo_grid_source'; import { addGeoJsonMbSource, getVectorSourceBounds, syncVectorSource } from '../vector_layer'; import { DataRequestContext } from '../../../actions'; import { DataRequestAbortError } from '../../util/data_request'; +import { buildVectorRequestMeta } from '../build_vector_request_meta'; const SCALED_PROPERTY_NAME = '__kbn_heatmap_weight__'; // unique name to store scaled value for weighting @@ -94,21 +95,18 @@ export class HeatmapLayer extends AbstractLayer { return; } - const sourceQuery = this.getQuery() as MapQuery; try { await syncVectorSource({ layerId: this.getId(), layerName: await this.getDisplayName(this.getSource()), prevDataRequest: this.getSourceDataRequest(), - requestMeta: { - ...syncContext.dataFilters, - fieldNames: this.getSource().getFieldNames(), - geogridPrecision: this.getSource().getGeoGridPrecision(syncContext.dataFilters.zoom), - sourceQuery: sourceQuery ? sourceQuery : undefined, - applyGlobalQuery: this.getSource().getApplyGlobalQuery(), - applyGlobalTime: this.getSource().getApplyGlobalTime(), - sourceMeta: this.getSource().getSyncMeta(), - }, + requestMeta: buildVectorRequestMeta( + this.getSource(), + this.getSource().getFieldNames(), + syncContext.dataFilters, + this.getQuery(), + syncContext.isForceRefresh + ), syncContext, source: this.getSource(), getUpdateDueToTimeslice: () => { @@ -194,7 +192,7 @@ export class HeatmapLayer extends AbstractLayer { layerId: this.getId(), syncContext, source: this.getSource(), - sourceQuery: this.getQuery() as MapQuery, + sourceQuery: this.getQuery(), }); } diff --git a/x-pack/plugins/maps/public/classes/layers/layer.test.ts b/x-pack/plugins/maps/public/classes/layers/layer.test.ts index d3d8a94e175eb..dcc183c5c1741 100644 --- a/x-pack/plugins/maps/public/classes/layers/layer.test.ts +++ b/x-pack/plugins/maps/public/classes/layers/layer.test.ts @@ -84,6 +84,7 @@ describe('cloneDescriptor', () => { type: SOURCE_TYPES.ES_TERM_SOURCE, applyGlobalQuery: true, applyGlobalTime: true, + applyForceRefresh: true, }, }, ], diff --git a/x-pack/plugins/maps/public/classes/layers/solution_layers/observability/create_layer_descriptor.test.ts b/x-pack/plugins/maps/public/classes/layers/solution_layers/observability/create_layer_descriptor.test.ts index 74ab35e6cb360..939d174798ca1 100644 --- a/x-pack/plugins/maps/public/classes/layers/solution_layers/observability/create_layer_descriptor.test.ts +++ b/x-pack/plugins/maps/public/classes/layers/solution_layers/observability/create_layer_descriptor.test.ts @@ -61,6 +61,7 @@ describe('createLayerDescriptor', () => { type: 'avg', }, ], + applyForceRefresh: true, term: 'client.geo.country_iso_code', type: 'ES_TERM_SOURCE', whereQuery: { @@ -201,6 +202,7 @@ describe('createLayerDescriptor', () => { ], requestType: 'heatmap', resolution: 'MOST_FINE', + applyForceRefresh: true, type: 'ES_GEO_GRID', }, style: { @@ -245,6 +247,7 @@ describe('createLayerDescriptor', () => { ], requestType: 'point', resolution: 'MOST_FINE', + applyForceRefresh: true, type: 'ES_GEO_GRID', }, style: { diff --git a/x-pack/plugins/maps/public/classes/layers/solution_layers/observability/create_layer_descriptor.ts b/x-pack/plugins/maps/public/classes/layers/solution_layers/observability/create_layer_descriptor.ts index 0b57afb38d585..d55040172f830 100644 --- a/x-pack/plugins/maps/public/classes/layers/solution_layers/observability/create_layer_descriptor.ts +++ b/x-pack/plugins/maps/public/classes/layers/solution_layers/observability/create_layer_descriptor.ts @@ -179,6 +179,7 @@ export function createLayerDescriptor({ whereQuery: apmSourceQuery, applyGlobalQuery: true, applyGlobalTime: true, + applyForceRefresh: true, }, }, ], diff --git a/x-pack/plugins/maps/public/classes/layers/solution_layers/security/create_layer_descriptors.test.ts b/x-pack/plugins/maps/public/classes/layers/solution_layers/security/create_layer_descriptors.test.ts index a3a3e8b20f678..cc6a7dfd9e796 100644 --- a/x-pack/plugins/maps/public/classes/layers/solution_layers/security/create_layer_descriptors.test.ts +++ b/x-pack/plugins/maps/public/classes/layers/solution_layers/security/create_layer_descriptors.test.ts @@ -47,6 +47,7 @@ describe('createLayerDescriptor', () => { geoField: 'client.geo.location', id: '12345', indexPatternId: 'id', + applyForceRefresh: true, scalingType: 'TOP_HITS', sortField: '', sortOrder: 'desc', @@ -156,6 +157,7 @@ describe('createLayerDescriptor', () => { geoField: 'server.geo.location', id: '12345', indexPatternId: 'id', + applyForceRefresh: true, scalingType: 'TOP_HITS', sortField: '', sortOrder: 'desc', @@ -274,6 +276,7 @@ describe('createLayerDescriptor', () => { type: 'sum', }, ], + applyForceRefresh: true, sourceGeoField: 'client.geo.location', type: 'ES_PEW_PEW', }, @@ -386,6 +389,7 @@ describe('createLayerDescriptor', () => { geoField: 'source.geo.location', id: '12345', indexPatternId: 'id', + applyForceRefresh: true, scalingType: 'TOP_HITS', sortField: '', sortOrder: 'desc', @@ -495,6 +499,7 @@ describe('createLayerDescriptor', () => { geoField: 'destination.geo.location', id: '12345', indexPatternId: 'id', + applyForceRefresh: true, scalingType: 'TOP_HITS', sortField: '', sortOrder: 'desc', @@ -613,6 +618,7 @@ describe('createLayerDescriptor', () => { type: 'sum', }, ], + applyForceRefresh: true, sourceGeoField: 'source.geo.location', type: 'ES_PEW_PEW', }, @@ -724,6 +730,7 @@ describe('createLayerDescriptor', () => { filterByMapBounds: true, geoField: 'client.geo.location', id: '12345', + applyForceRefresh: true, indexPatternId: 'id', scalingType: 'TOP_HITS', sortField: '', @@ -835,6 +842,7 @@ describe('createLayerDescriptor', () => { id: '12345', indexPatternId: 'id', scalingType: 'TOP_HITS', + applyForceRefresh: true, sortField: '', sortOrder: 'desc', tooltipProperties: [ @@ -952,6 +960,7 @@ describe('createLayerDescriptor', () => { type: 'sum', }, ], + applyForceRefresh: true, sourceGeoField: 'client.geo.location', type: 'ES_PEW_PEW', }, diff --git a/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.tsx b/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.tsx index 6277411fa053a..0d365cc5fc8c4 100644 --- a/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.tsx +++ b/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.tsx @@ -38,7 +38,6 @@ import { } from '../../../../common/descriptor_types'; import { MVTSingleLayerVectorSourceConfig } from '../../sources/mvt_single_layer_vector_source/types'; import { canSkipSourceUpdate } from '../../util/can_skip_fetch'; -import { isRefreshOnlyQuery } from '../../util/is_refresh_only_query'; import { CustomIconAndTooltipContent } from '../layer'; export class TiledVectorLayer extends VectorLayer { @@ -113,9 +112,11 @@ export class TiledVectorLayer extends VectorLayer { stopLoading, onLoadError, dataFilters, + isForceRefresh, }: DataRequestContext) { const requestToken: symbol = Symbol(`layer-${this.getId()}-${SOURCE_DATA_REQUEST_ID}`); - const searchFilters: VectorSourceRequestMeta = await this._getSearchFilters( + const requestMeta: VectorSourceRequestMeta = await this._getVectorSourceRequestMeta( + isForceRefresh, dataFilters, this.getSource(), this._style as IVectorStyle @@ -132,7 +133,7 @@ export class TiledVectorLayer extends VectorLayer { extentAware: false, // spatial extent knowledge is already fully automated by tile-loading based on pan-zooming source: this.getSource(), prevDataRequest, - nextMeta: searchFilters, + nextRequestMeta: requestMeta, getUpdateDueToTimeslice: (timeslice?: Timeslice) => { // TODO use meta features to determine if tiles already contain features for timeslice. return true; @@ -145,18 +146,17 @@ export class TiledVectorLayer extends VectorLayer { } } - startLoading(SOURCE_DATA_REQUEST_ID, requestToken, searchFilters); + startLoading(SOURCE_DATA_REQUEST_ID, requestToken, requestMeta); try { - const prevMeta = prevDataRequest ? prevDataRequest.getMeta() : undefined; const prevData = prevDataRequest ? (prevDataRequest.getData() as MVTSingleLayerVectorSourceConfig) : undefined; const urlToken = - !prevData || isRefreshOnlyQuery(prevMeta ? prevMeta.query : undefined, searchFilters.query) + !prevData || (requestMeta.isForceRefresh && requestMeta.applyForceRefresh) ? uuid() : prevData.urlToken; - const newUrlTemplateAndMeta = await this._source.getUrlTemplateWithMeta(searchFilters); + const newUrlTemplateAndMeta = await this._source.getUrlTemplateWithMeta(requestMeta); let urlTemplate; if (newUrlTemplateAndMeta.refreshTokenParamName) { diff --git a/x-pack/plugins/maps/public/classes/layers/vector_layer/utils.tsx b/x-pack/plugins/maps/public/classes/layers/vector_layer/utils.tsx index 346e59f60af32..6bc72f09e9387 100644 --- a/x-pack/plugins/maps/public/classes/layers/vector_layer/utils.tsx +++ b/x-pack/plugins/maps/public/classes/layers/vector_layer/utils.tsx @@ -7,6 +7,7 @@ import { FeatureCollection } from 'geojson'; import type { Map as MbMap } from '@kbn/mapbox-gl'; +import type { Query } from 'src/plugins/data/common'; import { EMPTY_FEATURE_COLLECTION, SOURCE_BOUNDS_DATA_REQUEST_ID, @@ -14,9 +15,8 @@ import { VECTOR_SHAPE_TYPE, } from '../../../../common/constants'; import { - DataMeta, + DataRequestMeta, MapExtent, - MapQuery, Timeslice, VectorSourceRequestMeta, } from '../../../../common/descriptor_types'; @@ -77,15 +77,17 @@ export async function syncVectorSource({ } = syncContext; const dataRequestId = SOURCE_DATA_REQUEST_ID; const requestToken = Symbol(`${layerId}-${dataRequestId}`); - const canSkipFetch = syncContext.forceRefresh + + const canSkipFetch = syncContext.forceRefreshDueToDrawing ? false : await canSkipSourceUpdate({ source, prevDataRequest, - nextMeta: requestMeta, + nextRequestMeta: requestMeta, extentAware: source.isFilterByMapBounds(), getUpdateDueToTimeslice, }); + if (canSkipFetch) { return { refreshed: false, @@ -113,11 +115,11 @@ export async function syncVectorSource({ ) { layerFeatureCollection.features.push(...getCentroidFeatures(layerFeatureCollection)); } - const responseMeta: DataMeta = meta ? { ...meta } : {}; + const responseMeta: DataRequestMeta = meta ? { ...meta } : {}; if (requestMeta.applyGlobalTime && (await source.isTimeAware())) { - const timesiceMaskField = await source.getTimesliceMaskFieldName(); - if (timesiceMaskField) { - responseMeta.timesiceMaskField = timesiceMaskField; + const timesliceMaskField = await source.getTimesliceMaskFieldName(); + if (timesliceMaskField) { + responseMeta.timesliceMaskField = timesliceMaskField; } } stopLoading(dataRequestId, requestToken, layerFeatureCollection, responseMeta); @@ -142,7 +144,7 @@ export async function getVectorSourceBounds({ layerId: string; syncContext: DataRequestContext; source: IVectorSource; - sourceQuery: MapQuery | null; + sourceQuery: Query | null; }): Promise { const { startLoading, stopLoading, registerCancelCallback, dataFilters } = syncContext; diff --git a/x-pack/plugins/maps/public/classes/layers/vector_layer/vector_layer.tsx b/x-pack/plugins/maps/public/classes/layers/vector_layer/vector_layer.tsx index 54e0c00141cd3..c4903ddb325b2 100644 --- a/x-pack/plugins/maps/public/classes/layers/vector_layer/vector_layer.tsx +++ b/x-pack/plugins/maps/public/classes/layers/vector_layer/vector_layer.tsx @@ -11,6 +11,7 @@ import type { AnyLayer as MbLayer, GeoJSONSource as MbGeoJSONSource, } from '@kbn/mapbox-gl'; +import type { Query } from 'src/plugins/data/common'; import { Feature, FeatureCollection, GeoJsonProperties, Geometry, Position } from 'geojson'; import _ from 'lodash'; import { EuiIcon } from '@elastic/eui'; @@ -48,14 +49,13 @@ import { } from '../../util/mb_filter_expressions'; import { DynamicStylePropertyOptions, - MapFilters, - MapQuery, + DataFilters, StyleMetaDescriptor, Timeslice, - VectorJoinSourceRequestMeta, VectorLayerDescriptor, VectorSourceRequestMeta, VectorStyleRequestMeta, + VectorJoinSourceRequestMeta, } from '../../../../common/descriptor_types'; import { ISource } from '../../sources/source'; import { IVectorSource } from '../../sources/vector_source'; @@ -70,6 +70,7 @@ import { PropertiesMap } from '../../../../common/elasticsearch_util'; import { ITermJoinSource } from '../../sources/term_join_source'; import { addGeoJsonMbSource, getVectorSourceBounds, syncVectorSource } from './utils'; import { JoinState, performInnerJoins } from './perform_inner_joins'; +import { buildVectorRequestMeta } from '../build_vector_request_meta'; export interface VectorLayerArguments { source: IVectorSource; @@ -266,7 +267,7 @@ export class VectorLayer extends AbstractLayer implements IVectorLayer { layerId: this.getId(), syncContext, source: this.getSource(), - sourceQuery: this.getQuery() as MapQuery, + sourceQuery: this.getQuery(), }); } @@ -332,29 +333,31 @@ export class VectorLayer extends AbstractLayer implements IVectorLayer { onLoadError, registerCancelCallback, dataFilters, + isForceRefresh, }: { join: InnerJoin } & DataRequestContext): Promise { const joinSource = join.getRightJoinSource(); const sourceDataId = join.getSourceDataRequestId(); const requestToken = Symbol(`layer-join-refresh:${this.getId()} - ${sourceDataId}`); - const searchFilters: VectorJoinSourceRequestMeta = { - ...dataFilters, - fieldNames: joinSource.getFieldNames(), - sourceQuery: joinSource.getWhereQuery(), - applyGlobalQuery: joinSource.getApplyGlobalQuery(), - applyGlobalTime: joinSource.getApplyGlobalTime(), - sourceMeta: joinSource.getSyncMeta(), - }; - const prevDataRequest = this.getDataRequest(sourceDataId); + const joinRequestMeta: VectorJoinSourceRequestMeta = buildVectorRequestMeta( + joinSource, + joinSource.getFieldNames(), + dataFilters, + joinSource.getWhereQuery(), + isForceRefresh + ) as VectorJoinSourceRequestMeta; + + const prevDataRequest = this.getDataRequest(sourceDataId); const canSkipFetch = await canSkipSourceUpdate({ source: joinSource, prevDataRequest, - nextMeta: searchFilters, + nextRequestMeta: joinRequestMeta, extentAware: false, // join-sources are term-aggs that are spatially unaware (e.g. ESTermSource/TableSource). getUpdateDueToTimeslice: () => { return true; }, }); + if (canSkipFetch) { return { dataHasChanged: false, @@ -364,10 +367,10 @@ export class VectorLayer extends AbstractLayer implements IVectorLayer { } try { - startLoading(sourceDataId, requestToken, searchFilters); + startLoading(sourceDataId, requestToken, joinRequestMeta); const leftSourceName = await this._source.getDisplayName(); const propertiesMap = await joinSource.getPropertiesMap( - searchFilters, + joinRequestMeta, leftSourceName, join.getLeftField().getName(), registerCancelCallback.bind(null, requestToken) @@ -396,8 +399,9 @@ export class VectorLayer extends AbstractLayer implements IVectorLayer { return await Promise.all(joinSyncs); } - async _getSearchFilters( - dataFilters: MapFilters, + async _getVectorSourceRequestMeta( + isForceRefresh: boolean, + dataFilters: DataFilters, source: IVectorSource, style: IVectorStyle ): Promise { @@ -411,17 +415,7 @@ export class VectorLayer extends AbstractLayer implements IVectorLayer { if (timesliceMaskFieldName) { fieldNames.push(timesliceMaskFieldName); } - - const sourceQuery = this.getQuery() as MapQuery; - return { - ...dataFilters, - fieldNames: _.uniq(fieldNames).sort(), - geogridPrecision: source.getGeoGridPrecision(dataFilters.zoom), - sourceQuery: sourceQuery ? sourceQuery : undefined, - applyGlobalQuery: source.getApplyGlobalQuery(), - applyGlobalTime: source.getApplyGlobalTime(), - sourceMeta: source.getSyncMeta(), - }; + return buildVectorRequestMeta(source, fieldNames, dataFilters, this.getQuery(), isForceRefresh); } async _syncSourceStyleMeta( @@ -429,7 +423,7 @@ export class VectorLayer extends AbstractLayer implements IVectorLayer { source: IVectorSource, style: IVectorStyle ) { - const sourceQuery = this.getQuery() as MapQuery; + const sourceQuery = this.getQuery(); return this._syncStyleMeta({ source, style, @@ -481,7 +475,7 @@ export class VectorLayer extends AbstractLayer implements IVectorLayer { dataRequestId: string; dynamicStyleProps: Array>; source: IVectorSource | ITermJoinSource; - sourceQuery?: MapQuery; + sourceQuery?: Query; style: IVectorStyle; } & DataRequestContext) { if (!source.isESSource() || dynamicStyleProps.length === 0) { @@ -641,7 +635,12 @@ export class VectorLayer extends AbstractLayer implements IVectorLayer { layerId: this.getId(), layerName: await this.getDisplayName(source), prevDataRequest: this.getSourceDataRequest(), - requestMeta: await this._getSearchFilters(syncContext.dataFilters, source, style), + requestMeta: await this._getVectorSourceRequestMeta( + syncContext.isForceRefresh, + syncContext.dataFilters, + source, + style + ), syncContext, source, getUpdateDueToTimeslice: (timeslice?: Timeslice) => { @@ -995,9 +994,9 @@ export class VectorLayer extends AbstractLayer implements IVectorLayer { } const prevMeta = this.getSourceDataRequest()?.getMeta(); - return prevMeta !== undefined && prevMeta.timesiceMaskField !== undefined + return prevMeta !== undefined && prevMeta.timesliceMaskField !== undefined ? { - timesiceMaskField: prevMeta.timesiceMaskField, + timesliceMaskField: prevMeta.timesliceMaskField, timeslice, } : undefined; diff --git a/x-pack/plugins/maps/public/classes/layers/vector_tile_layer/vector_tile_layer.test.ts b/x-pack/plugins/maps/public/classes/layers/vector_tile_layer/vector_tile_layer.test.ts index 20627f42b3d2d..fe3c6d27ef588 100644 --- a/x-pack/plugins/maps/public/classes/layers/vector_tile_layer/vector_tile_layer.test.ts +++ b/x-pack/plugins/maps/public/classes/layers/vector_tile_layer/vector_tile_layer.test.ts @@ -7,7 +7,7 @@ import { ITileLayerArguments } from '../tile_layer/tile_layer'; import { SOURCE_TYPES } from '../../../../common/constants'; -import { MapFilters, XYZTMSSourceDescriptor } from '../../../../common/descriptor_types'; +import { DataFilters, XYZTMSSourceDescriptor } from '../../../../common/descriptor_types'; import { ITMSSource, AbstractTMSSource } from '../../sources/tms_source'; import { ILayer } from '../layer'; import { VectorTileLayer } from './vector_tile_layer'; @@ -63,7 +63,7 @@ describe('VectorTileLayer', () => { onLoadError: (requestId: string, token: string, message: string) => { actualErrorMessage = message; }, - dataFilters: ({ foo: 'bar' } as unknown) as MapFilters, + dataFilters: ({ foo: 'bar' } as unknown) as DataFilters, } as unknown) as DataRequestContext; await layer.syncData(mockContext); diff --git a/x-pack/plugins/maps/public/classes/sources/es_agg_source/es_agg_source.test.ts b/x-pack/plugins/maps/public/classes/sources/es_agg_source/es_agg_source.test.ts index 360f00b486a38..7db3652011e9a 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_agg_source/es_agg_source.test.ts +++ b/x-pack/plugins/maps/public/classes/sources/es_agg_source/es_agg_source.test.ts @@ -40,6 +40,7 @@ class TestESAggSource extends AbstractESAggSource { metrics, applyGlobalQuery: true, applyGlobalTime: true, + applyForceRefresh: true, }, [] ); diff --git a/x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/es_geo_grid_source.test.ts b/x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/es_geo_grid_source.test.ts index efbb755f2a1f7..41d5715e47b8e 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/es_geo_grid_source.test.ts +++ b/x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/es_geo_grid_source.test.ts @@ -155,15 +155,16 @@ describe('ESGeoGridSource', () => { extent, applyGlobalQuery: true, applyGlobalTime: true, + applyForceRefresh: true, fieldNames: [], buffer: extent, sourceQuery: { query: '', language: 'KQL', - queryLastTriggeredAt: '2019-04-25T20:53:22.331Z', }, sourceMeta: null, zoom: 0, + isForceRefresh: false, }; describe('getGeoJsonWithMeta', () => { @@ -315,7 +316,7 @@ describe('ESGeoGridSource', () => { expect(urlTemplateWithMeta.minSourceZoom).toBe(0); expect(urlTemplateWithMeta.maxSourceZoom).toBe(24); expect(urlTemplateWithMeta.urlTemplate).toEqual( - "rootdir/api/maps/mvt/getGridTile/{z}/{x}/{y}.pbf?geometryFieldName=bar&index=undefined&requestBody=(foobar:ES_DSL_PLACEHOLDER,params:('0':('0':index,'1':(fields:())),'1':('0':size,'1':0),'2':('0':filter,'1':!()),'3':('0':query),'4':('0':index,'1':(fields:())),'5':('0':query,'1':(language:KQL,query:'',queryLastTriggeredAt:'2019-04-25T20:53:22.331Z')),'6':('0':aggs,'1':(gridSplit:(aggs:(gridCentroid:(geo_centroid:(field:bar))),geotile_grid:(bounds:!n,field:bar,precision:!n,shard_size:65535,size:65535))))))&requestType=heatmap&geoFieldType=geo_point" + "rootdir/api/maps/mvt/getGridTile/{z}/{x}/{y}.pbf?geometryFieldName=bar&index=undefined&requestBody=(foobar:ES_DSL_PLACEHOLDER,params:('0':('0':index,'1':(fields:())),'1':('0':size,'1':0),'2':('0':filter,'1':!()),'3':('0':query),'4':('0':index,'1':(fields:())),'5':('0':query,'1':(language:KQL,query:'')),'6':('0':aggs,'1':(gridSplit:(aggs:(gridCentroid:(geo_centroid:(field:bar))),geotile_grid:(bounds:!n,field:bar,precision:!n,shard_size:65535,size:65535))))))&requestType=heatmap&geoFieldType=geo_point" ); }); @@ -327,7 +328,7 @@ describe('ESGeoGridSource', () => { expect( urlTemplateWithMeta.urlTemplate.startsWith( - "rootdir/api/maps/mvt/getGridTile/{z}/{x}/{y}.pbf?geometryFieldName=bar&index=undefined&requestBody=(foobar:ES_DSL_PLACEHOLDER,params:('0':('0':index,'1':(fields:())),'1':('0':size,'1':0),'2':('0':filter,'1':!()),'3':('0':query),'4':('0':index,'1':(fields:())),'5':('0':query,'1':(language:KQL,query:'',queryLastTriggeredAt:'2019-04-25T20:53:22.331Z')),'6':('0':aggs,'1':(gridSplit:(aggs:(gridCentroid:(geo_centroid:(field:bar))),geotile_grid:(bounds:!n,field:bar,precision:!n,shard_size:65535,size:65535))))))&requestType=heatmap&geoFieldType=geo_point&searchSessionId=1" + "rootdir/api/maps/mvt/getGridTile/{z}/{x}/{y}.pbf?geometryFieldName=bar&index=undefined&requestBody=(foobar:ES_DSL_PLACEHOLDER,params:('0':('0':index,'1':(fields:())),'1':('0':size,'1':0),'2':('0':filter,'1':!()),'3':('0':query),'4':('0':index,'1':(fields:())),'5':('0':query,'1':(language:KQL,query:'')),'6':('0':aggs,'1':(gridSplit:(aggs:(gridCentroid:(geo_centroid:(field:bar))),geotile_grid:(bounds:!n,field:bar,precision:!n,shard_size:65535,size:65535))))))&requestType=heatmap&geoFieldType=geo_point&searchSessionId=1" ) ).toBe(true); diff --git a/x-pack/plugins/maps/public/classes/sources/es_geo_line_source/es_geo_line_source.test.ts b/x-pack/plugins/maps/public/classes/sources/es_geo_line_source/es_geo_line_source.test.ts index 0c15afff6b051..4a818d898a190 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_geo_line_source/es_geo_line_source.test.ts +++ b/x-pack/plugins/maps/public/classes/sources/es_geo_line_source/es_geo_line_source.test.ts @@ -20,7 +20,7 @@ describe('getSourceTooltipContent', () => { const sourceDataRequest = new DataRequest({ data: {}, dataId: 'source', - dataMeta: { + dataRequestMeta: { areResultsTrimmed: false, areEntitiesTrimmed: false, entityCount: 70, @@ -39,7 +39,7 @@ describe('getSourceTooltipContent', () => { const sourceDataRequest = new DataRequest({ data: {}, dataId: 'source', - dataMeta: { + dataRequestMeta: { areResultsTrimmed: true, areEntitiesTrimmed: true, entityCount: 1000, @@ -58,7 +58,7 @@ describe('getSourceTooltipContent', () => { const sourceDataRequest = new DataRequest({ data: {}, dataId: 'source', - dataMeta: { + dataRequestMeta: { areResultsTrimmed: false, areEntitiesTrimmed: false, entityCount: 70, @@ -77,7 +77,7 @@ describe('getSourceTooltipContent', () => { const sourceDataRequest = new DataRequest({ data: {}, dataId: 'source', - dataMeta: { + dataRequestMeta: { areResultsTrimmed: true, areEntitiesTrimmed: true, entityCount: 1000, diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/create_layer_descriptor.test.ts b/x-pack/plugins/maps/public/classes/sources/es_search_source/create_layer_descriptor.test.ts index e7711a6e28e01..0c68bf6d832ad 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/create_layer_descriptor.test.ts +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/create_layer_descriptor.test.ts @@ -41,6 +41,7 @@ test('Should create layer descriptor', () => { geoField: 'myGeoField', id: '12345', indexPatternId: 'myIndexPattern', + applyForceRefresh: true, scalingType: 'CLUSTERS', sortField: '', sortOrder: 'desc', diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.test.ts b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.test.ts index 1a5ea8bb14e0e..5bff5d69aeab7 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.test.ts +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.test.ts @@ -102,11 +102,12 @@ describe('ESSearchSource', () => { sourceQuery: { query: 'tooltipField: foobar', language: 'KQL', - queryLastTriggeredAt: '2019-04-25T20:53:22.331Z', }, sourceMeta: null, applyGlobalQuery: true, applyGlobalTime: true, + applyForceRefresh: true, + isForceRefresh: false, }; it('Should only include required props', async () => { @@ -116,7 +117,7 @@ describe('ESSearchSource', () => { }); const urlTemplateWithMeta = await esSearchSource.getUrlTemplateWithMeta(searchFilters); expect(urlTemplateWithMeta.urlTemplate).toBe( - `rootdir/api/maps/mvt/getTile/{z}/{x}/{y}.pbf?geometryFieldName=bar&index=foobar-title-*&requestBody=(foobar:ES_DSL_PLACEHOLDER,params:('0':('0':index,'1':(fields:(),title:'foobar-title-*')),'1':('0':size,'1':1000),'2':('0':filter,'1':!()),'3':('0':query),'4':('0':index,'1':(fields:(),title:'foobar-title-*')),'5':('0':query,'1':(language:KQL,query:'tooltipField: foobar',queryLastTriggeredAt:'2019-04-25T20:53:22.331Z')),'6':('0':fieldsFromSource,'1':!(tooltipField,styleField)),'7':('0':source,'1':!(tooltipField,styleField))))&geoFieldType=geo_shape` + `rootdir/api/maps/mvt/getTile/{z}/{x}/{y}.pbf?geometryFieldName=bar&index=foobar-title-*&requestBody=(foobar:ES_DSL_PLACEHOLDER,params:('0':('0':index,'1':(fields:(),title:'foobar-title-*')),'1':('0':size,'1':1000),'2':('0':filter,'1':!()),'3':('0':query),'4':('0':index,'1':(fields:(),title:'foobar-title-*')),'5':('0':query,'1':(language:KQL,query:'tooltipField: foobar')),'6':('0':fieldsFromSource,'1':!(tooltipField,styleField)),'7':('0':source,'1':!(tooltipField,styleField))))&geoFieldType=geo_shape` ); }); @@ -130,7 +131,7 @@ describe('ESSearchSource', () => { searchSessionId: '1', }); expect(urlTemplateWithMeta.urlTemplate).toBe( - `rootdir/api/maps/mvt/getTile/{z}/{x}/{y}.pbf?geometryFieldName=bar&index=foobar-title-*&requestBody=(foobar:ES_DSL_PLACEHOLDER,params:('0':('0':index,'1':(fields:(),title:'foobar-title-*')),'1':('0':size,'1':1000),'2':('0':filter,'1':!()),'3':('0':query),'4':('0':index,'1':(fields:(),title:'foobar-title-*')),'5':('0':query,'1':(language:KQL,query:'tooltipField: foobar',queryLastTriggeredAt:'2019-04-25T20:53:22.331Z')),'6':('0':fieldsFromSource,'1':!(tooltipField,styleField)),'7':('0':source,'1':!(tooltipField,styleField))))&geoFieldType=geo_shape&searchSessionId=1` + `rootdir/api/maps/mvt/getTile/{z}/{x}/{y}.pbf?geometryFieldName=bar&index=foobar-title-*&requestBody=(foobar:ES_DSL_PLACEHOLDER,params:('0':('0':index,'1':(fields:(),title:'foobar-title-*')),'1':('0':size,'1':1000),'2':('0':filter,'1':!()),'3':('0':query),'4':('0':index,'1':(fields:(),title:'foobar-title-*')),'5':('0':query,'1':(language:KQL,query:'tooltipField: foobar')),'6':('0':fieldsFromSource,'1':!(tooltipField,styleField)),'7':('0':source,'1':!(tooltipField,styleField))))&geoFieldType=geo_shape&searchSessionId=1` ); }); }); diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx index 1ca7ddb586293..2b847d218434d 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx @@ -48,7 +48,7 @@ import { DEFAULT_FILTER_BY_MAP_BOUNDS } from './constants'; import { ESDocField } from '../../fields/es_doc_field'; import { registerSource } from '../source_registry'; import { - DataMeta, + DataRequestMeta, ESSearchSourceDescriptor, Timeslice, VectorSourceRequestMeta, @@ -853,7 +853,7 @@ export class ESSearchSource extends AbstractESSource implements ITiledSingleLaye return indexPattern.timeFieldName ? indexPattern.timeFieldName : null; } - getUpdateDueToTimeslice(prevMeta: DataMeta, timeslice?: Timeslice): boolean { + getUpdateDueToTimeslice(prevMeta: DataRequestMeta, timeslice?: Timeslice): boolean { if (this._isTopHits() || this._descriptor.scalingType === SCALING_TYPES.MVT) { return true; } diff --git a/x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts b/x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts index ce8991bb63ce6..b57ee6a36894f 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts +++ b/x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts @@ -8,7 +8,8 @@ import { i18n } from '@kbn/i18n'; import uuid from 'uuid/v4'; import { Filter, IndexPatternField, IndexPattern, ISearchSource } from 'src/plugins/data/public'; -import { AbstractVectorSource, BoundsFilters } from '../vector_source'; +import type { Query } from 'src/plugins/data/common'; +import { AbstractVectorSource, BoundsRequestMeta } from '../vector_source'; import { getAutocompleteService, getIndexPatternService, @@ -26,7 +27,6 @@ import { AbstractSourceDescriptor, DynamicStylePropertyOptions, MapExtent, - MapQuery, VectorJoinSourceRequestMeta, VectorSourceRequestMeta, } from '../../../../common/descriptor_types'; @@ -60,7 +60,7 @@ export interface IESSource extends IVectorSource { style: IVectorStyle; dynamicStyleProps: Array>; registerCancelCallback: (callback: () => void) => void; - sourceQuery?: MapQuery; + sourceQuery?: Query; timeFilters: TimeRange; searchSessionId?: string; }): Promise; @@ -88,6 +88,8 @@ export class AbstractESSource extends AbstractVectorSource implements IESSource typeof descriptor.applyGlobalQuery !== 'undefined' ? descriptor.applyGlobalQuery : true, applyGlobalTime: typeof descriptor.applyGlobalTime !== 'undefined' ? descriptor.applyGlobalTime : true, + applyForceRefresh: + typeof descriptor.applyForceRefresh !== 'undefined' ? descriptor.applyForceRefresh : true, }; } @@ -108,11 +110,11 @@ export class AbstractESSource extends AbstractVectorSource implements IESSource return this._descriptor.applyGlobalTime; } - isFieldAware(): boolean { - return true; + getApplyForceRefresh(): boolean { + return this._descriptor.applyForceRefresh; } - isRefreshTimerAware(): boolean { + isFieldAware(): boolean { return true; } @@ -197,7 +199,7 @@ export class AbstractESSource extends AbstractVectorSource implements IESSource } async makeSearchSource( - searchFilters: VectorSourceRequestMeta | VectorJoinSourceRequestMeta | BoundsFilters, + searchFilters: VectorSourceRequestMeta | VectorJoinSourceRequestMeta | BoundsRequestMeta, limit: number, initialSearchContext?: object ): Promise { @@ -253,7 +255,7 @@ export class AbstractESSource extends AbstractVectorSource implements IESSource } async getBoundsForFilters( - boundsFilters: BoundsFilters, + boundsFilters: BoundsRequestMeta, registerCancelCallback: (callback: () => void) => void ): Promise { const searchSource = await this.makeSearchSource(boundsFilters, 0); @@ -421,7 +423,7 @@ export class AbstractESSource extends AbstractVectorSource implements IESSource style: IVectorStyle; dynamicStyleProps: Array>; registerCancelCallback: (callback: () => void) => void; - sourceQuery?: MapQuery; + sourceQuery?: Query; timeFilters: TimeRange; searchSessionId?: string; }): Promise { diff --git a/x-pack/plugins/maps/public/classes/sources/geojson_file_source/geojson_file.test.ts b/x-pack/plugins/maps/public/classes/sources/geojson_file_source/geojson_file.test.ts index 6f7d5aa91e2b8..9e21f16d7f30a 100644 --- a/x-pack/plugins/maps/public/classes/sources/geojson_file_source/geojson_file.test.ts +++ b/x-pack/plugins/maps/public/classes/sources/geojson_file_source/geojson_file.test.ts @@ -6,7 +6,7 @@ */ import { GeoJsonFileSource } from './geojson_file_source'; -import { BoundsFilters } from '../vector_source'; +import { BoundsRequestMeta } from '../vector_source'; import { FIELD_ORIGIN } from '../../../../common/constants'; describe('GeoJsonFileSource', () => { @@ -20,7 +20,7 @@ describe('GeoJsonFileSource', () => { it('should get null bounds', async () => { const geojsonFileSource = new GeoJsonFileSource({}); expect( - await geojsonFileSource.getBoundsForFilters(({} as unknown) as BoundsFilters, () => {}) + await geojsonFileSource.getBoundsForFilters(({} as unknown) as BoundsRequestMeta, () => {}) ).toEqual(null); }); @@ -51,7 +51,7 @@ describe('GeoJsonFileSource', () => { expect(geojsonFileSource.isBoundsAware()).toBe(true); expect( - await geojsonFileSource.getBoundsForFilters(({} as unknown) as BoundsFilters, () => {}) + await geojsonFileSource.getBoundsForFilters(({} as unknown) as BoundsRequestMeta, () => {}) ).toEqual({ maxLat: 3, maxLon: 2, diff --git a/x-pack/plugins/maps/public/classes/sources/geojson_file_source/geojson_file_source.ts b/x-pack/plugins/maps/public/classes/sources/geojson_file_source/geojson_file_source.ts index 592c2f852f0e7..4de29fde1253c 100644 --- a/x-pack/plugins/maps/public/classes/sources/geojson_file_source/geojson_file_source.ts +++ b/x-pack/plugins/maps/public/classes/sources/geojson_file_source/geojson_file_source.ts @@ -6,7 +6,7 @@ */ import { Feature, FeatureCollection } from 'geojson'; -import { AbstractVectorSource, BoundsFilters, GeoJsonWithMeta } from '../vector_source'; +import { AbstractVectorSource, BoundsRequestMeta, GeoJsonWithMeta } from '../vector_source'; import { EMPTY_FEATURE_COLLECTION, FIELD_ORIGIN, SOURCE_TYPES } from '../../../../common/constants'; import { InlineFieldDescriptor, @@ -103,7 +103,7 @@ export class GeoJsonFileSource extends AbstractVectorSource { } async getBoundsForFilters( - boundsFilters: BoundsFilters, + boundsFilters: BoundsRequestMeta, registerCancelCallback: (callback: () => void) => void ): Promise { const featureCollection = (this._descriptor as GeojsonFileSourceDescriptor).__featureCollection; diff --git a/x-pack/plugins/maps/public/classes/sources/mvt_single_layer_vector_source/mvt_single_layer_vector_source.tsx b/x-pack/plugins/maps/public/classes/sources/mvt_single_layer_vector_source/mvt_single_layer_vector_source.tsx index 6911cbabdf971..d041e0d3ad5de 100644 --- a/x-pack/plugins/maps/public/classes/sources/mvt_single_layer_vector_source/mvt_single_layer_vector_source.tsx +++ b/x-pack/plugins/maps/public/classes/sources/mvt_single_layer_vector_source/mvt_single_layer_vector_source.tsx @@ -10,7 +10,7 @@ import uuid from 'uuid/v4'; import React from 'react'; import { GeoJsonProperties, Geometry, Position } from 'geojson'; import { AbstractSource, ImmutableSourceProperty, SourceEditorArgs } from '../source'; -import { BoundsFilters, GeoJsonWithMeta } from '../vector_source'; +import { BoundsRequestMeta, GeoJsonWithMeta } from '../vector_source'; import { ITiledSingleLayerVectorSource } from '../tiled_single_layer_vector_source'; import { FIELD_ORIGIN, @@ -190,7 +190,7 @@ export class MVTSingleLayerVectorSource } async getBoundsForFilters( - boundsFilters: BoundsFilters, + boundsFilters: BoundsRequestMeta, registerCancelCallback: (callback: () => void) => void ): Promise { return null; diff --git a/x-pack/plugins/maps/public/classes/sources/source.ts b/x-pack/plugins/maps/public/classes/sources/source.ts index 0ecbde06cf3e2..5b2fc16d18b41 100644 --- a/x-pack/plugins/maps/public/classes/sources/source.ts +++ b/x-pack/plugins/maps/public/classes/sources/source.ts @@ -16,7 +16,7 @@ import { FieldFormatter, LAYER_TYPE, MAX_ZOOM, MIN_ZOOM } from '../../../common/ import { AbstractSourceDescriptor, Attribution, - DataMeta, + DataRequestMeta, Timeslice, } from '../../../common/descriptor_types'; import { LICENSED_FEATURES } from '../../licensed_features'; @@ -47,7 +47,6 @@ export interface ISource { isFilterByMapBounds(): boolean; isGeoGridPrecisionAware(): boolean; isQueryAware(): boolean; - isRefreshTimerAware(): boolean; isTimeAware(): Promise; getImmutableProperties(): Promise; getAttributionProvider(): (() => Promise) | null; @@ -60,6 +59,7 @@ export interface ISource { getFieldNames(): string[]; getApplyGlobalQuery(): boolean; getApplyGlobalTime(): boolean; + getApplyForceRefresh(): boolean; getIndexPatternIds(): string[]; getQueryableIndexPatternIds(): string[]; getGeoGridPrecision(zoom: number): number; @@ -69,7 +69,7 @@ export interface ISource { getMinZoom(): number; getMaxZoom(): number; getLicensedFeatures(): Promise; - getUpdateDueToTimeslice(prevMeta: DataMeta, timeslice?: Timeslice): boolean; + getUpdateDueToTimeslice(prevMeta: DataRequestMeta, timeslice?: Timeslice): boolean; } export class AbstractSource implements ISource { @@ -115,10 +115,6 @@ export class AbstractSource implements ISource { return false; } - isRefreshTimerAware(): boolean { - return false; - } - isGeoGridPrecisionAware(): boolean { return false; } @@ -143,6 +139,10 @@ export class AbstractSource implements ISource { return false; } + getApplyForceRefresh(): boolean { + return false; + } + getIndexPatternIds(): string[] { return []; } @@ -201,7 +201,7 @@ export class AbstractSource implements ISource { return []; } - getUpdateDueToTimeslice(prevMeta: DataMeta, timeslice?: Timeslice): boolean { + getUpdateDueToTimeslice(prevMeta: DataRequestMeta, timeslice?: Timeslice): boolean { return true; } } diff --git a/x-pack/plugins/maps/public/classes/sources/table_source/table_source.test.ts b/x-pack/plugins/maps/public/classes/sources/table_source/table_source.test.ts index 337cc2d601abd..62404cbe942e3 100644 --- a/x-pack/plugins/maps/public/classes/sources/table_source/table_source.test.ts +++ b/x-pack/plugins/maps/public/classes/sources/table_source/table_source.test.ts @@ -5,11 +5,11 @@ * 2.0. */ +import type { Query } from 'src/plugins/data/common'; import { TableSource } from './table_source'; import { FIELD_ORIGIN } from '../../../../common/constants'; import { - MapFilters, - MapQuery, + DataFilters, VectorJoinSourceRequestMeta, VectorSourceSyncMeta, } from '../../../../common/descriptor_types'; @@ -178,12 +178,12 @@ describe('TableSource', () => { try { await tableSource.getGeoJsonWithMeta( 'foobar', - ({} as unknown) as MapFilters & { + ({} as unknown) as DataFilters & { applyGlobalQuery: boolean; applyGlobalTime: boolean; fieldNames: string[]; geogridPrecision?: number; - sourceQuery?: MapQuery; + sourceQuery?: Query; sourceMeta: VectorSourceSyncMeta; }, () => {}, diff --git a/x-pack/plugins/maps/public/classes/sources/table_source/table_source.ts b/x-pack/plugins/maps/public/classes/sources/table_source/table_source.ts index 372fb4983d7cc..8730ea7e3d02b 100644 --- a/x-pack/plugins/maps/public/classes/sources/table_source/table_source.ts +++ b/x-pack/plugins/maps/public/classes/sources/table_source/table_source.ts @@ -6,11 +6,11 @@ */ import uuid from 'uuid'; +import type { Query } from 'src/plugins/data/common'; import { FIELD_ORIGIN, SOURCE_TYPES, VECTOR_SHAPE_TYPE } from '../../../../common/constants'; import { MapExtent, - MapFilters, - MapQuery, + DataFilters, TableSourceDescriptor, VectorJoinSourceRequestMeta, VectorSourceSyncMeta, @@ -19,10 +19,9 @@ import { Adapters } from '../../../../../../../src/plugins/inspector/common/adap import { ITermJoinSource } from '../term_join_source'; import { BucketProperties, PropertiesMap } from '../../../../common/elasticsearch_util'; import { IField } from '../../fields/field'; -import { Query } from '../../../../../../../src/plugins/data/common/query'; import { AbstractVectorSource, - BoundsFilters, + BoundsRequestMeta, GeoJsonWithMeta, IVectorSource, SourceTooltipConfig, @@ -156,7 +155,7 @@ export class TableSource extends AbstractVectorSource implements ITermJoinSource } async getBoundsForFilters( - boundsFilters: BoundsFilters, + boundsFilters: BoundsRequestMeta, registerCancelCallback: (callback: () => void) => void ): Promise { return null; @@ -187,12 +186,12 @@ export class TableSource extends AbstractVectorSource implements ITermJoinSource // Could be useful to implement, e.g. to preview raw csv data async getGeoJsonWithMeta( layerName: string, - searchFilters: MapFilters & { + searchFilters: DataFilters & { applyGlobalQuery: boolean; applyGlobalTime: boolean; fieldNames: string[]; geogridPrecision?: number; - sourceQuery?: MapQuery; + sourceQuery?: Query; sourceMeta: VectorSourceSyncMeta; }, registerCancelCallback: (callback: () => void) => void, diff --git a/x-pack/plugins/maps/public/classes/sources/vector_source/vector_source.tsx b/x-pack/plugins/maps/public/classes/sources/vector_source/vector_source.tsx index 05f0124310bd8..bf0752d54c426 100644 --- a/x-pack/plugins/maps/public/classes/sources/vector_source/vector_source.tsx +++ b/x-pack/plugins/maps/public/classes/sources/vector_source/vector_source.tsx @@ -5,6 +5,7 @@ * 2.0. */ +import type { Query } from 'src/plugins/data/common'; import { FeatureCollection, GeoJsonProperties, Geometry, Position } from 'geojson'; import { Filter, TimeRange } from 'src/plugins/data/public'; import { VECTOR_SHAPE_TYPE } from '../../../../common/constants'; @@ -14,7 +15,6 @@ import { IField } from '../../fields/field'; import { ESSearchSourceResponseMeta, MapExtent, - MapQuery, Timeslice, VectorSourceRequestMeta, VectorSourceSyncMeta, @@ -34,12 +34,12 @@ export interface GeoJsonWithMeta { meta?: GeoJsonFetchMeta; } -export interface BoundsFilters { +export interface BoundsRequestMeta { applyGlobalQuery: boolean; applyGlobalTime: boolean; filters: Filter[]; - query?: MapQuery; - sourceQuery?: MapQuery; + query?: Query; + sourceQuery?: Query; timeFilters: TimeRange; timeslice?: Timeslice; } @@ -47,7 +47,7 @@ export interface BoundsFilters { export interface IVectorSource extends ISource { getTooltipProperties(properties: GeoJsonProperties): Promise; getBoundsForFilters( - boundsFilters: BoundsFilters, + layerDataFilters: BoundsRequestMeta, registerCancelCallback: (callback: () => void) => void ): Promise; getGeoJsonWithMeta( @@ -103,7 +103,7 @@ export class AbstractVectorSource extends AbstractSource implements IVectorSourc } async getBoundsForFilters( - boundsFilters: BoundsFilters, + boundsFilters: BoundsRequestMeta, registerCancelCallback: (callback: () => void) => void ): Promise { return null; diff --git a/x-pack/plugins/maps/public/classes/util/can_skip_fetch.test.js b/x-pack/plugins/maps/public/classes/util/can_skip_fetch.test.ts similarity index 81% rename from x-pack/plugins/maps/public/classes/util/can_skip_fetch.test.js rename to x-pack/plugins/maps/public/classes/util/can_skip_fetch.test.ts index da3cbb9055d43..16d25469025f4 100644 --- a/x-pack/plugins/maps/public/classes/util/can_skip_fetch.test.js +++ b/x-pack/plugins/maps/public/classes/util/can_skip_fetch.test.ts @@ -7,6 +7,8 @@ import { canSkipSourceUpdate, updateDueToExtent } from './can_skip_fetch'; import { DataRequest } from './data_request'; +import { Filter } from 'src/plugins/data/common'; +import { ISource } from '../sources/source'; describe('updateDueToExtent', () => { it('should be false when buffers are the same', async () => { @@ -91,9 +93,6 @@ describe('canSkipSourceUpdate', () => { isTimeAware: () => { return false; }, - isRefreshTimerAware: () => { - return false; - }, isFilterByMapBounds: () => { return false; }, @@ -107,11 +106,10 @@ describe('canSkipSourceUpdate', () => { return false; }, }; - const prevFilters = []; + const prevFilters: Filter[] = []; const prevQuery = { language: 'kuery', query: 'machine.os.keyword : "win 7"', - queryLastTriggeredAt: '2019-04-25T20:53:22.331Z', }; describe('applyGlobalQuery is false', () => { @@ -119,7 +117,7 @@ describe('canSkipSourceUpdate', () => { const prevDataRequest = new DataRequest({ dataId: SOURCE_DATA_REQUEST_ID, - dataMeta: { + dataRequestMeta: { applyGlobalQuery: prevApplyGlobalQuery, filters: prevFilters, query: prevQuery, @@ -128,16 +126,16 @@ describe('canSkipSourceUpdate', () => { }); it('can skip update when filter changes', async () => { - const nextMeta = { + const nextRequestMeta = { applyGlobalQuery: prevApplyGlobalQuery, - filters: [prevQuery], + filters: [({} as unknown) as Filter], query: prevQuery, }; const canSkipUpdate = await canSkipSourceUpdate({ - source: queryAwareSourceMock, + source: (queryAwareSourceMock as unknown) as ISource, prevDataRequest, - nextMeta, + nextRequestMeta, extentAware: queryAwareSourceMock.isFilterByMapBounds(), getUpdateDueToTimeslice, }); @@ -146,7 +144,7 @@ describe('canSkipSourceUpdate', () => { }); it('can skip update when query changes', async () => { - const nextMeta = { + const nextRequestMeta = { applyGlobalQuery: prevApplyGlobalQuery, filters: prevFilters, query: { @@ -156,9 +154,9 @@ describe('canSkipSourceUpdate', () => { }; const canSkipUpdate = await canSkipSourceUpdate({ - source: queryAwareSourceMock, + source: (queryAwareSourceMock as unknown) as ISource, prevDataRequest, - nextMeta, + nextRequestMeta, extentAware: queryAwareSourceMock.isFilterByMapBounds(), getUpdateDueToTimeslice, }); @@ -166,20 +164,19 @@ describe('canSkipSourceUpdate', () => { expect(canSkipUpdate).toBe(true); }); - it('can not skip update when query is refreshed', async () => { - const nextMeta = { + it('Should not skip refresh update when applyForceRefresh is true', async () => { + const nextRequestMeta = { applyGlobalQuery: prevApplyGlobalQuery, filters: prevFilters, - query: { - ...prevQuery, - queryLastTriggeredAt: 'sometime layer when Refresh button is clicked', - }, + query: prevQuery, + isForceRefresh: true, + applyForceRefresh: true, }; const canSkipUpdate = await canSkipSourceUpdate({ - source: queryAwareSourceMock, + source: (queryAwareSourceMock as unknown) as ISource, prevDataRequest, - nextMeta, + nextRequestMeta, extentAware: queryAwareSourceMock.isFilterByMapBounds(), getUpdateDueToTimeslice, }); @@ -187,17 +184,37 @@ describe('canSkipSourceUpdate', () => { expect(canSkipUpdate).toBe(false); }); + it('Should skip refresh update when applyForceRefresh is false', async () => { + const nextRequestMeta = { + applyGlobalQuery: prevApplyGlobalQuery, + filters: prevFilters, + query: prevQuery, + isForceRefresh: true, + applyForceRefresh: false, + }; + + const canSkipUpdate = await canSkipSourceUpdate({ + source: (queryAwareSourceMock as unknown) as ISource, + prevDataRequest, + nextRequestMeta, + extentAware: queryAwareSourceMock.isFilterByMapBounds(), + getUpdateDueToTimeslice, + }); + + expect(canSkipUpdate).toBe(true); + }); + it('can not skip update when applyGlobalQuery changes', async () => { - const nextMeta = { + const nextRequestMeta = { applyGlobalQuery: !prevApplyGlobalQuery, filters: prevFilters, query: prevQuery, }; const canSkipUpdate = await canSkipSourceUpdate({ - source: queryAwareSourceMock, + source: (queryAwareSourceMock as unknown) as ISource, prevDataRequest, - nextMeta, + nextRequestMeta, extentAware: queryAwareSourceMock.isFilterByMapBounds(), getUpdateDueToTimeslice, }); @@ -211,7 +228,7 @@ describe('canSkipSourceUpdate', () => { const prevDataRequest = new DataRequest({ dataId: SOURCE_DATA_REQUEST_ID, - dataMeta: { + dataRequestMeta: { applyGlobalQuery: prevApplyGlobalQuery, filters: prevFilters, query: prevQuery, @@ -220,16 +237,16 @@ describe('canSkipSourceUpdate', () => { }); it('can not skip update when filter changes', async () => { - const nextMeta = { + const nextRequestMeta = { applyGlobalQuery: prevApplyGlobalQuery, - filters: [prevQuery], + filters: [({} as unknown) as Filter], query: prevQuery, }; const canSkipUpdate = await canSkipSourceUpdate({ - source: queryAwareSourceMock, + source: (queryAwareSourceMock as unknown) as ISource, prevDataRequest, - nextMeta, + nextRequestMeta, extentAware: queryAwareSourceMock.isFilterByMapBounds(), getUpdateDueToTimeslice, }); @@ -238,7 +255,7 @@ describe('canSkipSourceUpdate', () => { }); it('can not skip update when query changes', async () => { - const nextMeta = { + const nextRequestMeta = { applyGlobalQuery: prevApplyGlobalQuery, filters: prevFilters, query: { @@ -248,9 +265,9 @@ describe('canSkipSourceUpdate', () => { }; const canSkipUpdate = await canSkipSourceUpdate({ - source: queryAwareSourceMock, + source: (queryAwareSourceMock as unknown) as ISource, prevDataRequest, - nextMeta, + nextRequestMeta, extentAware: queryAwareSourceMock.isFilterByMapBounds(), getUpdateDueToTimeslice, }); @@ -259,19 +276,18 @@ describe('canSkipSourceUpdate', () => { }); it('can not skip update when query is refreshed', async () => { - const nextMeta = { + const nextRequestMeta = { applyGlobalQuery: prevApplyGlobalQuery, filters: prevFilters, - query: { - ...prevQuery, - queryLastTriggeredAt: 'sometime layer when Refresh button is clicked', - }, + query: prevQuery, + isForceRefresh: true, + applyForceRefresh: true, }; const canSkipUpdate = await canSkipSourceUpdate({ - source: queryAwareSourceMock, + source: (queryAwareSourceMock as unknown) as ISource, prevDataRequest, - nextMeta, + nextRequestMeta, extentAware: queryAwareSourceMock.isFilterByMapBounds(), getUpdateDueToTimeslice, }); @@ -280,16 +296,16 @@ describe('canSkipSourceUpdate', () => { }); it('can not skip update when applyGlobalQuery changes', async () => { - const nextMeta = { + const nextRequestMeta = { applyGlobalQuery: !prevApplyGlobalQuery, filters: prevFilters, query: prevQuery, }; const canSkipUpdate = await canSkipSourceUpdate({ - source: queryAwareSourceMock, + source: (queryAwareSourceMock as unknown) as ISource, prevDataRequest, - nextMeta, + nextRequestMeta, extentAware: queryAwareSourceMock.isFilterByMapBounds(), getUpdateDueToTimeslice, }); @@ -305,9 +321,6 @@ describe('canSkipSourceUpdate', () => { isTimeAware: () => { return true; }, - isRefreshTimerAware: () => { - return false; - }, isFilterByMapBounds: () => { return false; }, @@ -326,15 +339,15 @@ describe('canSkipSourceUpdate', () => { describe('applyGlobalTime', () => { it('can not skip update when applyGlobalTime changes', async () => { const canSkipUpdate = await canSkipSourceUpdate({ - source: createSourceMock(), + source: (createSourceMock() as unknown) as ISource, prevDataRequest: new DataRequest({ dataId: SOURCE_DATA_REQUEST_ID, - dataMeta: { + dataRequestMeta: { applyGlobalTime: true, }, data: {}, }), - nextMeta: { + nextRequestMeta: { applyGlobalTime: false, }, extentAware: false, @@ -346,15 +359,15 @@ describe('canSkipSourceUpdate', () => { it('can skip update when applyGlobalTime does not change', async () => { const canSkipUpdate = await canSkipSourceUpdate({ - source: createSourceMock(), + source: (createSourceMock() as unknown) as ISource, prevDataRequest: new DataRequest({ dataId: SOURCE_DATA_REQUEST_ID, - dataMeta: { + dataRequestMeta: { applyGlobalTime: true, }, data: {}, }), - nextMeta: { + nextRequestMeta: { applyGlobalTime: true, }, extentAware: false, @@ -368,10 +381,10 @@ describe('canSkipSourceUpdate', () => { describe('timeFilters', () => { it('can not skip update when time range changes', async () => { const canSkipUpdate = await canSkipSourceUpdate({ - source: createSourceMock(), + source: (createSourceMock() as unknown) as ISource, prevDataRequest: new DataRequest({ dataId: SOURCE_DATA_REQUEST_ID, - dataMeta: { + dataRequestMeta: { applyGlobalTime: true, timeFilters: { from: 'now-15m', @@ -380,7 +393,7 @@ describe('canSkipSourceUpdate', () => { }, data: {}, }), - nextMeta: { + nextRequestMeta: { applyGlobalTime: true, timeFilters: { from: 'now-7d', @@ -396,10 +409,10 @@ describe('canSkipSourceUpdate', () => { it('can skip update when time range does not change', async () => { const canSkipUpdate = await canSkipSourceUpdate({ - source: createSourceMock(), + source: (createSourceMock() as unknown) as ISource, prevDataRequest: new DataRequest({ dataId: SOURCE_DATA_REQUEST_ID, - dataMeta: { + dataRequestMeta: { applyGlobalTime: true, timeFilters: { from: 'now-15m', @@ -408,7 +421,7 @@ describe('canSkipSourceUpdate', () => { }, data: {}, }), - nextMeta: { + nextRequestMeta: { applyGlobalTime: true, timeFilters: { from: 'now-15m', @@ -424,10 +437,10 @@ describe('canSkipSourceUpdate', () => { it('can skip update when time range changes but applyGlobalTime is false', async () => { const canSkipUpdate = await canSkipSourceUpdate({ - source: createSourceMock(), + source: (createSourceMock() as unknown) as ISource, prevDataRequest: new DataRequest({ dataId: SOURCE_DATA_REQUEST_ID, - dataMeta: { + dataRequestMeta: { applyGlobalTime: false, timeFilters: { from: 'now-15m', @@ -436,7 +449,7 @@ describe('canSkipSourceUpdate', () => { }, data: {}, }), - nextMeta: { + nextRequestMeta: { applyGlobalTime: false, timeFilters: { from: 'now-7d', @@ -455,10 +468,10 @@ describe('canSkipSourceUpdate', () => { const mockSource = createSourceMock(); it('can not skip update when timeslice changes (undefined => provided)', async () => { const canSkipUpdate = await canSkipSourceUpdate({ - source: mockSource, + source: (mockSource as unknown) as ISource, prevDataRequest: new DataRequest({ dataId: SOURCE_DATA_REQUEST_ID, - dataMeta: { + dataRequestMeta: { applyGlobalTime: true, timeFilters: { from: 'now-7d', @@ -467,7 +480,7 @@ describe('canSkipSourceUpdate', () => { }, data: {}, }), - nextMeta: { + nextRequestMeta: { applyGlobalTime: true, timeFilters: { from: 'now-7d', @@ -487,10 +500,10 @@ describe('canSkipSourceUpdate', () => { it('can not skip update when timeslice changes', async () => { const canSkipUpdate = await canSkipSourceUpdate({ - source: mockSource, + source: (mockSource as unknown) as ISource, prevDataRequest: new DataRequest({ dataId: SOURCE_DATA_REQUEST_ID, - dataMeta: { + dataRequestMeta: { applyGlobalTime: true, timeFilters: { from: 'now-7d', @@ -503,7 +516,7 @@ describe('canSkipSourceUpdate', () => { }, data: {}, }), - nextMeta: { + nextRequestMeta: { applyGlobalTime: true, timeFilters: { from: 'now-7d', @@ -523,10 +536,10 @@ describe('canSkipSourceUpdate', () => { it('can not skip update when timeslice changes (provided => undefined)', async () => { const canSkipUpdate = await canSkipSourceUpdate({ - source: mockSource, + source: (mockSource as unknown) as ISource, prevDataRequest: new DataRequest({ dataId: SOURCE_DATA_REQUEST_ID, - dataMeta: { + dataRequestMeta: { applyGlobalTime: true, timeFilters: { from: 'now-7d', @@ -539,7 +552,7 @@ describe('canSkipSourceUpdate', () => { }, data: {}, }), - nextMeta: { + nextRequestMeta: { applyGlobalTime: true, timeFilters: { from: 'now-7d', @@ -555,10 +568,10 @@ describe('canSkipSourceUpdate', () => { it('can skip update when timeslice does not change', async () => { const canSkipUpdate = await canSkipSourceUpdate({ - source: mockSource, + source: (mockSource as unknown) as ISource, prevDataRequest: new DataRequest({ dataId: SOURCE_DATA_REQUEST_ID, - dataMeta: { + dataRequestMeta: { applyGlobalTime: true, timeFilters: { from: 'now-7d', @@ -571,7 +584,7 @@ describe('canSkipSourceUpdate', () => { }, data: {}, }), - nextMeta: { + nextRequestMeta: { applyGlobalTime: true, timeFilters: { from: 'now-7d', @@ -591,10 +604,10 @@ describe('canSkipSourceUpdate', () => { it('can skip update when timeslice changes but applyGlobalTime is false', async () => { const canSkipUpdate = await canSkipSourceUpdate({ - source: mockSource, + source: (mockSource as unknown) as ISource, prevDataRequest: new DataRequest({ dataId: SOURCE_DATA_REQUEST_ID, - dataMeta: { + dataRequestMeta: { applyGlobalTime: false, timeFilters: { from: 'now-7d', @@ -607,7 +620,7 @@ describe('canSkipSourceUpdate', () => { }, data: {}, }), - nextMeta: { + nextRequestMeta: { applyGlobalTime: false, timeFilters: { from: 'now-7d', diff --git a/x-pack/plugins/maps/public/classes/util/can_skip_fetch.ts b/x-pack/plugins/maps/public/classes/util/can_skip_fetch.ts index b6f03ef3d1c63..69a5c73ba2933 100644 --- a/x-pack/plugins/maps/public/classes/util/can_skip_fetch.ts +++ b/x-pack/plugins/maps/public/classes/util/can_skip_fetch.ts @@ -8,15 +8,14 @@ import _ from 'lodash'; import turfBboxPolygon from '@turf/bbox-polygon'; import turfBooleanContains from '@turf/boolean-contains'; -import { isRefreshOnlyQuery } from './is_refresh_only_query'; import { ISource } from '../sources/source'; -import { DataMeta, Timeslice } from '../../../common/descriptor_types'; +import { DataRequestMeta, Timeslice } from '../../../common/descriptor_types'; import { DataRequest } from './data_request'; const SOURCE_UPDATE_REQUIRED = true; const NO_SOURCE_UPDATE_REQUIRED = false; -export function updateDueToExtent(prevMeta: DataMeta = {}, nextMeta: DataMeta = {}) { +export function updateDueToExtent(prevMeta: DataRequestMeta = {}, nextMeta: DataRequestMeta = {}) { const { buffer: previousBuffer } = prevMeta; const { buffer: newBuffer } = nextMeta; @@ -54,30 +53,28 @@ export function updateDueToExtent(prevMeta: DataMeta = {}, nextMeta: DataMeta = export async function canSkipSourceUpdate({ source, prevDataRequest, - nextMeta, + nextRequestMeta, extentAware, getUpdateDueToTimeslice, }: { source: ISource; prevDataRequest: DataRequest | undefined; - nextMeta: DataMeta; + nextRequestMeta: DataRequestMeta; extentAware: boolean; getUpdateDueToTimeslice: (timeslice?: Timeslice) => boolean; }): Promise { + const mustForceRefresh = nextRequestMeta.isForceRefresh && nextRequestMeta.applyForceRefresh; + if (mustForceRefresh) { + // Cannot skip + return false; + } + const timeAware = await source.isTimeAware(); - const refreshTimerAware = await source.isRefreshTimerAware(); const isFieldAware = source.isFieldAware(); const isQueryAware = source.isQueryAware(); const isGeoGridPrecisionAware = source.isGeoGridPrecisionAware(); - if ( - !timeAware && - !refreshTimerAware && - !extentAware && - !isFieldAware && - !isQueryAware && - !isGeoGridPrecisionAware - ) { + if (!timeAware && !extentAware && !isFieldAware && !isQueryAware && !isGeoGridPrecisionAware) { return !!prevDataRequest && prevDataRequest.hasDataOrRequestInProgress(); } @@ -93,26 +90,18 @@ export async function canSkipSourceUpdate({ let updateDueToTime = false; let updateDueToTimeslice = false; if (timeAware) { - updateDueToApplyGlobalTime = prevMeta.applyGlobalTime !== nextMeta.applyGlobalTime; - if (nextMeta.applyGlobalTime) { - updateDueToTime = !_.isEqual(prevMeta.timeFilters, nextMeta.timeFilters); - if (!_.isEqual(prevMeta.timeslice, nextMeta.timeslice)) { - updateDueToTimeslice = getUpdateDueToTimeslice(nextMeta.timeslice); + updateDueToApplyGlobalTime = prevMeta.applyGlobalTime !== nextRequestMeta.applyGlobalTime; + if (nextRequestMeta.applyGlobalTime) { + updateDueToTime = !_.isEqual(prevMeta.timeFilters, nextRequestMeta.timeFilters); + if (!_.isEqual(prevMeta.timeslice, nextRequestMeta.timeslice)) { + updateDueToTimeslice = getUpdateDueToTimeslice(nextRequestMeta.timeslice); } } } - let updateDueToRefreshTimer = false; - if (refreshTimerAware && nextMeta.refreshTimerLastTriggeredAt) { - updateDueToRefreshTimer = !_.isEqual( - prevMeta.refreshTimerLastTriggeredAt, - nextMeta.refreshTimerLastTriggeredAt - ); - } - let updateDueToFields = false; if (isFieldAware) { - updateDueToFields = !_.isEqual(prevMeta.fieldNames, nextMeta.fieldNames); + updateDueToFields = !_.isEqual(prevMeta.fieldNames, nextRequestMeta.fieldNames); } let updateDueToQuery = false; @@ -120,42 +109,41 @@ export async function canSkipSourceUpdate({ let updateDueToSourceQuery = false; let updateDueToApplyGlobalQuery = false; if (isQueryAware) { - updateDueToApplyGlobalQuery = prevMeta.applyGlobalQuery !== nextMeta.applyGlobalQuery; - updateDueToSourceQuery = !_.isEqual(prevMeta.sourceQuery, nextMeta.sourceQuery); - - if (nextMeta.applyGlobalQuery) { - updateDueToQuery = !_.isEqual(prevMeta.query, nextMeta.query); - updateDueToFilters = !_.isEqual(prevMeta.filters, nextMeta.filters); - } else { - // Global filters and query are not applied to layer search request so no re-fetch required. - // Exception is "Refresh" query. - updateDueToQuery = isRefreshOnlyQuery(prevMeta.query, nextMeta.query); + updateDueToApplyGlobalQuery = prevMeta.applyGlobalQuery !== nextRequestMeta.applyGlobalQuery; + updateDueToSourceQuery = !_.isEqual(prevMeta.sourceQuery, nextRequestMeta.sourceQuery); + + if (nextRequestMeta.applyGlobalQuery) { + updateDueToQuery = !_.isEqual(prevMeta.query, nextRequestMeta.query); + updateDueToFilters = !_.isEqual(prevMeta.filters, nextRequestMeta.filters); } } let updateDueToSearchSessionId = false; - if (timeAware || isQueryAware) { - updateDueToSearchSessionId = prevMeta.searchSessionId !== nextMeta.searchSessionId; + if ((timeAware || isQueryAware) && nextRequestMeta.applyForceRefresh) { + // If the force-refresh flag is turned off, we should ignore refreshes on the dashboard-context + updateDueToSearchSessionId = prevMeta.searchSessionId !== nextRequestMeta.searchSessionId; } let updateDueToPrecisionChange = false; let updateDueToExtentChange = false; if (isGeoGridPrecisionAware) { - updateDueToPrecisionChange = !_.isEqual(prevMeta.geogridPrecision, nextMeta.geogridPrecision); + updateDueToPrecisionChange = !_.isEqual( + prevMeta.geogridPrecision, + nextRequestMeta.geogridPrecision + ); } if (extentAware) { - updateDueToExtentChange = updateDueToExtent(prevMeta, nextMeta); + updateDueToExtentChange = updateDueToExtent(prevMeta, nextRequestMeta); } - const updateDueToSourceMetaChange = !_.isEqual(prevMeta.sourceMeta, nextMeta.sourceMeta); + const updateDueToSourceMetaChange = !_.isEqual(prevMeta.sourceMeta, nextRequestMeta.sourceMeta); return ( !updateDueToApplyGlobalTime && !updateDueToTime && !updateDueToTimeslice && - !updateDueToRefreshTimer && !updateDueToExtentChange && !updateDueToFields && !updateDueToQuery && @@ -173,7 +161,7 @@ export function canSkipStyleMetaUpdate({ nextMeta, }: { prevDataRequest: DataRequest | undefined; - nextMeta: DataMeta; + nextMeta: DataRequestMeta; }): boolean { if (!prevDataRequest) { return false; @@ -208,7 +196,7 @@ export function canSkipFormattersUpdate({ nextMeta, }: { prevDataRequest: DataRequest | undefined; - nextMeta: DataMeta; + nextMeta: DataRequestMeta; }): boolean { if (!prevDataRequest) { return false; diff --git a/x-pack/plugins/maps/public/classes/util/data_request.ts b/x-pack/plugins/maps/public/classes/util/data_request.ts index 0eb50af6107e0..3977fd3c9e0a9 100644 --- a/x-pack/plugins/maps/public/classes/util/data_request.ts +++ b/x-pack/plugins/maps/public/classes/util/data_request.ts @@ -7,7 +7,7 @@ /* eslint-disable max-classes-per-file */ -import { DataRequestDescriptor, DataMeta } from '../../../common/descriptor_types'; +import { DataRequestDescriptor, DataRequestMeta } from '../../../common/descriptor_types'; export class DataRequest { private readonly _descriptor: DataRequestDescriptor; @@ -26,11 +26,11 @@ export class DataRequest { return !!this._descriptor.dataRequestToken; } - getMeta(): DataMeta { - if (this._descriptor.dataMetaAtStart) { - return this._descriptor.dataMetaAtStart; - } else if (this._descriptor.dataMeta) { - return this._descriptor.dataMeta; + getMeta(): DataRequestMeta { + if (this._descriptor.dataRequestMetaAtStart) { + return this._descriptor.dataRequestMetaAtStart; + } else if (this._descriptor.dataRequestMeta) { + return this._descriptor.dataRequestMeta; } else { return {}; } diff --git a/x-pack/plugins/maps/public/classes/util/is_refresh_only_query.ts b/x-pack/plugins/maps/public/classes/util/is_refresh_only_query.ts deleted file mode 100644 index 57a11c1d161dc..0000000000000 --- a/x-pack/plugins/maps/public/classes/util/is_refresh_only_query.ts +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { MapQuery } from '../../../common/descriptor_types'; - -// Refresh only query is query where timestamps are different but query is the same. -// Triggered by clicking "Refresh" button in QueryBar -export function isRefreshOnlyQuery( - prevQuery: MapQuery | undefined, - newQuery: MapQuery | undefined -): boolean { - if (!prevQuery || !newQuery) { - return false; - } - return ( - prevQuery.queryLastTriggeredAt !== newQuery.queryLastTriggeredAt && - prevQuery.language === newQuery.language && - prevQuery.query === newQuery.query - ); -} diff --git a/x-pack/plugins/maps/public/classes/util/mb_filter_expressions.ts b/x-pack/plugins/maps/public/classes/util/mb_filter_expressions.ts index eb58963929716..68efd416718fd 100644 --- a/x-pack/plugins/maps/public/classes/util/mb_filter_expressions.ts +++ b/x-pack/plugins/maps/public/classes/util/mb_filter_expressions.ts @@ -15,7 +15,7 @@ import { import { Timeslice } from '../../../common/descriptor_types'; export interface TimesliceMaskConfig { - timesiceMaskField: string; + timesliceMaskField: string; timeslice: Timeslice; } @@ -34,15 +34,15 @@ function getFilterExpression( } if (timesliceMaskConfig) { - allFilters.push(['has', timesliceMaskConfig.timesiceMaskField]); + allFilters.push(['has', timesliceMaskConfig.timesliceMaskField]); allFilters.push([ '>=', - ['get', timesliceMaskConfig.timesiceMaskField], + ['get', timesliceMaskConfig.timesliceMaskField], timesliceMaskConfig.timeslice.from, ]); allFilters.push([ '<', - ['get', timesliceMaskConfig.timesiceMaskField], + ['get', timesliceMaskConfig.timesliceMaskField], timesliceMaskConfig.timeslice.to, ]); } diff --git a/x-pack/plugins/maps/public/components/force_refresh_checkbox.tsx b/x-pack/plugins/maps/public/components/force_refresh_checkbox.tsx new file mode 100644 index 0000000000000..1b0d021b2efdb --- /dev/null +++ b/x-pack/plugins/maps/public/components/force_refresh_checkbox.tsx @@ -0,0 +1,42 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { EuiFormRow, EuiSwitch, EuiSwitchEvent, EuiToolTip } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; + +interface Props { + applyForceRefresh: boolean; + setApplyForceRefresh: (applyGlobalTime: boolean) => void; +} + +export function ForceRefreshCheckbox({ applyForceRefresh, setApplyForceRefresh }: Props) { + const onRespondToForceRefreshChange = (event: EuiSwitchEvent) => { + setApplyForceRefresh(event.target.checked); + }; + + return ( + + + + + + ); +} diff --git a/x-pack/plugins/maps/public/components/global_filter_checkbox.tsx b/x-pack/plugins/maps/public/components/global_filter_checkbox.tsx index bddb1cfd9cfcd..96805e0c6b5ec 100644 --- a/x-pack/plugins/maps/public/components/global_filter_checkbox.tsx +++ b/x-pack/plugins/maps/public/components/global_filter_checkbox.tsx @@ -6,7 +6,8 @@ */ import React from 'react'; -import { EuiFormRow, EuiSwitch, EuiSwitchEvent } from '@elastic/eui'; +import { EuiFormRow, EuiSwitch, EuiSwitchEvent, EuiToolTip } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; interface Props { applyGlobalQuery: boolean; @@ -21,13 +22,20 @@ export function GlobalFilterCheckbox({ applyGlobalQuery, label, setApplyGlobalQu return ( - + + + ); } diff --git a/x-pack/plugins/maps/public/components/global_time_checkbox.tsx b/x-pack/plugins/maps/public/components/global_time_checkbox.tsx index 675426dbb3f76..ae0c50c063b68 100644 --- a/x-pack/plugins/maps/public/components/global_time_checkbox.tsx +++ b/x-pack/plugins/maps/public/components/global_time_checkbox.tsx @@ -6,8 +6,8 @@ */ import React from 'react'; -import { EuiFormRow, EuiSwitch, EuiSwitchEvent } from '@elastic/eui'; - +import { EuiFormRow, EuiSwitch, EuiSwitchEvent, EuiToolTip } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; interface Props { applyGlobalTime: boolean; label: string; @@ -21,13 +21,20 @@ export function GlobalTimeCheckbox({ applyGlobalTime, label, setApplyGlobalTime return ( - + + + ); } diff --git a/x-pack/plugins/maps/public/connected_components/edit_layer_panel/filter_editor/filter_editor.tsx b/x-pack/plugins/maps/public/connected_components/edit_layer_panel/filter_editor/filter_editor.tsx index 6e258e679b96f..c92bd43af14cf 100644 --- a/x-pack/plugins/maps/public/connected_components/edit_layer_panel/filter_editor/filter_editor.tsx +++ b/x-pack/plugins/maps/public/connected_components/edit_layer_panel/filter_editor/filter_editor.tsx @@ -15,8 +15,10 @@ import { EuiSpacer, EuiText, EuiTextColor, - EuiTextAlign, EuiButtonEmpty, + EuiHorizontalRule, + EuiFlexGroup, + EuiFlexItem, } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; @@ -27,6 +29,7 @@ import { getIndexPatternService, getData } from '../../../kibana_services'; import { GlobalFilterCheckbox } from '../../../components/global_filter_checkbox'; import { GlobalTimeCheckbox } from '../../../components/global_time_checkbox'; import { ILayer } from '../../../classes/layers/layer'; +import { ForceRefreshCheckbox } from '../../../components/force_refresh_checkbox'; export interface Props { layer: ILayer; @@ -113,6 +116,10 @@ export class FilterEditor extends Component { this.props.updateSourceProp(this.props.layer.getId(), 'applyGlobalTime', applyGlobalTime); }; + _onRespondToForceRefreshChange = (applyForceRefresh: boolean) => { + this.props.updateSourceProp(this.props.layer.getId(), 'applyForceRefresh', applyForceRefresh); + }; + _renderQueryPopover() { const layerQuery = this.props.layer.getQuery(); const { SearchBar } = getData().ui; @@ -153,7 +160,7 @@ export class FilterEditor extends Component { const query = this.props.layer.getQuery(); if (!query || !query.query) { return ( - +

{ return ( {query.query} - ); @@ -183,7 +189,7 @@ export class FilterEditor extends Component { defaultMessage: 'Edit filter', }) : i18n.translate('xpack.maps.layerPanel.filterEditor.addFilterButtonLabel', { - defaultMessage: 'Add filter', + defaultMessage: 'Set filter', }); const openButtonIcon = query && query.query ? 'pencil' : 'plusInCircleFilled'; @@ -209,6 +215,7 @@ export class FilterEditor extends Component { setApplyGlobalTime={this._onApplyGlobalTimeChange} /> ) : null; + return ( @@ -222,12 +229,15 @@ export class FilterEditor extends Component { - {this._renderQuery()} - - {this._renderQueryPopover()} + + {this._renderQueryPopover()} + {this._renderQuery()} + + + { /> {globalTimeCheckbox} + ); } diff --git a/x-pack/plugins/maps/public/reducers/map/data_request_utils.test.ts b/x-pack/plugins/maps/public/reducers/map/data_request_utils.test.ts index d12af4bdddb53..abcdcd4ac99b3 100644 --- a/x-pack/plugins/maps/public/reducers/map/data_request_utils.test.ts +++ b/x-pack/plugins/maps/public/reducers/map/data_request_utils.test.ts @@ -7,7 +7,7 @@ jest.mock('../../actions', () => ({})); -import { DataMeta, DataRequestDescriptor } from '../../../common/descriptor_types'; +import { DataRequestMeta, DataRequestDescriptor } from '../../../common/descriptor_types'; import { getDataRequest, setDataRequest, @@ -157,7 +157,7 @@ describe('startDataRequest', () => { const REQUEST_TOKEN = Symbol('request'); const DATA_META_AT_START = { prop1: 'value', - } as DataMeta; + } as DataRequestMeta; test('Should return unmodified state if layer not found', () => { const state = ({ @@ -186,7 +186,7 @@ describe('startDataRequest', () => { __dataRequests: [ { dataId: 'source', - dataMetaAtStart: DATA_META_AT_START, + dataRequestMetaAtStart: DATA_META_AT_START, dataRequestToken: REQUEST_TOKEN, }, ], @@ -204,7 +204,7 @@ describe('startDataRequest', () => { __dataRequests: [ { dataId: 'source', - dataMetaAtStart: { prop1: 'old value' }, + dataRequestMetaAtStart: { prop1: 'old value' }, dataRequestToken: Symbol('request'), }, ], @@ -219,7 +219,7 @@ describe('startDataRequest', () => { __dataRequests: [ { dataId: 'source', - dataMetaAtStart: DATA_META_AT_START, + dataRequestMetaAtStart: DATA_META_AT_START, dataRequestToken: REQUEST_TOKEN, }, ], @@ -270,7 +270,7 @@ describe('stopDataRequest', () => { { dataId: 'source', dataRequestToken: REQUEST_TOKEN, - dataMetaAtStart: { requestProp1: 'request' }, + dataRequestMetaAtStart: { requestProp1: 'request' }, data: { prop1: 'old data ' }, }, ], @@ -278,7 +278,7 @@ describe('stopDataRequest', () => { ], } as unknown) as MapState; const stateClone = _.cloneDeep(state); - const reponseMeta = { responseProp1: 'response' } as DataMeta; + const reponseMeta = { responseProp1: 'response' } as DataRequestMeta; const data = { prop1: 'new data' }; expect(stopDataRequest(state, 'layer1', 'source', REQUEST_TOKEN, reponseMeta, data)).toEqual({ layerList: [ @@ -287,9 +287,9 @@ describe('stopDataRequest', () => { __dataRequests: [ { dataId: 'source', - dataMeta: { requestProp1: 'request', responseProp1: 'response' }, + dataRequestMeta: { requestProp1: 'request', responseProp1: 'response' }, data: { prop1: 'new data' }, - dataMetaAtStart: undefined, + dataRequestMetaAtStart: undefined, dataRequestToken: undefined, }, ], diff --git a/x-pack/plugins/maps/public/reducers/map/data_request_utils.ts b/x-pack/plugins/maps/public/reducers/map/data_request_utils.ts index 18a3fd3d6c150..ec97203deb520 100644 --- a/x-pack/plugins/maps/public/reducers/map/data_request_utils.ts +++ b/x-pack/plugins/maps/public/reducers/map/data_request_utils.ts @@ -7,7 +7,7 @@ import { SOURCE_DATA_REQUEST_ID } from '../../../common/constants'; import { findLayerById, setLayer } from './layer_utils'; -import { DataMeta, DataRequestDescriptor } from '../../../common/descriptor_types'; +import { DataRequestMeta, DataRequestDescriptor } from '../../../common/descriptor_types'; import { MapState } from './types'; export function startDataRequest( @@ -15,7 +15,7 @@ export function startDataRequest( layerId: string, dataRequestId: string, requestToken: symbol, - requestMeta: DataMeta + requestMeta: DataRequestMeta ): MapState { const layerDescriptor = findLayerById(state, layerId); if (!layerDescriptor) { @@ -30,7 +30,7 @@ export function startDataRequest( : { dataId: dataRequestId, }; - dataRequest.dataMetaAtStart = requestMeta; + dataRequest.dataRequestMetaAtStart = requestMeta; dataRequest.dataRequestToken = requestToken; return setDataRequest(state, layerId, dataRequest); } @@ -49,7 +49,7 @@ export function stopDataRequest( layerId: string, dataRequestId: string, requestToken: symbol, - responseMeta?: DataMeta, + responseMeta?: DataRequestMeta, data?: object ): MapState { const dataRequest = getDataRequest(state, layerId, dataRequestId, requestToken); @@ -57,11 +57,11 @@ export function stopDataRequest( ? setDataRequest(state, layerId, { ...dataRequest, data, - dataMeta: { - ...(dataRequest.dataMetaAtStart ? dataRequest.dataMetaAtStart : {}), + dataRequestMeta: { + ...(dataRequest.dataRequestMetaAtStart ? dataRequest.dataRequestMetaAtStart : {}), ...(responseMeta ? responseMeta : {}), }, - dataMetaAtStart: undefined, + dataRequestMetaAtStart: undefined, dataRequestToken: undefined, }) : state; diff --git a/x-pack/plugins/maps/public/reducers/map/map.ts b/x-pack/plugins/maps/public/reducers/map/map.ts index 30db4ef8120ad..511d7ef8efb7c 100644 --- a/x-pack/plugins/maps/public/reducers/map/map.ts +++ b/x-pack/plugins/maps/public/reducers/map/map.ts @@ -75,7 +75,6 @@ export const DEFAULT_MAP_STATE: MapState = { timeslice: undefined, query: undefined, filters: [], - refreshTimerLastTriggeredAt: undefined, drawState: undefined, editState: undefined, }, diff --git a/x-pack/plugins/maps/public/reducers/map/types.ts b/x-pack/plugins/maps/public/reducers/map/types.ts index b13ea9c13c230..9b4261b18f915 100644 --- a/x-pack/plugins/maps/public/reducers/map/types.ts +++ b/x-pack/plugins/maps/public/reducers/map/types.ts @@ -7,6 +7,7 @@ /* eslint-disable @typescript-eslint/consistent-type-definitions */ +import type { Query } from 'src/plugins/data/common'; import { DrawState, EditState, @@ -14,7 +15,6 @@ import { LayerDescriptor, MapCenter, MapExtent, - MapQuery, Timeslice, TooltipState, } from '../../../common/descriptor_types'; @@ -39,9 +39,8 @@ export type MapContext = Partial & { }; timeFilters?: TimeRange; timeslice?: Timeslice; - query?: MapQuery; + query?: Query; filters: Filter[]; - refreshTimerLastTriggeredAt?: string; drawState?: DrawState; editState?: EditState; searchSessionId?: string; diff --git a/x-pack/plugins/maps/public/routes/map_page/map_app/map_app.tsx b/x-pack/plugins/maps/public/routes/map_page/map_app/map_app.tsx index 4a2b0fbefad68..212fa89e2ad65 100644 --- a/x-pack/plugins/maps/public/routes/map_page/map_app/map_app.tsx +++ b/x-pack/plugins/maps/public/routes/map_page/map_app/map_app.tsx @@ -12,6 +12,7 @@ import { i18n } from '@kbn/i18n'; import { AppLeaveAction, AppMountParameters } from 'kibana/public'; import { Adapters } from 'src/plugins/embeddable/public'; import { Subscription } from 'rxjs'; +import type { Query, Filter, TimeRange, IndexPattern } from 'src/plugins/data/common'; import { getData, getCoreChrome, @@ -30,10 +31,6 @@ import { } from '../url_state'; import { esFilters, - Filter, - Query, - TimeRange, - IndexPattern, SavedQuery, QueryStateChange, QueryState, @@ -41,7 +38,6 @@ import { import { MapContainer } from '../../../connected_components/map_container'; import { getIndexPatternsFromIds } from '../../../index_pattern_util'; import { getTopNavConfig } from '../top_nav_config'; -import { MapQuery } from '../../../../common/descriptor_types'; import { goToSpecifiedPath } from '../../../render_app'; import { MapSavedObjectAttributes } from '../../../../common/map_saved_object_type'; import { getFullPath, APP_ID } from '../../../../common/constants'; @@ -87,7 +83,7 @@ export interface Props { }) => void; timeFilters: TimeRange; isSaveDisabled: boolean; - query: MapQuery | undefined; + query: Query | undefined; setHeaderActionMenu: AppMountParameters['setHeaderActionMenu']; } diff --git a/x-pack/plugins/maps/public/routes/map_page/saved_map/saved_map.ts b/x-pack/plugins/maps/public/routes/map_page/saved_map/saved_map.ts index 45d3e0352acf6..fab88af308f8d 100644 --- a/x-pack/plugins/maps/public/routes/map_page/saved_map/saved_map.ts +++ b/x-pack/plugins/maps/public/routes/map_page/saved_map/saved_map.ts @@ -402,7 +402,7 @@ export class SavedMap { isPaused: getTimeFilter().getRefreshInterval().pause, interval: getTimeFilter().getRefreshInterval().value, }, - query: _.omit(getQuery(state), 'queryLastTriggeredAt'), + query: getQuery(state), filters: getFilters(state), settings: getMapSettings(state), }); diff --git a/x-pack/plugins/maps/public/selectors/map_selectors.test.ts b/x-pack/plugins/maps/public/selectors/map_selectors.test.ts index a1b8ad97acb9f..9fc17b810964b 100644 --- a/x-pack/plugins/maps/public/selectors/map_selectors.test.ts +++ b/x-pack/plugins/maps/public/selectors/map_selectors.test.ts @@ -58,7 +58,6 @@ describe('getDataFilters', () => { const mapZoom = 4; const timeFilters = { to: '2001-01-01', from: '2001-12-31' }; const timeslice = undefined; - const refreshTimerLastTriggeredAt = '2001-01-01T00:00:00'; const query = undefined; const filters: Filter[] = []; const searchSessionId = '12345'; @@ -77,7 +76,6 @@ describe('getDataFilters', () => { mapZoom, timeFilters, timeslice, - refreshTimerLastTriggeredAt, query, filters, searchSessionId, @@ -94,7 +92,6 @@ describe('getDataFilters', () => { mapZoom, timeFilters, timeslice, - refreshTimerLastTriggeredAt, query, filters, searchSessionId, diff --git a/x-pack/plugins/maps/public/selectors/map_selectors.ts b/x-pack/plugins/maps/public/selectors/map_selectors.ts index 609b830f2f512..5ca297bdff020 100644 --- a/x-pack/plugins/maps/public/selectors/map_selectors.ts +++ b/x-pack/plugins/maps/public/selectors/map_selectors.ts @@ -9,6 +9,7 @@ import { createSelector } from 'reselect'; import { FeatureCollection } from 'geojson'; import _ from 'lodash'; import { Adapters } from 'src/plugins/inspector/public'; +import type { Query } from 'src/plugins/data/common'; import { TileLayer } from '../classes/layers/tile_layer/tile_layer'; // @ts-ignore import { VectorTileLayer } from '../classes/layers/vector_tile_layer/vector_tile_layer'; @@ -45,7 +46,6 @@ import { LayerDescriptor, MapCenter, MapExtent, - MapQuery, TooltipState, VectorLayerDescriptor, } from '../../common/descriptor_types'; @@ -179,7 +179,7 @@ export const getTimeFilters = ({ map }: MapStoreState): TimeRange => export const getTimeslice = ({ map }: MapStoreState) => map.mapState.timeslice; -export const getQuery = ({ map }: MapStoreState): MapQuery | undefined => map.mapState.query; +export const getQuery = ({ map }: MapStoreState): Query | undefined => map.mapState.query; export const getFilters = ({ map }: MapStoreState): Filter[] => map.mapState.filters; @@ -201,9 +201,6 @@ export const getDrawState = ({ map }: MapStoreState): DrawState | undefined => export const getEditState = ({ map }: MapStoreState): EditState | undefined => map.mapState.editState; -export const getRefreshTimerLastTriggeredAt = ({ map }: MapStoreState): string | undefined => - map.mapState.refreshTimerLastTriggeredAt; - function getLayerDescriptor(state: MapStoreState, layerId: string) { const layerListRaw = getLayerListRaw(state); return layerListRaw.find((layer) => layer.id === layerId); @@ -225,7 +222,6 @@ export const getDataFilters = createSelector( getMapZoom, getTimeFilters, getTimeslice, - getRefreshTimerLastTriggeredAt, getQuery, getFilters, getSearchSessionId, @@ -237,7 +233,6 @@ export const getDataFilters = createSelector( mapZoom, timeFilters, timeslice, - refreshTimerLastTriggeredAt, query, filters, searchSessionId, @@ -250,7 +245,6 @@ export const getDataFilters = createSelector( zoom: mapZoom, timeFilters, timeslice, - refreshTimerLastTriggeredAt, query, filters, searchSessionId, From 5e2511fc4335470cd86f7a433435fb37b5c92dbf Mon Sep 17 00:00:00 2001 From: Madison Caldwell Date: Thu, 9 Sep 2021 13:38:20 -0400 Subject: [PATCH 25/57] [RAC][Security Solution] Add RAC support to rule routes (#108053) * prototyping * how dis * RAC rules create API * Find rules (in progress) * Finalize find_rules route * A couple more routes, and type error fixes * Fix integration tests? * Fix tests * Fix imports * Add ref * Test fixes * Fix refs * Type fixes * Test fixes * Remove console log * Update rule changes * Test and type fixes * Fix patch rule tests * Fix types * Begin removing namespace as required param * Remove generics * Support RAC everywhere * Tests passing * Types * Keep on passing isRuleRegistryEnabled around * Rewrite install_prepackaged_timelines helper tests --- x-pack/plugins/rule_registry/server/index.ts | 3 + .../security_solution/common/constants.ts | 19 ++- .../schemas/common/schemas.ts | 6 + ...s => add_prepackaged_rules_schema.test.ts} | 17 +++ .../request/add_prepackaged_rules_schema.ts | 5 +- .../schemas/request/rule_schemas.test.ts | 13 ++ .../schemas/request/rule_schemas.ts | 2 + .../request/update_rules_bulk_schema.test.ts | 12 ++ .../schemas/response/rules_schema.test.ts | 13 ++ .../schemas/response/rules_schema.ts | 2 + ...dule_throttle_notification_actions.test.ts | 1 + .../routes/__mocks__/request_responses.ts | 20 +-- .../rules/add_prepackaged_rules_route.test.ts | 57 +++++---- .../rules/add_prepackaged_rules_route.ts | 29 +++-- .../rules/create_rules_bulk_route.test.ts | 41 +++--- .../routes/rules/create_rules_bulk_route.ts | 19 ++- .../routes/rules/create_rules_route.test.ts | 36 +++--- .../routes/rules/create_rules_route.ts | 20 ++- .../rules/delete_rules_bulk_route.test.ts | 9 +- .../routes/rules/delete_rules_bulk_route.ts | 15 ++- .../routes/rules/delete_rules_route.test.ts | 13 +- .../routes/rules/delete_rules_route.ts | 7 +- .../routes/rules/export_rules_route.ts | 15 ++- .../routes/rules/find_rules_route.test.ts | 13 +- .../routes/rules/find_rules_route.ts | 4 +- .../rules/find_rules_status_route.test.ts | 11 +- ...get_prepackaged_rules_status_route.test.ts | 21 +++- .../get_prepackaged_rules_status_route.ts | 9 +- .../routes/rules/import_rules_route.test.ts | 47 ++++--- .../routes/rules/import_rules_route.ts | 7 +- .../rules/patch_rules_bulk_route.test.ts | 13 +- .../routes/rules/patch_rules_bulk_route.ts | 12 +- .../routes/rules/patch_rules_route.test.ts | 19 ++- .../routes/rules/patch_rules_route.ts | 16 ++- .../rules/perform_bulk_action_route.test.ts | 9 +- .../routes/rules/perform_bulk_action_route.ts | 7 +- .../routes/rules/read_rules_route.test.ts | 11 +- .../routes/rules/read_rules_route.ts | 8 +- .../rules/update_rules_bulk_route.test.ts | 13 +- .../routes/rules/update_rules_bulk_route.ts | 6 +- .../routes/rules/update_rules_route.test.ts | 19 ++- .../routes/rules/update_rules_route.ts | 14 ++- .../routes/rules/utils.test.ts | 118 +++++++++++------- .../detection_engine/routes/rules/utils.ts | 15 ++- .../routes/rules/validate.test.ts | 49 ++++++-- .../detection_engine/routes/rules/validate.ts | 15 ++- .../routes/tags/read_tags_route.ts | 6 +- .../lib/detection_engine/routes/utils.test.ts | 9 +- .../lib/detection_engine/routes/utils.ts | 2 +- .../create_indicator_match_alert_type.ts | 4 +- .../lib/detection_engine/rule_types/ml.ts | 4 +- .../rule_types/ml/create_ml_alert_type.ts | 4 +- .../query/create_query_alert_type.ts | 4 +- .../rules/create_rules.mock.ts | 8 +- .../rules/create_rules.test.ts | 9 +- .../detection_engine/rules/create_rules.ts | 6 +- .../rules/duplicate_rule.test.ts | 2 + .../detection_engine/rules/find_rules.test.ts | 40 ++++-- .../lib/detection_engine/rules/find_rules.ts | 19 ++- .../get_existing_prepackaged_rules.test.ts | 59 ++++----- .../rules/get_existing_prepackaged_rules.ts | 22 +++- .../rules/get_export_all.test.ts | 13 +- .../detection_engine/rules/get_export_all.ts | 5 +- .../rules/get_export_by_object_ids.test.ts | 25 ++-- .../rules/get_export_by_object_ids.ts | 11 +- .../rules/get_rules_to_install.test.ts | 28 +++-- .../rules/get_rules_to_install.ts | 2 +- .../rules/get_rules_to_update.test.ts | 53 ++++---- .../rules/get_rules_to_update.ts | 2 +- .../rules/install_prepacked_rules.ts | 6 +- .../rules/patch_rules.mock.ts | 8 +- .../rules/patch_rules.test.ts | 29 +++-- .../lib/detection_engine/rules/patch_rules.ts | 3 + .../detection_engine/rules/read_rules.test.ts | 37 ++++-- .../lib/detection_engine/rules/read_rules.ts | 9 +- .../lib/detection_engine/rules/types.ts | 17 ++- .../rules/update_prepacked_rules.test.ts | 10 +- .../rules/update_prepacked_rules.ts | 16 ++- .../rules/update_rules.mock.ts | 7 +- .../rules/update_rules.test.ts | 23 ++-- .../detection_engine/rules/update_rules.ts | 7 +- .../lib/detection_engine/rules/utils.test.ts | 3 + .../lib/detection_engine/rules/utils.ts | 2 + .../schemas/rule_converters.ts | 8 +- .../schemas/rule_schemas.mock.ts | 1 + .../detection_engine/schemas/rule_schemas.ts | 23 +++- .../signals/search_after_bulk_create.ts | 2 +- .../signals/signal_rule_alert_type.test.ts | 16 +-- .../lib/detection_engine/signals/utils.ts | 18 +++ .../detection_engine/tags/read_tags.test.ts | 81 ++++++------ .../lib/detection_engine/tags/read_tags.ts | 8 +- .../helpers.test.ts | 59 ++++----- .../security_solution/server/plugin.ts | 10 +- .../security_solution/server/routes/index.ts | 42 +++---- 94 files changed, 1063 insertions(+), 549 deletions(-) rename x-pack/plugins/security_solution/common/detection_engine/schemas/request/{add_prepackged_rules_schema.test.ts => add_prepackaged_rules_schema.test.ts} (98%) diff --git a/x-pack/plugins/rule_registry/server/index.ts b/x-pack/plugins/rule_registry/server/index.ts index 33822da746cd2..b287e6a3e4688 100644 --- a/x-pack/plugins/rule_registry/server/index.ts +++ b/x-pack/plugins/rule_registry/server/index.ts @@ -12,6 +12,9 @@ import { PluginInitializerContext } from 'src/core/server'; import { RuleRegistryPlugin } from './plugin'; export type { RuleRegistryPluginSetupContract, RuleRegistryPluginStartContract } from './plugin'; +export { RuleDataPluginService } from './rule_data_plugin_service'; +export { RuleDataClient } from './rule_data_client'; +export { IRuleDataClient } from './rule_data_client/types'; export type { RacRequestHandlerContext, RacApiRequestHandlerContext, diff --git a/x-pack/plugins/security_solution/common/constants.ts b/x-pack/plugins/security_solution/common/constants.ts index e80dd9ab8bf31..8076caf60f697 100644 --- a/x-pack/plugins/security_solution/common/constants.ts +++ b/x-pack/plugins/security_solution/common/constants.ts @@ -187,19 +187,18 @@ export const DEFAULT_TRANSFORMS_SETTING = JSON.stringify(defaultTransformsSettin /** * Id for the signals alerting type */ -export const SIGNALS_ID = `siem.signals`; +export const SIGNALS_ID = `siem.signals` as const; /** - * Id's for reference rule types + * IDs for RAC rule types */ -export const REFERENCE_RULE_ALERT_TYPE_ID = `siem.referenceRule`; -export const REFERENCE_RULE_PERSISTENCE_ALERT_TYPE_ID = `siem.referenceRulePersistence`; - -export const QUERY_ALERT_TYPE_ID = `siem.queryRule`; -export const EQL_ALERT_TYPE_ID = `siem.eqlRule`; -export const INDICATOR_ALERT_TYPE_ID = `siem.indicatorRule`; -export const ML_ALERT_TYPE_ID = `siem.mlRule`; -export const THRESHOLD_ALERT_TYPE_ID = `siem.thresholdRule`; +const RULE_TYPE_PREFIX = `siem` as const; +export const EQL_RULE_TYPE_ID = `${RULE_TYPE_PREFIX}.eqlRule` as const; +export const INDICATOR_RULE_TYPE_ID = `${RULE_TYPE_PREFIX}.indicatorRule` as const; +export const ML_RULE_TYPE_ID = `${RULE_TYPE_PREFIX}.mlRule` as const; +export const QUERY_RULE_TYPE_ID = `${RULE_TYPE_PREFIX}.queryRule` as const; +export const SAVED_QUERY_RULE_TYPE_ID = `${RULE_TYPE_PREFIX}.savedQueryRule` as const; +export const THRESHOLD_RULE_TYPE_ID = `${RULE_TYPE_PREFIX}.thresholdRule` as const; /** * Id for the notifications alerting type diff --git a/x-pack/plugins/security_solution/common/detection_engine/schemas/common/schemas.ts b/x-pack/plugins/security_solution/common/detection_engine/schemas/common/schemas.ts index ab89ab31acc02..a9f7d96f1eb2e 100644 --- a/x-pack/plugins/security_solution/common/detection_engine/schemas/common/schemas.ts +++ b/x-pack/plugins/security_solution/common/detection_engine/schemas/common/schemas.ts @@ -59,6 +59,9 @@ export type FileName = t.TypeOf; export const exclude_export_details = t.boolean; export type ExcludeExportDetails = t.TypeOf; +export const namespace = t.string; +export type Namespace = t.TypeOf; + /** * TODO: Right now the filters is an "unknown", when it could more than likely * become the actual ESFilter as a type. @@ -352,6 +355,9 @@ export const timelines_not_updated = PositiveInteger; export const note = t.string; export type Note = t.TypeOf; +export const namespaceOrUndefined = t.union([namespace, t.undefined]); +export type NamespaceOrUndefined = t.TypeOf; + export const noteOrUndefined = t.union([note, t.undefined]); export type NoteOrUndefined = t.TypeOf; diff --git a/x-pack/plugins/security_solution/common/detection_engine/schemas/request/add_prepackged_rules_schema.test.ts b/x-pack/plugins/security_solution/common/detection_engine/schemas/request/add_prepackaged_rules_schema.test.ts similarity index 98% rename from x-pack/plugins/security_solution/common/detection_engine/schemas/request/add_prepackged_rules_schema.test.ts rename to x-pack/plugins/security_solution/common/detection_engine/schemas/request/add_prepackaged_rules_schema.test.ts index 03c0947aaf50c..7e34dd4a1efc0 100644 --- a/x-pack/plugins/security_solution/common/detection_engine/schemas/request/add_prepackged_rules_schema.test.ts +++ b/x-pack/plugins/security_solution/common/detection_engine/schemas/request/add_prepackaged_rules_schema.test.ts @@ -465,6 +465,23 @@ describe('add prepackaged rules schema', () => { expect(message.schema).toEqual(expected); }); + test('You can send in a namespace', () => { + const payload: AddPrepackagedRulesSchema = { + ...getAddPrepackagedRulesSchemaMock(), + namespace: 'a namespace', + }; + + const decoded = addPrepackagedRulesSchema.decode(payload); + const checked = exactCheck(payload, decoded); + const message = pipe(checked, foldLeftRight); + expect(getPaths(left(message.errors))).toEqual([]); + const expected: AddPrepackagedRulesSchemaDecoded = { + ...getAddPrepackagedRulesSchemaDecodedMock(), + namespace: 'a namespace', + }; + expect(message.schema).toEqual(expected); + }); + test('You can send in an empty array to threat', () => { const payload: AddPrepackagedRulesSchema = { ...getAddPrepackagedRulesSchemaMock(), diff --git a/x-pack/plugins/security_solution/common/detection_engine/schemas/request/add_prepackaged_rules_schema.ts b/x-pack/plugins/security_solution/common/detection_engine/schemas/request/add_prepackaged_rules_schema.ts index eed20951190b7..618aee3379316 100644 --- a/x-pack/plugins/security_solution/common/detection_engine/schemas/request/add_prepackaged_rules_schema.ts +++ b/x-pack/plugins/security_solution/common/detection_engine/schemas/request/add_prepackaged_rules_schema.ts @@ -71,6 +71,7 @@ import { timestamp_override, Author, event_category_override, + namespace, } from '../common/schemas'; /** @@ -136,10 +137,10 @@ export const addPrepackagedRulesSchema = t.intersection([ threat_indicator_path, // defaults "undefined" if not set during decode concurrent_searches, // defaults to "undefined" if not set during decode items_per_search, // defaults to "undefined" if not set during decode + namespace, // defaults to "undefined" if not set during decode }) ), ]); - export type AddPrepackagedRulesSchema = t.TypeOf; // This type is used after a decode since some things are defaults after a decode. @@ -153,6 +154,7 @@ export type AddPrepackagedRulesSchemaDecoded = Omit< | 'from' | 'interval' | 'max_signals' + | 'namespace' | 'risk_score_mapping' | 'severity_mapping' | 'tags' @@ -176,4 +178,5 @@ export type AddPrepackagedRulesSchemaDecoded = Omit< threat: Threats; throttle: ThrottleOrNull; exceptions_list: ListArray; + namespace?: string; }; diff --git a/x-pack/plugins/security_solution/common/detection_engine/schemas/request/rule_schemas.test.ts b/x-pack/plugins/security_solution/common/detection_engine/schemas/request/rule_schemas.test.ts index 2e4a53766448b..72334c81ce077 100644 --- a/x-pack/plugins/security_solution/common/detection_engine/schemas/request/rule_schemas.test.ts +++ b/x-pack/plugins/security_solution/common/detection_engine/schemas/request/rule_schemas.test.ts @@ -330,6 +330,19 @@ describe('create rules schema', () => { expect(message.schema).toEqual(payload); }); + test('You can send in a namespace', () => { + const payload: CreateRulesSchema = { + ...getCreateRulesSchemaMock(), + namespace: 'a namespace', + }; + + const decoded = createRulesSchema.decode(payload); + const checked = exactCheck(payload, decoded); + const message = pipe(checked, foldLeftRight); + expect(getPaths(left(message.errors))).toEqual([]); + expect(message.schema).toEqual(payload); + }); + test('You can send in an empty array to threat', () => { const payload: CreateRulesSchema = { ...getCreateRulesSchemaMock(), diff --git a/x-pack/plugins/security_solution/common/detection_engine/schemas/request/rule_schemas.ts b/x-pack/plugins/security_solution/common/detection_engine/schemas/request/rule_schemas.ts index b1361d8513c65..719337a231c1c 100644 --- a/x-pack/plugins/security_solution/common/detection_engine/schemas/request/rule_schemas.ts +++ b/x-pack/plugins/security_solution/common/detection_engine/schemas/request/rule_schemas.ts @@ -68,6 +68,7 @@ import { last_success_message, last_failure_at, last_failure_message, + namespace, } from '../common/schemas'; export const createSchema = < @@ -155,6 +156,7 @@ const baseParams = { meta, rule_name_override, timestamp_override, + namespace, }, defaultable: { tags, diff --git a/x-pack/plugins/security_solution/common/detection_engine/schemas/request/update_rules_bulk_schema.test.ts b/x-pack/plugins/security_solution/common/detection_engine/schemas/request/update_rules_bulk_schema.test.ts index 63217186affe7..c5549913eb05c 100644 --- a/x-pack/plugins/security_solution/common/detection_engine/schemas/request/update_rules_bulk_schema.test.ts +++ b/x-pack/plugins/security_solution/common/detection_engine/schemas/request/update_rules_bulk_schema.test.ts @@ -187,6 +187,18 @@ describe('update_rules_bulk_schema', () => { expect(output.schema).toEqual({}); }); + test('You can set "namespace" to a string', () => { + const payload: UpdateRulesBulkSchema = [ + { ...getUpdateRulesSchemaMock(), namespace: 'a namespace' }, + ]; + + const decoded = updateRulesBulkSchema.decode(payload); + const checked = exactCheck(payload, decoded); + const output = foldLeftRight(checked); + expect(formatErrors(output.errors)).toEqual([]); + expect(output.schema).toEqual(payload); + }); + test('You can set "note" to a string', () => { const payload: UpdateRulesBulkSchema = [ { ...getUpdateRulesSchemaMock(), note: '# test markdown' }, diff --git a/x-pack/plugins/security_solution/common/detection_engine/schemas/response/rules_schema.test.ts b/x-pack/plugins/security_solution/common/detection_engine/schemas/response/rules_schema.test.ts index ef18cf24e87a3..f8404ac677186 100644 --- a/x-pack/plugins/security_solution/common/detection_engine/schemas/response/rules_schema.test.ts +++ b/x-pack/plugins/security_solution/common/detection_engine/schemas/response/rules_schema.test.ts @@ -404,6 +404,19 @@ describe('rules_schema', () => { expect(message.schema).toEqual(expected); }); + test('it should validate a namespace as string', () => { + const payload = { + ...getRulesSchemaMock(), + namespace: 'a namespace', + }; + const dependents = getDependents(payload); + const decoded = dependents.decode(payload); + const checked = exactCheck(payload, decoded); + const message = pipe(checked, foldLeftRight); + expect(getPaths(left(message.errors))).toEqual([]); + expect(message.schema).toEqual(payload); + }); + test('it should NOT validate invalid_data for the type', () => { const payload: Omit & { type: string } = getRulesSchemaMock(); payload.type = 'invalid_data'; diff --git a/x-pack/plugins/security_solution/common/detection_engine/schemas/response/rules_schema.ts b/x-pack/plugins/security_solution/common/detection_engine/schemas/response/rules_schema.ts index 0efd6dc5067cb..da13faae8a47c 100644 --- a/x-pack/plugins/security_solution/common/detection_engine/schemas/response/rules_schema.ts +++ b/x-pack/plugins/security_solution/common/detection_engine/schemas/response/rules_schema.ts @@ -75,6 +75,7 @@ import { license, rule_name_override, timestamp_override, + namespace, } from '../common/schemas'; import { typeAndTimelineOnlySchema, TypeAndTimelineOnly } from './type_timeline_only_schema'; @@ -174,6 +175,7 @@ export const partialRulesSchema = t.partial({ filters, meta, index, + namespace, note, }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/schedule_throttle_notification_actions.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/schedule_throttle_notification_actions.test.ts index de62c6b211400..2e5e331b71b00 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/schedule_throttle_notification_actions.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/schedule_throttle_notification_actions.test.ts @@ -53,6 +53,7 @@ describe('schedule_throttle_notification_actions', () => { to: 'now', type: 'query', references: ['http://www.example.com'], + namespace: 'a namespace', note: '# sample markdown', version: 1, exceptionsList: [], diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/__mocks__/request_responses.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/__mocks__/request_responses.ts index a7eff049d0d9e..97d976d337564 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/__mocks__/request_responses.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/__mocks__/request_responses.ts @@ -39,6 +39,7 @@ import { getQueryRuleParams } from '../../schemas/rule_schemas.mock'; import { getPerformBulkActionSchemaMock } from '../../../../../common/detection_engine/schemas/request/perform_bulk_action_schema.mock'; import { RuleExecutionStatus } from '../../../../../common/detection_engine/schemas/common/schemas'; import { FindBulkExecutionLogResponse } from '../../rule_execution_log/types'; +import { ruleTypeMappings } from '../../signals/utils'; export const typicalSetStatusSignalByIdsPayload = (): SetSignalsStatusSchemaDecoded => ({ signal_ids: ['somefakeid1', 'somefakeid2'], @@ -179,18 +180,18 @@ export const getEmptyFindResult = (): FindHit => ({ data: [], }); -export const getFindResultWithSingleHit = (): FindHit => ({ +export const getFindResultWithSingleHit = (isRuleRegistryEnabled: boolean): FindHit => ({ page: 1, perPage: 1, total: 1, - data: [getAlertMock(getQueryRuleParams())], + data: [getAlertMock(isRuleRegistryEnabled, getQueryRuleParams())], }); -export const nonRuleFindResult = (): FindHit => ({ +export const nonRuleFindResult = (isRuleRegistryEnabled: boolean): FindHit => ({ page: 1, perPage: 1, total: 1, - data: [nonRuleAlert()], + data: [nonRuleAlert(isRuleRegistryEnabled)], }); export const getFindResultWithMultiHits = ({ @@ -348,19 +349,22 @@ export const createActionResult = (): ActionResult => ({ isPreconfigured: false, }); -export const nonRuleAlert = () => ({ +export const nonRuleAlert = (isRuleRegistryEnabled: boolean) => ({ // Defaulting to QueryRuleParams because ts doesn't like empty objects - ...getAlertMock(getQueryRuleParams()), + ...getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()), id: '04128c15-0d1b-4716-a4c5-46997ac7f3bc', name: 'Non-Rule Alert', alertTypeId: 'something', }); -export const getAlertMock = (params: T): Alert => ({ +export const getAlertMock = ( + isRuleRegistryEnabled: boolean, + params: T +): Alert => ({ id: '04128c15-0d1b-4716-a4c5-46997ac7f3bd', name: 'Detect Root/Admin Users', tags: [`${INTERNAL_RULE_ID_KEY}:rule-1`, `${INTERNAL_IMMUTABLE_KEY}:false`], - alertTypeId: 'siem.signals', + alertTypeId: isRuleRegistryEnabled ? ruleTypeMappings[params.type] : 'siem.signals', consumer: 'siem', params, createdAt: new Date('2019-12-13T16:40:33.400Z'), diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/add_prepackaged_rules_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/add_prepackaged_rules_route.test.ts index 189173f44a295..866c70626d2bc 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/add_prepackaged_rules_route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/add_prepackaged_rules_route.test.ts @@ -72,12 +72,16 @@ jest.mock('../../../timeline/routes/prepackaged_timelines/install_prepackaged_ti }; }); -describe('add_prepackaged_rules_route', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('add_prepackaged_rules_route - %s', (_, isRuleRegistryEnabled) => { const siemMockClient = siemMock.createClient(); let server: ReturnType; let { clients, context } = requestContextMock.createTools(); let securitySetup: SecurityPluginSetup; let mockExceptionsClient: ExceptionListClient; + const testif = isRuleRegistryEnabled ? test.skip : test; beforeEach(() => { server = serverMock.create(); @@ -91,8 +95,10 @@ describe('add_prepackaged_rules_route', () => { mockExceptionsClient = listMock.getExceptionListClient(); - clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); - clients.rulesClient.update.mockResolvedValue(getAlertMock(getQueryRuleParams())); + clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); + clients.rulesClient.update.mockResolvedValue( + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) + ); (installPrepackagedTimelines as jest.Mock).mockReset(); (installPrepackagedTimelines as jest.Mock).mockResolvedValue({ @@ -106,7 +112,7 @@ describe('add_prepackaged_rules_route', () => { context.core.elasticsearch.client.asCurrentUser.search.mockResolvedValue( elasticsearchClientMock.createSuccessTransportRequestPromise({ _shards: { total: 1 } }) ); - addPrepackedRulesRoute(server.router, createMockConfig(), securitySetup); + addPrepackedRulesRoute(server.router, createMockConfig(), securitySetup, isRuleRegistryEnabled); }); describe('status codes', () => { @@ -129,23 +135,25 @@ describe('add_prepackaged_rules_route', () => { }); }); - test('it returns a 400 if the index does not exist', async () => { + test('it returns a 400 if the index does not exist when rule registry not enabled', async () => { const request = addPrepackagedRulesRequest(); context.core.elasticsearch.client.asCurrentUser.search.mockResolvedValueOnce( elasticsearchClientMock.createSuccessTransportRequestPromise({ _shards: { total: 0 } }) ); const response = await server.inject(request, context); - expect(response.status).toEqual(400); - expect(response.body).toEqual({ - status_code: 400, - message: expect.stringContaining( - 'Pre-packaged rules cannot be installed until the signals index is created' - ), - }); + expect(response.status).toEqual(isRuleRegistryEnabled ? 200 : 400); + if (!isRuleRegistryEnabled) { + expect(response.body).toEqual({ + status_code: 400, + message: expect.stringContaining( + 'Pre-packaged rules cannot be installed until the signals index is created' + ), + }); + } }); - it('returns 404 if siem client is unavailable', async () => { + test('returns 404 if siem client is unavailable', async () => { const { securitySolution, ...contextWithoutSecuritySolution } = context; const response = await server.inject( addPrepackagedRulesRequest(), @@ -185,16 +193,19 @@ describe('add_prepackaged_rules_route', () => { }); }); - test('catches errors if payloads cause errors to be thrown', async () => { - context.core.elasticsearch.client.asCurrentUser.search.mockResolvedValue( - elasticsearchClientMock.createErrorTransportRequestPromise(new Error('Test error')) - ); - const request = addPrepackagedRulesRequest(); - const response = await server.inject(request, context); - - expect(response.status).toEqual(500); - expect(response.body).toEqual({ message: 'Test error', status_code: 500 }); - }); + testif( + 'catches errors if signals index does not exist when rule registry not enabled', + async () => { + context.core.elasticsearch.client.asCurrentUser.search.mockResolvedValue( + elasticsearchClientMock.createErrorTransportRequestPromise(new Error('Test error')) + ); + const request = addPrepackagedRulesRequest(); + const response = await server.inject(request, context); + + expect(response.status).toEqual(500); + expect(response.body).toEqual({ message: 'Test error', status_code: 500 }); + } + ); }); test('should install prepackaged timelines', async () => { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/add_prepackaged_rules_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/add_prepackaged_rules_route.ts index 21933b2918722..0048c735b0a7c 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/add_prepackaged_rules_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/add_prepackaged_rules_route.ts @@ -43,7 +43,8 @@ import { installPrepackagedTimelines } from '../../../timeline/routes/prepackage export const addPrepackedRulesRoute = ( router: SecuritySolutionPluginRouter, config: ConfigType, - security: SetupPlugins['security'] + security: SetupPlugins['security'], + isRuleRegistryEnabled: boolean ) => { router.put( { @@ -79,7 +80,9 @@ export const addPrepackedRulesRoute = ( frameworkRequest, config.maxTimelineImportExportSize, config.prebuiltRulesFromFileSystem, - config.prebuiltRulesFromSavedObjects + config.prebuiltRulesFromSavedObjects, + undefined, + isRuleRegistryEnabled ); return response.ok({ body: validated ?? {} }); } catch (err) { @@ -109,7 +112,8 @@ export const createPrepackagedRules = async ( maxTimelineImportExportSize: ConfigType['maxTimelineImportExportSize'], prebuiltRulesFromFileSystem: ConfigType['prebuiltRulesFromFileSystem'], prebuiltRulesFromSavedObjects: ConfigType['prebuiltRulesFromSavedObjects'], - exceptionsClient?: ExceptionListClient + exceptionsClient?: ExceptionListClient, + isRuleRegistryEnabled?: boolean | undefined ): Promise => { const esClient = context.core.elasticsearch.client; const savedObjectsClient = context.core.savedObjects.client; @@ -131,11 +135,14 @@ export const createPrepackagedRules = async ( prebuiltRulesFromFileSystem, prebuiltRulesFromSavedObjects ); - const prepackagedRules = await getExistingPrepackagedRules({ rulesClient }); + const prepackagedRules = await getExistingPrepackagedRules({ + rulesClient, + isRuleRegistryEnabled: isRuleRegistryEnabled ?? false, + }); const rulesToInstall = getRulesToInstall(latestPrepackagedRules, prepackagedRules); const rulesToUpdate = getRulesToUpdate(latestPrepackagedRules, prepackagedRules); const signalsIndex = siemClient.getSignalsIndex(); - if (rulesToInstall.length !== 0 || rulesToUpdate.length !== 0) { + if (!isRuleRegistryEnabled && (rulesToInstall.length !== 0 || rulesToUpdate.length !== 0)) { const signalsIndexExists = await getIndexExists(esClient.asCurrentUser, signalsIndex); if (!signalsIndexExists) { throw new PrepackagedRulesError( @@ -145,7 +152,14 @@ export const createPrepackagedRules = async ( } } - await Promise.all(installPrepackagedRules(rulesClient, rulesToInstall, signalsIndex)); + await Promise.all( + installPrepackagedRules( + rulesClient, + rulesToInstall, + signalsIndex, + isRuleRegistryEnabled ?? false + ) + ); const timeline = await installPrepackagedTimelines( maxTimelineImportExportSize, frameworkRequest, @@ -160,7 +174,8 @@ export const createPrepackagedRules = async ( context.securitySolution.getSpaceId(), ruleStatusClient, rulesToUpdate, - signalsIndex + signalsIndex, + isRuleRegistryEnabled ?? false ); const prepackagedRulesOutput: PrePackagedRulesAndTimelinesSchema = { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_bulk_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_bulk_route.test.ts index 3de2770972c82..2c8696dbd4554 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_bulk_route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_bulk_route.test.ts @@ -24,7 +24,10 @@ import { getQueryRuleParams } from '../../schemas/rule_schemas.mock'; jest.mock('../../../machine_learning/authz', () => mockMlAuthzFactory.create()); -describe('create_rules_bulk', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('create_rules_bulk - %s', (_, isRuleRegistryEnabled) => { let server: ReturnType; let { clients, context } = requestContextMock.createTools(); let ml: ReturnType; @@ -35,12 +38,14 @@ describe('create_rules_bulk', () => { ml = mlServicesMock.createSetupContract(); clients.rulesClient.find.mockResolvedValue(getEmptyFindResult()); // no existing rules - clients.rulesClient.create.mockResolvedValue(getAlertMock(getQueryRuleParams())); // successful creation + clients.rulesClient.create.mockResolvedValue( + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) + ); // successful creation context.core.elasticsearch.client.asCurrentUser.search.mockResolvedValue( elasticsearchClientMock.createSuccessTransportRequestPromise({ _shards: { total: 1 } }) ); - createRulesBulkRoute(server.router, ml); + createRulesBulkRoute(server.router, ml, isRuleRegistryEnabled); }); describe('status codes', () => { @@ -56,7 +61,7 @@ describe('create_rules_bulk', () => { expect(response.body).toEqual({ message: 'Not Found', status_code: 404 }); }); - it('returns 404 if siem client is unavailable', async () => { + test('returns 404 if siem client is unavailable', async () => { const { securitySolution, ...contextWithoutSecuritySolution } = context; // @ts-expect-error const response = await server.inject(getReadBulkRequest(), contextWithoutSecuritySolution); @@ -66,7 +71,7 @@ describe('create_rules_bulk', () => { }); describe('unhappy paths', () => { - it('returns a 403 error object if ML Authz fails', async () => { + test('returns a 403 error object if ML Authz fails', async () => { (buildMlAuthz as jest.Mock).mockReturnValueOnce({ validateRuleType: jest .fn() @@ -86,26 +91,30 @@ describe('create_rules_bulk', () => { ]); }); - it('returns an error object if the index does not exist', async () => { + test('returns an error object if the index does not exist when rule registry not enabled', async () => { context.core.elasticsearch.client.asCurrentUser.search.mockResolvedValueOnce( elasticsearchClientMock.createSuccessTransportRequestPromise({ _shards: { total: 0 } }) ); const response = await server.inject(getReadBulkRequest(), context); expect(response.status).toEqual(200); - expect(response.body).toEqual([ - { - error: { - message: 'To create a rule, the index must exist first. Index undefined does not exist', - status_code: 400, + + if (!isRuleRegistryEnabled) { + expect(response.body).toEqual([ + { + error: { + message: + 'To create a rule, the index must exist first. Index undefined does not exist', + status_code: 400, + }, + rule_id: 'rule-1', }, - rule_id: 'rule-1', - }, - ]); + ]); + } }); test('returns a duplicate error if rule_id already exists', async () => { - clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); + clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); const response = await server.inject(getReadBulkRequest(), context); expect(response.status).toEqual(200); @@ -136,7 +145,7 @@ describe('create_rules_bulk', () => { ]); }); - it('returns an error object if duplicate rule_ids found in request payload', async () => { + test('returns an error object if duplicate rule_ids found in request payload', async () => { const request = requestMock.create({ method: 'post', path: `${DETECTION_ENGINE_RULES_URL}/_bulk_create`, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_bulk_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_bulk_route.ts index 5f44ab0ada92d..31683c289d4b4 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_bulk_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_bulk_route.ts @@ -28,7 +28,8 @@ import { convertCreateAPIToInternalSchema } from '../../schemas/rule_converters' export const createRulesBulkRoute = ( router: SecuritySolutionPluginRouter, - ml: SetupPlugins['ml'] + ml: SetupPlugins['ml'], + isRuleRegistryEnabled: boolean ) => { router.post( { @@ -67,9 +68,10 @@ export const createRulesBulkRoute = ( .map(async (payloadRule) => { if (payloadRule.rule_id != null) { const rule = await readRules({ + id: undefined, + isRuleRegistryEnabled, rulesClient, ruleId: payloadRule.rule_id, - id: undefined, }); if (rule != null) { return createBulkErrorObject({ @@ -79,7 +81,11 @@ export const createRulesBulkRoute = ( }); } } - const internalRule = convertCreateAPIToInternalSchema(payloadRule, siemClient); + const internalRule = convertCreateAPIToInternalSchema( + payloadRule, + siemClient, + isRuleRegistryEnabled + ); try { const validationErrors = createRuleValidateTypeDependents(payloadRule); if (validationErrors.length) { @@ -93,7 +99,7 @@ export const createRulesBulkRoute = ( throwHttpError(await mlAuthz.validateRuleType(internalRule.params.type)); const finalIndex = internalRule.params.outputIndex; const indexExists = await getIndexExists(esClient.asCurrentUser, finalIndex); - if (!indexExists) { + if (!isRuleRegistryEnabled && !indexExists) { return createBulkErrorObject({ ruleId: internalRule.params.ruleId, statusCode: 400, @@ -112,7 +118,10 @@ export const createRulesBulkRoute = ( return transformValidateBulkError(internalRule.params.ruleId, createdRule, undefined); } catch (err) { - return transformBulkError(internalRule.params.ruleId, err); + return transformBulkError( + internalRule.params.ruleId, + err as Error & { statusCode?: number | undefined } + ); } }) ); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_route.test.ts index fc48e34a7ca74..d1be96a44930a 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_route.test.ts @@ -24,7 +24,10 @@ import { elasticsearchClientMock } from 'src/core/server/elasticsearch/client/mo import { getQueryRuleParams } from '../../schemas/rule_schemas.mock'; jest.mock('../../../machine_learning/authz', () => mockMlAuthzFactory.create()); -describe('create_rules', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('create_rules - %s', (_, isRuleRegistryEnabled) => { let server: ReturnType; let { clients, context } = requestContextMock.createTools(); let ml: ReturnType; @@ -35,13 +38,15 @@ describe('create_rules', () => { ml = mlServicesMock.createSetupContract(); clients.rulesClient.find.mockResolvedValue(getEmptyFindResult()); // no current rules - clients.rulesClient.create.mockResolvedValue(getAlertMock(getQueryRuleParams())); // creation succeeds + clients.rulesClient.create.mockResolvedValue( + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) + ); // creation succeeds clients.ruleExecutionLogClient.find.mockResolvedValue(getRuleExecutionStatuses()); // needed to transform: ; context.core.elasticsearch.client.asCurrentUser.search.mockResolvedValue( elasticsearchClientMock.createSuccessTransportRequestPromise({ _shards: { total: 1 } }) ); - createRulesRoute(server.router, ml); + createRulesRoute(server.router, ml, isRuleRegistryEnabled); }); describe('status codes with actionClient and alertClient', () => { @@ -57,7 +62,7 @@ describe('create_rules', () => { expect(response.body).toEqual({ message: 'Not Found', status_code: 404 }); }); - it('returns 404 if siem client is unavailable', async () => { + test('returns 404 if siem client is unavailable', async () => { const { securitySolution, ...contextWithoutSecuritySolution } = context; // @ts-expect-error const response = await server.inject(getCreateRequest(), contextWithoutSecuritySolution); @@ -65,7 +70,7 @@ describe('create_rules', () => { expect(response.body).toEqual({ message: 'Not Found', status_code: 404 }); }); - it('returns 200 if license is not platinum', async () => { + test('returns 200 if license is not platinum', async () => { (context.licensing.license.hasAtLeast as jest.Mock).mockReturnValue(false); const response = await server.inject(getCreateRequest(), context); @@ -74,12 +79,12 @@ describe('create_rules', () => { }); describe('creating an ML Rule', () => { - it('is successful', async () => { + test('is successful', async () => { const response = await server.inject(createMlRuleRequest(), context); expect(response.status).toEqual(200); }); - it('returns a 403 if ML Authz fails', async () => { + test('returns a 403 if ML Authz fails', async () => { (buildMlAuthz as jest.Mock).mockReturnValueOnce({ validateRuleType: jest .fn() @@ -96,21 +101,24 @@ describe('create_rules', () => { }); describe('unhappy paths', () => { - test('it returns a 400 if the index does not exist', async () => { + test('it returns a 400 if the index does not exist when rule registry not enabled', async () => { context.core.elasticsearch.client.asCurrentUser.search.mockResolvedValueOnce( elasticsearchClientMock.createSuccessTransportRequestPromise({ _shards: { total: 0 } }) ); const response = await server.inject(getCreateRequest(), context); - expect(response.status).toEqual(400); - expect(response.body).toEqual({ - message: 'To create a rule, the index must exist first. Index undefined does not exist', - status_code: 400, - }); + expect(response.status).toEqual(isRuleRegistryEnabled ? 200 : 400); + + if (!isRuleRegistryEnabled) { + expect(response.body).toEqual({ + message: 'To create a rule, the index must exist first. Index undefined does not exist', + status_code: 400, + }); + } }); test('returns a duplicate error if rule_id already exists', async () => { - clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); + clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); const response = await server.inject(getCreateRequest(), context); expect(response.status).toEqual(409); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_route.ts index 333fa9c17a75b..9e03e5f8f2143 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_route.ts @@ -6,7 +6,6 @@ */ import { transformError, getIndexExists } from '@kbn/securitysolution-es-utils'; -import { IRuleDataClient } from '../../../../../../rule_registry/server'; import { buildRouteValidation } from '../../../../utils/build_validation/route_validation'; import { DETECTION_ENGINE_RULES_URL, @@ -27,7 +26,7 @@ import { convertCreateAPIToInternalSchema } from '../../schemas/rule_converters' export const createRulesRoute = ( router: SecuritySolutionPluginRouter, ml: SetupPlugins['ml'], - ruleDataClient?: IRuleDataClient | null // TODO: Use this for RAC (otherwise delete it) + isRuleRegistryEnabled: boolean ): void => { router.post( { @@ -57,6 +56,7 @@ export const createRulesRoute = ( if (request.body.rule_id != null) { const rule = await readRules({ + isRuleRegistryEnabled, rulesClient, ruleId: request.body.rule_id, id: undefined, @@ -69,7 +69,11 @@ export const createRulesRoute = ( } } - const internalRule = convertCreateAPIToInternalSchema(request.body, siemClient); + const internalRule = convertCreateAPIToInternalSchema( + request.body, + siemClient, + isRuleRegistryEnabled + ); const mlAuthz = buildMlAuthz({ license: context.licensing.license, @@ -83,7 +87,7 @@ export const createRulesRoute = ( esClient.asCurrentUser, internalRule.params.outputIndex ); - if (!indexExists) { + if (!isRuleRegistryEnabled && !indexExists) { return siemResponse.error({ statusCode: 400, body: `To create a rule, the index must exist first. Index ${internalRule.params.outputIndex} does not exist`, @@ -107,14 +111,18 @@ export const createRulesRoute = ( ruleId: createdRule.id, spaceId: context.securitySolution.getSpaceId(), }); - const [validated, errors] = newTransformValidate(createdRule, ruleStatuses[0]); + const [validated, errors] = newTransformValidate( + createdRule, + ruleStatuses[0], + isRuleRegistryEnabled + ); if (errors != null) { return siemResponse.error({ statusCode: 500, body: errors }); } else { return response.ok({ body: validated ?? {} }); } } catch (err) { - const error = transformError(err); + const error = transformError(err as Error); return siemResponse.error({ body: error.message, statusCode: error.statusCode, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_bulk_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_bulk_route.test.ts index 66feb3cae724f..7db5651de2c34 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_bulk_route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_bulk_route.test.ts @@ -18,7 +18,10 @@ import { import { requestContextMock, serverMock, requestMock } from '../__mocks__'; import { deleteRulesBulkRoute } from './delete_rules_bulk_route'; -describe('delete_rules', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('delete_rules - %s', (_, isRuleRegistryEnabled) => { let server: ReturnType; let { clients, context } = requestContextMock.createTools(); @@ -26,11 +29,11 @@ describe('delete_rules', () => { server = serverMock.create(); ({ clients, context } = requestContextMock.createTools()); - clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); // rule exists + clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); // rule exists clients.rulesClient.delete.mockResolvedValue({}); // successful deletion clients.savedObjectsClient.find.mockResolvedValue(getEmptySavedObjectsResponse()); // rule status request - deleteRulesBulkRoute(server.router); + deleteRulesBulkRoute(server.router, isRuleRegistryEnabled); }); describe('status codes with actionClient and alertClient', () => { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_bulk_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_bulk_route.ts index 7a5b7121eb33b..6aecfff1178bc 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_bulk_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_bulk_route.ts @@ -6,6 +6,7 @@ */ import { validate } from '@kbn/securitysolution-io-ts-utils'; + import { queryRuleValidateTypeDependents } from '../../../../../common/detection_engine/schemas/request/query_rules_type_dependents'; import { buildRouteValidation } from '../../../../utils/build_validation/route_validation'; import { @@ -34,7 +35,10 @@ type Handler = RequestHandler< 'delete' | 'post' >; -export const deleteRulesBulkRoute = (router: SecuritySolutionPluginRouter) => { +export const deleteRulesBulkRoute = ( + router: SecuritySolutionPluginRouter, + isRuleRegistryEnabled: boolean +) => { const config: Config = { validate: { body: buildRouteValidation( @@ -71,7 +75,7 @@ export const deleteRulesBulkRoute = (router: SecuritySolutionPluginRouter) => { } try { - const rule = await readRules({ rulesClient, id, ruleId }); + const rule = await readRules({ rulesClient, id, ruleId, isRuleRegistryEnabled }); if (!rule) { return getIdBulkError({ id, ruleId }); } @@ -87,7 +91,12 @@ export const deleteRulesBulkRoute = (router: SecuritySolutionPluginRouter) => { ruleStatuses, id: rule.id, }); - return transformValidateBulkError(idOrRuleIdOrUnknown, rule, ruleStatuses); + return transformValidateBulkError( + idOrRuleIdOrUnknown, + rule, + ruleStatuses, + isRuleRegistryEnabled + ); } catch (err) { return transformBulkError(idOrRuleIdOrUnknown, err); } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_route.test.ts index 5102cb32a4572..35b3ef3d9cf85 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_route.test.ts @@ -19,7 +19,10 @@ import { requestContextMock, serverMock, requestMock } from '../__mocks__'; import { deleteRulesRoute } from './delete_rules_route'; import { getQueryRuleParams } from '../../schemas/rule_schemas.mock'; -describe('delete_rules', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('delete_rules - %s', (_, isRuleRegistryEnabled) => { let server: ReturnType; let { clients, context } = requestContextMock.createTools(); @@ -27,11 +30,11 @@ describe('delete_rules', () => { server = serverMock.create(); ({ clients, context } = requestContextMock.createTools()); - clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); + clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); clients.savedObjectsClient.find.mockResolvedValue(getEmptySavedObjectsResponse()); clients.ruleExecutionLogClient.find.mockResolvedValue(getRuleExecutionStatuses()); - deleteRulesRoute(server.router); + deleteRulesRoute(server.router, isRuleRegistryEnabled); }); describe('status codes with actionClient and alertClient', () => { @@ -42,7 +45,9 @@ describe('delete_rules', () => { }); test('returns 200 when deleting a single rule with a valid actionClient and alertClient by id', async () => { - clients.rulesClient.get.mockResolvedValue(getAlertMock(getQueryRuleParams())); + clients.rulesClient.get.mockResolvedValue( + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) + ); const response = await server.inject(getDeleteRequestById(), context); expect(response.status).toEqual(200); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_route.ts index 499f5c151c66c..77b8dd6fc5b54 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_route.ts @@ -6,7 +6,6 @@ */ import { transformError } from '@kbn/securitysolution-es-utils'; -import { IRuleDataClient } from '../../../../../../rule_registry/server'; import { queryRuleValidateTypeDependents } from '../../../../../common/detection_engine/schemas/request/query_rules_type_dependents'; import { queryRulesSchema, @@ -23,7 +22,7 @@ import { readRules } from '../../rules/read_rules'; export const deleteRulesRoute = ( router: SecuritySolutionPluginRouter, - ruleDataClient?: IRuleDataClient | null + isRuleRegistryEnabled: boolean ) => { router.delete( { @@ -54,7 +53,7 @@ export const deleteRulesRoute = ( } const ruleStatusClient = context.securitySolution.getExecutionLogClient(); - const rule = await readRules({ rulesClient, id, ruleId }); + const rule = await readRules({ isRuleRegistryEnabled, rulesClient, id, ruleId }); if (!rule) { const error = getIdError({ id, ruleId }); return siemResponse.error({ @@ -74,7 +73,7 @@ export const deleteRulesRoute = ( ruleStatuses, id: rule.id, }); - const transformed = transform(rule, ruleStatuses[0]); + const transformed = transform(rule, ruleStatuses[0], isRuleRegistryEnabled); if (transformed == null) { return siemResponse.error({ statusCode: 500, body: 'failed to transform alert' }); } else { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/export_rules_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/export_rules_route.ts index 022118859aa0b..e4b99e63cb6c6 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/export_rules_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/export_rules_route.ts @@ -21,7 +21,11 @@ import { getExportByObjectIds } from '../../rules/get_export_by_object_ids'; import { getExportAll } from '../../rules/get_export_all'; import { buildSiemResponse } from '../utils'; -export const exportRulesRoute = (router: SecuritySolutionPluginRouter, config: ConfigType) => { +export const exportRulesRoute = ( + router: SecuritySolutionPluginRouter, + config: ConfigType, + isRuleRegistryEnabled: boolean +) => { router.post( { path: `${DETECTION_ENGINE_RULES_URL}/_export`, @@ -53,7 +57,10 @@ export const exportRulesRoute = (router: SecuritySolutionPluginRouter, config: C body: `Can't export more than ${exportSizeLimit} rules`, }); } else { - const nonPackagedRulesCount = await getNonPackagedRulesCount({ rulesClient }); + const nonPackagedRulesCount = await getNonPackagedRulesCount({ + isRuleRegistryEnabled, + rulesClient, + }); if (nonPackagedRulesCount > exportSizeLimit) { return siemResponse.error({ statusCode: 400, @@ -64,8 +71,8 @@ export const exportRulesRoute = (router: SecuritySolutionPluginRouter, config: C const exported = request.body?.objects != null - ? await getExportByObjectIds(rulesClient, request.body.objects) - : await getExportAll(rulesClient); + ? await getExportByObjectIds(rulesClient, request.body.objects, isRuleRegistryEnabled) + : await getExportAll(rulesClient, isRuleRegistryEnabled); const responseBody = request.query.exclude_export_details ? exported.rulesNdjson diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_route.test.ts index 301cf8518b838..d15d31dcd63e8 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_route.test.ts @@ -17,7 +17,10 @@ import { } from '../__mocks__/request_responses'; import { findRulesRoute } from './find_rules_route'; -describe('find_rules', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('find_rules - %s', (_, isRuleRegistryEnabled) => { let server: ReturnType; let { clients, context } = requestContextMock.createTools(); @@ -25,12 +28,14 @@ describe('find_rules', () => { server = serverMock.create(); ({ clients, context } = requestContextMock.createTools()); - clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); - clients.rulesClient.get.mockResolvedValue(getAlertMock(getQueryRuleParams())); + clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); + clients.rulesClient.get.mockResolvedValue( + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) + ); clients.savedObjectsClient.find.mockResolvedValue(getEmptySavedObjectsResponse()); clients.ruleExecutionLogClient.findBulk.mockResolvedValue(getFindBulkResultStatus()); - findRulesRoute(server.router); + findRulesRoute(server.router, isRuleRegistryEnabled); }); describe('status codes with actionClient and alertClient', () => { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_route.ts index ed39d42c38e4a..26e8d1107237b 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_route.ts @@ -6,7 +6,6 @@ */ import { transformError } from '@kbn/securitysolution-es-utils'; -import { IRuleDataClient } from '../../../../../../rule_registry/server'; import { findRuleValidateTypeDependents } from '../../../../../common/detection_engine/schemas/request/find_rules_type_dependents'; import { findRulesSchema, @@ -21,7 +20,7 @@ import { transformFindAlerts } from './utils'; export const findRulesRoute = ( router: SecuritySolutionPluginRouter, - ruleDataClient?: IRuleDataClient | null + isRuleRegistryEnabled: boolean ) => { router.get( { @@ -52,6 +51,7 @@ export const findRulesRoute = ( const execLogClient = context.securitySolution.getExecutionLogClient(); const rules = await findRules({ + isRuleRegistryEnabled, rulesClient, perPage: query.per_page, page: query.page, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_status_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_status_route.test.ts index d9b6f4dd0f10c..053e0b7178de5 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_status_route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_status_route.test.ts @@ -17,7 +17,10 @@ import { RuleStatusResponse } from '../../rules/types'; import { AlertExecutionStatusErrorReasons } from '../../../../../../alerting/common'; import { getQueryRuleParams } from '../../schemas/rule_schemas.mock'; -describe('find_statuses', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('find_statuses - %s', (_, isRuleRegistryEnabled) => { let server: ReturnType; let { clients, context } = requestContextMock.createTools(); @@ -25,7 +28,9 @@ describe('find_statuses', () => { server = serverMock.create(); ({ clients, context } = requestContextMock.createTools()); clients.ruleExecutionLogClient.findBulk.mockResolvedValue(getFindBulkResultStatus()); // successful status search - clients.rulesClient.get.mockResolvedValue(getAlertMock(getQueryRuleParams())); + clients.rulesClient.get.mockResolvedValue( + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) + ); findRulesStatusesRoute(server.router); }); @@ -57,7 +62,7 @@ describe('find_statuses', () => { test('returns success if rule status client writes an error status', async () => { // 0. task manager tried to run the rule but couldn't, so the alerting framework // wrote an error to the executionStatus. - const failingExecutionRule = getAlertMock(getQueryRuleParams()); + const failingExecutionRule = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); failingExecutionRule.executionStatus = { status: 'error', lastExecutionDate: failingExecutionRule.executionStatus.lastExecutionDate, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/get_prepackaged_rules_status_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/get_prepackaged_rules_status_route.test.ts index 61c618dc4d5e6..1b171f693d80b 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/get_prepackaged_rules_status_route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/get_prepackaged_rules_status_route.test.ts @@ -51,7 +51,10 @@ jest.mock('../../../timeline/utils/check_timelines_status', () => { }; }); -describe('get_prepackaged_rule_status_route', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('get_prepackaged_rule_status_route - %s', (_, isRuleRegistryEnabled) => { const mockGetCurrentUser = { user: { username: 'mockUser', @@ -63,6 +66,7 @@ describe('get_prepackaged_rule_status_route', () => { let securitySetup: SecurityPluginSetup; beforeEach(() => { + jest.clearAllMocks(); server = serverMock.create(); ({ clients, context } = requestContextMock.createTools()); @@ -75,7 +79,18 @@ describe('get_prepackaged_rule_status_route', () => { clients.rulesClient.find.mockResolvedValue(getEmptyFindResult()); - getPrepackagedRulesStatusRoute(server.router, createMockConfig(), securitySetup); + (checkTimelinesStatus as jest.Mock).mockResolvedValue({ + timelinesToInstall: [], + timelinesToUpdate: [], + prepackagedTimelines: [], + }); + + getPrepackagedRulesStatusRoute( + server.router, + createMockConfig(), + securitySetup, + isRuleRegistryEnabled + ); }); describe('status codes with actionClient and alertClient', () => { @@ -123,7 +138,7 @@ describe('get_prepackaged_rule_status_route', () => { }); test('1 rule installed, 1 custom rules, 0 rules not installed, and 1 rule to not updated', async () => { - clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); + clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); const request = getPrepackagedRulesStatusRequest(); const response = await server.inject(request, context); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/get_prepackaged_rules_status_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/get_prepackaged_rules_status_route.ts index 38c315462bf55..9a06928eee233 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/get_prepackaged_rules_status_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/get_prepackaged_rules_status_route.ts @@ -32,7 +32,8 @@ import { export const getPrepackagedRulesStatusRoute = ( router: SecuritySolutionPluginRouter, config: ConfigType, - security: SetupPlugins['security'] + security: SetupPlugins['security'], + isRuleRegistryEnabled: boolean ) => { router.get( { @@ -59,6 +60,7 @@ export const getPrepackagedRulesStatusRoute = ( config.prebuiltRulesFromSavedObjects ); const customRules = await findRules({ + isRuleRegistryEnabled, rulesClient, perPage: 1, page: 1, @@ -68,7 +70,10 @@ export const getPrepackagedRulesStatusRoute = ( fields: undefined, }); const frameworkRequest = await buildFrameworkRequest(context, security, request); - const prepackagedRules = await getExistingPrepackagedRules({ rulesClient }); + const prepackagedRules = await getExistingPrepackagedRules({ + rulesClient, + isRuleRegistryEnabled, + }); const rulesToInstall = getRulesToInstall(latestPrepackagedRules, prepackagedRules); const rulesToUpdate = getRulesToUpdate(latestPrepackagedRules, prepackagedRules); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/import_rules_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/import_rules_route.test.ts index cd572894f551e..bf29dbe870153 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/import_rules_route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/import_rules_route.test.ts @@ -29,7 +29,10 @@ import { getQueryRuleParams } from '../../schemas/rule_schemas.mock'; jest.mock('../../../machine_learning/authz', () => mockMlAuthzFactory.create()); -describe('import_rules_route', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('import_rules_route - %s', (_, isRuleRegistryEnabled) => { let config: ReturnType; let server: ReturnType; let request: ReturnType; @@ -45,11 +48,13 @@ describe('import_rules_route', () => { ml = mlServicesMock.createSetupContract(); clients.rulesClient.find.mockResolvedValue(getEmptyFindResult()); // no extant rules - clients.rulesClient.update.mockResolvedValue(getAlertMock(getQueryRuleParams())); + clients.rulesClient.update.mockResolvedValue( + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) + ); context.core.elasticsearch.client.asCurrentUser.search.mockResolvedValue( elasticsearchClientMock.createSuccessTransportRequestPromise({ _shards: { total: 1 } }) ); - importRulesRoute(server.router, config, ml); + importRulesRoute(server.router, config, ml, isRuleRegistryEnabled); }); describe('status codes', () => { @@ -60,7 +65,7 @@ describe('import_rules_route', () => { }); test('returns 500 if more than 10,000 rules are imported', async () => { - const ruleIds = new Array(10001).fill(undefined).map((_, index) => `rule-${index}`); + const ruleIds = new Array(10001).fill(undefined).map((__, index) => `rule-${index}`); const multiRequest = getImportRulesRequest(buildHapiStream(ruleIdsToNdJsonString(ruleIds))); const response = await server.inject(multiRequest, context); @@ -125,18 +130,20 @@ describe('import_rules_route', () => { transformMock.mockRestore(); }); - test('returns an error if the index does not exist', async () => { + test('returns an error if the index does not exist when rule registry not enabled', async () => { clients.appClient.getSignalsIndex.mockReturnValue('mockSignalsIndex'); context.core.elasticsearch.client.asCurrentUser.search.mockResolvedValueOnce( elasticsearchClientMock.createSuccessTransportRequestPromise({ _shards: { total: 0 } }) ); const response = await server.inject(request, context); - expect(response.status).toEqual(400); - expect(response.body).toEqual({ - message: - 'To create a rule, the index must exist first. Index mockSignalsIndex does not exist', - status_code: 400, - }); + expect(response.status).toEqual(isRuleRegistryEnabled ? 200 : 400); + if (!isRuleRegistryEnabled) { + expect(response.body).toEqual({ + message: + 'To create a rule, the index must exist first. Index mockSignalsIndex does not exist', + status_code: 400, + }); + } }); test('returns an error when cluster throws error', async () => { @@ -166,7 +173,9 @@ describe('import_rules_route', () => { describe('single rule import', () => { test('returns 200 if rule imported successfully', async () => { - clients.rulesClient.create.mockResolvedValue(getAlertMock(getQueryRuleParams())); + clients.rulesClient.create.mockResolvedValue( + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) + ); const response = await server.inject(request, context); expect(response.status).toEqual(200); expect(response.body).toEqual({ @@ -199,7 +208,9 @@ describe('import_rules_route', () => { describe('rule with existing rule_id', () => { test('returns with reported conflict if `overwrite` is set to `false`', async () => { - clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); // extant rule + clients.rulesClient.find.mockResolvedValue( + getFindResultWithSingleHit(isRuleRegistryEnabled) + ); // extant rule const response = await server.inject(request, context); expect(response.status).toEqual(200); @@ -219,7 +230,9 @@ describe('import_rules_route', () => { }); test('returns with NO reported conflict if `overwrite` is set to `true`', async () => { - clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); // extant rule + clients.rulesClient.find.mockResolvedValue( + getFindResultWithSingleHit(isRuleRegistryEnabled) + ); // extant rule const overwriteRequest = getImportRulesRequestOverwriteTrue( buildHapiStream(ruleIdsToNdJsonString(['rule-1'])) ); @@ -251,7 +264,7 @@ describe('import_rules_route', () => { }); test('returns 200 if many rules are imported successfully', async () => { - const ruleIds = new Array(9999).fill(undefined).map((_, index) => `rule-${index}`); + const ruleIds = new Array(9999).fill(undefined).map((__, index) => `rule-${index}`); const multiRequest = getImportRulesRequest(buildHapiStream(ruleIdsToNdJsonString(ruleIds))); const response = await server.inject(multiRequest, context); @@ -339,7 +352,9 @@ describe('import_rules_route', () => { describe('rules with existing rule_id', () => { beforeEach(() => { - clients.rulesClient.find.mockResolvedValueOnce(getFindResultWithSingleHit()); // extant rule + clients.rulesClient.find.mockResolvedValueOnce( + getFindResultWithSingleHit(isRuleRegistryEnabled) + ); // extant rule }); test('returns with reported conflict if `overwrite` is set to `false`', async () => { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/import_rules_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/import_rules_route.ts index d3193900859fa..8269fe8b36132 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/import_rules_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/import_rules_route.ts @@ -53,7 +53,8 @@ const CHUNK_PARSED_OBJECT_SIZE = 50; export const importRulesRoute = ( router: SecuritySolutionPluginRouter, config: ConfigType, - ml: SetupPlugins['ml'] + ml: SetupPlugins['ml'], + isRuleRegistryEnabled: boolean ) => { router.post( { @@ -103,7 +104,7 @@ export const importRulesRoute = ( } const signalsIndex = siemClient.getSignalsIndex(); const indexExists = await getIndexExists(esClient.asCurrentUser, signalsIndex); - if (!indexExists) { + if (!isRuleRegistryEnabled && !indexExists) { return siemResponse.error({ statusCode: 400, body: `To create a rule, the index must exist first. Index ${signalsIndex} does not exist`, @@ -205,6 +206,7 @@ export const importRulesRoute = ( const filters: PartialFilter[] | undefined = filtersRest as PartialFilter[]; throwHttpError(await mlAuthz.validateRuleType(type)); const rule = await readRules({ + isRuleRegistryEnabled, rulesClient, ruleId, id: undefined, @@ -212,6 +214,7 @@ export const importRulesRoute = ( if (rule == null) { await createRules({ + isRuleRegistryEnabled, rulesClient, anomalyThreshold, author, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_bulk_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_bulk_route.test.ts index 31f805c563f76..2c3db023dccc4 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_bulk_route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_bulk_route.test.ts @@ -22,7 +22,10 @@ import { getQueryRuleParams } from '../../schemas/rule_schemas.mock'; jest.mock('../../../machine_learning/authz', () => mockMlAuthzFactory.create()); -describe('patch_rules_bulk', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('patch_rules_bulk - %s', (_, isRuleRegistryEnabled) => { let server: ReturnType; let { clients, context } = requestContextMock.createTools(); let ml: ReturnType; @@ -32,10 +35,12 @@ describe('patch_rules_bulk', () => { ({ clients, context } = requestContextMock.createTools()); ml = mlServicesMock.createSetupContract(); - clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); // rule exists - clients.rulesClient.update.mockResolvedValue(getAlertMock(getQueryRuleParams())); // update succeeds + clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); // rule exists + clients.rulesClient.update.mockResolvedValue( + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) + ); // update succeeds - patchRulesBulkRoute(server.router, ml); + patchRulesBulkRoute(server.router, ml, isRuleRegistryEnabled); }); describe('status codes with actionClient and alertClient', () => { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_bulk_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_bulk_route.ts index 3aaa82ea56f3f..67d68221d846f 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_bulk_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_bulk_route.ts @@ -27,7 +27,8 @@ import { PartialFilter } from '../../types'; export const patchRulesBulkRoute = ( router: SecuritySolutionPluginRouter, - ml: SetupPlugins['ml'] + ml: SetupPlugins['ml'], + isRuleRegistryEnabled: boolean ) => { router.patch( { @@ -121,7 +122,12 @@ export const patchRulesBulkRoute = ( throwHttpError(await mlAuthz.validateRuleType(type)); } - const existingRule = await readRules({ rulesClient, ruleId, id }); + const existingRule = await readRules({ + isRuleRegistryEnabled, + rulesClient, + ruleId, + id, + }); if (existingRule?.params.type) { // reject an unauthorized modification of an ML rule throwHttpError(await mlAuthz.validateRuleType(existingRule?.params.type)); @@ -185,7 +191,7 @@ export const patchRulesBulkRoute = ( ruleId: rule.id, spaceId: context.securitySolution.getSpaceId(), }); - return transformValidateBulkError(rule.id, rule, ruleStatuses); + return transformValidateBulkError(rule.id, rule, ruleStatuses, isRuleRegistryEnabled); } else { return getIdBulkError({ id, ruleId }); } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_route.test.ts index 16d65d6482d21..97773c45ce0d9 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_route.test.ts @@ -25,7 +25,10 @@ import { getQueryRuleParams } from '../../schemas/rule_schemas.mock'; jest.mock('../../../machine_learning/authz', () => mockMlAuthzFactory.create()); -describe('patch_rules', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('patch_rules - %s', (_, isRuleRegistryEnabled) => { let server: ReturnType; let { clients, context } = requestContextMock.createTools(); let ml: ReturnType; @@ -35,14 +38,18 @@ describe('patch_rules', () => { ({ clients, context } = requestContextMock.createTools()); ml = mlServicesMock.createSetupContract(); - clients.rulesClient.get.mockResolvedValue(getAlertMock(getQueryRuleParams())); // existing rule - clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); // existing rule - clients.rulesClient.update.mockResolvedValue(getAlertMock(getQueryRuleParams())); // successful update + clients.rulesClient.get.mockResolvedValue( + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) + ); // existing rule + clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); // existing rule + clients.rulesClient.update.mockResolvedValue( + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) + ); // successful update clients.savedObjectsClient.find.mockResolvedValue(getEmptySavedObjectsResponse()); // successful transform clients.savedObjectsClient.create.mockResolvedValue(getRuleExecutionStatuses()[0]); // successful transform clients.ruleExecutionLogClient.find.mockResolvedValue(getRuleExecutionStatuses()); - patchRulesRoute(server.router, ml); + patchRulesRoute(server.router, ml, isRuleRegistryEnabled); }); describe('status codes with actionClient and alertClient', () => { @@ -69,7 +76,7 @@ describe('patch_rules', () => { }); test('returns error if requesting a non-rule', async () => { - clients.rulesClient.find.mockResolvedValue(nonRuleFindResult()); + clients.rulesClient.find.mockResolvedValue(nonRuleFindResult(isRuleRegistryEnabled)); const response = await server.inject(getPatchRequest(), context); expect(response.status).toEqual(404); expect(response.body).toEqual({ diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_route.ts index b564262b4a5c7..cf140f22289de 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_route.ts @@ -6,7 +6,6 @@ */ import { transformError } from '@kbn/securitysolution-es-utils'; -import { IRuleDataClient } from '../../../../../../rule_registry/server'; import { RuleAlertAction } from '../../../../../common/detection_engine/types'; import { patchRuleValidateTypeDependents } from '../../../../../common/detection_engine/schemas/request/patch_rules_type_dependents'; import { buildRouteValidation } from '../../../../utils/build_validation/route_validation'; @@ -30,7 +29,7 @@ import { PartialFilter } from '../../types'; export const patchRulesRoute = ( router: SecuritySolutionPluginRouter, ml: SetupPlugins['ml'], - ruleDataClient?: IRuleDataClient | null + isRuleRegistryEnabled: boolean ) => { router.patch( { @@ -124,7 +123,12 @@ export const patchRulesRoute = ( throwHttpError(await mlAuthz.validateRuleType(type)); } - const existingRule = await readRules({ rulesClient, ruleId, id }); + const existingRule = await readRules({ + isRuleRegistryEnabled, + rulesClient, + ruleId, + id, + }); if (existingRule?.params.type) { // reject an unauthorized modification of an ML rule throwHttpError(await mlAuthz.validateRuleType(existingRule?.params.type)); @@ -189,7 +193,11 @@ export const patchRulesRoute = ( spaceId: context.securitySolution.getSpaceId(), }); - const [validated, errors] = transformValidate(rule, ruleStatuses[0]); + const [validated, errors] = transformValidate( + rule, + ruleStatuses[0], + isRuleRegistryEnabled + ); if (errors != null) { return siemResponse.error({ statusCode: 500, body: errors }); } else { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/perform_bulk_action_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/perform_bulk_action_route.test.ts index f8b3b834af857..ebc86acc964e6 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/perform_bulk_action_route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/perform_bulk_action_route.test.ts @@ -20,7 +20,10 @@ import { getPerformBulkActionSchemaMock } from '../../../../../common/detection_ jest.mock('../../../machine_learning/authz', () => mockMlAuthzFactory.create()); -describe('perform_bulk_action', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('perform_bulk_action - %s', (_, isRuleRegistryEnabled) => { let server: ReturnType; let { clients, context } = requestContextMock.createTools(); let ml: ReturnType; @@ -30,9 +33,9 @@ describe('perform_bulk_action', () => { ({ clients, context } = requestContextMock.createTools()); ml = mlServicesMock.createSetupContract(); - clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); + clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); - performBulkActionRoute(server.router, ml); + performBulkActionRoute(server.router, ml, isRuleRegistryEnabled); }); describe('status codes', () => { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/perform_bulk_action_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/perform_bulk_action_route.ts index 70198d081ebfa..0eba5af4e063a 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/perform_bulk_action_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/perform_bulk_action_route.ts @@ -25,7 +25,8 @@ const BULK_ACTION_RULES_LIMIT = 10000; export const performBulkActionRoute = ( router: SecuritySolutionPluginRouter, - ml: SetupPlugins['ml'] + ml: SetupPlugins['ml'], + isRuleRegistryEnabled: boolean ) => { router.post( { @@ -58,6 +59,7 @@ export const performBulkActionRoute = ( } const rules = await findRules({ + isRuleRegistryEnabled, rulesClient, perPage: BULK_ACTION_RULES_LIMIT, filter: body.query !== '' ? body.query : undefined, @@ -131,7 +133,8 @@ export const performBulkActionRoute = ( case BulkAction.export: const exported = await getExportByObjectIds( rulesClient, - rules.data.map(({ params }) => ({ rule_id: params.ruleId })) + rules.data.map(({ params }) => ({ rule_id: params.ruleId })), + isRuleRegistryEnabled ); const responseBody = `${exported.rulesNdjson}${exported.exportDetails}`; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/read_rules_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/read_rules_route.test.ts index 586ff027425f8..057cbf4c12966 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/read_rules_route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/read_rules_route.test.ts @@ -16,7 +16,10 @@ import { } from '../__mocks__/request_responses'; import { requestMock, requestContextMock, serverMock } from '../__mocks__'; -describe('read_signals', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('read_rules - %s', (_, isRuleRegistryEnabled) => { let server: ReturnType; let { clients, context } = requestContextMock.createTools(); @@ -24,11 +27,11 @@ describe('read_signals', () => { server = serverMock.create(); ({ clients, context } = requestContextMock.createTools()); - clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); // rule exists + clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); // rule exists clients.savedObjectsClient.find.mockResolvedValue(getEmptySavedObjectsResponse()); // successful transform clients.ruleExecutionLogClient.find.mockResolvedValue([]); - readRulesRoute(server.router); + readRulesRoute(server.router, isRuleRegistryEnabled); }); describe('status codes with actionClient and alertClient', () => { @@ -45,7 +48,7 @@ describe('read_signals', () => { }); test('returns error if requesting a non-rule', async () => { - clients.rulesClient.find.mockResolvedValue(nonRuleFindResult()); + clients.rulesClient.find.mockResolvedValue(nonRuleFindResult(isRuleRegistryEnabled)); const response = await server.inject(getReadRequest(), context); expect(response.status).toEqual(404); expect(response.body).toEqual({ diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/read_rules_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/read_rules_route.ts index 7aef65e7918b2..5672648190653 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/read_rules_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/read_rules_route.ts @@ -6,7 +6,6 @@ */ import { transformError } from '@kbn/securitysolution-es-utils'; -import { IRuleDataClient } from '../../../../../../rule_registry/server'; import { queryRuleValidateTypeDependents } from '../../../../../common/detection_engine/schemas/request/query_rules_type_dependents'; import { queryRulesSchema, @@ -23,7 +22,7 @@ import { RuleExecutionStatus } from '../../../../../common/detection_engine/sche export const readRulesRoute = ( router: SecuritySolutionPluginRouter, - ruleDataClient?: IRuleDataClient | null + isRuleRegistryEnabled: boolean ) => { router.get( { @@ -55,8 +54,9 @@ export const readRulesRoute = ( const ruleStatusClient = context.securitySolution.getExecutionLogClient(); const rule = await readRules({ - rulesClient, id, + isRuleRegistryEnabled, + rulesClient, ruleId, }); if (rule != null) { @@ -72,7 +72,7 @@ export const readRulesRoute = ( currentStatus.attributes.statusDate = rule.executionStatus.lastExecutionDate.toISOString(); currentStatus.attributes.status = RuleExecutionStatus.failed; } - const transformed = transform(rule, currentStatus); + const transformed = transform(rule, currentStatus, isRuleRegistryEnabled); if (transformed == null) { return siemResponse.error({ statusCode: 500, body: 'Internal error transforming' }); } else { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_bulk_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_bulk_route.test.ts index eeb8b3caf6df5..746a40dfa8dc2 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_bulk_route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_bulk_route.test.ts @@ -23,7 +23,10 @@ import { getQueryRuleParams } from '../../schemas/rule_schemas.mock'; jest.mock('../../../machine_learning/authz', () => mockMlAuthzFactory.create()); -describe('update_rules_bulk', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('update_rules_bulk - %s', (_, isRuleRegistryEnabled) => { let server: ReturnType; let { clients, context } = requestContextMock.createTools(); let ml: ReturnType; @@ -33,10 +36,12 @@ describe('update_rules_bulk', () => { ({ clients, context } = requestContextMock.createTools()); ml = mlServicesMock.createSetupContract(); - clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); - clients.rulesClient.update.mockResolvedValue(getAlertMock(getQueryRuleParams())); + clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); + clients.rulesClient.update.mockResolvedValue( + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) + ); - updateRulesBulkRoute(server.router, ml); + updateRulesBulkRoute(server.router, ml, isRuleRegistryEnabled); }); describe('status codes with actionClient and alertClient', () => { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_bulk_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_bulk_route.ts index 389c49d3cff4e..6138690070b62 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_bulk_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_bulk_route.ts @@ -22,7 +22,8 @@ import { updateRules } from '../../rules/update_rules'; export const updateRulesBulkRoute = ( router: SecuritySolutionPluginRouter, - ml: SetupPlugins['ml'] + ml: SetupPlugins['ml'], + isRuleRegistryEnabled: boolean ) => { router.put( { @@ -74,6 +75,7 @@ export const updateRulesBulkRoute = ( ruleStatusClient, defaultOutputIndex: siemClient.getSignalsIndex(), ruleUpdate: payloadRule, + isRuleRegistryEnabled, }); if (rule != null) { const ruleStatuses = await ruleStatusClient.find({ @@ -81,7 +83,7 @@ export const updateRulesBulkRoute = ( ruleId: rule.id, spaceId: context.securitySolution.getSpaceId(), }); - return transformValidateBulkError(rule.id, rule, ruleStatuses); + return transformValidateBulkError(rule.id, rule, ruleStatuses, isRuleRegistryEnabled); } else { return getIdBulkError({ id: payloadRule.id, ruleId: payloadRule.rule_id }); } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_route.test.ts index db0054088137c..5b3e2737418c2 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_route.test.ts @@ -23,7 +23,10 @@ import { getQueryRuleParams } from '../../schemas/rule_schemas.mock'; jest.mock('../../../machine_learning/authz', () => mockMlAuthzFactory.create()); -describe('update_rules', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('update_rules - %s', (_, isRuleRegistryEnabled) => { let server: ReturnType; let { clients, context } = requestContextMock.createTools(); let ml: ReturnType; @@ -33,12 +36,16 @@ describe('update_rules', () => { ({ clients, context } = requestContextMock.createTools()); ml = mlServicesMock.createSetupContract(); - clients.rulesClient.get.mockResolvedValue(getAlertMock(getQueryRuleParams())); // existing rule - clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); // rule exists - clients.rulesClient.update.mockResolvedValue(getAlertMock(getQueryRuleParams())); // successful update + clients.rulesClient.get.mockResolvedValue( + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) + ); // existing rule + clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); // rule exists + clients.rulesClient.update.mockResolvedValue( + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) + ); // successful update clients.ruleExecutionLogClient.find.mockResolvedValue([]); // successful transform: ; - updateRulesRoute(server.router, ml); + updateRulesRoute(server.router, ml, isRuleRegistryEnabled); }); describe('status codes with actionClient and alertClient', () => { @@ -75,7 +82,7 @@ describe('update_rules', () => { }); test('returns error when updating non-rule', async () => { - clients.rulesClient.find.mockResolvedValue(nonRuleFindResult()); + clients.rulesClient.find.mockResolvedValue(nonRuleFindResult(isRuleRegistryEnabled)); const response = await server.inject(getUpdateRequest(), context); expect(response.status).toEqual(404); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_route.ts index ecf61bec2b20a..7cfe83093a549 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_route.ts @@ -6,7 +6,6 @@ */ import { transformError } from '@kbn/securitysolution-es-utils'; -import { IRuleDataClient } from '../../../../../../rule_registry/server'; import { updateRulesSchema } from '../../../../../common/detection_engine/schemas/request'; import { updateRuleValidateTypeDependents } from '../../../../../common/detection_engine/schemas/request/update_rules_type_dependents'; import type { SecuritySolutionPluginRouter } from '../../../../types'; @@ -24,7 +23,7 @@ import { buildRouteValidation } from '../../../../utils/build_validation/route_v export const updateRulesRoute = ( router: SecuritySolutionPluginRouter, ml: SetupPlugins['ml'], - ruleDataClient?: IRuleDataClient | null + isRuleRegistryEnabled: boolean ) => { router.put( { @@ -61,11 +60,12 @@ export const updateRulesRoute = ( const ruleStatusClient = context.securitySolution.getExecutionLogClient(); const rule = await updateRules({ - spaceId: context.securitySolution.getSpaceId(), + defaultOutputIndex: siemClient.getSignalsIndex(), + isRuleRegistryEnabled, rulesClient, ruleStatusClient, - defaultOutputIndex: siemClient.getSignalsIndex(), ruleUpdate: request.body, + spaceId: context.securitySolution.getSpaceId(), }); if (rule != null) { @@ -74,7 +74,11 @@ export const updateRulesRoute = ( ruleId: rule.id, spaceId: context.securitySolution.getSpaceId(), }); - const [validated, errors] = transformValidate(rule, ruleStatuses[0]); + const [validated, errors] = transformValidate( + rule, + ruleStatuses[0], + isRuleRegistryEnabled + ); if (errors != null) { return siemResponse.error({ statusCode: 500, body: errors }); } else { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/utils.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/utils.test.ts index 0018a37016980..f07a63b690a2d 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/utils.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/utils.test.ts @@ -41,16 +41,19 @@ import { type PromiseFromStreams = ImportRulesSchemaDecoded | Error; -describe('utils', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('utils - %s', (_, isRuleRegistryEnabled) => { describe('transformAlertToRule', () => { test('should work with a full data set', () => { - const fullRule = getAlertMock(getQueryRuleParams()); + const fullRule = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); const rule = transformAlertToRule(fullRule); expect(rule).toEqual(getOutputRuleAlertForRest()); }); test('should omit note if note is undefined', () => { - const fullRule = getAlertMock(getQueryRuleParams()); + const fullRule = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); fullRule.params.note = undefined; const rule = transformAlertToRule(fullRule); const { note, ...expectedWithoutNote } = getOutputRuleAlertForRest(); @@ -58,7 +61,7 @@ describe('utils', () => { }); test('should return enabled is equal to false', () => { - const fullRule = getAlertMock(getQueryRuleParams()); + const fullRule = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); fullRule.enabled = false; const ruleWithEnabledFalse = transformAlertToRule(fullRule); const expected = getOutputRuleAlertForRest(); @@ -67,7 +70,7 @@ describe('utils', () => { }); test('should return immutable is equal to false', () => { - const fullRule = getAlertMock(getQueryRuleParams()); + const fullRule = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); fullRule.params.immutable = false; const ruleWithEnabledFalse = transformAlertToRule(fullRule); const expected = getOutputRuleAlertForRest(); @@ -75,7 +78,7 @@ describe('utils', () => { }); test('should work with tags but filter out any internal tags', () => { - const fullRule = getAlertMock(getQueryRuleParams()); + const fullRule = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); fullRule.tags = ['tag 1', 'tag 2', `${INTERNAL_IDENTIFIER}_some_other_value`]; const rule = transformAlertToRule(fullRule); const expected = getOutputRuleAlertForRest(); @@ -84,7 +87,7 @@ describe('utils', () => { }); test('transforms ML Rule fields', () => { - const mlRule = getAlertMock(getMlRuleParams()); + const mlRule = getAlertMock(isRuleRegistryEnabled, getMlRuleParams()); mlRule.params.anomalyThreshold = 55; mlRule.params.machineLearningJobId = ['some_job_id']; mlRule.params.type = 'machine_learning'; @@ -100,7 +103,7 @@ describe('utils', () => { }); test('transforms threat_matching fields', () => { - const threatRule = getAlertMock(getThreatRuleParams()); + const threatRule = getAlertMock(isRuleRegistryEnabled, getThreatRuleParams()); const threatFilters: PartialFilter[] = [ { query: { @@ -153,7 +156,7 @@ describe('utils', () => { test('does not leak a lists structure in the transform which would cause validation issues', () => { const result: RuleAlertType & { lists: [] } = { lists: [], - ...getAlertMock(getQueryRuleParams()), + ...getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()), }; const rule = transformAlertToRule(result); expect(rule).toEqual( @@ -168,7 +171,7 @@ describe('utils', () => { test('does not leak an exceptions_list structure in the transform which would cause validation issues', () => { const result: RuleAlertType & { exceptions_list: [] } = { exceptions_list: [], - ...getAlertMock(getQueryRuleParams()), + ...getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()), }; const rule = transformAlertToRule(result); expect(rule).toEqual( @@ -265,7 +268,7 @@ describe('utils', () => { page: 1, perPage: 0, total: 0, - data: [getAlertMock(getQueryRuleParams())], + data: [getAlertMock(isRuleRegistryEnabled, getQueryRuleParams())], }, {} ); @@ -281,14 +284,18 @@ describe('utils', () => { describe('transform', () => { test('outputs 200 if the data is of type siem alert', () => { - const output = transform(getAlertMock(getQueryRuleParams())); + const output = transform( + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()), + undefined, + isRuleRegistryEnabled + ); const expected = getOutputRuleAlertForRest(); expect(output).toEqual(expected); }); test('returns 500 if the data is not of type siem alert', () => { const unsafeCast = ({ data: [{ random: 1 }] } as unknown) as PartialAlert; - const output = transform(unsafeCast); + const output = transform(unsafeCast, undefined, isRuleRegistryEnabled); expect(output).toBeNull(); }); }); @@ -396,24 +403,34 @@ describe('utils', () => { describe('transformOrBulkError', () => { test('outputs 200 if the data is of type siem alert', () => { - const output = transformOrBulkError('rule-1', getAlertMock(getQueryRuleParams()), { - id: '04128c15-0d1b-4716-a4c5-46997ac7f3bd', - actions: [], - ruleThrottle: 'no_actions', - alertThrottle: null, - }); + const output = transformOrBulkError( + 'rule-1', + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()), + { + id: '04128c15-0d1b-4716-a4c5-46997ac7f3bd', + actions: [], + ruleThrottle: 'no_actions', + alertThrottle: null, + }, + isRuleRegistryEnabled + ); const expected = getOutputRuleAlertForRest(); expect(output).toEqual(expected); }); test('returns 500 if the data is not of type siem alert', () => { const unsafeCast = ({ name: 'something else' } as unknown) as PartialAlert; - const output = transformOrBulkError('rule-1', unsafeCast, { - id: '04128c15-0d1b-4716-a4c5-46997ac7f3bd', - actions: [], - ruleThrottle: 'no_actions', - alertThrottle: null, - }); + const output = transformOrBulkError( + 'rule-1', + unsafeCast, + { + id: '04128c15-0d1b-4716-a4c5-46997ac7f3bd', + actions: [], + ruleThrottle: 'no_actions', + alertThrottle: null, + }, + isRuleRegistryEnabled + ); const expected: BulkError = { rule_id: 'rule-1', error: { message: 'Internal error transforming', status_code: 500 }, @@ -428,15 +445,15 @@ describe('utils', () => { }); test('given single alert will return the alert transformed', () => { - const result1 = getAlertMock(getQueryRuleParams()); + const result1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); const transformed = transformAlertsToRules([result1]); const expected = getOutputRuleAlertForRest(); expect(transformed).toEqual([expected]); }); test('given two alerts will return the two alerts transformed', () => { - const result1 = getAlertMock(getQueryRuleParams()); - const result2 = getAlertMock(getQueryRuleParams()); + const result1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); + const result2 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result2.id = 'some other id'; result2.params.ruleId = 'some other id'; @@ -451,11 +468,16 @@ describe('utils', () => { describe('transformOrImportError', () => { test('returns 1 given success if the alert is an alert type and the existing success count is 0', () => { - const output = transformOrImportError('rule-1', getAlertMock(getQueryRuleParams()), { - success: true, - success_count: 0, - errors: [], - }); + const output = transformOrImportError( + 'rule-1', + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()), + { + success: true, + success_count: 0, + errors: [], + }, + isRuleRegistryEnabled + ); const expected: ImportSuccessError = { success: true, errors: [], @@ -465,11 +487,16 @@ describe('utils', () => { }); test('returns 2 given successes if the alert is an alert type and the existing success count is 1', () => { - const output = transformOrImportError('rule-1', getAlertMock(getQueryRuleParams()), { - success: true, - success_count: 1, - errors: [], - }); + const output = transformOrImportError( + 'rule-1', + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()), + { + success: true, + success_count: 1, + errors: [], + }, + isRuleRegistryEnabled + ); const expected: ImportSuccessError = { success: true, errors: [], @@ -480,11 +507,16 @@ describe('utils', () => { test('returns 1 error and success of false if the data is not of type siem alert', () => { const unsafeCast = ({ name: 'something else' } as unknown) as PartialAlert; - const output = transformOrImportError('rule-1', unsafeCast, { - success: true, - success_count: 1, - errors: [], - }); + const output = transformOrImportError( + 'rule-1', + unsafeCast, + { + success: true, + success_count: 1, + errors: [], + }, + isRuleRegistryEnabled + ); const expected: ImportSuccessError = { success: false, errors: [ diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/utils.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/utils.ts index 6e1faf819c3d5..4f023156fba06 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/utils.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/utils.ts @@ -135,9 +135,10 @@ export const transformFindAlerts = ( export const transform = ( alert: PartialAlert, - ruleStatus?: SavedObject + ruleStatus?: SavedObject, + isRuleRegistryEnabled?: boolean ): Partial | null => { - if (isAlertType(alert)) { + if (isAlertType(isRuleRegistryEnabled ?? false, alert)) { return transformAlertToRule( alert, isRuleStatusSavedObjectType(ruleStatus) ? ruleStatus : undefined @@ -150,9 +151,10 @@ export const transform = ( export const transformOrBulkError = ( ruleId: string, alert: PartialAlert, - ruleStatus?: unknown + ruleStatus?: unknown, + isRuleRegistryEnabled?: boolean ): Partial | BulkError => { - if (isAlertType(alert)) { + if (isAlertType(isRuleRegistryEnabled ?? false, alert)) { if (isRuleStatusFindType(ruleStatus) && ruleStatus?.saved_objects.length > 0) { return transformAlertToRule(alert, ruleStatus?.saved_objects[0] ?? ruleStatus); } else { @@ -170,9 +172,10 @@ export const transformOrBulkError = ( export const transformOrImportError = ( ruleId: string, alert: PartialAlert, - existingImportSuccessError: ImportSuccessError + existingImportSuccessError: ImportSuccessError, + isRuleRegistryEnabled: boolean ): ImportSuccessError => { - if (isAlertType(alert)) { + if (isAlertType(isRuleRegistryEnabled, alert)) { return createSuccessObject(existingImportSuccessError); } else { return createImportErrorObject({ diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/validate.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/validate.test.ts index 9cbd4de71613a..a7ba1ac77b7bf 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/validate.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/validate.test.ts @@ -66,20 +66,23 @@ export const ruleOutput = (): RulesSchema => ({ timeline_id: 'some-timeline-id', }); -describe('validate', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('validate - %s', (_, isRuleRegistryEnabled) => { describe('transformValidate', () => { test('it should do a validation correctly of a partial alert', () => { - const ruleAlert = getAlertMock(getQueryRuleParams()); - const [validated, errors] = transformValidate(ruleAlert); + const ruleAlert = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); + const [validated, errors] = transformValidate(ruleAlert, undefined, isRuleRegistryEnabled); expect(validated).toEqual(ruleOutput()); expect(errors).toEqual(null); }); test('it should do an in-validation correctly of a partial alert', () => { - const ruleAlert = getAlertMock(getQueryRuleParams()); + const ruleAlert = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); // @ts-expect-error delete ruleAlert.name; - const [validated, errors] = transformValidate(ruleAlert); + const [validated, errors] = transformValidate(ruleAlert, undefined, isRuleRegistryEnabled); expect(validated).toEqual(null); expect(errors).toEqual('Invalid value "undefined" supplied to "name"'); }); @@ -87,16 +90,26 @@ describe('validate', () => { describe('transformValidateBulkError', () => { test('it should do a validation correctly of a rule id', () => { - const ruleAlert = getAlertMock(getQueryRuleParams()); - const validatedOrError = transformValidateBulkError('rule-1', ruleAlert); + const ruleAlert = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); + const validatedOrError = transformValidateBulkError( + 'rule-1', + ruleAlert, + undefined, + isRuleRegistryEnabled + ); expect(validatedOrError).toEqual(ruleOutput()); }); test('it should do an in-validation correctly of a rule id', () => { - const ruleAlert = getAlertMock(getQueryRuleParams()); + const ruleAlert = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); // @ts-expect-error delete ruleAlert.name; - const validatedOrError = transformValidateBulkError('rule-1', ruleAlert); + const validatedOrError = transformValidateBulkError( + 'rule-1', + ruleAlert, + undefined, + isRuleRegistryEnabled + ); const expected: BulkError = { error: { message: 'Invalid value "undefined" supplied to "name"', @@ -109,8 +122,13 @@ describe('validate', () => { test('it should do a validation correctly of a rule id with ruleStatus passed in', () => { const ruleStatuses = getRuleExecutionStatuses(); - const ruleAlert = getAlertMock(getQueryRuleParams()); - const validatedOrError = transformValidateBulkError('rule-1', ruleAlert, ruleStatuses); + const ruleAlert = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); + const validatedOrError = transformValidateBulkError( + 'rule-1', + ruleAlert, + ruleStatuses, + isRuleRegistryEnabled + ); const expected: RulesSchema = { ...ruleOutput(), status: RuleExecutionStatus.succeeded, @@ -122,10 +140,15 @@ describe('validate', () => { }); test('it should return error object if "alert" is not expected alert type', () => { - const ruleAlert = getAlertMock(getQueryRuleParams()); + const ruleAlert = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); // @ts-expect-error delete ruleAlert.alertTypeId; - const validatedOrError = transformValidateBulkError('rule-1', ruleAlert); + const validatedOrError = transformValidateBulkError( + 'rule-1', + ruleAlert, + undefined, + isRuleRegistryEnabled + ); const expected: BulkError = { error: { message: 'Internal error transforming', diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/validate.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/validate.ts index ccb3201848e3c..c1969c5088bc0 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/validate.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/validate.ts @@ -29,9 +29,10 @@ import { RuleParams } from '../../schemas/rule_schemas'; export const transformValidate = ( alert: PartialAlert, - ruleStatus?: SavedObject + ruleStatus?: SavedObject, + isRuleRegistryEnabled?: boolean ): [RulesSchema | null, string | null] => { - const transformed = transform(alert, ruleStatus); + const transformed = transform(alert, ruleStatus, isRuleRegistryEnabled); if (transformed == null) { return [null, 'Internal error transforming']; } else { @@ -41,9 +42,10 @@ export const transformValidate = ( export const newTransformValidate = ( alert: PartialAlert, - ruleStatus?: SavedObject + ruleStatus?: SavedObject, + isRuleRegistryEnabled?: boolean ): [FullResponseSchema | null, string | null] => { - const transformed = transform(alert, ruleStatus); + const transformed = transform(alert, ruleStatus, isRuleRegistryEnabled); if (transformed == null) { return [null, 'Internal error transforming']; } else { @@ -54,9 +56,10 @@ export const newTransformValidate = ( export const transformValidateBulkError = ( ruleId: string, alert: PartialAlert, - ruleStatus?: Array> + ruleStatus?: Array>, + isRuleRegistryEnabled?: boolean ): RulesSchema | BulkError => { - if (isAlertType(alert)) { + if (isAlertType(isRuleRegistryEnabled ?? false, alert)) { if (ruleStatus && ruleStatus?.length > 0 && isRuleStatusSavedObjectType(ruleStatus[0])) { const transformed = transformAlertToRule(alert, ruleStatus[0]); const [validated, errors] = validateNonExact(transformed, rulesSchema); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/tags/read_tags_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/tags/read_tags_route.ts index e22497071b2b7..04464e5d6f5a7 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/tags/read_tags_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/tags/read_tags_route.ts @@ -12,7 +12,10 @@ import { buildSiemResponse } from '../utils'; import { readTags } from '../../tags/read_tags'; -export const readTagsRoute = (router: SecuritySolutionPluginRouter) => { +export const readTagsRoute = ( + router: SecuritySolutionPluginRouter, + isRuleRegistryEnabled: boolean +) => { router.get( { path: DETECTION_ENGINE_TAGS_URL, @@ -31,6 +34,7 @@ export const readTagsRoute = (router: SecuritySolutionPluginRouter) => { try { const tags = await readTags({ + isRuleRegistryEnabled, rulesClient, }); return response.ok({ body: tags }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/utils.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/utils.test.ts index c7e1f9f2e6bd7..23a65b456e6bc 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/utils.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/utils.test.ts @@ -33,7 +33,10 @@ import { RuleExecutionStatus } from '../../../../common/detection_engine/schemas let rulesClient: ReturnType; -describe('utils', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('utils - %s', (_, isRuleRegistryEnabled) => { describe('transformBulkError', () => { test('returns transformed object if it is a boom object', () => { const boom = new Boom.Boom('some boom message', { statusCode: 400 }); @@ -390,12 +393,12 @@ describe('utils', () => { rulesClient = rulesClientMock.create(); }); it('getFailingRules finds no failing rules', async () => { - rulesClient.get.mockResolvedValue(getAlertMock(getQueryRuleParams())); + rulesClient.get.mockResolvedValue(getAlertMock(isRuleRegistryEnabled, getQueryRuleParams())); const res = await getFailingRules(['my-fake-id'], rulesClient); expect(res).toEqual({}); }); it('getFailingRules finds a failing rule', async () => { - const foundRule = getAlertMock(getQueryRuleParams()); + const foundRule = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); foundRule.executionStatus = { status: 'error', lastExecutionDate: foundRule.executionStatus.lastExecutionDate, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/utils.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/utils.ts index 8f078b01daf73..775115ded7c4f 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/utils.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/utils.ts @@ -328,6 +328,6 @@ export const getFailingRules = async ( if (Boom.isBoom(exc)) { throw exc; } - throw new Error(`Failed to get executionStatus with RulesClient: ${exc.message}`); + throw new Error(`Failed to get executionStatus with RulesClient: ${(exc as Error).message}`); } }; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/indicator_match/create_indicator_match_alert_type.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/indicator_match/create_indicator_match_alert_type.ts index f2dfe69debed0..e2d5da1def707 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/indicator_match/create_indicator_match_alert_type.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/indicator_match/create_indicator_match_alert_type.ts @@ -7,7 +7,7 @@ import { validateNonExact } from '@kbn/securitysolution-io-ts-utils'; import { PersistenceServices } from '../../../../../../rule_registry/server'; -import { INDICATOR_ALERT_TYPE_ID } from '../../../../../common/constants'; +import { INDICATOR_RULE_TYPE_ID } from '../../../../../common/constants'; import { threatRuleParams, ThreatRuleParams } from '../../schemas/rule_schemas'; import { threatMatchExecutor } from '../../signals/executors/threat_match'; import { createSecurityRuleTypeFactory } from '../create_security_rule_type_factory'; @@ -33,7 +33,7 @@ export const createIndicatorMatchAlertType = (createOptions: CreateRuleOptions) ruleDataService, }); return createSecurityRuleType({ - id: INDICATOR_ALERT_TYPE_ID, + id: INDICATOR_RULE_TYPE_ID, name: 'Indicator Match Rule', validate: { params: { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/ml.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/ml.ts index 14252bf62ef83..e0ad333b76a24 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/ml.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/ml.ts @@ -14,7 +14,7 @@ import { SavedObject } from 'src/core/types'; import { buildEsQuery, IIndexPattern } from '../../../../../../../src/plugins/data/common'; import { createPersistenceRuleTypeFactory } from '../../../../../rule_registry/server'; -import { ML_ALERT_TYPE_ID } from '../../../../common/constants'; +import { ML_RULE_TYPE_ID } from '../../../../common/constants'; import { SecurityRuleRegistry } from '../../../plugin'; const createSecurityMlRuleType = createPersistenceRuleTypeFactory(); @@ -38,7 +38,7 @@ import { MachineLearningRuleAttributes } from '../signals/types'; import { createErrorsFromShard, createSearchAfterReturnType, mergeReturns } from '../signals/utils'; export const mlAlertType = createSecurityMlRuleType({ - id: ML_ALERT_TYPE_ID, + id: ML_RULE_TYPE_ID, name: 'Machine Learning Rule', validate: { params: schema.object({ diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/ml/create_ml_alert_type.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/ml/create_ml_alert_type.ts index cdaeb4be76d02..7d891d430c63c 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/ml/create_ml_alert_type.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/ml/create_ml_alert_type.ts @@ -7,7 +7,7 @@ import { validateNonExact } from '@kbn/securitysolution-io-ts-utils'; import { PersistenceServices } from '../../../../../../rule_registry/server'; -import { ML_ALERT_TYPE_ID } from '../../../../../common/constants'; +import { ML_RULE_TYPE_ID } from '../../../../../common/constants'; import { machineLearningRuleParams, MachineLearningRuleParams } from '../../schemas/rule_schemas'; import { mlExecutor } from '../../signals/executors/ml'; import { createSecurityRuleTypeFactory } from '../create_security_rule_type_factory'; @@ -32,7 +32,7 @@ export const createMlAlertType = (createOptions: CreateRuleOptions) => { ruleDataService, }); return createSecurityRuleType({ - id: ML_ALERT_TYPE_ID, + id: ML_RULE_TYPE_ID, name: 'Machine Learning Rule', validate: { params: { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/query/create_query_alert_type.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/query/create_query_alert_type.ts index 2f185853754b3..d5af7a4c8b5a4 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/query/create_query_alert_type.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/query/create_query_alert_type.ts @@ -7,7 +7,7 @@ import { validateNonExact } from '@kbn/securitysolution-io-ts-utils'; import { PersistenceServices } from '../../../../../../rule_registry/server'; -import { QUERY_ALERT_TYPE_ID } from '../../../../../common/constants'; +import { QUERY_RULE_TYPE_ID } from '../../../../../common/constants'; import { queryRuleParams, QueryRuleParams } from '../../schemas/rule_schemas'; import { queryExecutor } from '../../signals/executors/query'; import { createSecurityRuleTypeFactory } from '../create_security_rule_type_factory'; @@ -33,7 +33,7 @@ export const createQueryAlertType = (createOptions: CreateRuleOptions) => { ruleDataService, }); return createSecurityRuleType({ - id: QUERY_ALERT_TYPE_ID, + id: QUERY_RULE_TYPE_ID, name: 'Custom Query Rule', validate: { params: { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/create_rules.mock.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/create_rules.mock.ts index 34fb7bf5f8291..2c25134cc3760 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/create_rules.mock.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/create_rules.mock.ts @@ -8,7 +8,8 @@ import { CreateRulesOptions } from './types'; import { rulesClientMock } from '../../../../../alerting/server/mocks'; -export const getCreateRulesOptionsMock = (): CreateRulesOptions => ({ +export const getCreateRulesOptionsMock = (isRuleRegistryEnabled: boolean): CreateRulesOptions => ({ + isRuleRegistryEnabled, author: ['Elastic'], buildingBlockType: undefined, rulesClient: rulesClientMock.create(), @@ -61,7 +62,10 @@ export const getCreateRulesOptionsMock = (): CreateRulesOptions => ({ actions: [], }); -export const getCreateMlRulesOptionsMock = (): CreateRulesOptions => ({ +export const getCreateMlRulesOptionsMock = ( + isRuleRegistryEnabled: boolean +): CreateRulesOptions => ({ + isRuleRegistryEnabled, author: ['Elastic'], buildingBlockType: undefined, rulesClient: rulesClientMock.create(), diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/create_rules.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/create_rules.test.ts index 3dd29977a8f2c..0fd708791712a 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/create_rules.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/create_rules.test.ts @@ -8,9 +8,12 @@ import { createRules } from './create_rules'; import { getCreateMlRulesOptionsMock } from './create_rules.mock'; -describe('createRules', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('createRules - %s', (_, isRuleRegistryEnabled) => { it('calls the rulesClient with legacy ML params', async () => { - const ruleOptions = getCreateMlRulesOptionsMock(); + const ruleOptions = getCreateMlRulesOptionsMock(isRuleRegistryEnabled); await createRules(ruleOptions); expect(ruleOptions.rulesClient.create).toHaveBeenCalledWith( expect.objectContaining({ @@ -26,7 +29,7 @@ describe('createRules', () => { it('calls the rulesClient with ML params', async () => { const ruleOptions = { - ...getCreateMlRulesOptionsMock(), + ...getCreateMlRulesOptionsMock(isRuleRegistryEnabled), machineLearningJobId: ['new_job_1', 'new_job_2'], }; await createRules(ruleOptions); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/create_rules.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/create_rules.ts index bc415a0de6961..bed6bf4303897 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/create_rules.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/create_rules.ts @@ -20,6 +20,7 @@ import { CreateRulesOptions } from './types'; import { addTags } from './add_tags'; import { PartialFilter, RuleTypeParams } from '../types'; import { transformToAlertThrottle, transformToNotifyWhen } from './utils'; +import { ruleTypeMappings } from '../signals/utils'; export const createRules = async ({ rulesClient, @@ -68,16 +69,18 @@ export const createRules = async ({ to, type, references, + namespace, note, version, exceptionsList, actions, + isRuleRegistryEnabled, }: CreateRulesOptions): Promise> => { const rule = await rulesClient.create({ data: { name, tags: addTags(tags, ruleId, immutable), - alertTypeId: SIGNALS_ID, + alertTypeId: isRuleRegistryEnabled ? ruleTypeMappings[type] : SIGNALS_ID, consumer: SERVER_APP_ID, params: { anomalyThreshold, @@ -125,6 +128,7 @@ export const createRules = async ({ to, type, references, + namespace, note, version, exceptionsList, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/duplicate_rule.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/duplicate_rule.test.ts index 92b4dcff61b35..c3f6b0fbead91 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/duplicate_rule.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/duplicate_rule.test.ts @@ -52,6 +52,7 @@ describe('duplicateRule', () => { query: 'process.args : "chmod"', filters: [], buildingBlockType: undefined, + namespace: undefined, note: undefined, timelineId: undefined, timelineTitle: undefined, @@ -99,6 +100,7 @@ describe('duplicateRule', () => { "license": "", "maxSignals": 100, "meta": undefined, + "namespace": undefined, "note": undefined, "outputIndex": ".siem-signals-default", "query": "process.args : \\"chmod\\"", diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/find_rules.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/find_rules.test.ts index 1f91355d7cde2..0f7545c4df936 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/find_rules.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/find_rules.test.ts @@ -6,16 +6,38 @@ */ import { getFilter } from './find_rules'; -import { SIGNALS_ID } from '../../../../common/constants'; +import { + INDICATOR_RULE_TYPE_ID, + ML_RULE_TYPE_ID, + QUERY_RULE_TYPE_ID, + SIGNALS_ID, +} from '../../../../common/constants'; + +const allAlertTypeIds = `(alert.attributes.alertTypeId: ${ML_RULE_TYPE_ID} + OR alert.attributes.alertTypeId: ${QUERY_RULE_TYPE_ID} + OR alert.attributes.alertTypeId: ${INDICATOR_RULE_TYPE_ID})`.replace(/[\n\r]/g, ''); describe('find_rules', () => { - test('it returns a full filter with an AND if sent down', () => { - expect(getFilter('alert.attributes.enabled: true')).toEqual( - `alert.attributes.alertTypeId: ${SIGNALS_ID} AND alert.attributes.enabled: true` - ); - }); + const fullFilterTestCases: Array<[boolean, string]> = [ + [false, `alert.attributes.alertTypeId: ${SIGNALS_ID} AND alert.attributes.enabled: true`], + [true, `${allAlertTypeIds} AND alert.attributes.enabled: true`], + ]; + const nullFilterTestCases: Array<[boolean, string]> = [ + [false, `alert.attributes.alertTypeId: ${SIGNALS_ID}`], + [true, allAlertTypeIds], + ]; + + test.each(fullFilterTestCases)( + 'it returns a full filter with an AND if sent down [rule registry enabled: %p]', + (isRuleRegistryEnabled, expected) => { + expect(getFilter('alert.attributes.enabled: true', isRuleRegistryEnabled)).toEqual(expected); + } + ); - test('it returns existing filter with no AND when not set', () => { - expect(getFilter(null)).toEqual(`alert.attributes.alertTypeId: ${SIGNALS_ID}`); - }); + test.each(nullFilterTestCases)( + 'it returns existing filter with no AND when not set [rule registry enabled: %p]', + (isRuleRegistryEnabled, expected) => { + expect(getFilter(null, isRuleRegistryEnabled)).toEqual(expected); + } + ); }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/find_rules.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/find_rules.ts index e41dac066e18a..a1664f2e5a310 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/find_rules.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/find_rules.ts @@ -8,13 +8,23 @@ import { FindResult } from '../../../../../alerting/server'; import { SIGNALS_ID } from '../../../../common/constants'; import { RuleParams } from '../schemas/rule_schemas'; +import { ruleTypeMappings } from '../signals/utils'; import { FindRuleOptions } from './types'; -export const getFilter = (filter: string | null | undefined) => { +export const getFilter = ( + filter: string | null | undefined, + isRuleRegistryEnabled: boolean = false +) => { + const alertTypeFilter = isRuleRegistryEnabled + ? `(${Object.values(ruleTypeMappings) + .map((type) => (type !== SIGNALS_ID ? `alert.attributes.alertTypeId: ${type}` : undefined)) + .filter((type) => type != null) + .join(' OR ')})` + : `alert.attributes.alertTypeId: ${SIGNALS_ID}`; if (filter == null) { - return `alert.attributes.alertTypeId: ${SIGNALS_ID}`; + return alertTypeFilter; } else { - return `alert.attributes.alertTypeId: ${SIGNALS_ID} AND ${filter}`; + return `${alertTypeFilter} AND ${filter}`; } }; @@ -26,13 +36,14 @@ export const findRules = ({ filter, sortField, sortOrder, + isRuleRegistryEnabled, }: FindRuleOptions): Promise> => { return rulesClient.find({ options: { fields, page, perPage, - filter: getFilter(filter), + filter: getFilter(filter, isRuleRegistryEnabled), sortOrder, sortField, }, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_existing_prepackaged_rules.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_existing_prepackaged_rules.test.ts index 19a6a4e43d877..b478cc2df09a1 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_existing_prepackaged_rules.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_existing_prepackaged_rules.test.ts @@ -20,7 +20,10 @@ import { getNonPackagedRulesCount, } from './get_existing_prepackaged_rules'; -describe('get_existing_prepackaged_rules', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('get_existing_prepackaged_rules - %s', (_, isRuleRegistryEnabled) => { afterEach(() => { jest.resetAllMocks(); }); @@ -28,23 +31,23 @@ describe('get_existing_prepackaged_rules', () => { describe('getExistingPrepackagedRules', () => { test('should return a single item in a single page', async () => { const rulesClient = rulesClientMock.create(); - rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); - const rules = await getExistingPrepackagedRules({ rulesClient }); - expect(rules).toEqual([getAlertMock(getQueryRuleParams())]); + rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); + const rules = await getExistingPrepackagedRules({ isRuleRegistryEnabled, rulesClient }); + expect(rules).toEqual([getAlertMock(isRuleRegistryEnabled, getQueryRuleParams())]); }); test('should return 3 items over 1 page with all on one page', async () => { const rulesClient = rulesClientMock.create(); - const result1 = getAlertMock(getQueryRuleParams()); + const result1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result1.params.immutable = true; result1.id = '4baa53f8-96da-44ee-ad58-41bccb7f9f3d'; - const result2 = getAlertMock(getQueryRuleParams()); + const result2 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result2.params.immutable = true; result2.id = '5baa53f8-96da-44ee-ad58-41bccb7f9f3d'; - const result3 = getAlertMock(getQueryRuleParams()); + const result3 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result3.params.immutable = true; result3.id = 'f3e1bf0b-b95f-43da-b1de-5d2f0af2287a'; @@ -68,7 +71,7 @@ describe('get_existing_prepackaged_rules', () => { }) ); - const rules = await getExistingPrepackagedRules({ rulesClient }); + const rules = await getExistingPrepackagedRules({ isRuleRegistryEnabled, rulesClient }); expect(rules).toEqual([result1, result2, result3]); }); }); @@ -76,18 +79,18 @@ describe('get_existing_prepackaged_rules', () => { describe('getNonPackagedRules', () => { test('should return a single item in a single page', async () => { const rulesClient = rulesClientMock.create(); - rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); - const rules = await getNonPackagedRules({ rulesClient }); - expect(rules).toEqual([getAlertMock(getQueryRuleParams())]); + rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); + const rules = await getNonPackagedRules({ isRuleRegistryEnabled, rulesClient }); + expect(rules).toEqual([getAlertMock(isRuleRegistryEnabled, getQueryRuleParams())]); }); test('should return 2 items over 1 page', async () => { const rulesClient = rulesClientMock.create(); - const result1 = getAlertMock(getQueryRuleParams()); + const result1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result1.id = '4baa53f8-96da-44ee-ad58-41bccb7f9f3d'; - const result2 = getAlertMock(getQueryRuleParams()); + const result2 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result2.id = '5baa53f8-96da-44ee-ad58-41bccb7f9f3d'; // first result mock which is for returning the total @@ -105,20 +108,20 @@ describe('get_existing_prepackaged_rules', () => { getFindResultWithMultiHits({ data: [result1, result2], perPage: 2, page: 1, total: 2 }) ); - const rules = await getNonPackagedRules({ rulesClient }); + const rules = await getNonPackagedRules({ isRuleRegistryEnabled, rulesClient }); expect(rules).toEqual([result1, result2]); }); test('should return 3 items over 1 page with all on one page', async () => { const rulesClient = rulesClientMock.create(); - const result1 = getAlertMock(getQueryRuleParams()); + const result1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result1.id = '4baa53f8-96da-44ee-ad58-41bccb7f9f3d'; - const result2 = getAlertMock(getQueryRuleParams()); + const result2 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result2.id = '5baa53f8-96da-44ee-ad58-41bccb7f9f3d'; - const result3 = getAlertMock(getQueryRuleParams()); + const result3 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result3.id = 'f3e1bf0b-b95f-43da-b1de-5d2f0af2287a'; // first result mock which is for returning the total @@ -141,7 +144,7 @@ describe('get_existing_prepackaged_rules', () => { }) ); - const rules = await getNonPackagedRules({ rulesClient }); + const rules = await getNonPackagedRules({ isRuleRegistryEnabled, rulesClient }); expect(rules).toEqual([result1, result2, result3]); }); }); @@ -149,18 +152,18 @@ describe('get_existing_prepackaged_rules', () => { describe('getRules', () => { test('should return a single item in a single page', async () => { const rulesClient = rulesClientMock.create(); - rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); - const rules = await getRules({ rulesClient, filter: '' }); - expect(rules).toEqual([getAlertMock(getQueryRuleParams())]); + rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); + const rules = await getRules({ isRuleRegistryEnabled, rulesClient, filter: '' }); + expect(rules).toEqual([getAlertMock(isRuleRegistryEnabled, getQueryRuleParams())]); }); test('should return 2 items over two pages, one per page', async () => { const rulesClient = rulesClientMock.create(); - const result1 = getAlertMock(getQueryRuleParams()); + const result1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result1.id = '4baa53f8-96da-44ee-ad58-41bccb7f9f3d'; - const result2 = getAlertMock(getQueryRuleParams()); + const result2 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result2.id = '5baa53f8-96da-44ee-ad58-41bccb7f9f3d'; // first result mock which is for returning the total @@ -178,7 +181,7 @@ describe('get_existing_prepackaged_rules', () => { getFindResultWithMultiHits({ data: [result1, result2], perPage: 2, page: 1, total: 2 }) ); - const rules = await getRules({ rulesClient, filter: '' }); + const rules = await getRules({ isRuleRegistryEnabled, rulesClient, filter: '' }); expect(rules).toEqual([result1, result2]); }); }); @@ -186,8 +189,8 @@ describe('get_existing_prepackaged_rules', () => { describe('getRulesCount', () => { test('it returns a count', async () => { const rulesClient = rulesClientMock.create(); - rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); - const rules = await getRulesCount({ rulesClient, filter: '' }); + rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); + const rules = await getRulesCount({ isRuleRegistryEnabled, rulesClient, filter: '' }); expect(rules).toEqual(1); }); }); @@ -195,8 +198,8 @@ describe('get_existing_prepackaged_rules', () => { describe('getNonPackagedRulesCount', () => { test('it returns a count', async () => { const rulesClient = rulesClientMock.create(); - rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); - const rules = await getNonPackagedRulesCount({ rulesClient }); + rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); + const rules = await getNonPackagedRulesCount({ isRuleRegistryEnabled, rulesClient }); expect(rules).toEqual(1); }); }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_existing_prepackaged_rules.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_existing_prepackaged_rules.ts index be8bf1303846d..caa32a809b0a8 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_existing_prepackaged_rules.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_existing_prepackaged_rules.ts @@ -14,21 +14,26 @@ export const FILTER_NON_PREPACKED_RULES = `alert.attributes.tags: "${INTERNAL_IM export const FILTER_PREPACKED_RULES = `alert.attributes.tags: "${INTERNAL_IMMUTABLE_KEY}:true"`; export const getNonPackagedRulesCount = async ({ + isRuleRegistryEnabled, rulesClient, }: { + isRuleRegistryEnabled: boolean; rulesClient: RulesClient; }): Promise => { - return getRulesCount({ rulesClient, filter: FILTER_NON_PREPACKED_RULES }); + return getRulesCount({ isRuleRegistryEnabled, rulesClient, filter: FILTER_NON_PREPACKED_RULES }); }; export const getRulesCount = async ({ rulesClient, filter, + isRuleRegistryEnabled, }: { rulesClient: RulesClient; filter: string; + isRuleRegistryEnabled: boolean; }): Promise => { const firstRule = await findRules({ + isRuleRegistryEnabled, rulesClient, filter, perPage: 1, @@ -43,12 +48,15 @@ export const getRulesCount = async ({ export const getRules = async ({ rulesClient, filter, + isRuleRegistryEnabled, }: { rulesClient: RulesClient; filter: string; -}): Promise => { - const count = await getRulesCount({ rulesClient, filter }); + isRuleRegistryEnabled: boolean; +}) => { + const count = await getRulesCount({ rulesClient, filter, isRuleRegistryEnabled }); const rules = await findRules({ + isRuleRegistryEnabled, rulesClient, filter, perPage: count, @@ -58,7 +66,7 @@ export const getRules = async ({ fields: undefined, }); - if (isAlertTypes(rules.data)) { + if (isAlertTypes(isRuleRegistryEnabled, rules.data)) { return rules.data; } else { // If this was ever true, you have a really messed up system. @@ -69,22 +77,28 @@ export const getRules = async ({ export const getNonPackagedRules = async ({ rulesClient, + isRuleRegistryEnabled, }: { rulesClient: RulesClient; + isRuleRegistryEnabled: boolean; }): Promise => { return getRules({ rulesClient, filter: FILTER_NON_PREPACKED_RULES, + isRuleRegistryEnabled, }); }; export const getExistingPrepackagedRules = async ({ rulesClient, + isRuleRegistryEnabled, }: { rulesClient: RulesClient; + isRuleRegistryEnabled: boolean; }): Promise => { return getRules({ rulesClient, filter: FILTER_PREPACKED_RULES, + isRuleRegistryEnabled, }); }; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_all.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_all.test.ts index 2870bee99e51a..3ca5960d7d4e1 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_all.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_all.test.ts @@ -16,11 +16,14 @@ import { getListArrayMock } from '../../../../common/detection_engine/schemas/ty import { getThreatMock } from '../../../../common/detection_engine/schemas/types/threat.mock'; import { getQueryRuleParams } from '../schemas/rule_schemas.mock'; -describe('getExportAll', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('getExportAll - %s', (_, isRuleRegistryEnabled) => { test('it exports everything from the alerts client', async () => { const rulesClient = rulesClientMock.create(); - const result = getFindResultWithSingleHit(); - const alert = getAlertMock(getQueryRuleParams()); + const result = getFindResultWithSingleHit(isRuleRegistryEnabled); + const alert = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); alert.params = { ...alert.params, filters: [{ query: { match_phrase: { 'host.name': 'some-host' } } }], @@ -32,7 +35,7 @@ describe('getExportAll', () => { result.data = [alert]; rulesClient.find.mockResolvedValue(result); - const exports = await getExportAll(rulesClient); + const exports = await getExportAll(rulesClient, isRuleRegistryEnabled); const rulesJson = JSON.parse(exports.rulesNdjson); const detailsJson = JSON.parse(exports.exportDetails); expect(rulesJson).toEqual({ @@ -94,7 +97,7 @@ describe('getExportAll', () => { rulesClient.find.mockResolvedValue(findResult); - const exports = await getExportAll(rulesClient); + const exports = await getExportAll(rulesClient, isRuleRegistryEnabled); expect(exports).toEqual({ rulesNdjson: '', exportDetails: '{"exported_count":0,"missing_rules":[],"missing_rules_count":0}\n', diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_all.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_all.ts index 4a79f0089491f..f44471e6e26f9 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_all.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_all.ts @@ -12,12 +12,13 @@ import { transformAlertsToRules } from '../routes/rules/utils'; import { transformDataToNdjson } from '../../../utils/read_stream/create_stream_from_ndjson'; export const getExportAll = async ( - rulesClient: RulesClient + rulesClient: RulesClient, + isRuleRegistryEnabled: boolean ): Promise<{ rulesNdjson: string; exportDetails: string; }> => { - const ruleAlertTypes = await getNonPackagedRules({ rulesClient }); + const ruleAlertTypes = await getNonPackagedRules({ rulesClient, isRuleRegistryEnabled }); const rules = transformAlertsToRules(ruleAlertTypes); // We do not support importing/exporting actions. When we do, delete this line of code const rulesWithoutActions = rules.map((rule) => ({ ...rule, actions: [] })); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_by_object_ids.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_by_object_ids.test.ts index f4325086e4212..740427e44b560 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_by_object_ids.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_by_object_ids.test.ts @@ -16,7 +16,10 @@ import { getListArrayMock } from '../../../../common/detection_engine/schemas/ty import { getThreatMock } from '../../../../common/detection_engine/schemas/types/threat.mock'; import { getQueryRuleParams } from '../schemas/rule_schemas.mock'; -describe('get_export_by_object_ids', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('get_export_by_object_ids - %s', (_, isRuleRegistryEnabled) => { beforeEach(() => { jest.resetAllMocks(); jest.restoreAllMocks(); @@ -25,10 +28,10 @@ describe('get_export_by_object_ids', () => { describe('getExportByObjectIds', () => { test('it exports object ids into an expected string with new line characters', async () => { const rulesClient = rulesClientMock.create(); - rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); + rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); const objects = [{ rule_id: 'rule-1' }]; - const exports = await getExportByObjectIds(rulesClient, objects); + const exports = await getExportByObjectIds(rulesClient, objects, isRuleRegistryEnabled); const exportsObj = { rulesNdjson: JSON.parse(exports.rulesNdjson), exportDetails: JSON.parse(exports.exportDetails), @@ -85,7 +88,7 @@ describe('get_export_by_object_ids', () => { test('it does not export immutable rules', async () => { const rulesClient = rulesClientMock.create(); - const result = getAlertMock(getQueryRuleParams()); + const result = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result.params.immutable = true; const findResult: FindHit = { @@ -95,11 +98,11 @@ describe('get_export_by_object_ids', () => { data: [result], }; - rulesClient.get.mockResolvedValue(getAlertMock(getQueryRuleParams())); + rulesClient.get.mockResolvedValue(getAlertMock(isRuleRegistryEnabled, getQueryRuleParams())); rulesClient.find.mockResolvedValue(findResult); const objects = [{ rule_id: 'rule-1' }]; - const exports = await getExportByObjectIds(rulesClient, objects); + const exports = await getExportByObjectIds(rulesClient, objects, isRuleRegistryEnabled); expect(exports).toEqual({ rulesNdjson: '', exportDetails: @@ -111,10 +114,10 @@ describe('get_export_by_object_ids', () => { describe('getRulesFromObjects', () => { test('it returns transformed rules from objects sent in', async () => { const rulesClient = rulesClientMock.create(); - rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); + rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); const objects = [{ rule_id: 'rule-1' }]; - const exports = await getRulesFromObjects(rulesClient, objects); + const exports = await getRulesFromObjects(rulesClient, objects, isRuleRegistryEnabled); const expected: RulesErrors = { exportedCount: 1, missingRules: [], @@ -175,7 +178,7 @@ describe('get_export_by_object_ids', () => { test('it does not transform the rule if the rule is an immutable rule and designates it as a missing rule', async () => { const rulesClient = rulesClientMock.create(); - const result = getAlertMock(getQueryRuleParams()); + const result = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result.params.immutable = true; const findResult: FindHit = { @@ -189,7 +192,7 @@ describe('get_export_by_object_ids', () => { rulesClient.find.mockResolvedValue(findResult); const objects = [{ rule_id: 'rule-1' }]; - const exports = await getRulesFromObjects(rulesClient, objects); + const exports = await getRulesFromObjects(rulesClient, objects, isRuleRegistryEnabled); const expected: RulesErrors = { exportedCount: 0, missingRules: [{ rule_id: 'rule-1' }], @@ -212,7 +215,7 @@ describe('get_export_by_object_ids', () => { rulesClient.find.mockResolvedValue(findResult); const objects = [{ rule_id: 'rule-1' }]; - const exports = await getRulesFromObjects(rulesClient, objects); + const exports = await getRulesFromObjects(rulesClient, objects, isRuleRegistryEnabled); const expected: RulesErrors = { exportedCount: 0, missingRules: [{ rule_id: 'rule-1' }], diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_by_object_ids.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_by_object_ids.ts index 812310bcb501a..31a7604306de7 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_by_object_ids.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_by_object_ids.ts @@ -34,12 +34,13 @@ export interface RulesErrors { export const getExportByObjectIds = async ( rulesClient: RulesClient, - objects: Array<{ rule_id: string }> + objects: Array<{ rule_id: string }>, + isRuleRegistryEnabled: boolean ): Promise<{ rulesNdjson: string; exportDetails: string; }> => { - const rulesAndErrors = await getRulesFromObjects(rulesClient, objects); + const rulesAndErrors = await getRulesFromObjects(rulesClient, objects, isRuleRegistryEnabled); // We do not support importing/exporting actions. When we do, delete this line of code const rulesWithoutActions = rulesAndErrors.rules.map((rule) => ({ ...rule, actions: [] })); const rulesNdjson = transformDataToNdjson(rulesWithoutActions); @@ -49,7 +50,8 @@ export const getExportByObjectIds = async ( export const getRulesFromObjects = async ( rulesClient: RulesClient, - objects: Array<{ rule_id: string }> + objects: Array<{ rule_id: string }>, + isRuleRegistryEnabled: boolean ): Promise => { // If we put more than 1024 ids in one block like "alert.attributes.tags: (id1 OR id2 OR ... OR id1100)" // then the KQL -> ES DSL query generator still puts them all in the same "should" array, but ES defaults @@ -67,6 +69,7 @@ export const getRulesFromObjects = async ( }) .join(' OR '); const rules = await findRules({ + isRuleRegistryEnabled, rulesClient, filter, page: 1, @@ -79,7 +82,7 @@ export const getRulesFromObjects = async ( const matchingRule = rules.data.find((rule) => rule.params.ruleId === ruleId); if ( matchingRule != null && - isAlertType(matchingRule) && + isAlertType(isRuleRegistryEnabled, matchingRule) && matchingRule.params.immutable !== true ) { return { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_rules_to_install.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_rules_to_install.test.ts index 7482097aafd22..4ef84fd1619ea 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_rules_to_install.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_rules_to_install.test.ts @@ -9,57 +9,61 @@ import { getRulesToInstall } from './get_rules_to_install'; import { getAlertMock } from '../routes/__mocks__/request_responses'; import { getAddPrepackagedRulesSchemaDecodedMock } from '../../../../common/detection_engine/schemas/request/add_prepackaged_rules_schema.mock'; import { getQueryRuleParams } from '../schemas/rule_schemas.mock'; +import { AddPrepackagedRulesSchemaDecoded } from '../../../../common/detection_engine/schemas/request'; -describe('get_rules_to_install', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('get_rules_to_install - %s', (_, isRuleRegistryEnabled) => { test('should return empty array if both rule sets are empty', () => { const update = getRulesToInstall([], []); expect(update).toEqual([]); }); test('should return empty array if the two rule ids match', () => { - const ruleFromFileSystem = getAddPrepackagedRulesSchemaDecodedMock(); + const ruleFromFileSystem = getAddPrepackagedRulesSchemaDecodedMock() as AddPrepackagedRulesSchemaDecoded; ruleFromFileSystem.rule_id = 'rule-1'; - const installedRule = getAlertMock(getQueryRuleParams()); + const installedRule = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule.params.ruleId = 'rule-1'; const update = getRulesToInstall([ruleFromFileSystem], [installedRule]); expect(update).toEqual([]); }); test('should return the rule to install if the id of the two rules do not match', () => { - const ruleFromFileSystem = getAddPrepackagedRulesSchemaDecodedMock(); + const ruleFromFileSystem = getAddPrepackagedRulesSchemaDecodedMock() as AddPrepackagedRulesSchemaDecoded; ruleFromFileSystem.rule_id = 'rule-1'; - const installedRule = getAlertMock(getQueryRuleParams()); + const installedRule = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule.params.ruleId = 'rule-2'; const update = getRulesToInstall([ruleFromFileSystem], [installedRule]); expect(update).toEqual([ruleFromFileSystem]); }); test('should return two rules to install if both the ids of the two rules do not match', () => { - const ruleFromFileSystem1 = getAddPrepackagedRulesSchemaDecodedMock(); + const ruleFromFileSystem1 = getAddPrepackagedRulesSchemaDecodedMock() as AddPrepackagedRulesSchemaDecoded; ruleFromFileSystem1.rule_id = 'rule-1'; - const ruleFromFileSystem2 = getAddPrepackagedRulesSchemaDecodedMock(); + const ruleFromFileSystem2 = getAddPrepackagedRulesSchemaDecodedMock() as AddPrepackagedRulesSchemaDecoded; ruleFromFileSystem2.rule_id = 'rule-2'; - const installedRule = getAlertMock(getQueryRuleParams()); + const installedRule = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule.params.ruleId = 'rule-3'; const update = getRulesToInstall([ruleFromFileSystem1, ruleFromFileSystem2], [installedRule]); expect(update).toEqual([ruleFromFileSystem1, ruleFromFileSystem2]); }); test('should return two rules of three to install if both the ids of the two rules do not match but the third does', () => { - const ruleFromFileSystem1 = getAddPrepackagedRulesSchemaDecodedMock(); + const ruleFromFileSystem1 = getAddPrepackagedRulesSchemaDecodedMock() as AddPrepackagedRulesSchemaDecoded; ruleFromFileSystem1.rule_id = 'rule-1'; - const ruleFromFileSystem2 = getAddPrepackagedRulesSchemaDecodedMock(); + const ruleFromFileSystem2 = getAddPrepackagedRulesSchemaDecodedMock() as AddPrepackagedRulesSchemaDecoded; ruleFromFileSystem2.rule_id = 'rule-2'; - const ruleFromFileSystem3 = getAddPrepackagedRulesSchemaDecodedMock(); + const ruleFromFileSystem3 = getAddPrepackagedRulesSchemaDecodedMock() as AddPrepackagedRulesSchemaDecoded; ruleFromFileSystem3.rule_id = 'rule-3'; - const installedRule = getAlertMock(getQueryRuleParams()); + const installedRule = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule.params.ruleId = 'rule-3'; const update = getRulesToInstall( [ruleFromFileSystem1, ruleFromFileSystem2, ruleFromFileSystem3], diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_rules_to_install.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_rules_to_install.ts index 65f3d4661cc4f..a9e22562606a9 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_rules_to_install.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_rules_to_install.ts @@ -11,7 +11,7 @@ import { RuleAlertType } from './types'; export const getRulesToInstall = ( rulesFromFileSystem: AddPrepackagedRulesSchemaDecoded[], installedRules: RuleAlertType[] -): AddPrepackagedRulesSchemaDecoded[] => { +) => { return rulesFromFileSystem.filter( (rule) => !installedRules.some((installedRule) => installedRule.params.ruleId === rule.rule_id) ); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_rules_to_update.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_rules_to_update.test.ts index 163585e7594ab..dda3bf6efe44c 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_rules_to_update.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_rules_to_update.test.ts @@ -10,7 +10,10 @@ import { getAlertMock } from '../routes/__mocks__/request_responses'; import { getAddPrepackagedRulesSchemaDecodedMock } from '../../../../common/detection_engine/schemas/request/add_prepackaged_rules_schema.mock'; import { getQueryRuleParams } from '../schemas/rule_schemas.mock'; -describe('get_rules_to_update', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('get_rules_to_update - %s', (_, isRuleRegistryEnabled) => { describe('get_rules_to_update', () => { test('should return empty array if both rule sets are empty', () => { const update = getRulesToUpdate([], []); @@ -22,7 +25,7 @@ describe('get_rules_to_update', () => { ruleFromFileSystem.rule_id = 'rule-1'; ruleFromFileSystem.version = 2; - const installedRule = getAlertMock(getQueryRuleParams()); + const installedRule = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule.params.ruleId = 'rule-2'; installedRule.params.version = 1; const update = getRulesToUpdate([ruleFromFileSystem], [installedRule]); @@ -34,7 +37,7 @@ describe('get_rules_to_update', () => { ruleFromFileSystem.rule_id = 'rule-1'; ruleFromFileSystem.version = 1; - const installedRule = getAlertMock(getQueryRuleParams()); + const installedRule = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule.params.ruleId = 'rule-1'; installedRule.params.version = 2; const update = getRulesToUpdate([ruleFromFileSystem], [installedRule]); @@ -46,7 +49,7 @@ describe('get_rules_to_update', () => { ruleFromFileSystem.rule_id = 'rule-1'; ruleFromFileSystem.version = 1; - const installedRule = getAlertMock(getQueryRuleParams()); + const installedRule = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule.params.ruleId = 'rule-1'; installedRule.params.version = 1; const update = getRulesToUpdate([ruleFromFileSystem], [installedRule]); @@ -58,7 +61,7 @@ describe('get_rules_to_update', () => { ruleFromFileSystem.rule_id = 'rule-1'; ruleFromFileSystem.version = 2; - const installedRule = getAlertMock(getQueryRuleParams()); + const installedRule = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule.params.ruleId = 'rule-1'; installedRule.params.version = 1; installedRule.params.exceptionsList = []; @@ -72,12 +75,12 @@ describe('get_rules_to_update', () => { ruleFromFileSystem.rule_id = 'rule-1'; ruleFromFileSystem.version = 2; - const installedRule1 = getAlertMock(getQueryRuleParams()); + const installedRule1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule1.params.ruleId = 'rule-1'; installedRule1.params.version = 1; installedRule1.params.exceptionsList = []; - const installedRule2 = getAlertMock(getQueryRuleParams()); + const installedRule2 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule2.params.ruleId = 'rule-2'; installedRule2.params.version = 1; installedRule2.params.exceptionsList = []; @@ -95,12 +98,12 @@ describe('get_rules_to_update', () => { ruleFromFileSystem2.rule_id = 'rule-2'; ruleFromFileSystem2.version = 2; - const installedRule1 = getAlertMock(getQueryRuleParams()); + const installedRule1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule1.params.ruleId = 'rule-1'; installedRule1.params.version = 1; installedRule1.params.exceptionsList = []; - const installedRule2 = getAlertMock(getQueryRuleParams()); + const installedRule2 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule2.params.ruleId = 'rule-2'; installedRule2.params.version = 1; installedRule2.params.exceptionsList = []; @@ -125,7 +128,7 @@ describe('get_rules_to_update', () => { ruleFromFileSystem1.rule_id = 'rule-1'; ruleFromFileSystem1.version = 2; - const installedRule1 = getAlertMock(getQueryRuleParams()); + const installedRule1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule1.params.ruleId = 'rule-1'; installedRule1.params.version = 1; installedRule1.params.exceptionsList = []; @@ -147,7 +150,7 @@ describe('get_rules_to_update', () => { ruleFromFileSystem1.rule_id = 'rule-1'; ruleFromFileSystem1.version = 2; - const installedRule1 = getAlertMock(getQueryRuleParams()); + const installedRule1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule1.params.ruleId = 'rule-1'; installedRule1.params.version = 1; installedRule1.params.exceptionsList = [ @@ -179,7 +182,7 @@ describe('get_rules_to_update', () => { ruleFromFileSystem1.rule_id = 'rule-1'; ruleFromFileSystem1.version = 2; - const installedRule1 = getAlertMock(getQueryRuleParams()); + const installedRule1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule1.params.ruleId = 'rule-1'; installedRule1.params.version = 1; installedRule1.params.exceptionsList = [ @@ -201,7 +204,7 @@ describe('get_rules_to_update', () => { ruleFromFileSystem1.rule_id = 'rule-1'; ruleFromFileSystem1.version = 2; - const installedRule1 = getAlertMock(getQueryRuleParams()); + const installedRule1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule1.params.ruleId = 'rule-1'; installedRule1.params.version = 1; installedRule1.params.exceptionsList = [ @@ -228,7 +231,7 @@ describe('get_rules_to_update', () => { ruleFromFileSystem2.rule_id = 'rule-2'; ruleFromFileSystem2.version = 2; - const installedRule1 = getAlertMock(getQueryRuleParams()); + const installedRule1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule1.params.ruleId = 'rule-1'; installedRule1.params.version = 1; installedRule1.params.exceptionsList = [ @@ -239,7 +242,7 @@ describe('get_rules_to_update', () => { type: 'endpoint', }, ]; - const installedRule2 = getAlertMock(getQueryRuleParams()); + const installedRule2 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule2.params.ruleId = 'rule-2'; installedRule2.params.version = 1; installedRule2.params.exceptionsList = [ @@ -278,7 +281,7 @@ describe('get_rules_to_update', () => { }, ]; - const installedRule1 = getAlertMock(getQueryRuleParams()); + const installedRule1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule1.params.ruleId = 'rule-1'; installedRule1.params.version = 1; installedRule1.params.exceptionsList = [ @@ -290,7 +293,7 @@ describe('get_rules_to_update', () => { }, ]; - const installedRule2 = getAlertMock(getQueryRuleParams()); + const installedRule2 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule2.params.ruleId = 'rule-2'; installedRule2.params.version = 1; installedRule2.params.exceptionsList = [ @@ -320,7 +323,7 @@ describe('get_rules_to_update', () => { ruleFromFileSystem.rule_id = 'rule-1'; ruleFromFileSystem.version = 2; - const installedRule = getAlertMock(getQueryRuleParams()); + const installedRule = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule.params.ruleId = 'rule-2'; installedRule.params.version = 1; const shouldUpdate = filterInstalledRules(ruleFromFileSystem, [installedRule]); @@ -332,7 +335,7 @@ describe('get_rules_to_update', () => { ruleFromFileSystem.rule_id = 'rule-1'; ruleFromFileSystem.version = 1; - const installedRule = getAlertMock(getQueryRuleParams()); + const installedRule = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule.params.ruleId = 'rule-1'; installedRule.params.version = 2; const shouldUpdate = filterInstalledRules(ruleFromFileSystem, [installedRule]); @@ -344,7 +347,7 @@ describe('get_rules_to_update', () => { ruleFromFileSystem.rule_id = 'rule-1'; ruleFromFileSystem.version = 1; - const installedRule = getAlertMock(getQueryRuleParams()); + const installedRule = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule.params.ruleId = 'rule-1'; installedRule.params.version = 1; const shouldUpdate = filterInstalledRules(ruleFromFileSystem, [installedRule]); @@ -356,7 +359,7 @@ describe('get_rules_to_update', () => { ruleFromFileSystem.rule_id = 'rule-1'; ruleFromFileSystem.version = 2; - const installedRule = getAlertMock(getQueryRuleParams()); + const installedRule = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule.params.ruleId = 'rule-1'; installedRule.params.version = 1; installedRule.params.exceptionsList = []; @@ -380,7 +383,7 @@ describe('get_rules_to_update', () => { ruleFromFileSystem1.rule_id = 'rule-1'; ruleFromFileSystem1.version = 2; - const installedRule1 = getAlertMock(getQueryRuleParams()); + const installedRule1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule1.params.ruleId = 'rule-1'; installedRule1.params.version = 1; installedRule1.params.exceptionsList = []; @@ -402,7 +405,7 @@ describe('get_rules_to_update', () => { ruleFromFileSystem1.rule_id = 'rule-1'; ruleFromFileSystem1.version = 2; - const installedRule1 = getAlertMock(getQueryRuleParams()); + const installedRule1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule1.params.ruleId = 'rule-1'; installedRule1.params.version = 1; installedRule1.params.exceptionsList = [ @@ -434,7 +437,7 @@ describe('get_rules_to_update', () => { ruleFromFileSystem1.rule_id = 'rule-1'; ruleFromFileSystem1.version = 2; - const installedRule1 = getAlertMock(getQueryRuleParams()); + const installedRule1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule1.params.ruleId = 'rule-1'; installedRule1.params.version = 1; installedRule1.params.exceptionsList = [ @@ -456,7 +459,7 @@ describe('get_rules_to_update', () => { ruleFromFileSystem1.rule_id = 'rule-1'; ruleFromFileSystem1.version = 2; - const installedRule1 = getAlertMock(getQueryRuleParams()); + const installedRule1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); installedRule1.params.ruleId = 'rule-1'; installedRule1.params.version = 1; installedRule1.params.exceptionsList = [ diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_rules_to_update.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_rules_to_update.ts index 7e098a28552a0..f0017c5e4bdb6 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_rules_to_update.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_rules_to_update.ts @@ -18,7 +18,7 @@ import { RuleAlertType } from './types'; export const getRulesToUpdate = ( rulesFromFileSystem: AddPrepackagedRulesSchemaDecoded[], installedRules: RuleAlertType[] -): AddPrepackagedRulesSchemaDecoded[] => { +) => { return rulesFromFileSystem .filter((ruleFromFileSystem) => filterInstalledRules(ruleFromFileSystem, installedRules)) .map((ruleFromFileSystem) => mergeExceptionLists(ruleFromFileSystem, installedRules)); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/install_prepacked_rules.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/install_prepacked_rules.ts index 1681ac7f1659f..3f7191a970020 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/install_prepacked_rules.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/install_prepacked_rules.ts @@ -14,7 +14,8 @@ import { PartialFilter } from '../types'; export const installPrepackagedRules = ( rulesClient: RulesClient, rules: AddPrepackagedRulesSchemaDecoded[], - outputIndex: string + outputIndex: string, + isRuleRegistryEnabled: boolean ): Array>> => rules.reduce>>>((acc, rule) => { const { @@ -60,6 +61,7 @@ export const installPrepackagedRules = ( threshold, timestamp_override: timestampOverride, references, + namespace, note, version, exceptions_list: exceptionsList, @@ -70,6 +72,7 @@ export const installPrepackagedRules = ( return [ ...acc, createRules({ + isRuleRegistryEnabled, rulesClient, anomalyThreshold, author, @@ -116,6 +119,7 @@ export const installPrepackagedRules = ( throttle: null, // At this time there is no pre-packaged actions timestampOverride, references, + namespace, note, version, exceptionsList, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/patch_rules.mock.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/patch_rules.mock.ts index 9ebec947bcc0e..1d09e4ca5c508 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/patch_rules.mock.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/patch_rules.mock.ts @@ -11,7 +11,7 @@ import { getAlertMock } from '../routes/__mocks__/request_responses'; import { getMlRuleParams, getQueryRuleParams } from '../schemas/rule_schemas.mock'; import { ruleExecutionLogClientMock } from '../rule_execution_log/__mocks__/rule_execution_log_client'; -export const getPatchRulesOptionsMock = (): PatchRulesOptions => ({ +export const getPatchRulesOptionsMock = (isRuleRegistryEnabled: boolean): PatchRulesOptions => ({ author: ['Elastic'], buildingBlockType: undefined, rulesClient: rulesClientMock.create(), @@ -61,10 +61,10 @@ export const getPatchRulesOptionsMock = (): PatchRulesOptions => ({ version: 1, exceptionsList: [], actions: [], - rule: getAlertMock(getQueryRuleParams()), + rule: getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()), }); -export const getPatchMlRulesOptionsMock = (): PatchRulesOptions => ({ +export const getPatchMlRulesOptionsMock = (isRuleRegistryEnabled: boolean): PatchRulesOptions => ({ author: ['Elastic'], buildingBlockType: undefined, rulesClient: rulesClientMock.create(), @@ -114,5 +114,5 @@ export const getPatchMlRulesOptionsMock = (): PatchRulesOptions => ({ version: 1, exceptionsList: [], actions: [], - rule: getAlertMock(getMlRuleParams()), + rule: getAlertMock(isRuleRegistryEnabled, getMlRuleParams()), }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/patch_rules.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/patch_rules.test.ts index dbfc1427abf95..ee39120a8b6d0 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/patch_rules.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/patch_rules.test.ts @@ -12,15 +12,18 @@ import { RulesClientMock } from '../../../../../alerting/server/rules_client.moc import { getAlertMock } from '../routes/__mocks__/request_responses'; import { getQueryRuleParams } from '../schemas/rule_schemas.mock'; -describe('patchRules', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('patchRules - %s', (_, isRuleRegistryEnabled) => { it('should call rulesClient.disable if the rule was enabled and enabled is false', async () => { - const rulesOptionsMock = getPatchRulesOptionsMock(); + const rulesOptionsMock = getPatchRulesOptionsMock(isRuleRegistryEnabled); const ruleOptions: PatchRulesOptions = { ...rulesOptionsMock, enabled: false, }; ((rulesOptionsMock.rulesClient as unknown) as RulesClientMock).update.mockResolvedValue( - getAlertMock(getQueryRuleParams()) + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) ); await patchRules(ruleOptions); expect(ruleOptions.rulesClient.disable).toHaveBeenCalledWith( @@ -31,7 +34,7 @@ describe('patchRules', () => { }); it('should call rulesClient.enable if the rule was disabled and enabled is true', async () => { - const rulesOptionsMock = getPatchRulesOptionsMock(); + const rulesOptionsMock = getPatchRulesOptionsMock(isRuleRegistryEnabled); const ruleOptions: PatchRulesOptions = { ...rulesOptionsMock, enabled: true, @@ -40,7 +43,7 @@ describe('patchRules', () => { ruleOptions.rule.enabled = false; } ((rulesOptionsMock.rulesClient as unknown) as RulesClientMock).update.mockResolvedValue( - getAlertMock(getQueryRuleParams()) + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) ); await patchRules(ruleOptions); expect(ruleOptions.rulesClient.enable).toHaveBeenCalledWith( @@ -51,7 +54,7 @@ describe('patchRules', () => { }); it('calls the rulesClient with legacy ML params', async () => { - const rulesOptionsMock = getPatchMlRulesOptionsMock(); + const rulesOptionsMock = getPatchMlRulesOptionsMock(isRuleRegistryEnabled); const ruleOptions: PatchRulesOptions = { ...rulesOptionsMock, enabled: true, @@ -60,7 +63,7 @@ describe('patchRules', () => { ruleOptions.rule.enabled = false; } ((rulesOptionsMock.rulesClient as unknown) as RulesClientMock).update.mockResolvedValue( - getAlertMock(getQueryRuleParams()) + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) ); await patchRules(ruleOptions); expect(ruleOptions.rulesClient.update).toHaveBeenCalledWith( @@ -76,7 +79,7 @@ describe('patchRules', () => { }); it('calls the rulesClient with new ML params', async () => { - const rulesOptionsMock = getPatchMlRulesOptionsMock(); + const rulesOptionsMock = getPatchMlRulesOptionsMock(isRuleRegistryEnabled); const ruleOptions: PatchRulesOptions = { ...rulesOptionsMock, machineLearningJobId: ['new_job_1', 'new_job_2'], @@ -86,7 +89,7 @@ describe('patchRules', () => { ruleOptions.rule.enabled = false; } ((rulesOptionsMock.rulesClient as unknown) as RulesClientMock).update.mockResolvedValue( - getAlertMock(getQueryRuleParams()) + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) ); await patchRules(ruleOptions); expect(ruleOptions.rulesClient.update).toHaveBeenCalledWith( @@ -103,7 +106,7 @@ describe('patchRules', () => { describe('regression tests', () => { it("updates the rule's actions if provided", async () => { - const rulesOptionsMock = getPatchRulesOptionsMock(); + const rulesOptionsMock = getPatchRulesOptionsMock(isRuleRegistryEnabled); const ruleOptions: PatchRulesOptions = { ...rulesOptionsMock, actions: [ @@ -118,7 +121,7 @@ describe('patchRules', () => { ], }; ((rulesOptionsMock.rulesClient as unknown) as RulesClientMock).update.mockResolvedValue( - getAlertMock(getQueryRuleParams()) + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) ); await patchRules(ruleOptions); expect(ruleOptions.rulesClient.update).toHaveBeenCalledWith( @@ -140,7 +143,7 @@ describe('patchRules', () => { }); it('does not update actions if none are specified', async () => { - const ruleOptions = getPatchRulesOptionsMock(); + const ruleOptions = getPatchRulesOptionsMock(isRuleRegistryEnabled); delete ruleOptions.actions; if (ruleOptions.rule != null) { ruleOptions.rule.actions = [ @@ -155,7 +158,7 @@ describe('patchRules', () => { ]; } ((ruleOptions.rulesClient as unknown) as RulesClientMock).update.mockResolvedValue( - getAlertMock(getQueryRuleParams()) + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) ); await patchRules(ruleOptions); expect(ruleOptions.rulesClient.update).toHaveBeenCalledWith( diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/patch_rules.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/patch_rules.ts index bc1faa5dff470..c3b7e7288dc57 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/patch_rules.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/patch_rules.ts @@ -80,6 +80,7 @@ export const patchRules = async ({ to, type, references, + namespace, note, version, exceptionsList, @@ -131,6 +132,7 @@ export const patchRules = async ({ type, references, version, + namespace, note, exceptionsList, anomalyThreshold, @@ -176,6 +178,7 @@ export const patchRules = async ({ to, type, references, + namespace, note, version: calculatedVersion, exceptionsList, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/read_rules.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/read_rules.test.ts index 33bc002942497..6f89d725a458e 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/read_rules.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/read_rules.test.ts @@ -21,7 +21,10 @@ export class TestError extends Error { public output: { statusCode: number }; } -describe('read_rules', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('read_rules - %s', (_, isRuleRegistryEnabled) => { beforeEach(() => { jest.resetAllMocks(); jest.restoreAllMocks(); @@ -30,23 +33,25 @@ describe('read_rules', () => { describe('readRules', () => { test('should return the output from rulesClient if id is set but ruleId is undefined', async () => { const rulesClient = rulesClientMock.create(); - rulesClient.get.mockResolvedValue(getAlertMock(getQueryRuleParams())); + rulesClient.get.mockResolvedValue(getAlertMock(isRuleRegistryEnabled, getQueryRuleParams())); const rule = await readRules({ + isRuleRegistryEnabled, rulesClient, id: '04128c15-0d1b-4716-a4c5-46997ac7f3bd', ruleId: undefined, }); - expect(rule).toEqual(getAlertMock(getQueryRuleParams())); + expect(rule).toEqual(getAlertMock(isRuleRegistryEnabled, getQueryRuleParams())); }); test('should return null if saved object found by alerts client given id is not alert type', async () => { const rulesClient = rulesClientMock.create(); - const result = getAlertMock(getQueryRuleParams()); + const result = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); // @ts-expect-error delete result.alertTypeId; rulesClient.get.mockResolvedValue(result); const rule = await readRules({ + isRuleRegistryEnabled, rulesClient, id: '04128c15-0d1b-4716-a4c5-46997ac7f3bd', ruleId: undefined, @@ -61,6 +66,7 @@ describe('read_rules', () => { }); const rule = await readRules({ + isRuleRegistryEnabled, rulesClient, id: '04128c15-0d1b-4716-a4c5-46997ac7f3bd', ruleId: undefined, @@ -75,6 +81,7 @@ describe('read_rules', () => { }); try { await readRules({ + isRuleRegistryEnabled, rulesClient, id: '04128c15-0d1b-4716-a4c5-46997ac7f3bd', ruleId: undefined, @@ -86,23 +93,25 @@ describe('read_rules', () => { test('should return the output from rulesClient if id is undefined but ruleId is set', async () => { const rulesClient = rulesClientMock.create(); - rulesClient.get.mockResolvedValue(getAlertMock(getQueryRuleParams())); - rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); + rulesClient.get.mockResolvedValue(getAlertMock(isRuleRegistryEnabled, getQueryRuleParams())); + rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); const rule = await readRules({ + isRuleRegistryEnabled, rulesClient, id: undefined, ruleId: 'rule-1', }); - expect(rule).toEqual(getAlertMock(getQueryRuleParams())); + expect(rule).toEqual(getAlertMock(isRuleRegistryEnabled, getQueryRuleParams())); }); test('should return null if the output from rulesClient with ruleId set is empty', async () => { const rulesClient = rulesClientMock.create(); - rulesClient.get.mockResolvedValue(getAlertMock(getQueryRuleParams())); + rulesClient.get.mockResolvedValue(getAlertMock(isRuleRegistryEnabled, getQueryRuleParams())); rulesClient.find.mockResolvedValue({ data: [], page: 0, perPage: 1, total: 0 }); const rule = await readRules({ + isRuleRegistryEnabled, rulesClient, id: undefined, ruleId: 'rule-1', @@ -112,23 +121,25 @@ describe('read_rules', () => { test('should return the output from rulesClient if id is null but ruleId is set', async () => { const rulesClient = rulesClientMock.create(); - rulesClient.get.mockResolvedValue(getAlertMock(getQueryRuleParams())); - rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); + rulesClient.get.mockResolvedValue(getAlertMock(isRuleRegistryEnabled, getQueryRuleParams())); + rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); const rule = await readRules({ + isRuleRegistryEnabled, rulesClient, id: undefined, ruleId: 'rule-1', }); - expect(rule).toEqual(getAlertMock(getQueryRuleParams())); + expect(rule).toEqual(getAlertMock(isRuleRegistryEnabled, getQueryRuleParams())); }); test('should return null if id and ruleId are undefined', async () => { const rulesClient = rulesClientMock.create(); - rulesClient.get.mockResolvedValue(getAlertMock(getQueryRuleParams())); - rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); + rulesClient.get.mockResolvedValue(getAlertMock(isRuleRegistryEnabled, getQueryRuleParams())); + rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); const rule = await readRules({ + isRuleRegistryEnabled, rulesClient, id: undefined, ruleId: undefined, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/read_rules.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/read_rules.ts index 141977f2474e0..9578e3d4cb6d2 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/read_rules.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/read_rules.ts @@ -20,6 +20,7 @@ import { isAlertType, ReadRuleOptions } from './types'; * a filter query against the tags using `alert.attributes.tags: "__internal:${ruleId}"]` */ export const readRules = async ({ + isRuleRegistryEnabled, rulesClient, id, ruleId, @@ -27,7 +28,7 @@ export const readRules = async ({ if (id != null) { try { const rule = await rulesClient.get({ id }); - if (isAlertType(rule)) { + if (isAlertType(isRuleRegistryEnabled, rule)) { return rule; } else { return null; @@ -42,6 +43,7 @@ export const readRules = async ({ } } else if (ruleId != null) { const ruleFromFind = await findRules({ + isRuleRegistryEnabled, rulesClient, filter: `alert.attributes.tags: "${INTERNAL_RULE_ID_KEY}:${ruleId}"`, page: 1, @@ -50,7 +52,10 @@ export const readRules = async ({ sortField: undefined, sortOrder: undefined, }); - if (ruleFromFind.data.length === 0 || !isAlertType(ruleFromFind.data[0])) { + if ( + ruleFromFind.data.length === 0 || + !isAlertType(isRuleRegistryEnabled, ruleFromFind.data[0]) + ) { return null; } else { return ruleFromFind.data[0]; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/types.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/types.ts index 235217761c8b1..c27caaed5449e 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/types.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/types.ts @@ -101,6 +101,7 @@ import { BuildingBlockTypeOrUndefined, RuleNameOverrideOrUndefined, EventCategoryOverrideOrUndefined, + NamespaceOrUndefined, } from '../../../../common/detection_engine/schemas/common/schemas'; import { RulesClient, PartialAlert } from '../../../../../alerting/server'; @@ -109,6 +110,7 @@ import { SIGNALS_ID } from '../../../../common/constants'; import { PartialFilter } from '../types'; import { RuleParams } from '../schemas/rule_schemas'; import { IRuleExecutionLogClient } from '../rule_execution_log/types'; +import { ruleTypeMappings } from '../signals/utils'; export type RuleAlertType = Alert; @@ -192,15 +194,20 @@ export interface Clients { } export const isAlertTypes = ( + isRuleRegistryEnabled: boolean, partialAlert: Array> ): partialAlert is RuleAlertType[] => { - return partialAlert.every((rule) => isAlertType(rule)); + return partialAlert.every((rule) => isAlertType(isRuleRegistryEnabled, rule)); }; export const isAlertType = ( + isRuleRegistryEnabled: boolean, partialAlert: PartialAlert ): partialAlert is RuleAlertType => { - return partialAlert.alertTypeId === SIGNALS_ID; + const ruleTypeValues = (Object.values(ruleTypeMappings) as unknown) as string[]; + return isRuleRegistryEnabled + ? ruleTypeValues.includes(partialAlert.alertTypeId as string) + : partialAlert.alertTypeId === SIGNALS_ID; }; export const isRuleStatusSavedObjectType = ( @@ -266,9 +273,12 @@ export interface CreateRulesOptions { version: Version; exceptionsList: ListArray; actions: RuleAlertAction[]; + isRuleRegistryEnabled: boolean; + namespace?: NamespaceOrUndefined; } export interface UpdateRulesOptions { + isRuleRegistryEnabled: boolean; spaceId: string; ruleStatusClient: IRuleExecutionLogClient; rulesClient: RulesClient; @@ -327,9 +337,11 @@ export interface PatchRulesOptions { exceptionsList: ListArrayOrUndefined; actions: RuleAlertAction[] | undefined; rule: SanitizedAlert | null; + namespace?: NamespaceOrUndefined; } export interface ReadRuleOptions { + isRuleRegistryEnabled: boolean; rulesClient: RulesClient; id: IdOrUndefined; ruleId: RuleIdOrUndefined; @@ -343,6 +355,7 @@ export interface DeleteRuleOptions { } export interface FindRuleOptions { + isRuleRegistryEnabled: boolean; rulesClient: RulesClient; perPage: PerPageOrUndefined; page: PageOrUndefined; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_prepacked_rules.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_prepacked_rules.test.ts index 5cc7f068aa06d..7c9f0c9ec67a3 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_prepacked_rules.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_prepacked_rules.test.ts @@ -13,7 +13,10 @@ import { getAddPrepackagedRulesSchemaDecodedMock } from '../../../../common/dete import { ruleExecutionLogClientMock } from '../rule_execution_log/__mocks__/rule_execution_log_client'; jest.mock('./patch_rules'); -describe('updatePrepackagedRules', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('updatePrepackagedRules - %s', (_, isRuleRegistryEnabled) => { let rulesClient: ReturnType; let ruleStatusClient: ReturnType; @@ -33,14 +36,15 @@ describe('updatePrepackagedRules', () => { ]; const outputIndex = 'outputIndex'; const prepackagedRule = getAddPrepackagedRulesSchemaDecodedMock(); - rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); + rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); await updatePrepackagedRules( rulesClient, 'default', ruleStatusClient, [{ ...prepackagedRule, actions }], - outputIndex + outputIndex, + isRuleRegistryEnabled ); expect(patchRules).toHaveBeenCalledWith( diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_prepacked_rules.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_prepacked_rules.ts index fcfab2fda1a8b..d9c2ecd1b5732 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_prepacked_rules.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_prepacked_rules.ts @@ -54,7 +54,8 @@ export const updatePrepackagedRules = async ( spaceId: string, ruleStatusClient: IRuleExecutionLogClient, rules: AddPrepackagedRulesSchemaDecoded[], - outputIndex: string + outputIndex: string, + isRuleRegistryEnabled: boolean ): Promise => { const ruleChunks = chunk(UPDATE_CHUNK_SIZE, rules); for (const ruleChunk of ruleChunks) { @@ -63,7 +64,8 @@ export const updatePrepackagedRules = async ( spaceId, ruleStatusClient, ruleChunk, - outputIndex + outputIndex, + isRuleRegistryEnabled ); await Promise.all(rulePromises); } @@ -83,7 +85,8 @@ export const createPromises = ( spaceId: string, ruleStatusClient: IRuleExecutionLogClient, rules: AddPrepackagedRulesSchemaDecoded[], - outputIndex: string + outputIndex: string, + isRuleRegistryEnabled: boolean ): Array | null>> => { return rules.map(async (rule) => { const { @@ -133,7 +136,12 @@ export const createPromises = ( exceptions_list: exceptionsList, } = rule; - const existingRule = await readRules({ rulesClient, ruleId, id: undefined }); + const existingRule = await readRules({ + isRuleRegistryEnabled, + rulesClient, + ruleId, + id: undefined, + }); // TODO: Fix these either with an is conversion or by better typing them within io-ts const filters: PartialFilter[] | undefined = filtersObject as PartialFilter[]; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_rules.mock.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_rules.mock.ts index df9431e00a67c..58d6cf1fd5e6b 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_rules.mock.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_rules.mock.ts @@ -11,20 +11,21 @@ import { getUpdateRulesSchemaMock, } from '../../../../common/detection_engine/schemas/request/rule_schemas.mock'; import { ruleExecutionLogClientMock } from '../rule_execution_log/__mocks__/rule_execution_log_client'; -import { UpdateRulesOptions } from './types'; -export const getUpdateRulesOptionsMock = (): UpdateRulesOptions => ({ +export const getUpdateRulesOptionsMock = (isRuleRegistryEnabled: boolean) => ({ spaceId: 'default', rulesClient: rulesClientMock.create(), ruleStatusClient: ruleExecutionLogClientMock.create(), defaultOutputIndex: '.siem-signals-default', ruleUpdate: getUpdateRulesSchemaMock(), + isRuleRegistryEnabled, }); -export const getUpdateMlRulesOptionsMock = (): UpdateRulesOptions => ({ +export const getUpdateMlRulesOptionsMock = (isRuleRegistryEnabled: boolean) => ({ spaceId: 'default', rulesClient: rulesClientMock.create(), ruleStatusClient: ruleExecutionLogClientMock.create(), defaultOutputIndex: '.siem-signals-default', ruleUpdate: getUpdateMachineLearningSchemaMock(), + isRuleRegistryEnabled, }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_rules.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_rules.test.ts index e46b4fad63a92..1ad5cd7ae934c 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_rules.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_rules.test.ts @@ -11,15 +11,18 @@ import { getUpdateRulesOptionsMock, getUpdateMlRulesOptionsMock } from './update import { RulesClientMock } from '../../../../../alerting/server/rules_client.mock'; import { getMlRuleParams, getQueryRuleParams } from '../schemas/rule_schemas.mock'; -describe('updateRules', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('updateRules - %s', (_, isRuleRegistryEnabled) => { it('should call rulesClient.disable if the rule was enabled and enabled is false', async () => { - const rulesOptionsMock = getUpdateRulesOptionsMock(); + const rulesOptionsMock = getUpdateRulesOptionsMock(isRuleRegistryEnabled); rulesOptionsMock.ruleUpdate.enabled = false; ((rulesOptionsMock.rulesClient as unknown) as RulesClientMock).get.mockResolvedValue( - getAlertMock(getQueryRuleParams()) + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) ); ((rulesOptionsMock.rulesClient as unknown) as RulesClientMock).update.mockResolvedValue( - getAlertMock(getQueryRuleParams()) + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) ); await updateRules(rulesOptionsMock); @@ -32,15 +35,15 @@ describe('updateRules', () => { }); it('should call rulesClient.enable if the rule was disabled and enabled is true', async () => { - const rulesOptionsMock = getUpdateRulesOptionsMock(); + const rulesOptionsMock = getUpdateRulesOptionsMock(isRuleRegistryEnabled); rulesOptionsMock.ruleUpdate.enabled = true; ((rulesOptionsMock.rulesClient as unknown) as RulesClientMock).get.mockResolvedValue({ - ...getAlertMock(getQueryRuleParams()), + ...getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()), enabled: false, }); ((rulesOptionsMock.rulesClient as unknown) as RulesClientMock).update.mockResolvedValue( - getAlertMock(getQueryRuleParams()) + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) ); await updateRules(rulesOptionsMock); @@ -53,15 +56,15 @@ describe('updateRules', () => { }); it('calls the rulesClient with params', async () => { - const rulesOptionsMock = getUpdateMlRulesOptionsMock(); + const rulesOptionsMock = getUpdateMlRulesOptionsMock(isRuleRegistryEnabled); rulesOptionsMock.ruleUpdate.enabled = true; ((rulesOptionsMock.rulesClient as unknown) as RulesClientMock).update.mockResolvedValue( - getAlertMock(getMlRuleParams()) + getAlertMock(isRuleRegistryEnabled, getMlRuleParams()) ); ((rulesOptionsMock.rulesClient as unknown) as RulesClientMock).get.mockResolvedValue( - getAlertMock(getMlRuleParams()) + getAlertMock(isRuleRegistryEnabled, getMlRuleParams()) ); await updateRules(rulesOptionsMock); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_rules.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_rules.ts index a3e0ba31f0c3c..f4060f7f831a9 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_rules.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_rules.ts @@ -14,11 +14,12 @@ import { readRules } from './read_rules'; import { UpdateRulesOptions } from './types'; import { addTags } from './add_tags'; import { typeSpecificSnakeToCamel } from '../schemas/rule_converters'; -import { InternalRuleUpdate, RuleParams } from '../schemas/rule_schemas'; +import { RuleParams } from '../schemas/rule_schemas'; import { enableRule } from './enable_rule'; import { maybeMute, transformToAlertThrottle, transformToNotifyWhen } from './utils'; export const updateRules = async ({ + isRuleRegistryEnabled, spaceId, rulesClient, ruleStatusClient, @@ -26,6 +27,7 @@ export const updateRules = async ({ ruleUpdate, }: UpdateRulesOptions): Promise | null> => { const existingRule = await readRules({ + isRuleRegistryEnabled, rulesClient, ruleId: ruleUpdate.rule_id, id: ruleUpdate.id, @@ -36,7 +38,7 @@ export const updateRules = async ({ const typeSpecificParams = typeSpecificSnakeToCamel(ruleUpdate); const enabled = ruleUpdate.enabled ?? true; - const newInternalRule: InternalRuleUpdate = { + const newInternalRule = { name: ruleUpdate.name, tags: addTags(ruleUpdate.tags ?? [], existingRule.params.ruleId, existingRule.params.immutable), params: { @@ -63,6 +65,7 @@ export const updateRules = async ({ timestampOverride: ruleUpdate.timestamp_override, to: ruleUpdate.to ?? 'now', references: ruleUpdate.references ?? [], + namespace: ruleUpdate.namespace, note: ruleUpdate.note, // Always use the version from the request if specified. If it isn't specified, leave immutable rules alone and // increment the version of mutable rules by 1. diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/utils.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/utils.test.ts index 602e422772711..95e8552c4b14b 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/utils.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/utils.test.ts @@ -81,6 +81,7 @@ describe('utils', () => { type: undefined, references: undefined, version: undefined, + namespace: undefined, note: undefined, anomalyThreshold: undefined, machineLearningJobId: undefined, @@ -131,6 +132,7 @@ describe('utils', () => { type: undefined, references: undefined, version: undefined, + namespace: undefined, note: undefined, anomalyThreshold: undefined, machineLearningJobId: undefined, @@ -181,6 +183,7 @@ describe('utils', () => { type: undefined, references: undefined, version: undefined, + namespace: undefined, note: undefined, anomalyThreshold: undefined, machineLearningJobId: undefined, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/utils.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/utils.ts index d9d5151a64c46..3fdd97b7d933f 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/utils.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/utils.ts @@ -52,6 +52,7 @@ import { RuleNameOverrideOrUndefined, TimestampOverrideOrUndefined, EventCategoryOverrideOrUndefined, + NamespaceOrUndefined, } from '../../../../common/detection_engine/schemas/common/schemas'; import { PartialFilter } from '../types'; import { RuleParams } from '../schemas/rule_schemas'; @@ -118,6 +119,7 @@ export interface UpdateProperties { version: VersionOrUndefined; exceptionsList: ListArrayOrUndefined; anomalyThreshold: AnomalyThresholdOrUndefined; + namespace: NamespaceOrUndefined; } export const calculateVersion = ( diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/schemas/rule_converters.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/schemas/rule_converters.ts index 8a67636c6649d..5214be513a0e6 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/schemas/rule_converters.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/schemas/rule_converters.ts @@ -36,6 +36,7 @@ import { transformToAlertThrottle, transformToNotifyWhen, } from '../rules/utils'; +import { ruleTypeMappings } from '../signals/utils'; // These functions provide conversions from the request API schema to the internal rule schema and from the internal rule schema // to the response API schema. This provides static type-check assurances that the internal schema is in sync with the API schema for @@ -121,14 +122,15 @@ export const typeSpecificSnakeToCamel = (params: CreateTypeSpecific): TypeSpecif export const convertCreateAPIToInternalSchema = ( input: CreateRulesSchema, - siemClient: AppClient + siemClient: AppClient, + isRuleRegistryEnabled: boolean ): InternalRuleCreate => { const typeSpecificParams = typeSpecificSnakeToCamel(input); const newRuleId = input.rule_id ?? uuid.v4(); return { name: input.name, tags: addTags(input.tags ?? [], newRuleId, false), - alertTypeId: SIGNALS_ID, + alertTypeId: isRuleRegistryEnabled ? ruleTypeMappings[input.type] : SIGNALS_ID, consumer: SERVER_APP_ID, params: { author: input.author ?? [], @@ -153,6 +155,7 @@ export const convertCreateAPIToInternalSchema = ( timestampOverride: input.timestamp_override, to: input.to ?? 'now', references: input.references ?? [], + namespace: input.namespace, note: input.note, version: input.version ?? 1, exceptionsList: input.exceptions_list ?? [], @@ -249,6 +252,7 @@ export const commonParamsCamelToSnake = (params: BaseRuleParams) => { risk_score: params.riskScore, severity: params.severity, building_block_type: params.buildingBlockType, + namespace: params.namespace, note: params.note, license: params.license, output_index: params.outputIndex, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/schemas/rule_schemas.mock.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/schemas/rule_schemas.mock.ts index 846a4e26410a3..506f40af2ee79 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/schemas/rule_schemas.mock.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/schemas/rule_schemas.mock.ts @@ -36,6 +36,7 @@ const getBaseRuleParams = (): BaseRuleParams => { riskScoreMapping: [], ruleNameOverride: undefined, maxSignals: 10000, + namespace: undefined, note: '# Investigative notes', timelineId: 'some-timeline-id', timelineTitle: 'some-timeline-title', diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/schemas/rule_schemas.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/schemas/rule_schemas.ts index c414ecc8655a3..e9215084614c0 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/schemas/rule_schemas.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/schemas/rule_schemas.ts @@ -32,6 +32,7 @@ import { buildingBlockTypeOrUndefined, description, enabled, + namespaceOrUndefined, noteOrUndefined, false_positives, rule_id, @@ -62,7 +63,13 @@ import { updated_at, } from '../../../../common/detection_engine/schemas/common/schemas'; -import { SIGNALS_ID, SERVER_APP_ID } from '../../../../common/constants'; +import { + SIGNALS_ID, + SERVER_APP_ID, + INDICATOR_RULE_TYPE_ID, + ML_RULE_TYPE_ID, + QUERY_RULE_TYPE_ID, +} from '../../../../common/constants'; const nonEqlLanguages = t.keyof({ kuery: null, lucene: null }); export const baseRuleParams = t.exact( @@ -70,6 +77,7 @@ export const baseRuleParams = t.exact( author, buildingBlockType: buildingBlockTypeOrUndefined, description, + namespace: namespaceOrUndefined, note: noteOrUndefined, falsePositives: false_positives, from, @@ -196,10 +204,21 @@ export const notifyWhen = t.union([ t.null, ]); +export const allRuleTypes = t.union([ + t.literal(SIGNALS_ID), + // t.literal(EQL_RULE_TYPE_ID), + t.literal(ML_RULE_TYPE_ID), + t.literal(QUERY_RULE_TYPE_ID), + // t.literal(SAVED_QUERY_RULE_TYPE_ID), + t.literal(INDICATOR_RULE_TYPE_ID), + // t.literal(THRESHOLD_RULE_TYPE_ID), +]); +export type AllRuleTypes = t.TypeOf; + export const internalRuleCreate = t.type({ name, tags, - alertTypeId: t.literal(SIGNALS_ID), + alertTypeId: allRuleTypes, consumer: t.literal(SERVER_APP_ID), schedule: t.type({ interval: t.string, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/search_after_bulk_create.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/search_after_bulk_create.ts index 8037a9a201510..52b0799f5fe33 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/search_after_bulk_create.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/search_after_bulk_create.ts @@ -182,7 +182,7 @@ export const searchAfterAndBulkCreate = async ({ break; } } catch (exc: unknown) { - logger.error(buildRuleMessage(`[-] search_after and bulk threw an error ${exc}`)); + logger.error(buildRuleMessage(`[-] search_after_bulk_create threw an error ${exc}`)); return mergeReturns([ toReturn, createSearchAfterReturnType({ diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/signal_rule_alert_type.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/signal_rule_alert_type.test.ts index 9af8680ec726a..2696d6981083e 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/signal_rule_alert_type.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/signal_rule_alert_type.test.ts @@ -177,7 +177,7 @@ describe('signal_rule_alert_type', () => { alertServices.scopedClusterClient.asCurrentUser.fieldCaps.mockResolvedValue( value as ApiResponse ); - const ruleAlert = getAlertMock(getQueryRuleParams()); + const ruleAlert = getAlertMock(false, getQueryRuleParams()); alertServices.savedObjectsClient.get.mockResolvedValue({ id: 'id', type: 'type', @@ -245,7 +245,7 @@ describe('signal_rule_alert_type', () => { }, application: {}, }); - const newRuleAlert = getAlertMock(getQueryRuleParams()); + const newRuleAlert = getAlertMock(false, getQueryRuleParams()); newRuleAlert.params.index = ['some*', 'myfa*', 'anotherindex*']; payload = getPayload(newRuleAlert, alertServices) as jest.Mocked; @@ -274,7 +274,7 @@ describe('signal_rule_alert_type', () => { }, application: {}, }); - const newRuleAlert = getAlertMock(getQueryRuleParams()); + const newRuleAlert = getAlertMock(false, getQueryRuleParams()); newRuleAlert.params.index = ['some*', 'myfa*', 'anotherindex*']; payload = getPayload(newRuleAlert, alertServices) as jest.Mocked; @@ -309,7 +309,7 @@ describe('signal_rule_alert_type', () => { }); it('should call scheduleActions if signalsCount was greater than 0 and rule has actions defined', async () => { - const ruleAlert = getAlertMock(getQueryRuleParams()); + const ruleAlert = getAlertMock(false, getQueryRuleParams()); ruleAlert.actions = [ { actionTypeId: '.slack', @@ -333,7 +333,7 @@ describe('signal_rule_alert_type', () => { }); it('should resolve results_link when meta is an empty object to use "/app/security"', async () => { - const ruleAlert = getAlertMock(getQueryRuleParams()); + const ruleAlert = getAlertMock(false, getQueryRuleParams()); ruleAlert.params.meta = {}; ruleAlert.actions = [ { @@ -366,7 +366,7 @@ describe('signal_rule_alert_type', () => { }); it('should resolve results_link when meta is undefined use "/app/security"', async () => { - const ruleAlert = getAlertMock(getQueryRuleParams()); + const ruleAlert = getAlertMock(false, getQueryRuleParams()); delete ruleAlert.params.meta; ruleAlert.actions = [ { @@ -399,7 +399,7 @@ describe('signal_rule_alert_type', () => { }); it('should resolve results_link with a custom link', async () => { - const ruleAlert = getAlertMock(getQueryRuleParams()); + const ruleAlert = getAlertMock(false, getQueryRuleParams()); ruleAlert.params.meta = { kibana_siem_app_url: 'http://localhost' }; ruleAlert.actions = [ { @@ -433,7 +433,7 @@ describe('signal_rule_alert_type', () => { describe('ML rule', () => { it('should not call checkPrivileges if ML rule', async () => { - const ruleAlert = getAlertMock(getMlRuleParams()); + const ruleAlert = getAlertMock(false, getMlRuleParams()); alertServices.savedObjectsClient.get.mockResolvedValue({ id: 'id', type: 'type', diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.ts index dc929ed0fdeb1..aee265a2cfdfe 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.ts @@ -62,6 +62,12 @@ import { import { WrappedRACAlert } from '../rule_types/types'; import { SearchTypes } from '../../../../common/detection_engine/types'; import { IRuleExecutionLogClient } from '../rule_execution_log/types'; +import { + INDICATOR_RULE_TYPE_ID, + ML_RULE_TYPE_ID, + QUERY_RULE_TYPE_ID, + SIGNALS_ID, +} from '../../../../common/constants'; interface SortExceptionsReturn { exceptionsWithValueLists: ExceptionListItemSchema[]; @@ -999,3 +1005,15 @@ export const getField = (event: SimpleHit, field: string) return get(event._source, field) as T; } }; + +/** + * Maps legacy rule types to RAC rule type IDs. + */ +export const ruleTypeMappings = { + eql: SIGNALS_ID, + machine_learning: ML_RULE_TYPE_ID, + query: QUERY_RULE_TYPE_ID, + saved_query: SIGNALS_ID, + threat_match: INDICATOR_RULE_TYPE_ID, + threshold: SIGNALS_ID, +}; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/tags/read_tags.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/tags/read_tags.test.ts index 1b7bf048646ed..505f8958ca44d 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/tags/read_tags.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/tags/read_tags.test.ts @@ -11,19 +11,22 @@ import { INTERNAL_RULE_ID_KEY, INTERNAL_IDENTIFIER } from '../../../../common/co import { readRawTags, readTags, convertTagsToSet, convertToTags, isTags } from './read_tags'; import { getQueryRuleParams } from '../schemas/rule_schemas.mock'; -describe('read_tags', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('read_tags - %s', (_, isRuleRegistryEnabled) => { afterEach(() => { jest.resetAllMocks(); }); describe('readRawTags', () => { test('it should return the intersection of tags to where none are repeating', async () => { - const result1 = getAlertMock(getQueryRuleParams()); + const result1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result1.id = '4baa53f8-96da-44ee-ad58-41bccb7f9f3d'; result1.params.ruleId = 'rule-1'; result1.tags = ['tag 1', 'tag 2', 'tag 3']; - const result2 = getAlertMock(getQueryRuleParams()); + const result2 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result2.id = '5baa53f8-96da-44ee-ad58-41bccb7f9f3d'; result2.params.ruleId = 'rule-2'; result2.tags = ['tag 1', 'tag 2', 'tag 3', 'tag 4']; @@ -31,17 +34,17 @@ describe('read_tags', () => { const rulesClient = rulesClientMock.create(); rulesClient.find.mockResolvedValue(getFindResultWithMultiHits({ data: [result1, result2] })); - const tags = await readRawTags({ rulesClient }); + const tags = await readRawTags({ isRuleRegistryEnabled, rulesClient }); expect(tags).toEqual(['tag 1', 'tag 2', 'tag 3', 'tag 4']); }); test('it should return the intersection of tags to where some are repeating values', async () => { - const result1 = getAlertMock(getQueryRuleParams()); + const result1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result1.id = '4baa53f8-96da-44ee-ad58-41bccb7f9f3d'; result1.params.ruleId = 'rule-1'; result1.tags = ['tag 1', 'tag 2', 'tag 2', 'tag 3']; - const result2 = getAlertMock(getQueryRuleParams()); + const result2 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result2.id = '5baa53f8-96da-44ee-ad58-41bccb7f9f3d'; result2.params.ruleId = 'rule-2'; result2.tags = ['tag 1', 'tag 2', 'tag 2', 'tag 3', 'tag 4']; @@ -49,17 +52,17 @@ describe('read_tags', () => { const rulesClient = rulesClientMock.create(); rulesClient.find.mockResolvedValue(getFindResultWithMultiHits({ data: [result1, result2] })); - const tags = await readRawTags({ rulesClient }); + const tags = await readRawTags({ isRuleRegistryEnabled, rulesClient }); expect(tags).toEqual(['tag 1', 'tag 2', 'tag 3', 'tag 4']); }); test('it should work with no tags defined between two results', async () => { - const result1 = getAlertMock(getQueryRuleParams()); + const result1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result1.id = '4baa53f8-96da-44ee-ad58-41bccb7f9f3d'; result1.params.ruleId = 'rule-1'; result1.tags = []; - const result2 = getAlertMock(getQueryRuleParams()); + const result2 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result2.id = '5baa53f8-96da-44ee-ad58-41bccb7f9f3d'; result2.params.ruleId = 'rule-2'; result2.tags = []; @@ -67,12 +70,12 @@ describe('read_tags', () => { const rulesClient = rulesClientMock.create(); rulesClient.find.mockResolvedValue(getFindResultWithMultiHits({ data: [result1, result2] })); - const tags = await readRawTags({ rulesClient }); + const tags = await readRawTags({ isRuleRegistryEnabled, rulesClient }); expect(tags).toEqual([]); }); test('it should work with a single tag which has repeating values in it', async () => { - const result1 = getAlertMock(getQueryRuleParams()); + const result1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result1.id = '4baa53f8-96da-44ee-ad58-41bccb7f9f3d'; result1.params.ruleId = 'rule-1'; result1.tags = ['tag 1', 'tag 1', 'tag 1', 'tag 2']; @@ -80,12 +83,12 @@ describe('read_tags', () => { const rulesClient = rulesClientMock.create(); rulesClient.find.mockResolvedValue(getFindResultWithMultiHits({ data: [result1] })); - const tags = await readRawTags({ rulesClient }); + const tags = await readRawTags({ isRuleRegistryEnabled, rulesClient }); expect(tags).toEqual(['tag 1', 'tag 2']); }); test('it should work with a single tag which has empty tags', async () => { - const result1 = getAlertMock(getQueryRuleParams()); + const result1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result1.id = '4baa53f8-96da-44ee-ad58-41bccb7f9f3d'; result1.params.ruleId = 'rule-1'; result1.tags = []; @@ -93,19 +96,19 @@ describe('read_tags', () => { const rulesClient = rulesClientMock.create(); rulesClient.find.mockResolvedValue(getFindResultWithMultiHits({ data: [result1] })); - const tags = await readRawTags({ rulesClient }); + const tags = await readRawTags({ isRuleRegistryEnabled, rulesClient }); expect(tags).toEqual([]); }); }); describe('readTags', () => { test('it should return the intersection of tags to where none are repeating', async () => { - const result1 = getAlertMock(getQueryRuleParams()); + const result1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result1.id = '4baa53f8-96da-44ee-ad58-41bccb7f9f3d'; result1.params.ruleId = 'rule-1'; result1.tags = ['tag 1', 'tag 2', 'tag 3']; - const result2 = getAlertMock(getQueryRuleParams()); + const result2 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result2.id = '5baa53f8-96da-44ee-ad58-41bccb7f9f3d'; result2.params.ruleId = 'rule-2'; result2.tags = ['tag 1', 'tag 2', 'tag 3', 'tag 4']; @@ -113,17 +116,17 @@ describe('read_tags', () => { const rulesClient = rulesClientMock.create(); rulesClient.find.mockResolvedValue(getFindResultWithMultiHits({ data: [result1, result2] })); - const tags = await readTags({ rulesClient }); + const tags = await readTags({ isRuleRegistryEnabled, rulesClient }); expect(tags).toEqual(['tag 1', 'tag 2', 'tag 3', 'tag 4']); }); test('it should return the intersection of tags to where some are repeating values', async () => { - const result1 = getAlertMock(getQueryRuleParams()); + const result1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result1.id = '4baa53f8-96da-44ee-ad58-41bccb7f9f3d'; result1.params.ruleId = 'rule-1'; result1.tags = ['tag 1', 'tag 2', 'tag 2', 'tag 3']; - const result2 = getAlertMock(getQueryRuleParams()); + const result2 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result2.id = '5baa53f8-96da-44ee-ad58-41bccb7f9f3d'; result2.params.ruleId = 'rule-2'; result2.tags = ['tag 1', 'tag 2', 'tag 2', 'tag 3', 'tag 4']; @@ -131,17 +134,17 @@ describe('read_tags', () => { const rulesClient = rulesClientMock.create(); rulesClient.find.mockResolvedValue(getFindResultWithMultiHits({ data: [result1, result2] })); - const tags = await readTags({ rulesClient }); + const tags = await readTags({ isRuleRegistryEnabled, rulesClient }); expect(tags).toEqual(['tag 1', 'tag 2', 'tag 3', 'tag 4']); }); test('it should work with no tags defined between two results', async () => { - const result1 = getAlertMock(getQueryRuleParams()); + const result1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result1.id = '4baa53f8-96da-44ee-ad58-41bccb7f9f3d'; result1.params.ruleId = 'rule-1'; result1.tags = []; - const result2 = getAlertMock(getQueryRuleParams()); + const result2 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result2.id = '5baa53f8-96da-44ee-ad58-41bccb7f9f3d'; result2.params.ruleId = 'rule-2'; result2.tags = []; @@ -149,12 +152,12 @@ describe('read_tags', () => { const rulesClient = rulesClientMock.create(); rulesClient.find.mockResolvedValue(getFindResultWithMultiHits({ data: [result1, result2] })); - const tags = await readTags({ rulesClient }); + const tags = await readTags({ isRuleRegistryEnabled, rulesClient }); expect(tags).toEqual([]); }); test('it should work with a single tag which has repeating values in it', async () => { - const result1 = getAlertMock(getQueryRuleParams()); + const result1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result1.id = '4baa53f8-96da-44ee-ad58-41bccb7f9f3d'; result1.params.ruleId = 'rule-1'; result1.tags = ['tag 1', 'tag 1', 'tag 1', 'tag 2']; @@ -162,12 +165,12 @@ describe('read_tags', () => { const rulesClient = rulesClientMock.create(); rulesClient.find.mockResolvedValue(getFindResultWithMultiHits({ data: [result1] })); - const tags = await readTags({ rulesClient }); + const tags = await readTags({ isRuleRegistryEnabled, rulesClient }); expect(tags).toEqual(['tag 1', 'tag 2']); }); test('it should work with a single tag which has empty tags', async () => { - const result1 = getAlertMock(getQueryRuleParams()); + const result1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result1.id = '4baa53f8-96da-44ee-ad58-41bccb7f9f3d'; result1.params.ruleId = 'rule-1'; result1.tags = []; @@ -175,12 +178,12 @@ describe('read_tags', () => { const rulesClient = rulesClientMock.create(); rulesClient.find.mockResolvedValue(getFindResultWithMultiHits({ data: [result1] })); - const tags = await readTags({ rulesClient }); + const tags = await readTags({ isRuleRegistryEnabled, rulesClient }); expect(tags).toEqual([]); }); test('it should filter out any __internal tags for things such as alert_id', async () => { - const result1 = getAlertMock(getQueryRuleParams()); + const result1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result1.id = '4baa53f8-96da-44ee-ad58-41bccb7f9f3d'; result1.params.ruleId = 'rule-1'; result1.tags = [ @@ -192,12 +195,12 @@ describe('read_tags', () => { const rulesClient = rulesClientMock.create(); rulesClient.find.mockResolvedValue(getFindResultWithMultiHits({ data: [result1] })); - const tags = await readTags({ rulesClient }); + const tags = await readTags({ isRuleRegistryEnabled, rulesClient }); expect(tags).toEqual(['tag 1']); }); test('it should filter out any __internal tags with two different results', async () => { - const result1 = getAlertMock(getQueryRuleParams()); + const result1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result1.id = '4baa53f8-96da-44ee-ad58-41bccb7f9f3d'; result1.params.ruleId = 'rule-1'; result1.tags = [ @@ -210,7 +213,7 @@ describe('read_tags', () => { 'tag 5', ]; - const result2 = getAlertMock(getQueryRuleParams()); + const result2 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result2.id = '5baa53f8-96da-44ee-ad58-41bccb7f9f3d'; result2.params.ruleId = 'rule-2'; result2.tags = [ @@ -225,19 +228,19 @@ describe('read_tags', () => { const rulesClient = rulesClientMock.create(); rulesClient.find.mockResolvedValue(getFindResultWithMultiHits({ data: [result1] })); - const tags = await readTags({ rulesClient }); + const tags = await readTags({ isRuleRegistryEnabled, rulesClient }); expect(tags).toEqual(['tag 1', 'tag 2', 'tag 3', 'tag 4', 'tag 5']); }); }); describe('convertTagsToSet', () => { test('it should convert the intersection of two tag systems without duplicates', () => { - const result1 = getAlertMock(getQueryRuleParams()); + const result1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result1.id = '4baa53f8-96da-44ee-ad58-41bccb7f9f3d'; result1.params.ruleId = 'rule-1'; result1.tags = ['tag 1', 'tag 2', 'tag 2', 'tag 3']; - const result2 = getAlertMock(getQueryRuleParams()); + const result2 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result2.id = '5baa53f8-96da-44ee-ad58-41bccb7f9f3d'; result2.params.ruleId = 'rule-2'; result2.tags = ['tag 1', 'tag 2', 'tag 2', 'tag 3', 'tag 4']; @@ -255,12 +258,12 @@ describe('read_tags', () => { describe('convertToTags', () => { test('it should convert the two tag systems together with duplicates', () => { - const result1 = getAlertMock(getQueryRuleParams()); + const result1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result1.id = '4baa53f8-96da-44ee-ad58-41bccb7f9f3d'; result1.params.ruleId = 'rule-1'; result1.tags = ['tag 1', 'tag 2', 'tag 2', 'tag 3']; - const result2 = getAlertMock(getQueryRuleParams()); + const result2 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result2.id = '5baa53f8-96da-44ee-ad58-41bccb7f9f3d'; result2.params.ruleId = 'rule-2'; result2.tags = ['tag 1', 'tag 2', 'tag 2', 'tag 3', 'tag 4']; @@ -281,18 +284,18 @@ describe('read_tags', () => { }); test('it should filter out anything that is not a tag', () => { - const result1 = getAlertMock(getQueryRuleParams()); + const result1 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result1.id = '4baa53f8-96da-44ee-ad58-41bccb7f9f3d'; result1.params.ruleId = 'rule-1'; result1.tags = ['tag 1', 'tag 2', 'tag 2', 'tag 3']; - const result2 = getAlertMock(getQueryRuleParams()); + const result2 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result2.id = '99979e67-19a7-455f-b452-8eded6135716'; result2.params.ruleId = 'rule-2'; // @ts-expect-error delete result2.tags; - const result3 = getAlertMock(getQueryRuleParams()); + const result3 = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); result3.id = '5baa53f8-96da-44ee-ad58-41bccb7f9f3d'; result3.params.ruleId = 'rule-2'; result3.tags = ['tag 1', 'tag 2', 'tag 2', 'tag 3', 'tag 4']; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/tags/read_tags.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/tags/read_tags.ts index 2314a8a49f567..183ac6f777963 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/tags/read_tags.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/tags/read_tags.ts @@ -40,22 +40,27 @@ export const convertTagsToSet = (tagObjects: object[]): Set => { // then this should be replaced with a an aggregation call. // Ref: https://www.elastic.co/guide/en/kibana/master/saved-objects-api.html export const readTags = async ({ + isRuleRegistryEnabled, rulesClient, }: { + isRuleRegistryEnabled: boolean; rulesClient: RulesClient; }): Promise => { - const tags = await readRawTags({ rulesClient }); + const tags = await readRawTags({ isRuleRegistryEnabled, rulesClient }); return tags.filter((tag) => !tag.startsWith(INTERNAL_IDENTIFIER)); }; export const readRawTags = async ({ + isRuleRegistryEnabled, rulesClient, }: { + isRuleRegistryEnabled: boolean; rulesClient: RulesClient; perPage?: number; }): Promise => { // Get just one record so we can get the total count const firstTags = await findRules({ + isRuleRegistryEnabled, rulesClient, fields: ['tags'], perPage: 1, @@ -66,6 +71,7 @@ export const readRawTags = async ({ }); // Get all the rules to aggregate over all the tags of the rules const rules = await findRules({ + isRuleRegistryEnabled, rulesClient, fields: ['tags'], perPage: firstTags.total, diff --git a/x-pack/plugins/security_solution/server/lib/timeline/routes/prepackaged_timelines/install_prepackaged_timelines/helpers.test.ts b/x-pack/plugins/security_solution/server/lib/timeline/routes/prepackaged_timelines/install_prepackaged_timelines/helpers.test.ts index f30f80a4cf14c..c384c1df80ad1 100644 --- a/x-pack/plugins/security_solution/server/lib/timeline/routes/prepackaged_timelines/install_prepackaged_timelines/helpers.test.ts +++ b/x-pack/plugins/security_solution/server/lib/timeline/routes/prepackaged_timelines/install_prepackaged_timelines/helpers.test.ts @@ -5,8 +5,6 @@ * 2.0. */ -import { join, resolve } from 'path'; - import { createPromiseFromStreams } from '@kbn/utils'; import { SecurityPluginSetup } from '../../../../../../../security/server'; @@ -21,17 +19,20 @@ import { getFindResultWithSingleHit, } from '../../../../detection_engine/routes/__mocks__/request_responses'; -import * as lib from './helpers'; -import { importTimelines } from '../../timelines/import_timelines'; +import * as helpers from './helpers'; +import { importTimelines } from '../../timelines/import_timelines/helpers'; import { buildFrameworkRequest } from '../../../utils/common'; import { ImportTimelineResultSchema } from '../../../../../../common/types/timeline'; -jest.mock('../../timelines/import_timelines'); +jest.mock('../../timelines/import_timelines/helpers'); -describe('installPrepackagedTimelines', () => { +describe.each([ + ['Legacy', false], + ['RAC', true], +])('installPrepackagedTimelines - %s', (_, isRuleRegistryEnabled) => { let securitySetup: SecurityPluginSetup; let frameworkRequest: FrameworkRequest; - const spyInstallPrepackagedTimelines = jest.spyOn(lib, 'installPrepackagedTimelines'); + const spyInstallPrepackagedTimelines = jest.spyOn(helpers, 'installPrepackagedTimelines'); const { clients, context } = requestContextMock.createTools(); const config = createMockConfig(); @@ -46,11 +47,11 @@ describe('installPrepackagedTimelines', () => { authz: {}, } as unknown) as SecurityPluginSetup; - clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); + clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); jest.doMock('./helpers', () => { return { - ...lib, + ...helpers, installPrepackagedTimelines: spyInstallPrepackagedTimelines, }; }); @@ -60,7 +61,7 @@ describe('installPrepackagedTimelines', () => { }); afterEach(() => { - spyInstallPrepackagedTimelines.mockClear(); + jest.clearAllMocks(); }); afterAll(() => { @@ -68,10 +69,10 @@ describe('installPrepackagedTimelines', () => { }); test('should call importTimelines', async () => { - await lib.installPrepackagedTimelines( + await helpers.installPrepackagedTimelines( config.maxTimelineImportExportSize, frameworkRequest, - true, + false, mockFilePath, mockFileName ); @@ -80,14 +81,12 @@ describe('installPrepackagedTimelines', () => { }); test('should call importTimelines with Readables', async () => { - const dir = resolve(join(__dirname, mockFilePath)); - const file = mockFileName; - await lib.installPrepackagedTimelines( + await helpers.installPrepackagedTimelines( config.maxTimelineImportExportSize, frameworkRequest, true, - dir, - file + mockFilePath, + mockFileName ); const args = await createPromiseFromStreams([(importTimelines as jest.Mock).mock.calls[0][0]]); const expected = JSON.stringify({ @@ -194,14 +193,12 @@ describe('installPrepackagedTimelines', () => { }); test('should call importTimelines with maxTimelineImportExportSize', async () => { - const dir = resolve(join(__dirname, mockFilePath)); - const file = mockFileName; - await lib.installPrepackagedTimelines( + await helpers.installPrepackagedTimelines( config.maxTimelineImportExportSize, frameworkRequest, true, - dir, - file + mockFilePath, + mockFileName ); expect((importTimelines as jest.Mock).mock.calls[0][1]).toEqual( @@ -210,14 +207,12 @@ describe('installPrepackagedTimelines', () => { }); test('should call importTimelines with frameworkRequest', async () => { - const dir = resolve(join(__dirname, mockFilePath)); - const file = mockFileName; - await lib.installPrepackagedTimelines( + await helpers.installPrepackagedTimelines( config.maxTimelineImportExportSize, frameworkRequest, true, - dir, - file + mockFilePath, + mockFileName ); expect(JSON.stringify((importTimelines as jest.Mock).mock.calls[0][2])).toEqual( @@ -226,21 +221,19 @@ describe('installPrepackagedTimelines', () => { }); test('should call importTimelines with immutable', async () => { - const dir = resolve(join(__dirname, mockFilePath)); - const file = mockFileName; - await lib.installPrepackagedTimelines( + await helpers.installPrepackagedTimelines( config.maxTimelineImportExportSize, frameworkRequest, true, - dir, - file + mockFilePath, + mockFileName ); expect((importTimelines as jest.Mock).mock.calls[0][3]).toEqual(true); }); test('should handle errors from getReadables', async () => { - const result = await lib.installPrepackagedTimelines( + const result = await helpers.installPrepackagedTimelines( config.maxTimelineImportExportSize, frameworkRequest, true, diff --git a/x-pack/plugins/security_solution/server/plugin.ts b/x-pack/plugins/security_solution/server/plugin.ts index 4e4d0be5a7411..e1af47de8f152 100644 --- a/x-pack/plugins/security_solution/server/plugin.ts +++ b/x-pack/plugins/security_solution/server/plugin.ts @@ -63,10 +63,10 @@ import { SERVER_APP_ID, SIGNALS_ID, NOTIFICATIONS_ID, - QUERY_ALERT_TYPE_ID, + QUERY_RULE_TYPE_ID, DEFAULT_SPACE_ID, - INDICATOR_ALERT_TYPE_ID, - ML_ALERT_TYPE_ID, + INDICATOR_RULE_TYPE_ID, + ML_RULE_TYPE_ID, } from '../common/constants'; import { registerEndpointRoutes } from './endpoint/routes/metadata'; import { registerLimitedConcurrencyRoutes } from './endpoint/routes/limited_concurrency'; @@ -272,7 +272,7 @@ export class Plugin implements IPlugin { // Detection Engine Rule routes that have the REST endpoints of /api/detection_engine/rules // All REST rule creation, deletion, updating, etc...... - createRulesRoute(router, ml, ruleDataClient); - readRulesRoute(router, ruleDataClient); - updateRulesRoute(router, ml, ruleDataClient); - patchRulesRoute(router, ml, ruleDataClient); - deleteRulesRoute(router, ruleDataClient); - findRulesRoute(router, ruleDataClient); - - // TODO: pass ruleDataClient to all relevant routes - - addPrepackedRulesRoute(router, config, security); - getPrepackagedRulesStatusRoute(router, config, security); - createRulesBulkRoute(router, ml); - updateRulesBulkRoute(router, ml); - patchRulesBulkRoute(router, ml); - deleteRulesBulkRoute(router); - performBulkActionRoute(router, ml); + createRulesRoute(router, ml, isRuleRegistryEnabled); + readRulesRoute(router, isRuleRegistryEnabled); + updateRulesRoute(router, ml, isRuleRegistryEnabled); + patchRulesRoute(router, ml, isRuleRegistryEnabled); + deleteRulesRoute(router, isRuleRegistryEnabled); + findRulesRoute(router, isRuleRegistryEnabled); + + // TODO: pass isRuleRegistryEnabled to all relevant routes + + addPrepackedRulesRoute(router, config, security, isRuleRegistryEnabled); + getPrepackagedRulesStatusRoute(router, config, security, isRuleRegistryEnabled); + createRulesBulkRoute(router, ml, isRuleRegistryEnabled); + updateRulesBulkRoute(router, ml, isRuleRegistryEnabled); + patchRulesBulkRoute(router, ml, isRuleRegistryEnabled); + deleteRulesBulkRoute(router, isRuleRegistryEnabled); + performBulkActionRoute(router, ml, isRuleRegistryEnabled); createTimelinesRoute(router, config, security); patchTimelinesRoute(router, config, security); - importRulesRoute(router, config, ml); - exportRulesRoute(router, config); + importRulesRoute(router, config, ml, isRuleRegistryEnabled); + exportRulesRoute(router, config, isRuleRegistryEnabled); importTimelinesRoute(router, config, security); exportTimelinesRoute(router, config, security); @@ -123,7 +123,7 @@ export const initRoutes = ( deleteIndexRoute(router); // Detection Engine tags routes that have the REST endpoints of /api/detection_engine/tags - readTagsRoute(router); + readTagsRoute(router, isRuleRegistryEnabled); // Privileges API to get the generic user privileges readPrivilegesRoute(router, hasEncryptionKey); From de2cfd2e65ff9d3cdda0df5fd25c32f86a3e6dd0 Mon Sep 17 00:00:00 2001 From: Spencer Date: Thu, 9 Sep 2021 11:26:08 -0700 Subject: [PATCH 26/57] [ci] bump Jenkins worker memory and es JVM size (#111760) Co-authored-by: spalger --- packages/kbn-es/src/cluster.js | 3 ++- packages/kbn-es/src/integration_tests/cluster.test.js | 4 ++-- vars/workers.groovy | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/kbn-es/src/cluster.js b/packages/kbn-es/src/cluster.js index 32709fc608617..ac4380da88be0 100644 --- a/packages/kbn-es/src/cluster.js +++ b/packages/kbn-es/src/cluster.js @@ -278,7 +278,8 @@ exports.Cluster = class Cluster { // especially because we currently run many instances of ES on the same machine during CI // inital and max must be the same, so we only need to check the max if (!esJavaOpts.includes('Xmx')) { - esJavaOpts += ' -Xms1g -Xmx1g'; + // 1536m === 1.5g + esJavaOpts += ' -Xms1536m -Xmx1536m'; } this._log.debug('ES_JAVA_OPTS: %s', esJavaOpts.trim()); diff --git a/packages/kbn-es/src/integration_tests/cluster.test.js b/packages/kbn-es/src/integration_tests/cluster.test.js index 34220b08d2120..c196a89a6b090 100644 --- a/packages/kbn-es/src/integration_tests/cluster.test.js +++ b/packages/kbn-es/src/integration_tests/cluster.test.js @@ -368,7 +368,7 @@ describe('#run()', () => { const cluster = new Cluster({ log }); await cluster.run(); - expect(execa.mock.calls[0][2].env.ES_JAVA_OPTS).toEqual('-Xms1g -Xmx1g'); + expect(execa.mock.calls[0][2].env.ES_JAVA_OPTS).toMatchInlineSnapshot(`"-Xms1536m -Xmx1536m"`); }); it('allows Java heap to be overwritten', async () => { @@ -378,7 +378,7 @@ describe('#run()', () => { const cluster = new Cluster({ log }); await cluster.run(); - expect(execa.mock.calls[0][2].env.ES_JAVA_OPTS).toEqual('-Xms5g -Xmx5g'); + expect(execa.mock.calls[0][2].env.ES_JAVA_OPTS).toMatchInlineSnapshot(`"-Xms5g -Xmx5g"`); }); }); diff --git a/vars/workers.groovy b/vars/workers.groovy index ca1c6b57c18bb..d95c3fdbb1b44 100644 --- a/vars/workers.groovy +++ b/vars/workers.groovy @@ -20,7 +20,7 @@ def label(size) { case 'xl-highmem': return 'docker && tests-xl-highmem' case 'xxl': - return 'docker && tests-xxl && gobld/machineType:custom-64-270336' + return 'docker && tests-xxl && gobld/machineType:custom-64-327680' case 'n2-standard-16': return 'docker && linux && immutable && gobld/machineType:n2-standard-16' } From 4d933c7d988086d3dff04e1484c89ab5908efbf0 Mon Sep 17 00:00:00 2001 From: Lisa Cawley Date: Thu, 9 Sep 2021 11:27:29 -0700 Subject: [PATCH 27/57] Replace hard-coded links in infra alerting (#111072) --- .../public/kibana-plugin-core-public.doclinksstart.links.md | 3 +++ .../core/public/kibana-plugin-core-public.doclinksstart.md | 2 +- src/core/public/doc_links/doc_links_service.ts | 6 ++++++ src/core/public/public.api.md | 3 +++ x-pack/plugins/infra/public/alerting/inventory/index.ts | 2 +- .../alerting/log_threshold/log_threshold_alert_type.ts | 2 +- .../plugins/infra/public/alerting/metric_threshold/index.ts | 2 +- 7 files changed, 16 insertions(+), 4 deletions(-) diff --git a/docs/development/core/public/kibana-plugin-core-public.doclinksstart.links.md b/docs/development/core/public/kibana-plugin-core-public.doclinksstart.links.md index 7e4ed7ec2dd1b..f40f52db55de9 100644 --- a/docs/development/core/public/kibana-plugin-core-public.doclinksstart.links.md +++ b/docs/development/core/public/kibana-plugin-core-public.doclinksstart.links.md @@ -190,6 +190,9 @@ readonly links: { }>; readonly observability: Readonly<{ guide: string; + infrastructureThreshold: string; + logsThreshold: string; + metricsThreshold: string; monitorStatus: string; monitorUptime: string; tlsCertificate: string; diff --git a/docs/development/core/public/kibana-plugin-core-public.doclinksstart.md b/docs/development/core/public/kibana-plugin-core-public.doclinksstart.md index 89156501d476e..2499227d20ad4 100644 --- a/docs/development/core/public/kibana-plugin-core-public.doclinksstart.md +++ b/docs/development/core/public/kibana-plugin-core-public.doclinksstart.md @@ -17,5 +17,5 @@ export interface DocLinksStart | --- | --- | --- | | [DOC\_LINK\_VERSION](./kibana-plugin-core-public.doclinksstart.doc_link_version.md) | string | | | [ELASTIC\_WEBSITE\_URL](./kibana-plugin-core-public.doclinksstart.elastic_website_url.md) | string | | -| [links](./kibana-plugin-core-public.doclinksstart.links.md) | {
readonly settings: string;
readonly apm: {
readonly kibanaSettings: string;
readonly supportedServiceMaps: string;
readonly customLinks: string;
readonly droppedTransactionSpans: string;
readonly upgrading: string;
readonly metaData: string;
};
readonly canvas: {
readonly guide: string;
};
readonly dashboard: {
readonly guide: string;
readonly drilldowns: string;
readonly drilldownsTriggerPicker: string;
readonly urlDrilldownTemplateSyntax: string;
readonly urlDrilldownVariables: string;
};
readonly discover: Record<string, string>;
readonly filebeat: {
readonly base: string;
readonly installation: string;
readonly configuration: string;
readonly elasticsearchOutput: string;
readonly elasticsearchModule: string;
readonly startup: string;
readonly exportedFields: string;
readonly suricataModule: string;
readonly zeekModule: string;
};
readonly auditbeat: {
readonly base: string;
readonly auditdModule: string;
readonly systemModule: string;
};
readonly metricbeat: {
readonly base: string;
readonly configure: string;
readonly httpEndpoint: string;
readonly install: string;
readonly start: string;
};
readonly enterpriseSearch: {
readonly base: string;
readonly appSearchBase: string;
readonly workplaceSearchBase: string;
};
readonly heartbeat: {
readonly base: string;
};
readonly libbeat: {
readonly getStarted: string;
};
readonly logstash: {
readonly base: string;
};
readonly functionbeat: {
readonly base: string;
};
readonly winlogbeat: {
readonly base: string;
};
readonly aggs: {
readonly composite: string;
readonly composite_missing_bucket: string;
readonly date_histogram: string;
readonly date_range: string;
readonly date_format_pattern: string;
readonly filter: string;
readonly filters: string;
readonly geohash_grid: string;
readonly histogram: string;
readonly ip_range: string;
readonly range: string;
readonly significant_terms: string;
readonly terms: string;
readonly avg: string;
readonly avg_bucket: string;
readonly max_bucket: string;
readonly min_bucket: string;
readonly sum_bucket: string;
readonly cardinality: string;
readonly count: string;
readonly cumulative_sum: string;
readonly derivative: string;
readonly geo_bounds: string;
readonly geo_centroid: string;
readonly max: string;
readonly median: string;
readonly min: string;
readonly moving_avg: string;
readonly percentile_ranks: string;
readonly serial_diff: string;
readonly std_dev: string;
readonly sum: string;
readonly top_hits: string;
};
readonly runtimeFields: {
readonly overview: string;
readonly mapping: string;
};
readonly scriptedFields: {
readonly scriptFields: string;
readonly scriptAggs: string;
readonly painless: string;
readonly painlessApi: string;
readonly painlessLangSpec: string;
readonly painlessSyntax: string;
readonly painlessWalkthrough: string;
readonly luceneExpressions: string;
};
readonly search: {
readonly sessions: string;
readonly sessionLimits: string;
};
readonly indexPatterns: {
readonly introduction: string;
readonly fieldFormattersNumber: string;
readonly fieldFormattersString: string;
readonly runtimeFields: string;
};
readonly addData: string;
readonly kibana: string;
readonly upgradeAssistant: string;
readonly rollupJobs: string;
readonly elasticsearch: Record<string, string>;
readonly siem: {
readonly privileges: string;
readonly guide: string;
readonly gettingStarted: string;
readonly ml: string;
readonly ruleChangeLog: string;
readonly detectionsReq: string;
readonly networkMap: string;
};
readonly query: {
readonly eql: string;
readonly kueryQuerySyntax: string;
readonly luceneQuerySyntax: string;
readonly percolate: string;
readonly queryDsl: string;
readonly autocompleteChanges: string;
};
readonly date: {
readonly dateMath: string;
readonly dateMathIndexNames: string;
};
readonly management: Record<string, string>;
readonly ml: Record<string, string>;
readonly transforms: Record<string, string>;
readonly visualize: Record<string, string>;
readonly apis: Readonly<{
bulkIndexAlias: string;
byteSizeUnits: string;
createAutoFollowPattern: string;
createFollower: string;
createIndex: string;
createSnapshotLifecyclePolicy: string;
createRoleMapping: string;
createRoleMappingTemplates: string;
createRollupJobsRequest: string;
createApiKey: string;
createPipeline: string;
createTransformRequest: string;
cronExpressions: string;
executeWatchActionModes: string;
indexExists: string;
openIndex: string;
putComponentTemplate: string;
painlessExecute: string;
painlessExecuteAPIContexts: string;
putComponentTemplateMetadata: string;
putSnapshotLifecyclePolicy: string;
putIndexTemplateV1: string;
putWatch: string;
simulatePipeline: string;
timeUnits: string;
updateTransform: string;
}>;
readonly observability: Readonly<{
guide: string;
monitorStatus: string;
monitorUptime: string;
tlsCertificate: string;
uptimeDurationAnomaly: string;
}>;
readonly alerting: Record<string, string>;
readonly maps: Record<string, string>;
readonly monitoring: Record<string, string>;
readonly security: Readonly<{
apiKeyServiceSettings: string;
clusterPrivileges: string;
elasticsearchSettings: string;
elasticsearchEnableSecurity: string;
indicesPrivileges: string;
kibanaTLS: string;
kibanaPrivileges: string;
mappingRoles: string;
mappingRolesFieldRules: string;
runAsPrivilege: string;
}>;
readonly watcher: Record<string, string>;
readonly ccs: Record<string, string>;
readonly plugins: Record<string, string>;
readonly snapshotRestore: Record<string, string>;
readonly ingest: Record<string, string>;
readonly fleet: Readonly<{
guide: string;
fleetServer: string;
fleetServerAddFleetServer: string;
settings: string;
settingsFleetServerHostSettings: string;
troubleshooting: string;
elasticAgent: string;
datastreams: string;
datastreamsNamingScheme: string;
upgradeElasticAgent: string;
upgradeElasticAgent712lower: string;
}>;
readonly ecs: {
readonly guide: string;
};
} | | +| [links](./kibana-plugin-core-public.doclinksstart.links.md) | {
readonly settings: string;
readonly apm: {
readonly kibanaSettings: string;
readonly supportedServiceMaps: string;
readonly customLinks: string;
readonly droppedTransactionSpans: string;
readonly upgrading: string;
readonly metaData: string;
};
readonly canvas: {
readonly guide: string;
};
readonly dashboard: {
readonly guide: string;
readonly drilldowns: string;
readonly drilldownsTriggerPicker: string;
readonly urlDrilldownTemplateSyntax: string;
readonly urlDrilldownVariables: string;
};
readonly discover: Record<string, string>;
readonly filebeat: {
readonly base: string;
readonly installation: string;
readonly configuration: string;
readonly elasticsearchOutput: string;
readonly elasticsearchModule: string;
readonly startup: string;
readonly exportedFields: string;
readonly suricataModule: string;
readonly zeekModule: string;
};
readonly auditbeat: {
readonly base: string;
readonly auditdModule: string;
readonly systemModule: string;
};
readonly metricbeat: {
readonly base: string;
readonly configure: string;
readonly httpEndpoint: string;
readonly install: string;
readonly start: string;
};
readonly enterpriseSearch: {
readonly base: string;
readonly appSearchBase: string;
readonly workplaceSearchBase: string;
};
readonly heartbeat: {
readonly base: string;
};
readonly libbeat: {
readonly getStarted: string;
};
readonly logstash: {
readonly base: string;
};
readonly functionbeat: {
readonly base: string;
};
readonly winlogbeat: {
readonly base: string;
};
readonly aggs: {
readonly composite: string;
readonly composite_missing_bucket: string;
readonly date_histogram: string;
readonly date_range: string;
readonly date_format_pattern: string;
readonly filter: string;
readonly filters: string;
readonly geohash_grid: string;
readonly histogram: string;
readonly ip_range: string;
readonly range: string;
readonly significant_terms: string;
readonly terms: string;
readonly avg: string;
readonly avg_bucket: string;
readonly max_bucket: string;
readonly min_bucket: string;
readonly sum_bucket: string;
readonly cardinality: string;
readonly count: string;
readonly cumulative_sum: string;
readonly derivative: string;
readonly geo_bounds: string;
readonly geo_centroid: string;
readonly max: string;
readonly median: string;
readonly min: string;
readonly moving_avg: string;
readonly percentile_ranks: string;
readonly serial_diff: string;
readonly std_dev: string;
readonly sum: string;
readonly top_hits: string;
};
readonly runtimeFields: {
readonly overview: string;
readonly mapping: string;
};
readonly scriptedFields: {
readonly scriptFields: string;
readonly scriptAggs: string;
readonly painless: string;
readonly painlessApi: string;
readonly painlessLangSpec: string;
readonly painlessSyntax: string;
readonly painlessWalkthrough: string;
readonly luceneExpressions: string;
};
readonly search: {
readonly sessions: string;
readonly sessionLimits: string;
};
readonly indexPatterns: {
readonly introduction: string;
readonly fieldFormattersNumber: string;
readonly fieldFormattersString: string;
readonly runtimeFields: string;
};
readonly addData: string;
readonly kibana: string;
readonly upgradeAssistant: string;
readonly rollupJobs: string;
readonly elasticsearch: Record<string, string>;
readonly siem: {
readonly privileges: string;
readonly guide: string;
readonly gettingStarted: string;
readonly ml: string;
readonly ruleChangeLog: string;
readonly detectionsReq: string;
readonly networkMap: string;
};
readonly query: {
readonly eql: string;
readonly kueryQuerySyntax: string;
readonly luceneQuerySyntax: string;
readonly percolate: string;
readonly queryDsl: string;
readonly autocompleteChanges: string;
};
readonly date: {
readonly dateMath: string;
readonly dateMathIndexNames: string;
};
readonly management: Record<string, string>;
readonly ml: Record<string, string>;
readonly transforms: Record<string, string>;
readonly visualize: Record<string, string>;
readonly apis: Readonly<{
bulkIndexAlias: string;
byteSizeUnits: string;
createAutoFollowPattern: string;
createFollower: string;
createIndex: string;
createSnapshotLifecyclePolicy: string;
createRoleMapping: string;
createRoleMappingTemplates: string;
createRollupJobsRequest: string;
createApiKey: string;
createPipeline: string;
createTransformRequest: string;
cronExpressions: string;
executeWatchActionModes: string;
indexExists: string;
openIndex: string;
putComponentTemplate: string;
painlessExecute: string;
painlessExecuteAPIContexts: string;
putComponentTemplateMetadata: string;
putSnapshotLifecyclePolicy: string;
putIndexTemplateV1: string;
putWatch: string;
simulatePipeline: string;
timeUnits: string;
updateTransform: string;
}>;
readonly observability: Readonly<{
guide: string;
infrastructureThreshold: string;
logsThreshold: string;
metricsThreshold: string;
monitorStatus: string;
monitorUptime: string;
tlsCertificate: string;
uptimeDurationAnomaly: string;
}>;
readonly alerting: Record<string, string>;
readonly maps: Record<string, string>;
readonly monitoring: Record<string, string>;
readonly security: Readonly<{
apiKeyServiceSettings: string;
clusterPrivileges: string;
elasticsearchSettings: string;
elasticsearchEnableSecurity: string;
indicesPrivileges: string;
kibanaTLS: string;
kibanaPrivileges: string;
mappingRoles: string;
mappingRolesFieldRules: string;
runAsPrivilege: string;
}>;
readonly watcher: Record<string, string>;
readonly ccs: Record<string, string>;
readonly plugins: Record<string, string>;
readonly snapshotRestore: Record<string, string>;
readonly ingest: Record<string, string>;
readonly fleet: Readonly<{
guide: string;
fleetServer: string;
fleetServerAddFleetServer: string;
settings: string;
settingsFleetServerHostSettings: string;
troubleshooting: string;
elasticAgent: string;
datastreams: string;
datastreamsNamingScheme: string;
upgradeElasticAgent: string;
upgradeElasticAgent712lower: string;
}>;
readonly ecs: {
readonly guide: string;
};
} | | diff --git a/src/core/public/doc_links/doc_links_service.ts b/src/core/public/doc_links/doc_links_service.ts index ca174fc12109d..958cae8816efa 100644 --- a/src/core/public/doc_links/doc_links_service.ts +++ b/src/core/public/doc_links/doc_links_service.ts @@ -282,6 +282,9 @@ export class DocLinksService { }, observability: { guide: `${ELASTIC_WEBSITE_URL}guide/en/observability/${DOC_LINK_VERSION}/index.html`, + infrastructureThreshold: `{ELASTIC_WEBSITE_URL}guide/en/observability/${DOC_LINK_VERSION}/infrastructure-threshold-alert.html`, + logsThreshold: `{ELASTIC_WEBSITE_URL}guide/en/observability/${DOC_LINK_VERSION}/logs-threshold-alert.html`, + metricsThreshold: `{ELASTIC_WEBSITE_URL}guide/en/observability/${DOC_LINK_VERSION}/metrics-threshold-alert.html`, monitorStatus: `${ELASTIC_WEBSITE_URL}guide/en/observability/${DOC_LINK_VERSION}/monitor-status-alert.html`, monitorUptime: `${ELASTIC_WEBSITE_URL}guide/en/observability/${DOC_LINK_VERSION}/monitor-uptime.html`, tlsCertificate: `${ELASTIC_WEBSITE_URL}guide/en/observability/${DOC_LINK_VERSION}/tls-certificate-alert.html`, @@ -645,6 +648,9 @@ export interface DocLinksStart { }>; readonly observability: Readonly<{ guide: string; + infrastructureThreshold: string; + logsThreshold: string; + metricsThreshold: string; monitorStatus: string; monitorUptime: string; tlsCertificate: string; diff --git a/src/core/public/public.api.md b/src/core/public/public.api.md index 0135526bb6385..8d3291d590476 100644 --- a/src/core/public/public.api.md +++ b/src/core/public/public.api.md @@ -655,6 +655,9 @@ export interface DocLinksStart { }>; readonly observability: Readonly<{ guide: string; + infrastructureThreshold: string; + logsThreshold: string; + metricsThreshold: string; monitorStatus: string; monitorUptime: string; tlsCertificate: string; diff --git a/x-pack/plugins/infra/public/alerting/inventory/index.ts b/x-pack/plugins/infra/public/alerting/inventory/index.ts index 7d370c7106cb7..5e3c8a219ae47 100644 --- a/x-pack/plugins/infra/public/alerting/inventory/index.ts +++ b/x-pack/plugins/infra/public/alerting/inventory/index.ts @@ -31,7 +31,7 @@ export function createInventoryMetricAlertType(): ObservabilityRuleTypeModel import('./components/expression')), validate: validateMetricThreshold, diff --git a/x-pack/plugins/infra/public/alerting/log_threshold/log_threshold_alert_type.ts b/x-pack/plugins/infra/public/alerting/log_threshold/log_threshold_alert_type.ts index b944b36fb9d1a..c6b2385f93c65 100644 --- a/x-pack/plugins/infra/public/alerting/log_threshold/log_threshold_alert_type.ts +++ b/x-pack/plugins/infra/public/alerting/log_threshold/log_threshold_alert_type.ts @@ -23,7 +23,7 @@ export function createLogThresholdAlertType(): ObservabilityRuleTypeModel import('./components/expression_editor/editor')), validate: validateExpression, diff --git a/x-pack/plugins/infra/public/alerting/metric_threshold/index.ts b/x-pack/plugins/infra/public/alerting/metric_threshold/index.ts index 2dd35c20a5632..679019eb2e520 100644 --- a/x-pack/plugins/infra/public/alerting/metric_threshold/index.ts +++ b/x-pack/plugins/infra/public/alerting/metric_threshold/index.ts @@ -29,7 +29,7 @@ export function createMetricThresholdAlertType(): ObservabilityRuleTypeModel import('./components/expression')), validate: validateMetricThreshold, From 4b60458c4ba3de4716a8da4e9862c0f5effc26c1 Mon Sep 17 00:00:00 2001 From: Nick Peihl Date: Thu, 9 Sep 2021 11:37:57 -0700 Subject: [PATCH 28/57] [Maps] Remove deprecated maps.manifestServiceUrl configuration (#111656) * Remove deprecated maps.manifestServiceUrl * Remove unused catalogue route * Remove unused import Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../config/deprecation/core_deprecations.ts | 24 ----------- src/plugins/maps_ems/config.ts | 1 - src/plugins/maps_ems/server/index.ts | 1 - x-pack/plugins/maps/common/constants.ts | 1 - x-pack/plugins/maps/server/routes.js | 41 ------------------- 5 files changed, 68 deletions(-) diff --git a/src/core/server/config/deprecation/core_deprecations.ts b/src/core/server/config/deprecation/core_deprecations.ts index 222f92321d917..2ddcbc8db774d 100644 --- a/src/core/server/config/deprecation/core_deprecations.ts +++ b/src/core/server/config/deprecation/core_deprecations.ts @@ -124,28 +124,6 @@ const cspRulesDeprecation: ConfigDeprecation = (settings, fromPath, addDeprecati } }; -const mapManifestServiceUrlDeprecation: ConfigDeprecation = ( - settings, - fromPath, - addDeprecation -) => { - if (settings.map?.manifestServiceUrl) { - addDeprecation({ - message: - 'You should no longer use the map.manifestServiceUrl setting in kibana.yml to configure the location ' + - 'of the Elastic Maps Service settings. These settings have moved to the "map.emsTileApiUrl" and ' + - '"map.emsFileApiUrl" settings instead. These settings are for development use only and should not be ' + - 'modified for use in production environments.', - correctiveActions: { - manualSteps: [ - `Use "map.emsTileApiUrl" and "map.emsFileApiUrl" config instead of "map.manifestServiceUrl".`, - `These settings are for development use only and should not be modified for use in production environments.`, - ], - }, - }); - } -}; - const opsLoggingEventDeprecation: ConfigDeprecation = (settings, fromPath, addDeprecation) => { if (settings.logging?.events?.ops) { addDeprecation({ @@ -388,7 +366,6 @@ const logFilterDeprecation: ConfigDeprecation = (settings, fromPath, addDeprecat export const coreDeprecationProvider: ConfigDeprecationProvider = ({ rename, unusedFromRoot }) => [ unusedFromRoot('savedObjects.indexCheckTimeout'), unusedFromRoot('server.xsrf.token'), - unusedFromRoot('maps.manifestServiceUrl'), unusedFromRoot('optimize.lazy'), unusedFromRoot('optimize.lazyPort'), unusedFromRoot('optimize.lazyHost'), @@ -418,7 +395,6 @@ export const coreDeprecationProvider: ConfigDeprecationProvider = ({ rename, unu dataPathDeprecation, rewriteBasePathDeprecation, cspRulesDeprecation, - mapManifestServiceUrlDeprecation, opsLoggingEventDeprecation, requestLoggingEventDeprecation, timezoneLoggingDeprecation, diff --git a/src/plugins/maps_ems/config.ts b/src/plugins/maps_ems/config.ts index ed1648ebbe8bb..710cb52f32a09 100644 --- a/src/plugins/maps_ems/config.ts +++ b/src/plugins/maps_ems/config.ts @@ -40,7 +40,6 @@ export const emsConfigSchema = schema.object({ tilemap: tilemapConfigSchema, includeElasticMapsService: schema.boolean({ defaultValue: true }), proxyElasticMapsServiceInMaps: schema.boolean({ defaultValue: false }), - manifestServiceUrl: schema.string({ defaultValue: '' }), emsUrl: schema.conditional( schema.siblingRef('proxyElasticMapsServiceInMaps'), true, diff --git a/src/plugins/maps_ems/server/index.ts b/src/plugins/maps_ems/server/index.ts index b8b84d222b958..7422dbcfcdec9 100644 --- a/src/plugins/maps_ems/server/index.ts +++ b/src/plugins/maps_ems/server/index.ts @@ -19,7 +19,6 @@ export const config: PluginConfigDescriptor = { tilemap: true, includeElasticMapsService: true, proxyElasticMapsServiceInMaps: true, - manifestServiceUrl: true, emsUrl: true, emsFileApiUrl: true, emsTileApiUrl: true, diff --git a/x-pack/plugins/maps/common/constants.ts b/x-pack/plugins/maps/common/constants.ts index 5cfed7d6a58b5..b6b3e636fffeb 100644 --- a/x-pack/plugins/maps/common/constants.ts +++ b/x-pack/plugins/maps/common/constants.ts @@ -9,7 +9,6 @@ import { i18n } from '@kbn/i18n'; import { FeatureCollection } from 'geojson'; export const EMS_APP_NAME = 'kibana'; -export const EMS_CATALOGUE_PATH = 'ems/catalogue'; export const EMS_FILES_CATALOGUE_PATH = 'ems/files'; export const EMS_FILES_API_PATH = 'ems/files'; diff --git a/x-pack/plugins/maps/server/routes.js b/x-pack/plugins/maps/server/routes.js index 635770a562c2d..bff2f1ee24c9f 100644 --- a/x-pack/plugins/maps/server/routes.js +++ b/x-pack/plugins/maps/server/routes.js @@ -7,7 +7,6 @@ import { EMS_APP_NAME, - EMS_CATALOGUE_PATH, EMS_FILES_API_PATH, EMS_FILES_CATALOGUE_PATH, EMS_FILES_DEFAULT_JSON_PATH, @@ -19,7 +18,6 @@ import { EMS_TILES_VECTOR_STYLE_PATH, EMS_TILES_VECTOR_SOURCE_PATH, EMS_TILES_VECTOR_TILE_PATH, - GIS_API_PATH, EMS_SPRITES_PATH, INDEX_SETTINGS_API_PATH, FONTS_API_PATH, @@ -42,9 +40,6 @@ const EMPTY_EMS_CLIENT = { async getTMSServices() { return []; }, - async getMainManifest() { - return null; - }, async getDefaultFileManifest() { return null; }, @@ -163,42 +158,6 @@ export async function initRoutes(core, getLicenseId, emsSettings, kbnVersion, lo } ); - router.get( - { - path: `${API_ROOT_PATH}/${EMS_CATALOGUE_PATH}`, - validate: false, - }, - async (context, request, { ok, badRequest }) => { - if (!checkEMSProxyEnabled()) { - return badRequest('map.proxyElasticMapsServiceInMaps disabled'); - } - - const main = await getEMSClient().getMainManifest(); - const proxiedManifest = { - services: [], - }; - - //rewrite the urls to the submanifest - const tileService = main.services.find((service) => service.type === 'tms'); - const fileService = main.services.find((service) => service.type === 'file'); - if (tileService) { - proxiedManifest.services.push({ - ...tileService, - manifest: `${GIS_API_PATH}/${EMS_TILES_CATALOGUE_PATH}`, - }); - } - if (fileService) { - proxiedManifest.services.push({ - ...fileService, - manifest: `${GIS_API_PATH}/${EMS_FILES_CATALOGUE_PATH}`, - }); - } - return ok({ - body: proxiedManifest, - }); - } - ); - router.get( { path: `${API_ROOT_PATH}/${EMS_FILES_CATALOGUE_PATH}/{emsVersion}/manifest`, From 7ee68bea8e5f212f66261e2609b2d94b24002937 Mon Sep 17 00:00:00 2001 From: Domenico Andreoli Date: Thu, 9 Sep 2021 20:41:59 +0200 Subject: [PATCH 29/57] Drop the 'Displays the unmapped field on the table' test (#111741) It's too unstable for now --- .../detection_alerts/alerts_details.spec.ts | 21 ++----------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/x-pack/plugins/security_solution/cypress/ccs_integration/detection_alerts/alerts_details.spec.ts b/x-pack/plugins/security_solution/cypress/ccs_integration/detection_alerts/alerts_details.spec.ts index 3263eb9d70b66..825abc6185947 100644 --- a/x-pack/plugins/security_solution/cypress/ccs_integration/detection_alerts/alerts_details.spec.ts +++ b/x-pack/plugins/security_solution/cypress/ccs_integration/detection_alerts/alerts_details.spec.ts @@ -5,14 +5,14 @@ * 2.0. */ -import { ALERT_FLYOUT, CELL_TEXT, JSON_LINES, TABLE_ROWS } from '../../screens/alerts_details'; +import { ALERT_FLYOUT, JSON_LINES } from '../../screens/alerts_details'; import { expandFirstAlert, waitForAlertsIndexToBeCreated, waitForAlertsPanelToBeLoaded, } from '../../tasks/alerts'; -import { openJsonView, openTable, scrollJsonViewToBottom } from '../../tasks/alerts_details'; +import { openJsonView, scrollJsonViewToBottom } from '../../tasks/alerts_details'; import { createCustomRuleActivated } from '../../tasks/api_calls/rules'; import { cleanKibana } from '../../tasks/common'; import { loginAndWaitForPageWithoutDateRange } from '../../tasks/login'; @@ -55,21 +55,4 @@ describe('Alert details with unmapped fields', () => { .should('include', expectedUnmappedField.text); }); }); - - it('Displays the unmapped field on the table', () => { - const expectedUnmmappedField = { - row: 90, - field: 'unmapped', - text: 'This is the unmapped field', - }; - - openTable(); - cy.get(ALERT_FLYOUT) - .find(TABLE_ROWS) - .eq(expectedUnmmappedField.row) - .within(() => { - cy.get(CELL_TEXT).eq(2).should('have.text', expectedUnmmappedField.field); - cy.get(CELL_TEXT).eq(4).should('have.text', expectedUnmmappedField.text); - }); - }); }); From 3f83259db7ee8ec8069a034f7508859f4e30d08a Mon Sep 17 00:00:00 2001 From: Jonathan Budzenski Date: Thu, 9 Sep 2021 14:22:48 -0500 Subject: [PATCH 30/57] [config] Deprecate `KIBANA_PATH_CONF` in favor of `KBN_PATH_CONF` (#111550) --- packages/kbn-utils/src/path/index.ts | 4 ++-- .../deprecation/core_deprecations.test.ts | 18 ++++++++++++++++++ .../config/deprecation/core_deprecations.ts | 14 ++++++++++++++ 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/packages/kbn-utils/src/path/index.ts b/packages/kbn-utils/src/path/index.ts index 9835179a61e9d..9d371a0c334a9 100644 --- a/packages/kbn-utils/src/path/index.ts +++ b/packages/kbn-utils/src/path/index.ts @@ -15,7 +15,7 @@ const isString = (v: any): v is string => typeof v === 'string'; const CONFIG_PATHS = [ process.env.KBN_PATH_CONF && join(process.env.KBN_PATH_CONF, 'kibana.yml'), - process.env.KIBANA_PATH_CONF && join(process.env.KIBANA_PATH_CONF, 'kibana.yml'), + process.env.KIBANA_PATH_CONF && join(process.env.KIBANA_PATH_CONF, 'kibana.yml'), // deprecated process.env.CONFIG_PATH, // deprecated join(REPO_ROOT, 'config/kibana.yml'), '/etc/kibana/kibana.yml', @@ -23,7 +23,7 @@ const CONFIG_PATHS = [ const CONFIG_DIRECTORIES = [ process.env.KBN_PATH_CONF, - process.env.KIBANA_PATH_CONF, + process.env.KIBANA_PATH_CONF, // deprecated join(REPO_ROOT, 'config'), '/etc/kibana', ].filter(isString); diff --git a/src/core/server/config/deprecation/core_deprecations.test.ts b/src/core/server/config/deprecation/core_deprecations.test.ts index 759e2375ce987..a3bc9ee669903 100644 --- a/src/core/server/config/deprecation/core_deprecations.test.ts +++ b/src/core/server/config/deprecation/core_deprecations.test.ts @@ -36,6 +36,24 @@ describe('core deprecations', () => { }); }); + describe('kibanaPathConf', () => { + it('logs a warning if KIBANA_PATH_CONF environ variable is set', () => { + process.env.KIBANA_PATH_CONF = 'somepath'; + const { messages } = applyCoreDeprecations(); + expect(messages).toMatchInlineSnapshot(` + Array [ + "Environment variable \\"KIBANA_PATH_CONF\\" is deprecated. It has been replaced with \\"KBN_PATH_CONF\\" pointing to a config folder", + ] + `); + }); + + it('does not log a warning if KIBANA_PATH_CONF environ variable is unset', () => { + delete process.env.KIBANA_PATH_CONF; + const { messages } = applyCoreDeprecations(); + expect(messages).toHaveLength(0); + }); + }); + describe('dataPath', () => { it('logs a warning if DATA_PATH environ variable is set', () => { process.env.DATA_PATH = 'somepath'; diff --git a/src/core/server/config/deprecation/core_deprecations.ts b/src/core/server/config/deprecation/core_deprecations.ts index 2ddcbc8db774d..70c987e156448 100644 --- a/src/core/server/config/deprecation/core_deprecations.ts +++ b/src/core/server/config/deprecation/core_deprecations.ts @@ -8,6 +8,19 @@ import { ConfigDeprecationProvider, ConfigDeprecation } from '@kbn/config'; +const kibanaPathConf: ConfigDeprecation = (settings, fromPath, addDeprecation) => { + if (process.env?.KIBANA_PATH_CONF) { + addDeprecation({ + message: `Environment variable "KIBANA_PATH_CONF" is deprecated. It has been replaced with "KBN_PATH_CONF" pointing to a config folder`, + correctiveActions: { + manualSteps: [ + 'Use "KBN_PATH_CONF" instead of "KIBANA_PATH_CONF" to point to a config folder.', + ], + }, + }); + } +}; + const configPathDeprecation: ConfigDeprecation = (settings, fromPath, addDeprecation) => { if (process.env?.CONFIG_PATH) { addDeprecation({ @@ -392,6 +405,7 @@ export const coreDeprecationProvider: ConfigDeprecationProvider = ({ rename, unu rename('server.xsrf.whitelist', 'server.xsrf.allowlist'), rewriteCorsSettings, configPathDeprecation, + kibanaPathConf, dataPathDeprecation, rewriteBasePathDeprecation, cspRulesDeprecation, From 914fa092c071318aecf0c9ffa99db7605526666e Mon Sep 17 00:00:00 2001 From: Jonathan Budzenski Date: Thu, 9 Sep 2021 14:46:11 -0500 Subject: [PATCH 31/57] Bump tar to 6.1.11 (#111602) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- package.json | 4 +-- yarn.lock | 73 +++++++--------------------------------------------- 2 files changed, 11 insertions(+), 66 deletions(-) diff --git a/package.json b/package.json index e8ac3a65924b2..0dee7a131f98a 100644 --- a/package.json +++ b/package.json @@ -387,7 +387,7 @@ "suricata-sid-db": "^1.0.2", "symbol-observable": "^1.2.0", "tabbable": "1.1.3", - "tar": "4.4.13", + "tar": "^6.1.11", "tinycolor2": "1.4.1", "tinygradient": "0.4.3", "tree-kill": "^1.2.2", @@ -619,7 +619,7 @@ "@types/styled-components": "^5.1.0", "@types/supertest": "^2.0.5", "@types/tapable": "^1.0.6", - "@types/tar": "^4.0.3", + "@types/tar": "^4.0.5", "@types/tar-fs": "^1.16.1", "@types/tempy": "^0.2.0", "@types/testing-library__jest-dom": "^5.9.5", diff --git a/yarn.lock b/yarn.lock index 1c91896c1f063..6b242fa46b2bf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6164,10 +6164,10 @@ dependencies: "@types/node" "*" -"@types/tar@^4.0.3": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@types/tar/-/tar-4.0.3.tgz#e2cce0b8ff4f285293243f5971bd7199176ac489" - integrity sha512-Z7AVMMlkI8NTWF0qGhC4QIX0zkV/+y0J8x7b/RsHrN0310+YNjoJd8UrApCiGBCWtKjxS9QhNqLi2UJNToh5hA== +"@types/tar@^4.0.5": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@types/tar/-/tar-4.0.5.tgz#5f953f183e36a15c6ce3f336568f6051b7b183f3" + integrity sha512-cgwPhNEabHaZcYIy5xeMtux2EmYBitfqEceBUi2t5+ETy4dW6kswt6WX4+HqLeiiKOo42EXbGiDmVJ2x+vi37Q== dependencies: "@types/minipass" "*" "@types/node" "*" @@ -14238,13 +14238,6 @@ fs-extra@^9.0.0, fs-extra@^9.0.1: jsonfile "^6.0.1" universalify "^1.0.0" -fs-minipass@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" - integrity sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ== - dependencies: - minipass "^2.2.1" - fs-minipass@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" @@ -19517,14 +19510,6 @@ minipass-sized@^1.0.3: dependencies: minipass "^3.0.0" -minipass@^2.2.1, minipass@^2.8.6, minipass@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" - integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - minipass@^3.0.0, minipass@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.1.tgz#7607ce778472a185ad6d89082aa2070f79cedcd5" @@ -19539,13 +19524,6 @@ minipass@^3.1.0, minipass@^3.1.3: dependencies: yallist "^4.0.0" -minizlib@^1.2.1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" - integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== - dependencies: - minipass "^2.9.0" - minizlib@^2.0.0, minizlib@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" @@ -19554,14 +19532,6 @@ minizlib@^2.0.0, minizlib@^2.1.1: minipass "^3.0.0" yallist "^4.0.0" -minizlib@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.0.tgz#fd52c645301ef09a63a2c209697c294c6ce02cf3" - integrity sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA== - dependencies: - minipass "^3.0.0" - yallist "^4.0.0" - mississippi@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" @@ -26586,19 +26556,6 @@ tar-stream@^2.1.4: inherits "^2.0.3" readable-stream "^3.1.1" -tar@4.4.13: - version "4.4.13" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" - integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== - dependencies: - chownr "^1.1.1" - fs-minipass "^1.2.5" - minipass "^2.8.6" - minizlib "^1.2.1" - mkdirp "^0.5.0" - safe-buffer "^5.1.2" - yallist "^3.0.3" - tar@6.1.9: version "6.1.9" resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.9.tgz#5646ef51342ac55456b2466e44da810439978db1" @@ -26611,22 +26568,10 @@ tar@6.1.9: mkdirp "^1.0.3" yallist "^4.0.0" -tar@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.0.2.tgz#5df17813468a6264ff14f766886c622b84ae2f39" - integrity sha512-Glo3jkRtPcvpDlAs/0+hozav78yoXKFr+c4wgw62NNMO3oo4AaJdCo21Uu7lcwr55h39W2XD1LMERc64wtbItg== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^3.0.0" - minizlib "^2.1.0" - mkdirp "^1.0.3" - yallist "^4.0.0" - -tar@^6.1.2: - version "6.1.10" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.10.tgz#8a320a74475fba54398fa136cd9883aa8ad11175" - integrity sha512-kvvfiVvjGMxeUNB6MyYv5z7vhfFRwbwCXJAeL0/lnbrttBVqcMOnpHUf0X42LrPMR8mMpgapkJMchFH4FSHzNA== +tar@^6.0.2, tar@^6.1.11, tar@^6.1.2: + version "6.1.11" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" + integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== dependencies: chownr "^2.0.0" fs-minipass "^2.0.0" @@ -29497,7 +29442,7 @@ yallist@^2.1.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= -yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: +yallist@^3.0.2: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== From 6803fb362a3e1ccfe7cccb84998011eda1b17e38 Mon Sep 17 00:00:00 2001 From: Greg Thompson Date: Thu, 9 Sep 2021 14:54:30 -0500 Subject: [PATCH 32/57] Upgrade EUI to v37.6.0 (#110998) * eui to 37.6.0 * update snapshots * grid cell text * update snapshot * Revert "grid cell text" This reverts commit 1721e8393959524abaaba85e9cf4ca7862d14a4a. * grid cell text * update tsvb baseline * update area_chart baseline Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- package.json | 2 +- src/dev/license_checker/config.ts | 2 +- .../__snapshots__/table_cell.test.tsx.snap | 4 +- .../__snapshots__/source_viewer.test.tsx.snap | 2 +- .../recently_accessed.test.js.snap | 2 + .../vis/__snapshots__/form_row.test.tsx.snap | 2 + .../__snapshots__/code_editor.test.tsx.snap | 1 - .../__snapshots__/relationships.test.tsx.snap | 6 +++ .../__snapshots__/agg.test.tsx.snap | 1 + .../value_axes_panel.test.tsx.snap | 5 ++ .../screenshots/baseline/area_chart.png | Bin 85012 -> 67063 bytes .../screenshots/baseline/tsvb_dashboard.png | Bin 73146 -> 122776 bytes .../List/__snapshots__/List.test.tsx.snap | 18 ------- .../shared/TimestampTooltip/index.test.tsx | 1 + .../sticky_properties.test.tsx.snap | 5 ++ .../__snapshots__/asset.stories.storyshot | 8 --- .../asset_manager.stories.storyshot | 8 --- .../expression_input.stories.storyshot | 1 - .../workpad_table.stories.storyshot | 6 --- .../element_controls.stories.storyshot | 2 - .../element_grid.stories.storyshot | 6 --- .../saved_elements_modal.stories.storyshot | 8 --- .../sidebar_header.stories.storyshot | 4 -- .../var_config.stories.storyshot | 2 - .../simple_template.stories.storyshot | 1 - .../field_type_icon.test.tsx.snap | 1 + .../__snapshots__/scaling_form.test.tsx.snap | 3 ++ ...single_layer_source_settings.test.tsx.snap | 4 ++ .../dynamic_color_property.test.tsx.snap | 5 ++ .../dynamic_icon_property.test.tsx.snap | 1 + .../__snapshots__/join_editor.test.tsx.snap | 2 + .../__snapshots__/layer_control.test.tsx.snap | 7 +++ .../__snapshots__/list.test.tsx.snap | 6 +++ ...get_alert_panels_by_category.test.tsx.snap | 8 +++ .../get_alert_panels_by_node.test.tsx.snap | 8 +++ .../__snapshots__/tooltip.test.js.snap | 25 ++++++++++ .../shared/timestamp_tooltip/index.test.tsx | 1 + .../report_listing.test.tsx.snap | 32 ++++++------ ...screen_capture_panel_content.test.tsx.snap | 6 +-- .../__snapshots__/index.test.tsx.snap | 2 + .../__snapshots__/helpers.test.tsx.snap | 1 + .../__snapshots__/index.test.tsx.snap | 4 ++ .../__snapshots__/index.test.tsx.snap | 2 + .../sort_indicator.test.tsx.snap | 1 + .../sort_indicator.test.tsx.snap | 1 + .../start_action_name.test.tsx.snap | 1 + .../stop_action_name.test.tsx.snap | 1 + .../create_transform_button.test.tsx.snap | 1 + .../__snapshots__/donut_chart.test.tsx.snap | 46 ++++++++++++++++-- .../integration_link.test.tsx.snap | 2 + .../functional/services/transform/wizard.ts | 1 - yarn.lock | 8 +-- 52 files changed, 178 insertions(+), 99 deletions(-) diff --git a/package.json b/package.json index 0dee7a131f98a..5024d51852d2a 100644 --- a/package.json +++ b/package.json @@ -100,7 +100,7 @@ "@elastic/datemath": "link:bazel-bin/packages/elastic-datemath", "@elastic/elasticsearch": "npm:@elastic/elasticsearch-canary@^8.0.0-canary.19", "@elastic/ems-client": "7.15.0", - "@elastic/eui": "37.3.1", + "@elastic/eui": "37.6.0", "@elastic/filesaver": "1.1.2", "@elastic/good": "^9.0.1-kibana3", "@elastic/maki": "6.3.0", diff --git a/src/dev/license_checker/config.ts b/src/dev/license_checker/config.ts index ee355d6a9811b..addedbb97f55a 100644 --- a/src/dev/license_checker/config.ts +++ b/src/dev/license_checker/config.ts @@ -75,7 +75,7 @@ export const LICENSE_OVERRIDES = { '@mapbox/jsonlint-lines-primitives@2.0.2': ['MIT'], // license in readme https://github.com/tmcw/jsonlint 'node-sql-parser@3.6.1': ['(GPL-2.0 OR MIT)'], // GPL-2.0* https://github.com/taozhi8833998/node-sql-parser '@elastic/ems-client@7.15.0': ['Elastic License 2.0'], - '@elastic/eui@37.3.1': ['SSPL-1.0 OR Elastic License 2.0'], + '@elastic/eui@37.6.0': ['SSPL-1.0 OR Elastic License 2.0'], // TODO can be removed if the https://github.com/jindw/xmldom/issues/239 is released 'xmldom@0.1.27': ['MIT'], diff --git a/src/plugins/discover/public/application/apps/main/components/doc_table/components/table_row/__snapshots__/table_cell.test.tsx.snap b/src/plugins/discover/public/application/apps/main/components/doc_table/components/table_row/__snapshots__/table_cell.test.tsx.snap index 5f3564174adf8..7f7a63bf139b0 100644 --- a/src/plugins/discover/public/application/apps/main/components/doc_table/components/table_row/__snapshots__/table_cell.test.tsx.snap +++ b/src/plugins/discover/public/application/apps/main/components/doc_table/components/table_row/__snapshots__/table_cell.test.tsx.snap @@ -31,11 +31,11 @@ exports[`Doc table cell component renders a cell with filter buttons if it is fi className="kbnDocTableCell__filterButton" content="Filter for value" delay="regular" + display="inlineBlock" position="bottom" > @@ -65,11 +65,11 @@ exports[`Doc table cell component renders a cell with filter buttons if it is fi className="kbnDocTableCell__filterButton" content="Filter out value" delay="regular" + display="inlineBlock" position="bottom" > diff --git a/src/plugins/discover/public/application/components/source_viewer/__snapshots__/source_viewer.test.tsx.snap b/src/plugins/discover/public/application/components/source_viewer/__snapshots__/source_viewer.test.tsx.snap index dfded530c6983..3d4a9923fa8c8 100644 --- a/src/plugins/discover/public/application/components/source_viewer/__snapshots__/source_viewer.test.tsx.snap +++ b/src/plugins/discover/public/application/components/source_viewer/__snapshots__/source_viewer.test.tsx.snap @@ -472,12 +472,12 @@ exports[`Source Viewer component renders json code editor 1`] = ` > diff --git a/src/plugins/home/public/application/components/__snapshots__/recently_accessed.test.js.snap b/src/plugins/home/public/application/components/__snapshots__/recently_accessed.test.js.snap index c9fd411ab6070..09ca9c0c16f8a 100644 --- a/src/plugins/home/public/application/components/__snapshots__/recently_accessed.test.js.snap +++ b/src/plugins/home/public/application/components/__snapshots__/recently_accessed.test.js.snap @@ -45,6 +45,7 @@ exports[`render 1`] = ` anchorClassName="homRecentlyAccessed__anchor" content="label0" delay="regular" + display="inlineBlock" position="bottom" >

diff --git a/src/plugins/kibana_react/public/code_editor/__snapshots__/code_editor.test.tsx.snap b/src/plugins/kibana_react/public/code_editor/__snapshots__/code_editor.test.tsx.snap index 7b2729d2e1b68..d85f96382e803 100644 --- a/src/plugins/kibana_react/public/code_editor/__snapshots__/code_editor.test.tsx.snap +++ b/src/plugins/kibana_react/public/code_editor/__snapshots__/code_editor.test.tsx.snap @@ -164,7 +164,6 @@ exports[` is rendered 1`] = ` > diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/components/__snapshots__/relationships.test.tsx.snap b/src/plugins/saved_objects_management/public/management_section/objects_table/components/__snapshots__/relationships.test.tsx.snap index c39263f304249..6c07cb0c46ec6 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/components/__snapshots__/relationships.test.tsx.snap +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/components/__snapshots__/relationships.test.tsx.snap @@ -14,6 +14,7 @@ exports[`Relationships should render dashboards normally 1`] = ` @@ -70,6 +72,7 @@ exports[`ValueAxesPanel component should init with the default set of props 1`] @@ -178,6 +182,7 @@ exports[`ValueAxesPanel component should init with the default set of props 1`] I_d!~6ce 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

vx;Fa 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 literal 85012 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 z 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

QA> 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 diff --git a/test/functional/screenshots/baseline/tsvb_dashboard.png b/test/functional/screenshots/baseline/tsvb_dashboard.png index a36cfffebf080fa86cf10cbc3f132e512eab92df..4b41887e27e246c30e547be4f734d7aad15fc4f1 100644 GIT binary patch literal 122776 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 literal 73146 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

Jf8%VJH5LVSzy&`sO#wgg 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 oq!{28^HIByq;Q&LJu&Y&LsWU;+I=TYH List should render empty state 1`] = ` @@ -383,7 +382,6 @@ exports[`ErrorGroupOverview -> List should render with data 1`] = ` @@ -552,7 +550,6 @@ exports[`ErrorGroupOverview -> List should render with data 1`] = ` @@ -627,7 +624,6 @@ exports[`ErrorGroupOverview -> List should render with data 1`] = ` > @@ -644,7 +640,6 @@ exports[`ErrorGroupOverview -> List should render with data 1`] = `
@@ -708,7 +703,6 @@ exports[`ErrorGroupOverview -> List should render with data 1`] = ` > @@ -735,7 +729,6 @@ exports[`ErrorGroupOverview -> List should render with data 1`] = ` @@ -810,7 +803,6 @@ exports[`ErrorGroupOverview -> List should render with data 1`] = ` > @@ -827,7 +819,6 @@ exports[`ErrorGroupOverview -> List should render with data 1`] = `
@@ -891,7 +882,6 @@ exports[`ErrorGroupOverview -> List should render with data 1`] = ` > @@ -918,7 +908,6 @@ exports[`ErrorGroupOverview -> List should render with data 1`] = ` @@ -993,7 +982,6 @@ exports[`ErrorGroupOverview -> List should render with data 1`] = ` > @@ -1010,7 +998,6 @@ exports[`ErrorGroupOverview -> List should render with data 1`] = `
@@ -1074,7 +1061,6 @@ exports[`ErrorGroupOverview -> List should render with data 1`] = ` > @@ -1101,7 +1087,6 @@ exports[`ErrorGroupOverview -> List should render with data 1`] = ` @@ -1176,7 +1161,6 @@ exports[`ErrorGroupOverview -> List should render with data 1`] = ` > @@ -1193,7 +1177,6 @@ exports[`ErrorGroupOverview -> List should render with data 1`] = `
@@ -1257,7 +1240,6 @@ exports[`ErrorGroupOverview -> List should render with data 1`] = ` > diff --git a/x-pack/plugins/apm/public/components/shared/TimestampTooltip/index.test.tsx b/x-pack/plugins/apm/public/components/shared/TimestampTooltip/index.test.tsx index d859f89c8e097..c84287dad7a97 100644 --- a/x-pack/plugins/apm/public/components/shared/TimestampTooltip/index.test.tsx +++ b/x-pack/plugins/apm/public/components/shared/TimestampTooltip/index.test.tsx @@ -29,6 +29,7 @@ describe('TimestampTooltip', () => { 5 hours ago diff --git a/x-pack/plugins/apm/public/components/shared/sticky_properties/__snapshots__/sticky_properties.test.tsx.snap b/x-pack/plugins/apm/public/components/shared/sticky_properties/__snapshots__/sticky_properties.test.tsx.snap index 020d5952c03e4..f8799874408e3 100644 --- a/x-pack/plugins/apm/public/components/shared/sticky_properties/__snapshots__/sticky_properties.test.tsx.snap +++ b/x-pack/plugins/apm/public/components/shared/sticky_properties/__snapshots__/sticky_properties.test.tsx.snap @@ -29,6 +29,7 @@ exports[`StickyProperties should render entire component 1`] = ` } delay="regular" + display="inlineBlock" position="top" > @@ -39,6 +40,7 @@ exports[`StickyProperties should render entire component 1`] = ` @@ -64,6 +66,7 @@ exports[`StickyProperties should render entire component 1`] = ` } delay="regular" + display="inlineBlock" position="top" > @@ -93,6 +96,7 @@ exports[`StickyProperties should render entire component 1`] = ` } delay="regular" + display="inlineBlock" position="top" > @@ -122,6 +126,7 @@ exports[`StickyProperties should render entire component 1`] = ` } delay="regular" + display="inlineBlock" position="top" > diff --git a/x-pack/plugins/canvas/public/components/asset_manager/__stories__/__snapshots__/asset.stories.storyshot b/x-pack/plugins/canvas/public/components/asset_manager/__stories__/__snapshots__/asset.stories.storyshot index 19b44540943b3..a891b7ebe7686 100644 --- a/x-pack/plugins/canvas/public/components/asset_manager/__stories__/__snapshots__/asset.stories.storyshot +++ b/x-pack/plugins/canvas/public/components/asset_manager/__stories__/__snapshots__/asset.stories.storyshot @@ -64,7 +64,6 @@ exports[`Storyshots components/Assets/Asset airplane 1`] = ` > @@ -92,7 +91,6 @@ exports[`Storyshots components/Assets/Asset airplane 1`] = ` > @@ -125,7 +123,6 @@ exports[`Storyshots components/Assets/Asset airplane 1`] = ` > @@ -158,7 +155,6 @@ exports[`Storyshots components/Assets/Asset airplane 1`] = ` > @@ -251,7 +247,6 @@ exports[`Storyshots components/Assets/Asset marker 1`] = ` > @@ -279,7 +274,6 @@ exports[`Storyshots components/Assets/Asset marker 1`] = ` > @@ -312,7 +306,6 @@ exports[`Storyshots components/Assets/Asset marker 1`] = ` > @@ -345,7 +338,6 @@ exports[`Storyshots components/Assets/Asset marker 1`] = ` > diff --git a/x-pack/plugins/canvas/public/components/asset_manager/__stories__/__snapshots__/asset_manager.stories.storyshot b/x-pack/plugins/canvas/public/components/asset_manager/__stories__/__snapshots__/asset_manager.stories.storyshot index 05ef9df1c8601..6ef6d19e446db 100644 --- a/x-pack/plugins/canvas/public/components/asset_manager/__stories__/__snapshots__/asset_manager.stories.storyshot +++ b/x-pack/plugins/canvas/public/components/asset_manager/__stories__/__snapshots__/asset_manager.stories.storyshot @@ -348,7 +348,6 @@ exports[`Storyshots components/Assets/AssetManager two assets 1`] = ` > @@ -376,7 +375,6 @@ exports[`Storyshots components/Assets/AssetManager two assets 1`] = ` > @@ -409,7 +407,6 @@ exports[`Storyshots components/Assets/AssetManager two assets 1`] = ` > @@ -442,7 +439,6 @@ exports[`Storyshots components/Assets/AssetManager two assets 1`] = ` > @@ -524,7 +520,6 @@ exports[`Storyshots components/Assets/AssetManager two assets 1`] = ` > @@ -552,7 +547,6 @@ exports[`Storyshots components/Assets/AssetManager two assets 1`] = ` > @@ -585,7 +579,6 @@ exports[`Storyshots components/Assets/AssetManager two assets 1`] = ` > @@ -618,7 +611,6 @@ exports[`Storyshots components/Assets/AssetManager two assets 1`] = ` > diff --git a/x-pack/plugins/canvas/public/components/expression_input/__stories__/__snapshots__/expression_input.stories.storyshot b/x-pack/plugins/canvas/public/components/expression_input/__stories__/__snapshots__/expression_input.stories.storyshot index fdf14191ece4c..9c9ed566e9482 100644 --- a/x-pack/plugins/canvas/public/components/expression_input/__stories__/__snapshots__/expression_input.stories.storyshot +++ b/x-pack/plugins/canvas/public/components/expression_input/__stories__/__snapshots__/expression_input.stories.storyshot @@ -22,7 +22,6 @@ exports[`Storyshots components/ExpressionInput default 1`] = ` > diff --git a/x-pack/plugins/canvas/public/components/home/my_workpads/__snapshots__/workpad_table.stories.storyshot b/x-pack/plugins/canvas/public/components/home/my_workpads/__snapshots__/workpad_table.stories.storyshot index 0de7012aee1a3..7d05176b8147c 100644 --- a/x-pack/plugins/canvas/public/components/home/my_workpads/__snapshots__/workpad_table.stories.storyshot +++ b/x-pack/plugins/canvas/public/components/home/my_workpads/__snapshots__/workpad_table.stories.storyshot @@ -443,7 +443,6 @@ exports[`Storyshots Home/Components/Workpad Table Workpad Table 1`] = ` > @@ -471,7 +470,6 @@ exports[`Storyshots Home/Components/Workpad Table Workpad Table 1`] = ` > @@ -619,7 +617,6 @@ exports[`Storyshots Home/Components/Workpad Table Workpad Table 1`] = ` > @@ -647,7 +644,6 @@ exports[`Storyshots Home/Components/Workpad Table Workpad Table 1`] = ` > @@ -795,7 +791,6 @@ exports[`Storyshots Home/Components/Workpad Table Workpad Table 1`] = ` > @@ -823,7 +818,6 @@ exports[`Storyshots Home/Components/Workpad Table Workpad Table 1`] = ` > diff --git a/x-pack/plugins/canvas/public/components/saved_elements_modal/__stories__/__snapshots__/element_controls.stories.storyshot b/x-pack/plugins/canvas/public/components/saved_elements_modal/__stories__/__snapshots__/element_controls.stories.storyshot index e70905298a58c..31ff283e7030f 100644 --- a/x-pack/plugins/canvas/public/components/saved_elements_modal/__stories__/__snapshots__/element_controls.stories.storyshot +++ b/x-pack/plugins/canvas/public/components/saved_elements_modal/__stories__/__snapshots__/element_controls.stories.storyshot @@ -16,7 +16,6 @@ exports[`Storyshots components/SavedElementsModal/ElementControls has two button > @@ -45,7 +44,6 @@ exports[`Storyshots components/SavedElementsModal/ElementControls has two button > diff --git a/x-pack/plugins/canvas/public/components/saved_elements_modal/__stories__/__snapshots__/element_grid.stories.storyshot b/x-pack/plugins/canvas/public/components/saved_elements_modal/__stories__/__snapshots__/element_grid.stories.storyshot index e0ed2934f44b6..db5daa86b1386 100644 --- a/x-pack/plugins/canvas/public/components/saved_elements_modal/__stories__/__snapshots__/element_grid.stories.storyshot +++ b/x-pack/plugins/canvas/public/components/saved_elements_modal/__stories__/__snapshots__/element_grid.stories.storyshot @@ -67,7 +67,6 @@ exports[`Storyshots components/SavedElementsModal/ElementGrid default 1`] = ` > @@ -96,7 +95,6 @@ exports[`Storyshots components/SavedElementsModal/ElementGrid default 1`] = ` > @@ -178,7 +176,6 @@ exports[`Storyshots components/SavedElementsModal/ElementGrid default 1`] = ` > @@ -207,7 +204,6 @@ exports[`Storyshots components/SavedElementsModal/ElementGrid default 1`] = ` > @@ -289,7 +285,6 @@ exports[`Storyshots components/SavedElementsModal/ElementGrid default 1`] = ` > @@ -318,7 +313,6 @@ exports[`Storyshots components/SavedElementsModal/ElementGrid default 1`] = ` > diff --git a/x-pack/plugins/canvas/public/components/saved_elements_modal/__stories__/__snapshots__/saved_elements_modal.stories.storyshot b/x-pack/plugins/canvas/public/components/saved_elements_modal/__stories__/__snapshots__/saved_elements_modal.stories.storyshot index 372cd12db1b99..f019f9dc8f23d 100644 --- a/x-pack/plugins/canvas/public/components/saved_elements_modal/__stories__/__snapshots__/saved_elements_modal.stories.storyshot +++ b/x-pack/plugins/canvas/public/components/saved_elements_modal/__stories__/__snapshots__/saved_elements_modal.stories.storyshot @@ -294,7 +294,6 @@ exports[`Storyshots components/SavedElementsModal with custom elements 1`] = ` > @@ -323,7 +322,6 @@ exports[`Storyshots components/SavedElementsModal with custom elements 1`] = ` > @@ -405,7 +403,6 @@ exports[`Storyshots components/SavedElementsModal with custom elements 1`] = ` > @@ -434,7 +431,6 @@ exports[`Storyshots components/SavedElementsModal with custom elements 1`] = ` > @@ -516,7 +512,6 @@ exports[`Storyshots components/SavedElementsModal with custom elements 1`] = ` > @@ -545,7 +540,6 @@ exports[`Storyshots components/SavedElementsModal with custom elements 1`] = ` > @@ -764,7 +758,6 @@ exports[`Storyshots components/SavedElementsModal with text filter 1`] = ` > @@ -793,7 +786,6 @@ exports[`Storyshots components/SavedElementsModal with text filter 1`] = ` > diff --git a/x-pack/plugins/canvas/public/components/sidebar_header/__stories__/__snapshots__/sidebar_header.stories.storyshot b/x-pack/plugins/canvas/public/components/sidebar_header/__stories__/__snapshots__/sidebar_header.stories.storyshot index e01f34abeb9f0..130f698b1152e 100644 --- a/x-pack/plugins/canvas/public/components/sidebar_header/__stories__/__snapshots__/sidebar_header.stories.storyshot +++ b/x-pack/plugins/canvas/public/components/sidebar_header/__stories__/__snapshots__/sidebar_header.stories.storyshot @@ -55,7 +55,6 @@ exports[`Storyshots components/Sidebar/SidebarHeader with layer controls 1`] = ` > @@ -83,7 +82,6 @@ exports[`Storyshots components/Sidebar/SidebarHeader with layer controls 1`] = ` > @@ -111,7 +109,6 @@ exports[`Storyshots components/Sidebar/SidebarHeader with layer controls 1`] = ` > @@ -139,7 +136,6 @@ exports[`Storyshots components/Sidebar/SidebarHeader with layer controls 1`] = ` > diff --git a/x-pack/plugins/canvas/public/components/var_config/__stories__/__snapshots__/var_config.stories.storyshot b/x-pack/plugins/canvas/public/components/var_config/__stories__/__snapshots__/var_config.stories.storyshot index 5d8efeafef69c..8ca3dc2a94d4e 100644 --- a/x-pack/plugins/canvas/public/components/var_config/__stories__/__snapshots__/var_config.stories.storyshot +++ b/x-pack/plugins/canvas/public/components/var_config/__stories__/__snapshots__/var_config.stories.storyshot @@ -35,7 +35,6 @@ exports[`Storyshots components/Variables/VarConfig default 1`] = ` > @@ -53,7 +52,6 @@ exports[`Storyshots components/Variables/VarConfig default 1`] = ` > diff --git a/x-pack/plugins/canvas/public/expression_types/arg_types/series_style/__stories__/__snapshots__/simple_template.stories.storyshot b/x-pack/plugins/canvas/public/expression_types/arg_types/series_style/__stories__/__snapshots__/simple_template.stories.storyshot index f4233e27345c0..ccdd0a8592f2b 100644 --- a/x-pack/plugins/canvas/public/expression_types/arg_types/series_style/__stories__/__snapshots__/simple_template.stories.storyshot +++ b/x-pack/plugins/canvas/public/expression_types/arg_types/series_style/__stories__/__snapshots__/simple_template.stories.storyshot @@ -212,7 +212,6 @@ exports[`Storyshots arguments/SeriesStyle/components simple: no series 1`] = ` > diff --git a/x-pack/plugins/data_visualizer/public/application/common/components/field_type_icon/__snapshots__/field_type_icon.test.tsx.snap b/x-pack/plugins/data_visualizer/public/application/common/components/field_type_icon/__snapshots__/field_type_icon.test.tsx.snap index 769ebdeba9955..e69e2e7626718 100644 --- a/x-pack/plugins/data_visualizer/public/application/common/components/field_type_icon/__snapshots__/field_type_icon.test.tsx.snap +++ b/x-pack/plugins/data_visualizer/public/application/common/components/field_type_icon/__snapshots__/field_type_icon.test.tsx.snap @@ -4,6 +4,7 @@ exports[`FieldTypeIcon render component when type matches a field type 1`] = ` } delay="regular" + display="inlineBlock" position="left" > } delay="regular" + display="inlineBlock" position="left" > @@ -84,6 +85,7 @@ exports[`should render with fields 1`] = ` anchorClassName="eui-alignMiddle" content="Zoom levels where the layer is present in the tiles. This does not correspond directly to visibility. Layer data from lower levels can always be displayed at higher zoom levels (but not vice versa)." delay="regular" + display="inlineBlock" position="top" > @@ -132,6 +134,7 @@ exports[`should render with fields 1`] = ` } delay="regular" + display="inlineBlock" position="top" > @@ -182,6 +185,7 @@ exports[`should render without fields 1`] = ` anchorClassName="eui-alignMiddle" content="Zoom levels where the layer is present in the tiles. This does not correspond directly to visibility. Layer data from lower levels can always be displayed at higher zoom levels (but not vice versa)." delay="regular" + display="inlineBlock" position="top" > diff --git a/x-pack/plugins/maps/public/classes/styles/vector/properties/__snapshots__/dynamic_color_property.test.tsx.snap b/x-pack/plugins/maps/public/classes/styles/vector/properties/__snapshots__/dynamic_color_property.test.tsx.snap index 3f1cddf944374..5b43c5fb95560 100644 --- a/x-pack/plugins/maps/public/classes/styles/vector/properties/__snapshots__/dynamic_color_property.test.tsx.snap +++ b/x-pack/plugins/maps/public/classes/styles/vector/properties/__snapshots__/dynamic_color_property.test.tsx.snap @@ -33,6 +33,7 @@ exports[`renderLegendDetailRow categorical Should render categorical legend with @@ -113,6 +114,7 @@ exports[`renderLegendDetailRow ordinal Should render custom ordinal legend with @@ -176,6 +178,7 @@ exports[`renderLegendDetailRow ordinal Should render interpolate bands 1`] = ` @@ -305,6 +308,7 @@ exports[`renderLegendDetailRow ordinal Should render percentile bands 1`] = ` @@ -412,6 +416,7 @@ exports[`renderLegendDetailRow ordinal Should render single band when interpolat diff --git a/x-pack/plugins/maps/public/classes/styles/vector/properties/__snapshots__/dynamic_icon_property.test.tsx.snap b/x-pack/plugins/maps/public/classes/styles/vector/properties/__snapshots__/dynamic_icon_property.test.tsx.snap index 631a6117a111d..11a4fafda29e1 100644 --- a/x-pack/plugins/maps/public/classes/styles/vector/properties/__snapshots__/dynamic_icon_property.test.tsx.snap +++ b/x-pack/plugins/maps/public/classes/styles/vector/properties/__snapshots__/dynamic_icon_property.test.tsx.snap @@ -12,6 +12,7 @@ exports[`renderLegendDetailRow Should render categorical legend with breaks 1`] diff --git a/x-pack/plugins/maps/public/connected_components/edit_layer_panel/join_editor/__snapshots__/join_editor.test.tsx.snap b/x-pack/plugins/maps/public/connected_components/edit_layer_panel/join_editor/__snapshots__/join_editor.test.tsx.snap index 92330c1d1ddce..0a79b21175d1e 100644 --- a/x-pack/plugins/maps/public/connected_components/edit_layer_panel/join_editor/__snapshots__/join_editor.test.tsx.snap +++ b/x-pack/plugins/maps/public/connected_components/edit_layer_panel/join_editor/__snapshots__/join_editor.test.tsx.snap @@ -9,6 +9,7 @@ exports[`Should render callout when joins are disabled 1`] = `

+ } + isOpen={isOpen} + closePopover={handleCloseMenu} + > + + + ); + } +); +ContextMenuWithRouterSupport.displayName = 'ContextMenuWithRouterSupport'; diff --git a/x-pack/plugins/security_solution/public/management/components/context_menu_with_router_support/index.ts b/x-pack/plugins/security_solution/public/management/components/context_menu_with_router_support/index.ts new file mode 100644 index 0000000000000..56c6009ccf1b2 --- /dev/null +++ b/x-pack/plugins/security_solution/public/management/components/context_menu_with_router_support/index.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export * from './context_menu_with_router_support'; diff --git a/x-pack/plugins/security_solution/public/management/components/paginated_content/paginated_content.tsx b/x-pack/plugins/security_solution/public/management/components/paginated_content/paginated_content.tsx index a6b2683316efe..ee0bf02f730f4 100644 --- a/x-pack/plugins/security_solution/public/management/components/paginated_content/paginated_content.tsx +++ b/x-pack/plugins/security_solution/public/management/components/paginated_content/paginated_content.tsx @@ -153,11 +153,14 @@ export const PaginatedContent = memo( [pagination?.pageSize, pagination?.totalItemCount] ); + // If loading is done, + // then check to ensure the pagination numbers are correct based by ensuring that the + // `pageIndex` is not higher than the number of available pages. useEffect(() => { - if (pageCount > 0 && pageCount < (pagination?.pageIndex || 0) + 1) { + if (!loading && pageCount > 0 && pageCount < (pagination?.pageIndex || 0) + 1) { onChange({ pageIndex: pageCount - 1, pageSize: pagination?.pageSize || 0 }); } - }, [pageCount, onChange, pagination]); + }, [pageCount, onChange, pagination, loading]); const handleItemsPerPageChange: EuiTablePaginationProps['onChangeItemsPerPage'] = useCallback( (pageSize) => { diff --git a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/components/table_row_actions.tsx b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/components/table_row_actions.tsx index 5a2ad6cf4c60b..6df5413c1eb3c 100644 --- a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/components/table_row_actions.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/components/table_row_actions.tsx @@ -14,7 +14,7 @@ import { EuiPopoverProps, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { ContextMenuItemNavByRouter } from './context_menu_item_nav_by_rotuer'; +import { ContextMenuItemNavByRouter } from '../../../../components/context_menu_with_router_support/context_menu_item_nav_by_rotuer'; import { HostMetadata } from '../../../../../../common/endpoint/types'; import { useEndpointActionItems } from '../hooks'; diff --git a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/components/actions_menu.tsx b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/components/actions_menu.tsx index c778f4f2a08ec..412db3dc2a63e 100644 --- a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/components/actions_menu.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/components/actions_menu.tsx @@ -10,7 +10,7 @@ import { EuiContextMenuPanel, EuiButton, EuiPopover } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; import { useEndpointActionItems, useEndpointSelector } from '../../hooks'; import { detailsData } from '../../../store/selectors'; -import { ContextMenuItemNavByRouter } from '../../components/context_menu_item_nav_by_rotuer'; +import { ContextMenuItemNavByRouter } from '../../../../../components/context_menu_with_router_support/context_menu_item_nav_by_rotuer'; export const ActionsMenu = React.memo<{}>(() => { const endpointDetails = useEndpointSelector(detailsData); diff --git a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/components/log_entry.tsx b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/components/log_entry.tsx index b15c6b9ba0020..bbe0a6f3afcd1 100644 --- a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/components/log_entry.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/components/log_entry.tsx @@ -144,9 +144,7 @@ export const LogEntry = memo(({ logEntry }: { logEntry: Immutable} event={{displayResponseEvent ? responseEventTitle : actionEventTitle}} timelineIcon={ diff --git a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/hooks/use_endpoint_action_items.tsx b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/hooks/use_endpoint_action_items.tsx index 34423767578d9..8f19fea818fc6 100644 --- a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/hooks/use_endpoint_action_items.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/hooks/use_endpoint_action_items.tsx @@ -14,7 +14,7 @@ import { HostMetadata, MaybeImmutable } from '../../../../../../common/endpoint/ import { useEndpointSelector } from './hooks'; import { agentPolicies, uiQueryParams } from '../../store/selectors'; import { useAppUrl } from '../../../../../common/lib/kibana/hooks'; -import { ContextMenuItemNavByRouterProps } from '../components/context_menu_item_nav_by_rotuer'; +import { ContextMenuItemNavByRouterProps } from '../../../../components/context_menu_with_router_support/context_menu_item_nav_by_rotuer'; import { isEndpointHostIsolated } from '../../../../../common/utils/validators'; import { useLicense } from '../../../../../common/hooks/use_license'; import { isIsolationSupported } from '../../../../../../common/endpoint/service/host_isolation/utils'; diff --git a/x-pack/plugins/security_solution/public/management/pages/policy/types.ts b/x-pack/plugins/security_solution/public/management/pages/policy/types.ts index 7d296c2ea0ae0..6d767df73cd1c 100644 --- a/x-pack/plugins/security_solution/public/management/pages/policy/types.ts +++ b/x-pack/plugins/security_solution/public/management/pages/policy/types.ts @@ -72,14 +72,6 @@ export interface PolicyDetailsState { license?: ILicense; } -/** - * The URL search params that are supported by the Policy List page view - */ -export interface PolicyListUrlSearchParams { - page_index: number; - page_size: number; -} - export enum OS { windows = 'windows', mac = 'mac', diff --git a/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_details.test.tsx b/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_details.test.tsx index 0aed93500453b..3292bc0c44cb9 100644 --- a/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_details.test.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_details.test.tsx @@ -98,9 +98,8 @@ describe('Policy Details', () => { it('should display back to list button and policy title', () => { policyView.update(); - const backToListLink = policyView.find('LinkIcon[dataTestSubj="policyDetailsBackLink"]'); - expect(backToListLink.prop('iconType')).toBe('arrowLeft'); - expect(backToListLink.prop('href')).toBe(`/app/security${endpointListPath}`); + const backToListLink = policyView.find('BackToExternalAppButton'); + expect(backToListLink.prop('backButtonUrl')).toBe(`/app/security${endpointListPath}`); expect(backToListLink.text()).toBe('Back to endpoint hosts'); const pageTitle = policyView.find('span[data-test-subj="header-page-title"]'); diff --git a/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_details.tsx b/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_details.tsx index 4538e86a841d9..660dda6493c39 100644 --- a/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_details.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_details.tsx @@ -5,23 +5,32 @@ * 2.0. */ -import React from 'react'; +import React, { useMemo } from 'react'; import { i18n } from '@kbn/i18n'; +import { useLocation } from 'react-router-dom'; import { usePolicyDetailsSelector } from './policy_hooks'; import { policyDetails, agentStatusSummary } from '../store/policy_details/selectors'; import { AgentsSummary } from './agents_summary'; import { useIsExperimentalFeatureEnabled } from '../../../../common/hooks/use_experimental_features'; -import { SecurityPageName } from '../../../../app/types'; -import { HeaderLinkBack } from '../../../../common/components/header_page'; import { PolicyTabs } from './tabs'; import { AdministrationListPage } from '../../../components/administration_list_page'; import { PolicyFormLayout } from './policy_forms/components'; +import { + BackToExternalAppButton, + BackToExternalAppButtonProps, +} from '../../../components/back_to_external_app_button/back_to_external_app_button'; +import { PolicyDetailsRouteState } from '../../../../../common/endpoint/types'; +import { getEndpointListPath } from '../../../common/routing'; +import { useAppUrl } from '../../../../common/lib/kibana'; +import { APP_ID } from '../../../../../common/constants'; export const PolicyDetails = React.memo(() => { // TODO: Remove this and related code when removing FF const isTrustedAppsByPolicyEnabled = useIsExperimentalFeatureEnabled( 'trustedAppsByPolicyEnabled' ); + const { state: routeState = {} } = useLocation(); + const { getAppUrl } = useAppUrl(); // Store values const policyItem = usePolicyDetailsSelector(policyDetails); @@ -31,6 +40,34 @@ export const PolicyDetails = React.memo(() => { const policyName = policyItem?.name ?? ''; const policyDescription = policyItem?.description ?? undefined; + const backLinkOptions = useMemo(() => { + if (routeState?.backLink) { + return { + onBackButtonNavigateTo: routeState.backLink.navigateTo, + backButtonLabel: routeState.backLink.label, + backButtonUrl: routeState.backLink.href, + }; + } + + const endpointListPath = getEndpointListPath({ name: 'endpointList' }); + + return { + backButtonLabel: i18n.translate( + 'xpack.securitySolution.endpoint.policy.details.backToListTitle', + { + defaultMessage: 'Back to endpoint hosts', + } + ), + backButtonUrl: getAppUrl({ path: endpointListPath }), + onBackButtonNavigateTo: [ + APP_ID, + { + path: endpointListPath, + }, + ], + }; + }, [getAppUrl, routeState?.backLink]); + const headerRightContent = ( { ); const backToEndpointList = ( - + ); return ( diff --git a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/store/selectors.ts b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/store/selectors.ts index 388d8b5e6ed66..1565dc1310b18 100644 --- a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/store/selectors.ts +++ b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/store/selectors.ts @@ -7,7 +7,12 @@ import { createSelector } from 'reselect'; import { ServerApiError } from '../../../../common/types'; -import { Immutable, NewTrustedApp, TrustedApp } from '../../../../../common/endpoint/types'; +import { + Immutable, + NewTrustedApp, + PolicyData, + TrustedApp, +} from '../../../../../common/endpoint/types'; import { MANAGEMENT_PAGE_SIZE_OPTIONS } from '../../../common/constants'; import { @@ -226,6 +231,18 @@ export const listOfPolicies: ( return isLoadedResourceState(policies) ? policies.data.items : []; }); +export const getMapOfPoliciesById: ( + state: Immutable +) => Immutable>> = createSelector( + listOfPolicies, + (policies) => { + return policies.reduce>>((mapById, policy) => { + mapById[policy.id] = policy; + return mapById; + }, {}) as Immutable>>; + } +); + export const isEdit: (state: Immutable) => boolean = createSelector( getCurrentLocation, ({ show }) => { diff --git a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_app_card/__snapshots__/index.test.tsx.snap b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_app_card/__snapshots__/index.test.tsx.snap deleted file mode 100644 index cbeea78f51040..0000000000000 --- a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_app_card/__snapshots__/index.test.tsx.snap +++ /dev/null @@ -1,249 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`trusted_app_card TrustedAppCard should render correctly 1`] = ` - - - } - /> - - } - /> - - } - /> - - } - /> - - } - /> - - } - /> - - } - /> - - - Edit - - - Remove - - -`; - -exports[`trusted_app_card TrustedAppCard should trim long texts 1`] = ` - - - } - /> - - } - /> - - } - /> - - } - /> - - } - /> - - } - /> - - } - /> - - - Edit - - - Remove - - -`; diff --git a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_app_card/index.stories.tsx b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_app_card/index.stories.tsx deleted file mode 100644 index e2e426caa1654..0000000000000 --- a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_app_card/index.stories.tsx +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import React from 'react'; -import { ThemeProvider } from 'styled-components'; -import { storiesOf, addDecorator } from '@storybook/react'; -import { action } from '@storybook/addon-actions'; -import euiLightVars from '@elastic/eui/dist/eui_theme_light.json'; - -import { KibanaContextProvider } from '../../../../../../../../../../src/plugins/kibana_react/public'; -import { - ConditionEntryField, - TrustedApp, - WindowsConditionEntry, -} from '../../../../../../../common/endpoint/types'; - -import { createSampleTrustedApp } from '../../../test_utils'; - -import { TrustedAppCard } from '.'; - -addDecorator((storyFn) => ( - 'MMM D, YYYY @ HH:mm:ss.SSS' } }}> - ({ eui: euiLightVars, darkMode: false })}> - {storyFn()} - - -)); - -const PATH_CONDITION: WindowsConditionEntry = { - field: ConditionEntryField.PATH, - operator: 'included', - type: 'match', - value: '/some/path/on/file/system', -}; - -const SIGNER_CONDITION: WindowsConditionEntry = { - field: ConditionEntryField.SIGNER, - operator: 'included', - type: 'match', - value: 'Elastic', -}; - -storiesOf('TrustedApps/TrustedAppCard', module) - .add('default', () => { - const trustedApp: TrustedApp = createSampleTrustedApp(5); - trustedApp.created_at = '2020-09-17T14:52:33.899Z'; - trustedApp.entries = [PATH_CONDITION]; - - return ( - - ); - }) - .add('multiple entries', () => { - const trustedApp: TrustedApp = createSampleTrustedApp(5); - trustedApp.created_at = '2020-09-17T14:52:33.899Z'; - trustedApp.entries = [PATH_CONDITION, SIGNER_CONDITION]; - - return ( - - ); - }) - .add('longs texts', () => { - const trustedApp: TrustedApp = createSampleTrustedApp(5, true); - trustedApp.created_at = '2020-09-17T14:52:33.899Z'; - trustedApp.entries = [PATH_CONDITION, SIGNER_CONDITION]; - - return ( - - ); - }); diff --git a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_app_card/index.test.tsx b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_app_card/index.test.tsx deleted file mode 100644 index 0b1d8e0d7ac98..0000000000000 --- a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_app_card/index.test.tsx +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { shallow } from 'enzyme'; -import React from 'react'; - -import { TrustedAppCard } from '.'; -import { createSampleTrustedApp } from '../../../test_utils'; - -describe('trusted_app_card', () => { - describe('TrustedAppCard', () => { - it('should render correctly', () => { - const element = shallow( - {}} - onEdit={() => {}} - /> - ); - - expect(element).toMatchSnapshot(); - }); - - it('should trim long texts', () => { - const element = shallow( - {}} - onEdit={() => {}} - /> - ); - - expect(element).toMatchSnapshot(); - }); - }); -}); diff --git a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_app_card/index.tsx b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_app_card/index.tsx deleted file mode 100644 index 419d8aaedfe03..0000000000000 --- a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_app_card/index.tsx +++ /dev/null @@ -1,187 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import React, { memo, useCallback, useMemo } from 'react'; -import { isEmpty } from 'lodash/fp'; -import { EuiTableFieldDataColumnType } from '@elastic/eui'; - -import { - Immutable, - TrustedApp, - MacosLinuxConditionEntry, - WindowsConditionEntry, -} from '../../../../../../../common/endpoint/types'; - -import { FormattedDate } from '../../../../../../common/components/formatted_date'; -import { ConditionsTable } from '../../../../../../common/components/conditions_table'; -import { TextFieldValue } from '../../../../../../common/components/text_field_value'; -import { - ItemDetailsAction, - ItemDetailsCard, - ItemDetailsCardProps, - ItemDetailsPropertySummary, -} from '../../../../../../common/components/item_details_card'; - -import { - OS_TITLES, - PROPERTY_TITLES, - ENTRY_PROPERTY_TITLES, - CARD_DELETE_BUTTON_LABEL, - CONDITION_FIELD_TITLE, - OPERATOR_TITLES, - CARD_EDIT_BUTTON_LABEL, -} from '../../translations'; - -type Entry = MacosLinuxConditionEntry | WindowsConditionEntry; - -const getEntriesColumnDefinitions = (): Array> => [ - { - field: 'field', - name: ENTRY_PROPERTY_TITLES.field, - sortable: false, - truncateText: true, - textOnly: true, - width: '30%', - render(field: Entry['field'], _entry: Entry) { - return CONDITION_FIELD_TITLE[field]; - }, - }, - { - field: 'operator', - name: ENTRY_PROPERTY_TITLES.operator, - sortable: false, - truncateText: true, - width: '20%', - render(_field: Entry['operator'], entry: Entry) { - return entry.type === 'wildcard' ? OPERATOR_TITLES.matches : OPERATOR_TITLES.is; - }, - }, - { - field: 'value', - name: ENTRY_PROPERTY_TITLES.value, - sortable: false, - width: '60%', - 'data-test-subj': 'conditionValue', - render(field: Entry['value'], entry: Entry) { - return ( - - ); - }, - }, -]; - -export type TrustedAppCardProps = Pick & { - trustedApp: Immutable; - onDelete: (trustedApp: Immutable) => void; - onEdit: (trustedApp: Immutable) => void; -}; - -export const TrustedAppCard = memo( - ({ trustedApp, onDelete, onEdit, ...otherProps }) => { - const handleDelete = useCallback(() => onDelete(trustedApp), [onDelete, trustedApp]); - const handleEdit = useCallback(() => onEdit(trustedApp), [onEdit, trustedApp]); - - return ( - - - } - /> - } - /> - - } - /> - - } - /> - - } - /> - - } - /> - {!isEmpty(trustedApp.description) && ( - - } - /> - )} - - getEntriesColumnDefinitions(), [])} - items={useMemo(() => [...trustedApp.entries], [trustedApp.entries])} - badge="and" - className="trustedAppsConditionsTable" - responsive - /> - - - {CARD_EDIT_BUTTON_LABEL} - - - - {CARD_DELETE_BUTTON_LABEL} - - - ); - } -); - -TrustedAppCard.displayName = 'TrustedAppCard'; diff --git a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_apps_grid/__snapshots__/index.test.tsx.snap b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_apps_grid/__snapshots__/index.test.tsx.snap index 1355594831a24..3087914a438ef 100644 --- a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_apps_grid/__snapshots__/index.test.tsx.snap +++ b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_apps_grid/__snapshots__/index.test.tsx.snap @@ -372,35 +372,6 @@ exports[`TrustedAppsGrid renders correctly when failed loading data for the seco `; exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` -.c2 { - background-color: #f5f7fa; - padding: 16px; -} - -.c5 { - padding: 12px 24px 24px 0; -} - -.c5.c5.c5 { - margin-left: 0; -} - -.c5 .trustedAppsConditionsTable { - margin-left: 16px; -} - -.c3.c3.c3 { - width: 40%; - margin-top: 0; - margin-bottom: 8px; -} - -.c4.c4.c4 { - width: 60%; - margin-top: 0; - margin-bottom: 8px; -} - .c1 { position: relative; padding-top: 4px; @@ -414,6 +385,10 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` position: relative; } +.c3.artifactEntryCard + .c2.artifactEntryCard { + margin-top: 24px; +} + .c0 .trusted-app + .trusted-app { margin-top: 24px; } @@ -432,3194 +407,4074 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` class="body-content undefined" >
-
-
- Name -
-
- - +

trusted app 0 - - -

-
- OS -
-
- - - Windows - - -
-
- Date created -
-
- 1 minute ago -
-
- Created by -
-
- - - someone - - -
-
- Date modified -
-
- 1 minute ago -
-
- Modified by -
-
- - - someone - - -
-
- Description -
-
- +
+
- - Trusted App 0 - - - - -
-
-
-
-
-
+
+ +
+
+ class="euiText euiText--small" + > + Last updated +
+
+
+ class="euiText euiText--small" + > + + 1 minute ago + +
- - - - - - - - - - + + +
+
+
+ +
+
+
+
+
+ Created +
+
+
+
-
- - -
-
- - - Field - - - - - - Operator - - - - - - Value - - -
-
- - No items found - -
-
+ + 1 minute ago + +
+
+
+
+
+
+
+ +
+
+
+
+
+
-
- + +
+
+
+
+
+ +
+
+
+
+ someone +
+
+
+
+
-
- + +
+
+
+
+
+ +
+
+
+
+ someone +
+
+
+
+
+
+ +
+
+
+ Applied globally +
+
+
+
+
+
+
+

+ Trusted App 0 +

- -
+
-
-
- Name -
-
- - - trusted app 1 - - -
-
- OS -
-
- - - Mac - - -
-
- Date created -
-
- 1 minute ago -
-
- Created by -
-
+ - - someone + + + + OS -
-
- Date modified -
-
- 1 minute ago -
-
- Modified by -
-
- - someone + + IS - -
-
- Description -
-
- - - Trusted App 1 + + + Windows -
-
+ +
+
+ +
+
-
+
+

+ trusted app 1 +

+
+
-
+
+ +
+
+ class="euiText euiText--small" + > + Last updated +
+
+
+ class="euiText euiText--small" + > + + 1 minute ago + +
- - - - - - - - - - - - - -
-
- - - Field - - - - - - Operator - - - - - - Value - - -
-
- - No items found - -
-
-
-
-
-
-
-
-
- -
-
-
-
- +
+
+ Created +
+
+
+
+ + 1 minute ago + +
+
+
+
+
-
-
- -
-
-
-
-
- Name -
-
- - - trusted app 2 - - -
-
- OS -
-
- - - Linux - - -
-
- Date created -
-
- 1 minute ago -
-
- Created by -
-
- - - someone - - -
-
- Date modified -
-
- 1 minute ago -
-
- Modified by -
-
- - - someone - - -
-
- Description -
-
- - - Trusted App 2 - - -
-
+ +
+
+
-
+
+ + + + Created by + + + +
+
-
+
- +
+
+ someone
- - - - - - - - - - - - - -
-
- - - Field - - - - - - Operator - - - - - - Value - - -
-
- - No items found - -
-
-
-
-
- +
-
-
-
- + +
+
+
+
+ someone +
+
+
+
+
+
+ +
+
+
+ Applied globally +
+
+
+
+
+
+
+

+ Trusted App 1 +

-
-
+
-
-
- Name -
-
- - - trusted app 3 - - -
-
- OS -
-
- - - Windows - - -
-
- Date created -
-
- 1 minute ago -
-
- Created by -
-
+ - - someone + + + + OS -
-
- Date modified -
-
- 1 minute ago -
-
- Modified by -
-
- - someone + + IS - -
-
- Description -
-
- - - Trusted App 3 + + + macos -
-
+ +
+
+ +
+
-
+
+

+ trusted app 2 +

+
+
-
+
+ +
+
+ class="euiText euiText--small" + > + Last updated +
+
+
+ class="euiText euiText--small" + > + + 1 minute ago + +
- - - - - - - - - - + + +
+
+
+ +
+
+
+
+
+ Created +
+
+
+
-
- - -
-
- - - Field - - - - - - Operator - - - - - - Value - - -
-
- - No items found - -
-
+ + 1 minute ago + +
+
+
+
+
+
+
+ +
+
+
+
+
+
-
- +
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
- Name -
-
- - - trusted app 4 - - -
-
- OS -
-
- - - Mac - - -
-
- Date created -
-
- 1 minute ago -
-
- Created by -
-
- - - someone - - -
-
- Date modified -
-
- 1 minute ago -
-
- Modified by -
-
- - - someone - - -
-
- Description -
-
- - - Trusted App 4 - - -
-
-
-
-
-
-
-
-
-
-
+ +
+
+
-
-
-
-
+ someone
- - - - - - - - - - - - - -
-
- - - Field - - - - - - Operator - - - - - - Value - - -
-
- - No items found - -
-
-
-
-
- +
-
-
-
- + +
+
+
+
+ someone +
+
+
+
+
+
+ +
+
+
+ Applied globally +
+
+
+
+
+
+
+

+ Trusted App 2 +

- -
+
-
-
- Name -
-
- - - trusted app 5 - - -
-
- OS -
-
- - - Linux - - -
-
- Date created -
-
- 1 minute ago -
-
- Created by -
-
+ - - someone + + + + OS -
-
- Date modified -
-
- 1 minute ago -
-
- Modified by -
-
- - someone + + IS - -
-
- Description -
-
- - - Trusted App 5 + + + Linux -
-
+ +
+
+ +
+
-
+
+

+ trusted app 3 +

+
+
-
+
+ +
+
+ class="euiText euiText--small" + > + Last updated +
+
+
+ class="euiText euiText--small" + > + + 1 minute ago + +
- - - - - - - - - - + + +
+
+
+ +
+
+
+
+
+ Created +
+
+
+
-
- - -
-
- - - Field - - - - - - Operator - - - - - - Value - - -
-
- - No items found - -
-
+ + 1 minute ago + +
+
+
+
+
+
+
+ +
+
+
+
+
+
-
- + +
+
+
+
+
+ +
+
+
+
+ someone +
+
+
+
+
-
- +
-
-
-
-
-
-
- -
-
-
-
-
- Name -
-
- - - trusted app 6 - - -
-
- OS -
-
- - - Windows - - -
-
- Date created -
-
- 1 minute ago -
-
- Created by -
-
- - - someone - - -
-
- Date modified -
-
- 1 minute ago -
-
- Modified by -
-
- - - someone - - -
-
- Description -
-
- - - Trusted App 6 - - -
-
-
-
-
-
-
-
-
+
- +
+
+ someone
- - - - - - - - - - - - - -
-
- - - Field - - - - - - Operator - - - - - - Value - - -
-
- - No items found - -
-
+
+
+ +
+
-
- -
-
-
-
- -
+ Applied globally
+
+
+

+ Trusted App 3 +

+
-
-
+
-
-
- Name -
-
- - - trusted app 7 - - -
-
- OS -
-
- - - Mac - - -
-
- Date created -
-
- 1 minute ago -
-
- Created by -
-
+ - - someone + + + + OS -
-
- Date modified -
-
- 1 minute ago -
-
- Modified by -
-
- - someone + + IS - -
-
- Description -
-
- - - Trusted App 7 + + + Windows -
-
+ +
+
+
+
+
-
+
+

+ trusted app 4 +

+
+
-
+
+ +
+
+ class="euiText euiText--small" + > + Last updated +
+
+
+ class="euiText euiText--small" + > + + 1 minute ago + +
- - - - - - - - - - + + +
+
+
+ +
+
+
+
+
-
- - -
-
- - - Field - - - - - - Operator - - - - - - Value - - -
-
- - No items found - -
-
+ Created +
+
+
+
+ + 1 minute ago + +
+
+
+
+
+
+
+ +
+
+
+
+
+
-
- + +
+
+
+
+
+ +
+
+
+
+ someone +
+
+
+
+
-
- + +
+
+
+
+
+ +
+
+
+
+ someone +
+
+
-
-
-
-
-
-
-
-
- Name -
-
- - - trusted app 8 - - -
-
- OS -
-
- +
+
- - Linux - - - -
- Date created -
-
- 1 minute ago -
-
- Created by -
-
+
+ Applied globally +
+
+
+
+
+
+
+

+ Trusted App 4 +

+
+
+
+
+
+
+ - - someone + + + + OS - -
- Date modified -
-
- 1 minute ago -
-
- Modified by -
-
- - someone + + IS - -
-
- Description -
-
- - - Trusted App 8 + + + macos -
- +
+
+
+
+
+
-
+
+

+ trusted app 5 +

+
+
-
+
+ +
+
+ class="euiText euiText--small" + > + Last updated +
+
+
+ class="euiText euiText--small" + > + + 1 minute ago + +
- - - - - - - - - - + + +
+
+
+ +
+
+
+
+
+ Created +
+
+
+
-
- - -
-
- - - Field - - - - - - Operator - - - - - - Value - - -
-
- - No items found - -
-
+ + 1 minute ago + +
+
+
+
+
+
+
+ +
+
+
+
+
+
-
- + +
+
+
+
+
+ +
+
+
+
+ someone +
+
+
+
+
-
- + +
+
+
+
+
+ +
+
+
+
+ someone +
+
+
+
+
+
+ +
+
+
+ Applied globally +
+
+
+
+
+
+
+

+ Trusted App 5 +

-
-
+
-
-
- Name -
-
- - - trusted app 9 - - -
-
- OS -
-
- - - Windows - - -
-
- Date created -
-
- 1 minute ago -
-
- Created by -
-
+ - - someone + + + + OS -
-
- Date modified -
-
- 1 minute ago -
-
- Modified by -
-
- - someone + + IS - -
-
- Description -
-
- - - Trusted App 9 + + + Linux -
-
+ +
+
+ +
+
-
+
+

+ trusted app 6 +

+
+
-
+
+ +
+
+ class="euiText euiText--small" + > + Last updated +
+
+
+ class="euiText euiText--small" + > + + 1 minute ago + +
- - - - - - - - - - - - - -
-
- - - Field - - - - - - Operator - - - - - - Value - - -
-
- - No items found - -
-
-
-
-
-
-
-
-
- -
-
-
-
-
+
- - Remove - - - +
+
+ Created +
+
+
+
+ + 1 minute ago + +
+
+
+
+
+
+
+
+ +
+
+
-
- - - -
-
-
-
-
- +
+
+ + + + Created by + + + +
+
+
+
+
+ +
+
+
+
+ someone +
+
+
+
+
+
+
+
+
+ + + + Updated by + + + +
+
+
+
+
+ +
+
+
+
+ someone +
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+ Applied globally +
+
+
+
+
+
+
+

+ Trusted App 6 +

-
-
-
+
+ +
+
+
+
- - -
  • +
  • +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + Last updated +
    +
    +
    +
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + Created +
    +
    +
    +
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    - +
    +
    + + +
    +
    +
    +
    +
    +
    + + + + Created by + + + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + Updated by + + + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + Applied globally +
    +
    +
    +
    +
    +
    +
    +

    + Trusted App 7 +

    +
    +
    +
    +
    +
    +
    + + + - 5 + OS - - -
  • - … -
  • -
  • - -
  • - - - +
    +
    +
    +
    - - - - - -`; - -exports[`TrustedAppsGrid renders correctly when loading data for the first time 1`] = ` -.c1 { - position: relative; - padding-top: 4px; -} - -.c1 .body { - min-height: 40px; -} - -.c1 .body-content { - position: relative; -} - -.c0 .trusted-app + .trusted-app { - margin-top: 24px; -} - -
    -
    +
    +
    +
    +
    +
    +
    +

    + trusted app 8 +

    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + Last updated +
    +
    +
    +
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + Created +
    +
    +
    +
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + Created by + + + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + Updated by + + + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + Applied globally +
    +
    +
    +
    +
    +
    +
    +

    + Trusted App 8 +

    +
    +
    +
    +
    +
    +
    + + + + + + OS + + + + + IS + + + + Linux + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    + trusted app 9 +

    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + Last updated +
    +
    +
    +
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + Created +
    +
    +
    +
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + Created by + + + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + Updated by + + + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + Applied globally +
    +
    +
    +
    +
    +
    +
    +

    + Trusted App 9 +

    +
    +
    +
    +
    +
    +
    + + + + + + OS + + + + + IS + + + + Windows + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +`; + +exports[`TrustedAppsGrid renders correctly when loading data for the first time 1`] = ` +.c1 { + position: relative; + padding-top: 4px; +} + +.c1 .body { + min-height: 40px; +} + +.c1 .body-content { + position: relative; +} + +.c0 .trusted-app + .trusted-app { + margin-top: 24px; +} + +
    +
    @@ -3639,35 +4494,6 @@ exports[`TrustedAppsGrid renders correctly when loading data for the first time `; exports[`TrustedAppsGrid renders correctly when loading data for the second time 1`] = ` -.c2 { - background-color: #f5f7fa; - padding: 16px; -} - -.c5 { - padding: 12px 24px 24px 0; -} - -.c5.c5.c5 { - margin-left: 0; -} - -.c5 .trustedAppsConditionsTable { - margin-left: 16px; -} - -.c3.c3.c3 { - width: 40%; - margin-top: 0; - margin-bottom: 8px; -} - -.c4.c4.c4 { - width: 60%; - margin-top: 0; - margin-bottom: 8px; -} - .c1 { position: relative; padding-top: 4px; @@ -3681,6 +4507,10 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time position: relative; } +.c3.artifactEntryCard + .c2.artifactEntryCard { + margin-top: 24px; +} + .c0 .trusted-app + .trusted-app { margin-top: 24px; } @@ -3702,6179 +4532,7914 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time class="body-content undefined" >
    +
    +
    +
    +
    +
    +

    + trusted app 0 +

    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + Last updated +
    +
    +
    +
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + Created +
    +
    +
    +
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + Created by + + + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + Updated by + + + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + Applied globally +
    +
    +
    +
    +
    +
    +
    +

    + Trusted App 0 +

    +
    +
    +
    +
    +
    +
    + + + + + + OS + + + + + IS + + + + Windows + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    + trusted app 1 +

    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + Last updated +
    +
    +
    +
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + Created +
    +
    +
    +
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + Created by + + + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + Updated by + + + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + Applied globally +
    +
    +
    +
    +
    +
    +
    +

    + Trusted App 1 +

    +
    +
    +
    +
    +
    +
    + + + + + + OS + + + + + IS + + + + macos + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    + trusted app 2 +

    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + Last updated +
    +
    +
    +
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + Created +
    +
    +
    +
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + Created by + + + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + Updated by + + + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + Applied globally +
    +
    +
    +
    +
    +
    +
    +

    + Trusted App 2 +

    +
    +
    +
    +
    +
    +
    + + + + + + OS + + + + + IS + + + + Linux + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    + trusted app 3 +

    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + Last updated +
    +
    +
    +
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + Created +
    +
    +
    +
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + Created by + + + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + Updated by + + + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + Applied globally +
    +
    +
    +
    +
    +
    +
    +

    + Trusted App 3 +

    +
    +
    +
    +
    +
    +
    + + + + + + OS + + + + + IS + + + + Windows + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    + trusted app 4 +

    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + Last updated +
    +
    +
    +
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + Created +
    +
    +
    +
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + Created by + + + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + Updated by + + + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + Applied globally +
    +
    +
    +
    +
    +
    +
    +

    + Trusted App 4 +

    +
    +
    +
    +
    -
    -
    - Name -
    -
    - - - trusted app 0 - - -
    -
    - OS -
    -
    - - - Windows - - -
    -
    - Date created -
    -
    - 1 minute ago -
    -
    - Created by -
    -
    + - - someone + + + + OS -
    -
    - Date modified -
    -
    - 1 minute ago -
    -
    - Modified by -
    -
    - - someone + + IS - -
    -
    - Description -
    -
    - - - Trusted App 0 + + + macos -
    -
    + +
    +
    +
    +
    +
    -
    +
    +

    + trusted app 5 +

    +
    +
    -
    +
    + +
    +
    + class="euiText euiText--small" + > + Last updated +
    +
    +
    + class="euiText euiText--small" + > + + 1 minute ago + +
    - - - - - - - - - - + + +
    +
    +
    + +
    +
    +
    +
    +
    + Created +
    +
    +
    +
    -
    - - -
    -
    - - - Field - - - - - - Operator - - - - - - Value - - -
    -
    - - No items found - -
    -
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    -
    - + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    -
    - + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    + +
    +
    +
    + Applied globally +
    +
    +
    +
    +
    +
    +
    +

    + Trusted App 5 +

    -
    -
    +
    -
    -
    - Name -
    -
    - - - trusted app 1 - - -
    -
    - OS -
    -
    - - - Mac - - -
    -
    - Date created -
    -
    - 1 minute ago -
    -
    - Created by -
    -
    - - - someone - - -
    -
    - Date modified -
    -
    - 1 minute ago -
    -
    - Modified by -
    -
    + - - someone + + + + OS -
    -
    - Description -
    -
    - - Trusted App 1 + + IS + + + + Linux -
    -
    + +
    +
    +
    +
    +
    -
    +
    +

    + trusted app 6 +

    +
    +
    -
    +
    + +
    +
    + class="euiText euiText--small" + > + Last updated +
    +
    +
    + class="euiText euiText--small" + > + + 1 minute ago + +
    - - - - - - - - - - - - - -
    -
    - - - Field - - - - - - Operator - - - - - - Value - - -
    -
    - - No items found - -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    +
    - - Remove - - - +
    +
    + Created +
    +
    +
    +
    + + 1 minute ago + +
    +
    +
    +
    +
    -
    -
    -
    -
    -
    -
    -
    -
    - Name -
    -
    - - - trusted app 2 - - -
    -
    - OS -
    -
    - - - Linux - - -
    -
    - Date created -
    -
    - 1 minute ago -
    -
    - Created by -
    -
    - - - someone - - -
    -
    - Date modified -
    -
    - 1 minute ago -
    -
    - Modified by -
    -
    - - - someone - - -
    -
    - Description -
    -
    - - - Trusted App 2 - - -
    -
    + +
    +
    +
    -
    +
    + + + + Created by + + + +
    +
    -
    +
    - +
    +
    + someone
    - - - - - - - - - - - - - -
    -
    - - - Field - - - - - - Operator - - - - - - Value - - -
    -
    - - No items found - -
    -
    -
    -
    -
    - +
    -
    -
    -
    - + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    + +
    +
    +
    + Applied globally +
    +
    +
    +
    +
    +
    +
    +

    + Trusted App 6 +

    -
    -
    +
    -
    -
    - Name -
    -
    - - - trusted app 3 - - -
    -
    - OS -
    -
    - - - Windows - - -
    -
    - Date created -
    -
    - 1 minute ago -
    -
    - Created by -
    -
    + - - someone + + + + OS -
    -
    - Date modified -
    -
    - 1 minute ago -
    -
    - Modified by -
    -
    - - someone + + IS - -
    -
    - Description -
    -
    - - - Trusted App 3 + + + Windows -
    -
    + +
    +
    +
    +
    +
    -
    +
    +

    + trusted app 7 +

    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + Last updated +
    +
    +
    +
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    -
    +
    + +
    +
    + class="euiText euiText--small" + > + Created +
    +
    +
    + class="euiText euiText--small" + > + + 1 minute ago + +
    - - - - - - - - - - - - - -
    -
    - - - Field - - - - - - Operator - - - - - - Value - - -
    -
    - - No items found - -
    -
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    -
    - + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    -
    - +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + Applied globally
    +
    +
    +

    + Trusted App 7 +

    +
    -
    -
    +
    -
    -
    - Name -
    -
    - - - trusted app 4 - - -
    -
    - OS -
    -
    - - - Mac - - -
    -
    - Date created -
    -
    - 1 minute ago -
    -
    - Created by -
    -
    + - - someone + + + + OS -
    -
    - Date modified -
    -
    - 1 minute ago -
    -
    - Modified by -
    -
    - - someone + + IS - -
    -
    - Description -
    -
    - - - Trusted App 4 + + + macos -
    -
    + +
    +
    +
    +
    +
    -
    +
    +

    + trusted app 8 +

    +
    +
    -
    +
    + +
    +
    + class="euiText euiText--small" + > + Last updated +
    +
    +
    + class="euiText euiText--small" + > + + 1 minute ago + +
    - - - - - - - - - - - - - -
    -
    - - - Field - - - - - - Operator - - - - - - Value - - -
    -
    - - No items found - -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    +
    - - Remove - - - +
    +
    + Created +
    +
    +
    +
    + + 1 minute ago + +
    +
    +
    +
    +
    -
    -
    -
    -
    -
    -
    -
    -
    - Name -
    -
    - - - trusted app 5 - - -
    -
    - OS -
    -
    - - - Linux - - -
    -
    - Date created -
    -
    - 1 minute ago -
    -
    - Created by -
    -
    - - - someone - - -
    -
    - Date modified -
    -
    - 1 minute ago -
    -
    - Modified by -
    -
    - - - someone - - -
    -
    - Description -
    -
    - - - Trusted App 5 - - -
    -
    + +
    +
    +
    -
    +
    + + + + Created by + + + +
    +
    -
    +
    - +
    +
    + someone
    - - - - - - - - - - - - - -
    -
    - - - Field - - - - - - Operator - - - - - - Value - - -
    -
    - - No items found - -
    -
    -
    -
    -
    - +
    -
    -
    -
    - + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    + +
    +
    +
    + Applied globally +
    +
    +
    +
    +
    +
    +
    +

    + Trusted App 8 +

    -
    -
    +
    -
    -
    - Name -
    -
    - - - trusted app 6 - - -
    -
    - OS -
    -
    - - - Windows - - -
    -
    - Date created -
    -
    - 1 minute ago -
    -
    - Created by -
    -
    + - - someone + + + + OS -
    -
    - Date modified -
    -
    - 1 minute ago -
    -
    - Modified by -
    -
    - - someone + + IS - -
    -
    - Description -
    -
    - - - Trusted App 6 + + + Linux -
    -
    + +
    +
    +
    +
    +
    -
    +
    +

    + trusted app 9 +

    +
    +
    -
    +
    + +
    +
    + class="euiText euiText--small" + > + Last updated +
    +
    +
    + class="euiText euiText--small" + > + + 1 minute ago + +
    - - - - - - - - - - + + +
    +
    +
    + +
    +
    +
    +
    +
    + Created +
    +
    +
    +
    -
    - - -
    -
    - - - Field - - - - - - Operator - - - - - - Value - - -
    -
    - - No items found - -
    -
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    -
    - + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    -
    - + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    + +
    +
    +
    + Applied globally +
    +
    +
    +
    +
    +
    +
    +

    + Trusted App 9 +

    +
    +
    +
    +
    +
    +
    + + + + + + OS + + + + + IS + + + + Windows + + + +
    +
    +
    +
    +
    +
    -
    -
    - Name -
    -
    + + Rows per page + : + 10 + + + +
    +
    +
    +
    +
    + + + + + +
    +
    +
    + + + +`; + +exports[`TrustedAppsGrid renders correctly when new page and page size set (not loading yet) 1`] = ` +.c1 { + position: relative; + padding-top: 4px; +} + +.c1 .body { + min-height: 40px; +} + +.c1 .body-content { + position: relative; +} + +.c3.artifactEntryCard + .c2.artifactEntryCard { + margin-top: 24px; +} + +.c0 .trusted-app + .trusted-app { + margin-top: 24px; +} + +
    +
    +
    +
    +
    +
    +
    -
    +
    +

    + trusted app 0 +

    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + Last updated +
    +
    +
    +
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    -
    +
    + +
    +
    + class="euiText euiText--small" + > + Created +
    +
    +
    + class="euiText euiText--small" + > + + 1 minute ago + +
    - - - - - - - - - - - - - -
    -
    - - - Field - - - - - - Operator - - - - - - Value - - -
    -
    - - No items found - -
    -
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    -
    - + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    -
    - + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    + +
    +
    +
    + Applied globally +
    +
    +
    +
    +
    +
    +
    +

    + Trusted App 0 +

    -
    -
    +
    -
    -
    - Name -
    -
    - - - trusted app 8 - - -
    -
    - OS -
    -
    - - - Linux - - -
    -
    - Date created -
    -
    - 1 minute ago -
    -
    - Created by -
    -
    + - - someone + + + + OS -
    -
    - Date modified -
    -
    - 1 minute ago -
    -
    - Modified by -
    -
    - - someone + + IS - -
    -
    - Description -
    -
    - - - Trusted App 8 + + + Windows -
    -
    + +
    +
    +
    +
    +
    -
    +
    +

    + trusted app 1 +

    +
    +
    -
    +
    + +
    +
    + class="euiText euiText--small" + > + Last updated +
    +
    +
    + class="euiText euiText--small" + > + + 1 minute ago + +
    - - - - - - - - - - + + +
    +
    +
    + +
    +
    +
    +
    +
    + Created +
    +
    +
    +
    -
    - - -
    -
    - - - Field - - - - - - Operator - - - - - - Value - - -
    -
    - - No items found - -
    -
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    -
    - + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    -
    - + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    + +
    +
    +
    + Applied globally +
    +
    +
    +
    +
    +
    +
    +

    + Trusted App 1 +

    -
    -
    +
    -
    -
    - Name -
    -
    - - - trusted app 9 - - -
    -
    - OS -
    -
    - - - Windows - - -
    -
    - Date created -
    -
    - 1 minute ago -
    -
    - Created by -
    -
    + - - someone + + + + OS -
    -
    - Date modified -
    -
    - 1 minute ago -
    -
    - Modified by -
    -
    - - someone + + IS - -
    -
    - Description -
    -
    - - - Trusted App 9 + + + macos -
    -
    + +
    +
    +
    +
    +
    -
    +
    +

    + trusted app 2 +

    +
    +
    -
    +
    + +
    +
    + class="euiText euiText--small" + > + Last updated +
    +
    +
    + class="euiText euiText--small" + > + + 1 minute ago + +
    - - - - - - - - - - + + +
    +
    +
    + +
    +
    +
    +
    +
    + Created +
    +
    +
    +
    -
    - - -
    -
    - - - Field - - - - - - Operator - - - - - - Value - - -
    -
    - - No items found - -
    -
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    -
    - + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    -
    - +
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    -
    +
    +
    - 3 - - - - -
  • +
  • +
    +
    +
    +
    +
    +

    -

    +
    +
    +
    +
    +
    + + + - 4 + OS - - -
  • - -
  • -
  • - … -
  • -
  • - -
  • - - - +
    +
    +
    +
    - - - - - -`; - -exports[`TrustedAppsGrid renders correctly when new page and page size set (not loading yet) 1`] = ` -.c2 { - background-color: #f5f7fa; - padding: 16px; -} - -.c5 { - padding: 12px 24px 24px 0; -} - -.c5.c5.c5 { - margin-left: 0; -} - -.c5 .trustedAppsConditionsTable { - margin-left: 16px; -} - -.c3.c3.c3 { - width: 40%; - margin-top: 0; - margin-bottom: 8px; -} - -.c4.c4.c4 { - width: 60%; - margin-top: 0; - margin-bottom: 8px; -} - -.c1 { - position: relative; - padding-top: 4px; -} - -.c1 .body { - min-height: 40px; -} - -.c1 .body-content { - position: relative; -} - -.c0 .trusted-app + .trusted-app { - margin-top: 24px; -} - -
    -
    -
    -
    -
    -
    -
    - Name -
    -
    - - - trusted app 0 - - -
    -
    - OS -
    -
    - - - Windows - - -
    -
    - Date created -
    -
    - 1 minute ago -
    -
    - Created by -
    -
    - - - someone - - -
    -
    - Date modified -
    -
    - 1 minute ago -
    -
    - Modified by -
    -
    - + trusted app 3 + +
    +
    - - someone - - - -
    - Description -
    -
    +
    +
    +
    + +
    +
    +
    +
    +
    + Last updated +
    +
    +
    +
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + Created +
    +
    +
    +
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    - - - Trusted App 0 - - - - + +
    +
    +
    -
    +
    + + + + Created by + + + +
    +
    -
    +
    - +
    +
    + someone
    - - - - - - - - - - - - - -
    -
    - - - Field - - - - - - Operator - - - - - - Value - - -
    -
    - - No items found - -
    -
    -
    -
    -
    - +
    -
    -
    -
    - + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    + +
    +
    +
    + Applied globally +
    +
    +
    +
    +
    +
    +
    +

    + Trusted App 3 +

    -
    -
    +
    -
    -
    - Name -
    -
    - - - trusted app 1 - - -
    -
    - OS -
    -
    - - - Mac - - -
    -
    - Date created -
    -
    - 1 minute ago -
    -
    - Created by -
    -
    + - - someone + + + + OS -
    -
    - Date modified -
    -
    - 1 minute ago -
    -
    - Modified by -
    -
    - - someone + + IS - -
    -
    - Description -
    -
    - - - Trusted App 1 + + + Windows -
    -
    + +
    +
    +
    +
    +
    -
    +
    +

    + trusted app 4 +

    +
    +
    -
    +
    + +
    +
    + class="euiText euiText--small" + > + Last updated +
    +
    +
    + class="euiText euiText--small" + > + + 1 minute ago + +
    - - - - - - - - - - - - - -
    -
    - - - Field - - - - - - Operator - - - - - - Value - - -
    -
    - - No items found - -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    +
    - - Remove - - - +
    +
    + Created +
    +
    +
    +
    + + 1 minute ago + +
    +
    +
    +
    +
    -
    -
    -
    -
    -
    -
    -
    -
    - Name -
    -
    - - - trusted app 2 - - -
    -
    - OS -
    -
    - - - Linux - - -
    -
    - Date created -
    -
    - 1 minute ago -
    -
    - Created by -
    -
    - - - someone - - -
    -
    - Date modified -
    -
    - 1 minute ago -
    -
    - Modified by -
    -
    - - - someone - - -
    -
    - Description -
    -
    - - - Trusted App 2 - - -
    -
    + +
    +
    +
    -
    +
    + + + + Created by + + + +
    +
    -
    +
    +
    + +
    +
    +
    -
    -
    -
    -
    + someone
    - - - - - - - - - - - - - -
    -
    - - - Field - - - - - - Operator - - - - - - Value - - -
    -
    - - No items found - -
    -
    -
    -
    -
    - +
    -
    -
    -
    - + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    + +
    +
    +
    + Applied globally +
    +
    +
    +
    +
    +
    +
    +

    + Trusted App 4 +

    -
    -
    +
    -
    -
    - Name -
    -
    - - - trusted app 3 - - -
    -
    - OS -
    -
    - - - Windows - - -
    -
    - Date created -
    -
    - 1 minute ago -
    -
    - Created by -
    -
    + - - someone + + + + OS -
    -
    - Date modified -
    -
    - 1 minute ago -
    -
    - Modified by -
    -
    - - someone + + IS - -
    -
    - Description -
    -
    - - - Trusted App 3 + + + macos -
    -
    + +
    +
    + +
    +
    -
    +
    +

    + trusted app 5 +

    +
    +
    -
    +
    + +
    +
    + class="euiText euiText--small" + > + Last updated +
    +
    +
    + class="euiText euiText--small" + > + + 1 minute ago + +
    - - - - - - - - - - + + +
    +
    +
    + +
    +
    +
    +
    +
    + Created +
    +
    +
    +
    -
    - - -
    -
    - - - Field - - - - - - Operator - - - - - - Value - - -
    -
    - - No items found - -
    -
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    -
    - + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    -
    - + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    + +
    +
    +
    + Applied globally +
    +
    +
    +
    +
    +
    +
    +

    + Trusted App 5 +

    -
    -
    +
    -
    -
    - Name -
    -
    - - - trusted app 4 - - -
    -
    - OS -
    -
    - - - Mac - - -
    -
    - Date created -
    -
    - 1 minute ago -
    -
    - Created by -
    -
    + - - someone + + + + OS -
    -
    - Date modified -
    -
    - 1 minute ago -
    -
    - Modified by -
    -
    - - someone + + IS - -
    -
    - Description -
    -
    - - - Trusted App 4 + + + Linux -
    -
    + +
    +
    + +
    +
    -
    +
    +

    + trusted app 6 +

    +
    +
    -
    +
    + +
    +
    + class="euiText euiText--small" + > + Last updated +
    +
    +
    + class="euiText euiText--small" + > + + 1 minute ago + +
    - - - - - - - - - - - - - -
    -
    - - - Field - - - - - - Operator - - - - - - Value - - -
    -
    - - No items found - -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    +
    - - Remove - - - +
    +
    + Created +
    +
    +
    +
    + + 1 minute ago + +
    +
    +
    +
    +
    -
    -
    - -
    -
    -
    -
    -
    - Name -
    -
    - - - trusted app 5 - - -
    -
    - OS -
    -
    - - - Linux - - -
    -
    - Date created -
    -
    - 1 minute ago -
    -
    - Created by -
    -
    - - - someone - - -
    -
    - Date modified -
    -
    - 1 minute ago -
    -
    - Modified by -
    -
    - - - someone - - -
    -
    - Description -
    -
    - - - Trusted App 5 - - -
    -
    + +
    +
    +
    -
    +
    + + + + Created by + + + +
    +
    -
    +
    - +
    +
    + someone
    - - - - - - - - - - - - - -
    -
    - - - Field - - - - - - Operator - - - - - - Value - - -
    -
    - - No items found - -
    -
    -
    -
    -
    - +
    -
    -
    -
    - + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    + +
    +
    +
    + Applied globally +
    +
    +
    +
    +
    +
    +
    +

    + Trusted App 6 +

    -
    -
    +
    -
    -
    - Name -
    -
    - - - trusted app 6 - - -
    -
    - OS -
    -
    - - - Windows - - -
    -
    - Date created -
    -
    - 1 minute ago -
    -
    - Created by -
    -
    + - - someone + + + + OS -
    -
    - Date modified -
    -
    - 1 minute ago -
    -
    - Modified by -
    -
    - - someone + + IS - -
    -
    - Description -
    -
    - - - Trusted App 6 + + + Windows -
    -
    + +
    +
    + +
    +
    -
    +
    +

    + trusted app 7 +

    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + Last updated +
    +
    +
    +
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    -
    +
    + +
    +
    + class="euiText euiText--small" + > + Created +
    +
    +
    + class="euiText euiText--small" + > + + 1 minute ago + +
    - - - - - - - - - - - - - -
    -
    - - - Field - - - - - - Operator - - - - - - Value - - -
    -
    - - No items found - -
    -
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    -
    - + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    -
    - + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    + +
    +
    +
    + Applied globally +
    +
    +
    +
    +
    +
    +
    +

    + Trusted App 7 +

    -
    -
    +
    -
    -
    - Name -
    -
    - - - trusted app 7 - - -
    -
    - OS -
    -
    + - - Mac - - -
    -
    - Date created -
    -
    - 1 minute ago -
    -
    - Created by -
    -
    - - - someone + + + + OS -
    -
    - Date modified -
    -
    - 1 minute ago -
    -
    - Modified by -
    -
    - - someone + + IS - -
    -
    - Description -
    -
    - - - Trusted App 7 + + + macos -
    -
    + +
    +
    +
    +
    +
    -
    +
    +

    + trusted app 8 +

    +
    +
    -
    +
    + +
    +
    + class="euiText euiText--small" + > + Last updated +
    +
    +
    + class="euiText euiText--small" + > + + 1 minute ago + +
    - - - - - - - - - - - - - -
    -
    - - - Field - - - - - - Operator - - - - - - Value - - -
    -
    - - No items found - -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    +
    - - Remove - - - +
    +
    + Created +
    +
    +
    +
    + + 1 minute ago + +
    +
    +
    +
    +
    -
    -
    -
    -
    -
    -
    -
    -
    - Name -
    -
    - - - trusted app 8 - - -
    -
    - OS -
    -
    - - - Linux - - -
    -
    - Date created -
    -
    - 1 minute ago -
    -
    - Created by -
    -
    - - - someone - - -
    -
    - Date modified -
    -
    - 1 minute ago -
    -
    - Modified by -
    -
    - - - someone - - -
    -
    - Description -
    -
    - - - Trusted App 8 - - -
    -
    + +
    +
    +
    -
    +
    + + + + Created by + + + +
    +
    -
    +
    - +
    +
    + someone
    - - - - - - - - - - - - - -
    -
    - - - Field - - - - - - Operator - - - - - - Value - - -
    -
    - - No items found - -
    -
    -
    -
    -
    - +
    -
    -
    -
    - + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    + +
    +
    +
    + Applied globally +
    +
    +
    +
    +
    +
    +
    +

    + Trusted App 8 +

    -
    -
    +
    -
    -
    - Name -
    -
    - - - trusted app 9 - - -
    -
    - OS -
    -
    - - - Windows - - -
    -
    - Date created -
    -
    - 1 minute ago -
    -
    - Created by -
    -
    + - - someone + + + + OS -
    -
    - Date modified -
    -
    - 1 minute ago -
    -
    - Modified by -
    -
    - - someone + + IS - -
    -
    - Description -
    -
    - - - Trusted App 9 + + + Linux -
    -
    + +
    +
    + +
    +
    -
    +
    +

    + trusted app 9 +

    +
    +
    -
    +
    + +
    +
    + class="euiText euiText--small" + > + Last updated +
    +
    +
    + class="euiText euiText--small" + > + + 1 minute ago + +
    - - - - - - - - - - + + +
    +
    +
    + +
    +
    +
    +
    +
    + Created +
    +
    +
    +
    -
    - - -
    -
    - - - Field - - - - - - Operator - - - - - - Value - - -
    -
    - - No items found - -
    -
    + + 1 minute ago + +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    -
    - + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    -
    - + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + someone +
    +
    +
    +
    +
    +
    + +
    +
    +
    + Applied globally +
    +
    +
    +
    +
    +
    +
    +

    + Trusted App 9 +

    +
    +
    +
    +
    +
    +
    + + + + + + OS + + + + + IS + + + + Windows + + + +
    diff --git a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_apps_grid/index.test.tsx b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_apps_grid/index.test.tsx index 74f3f0524b304..d5eca75f9c2b5 100644 --- a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_apps_grid/index.test.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_apps_grid/index.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { render } from '@testing-library/react'; +import { render, act } from '@testing-library/react'; import React from 'react'; import { Provider } from 'react-redux'; @@ -18,7 +18,6 @@ import { createUserChangedUrlAction, createGlobalNoMiddlewareStore, } from '../../../test_utils'; - import { TrustedAppsGrid } from '.'; import { EuiThemeProvider } from '../../../../../../../../../../src/plugins/kibana_react/common'; @@ -26,6 +25,8 @@ jest.mock('@elastic/eui/lib/services/accessibility/html_id_generator', () => ({ htmlIdGenerator: () => () => 'mockId', })); +jest.mock('../../../../../../common/lib/kibana'); + const now = 111111; const renderList = (store: ReturnType) => { @@ -129,7 +130,15 @@ describe('TrustedAppsGrid', () => { ); store.dispatch = jest.fn(); - (await renderList(store).findAllByTestId('trustedAppDeleteButton'))[0].click(); + const renderResult = renderList(store); + + await act(async () => { + (await renderResult.findAllByTestId('trustedAppCard-header-actions-button'))[0].click(); + }); + + await act(async () => { + (await renderResult.findByTestId('deleteTrustedAppAction')).click(); + }); expect(store.dispatch).toBeCalledWith({ type: 'trustedAppDeletionDialogStarted', diff --git a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_apps_grid/index.tsx b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_apps_grid/index.tsx index 8d8b52ac62358..ba09d0c7ee0cc 100644 --- a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_apps_grid/index.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_apps_grid/index.tsx @@ -5,10 +5,13 @@ * 2.0. */ -import React, { memo, useCallback } from 'react'; +import React, { memo, useCallback, useMemo } from 'react'; import { useHistory } from 'react-router-dom'; import styled from 'styled-components'; +import { i18n } from '@kbn/i18n'; +import { useDispatch } from 'react-redux'; +import { Dispatch } from 'redux'; import { Pagination } from '../../../state'; import { @@ -17,28 +20,31 @@ import { getListItems, getListPagination, isListLoading, + getMapOfPoliciesById, } from '../../../store/selectors'; -import { - useTrustedAppsNavigateCallback, - useTrustedAppsSelector, - useTrustedAppsStoreActionCallback, -} from '../../hooks'; +import { useTrustedAppsNavigateCallback, useTrustedAppsSelector } from '../../hooks'; -import { TrustedAppCard, TrustedAppCardProps } from '../trusted_app_card'; -import { getTrustedAppsListPath } from '../../../../../common/routing'; +import { getPolicyDetailPath, getTrustedAppsListPath } from '../../../../../common/routing'; import { PaginatedContent, PaginatedContentProps, } from '../../../../../components/paginated_content'; -import { TrustedApp } from '../../../../../../../common/endpoint/types'; +import { PolicyDetailsRouteState, TrustedApp } from '../../../../../../../common/endpoint/types'; +import { + ArtifactEntryCard, + ArtifactEntryCardProps, +} from '../../../../../components/artifact_entry_card'; +import { AppAction } from '../../../../../../common/store/actions'; +import { APP_ID } from '../../../../../../../common/constants'; +import { useAppUrl } from '../../../../../../common/lib/kibana'; export interface PaginationBarProps { pagination: Pagination; onChange: (pagination: { size: number; index: number }) => void; } -type TrustedAppCardType = typeof TrustedAppCard; +type ArtifactEntryCardType = typeof ArtifactEntryCard; const RootWrapper = styled.div` .trusted-app + .trusted-app { @@ -46,52 +52,140 @@ const RootWrapper = styled.div` } `; +const BACK_TO_TRUSTED_APPS_LABEL = i18n.translate( + 'xpack.securitySolution.trustedapps.grid.policyDetailsLinkBackLabel', + { defaultMessage: 'Back to trusted Applications' } +); + +const EDIT_TRUSTED_APP_ACTION_LABEL = i18n.translate( + 'xpack.securitySolution.trustedapps.grid.cardAction.edit', + { + defaultMessage: 'Edit trusted application', + } +); + +const DELETE_TRUSTED_APP_ACTION_LABEL = i18n.translate( + 'xpack.securitySolution.trustedapps.grid.cardAction.delete', + { + defaultMessage: 'Delete trusted application', + } +); + export const TrustedAppsGrid = memo(() => { const history = useHistory(); + const dispatch = useDispatch>(); + const { getAppUrl } = useAppUrl(); + const pagination = useTrustedAppsSelector(getListPagination); const listItems = useTrustedAppsSelector(getListItems); const isLoading = useTrustedAppsSelector(isListLoading); const error = useTrustedAppsSelector(getListErrorMessage); const location = useTrustedAppsSelector(getCurrentLocation); - - const handleTrustedAppDelete = useTrustedAppsStoreActionCallback((trustedApp) => ({ - type: 'trustedAppDeletionDialogStarted', - payload: { entry: trustedApp }, - })); - - const handleTrustedAppEdit: TrustedAppCardProps['onEdit'] = useCallback( - (trustedApp) => { - history.push( - getTrustedAppsListPath({ - ...location, - show: 'edit', - id: trustedApp.id, - }) - ); - }, - [history, location] - ); + const policyListById = useTrustedAppsSelector(getMapOfPoliciesById); const handlePaginationChange: PaginatedContentProps< TrustedApp, - TrustedAppCardType + ArtifactEntryCardType >['onChange'] = useTrustedAppsNavigateCallback(({ pageIndex, pageSize }) => ({ page_index: pageIndex, page_size: pageSize, })); + const artifactCardPropsPerItem = useMemo(() => { + const cachedCardProps: Record = {}; + + // Casting `listItems` below to remove the `Immutable<>` from it in order to prevent errors + // with common component's props + for (const trustedApp of listItems as TrustedApp[]) { + let policies: ArtifactEntryCardProps['policies']; + + if (trustedApp.effectScope.type === 'policy' && trustedApp.effectScope.policies.length) { + policies = trustedApp.effectScope.policies.reduce< + Required['policies'] + >((policyToNavOptionsMap, policyId) => { + const currentPagePath = getTrustedAppsListPath({ + ...location, + }); + + const policyDetailsPath = getPolicyDetailPath(policyId); + + const routeState: PolicyDetailsRouteState = { + backLink: { + label: BACK_TO_TRUSTED_APPS_LABEL, + navigateTo: [ + APP_ID, + { + path: currentPagePath, + }, + ], + href: getAppUrl({ path: currentPagePath }), + }, + }; + + policyToNavOptionsMap[policyId] = { + navigateAppId: APP_ID, + navigateOptions: { + path: policyDetailsPath, + state: routeState, + }, + href: getAppUrl({ path: policyDetailsPath }), + children: policyListById[policyId]?.name ?? policyId, + }; + return policyToNavOptionsMap; + }, {}); + } + + cachedCardProps[trustedApp.id] = { + item: trustedApp, + policies, + 'data-test-subj': 'trustedAppCard', + actions: [ + { + icon: 'controlsHorizontal', + onClick: () => { + history.push( + getTrustedAppsListPath({ + ...location, + show: 'edit', + id: trustedApp.id, + }) + ); + }, + 'data-test-subj': 'editTrustedAppAction', + children: EDIT_TRUSTED_APP_ACTION_LABEL, + }, + { + icon: 'trash', + onClick: () => { + dispatch({ + type: 'trustedAppDeletionDialogStarted', + payload: { entry: trustedApp }, + }); + }, + 'data-test-subj': 'deleteTrustedAppAction', + children: DELETE_TRUSTED_APP_ACTION_LABEL, + }, + ], + }; + } + + return cachedCardProps; + }, [dispatch, getAppUrl, history, listItems, location, policyListById]); + + const handleArtifactCardProps = useCallback( + (trustedApp: TrustedApp) => { + return artifactCardPropsPerItem[trustedApp.id]; + }, + [artifactCardPropsPerItem] + ); + return ( - + items={listItems as TrustedApp[]} onChange={handlePaginationChange} - ItemComponent={TrustedAppCard} - itemComponentProps={(ta) => ({ - trustedApp: ta, - onDelete: handleTrustedAppDelete, - onEdit: handleTrustedAppEdit, - className: 'trusted-app', - })} + ItemComponent={ArtifactEntryCard} + itemComponentProps={handleArtifactCardProps} loading={isLoading} itemId="id" error={error} diff --git a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/translations.ts b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/translations.ts index 9e2cad93fc51f..6ffcf5614a697 100644 --- a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/translations.ts +++ b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/translations.ts @@ -7,7 +7,6 @@ import { i18n } from '@kbn/i18n'; import { - TrustedApp, MacosLinuxConditionEntry, WindowsConditionEntry, ConditionEntryField, @@ -61,35 +60,6 @@ export const OPERATOR_TITLES: { [K in OperatorFieldIds]: string } = { }), }; -export const PROPERTY_TITLES: Readonly< - { [K in keyof Omit]: string } -> = { - name: i18n.translate('xpack.securitySolution.trustedapps.trustedapp.name', { - defaultMessage: 'Name', - }), - os: i18n.translate('xpack.securitySolution.trustedapps.trustedapp.os', { - defaultMessage: 'OS', - }), - created_at: i18n.translate('xpack.securitySolution.trustedapps.trustedapp.createdAt', { - defaultMessage: 'Date created', - }), - created_by: i18n.translate('xpack.securitySolution.trustedapps.trustedapp.createdBy', { - defaultMessage: 'Created by', - }), - updated_at: i18n.translate('xpack.securitySolution.trustedapps.trustedapp.updatedAt', { - defaultMessage: 'Date modified', - }), - updated_by: i18n.translate('xpack.securitySolution.trustedapps.trustedapp.updatedBy', { - defaultMessage: 'Modified by', - }), - description: i18n.translate('xpack.securitySolution.trustedapps.trustedapp.description', { - defaultMessage: 'Description', - }), - effectScope: i18n.translate('xpack.securitySolution.trustedapps.trustedapp.effectScope', { - defaultMessage: 'Effect scope', - }), -}; - export const ENTRY_PROPERTY_TITLES: Readonly< { [K in keyof Omit]: string } > = { @@ -104,41 +74,6 @@ export const ENTRY_PROPERTY_TITLES: Readonly< }), }; -export const ACTIONS_COLUMN_TITLE = i18n.translate( - 'xpack.securitySolution.trustedapps.list.columns.actions', - { - defaultMessage: 'Actions', - } -); - -export const LIST_ACTIONS = { - delete: { - name: i18n.translate('xpack.securitySolution.trustedapps.list.actions.delete', { - defaultMessage: 'Remove', - }), - description: i18n.translate( - 'xpack.securitySolution.trustedapps.list.actions.delete.description', - { - defaultMessage: 'Remove this entry', - } - ), - }, -}; - -export const CARD_DELETE_BUTTON_LABEL = i18n.translate( - 'xpack.securitySolution.trustedapps.card.removeButtonLabel', - { - defaultMessage: 'Remove', - } -); - -export const CARD_EDIT_BUTTON_LABEL = i18n.translate( - 'xpack.securitySolution.trustedapps.card.editButtonLabel', - { - defaultMessage: 'Edit', - } -); - export const GRID_VIEW_TOGGLE_LABEL = i18n.translate( 'xpack.securitySolution.trustedapps.view.toggle.grid', { diff --git a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/trusted_apps_page.test.tsx b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/trusted_apps_page.test.tsx index ff7ba8068b4ff..30e170575e2f4 100644 --- a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/trusted_apps_page.test.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/trusted_apps_page.test.tsx @@ -183,8 +183,13 @@ describe('When on the Trusted Apps Page', () => { beforeEach(async () => { renderResult = await renderWithListData(); + + await act(async () => { + (await renderResult.findAllByTestId('trustedAppCard-header-actions-button'))[0].click(); + }); + act(() => { - fireEvent.click(renderResult.getByTestId('trustedAppEditButton')); + fireEvent.click(renderResult.getByTestId('editTrustedAppAction')); }); }); diff --git a/x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/index.ts b/x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/index.ts index bfa3fe88f7ac8..3fb05c8bf1048 100644 --- a/x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/index.ts +++ b/x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/index.ts @@ -11,10 +11,14 @@ import { KbnClient } from '@kbn/test'; import bluebird from 'bluebird'; import { basename } from 'path'; import { TRUSTED_APPS_CREATE_API, TRUSTED_APPS_LIST_API } from '../../../common/endpoint/constants'; -import { NewTrustedApp, OperatingSystem, TrustedApp } from '../../../common/endpoint/types'; +import { TrustedApp } from '../../../common/endpoint/types'; +import { TrustedAppGenerator } from '../../../common/endpoint/data_generators/trusted_app_generator'; +import { indexFleetEndpointPolicy } from '../../../common/endpoint/data_loaders/index_fleet_endpoint_policy'; +import { setupFleetForEndpoint } from '../../../common/endpoint/data_loaders/setup_fleet_for_endpoint'; const defaultLogger = new ToolingLog({ level: 'info', writeTo: process.stdout }); const separator = '----------------------------------------'; +const trustedAppGenerator = new TrustedAppGenerator(); export const cli = async () => { const cliDefaults = { @@ -67,106 +71,62 @@ export const run: (options?: RunOptions) => Promise = async ({ }); // touch the Trusted Apps List so it can be created - await kbnClient.request({ - method: 'GET', - path: TRUSTED_APPS_LIST_API, - }); + // and + // setup fleet with endpoint integrations + logger.info('setting up Fleet with endpoint and creating trusted apps list'); + const [installedEndpointPackage] = await Promise.all([ + setupFleetForEndpoint(kbnClient).then((response) => response.endpointPackage), + + kbnClient.request({ + method: 'GET', + path: TRUSTED_APPS_LIST_API, + }), + ]); + + // Setup a list of read endpoint policies and return a method to randomly select one + const randomPolicyId: () => string = await (async () => { + const randomN = (max: number): number => Math.floor(Math.random() * max); + const policyIds: string[] = []; + + for (let i = 0, t = 5; i < t; i++) { + policyIds.push( + ( + await indexFleetEndpointPolicy( + kbnClient, + `Policy for Trusted App assignment ${i + 1}`, + installedEndpointPackage.version + ) + ).integrationPolicies[0].id + ); + } + + return () => policyIds[randomN(policyIds.length)]; + })(); return bluebird.map( Array.from({ length: count }), - () => - kbnClient + async () => { + const body = trustedAppGenerator.generateTrustedAppForCreate(); + + if (body.effectScope.type === 'policy') { + body.effectScope.policies = [randomPolicyId(), randomPolicyId()]; + } + + return kbnClient .request({ method: 'POST', path: TRUSTED_APPS_CREATE_API, - body: generateTrustedAppEntry(), + body, }) .then(({ data }) => { logger.write(data.id); return data; - }), + }); + }, { concurrency: 10 } ); }; -interface GenerateTrustedAppEntryOptions { - os?: OperatingSystem; - name?: string; -} -const generateTrustedAppEntry: (options?: GenerateTrustedAppEntryOptions) => object = ({ - os = randomOperatingSystem(), - name = randomName(), -} = {}): NewTrustedApp => { - const newTrustedApp: NewTrustedApp = { - description: `Generator says we trust ${name}`, - name, - os, - effectScope: { - type: 'global', - }, - entries: [ - { - // @ts-ignore - field: 'process.hash.*', - operator: 'included', - type: 'match', - value: '1234234659af249ddf3e40864e9fb241', - }, - { - // @ts-ignore - field: 'process.executable.caseless', - operator: 'included', - type: 'match', - value: '/one/two/three', - }, - ], - }; - - return newTrustedApp; -}; - -const randomN = (max: number): number => Math.floor(Math.random() * max); - -const randomName = (() => { - const names = [ - 'Symantec Endpoint Security', - 'Bitdefender GravityZone', - 'Malwarebytes', - 'Sophos Intercept X', - 'Webroot Business Endpoint Protection', - 'ESET Endpoint Security', - 'FortiClient', - 'Kaspersky Endpoint Security', - 'Trend Micro Apex One', - 'CylancePROTECT', - 'VIPRE', - 'Norton', - 'McAfee Endpoint Security', - 'AVG AntiVirus', - 'CrowdStrike Falcon', - 'Avast Business Antivirus', - 'Avira Antivirus', - 'Cisco AMP for Endpoints', - 'Eset Endpoint Antivirus', - 'VMware Carbon Black', - 'Palo Alto Networks Traps', - 'Trend Micro', - 'SentinelOne', - 'Panda Security for Desktops', - 'Microsoft Defender ATP', - ]; - const count = names.length; - - return () => names[randomN(count)]; -})(); - -const randomOperatingSystem = (() => { - const osKeys = Object.keys(OperatingSystem) as Array; - const count = osKeys.length; - - return () => OperatingSystem[osKeys[randomN(count)]]; -})(); - const createRunLogger = () => { let groupCount = 1; let itemCount = 0; diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index aa9ea1a9b5b76..c71980f14d428 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -23536,10 +23536,8 @@ "xpack.securitySolution.topN.closeButtonLabel": "閉じる", "xpack.securitySolution.topN.rawEventsSelectLabel": "未加工イベント", "xpack.securitySolution.trustedapps.aboutInfo": "パフォーマンスを改善したり、ホストで実行されている他のアプリケーションとの競合を解消したりするには、信頼できるアプリケーションを追加します。", - "xpack.securitySolution.trustedapps.card.editButtonLabel": "編集", "xpack.securitySolution.trustedapps.card.operator.is": "is", "xpack.securitySolution.trustedapps.card.operator.matches": "一致", - "xpack.securitySolution.trustedapps.card.removeButtonLabel": "削除", "xpack.securitySolution.trustedapps.create.conditionFieldInvalidHashMsg": "[{row}] 無効なハッシュ値", "xpack.securitySolution.trustedapps.create.conditionFieldInvalidPathMsg": "[{row}] パスの形式が正しくありません。値を検証してください", "xpack.securitySolution.trustedapps.create.conditionFieldValueRequiredMsg": "[{row}] フィールドエントリには値が必要です", @@ -23567,10 +23565,7 @@ "xpack.securitySolution.trustedapps.deletionError.title": "削除失敗", "xpack.securitySolution.trustedapps.deletionSuccess.text": "「{name}」は信頼できるアプリケーションリストから削除されました。", "xpack.securitySolution.trustedapps.deletionSuccess.title": "正常に削除されました", - "xpack.securitySolution.trustedapps.list.actions.delete": "削除", - "xpack.securitySolution.trustedapps.list.actions.delete.description": "このエントリを削除", "xpack.securitySolution.trustedapps.list.addButton": "信頼できるアプリケーションを追加", - "xpack.securitySolution.trustedapps.list.columns.actions": "アクション", "xpack.securitySolution.trustedapps.list.pageTitle": "信頼できるアプリケーション", "xpack.securitySolution.trustedapps.list.search.placeholder": "次のフィールドで検索:名前、説明、値", "xpack.securitySolution.trustedapps.listEmptyState.message": "現在、エンドポイントには信頼できるアプリケーションがありません。", @@ -23593,18 +23588,9 @@ "xpack.securitySolution.trustedapps.middleware.editIdMissing": "IDが指定されていません", "xpack.securitySolution.trustedapps.policySelect.globalSectionTitle": "割り当て", "xpack.securitySolution.trustedapps.policySelect.globalSwitchTitle": "信頼できるアプリケーションをグローバルに適用", - "xpack.securitySolution.trustedapps.trustedapp.createdAt": "日付が作成されました", - "xpack.securitySolution.trustedapps.trustedapp.createdBy": "作成者", - "xpack.securitySolution.trustedapps.trustedapp.description": "説明", - "xpack.securitySolution.trustedapps.trustedapp.effectScope": "効果範囲", "xpack.securitySolution.trustedapps.trustedapp.entry.field": "フィールド", "xpack.securitySolution.trustedapps.trustedapp.entry.operator": "演算子", "xpack.securitySolution.trustedapps.trustedapp.entry.value": "値", - "xpack.securitySolution.trustedapps.trustedapp.name": "名前", - "xpack.securitySolution.trustedapps.trustedapp.os": "OS", - "xpack.securitySolution.trustedapps.trustedapp.updatedAt": "変更日", - "xpack.securitySolution.trustedapps.trustedapp.updatedBy": "変更者:", - "xpack.securitySolution.trustedapps.updateSuccess.title": "成功!", "xpack.securitySolution.trustedapps.view.toggle.grid": "グリッドビュー", "xpack.securitySolution.trustedapps.view.toggle.list": "リストビュー", "xpack.securitySolution.trustedapps.viewTypeToggle.controlLegend": "ビュータイプ", @@ -27089,4 +27075,4 @@ "xpack.watcher.watchEdit.thresholdWatchExpression.aggType.fieldIsRequiredValidationMessage": "フィールドを選択してください。", "xpack.watcher.watcherDescription": "アラートの作成、管理、監視によりデータへの変更を検知します。" } -} \ No newline at end of file +} diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 24f1d07049840..ae2793d56ca9b 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -23917,10 +23917,8 @@ "xpack.securitySolution.topN.closeButtonLabel": "关闭", "xpack.securitySolution.topN.rawEventsSelectLabel": "原始事件", "xpack.securitySolution.trustedapps.aboutInfo": "添加受信任的应用程序,以提高性能或缓解与主机上运行的其他应用程序的冲突。", - "xpack.securitySolution.trustedapps.card.editButtonLabel": "编辑", "xpack.securitySolution.trustedapps.card.operator.is": "是", "xpack.securitySolution.trustedapps.card.operator.matches": "匹配", - "xpack.securitySolution.trustedapps.card.removeButtonLabel": "移除", "xpack.securitySolution.trustedapps.create.conditionFieldInvalidHashMsg": "[{row}] 无效的哈希值", "xpack.securitySolution.trustedapps.create.conditionFieldInvalidPathMsg": "[{row}] 路径的格式可能不正确;请验证值", "xpack.securitySolution.trustedapps.create.conditionFieldValueRequiredMsg": "[{row}] 字段条目必须包含值", @@ -23948,10 +23946,7 @@ "xpack.securitySolution.trustedapps.deletionError.title": "移除失败", "xpack.securitySolution.trustedapps.deletionSuccess.text": "“{name}”已从受信任的应用程序列表中移除。", "xpack.securitySolution.trustedapps.deletionSuccess.title": "已成功移除", - "xpack.securitySolution.trustedapps.list.actions.delete": "移除", - "xpack.securitySolution.trustedapps.list.actions.delete.description": "移除此条目", "xpack.securitySolution.trustedapps.list.addButton": "添加受信任的应用程序", - "xpack.securitySolution.trustedapps.list.columns.actions": "操作", "xpack.securitySolution.trustedapps.list.pageTitle": "受信任的应用程序", "xpack.securitySolution.trustedapps.list.search.placeholder": "搜索下面的字段:name、description、value", "xpack.securitySolution.trustedapps.list.totalCount": "正在显示 {totalItemsCount, plural, other {# 个受信任的应用程序}}", @@ -23975,18 +23970,9 @@ "xpack.securitySolution.trustedapps.middleware.editIdMissing": "未提供 ID", "xpack.securitySolution.trustedapps.policySelect.globalSectionTitle": "分配", "xpack.securitySolution.trustedapps.policySelect.globalSwitchTitle": "全局应用受信任的应用程序", - "xpack.securitySolution.trustedapps.trustedapp.createdAt": "创建日期", - "xpack.securitySolution.trustedapps.trustedapp.createdBy": "创建者", - "xpack.securitySolution.trustedapps.trustedapp.description": "描述", - "xpack.securitySolution.trustedapps.trustedapp.effectScope": "作用范围", "xpack.securitySolution.trustedapps.trustedapp.entry.field": "字段", "xpack.securitySolution.trustedapps.trustedapp.entry.operator": "运算符", "xpack.securitySolution.trustedapps.trustedapp.entry.value": "值", - "xpack.securitySolution.trustedapps.trustedapp.name": "名称", - "xpack.securitySolution.trustedapps.trustedapp.os": "OS", - "xpack.securitySolution.trustedapps.trustedapp.updatedAt": "修改日期", - "xpack.securitySolution.trustedapps.trustedapp.updatedBy": "修改者", - "xpack.securitySolution.trustedapps.updateSuccess.title": "成功!", "xpack.securitySolution.trustedapps.view.toggle.grid": "网格视图", "xpack.securitySolution.trustedapps.view.toggle.list": "列表视图", "xpack.securitySolution.trustedapps.viewTypeToggle.controlLegend": "视图类型", @@ -27535,4 +27521,4 @@ "xpack.watcher.watchEdit.thresholdWatchExpression.aggType.fieldIsRequiredValidationMessage": "此字段必填。", "xpack.watcher.watcherDescription": "通过创建、管理和监测警报来检测数据中的更改。" } -} \ No newline at end of file +} diff --git a/x-pack/test/security_solution_endpoint/apps/endpoint/trusted_apps_list.ts b/x-pack/test/security_solution_endpoint/apps/endpoint/trusted_apps_list.ts index 95fd914d32b07..684df902bb499 100644 --- a/x-pack/test/security_solution_endpoint/apps/endpoint/trusted_apps_list.ts +++ b/x-pack/test/security_solution_endpoint/apps/endpoint/trusted_apps_list.ts @@ -37,14 +37,20 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { SHA256 ); await testSubjects.click('addTrustedAppFlyout-createButton'); - expect(await testSubjects.getVisibleText('conditionValue')).to.equal(SHA256.toLowerCase()); + expect( + await testSubjects.getVisibleText('trustedAppCard-criteriaConditions-condition') + ).to.equal( + 'AND process.hash.*IS a4370c0cf81686c0b696fa6261c9d3e0d810ae704ab8301839dffd5d5112f476' + ); await pageObjects.common.closeToast(); // Remove it - await testSubjects.click('trustedAppDeleteButton'); + await pageObjects.trustedApps.clickCardActionMenu(); + await testSubjects.click('deleteTrustedAppAction'); await testSubjects.click('trustedAppDeletionConfirm'); await testSubjects.waitForDeleted('trustedAppDeletionConfirm'); - expect(await testSubjects.existOrFail('trustedAppEmptyState')); + // We only expect one trusted app to have been visible + await testSubjects.missingOrFail('trustedAppCard'); }); }); }; diff --git a/x-pack/test/security_solution_endpoint/page_objects/trusted_apps_page.ts b/x-pack/test/security_solution_endpoint/page_objects/trusted_apps_page.ts index e32fa5e738f89..1678358acc11e 100644 --- a/x-pack/test/security_solution_endpoint/page_objects/trusted_apps_page.ts +++ b/x-pack/test/security_solution_endpoint/page_objects/trusted_apps_page.ts @@ -35,5 +35,13 @@ export function TrustedAppsPageProvider({ getService, getPageObjects }: FtrProvi await this.ensureIsOnTrustedAppsListPage(); return testSubjects.find('backToOrigin'); }, + + /** + * Clicks on the actions menu icon in the (only one) truated app card to show the popup with list of actions + */ + async clickCardActionMenu() { + await this.ensureIsOnTrustedAppsListPage(); + await testSubjects.click('trustedAppCard-header-actions-button'); + }, }; } diff --git a/x-pack/test/security_solution_endpoint/services/endpoint.ts b/x-pack/test/security_solution_endpoint/services/endpoint.ts index ae9e714315289..4b5b8d0717889 100644 --- a/x-pack/test/security_solution_endpoint/services/endpoint.ts +++ b/x-pack/test/security_solution_endpoint/services/endpoint.ts @@ -189,7 +189,9 @@ export class EndpointTestResources extends FtrService { * installs (or upgrades) the Endpoint Fleet package * (NOTE: ensure that fleet is setup first before calling this function) */ - async installOrUpgradeEndpointFleetPackage(): Promise { + async installOrUpgradeEndpointFleetPackage(): ReturnType< + typeof installOrUpgradeEndpointFleetPackage + > { return installOrUpgradeEndpointFleetPackage(this.kbnClient); } } From 5763a2f25ae7ad5f307944c205167b55d8c94628 Mon Sep 17 00:00:00 2001 From: Jonathan Budzenski Date: Thu, 9 Sep 2021 18:31:46 -0500 Subject: [PATCH 36/57] [config] Remove deprecated environment variables `CONFIG_PATH` and `DATA_PATH` (#111535) --- docs/CHANGELOG.asciidoc | 12 +++++++ packages/kbn-utils/src/path/index.ts | 7 +--- .../deprecation/core_deprecations.test.ts | 36 ------------------- .../config/deprecation/core_deprecations.ts | 26 -------------- 4 files changed, 13 insertions(+), 68 deletions(-) diff --git a/docs/CHANGELOG.asciidoc b/docs/CHANGELOG.asciidoc index 96a7e57ef3e4f..5c409e22b9912 100644 --- a/docs/CHANGELOG.asciidoc +++ b/docs/CHANGELOG.asciidoc @@ -231,6 +231,18 @@ The `logging.useUTC` setting has been removed. For more information, refer to {k The default timezone is UTC. To change the timezone, set `logging.timezone: false` in kibana.yml. Change the timezone when the system, such as a docker container, is configured for a nonlocal timezone. ==== +[discrete] +[[breaking-32049]] +.Removed environment variables `CONFIG_PATH` and `DATA_PATH` +[%collapsible] +==== +*Details* + +The environment variables `CONFIG_PATH` and `DATA_PATH` have been removed. For more information, refer to {kibana-pull}32049[#32049] + +*Impact* + +Use the environment variable `KBN_PATH_CONF` instead of `CONFIG_PATH`. Use the setting `path.data` instead of `DATA_PATH`. +==== + // end::notable-breaking-changes[] [float] diff --git a/packages/kbn-utils/src/path/index.ts b/packages/kbn-utils/src/path/index.ts index 9d371a0c334a9..9ee699c22c30c 100644 --- a/packages/kbn-utils/src/path/index.ts +++ b/packages/kbn-utils/src/path/index.ts @@ -16,7 +16,6 @@ const isString = (v: any): v is string => typeof v === 'string'; const CONFIG_PATHS = [ process.env.KBN_PATH_CONF && join(process.env.KBN_PATH_CONF, 'kibana.yml'), process.env.KIBANA_PATH_CONF && join(process.env.KIBANA_PATH_CONF, 'kibana.yml'), // deprecated - process.env.CONFIG_PATH, // deprecated join(REPO_ROOT, 'config/kibana.yml'), '/etc/kibana/kibana.yml', ].filter(isString); @@ -28,11 +27,7 @@ const CONFIG_DIRECTORIES = [ '/etc/kibana', ].filter(isString); -const DATA_PATHS = [ - process.env.DATA_PATH, // deprecated - join(REPO_ROOT, 'data'), - '/var/lib/kibana', -].filter(isString); +const DATA_PATHS = [join(REPO_ROOT, 'data'), '/var/lib/kibana'].filter(isString); function findFile(paths: string[]) { const availablePath = paths.find((configPath) => { diff --git a/src/core/server/config/deprecation/core_deprecations.test.ts b/src/core/server/config/deprecation/core_deprecations.test.ts index a3bc9ee669903..d3a4d7f997062 100644 --- a/src/core/server/config/deprecation/core_deprecations.test.ts +++ b/src/core/server/config/deprecation/core_deprecations.test.ts @@ -18,24 +18,6 @@ describe('core deprecations', () => { process.env = { ...initialEnv }; }); - describe('configPath', () => { - it('logs a warning if CONFIG_PATH environ variable is set', () => { - process.env.CONFIG_PATH = 'somepath'; - const { messages } = applyCoreDeprecations(); - expect(messages).toMatchInlineSnapshot(` - Array [ - "Environment variable \\"CONFIG_PATH\\" is deprecated. It has been replaced with \\"KBN_PATH_CONF\\" pointing to a config folder", - ] - `); - }); - - it('does not log a warning if CONFIG_PATH environ variable is unset', () => { - delete process.env.CONFIG_PATH; - const { messages } = applyCoreDeprecations(); - expect(messages).toHaveLength(0); - }); - }); - describe('kibanaPathConf', () => { it('logs a warning if KIBANA_PATH_CONF environ variable is set', () => { process.env.KIBANA_PATH_CONF = 'somepath'; @@ -54,24 +36,6 @@ describe('core deprecations', () => { }); }); - describe('dataPath', () => { - it('logs a warning if DATA_PATH environ variable is set', () => { - process.env.DATA_PATH = 'somepath'; - const { messages } = applyCoreDeprecations(); - expect(messages).toMatchInlineSnapshot(` - Array [ - "Environment variable \\"DATA_PATH\\" will be removed. It has been replaced with kibana.yml setting \\"path.data\\"", - ] - `); - }); - - it('does not log a warning if DATA_PATH environ variable is unset', () => { - delete process.env.DATA_PATH; - const { messages } = applyCoreDeprecations(); - expect(messages).toHaveLength(0); - }); - }); - describe('xsrfDeprecation', () => { it('logs a warning if server.xsrf.whitelist is set', () => { const { migrated, messages } = applyCoreDeprecations({ diff --git a/src/core/server/config/deprecation/core_deprecations.ts b/src/core/server/config/deprecation/core_deprecations.ts index 70c987e156448..a929a937988e8 100644 --- a/src/core/server/config/deprecation/core_deprecations.ts +++ b/src/core/server/config/deprecation/core_deprecations.ts @@ -21,30 +21,6 @@ const kibanaPathConf: ConfigDeprecation = (settings, fromPath, addDeprecation) = } }; -const configPathDeprecation: ConfigDeprecation = (settings, fromPath, addDeprecation) => { - if (process.env?.CONFIG_PATH) { - addDeprecation({ - message: `Environment variable "CONFIG_PATH" is deprecated. It has been replaced with "KBN_PATH_CONF" pointing to a config folder`, - correctiveActions: { - manualSteps: ['Use "KBN_PATH_CONF" instead of "CONFIG_PATH" to point to a config folder.'], - }, - }); - } -}; - -const dataPathDeprecation: ConfigDeprecation = (settings, fromPath, addDeprecation) => { - if (process.env?.DATA_PATH) { - addDeprecation({ - message: `Environment variable "DATA_PATH" will be removed. It has been replaced with kibana.yml setting "path.data"`, - correctiveActions: { - manualSteps: [ - `Set 'path.data' in the config file or CLI flag with the value of the environment variable "DATA_PATH".`, - ], - }, - }); - } -}; - const rewriteBasePathDeprecation: ConfigDeprecation = (settings, fromPath, addDeprecation) => { if (settings.server?.basePath && !settings.server?.rewriteBasePath) { addDeprecation({ @@ -404,9 +380,7 @@ export const coreDeprecationProvider: ConfigDeprecationProvider = ({ rename, unu rename('cpuacct.cgroup.path.override', 'ops.cGroupOverrides.cpuAcctPath'), rename('server.xsrf.whitelist', 'server.xsrf.allowlist'), rewriteCorsSettings, - configPathDeprecation, kibanaPathConf, - dataPathDeprecation, rewriteBasePathDeprecation, cspRulesDeprecation, opsLoggingEventDeprecation, From 163fa7d2e036cfa5db2e1015e35e779396bf3ca1 Mon Sep 17 00:00:00 2001 From: Jonathan Budzenski Date: Thu, 9 Sep 2021 20:40:09 -0500 Subject: [PATCH 37/57] [build] Add cloud docker images (#107949) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Przemysław Hejman Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .gitignore | 1 + src/dev/build/args.test.ts | 7 +++ src/dev/build/args.ts | 2 + src/dev/build/build_distributables.ts | 6 +++ .../os_packages/create_os_package_tasks.ts | 24 +++++++++ .../tasks/os_packages/docker_generator/run.ts | 54 +++++++++++-------- .../docker_generator/template_context.ts | 3 ++ .../templates/base/Dockerfile | 31 +++++++++-- 8 files changed, 103 insertions(+), 25 deletions(-) diff --git a/.gitignore b/.gitignore index 4f77a6e450c4b..32c77b20ef204 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ /.chromium .DS_Store .node_binaries +/.beats .native_modules node_modules !/src/dev/npm/integration_tests/__fixtures__/fixture1/node_modules diff --git a/src/dev/build/args.test.ts b/src/dev/build/args.test.ts index d3ff822f9a3a3..64d89a650e62e 100644 --- a/src/dev/build/args.test.ts +++ b/src/dev/build/args.test.ts @@ -29,6 +29,7 @@ it('build default and oss dist for current platform, without packages, by defaul "createArchives": true, "createDebPackage": false, "createDockerCentOS": false, + "createDockerCloud": false, "createDockerContexts": true, "createDockerUBI": false, "createExamplePlugins": false, @@ -55,6 +56,7 @@ it('builds packages if --all-platforms is passed', () => { "createArchives": true, "createDebPackage": true, "createDockerCentOS": true, + "createDockerCloud": false, "createDockerContexts": true, "createDockerUBI": true, "createExamplePlugins": false, @@ -81,6 +83,7 @@ it('limits packages if --rpm passed with --all-platforms', () => { "createArchives": true, "createDebPackage": false, "createDockerCentOS": false, + "createDockerCloud": false, "createDockerContexts": true, "createDockerUBI": false, "createExamplePlugins": false, @@ -107,6 +110,7 @@ it('limits packages if --deb passed with --all-platforms', () => { "createArchives": true, "createDebPackage": true, "createDockerCentOS": false, + "createDockerCloud": false, "createDockerContexts": true, "createDockerUBI": false, "createExamplePlugins": false, @@ -134,6 +138,7 @@ it('limits packages if --docker passed with --all-platforms', () => { "createArchives": true, "createDebPackage": false, "createDockerCentOS": true, + "createDockerCloud": false, "createDockerContexts": true, "createDockerUBI": true, "createExamplePlugins": false, @@ -168,6 +173,7 @@ it('limits packages if --docker passed with --skip-docker-ubi and --all-platform "createArchives": true, "createDebPackage": false, "createDockerCentOS": true, + "createDockerCloud": false, "createDockerContexts": true, "createDockerUBI": false, "createExamplePlugins": false, @@ -195,6 +201,7 @@ it('limits packages if --all-platforms passed with --skip-docker-centos', () => "createArchives": true, "createDebPackage": true, "createDockerCentOS": false, + "createDockerCloud": false, "createDockerContexts": true, "createDockerUBI": true, "createExamplePlugins": false, diff --git a/src/dev/build/args.ts b/src/dev/build/args.ts index 9ee375e33d38f..1124d90be89c6 100644 --- a/src/dev/build/args.ts +++ b/src/dev/build/args.ts @@ -26,6 +26,7 @@ export function readCliArgs(argv: string[]) { 'skip-docker-contexts', 'skip-docker-ubi', 'skip-docker-centos', + 'docker-cloud', 'release', 'skip-node-download', 'verbose', @@ -103,6 +104,7 @@ export function readCliArgs(argv: string[]) { createDebPackage: isOsPackageDesired('deb'), createDockerCentOS: isOsPackageDesired('docker-images') && !Boolean(flags['skip-docker-centos']), + createDockerCloud: isOsPackageDesired('docker-images') && Boolean(flags['docker-cloud']), createDockerUBI: isOsPackageDesired('docker-images') && !Boolean(flags['skip-docker-ubi']), createDockerContexts: !Boolean(flags['skip-docker-contexts']), targetAllPlatforms: Boolean(flags['all-platforms']), diff --git a/src/dev/build/build_distributables.ts b/src/dev/build/build_distributables.ts index 1042cdc484c12..39a62c1fd35dc 100644 --- a/src/dev/build/build_distributables.ts +++ b/src/dev/build/build_distributables.ts @@ -22,6 +22,7 @@ export interface BuildOptions { createDebPackage: boolean; createDockerUBI: boolean; createDockerCentOS: boolean; + createDockerCloud: boolean; createDockerContexts: boolean; versionQualifier: string | undefined; targetAllPlatforms: boolean; @@ -127,6 +128,11 @@ export async function buildDistributables(log: ToolingLog, options: BuildOptions await run(Tasks.CreateDockerCentOS); } + if (options.createDockerCloud) { + // control w/ --docker-images and --docker-cloud + await run(Tasks.CreateDockerCloud); + } + if (options.createDockerContexts) { // control w/ --skip-docker-contexts await run(Tasks.CreateDockerContexts); diff --git a/src/dev/build/tasks/os_packages/create_os_package_tasks.ts b/src/dev/build/tasks/os_packages/create_os_package_tasks.ts index 67a9e86ee2073..ab9a7ce65cbc6 100644 --- a/src/dev/build/tasks/os_packages/create_os_package_tasks.ts +++ b/src/dev/build/tasks/os_packages/create_os_package_tasks.ts @@ -91,6 +91,25 @@ export const CreateDockerUBI: Task = { }, }; +export const CreateDockerCloud: Task = { + description: 'Creating Docker Cloud image', + + async run(config, log, build) { + await runDockerGenerator(config, log, build, { + architecture: 'x64', + context: false, + cloud: true, + image: true, + }); + await runDockerGenerator(config, log, build, { + architecture: 'aarch64', + context: false, + cloud: true, + image: true, + }); + }, +}; + export const CreateDockerContexts: Task = { description: 'Creating Docker build contexts', @@ -111,5 +130,10 @@ export const CreateDockerContexts: Task = { context: true, image: false, }); + await runDockerGenerator(config, log, build, { + cloud: true, + context: true, + image: false, + }); }, }; diff --git a/src/dev/build/tasks/os_packages/docker_generator/run.ts b/src/dev/build/tasks/os_packages/docker_generator/run.ts index cac02cae20c42..c5a4ff64d2188 100644 --- a/src/dev/build/tasks/os_packages/docker_generator/run.ts +++ b/src/dev/build/tasks/os_packages/docker_generator/run.ts @@ -7,7 +7,7 @@ */ import { access, link, unlink, chmod } from 'fs'; -import { resolve } from 'path'; +import { resolve, basename } from 'path'; import { promisify } from 'util'; import { ToolingLog, kibanaPackageJson } from '@kbn/dev-utils'; @@ -32,6 +32,7 @@ export async function runDockerGenerator( image: boolean; ubi?: boolean; ironbank?: boolean; + cloud?: boolean; dockerBuildDate?: string; } ) { @@ -42,6 +43,7 @@ export async function runDockerGenerator( let imageFlavor = ''; if (flags.ubi) imageFlavor += `-${ubiVersionTag}`; if (flags.ironbank) imageFlavor += '-ironbank'; + if (flags.cloud) imageFlavor += '-cloud'; // General docker var config const license = 'Elastic License'; @@ -50,7 +52,10 @@ export async function runDockerGenerator( const artifactArchitecture = flags.architecture === 'aarch64' ? 'aarch64' : 'x86_64'; const artifactPrefix = `kibana-${version}-linux`; const artifactTarball = `${artifactPrefix}-${artifactArchitecture}.tar.gz`; + const metricbeatTarball = `metricbeat-${version}-linux-${artifactArchitecture}.tar.gz`; + const filebeatTarball = `filebeat-${version}-linux-${artifactArchitecture}.tar.gz`; const artifactsDir = config.resolveFromTarget('.'); + const beatsDir = config.resolveFromRepo('.beats'); const dockerBuildDate = flags.dockerBuildDate || new Date().toISOString(); // That would produce oss, default and default-ubi7 const dockerBuildDir = config.resolveFromRepo('build', 'kibana-docker', `default${imageFlavor}`); @@ -58,6 +63,13 @@ export async function runDockerGenerator( const dockerTargetFilename = config.resolveFromTarget( `kibana${imageFlavor}-${version}-docker-image${imageArchitecture}.tar.gz` ); + const dependencies = [ + resolve(artifactsDir, artifactTarball), + ...(flags.cloud + ? [resolve(beatsDir, metricbeatTarball), resolve(beatsDir, filebeatTarball)] + : []), + ]; + const scope: TemplateContext = { artifactPrefix, artifactTarball, @@ -72,6 +84,9 @@ export async function runDockerGenerator( baseOSImage, dockerBuildDate, ubi: flags.ubi, + cloud: flags.cloud, + metricbeatTarball, + filebeatTarball, ironbank: flags.ironbank, architecture: flags.architecture, revision: config.getBuildSha(), @@ -87,26 +102,8 @@ export async function runDockerGenerator( return; } - // Verify if we have the needed kibana target in order - // to build the kibana docker image. - // Also create the docker build target folder - // and delete the current linked target into the - // kibana docker build folder if we have one. - try { - await accessAsync(resolve(artifactsDir, artifactTarball)); - await mkdirp(dockerBuildDir); - await unlinkAsync(resolve(dockerBuildDir, artifactTarball)); - } catch (e) { - if (e && e.code === 'ENOENT' && e.syscall === 'access') { - throw new Error( - `Kibana linux target (${artifactTarball}) is needed in order to build ${''}the docker image. None was found at ${artifactsDir}` - ); - } - } - - // Create the kibana linux target inside the - // Kibana docker build - await linkAsync(resolve(artifactsDir, artifactTarball), resolve(dockerBuildDir, artifactTarball)); + // Create the docker build target folder + await mkdirp(dockerBuildDir); // Write all the needed docker config files // into kibana-docker folder @@ -137,6 +134,21 @@ export async function runDockerGenerator( // Only build images on native targets if (flags.image) { + // Link dependencies + for (const src of dependencies) { + const file = basename(src); + const dest = resolve(dockerBuildDir, file); + try { + await accessAsync(src); + await unlinkAsync(dest); + } catch (e) { + if (e && e.code === 'ENOENT' && e.syscall === 'access') { + throw new Error(`${src} is needed in order to build the docker image.`); + } + } + await linkAsync(src, dest); + } + await exec(log, `./build_docker.sh`, [], { cwd: dockerBuildDir, level: 'info', diff --git a/src/dev/build/tasks/os_packages/docker_generator/template_context.ts b/src/dev/build/tasks/os_packages/docker_generator/template_context.ts index 9c9949c9f57ea..075a3a8808e73 100644 --- a/src/dev/build/tasks/os_packages/docker_generator/template_context.ts +++ b/src/dev/build/tasks/os_packages/docker_generator/template_context.ts @@ -21,6 +21,9 @@ export interface TemplateContext { dockerBuildDate: string; usePublicArtifact?: boolean; ubi?: boolean; + cloud?: boolean; + metricbeatTarball?: string; + filebeatTarball?: string; ironbank?: boolean; revision: string; architecture?: string; diff --git a/src/dev/build/tasks/os_packages/docker_generator/templates/base/Dockerfile b/src/dev/build/tasks/os_packages/docker_generator/templates/base/Dockerfile index 60dabbffc6312..078741a0d0f6c 100644 --- a/src/dev/build/tasks/os_packages/docker_generator/templates/base/Dockerfile +++ b/src/dev/build/tasks/os_packages/docker_generator/templates/base/Dockerfile @@ -24,18 +24,27 @@ RUN cd /opt && \ {{/usePublicArtifact}} {{^usePublicArtifact}} -COPY {{artifactTarball}} /opt/kibana.tar.gz +COPY {{artifactTarball}} /tmp/kibana.tar.gz {{/usePublicArtifact}} RUN mkdir /usr/share/kibana WORKDIR /usr/share/kibana -RUN tar --strip-components=1 -zxf /opt/kibana.tar.gz +RUN tar --strip-components=1 -zxf /tmp/kibana.tar.gz # Ensure that group permissions are the same as user permissions. # This will help when relying on GID-0 to run Kibana, rather than UID-1000. # OpenShift does this, for example. # REF: https://docs.openshift.org/latest/creating_images/guidelines.html RUN chmod -R g=u /usr/share/kibana +{{#cloud}} +COPY {{filebeatTarball}} /tmp/filebeat.tar.gz +COPY {{metricbeatTarball}} /tmp/metricbeat.tar.gz + +RUN mkdir -p /opt/filebeat /opt/metricbeat && \ + tar xf /tmp/filebeat.tar.gz -C /opt/filebeat --strip-components=1 && \ + tar xf /tmp/metricbeat.tar.gz -C /opt/metricbeat --strip-components=1 +{{/cloud}} + ################################################################################ # Build stage 1 (the actual Kibana image): # @@ -86,6 +95,9 @@ RUN fc-cache -v # Bring in Kibana from the initial stage. COPY --from=builder --chown=1000:0 /usr/share/kibana /usr/share/kibana +{{#cloud}} +COPY --from=builder --chown=0:0 /opt /opt +{{/cloud}} WORKDIR /usr/share/kibana RUN ln -s /usr/share/kibana /opt/kibana @@ -146,8 +158,19 @@ RUN mkdir /licenses && \ cp LICENSE.txt /licenses/LICENSE {{/ubi}} -USER kibana - ENTRYPOINT ["/bin/tini", "--"] +{{#cloud}} +CMD ["/app/kibana.sh"] +# Generate a stub command that will be overwritten at runtime +RUN mkdir /app && \ + echo -e '#!/bin/sh\nexec /usr/local/bin/kibana-docker' > /app/kibana.sh && \ + chmod 0555 /app/kibana.sh +{{/cloud}} + +{{^cloud}} CMD ["/usr/local/bin/kibana-docker"] +{{/cloud}} + + +USER kibana From 820b1cafa098220bbc0a7a7cb6779c720422f1a2 Mon Sep 17 00:00:00 2001 From: Madison Caldwell Date: Thu, 9 Sep 2021 22:19:06 -0400 Subject: [PATCH 38/57] 'kibana.alert.rule.from' should be mapped as 'keyword' (#111793) --- .../common/assets/field_maps/technical_rule_field_map.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/rule_registry/common/assets/field_maps/technical_rule_field_map.ts b/x-pack/plugins/rule_registry/common/assets/field_maps/technical_rule_field_map.ts index 3c8b96976792d..54a4b80a35bb4 100644 --- a/x-pack/plugins/rule_registry/common/assets/field_maps/technical_rule_field_map.ts +++ b/x-pack/plugins/rule_registry/common/assets/field_maps/technical_rule_field_map.ts @@ -115,7 +115,7 @@ export const technicalRuleFieldMap = { required: false, }, [Fields.ALERT_RULE_FROM]: { - type: 'date', + type: 'keyword', array: false, required: false, }, From 297e4c365f8643e6d3f56698aa34cf148a0eca22 Mon Sep 17 00:00:00 2001 From: Tim Sullivan Date: Thu, 9 Sep 2021 22:13:37 -0700 Subject: [PATCH 39/57] [Reporting/Tests] Use reporting default settings in test server config (#111626) * remove custom kibana server settings for reporting in default x-pack test config * have tests use the deprecated built-in role granting reporting access * restore test user default privilege for canvas * fix app privileges in tests * fix test_user not able to access canvas in the dashboard test * simplify some tests setup * update csv export timerange and snapshot * update fn tests for app privileges * fix feature controls test * Update discover_security.ts * fix reporting tests * test using defaults in the security privilege test * fix read-only privileges with url_create Permalinks * fix security api anonymous * fix anonymous capabilities tests * fix discover csv export tests * Update screenshots.ts * update discover csv fn tests * update snapshots Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../apis/security/license_downgrade.ts | 1 - .../apis/security/privileges.ts | 14 +- .../feature_controls/canvas_security.ts | 2 +- x-pack/test/functional/apps/canvas/reports.ts | 9 +- .../reporting/__snapshots__/download_csv.snap | 46 -- .../apps/dashboard/reporting/download_csv.ts | 74 ++- .../apps/dashboard/reporting/screenshots.ts | 9 +- .../discover/__snapshots__/reporting.snap | 491 +++++++++++++++--- .../feature_controls/discover_security.ts | 8 +- .../functional/apps/discover/reporting.ts | 135 ++++- .../functional/apps/lens/lens_reporting.ts | 16 +- .../feature_controls/management_security.ts | 2 +- .../reporting_management/report_listing.ts | 15 +- x-pack/test/functional/config.js | 7 +- .../reporting_and_security.config.ts | 1 + .../reporting_and_security.config.ts | 1 + .../tests/anonymous/capabilities.ts | 36 -- 17 files changed, 637 insertions(+), 230 deletions(-) diff --git a/x-pack/test/api_integration/apis/security/license_downgrade.ts b/x-pack/test/api_integration/apis/security/license_downgrade.ts index dcdcc039bc9d6..a56bb5908ca05 100644 --- a/x-pack/test/api_integration/apis/security/license_downgrade.ts +++ b/x-pack/test/api_integration/apis/security/license_downgrade.ts @@ -26,7 +26,6 @@ export default function ({ getService }: FtrProviderContext) { 'minimal_read', 'url_create', 'store_search_session', - 'generate_report', ]; const trialPrivileges = await supertest .get('/api/security/privileges') diff --git a/x-pack/test/api_integration/apis/security/privileges.ts b/x-pack/test/api_integration/apis/security/privileges.ts index bbb0fc60cb3ce..d39d9e599bcc8 100644 --- a/x-pack/test/api_integration/apis/security/privileges.ts +++ b/x-pack/test/api_integration/apis/security/privileges.ts @@ -26,7 +26,7 @@ export default function ({ getService }: FtrProviderContext) { features: { graph: ['all', 'read'], savedObjectsTagging: ['all', 'read'], - canvas: ['all', 'read', 'minimal_all', 'minimal_read', 'generate_report'], + canvas: ['all', 'read'], maps: ['all', 'read'], fleet: ['all', 'read'], actions: ['all', 'read'], @@ -45,16 +45,8 @@ export default function ({ getService }: FtrProviderContext) { 'minimal_read', 'url_create', 'store_search_session', - 'generate_report', - ], - visualize: [ - 'all', - 'read', - 'minimal_all', - 'minimal_read', - 'url_create', - 'generate_report', ], + visualize: ['all', 'read', 'minimal_all', 'minimal_read', 'url_create'], dashboard: [ 'all', 'read', @@ -62,8 +54,6 @@ export default function ({ getService }: FtrProviderContext) { 'minimal_read', 'url_create', 'store_search_session', - 'generate_report', - 'download_csv_report', ], dev_tools: ['all', 'read'], advancedSettings: ['all', 'read'], diff --git a/x-pack/test/functional/apps/canvas/feature_controls/canvas_security.ts b/x-pack/test/functional/apps/canvas/feature_controls/canvas_security.ts index 3b5e30e994b71..5a73f31c8427f 100644 --- a/x-pack/test/functional/apps/canvas/feature_controls/canvas_security.ts +++ b/x-pack/test/functional/apps/canvas/feature_controls/canvas_security.ts @@ -33,7 +33,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { kibana: [ { feature: { - canvas: ['minimal_all'], + canvas: ['all'], }, spaces: ['*'], }, diff --git a/x-pack/test/functional/apps/canvas/reports.ts b/x-pack/test/functional/apps/canvas/reports.ts index 32dd89e025855..468430c390030 100644 --- a/x-pack/test/functional/apps/canvas/reports.ts +++ b/x-pack/test/functional/apps/canvas/reports.ts @@ -21,17 +21,20 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('Canvas PDF Report Generation', () => { before('initialize tests', async () => { log.debug('ReportingPage:initTests'); - await security.role.create('test_reporting_user', { + await security.role.create('test_canvas_user', { elasticsearch: { cluster: [], indices: [], run_as: [] }, kibana: [ { spaces: ['*'], base: [], - feature: { canvas: ['minimal_read', 'generate_report'] }, + feature: { canvas: ['read'] }, }, ], }); - await security.testUser.setRoles(['kibana_admin', 'test_reporting_user']); + await security.testUser.setRoles([ + 'test_canvas_user', + 'reporting_user', // NOTE: the built-in role granting full reporting access is deprecated. See xpack.reporting.roles.enabled + ]); await kibanaServer.importExport.load(archive); await browser.setWindowSize(1600, 850); }); diff --git a/x-pack/test/functional/apps/dashboard/reporting/__snapshots__/download_csv.snap b/x-pack/test/functional/apps/dashboard/reporting/__snapshots__/download_csv.snap index 10384b865c82e..98dc901eaf306 100644 --- a/x-pack/test/functional/apps/dashboard/reporting/__snapshots__/download_csv.snap +++ b/x-pack/test/functional/apps/dashboard/reporting/__snapshots__/download_csv.snap @@ -1,53 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`dashboard Reporting Download CSV E-Commerce Data Download CSV export of a saved search panel 1`] = ` -"\\"order_date\\",category,currency,\\"customer_id\\",\\"order_id\\",\\"day_of_week_i\\",\\"products.created_on\\",sku -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",EUR,19,716724,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0687606876, ZO0290502905, ZO0126701267, ZO0308503085\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Shoes, Women's Clothing\\",EUR,45,591503,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0006400064, ZO0150601506\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing\\",EUR,12,591709,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0638206382, ZO0038800388\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,52,590937,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0297602976, ZO0565605656\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,29,590976,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0561405614, ZO0281602816\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,41,591636,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0385003850, ZO0408604086\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes\\",EUR,30,591539,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0505605056, ZO0513605136\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,41,591598,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0276702767, ZO0291702917\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing\\",EUR,44,590927,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0046600466, ZO0050800508\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing, Men's Shoes\\",EUR,48,590970,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0455604556, ZO0680806808\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing, Women's Shoes\\",EUR,46,591299,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0229002290, ZO0674406744\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,36,591133,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0529905299, ZO0617006170\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,13,591175,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0299402994, ZO0433504335\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,21,591297,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0257502575, ZO0451704517\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,14,591149,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0584905849, ZO0578405784\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing, Women's Shoes\\",EUR,27,591754,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0335803358, ZO0325903259\\" -" -`; - -exports[`dashboard Reporting Download CSV E-Commerce Data Downloads a filtered CSV export of a saved search panel 1`] = ` -"\\"order_date\\",category,currency,\\"customer_id\\",\\"order_id\\",\\"day_of_week_i\\",\\"products.created_on\\",sku -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",EUR,19,716724,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0687606876, ZO0290502905, ZO0126701267, ZO0308503085\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Shoes, Women's Clothing\\",EUR,45,591503,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0006400064, ZO0150601506\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing\\",EUR,12,591709,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0638206382, ZO0038800388\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,52,590937,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0297602976, ZO0565605656\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,29,590976,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0561405614, ZO0281602816\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,41,591636,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0385003850, ZO0408604086\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes\\",EUR,30,591539,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0505605056, ZO0513605136\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,41,591598,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0276702767, ZO0291702917\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing\\",EUR,44,590927,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0046600466, ZO0050800508\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing, Men's Shoes\\",EUR,48,590970,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0455604556, ZO0680806808\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing, Women's Shoes\\",EUR,46,591299,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0229002290, ZO0674406744\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,36,591133,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0529905299, ZO0617006170\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,13,591175,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0299402994, ZO0433504335\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,21,591297,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0257502575, ZO0451704517\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,14,591149,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0584905849, ZO0578405784\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing, Women's Shoes\\",EUR,27,591754,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0335803358, ZO0325903259\\" -" -`; - exports[`dashboard Reporting Download CSV Field Formatters and Scripted Fields Download CSV export of a saved search panel 1`] = ` "date,\\"_id\\",name,gender,value,year,\\"years_ago\\",\\"date_informal\\" -\\"Jan 1, 1984 @ 00:00:00.000\\",\\"1984-Fethany-F\\",Fethany,F,5,1984,\\"35.00000000000000000000\\",\\"Jan 1st 84\\" -\\"Jan 1, 1983 @ 00:00:00.000\\",\\"1983-Fethany-F\\",Fethany,F,\\"1,043\\",1983,\\"36.00000000000000000000\\",\\"Jan 1st 83\\" \\"Jan 1, 1982 @ 00:00:00.000\\",\\"1982-Fethany-F\\",Fethany,F,780,1982,\\"37.00000000000000000000\\",\\"Jan 1st 82\\" -\\"Jan 1, 1981 @ 00:00:00.000\\",\\"1981-Fethany-F\\",Fethany,F,655,1981,\\"38.00000000000000000000\\",\\"Jan 1st 81\\" -\\"Jan 1, 1980 @ 00:00:00.000\\",\\"1980-Fethany-F\\",Fethany,F,702,1980,\\"39.00000000000000000000\\",\\"Jan 1st 80\\" " `; diff --git a/x-pack/test/functional/apps/dashboard/reporting/download_csv.ts b/x-pack/test/functional/apps/dashboard/reporting/download_csv.ts index 94540aa8b4c46..2d6812c61e554 100644 --- a/x-pack/test/functional/apps/dashboard/reporting/download_csv.ts +++ b/x-pack/test/functional/apps/dashboard/reporting/download_csv.ts @@ -83,7 +83,39 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await clickDownloadCsv(); const csvFile = await getDownload(getCsvPath('Ecommerce Data')); - expectSnapshot(csvFile).toMatch(); + const lines = csvFile.trim().split('\n'); + expectSnapshot(csvFile.length).toMatchInline(`782100`); + expectSnapshot(lines.length).toMatchInline(`4676`); + + // instead of matching all 4676 lines of CSV text, this verifies the first 10 and last 10 lines + expectSnapshot(lines.slice(0, 10)).toMatchInline(` + Array [ + "\\"order_date\\",category,currency,\\"customer_id\\",\\"order_id\\",\\"day_of_week_i\\",\\"products.created_on\\",sku", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",EUR,19,716724,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0687606876, ZO0290502905, ZO0126701267, ZO0308503085\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Shoes, Women's Clothing\\",EUR,45,591503,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0006400064, ZO0150601506\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing\\",EUR,12,591709,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0638206382, ZO0038800388\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,52,590937,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0297602976, ZO0565605656\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,29,590976,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0561405614, ZO0281602816\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,41,591636,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0385003850, ZO0408604086\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes\\",EUR,30,591539,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0505605056, ZO0513605136\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,41,591598,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0276702767, ZO0291702917\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing\\",EUR,44,590927,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0046600466, ZO0050800508\\"", + ] + `); + expectSnapshot(lines.slice(-10)).toMatchInline(` + Array [ + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Women's Shoes, Women's Clothing\\",EUR,24,550580,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0144801448, ZO0219602196\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Accessories, Men's Clothing\\",EUR,33,551324,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0316803168, ZO0566905669\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Accessories, Men's Clothing\\",EUR,51,551355,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0313403134, ZO0561205612\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Women's Shoes, Women's Accessories\\",EUR,28,550957,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0133101331, ZO0189401894\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Accessories, Men's Clothing\\",EUR,39,551154,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0466704667, ZO0617306173\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing, Women's Accessories\\",EUR,27,551204,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0212602126, ZO0200702007\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing, Women's Shoes\\",EUR,45,550466,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0260702607, ZO0363203632\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,15,550503,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0587505875, ZO0566405664\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Women's Accessories, Women's Shoes\\",EUR,27,550538,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0699406994, ZO0246202462\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,13,550568,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0388403884, ZO0447604476\\"", + ] + `); }); it('Downloads a filtered CSV export of a saved search panel', async function () { @@ -91,13 +123,45 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.dashboard.loadSavedDashboard('Ecom Dashboard'); // add a filter - await filterBar.addFilter('currency', 'is', 'EUR'); + await filterBar.addFilter('category', 'is', `Men's Shoes`); await clickActionsMenu('EcommerceData'); await clickDownloadCsv(); const csvFile = await getDownload(getCsvPath('Ecommerce Data')); - expectSnapshot(csvFile).toMatch(); + const lines = csvFile.trim().split('\n'); + expectSnapshot(csvFile.length).toMatchInline(`165557`); + expectSnapshot(lines.length).toMatchInline(`945`); + + // instead of matching all 4676 lines of CSV text, this verifies the first 10 and last 10 lines + expectSnapshot(lines.slice(0, 10)).toMatchInline(` + Array [ + "\\"order_date\\",category,currency,\\"customer_id\\",\\"order_id\\",\\"day_of_week_i\\",\\"products.created_on\\",sku", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",EUR,19,716724,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0687606876, ZO0290502905, ZO0126701267, ZO0308503085\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,41,591636,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0385003850, ZO0408604086\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes\\",EUR,30,591539,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0505605056, ZO0513605136\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing, Men's Shoes\\",EUR,48,590970,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0455604556, ZO0680806808\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,21,591297,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0257502575, ZO0451704517\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing, Men's Shoes\\",EUR,4,591148,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0290302903, ZO0513705137\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing, Men's Shoes\\",EUR,14,591562,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0544305443, ZO0108001080\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,30,591411,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0693506935, ZO0532405324\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing, Men's Shoes\\",EUR,38,722629,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0424204242, ZO0403504035, ZO0506705067, ZO0395603956\\"", + ] + `); + expectSnapshot(lines.slice(-10)).toMatchInline(` + Array [ + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes\\",EUR,37,550425,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0256602566, ZO0516305163\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing, Men's Shoes\\",EUR,52,719265,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0619506195, ZO0297802978, ZO0125001250, ZO0693306933\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,34,550990,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0404404044, ZO0570605706\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,7,550663,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0399703997, ZO0560905609\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes\\",EUR,34,551697,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0387903879, ZO0693206932\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes\\",EUR,9,550784,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0683206832, ZO0687706877\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes\\",EUR,15,550412,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0508905089, ZO0681206812\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,23,551556,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0512405124, ZO0551405514\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,21,550473,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0688006880, ZO0450504505\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,13,550568,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0388403884, ZO0447604476\\"", + ] + `); }); it('Gets the correct filename if panel titles are hidden', async () => { @@ -128,8 +192,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.common.navigateToApp('dashboard'); await PageObjects.dashboard.loadSavedDashboard('names dashboard'); await PageObjects.timePicker.setAbsoluteRange( - 'Jan 01, 1980 @ 00:00:00.000', - 'Dec 31, 1984 @ 23:59:59.000' + 'Nov 26, 1981 @ 21:54:15.526', + 'Mar 5, 1982 @ 18:17:44.821' ); await PageObjects.common.sleep(1000); diff --git a/x-pack/test/functional/apps/dashboard/reporting/screenshots.ts b/x-pack/test/functional/apps/dashboard/reporting/screenshots.ts index 312eba7bd6380..a2523c6d44244 100644 --- a/x-pack/test/functional/apps/dashboard/reporting/screenshots.ts +++ b/x-pack/test/functional/apps/dashboard/reporting/screenshots.ts @@ -39,7 +39,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { await kibanaServer.importExport.load(ecommerceSOPath); await browser.setWindowSize(1600, 850); - await security.role.create('test_reporting_user', { + await security.role.create('test_dashboard_user', { elasticsearch: { cluster: [], indices: [ @@ -55,12 +55,15 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { { spaces: ['*'], base: [], - feature: { dashboard: ['minimal_all', 'generate_report'] }, + feature: { dashboard: ['minimal_all'] }, }, ], }); - await security.testUser.setRoles(['test_reporting_user']); + await security.testUser.setRoles([ + 'test_dashboard_user', + 'reporting_user', // NOTE: the built-in role granting full reporting access is deprecated. See the xpack.reporting.roles.enabled setting + ]); }); after('clean up archives', async () => { await esArchiver.unload('x-pack/test/functional/es_archives/reporting/ecommerce'); diff --git a/x-pack/test/functional/apps/discover/__snapshots__/reporting.snap b/x-pack/test/functional/apps/discover/__snapshots__/reporting.snap index c7666bf00dd53..09f4698b51bb8 100644 --- a/x-pack/test/functional/apps/discover/__snapshots__/reporting.snap +++ b/x-pack/test/functional/apps/discover/__snapshots__/reporting.snap @@ -1,88 +1,421 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`discover Discover CSV Export Generate CSV: archived search generates a report with data 1`] = ` -"\\"order_date\\",category,currency,\\"customer_id\\",\\"order_id\\",\\"day_of_week_i\\",\\"products.created_on\\",sku -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",EUR,19,716724,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0687606876, ZO0290502905, ZO0126701267, ZO0308503085\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Shoes, Women's Clothing\\",EUR,45,591503,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0006400064, ZO0150601506\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing\\",EUR,12,591709,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0638206382, ZO0038800388\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,52,590937,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0297602976, ZO0565605656\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,29,590976,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0561405614, ZO0281602816\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,41,591636,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0385003850, ZO0408604086\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes\\",EUR,30,591539,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0505605056, ZO0513605136\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,41,591598,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0276702767, ZO0291702917\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing\\",EUR,44,590927,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0046600466, ZO0050800508\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing, Men's Shoes\\",EUR,48,590970,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0455604556, ZO0680806808\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing, Women's Shoes\\",EUR,46,591299,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0229002290, ZO0674406744\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,36,591133,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0529905299, ZO0617006170\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,13,591175,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0299402994, ZO0433504335\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,21,591297,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0257502575, ZO0451704517\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,14,591149,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0584905849, ZO0578405784\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing, Women's Shoes\\",EUR,27,591754,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0335803358, ZO0325903259\\" -" -`; - -exports[`discover Discover CSV Export Generate CSV: archived search generates a report with discover:searchFieldsFromSource = true 1`] = ` -"\\"order_date\\",category,currency,\\"customer_id\\",\\"order_id\\",\\"day_of_week_i\\",\\"products.created_on\\",sku -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",EUR,19,716724,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0687606876, ZO0290502905, ZO0126701267, ZO0308503085\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Shoes, Women's Clothing\\",EUR,45,591503,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0006400064, ZO0150601506\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing\\",EUR,12,591709,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0638206382, ZO0038800388\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,52,590937,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0297602976, ZO0565605656\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,29,590976,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0561405614, ZO0281602816\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,41,591636,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0385003850, ZO0408604086\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes\\",EUR,30,591539,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0505605056, ZO0513605136\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,41,591598,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0276702767, ZO0291702917\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing\\",EUR,44,590927,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0046600466, ZO0050800508\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing, Men's Shoes\\",EUR,48,590970,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0455604556, ZO0680806808\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing, Women's Shoes\\",EUR,46,591299,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0229002290, ZO0674406744\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,36,591133,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0529905299, ZO0617006170\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,13,591175,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0299402994, ZO0433504335\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,21,591297,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0257502575, ZO0451704517\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,14,591149,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0584905849, ZO0578405784\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing, Women's Shoes\\",EUR,27,591754,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0335803358, ZO0325903259\\" -" +exports[`discover Discover CSV Export Generate CSV: new search generates a report from a new search with data: default 1`] = ` +Array [ + "\\"_id\\",\\"_index\\",\\"_score\\",\\"_type\\",category,\\"category.keyword\\",currency,\\"customer_first_name\\",\\"customer_first_name.keyword\\",\\"customer_full_name\\",\\"customer_full_name.keyword\\",\\"customer_gender\\",\\"customer_id\\",\\"customer_last_name\\",\\"customer_last_name.keyword\\",\\"customer_phone\\",\\"day_of_week\\",\\"day_of_week_i\\",email,\\"geoip.city_name\\",\\"geoip.continent_name\\",\\"geoip.country_iso_code\\",\\"geoip.location\\",\\"geoip.region_name\\",manufacturer,\\"manufacturer.keyword\\",\\"order_date\\",\\"order_id\\",\\"products._id\\",\\"products._id.keyword\\",\\"products.base_price\\",\\"products.base_unit_price\\",\\"products.category\\",\\"products.category.keyword\\",\\"products.created_on\\",\\"products.discount_amount\\",\\"products.discount_percentage\\",\\"products.manufacturer\\",\\"products.manufacturer.keyword\\",\\"products.min_price\\",\\"products.price\\",\\"products.product_id\\",\\"products.product_name\\",\\"products.product_name.keyword\\",\\"products.quantity\\",\\"products.sku\\",\\"products.tax_amount\\",\\"products.taxful_price\\",\\"products.taxless_price\\",\\"products.unit_discount_amount\\",sku,\\"taxful_total_price\\",\\"taxless_total_price\\",\\"total_quantity\\",\\"total_unique_products\\",type,user", + "3AMtOW0BH63Xcmy432DJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Boone\\",\\"Sultan Al Boone\\",MALE,19,Boone,Boone,\\"(empty)\\",Saturday,5,\\"sultan al@boone-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{", + " \\"\\"coordinates\\"\\": [", + " 54.4,", + " 24.5", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"Abu Dhabi\\",\\"Angeldale, Oceanavigations, Microlutions\\",\\"Angeldale, Oceanavigations, Microlutions\\",\\"Jul 12, 2019 @ 00:00:00.000\\",716724,\\"sold_product_716724_23975, sold_product_716724_6338, sold_product_716724_14116, sold_product_716724_15290\\",\\"sold_product_716724_23975, sold_product_716724_6338, sold_product_716724_14116, sold_product_716724_15290\\",\\"80, 60, 21.984, 11.992\\",\\"80, 60, 21.984, 11.992\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Angeldale, Oceanavigations, Microlutions, Oceanavigations\\",\\"Angeldale, Oceanavigations, Microlutions, Oceanavigations\\",\\"42.375, 33, 10.344, 6.109\\",\\"80, 60, 21.984, 11.992\\",\\"23,975, 6,338, 14,116, 15,290\\",\\"Winter boots - cognac, Trenchcoat - black, Watch - black, Hat - light grey multicolor\\",\\"Winter boots - cognac, Trenchcoat - black, Watch - black, Hat - light grey multicolor\\",\\"1, 1, 1, 1\\",\\"ZO0687606876, ZO0290502905, ZO0126701267, ZO0308503085\\",\\"0, 0, 0, 0\\",\\"80, 60, 21.984, 11.992\\",\\"80, 60, 21.984, 11.992\\",\\"0, 0, 0, 0\\",\\"ZO0687606876, ZO0290502905, ZO0126701267, ZO0308503085\\",174,174,4,4,order,sultan", + "9gMtOW0BH63Xcmy432DJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Pia,Pia,\\"Pia Richards\\",\\"Pia Richards\\",FEMALE,45,Richards,Richards,\\"(empty)\\",Saturday,5,\\"pia@richards-family.zzz\\",Cannes,Europe,FR,\\"{", + " \\"\\"coordinates\\"\\": [", + " 7,", + " 43.6", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"Alpes-Maritimes\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Jul 12, 2019 @ 00:00:00.000\\",591503,\\"sold_product_591503_14761, sold_product_591503_11632\\",\\"sold_product_591503_14761, sold_product_591503_11632\\",\\"20.984, 20.984\\",\\"20.984, 20.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"10.703, 9.867\\",\\"20.984, 20.984\\",\\"14,761, 11,632\\",\\"Classic heels - blue, Summer dress - coral/pink\\",\\"Classic heels - blue, Summer dress - coral/pink\\",\\"1, 1\\",\\"ZO0006400064, ZO0150601506\\",\\"0, 0\\",\\"20.984, 20.984\\",\\"20.984, 20.984\\",\\"0, 0\\",\\"ZO0006400064, ZO0150601506\\",\\"41.969\\",\\"41.969\\",2,2,order,pia", + "BgMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Brigitte,Brigitte,\\"Brigitte Meyer\\",\\"Brigitte Meyer\\",FEMALE,12,Meyer,Meyer,\\"(empty)\\",Saturday,5,\\"brigitte@meyer-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{", + " \\"\\"coordinates\\"\\": [", + " -74,", + " 40.8", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"New York\\",\\"Spherecords, Tigress Enterprises\\",\\"Spherecords, Tigress Enterprises\\",\\"Jul 12, 2019 @ 00:00:00.000\\",591709,\\"sold_product_591709_20734, sold_product_591709_7539\\",\\"sold_product_591709_20734, sold_product_591709_7539\\",\\"7.988, 33\\",\\"7.988, 33\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Tigress Enterprises\\",\\"Spherecords, Tigress Enterprises\\",\\"3.6, 17.484\\",\\"7.988, 33\\",\\"20,734, 7,539\\",\\"Basic T-shirt - dark blue, Summer dress - scarab\\",\\"Basic T-shirt - dark blue, Summer dress - scarab\\",\\"1, 1\\",\\"ZO0638206382, ZO0038800388\\",\\"0, 0\\",\\"7.988, 33\\",\\"7.988, 33\\",\\"0, 0\\",\\"ZO0638206382, ZO0038800388\\",\\"40.969\\",\\"40.969\\",2,2,order,brigitte", + "KQMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Abd,Abd,\\"Abd Mccarthy\\",\\"Abd Mccarthy\\",MALE,52,Mccarthy,Mccarthy,\\"(empty)\\",Saturday,5,\\"abd@mccarthy-family.zzz\\",Cairo,Africa,EG,\\"{", + " \\"\\"coordinates\\"\\": [", + " 31.3,", + " 30.1", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"Cairo Governorate\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jul 12, 2019 @ 00:00:00.000\\",590937,\\"sold_product_590937_14438, sold_product_590937_23607\\",\\"sold_product_590937_14438, sold_product_590937_23607\\",\\"28.984, 12.992\\",\\"28.984, 12.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"13.344, 6.109\\",\\"28.984, 12.992\\",\\"14,438, 23,607\\",\\"Jumper - dark grey multicolor, Print T-shirt - black\\",\\"Jumper - dark grey multicolor, Print T-shirt - black\\",\\"1, 1\\",\\"ZO0297602976, ZO0565605656\\",\\"0, 0\\",\\"28.984, 12.992\\",\\"28.984, 12.992\\",\\"0, 0\\",\\"ZO0297602976, ZO0565605656\\",\\"41.969\\",\\"41.969\\",2,2,order,abd", + "KgMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Robert,Robert,\\"Robert Banks\\",\\"Robert Banks\\",MALE,29,Banks,Banks,\\"(empty)\\",Saturday,5,\\"robert@banks-family.zzz\\",\\"-\\",Asia,SA,\\"{", + " \\"\\"coordinates\\"\\": [", + " 45,", + " 25", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"-\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jul 12, 2019 @ 00:00:00.000\\",590976,\\"sold_product_590976_21270, sold_product_590976_13220\\",\\"sold_product_590976_21270, sold_product_590976_13220\\",\\"11.992, 24.984\\",\\"11.992, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"6.23, 12.25\\",\\"11.992, 24.984\\",\\"21,270, 13,220\\",\\"Print T-shirt - white, Chinos - dark grey\\",\\"Print T-shirt - white, Chinos - dark grey\\",\\"1, 1\\",\\"ZO0561405614, ZO0281602816\\",\\"0, 0\\",\\"11.992, 24.984\\",\\"11.992, 24.984\\",\\"0, 0\\",\\"ZO0561405614, ZO0281602816\\",\\"36.969\\",\\"36.969\\",2,2,order,robert", + "awMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Jim,Jim,\\"Jim Hansen\\",\\"Jim Hansen\\",MALE,41,Hansen,Hansen,\\"(empty)\\",Saturday,5,\\"jim@hansen-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{", + " \\"\\"coordinates\\"\\": [", + " -74,", + " 40.8", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"New York\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jul 12, 2019 @ 00:00:00.000\\",591636,\\"sold_product_591636_1295, sold_product_591636_6498\\",\\"sold_product_591636_1295, sold_product_591636_6498\\",\\"50, 50\\",\\"50, 50\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"25, 27.484\\",\\"50, 50\\",\\"1,295, 6,498\\",\\"Smart lace-ups - dark brown, Suit jacket - dark blue\\",\\"Smart lace-ups - dark brown, Suit jacket - dark blue\\",\\"1, 1\\",\\"ZO0385003850, ZO0408604086\\",\\"0, 0\\",\\"50, 50\\",\\"50, 50\\",\\"0, 0\\",\\"ZO0385003850, ZO0408604086\\",100,100,2,2,order,jim", + "eQMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes\\",\\"Men's Shoes\\",EUR,Thad,Thad,\\"Thad Lamb\\",\\"Thad Lamb\\",MALE,30,Lamb,Lamb,\\"(empty)\\",Saturday,5,\\"thad@lamb-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{", + " \\"\\"coordinates\\"\\": [", + " -74,", + " 40.8", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"New York\\",Elitelligence,Elitelligence,\\"Jul 12, 2019 @ 00:00:00.000\\",591539,\\"sold_product_591539_15260, sold_product_591539_14221\\",\\"sold_product_591539_15260, sold_product_591539_14221\\",\\"20.984, 18.984\\",\\"20.984, 18.984\\",\\"Men's Shoes, Men's Shoes\\",\\"Men's Shoes, Men's Shoes\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"10.078, 10.25\\",\\"20.984, 18.984\\",\\"15,260, 14,221\\",\\"Casual lace-ups - dark blue, Trainers - navy\\",\\"Casual lace-ups - dark blue, Trainers - navy\\",\\"1, 1\\",\\"ZO0505605056, ZO0513605136\\",\\"0, 0\\",\\"20.984, 18.984\\",\\"20.984, 18.984\\",\\"0, 0\\",\\"ZO0505605056, ZO0513605136\\",\\"39.969\\",\\"39.969\\",2,2,order,thad", + "egMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Jim,Jim,\\"Jim Bryant\\",\\"Jim Bryant\\",MALE,41,Bryant,Bryant,\\"(empty)\\",Saturday,5,\\"jim@bryant-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{", + " \\"\\"coordinates\\"\\": [", + " -74,", + " 40.8", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"New York\\",Oceanavigations,Oceanavigations,\\"Jul 12, 2019 @ 00:00:00.000\\",591598,\\"sold_product_591598_20597, sold_product_591598_2774\\",\\"sold_product_591598_20597, sold_product_591598_2774\\",\\"10.992, 85\\",\\"10.992, 85\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Oceanavigations\\",\\"Oceanavigations, Oceanavigations\\",\\"5.93, 45.875\\",\\"10.992, 85\\",\\"20,597, 2,774\\",\\"Tie - brown/black , Classic coat - black\\",\\"Tie - brown/black , Classic coat - black\\",\\"1, 1\\",\\"ZO0276702767, ZO0291702917\\",\\"0, 0\\",\\"10.992, 85\\",\\"10.992, 85\\",\\"0, 0\\",\\"ZO0276702767, ZO0291702917\\",96,96,2,2,order,jim", + "fwMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Betty,Betty,\\"Betty Roberson\\",\\"Betty Roberson\\",FEMALE,44,Roberson,Roberson,\\"(empty)\\",Saturday,5,\\"betty@roberson-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{", + " \\"\\"coordinates\\"\\": [", + " -74,", + " 40.7", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"New York\\",\\"Tigress Enterprises\\",\\"Tigress Enterprises\\",\\"Jul 12, 2019 @ 00:00:00.000\\",590927,\\"sold_product_590927_15436, sold_product_590927_22598\\",\\"sold_product_590927_15436, sold_product_590927_22598\\",\\"28.984, 28.984\\",\\"28.984, 28.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"14.781, 14.781\\",\\"28.984, 28.984\\",\\"15,436, 22,598\\",\\"Jersey dress - anthra/black, Shift dress - black\\",\\"Jersey dress - anthra/black, Shift dress - black\\",\\"1, 1\\",\\"ZO0046600466, ZO0050800508\\",\\"0, 0\\",\\"28.984, 28.984\\",\\"28.984, 28.984\\",\\"0, 0\\",\\"ZO0046600466, ZO0050800508\\",\\"57.969\\",\\"57.969\\",2,2,order,betty", + "gAMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Robbie,Robbie,\\"Robbie Hubbard\\",\\"Robbie Hubbard\\",MALE,48,Hubbard,Hubbard,\\"(empty)\\",Saturday,5,\\"robbie@hubbard-family.zzz\\",Dubai,Asia,AE,\\"{", + " \\"\\"coordinates\\"\\": [", + " 55.3,", + " 25.3", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",Dubai,\\"Low Tide Media, Angeldale\\",\\"Low Tide Media, Angeldale\\",\\"Jul 12, 2019 @ 00:00:00.000\\",590970,\\"sold_product_590970_11228, sold_product_590970_12060\\",\\"sold_product_590970_11228, sold_product_590970_12060\\",\\"24.984, 50\\",\\"24.984, 50\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Angeldale\\",\\"Low Tide Media, Angeldale\\",\\"12, 25.984\\",\\"24.984, 50\\",\\"11,228, 12,060\\",\\"Tracksuit top - offwhite multicolor, Lace-ups - black/red\\",\\"Tracksuit top - offwhite multicolor, Lace-ups - black/red\\",\\"1, 1\\",\\"ZO0455604556, ZO0680806808\\",\\"0, 0\\",\\"24.984, 50\\",\\"24.984, 50\\",\\"0, 0\\",\\"ZO0455604556, ZO0680806808\\",75,75,2,2,order,robbie", + "6AMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Abigail,Abigail,\\"Abigail Willis\\",\\"Abigail Willis\\",FEMALE,46,Willis,Willis,\\"(empty)\\",Saturday,5,\\"abigail@willis-family.zzz\\",Birmingham,Europe,GB,\\"{", + " \\"\\"coordinates\\"\\": [", + " -1.9,", + " 52.5", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",Birmingham,\\"Tigress Enterprises MAMA, Angeldale\\",\\"Tigress Enterprises MAMA, Angeldale\\",\\"Jul 12, 2019 @ 00:00:00.000\\",591299,\\"sold_product_591299_19895, sold_product_591299_5787\\",\\"sold_product_591299_19895, sold_product_591299_5787\\",\\"33, 85\\",\\"33, 85\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises MAMA, Angeldale\\",\\"Tigress Enterprises MAMA, Angeldale\\",\\"17.156, 44.188\\",\\"33, 85\\",\\"19,895, 5,787\\",\\"Summer dress - black/offwhite, Ankle boots - black\\",\\"Summer dress - black/offwhite, Ankle boots - black\\",\\"1, 1\\",\\"ZO0229002290, ZO0674406744\\",\\"0, 0\\",\\"33, 85\\",\\"33, 85\\",\\"0, 0\\",\\"ZO0229002290, ZO0674406744\\",118,118,2,2,order,abigail", + "6QMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Boris,Boris,\\"Boris Greene\\",\\"Boris Greene\\",MALE,36,Greene,Greene,\\"(empty)\\",Saturday,5,\\"boris@greene-family.zzz\\",\\"-\\",Europe,GB,\\"{", + " \\"\\"coordinates\\"\\": [", + " -0.1,", + " 51.5", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"-\\",\\"Elitelligence, Spritechnologies\\",\\"Elitelligence, Spritechnologies\\",\\"Jul 12, 2019 @ 00:00:00.000\\",591133,\\"sold_product_591133_19496, sold_product_591133_20143\\",\\"sold_product_591133_19496, sold_product_591133_20143\\",\\"24.984, 10.992\\",\\"24.984, 10.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Spritechnologies\\",\\"Elitelligence, Spritechnologies\\",\\"12.742, 5.711\\",\\"24.984, 10.992\\",\\"19,496, 20,143\\",\\"Tracksuit bottoms - mottled grey, Sports shirt - black\\",\\"Tracksuit bottoms - mottled grey, Sports shirt - black\\",\\"1, 1\\",\\"ZO0529905299, ZO0617006170\\",\\"0, 0\\",\\"24.984, 10.992\\",\\"24.984, 10.992\\",\\"0, 0\\",\\"ZO0529905299, ZO0617006170\\",\\"35.969\\",\\"35.969\\",2,2,order,boris", + "6gMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Jackson,Jackson,\\"Jackson Conner\\",\\"Jackson Conner\\",MALE,13,Conner,Conner,\\"(empty)\\",Saturday,5,\\"jackson@conner-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{", + " \\"\\"coordinates\\"\\": [", + " -118.2,", + " 34.1", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",California,\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jul 12, 2019 @ 00:00:00.000\\",591175,\\"sold_product_591175_23703, sold_product_591175_11555\\",\\"sold_product_591175_23703, sold_product_591175_11555\\",\\"28.984, 65\\",\\"28.984, 65\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"13.922, 31.844\\",\\"28.984, 65\\",\\"23,703, 11,555\\",\\"Sweatshirt - grey multicolor, Short coat - dark blue\\",\\"Sweatshirt - grey multicolor, Short coat - dark blue\\",\\"1, 1\\",\\"ZO0299402994, ZO0433504335\\",\\"0, 0\\",\\"28.984, 65\\",\\"28.984, 65\\",\\"0, 0\\",\\"ZO0299402994, ZO0433504335\\",94,94,2,2,order,jackson", + "7QMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Yuri,Yuri,\\"Yuri Cross\\",\\"Yuri Cross\\",MALE,21,Cross,Cross,\\"(empty)\\",Saturday,5,\\"yuri@cross-family.zzz\\",Cannes,Europe,FR,\\"{", + " \\"\\"coordinates\\"\\": [", + " 7,", + " 43.6", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"Alpes-Maritimes\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jul 12, 2019 @ 00:00:00.000\\",591297,\\"sold_product_591297_21234, sold_product_591297_17466\\",\\"sold_product_591297_21234, sold_product_591297_17466\\",\\"75, 28.984\\",\\"75, 28.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"36.75, 13.344\\",\\"75, 28.984\\",\\"21,234, 17,466\\",\\"Lace-up boots - brown, Jumper - multicoloured\\",\\"Lace-up boots - brown, Jumper - multicoloured\\",\\"1, 1\\",\\"ZO0257502575, ZO0451704517\\",\\"0, 0\\",\\"75, 28.984\\",\\"75, 28.984\\",\\"0, 0\\",\\"ZO0257502575, ZO0451704517\\",104,104,2,2,order,yuri", + "7gMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Irwin,Irwin,\\"Irwin Ramsey\\",\\"Irwin Ramsey\\",MALE,14,Ramsey,Ramsey,\\"(empty)\\",Saturday,5,\\"irwin@ramsey-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{", +] `; -exports[`discover Discover CSV Export Generate CSV: archived search generates a report with filtered data 1`] = ` -"\\"order_date\\",category,currency,\\"customer_id\\",\\"order_id\\",\\"day_of_week_i\\",\\"products.created_on\\",sku -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",EUR,19,716724,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0687606876, ZO0290502905, ZO0126701267, ZO0308503085\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Shoes, Women's Clothing\\",EUR,45,591503,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0006400064, ZO0150601506\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing\\",EUR,12,591709,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0638206382, ZO0038800388\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,52,590937,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0297602976, ZO0565605656\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,29,590976,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0561405614, ZO0281602816\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,41,591636,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0385003850, ZO0408604086\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes\\",EUR,30,591539,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0505605056, ZO0513605136\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,41,591598,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0276702767, ZO0291702917\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing\\",EUR,44,590927,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0046600466, ZO0050800508\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing, Men's Shoes\\",EUR,48,590970,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0455604556, ZO0680806808\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing, Women's Shoes\\",EUR,46,591299,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0229002290, ZO0674406744\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,36,591133,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0529905299, ZO0617006170\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,13,591175,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0299402994, ZO0433504335\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,21,591297,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0257502575, ZO0451704517\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,14,591149,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0584905849, ZO0578405784\\" -\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing, Women's Shoes\\",EUR,27,591754,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0335803358, ZO0325903259\\" -" +exports[`discover Discover CSV Export Generate CSV: new search generates a report from a new search with data: default 2`] = ` +Array [ + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",Dubai,\\"Tigress Enterprises MAMA, Pyramidustries, Angeldale\\",\\"Tigress Enterprises MAMA, Pyramidustries, Angeldale\\",\\"Jun 12, 2019 @ 00:00:00.000\\",731056,\\"sold_product_731056_22440, sold_product_731056_13969, sold_product_731056_20215, sold_product_731056_23401\\",\\"sold_product_731056_22440, sold_product_731056_13969, sold_product_731056_20215, sold_product_731056_23401\\",\\"33, 20.984, 75, 13.992\\",\\"33, 20.984, 75, 13.992\\",\\"Women's Clothing, Women's Accessories, Women's Shoes, Women's Accessories\\",\\"Women's Clothing, Women's Accessories, Women's Shoes, Women's Accessories\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Tigress Enterprises MAMA, Pyramidustries, Angeldale, Pyramidustries\\",\\"Tigress Enterprises MAMA, Pyramidustries, Angeldale, Pyramidustries\\",\\"15.18, 10.289, 39, 6.719\\",\\"33, 20.984, 75, 13.992\\",\\"22,440, 13,969, 20,215, 23,401\\",\\"Jersey dress - fan/black, Across body bag - Blue Violety, Boots - black, Hat - nude\\",\\"Jersey dress - fan/black, Across body bag - Blue Violety, Boots - black, Hat - nude\\",\\"1, 1, 1, 1\\",\\"ZO0230102301, ZO0210602106, ZO0679006790, ZO0187301873\\",\\"0, 0, 0, 0\\",\\"33, 20.984, 75, 13.992\\",\\"33, 20.984, 75, 13.992\\",\\"0, 0, 0, 0\\",\\"ZO0230102301, ZO0210602106, ZO0679006790, ZO0187301873\\",143,143,4,4,order,rabbia", + "4AMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Yahya,Yahya,\\"Yahya Pope\\",\\"Yahya Pope\\",MALE,23,Pope,Pope,\\"(empty)\\",Thursday,3,\\"yahya@pope-family.zzz\\",Marrakesh,Africa,MA,\\"{", + " \\"\\"coordinates\\"\\": [", + " -8,", + " 31.6", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"Marrakech-Tensift-Al Haouz\\",Elitelligence,Elitelligence,\\"Jun 12, 2019 @ 00:00:00.000\\",551556,\\"sold_product_551556_1583, sold_product_551556_11991\\",\\"sold_product_551556_1583, sold_product_551556_11991\\",\\"33, 7.988\\",\\"33, 7.988\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"17.813, 3.76\\",\\"33, 7.988\\",\\"1,583, 11,991\\",\\"High-top trainers - black, Basic T-shirt - black\\",\\"High-top trainers - black, Basic T-shirt - black\\",\\"1, 1\\",\\"ZO0512405124, ZO0551405514\\",\\"0, 0\\",\\"33, 7.988\\",\\"33, 7.988\\",\\"0, 0\\",\\"ZO0512405124, ZO0551405514\\",\\"40.969\\",\\"40.969\\",2,2,order,yahya", + "4QMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,George,George,\\"George Morrison\\",\\"George Morrison\\",MALE,32,Morrison,Morrison,\\"(empty)\\",Thursday,3,\\"george@morrison-family.zzz\\",Birmingham,Europe,GB,\\"{", + " \\"\\"coordinates\\"\\": [", + " -1.9,", + " 52.5", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",Birmingham,\\"Spritechnologies, Elitelligence\\",\\"Spritechnologies, Elitelligence\\",\\"Jun 12, 2019 @ 00:00:00.000\\",551609,\\"sold_product_551609_3728, sold_product_551609_23435\\",\\"sold_product_551609_3728, sold_product_551609_23435\\",\\"20.984, 20.984\\",\\"20.984, 20.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spritechnologies, Elitelligence\\",\\"Spritechnologies, Elitelligence\\",\\"10.703, 10.289\\",\\"20.984, 20.984\\",\\"3,728, 23,435\\",\\"Base layer - khaki, Shirt - red\\",\\"Base layer - khaki, Shirt - red\\",\\"1, 1\\",\\"ZO0630606306, ZO0524705247\\",\\"0, 0\\",\\"20.984, 20.984\\",\\"20.984, 20.984\\",\\"0, 0\\",\\"ZO0630606306, ZO0524705247\\",\\"41.969\\",\\"41.969\\",2,2,order,george", + "\\"_wMtOW0BH63Xcmy453H9\\",ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Yuri,Yuri,\\"Yuri Morris\\",\\"Yuri Morris\\",MALE,21,Morris,Morris,\\"(empty)\\",Thursday,3,\\"yuri@morris-family.zzz\\",Cannes,Europe,FR,\\"{", + " \\"\\"coordinates\\"\\": [", + " 7,", + " 43.6", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"Alpes-Maritimes\\",\\"Angeldale, Low Tide Media\\",\\"Angeldale, Low Tide Media\\",\\"Jun 12, 2019 @ 00:00:00.000\\",550473,\\"sold_product_550473_20161, sold_product_550473_6991\\",\\"sold_product_550473_20161, sold_product_550473_6991\\",\\"65, 38\\",\\"65, 38\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Low Tide Media\\",\\"Angeldale, Low Tide Media\\",\\"30.547, 20.125\\",\\"65, 38\\",\\"20,161, 6,991\\",\\"Lace-up boots - dark tan, Jumper - dark blue\\",\\"Lace-up boots - dark tan, Jumper - dark blue\\",\\"1, 1\\",\\"ZO0688006880, ZO0450504505\\",\\"0, 0\\",\\"65, 38\\",\\"65, 38\\",\\"0, 0\\",\\"ZO0688006880, ZO0450504505\\",103,103,2,2,order,yuri", + "AAMtOW0BH63Xcmy453L9,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",EUR,Brigitte,Brigitte,\\"Brigitte Long\\",\\"Brigitte Long\\",FEMALE,12,Long,Long,\\"(empty)\\",Thursday,3,\\"brigitte@long-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{", + " \\"\\"coordinates\\"\\": [", + " -74,", + " 40.8", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"New York\\",Pyramidustries,Pyramidustries,\\"Jun 12, 2019 @ 00:00:00.000\\",550542,\\"sold_product_550542_11839, sold_product_550542_21052\\",\\"sold_product_550542_11839, sold_product_550542_21052\\",\\"24.984, 9.992\\",\\"24.984, 9.992\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries\\",\\"Pyramidustries, Pyramidustries\\",\\"12.992, 4.898\\",\\"24.984, 9.992\\",\\"11,839, 21,052\\",\\"High heeled sandals - cognac, Snood - black/red/green/yellow\\",\\"High heeled sandals - cognac, Snood - black/red/green/yellow\\",\\"1, 1\\",\\"ZO0137301373, ZO0192601926\\",\\"0, 0\\",\\"24.984, 9.992\\",\\"24.984, 9.992\\",\\"0, 0\\",\\"ZO0137301373, ZO0192601926\\",\\"34.969\\",\\"34.969\\",2,2,order,brigitte", + "AQMtOW0BH63Xcmy453L9,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,rania,rania,\\"rania Barnes\\",\\"rania Barnes\\",FEMALE,24,Barnes,Barnes,\\"(empty)\\",Thursday,3,\\"rania@barnes-family.zzz\\",Cairo,Africa,EG,\\"{", + " \\"\\"coordinates\\"\\": [", + " 31.3,", + " 30.1", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"Cairo Governorate\\",\\"Pyramidustries, Pyramidustries active\\",\\"Pyramidustries, Pyramidustries active\\",\\"Jun 12, 2019 @ 00:00:00.000\\",550580,\\"sold_product_550580_20312, sold_product_550580_10155\\",\\"sold_product_550580_20312, sold_product_550580_10155\\",\\"50, 16.984\\",\\"50, 16.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries active\\",\\"Pyramidustries, Pyramidustries active\\",\\"24, 8.656\\",\\"50, 16.984\\",\\"20,312, 10,155\\",\\"Lace-up boots - cognac, Sports shirt - black\\",\\"Lace-up boots - cognac, Sports shirt - black\\",\\"1, 1\\",\\"ZO0144801448, ZO0219602196\\",\\"0, 0\\",\\"50, 16.984\\",\\"50, 16.984\\",\\"0, 0\\",\\"ZO0144801448, ZO0219602196\\",67,67,2,2,order,rani", + "BwMtOW0BH63Xcmy453L9,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,\\"Abdulraheem Al\\",\\"Abdulraheem Al\\",\\"Abdulraheem Al Tyler\\",\\"Abdulraheem Al Tyler\\",MALE,33,Tyler,Tyler,\\"(empty)\\",Thursday,3,\\"abdulraheem al@tyler-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{", + " \\"\\"coordinates\\"\\": [", + " 54.4,", + " 24.5", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"Abu Dhabi\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 12, 2019 @ 00:00:00.000\\",551324,\\"sold_product_551324_14742, sold_product_551324_19089\\",\\"sold_product_551324_14742, sold_product_551324_19089\\",\\"33, 12.992\\",\\"33, 12.992\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"15.18, 7.012\\",\\"33, 12.992\\",\\"14,742, 19,089\\",\\"Laptop bag - brown, Vest - white/dark blue\\",\\"Laptop bag - brown, Vest - white/dark blue\\",\\"1, 1\\",\\"ZO0316803168, ZO0566905669\\",\\"0, 0\\",\\"33, 12.992\\",\\"33, 12.992\\",\\"0, 0\\",\\"ZO0316803168, ZO0566905669\\",\\"45.969\\",\\"45.969\\",2,2,order,abdulraheem", + "mwMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Marwan,Marwan,\\"Marwan James\\",\\"Marwan James\\",MALE,51,James,James,\\"(empty)\\",Thursday,3,\\"marwan@james-family.zzz\\",Marrakesh,Africa,MA,\\"{", + " \\"\\"coordinates\\"\\": [", + " -8,", + " 31.6", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 12, 2019 @ 00:00:00.000\\",551355,\\"sold_product_551355_21057, sold_product_551355_23405\\",\\"sold_product_551355_21057, sold_product_551355_23405\\",\\"13.992, 11.992\\",\\"13.992, 11.992\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"6.859, 5.762\\",\\"13.992, 11.992\\",\\"21,057, 23,405\\",\\"Scarf - navy/grey, Basic T-shirt - blue\\",\\"Scarf - navy/grey, Basic T-shirt - blue\\",\\"1, 1\\",\\"ZO0313403134, ZO0561205612\\",\\"0, 0\\",\\"13.992, 11.992\\",\\"13.992, 11.992\\",\\"0, 0\\",\\"ZO0313403134, ZO0561205612\\",\\"25.984\\",\\"25.984\\",2,2,order,marwan", + "twMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",EUR,Sonya,Sonya,\\"Sonya Mccormick\\",\\"Sonya Mccormick\\",FEMALE,28,Mccormick,Mccormick,\\"(empty)\\",Thursday,3,\\"sonya@mccormick-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{", + " \\"\\"coordinates\\"\\": [", + " -74.1,", + " 4.6", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"Bogota D.C.\\",Pyramidustries,Pyramidustries,\\"Jun 12, 2019 @ 00:00:00.000\\",550957,\\"sold_product_550957_22980, sold_product_550957_19828\\",\\"sold_product_550957_22980, sold_product_550957_19828\\",\\"24.984, 16.984\\",\\"24.984, 16.984\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries\\",\\"Pyramidustries, Pyramidustries\\",\\"11.5, 9.172\\",\\"24.984, 16.984\\",\\"22,980, 19,828\\",\\"Classic heels - petrol, Watch - nude\\",\\"Classic heels - petrol, Watch - nude\\",\\"1, 1\\",\\"ZO0133101331, ZO0189401894\\",\\"0, 0\\",\\"24.984, 16.984\\",\\"24.984, 16.984\\",\\"0, 0\\",\\"ZO0133101331, ZO0189401894\\",\\"41.969\\",\\"41.969\\",2,2,order,sonya", + "7AMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Kamal,Kamal,\\"Kamal Hansen\\",\\"Kamal Hansen\\",MALE,39,Hansen,Hansen,\\"(empty)\\",Thursday,3,\\"kamal@hansen-family.zzz\\",Istanbul,Asia,TR,\\"{", + " \\"\\"coordinates\\"\\": [", + " 29,", + " 41", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",Istanbul,\\"Low Tide Media, Spritechnologies\\",\\"Low Tide Media, Spritechnologies\\",\\"Jun 12, 2019 @ 00:00:00.000\\",551154,\\"sold_product_551154_13181, sold_product_551154_23660\\",\\"sold_product_551154_13181, sold_product_551154_23660\\",\\"42, 11.992\\",\\"42, 11.992\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Spritechnologies\\",\\"Low Tide Media, Spritechnologies\\",\\"21, 6.109\\",\\"42, 11.992\\",\\"13,181, 23,660\\",\\"Briefcase - navy, Sports shirt - Seashell\\",\\"Briefcase - navy, Sports shirt - Seashell\\",\\"1, 1\\",\\"ZO0466704667, ZO0617306173\\",\\"0, 0\\",\\"42, 11.992\\",\\"42, 11.992\\",\\"0, 0\\",\\"ZO0466704667, ZO0617306173\\",\\"53.969\\",\\"53.969\\",2,2,order,kamal", + "7QMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Elyssa,Elyssa,\\"Elyssa Graves\\",\\"Elyssa Graves\\",FEMALE,27,Graves,Graves,\\"(empty)\\",Thursday,3,\\"elyssa@graves-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{", + " \\"\\"coordinates\\"\\": [", + " -74,", + " 40.8", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"New York\\",Pyramidustries,Pyramidustries,\\"Jun 12, 2019 @ 00:00:00.000\\",551204,\\"sold_product_551204_16805, sold_product_551204_12896\\",\\"sold_product_551204_16805, sold_product_551204_12896\\",\\"13.992, 20.984\\",\\"13.992, 20.984\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries\\",\\"Pyramidustries, Pyramidustries\\",\\"7.129, 9.656\\",\\"13.992, 20.984\\",\\"16,805, 12,896\\",\\"Bustier - white, Across body bag - cognac\\",\\"Bustier - white, Across body bag - cognac\\",\\"1, 1\\",\\"ZO0212602126, ZO0200702007\\",\\"0, 0\\",\\"13.992, 20.984\\",\\"13.992, 20.984\\",\\"0, 0\\",\\"ZO0212602126, ZO0200702007\\",\\"34.969\\",\\"34.969\\",2,2,order,elyssa", + "7gMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Pia,Pia,\\"Pia Rose\\",\\"Pia Rose\\",FEMALE,45,Rose,Rose,\\"(empty)\\",Thursday,3,\\"pia@rose-family.zzz\\",Cannes,Europe,FR,\\"{", + " \\"\\"coordinates\\"\\": [", + " 7,", + " 43.6", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"Alpes-Maritimes\\",\\"Oceanavigations, Primemaster\\",\\"Oceanavigations, Primemaster\\",\\"Jun 12, 2019 @ 00:00:00.000\\",550466,\\"sold_product_550466_19198, sold_product_550466_16409\\",\\"sold_product_550466_19198, sold_product_550466_16409\\",\\"50, 100\\",\\"50, 100\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Primemaster\\",\\"Oceanavigations, Primemaster\\",\\"24, 52\\",\\"50, 100\\",\\"19,198, 16,409\\",\\"Summer dress - grey, Boots - passion\\",\\"Summer dress - grey, Boots - passion\\",\\"1, 1\\",\\"ZO0260702607, ZO0363203632\\",\\"0, 0\\",\\"50, 100\\",\\"50, 100\\",\\"0, 0\\",\\"ZO0260702607, ZO0363203632\\",150,150,2,2,order,pia", + "7wMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Wagdi,Wagdi,\\"Wagdi Boone\\",\\"Wagdi Boone\\",MALE,15,Boone,Boone,\\"(empty)\\",Thursday,3,\\"wagdi@boone-family.zzz\\",\\"-\\",Asia,SA,\\"{", + " \\"\\"coordinates\\"\\": [", + " 45,", + " 25", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"-\\",Elitelligence,Elitelligence,\\"Jun 12, 2019 @ 00:00:00.000\\",550503,\\"sold_product_550503_13211, sold_product_550503_24369\\",\\"sold_product_550503_13211, sold_product_550503_24369\\",\\"34, 11.992\\",\\"34, 11.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"15.641, 6.109\\",\\"34, 11.992\\",\\"13,211, 24,369\\",\\"Tracksuit top - black, Print T-shirt - khaki\\",\\"Tracksuit top - black, Print T-shirt - khaki\\",\\"1, 1\\",\\"ZO0587505875, ZO0566405664\\",\\"0, 0\\",\\"34, 11.992\\",\\"34, 11.992\\",\\"0, 0\\",\\"ZO0587505875, ZO0566405664\\",\\"45.969\\",\\"45.969\\",2,2,order,wagdi", + "8AMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",EUR,Elyssa,Elyssa,\\"Elyssa Hale\\",\\"Elyssa Hale\\",FEMALE,27,Hale,Hale,\\"(empty)\\",Thursday,3,\\"elyssa@hale-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{", + " \\"\\"coordinates\\"\\": [", + " -74,", + " 40.8", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"New York\\",\\"Angeldale, Oceanavigations\\",\\"Angeldale, Oceanavigations\\",\\"Jun 12, 2019 @ 00:00:00.000\\",550538,\\"sold_product_550538_15047, sold_product_550538_18189\\",\\"sold_product_550538_15047, sold_product_550538_18189\\",\\"75, 60\\",\\"75, 60\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Oceanavigations\\",\\"Angeldale, Oceanavigations\\",\\"34.5, 28.797\\",\\"75, 60\\",\\"15,047, 18,189\\",\\"Handbag - black, Ankle boots - grey\\",\\"Handbag - black, Ankle boots - grey\\",\\"1, 1\\",\\"ZO0699406994, ZO0246202462\\",\\"0, 0\\",\\"75, 60\\",\\"75, 60\\",\\"0, 0\\",\\"ZO0699406994, ZO0246202462\\",135,135,2,2,order,elyssa", + "8QMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Jackson,Jackson,\\"Jackson Love\\",\\"Jackson Love\\",MALE,13,Love,Love,\\"(empty)\\",Thursday,3,\\"jackson@love-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{", + " \\"\\"coordinates\\"\\": [", + " -118.2,", + " 34.1", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",California,\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 12, 2019 @ 00:00:00.000\\",550568,\\"sold_product_550568_17210, sold_product_550568_12524\\",\\"sold_product_550568_17210, sold_product_550568_12524\\",\\"50, 24.984\\",\\"50, 24.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"25, 12.492\\",\\"50, 24.984\\",\\"17,210, 12,524\\",\\"Casual lace-ups - navy, Jumper - dark grey multicolor\\",\\"Casual lace-ups - navy, Jumper - dark grey multicolor\\",\\"1, 1\\",\\"ZO0388403884, ZO0447604476\\",\\"0, 0\\",\\"50, 24.984\\",\\"50, 24.984\\",\\"0, 0\\",\\"ZO0388403884, ZO0447604476\\",75,75,2,2,order,jackson", +] `; -exports[`discover Discover CSV Export Generate CSV: new search generates a report from a new search with data: default 1`] = ` -"\\"_id\\",\\"_index\\",\\"_score\\",\\"_type\\",category,\\"category.keyword\\",currency,\\"customer_first_name\\",\\"customer_first_name.keyword\\",\\"customer_full_name\\",\\"customer_full_name.keyword\\",\\"customer_gender\\",\\"customer_id\\",\\"customer_last_name\\",\\"customer_last_name.keyword\\",\\"customer_phone\\",\\"day_of_week\\",\\"day_of_week_i\\",email,\\"geoip.city_name\\",\\"geoip.continent_name\\",\\"geoip.country_iso_code\\",\\"geoip.location\\",\\"geoip.region_name\\",manufacturer,\\"manufacturer.keyword\\",\\"order_date\\",\\"order_id\\",\\"products._id\\",\\"products._id.keyword\\",\\"products.base_price\\",\\"products.base_unit_price\\",\\"products.category\\",\\"products.category.keyword\\",\\"products.created_on\\",\\"products.discount_amount\\",\\"products.discount_percentage\\",\\"products.manufacturer\\",\\"products.manufacturer.keyword\\",\\"products.min_price\\",\\"products.price\\",\\"products.product_id\\",\\"products.product_name\\",\\"products.product_name.keyword\\",\\"products.quantity\\",\\"products.sku\\",\\"products.tax_amount\\",\\"products.taxful_price\\",\\"products.taxless_price\\",\\"products.unit_discount_amount\\",sku,\\"taxful_total_price\\",\\"taxless_total_price\\",\\"total_quantity\\",\\"total_unique_products\\",type,user -3AMtOW0BH63Xcmy432DJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Boone\\",\\"Sultan Al Boone\\",MALE,19,Boone,Boone,\\"(empty)\\",Saturday,5,\\"sultan al@boone-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ - \\"\\"coordinates\\"\\": [ - 54.4, - 24.5 - ], - \\"\\"type\\"\\": \\"\\"Point\\"\\" -}\\",\\"Abu Dhabi\\",\\"Angeldale, Oceanavigations, Microlutions\\",\\"Angeldale, Oceanavigations, Microlutions\\",\\"Jul 12, 2019 @ 00:00:00.000\\",716724,\\"sold_product_716724_23975, sold_product_716724_6338, sold_product_716724_14116, sold_product_716724_15290\\",\\"sold_product_716724_23975, sold_product_716724_6338, sold_product_716724_14116, sold_product_716724_15290\\",\\"80, 60, 21.984, 11.992\\",\\"80, 60, 21.984, 11.992\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Angeldale, Oceanavigations, Microlutions, Oceanavigations\\",\\"Angeldale, Oceanavigations, Microlutions, Oceanavigations\\",\\"42.375, 33, 10.344, 6.109\\",\\"80, 60, 21.984, 11.992\\",\\"23,975, 6,338, 14,116, 15,290\\",\\"Winter boots - cognac, Trenchcoat - black, Watch - black, Hat - light grey multicolor\\",\\"Winter boots - cognac, Trenchcoat - black, Watch - black, Hat - light grey multicolor\\",\\"1, 1, 1, 1\\",\\"ZO0687606876, ZO0290502905, ZO0126701267, ZO0308503085\\",\\"0, 0, 0, 0\\",\\"80, 60, 21.984, 11.992\\",\\"80, 60, 21.984, 11.992\\",\\"0, 0, 0, 0\\",\\"ZO0687606876, ZO0290502905, ZO0126701267, ZO0308503085\\",174,174,4,4,order,sultan -" +exports[`discover Discover CSV Export Generate CSV: new search generates a report from a new search with data: discover:searchFieldsFromSource 1`] = ` +Array [ + "\\"_id\\",\\"_index\\",\\"_score\\",\\"_type\\",category,\\"category.keyword\\",currency,\\"customer_first_name\\",\\"customer_first_name.keyword\\",\\"customer_full_name\\",\\"customer_full_name.keyword\\",\\"customer_gender\\",\\"customer_id\\",\\"customer_last_name\\",\\"customer_last_name.keyword\\",\\"customer_phone\\",\\"day_of_week\\",\\"day_of_week_i\\",email,\\"geoip.city_name\\",\\"geoip.continent_name\\",\\"geoip.country_iso_code\\",\\"geoip.location\\",\\"geoip.region_name\\",manufacturer,\\"manufacturer.keyword\\",\\"order_date\\",\\"order_id\\",\\"products._id\\",\\"products._id.keyword\\",\\"products.base_price\\",\\"products.base_unit_price\\",\\"products.category\\",\\"products.category.keyword\\",\\"products.created_on\\",\\"products.discount_amount\\",\\"products.discount_percentage\\",\\"products.manufacturer\\",\\"products.manufacturer.keyword\\",\\"products.min_price\\",\\"products.price\\",\\"products.product_id\\",\\"products.product_name\\",\\"products.product_name.keyword\\",\\"products.quantity\\",\\"products.sku\\",\\"products.tax_amount\\",\\"products.taxful_price\\",\\"products.taxless_price\\",\\"products.unit_discount_amount\\",sku,\\"taxful_total_price\\",\\"taxless_total_price\\",\\"total_quantity\\",\\"total_unique_products\\",type,user", + "3AMtOW0BH63Xcmy432DJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Boone\\",\\"Sultan Al Boone\\",MALE,19,Boone,Boone,\\"(empty)\\",Saturday,5,\\"sultan al@boone-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{", + " \\"\\"coordinates\\"\\": [", + " 54.4,", + " 24.5", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"Abu Dhabi\\",\\"Angeldale, Oceanavigations, Microlutions\\",\\"Angeldale, Oceanavigations, Microlutions\\",\\"Jul 12, 2019 @ 00:00:00.000\\",716724,\\"sold_product_716724_23975, sold_product_716724_6338, sold_product_716724_14116, sold_product_716724_15290\\",\\"sold_product_716724_23975, sold_product_716724_6338, sold_product_716724_14116, sold_product_716724_15290\\",\\"80, 60, 21.984, 11.992\\",\\"80, 60, 21.984, 11.992\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Angeldale, Oceanavigations, Microlutions, Oceanavigations\\",\\"Angeldale, Oceanavigations, Microlutions, Oceanavigations\\",\\"42.375, 33, 10.344, 6.109\\",\\"80, 60, 21.984, 11.992\\",\\"23,975, 6,338, 14,116, 15,290\\",\\"Winter boots - cognac, Trenchcoat - black, Watch - black, Hat - light grey multicolor\\",\\"Winter boots - cognac, Trenchcoat - black, Watch - black, Hat - light grey multicolor\\",\\"1, 1, 1, 1\\",\\"ZO0687606876, ZO0290502905, ZO0126701267, ZO0308503085\\",\\"0, 0, 0, 0\\",\\"80, 60, 21.984, 11.992\\",\\"80, 60, 21.984, 11.992\\",\\"0, 0, 0, 0\\",\\"ZO0687606876, ZO0290502905, ZO0126701267, ZO0308503085\\",174,174,4,4,order,sultan", + "9gMtOW0BH63Xcmy432DJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Pia,Pia,\\"Pia Richards\\",\\"Pia Richards\\",FEMALE,45,Richards,Richards,\\"(empty)\\",Saturday,5,\\"pia@richards-family.zzz\\",Cannes,Europe,FR,\\"{", + " \\"\\"coordinates\\"\\": [", + " 7,", + " 43.6", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"Alpes-Maritimes\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Jul 12, 2019 @ 00:00:00.000\\",591503,\\"sold_product_591503_14761, sold_product_591503_11632\\",\\"sold_product_591503_14761, sold_product_591503_11632\\",\\"20.984, 20.984\\",\\"20.984, 20.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"10.703, 9.867\\",\\"20.984, 20.984\\",\\"14,761, 11,632\\",\\"Classic heels - blue, Summer dress - coral/pink\\",\\"Classic heels - blue, Summer dress - coral/pink\\",\\"1, 1\\",\\"ZO0006400064, ZO0150601506\\",\\"0, 0\\",\\"20.984, 20.984\\",\\"20.984, 20.984\\",\\"0, 0\\",\\"ZO0006400064, ZO0150601506\\",\\"41.969\\",\\"41.969\\",2,2,order,pia", + "BgMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Brigitte,Brigitte,\\"Brigitte Meyer\\",\\"Brigitte Meyer\\",FEMALE,12,Meyer,Meyer,\\"(empty)\\",Saturday,5,\\"brigitte@meyer-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{", + " \\"\\"coordinates\\"\\": [", + " -74,", + " 40.8", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"New York\\",\\"Spherecords, Tigress Enterprises\\",\\"Spherecords, Tigress Enterprises\\",\\"Jul 12, 2019 @ 00:00:00.000\\",591709,\\"sold_product_591709_20734, sold_product_591709_7539\\",\\"sold_product_591709_20734, sold_product_591709_7539\\",\\"7.988, 33\\",\\"7.988, 33\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Tigress Enterprises\\",\\"Spherecords, Tigress Enterprises\\",\\"3.6, 17.484\\",\\"7.988, 33\\",\\"20,734, 7,539\\",\\"Basic T-shirt - dark blue, Summer dress - scarab\\",\\"Basic T-shirt - dark blue, Summer dress - scarab\\",\\"1, 1\\",\\"ZO0638206382, ZO0038800388\\",\\"0, 0\\",\\"7.988, 33\\",\\"7.988, 33\\",\\"0, 0\\",\\"ZO0638206382, ZO0038800388\\",\\"40.969\\",\\"40.969\\",2,2,order,brigitte", + "KQMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Abd,Abd,\\"Abd Mccarthy\\",\\"Abd Mccarthy\\",MALE,52,Mccarthy,Mccarthy,\\"(empty)\\",Saturday,5,\\"abd@mccarthy-family.zzz\\",Cairo,Africa,EG,\\"{", + " \\"\\"coordinates\\"\\": [", + " 31.3,", + " 30.1", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"Cairo Governorate\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jul 12, 2019 @ 00:00:00.000\\",590937,\\"sold_product_590937_14438, sold_product_590937_23607\\",\\"sold_product_590937_14438, sold_product_590937_23607\\",\\"28.984, 12.992\\",\\"28.984, 12.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"13.344, 6.109\\",\\"28.984, 12.992\\",\\"14,438, 23,607\\",\\"Jumper - dark grey multicolor, Print T-shirt - black\\",\\"Jumper - dark grey multicolor, Print T-shirt - black\\",\\"1, 1\\",\\"ZO0297602976, ZO0565605656\\",\\"0, 0\\",\\"28.984, 12.992\\",\\"28.984, 12.992\\",\\"0, 0\\",\\"ZO0297602976, ZO0565605656\\",\\"41.969\\",\\"41.969\\",2,2,order,abd", + "KgMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Robert,Robert,\\"Robert Banks\\",\\"Robert Banks\\",MALE,29,Banks,Banks,\\"(empty)\\",Saturday,5,\\"robert@banks-family.zzz\\",\\"-\\",Asia,SA,\\"{", + " \\"\\"coordinates\\"\\": [", + " 45,", + " 25", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"-\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jul 12, 2019 @ 00:00:00.000\\",590976,\\"sold_product_590976_21270, sold_product_590976_13220\\",\\"sold_product_590976_21270, sold_product_590976_13220\\",\\"11.992, 24.984\\",\\"11.992, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"6.23, 12.25\\",\\"11.992, 24.984\\",\\"21,270, 13,220\\",\\"Print T-shirt - white, Chinos - dark grey\\",\\"Print T-shirt - white, Chinos - dark grey\\",\\"1, 1\\",\\"ZO0561405614, ZO0281602816\\",\\"0, 0\\",\\"11.992, 24.984\\",\\"11.992, 24.984\\",\\"0, 0\\",\\"ZO0561405614, ZO0281602816\\",\\"36.969\\",\\"36.969\\",2,2,order,robert", + "awMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Jim,Jim,\\"Jim Hansen\\",\\"Jim Hansen\\",MALE,41,Hansen,Hansen,\\"(empty)\\",Saturday,5,\\"jim@hansen-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{", + " \\"\\"coordinates\\"\\": [", + " -74,", + " 40.8", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"New York\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jul 12, 2019 @ 00:00:00.000\\",591636,\\"sold_product_591636_1295, sold_product_591636_6498\\",\\"sold_product_591636_1295, sold_product_591636_6498\\",\\"50, 50\\",\\"50, 50\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"25, 27.484\\",\\"50, 50\\",\\"1,295, 6,498\\",\\"Smart lace-ups - dark brown, Suit jacket - dark blue\\",\\"Smart lace-ups - dark brown, Suit jacket - dark blue\\",\\"1, 1\\",\\"ZO0385003850, ZO0408604086\\",\\"0, 0\\",\\"50, 50\\",\\"50, 50\\",\\"0, 0\\",\\"ZO0385003850, ZO0408604086\\",100,100,2,2,order,jim", + "eQMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes\\",\\"Men's Shoes\\",EUR,Thad,Thad,\\"Thad Lamb\\",\\"Thad Lamb\\",MALE,30,Lamb,Lamb,\\"(empty)\\",Saturday,5,\\"thad@lamb-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{", + " \\"\\"coordinates\\"\\": [", + " -74,", + " 40.8", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"New York\\",Elitelligence,Elitelligence,\\"Jul 12, 2019 @ 00:00:00.000\\",591539,\\"sold_product_591539_15260, sold_product_591539_14221\\",\\"sold_product_591539_15260, sold_product_591539_14221\\",\\"20.984, 18.984\\",\\"20.984, 18.984\\",\\"Men's Shoes, Men's Shoes\\",\\"Men's Shoes, Men's Shoes\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"10.078, 10.25\\",\\"20.984, 18.984\\",\\"15,260, 14,221\\",\\"Casual lace-ups - dark blue, Trainers - navy\\",\\"Casual lace-ups - dark blue, Trainers - navy\\",\\"1, 1\\",\\"ZO0505605056, ZO0513605136\\",\\"0, 0\\",\\"20.984, 18.984\\",\\"20.984, 18.984\\",\\"0, 0\\",\\"ZO0505605056, ZO0513605136\\",\\"39.969\\",\\"39.969\\",2,2,order,thad", + "egMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Jim,Jim,\\"Jim Bryant\\",\\"Jim Bryant\\",MALE,41,Bryant,Bryant,\\"(empty)\\",Saturday,5,\\"jim@bryant-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{", + " \\"\\"coordinates\\"\\": [", + " -74,", + " 40.8", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"New York\\",Oceanavigations,Oceanavigations,\\"Jul 12, 2019 @ 00:00:00.000\\",591598,\\"sold_product_591598_20597, sold_product_591598_2774\\",\\"sold_product_591598_20597, sold_product_591598_2774\\",\\"10.992, 85\\",\\"10.992, 85\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Oceanavigations\\",\\"Oceanavigations, Oceanavigations\\",\\"5.93, 45.875\\",\\"10.992, 85\\",\\"20,597, 2,774\\",\\"Tie - brown/black , Classic coat - black\\",\\"Tie - brown/black , Classic coat - black\\",\\"1, 1\\",\\"ZO0276702767, ZO0291702917\\",\\"0, 0\\",\\"10.992, 85\\",\\"10.992, 85\\",\\"0, 0\\",\\"ZO0276702767, ZO0291702917\\",96,96,2,2,order,jim", + "fwMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Betty,Betty,\\"Betty Roberson\\",\\"Betty Roberson\\",FEMALE,44,Roberson,Roberson,\\"(empty)\\",Saturday,5,\\"betty@roberson-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{", + " \\"\\"coordinates\\"\\": [", + " -74,", + " 40.7", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"New York\\",\\"Tigress Enterprises\\",\\"Tigress Enterprises\\",\\"Jul 12, 2019 @ 00:00:00.000\\",590927,\\"sold_product_590927_15436, sold_product_590927_22598\\",\\"sold_product_590927_15436, sold_product_590927_22598\\",\\"28.984, 28.984\\",\\"28.984, 28.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"14.781, 14.781\\",\\"28.984, 28.984\\",\\"15,436, 22,598\\",\\"Jersey dress - anthra/black, Shift dress - black\\",\\"Jersey dress - anthra/black, Shift dress - black\\",\\"1, 1\\",\\"ZO0046600466, ZO0050800508\\",\\"0, 0\\",\\"28.984, 28.984\\",\\"28.984, 28.984\\",\\"0, 0\\",\\"ZO0046600466, ZO0050800508\\",\\"57.969\\",\\"57.969\\",2,2,order,betty", + "gAMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Robbie,Robbie,\\"Robbie Hubbard\\",\\"Robbie Hubbard\\",MALE,48,Hubbard,Hubbard,\\"(empty)\\",Saturday,5,\\"robbie@hubbard-family.zzz\\",Dubai,Asia,AE,\\"{", + " \\"\\"coordinates\\"\\": [", + " 55.3,", + " 25.3", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",Dubai,\\"Low Tide Media, Angeldale\\",\\"Low Tide Media, Angeldale\\",\\"Jul 12, 2019 @ 00:00:00.000\\",590970,\\"sold_product_590970_11228, sold_product_590970_12060\\",\\"sold_product_590970_11228, sold_product_590970_12060\\",\\"24.984, 50\\",\\"24.984, 50\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Angeldale\\",\\"Low Tide Media, Angeldale\\",\\"12, 25.984\\",\\"24.984, 50\\",\\"11,228, 12,060\\",\\"Tracksuit top - offwhite multicolor, Lace-ups - black/red\\",\\"Tracksuit top - offwhite multicolor, Lace-ups - black/red\\",\\"1, 1\\",\\"ZO0455604556, ZO0680806808\\",\\"0, 0\\",\\"24.984, 50\\",\\"24.984, 50\\",\\"0, 0\\",\\"ZO0455604556, ZO0680806808\\",75,75,2,2,order,robbie", + "6AMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Abigail,Abigail,\\"Abigail Willis\\",\\"Abigail Willis\\",FEMALE,46,Willis,Willis,\\"(empty)\\",Saturday,5,\\"abigail@willis-family.zzz\\",Birmingham,Europe,GB,\\"{", + " \\"\\"coordinates\\"\\": [", + " -1.9,", + " 52.5", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",Birmingham,\\"Tigress Enterprises MAMA, Angeldale\\",\\"Tigress Enterprises MAMA, Angeldale\\",\\"Jul 12, 2019 @ 00:00:00.000\\",591299,\\"sold_product_591299_19895, sold_product_591299_5787\\",\\"sold_product_591299_19895, sold_product_591299_5787\\",\\"33, 85\\",\\"33, 85\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises MAMA, Angeldale\\",\\"Tigress Enterprises MAMA, Angeldale\\",\\"17.156, 44.188\\",\\"33, 85\\",\\"19,895, 5,787\\",\\"Summer dress - black/offwhite, Ankle boots - black\\",\\"Summer dress - black/offwhite, Ankle boots - black\\",\\"1, 1\\",\\"ZO0229002290, ZO0674406744\\",\\"0, 0\\",\\"33, 85\\",\\"33, 85\\",\\"0, 0\\",\\"ZO0229002290, ZO0674406744\\",118,118,2,2,order,abigail", + "6QMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Boris,Boris,\\"Boris Greene\\",\\"Boris Greene\\",MALE,36,Greene,Greene,\\"(empty)\\",Saturday,5,\\"boris@greene-family.zzz\\",\\"-\\",Europe,GB,\\"{", + " \\"\\"coordinates\\"\\": [", + " -0.1,", + " 51.5", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"-\\",\\"Elitelligence, Spritechnologies\\",\\"Elitelligence, Spritechnologies\\",\\"Jul 12, 2019 @ 00:00:00.000\\",591133,\\"sold_product_591133_19496, sold_product_591133_20143\\",\\"sold_product_591133_19496, sold_product_591133_20143\\",\\"24.984, 10.992\\",\\"24.984, 10.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Spritechnologies\\",\\"Elitelligence, Spritechnologies\\",\\"12.742, 5.711\\",\\"24.984, 10.992\\",\\"19,496, 20,143\\",\\"Tracksuit bottoms - mottled grey, Sports shirt - black\\",\\"Tracksuit bottoms - mottled grey, Sports shirt - black\\",\\"1, 1\\",\\"ZO0529905299, ZO0617006170\\",\\"0, 0\\",\\"24.984, 10.992\\",\\"24.984, 10.992\\",\\"0, 0\\",\\"ZO0529905299, ZO0617006170\\",\\"35.969\\",\\"35.969\\",2,2,order,boris", + "6gMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Jackson,Jackson,\\"Jackson Conner\\",\\"Jackson Conner\\",MALE,13,Conner,Conner,\\"(empty)\\",Saturday,5,\\"jackson@conner-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{", + " \\"\\"coordinates\\"\\": [", + " -118.2,", + " 34.1", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",California,\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jul 12, 2019 @ 00:00:00.000\\",591175,\\"sold_product_591175_23703, sold_product_591175_11555\\",\\"sold_product_591175_23703, sold_product_591175_11555\\",\\"28.984, 65\\",\\"28.984, 65\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"13.922, 31.844\\",\\"28.984, 65\\",\\"23,703, 11,555\\",\\"Sweatshirt - grey multicolor, Short coat - dark blue\\",\\"Sweatshirt - grey multicolor, Short coat - dark blue\\",\\"1, 1\\",\\"ZO0299402994, ZO0433504335\\",\\"0, 0\\",\\"28.984, 65\\",\\"28.984, 65\\",\\"0, 0\\",\\"ZO0299402994, ZO0433504335\\",94,94,2,2,order,jackson", + "7QMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Yuri,Yuri,\\"Yuri Cross\\",\\"Yuri Cross\\",MALE,21,Cross,Cross,\\"(empty)\\",Saturday,5,\\"yuri@cross-family.zzz\\",Cannes,Europe,FR,\\"{", + " \\"\\"coordinates\\"\\": [", + " 7,", + " 43.6", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"Alpes-Maritimes\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jul 12, 2019 @ 00:00:00.000\\",591297,\\"sold_product_591297_21234, sold_product_591297_17466\\",\\"sold_product_591297_21234, sold_product_591297_17466\\",\\"75, 28.984\\",\\"75, 28.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"36.75, 13.344\\",\\"75, 28.984\\",\\"21,234, 17,466\\",\\"Lace-up boots - brown, Jumper - multicoloured\\",\\"Lace-up boots - brown, Jumper - multicoloured\\",\\"1, 1\\",\\"ZO0257502575, ZO0451704517\\",\\"0, 0\\",\\"75, 28.984\\",\\"75, 28.984\\",\\"0, 0\\",\\"ZO0257502575, ZO0451704517\\",104,104,2,2,order,yuri", + "7gMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Irwin,Irwin,\\"Irwin Ramsey\\",\\"Irwin Ramsey\\",MALE,14,Ramsey,Ramsey,\\"(empty)\\",Saturday,5,\\"irwin@ramsey-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{", +] `; -exports[`discover Discover CSV Export Generate CSV: new search generates a report from a new search with data: discover:searchFieldsFromSource 1`] = ` -"\\"_id\\",\\"_index\\",\\"_score\\",\\"_type\\",category,\\"category.keyword\\",currency,\\"customer_first_name\\",\\"customer_first_name.keyword\\",\\"customer_full_name\\",\\"customer_full_name.keyword\\",\\"customer_gender\\",\\"customer_id\\",\\"customer_last_name\\",\\"customer_last_name.keyword\\",\\"customer_phone\\",\\"day_of_week\\",\\"day_of_week_i\\",email,\\"geoip.city_name\\",\\"geoip.continent_name\\",\\"geoip.country_iso_code\\",\\"geoip.location\\",\\"geoip.region_name\\",manufacturer,\\"manufacturer.keyword\\",\\"order_date\\",\\"order_id\\",\\"products._id\\",\\"products._id.keyword\\",\\"products.base_price\\",\\"products.base_unit_price\\",\\"products.category\\",\\"products.category.keyword\\",\\"products.created_on\\",\\"products.discount_amount\\",\\"products.discount_percentage\\",\\"products.manufacturer\\",\\"products.manufacturer.keyword\\",\\"products.min_price\\",\\"products.price\\",\\"products.product_id\\",\\"products.product_name\\",\\"products.product_name.keyword\\",\\"products.quantity\\",\\"products.sku\\",\\"products.tax_amount\\",\\"products.taxful_price\\",\\"products.taxless_price\\",\\"products.unit_discount_amount\\",sku,\\"taxful_total_price\\",\\"taxless_total_price\\",\\"total_quantity\\",\\"total_unique_products\\",type,user -3AMtOW0BH63Xcmy432DJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Boone\\",\\"Sultan Al Boone\\",MALE,19,Boone,Boone,\\"(empty)\\",Saturday,5,\\"sultan al@boone-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ - \\"\\"coordinates\\"\\": [ - 54.4, - 24.5 - ], - \\"\\"type\\"\\": \\"\\"Point\\"\\" -}\\",\\"Abu Dhabi\\",\\"Angeldale, Oceanavigations, Microlutions\\",\\"Angeldale, Oceanavigations, Microlutions\\",\\"Jul 12, 2019 @ 00:00:00.000\\",716724,\\"sold_product_716724_23975, sold_product_716724_6338, sold_product_716724_14116, sold_product_716724_15290\\",\\"sold_product_716724_23975, sold_product_716724_6338, sold_product_716724_14116, sold_product_716724_15290\\",\\"80, 60, 21.984, 11.992\\",\\"80, 60, 21.984, 11.992\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Angeldale, Oceanavigations, Microlutions, Oceanavigations\\",\\"Angeldale, Oceanavigations, Microlutions, Oceanavigations\\",\\"42.375, 33, 10.344, 6.109\\",\\"80, 60, 21.984, 11.992\\",\\"23,975, 6,338, 14,116, 15,290\\",\\"Winter boots - cognac, Trenchcoat - black, Watch - black, Hat - light grey multicolor\\",\\"Winter boots - cognac, Trenchcoat - black, Watch - black, Hat - light grey multicolor\\",\\"1, 1, 1, 1\\",\\"ZO0687606876, ZO0290502905, ZO0126701267, ZO0308503085\\",\\"0, 0, 0, 0\\",\\"80, 60, 21.984, 11.992\\",\\"80, 60, 21.984, 11.992\\",\\"0, 0, 0, 0\\",\\"ZO0687606876, ZO0290502905, ZO0126701267, ZO0308503085\\",174,174,4,4,order,sultan -" +exports[`discover Discover CSV Export Generate CSV: new search generates a report from a new search with data: discover:searchFieldsFromSource 2`] = ` +Array [ + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",Dubai,\\"Tigress Enterprises MAMA, Pyramidustries, Angeldale\\",\\"Tigress Enterprises MAMA, Pyramidustries, Angeldale\\",\\"Jun 12, 2019 @ 00:00:00.000\\",731056,\\"sold_product_731056_22440, sold_product_731056_13969, sold_product_731056_20215, sold_product_731056_23401\\",\\"sold_product_731056_22440, sold_product_731056_13969, sold_product_731056_20215, sold_product_731056_23401\\",\\"33, 20.984, 75, 13.992\\",\\"33, 20.984, 75, 13.992\\",\\"Women's Clothing, Women's Accessories, Women's Shoes, Women's Accessories\\",\\"Women's Clothing, Women's Accessories, Women's Shoes, Women's Accessories\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Tigress Enterprises MAMA, Pyramidustries, Angeldale, Pyramidustries\\",\\"Tigress Enterprises MAMA, Pyramidustries, Angeldale, Pyramidustries\\",\\"15.18, 10.289, 39, 6.719\\",\\"33, 20.984, 75, 13.992\\",\\"22,440, 13,969, 20,215, 23,401\\",\\"Jersey dress - fan/black, Across body bag - Blue Violety, Boots - black, Hat - nude\\",\\"Jersey dress - fan/black, Across body bag - Blue Violety, Boots - black, Hat - nude\\",\\"1, 1, 1, 1\\",\\"ZO0230102301, ZO0210602106, ZO0679006790, ZO0187301873\\",\\"0, 0, 0, 0\\",\\"33, 20.984, 75, 13.992\\",\\"33, 20.984, 75, 13.992\\",\\"0, 0, 0, 0\\",\\"ZO0230102301, ZO0210602106, ZO0679006790, ZO0187301873\\",143,143,4,4,order,rabbia", + "4AMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Yahya,Yahya,\\"Yahya Pope\\",\\"Yahya Pope\\",MALE,23,Pope,Pope,\\"(empty)\\",Thursday,3,\\"yahya@pope-family.zzz\\",Marrakesh,Africa,MA,\\"{", + " \\"\\"coordinates\\"\\": [", + " -8,", + " 31.6", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"Marrakech-Tensift-Al Haouz\\",Elitelligence,Elitelligence,\\"Jun 12, 2019 @ 00:00:00.000\\",551556,\\"sold_product_551556_1583, sold_product_551556_11991\\",\\"sold_product_551556_1583, sold_product_551556_11991\\",\\"33, 7.988\\",\\"33, 7.988\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"17.813, 3.76\\",\\"33, 7.988\\",\\"1,583, 11,991\\",\\"High-top trainers - black, Basic T-shirt - black\\",\\"High-top trainers - black, Basic T-shirt - black\\",\\"1, 1\\",\\"ZO0512405124, ZO0551405514\\",\\"0, 0\\",\\"33, 7.988\\",\\"33, 7.988\\",\\"0, 0\\",\\"ZO0512405124, ZO0551405514\\",\\"40.969\\",\\"40.969\\",2,2,order,yahya", + "4QMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,George,George,\\"George Morrison\\",\\"George Morrison\\",MALE,32,Morrison,Morrison,\\"(empty)\\",Thursday,3,\\"george@morrison-family.zzz\\",Birmingham,Europe,GB,\\"{", + " \\"\\"coordinates\\"\\": [", + " -1.9,", + " 52.5", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",Birmingham,\\"Spritechnologies, Elitelligence\\",\\"Spritechnologies, Elitelligence\\",\\"Jun 12, 2019 @ 00:00:00.000\\",551609,\\"sold_product_551609_3728, sold_product_551609_23435\\",\\"sold_product_551609_3728, sold_product_551609_23435\\",\\"20.984, 20.984\\",\\"20.984, 20.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spritechnologies, Elitelligence\\",\\"Spritechnologies, Elitelligence\\",\\"10.703, 10.289\\",\\"20.984, 20.984\\",\\"3,728, 23,435\\",\\"Base layer - khaki, Shirt - red\\",\\"Base layer - khaki, Shirt - red\\",\\"1, 1\\",\\"ZO0630606306, ZO0524705247\\",\\"0, 0\\",\\"20.984, 20.984\\",\\"20.984, 20.984\\",\\"0, 0\\",\\"ZO0630606306, ZO0524705247\\",\\"41.969\\",\\"41.969\\",2,2,order,george", + "\\"_wMtOW0BH63Xcmy453H9\\",ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Yuri,Yuri,\\"Yuri Morris\\",\\"Yuri Morris\\",MALE,21,Morris,Morris,\\"(empty)\\",Thursday,3,\\"yuri@morris-family.zzz\\",Cannes,Europe,FR,\\"{", + " \\"\\"coordinates\\"\\": [", + " 7,", + " 43.6", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"Alpes-Maritimes\\",\\"Angeldale, Low Tide Media\\",\\"Angeldale, Low Tide Media\\",\\"Jun 12, 2019 @ 00:00:00.000\\",550473,\\"sold_product_550473_20161, sold_product_550473_6991\\",\\"sold_product_550473_20161, sold_product_550473_6991\\",\\"65, 38\\",\\"65, 38\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Low Tide Media\\",\\"Angeldale, Low Tide Media\\",\\"30.547, 20.125\\",\\"65, 38\\",\\"20,161, 6,991\\",\\"Lace-up boots - dark tan, Jumper - dark blue\\",\\"Lace-up boots - dark tan, Jumper - dark blue\\",\\"1, 1\\",\\"ZO0688006880, ZO0450504505\\",\\"0, 0\\",\\"65, 38\\",\\"65, 38\\",\\"0, 0\\",\\"ZO0688006880, ZO0450504505\\",103,103,2,2,order,yuri", + "AAMtOW0BH63Xcmy453L9,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",EUR,Brigitte,Brigitte,\\"Brigitte Long\\",\\"Brigitte Long\\",FEMALE,12,Long,Long,\\"(empty)\\",Thursday,3,\\"brigitte@long-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{", + " \\"\\"coordinates\\"\\": [", + " -74,", + " 40.8", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"New York\\",Pyramidustries,Pyramidustries,\\"Jun 12, 2019 @ 00:00:00.000\\",550542,\\"sold_product_550542_11839, sold_product_550542_21052\\",\\"sold_product_550542_11839, sold_product_550542_21052\\",\\"24.984, 9.992\\",\\"24.984, 9.992\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries\\",\\"Pyramidustries, Pyramidustries\\",\\"12.992, 4.898\\",\\"24.984, 9.992\\",\\"11,839, 21,052\\",\\"High heeled sandals - cognac, Snood - black/red/green/yellow\\",\\"High heeled sandals - cognac, Snood - black/red/green/yellow\\",\\"1, 1\\",\\"ZO0137301373, ZO0192601926\\",\\"0, 0\\",\\"24.984, 9.992\\",\\"24.984, 9.992\\",\\"0, 0\\",\\"ZO0137301373, ZO0192601926\\",\\"34.969\\",\\"34.969\\",2,2,order,brigitte", + "AQMtOW0BH63Xcmy453L9,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,rania,rania,\\"rania Barnes\\",\\"rania Barnes\\",FEMALE,24,Barnes,Barnes,\\"(empty)\\",Thursday,3,\\"rania@barnes-family.zzz\\",Cairo,Africa,EG,\\"{", + " \\"\\"coordinates\\"\\": [", + " 31.3,", + " 30.1", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"Cairo Governorate\\",\\"Pyramidustries, Pyramidustries active\\",\\"Pyramidustries, Pyramidustries active\\",\\"Jun 12, 2019 @ 00:00:00.000\\",550580,\\"sold_product_550580_20312, sold_product_550580_10155\\",\\"sold_product_550580_20312, sold_product_550580_10155\\",\\"50, 16.984\\",\\"50, 16.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries active\\",\\"Pyramidustries, Pyramidustries active\\",\\"24, 8.656\\",\\"50, 16.984\\",\\"20,312, 10,155\\",\\"Lace-up boots - cognac, Sports shirt - black\\",\\"Lace-up boots - cognac, Sports shirt - black\\",\\"1, 1\\",\\"ZO0144801448, ZO0219602196\\",\\"0, 0\\",\\"50, 16.984\\",\\"50, 16.984\\",\\"0, 0\\",\\"ZO0144801448, ZO0219602196\\",67,67,2,2,order,rani", + "BwMtOW0BH63Xcmy453L9,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,\\"Abdulraheem Al\\",\\"Abdulraheem Al\\",\\"Abdulraheem Al Tyler\\",\\"Abdulraheem Al Tyler\\",MALE,33,Tyler,Tyler,\\"(empty)\\",Thursday,3,\\"abdulraheem al@tyler-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{", + " \\"\\"coordinates\\"\\": [", + " 54.4,", + " 24.5", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"Abu Dhabi\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 12, 2019 @ 00:00:00.000\\",551324,\\"sold_product_551324_14742, sold_product_551324_19089\\",\\"sold_product_551324_14742, sold_product_551324_19089\\",\\"33, 12.992\\",\\"33, 12.992\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"15.18, 7.012\\",\\"33, 12.992\\",\\"14,742, 19,089\\",\\"Laptop bag - brown, Vest - white/dark blue\\",\\"Laptop bag - brown, Vest - white/dark blue\\",\\"1, 1\\",\\"ZO0316803168, ZO0566905669\\",\\"0, 0\\",\\"33, 12.992\\",\\"33, 12.992\\",\\"0, 0\\",\\"ZO0316803168, ZO0566905669\\",\\"45.969\\",\\"45.969\\",2,2,order,abdulraheem", + "mwMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Marwan,Marwan,\\"Marwan James\\",\\"Marwan James\\",MALE,51,James,James,\\"(empty)\\",Thursday,3,\\"marwan@james-family.zzz\\",Marrakesh,Africa,MA,\\"{", + " \\"\\"coordinates\\"\\": [", + " -8,", + " 31.6", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 12, 2019 @ 00:00:00.000\\",551355,\\"sold_product_551355_21057, sold_product_551355_23405\\",\\"sold_product_551355_21057, sold_product_551355_23405\\",\\"13.992, 11.992\\",\\"13.992, 11.992\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"6.859, 5.762\\",\\"13.992, 11.992\\",\\"21,057, 23,405\\",\\"Scarf - navy/grey, Basic T-shirt - blue\\",\\"Scarf - navy/grey, Basic T-shirt - blue\\",\\"1, 1\\",\\"ZO0313403134, ZO0561205612\\",\\"0, 0\\",\\"13.992, 11.992\\",\\"13.992, 11.992\\",\\"0, 0\\",\\"ZO0313403134, ZO0561205612\\",\\"25.984\\",\\"25.984\\",2,2,order,marwan", + "twMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",EUR,Sonya,Sonya,\\"Sonya Mccormick\\",\\"Sonya Mccormick\\",FEMALE,28,Mccormick,Mccormick,\\"(empty)\\",Thursday,3,\\"sonya@mccormick-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{", + " \\"\\"coordinates\\"\\": [", + " -74.1,", + " 4.6", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"Bogota D.C.\\",Pyramidustries,Pyramidustries,\\"Jun 12, 2019 @ 00:00:00.000\\",550957,\\"sold_product_550957_22980, sold_product_550957_19828\\",\\"sold_product_550957_22980, sold_product_550957_19828\\",\\"24.984, 16.984\\",\\"24.984, 16.984\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries\\",\\"Pyramidustries, Pyramidustries\\",\\"11.5, 9.172\\",\\"24.984, 16.984\\",\\"22,980, 19,828\\",\\"Classic heels - petrol, Watch - nude\\",\\"Classic heels - petrol, Watch - nude\\",\\"1, 1\\",\\"ZO0133101331, ZO0189401894\\",\\"0, 0\\",\\"24.984, 16.984\\",\\"24.984, 16.984\\",\\"0, 0\\",\\"ZO0133101331, ZO0189401894\\",\\"41.969\\",\\"41.969\\",2,2,order,sonya", + "7AMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Kamal,Kamal,\\"Kamal Hansen\\",\\"Kamal Hansen\\",MALE,39,Hansen,Hansen,\\"(empty)\\",Thursday,3,\\"kamal@hansen-family.zzz\\",Istanbul,Asia,TR,\\"{", + " \\"\\"coordinates\\"\\": [", + " 29,", + " 41", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",Istanbul,\\"Low Tide Media, Spritechnologies\\",\\"Low Tide Media, Spritechnologies\\",\\"Jun 12, 2019 @ 00:00:00.000\\",551154,\\"sold_product_551154_13181, sold_product_551154_23660\\",\\"sold_product_551154_13181, sold_product_551154_23660\\",\\"42, 11.992\\",\\"42, 11.992\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Spritechnologies\\",\\"Low Tide Media, Spritechnologies\\",\\"21, 6.109\\",\\"42, 11.992\\",\\"13,181, 23,660\\",\\"Briefcase - navy, Sports shirt - Seashell\\",\\"Briefcase - navy, Sports shirt - Seashell\\",\\"1, 1\\",\\"ZO0466704667, ZO0617306173\\",\\"0, 0\\",\\"42, 11.992\\",\\"42, 11.992\\",\\"0, 0\\",\\"ZO0466704667, ZO0617306173\\",\\"53.969\\",\\"53.969\\",2,2,order,kamal", + "7QMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Elyssa,Elyssa,\\"Elyssa Graves\\",\\"Elyssa Graves\\",FEMALE,27,Graves,Graves,\\"(empty)\\",Thursday,3,\\"elyssa@graves-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{", + " \\"\\"coordinates\\"\\": [", + " -74,", + " 40.8", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"New York\\",Pyramidustries,Pyramidustries,\\"Jun 12, 2019 @ 00:00:00.000\\",551204,\\"sold_product_551204_16805, sold_product_551204_12896\\",\\"sold_product_551204_16805, sold_product_551204_12896\\",\\"13.992, 20.984\\",\\"13.992, 20.984\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries\\",\\"Pyramidustries, Pyramidustries\\",\\"7.129, 9.656\\",\\"13.992, 20.984\\",\\"16,805, 12,896\\",\\"Bustier - white, Across body bag - cognac\\",\\"Bustier - white, Across body bag - cognac\\",\\"1, 1\\",\\"ZO0212602126, ZO0200702007\\",\\"0, 0\\",\\"13.992, 20.984\\",\\"13.992, 20.984\\",\\"0, 0\\",\\"ZO0212602126, ZO0200702007\\",\\"34.969\\",\\"34.969\\",2,2,order,elyssa", + "7gMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Pia,Pia,\\"Pia Rose\\",\\"Pia Rose\\",FEMALE,45,Rose,Rose,\\"(empty)\\",Thursday,3,\\"pia@rose-family.zzz\\",Cannes,Europe,FR,\\"{", + " \\"\\"coordinates\\"\\": [", + " 7,", + " 43.6", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"Alpes-Maritimes\\",\\"Oceanavigations, Primemaster\\",\\"Oceanavigations, Primemaster\\",\\"Jun 12, 2019 @ 00:00:00.000\\",550466,\\"sold_product_550466_19198, sold_product_550466_16409\\",\\"sold_product_550466_19198, sold_product_550466_16409\\",\\"50, 100\\",\\"50, 100\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Primemaster\\",\\"Oceanavigations, Primemaster\\",\\"24, 52\\",\\"50, 100\\",\\"19,198, 16,409\\",\\"Summer dress - grey, Boots - passion\\",\\"Summer dress - grey, Boots - passion\\",\\"1, 1\\",\\"ZO0260702607, ZO0363203632\\",\\"0, 0\\",\\"50, 100\\",\\"50, 100\\",\\"0, 0\\",\\"ZO0260702607, ZO0363203632\\",150,150,2,2,order,pia", + "7wMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Wagdi,Wagdi,\\"Wagdi Boone\\",\\"Wagdi Boone\\",MALE,15,Boone,Boone,\\"(empty)\\",Thursday,3,\\"wagdi@boone-family.zzz\\",\\"-\\",Asia,SA,\\"{", + " \\"\\"coordinates\\"\\": [", + " 45,", + " 25", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"-\\",Elitelligence,Elitelligence,\\"Jun 12, 2019 @ 00:00:00.000\\",550503,\\"sold_product_550503_13211, sold_product_550503_24369\\",\\"sold_product_550503_13211, sold_product_550503_24369\\",\\"34, 11.992\\",\\"34, 11.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"15.641, 6.109\\",\\"34, 11.992\\",\\"13,211, 24,369\\",\\"Tracksuit top - black, Print T-shirt - khaki\\",\\"Tracksuit top - black, Print T-shirt - khaki\\",\\"1, 1\\",\\"ZO0587505875, ZO0566405664\\",\\"0, 0\\",\\"34, 11.992\\",\\"34, 11.992\\",\\"0, 0\\",\\"ZO0587505875, ZO0566405664\\",\\"45.969\\",\\"45.969\\",2,2,order,wagdi", + "8AMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",EUR,Elyssa,Elyssa,\\"Elyssa Hale\\",\\"Elyssa Hale\\",FEMALE,27,Hale,Hale,\\"(empty)\\",Thursday,3,\\"elyssa@hale-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{", + " \\"\\"coordinates\\"\\": [", + " -74,", + " 40.8", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",\\"New York\\",\\"Angeldale, Oceanavigations\\",\\"Angeldale, Oceanavigations\\",\\"Jun 12, 2019 @ 00:00:00.000\\",550538,\\"sold_product_550538_15047, sold_product_550538_18189\\",\\"sold_product_550538_15047, sold_product_550538_18189\\",\\"75, 60\\",\\"75, 60\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Oceanavigations\\",\\"Angeldale, Oceanavigations\\",\\"34.5, 28.797\\",\\"75, 60\\",\\"15,047, 18,189\\",\\"Handbag - black, Ankle boots - grey\\",\\"Handbag - black, Ankle boots - grey\\",\\"1, 1\\",\\"ZO0699406994, ZO0246202462\\",\\"0, 0\\",\\"75, 60\\",\\"75, 60\\",\\"0, 0\\",\\"ZO0699406994, ZO0246202462\\",135,135,2,2,order,elyssa", + "8QMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Jackson,Jackson,\\"Jackson Love\\",\\"Jackson Love\\",MALE,13,Love,Love,\\"(empty)\\",Thursday,3,\\"jackson@love-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{", + " \\"\\"coordinates\\"\\": [", + " -118.2,", + " 34.1", + " ],", + " \\"\\"type\\"\\": \\"\\"Point\\"\\"", + "}\\",California,\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 12, 2019 @ 00:00:00.000\\",550568,\\"sold_product_550568_17210, sold_product_550568_12524\\",\\"sold_product_550568_17210, sold_product_550568_12524\\",\\"50, 24.984\\",\\"50, 24.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"25, 12.492\\",\\"50, 24.984\\",\\"17,210, 12,524\\",\\"Casual lace-ups - navy, Jumper - dark grey multicolor\\",\\"Casual lace-ups - navy, Jumper - dark grey multicolor\\",\\"1, 1\\",\\"ZO0388403884, ZO0447604476\\",\\"0, 0\\",\\"50, 24.984\\",\\"50, 24.984\\",\\"0, 0\\",\\"ZO0388403884, ZO0447604476\\",75,75,2,2,order,jackson", +] `; diff --git a/x-pack/test/functional/apps/discover/feature_controls/discover_security.ts b/x-pack/test/functional/apps/discover/feature_controls/discover_security.ts index 83ad18ed369ae..2010bfd56d2af 100644 --- a/x-pack/test/functional/apps/discover/feature_controls/discover_security.ts +++ b/x-pack/test/functional/apps/discover/feature_controls/discover_security.ts @@ -229,12 +229,6 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { await PageObjects.share.clickShareTopNavButton(); }); - it(`doesn't show CSV reports`, async () => { - await PageObjects.share.clickShareTopNavButton(); - await testSubjects.missingOrFail('sharePanel-CSVReports'); - await PageObjects.share.clickShareTopNavButton(); - }); - it('allows loading a saved query via the saved query management component', async () => { await savedQueryManagementComponent.loadSavedQuery('OKJpgs'); const queryString = await queryBar.getQueryString(); @@ -322,7 +316,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { }); it('Permalinks shows create short-url button', async () => { - await PageObjects.share.clickShareTopNavButton(); + await PageObjects.share.openShareMenuItem('Permalinks'); await PageObjects.share.createShortUrlExistOrFail(); // close the menu await PageObjects.share.clickShareTopNavButton(); diff --git a/x-pack/test/functional/apps/discover/reporting.ts b/x-pack/test/functional/apps/discover/reporting.ts index cb05a59f07917..11a442d3500b5 100644 --- a/x-pack/test/functional/apps/discover/reporting.ts +++ b/x-pack/test/functional/apps/discover/reporting.ts @@ -92,7 +92,16 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { expect(res.status).to.equal(200); expect(res.get('content-type')).to.equal('text/csv; charset=utf-8'); - expectSnapshot(res.text).toMatch(); + + const csvFile = res.text; + const lines = csvFile.trim().split('\n'); + + // verifies the beginning and end of the text + expectSnapshot(lines.slice(0, 100)).toMatch(); + expectSnapshot(lines.slice(-100)).toMatch(); + + expectSnapshot(csvFile.length).toMatchInline(`5093456`); + expectSnapshot(lines.length).toMatchInline(`32726`); }); it('generates a report from a new search with data: discover:searchFieldsFromSource', async () => { @@ -110,7 +119,17 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { expect(res.status).to.equal(200); expect(res.get('content-type')).to.equal('text/csv; charset=utf-8'); - expectSnapshot(res.text).toMatch(); + + const csvFile = res.text; + const lines = csvFile.trim().split('\n'); + + // verifies the beginning and end of the text + expectSnapshot(lines.slice(0, 100)).toMatch(); + expectSnapshot(lines.slice(-100)).toMatch(); + + expectSnapshot(csvFile.length).toMatchInline(`5093456`); + expectSnapshot(lines.length).toMatchInline(`32726`); + await setFieldsFromSource(false); }); @@ -167,8 +186,40 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await setupPage(); await PageObjects.discover.loadSavedSearch('Ecommerce Data'); - const { text } = await getReport(); - expectSnapshot(text).toMatch(); + const { text: csvFile } = await getReport(); + const lines = csvFile.trim().split('\n'); + expectSnapshot(csvFile.length).toMatchInline(`782100`); + expectSnapshot(lines.length).toMatchInline(`4676`); + + // match the beginning and the end of the csv file contents + expectSnapshot(lines.slice(0, 10)).toMatchInline(` + Array [ + "\\"order_date\\",category,currency,\\"customer_id\\",\\"order_id\\",\\"day_of_week_i\\",\\"products.created_on\\",sku", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",EUR,19,716724,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0687606876, ZO0290502905, ZO0126701267, ZO0308503085\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Shoes, Women's Clothing\\",EUR,45,591503,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0006400064, ZO0150601506\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing\\",EUR,12,591709,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0638206382, ZO0038800388\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,52,590937,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0297602976, ZO0565605656\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,29,590976,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0561405614, ZO0281602816\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,41,591636,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0385003850, ZO0408604086\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes\\",EUR,30,591539,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0505605056, ZO0513605136\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,41,591598,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0276702767, ZO0291702917\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing\\",EUR,44,590927,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0046600466, ZO0050800508\\"", + ] + `); + expectSnapshot(lines.slice(-10)).toMatchInline(` + Array [ + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Women's Shoes, Women's Clothing\\",EUR,24,550580,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0144801448, ZO0219602196\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Accessories, Men's Clothing\\",EUR,33,551324,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0316803168, ZO0566905669\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Accessories, Men's Clothing\\",EUR,51,551355,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0313403134, ZO0561205612\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Women's Shoes, Women's Accessories\\",EUR,28,550957,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0133101331, ZO0189401894\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Accessories, Men's Clothing\\",EUR,39,551154,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0466704667, ZO0617306173\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing, Women's Accessories\\",EUR,27,551204,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0212602126, ZO0200702007\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Women's Clothing, Women's Shoes\\",EUR,45,550466,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0260702607, ZO0363203632\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing\\",EUR,15,550503,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0587505875, ZO0566405664\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Women's Accessories, Women's Shoes\\",EUR,27,550538,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0699406994, ZO0246202462\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,13,550568,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0388403884, ZO0447604476\\"", + ] + `); }); it('generates a report with filtered data', async () => { @@ -176,11 +227,44 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.discover.loadSavedSearch('Ecommerce Data'); // filter and re-save - await filterBar.addFilter('currency', 'is', 'EUR'); + await filterBar.addFilter('category', 'is', `Men's Shoes`); await PageObjects.discover.saveSearch(`Ecommerce Data: EUR Filtered`); // renamed the search - const { text } = await getReport(); - expectSnapshot(text).toMatch(); + const { text: csvFile } = await getReport(); + const lines = csvFile.trim().split('\n'); + expectSnapshot(csvFile.length).toMatchInline(`165557`); + expectSnapshot(lines.length).toMatchInline(`945`); + + // match the beginning and the end of the csv file contents + expectSnapshot(lines.slice(0, 10)).toMatchInline(` + Array [ + "\\"order_date\\",category,currency,\\"customer_id\\",\\"order_id\\",\\"day_of_week_i\\",\\"products.created_on\\",sku", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",EUR,19,716724,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0687606876, ZO0290502905, ZO0126701267, ZO0308503085\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,41,591636,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0385003850, ZO0408604086\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes\\",EUR,30,591539,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0505605056, ZO0513605136\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing, Men's Shoes\\",EUR,48,590970,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0455604556, ZO0680806808\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,21,591297,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0257502575, ZO0451704517\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing, Men's Shoes\\",EUR,4,591148,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0290302903, ZO0513705137\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing, Men's Shoes\\",EUR,14,591562,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0544305443, ZO0108001080\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,30,591411,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0693506935, ZO0532405324\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing, Men's Shoes\\",EUR,38,722629,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0424204242, ZO0403504035, ZO0506705067, ZO0395603956\\"", + ] + `); + expectSnapshot(lines.slice(-10)).toMatchInline(` + Array [ + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes\\",EUR,37,550425,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0256602566, ZO0516305163\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing, Men's Shoes\\",EUR,52,719265,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0619506195, ZO0297802978, ZO0125001250, ZO0693306933\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,34,550990,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0404404044, ZO0570605706\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,7,550663,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0399703997, ZO0560905609\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes\\",EUR,34,551697,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0387903879, ZO0693206932\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes\\",EUR,9,550784,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0683206832, ZO0687706877\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes\\",EUR,15,550412,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0508905089, ZO0681206812\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,23,551556,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0512405124, ZO0551405514\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,21,550473,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0688006880, ZO0450504505\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,13,550568,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0388403884, ZO0447604476\\"", + ] + `); + await PageObjects.discover.saveSearch(`Ecommerce Data`); // rename the search back for the next test }); @@ -191,8 +275,41 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await setFieldsFromSource(true); await browser.refresh(); - const { text } = await getReport(); - expectSnapshot(text).toMatch(); + const { text: csvFile } = await getReport(); + const lines = csvFile.trim().split('\n'); + expectSnapshot(csvFile.length).toMatchInline(`165753`); + expectSnapshot(lines.length).toMatchInline(`945`); + + // match the beginning and the end of the csv file contents + expectSnapshot(lines.slice(0, 10)).toMatchInline(` + Array [ + "\\"order_date\\",category,currency,\\"customer_id\\",\\"order_id\\",\\"day_of_week_i\\",\\"products.created_on\\",sku", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",EUR,19,716724,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0687606876, ZO0290502905, ZO0126701267, ZO0308503085\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,41,591636,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0385003850, ZO0408604086\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes\\",EUR,30,591539,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0505605056, ZO0513605136\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing, Men's Shoes\\",EUR,48,590970,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0455604556, ZO0680806808\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,21,591297,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0257502575, ZO0451704517\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing, Men's Shoes\\",EUR,4,591148,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0290302903, ZO0513705137\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing, Men's Shoes\\",EUR,14,591562,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0544305443, ZO0108001080\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,30,591411,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0693506935, ZO0532405324\\"", + "\\"Jul 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing, Men's Shoes\\",EUR,38,722629,5,\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"ZO0424204242, ZO0403504035, ZO0506705067, ZO0395603956\\"", + ] + `); + expectSnapshot(lines.slice(-10)).toMatchInline(` + Array [ + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes\\",EUR,37,550425,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0256602566, ZO0516305163\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Clothing, Men's Shoes\\",EUR,52,719265,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0619506195, ZO0297802978, ZO0125001250, ZO0693306933\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,34,550990,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0404404044, ZO0570605706\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,7,550663,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0399703997, ZO0560905609\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes\\",EUR,34,551697,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0387903879, ZO0693206932\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes\\",EUR,9,550784,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0683206832, ZO0687706877\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes\\",EUR,15,550412,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0508905089, ZO0681206812\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,23,551556,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0512405124, ZO0551405514\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,21,550473,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0688006880, ZO0450504505\\"", + "\\"Jun 12, 2019 @ 00:00:00.000\\",\\"Men's Shoes, Men's Clothing\\",EUR,13,550568,3,\\"Dec 1, 2016 @ 00:00:00.000, Dec 1, 2016 @ 00:00:00.000\\",\\"ZO0388403884, ZO0447604476\\"", + ] + `); + await setFieldsFromSource(false); }); }); diff --git a/x-pack/test/functional/apps/lens/lens_reporting.ts b/x-pack/test/functional/apps/lens/lens_reporting.ts index fb4c501baaf80..bd0c003ff3f45 100644 --- a/x-pack/test/functional/apps/lens/lens_reporting.ts +++ b/x-pack/test/functional/apps/lens/lens_reporting.ts @@ -18,18 +18,12 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('lens reporting', () => { before(async () => { await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/lens/reporting'); - await security.role.create('test_reporting_user', { - elasticsearch: { cluster: [], indices: [], run_as: [] }, - kibana: [ - { - spaces: ['*'], - base: [], - feature: { dashboard: ['minimal_read', 'generate_report'] }, - }, - ], - }); await security.testUser.setRoles( - ['test_logstash_reader', 'global_dashboard_read', 'test_reporting_user'], + [ + 'test_logstash_reader', + 'global_dashboard_read', + 'reporting_user', // NOTE: the built-in role granting full reporting access is deprecated. See xpack.reporting.roles.enabled + ], false ); }); diff --git a/x-pack/test/functional/apps/management/feature_controls/management_security.ts b/x-pack/test/functional/apps/management/feature_controls/management_security.ts index edca9b64d4fca..b47afc4cda6e4 100644 --- a/x-pack/test/functional/apps/management/feature_controls/management_security.ts +++ b/x-pack/test/functional/apps/management/feature_controls/management_security.ts @@ -64,7 +64,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { expect(sections).to.have.length(2); expect(sections[0]).to.eql({ sectionId: 'insightsAndAlerting', - sectionLinks: ['triggersActions', 'reporting'], + sectionLinks: ['triggersActions'], }); expect(sections[1]).to.eql({ sectionId: 'kibana', diff --git a/x-pack/test/functional/apps/reporting_management/report_listing.ts b/x-pack/test/functional/apps/reporting_management/report_listing.ts index dee09cf678992..1291fb686d8b1 100644 --- a/x-pack/test/functional/apps/reporting_management/report_listing.ts +++ b/x-pack/test/functional/apps/reporting_management/report_listing.ts @@ -20,17 +20,10 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { describe('Listing of Reports', function () { before(async () => { - await security.role.create('test_reporting_user', { - elasticsearch: { cluster: [], indices: [], run_as: [] }, - kibana: [ - { - spaces: ['*'], - base: [], - feature: { canvas: ['minimal_read', 'generate_report'] }, - }, - ], - }); - await security.testUser.setRoles(['kibana_admin', 'test_reporting_user']); + await security.testUser.setRoles([ + 'kibana_admin', // to access stack management + 'reporting_user', // NOTE: the built-in role granting full reporting access is deprecated. See xpack.reporting.roles.enabled + ]); await esArchiver.load('x-pack/test/functional/es_archives/empty_kibana'); }); diff --git a/x-pack/test/functional/config.js b/x-pack/test/functional/config.js index 0de3df6a04ed8..87a21f815bfd4 100644 --- a/x-pack/test/functional/config.js +++ b/x-pack/test/functional/config.js @@ -83,9 +83,6 @@ export default async function ({ readConfigFile }) { '--server.uuid=5b2de169-2785-441b-ae8c-186a1936b17d', '--xpack.maps.showMapsInspectorAdapter=true', '--xpack.maps.preserveDrawingBuffer=true', - '--xpack.reporting.roles.enabled=false', // use the non-deprecated access control model for Reporting - '--xpack.reporting.queue.pollInterval=3000', // make it explicitly the default - '--xpack.reporting.csv.maxSizeBytes=2850', // small-ish limit for cutting off a 1999 byte report '--usageCollection.maximumWaitTimeForAllCollectorsInS=1', '--xpack.security.encryptionKey="wuGNaIhoMpk5sO4UBxgr3NyW1sFcLgIf"', // server restarts should not invalidate active sessions '--xpack.encryptedSavedObjects.encryptionKey="DkdXazszSCYexXqz4YktBGHCRkV6hyNK"', @@ -240,8 +237,8 @@ export default async function ({ readConfigFile }) { kibana: [ { feature: { - canvas: ['minimal_all'], - visualize: ['minimal_all'], + canvas: ['all'], + visualize: ['all'], }, spaces: ['*'], }, diff --git a/x-pack/test/reporting_api_integration/reporting_and_security.config.ts b/x-pack/test/reporting_api_integration/reporting_and_security.config.ts index 0d1839c7a138f..b5f75ed7d501c 100644 --- a/x-pack/test/reporting_api_integration/reporting_and_security.config.ts +++ b/x-pack/test/reporting_api_integration/reporting_and_security.config.ts @@ -36,6 +36,7 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { `--xpack.reporting.capture.networkPolicy.rules=${JSON.stringify(testPolicyRules)}`, `--xpack.reporting.capture.maxAttempts=1`, `--xpack.reporting.csv.maxSizeBytes=6000`, + '--xpack.reporting.roles.enabled=false', // Reporting access control is implemented by sub-feature application privileges ], }, }; diff --git a/x-pack/test/reporting_functional/reporting_and_security.config.ts b/x-pack/test/reporting_functional/reporting_and_security.config.ts index 536695b4c6dc9..3037aeacde033 100644 --- a/x-pack/test/reporting_functional/reporting_and_security.config.ts +++ b/x-pack/test/reporting_functional/reporting_and_security.config.ts @@ -25,6 +25,7 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { ...functionalConfig.get('kbnTestServer.serverArgs'), `--xpack.reporting.capture.maxAttempts=1`, `--xpack.reporting.csv.maxSizeBytes=6000`, + '--xpack.reporting.roles.enabled=false', // Reporting access control is implemented by sub-feature application privileges ], }, services: { diff --git a/x-pack/test/security_api_integration/tests/anonymous/capabilities.ts b/x-pack/test/security_api_integration/tests/anonymous/capabilities.ts index 47d942db947f5..db9715f7e48d5 100644 --- a/x-pack/test/security_api_integration/tests/anonymous/capabilities.ts +++ b/x-pack/test/security_api_integration/tests/anonymous/capabilities.ts @@ -56,8 +56,6 @@ export default function ({ getService }: FtrProviderContext) { "dashboard": Object { "createNew": false, "createShortUrl": false, - "downloadCsv": false, - "generateScreenshot": false, "saveQuery": false, "show": false, "showWriteControls": false, @@ -65,7 +63,6 @@ export default function ({ getService }: FtrProviderContext) { }, "discover": Object { "createShortUrl": false, - "generateCsv": false, "save": false, "saveQuery": false, "show": false, @@ -79,7 +76,6 @@ export default function ({ getService }: FtrProviderContext) { "visualize": Object { "createShortUrl": false, "delete": false, - "generateScreenshot": false, "save": false, "saveQuery": false, "show": false, @@ -91,8 +87,6 @@ export default function ({ getService }: FtrProviderContext) { "dashboard": Object { "createNew": false, "createShortUrl": false, - "downloadCsv": false, - "generateScreenshot": false, "saveQuery": false, "show": false, "showWriteControls": false, @@ -100,7 +94,6 @@ export default function ({ getService }: FtrProviderContext) { }, "discover": Object { "createShortUrl": false, - "generateCsv": false, "save": false, "saveQuery": false, "show": false, @@ -114,7 +107,6 @@ export default function ({ getService }: FtrProviderContext) { "visualize": Object { "createShortUrl": false, "delete": false, - "generateScreenshot": false, "save": false, "saveQuery": false, "show": false, @@ -126,8 +118,6 @@ export default function ({ getService }: FtrProviderContext) { "dashboard": Object { "createNew": false, "createShortUrl": false, - "downloadCsv": false, - "generateScreenshot": false, "saveQuery": false, "show": false, "showWriteControls": false, @@ -135,7 +125,6 @@ export default function ({ getService }: FtrProviderContext) { }, "discover": Object { "createShortUrl": false, - "generateCsv": false, "save": false, "saveQuery": false, "show": false, @@ -149,7 +138,6 @@ export default function ({ getService }: FtrProviderContext) { "visualize": Object { "createShortUrl": false, "delete": false, - "generateScreenshot": false, "save": false, "saveQuery": false, "show": false, @@ -180,8 +168,6 @@ export default function ({ getService }: FtrProviderContext) { "dashboard": Object { "createNew": false, "createShortUrl": false, - "downloadCsv": false, - "generateScreenshot": false, "saveQuery": false, "show": false, "showWriteControls": false, @@ -189,7 +175,6 @@ export default function ({ getService }: FtrProviderContext) { }, "discover": Object { "createShortUrl": false, - "generateCsv": false, "save": false, "saveQuery": false, "show": false, @@ -203,7 +188,6 @@ export default function ({ getService }: FtrProviderContext) { "visualize": Object { "createShortUrl": false, "delete": false, - "generateScreenshot": false, "save": false, "saveQuery": false, "show": false, @@ -215,8 +199,6 @@ export default function ({ getService }: FtrProviderContext) { "dashboard": Object { "createNew": false, "createShortUrl": false, - "downloadCsv": false, - "generateScreenshot": false, "saveQuery": false, "show": false, "showWriteControls": false, @@ -224,7 +206,6 @@ export default function ({ getService }: FtrProviderContext) { }, "discover": Object { "createShortUrl": false, - "generateCsv": false, "save": false, "saveQuery": false, "show": false, @@ -238,7 +219,6 @@ export default function ({ getService }: FtrProviderContext) { "visualize": Object { "createShortUrl": false, "delete": false, - "generateScreenshot": false, "save": false, "saveQuery": false, "show": false, @@ -250,8 +230,6 @@ export default function ({ getService }: FtrProviderContext) { "dashboard": Object { "createNew": false, "createShortUrl": false, - "downloadCsv": false, - "generateScreenshot": false, "saveQuery": false, "show": false, "showWriteControls": false, @@ -259,7 +237,6 @@ export default function ({ getService }: FtrProviderContext) { }, "discover": Object { "createShortUrl": false, - "generateCsv": false, "save": false, "saveQuery": false, "show": false, @@ -273,7 +250,6 @@ export default function ({ getService }: FtrProviderContext) { "visualize": Object { "createShortUrl": false, "delete": false, - "generateScreenshot": false, "save": false, "saveQuery": false, "show": false, @@ -322,8 +298,6 @@ export default function ({ getService }: FtrProviderContext) { "dashboard": Object { "createNew": false, "createShortUrl": false, - "downloadCsv": false, - "generateScreenshot": false, "saveQuery": false, "show": true, "showWriteControls": false, @@ -331,7 +305,6 @@ export default function ({ getService }: FtrProviderContext) { }, "discover": Object { "createShortUrl": false, - "generateCsv": false, "save": false, "saveQuery": false, "show": true, @@ -345,7 +318,6 @@ export default function ({ getService }: FtrProviderContext) { "visualize": Object { "createShortUrl": false, "delete": false, - "generateScreenshot": false, "save": false, "saveQuery": false, "show": true, @@ -359,8 +331,6 @@ export default function ({ getService }: FtrProviderContext) { "dashboard": Object { "createNew": false, "createShortUrl": false, - "downloadCsv": false, - "generateScreenshot": false, "saveQuery": false, "show": false, "showWriteControls": false, @@ -368,7 +338,6 @@ export default function ({ getService }: FtrProviderContext) { }, "discover": Object { "createShortUrl": false, - "generateCsv": false, "save": false, "saveQuery": false, "show": false, @@ -382,7 +351,6 @@ export default function ({ getService }: FtrProviderContext) { "visualize": Object { "createShortUrl": false, "delete": false, - "generateScreenshot": false, "save": false, "saveQuery": false, "show": false, @@ -396,8 +364,6 @@ export default function ({ getService }: FtrProviderContext) { "dashboard": Object { "createNew": false, "createShortUrl": false, - "downloadCsv": false, - "generateScreenshot": false, "saveQuery": false, "show": false, "showWriteControls": false, @@ -405,7 +371,6 @@ export default function ({ getService }: FtrProviderContext) { }, "discover": Object { "createShortUrl": false, - "generateCsv": false, "save": false, "saveQuery": false, "show": false, @@ -419,7 +384,6 @@ export default function ({ getService }: FtrProviderContext) { "visualize": Object { "createShortUrl": false, "delete": false, - "generateScreenshot": false, "save": false, "saveQuery": false, "show": true, From 544d4f6eaa0b32043645673b184efdff4ee7e9ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yulia=20=C4=8Cech?= <6585477+yuliacech@users.noreply.github.com> Date: Fri, 10 Sep 2021 09:46:14 +0200 Subject: [PATCH 40/57] [Console] Added information about autocomplete definitions (#105112) * [Console] Added information about autocomplete definitions to the README.md * [Console] Updated README.md * Added code review suggestions Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- packages/kbn-spec-to-console/README.md | 5 + src/plugins/console/README.md | 220 ++++++++++++++++++++++++- 2 files changed, 224 insertions(+), 1 deletion(-) diff --git a/packages/kbn-spec-to-console/README.md b/packages/kbn-spec-to-console/README.md index a0e654713f61b..be0ada5e38850 100644 --- a/packages/kbn-spec-to-console/README.md +++ b/packages/kbn-spec-to-console/README.md @@ -29,3 +29,8 @@ yarn spec_to_console -g "/rest-api-spec/src/main/reso * Request bodies * Data fetched at runtime: indices, fields, snapshots, etc * Ad hoc additions + +### Updating the script +When converting query params defined in the REST API specs to console autocompletion definitions, the script relies on a set of known conversion rules specified in [lib/convert/params.js](https://github.com/elastic/kibana/blob/master/packages/kbn-spec-to-console/lib/convert/params.js). +For example, `"keep_on_completion":{"type":"boolean"}` from REST API specs is converted to `"keep_on_completion": "__flag__"` in console autocomplete definitions. +When an unknown parameter type is encountered in REST API specs, the script will throw an `Unexpected type error` and the file [lib/convert/params.js](https://github.com/elastic/kibana/blob/master/packages/kbn-spec-to-console/lib/convert/params.js) needs to be updated by adding a new conversion rule. \ No newline at end of file diff --git a/src/plugins/console/README.md b/src/plugins/console/README.md index e158e82c3702f..3bb58d37d1684 100644 --- a/src/plugins/console/README.md +++ b/src/plugins/console/README.md @@ -8,7 +8,7 @@ Console provides the user with tools for storing and executing requests against ### `load_from` query parameter -The `load_from` query parameter enables opening Console with prepopulated reuqests in two ways: from the elastic.co docs and from within other parts of Kibana. +The `load_from` query parameter enables opening Console with prepopulated requests in two ways: from the elastic.co docs and from within other parts of Kibana. Plugins can open requests in Kibana by assigning this parameter a `data:text/plain` [lz-string](https://pieroxy.net/blog/pages/lz-string/index.html) encoded value. For example, navigating to `/dev_tools#/console?load_from=data:text/plain,OIUQKgBA+gzgpgQwE4GMAWAoA3gIgI4CucSAnjgFy4C2CALulAgDZMVYC+nQA` will prepopulate Console with the following request: @@ -16,3 +16,221 @@ Plugins can open requests in Kibana by assigning this parameter a `data:text/pla GET _search {"query":{"match_all":{}}} ``` + +## Architecture +Console uses Ace editor that is wrapped with [`CoreEditor`](https://github.com/elastic/kibana/blob/master/src/plugins/console/public/types/core_editor.ts), so that if needed it can easily be replaced with another editor, for example Monaco. +The autocomplete logic is located in [`autocomplete`](https://github.com/elastic/kibana/blob/master/src/plugins/console/public/lib/autocomplete) folder. Autocomplete rules are computed by classes in `components` sub-folder. + +## Autocomplete definitions +Kibana users benefit greatly from autocomplete suggestions since not all Elasticsearch APIs can be provided with a corresponding UI. Autocomplete suggestions improve usability of Console for any Elasticsearch API endpoint. +Autocomplete definitions are all created in the form of javascript objects loaded from `json` and `js` files. + +### Creating definitions +The [`generated`](https://github.com/elastic/kibana/blob/master/src/plugins/console/server/lib/spec_definitions/json/generated) folder contains definitions created automatically from Elasticsearch REST API specifications. See this [README](https://github.com/elastic/kibana/blob/master/packages/kbn-spec-to-console/README.md) file for more information on the `spec-to-console` script. + +Manually created override files in the [`overrides`](https://github.com/elastic/kibana/blob/master/src/plugins/console/server/lib/spec_definitions/json/overrides) folder contain fixes for generated files and additions for request body parameters. + +### Top level keys +Use following top level keys in the definitions objects. + +#### `documentation` +Url to Elasticsearch REST API documentation for the endpoint (If the url contains `master` or `current` strings in the path, Console automatically replaces them with the `docLinkVersion` to always redirect the user to the correct version of the documentation). + +#### `methods` +Allowed http methods (`GET`, `POST` etc) + +#### `patterns` +Array of API endpoints that contain variables like `{indices}` or `{fields}`. For example, `{indices}/_rollup/{rollup_index}`. See the [Variables](#variables) section below for more info. + +#### `url_params` +Query url parameters and their values. See the [Query url parameters](#query-url-parameters) section below for more info. An example: +```json +{ + "url_params": { + "format": "", + "local": "__flag__", + "h": [], + "expand_wildcards": [ + "open", + "closed", + "hidden", + "none", + "all" + ] + } +} +``` + +#### `priority` +Value for selecting one autocomplete definition, if several configurations are loaded from the files. The highest number takes precedence. + +#### `data_autocomplete_rules` +Request body parameters and their values. Only used in `overrides` files because REST API specs don't contain any information about body request parameters. +Refer to Elasticsearch REST API documentation when configuring this object. See the [Request body parameters](#request-body-parameters) section below for more info. An example: +```json +{ + "data_autocomplete_rules": { + "text": [], + "field": "{field}", + "analyzer": "", + "explain": { "__one_of": [false, true] } + } +} +``` + +### Query url parameters +Query url parameters are configured in form of an object, for example: +```json +{ + "url_params": { + "local": "__flag__", + "scroll": "", + "expand_wildcards": [ + "open", + "closed", + "hidden", + "none", + "all" + ] + } +} +``` +This object specifies 3 query parameters: `local` (boolean value), `scroll` (no default value) and `expand_wildcards` (with a list of accepted values). + +When the user types in the url path into Console and at least 2 characters after `?`, all matching url parameters are displayed as autocomplete suggestions. In this example, after typing +``` +GET /_some_endpoint?ca +``` +"local" and "expand_wildcards" are displayed as suggestions. +When the user types at least 2 characters after `=`, all matching values for this parameter are displayed as autocomplete suggestions. In this example, after typing +``` +GET /_some_endpoint?expand_wildcards=hi +``` +"hidden" is displayed for autocompletion. + +Variables such as `{indices}` or `{fields}` are accepted both as an url parameter and its value in the configuration object. See the [Variables](#variables) section below for more information. + +### Request body parameters +Request body parameters are configured in form of an object, for example: +```json +{ + "data_autocomplete_rules": { + "index_patterns": [], + "mappings": { "__scope_link": "put_mapping" }, + "version": 0, + "aliases": { + "__template": { + "NAME": {} + } + } + } +} +``` +Object's keys are parameters that will be displayed as autocomplete suggestions when the user starts typing request body. In this example, after typing +``` +PUT /_some_endpoint +{ + " +``` +"index_patterns", "mappings", "version" and "aliases" are displayed as autocomplete suggestions. +Object's values provide default or accepted values of request body parameters. For example, if "version" is selected from the suggestions list, value `0` is automatically filled, resulting in the following request: +``` +PUT /_some_endpoint +{ + "version": 0 +} +``` +Object's values can contain objects for nested configuration because the engine can work recursively while searching for autocomplete suggestions. + +Following values can be used in the configuration object: +#### One value from the list (`__one_of: [..., ...]`) +Use this configuration for a parameter with a list of allowed values, for example types of snapshot repository: +``` +"type": {"__one_of": ["fs", "url", "s3", "hdfs", "azure"]} +``` +The first value in the list will be automatically filled as parameter value. For example, when "type" is selected from the suggestions list, the request body is autofilled as following: +``` +PUT /_some_endpoint +{ + "type": "fs" +} +``` +But if the value `fs` is deleted, all suggestions will be displayed: "fs", "url", "s3", "hdfs" and "azure". +Use `__one_of: [true, false]` for boolean values. + +#### Array of values (`[..., ... ]` or `__any_of: [..., ...]`) +Use this configuration for parameters which accept an array of values, for example actions parameter: +``` +"actions": { "__any_of": [ "add", "remove"]} +``` +When "actions" is selected from the suggestions list, it will be autocompleted with an empty array: +``` +POST /_some_endpoint +{ + "actions": [] +} +``` +All values in the array are displayed as suggestions for parameter values inside the array. + + +#### Default object structure (`__template: {...}`) +Use this configuration to insert an object with default values into the request body when the corresponding key is typed in. +For example, in this configuration +```json +{ + "terms": { + "__template": { + "field": "", + "size": 10 + }, + "field": "{field}", + "size": 10, + "shard_size": 10, + "min_doc_count": 10 + } +} +``` +the `terms` parameter has several properties, but only `field` and `size` are autocompleted in the request body when "terms" is selected from the suggestions list. +``` +POST /_some_endpoint +{ + terms: { + field: '', + size: 10, + } +} +``` +The rest of the properties are displayed as autocomplete suggestions, when the `terms` object is being edited. + +#### Scope link (`__scope_link`) +Use this type to copy a configuration object specified in a different endpoint definition. For example, the `put_settings` endpoint definition contains a configuration object that can be reused for `settings` parameter in a different endpoint: +```json +{ + "data_autocomplete_rules": { + "settings": { + "__scope_link": "put_settings" + } + } +} +``` +#### Global scope (`GLOBAL`) +Use `GLOBAL` keyword with `__scope_link` to refer to a reusable set of definitions created in the [`globals`](https://github.com/elastic/kibana/blob/master/src/plugins/console/server/lib/spec_definitions/js/globals.ts) file. +For example: +```json +{ + "data_autocomplete_rules": { + "query": { + "__scope_link": "GLOBAL.query" + } + } +} +``` +#### Conditional definition (`__condition: { lines_regex: ... }`) +To provide a different set of autocomplete suggestions based on the value configured in the request. For example, when creating a snapshot repository of different types (`fs`, `url` etc) different properties are displayed in the suggestions list based on the type. See [snapshot.create_repository.json](https://github.com/elastic/kibana/blob/master/src/plugins/console/server/lib/spec_definitions/json/overrides/snapshot.create_repository.json) for an example. + + +### Variables +Some autocomplete definitions need to be configured with dynamic values that can't be hard coded into a json or js file, for example a list of indices in the cluster. +A list of variables is defined in the `parametrizedComponentFactories` function in [`kb.js`](https://github.com/elastic/kibana/blob/master/src/plugins/console/public/lib/kb/kb.js) file. The values of these variables are assigned dynamically for every cluster. +Use these variables with curly braces, for example `{indices}`, `{types}`, `{id}`, `{username}`, `{template}`, `{nodes}` etc. + From ab4e05fb670b1255502084c1fa45f37b0fc3c665 Mon Sep 17 00:00:00 2001 From: Orhan Toy Date: Fri, 10 Sep 2021 10:35:15 +0200 Subject: [PATCH 41/57] [App Search] Make URLs in crawler validation messages clickable (#111722) --- .../add_domain/validation_step_panel.test.tsx | 4 +-- .../add_domain/validation_step_panel.tsx | 25 ++++++++++++++----- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/components/add_domain/validation_step_panel.test.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/components/add_domain/validation_step_panel.test.tsx index c022b09d4638c..ace6b85210fc2 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/components/add_domain/validation_step_panel.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/components/add_domain/validation_step_panel.test.tsx @@ -44,7 +44,7 @@ describe('ValidationStepPanel', () => { action={action} /> ); - expect(wrapper.find('[data-test-subj="errorMessage"]').dive().text()).toContain( + expect(wrapper.find('[data-test-subj="errorMessage"]').childAt(0).text()).toContain( 'Error message' ); expect(wrapper.find('[data-test-subj="action"]')).toHaveLength(1); @@ -58,7 +58,7 @@ describe('ValidationStepPanel', () => { action={action} /> ); - expect(wrapper.find('[data-test-subj="errorMessage"]').dive().text()).toContain( + expect(wrapper.find('[data-test-subj="errorMessage"]').childAt(0).text()).toContain( 'Error message' ); expect(wrapper.find('[data-test-subj="action"]')).toHaveLength(1); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/components/add_domain/validation_step_panel.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/components/add_domain/validation_step_panel.tsx index 804c2d86ca099..dc19b526714a5 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/components/add_domain/validation_step_panel.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/components/add_domain/validation_step_panel.tsx @@ -7,7 +7,14 @@ import React from 'react'; -import { EuiFlexGroup, EuiFlexItem, EuiPanel, EuiSpacer, EuiText, EuiTitle } from '@elastic/eui'; +import { + EuiFlexGroup, + EuiFlexItem, + EuiMarkdownFormat, + EuiPanel, + EuiSpacer, + EuiTitle, +} from '@elastic/eui'; import { CrawlerDomainValidationStep } from '../../types'; @@ -26,9 +33,14 @@ export const ValidationStepPanel: React.FC = ({ action, }) => { const showErrorMessage = step.state === 'invalid' || step.state === 'warning'; + const styleOverride = showErrorMessage ? { paddingBottom: 0 } : {}; return ( - + @@ -41,13 +53,14 @@ export const ValidationStepPanel: React.FC = ({ {showErrorMessage && ( <> - -

    {step.message}

    -
    + + + {step.message || ''} + {action && ( <> - {action} + )} From b9f3fceea518ec73fc7f01a70ba0525084a23628 Mon Sep 17 00:00:00 2001 From: Tim Roes Date: Fri, 10 Sep 2021 10:37:02 +0200 Subject: [PATCH 42/57] Improve async loading doc tabs (#111582) --- .../source_viewer/source_viewer.tsx | 4 ++ .../application/components/table/table.tsx | 4 ++ src/plugins/discover/public/plugin.tsx | 42 +++++++++++++++---- .../discover/public/shared/components.tsx | 32 ++++++++++++++ src/plugins/discover/public/shared/index.ts | 2 + 5 files changed, 75 insertions(+), 9 deletions(-) create mode 100644 src/plugins/discover/public/shared/components.tsx diff --git a/src/plugins/discover/public/application/components/source_viewer/source_viewer.tsx b/src/plugins/discover/public/application/components/source_viewer/source_viewer.tsx index 1ec595c9d17f2..9e37ae8f8bf93 100644 --- a/src/plugins/discover/public/application/components/source_viewer/source_viewer.tsx +++ b/src/plugins/discover/public/application/components/source_viewer/source_viewer.tsx @@ -127,3 +127,7 @@ export const SourceViewer = ({ /> ); }; + +// Required for usage in React.lazy +// eslint-disable-next-line import/no-default-export +export default SourceViewer; diff --git a/src/plugins/discover/public/application/components/table/table.tsx b/src/plugins/discover/public/application/components/table/table.tsx index 456103c776566..e89b27e8069f1 100644 --- a/src/plugins/discover/public/application/components/table/table.tsx +++ b/src/plugins/discover/public/application/components/table/table.tsx @@ -145,3 +145,7 @@ export const DocViewerTable = ({ /> ); }; + +// Required for usage in React.lazy +// eslint-disable-next-line import/no-default-export +export default DocViewerTable; diff --git a/src/plugins/discover/public/plugin.tsx b/src/plugins/discover/public/plugin.tsx index 9e5e32111723b..4624fa79ca14b 100644 --- a/src/plugins/discover/public/plugin.tsx +++ b/src/plugins/discover/public/plugin.tsx @@ -27,6 +27,7 @@ import { KibanaLegacySetup, KibanaLegacyStart } from 'src/plugins/kibana_legacy/ import { UrlForwardingSetup, UrlForwardingStart } from 'src/plugins/url_forwarding/public'; import { HomePublicPluginSetup } from 'src/plugins/home/public'; import { Start as InspectorPublicPluginStart } from 'src/plugins/inspector/public'; +import { EuiLoadingContent } from '@elastic/eui'; import { DataPublicPluginStart, DataPublicPluginSetup, esFilters } from '../../data/public'; import { SavedObjectLoader, SavedObjectsStart } from '../../saved_objects/public'; import { createKbnUrlTracker } from '../../kibana_utils/public'; @@ -34,7 +35,6 @@ import { DEFAULT_APP_CATEGORIES } from '../../../core/public'; import { UrlGeneratorState } from '../../share/public'; import { DocViewInput, DocViewInputFn } from './application/doc_views/doc_views_types'; import { DocViewsRegistry } from './application/doc_views/doc_views_registry'; -import { DocViewerTable } from './application/components/table/table'; import { setDocViewsRegistry, setUrlTracker, @@ -59,7 +59,7 @@ import { SearchEmbeddableFactory } from './application/embeddable'; import { UsageCollectionSetup } from '../../usage_collection/public'; import { replaceUrlHashQuery } from '../../kibana_utils/public/'; import { IndexPatternFieldEditorStart } from '../../../plugins/index_pattern_field_editor/public'; -import { SourceViewer } from './application/components/source_viewer/source_viewer'; +import { DeferredSpinner } from './shared'; declare module '../../share/public' { export interface UrlGeneratorStateMapping { @@ -67,6 +67,12 @@ declare module '../../share/public' { } } +const DocViewerTable = React.lazy(() => import('./application/components/table/table')); + +const SourceViewer = React.lazy( + () => import('./application/components/source_viewer/source_viewer') +); + /** * @public */ @@ -232,7 +238,17 @@ export class DiscoverPlugin defaultMessage: 'Table', }), order: 10, - component: DocViewerTable, + component: (props) => ( + + + + } + > + + + ), }); this.docViewsRegistry.addDocView({ title: i18n.translate('discover.docViews.json.jsonTitle', { @@ -240,12 +256,20 @@ export class DiscoverPlugin }), order: 20, component: ({ hit, indexPattern }) => ( - + + + + } + > + + ), }); diff --git a/src/plugins/discover/public/shared/components.tsx b/src/plugins/discover/public/shared/components.tsx new file mode 100644 index 0000000000000..11f77281f9eb0 --- /dev/null +++ b/src/plugins/discover/public/shared/components.tsx @@ -0,0 +1,32 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React, { useEffect, useRef, useState } from 'react'; + +/** + * A component that shows it children with a 300ms delay. This is good for wrapping + * loading spinners for tasks that might potentially be very fast (e.g. loading async chunks). + * That way we don't show a quick flash of the spinner before the actual content and will only + * show the spinner once loading takes a bit longer (more than 300ms). + */ +export const DeferredSpinner: React.FC = ({ children }) => { + const timeoutRef = useRef(); + const [showContent, setShowContent] = useState(false); + useEffect(() => { + timeoutRef.current = window.setTimeout(() => { + setShowContent(true); + }, 300); + return () => { + if (timeoutRef.current) { + clearTimeout(timeoutRef.current); + } + }; + }, []); + + return showContent ? {children} : null; +}; diff --git a/src/plugins/discover/public/shared/index.ts b/src/plugins/discover/public/shared/index.ts index c82ac074db111..7471e1293baa0 100644 --- a/src/plugins/discover/public/shared/index.ts +++ b/src/plugins/discover/public/shared/index.ts @@ -12,3 +12,5 @@ export async function loadSharingDataHelpers() { return await import('../application/apps/main/utils/get_sharing_data'); } + +export { DeferredSpinner } from './components'; From c78121ce5a0b7ea73148a762903c1d9b60cf51be Mon Sep 17 00:00:00 2001 From: Pierre Gayvallet Date: Fri, 10 Sep 2021 10:51:57 +0200 Subject: [PATCH 43/57] [SOM] Improve warning when trying to delete hidden objects (#111698) * improve warning message when trying to delete hidden saved objects * improve message * fix pluralize * fix title --- .../components/delete_confirm_modal.test.tsx | 87 ++++++++++++++++++- .../components/delete_confirm_modal.tsx | 6 +- .../translations/translations/ja-JP.json | 2 - .../translations/translations/zh-CN.json | 2 - 4 files changed, 88 insertions(+), 9 deletions(-) diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/components/delete_confirm_modal.test.tsx b/src/plugins/saved_objects_management/public/management_section/objects_table/components/delete_confirm_modal.test.tsx index 1dcf15bc551d4..76e85c9603cc0 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/components/delete_confirm_modal.test.tsx +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/components/delete_confirm_modal.test.tsx @@ -14,15 +14,21 @@ import { DeleteConfirmModal } from './delete_confirm_modal'; interface CreateObjectOptions { namespaces?: string[]; + hiddenType?: boolean; } -const createObject = ({ namespaces }: CreateObjectOptions = {}): SavedObjectWithMetadata => ({ +const createObject = ({ + namespaces, + hiddenType = false, +}: CreateObjectOptions = {}): SavedObjectWithMetadata => ({ id: 'foo', type: 'bar', attributes: {}, references: [], namespaces, - meta: {}, + meta: { + hiddenType, + }, }); describe('DeleteConfirmModal', () => { @@ -81,7 +87,7 @@ describe('DeleteConfirmModal', () => { isDeleting={false} onConfirm={onConfirm} onCancel={onCancel} - selectedObjects={[]} + selectedObjects={[createObject()]} /> ); wrapper.find('EuiButton').simulate('click'); @@ -90,6 +96,81 @@ describe('DeleteConfirmModal', () => { expect(onCancel).not.toHaveBeenCalled(); }); + describe('when trying to delete hidden objects', () => { + it('excludes the hidden objects from the table', () => { + const objs = [ + createObject({ hiddenType: true }), + createObject({ hiddenType: false }), + createObject({ hiddenType: true }), + ]; + const wrapper = mountWithIntl( + + ); + expect(wrapper.find('.euiTableRow')).toHaveLength(1); + }); + + it('displays a callout when at least one object cannot be deleted', () => { + const objs = [ + createObject({ hiddenType: false }), + createObject({ hiddenType: false }), + createObject({ hiddenType: true }), + ]; + const wrapper = mountWithIntl( + + ); + + const callout = findTestSubject(wrapper, 'cannotDeleteObjectsConfirmWarning'); + expect(callout).toHaveLength(1); + }); + + it('does not display a callout when all objects can be deleted', () => { + const objs = [ + createObject({ hiddenType: false }), + createObject({ hiddenType: false }), + createObject({ hiddenType: false }), + ]; + const wrapper = mountWithIntl( + + ); + + const callout = findTestSubject(wrapper, 'cannotDeleteObjectsConfirmWarning'); + expect(callout).toHaveLength(0); + }); + + it('disable the submit button when all objects cannot be deleted', () => { + const objs = [ + createObject({ hiddenType: true }), + createObject({ hiddenType: true }), + createObject({ hiddenType: true }), + ]; + const wrapper = mountWithIntl( + + ); + + expect(wrapper.find('EuiButton').getDOMNode()).toBeDisabled(); + }); + }); + describe('shared objects warning', () => { it('does not display a callout when no objects are shared', () => { const objs = [ diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/components/delete_confirm_modal.tsx b/src/plugins/saved_objects_management/public/management_section/objects_table/components/delete_confirm_modal.tsx index 7f1f3adc96d8b..e3ffc6d52a3ab 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/components/delete_confirm_modal.tsx +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/components/delete_confirm_modal.tsx @@ -86,7 +86,7 @@ export const DeleteConfirmModal: FC = ({ title={ } iconType="alert" @@ -95,7 +95,8 @@ export const DeleteConfirmModal: FC = ({

    @@ -186,6 +187,7 @@ export const DeleteConfirmModal: FC = ({ fill color="danger" onClick={onConfirm} + disabled={deletableObjects.length === 0} data-test-subj="confirmModalConfirmButton" > Date: Fri, 10 Sep 2021 11:52:36 +0200 Subject: [PATCH 44/57] [Discover] Set ownfocus to false when displaying the document flyout (#108646) --- .../application/components/discover_grid/constants.ts | 1 + .../discover_grid/discover_grid_columns.test.tsx | 2 +- .../components/discover_grid/discover_grid_columns.tsx | 5 +++-- .../components/discover_grid/discover_grid_flyout.tsx | 3 ++- test/functional/apps/discover/_data_grid_doc_table.ts | 10 ++++++++++ 5 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/plugins/discover/public/application/components/discover_grid/constants.ts b/src/plugins/discover/public/application/components/discover_grid/constants.ts index 34e6ca20740ad..1126c6cbbf279 100644 --- a/src/plugins/discover/public/application/components/discover_grid/constants.ts +++ b/src/plugins/discover/public/application/components/discover_grid/constants.ts @@ -17,6 +17,7 @@ export const gridStyle = { export const pageSizeArr = [25, 50, 100, 250]; export const defaultPageSize = 100; +export const defaultTimeColumnWidth = 190; export const toolbarVisibility = { showColumnSelector: { allowHide: false, diff --git a/src/plugins/discover/public/application/components/discover_grid/discover_grid_columns.test.tsx b/src/plugins/discover/public/application/components/discover_grid/discover_grid_columns.test.tsx index 3cbac90aa39cb..46e30dd23525b 100644 --- a/src/plugins/discover/public/application/components/discover_grid/discover_grid_columns.test.tsx +++ b/src/plugins/discover/public/application/components/discover_grid/discover_grid_columns.test.tsx @@ -119,7 +119,7 @@ describe('Discover grid columns ', function () { ], "display": "Time (timestamp)", "id": "timestamp", - "initialWidth": 180, + "initialWidth": 190, "isSortable": true, "schema": "datetime", }, diff --git a/src/plugins/discover/public/application/components/discover_grid/discover_grid_columns.tsx b/src/plugins/discover/public/application/components/discover_grid/discover_grid_columns.tsx index 3a27772662b56..2f4c0b5167df8 100644 --- a/src/plugins/discover/public/application/components/discover_grid/discover_grid_columns.tsx +++ b/src/plugins/discover/public/application/components/discover_grid/discover_grid_columns.tsx @@ -11,10 +11,11 @@ import { i18n } from '@kbn/i18n'; import { EuiDataGridColumn, EuiScreenReaderOnly } from '@elastic/eui'; import { ExpandButton } from './discover_grid_expand_button'; import { DiscoverGridSettings } from './types'; -import { IndexPattern } from '../../../../../data/common/index_patterns/index_patterns'; +import type { IndexPattern } from '../../../../../data/common'; import { buildCellActions } from './discover_grid_cell_actions'; import { getSchemaByKbnType } from './discover_grid_schema'; import { SelectButton } from './discover_grid_document_selection'; +import { defaultTimeColumnWidth } from './constants'; export function getLeadControlColumns() { return [ @@ -88,7 +89,7 @@ export function buildEuiGridColumn( if (column.id === indexPattern.timeFieldName) { column.display = `${timeString} (${indexPattern.timeFieldName})`; - column.initialWidth = 180; + column.initialWidth = defaultTimeColumnWidth; } if (columnWidth > 0) { column.initialWidth = Number(columnWidth); diff --git a/src/plugins/discover/public/application/components/discover_grid/discover_grid_flyout.tsx b/src/plugins/discover/public/application/components/discover_grid/discover_grid_flyout.tsx index c5b75dbe85aea..e4b67c49689ab 100644 --- a/src/plugins/discover/public/application/components/discover_grid/discover_grid_flyout.tsx +++ b/src/plugins/discover/public/application/components/discover_grid/discover_grid_flyout.tsx @@ -107,6 +107,7 @@ export function DiscoverGridFlyout({ size="m" data-test-subj="docTableDetailsFlyout" onKeyDown={onKeyDown} + ownFocus={false} > )} {activePage !== -1 && ( - + Date: Fri, 10 Sep 2021 12:56:20 +0200 Subject: [PATCH 45/57] Fix incorrect number of alerts shows under External alert trend (#111746) --- .../matrix_histogram/index.ts | 9 ++ .../containers/matrix_histogram/index.test.ts | 88 +++++++++++++++++++ .../containers/matrix_histogram/index.ts | 7 +- .../factory/matrix_histogram/alerts/index.ts | 3 +- .../matrix_histogram/anomalies/index.ts | 3 +- .../matrix_histogram/authentications/index.ts | 5 +- .../factory/matrix_histogram/dns/index.ts | 3 +- .../factory/matrix_histogram/events/index.ts | 3 +- 8 files changed, 112 insertions(+), 9 deletions(-) diff --git a/x-pack/plugins/security_solution/common/search_strategy/security_solution/matrix_histogram/index.ts b/x-pack/plugins/security_solution/common/search_strategy/security_solution/matrix_histogram/index.ts index 0d624980f57d7..4e99f330e0f28 100644 --- a/x-pack/plugins/security_solution/common/search_strategy/security_solution/matrix_histogram/index.ts +++ b/x-pack/plugins/security_solution/common/search_strategy/security_solution/matrix_histogram/index.ts @@ -34,6 +34,15 @@ export enum MatrixHistogramType { dns = 'dns', } +export const MatrixHistogramTypeToAggName = { + [MatrixHistogramType.alerts]: 'aggregations.alertsGroup.buckets', + [MatrixHistogramType.anomalies]: 'aggregations.anomalyActionGroup.buckets', + [MatrixHistogramType.authentications]: 'aggregations.eventActionGroup.buckets', + [MatrixHistogramType.authenticationsEntities]: 'aggregations.events.buckets', + [MatrixHistogramType.dns]: 'aggregations.dns_name_query_count.buckets', + [MatrixHistogramType.events]: 'aggregations.eventActionGroup.buckets', +}; + export interface MatrixHistogramRequestOptions extends RequestBasicOptions { timerange: TimerangeInput; histogramType: MatrixHistogramType; diff --git a/x-pack/plugins/security_solution/public/common/containers/matrix_histogram/index.test.ts b/x-pack/plugins/security_solution/public/common/containers/matrix_histogram/index.test.ts index c65c1a8fdd841..e09dbe23d512a 100644 --- a/x-pack/plugins/security_solution/public/common/containers/matrix_histogram/index.test.ts +++ b/x-pack/plugins/security_solution/public/common/containers/matrix_histogram/index.test.ts @@ -14,6 +14,22 @@ import { TestProviders } from '../../mock/test_providers'; jest.mock('../../../common/lib/kibana'); +const basicResponse = { + isPartial: false, + isRunning: false, + total: 0, + loaded: 0, + rawResponse: { + took: 1, + timed_out: false, + hits: { + max_score: 0, + hits: [], + total: 0, + }, + }, +}; + describe('useMatrixHistogram', () => { const props = { endDate: new Date(Date.now()).toISOString(), @@ -57,6 +73,78 @@ describe('useMatrixHistogram', () => { expect(result1).toBe(result2); }); + + it("returns buckets for histogram Type 'events'", async () => { + const localProps = { ...props, histogramType: MatrixHistogramType.events }; + const mockEventsSearchStrategyResponse = { + ...basicResponse, + rawResponse: { + ...basicResponse.rawResponse, + aggregations: { + eventActionGroup: { + doc_count_error_upper_bound: 0, + sum_other_doc_count: 0, + buckets: [ + { + key: 'my dsn test buckets', + doc_count: 1, + }, + ], + }, + }, + }, + }; + + (useKibana().services.data.search.search as jest.Mock).mockReturnValueOnce({ + subscribe: ({ next }: { next: Function }) => next(mockEventsSearchStrategyResponse), + }); + + const { + result: { current }, + } = renderHook(() => useMatrixHistogram(localProps), { + wrapper: TestProviders, + }); + + expect(current[1].buckets).toBe( + mockEventsSearchStrategyResponse.rawResponse.aggregations?.eventActionGroup.buckets + ); + }); + + it("returns buckets for histogram Type 'dns'", async () => { + const mockDnsSearchStrategyResponse = { + ...basicResponse, + rawResponse: { + ...basicResponse.rawResponse, + aggregations: { + dns_name_query_count: { + doc_count_error_upper_bound: 0, + sum_other_doc_count: 0, + buckets: [ + { + key: 'my dsn test buckets', + doc_count: 1, + }, + ], + }, + }, + }, + }; + + const localProps = { ...props, histogramType: MatrixHistogramType.dns }; + (useKibana().services.data.search.search as jest.Mock).mockReturnValueOnce({ + subscribe: ({ next }: { next: Function }) => next(mockDnsSearchStrategyResponse), + }); + + const { + result: { current }, + } = renderHook(() => useMatrixHistogram(localProps), { + wrapper: TestProviders, + }); + + expect(current[1].buckets).toBe( + mockDnsSearchStrategyResponse.rawResponse.aggregations?.dns_name_query_count.buckets + ); + }); }); describe('useMatrixHistogramCombined', () => { diff --git a/x-pack/plugins/security_solution/public/common/containers/matrix_histogram/index.ts b/x-pack/plugins/security_solution/public/common/containers/matrix_histogram/index.ts index 1be71423899e2..52d8fc150ac20 100644 --- a/x-pack/plugins/security_solution/public/common/containers/matrix_histogram/index.ts +++ b/x-pack/plugins/security_solution/public/common/containers/matrix_histogram/index.ts @@ -19,6 +19,7 @@ import { MatrixHistogramRequestOptions, MatrixHistogramStrategyResponse, MatrixHistogramData, + MatrixHistogramTypeToAggName, } from '../../../../common/search_strategy/security_solution'; import { isErrorResponse, isCompleteResponse } from '../../../../../../../src/plugins/data/common'; import { getInspectResponse } from '../../../helpers'; @@ -132,8 +133,8 @@ export const useMatrixHistogram = ({ if (isCompleteResponse(response)) { const histogramBuckets: Buckets = getOr( bucketEmpty, - 'rawResponse.aggregations.eventActionGroup.buckets', - response + MatrixHistogramTypeToAggName[histogramType], + response.rawResponse ); setLoading(false); setMatrixHistogramResponse((prevResponse) => ({ @@ -165,7 +166,7 @@ export const useMatrixHistogram = ({ asyncSearch(); refetch.current = asyncSearch; }, - [data.search, errorMessage, addError, addWarning] + [data.search, errorMessage, addError, addWarning, histogramType] ); useEffect(() => { diff --git a/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/matrix_histogram/alerts/index.ts b/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/matrix_histogram/alerts/index.ts index 2fc2c42be617f..b97b8ed4f6549 100644 --- a/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/matrix_histogram/alerts/index.ts +++ b/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/matrix_histogram/alerts/index.ts @@ -5,10 +5,11 @@ * 2.0. */ +import { MatrixHistogramTypeToAggName } from '../../../../../../common'; import { buildAlertsHistogramQuery } from './query.alerts_histogram.dsl'; export const alertsMatrixHistogramConfig = { buildDsl: buildAlertsHistogramQuery, - aggName: 'aggregations.alertsGroup.buckets', + aggName: MatrixHistogramTypeToAggName.alerts, parseKey: 'alerts.buckets', }; diff --git a/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/matrix_histogram/anomalies/index.ts b/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/matrix_histogram/anomalies/index.ts index 396d1e8bd004b..ec307173ec20c 100644 --- a/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/matrix_histogram/anomalies/index.ts +++ b/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/matrix_histogram/anomalies/index.ts @@ -5,10 +5,11 @@ * 2.0. */ +import { MatrixHistogramTypeToAggName } from '../../../../../../common'; import { buildAnomaliesHistogramQuery } from './query.anomalies_histogram.dsl'; export const anomaliesMatrixHistogramConfig = { buildDsl: buildAnomaliesHistogramQuery, - aggName: 'aggregations.anomalyActionGroup.buckets', + aggName: MatrixHistogramTypeToAggName.anomalies, parseKey: 'anomalies.buckets', }; diff --git a/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/matrix_histogram/authentications/index.ts b/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/matrix_histogram/authentications/index.ts index c147b32be2c00..17f7d78167232 100644 --- a/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/matrix_histogram/authentications/index.ts +++ b/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/matrix_histogram/authentications/index.ts @@ -5,19 +5,20 @@ * 2.0. */ +import { MatrixHistogramTypeToAggName } from '../../../../../../common'; import { getEntitiesParser } from '../helpers'; import { buildAuthenticationsHistogramQuery } from './query.authentications_histogram.dsl'; import { buildAuthenticationsHistogramQueryEntities } from './query.authentications_histogram_entities.dsl'; export const authenticationsMatrixHistogramConfig = { buildDsl: buildAuthenticationsHistogramQuery, - aggName: 'aggregations.eventActionGroup.buckets', + aggName: MatrixHistogramTypeToAggName.authentications, parseKey: 'events.buckets', }; export const authenticationsMatrixHistogramEntitiesConfig = { buildDsl: buildAuthenticationsHistogramQueryEntities, - aggName: 'aggregations.events.buckets', + aggName: MatrixHistogramTypeToAggName.authenticationsEntities, parseKey: 'events.buckets', parser: getEntitiesParser, }; diff --git a/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/matrix_histogram/dns/index.ts b/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/matrix_histogram/dns/index.ts index 26f07d881618a..643b3f657ef0c 100644 --- a/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/matrix_histogram/dns/index.ts +++ b/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/matrix_histogram/dns/index.ts @@ -7,10 +7,11 @@ import { buildDnsHistogramQuery } from './query.dns_histogram.dsl'; import { getDnsParsedData } from './helpers'; +import { MatrixHistogramTypeToAggName } from '../../../../../../common'; export const dnsMatrixHistogramConfig = { buildDsl: buildDnsHistogramQuery, - aggName: 'aggregations.dns_name_query_count.buckets', + aggName: MatrixHistogramTypeToAggName.dns, parseKey: 'dns_question_name.buckets', parser: getDnsParsedData, }; diff --git a/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/matrix_histogram/events/index.ts b/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/matrix_histogram/events/index.ts index 0edfbe7df001b..a280950c37cd6 100644 --- a/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/matrix_histogram/events/index.ts +++ b/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/matrix_histogram/events/index.ts @@ -5,10 +5,11 @@ * 2.0. */ +import { MatrixHistogramTypeToAggName } from '../../../../../../common'; import { buildEventsHistogramQuery } from './query.events_histogram.dsl'; export const eventsMatrixHistogramConfig = { buildDsl: buildEventsHistogramQuery, - aggName: 'aggregations.eventActionGroup.buckets', + aggName: MatrixHistogramTypeToAggName.events, parseKey: 'events.buckets', }; From 3c71408690519e5a3517f9fe4f0f83b4bf052c57 Mon Sep 17 00:00:00 2001 From: Kevin Logan <56395104+kevinlog@users.noreply.github.com> Date: Fri, 10 Sep 2021 07:30:38 -0400 Subject: [PATCH 46/57] [Security Solution] Correct the default user notification messages and tooltip text for Memory and Behavior (#111806) * [Security Solution] Correct the default user notification messages and tooltip text for Memory and Behavior --- .../common/endpoint/models/policy_config.ts | 1 + .../common/license/policy_config.test.ts | 9 ++-- .../common/license/policy_config.ts | 9 ++-- .../policy/store/policy_details/middleware.ts | 13 +++--- .../components/user_notification.tsx | 41 +++++++++++++++++-- .../translations/translations/ja-JP.json | 1 - .../translations/translations/zh-CN.json | 1 - .../apps/endpoint/policy_details.ts | 24 +++++------ 8 files changed, 69 insertions(+), 30 deletions(-) diff --git a/x-pack/plugins/security_solution/common/endpoint/models/policy_config.ts b/x-pack/plugins/security_solution/common/endpoint/models/policy_config.ts index 2c742ad3fd6af..942aed4166595 100644 --- a/x-pack/plugins/security_solution/common/endpoint/models/policy_config.ts +++ b/x-pack/plugins/security_solution/common/endpoint/models/policy_config.ts @@ -244,3 +244,4 @@ export const policyFactoryWithSupportedFeatures = ( * Reflects what string the Endpoint will use when message field is default/empty */ export const DefaultPolicyNotificationMessage = 'Elastic Security {action} {filename}'; +export const DefaultPolicyRuleNotificationMessage = 'Elastic Security {action} {rule}'; diff --git a/x-pack/plugins/security_solution/common/license/policy_config.test.ts b/x-pack/plugins/security_solution/common/license/policy_config.test.ts index 98e19b36dd910..725d6ba74afd0 100644 --- a/x-pack/plugins/security_solution/common/license/policy_config.test.ts +++ b/x-pack/plugins/security_solution/common/license/policy_config.test.ts @@ -11,6 +11,7 @@ import { } from './policy_config'; import { DefaultPolicyNotificationMessage, + DefaultPolicyRuleNotificationMessage, policyFactory, policyFactoryWithSupportedFeatures, policyFactoryWithoutPaidFeatures, @@ -367,7 +368,7 @@ describe('policy_config and licenses', () => { expect(retPolicy.windows.popup.memory_protection.message).not.toEqual(popupMessage); // need to invert the test, since it could be either value - expect(['', DefaultPolicyNotificationMessage]).toContain( + expect(['', DefaultPolicyRuleNotificationMessage]).toContain( retPolicy.windows.popup.memory_protection.message ); }); @@ -391,7 +392,7 @@ describe('policy_config and licenses', () => { expect(retPolicy.windows.popup.behavior_protection.message).not.toEqual(popupMessage); // need to invert the test, since it could be either value - expect(['', DefaultPolicyNotificationMessage]).toContain( + expect(['', DefaultPolicyRuleNotificationMessage]).toContain( retPolicy.windows.popup.behavior_protection.message ); @@ -402,7 +403,7 @@ describe('policy_config and licenses', () => { expect(retPolicy.mac.popup.behavior_protection.message).not.toEqual(popupMessage); // need to invert the test, since it could be either value - expect(['', DefaultPolicyNotificationMessage]).toContain( + expect(['', DefaultPolicyRuleNotificationMessage]).toContain( retPolicy.mac.popup.behavior_protection.message ); @@ -415,7 +416,7 @@ describe('policy_config and licenses', () => { expect(retPolicy.linux.popup.behavior_protection.message).not.toEqual(popupMessage); // need to invert the test, since it could be either value - expect(['', DefaultPolicyNotificationMessage]).toContain( + expect(['', DefaultPolicyRuleNotificationMessage]).toContain( retPolicy.linux.popup.behavior_protection.message ); }); diff --git a/x-pack/plugins/security_solution/common/license/policy_config.ts b/x-pack/plugins/security_solution/common/license/policy_config.ts index a684628a7d52c..a05478eef8eba 100644 --- a/x-pack/plugins/security_solution/common/license/policy_config.ts +++ b/x-pack/plugins/security_solution/common/license/policy_config.ts @@ -10,6 +10,7 @@ import { isAtLeast } from './license'; import { PolicyConfig } from '../endpoint/types'; import { DefaultPolicyNotificationMessage, + DefaultPolicyRuleNotificationMessage, policyFactoryWithoutPaidFeatures, policyFactoryWithSupportedFeatures, } from '../endpoint/models/policy_config'; @@ -113,7 +114,7 @@ function isEndpointMemoryPolicyValidForLicense(policy: PolicyConfig, license: IL if ( policy.windows.popup.memory_protection.message !== '' && - policy.windows.popup.memory_protection.message !== DefaultPolicyNotificationMessage + policy.windows.popup.memory_protection.message !== DefaultPolicyRuleNotificationMessage ) { return false; } @@ -164,11 +165,11 @@ function isEndpointBehaviorPolicyValidForLicense(policy: PolicyConfig, license: // Only Platinum or higher may change the behavior_protection message (which can be blank or what Endpoint defaults) if ( (policy.windows.popup.behavior_protection.message !== '' && - policy.windows.popup.behavior_protection.message !== DefaultPolicyNotificationMessage) || + policy.windows.popup.behavior_protection.message !== DefaultPolicyRuleNotificationMessage) || (policy.mac.popup.behavior_protection.message !== '' && - policy.mac.popup.behavior_protection.message !== DefaultPolicyNotificationMessage) || + policy.mac.popup.behavior_protection.message !== DefaultPolicyRuleNotificationMessage) || (policy.linux.popup.behavior_protection.message !== '' && - policy.linux.popup.behavior_protection.message !== DefaultPolicyNotificationMessage) + policy.linux.popup.behavior_protection.message !== DefaultPolicyRuleNotificationMessage) ) { return false; } diff --git a/x-pack/plugins/security_solution/public/management/pages/policy/store/policy_details/middleware.ts b/x-pack/plugins/security_solution/public/management/pages/policy/store/policy_details/middleware.ts index 6f8a41f4559de..250d9c82b6489 100644 --- a/x-pack/plugins/security_solution/public/management/pages/policy/store/policy_details/middleware.ts +++ b/x-pack/plugins/security_solution/public/management/pages/policy/store/policy_details/middleware.ts @@ -6,7 +6,10 @@ */ import { IHttpFetchError } from 'kibana/public'; -import { DefaultPolicyNotificationMessage } from '../../../../../../common/endpoint/models/policy_config'; +import { + DefaultPolicyNotificationMessage, + DefaultPolicyRuleNotificationMessage, +} from '../../../../../../common/endpoint/models/policy_config'; import { PolicyDetailsState, UpdatePolicyResponse } from '../../types'; import { policyIdFromParams, @@ -50,20 +53,20 @@ export const policyDetailsMiddlewareFactory: ImmutableMiddlewareFactory { + if (protectionType === 'memory_protection') { + return i18n.translate( + 'xpack.securitySolution.endpoint.policyDetail.memoryProtectionTooltip', + { + defaultMessage: 'memory threat', + } + ); + } else if (protectionType === 'behavior_protection') { + return i18n.translate( + 'xpack.securitySolution.endpoint.policyDetail.behaviorProtectionTooltip', + { + defaultMessage: 'malicious behavior', + } + ); + } else { + return protectionType; + } + }; + + const tooltipBracketText = (protectionType: PolicyProtection) => { + if (protectionType === 'memory_protection' || protection === 'behavior_protection') { + return i18n.translate('xpack.securitySolution.endpoint.policyDetail.rule', { + defaultMessage: 'rule', + }); + } else { + return i18n.translate('xpack.securitySolution.endpoint.policyDetail.filename', { + defaultMessage: 'filename', + }); + } + }; + return ( <> @@ -139,14 +171,17 @@ export const UserNotification = React.memo( id="xpack.securitySolution.endpoint.policyDetailsConfig.notifyUserTooltip.a" defaultMessage="Selecting the user notification option will display a notification to the host user when { protectionName } is prevented or detected." values={{ - protectionName: protection, + protectionName: tooltipProtectionText(protection), }} /> } diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index 93950b40b3dbe..5064bf54c6038 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -22421,7 +22421,6 @@ "xpack.securitySolution.endpoint.policyDetailsConfig.mac.events.network": "ネットワーク", "xpack.securitySolution.endpoint.policyDetailsConfig.mac.events.process": "プロセス", "xpack.securitySolution.endpoint.policyDetailsConfig.notifyUserTooltip.a": "ユーザー通知オプションを選択すると、{ protectionName }が防御または検出されたときに、ホストユーザーに通知を表示します。", - "xpack.securitySolution.endpoint.policyDetailsConfig.notifyUserTooltip.b": " ユーザー通知は、以下のテキストボックスでカスタマイズできます。括弧内のタグを使用すると、該当するアクション(防御または検出など)とファイル名を動的に入力できます。", "xpack.securitySolution.endpoint.policyDetailsConfig.protectionLevel": "保護レベル", "xpack.securitySolution.endpoint.policyDetailsConfig.userNotification": "ユーザー通知", "xpack.securitySolution.endpoint.policyDetailsConfig.windows.events.dllDriverLoad": "DLL とドライバーの読み込み", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 1f31ac35ff3cf..32f9cd2edb890 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -22770,7 +22770,6 @@ "xpack.securitySolution.endpoint.policyDetailsConfig.mac.events.network": "网络", "xpack.securitySolution.endpoint.policyDetailsConfig.mac.events.process": "进程", "xpack.securitySolution.endpoint.policyDetailsConfig.notifyUserTooltip.a": "选择用户通知选项后,在阻止或检测到{ protectionName }时将向主机用户显示通知。", - "xpack.securitySolution.endpoint.policyDetailsConfig.notifyUserTooltip.b": " 可在下方文本框中定制用户通知。括号中的标签可用于动态填充适用操作(如已阻止或已检测)和文件名。", "xpack.securitySolution.endpoint.policyDetailsConfig.protectionLevel": "防护级别", "xpack.securitySolution.endpoint.policyDetailsConfig.userNotification": "用户通知", "xpack.securitySolution.endpoint.policyDetailsConfig.windows.events.dllDriverLoad": "DLL 和驱动程序加载", diff --git a/x-pack/test/security_solution_endpoint/apps/endpoint/policy_details.ts b/x-pack/test/security_solution_endpoint/apps/endpoint/policy_details.ts index 06398fdcd9658..a793582cb7295 100644 --- a/x-pack/test/security_solution_endpoint/apps/endpoint/policy_details.ts +++ b/x-pack/test/security_solution_endpoint/apps/endpoint/policy_details.ts @@ -306,7 +306,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { }, behavior_protection: { enabled: true, - message: 'Elastic Security {action} {filename}', + message: 'Elastic Security {action} {rule}', }, }, }, @@ -322,7 +322,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { }, behavior_protection: { enabled: true, - message: 'Elastic Security {action} {filename}', + message: 'Elastic Security {action} {rule}', }, }, }, @@ -348,11 +348,11 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { }, memory_protection: { enabled: true, - message: 'Elastic Security {action} {filename}', + message: 'Elastic Security {action} {rule}', }, behavior_protection: { enabled: true, - message: 'Elastic Security {action} {filename}', + message: 'Elastic Security {action} {rule}', }, ransomware: { enabled: true, @@ -530,7 +530,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { }, behavior_protection: { enabled: true, - message: 'Elastic Security {action} {filename}', + message: 'Elastic Security {action} {rule}', }, }, }, @@ -546,7 +546,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { }, behavior_protection: { enabled: true, - message: 'Elastic Security {action} {filename}', + message: 'Elastic Security {action} {rule}', }, }, }, @@ -572,11 +572,11 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { }, memory_protection: { enabled: true, - message: 'Elastic Security {action} {filename}', + message: 'Elastic Security {action} {rule}', }, behavior_protection: { enabled: true, - message: 'Elastic Security {action} {filename}', + message: 'Elastic Security {action} {rule}', }, ransomware: { enabled: true, @@ -751,7 +751,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { }, behavior_protection: { enabled: true, - message: 'Elastic Security {action} {filename}', + message: 'Elastic Security {action} {rule}', }, }, }, @@ -767,7 +767,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { }, behavior_protection: { enabled: true, - message: 'Elastic Security {action} {filename}', + message: 'Elastic Security {action} {rule}', }, }, }, @@ -793,11 +793,11 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { }, memory_protection: { enabled: true, - message: 'Elastic Security {action} {filename}', + message: 'Elastic Security {action} {rule}', }, behavior_protection: { enabled: true, - message: 'Elastic Security {action} {filename}', + message: 'Elastic Security {action} {rule}', }, ransomware: { enabled: true, From 70090e326ca6b22a9e396e901ed1e1e6788967cb Mon Sep 17 00:00:00 2001 From: Uladzislau Lasitsa Date: Fri, 10 Sep 2021 14:53:07 +0300 Subject: [PATCH 47/57] Timelion App removal (#110255) * Remove timelion app and stuff which related to it * Fix CI * Fix lint * Fix tests * Fix tests * Fis tests * Fix some comments * Clean up * fix CI * fix some comments * Fix deprecation examples * Return `enabled` property in config for timelion vis * Remove unused angular lib Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Alexey Antonov --- .github/CODEOWNERS | 1 - .i18nrc.json | 2 +- api_docs/core_application.json | 4 - api_docs/deprecations_by_api.mdx | 8 +- api_docs/deprecations_by_plugin.mdx | 11 - api_docs/saved_objects.json | 12 - docs/api/features.asciidoc | 2 - docs/api/role-management/get.asciidoc | 3 - docs/api/role-management/put.asciidoc | 3 - docs/api/saved-objects/bulk_create.asciidoc | 2 +- docs/api/saved-objects/bulk_get.asciidoc | 2 +- docs/api/saved-objects/create.asciidoc | 2 +- docs/api/saved-objects/delete.asciidoc | 2 +- docs/api/saved-objects/get.asciidoc | 2 +- docs/api/saved-objects/resolve.asciidoc | 2 +- docs/api/saved-objects/update.asciidoc | 2 +- docs/api/spaces-management/get_all.asciidoc | 4 +- docs/api/spaces-management/post.asciidoc | 2 +- docs/developer/plugin-list.asciidoc | 5 - ...in-core-server.deprecationsservicesetup.md | 27 +- docs/management/advanced-options.asciidoc | 10 - docs/user/dashboard/timelion.asciidoc | 2 - package.json | 1 - packages/kbn-optimizer/limits.yml | 1 - rfcs/text/0007_lifecycle_unblocked.md | 1 - .../public/doc_links/doc_links_service.ts | 1 - src/core/server/deprecations/README.mdx | 1 - .../deprecations/deprecations_service.ts | 19 +- .../migrations/core/elastic_index.ts | 2 + .../resources/base/bin/kibana-docker | 1 - src/plugins/kibana_usage_collection/README.md | 2 +- .../collectors/application_usage/schema.ts | 1 - .../server/collectors/management/schema.ts | 12 - .../server/collectors/management/types.ts | 3 - .../kibana_usage_collector.test.ts | 4 - .../kibana_usage_collector.ts | 16 +- .../server/collectors/ui_metric/schema.ts | 1 - src/plugins/telemetry/schema/oss_plugins.json | 178 ----- src/plugins/telemetry/schema/oss_root.json | 7 - src/plugins/timelion/README.md | 2 - src/plugins/timelion/kibana.json | 23 - src/plugins/timelion/public/_app.scss | 83 -- src/plugins/timelion/public/_base.scss | 18 - src/plugins/timelion/public/app.js | 655 ---------------- src/plugins/timelion/public/application.ts | 129 --- src/plugins/timelion/public/breadcrumbs.js | 37 - .../components/timelion_deprecation.tsx | 42 - .../timelion_deprecation_directive.js | 31 - .../components/timelion_top_nav_directive.js | 48 -- .../public/components/timelionhelp_tabs.js | 48 -- .../components/timelionhelp_tabs_directive.js | 32 - .../timelion/public/directives/_form.scss | 83 -- .../timelion/public/directives/_index.scss | 7 - .../directives/_saved_object_finder.scss | 132 ---- .../_timelion_expression_input.scss | 15 - .../public/directives/cells/_cells.scss | 61 -- .../public/directives/cells/_index.scss | 1 - .../public/directives/cells/cells.html | 52 -- .../timelion/public/directives/cells/cells.js | 41 - .../public/directives/cells/collection.ts | 65 -- .../timelion/public/directives/chart/chart.js | 55 -- .../public/directives/fixed_element.js | 39 - .../directives/fullscreen/fullscreen.html | 14 - .../directives/fullscreen/fullscreen.js | 25 - .../timelion/public/directives/input_focus.js | 24 - .../timelion/public/directives/key_map.ts | 110 --- .../directives/saved_object_finder.html | 112 --- .../public/directives/saved_object_finder.js | 302 ------- .../saved_object_save_as_checkbox.html | 29 - .../saved_object_save_as_checkbox.js | 22 - .../directives/timelion_expression_input.html | 41 - .../directives/timelion_expression_input.js | 266 ------- .../timelion_expression_input_helpers.js | 264 ------- .../_index.scss | 1 - .../_timelion_expression_suggestions.scss | 36 - .../timelion_expression_suggestions.html | 109 --- .../timelion_expression_suggestions.js | 28 - .../public/directives/timelion_grid.js | 57 -- .../directives/timelion_help/_index.scss | 1 - .../timelion_help/_timelion_help.scss | 33 - .../timelion_help/timelion_help.html | 741 ------------------ .../directives/timelion_help/timelion_help.js | 155 ---- .../directives/timelion_interval/_index.scss | 1 - .../timelion_interval/_timelion_interval.scss | 30 - .../timelion_interval/timelion_interval.html | 22 - .../timelion_interval/timelion_interval.js | 72 -- .../public/directives/timelion_load_sheet.js | 19 - .../directives/timelion_options_sheet.js | 19 - .../public/directives/timelion_save_sheet.js | 19 - src/plugins/timelion/public/index.html | 80 -- src/plugins/timelion/public/index.scss | 18 - src/plugins/timelion/public/index.ts | 14 - .../timelion/public/lib/observe_resize.js | 33 - src/plugins/timelion/public/panels/panel.ts | 34 - .../public/panels/timechart/schema.ts | 386 --------- .../public/panels/timechart/timechart.ts | 17 - .../timelion/public/partials/load_sheet.html | 12 - .../timelion/public/partials/save_sheet.html | 107 --- .../public/partials/sheet_options.html | 36 - src/plugins/timelion/public/plugin.ts | 140 ---- .../timelion/public/services/_saved_sheet.ts | 62 -- .../timelion/public/services/saved_sheets.ts | 31 - .../timelion/public/timelion_app_state.ts | 62 -- src/plugins/timelion/public/types.ts | 24 - src/plugins/timelion/server/config.ts | 21 - src/plugins/timelion/server/deprecations.ts | 71 -- src/plugins/timelion/server/index.ts | 18 - src/plugins/timelion/server/plugin.ts | 74 -- .../timelion/server/saved_objects/index.ts | 9 - .../server/saved_objects/timelion_sheet.ts | 48 -- src/plugins/timelion/tsconfig.json | 22 - src/plugins/vis_type_timelion/config.ts | 13 +- .../components/timelion_expression_input.tsx | 2 +- src/plugins/vis_type_timelion/public/index.ts | 20 +- .../vis_type_timelion/public/plugin.ts | 11 +- src/plugins/vis_type_timelion/server/index.ts | 12 +- .../vis_type_timelion/server/plugin.ts | 16 +- .../saved_objects/scroll_count/mappings.json | 42 - .../management/saved_objects/search/data.json | 29 - .../saved_objects/search/mappings.json | 42 - .../saved_objects/ui_counters/mappings.json | 41 - .../usage_counters/mappings.json | 41 - .../es_archiver/search/count/mappings.json | 42 - .../saved_objects/relationships.json | 22 - .../apps/timelion/_expression_typeahead.js | 91 --- test/functional/apps/timelion/index.js | 27 - test/functional/apps/visualize/_timelion.ts | 70 +- test/functional/config.js | 4 - .../dashboard/current/kibana/mappings.json | 42 - .../dashboard/legacy/mappings.json | 42 - .../deprecations_service/mappings.json | 42 - .../es_archiver/discover/mappings.json | 42 - .../es_archiver/empty_kibana/mappings.json | 42 - .../invalid_scripted_field/mappings.json | 41 - .../mappings.json | 42 - .../es_archiver/management/mappings.json | 42 - .../fixtures/es_archiver/mgmt/mappings.json | 41 - .../saved_objects_imports/mappings.json | 42 - .../edit_saved_object/mappings.json | 41 - .../export_exclusion/mappings.json | 41 - .../export_transform/mappings.json | 42 - .../hidden_saved_objects/mappings.json | 42 - .../hidden_types/mappings.json | 41 - .../nested_export_transform/mappings.json | 42 - .../show_relationships/mappings.json | 41 - .../es_archiver/timelion/mappings.json | 42 - .../visualize_embedding/mappings.json | 42 - .../visualize_source-filters/mappings.json | 42 - .../visualize_source_filters/mappings.json | 42 - test/functional/page_objects/timelion_page.ts | 68 +- test/functional/services/monaco_editor.ts | 7 + .../fixtures/es_archiver/kibana/mappings.json | 42 - x-pack/plugins/features/kibana.json | 1 - .../__snapshots__/oss_features.test.ts.snap | 100 --- .../features/server/oss_features.test.ts | 44 -- .../plugins/features/server/oss_features.ts | 34 - x-pack/plugins/features/server/plugin.test.ts | 38 +- x-pack/plugins/features/server/plugin.ts | 18 +- .../get_kibana_stats.test.ts | 22 - .../telemetry_collection/get_kibana_stats.ts | 3 - .../spaces_usage_collector.ts | 7 - .../schema/xpack_plugins.json | 6 - .../translations/translations/ja-JP.json | 164 ---- .../translations/translations/zh-CN.json | 164 ---- .../apis/features/features/features.ts | 1 - .../apis/security/privileges.ts | 1 - .../apis/security/privileges_basic.ts | 1 - .../apis/spaces/get_active_space.ts | 4 +- .../apis/telemetry/fixtures/basiccluster.json | 3 - .../apis/telemetry/fixtures/multicluster.json | 3 - .../apis/telemetry/telemetry_local.ts | 2 - .../encrypted_saved_objects/mappings.json | 42 - .../mappings.json | 42 - .../es_archiver/key_rotation/mappings.json | 42 - .../exports/_7.13_import_saved_objects.ndjson | 1 - .../import_saved_objects_between_versions.ts | 6 +- .../feature_controls/timelion_security.ts | 196 ----- .../feature_controls/timelion_spaces.ts | 158 ---- x-pack/test/functional/apps/timelion/index.ts | 17 - x-pack/test/functional/config.js | 2 - .../action_task_params/mappings.json | 42 - .../es_archives/actions/mappings.json | 42 - .../es_archives/alerts/mappings.json | 1 - .../es_archives/alerts_legacy/mappings.json | 42 - .../banners/multispace/mappings.json | 42 - .../es_archives/canvas/default/mappings.json | 41 - .../es_archives/canvas/reports/mappings.json | 42 - .../cases/migrations/7.10.0/mappings.json | 42 - .../cases/migrations/7.11.1/mappings.json | 42 - .../cases/migrations/7.13.2/mappings.json | 42 - .../dashboard/async_search/mappings.json | 42 - .../dashboard/drilldowns/mappings.json | 42 - .../feature_controls/security/mappings.json | 41 - .../feature_controls/spaces/mappings.json | 41 - .../dashboard/session_in_space/mappings.json | 42 - .../data/search_sessions/mappings.json | 41 - .../es_archives/empty_kibana/mappings.json | 42 - .../telemetry/agent_only/mappings.json | 42 - .../mappings.json | 42 - .../cloned_endpoint_installed/mappings.json | 42 - .../cloned_endpoint_uninstalled/mappings.json | 42 - .../endpoint_malware_disabled/mappings.json | 42 - .../endpoint_malware_enabled/mappings.json | 42 - .../endpoint_uninstalled/mappings.json | 42 - .../event_log_multiple_indicies/mappings.json | 1 - .../es_archives/fleet/agents/mappings.json | 42 - .../es_archives/hybrid/kibana/mappings.json | 42 - .../invalid_scripted_field/mappings.json | 41 - .../mappings.json | 42 - .../es_archives/lens/basic/mappings.json | 42 - .../es_archives/lens/reporting/mappings.json | 42 - .../lens/rollup/config/mappings.json | 42 - .../es_archives/lists/mappings.json | 42 - .../es_archives/logstash/empty/mappings.json | 42 - .../logstash/example_pipelines/mappings.json | 42 - .../monitoring/basic_6.3.x/data.json.gz | Bin 1176798 -> 1183569 bytes .../es_archives/packaging/mappings.json | 42 - .../canvas_disallowed_url/mappings.json | 42 - .../ecommerce_kibana_spaces/mappings.json | 42 - .../reporting/hugedata/mappings.json | 41 - .../es_archives/reporting/logs/mappings.json | 42 - .../multi_index_kibana/mappings.json | 42 - .../es_archives/reporting/nanos/mappings.json | 42 - .../es_archives/reporting/sales/mappings.json | 42 - .../feature_controls/security/mappings.json | 41 - .../spaces/copy_saved_objects/mappings.json | 41 - .../spaces/disabled_features/mappings.json | 41 - .../spaces/enter_space/mappings.json | 42 - .../spaces/multi_space/mappings.json | 42 - .../es_archives/spaces/selector/mappings.json | 42 - .../task_manager_removed_types/mappings.json | 1 - .../timelion/feature_controls/data.json | 49 -- .../timelion/feature_controls/mappings.json | 41 - .../visualize/default/mappings.json | 42 - .../timelion/feature_controls.json | 52 -- .../timelion/timelion_custom_space.json | 20 - .../global_search/basic/mappings.json | 41 - .../es_archiver/dashboard/mappings.json | 42 - .../es_archives/empty_kibana/mappings.json | 42 - yarn.lock | 5 - 240 files changed, 147 insertions(+), 10726 deletions(-) delete mode 100644 src/plugins/timelion/README.md delete mode 100644 src/plugins/timelion/kibana.json delete mode 100644 src/plugins/timelion/public/_app.scss delete mode 100644 src/plugins/timelion/public/_base.scss delete mode 100644 src/plugins/timelion/public/app.js delete mode 100644 src/plugins/timelion/public/application.ts delete mode 100644 src/plugins/timelion/public/breadcrumbs.js delete mode 100644 src/plugins/timelion/public/components/timelion_deprecation.tsx delete mode 100644 src/plugins/timelion/public/components/timelion_deprecation_directive.js delete mode 100644 src/plugins/timelion/public/components/timelion_top_nav_directive.js delete mode 100644 src/plugins/timelion/public/components/timelionhelp_tabs.js delete mode 100644 src/plugins/timelion/public/components/timelionhelp_tabs_directive.js delete mode 100644 src/plugins/timelion/public/directives/_form.scss delete mode 100644 src/plugins/timelion/public/directives/_index.scss delete mode 100644 src/plugins/timelion/public/directives/_saved_object_finder.scss delete mode 100644 src/plugins/timelion/public/directives/_timelion_expression_input.scss delete mode 100644 src/plugins/timelion/public/directives/cells/_cells.scss delete mode 100644 src/plugins/timelion/public/directives/cells/_index.scss delete mode 100644 src/plugins/timelion/public/directives/cells/cells.html delete mode 100644 src/plugins/timelion/public/directives/cells/cells.js delete mode 100644 src/plugins/timelion/public/directives/cells/collection.ts delete mode 100644 src/plugins/timelion/public/directives/chart/chart.js delete mode 100644 src/plugins/timelion/public/directives/fixed_element.js delete mode 100644 src/plugins/timelion/public/directives/fullscreen/fullscreen.html delete mode 100644 src/plugins/timelion/public/directives/fullscreen/fullscreen.js delete mode 100644 src/plugins/timelion/public/directives/input_focus.js delete mode 100644 src/plugins/timelion/public/directives/key_map.ts delete mode 100644 src/plugins/timelion/public/directives/saved_object_finder.html delete mode 100644 src/plugins/timelion/public/directives/saved_object_finder.js delete mode 100644 src/plugins/timelion/public/directives/saved_object_save_as_checkbox.html delete mode 100644 src/plugins/timelion/public/directives/saved_object_save_as_checkbox.js delete mode 100644 src/plugins/timelion/public/directives/timelion_expression_input.html delete mode 100644 src/plugins/timelion/public/directives/timelion_expression_input.js delete mode 100644 src/plugins/timelion/public/directives/timelion_expression_input_helpers.js delete mode 100644 src/plugins/timelion/public/directives/timelion_expression_suggestions/_index.scss delete mode 100644 src/plugins/timelion/public/directives/timelion_expression_suggestions/_timelion_expression_suggestions.scss delete mode 100644 src/plugins/timelion/public/directives/timelion_expression_suggestions/timelion_expression_suggestions.html delete mode 100644 src/plugins/timelion/public/directives/timelion_expression_suggestions/timelion_expression_suggestions.js delete mode 100644 src/plugins/timelion/public/directives/timelion_grid.js delete mode 100644 src/plugins/timelion/public/directives/timelion_help/_index.scss delete mode 100644 src/plugins/timelion/public/directives/timelion_help/_timelion_help.scss delete mode 100644 src/plugins/timelion/public/directives/timelion_help/timelion_help.html delete mode 100644 src/plugins/timelion/public/directives/timelion_help/timelion_help.js delete mode 100644 src/plugins/timelion/public/directives/timelion_interval/_index.scss delete mode 100644 src/plugins/timelion/public/directives/timelion_interval/_timelion_interval.scss delete mode 100644 src/plugins/timelion/public/directives/timelion_interval/timelion_interval.html delete mode 100644 src/plugins/timelion/public/directives/timelion_interval/timelion_interval.js delete mode 100644 src/plugins/timelion/public/directives/timelion_load_sheet.js delete mode 100644 src/plugins/timelion/public/directives/timelion_options_sheet.js delete mode 100644 src/plugins/timelion/public/directives/timelion_save_sheet.js delete mode 100644 src/plugins/timelion/public/index.html delete mode 100644 src/plugins/timelion/public/index.scss delete mode 100644 src/plugins/timelion/public/index.ts delete mode 100644 src/plugins/timelion/public/lib/observe_resize.js delete mode 100644 src/plugins/timelion/public/panels/panel.ts delete mode 100644 src/plugins/timelion/public/panels/timechart/schema.ts delete mode 100644 src/plugins/timelion/public/panels/timechart/timechart.ts delete mode 100644 src/plugins/timelion/public/partials/load_sheet.html delete mode 100644 src/plugins/timelion/public/partials/save_sheet.html delete mode 100644 src/plugins/timelion/public/partials/sheet_options.html delete mode 100644 src/plugins/timelion/public/plugin.ts delete mode 100644 src/plugins/timelion/public/services/_saved_sheet.ts delete mode 100644 src/plugins/timelion/public/services/saved_sheets.ts delete mode 100644 src/plugins/timelion/public/timelion_app_state.ts delete mode 100644 src/plugins/timelion/public/types.ts delete mode 100644 src/plugins/timelion/server/config.ts delete mode 100644 src/plugins/timelion/server/deprecations.ts delete mode 100644 src/plugins/timelion/server/index.ts delete mode 100644 src/plugins/timelion/server/plugin.ts delete mode 100644 src/plugins/timelion/server/saved_objects/index.ts delete mode 100644 src/plugins/timelion/server/saved_objects/timelion_sheet.ts delete mode 100644 src/plugins/timelion/tsconfig.json delete mode 100644 test/functional/apps/timelion/_expression_typeahead.js delete mode 100644 test/functional/apps/timelion/index.js delete mode 100644 x-pack/test/functional/apps/timelion/feature_controls/timelion_security.ts delete mode 100644 x-pack/test/functional/apps/timelion/feature_controls/timelion_spaces.ts delete mode 100644 x-pack/test/functional/apps/timelion/index.ts delete mode 100644 x-pack/test/functional/fixtures/kbn_archiver/timelion/feature_controls.json delete mode 100644 x-pack/test/functional/fixtures/kbn_archiver/timelion/timelion_custom_space.json diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 837d80f28153c..c0dad860b212b 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -25,7 +25,6 @@ /src/plugins/charts/ @elastic/kibana-vis-editors /src/plugins/management/ @elastic/kibana-vis-editors /src/plugins/kibana_legacy/ @elastic/kibana-vis-editors -/src/plugins/timelion/ @elastic/kibana-vis-editors /src/plugins/vis_default_editor/ @elastic/kibana-vis-editors /src/plugins/vis_types/metric/ @elastic/kibana-vis-editors /src/plugins/vis_type_table/ @elastic/kibana-vis-editors diff --git a/.i18nrc.json b/.i18nrc.json index 77c57ded8242b..11d31be8f891c 100644 --- a/.i18nrc.json +++ b/.i18nrc.json @@ -56,7 +56,7 @@ "server": "src/legacy/server", "statusPage": "src/legacy/core_plugins/status_page", "telemetry": ["src/plugins/telemetry", "src/plugins/telemetry_management_section"], - "timelion": ["src/plugins/timelion", "src/plugins/vis_type_timelion"], + "timelion": ["src/plugins/vis_type_timelion"], "uiActions": "src/plugins/ui_actions", "visDefaultEditor": "src/plugins/vis_default_editor", "visTypeMarkdown": "src/plugins/vis_type_markdown", diff --git a/api_docs/core_application.json b/api_docs/core_application.json index 72a11803976c9..35c12330898fb 100644 --- a/api_docs/core_application.json +++ b/api_docs/core_application.json @@ -1393,10 +1393,6 @@ "plugin": "kibanaOverview", "path": "src/plugins/kibana_overview/public/application.tsx" }, - { - "plugin": "timelion", - "path": "src/plugins/timelion/public/application.ts" - }, { "plugin": "management", "path": "src/plugins/management/target/types/public/application.d.ts" diff --git a/api_docs/deprecations_by_api.mdx b/api_docs/deprecations_by_api.mdx index e1328b249ce7a..82caea2104067 100644 --- a/api_docs/deprecations_by_api.mdx +++ b/api_docs/deprecations_by_api.mdx @@ -13,7 +13,7 @@ warning: This document is auto-generated and is meant to be viewed inside our ex | Deprecated API | Referencing plugin(s) | Remove By | | ---------------|-----------|-----------| -| | discover, visualizations, dashboard, lens, observability, maps, dashboardEnhanced, discoverEnhanced, securitySolution, visualize, timelion, presentationUtil | 8.1 | +| | discover, visualizations, dashboard, lens, observability, maps, dashboardEnhanced, discoverEnhanced, securitySolution, visualize, presentationUtil | 8.1 | | | lens, timelines, infra, securitySolution, stackAlerts, transform, indexPatternManagement, visTypeTimelion, visTypeVega | 8.1 | | | discover, visualizations, dashboard, lens, observability, timelines, maps, infra, dashboardEnhanced, discoverEnhanced, securitySolution, urlDrilldown, inputControlVis, visTypeTimelion, visualize, visTypeVega, presentationUtil, ml, visTypeTimeseries | 8.1 | | | discover, visualizations, dashboard, lens, observability, timelines, maps, infra, dashboardEnhanced, discoverEnhanced, securitySolution, urlDrilldown, inputControlVis, visTypeTimelion, visualize, visTypeVega, presentationUtil, ml, visTypeTimeseries | 8.1 | @@ -86,16 +86,16 @@ warning: This document is auto-generated and is meant to be viewed inside our ex | | discover | - | | | discover, ml, transform, canvas | - | | | embeddable, discover, presentationUtil, dashboard, graph | - | -| | visualizations, discover, dashboard, savedObjectsManagement, timelion | - | +| | visualizations, discover, dashboard, savedObjectsManagement | - | | | discover, savedObjectsTaggingOss, visualizations, dashboard, visualize, visDefaultEditor | - | -| | discover, visualizations, dashboard, timelion | - | +| | discover, visualizations, dashboard | - | | | data, discover, embeddable | - | | | advancedSettings, discover | - | | | advancedSettings, discover | - | | | security | - | | | security | - | | | security, licenseManagement, ml, fleet, apm, reporting, crossClusterReplication, logstash, painlessLab, searchprofiler, watcher | - | -| | management, fleet, security, kibanaOverview, timelion | - | +| | management, fleet, security, kibanaOverview | - | | | visualizations, dashboard | - | | | visualizations, dashboard | - | | | visualizations, dashboard | - | diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index 8d070428376b4..75eac66df04a1 100644 --- a/api_docs/deprecations_by_plugin.mdx +++ b/api_docs/deprecations_by_plugin.mdx @@ -811,17 +811,6 @@ warning: This document is auto-generated and is meant to be viewed inside our ex -## timelion - -| Deprecated API | Reference location(s) | Remove By | -| ---------------|-----------|-----------| -| | [plugin.ts](https://github.com/elastic/kibana/tree/master/src/plugins/timelion/public/plugin.ts#:~:text=esFilters), [plugin.ts](https://github.com/elastic/kibana/tree/master/src/plugins/timelion/public/plugin.ts#:~:text=esFilters) | 8.1 | -| | [saved_sheets.ts](https://github.com/elastic/kibana/tree/master/src/plugins/timelion/public/services/saved_sheets.ts#:~:text=SavedObjectLoader), [saved_sheets.ts](https://github.com/elastic/kibana/tree/master/src/plugins/timelion/public/services/saved_sheets.ts#:~:text=SavedObjectLoader) | - | -| | [_saved_sheet.ts](https://github.com/elastic/kibana/tree/master/src/plugins/timelion/public/services/_saved_sheet.ts#:~:text=SavedObjectClass) | - | -| | [application.ts](https://github.com/elastic/kibana/tree/master/src/plugins/timelion/public/application.ts#:~:text=appBasePath) | - | - - - ## transform | Deprecated API | Reference location(s) | Remove By | diff --git a/api_docs/saved_objects.json b/api_docs/saved_objects.json index a0e14bae47ba2..d400068df4f83 100644 --- a/api_docs/saved_objects.json +++ b/api_docs/saved_objects.json @@ -679,14 +679,6 @@ { "plugin": "savedObjectsManagement", "path": "src/plugins/saved_objects_management/public/management_section/object_view/components/form.tsx" - }, - { - "plugin": "timelion", - "path": "src/plugins/timelion/public/services/saved_sheets.ts" - }, - { - "plugin": "timelion", - "path": "src/plugins/timelion/public/services/saved_sheets.ts" } ], "children": [ @@ -3860,10 +3852,6 @@ { "plugin": "dashboard", "path": "src/plugins/dashboard/public/saved_dashboards/saved_dashboard.ts" - }, - { - "plugin": "timelion", - "path": "src/plugins/timelion/public/services/_saved_sheet.ts" } ] }, diff --git a/docs/api/features.asciidoc b/docs/api/features.asciidoc index dad3ef75c8117..69f0effb80023 100644 --- a/docs/api/features.asciidoc +++ b/docs/api/features.asciidoc @@ -134,7 +134,6 @@ The API returns the following: "index-pattern", "search", "visualization", - "timelion-sheet", "canvas-workpad" ] }, @@ -152,7 +151,6 @@ The API returns the following: "index-pattern", "search", "visualization", - "timelion-sheet", "canvas-workpad", "dashboard" ] diff --git a/docs/api/role-management/get.asciidoc b/docs/api/role-management/get.asciidoc index d1e9d1e6afa83..b18b2e231774a 100644 --- a/docs/api/role-management/get.asciidoc +++ b/docs/api/role-management/get.asciidoc @@ -73,9 +73,6 @@ The API returns the following: "indexPatterns": [ "read" ], - "timelion": [ - "all" - ], "graph": [ "all" ], diff --git a/docs/api/role-management/put.asciidoc b/docs/api/role-management/put.asciidoc index be46178100095..92750840aca10 100644 --- a/docs/api/role-management/put.asciidoc +++ b/docs/api/role-management/put.asciidoc @@ -94,9 +94,6 @@ $ curl -X PUT api/security/role/my_kibana_role "indexPatterns": [ "read" ], - "timelion": [ - "all" - ], "graph": [ "all" ], diff --git a/docs/api/saved-objects/bulk_create.asciidoc b/docs/api/saved-objects/bulk_create.asciidoc index 5bd3a7587dde9..a935907ef3f11 100644 --- a/docs/api/saved-objects/bulk_create.asciidoc +++ b/docs/api/saved-objects/bulk_create.asciidoc @@ -30,7 +30,7 @@ experimental[] Create multiple {kib} saved objects. ==== Request body `type`:: - (Required, string) Valid options include `visualization`, `dashboard`, `search`, `index-pattern`, `config`, and `timelion-sheet`. + (Required, string) Valid options include `visualization`, `dashboard`, `search`, `index-pattern`, `config`. `id`:: (Optional, string) Specifies an ID instead of using a randomly generated ID. diff --git a/docs/api/saved-objects/bulk_get.asciidoc b/docs/api/saved-objects/bulk_get.asciidoc index 4c6bf4c19a76c..1bcdf7ba33cf4 100644 --- a/docs/api/saved-objects/bulk_get.asciidoc +++ b/docs/api/saved-objects/bulk_get.asciidoc @@ -23,7 +23,7 @@ experimental[] Retrieve multiple {kib} saved objects by ID. ==== Request Body `type`:: - (Required, string) Valid options include `visualization`, `dashboard`, `search`, `index-pattern`, `config`, and `timelion-sheet`. + (Required, string) Valid options include `visualization`, `dashboard`, `search`, `index-pattern`, `config`. `id`:: (Required, string) ID of the retrieved object. The ID includes the {kib} unique identifier or a custom identifier. diff --git a/docs/api/saved-objects/create.asciidoc b/docs/api/saved-objects/create.asciidoc index e7e25c7d3bba6..437bdb497da26 100644 --- a/docs/api/saved-objects/create.asciidoc +++ b/docs/api/saved-objects/create.asciidoc @@ -24,7 +24,7 @@ experimental[] Create {kib} saved objects. (Optional, string) An identifier for the space. If `space_id` is not provided in the URL, the default space is used. ``:: - (Required, string) Valid options include `visualization`, `dashboard`, `search`, `index-pattern`, `config`, and `timelion-sheet`. + (Required, string) Valid options include `visualization`, `dashboard`, `search`, `index-pattern`, `config`. ``:: (Optional, string) Specifies an ID instead of using a randomly generated ID. diff --git a/docs/api/saved-objects/delete.asciidoc b/docs/api/saved-objects/delete.asciidoc index 9c342cb4d843e..ab50fd6e37eac 100644 --- a/docs/api/saved-objects/delete.asciidoc +++ b/docs/api/saved-objects/delete.asciidoc @@ -22,7 +22,7 @@ WARNING: Once you delete a saved object, _it cannot be recovered_. (Optional, string) An identifier for the space. If `space_id` is not provided in the URL, the default space is used. `type`:: - (Required, string) Valid options include `visualization`, `dashboard`, `search`, `index-pattern`, `config`, and `timelion-sheet`. + (Required, string) Valid options include `visualization`, `dashboard`, `search`, `index-pattern`, `config`. `id`:: (Required, string) The object ID that you want to remove. diff --git a/docs/api/saved-objects/get.asciidoc b/docs/api/saved-objects/get.asciidoc index 4c8cd020e0286..cfc591d811227 100644 --- a/docs/api/saved-objects/get.asciidoc +++ b/docs/api/saved-objects/get.asciidoc @@ -21,7 +21,7 @@ experimental[] Retrieve a single {kib} saved object by ID. `type`:: - (Required, string) Valid options include `visualization`, `dashboard`, `search`, `index-pattern`, `config`, and `timelion-sheet`. + (Required, string) Valid options include `visualization`, `dashboard`, `search`, `index-pattern`, `config`. `id`:: (Required, string) The ID of the object to retrieve. diff --git a/docs/api/saved-objects/resolve.asciidoc b/docs/api/saved-objects/resolve.asciidoc index abfad6a0a8150..aa18538975f5f 100644 --- a/docs/api/saved-objects/resolve.asciidoc +++ b/docs/api/saved-objects/resolve.asciidoc @@ -25,7 +25,7 @@ object can be retrieved via the Resolve API using either its new ID or its old I `type`:: - (Required, string) Valid options include `visualization`, `dashboard`, `search`, `index-pattern`, `config`, and `timelion-sheet`. + (Required, string) Valid options include `visualization`, `dashboard`, `search`, `index-pattern`, `config`. `id`:: (Required, string) The ID of the object to retrieve. diff --git a/docs/api/saved-objects/update.asciidoc b/docs/api/saved-objects/update.asciidoc index d237ced8b52d1..2bd95df1adf30 100644 --- a/docs/api/saved-objects/update.asciidoc +++ b/docs/api/saved-objects/update.asciidoc @@ -20,7 +20,7 @@ experimental[] Update the attributes for existing {kib} saved objects. (Optional, string) An identifier for the space. If `space_id` is not provided in the URL, the default space is used. `type`:: - (Required, string) Valid options include `visualization`, `dashboard`, `search`, `index-pattern`, `config`, and `timelion-sheet`. + (Required, string) Valid options include `visualization`, `dashboard`, `search`, `index-pattern`, `config`. `id`:: (Required, string) The object ID to update. diff --git a/docs/api/spaces-management/get_all.asciidoc b/docs/api/spaces-management/get_all.asciidoc index e76848da80efb..3c95b1b904441 100644 --- a/docs/api/spaces-management/get_all.asciidoc +++ b/docs/api/spaces-management/get_all.asciidoc @@ -70,7 +70,7 @@ The API returns the following: "id": "sales", "name": "Sales", "initials": "MK", - "disabledFeatures": ["discover", "timelion"], + "disabledFeatures": ["discover"], "imageUrl": "" } ] @@ -124,7 +124,7 @@ The API returns the following: "id": "sales", "name": "Sales", "initials": "MK", - "disabledFeatures": ["discover", "timelion"], + "disabledFeatures": ["discover"], "imageUrl": "", "authorizedPurposes": { "any": true, diff --git a/docs/api/spaces-management/post.asciidoc b/docs/api/spaces-management/post.asciidoc index 1abfffd1c736f..28d60caa0d333 100644 --- a/docs/api/spaces-management/post.asciidoc +++ b/docs/api/spaces-management/post.asciidoc @@ -54,7 +54,7 @@ $ curl -X POST api/spaces/space "description" : "This is the Marketing Space", "color": "#aabbcc", "initials": "MK", - "disabledFeatures": ["timelion"], + "disabledFeatures": [], "imageUrl": "data:image/png;base64,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" } -------------------------------------------------- diff --git a/docs/developer/plugin-list.asciidoc b/docs/developer/plugin-list.asciidoc index 319ac1e8476fe..84e6668830edc 100644 --- a/docs/developer/plugin-list.asciidoc +++ b/docs/developer/plugin-list.asciidoc @@ -235,11 +235,6 @@ generating deep links to other apps, and creating short URLs. |This plugin adds the Advanced Settings section for the Usage and Security Data collection (aka Telemetry). -|{kib-repo}blob/{branch}/src/plugins/timelion/README.md[timelion] -|Contains the deprecated timelion application. For the timelion visualization, -which also contains the timelion APIs and backend, look at the vis_type_timelion plugin. - - |<> |UI Actions plugins provides API to manage *triggers* and *actions*. diff --git a/docs/development/core/server/kibana-plugin-core-server.deprecationsservicesetup.md b/docs/development/core/server/kibana-plugin-core-server.deprecationsservicesetup.md index eb0dbb59e6c12..00e5da4a9a9f9 100644 --- a/docs/development/core/server/kibana-plugin-core-server.deprecationsservicesetup.md +++ b/docs/development/core/server/kibana-plugin-core-server.deprecationsservicesetup.md @@ -25,29 +25,29 @@ import { i18n } from '@kbn/i18n'; async function getDeprecations({ esClient, savedObjectsClient }: GetDeprecationsContext): Promise { const deprecations: DeprecationsDetails[] = []; - const count = await getTimelionSheetsCount(savedObjectsClient); + // Example of an api correctiveAction + const count = await getFooCount(savedObjectsClient); if (count > 0) { - // Example of a manual correctiveAction deprecations.push({ - title: i18n.translate('xpack.timelion.deprecations.worksheetsTitle', { - defaultMessage: 'Timelion worksheets are deprecated' + title: i18n.translate('xpack.foo.deprecations.title', { + defaultMessage: `Foo's are deprecated` }), - message: i18n.translate('xpack.timelion.deprecations.worksheetsMessage', { - defaultMessage: 'You have {count} Timelion worksheets. Migrate your Timelion worksheets to a dashboard to continue using them.', + message: i18n.translate('xpack.foo.deprecations.message', { + defaultMessage: `You have {count} Foo's. Migrate your Foo's to a dashboard to continue using them.`, values: { count }, }), documentationUrl: - 'https://www.elastic.co/guide/en/kibana/current/create-panels-with-timelion.html', + 'https://www.elastic.co/guide/en/kibana/current/foo.html', level: 'warning', correctiveActions: { manualSteps: [ - i18n.translate('xpack.timelion.deprecations.worksheets.manualStepOneMessage', { - defaultMessage: 'Navigate to the Kibana Dashboard and click "Create dashboard".', - }), - i18n.translate('xpack.timelion.deprecations.worksheets.manualStepTwoMessage', { - defaultMessage: 'Select Timelion from the "New Visualization" window.', - }), + i18n.translate('xpack.foo.deprecations.manualStepOneMessage', { + defaultMessage: 'Navigate to the Kibana Dashboard and click "Create dashboard".', + }), + i18n.translate('xpack.foo.deprecations.manualStepTwoMessage', { + defaultMessage: 'Select Foo from the "New Visualization" window.', + }), ], api: { path: '/internal/security/users/test_dashboard_user', @@ -68,6 +68,7 @@ async function getDeprecations({ esClient, savedObjectsClient }: GetDeprecations }, }); } + return deprecations; } diff --git a/docs/management/advanced-options.asciidoc b/docs/management/advanced-options.asciidoc index cbf32c35c55fd..6bf9ddb365290 100644 --- a/docs/management/advanced-options.asciidoc +++ b/docs/management/advanced-options.asciidoc @@ -470,13 +470,6 @@ The default period of time in the Security time filter. [[kibana-timelion-settings]] ==== Timelion -[horizontal] -[[timelion-defaultcolumns]]`timelion:default_columns`:: -The default number of columns to use on a Timelion sheet. - -[[timelion-defaultrows]]`timelion:default_rows`:: -The default number of rows to use on a Timelion sheet. - [[timelion-esdefaultindex]]`timelion:es.default_index`:: The default index when using the `.es()` query. @@ -502,9 +495,6 @@ experimental:[] Used with quandl queries, this is your API key from https://www.quandl.com/[www.quandl.com]. -[[timelion-showtutorial]]`timelion:showTutorial`:: -Shows the Timelion tutorial to users when they first open the Timelion app. - [[timelion-targetbuckets]]`timelion:target_buckets`:: Used for calculating automatic intervals in visualizations, this is the number of buckets to try to represent. diff --git a/docs/user/dashboard/timelion.asciidoc b/docs/user/dashboard/timelion.asciidoc index 85c8bbd436d25..ae92ed4259b65 100644 --- a/docs/user/dashboard/timelion.asciidoc +++ b/docs/user/dashboard/timelion.asciidoc @@ -13,8 +13,6 @@ The syntax enables some features that classical point series charts don't offer, [role="screenshot"] image:dashboard/images/timelion.png[Timelion] -deprecated::[7.0.0,"*Timelion* is still supported. The *Timelion app* is deprecated in 7.0, replaced by dashboard features. In 7.16 and later, the *Timelion app* is removed from {kib}. To prepare for the removal of *Timelion app*, you must migrate *Timelion app* worksheets to a dashboard. For information on how to migrate *Timelion app* worksheets, refer to the link:https://www.elastic.co/guide/en/kibana/7.10/release-notes-7.10.0.html#deprecation-v7.10.0[7.10.0 Release Notes]."] - [float] ==== Timelion expressions diff --git a/package.json b/package.json index b9beacb296ebe..3cf8db1e1ca7e 100644 --- a/package.json +++ b/package.json @@ -189,7 +189,6 @@ "angular-recursion": "^1.0.5", "angular-route": "^1.8.0", "angular-sanitize": "^1.8.0", - "angular-sortable-view": "^0.0.17", "antlr4ts": "^0.5.0-alpha.3", "archiver": "^5.2.0", "axios": "^0.21.1", diff --git a/packages/kbn-optimizer/limits.yml b/packages/kbn-optimizer/limits.yml index 282abe1e1741a..69cfffe1f08f0 100644 --- a/packages/kbn-optimizer/limits.yml +++ b/packages/kbn-optimizer/limits.yml @@ -70,7 +70,6 @@ pageLoadAssetSize: spaces: 57868 telemetry: 51957 telemetryManagementSection: 38586 - timelion: 29920 transform: 41007 triggersActionsUi: 100000 uiActions: 97717 diff --git a/rfcs/text/0007_lifecycle_unblocked.md b/rfcs/text/0007_lifecycle_unblocked.md index cb978d3dcd7ba..3f347891b2ba8 100644 --- a/rfcs/text/0007_lifecycle_unblocked.md +++ b/rfcs/text/0007_lifecycle_unblocked.md @@ -342,7 +342,6 @@ functions and will be impacted: 2. [tile_map](https://github.com/elastic/kibana/blob/6039709929caf0090a4130b8235f3a53bd04ed84/src/legacy/core_plugins/tile_map/public/plugin.ts#L62) 3. [vis_type_table](https://github.com/elastic/kibana/blob/6039709929caf0090a4130b8235f3a53bd04ed84/src/legacy/core_plugins/vis_type_table/public/plugin.ts#L61) 4. [vis_type_vega](https://github.com/elastic/kibana/blob/6039709929caf0090a4130b8235f3a53bd04ed84/src/legacy/core_plugins/vis_type_vega/public/plugin.ts#L59) -5. [timelion](https://github.com/elastic/kibana/blob/9d69b72a5f200e58220231035b19da852fc6b0a5/src/plugins/timelion/server/plugin.ts#L40) 6. [code](https://github.com/elastic/kibana/blob/5049b460b47d4ae3432e1d9219263bb4be441392/x-pack/legacy/plugins/code/server/plugin.ts#L129-L149) 7. [spaces](https://github.com/elastic/kibana/blob/096c7ee51136327f778845c636d7c4f1188e5db2/x-pack/legacy/plugins/spaces/server/new_platform/plugin.ts#L95) 8. [licensing](https://github.com/elastic/kibana/blob/4667c46caef26f8f47714504879197708debae32/x-pack/plugins/licensing/server/plugin.ts) diff --git a/src/core/public/doc_links/doc_links_service.ts b/src/core/public/doc_links/doc_links_service.ts index 958cae8816efa..72fa6c5553f77 100644 --- a/src/core/public/doc_links/doc_links_service.ts +++ b/src/core/public/doc_links/doc_links_service.ts @@ -273,7 +273,6 @@ export class DocLinksService { }, visualize: { guide: `${KIBANA_DOCS}dashboard.html`, - timelionDeprecation: `${KIBANA_DOCS}timelion.html`, lens: `${ELASTIC_WEBSITE_URL}what-is/kibana-lens`, lensPanels: `${KIBANA_DOCS}lens.html`, maps: `${ELASTIC_WEBSITE_URL}maps`, diff --git a/src/core/server/deprecations/README.mdx b/src/core/server/deprecations/README.mdx index 197b25ac909c3..533f607c3d4c2 100644 --- a/src/core/server/deprecations/README.mdx +++ b/src/core/server/deprecations/README.mdx @@ -139,7 +139,6 @@ Plugins are responsible for registering any deprecations during the `setup` life the deprecations service. Examples of non-config deprecations include things like -- timelion sheets - kibana_user security roles This service is not intended to be used for non-user facing deprecations or cases where the deprecation diff --git a/src/core/server/deprecations/deprecations_service.ts b/src/core/server/deprecations/deprecations_service.ts index f6f48d2a88b01..b8a134fbf8cd2 100644 --- a/src/core/server/deprecations/deprecations_service.ts +++ b/src/core/server/deprecations/deprecations_service.ts @@ -37,28 +37,27 @@ import { SavedObjectsClientContract } from '../saved_objects/types'; * * async function getDeprecations({ esClient, savedObjectsClient }: GetDeprecationsContext): Promise { * const deprecations: DeprecationsDetails[] = []; - * const count = await getTimelionSheetsCount(savedObjectsClient); - * + * const count = await getFooCount(savedObjectsClient); * if (count > 0) { * // Example of a manual correctiveAction * deprecations.push({ - * title: i18n.translate('xpack.timelion.deprecations.worksheetsTitle', { - * defaultMessage: 'Timelion worksheets are deprecated' + * title: i18n.translate('xpack.foo.deprecations.title', { + * defaultMessage: `Foo's are deprecated` * }), - * message: i18n.translate('xpack.timelion.deprecations.worksheetsMessage', { - * defaultMessage: 'You have {count} Timelion worksheets. Migrate your Timelion worksheets to a dashboard to continue using them.', + * message: i18n.translate('xpack.foo.deprecations.message', { + * defaultMessage: `You have {count} Foo's. Migrate your Foo's to a dashboard to continue using them.`, * values: { count }, * }), * documentationUrl: - * 'https://www.elastic.co/guide/en/kibana/current/create-panels-with-timelion.html', + * 'https://www.elastic.co/guide/en/kibana/current/foo.html', * level: 'warning', * correctiveActions: { * manualSteps: [ - * i18n.translate('xpack.timelion.deprecations.worksheets.manualStepOneMessage', { + * i18n.translate('xpack.foo.deprecations.manualStepOneMessage', { * defaultMessage: 'Navigate to the Kibana Dashboard and click "Create dashboard".', * }), - * i18n.translate('xpack.timelion.deprecations.worksheets.manualStepTwoMessage', { - * defaultMessage: 'Select Timelion from the "New Visualization" window.', + * i18n.translate('xpack.foo.deprecations.manualStepTwoMessage', { + * defaultMessage: 'Select Foo from the "New Visualization" window.', * }), * ], * api: { diff --git a/src/core/server/saved_objects/migrations/core/elastic_index.ts b/src/core/server/saved_objects/migrations/core/elastic_index.ts index f473b3ed02526..5068c24df3414 100644 --- a/src/core/server/saved_objects/migrations/core/elastic_index.ts +++ b/src/core/server/saved_objects/migrations/core/elastic_index.ts @@ -45,6 +45,8 @@ export const REMOVED_TYPES: string[] = [ 'tsvb-validation-telemetry', // replaced by osquery-manager-usage-metric 'osquery-usage-metric', + // Was removed in 7.16 + 'timelion-sheet', ].sort(); // When migrating from the outdated index we use a read query which excludes diff --git a/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker b/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker index c9b6fa3d9dda5..cee43fd85c90f 100755 --- a/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker +++ b/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker @@ -200,7 +200,6 @@ kibana_vars=( tilemap.options.minZoom tilemap.options.subdomains tilemap.url - timelion.enabled url_drilldown.enabled vega.enableExternalUrls vis_type_vega.enableExternalUrls diff --git a/src/plugins/kibana_usage_collection/README.md b/src/plugins/kibana_usage_collection/README.md index 1cb14cdef647e..4ea014457fd07 100644 --- a/src/plugins/kibana_usage_collection/README.md +++ b/src/plugins/kibana_usage_collection/README.md @@ -9,7 +9,7 @@ This plugin registers the Platform Usage Collectors in Kibana. | **Config Usage** | Reports the non-default values set via `kibana.yml` config file or CLI options. It `[redacts]` any potential PII-sensitive values. | [Link](./server/collectors/config_usage/README.md) | | **User-changed UI Settings** | Reports all the UI Settings that have been overwritten by the user. It `[redacts]` any potential PII-sensitive values. | [Link](./server/collectors/management/README.md) | | **CSP configuration** | Reports the key values regarding the CSP configuration. | - | -| **Kibana** | It reports the number of Saved Objects per type. It is limited to `dashboard`, `visualization`, `search`, `index-pattern`, `graph-workspace` and `timelion-sheet`.
    It exists for legacy purposes, and may still be used by Monitoring via Metricbeat. | - | +| **Kibana** | It reports the number of Saved Objects per type. It is limited to `dashboard`, `visualization`, `search`, `index-pattern`, `graph-workspace`.
    It exists for legacy purposes, and may still be used by Monitoring via Metricbeat. | - | | **Saved Objects Counts** | Number of Saved Objects per type. | - | | **Localization data** | Localization settings: setup locale and installed translation files. | - | | **Ops stats** | Operation metrics from the system. | - | diff --git a/src/plugins/kibana_usage_collection/server/collectors/application_usage/schema.ts b/src/plugins/kibana_usage_collection/server/collectors/application_usage/schema.ts index d29d6d6a86e85..5f268a6fdfee7 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/application_usage/schema.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/application_usage/schema.ts @@ -124,7 +124,6 @@ export const applicationUsageSchema = { kibana: commonSchema, // It's a forward app so we'll likely never report it management: commonSchema, short_url_redirect: commonSchema, // It's a forward app so we'll likely never report it - timelion: commonSchema, visualize: commonSchema, error: commonSchema, status: commonSchema, diff --git a/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts b/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts index 68d56944d9974..237ec54e4692b 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts @@ -104,22 +104,10 @@ export const stackManagementSchema: MakeSchemaFrom = { type: 'keyword', _meta: { description: 'Non-default value of setting.' }, }, - 'timelion:default_rows': { - type: 'long', - _meta: { description: 'Non-default value of setting.' }, - }, - 'timelion:default_columns': { - type: 'long', - _meta: { description: 'Non-default value of setting.' }, - }, 'timelion:es.default_index': { type: 'keyword', _meta: { description: 'Non-default value of setting.' }, }, - 'timelion:showTutorial': { - type: 'boolean', - _meta: { description: 'Non-default value of setting.' }, - }, 'securitySolution:timeDefaults': { type: 'keyword', _meta: { description: 'Non-default value of setting.' }, diff --git a/src/plugins/kibana_usage_collection/server/collectors/management/types.ts b/src/plugins/kibana_usage_collection/server/collectors/management/types.ts index ed46e6b38b283..0c4b848ff3544 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/management/types.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/management/types.ts @@ -49,10 +49,7 @@ export interface UsageStats { 'timelion:max_buckets': number; 'timelion:es.timefield': string; 'timelion:min_interval': string; - 'timelion:default_rows': number; - 'timelion:default_columns': number; 'timelion:es.default_index': string; - 'timelion:showTutorial': boolean; 'securitySolution:timeDefaults': string; 'securitySolution:defaultAnomalyScore': number; 'securitySolution:refreshIntervalDefaults': string; diff --git a/src/plugins/kibana_usage_collection/server/collectors/saved_objects_counts/kibana_usage_collector.test.ts b/src/plugins/kibana_usage_collection/server/collectors/saved_objects_counts/kibana_usage_collector.test.ts index 6097910afe22b..fc9f9a6e8c2d3 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/saved_objects_counts/kibana_usage_collector.test.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/saved_objects_counts/kibana_usage_collector.test.ts @@ -56,7 +56,6 @@ describe('kibana_usage', () => { search: { total: 0 }, index_pattern: { total: 0 }, graph_workspace: { total: 0 }, - timelion_sheet: { total: 0 }, }); }); }); @@ -81,7 +80,6 @@ describe('getKibanaSavedObjectCounts', () => { search: { total: 0 }, index_pattern: { total: 0 }, graph_workspace: { total: 0 }, - timelion_sheet: { total: 0 }, }); }); @@ -91,7 +89,6 @@ describe('getKibanaSavedObjectCounts', () => { types: { buckets: [ { key: 'dashboard', doc_count: 1 }, - { key: 'timelion-sheet', doc_count: 2 }, { key: 'index-pattern', value: 2 }, // Malformed on purpose { key: 'graph_workspace', doc_count: 3 }, // already snake_cased ], @@ -106,7 +103,6 @@ describe('getKibanaSavedObjectCounts', () => { search: { total: 0 }, index_pattern: { total: 0 }, graph_workspace: { total: 3 }, - timelion_sheet: { total: 2 }, }); }); }); diff --git a/src/plugins/kibana_usage_collection/server/collectors/saved_objects_counts/kibana_usage_collector.ts b/src/plugins/kibana_usage_collection/server/collectors/saved_objects_counts/kibana_usage_collector.ts index 1ebb61c446083..13b9d0ca2104c 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/saved_objects_counts/kibana_usage_collector.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/saved_objects_counts/kibana_usage_collector.ts @@ -19,21 +19,13 @@ interface KibanaSavedObjectCounts { search: { total: number }; index_pattern: { total: number }; graph_workspace: { total: number }; - timelion_sheet: { total: number }; } interface KibanaUsage extends KibanaSavedObjectCounts { index: string; } -const TYPES = [ - 'dashboard', - 'visualization', - 'search', - 'index-pattern', - 'graph-workspace', - 'timelion-sheet', -]; +const TYPES = ['dashboard', 'visualization', 'search', 'index-pattern', 'graph-workspace']; export async function getKibanaSavedObjectCounts( esClient: ElasticsearchClient, @@ -89,12 +81,6 @@ export function registerKibanaUsageCollector( _meta: { description: 'Total number of graph_workspace saved objects' }, }, }, - timelion_sheet: { - total: { - type: 'long', - _meta: { description: 'Total number of timelion_sheet saved objects' }, - }, - }, }, async fetch({ esClient }) { const { diff --git a/src/plugins/kibana_usage_collection/server/collectors/ui_metric/schema.ts b/src/plugins/kibana_usage_collection/server/collectors/ui_metric/schema.ts index fec314fc6b87e..5252ab24395aa 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/ui_metric/schema.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/ui_metric/schema.ts @@ -28,7 +28,6 @@ const uiMetricFromDataPluginSchema: MakeSchemaFrom = { kibana: commonSchema, // It's a forward app so we'll likely never report it management: commonSchema, short_url_redirect: commonSchema, // It's a forward app so we'll likely never report it - timelion: commonSchema, visualize: commonSchema, // X-Pack diff --git a/src/plugins/telemetry/schema/oss_plugins.json b/src/plugins/telemetry/schema/oss_plugins.json index 07c765b493db4..abf4aac7df59a 100644 --- a/src/plugins/telemetry/schema/oss_plugins.json +++ b/src/plugins/telemetry/schema/oss_plugins.json @@ -1088,137 +1088,6 @@ } } }, - "timelion": { - "properties": { - "appId": { - "type": "keyword", - "_meta": { - "description": "The application being tracked" - } - }, - "viewId": { - "type": "keyword", - "_meta": { - "description": "Always `main`" - } - }, - "clicks_total": { - "type": "long", - "_meta": { - "description": "General number of clicks in the application since we started counting them" - } - }, - "clicks_7_days": { - "type": "long", - "_meta": { - "description": "General number of clicks in the application over the last 7 days" - } - }, - "clicks_30_days": { - "type": "long", - "_meta": { - "description": "General number of clicks in the application over the last 30 days" - } - }, - "clicks_90_days": { - "type": "long", - "_meta": { - "description": "General number of clicks in the application over the last 90 days" - } - }, - "minutes_on_screen_total": { - "type": "float", - "_meta": { - "description": "Minutes the application is active and on-screen since we started counting them." - } - }, - "minutes_on_screen_7_days": { - "type": "float", - "_meta": { - "description": "Minutes the application is active and on-screen over the last 7 days" - } - }, - "minutes_on_screen_30_days": { - "type": "float", - "_meta": { - "description": "Minutes the application is active and on-screen over the last 30 days" - } - }, - "minutes_on_screen_90_days": { - "type": "float", - "_meta": { - "description": "Minutes the application is active and on-screen over the last 90 days" - } - }, - "views": { - "type": "array", - "items": { - "properties": { - "appId": { - "type": "keyword", - "_meta": { - "description": "The application being tracked" - } - }, - "viewId": { - "type": "keyword", - "_meta": { - "description": "The application view being tracked" - } - }, - "clicks_total": { - "type": "long", - "_meta": { - "description": "General number of clicks in the application sub view since we started counting them" - } - }, - "clicks_7_days": { - "type": "long", - "_meta": { - "description": "General number of clicks in the active application sub view over the last 7 days" - } - }, - "clicks_30_days": { - "type": "long", - "_meta": { - "description": "General number of clicks in the active application sub view over the last 30 days" - } - }, - "clicks_90_days": { - "type": "long", - "_meta": { - "description": "General number of clicks in the active application sub view over the last 90 days" - } - }, - "minutes_on_screen_total": { - "type": "float", - "_meta": { - "description": "Minutes the application sub view is active and on-screen since we started counting them." - } - }, - "minutes_on_screen_7_days": { - "type": "float", - "_meta": { - "description": "Minutes the application is active and on-screen active application sub view over the last 7 days" - } - }, - "minutes_on_screen_30_days": { - "type": "float", - "_meta": { - "description": "Minutes the application is active and on-screen active application sub view over the last 30 days" - } - }, - "minutes_on_screen_90_days": { - "type": "float", - "_meta": { - "description": "Minutes the application is active and on-screen active application sub view over the last 90 days" - } - } - } - } - } - } - }, "visualize": { "properties": { "appId": { @@ -7253,30 +7122,12 @@ "description": "Non-default value of setting." } }, - "timelion:default_rows": { - "type": "long", - "_meta": { - "description": "Non-default value of setting." - } - }, - "timelion:default_columns": { - "type": "long", - "_meta": { - "description": "Non-default value of setting." - } - }, "timelion:es.default_index": { "type": "keyword", "_meta": { "description": "Non-default value of setting." } }, - "timelion:showTutorial": { - "type": "boolean", - "_meta": { - "description": "Non-default value of setting." - } - }, "securitySolution:timeDefaults": { "type": "keyword", "_meta": { @@ -7855,16 +7706,6 @@ } } } - }, - "timelion_sheet": { - "properties": { - "total": { - "type": "long", - "_meta": { - "description": "Total number of timelion_sheet saved objects" - } - } - } } } }, @@ -8396,25 +8237,6 @@ } } }, - "timelion": { - "type": "array", - "items": { - "properties": { - "key": { - "type": "keyword", - "_meta": { - "description": "The event that is tracked" - } - }, - "value": { - "type": "long", - "_meta": { - "description": "The value of the event" - } - } - } - } - }, "csm": { "type": "array", "items": { diff --git a/src/plugins/telemetry/schema/oss_root.json b/src/plugins/telemetry/schema/oss_root.json index c4dd1096a6e98..3748485465cc0 100644 --- a/src/plugins/telemetry/schema/oss_root.json +++ b/src/plugins/telemetry/schema/oss_root.json @@ -64,13 +64,6 @@ }, "kibana": { "properties": { - "timelion_sheet": { - "properties": { - "total": { - "type": "long" - } - } - }, "visualization": { "properties": { "total": { diff --git a/src/plugins/timelion/README.md b/src/plugins/timelion/README.md deleted file mode 100644 index d29a33028e967..0000000000000 --- a/src/plugins/timelion/README.md +++ /dev/null @@ -1,2 +0,0 @@ -Contains the deprecated timelion application. For the timelion visualization, -which also contains the timelion APIs and backend, look at the vis_type_timelion plugin. diff --git a/src/plugins/timelion/kibana.json b/src/plugins/timelion/kibana.json deleted file mode 100644 index 4d48462a1ed6a..0000000000000 --- a/src/plugins/timelion/kibana.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": "timelion", - "version": "kibana", - "ui": true, - "server": true, - "requiredBundles": [ - "kibanaLegacy", - "kibanaUtils", - "visTypeTimelion" - ], - "requiredPlugins": [ - "visualizations", - "data", - "navigation", - "visTypeTimelion", - "savedObjects", - "kibanaLegacy" - ], - "owner": { - "name": "Vis Editors", - "githubTeam": "kibana-vis-editors" - } -} diff --git a/src/plugins/timelion/public/_app.scss b/src/plugins/timelion/public/_app.scss deleted file mode 100644 index d8a6eb423a670..0000000000000 --- a/src/plugins/timelion/public/_app.scss +++ /dev/null @@ -1,83 +0,0 @@ -.timApp { - position: relative; - background: $euiColorEmptyShade; - - [ng-click] { - cursor: pointer; - } -} - -.timApp__container { - margin: $euiSizeM; -} - -.timApp__menus { - margin: $euiSizeM; -} - -.timApp__title { - display: flex; - align-items: center; - padding: $euiSizeM $euiSizeS; - font-size: $euiSize; - font-weight: $euiFontWeightBold; - border-bottom: 1px solid $euiColorLightShade; - flex-grow: 1; - background-color: $euiColorEmptyShade; -} - -.timApp__stats { - font-weight: $euiFontWeightRegular; - color: $euiColorMediumShade; -} - -.timApp__form { - display: flex; - align-items: flex-start; - margin-top: $euiSize; - margin-bottom: $euiSize; -} - -.timApp__expression { - display: flex; - flex: 1; - margin-right: $euiSizeS; -} - -.timApp__button { - margin-top: $euiSizeS; - padding: $euiSizeXS $euiSizeM; - font-size: $euiSize; - border: none; - border-radius: $euiSizeXS; - color: $euiColorEmptyShade; - background-color: $euiColorPrimary; -} - -.timApp__button--secondary { - margin-top: $euiSizeS; - padding: $euiSizeXS $euiSizeM; - font-size: $euiSize; - border: 1px solid $euiColorPrimary; - border-radius: $euiSizeXS; - color: $euiColorPrimary; - width: 100%; -} - -.timApp__sectionTitle { - margin-bottom: $euiSizeM; - font-size: 18px; - color: $euiColorDarkestShade; -} - -.timApp__helpText { - margin-bottom: $euiSize; - font-size: 14px; - color: $euiColorDarkShade; -} - -.timApp__label { - font-size: $euiSize; - line-height: 1.5; - font-weight: $euiFontWeightBold; -} diff --git a/src/plugins/timelion/public/_base.scss b/src/plugins/timelion/public/_base.scss deleted file mode 100644 index e71196a2e6df9..0000000000000 --- a/src/plugins/timelion/public/_base.scss +++ /dev/null @@ -1,18 +0,0 @@ -// Angular form states -.ng-invalid { - &.ng-dirty, - &.ng-touched { - border-color: $euiColorDanger; - } -} - -input[type='radio'], -input[type='checkbox'], -.radio, -.checkbox { - &[disabled], - fieldset[disabled] & { - cursor: default; - opacity: .8; - } -} diff --git a/src/plugins/timelion/public/app.js b/src/plugins/timelion/public/app.js deleted file mode 100644 index 4a4b2be679dd3..0000000000000 --- a/src/plugins/timelion/public/app.js +++ /dev/null @@ -1,655 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import _ from 'lodash'; - -import { i18n } from '@kbn/i18n'; - -import { createHashHistory } from 'history'; - -import { createKbnUrlStateStorage, withNotifyOnErrors } from '../../kibana_utils/public'; -import { syncQueryStateWithUrl } from '../../data/public'; - -import { getSavedSheetBreadcrumbs, getCreateBreadcrumbs } from './breadcrumbs'; -import { - addFatalError, - registerListenEventListener, - watchMultiDecorator, -} from '../../kibana_legacy/public'; -import { _LEGACY_ as visTypeTimelion } from '../../vis_type_timelion/public'; -import { initCellsDirective } from './directives/cells/cells'; -import { initFullscreenDirective } from './directives/fullscreen/fullscreen'; -import { initFixedElementDirective } from './directives/fixed_element'; -import { initTimelionLoadSheetDirective } from './directives/timelion_load_sheet'; -import { initTimelionHelpDirective } from './directives/timelion_help/timelion_help'; -import { initTimelionSaveSheetDirective } from './directives/timelion_save_sheet'; -import { initTimelionOptionsSheetDirective } from './directives/timelion_options_sheet'; -import { initSavedObjectSaveAsCheckBoxDirective } from './directives/saved_object_save_as_checkbox'; -import { initSavedObjectFinderDirective } from './directives/saved_object_finder'; -import { initTimelionTabsDirective } from './components/timelionhelp_tabs_directive'; -import { initTimelionTDeprecationDirective } from './components/timelion_deprecation_directive'; -import { initTimelionTopNavDirective } from './components/timelion_top_nav_directive'; -import { initInputFocusDirective } from './directives/input_focus'; -import { Chart } from './directives/chart/chart'; -import { TimelionInterval } from './directives/timelion_interval/timelion_interval'; -import { timelionExpInput } from './directives/timelion_expression_input'; -import { TimelionExpressionSuggestions } from './directives/timelion_expression_suggestions/timelion_expression_suggestions'; -import { initSavedSheetService } from './services/saved_sheets'; -import { initTimelionAppState } from './timelion_app_state'; - -import rootTemplate from './index.html'; - -export function initTimelionApp(app, deps) { - app.run(registerListenEventListener); - - const savedSheetLoader = initSavedSheetService(app, deps); - - app.factory('history', () => createHashHistory()); - app.factory('kbnUrlStateStorage', (history) => - createKbnUrlStateStorage({ - history, - useHash: deps.core.uiSettings.get('state:storeInSessionStorage'), - ...withNotifyOnErrors(deps.core.notifications.toasts), - }) - ); - app.config(watchMultiDecorator); - - app - .controller('TimelionVisController', function ($scope) { - $scope.$on('timelionChartRendered', (event) => { - event.stopPropagation(); - $scope.renderComplete(); - }); - }) - .constant('timelionPanels', deps.timelionPanels) - .directive('chart', Chart) - .directive('timelionInterval', TimelionInterval) - .directive('timelionExpressionSuggestions', TimelionExpressionSuggestions) - .directive('timelionExpressionInput', timelionExpInput(deps)); - - initTimelionHelpDirective(app); - initInputFocusDirective(app); - initTimelionTabsDirective(app, deps); - initTimelionTDeprecationDirective(app, deps); - initTimelionTopNavDirective(app, deps); - initSavedObjectFinderDirective(app, savedSheetLoader, deps.core.uiSettings); - initSavedObjectSaveAsCheckBoxDirective(app); - initCellsDirective(app); - initFixedElementDirective(app); - initFullscreenDirective(app); - initTimelionSaveSheetDirective(app); - initTimelionLoadSheetDirective(app); - initTimelionOptionsSheetDirective(app); - - const location = 'Timelion'; - - app.directive('timelionApp', function () { - return { - restrict: 'E', - controllerAs: 'timelionApp', - controller: timelionController, - }; - }); - - function timelionController( - $http, - $route, - $routeParams, - $scope, - $timeout, - history, - kbnUrlStateStorage - ) { - // Keeping this at app scope allows us to keep the current page when the user - // switches to say, the timepicker. - $scope.page = deps.core.uiSettings.get('timelion:showTutorial', true) ? 1 : 0; - $scope.setPage = (page) => ($scope.page = page); - const timefilter = deps.plugins.data.query.timefilter.timefilter; - - timefilter.enableAutoRefreshSelector(); - timefilter.enableTimeRangeSelector(); - - deps.core.chrome.docTitle.change('Timelion - Kibana'); - - // starts syncing `_g` portion of url with query services - const { stop: stopSyncingQueryServiceStateWithUrl } = syncQueryStateWithUrl( - deps.plugins.data.query, - kbnUrlStateStorage - ); - - const savedSheet = $route.current.locals.savedSheet; - - function getStateDefaults() { - return { - sheet: savedSheet.timelion_sheet, - selected: 0, - columns: savedSheet.timelion_columns, - rows: savedSheet.timelion_rows, - interval: savedSheet.timelion_interval, - }; - } - - const { stateContainer, stopStateSync } = initTimelionAppState({ - stateDefaults: getStateDefaults(), - kbnUrlStateStorage, - }); - - $scope.state = _.cloneDeep(stateContainer.getState()); - $scope.expression = _.clone($scope.state.sheet[$scope.state.selected]); - $scope.updatedSheets = []; - - const savedVisualizations = deps.plugins.visualizations.savedVisualizationsLoader; - const timezone = visTypeTimelion.getTimezone(deps.core.uiSettings); - - const defaultExpression = '.es(*)'; - - $scope.topNavMenu = getTopNavMenu(); - - $timeout(function () { - if (deps.core.uiSettings.get('timelion:showTutorial', true)) { - $scope.toggleMenu('showHelp'); - } - }, 0); - - $scope.transient = {}; - - function getTopNavMenu() { - const newSheetAction = { - id: 'new', - label: i18n.translate('timelion.topNavMenu.newSheetButtonLabel', { - defaultMessage: 'New', - }), - description: i18n.translate('timelion.topNavMenu.newSheetButtonAriaLabel', { - defaultMessage: 'New Sheet', - }), - run: function () { - history.push('/'); - $route.reload(); - }, - testId: 'timelionNewButton', - }; - - const addSheetAction = { - id: 'add', - label: i18n.translate('timelion.topNavMenu.addChartButtonLabel', { - defaultMessage: 'Add', - }), - description: i18n.translate('timelion.topNavMenu.addChartButtonAriaLabel', { - defaultMessage: 'Add a chart', - }), - run: function () { - $scope.$evalAsync(() => $scope.newCell()); - }, - testId: 'timelionAddChartButton', - }; - - const saveSheetAction = { - id: 'save', - label: i18n.translate('timelion.topNavMenu.saveSheetButtonLabel', { - defaultMessage: 'Save', - }), - description: i18n.translate('timelion.topNavMenu.saveSheetButtonAriaLabel', { - defaultMessage: 'Save Sheet', - }), - run: () => { - $scope.$evalAsync(() => $scope.toggleMenu('showSave')); - }, - testId: 'timelionSaveButton', - }; - - const deleteSheetAction = { - id: 'delete', - label: i18n.translate('timelion.topNavMenu.deleteSheetButtonLabel', { - defaultMessage: 'Delete', - }), - description: i18n.translate('timelion.topNavMenu.deleteSheetButtonAriaLabel', { - defaultMessage: 'Delete current sheet', - }), - disableButton: function () { - return !savedSheet.id; - }, - run: function () { - const title = savedSheet.title; - function doDelete() { - savedSheet - .delete() - .then(() => { - deps.core.notifications.toasts.addSuccess( - i18n.translate('timelion.topNavMenu.delete.modal.successNotificationText', { - defaultMessage: `Deleted '{title}'`, - values: { title }, - }) - ); - history.push('/'); - }) - .catch((error) => addFatalError(deps.core.fatalErrors, error, location)); - } - - const confirmModalOptions = { - confirmButtonText: i18n.translate( - 'timelion.topNavMenu.delete.modal.confirmButtonLabel', - { - defaultMessage: 'Delete', - } - ), - title: i18n.translate('timelion.topNavMenu.delete.modalTitle', { - defaultMessage: `Delete Timelion sheet '{title}'?`, - values: { title }, - }), - }; - - $scope.$evalAsync(() => { - deps.core.overlays - .openConfirm( - i18n.translate('timelion.topNavMenu.delete.modal.warningText', { - defaultMessage: `You can't recover deleted sheets.`, - }), - confirmModalOptions - ) - .then((isConfirmed) => { - if (isConfirmed) { - doDelete(); - } - }); - }); - }, - testId: 'timelionDeleteButton', - }; - - const openSheetAction = { - id: 'open', - label: i18n.translate('timelion.topNavMenu.openSheetButtonLabel', { - defaultMessage: 'Open', - }), - description: i18n.translate('timelion.topNavMenu.openSheetButtonAriaLabel', { - defaultMessage: 'Open Sheet', - }), - run: () => { - $scope.$evalAsync(() => $scope.toggleMenu('showLoad')); - }, - testId: 'timelionOpenButton', - }; - - const optionsAction = { - id: 'options', - label: i18n.translate('timelion.topNavMenu.optionsButtonLabel', { - defaultMessage: 'Options', - }), - description: i18n.translate('timelion.topNavMenu.optionsButtonAriaLabel', { - defaultMessage: 'Options', - }), - run: () => { - $scope.$evalAsync(() => $scope.toggleMenu('showOptions')); - }, - testId: 'timelionOptionsButton', - }; - - const helpAction = { - id: 'help', - label: i18n.translate('timelion.topNavMenu.helpButtonLabel', { - defaultMessage: 'Help', - }), - description: i18n.translate('timelion.topNavMenu.helpButtonAriaLabel', { - defaultMessage: 'Help', - }), - run: () => { - $scope.$evalAsync(() => $scope.toggleMenu('showHelp')); - }, - testId: 'timelionDocsButton', - }; - - if (deps.core.application.capabilities.timelion.save) { - return [ - newSheetAction, - addSheetAction, - saveSheetAction, - deleteSheetAction, - openSheetAction, - optionsAction, - helpAction, - ]; - } - return [newSheetAction, addSheetAction, openSheetAction, optionsAction, helpAction]; - } - - let refresher; - const setRefreshData = function () { - if (refresher) $timeout.cancel(refresher); - const interval = timefilter.getRefreshInterval(); - if (interval.value > 0 && !interval.pause) { - function startRefresh() { - refresher = $timeout(function () { - if (!$scope.running) $scope.search(); - startRefresh(); - }, interval.value); - } - startRefresh(); - } - }; - - const init = function () { - $scope.running = false; - $scope.search(); - setRefreshData(); - - $scope.model = { - timeRange: timefilter.getTime(), - refreshInterval: timefilter.getRefreshInterval(), - }; - - const unsubscribeStateUpdates = stateContainer.subscribe((state) => { - const clonedState = _.cloneDeep(state); - $scope.updatedSheets.forEach((updatedSheet) => { - clonedState.sheet[updatedSheet.id] = updatedSheet.expression; - }); - $scope.state = clonedState; - $scope.opts.state = clonedState; - $scope.expression = _.clone($scope.state.sheet[$scope.state.selected]); - $scope.search(); - }); - - timefilter.getFetch$().subscribe($scope.search); - - $scope.opts = { - saveExpression: saveExpression, - saveSheet: saveSheet, - savedSheet: savedSheet, - state: _.cloneDeep(stateContainer.getState()), - search: $scope.search, - dontShowHelp: function () { - deps.core.uiSettings.set('timelion:showTutorial', false); - $scope.setPage(0); - $scope.closeMenus(); - }, - }; - - $scope.$watch('opts.state.rows', function (newRow) { - const state = stateContainer.getState(); - if (state.rows !== newRow) { - stateContainer.transitions.set('rows', newRow); - } - }); - - $scope.$watch('opts.state.columns', function (newColumn) { - const state = stateContainer.getState(); - if (state.columns !== newColumn) { - stateContainer.transitions.set('columns', newColumn); - } - }); - - $scope.menus = { - showHelp: false, - showSave: false, - showLoad: false, - showOptions: false, - }; - - $scope.toggleMenu = (menuName) => { - const curState = $scope.menus[menuName]; - $scope.closeMenus(); - $scope.menus[menuName] = !curState; - }; - - $scope.closeMenus = () => { - _.forOwn($scope.menus, function (value, key) { - $scope.menus[key] = false; - }); - }; - - $scope.$on('$destroy', () => { - stopSyncingQueryServiceStateWithUrl(); - unsubscribeStateUpdates(); - stopStateSync(); - }); - }; - - $scope.onTimeUpdate = function ({ dateRange }) { - $scope.model.timeRange = { - ...dateRange, - }; - timefilter.setTime(dateRange); - if (!$scope.running) $scope.search(); - }; - - $scope.onRefreshChange = function ({ isPaused, refreshInterval }) { - $scope.model.refreshInterval = { - pause: isPaused, - value: refreshInterval, - }; - timefilter.setRefreshInterval({ - pause: isPaused, - value: refreshInterval ? refreshInterval : $scope.refreshInterval.value, - }); - - setRefreshData(); - }; - - $scope.$watch( - function () { - return savedSheet.lastSavedTitle; - }, - function (newTitle) { - if (savedSheet.id && newTitle) { - deps.core.chrome.docTitle.change(newTitle); - } - } - ); - - $scope.$watch('expression', function (newExpression) { - const state = stateContainer.getState(); - if (state.sheet[state.selected] !== newExpression) { - const updatedSheet = $scope.updatedSheets.find( - (updatedSheet) => updatedSheet.id === state.selected - ); - if (updatedSheet) { - updatedSheet.expression = newExpression; - } else { - $scope.updatedSheets.push({ - id: state.selected, - expression: newExpression, - }); - } - } - }); - - $scope.toggle = function (property) { - $scope[property] = !$scope[property]; - }; - - $scope.changeInterval = function (interval) { - $scope.currentInterval = interval; - }; - - $scope.updateChart = function () { - const state = stateContainer.getState(); - const newSheet = _.clone(state.sheet); - if ($scope.updatedSheets.length) { - $scope.updatedSheets.forEach((updatedSheet) => { - newSheet[updatedSheet.id] = updatedSheet.expression; - }); - $scope.updatedSheets = []; - } - stateContainer.transitions.updateState({ - interval: $scope.currentInterval ? $scope.currentInterval : state.interval, - sheet: newSheet, - }); - }; - - $scope.newSheet = function () { - history.push('/'); - }; - - $scope.removeSheet = function (removedIndex) { - const state = stateContainer.getState(); - const newSheet = state.sheet.filter((el, index) => index !== removedIndex); - $scope.updatedSheets = $scope.updatedSheets.filter((el) => el.id !== removedIndex); - stateContainer.transitions.updateState({ - sheet: newSheet, - selected: removedIndex ? removedIndex - 1 : removedIndex, - }); - }; - - $scope.newCell = function () { - const state = stateContainer.getState(); - const newSheet = [...state.sheet, defaultExpression]; - stateContainer.transitions.updateState({ sheet: newSheet, selected: newSheet.length - 1 }); - }; - - $scope.setActiveCell = function (cell) { - const state = stateContainer.getState(); - if (state.selected !== cell) { - stateContainer.transitions.updateState({ sheet: $scope.state.sheet, selected: cell }); - } - }; - - $scope.search = function () { - $scope.running = true; - const state = stateContainer.getState(); - - // parse the time range client side to make sure it behaves like other charts - const timeRangeBounds = timefilter.getBounds(); - - const httpResult = $http - .post('../api/timelion/run', { - sheet: state.sheet, - time: _.assignIn( - { - from: timeRangeBounds.min, - to: timeRangeBounds.max, - }, - { - interval: state.interval, - timezone: timezone, - } - ), - }) - .then((resp) => resp.data) - .catch((resp) => { - throw resp.data; - }); - - httpResult - .then(function (resp) { - $scope.stats = resp.stats; - $scope.sheet = resp.sheet; - _.forEach(resp.sheet, function (cell) { - if (cell.exception && cell.plot !== state.selected) { - stateContainer.transitions.set('selected', cell.plot); - } - }); - $scope.running = false; - }) - .catch(function (resp) { - $scope.sheet = []; - $scope.running = false; - - const err = new Error(resp.message); - err.stack = resp.stack; - deps.core.notifications.toasts.addError(err, { - title: i18n.translate('timelion.searchErrorTitle', { - defaultMessage: 'Timelion request error', - }), - }); - }); - }; - - $scope.safeSearch = _.debounce($scope.search, 500); - - function saveSheet() { - const state = stateContainer.getState(); - savedSheet.timelion_sheet = state.sheet; - savedSheet.timelion_interval = state.interval; - savedSheet.timelion_columns = state.columns; - savedSheet.timelion_rows = state.rows; - savedSheet.save().then(function (id) { - if (id) { - deps.core.notifications.toasts.addSuccess({ - title: i18n.translate('timelion.saveSheet.successNotificationText', { - defaultMessage: `Saved sheet '{title}'`, - values: { title: savedSheet.title }, - }), - 'data-test-subj': 'timelionSaveSuccessToast', - }); - - if (savedSheet.id !== $routeParams.id) { - history.push(`/${savedSheet.id}`); - } - } - }); - } - - async function saveExpression(title) { - const vis = await deps.plugins.visualizations.createVis('timelion', { - title, - params: { - expression: $scope.state.sheet[$scope.state.selected], - interval: $scope.state.interval, - }, - }); - const state = deps.plugins.visualizations.convertFromSerializedVis(vis.serialize()); - const visSavedObject = await savedVisualizations.get(); - Object.assign(visSavedObject, state); - const id = await visSavedObject.save(); - if (id) { - deps.core.notifications.toasts.addSuccess( - i18n.translate('timelion.saveExpression.successNotificationText', { - defaultMessage: `Saved expression '{title}'`, - values: { title: state.title }, - }) - ); - } - } - - init(); - } - - app.config(function ($routeProvider) { - $routeProvider - .when('/:id?', { - template: rootTemplate, - reloadOnSearch: false, - k7Breadcrumbs: ($injector, $route) => - $injector.invoke( - $route.current.params.id ? getSavedSheetBreadcrumbs : getCreateBreadcrumbs - ), - badge: () => { - if (deps.core.application.capabilities.timelion.save) { - return undefined; - } - - return { - text: i18n.translate('timelion.badge.readOnly.text', { - defaultMessage: 'Read only', - }), - tooltip: i18n.translate('timelion.badge.readOnly.tooltip', { - defaultMessage: 'Unable to save Timelion sheets', - }), - iconType: 'glasses', - }; - }, - resolve: { - savedSheet: function (savedSheets, $route) { - return savedSheets - .get($route.current.params.id) - .then((savedSheet) => { - if ($route.current.params.id) { - deps.core.chrome.recentlyAccessed.add( - savedSheet.getFullPath(), - savedSheet.title, - savedSheet.id - ); - } - return savedSheet; - }) - .catch(); - }, - }, - }) - .otherwise('/'); - }); -} diff --git a/src/plugins/timelion/public/application.ts b/src/plugins/timelion/public/application.ts deleted file mode 100644 index 1e3cf43f62655..0000000000000 --- a/src/plugins/timelion/public/application.ts +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import './index.scss'; - -import { EuiIcon } from '@elastic/eui'; -import angular, { IModule } from 'angular'; -// required for `ngSanitize` angular module -import 'angular-sanitize'; -// required for ngRoute -import 'angular-route'; -import 'angular-sortable-view'; -import { i18nDirective, i18nFilter, I18nProvider } from '@kbn/i18n/angular'; -import { - IUiSettingsClient, - CoreStart, - PluginInitializerContext, - AppMountParameters, -} from 'kibana/public'; -import { getTimeChart } from './panels/timechart/timechart'; -import { Panel } from './panels/panel'; - -import { configureAppAngularModule } from '../../kibana_legacy/public'; -import { TimelionPluginStartDependencies } from './plugin'; -import { DataPublicPluginStart } from '../../data/public'; -// @ts-ignore -import { initTimelionApp } from './app'; - -export interface RenderDeps { - pluginInitializerContext: PluginInitializerContext; - mountParams: AppMountParameters; - core: CoreStart; - plugins: TimelionPluginStartDependencies; - timelionPanels: Map; -} - -export interface TimelionVisualizationDependencies { - uiSettings: IUiSettingsClient; - timelionPanels: Map; - data: DataPublicPluginStart; - $rootScope: any; - $compile: any; -} - -let angularModuleInstance: IModule | null = null; - -export const renderApp = (deps: RenderDeps) => { - if (!angularModuleInstance) { - angularModuleInstance = createLocalAngularModule(deps); - // global routing stuff - configureAppAngularModule( - angularModuleInstance, - { core: deps.core, env: deps.pluginInitializerContext.env }, - true - ); - initTimelionApp(angularModuleInstance, deps); - } - - const $injector = mountTimelionApp(deps.mountParams.appBasePath, deps.mountParams.element, deps); - - return () => { - $injector.get('$rootScope').$destroy(); - }; -}; - -function registerPanels(dependencies: TimelionVisualizationDependencies) { - const timeChartPanel: Panel = getTimeChart(dependencies); - - dependencies.timelionPanels.set(timeChartPanel.name, timeChartPanel); -} - -const mainTemplate = (basePath: string) => `
    - -
    `; - -const moduleName = 'app/timelion'; - -const thirdPartyAngularDependencies = ['ngSanitize', 'ngRoute', 'react', 'angular-sortable-view']; - -function mountTimelionApp(appBasePath: string, element: HTMLElement, deps: RenderDeps) { - const mountpoint = document.createElement('div'); - mountpoint.setAttribute('class', 'timelionAppContainer'); - // eslint-disable-next-line no-unsanitized/property - mountpoint.innerHTML = mainTemplate(appBasePath); - // bootstrap angular into detached element and attach it later to - // make angular-within-angular possible - const $injector = angular.bootstrap(mountpoint, [moduleName]); - - registerPanels({ - uiSettings: deps.core.uiSettings, - timelionPanels: deps.timelionPanels, - data: deps.plugins.data, - $rootScope: $injector.get('$rootScope'), - $compile: $injector.get('$compile'), - }); - element.appendChild(mountpoint); - return $injector; -} - -function createLocalAngularModule(deps: RenderDeps) { - createLocalI18nModule(); - createLocalIconModule(); - - const dashboardAngularModule = angular.module(moduleName, [ - ...thirdPartyAngularDependencies, - 'app/timelion/I18n', - 'app/timelion/icon', - ]); - return dashboardAngularModule; -} - -function createLocalIconModule() { - angular - .module('app/timelion/icon', ['react']) - .directive('icon', (reactDirective) => reactDirective(EuiIcon)); -} - -function createLocalI18nModule() { - angular - .module('app/timelion/I18n', []) - .provider('i18n', I18nProvider) - .filter('i18n', i18nFilter) - .directive('i18nId', i18nDirective); -} diff --git a/src/plugins/timelion/public/breadcrumbs.js b/src/plugins/timelion/public/breadcrumbs.js deleted file mode 100644 index aff173823946b..0000000000000 --- a/src/plugins/timelion/public/breadcrumbs.js +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { i18n } from '@kbn/i18n'; - -const ROOT_BREADCRUMB = { - text: i18n.translate('timelion.breadcrumbs.root', { - defaultMessage: 'Timelion', - }), - href: '#', -}; - -export function getCreateBreadcrumbs() { - return [ - ROOT_BREADCRUMB, - { - text: i18n.translate('timelion.breadcrumbs.create', { - defaultMessage: 'Create', - }), - }, - ]; -} - -export function getSavedSheetBreadcrumbs($route) { - const { savedSheet } = $route.current.locals; - return [ - ROOT_BREADCRUMB, - { - text: savedSheet.title, - }, - ]; -} diff --git a/src/plugins/timelion/public/components/timelion_deprecation.tsx b/src/plugins/timelion/public/components/timelion_deprecation.tsx deleted file mode 100644 index 117aabed6773c..0000000000000 --- a/src/plugins/timelion/public/components/timelion_deprecation.tsx +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { FormattedMessage } from '@kbn/i18n/react'; -import { EuiSpacer, EuiCallOut, EuiLink } from '@elastic/eui'; -import React from 'react'; -import { DocLinksStart } from '../../../../core/public'; - -export const TimelionDeprecation = ({ links }: DocLinksStart) => { - const timelionDeprecationLink = links.visualize.timelionDeprecation; - return ( - <> - - - - ), - }} - /> - } - color="warning" - iconType="alert" - size="s" - /> - - - ); -}; diff --git a/src/plugins/timelion/public/components/timelion_deprecation_directive.js b/src/plugins/timelion/public/components/timelion_deprecation_directive.js deleted file mode 100644 index 2aeea00991864..0000000000000 --- a/src/plugins/timelion/public/components/timelion_deprecation_directive.js +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import React from 'react'; -import { TimelionDeprecation } from './timelion_deprecation'; - -export function initTimelionTDeprecationDirective(app, deps) { - app.directive('timelionDeprecation', function (reactDirective) { - return reactDirective( - () => { - return ( - - - - ); - }, - [], - { - restrict: 'E', - scope: { - docLinks: '=', - }, - } - ); - }); -} diff --git a/src/plugins/timelion/public/components/timelion_top_nav_directive.js b/src/plugins/timelion/public/components/timelion_top_nav_directive.js deleted file mode 100644 index 4ec3b40e47c52..0000000000000 --- a/src/plugins/timelion/public/components/timelion_top_nav_directive.js +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import React from 'react'; - -export function initTimelionTopNavDirective(app, deps) { - app.directive('timelionTopNav', function (reactDirective) { - return reactDirective( - (props) => { - const { TopNavMenu } = deps.plugins.navigation.ui; - return ( - - - - ); - }, - [ - ['topNavMenu', { watchDepth: 'reference' }], - ['onTimeUpdate', { watchDepth: 'reference' }], - ], - { - restrict: 'E', - scope: { - topNavMenu: '=', - onTimeUpdate: '=', - }, - } - ); - }); -} diff --git a/src/plugins/timelion/public/components/timelionhelp_tabs.js b/src/plugins/timelion/public/components/timelionhelp_tabs.js deleted file mode 100644 index 537e1bfa393b7..0000000000000 --- a/src/plugins/timelion/public/components/timelionhelp_tabs.js +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import PropTypes from 'prop-types'; -import React from 'react'; - -import { EuiTabs, EuiTab } from '@elastic/eui'; - -import { FormattedMessage } from '@kbn/i18n/react'; - -function handleClick(activateTab, tabName) { - activateTab(tabName); -} - -export function TimelionHelpTabs(props) { - return ( - - handleClick(props.activateTab, 'funcref')} - > - - - handleClick(props.activateTab, 'keyboardtips')} - > - - - - ); -} - -TimelionHelpTabs.propTypes = { - activeTab: PropTypes.string, - activateTab: PropTypes.func, -}; diff --git a/src/plugins/timelion/public/components/timelionhelp_tabs_directive.js b/src/plugins/timelion/public/components/timelionhelp_tabs_directive.js deleted file mode 100644 index a88e156cb5c51..0000000000000 --- a/src/plugins/timelion/public/components/timelionhelp_tabs_directive.js +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import React from 'react'; -import { TimelionHelpTabs } from './timelionhelp_tabs'; - -export function initTimelionTabsDirective(app, deps) { - app.directive('timelionHelpTabs', function (reactDirective) { - return reactDirective( - (props) => { - return ( - - - - ); - }, - [['activeTab'], ['activateTab', { watchDepth: 'reference' }]], - { - restrict: 'E', - scope: { - activeTab: '=', - activateTab: '=', - }, - } - ); - }); -} diff --git a/src/plugins/timelion/public/directives/_form.scss b/src/plugins/timelion/public/directives/_form.scss deleted file mode 100644 index 37a0cc4c0f3e5..0000000000000 --- a/src/plugins/timelion/public/directives/_form.scss +++ /dev/null @@ -1,83 +0,0 @@ -.form-control { - @include euiFontSizeS; - display: block; - width: 100%; - height: $euiFormControlCompressedHeight; - padding: $euiSizeXS $euiSizeM; - border: $euiBorderThin; - background-color: $euiFormBackgroundColor; - color: $euiTextColor; - border-radius: $euiBorderRadius; - cursor: pointer; - - &:not([type='range']) { - appearance: none; - } - - &:focus { - border-color: $euiColorPrimary; - outline: none; - box-shadow: none; - } -} - -select.form-control { // stylelint-disable-line selector-no-qualifying-type - // Makes the select arrow similar to EUI's arrowDown icon - background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"%3E%3Cpath fill="#{hexToRGB($euiTextColor)}" d="M13.0688508,5.15725038 L8.38423975,9.76827428 C8.17054415,9.97861308 7.82999214,9.97914095 7.61576025,9.76827428 L2.93114915,5.15725038 C2.7181359,4.94758321 2.37277319,4.94758321 2.15975994,5.15725038 C1.94674669,5.36691756 1.94674669,5.70685522 2.15975994,5.9165224 L6.84437104,10.5275463 C7.48517424,11.1582836 8.51644979,11.1566851 9.15562896,10.5275463 L13.8402401,5.9165224 C14.0532533,5.70685522 14.0532533,5.36691756 13.8402401,5.15725038 C13.6272268,4.94758321 13.2818641,4.94758321 13.0688508,5.15725038 Z"/%3E%3C/svg%3E'); - background-size: $euiSize; - background-repeat: no-repeat; - background-position: calc(100% - #{$euiSizeS}); - padding-right: $euiSizeXL; -} - -.fullWidth { - width: 100%; -} - -.timDropdownWarning { - margin-bottom: $euiSize; - padding: $euiSizeXS $euiSizeS; - color: $euiColorDarkestShade; - border-left: solid 2px $euiColorDanger; - font-size: $euiSizeM; -} - -.timFormCheckbox { - display: flex; - align-items: center; - line-height: 1.5; - position: relative; -} - -.timFormCheckbox__input { - appearance: none; - background-color: $euiColorLightestShade; - border: 1px solid $euiColorLightShade; - border-radius: $euiSizeXS; - width: $euiSize; - height: $euiSize; - font-size: $euiSizeM; - transition: background-color .1s linear; -} - -.timFormCheckbox__input:checked { - border-color: $euiColorPrimary; - background-color: $euiColorPrimary; -} - -.timFormCheckbox__icon { - position: absolute; - top: 0; - left: 2px; -} - -.timFormTextarea { - padding: $euiSizeXS $euiSizeM; - font-size: $euiSize; - line-height: 1.5; - color: $euiColorDarkestShade; - background-color: $euiFormBackgroundColor; - border: 1px solid $euiColorLightShade; - border-radius: $euiSizeXS; - transition: border-color .1s linear; -} diff --git a/src/plugins/timelion/public/directives/_index.scss b/src/plugins/timelion/public/directives/_index.scss deleted file mode 100644 index 2a015711062a6..0000000000000 --- a/src/plugins/timelion/public/directives/_index.scss +++ /dev/null @@ -1,7 +0,0 @@ -@import './timelion_expression_input'; -@import './cells/index'; -@import './timelion_expression_suggestions/index'; -@import './timelion_help/index'; -@import './timelion_interval/index'; -@import './saved_object_finder'; -@import './form'; diff --git a/src/plugins/timelion/public/directives/_saved_object_finder.scss b/src/plugins/timelion/public/directives/_saved_object_finder.scss deleted file mode 100644 index 55882fe78e99e..0000000000000 --- a/src/plugins/timelion/public/directives/_saved_object_finder.scss +++ /dev/null @@ -1,132 +0,0 @@ -.list-group-menu { - &.select-mode a { - outline: none; - color: tintOrShade($euiColorPrimary, 10%, 10%); - } - - .list-group-menu-item { - list-style: none; - color: tintOrShade($euiColorPrimary, 10%, 10%); - - &.active { - font-weight: bold; - background-color: $euiColorLightShade; - } - - &:hover { - background-color: tintOrShade($euiColorPrimary, 90%, 90%); - } - - li { - list-style: none; - color: tintOrShade($euiColorPrimary, 10%, 10%); - } - } -} - -saved-object-finder { - - .timSearchBar { - display: flex; - align-items: center; - } - - .timSearchBar__section { - position: relative; - margin-right: $euiSize; - flex: 1; - } - - .timSearchBar__icon { - position: absolute; - top: $euiSizeS; - left: $euiSizeS; - font-size: $euiSize; - color: $euiColorDarkShade; - } - - .timSearchBar__input { - padding: $euiSizeS $euiSizeM; - color: $euiColorDarkestShade; - background-color: $euiColorEmptyShade; - border: 1px solid $euiColorLightShade; - border-radius: $euiSizeXS; - transition: border-color .1s linear; - padding-left: $euiSizeXL; - width: 100%; - font-size: $euiSize; - } - - .timSearchBar__pagecount { - font-size: $euiSize; - color: $euiColorDarkShade; - } - - .list-sort-button { - border-top-left-radius: 0; - border-top-right-radius: 0; - border: none; - padding: $euiSizeS $euiSize; - font-weight: $euiFontWeightRegular; - background-color: $euiColorLightestShade; - margin-top: $euiSize; - } - - .li-striped { - li { - border: none; - } - - li:nth-child(even) { - background-color: $euiColorLightestShade; - } - - li:nth-child(odd) { - background-color: $euiColorEmptyShade; - } - - .paginate-heading { - font-weight: $euiFontWeightRegular; - color: $euiColorDarkestShade; - } - - .list-group-item { - padding: $euiSizeS $euiSize; - - ul { - padding: 0; - display: flex; - flex-direction: row; - - .finder-type { - margin-right: $euiSizeS; - } - } - - a { - display: block; - color: $euiColorPrimary; - - i { - color: shade($euiColorPrimary, 10%); - margin-right: $euiSizeS; - } - } - - &:first-child { - border-top-left-radius: 0; - border-top-right-radius: 0; - } - - &.list-group-no-results p { - margin-bottom: 0; - } - } - } - - paginate { - paginate-controls { - margin: $euiSize; - } - } -} diff --git a/src/plugins/timelion/public/directives/_timelion_expression_input.scss b/src/plugins/timelion/public/directives/_timelion_expression_input.scss deleted file mode 100644 index e4294d8454c7c..0000000000000 --- a/src/plugins/timelion/public/directives/_timelion_expression_input.scss +++ /dev/null @@ -1,15 +0,0 @@ -/** - * 1. Anchor suggestions beneath input. - * 2. Allow for option of positioning suggestions absolutely. - */ - -.timExpressionInput__container { - flex: 1 1 auto; - display: flex; - flex-direction: column; /* 1 */ - position: relative; /* 2 */ -} - -.timExpressionInput { - min-height: 70px; // Matches buttons on the right with new vertical rhythm sizing -} diff --git a/src/plugins/timelion/public/directives/cells/_cells.scss b/src/plugins/timelion/public/directives/cells/_cells.scss deleted file mode 100644 index d1e5e976fc8d2..0000000000000 --- a/src/plugins/timelion/public/directives/cells/_cells.scss +++ /dev/null @@ -1,61 +0,0 @@ -.timCell { - display: inline-block; - cursor: pointer; - position: relative; - box-sizing: border-box; - border: 2px dashed transparent; - // sass-lint:disable-block no-important - padding-left: 0 !important; - padding-right: 0 !important; - margin-bottom: $euiSizeM; - - &.active { - border-color: $euiColorLightShade; - } -} - -.timCell.running { - opacity: .5; -} - -.timCell__actions { - position: absolute; - bottom: $euiSizeXS; - left: $euiSizeXS; - - > .timCell__action, - > .timCell__id { - @include euiFontSizeXS; - font-weight: $euiFontWeightBold; - color: $euiColorMediumShade; - display: inline-block; - text-align: center; - width: $euiSizeL; - height: $euiSizeL; - border-radius: $euiSizeL / 2; - border: $euiBorderThin; - background-color: $euiColorLightestShade; - z-index: $euiZLevel1; - } - - > .timCell__action { - opacity: 0; - - &:focus { - opacity: 1; - } - - &:hover, - &:focus { - color: $euiTextColor; - border-color: $euiColorMediumShade; - background-color: $euiColorLightShade; - } - } -} - -.timCell:hover { - .timCell__action { - opacity: 1; - } -} diff --git a/src/plugins/timelion/public/directives/cells/_index.scss b/src/plugins/timelion/public/directives/cells/_index.scss deleted file mode 100644 index 8611b4d8ba1d0..0000000000000 --- a/src/plugins/timelion/public/directives/cells/_index.scss +++ /dev/null @@ -1 +0,0 @@ -@import './cells'; diff --git a/src/plugins/timelion/public/directives/cells/cells.html b/src/plugins/timelion/public/directives/cells/cells.html deleted file mode 100644 index f90b85abaf920..0000000000000 --- a/src/plugins/timelion/public/directives/cells/cells.html +++ /dev/null @@ -1,52 +0,0 @@ -
    - -
    - -
    -
    -
    {{$index + 1}}
    - - - - -
    -
    - -
    diff --git a/src/plugins/timelion/public/directives/cells/cells.js b/src/plugins/timelion/public/directives/cells/cells.js deleted file mode 100644 index af9e315a7d944..0000000000000 --- a/src/plugins/timelion/public/directives/cells/cells.js +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { move } from './collection'; -import { initTimelionGridDirective } from '../timelion_grid'; - -import html from './cells.html'; - -export function initCellsDirective(app) { - initTimelionGridDirective(app); - - app.directive('timelionCells', function () { - return { - restrict: 'E', - scope: { - sheet: '=', - state: '=', - transient: '=', - onSearch: '=', - onSelect: '=', - onRemoveSheet: '=', - }, - template: html, - link: function ($scope) { - $scope.removeCell = function (index) { - $scope.onRemoveSheet(index); - }; - - $scope.dropCell = function (item, partFrom, partTo, indexFrom, indexTo) { - move($scope.sheet, indexFrom, indexTo); - $scope.onSelect(indexTo); - }; - }, - }; - }); -} diff --git a/src/plugins/timelion/public/directives/cells/collection.ts b/src/plugins/timelion/public/directives/cells/collection.ts deleted file mode 100644 index 188f00bef16ae..0000000000000 --- a/src/plugins/timelion/public/directives/cells/collection.ts +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import _ from 'lodash'; - -/** - * move an obj either up or down in the collection by - * injecting it either before/after the prev/next obj that - * satisfied the qualifier - * - * or, just from one index to another... - * - * @param {array} objs - the list to move the object within - * @param {number|any} obj - the object that should be moved, or the index that the object is currently at - * @param {number|boolean} below - the index to move the object to, or whether it should be moved up or down - * @param {function} qualifier - a lodash-y callback, object = _.where, string = _.pluck - * @return {array} - the objs argument - */ -export function move( - objs: any[], - obj: object | number, - below: number | boolean, - qualifier?: ((object: object, index: number) => any) | Record | string -): object[] { - const origI = _.isNumber(obj) ? obj : objs.indexOf(obj); - if (origI === -1) { - return objs; - } - - if (_.isNumber(below)) { - // move to a specific index - objs.splice(below, 0, objs.splice(origI, 1)[0]); - return objs; - } - - below = !!below; - qualifier = qualifier && _.iteratee(qualifier); - - const above = !below; - const finder = below ? _.findIndex : _.findLastIndex; - - // find the index of the next/previous obj that meets the qualifications - const targetI = finder(objs, (otherAgg, otherI) => { - if (below && otherI <= origI) { - return; - } - if (above && otherI >= origI) { - return; - } - return Boolean(_.isFunction(qualifier) && qualifier(otherAgg, otherI)); - }); - - if (targetI === -1) { - return objs; - } - - // place the obj at it's new index - objs.splice(targetI, 0, objs.splice(origI, 1)[0]); - return objs; -} diff --git a/src/plugins/timelion/public/directives/chart/chart.js b/src/plugins/timelion/public/directives/chart/chart.js deleted file mode 100644 index 8f02fb70436e7..0000000000000 --- a/src/plugins/timelion/public/directives/chart/chart.js +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { i18n } from '@kbn/i18n'; - -export function Chart(timelionPanels) { - return { - restrict: 'A', - scope: { - seriesList: '=chart', // The flot object, data, config and all - search: '=', // The function to execute to kick off a search - interval: '=', // Required for formatting x-axis ticks - rerenderTrigger: '=', - }, - link: function ($scope, $elem) { - let panelScope = $scope.$new(true); - - function render() { - panelScope.$destroy(); - - if (!$scope.seriesList) return; - - $scope.seriesList.render = $scope.seriesList.render || { - type: 'timechart', - }; - - const panelSchema = timelionPanels.get($scope.seriesList.render.type); - - if (!panelSchema) { - $elem.text( - i18n.translate('timelion.chart.seriesList.noSchemaWarning', { - defaultMessage: 'No such panel type: {renderType}', - values: { renderType: $scope.seriesList.render.type }, - }) - ); - return; - } - - panelScope = $scope.$new(true); - panelScope.seriesList = $scope.seriesList; - panelScope.interval = $scope.interval; - panelScope.search = $scope.search; - - panelSchema.render(panelScope, $elem); - } - - $scope.$watchGroup(['seriesList', 'rerenderTrigger'], render); - }, - }; -} diff --git a/src/plugins/timelion/public/directives/fixed_element.js b/src/plugins/timelion/public/directives/fixed_element.js deleted file mode 100644 index 4349161892367..0000000000000 --- a/src/plugins/timelion/public/directives/fixed_element.js +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import $ from 'jquery'; - -export function initFixedElementDirective(app) { - app.directive('fixedElementRoot', function () { - return { - restrict: 'A', - link: function ($elem) { - let fixedAt; - $(window).bind('scroll', function () { - const fixed = $('[fixed-element]', $elem); - const body = $('[fixed-element-body]', $elem); - const top = fixed.offset().top; - - if ($(window).scrollTop() > top) { - // This is a gross hack, but its better than it was. I guess - fixedAt = $(window).scrollTop(); - fixed.addClass(fixed.attr('fixed-element')); - body.addClass(fixed.attr('fixed-element-body')); - body.css({ top: fixed.height() }); - } - - if ($(window).scrollTop() < fixedAt) { - fixed.removeClass(fixed.attr('fixed-element')); - body.removeClass(fixed.attr('fixed-element-body')); - body.removeAttr('style'); - } - }); - }, - }; - }); -} diff --git a/src/plugins/timelion/public/directives/fullscreen/fullscreen.html b/src/plugins/timelion/public/directives/fullscreen/fullscreen.html deleted file mode 100644 index 1ed6aa82ea3b9..0000000000000 --- a/src/plugins/timelion/public/directives/fullscreen/fullscreen.html +++ /dev/null @@ -1,14 +0,0 @@ -
    -
    -
    - -
    -
    diff --git a/src/plugins/timelion/public/directives/fullscreen/fullscreen.js b/src/plugins/timelion/public/directives/fullscreen/fullscreen.js deleted file mode 100644 index 8403d861a4479..0000000000000 --- a/src/plugins/timelion/public/directives/fullscreen/fullscreen.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import html from './fullscreen.html'; - -export function initFullscreenDirective(app) { - app.directive('timelionFullscreen', function () { - return { - restrict: 'E', - scope: { - expression: '=', - series: '=', - state: '=', - transient: '=', - onSearch: '=', - }, - template: html, - }; - }); -} diff --git a/src/plugins/timelion/public/directives/input_focus.js b/src/plugins/timelion/public/directives/input_focus.js deleted file mode 100644 index 23b8c54d623c3..0000000000000 --- a/src/plugins/timelion/public/directives/input_focus.js +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -export function initInputFocusDirective(app) { - app.directive('inputFocus', function ($parse, $timeout) { - return { - restrict: 'A', - link: function ($scope, $elem, attrs) { - const isDisabled = attrs.disableInputFocus && $parse(attrs.disableInputFocus)($scope); - if (!isDisabled) { - $timeout(function () { - $elem.focus(); - if (attrs.inputFocus === 'select') $elem.select(); - }); - } - }, - }; - }); -} diff --git a/src/plugins/timelion/public/directives/key_map.ts b/src/plugins/timelion/public/directives/key_map.ts deleted file mode 100644 index 3e28bf3d7a3d5..0000000000000 --- a/src/plugins/timelion/public/directives/key_map.ts +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -export const keyMap: { [key: number]: string } = { - 8: 'backspace', - 9: 'tab', - 13: 'enter', - 16: 'shift', - 17: 'ctrl', - 18: 'alt', - 19: 'pause', - 20: 'capsLock', - 27: 'escape', - 32: 'space', - 33: 'pageUp', - 34: 'pageDown', - 35: 'end', - 36: 'home', - 37: 'left', - 38: 'up', - 39: 'right', - 40: 'down', - 45: 'insert', - 46: 'delete', - 48: '0', - 49: '1', - 50: '2', - 51: '3', - 52: '4', - 53: '5', - 54: '6', - 55: '7', - 56: '8', - 57: '9', - 65: 'a', - 66: 'b', - 67: 'c', - 68: 'd', - 69: 'e', - 70: 'f', - 71: 'g', - 72: 'h', - 73: 'i', - 74: 'j', - 75: 'k', - 76: 'l', - 77: 'm', - 78: 'n', - 79: 'o', - 80: 'p', - 81: 'q', - 82: 'r', - 83: 's', - 84: 't', - 85: 'u', - 86: 'v', - 87: 'w', - 88: 'x', - 89: 'y', - 90: 'z', - 91: 'leftWindowKey', - 92: 'rightWindowKey', - 93: 'selectKey', - 96: '0', - 97: '1', - 98: '2', - 99: '3', - 100: '4', - 101: '5', - 102: '6', - 103: '7', - 104: '8', - 105: '9', - 106: 'multiply', - 107: 'add', - 109: 'subtract', - 110: 'period', - 111: 'divide', - 112: 'f1', - 113: 'f2', - 114: 'f3', - 115: 'f4', - 116: 'f5', - 117: 'f6', - 118: 'f7', - 119: 'f8', - 120: 'f9', - 121: 'f10', - 122: 'f11', - 123: 'f12', - 144: 'numLock', - 145: 'scrollLock', - 186: 'semiColon', - 187: 'equalSign', - 188: 'comma', - 189: 'dash', - 190: 'period', - 191: 'forwardSlash', - 192: 'graveAccent', - 219: 'openBracket', - 220: 'backSlash', - 221: 'closeBracket', - 222: 'singleQuote', - 224: 'meta', -}; diff --git a/src/plugins/timelion/public/directives/saved_object_finder.html b/src/plugins/timelion/public/directives/saved_object_finder.html deleted file mode 100644 index 1ce10efe4e0a8..0000000000000 --- a/src/plugins/timelion/public/directives/saved_object_finder.html +++ /dev/null @@ -1,112 +0,0 @@ -
    -
    -
    - - -
    - -
    -

    -
    - - - -
    -
    -
    -
    - - - -
    - diff --git a/src/plugins/timelion/public/directives/saved_object_finder.js b/src/plugins/timelion/public/directives/saved_object_finder.js deleted file mode 100644 index 3bd6a2d9581f4..0000000000000 --- a/src/plugins/timelion/public/directives/saved_object_finder.js +++ /dev/null @@ -1,302 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import _ from 'lodash'; -import rison from 'rison-node'; -import savedObjectFinderTemplate from './saved_object_finder.html'; -import { keyMap } from './key_map'; -import { - PaginateControlsDirectiveProvider, - PaginateDirectiveProvider, -} from '../../../kibana_legacy/public'; -import { PER_PAGE_SETTING } from '../../../saved_objects/public'; -import { VISUALIZE_ENABLE_LABS_SETTING } from '../../../visualizations/public'; - -export function initSavedObjectFinderDirective(app, savedSheetLoader, uiSettings) { - app - .directive('paginate', PaginateDirectiveProvider) - .directive('paginateControls', PaginateControlsDirectiveProvider) - .directive('savedObjectFinder', function () { - return { - restrict: 'E', - scope: { - type: '@', - // optional make-url attr, sets the userMakeUrl in our scope - userMakeUrl: '=?makeUrl', - // optional on-choose attr, sets the userOnChoose in our scope - userOnChoose: '=?onChoose', - // optional useLocalManagement attr, removes link to management section - useLocalManagement: '=?useLocalManagement', - /** - * @type {function} - an optional function. If supplied an `Add new X` button is shown - * and this function is called when clicked. - */ - onAddNew: '=', - /** - * @{type} boolean - set this to true, if you don't want the search box above the - * table to automatically gain focus once loaded - */ - disableAutoFocus: '=', - }, - template: savedObjectFinderTemplate, - controllerAs: 'finder', - controller: function ($scope, $element, $location, history) { - const self = this; - - // the text input element - const $input = $element.find('input[ng-model=filter]'); - - // The number of items to show in the list - $scope.perPage = uiSettings.get(PER_PAGE_SETTING); - - // the list that will hold the suggestions - const $list = $element.find('ul'); - - // the current filter string, used to check that returned results are still useful - let currentFilter = $scope.filter; - - // the most recently entered search/filter - let prevSearch; - - // the list of hits, used to render display - self.hits = []; - - self.service = savedSheetLoader; - self.properties = self.service.loaderProperties; - - filterResults(); - - /** - * Boolean that keeps track of whether hits are sorted ascending (true) - * or descending (false) by title - * @type {Boolean} - */ - self.isAscending = true; - - /** - * Sorts saved object finder hits either ascending or descending - * @param {Array} hits Array of saved finder object hits - * @return {Array} Array sorted either ascending or descending - */ - self.sortHits = function (hits) { - self.isAscending = !self.isAscending; - self.hits = self.isAscending - ? _.sortBy(hits, ['title']) - : _.sortBy(hits, ['title']).reverse(); - }; - - /** - * Passed the hit objects and will determine if the - * hit should have a url in the UI, returns it if so - * @return {string|null} - the url or nothing - */ - self.makeUrl = function (hit) { - if ($scope.userMakeUrl) { - return $scope.userMakeUrl(hit); - } - - if (!$scope.userOnChoose) { - return hit.url; - } - - return '#'; - }; - - self.preventClick = function ($event) { - $event.preventDefault(); - }; - - /** - * Called when a hit object is clicked, can override the - * url behavior if necessary. - */ - self.onChoose = function (hit, $event) { - if ($scope.userOnChoose) { - $scope.userOnChoose(hit, $event); - } - - const url = self.makeUrl(hit); - if (!url || url === '#' || url.charAt(0) !== '#') return; - - $event.preventDefault(); - - history.push(url.substr(1)); - }; - - $scope.$watch('filter', function (newFilter) { - // ensure that the currentFilter changes from undefined to '' - // which triggers - currentFilter = newFilter || ''; - filterResults(); - }); - - $scope.pageFirstItem = 0; - $scope.pageLastItem = 0; - $scope.onPageChanged = (page) => { - $scope.pageFirstItem = page.firstItem; - $scope.pageLastItem = page.lastItem; - }; - - //manages the state of the keyboard selector - self.selector = { - enabled: false, - index: -1, - }; - - self.getLabel = function () { - return _.words(self.properties.nouns).map(_.capitalize).join(' '); - }; - - //key handler for the filter text box - self.filterKeyDown = function ($event) { - switch (keyMap[$event.keyCode]) { - case 'enter': - if (self.hitCount !== 1) return; - const hit = self.hits[0]; - if (!hit) return; - - self.onChoose(hit, $event); - $event.preventDefault(); - break; - } - }; - - //key handler for the list items - self.hitKeyDown = function ($event, page, paginate) { - switch (keyMap[$event.keyCode]) { - case 'tab': - if (!self.selector.enabled) break; - - self.selector.index = -1; - self.selector.enabled = false; - - //if the user types shift-tab return to the textbox - //if the user types tab, set the focus to the currently selected hit. - if ($event.shiftKey) { - $input.focus(); - } else { - $list.find('li.active a').focus(); - } - - $event.preventDefault(); - break; - case 'down': - if (!self.selector.enabled) break; - - if (self.selector.index + 1 < page.length) { - self.selector.index += 1; - } - $event.preventDefault(); - break; - case 'up': - if (!self.selector.enabled) break; - - if (self.selector.index > 0) { - self.selector.index -= 1; - } - $event.preventDefault(); - break; - case 'right': - if (!self.selector.enabled) break; - - if (page.number < page.count) { - paginate.goToPage(page.number + 1); - self.selector.index = 0; - selectTopHit(); - } - $event.preventDefault(); - break; - case 'left': - if (!self.selector.enabled) break; - - if (page.number > 1) { - paginate.goToPage(page.number - 1); - self.selector.index = 0; - selectTopHit(); - } - $event.preventDefault(); - break; - case 'escape': - if (!self.selector.enabled) break; - - $input.focus(); - $event.preventDefault(); - break; - case 'enter': - if (!self.selector.enabled) break; - - const hitIndex = (page.number - 1) * paginate.perPage + self.selector.index; - const hit = self.hits[hitIndex]; - if (!hit) break; - - self.onChoose(hit, $event); - $event.preventDefault(); - break; - case 'shift': - break; - default: - $input.focus(); - break; - } - }; - - self.hitBlur = function () { - self.selector.index = -1; - self.selector.enabled = false; - }; - - self.manageObjects = function (type) { - $location.url('/management/kibana/objects?_a=' + rison.encode({ tab: type })); - }; - - self.hitCountNoun = function () { - return (self.hitCount === 1 - ? self.properties.noun - : self.properties.nouns - ).toLowerCase(); - }; - - function selectTopHit() { - setTimeout(function () { - //triggering a focus event kicks off a new angular digest cycle. - $list.find('a:first').focus(); - }, 0); - } - - function filterResults() { - if (!self.service) return; - if (!self.properties) return; - - // track the filter that we use for this search, - // but ensure that we don't search for the same - // thing twice. This is called from multiple places - // and needs to be smart about when it actually searches - const filter = currentFilter; - if (prevSearch === filter) return; - - prevSearch = filter; - - const isLabsEnabled = uiSettings.get(VISUALIZE_ENABLE_LABS_SETTING); - self.service.find(filter).then(function (hits) { - hits.hits = hits.hits.filter( - (hit) => isLabsEnabled || _.get(hit, 'type.stage') !== 'experimental' - ); - hits.total = hits.hits.length; - - // ensure that we don't display old results - // as we can't really cancel requests - if (currentFilter === filter) { - self.hitCount = hits.total; - self.hits = _.sortBy(hits.hits, ['title']); - } - }); - } - }, - }; - }); -} diff --git a/src/plugins/timelion/public/directives/saved_object_save_as_checkbox.html b/src/plugins/timelion/public/directives/saved_object_save_as_checkbox.html deleted file mode 100644 index a001ddc751748..0000000000000 --- a/src/plugins/timelion/public/directives/saved_object_save_as_checkbox.html +++ /dev/null @@ -1,29 +0,0 @@ -
    -
    - - -
    - diff --git a/src/plugins/timelion/public/directives/saved_object_save_as_checkbox.js b/src/plugins/timelion/public/directives/saved_object_save_as_checkbox.js deleted file mode 100644 index 865e5ea473b85..0000000000000 --- a/src/plugins/timelion/public/directives/saved_object_save_as_checkbox.js +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import saveObjectSaveAsCheckboxTemplate from './saved_object_save_as_checkbox.html'; - -export function initSavedObjectSaveAsCheckBoxDirective(app) { - app.directive('savedObjectSaveAsCheckBox', function () { - return { - restrict: 'E', - template: saveObjectSaveAsCheckboxTemplate, - replace: true, - scope: { - savedObject: '=', - }, - }; - }); -} diff --git a/src/plugins/timelion/public/directives/timelion_expression_input.html b/src/plugins/timelion/public/directives/timelion_expression_input.html deleted file mode 100644 index 6c115118860ba..0000000000000 --- a/src/plugins/timelion/public/directives/timelion_expression_input.html +++ /dev/null @@ -1,41 +0,0 @@ -
    - - - - -
    diff --git a/src/plugins/timelion/public/directives/timelion_expression_input.js b/src/plugins/timelion/public/directives/timelion_expression_input.js deleted file mode 100644 index c29c802914987..0000000000000 --- a/src/plugins/timelion/public/directives/timelion_expression_input.js +++ /dev/null @@ -1,266 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -/** - * Timelion Expression Autocompleter - * - * This directive allows users to enter multiline timelion expressions. If the user has entered - * a valid expression and then types a ".", this directive will display a list of suggestions. - * - * Users can navigate suggestions using the arrow keys. When a user selects a suggestion, it's - * inserted into the expression and the caret position is updated to be inside of the newly- - * added function's parentheses. - * - * Beneath the hood, we use a PEG grammar to validate the Timelion expression and detect if - * the caret is in a position within the expression that allows functions to be suggested. - * - * NOTE: This directive doesn't work well with contenteditable divs. Challenges include: - * - You have to replace markup with newline characters and spaces when passing the expression - * to the grammar. - * - You have to do the opposite when loading a saved expression, so that it appears correctly - * within the contenteditable (i.e. replace newlines with
    markup). - * - The Range and Selection APIs ignore newlines when providing caret position, so there is - * literally no way to insert suggestions into the correct place in a multiline expression - * that has more than a single consecutive newline. - */ - -import _ from 'lodash'; -import $ from 'jquery'; -import timelionExpressionInputTemplate from './timelion_expression_input.html'; -import { - SUGGESTION_TYPE, - Suggestions, - suggest, - insertAtLocation, -} from './timelion_expression_input_helpers'; -import { comboBoxKeyCodes } from '@elastic/eui'; - -export function timelionExpInput(deps) { - return ($http, $timeout) => { - return { - restrict: 'E', - scope: { - rows: '=', - sheet: '=', - updateChart: '&', - shouldPopoverSuggestions: '@', - }, - replace: true, - template: timelionExpressionInputTemplate, - link: function (scope, elem) { - const argValueSuggestions = deps.plugins.visTypeTimelion.getArgValueSuggestions(); - const expressionInput = elem.find('[data-expression-input]'); - const functionReference = {}; - let suggestibleFunctionLocation = {}; - - scope.suggestions = new Suggestions(); - - function init() { - $http.get('../api/timelion/functions').then(function (resp) { - Object.assign(functionReference, { - byName: _.keyBy(resp.data, 'name'), - list: resp.data, - }); - }); - } - - function setCaretOffset(caretOffset) { - // Wait for Angular to update the input with the new expression and *then* we can set - // the caret position. - $timeout(() => { - expressionInput.focus(); - expressionInput[0].selectionStart = expressionInput[0].selectionEnd = caretOffset; - scope.$apply(); - }, 0); - } - - function insertSuggestionIntoExpression(suggestionIndex) { - if (scope.suggestions.isEmpty()) { - return; - } - - const { min, max } = suggestibleFunctionLocation; - let insertedValue; - let insertPositionMinOffset = 0; - - switch (scope.suggestions.type) { - case SUGGESTION_TYPE.FUNCTIONS: { - // Position the caret inside of the function parentheses. - insertedValue = `${scope.suggestions.list[suggestionIndex].name}()`; - - // min advanced one to not replace function '.' - insertPositionMinOffset = 1; - break; - } - case SUGGESTION_TYPE.ARGUMENTS: { - // Position the caret after the '=' - insertedValue = `${scope.suggestions.list[suggestionIndex].name}=`; - break; - } - case SUGGESTION_TYPE.ARGUMENT_VALUE: { - // Position the caret after the argument value - insertedValue = `${scope.suggestions.list[suggestionIndex].name}`; - break; - } - } - - const updatedExpression = insertAtLocation( - insertedValue, - scope.sheet, - min + insertPositionMinOffset, - max - ); - scope.sheet = updatedExpression; - - const newCaretOffset = min + insertedValue.length; - setCaretOffset(newCaretOffset); - } - - function scrollToSuggestionAt(index) { - // We don't cache these because the list changes based on user input. - const suggestionsList = $('[data-suggestions-list]'); - const suggestionListItem = $('[data-suggestion-list-item]')[index]; - // Scroll to the position of the item relative to the list, not to the window. - suggestionsList.scrollTop(suggestionListItem.offsetTop - suggestionsList[0].offsetTop); - } - - function getCursorPosition() { - if (expressionInput.length) { - return expressionInput[0].selectionStart; - } - return null; - } - - async function getSuggestions() { - const suggestions = await suggest( - scope.sheet, - functionReference.list, - getCursorPosition(), - argValueSuggestions - ); - - // We're using ES6 Promises, not $q, so we have to wrap this in $apply. - scope.$apply(() => { - if (suggestions) { - scope.suggestions.setList(suggestions.list, suggestions.type); - scope.suggestions.show(); - suggestibleFunctionLocation = suggestions.location; - $timeout(() => { - const suggestionsList = $('[data-suggestions-list]'); - suggestionsList.scrollTop(0); - }, 0); - return; - } - - suggestibleFunctionLocation = undefined; - scope.suggestions.reset(); - }); - } - - function isNavigationalKey(keyCode) { - const keyCodes = _.values(comboBoxKeyCodes); - return keyCodes.includes(keyCode); - } - - scope.onFocusInput = () => { - // Wait for the caret position of the input to update and then we can get suggestions - // (which depends on the caret position). - $timeout(getSuggestions, 0); - }; - - scope.onBlurInput = () => { - scope.suggestions.hide(); - }; - - scope.onKeyDownInput = (e) => { - // If we've pressed any non-navigational keys, then the user has typed something and we - // can exit early without doing any navigation. The keyup handler will pull up suggestions. - if (!isNavigationalKey(e.keyCode)) { - return; - } - - switch (e.keyCode) { - case comboBoxKeyCodes.UP: - if (scope.suggestions.isVisible) { - // Up and down keys navigate through suggestions. - e.preventDefault(); - scope.suggestions.stepForward(); - scrollToSuggestionAt(scope.suggestions.index); - } - break; - - case comboBoxKeyCodes.DOWN: - if (scope.suggestions.isVisible) { - // Up and down keys navigate through suggestions. - e.preventDefault(); - scope.suggestions.stepBackward(); - scrollToSuggestionAt(scope.suggestions.index); - } - break; - - case comboBoxKeyCodes.TAB: - // If there are no suggestions or none is selected, the user tabs to the next input. - if (scope.suggestions.isEmpty() || scope.suggestions.index < 0) { - // Before letting the tab be handled to focus the next element - // we need to hide the suggestions, otherwise it will focus these - // instead of the time interval select. - scope.suggestions.hide(); - return; - } - - // If we have suggestions, complete the selected one. - e.preventDefault(); - insertSuggestionIntoExpression(scope.suggestions.index); - break; - - case comboBoxKeyCodes.ENTER: - if (e.metaKey || e.ctrlKey) { - // Re-render the chart when the user hits CMD+ENTER. - e.preventDefault(); - scope.updateChart(); - } else if (!scope.suggestions.isEmpty()) { - // If the suggestions are open, complete the expression with the suggestion. - e.preventDefault(); - insertSuggestionIntoExpression(scope.suggestions.index); - } - break; - - case comboBoxKeyCodes.ESCAPE: - e.preventDefault(); - scope.suggestions.hide(); - break; - } - }; - - scope.onKeyUpInput = (e) => { - // If the user isn't navigating, then we should update the suggestions based on their input. - if (!isNavigationalKey(e.keyCode)) { - getSuggestions(); - } - }; - - scope.onClickExpression = () => { - getSuggestions(); - }; - - scope.onClickSuggestion = (index) => { - insertSuggestionIntoExpression(index); - }; - - scope.getActiveSuggestionId = () => { - if (scope.suggestions.isVisible && scope.suggestions.index > -1) { - return `timelionSuggestion${scope.suggestions.index}`; - } - return ''; - }; - - init(); - }, - }; - }; -} diff --git a/src/plugins/timelion/public/directives/timelion_expression_input_helpers.js b/src/plugins/timelion/public/directives/timelion_expression_input_helpers.js deleted file mode 100644 index 0bc5897c49d6f..0000000000000 --- a/src/plugins/timelion/public/directives/timelion_expression_input_helpers.js +++ /dev/null @@ -1,264 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import _ from 'lodash'; -import { _LEGACY_ as visTypeTimelion } from '../../../vis_type_timelion/public'; - -export const SUGGESTION_TYPE = { - ARGUMENTS: 'arguments', - ARGUMENT_VALUE: 'argument_value', - FUNCTIONS: 'functions', -}; - -export class Suggestions { - constructor() { - this.reset(); - } - - reset() { - this.index = -1; - this.list = []; - this.type = null; - this.isVisible = false; - } - - setList(list, type) { - this.list = list.sort((a, b) => { - if (a.name < b.name) { - return -1; - } - if (a.name > b.name) { - return 1; - } - // names must be equal - return 0; - }); - this.type = type; - - // Only try to position index inside of list range, when it was already focused - // beforehand (i.e. not -1) - if (this.index > -1) { - // We may get a shorter list than the one we have now, so we need to make sure our index doesn't - // fall outside of the new list's range. - this.index = Math.max(0, Math.min(this.index, this.list.length - 1)); - } - } - - getCount() { - return this.list.length; - } - - isEmpty() { - return this.list.length === 0; - } - - show() { - this.isVisible = true; - } - - hide() { - this.isVisible = false; - } - - stepForward() { - if (this.index > 0) { - this.index -= 1; - } - } - - stepBackward() { - if (this.index < this.list.length - 1) { - this.index += 1; - } - } -} - -function inLocation(cursorPosition, location) { - return cursorPosition >= location.min && cursorPosition <= location.max; -} - -function getArgumentsHelp(functionHelp, functionArgs = []) { - if (!functionHelp) { - return []; - } - - // Do not provide 'inputSeries' as argument suggestion for chainable functions - const argsHelp = functionHelp.chainable ? functionHelp.args.slice(1) : functionHelp.args.slice(0); - - // ignore arguments that are already provided in function declaration - const functionArgNames = functionArgs.map((arg) => { - return arg.name; - }); - return argsHelp.filter((arg) => { - return !functionArgNames.includes(arg.name); - }); -} - -async function extractSuggestionsFromParsedResult( - result, - cursorPosition, - functionList, - argValueSuggestions -) { - const activeFunc = result.functions.find((func) => { - return cursorPosition >= func.location.min && cursorPosition < func.location.max; - }); - - if (!activeFunc) { - return; - } - - const functionHelp = functionList.find((func) => { - return func.name === activeFunc.function; - }); - - // return function suggestion when cursor is outside of parentheses - // location range includes '.', function name, and '('. - const openParen = activeFunc.location.min + activeFunc.function.length + 2; - if (cursorPosition < openParen) { - return { list: [functionHelp], location: activeFunc.location, type: SUGGESTION_TYPE.FUNCTIONS }; - } - - // return argument value suggestions when cursor is inside argument value - const activeArg = activeFunc.arguments.find((argument) => { - return inLocation(cursorPosition, argument.location); - }); - if ( - activeArg && - activeArg.type === 'namedArg' && - inLocation(cursorPosition, activeArg.value.location) - ) { - const { function: functionName, arguments: functionArgs } = activeFunc; - - const { - name: argName, - value: { text: partialInput }, - } = activeArg; - - let valueSuggestions; - if (argValueSuggestions.hasDynamicSuggestionsForArgument(functionName, argName)) { - valueSuggestions = await argValueSuggestions.getDynamicSuggestionsForArgument( - functionName, - argName, - functionArgs, - partialInput - ); - } else { - const { suggestions: staticSuggestions } = functionHelp.args.find((arg) => { - return arg.name === activeArg.name; - }); - valueSuggestions = argValueSuggestions.getStaticSuggestionsForInput( - partialInput, - staticSuggestions - ); - } - return { - list: valueSuggestions, - location: activeArg.value.location, - type: SUGGESTION_TYPE.ARGUMENT_VALUE, - }; - } - - // return argument suggestions - const argsHelp = getArgumentsHelp(functionHelp, activeFunc.arguments); - const argumentSuggestions = argsHelp.filter((arg) => { - if (_.get(activeArg, 'type') === 'namedArg') { - return _.startsWith(arg.name, activeArg.name); - } else if (activeArg) { - return _.startsWith(arg.name, activeArg.text); - } - return true; - }); - const location = activeArg ? activeArg.location : { min: cursorPosition, max: cursorPosition }; - return { list: argumentSuggestions, location: location, type: SUGGESTION_TYPE.ARGUMENTS }; -} - -export async function suggest(expression, functionList, cursorPosition, argValueSuggestions) { - try { - const result = await visTypeTimelion.parseTimelionExpressionAsync(expression); - return await extractSuggestionsFromParsedResult( - result, - cursorPosition, - functionList, - argValueSuggestions - ); - } catch (e) { - let message; - try { - // The grammar will throw an error containing a message if the expression is formatted - // correctly and is prepared to accept suggestions. If the expression is not formatted - // correctly the grammar will just throw a regular PEG SyntaxError, and this JSON.parse - // attempt will throw an error. - message = JSON.parse(e.message); - } catch (e) { - // The expression isn't correctly formatted, so JSON.parse threw an error. - return; - } - - switch (message.type) { - case 'incompleteFunction': { - let list; - if (message.function) { - // The user has start typing a function name, so we'll filter the list down to only - // possible matches. - list = functionList.filter((func) => _.startsWith(func.name, message.function)); - } else { - // The user hasn't typed anything yet, so we'll just return the entire list. - list = functionList; - } - return { list, location: message.location, type: SUGGESTION_TYPE.FUNCTIONS }; - } - case 'incompleteArgument': { - const { currentFunction: functionName, currentArgs: functionArgs } = message; - const functionHelp = functionList.find((func) => func.name === functionName); - return { - list: getArgumentsHelp(functionHelp, functionArgs), - location: message.location, - type: SUGGESTION_TYPE.ARGUMENTS, - }; - } - case 'incompleteArgumentValue': { - const { name: argName, currentFunction: functionName, currentArgs: functionArgs } = message; - let valueSuggestions = []; - if (argValueSuggestions.hasDynamicSuggestionsForArgument(functionName, argName)) { - valueSuggestions = await argValueSuggestions.getDynamicSuggestionsForArgument( - functionName, - argName, - functionArgs - ); - } else { - const functionHelp = functionList.find((func) => func.name === functionName); - if (functionHelp) { - const argHelp = functionHelp.args.find((arg) => arg.name === argName); - if (argHelp && argHelp.suggestions) { - valueSuggestions = argHelp.suggestions; - } - } - } - return { - list: valueSuggestions, - location: { min: cursorPosition, max: cursorPosition }, - type: SUGGESTION_TYPE.ARGUMENT_VALUE, - }; - } - } - } -} - -export function insertAtLocation( - valueToInsert, - destination, - replacementRangeStart, - replacementRangeEnd -) { - // Insert the value at a location caret within the destination. - const prefix = destination.slice(0, replacementRangeStart); - const suffix = destination.slice(replacementRangeEnd, destination.length); - const result = `${prefix}${valueToInsert}${suffix}`; - return result; -} diff --git a/src/plugins/timelion/public/directives/timelion_expression_suggestions/_index.scss b/src/plugins/timelion/public/directives/timelion_expression_suggestions/_index.scss deleted file mode 100644 index 6fd0098aea68e..0000000000000 --- a/src/plugins/timelion/public/directives/timelion_expression_suggestions/_index.scss +++ /dev/null @@ -1 +0,0 @@ -@import './timelion_expression_suggestions'; diff --git a/src/plugins/timelion/public/directives/timelion_expression_suggestions/_timelion_expression_suggestions.scss b/src/plugins/timelion/public/directives/timelion_expression_suggestions/_timelion_expression_suggestions.scss deleted file mode 100644 index 4bf6ba24108d2..0000000000000 --- a/src/plugins/timelion/public/directives/timelion_expression_suggestions/_timelion_expression_suggestions.scss +++ /dev/null @@ -1,36 +0,0 @@ -.timSuggestions { - @include euiBottomShadowMedium; - background-color: $euiColorLightestShade; - color: $euiTextColor; - border: $euiBorderThin; - // sass-lint:disable-block no-important - border-radius: 0 0 $euiBorderRadius $euiBorderRadius !important; - z-index: $euiZLevel9; - max-height: $euiSizeXL * 10; - overflow-y: auto; - - &.timSuggestions-isPopover { - position: absolute; - top: 100%; - } -} - -.timSuggestions__item { - border-bottom: $euiBorderThin; - padding: $euiSizeXS $euiSizeL; - - &:hover, - &.active { - background-color: $euiColorLightShade; - } -} - -.timSuggestions__details { - background-color: $euiColorLightestShade; - padding: $euiSizeM; - border-radius: $euiBorderRadius; - - > table { - margin-bottom: 0; - } -} diff --git a/src/plugins/timelion/public/directives/timelion_expression_suggestions/timelion_expression_suggestions.html b/src/plugins/timelion/public/directives/timelion_expression_suggestions/timelion_expression_suggestions.html deleted file mode 100644 index ddb9f21615aee..0000000000000 --- a/src/plugins/timelion/public/directives/timelion_expression_suggestions/timelion_expression_suggestions.html +++ /dev/null @@ -1,109 +0,0 @@ -
    -
    - -
    - -
    -

    - .{{suggestion.name}}() - - - - -

    - -
    -
    - - - {{arg.name}}=({{arg.types.join(' | ')}}) - , - -
    - -
    - - - - - - - - - - - -
    {{arg.name}}{{arg.types.join(', ')}}{{arg.help}}
    -
    -
    -
    - -
    -

    - {{suggestion.name}}= - - {{suggestion.help}} - -

    -
    - Accepts: - {{suggestion.types.join(', ')}} -
    -
    - -
    -

    - {{suggestion.name}} - - {{suggestion.help}} - -

    -
    - -
    -
    -
    diff --git a/src/plugins/timelion/public/directives/timelion_expression_suggestions/timelion_expression_suggestions.js b/src/plugins/timelion/public/directives/timelion_expression_suggestions/timelion_expression_suggestions.js deleted file mode 100644 index cce0f17f4ef1a..0000000000000 --- a/src/plugins/timelion/public/directives/timelion_expression_suggestions/timelion_expression_suggestions.js +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import template from './timelion_expression_suggestions.html'; - -export function TimelionExpressionSuggestions() { - return { - restrict: 'E', - scope: { - suggestions: '=', - suggestionsType: '=', - selectedIndex: '=', - onClickSuggestion: '&', - shouldPopover: '=', - }, - replace: true, - template, - link: function (scope) { - // This will prevent the expression input from losing focus. - scope.onMouseDown = (e) => e.preventDefault(); - }, - }; -} diff --git a/src/plugins/timelion/public/directives/timelion_grid.js b/src/plugins/timelion/public/directives/timelion_grid.js deleted file mode 100644 index cb55dd6b8e110..0000000000000 --- a/src/plugins/timelion/public/directives/timelion_grid.js +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import $ from 'jquery'; - -export function initTimelionGridDirective(app) { - app.directive('timelionGrid', function () { - return { - restrict: 'A', - scope: { - timelionGridRows: '=', - timelionGridColumns: '=', - }, - link: function ($scope, $elem) { - function init() { - setDimensions(); - } - - $scope.$on('$destroy', function () { - $(window).off('resize'); //remove the handler added earlier - }); - - $(window).resize(function () { - setDimensions(); - }); - - $scope.$watchMulti(['timelionGridColumns', 'timelionGridRows'], function () { - setDimensions(); - }); - - function setDimensions() { - const borderSize = 2; - const headerSize = 45 + 35 + 28 + 20 * 2; // chrome + subnav + buttons + (container padding) - const verticalPadding = 10; - - if ($scope.timelionGridColumns != null) { - $elem.width($elem.parent().width() / $scope.timelionGridColumns - borderSize * 2); - } - - if ($scope.timelionGridRows != null) { - $elem.height( - ($(window).height() - headerSize) / $scope.timelionGridRows - - (verticalPadding + borderSize * 2) - ); - } - } - - init(); - }, - }; - }); -} diff --git a/src/plugins/timelion/public/directives/timelion_help/_index.scss b/src/plugins/timelion/public/directives/timelion_help/_index.scss deleted file mode 100644 index 4228e56180066..0000000000000 --- a/src/plugins/timelion/public/directives/timelion_help/_index.scss +++ /dev/null @@ -1 +0,0 @@ -@import './timelion_help'; diff --git a/src/plugins/timelion/public/directives/timelion_help/_timelion_help.scss b/src/plugins/timelion/public/directives/timelion_help/_timelion_help.scss deleted file mode 100644 index 1f8551116aab0..0000000000000 --- a/src/plugins/timelion/public/directives/timelion_help/_timelion_help.scss +++ /dev/null @@ -1,33 +0,0 @@ -.timHelp { - // EUITODO: Make .euiText > code background transparent - code { - background-color: transparentize($euiTextColor, .9); - } -} - -.timHelp__buttons { - display: flex; - justify-content: space-between; -} - -.timHelp__functions { - height: $euiSizeXL * 10; - overflow-y: auto; -} - -.timHelp__links { - color: $euiColorPrimary; - - &:hover { - text-decoration: underline; - } -} - -/** - * 1. Override bootstrap .table styles. - */ -.timHelp__functionsTableRow:hover, -.timHelp__functionDetailsTable { - // sass-lint:disable-block no-important - background-color: $euiColorLightestShade !important; /* 1 */ -} diff --git a/src/plugins/timelion/public/directives/timelion_help/timelion_help.html b/src/plugins/timelion/public/directives/timelion_help/timelion_help.html deleted file mode 100644 index 4c4fdfe4faf51..0000000000000 --- a/src/plugins/timelion/public/directives/timelion_help/timelion_help.html +++ /dev/null @@ -1,741 +0,0 @@ -
    -
    -
    -

    -

    -

    - - . -

    -
    -
    - - - - - - -
    -
    -
    -
    -
    -

    -

    -

    -
    -
    - - - - - - - -
    -
    -
    -
    -

    -

    - - - -

    -

    -
      -
    • - -

      - - - - - - -

      -
    • -
    • - -

      -
    • -
    -

    -
    -
    - - - - - - -
    -
    -
    -
    -
    -

    -

    -

    - - - -

    -

    -

    -

    -

    - - - -

    -
    -
    - - - - - - -
    -
    - -
    -
    -

    -

    -

    -

    - - - - - - - - - - - - - - - - - -
    .es(*), .es(US)
    .es(*).color(#f66), .es(US).bars(1)
    - .es(*).color(#f66).lines(fill=3), - .es(US).bars(1).points(radius=3, weight=1) -
    (.es(*), .es(GB)).points()
    -

    - - . -

    -
    -
    - - - - - - -
    -
    -
    -
    -

    -

    -

    -

    -

    -

    -

    - - - -

    -
    -
    - - - - - - - -
    -
    -
    -
    -

    - - - - -
    -
    - - . -
    - -
    - - - - - - - - -
    .{{function.name}}(){{function.help}}
    -
    - - - - - - - - - - - -
    {{arg.name}}{{arg.types.join(', ')}}{{arg.help}}
    -
    - -
    -
    -
    -
    -
    - -
    - -
    -
    -
    -
    -
    Ctrl/Cmd + Enter
    -
    -
    - - -
    -
    -
    - -
    -
    -
    -
    Enter/Tab
    -
    -
    Esc
    -
    -
    -
    -
    diff --git a/src/plugins/timelion/public/directives/timelion_help/timelion_help.js b/src/plugins/timelion/public/directives/timelion_help/timelion_help.js deleted file mode 100644 index ee518a8bce75c..0000000000000 --- a/src/plugins/timelion/public/directives/timelion_help/timelion_help.js +++ /dev/null @@ -1,155 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import template from './timelion_help.html'; -import { i18n } from '@kbn/i18n'; -import _ from 'lodash'; -import moment from 'moment'; - -export function initTimelionHelpDirective(app) { - app.directive('timelionHelp', function ($http) { - return { - restrict: 'E', - template, - controller: function ($scope) { - $scope.functions = { - list: [], - details: null, - }; - - $scope.activeTab = 'funcref'; - $scope.activateTab = function (tabName) { - $scope.activeTab = tabName; - }; - - function init() { - $scope.es = { - invalidCount: 0, - }; - - $scope.translations = { - nextButtonLabel: i18n.translate('timelion.help.nextPageButtonLabel', { - defaultMessage: 'Next', - }), - previousButtonLabel: i18n.translate('timelion.help.previousPageButtonLabel', { - defaultMessage: 'Previous', - }), - dontShowHelpButtonLabel: i18n.translate('timelion.help.dontShowHelpButtonLabel', { - defaultMessage: `Don't show this again`, - }), - strongNextText: i18n.translate('timelion.help.welcome.content.strongNextText', { - defaultMessage: 'Next', - }), - emphasizedEverythingText: i18n.translate( - 'timelion.help.welcome.content.emphasizedEverythingText', - { - defaultMessage: 'everything', - } - ), - notValidAdvancedSettingsPath: i18n.translate( - 'timelion.help.configuration.notValid.advancedSettingsPathText', - { - defaultMessage: 'Management / Kibana / Advanced Settings', - } - ), - validAdvancedSettingsPath: i18n.translate( - 'timelion.help.configuration.valid.advancedSettingsPathText', - { - defaultMessage: 'Management/Kibana/Advanced Settings', - } - ), - esAsteriskQueryDescription: i18n.translate( - 'timelion.help.querying.esAsteriskQueryDescriptionText', - { - defaultMessage: 'hey Elasticsearch, find everything in my default index', - } - ), - esIndexQueryDescription: i18n.translate( - 'timelion.help.querying.esIndexQueryDescriptionText', - { - defaultMessage: 'use * as the q (query) for the logstash-* index', - } - ), - strongAddText: i18n.translate('timelion.help.expressions.strongAddText', { - defaultMessage: 'Add', - }), - twoExpressionsDescriptionTitle: i18n.translate( - 'timelion.help.expressions.examples.twoExpressionsDescriptionTitle', - { - defaultMessage: 'Double the fun.', - } - ), - customStylingDescriptionTitle: i18n.translate( - 'timelion.help.expressions.examples.customStylingDescriptionTitle', - { - defaultMessage: 'Custom styling.', - } - ), - namedArgumentsDescriptionTitle: i18n.translate( - 'timelion.help.expressions.examples.namedArgumentsDescriptionTitle', - { - defaultMessage: 'Named arguments.', - } - ), - groupedExpressionsDescriptionTitle: i18n.translate( - 'timelion.help.expressions.examples.groupedExpressionsDescriptionTitle', - { - defaultMessage: 'Grouped expressions.', - } - ), - }; - - getFunctions(); - checkElasticsearch(); - } - - function getFunctions() { - return $http.get('../api/timelion/functions').then(function (resp) { - $scope.functions.list = resp.data; - }); - } - $scope.recheckElasticsearch = function () { - $scope.es.valid = null; - checkElasticsearch().then(function (valid) { - if (!valid) $scope.es.invalidCount++; - }); - }; - - function checkElasticsearch() { - return $http.get('../api/timelion/validate/es').then(function (resp) { - if (resp.data.ok) { - $scope.es.valid = true; - $scope.es.stats = { - min: moment(resp.data.min).format('LLL'), - max: moment(resp.data.max).format('LLL'), - field: resp.data.field, - }; - } else { - $scope.es.valid = false; - $scope.es.invalidReason = (function () { - try { - const esResp = JSON.parse(resp.data.resp.response); - return _.get(esResp, 'error.root_cause[0].reason'); - } catch (e) { - if (_.get(resp, 'data.resp.message')) return _.get(resp, 'data.resp.message'); - if (_.get(resp, 'data.resp.output.payload.message')) - return _.get(resp, 'data.resp.output.payload.message'); - return i18n.translate('timelion.help.unknownErrorMessage', { - defaultMessage: 'Unknown error', - }); - } - })(); - } - return $scope.es.valid; - }); - } - init(); - }, - }; - }); -} diff --git a/src/plugins/timelion/public/directives/timelion_interval/_index.scss b/src/plugins/timelion/public/directives/timelion_interval/_index.scss deleted file mode 100644 index 2a201f9b35a4d..0000000000000 --- a/src/plugins/timelion/public/directives/timelion_interval/_index.scss +++ /dev/null @@ -1 +0,0 @@ -@import './timelion_interval'; diff --git a/src/plugins/timelion/public/directives/timelion_interval/_timelion_interval.scss b/src/plugins/timelion/public/directives/timelion_interval/_timelion_interval.scss deleted file mode 100644 index 7ce09155cafd8..0000000000000 --- a/src/plugins/timelion/public/directives/timelion_interval/_timelion_interval.scss +++ /dev/null @@ -1,30 +0,0 @@ -timelion-interval { - display: flex; -} - -.timInterval__input { - width: $euiSizeXL * 2; - padding: $euiSizeXS $euiSizeM; - color: $euiColorDarkestShade; - border: 1px solid $euiColorLightShade; - border-radius: $euiSizeXS; - transition: border-color .1s linear; - font-size: 14px; -} - -.timInterval__input--compact { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.timInterval__presets { - width: $euiSizeXL * 3; -} - -.timInterval__presets--compact { - width: $euiSizeXL * 1; - padding-left: 0; - border-left: none; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} diff --git a/src/plugins/timelion/public/directives/timelion_interval/timelion_interval.html b/src/plugins/timelion/public/directives/timelion_interval/timelion_interval.html deleted file mode 100644 index 49009355e49f4..0000000000000 --- a/src/plugins/timelion/public/directives/timelion_interval/timelion_interval.html +++ /dev/null @@ -1,22 +0,0 @@ - diff --git a/src/plugins/timelion/public/directives/timelion_interval/timelion_interval.js b/src/plugins/timelion/public/directives/timelion_interval/timelion_interval.js deleted file mode 100644 index 55f50fff132eb..0000000000000 --- a/src/plugins/timelion/public/directives/timelion_interval/timelion_interval.js +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import _ from 'lodash'; -import $ from 'jquery'; -import template from './timelion_interval.html'; - -export function TimelionInterval($timeout) { - return { - restrict: 'E', - scope: { - // The interval model - model: '=', - changeInterval: '=', - }, - template, - link: function ($scope, $elem) { - $scope.intervalOptions = ['auto', '1s', '1m', '1h', '1d', '1w', '1M', '1y', 'other']; - $scope.intervalLabels = { - auto: 'auto', - '1s': '1 second', - '1m': '1 minute', - '1h': '1 hour', - '1d': '1 day', - '1w': '1 week', - '1M': '1 month', - '1y': '1 year', - other: 'other', - }; - - $scope.$watch('model', function (newVal, oldVal) { - // Only run this on initialization - if (newVal !== oldVal || oldVal == null) return; - - if (_.includes($scope.intervalOptions, newVal)) { - $scope.interval = newVal; - } else { - $scope.interval = 'other'; - } - - if (newVal !== 'other') { - $scope.otherInterval = newVal; - } - }); - - $scope.$watch('interval', function (newVal, oldVal) { - if (newVal === oldVal || $scope.model === newVal) return; - - if (newVal === 'other') { - $scope.otherInterval = oldVal; - $scope.changeInterval($scope.otherInterval); - $timeout(function () { - $('input', $elem).select(); - }, 0); - } else { - $scope.otherInterval = $scope.interval; - $scope.changeInterval($scope.interval); - } - }); - - $scope.$watch('otherInterval', function (newVal, oldVal) { - if (newVal === oldVal || $scope.model === newVal) return; - $scope.changeInterval(newVal); - }); - }, - }; -} diff --git a/src/plugins/timelion/public/directives/timelion_load_sheet.js b/src/plugins/timelion/public/directives/timelion_load_sheet.js deleted file mode 100644 index 83b8b4c2e262b..0000000000000 --- a/src/plugins/timelion/public/directives/timelion_load_sheet.js +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import template from '../partials/load_sheet.html'; - -export function initTimelionLoadSheetDirective(app) { - app.directive('timelionLoad', function () { - return { - replace: true, - restrict: 'E', - template, - }; - }); -} diff --git a/src/plugins/timelion/public/directives/timelion_options_sheet.js b/src/plugins/timelion/public/directives/timelion_options_sheet.js deleted file mode 100644 index b3560111d4152..0000000000000 --- a/src/plugins/timelion/public/directives/timelion_options_sheet.js +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import template from '../partials/sheet_options.html'; - -export function initTimelionOptionsSheetDirective(app) { - app.directive('timelionOptions', function () { - return { - replace: true, - restrict: 'E', - template, - }; - }); -} diff --git a/src/plugins/timelion/public/directives/timelion_save_sheet.js b/src/plugins/timelion/public/directives/timelion_save_sheet.js deleted file mode 100644 index 40289b1bb8353..0000000000000 --- a/src/plugins/timelion/public/directives/timelion_save_sheet.js +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import saveTemplate from '../partials/save_sheet.html'; - -export function initTimelionSaveSheetDirective(app) { - app.directive('timelionSave', function () { - return { - replace: true, - restrict: 'E', - template: saveTemplate, - }; - }); -} diff --git a/src/plugins/timelion/public/index.html b/src/plugins/timelion/public/index.html deleted file mode 100644 index 3fb518e81e882..0000000000000 --- a/src/plugins/timelion/public/index.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - -
    - - - - - -
    - -
    -
    - -
    -
    - -
    - -
    - - - -
    -
    - -
    - - - -
    -
    -
    - - diff --git a/src/plugins/timelion/public/index.scss b/src/plugins/timelion/public/index.scss deleted file mode 100644 index 7a4259b2a17c8..0000000000000 --- a/src/plugins/timelion/public/index.scss +++ /dev/null @@ -1,18 +0,0 @@ -/* Timelion plugin styles */ - -// Prefix all styles with "tim" to avoid conflicts. -// Examples -// timChart -// timChart__legend -// timChart__legend--small -// timChart__legend-isLoading - -@import './app'; -@import './base'; -@import './directives/index'; - -// these styles is needed to be loaded here explicitly if the timelion visualization was not opened in browser -// styles for timelion visualization are lazy loaded only while a vis is opened -// this will duplicate styles only if both Timelion app and timelion visualization are loaded -// could be left here as it is since the Timelion app is deprecated -@import '../../vis_type_timelion/public/legacy/timelion_vis.scss'; diff --git a/src/plugins/timelion/public/index.ts b/src/plugins/timelion/public/index.ts deleted file mode 100644 index 866d8a4ad20a2..0000000000000 --- a/src/plugins/timelion/public/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { PluginInitializerContext } from 'kibana/public'; -import { TimelionPlugin as Plugin } from './plugin'; - -export function plugin(initializerContext: PluginInitializerContext) { - return new Plugin(initializerContext); -} diff --git a/src/plugins/timelion/public/lib/observe_resize.js b/src/plugins/timelion/public/lib/observe_resize.js deleted file mode 100644 index d2902a59821c3..0000000000000 --- a/src/plugins/timelion/public/lib/observe_resize.js +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -export default function ($elem, fn, frequency) { - frequency = frequency || 500; - let currentHeight = $elem.height(); - let currentWidth = $elem.width(); - - let timeout; - - function checkLoop() { - timeout = setTimeout(function () { - if (currentHeight !== $elem.height() || currentWidth !== $elem.width()) { - currentHeight = $elem.height(); - currentWidth = $elem.width(); - - if (currentWidth > 0 && currentWidth > 0) fn(); - } - checkLoop(); - }, frequency); - } - - checkLoop(); - - return function () { - clearTimeout(timeout); - }; -} diff --git a/src/plugins/timelion/public/panels/panel.ts b/src/plugins/timelion/public/panels/panel.ts deleted file mode 100644 index 333634976eba1..0000000000000 --- a/src/plugins/timelion/public/panels/panel.ts +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { i18n } from '@kbn/i18n'; - -interface PanelConfig { - help?: string; - render?: Function; -} - -export class Panel { - name: string; - help: string; - render: Function | undefined; - - constructor(name: string, config: PanelConfig) { - this.name = name; - this.help = config.help || ''; - this.render = config.render; - - if (!config.render) { - throw new Error( - i18n.translate('timelion.panels.noRenderFunctionErrorMessage', { - defaultMessage: 'Panel must have a rendering function', - }) - ); - } - } -} diff --git a/src/plugins/timelion/public/panels/timechart/schema.ts b/src/plugins/timelion/public/panels/timechart/schema.ts deleted file mode 100644 index dc26adc6ea5f5..0000000000000 --- a/src/plugins/timelion/public/panels/timechart/schema.ts +++ /dev/null @@ -1,386 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import _ from 'lodash'; -import $ from 'jquery'; -import moment from 'moment-timezone'; -// @ts-ignore -import observeResize from '../../lib/observe_resize'; -import { _LEGACY_ as visTypeTimelion } from '../../../../vis_type_timelion/public'; -import { TimelionVisualizationDependencies } from '../../application'; - -const DEBOUNCE_DELAY = 50; - -export function timechartFn(dependencies: TimelionVisualizationDependencies) { - const { - $rootScope, - $compile, - uiSettings, - data: { - query: { timefilter }, - }, - } = dependencies; - - return function () { - return { - help: 'Draw a timeseries chart', - render($scope: any, $elem: any) { - const template = '
    '; - const formatters = visTypeTimelion.tickFormatters() as any; - const getxAxisFormatter = visTypeTimelion.xaxisFormatterProvider(uiSettings); - const generateTicks = visTypeTimelion.generateTicksProvider(); - - // TODO: I wonder if we should supply our own moment that sets this every time? - // could just use angular's injection to provide a moment service? - moment.tz.setDefault(uiSettings.get('dateFormat:tz')); - - const render = $scope.seriesList.render || {}; - - $scope.chart = $scope.seriesList.list; - $scope.interval = $scope.interval; - $scope.search = $scope.search || _.noop; - - let legendValueNumbers: any; - let legendCaption: any; - const debouncedSetLegendNumbers = _.debounce(setLegendNumbers, DEBOUNCE_DELAY, { - maxWait: DEBOUNCE_DELAY, - leading: true, - trailing: false, - }); - // ensure legend is the same height with or without a caption so legend items do not move around - const emptyCaption = '
    '; - - const defaultOptions = { - xaxis: { - mode: 'time', - tickLength: 5, - timezone: 'browser', - }, - selection: { - mode: 'x', - color: '#ccc', - }, - crosshair: { - mode: 'x', - color: '#C66', - lineWidth: 2, - }, - grid: { - show: render.grid, - borderWidth: 0, - borderColor: null, - margin: 10, - hoverable: true, - autoHighlight: false, - }, - legend: { - backgroundColor: 'rgb(255,255,255,0)', - position: 'nw', - labelBoxBorderColor: 'rgb(255,255,255,0)', - labelFormatter(label: any, series: any) { - const wrapperSpan = document.createElement('span'); - const labelSpan = document.createElement('span'); - const numberSpan = document.createElement('span'); - - wrapperSpan.setAttribute('class', 'ngLegendValue'); - wrapperSpan.setAttribute('kbn-accessible-click', ''); - wrapperSpan.setAttribute('ng-click', `toggleSeries(${series._id})`); - wrapperSpan.setAttribute('ng-focus', `focusSeries(${series._id})`); - wrapperSpan.setAttribute('ng-mouseover', `highlightSeries(${series._id})`); - - labelSpan.setAttribute('ng-non-bindable', ''); - labelSpan.appendChild(document.createTextNode(label)); - numberSpan.setAttribute('class', 'ngLegendValueNumber'); - - wrapperSpan.appendChild(labelSpan); - wrapperSpan.appendChild(numberSpan); - - return wrapperSpan.outerHTML; - }, - }, - colors: [ - '#01A4A4', - '#C66', - '#D0D102', - '#616161', - '#00A1CB', - '#32742C', - '#F18D05', - '#113F8C', - '#61AE24', - '#D70060', - ], - }; - - const originalColorMap = new Map(); - $scope.chart.forEach((series: any, seriesIndex: any) => { - if (!series.color) { - const colorIndex = seriesIndex % defaultOptions.colors.length; - series.color = defaultOptions.colors[colorIndex]; - } - originalColorMap.set(series, series.color); - }); - - let highlightedSeries: any; - let focusedSeries: any; - function unhighlightSeries() { - if (highlightedSeries === null) { - return; - } - - highlightedSeries = null; - focusedSeries = null; - $scope.chart.forEach((series: any) => { - series.color = originalColorMap.get(series); // reset the colors - }); - drawPlot($scope.chart); - } - $scope.highlightSeries = _.debounce(function (id: any) { - if (highlightedSeries === id) { - return; - } - - highlightedSeries = id; - $scope.chart.forEach((series: any, seriesIndex: any) => { - if (seriesIndex !== id) { - series.color = 'rgba(128,128,128,0.1)'; // mark as grey - } else { - series.color = originalColorMap.get(series); // color it like it was - } - }); - drawPlot($scope.chart); - }, DEBOUNCE_DELAY); - $scope.focusSeries = function (id: any) { - focusedSeries = id; - $scope.highlightSeries(id); - }; - - $scope.toggleSeries = function (id: any) { - const series = $scope.chart[id]; - series._hide = !series._hide; - drawPlot($scope.chart); - }; - - const cancelResize = observeResize($elem, function () { - drawPlot($scope.chart); - }); - - $scope.$on('$destroy', function () { - cancelResize(); - $elem.off('plothover'); - $elem.off('plotselected'); - $elem.off('mouseleave'); - }); - - $elem.on('plothover', function (event: any, pos: any, item: any) { - $rootScope.$broadcast('timelionPlotHover', event, pos, item); - }); - - $elem.on('plotselected', function (event: any, ranges: any) { - timefilter.timefilter.setTime({ - from: moment(ranges.xaxis.from), - to: moment(ranges.xaxis.to), - }); - }); - - $elem.on('mouseleave', function () { - $rootScope.$broadcast('timelionPlotLeave'); - }); - - $scope.$on('timelionPlotHover', function (angularEvent: any, flotEvent: any, pos: any) { - if (!$scope.plot) return; - $scope.plot.setCrosshair(pos); - debouncedSetLegendNumbers(pos); - }); - - $scope.$on('timelionPlotLeave', function () { - if (!$scope.plot) return; - $scope.plot.clearCrosshair(); - clearLegendNumbers(); - }); - - // Shamelessly borrowed from the flotCrosshairs example - function setLegendNumbers(pos: any) { - unhighlightSeries(); - - const plot = $scope.plot; - - const axes = plot.getAxes(); - if (pos.x < axes.xaxis.min || pos.x > axes.xaxis.max) { - return; - } - - let i; - const dataset = plot.getData(); - if (legendCaption) { - legendCaption.text( - moment(pos.x).format( - _.get(dataset, '[0]._global.legend.timeFormat', visTypeTimelion.DEFAULT_TIME_FORMAT) - ) - ); - } - for (i = 0; i < dataset.length; ++i) { - const series = dataset[i]; - const useNearestPoint = series.lines.show && !series.lines.steps; - const precision = _.get(series, '_meta.precision', 2); - - if (series._hide) continue; - - const currentPoint = series.data.find((point: any, index: number) => { - if (index + 1 === series.data.length) { - return true; - } - if (useNearestPoint) { - return pos.x - point[0] < series.data[index + 1][0] - pos.x; - } else { - return pos.x < series.data[index + 1][0]; - } - }); - - const y = currentPoint[1]; - - if (y != null) { - let label = y.toFixed(precision); - if (series.yaxis.tickFormatter) { - label = series.yaxis.tickFormatter(label, series.yaxis); - } - legendValueNumbers.eq(i).text(`(${label})`); - } else { - legendValueNumbers.eq(i).empty(); - } - } - } - - function clearLegendNumbers() { - if (legendCaption) { - legendCaption.html(emptyCaption); - } - _.each(legendValueNumbers, function (num) { - $(num).empty(); - }); - } - - let legendScope = $scope.$new(); - function drawPlot(plotConfig: any) { - if (!$('.chart-canvas', $elem).length) $elem.html(template); - const canvasElem = $('.chart-canvas', $elem); - - // we can't use `$.plot` to draw the chart when the height or width is 0 - // so, we'll need another event to trigger drawPlot to actually draw it - if (canvasElem.height() === 0 || canvasElem.width() === 0) { - return; - } - - const title = _(plotConfig).map('_title').compact().last() as any; - $('.chart-top-title', $elem).text(title == null ? '' : title); - - const options = _.cloneDeep(defaultOptions) as any; - - // Get the X-axis tick format - const time = timefilter.timefilter.getBounds() as any; - const interval = visTypeTimelion.calculateInterval( - time.min.valueOf(), - time.max.valueOf(), - uiSettings.get('timelion:target_buckets') || 200, - $scope.interval, - uiSettings.get('timelion:min_interval') || '1ms' - ); - const format = getxAxisFormatter(interval); - - // Use moment to format ticks so we get timezone correction - options.xaxis.tickFormatter = function (val: any) { - return moment(val).format(format); - }; - - // Calculate how many ticks can fit on the axis - const tickLetterWidth = 7; - const tickPadding = 45; - options.xaxis.ticks = Math.floor( - $elem.width() / (format.length * tickLetterWidth + tickPadding) - ); - - const series = _.map(plotConfig, function (serie: any, index) { - serie = _.cloneDeep( - _.defaults(serie, { - shadowSize: 0, - lines: { - lineWidth: 3, - }, - }) - ); - serie._id = index; - - if (serie.color) { - const span = document.createElement('span'); - span.style.color = serie.color; - serie.color = span.style.color; - } - - if (serie._hide) { - serie.data = []; - serie.stack = false; - // serie.color = "#ddd"; - serie.label = '(hidden) ' + serie.label; - } - - if (serie._global) { - _.mergeWith(options, serie._global, function (objVal, srcVal) { - // This is kind of gross, it means that you can't replace a global value with a null - // best you can do is an empty string. Deal with it. - if (objVal == null) return srcVal; - if (srcVal == null) return objVal; - }); - } - - return serie; - }); - - if (options.yaxes) { - options.yaxes.forEach((yaxis: any) => { - if (yaxis && yaxis.units) { - yaxis.tickFormatter = formatters[yaxis.units.type]; - const byteModes = ['bytes', 'bytes/s']; - if (byteModes.includes(yaxis.units.type)) { - yaxis.tickGenerator = generateTicks; - } - } - }); - } - - // @ts-ignore - $scope.plot = $.plot(canvasElem, _.compact(series), options); - - if ($scope.plot) { - $scope.$emit('timelionChartRendered'); - } - - legendScope.$destroy(); - legendScope = $scope.$new(); - // Used to toggle the series, and for displaying values on hover - legendValueNumbers = canvasElem.find('.ngLegendValueNumber'); - _.each(canvasElem.find('.ngLegendValue'), function (elem) { - $compile(elem)(legendScope); - }); - - if (_.get($scope.plot.getData(), '[0]._global.legend.showTime', true)) { - legendCaption = $(''); - legendCaption.html(emptyCaption); - canvasElem.find('div.legend table').append(legendCaption); - - // legend has been re-created. Apply focus on legend element when previously set - if (focusedSeries || focusedSeries === 0) { - const $legendLabels = canvasElem.find('div.legend table .legendLabel>span'); - $legendLabels.get(focusedSeries).focus(); - } - } - } - $scope.$watch('chart', drawPlot); - }, - }; - }; -} diff --git a/src/plugins/timelion/public/panels/timechart/timechart.ts b/src/plugins/timelion/public/panels/timechart/timechart.ts deleted file mode 100644 index 6af7096bcb282..0000000000000 --- a/src/plugins/timelion/public/panels/timechart/timechart.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { timechartFn } from './schema'; -import { Panel } from '../panel'; -import { TimelionVisualizationDependencies } from '../../application'; - -export function getTimeChart(dependencies: TimelionVisualizationDependencies) { - // Schema is broken out so that it may be extended for use in other plugins - // Its also easier to test. - return new Panel('timechart', timechartFn(dependencies)()); -} diff --git a/src/plugins/timelion/public/partials/load_sheet.html b/src/plugins/timelion/public/partials/load_sheet.html deleted file mode 100644 index 8d8cf7193416c..0000000000000 --- a/src/plugins/timelion/public/partials/load_sheet.html +++ /dev/null @@ -1,12 +0,0 @@ -
    -

    - - -
    diff --git a/src/plugins/timelion/public/partials/save_sheet.html b/src/plugins/timelion/public/partials/save_sheet.html deleted file mode 100644 index 7773a9d25df71..0000000000000 --- a/src/plugins/timelion/public/partials/save_sheet.html +++ /dev/null @@ -1,107 +0,0 @@ -
    - - -
    -
    - - - - - - - -
    -
    - - - -
    -
    -
    - - {{opts.state.sheet[opts.state.selected]}} -
    -
    - - -
    -
    - -
    -
    -
    -
    diff --git a/src/plugins/timelion/public/partials/sheet_options.html b/src/plugins/timelion/public/partials/sheet_options.html deleted file mode 100644 index eae5709331659..0000000000000 --- a/src/plugins/timelion/public/partials/sheet_options.html +++ /dev/null @@ -1,36 +0,0 @@ -
    -

    - -
    -
    - - -
    -
    - - -
    -
    -
    diff --git a/src/plugins/timelion/public/plugin.ts b/src/plugins/timelion/public/plugin.ts deleted file mode 100644 index 63ea9a38e2795..0000000000000 --- a/src/plugins/timelion/public/plugin.ts +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { BehaviorSubject } from 'rxjs'; -import { filter, map } from 'rxjs/operators'; -import { - CoreSetup, - Plugin, - PluginInitializerContext, - DEFAULT_APP_CATEGORIES, - AppMountParameters, - AppUpdater, - ScopedHistory, - AppNavLinkStatus, -} from '../../../core/public'; -import { Panel } from './panels/panel'; -import { KibanaLegacyStart } from '../../kibana_legacy/public'; -import { createKbnUrlTracker } from '../../kibana_utils/public'; -import { DataPublicPluginStart, esFilters, DataPublicPluginSetup } from '../../data/public'; -import { NavigationPublicPluginStart } from '../../navigation/public'; -import { VisualizationsStart } from '../../visualizations/public'; -import { SavedObjectsStart } from '../../saved_objects/public'; -import { - VisTypeTimelionPluginStart, - VisTypeTimelionPluginSetup, -} from '../../vis_type_timelion/public'; - -export interface TimelionPluginSetupDependencies { - data: DataPublicPluginSetup; - visTypeTimelion: VisTypeTimelionPluginSetup; -} - -export interface TimelionPluginStartDependencies { - data: DataPublicPluginStart; - navigation: NavigationPublicPluginStart; - visualizations: VisualizationsStart; - visTypeTimelion: VisTypeTimelionPluginStart; - savedObjects: SavedObjectsStart; - kibanaLegacy: KibanaLegacyStart; -} - -/** @internal */ -export class TimelionPlugin - implements Plugin { - initializerContext: PluginInitializerContext; - private appStateUpdater = new BehaviorSubject(() => ({})); - private stopUrlTracking: (() => void) | undefined = undefined; - private currentHistory: ScopedHistory | undefined = undefined; - - constructor(initializerContext: PluginInitializerContext) { - this.initializerContext = initializerContext; - } - - public setup( - core: CoreSetup, - { - data, - visTypeTimelion, - }: { data: DataPublicPluginSetup; visTypeTimelion: VisTypeTimelionPluginSetup } - ) { - const timelionPanels: Map = new Map(); - - const { appMounted, appUnMounted, stop: stopUrlTracker } = createKbnUrlTracker({ - baseUrl: core.http.basePath.prepend('/app/timelion'), - defaultSubUrl: '#/', - storageKey: `lastUrl:${core.http.basePath.get()}:timelion`, - navLinkUpdater$: this.appStateUpdater, - toastNotifications: core.notifications.toasts, - stateParams: [ - { - kbnUrlKey: '_g', - stateUpdate$: data.query.state$.pipe( - filter( - ({ changes }) => !!(changes.globalFilters || changes.time || changes.refreshInterval) - ), - map(({ state }) => ({ - ...state, - filters: state.filters?.filter(esFilters.isFilterPinned), - })) - ), - }, - ], - getHistory: () => this.currentHistory!, - }); - - this.stopUrlTracking = () => { - stopUrlTracker(); - }; - - core.application.register({ - id: 'timelion', - title: 'Timelion', - order: 8000, - defaultPath: '#/', - euiIconType: 'logoKibana', - category: DEFAULT_APP_CATEGORIES.kibana, - navLinkStatus: - visTypeTimelion.isUiEnabled === false ? AppNavLinkStatus.hidden : AppNavLinkStatus.default, - mount: async (params: AppMountParameters) => { - const [coreStart, pluginsStart] = await core.getStartServices(); - await pluginsStart.kibanaLegacy.loadAngularBootstrap(); - this.currentHistory = params.history; - - appMounted(); - - const unlistenParentHistory = params.history.listen(() => { - window.dispatchEvent(new HashChangeEvent('hashchange')); - }); - - const { renderApp } = await import('./application'); - params.element.classList.add('timelionAppContainer'); - const unmount = renderApp({ - mountParams: params, - pluginInitializerContext: this.initializerContext, - timelionPanels, - core: coreStart, - plugins: pluginsStart, - }); - return () => { - unlistenParentHistory(); - unmount(); - appUnMounted(); - }; - }, - }); - } - - public start() {} - - public stop(): void { - if (this.stopUrlTracking) { - this.stopUrlTracking(); - } - } -} diff --git a/src/plugins/timelion/public/services/_saved_sheet.ts b/src/plugins/timelion/public/services/_saved_sheet.ts deleted file mode 100644 index a903c70aad69b..0000000000000 --- a/src/plugins/timelion/public/services/_saved_sheet.ts +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { IUiSettingsClient } from 'kibana/public'; -import { SavedObjectsStart } from '../../../saved_objects/public'; - -// Used only by the savedSheets service, usually no reason to change this -export function createSavedSheetClass(savedObjects: SavedObjectsStart, config: IUiSettingsClient) { - class SavedSheet extends savedObjects.SavedObjectClass { - static type = 'timelion-sheet'; - - // if type:sheet has no mapping, we push this mapping into ES - static mapping = { - title: 'text', - hits: 'integer', - description: 'text', - timelion_sheet: 'text', - timelion_interval: 'keyword', - timelion_other_interval: 'keyword', - timelion_chart_height: 'integer', - timelion_columns: 'integer', - timelion_rows: 'integer', - version: 'integer', - }; - - // Order these fields to the top, the rest are alphabetical - static fieldOrder = ['title', 'description']; - // SavedSheet constructor. Usually you'd interact with an instance of this. - // ID is option, without it one will be generated on save. - constructor(id: string) { - super({ - type: SavedSheet.type, - mapping: SavedSheet.mapping, - - // if this is null/undefined then the SavedObject will be assigned the defaults - id, - - // default values that will get assigned if the doc is new - defaults: { - title: 'New TimeLion Sheet', - hits: 0, - description: '', - timelion_sheet: ['.es(*)'], - timelion_interval: 'auto', - timelion_chart_height: 275, - timelion_columns: config.get('timelion:default_columns') || 2, - timelion_rows: config.get('timelion:default_rows') || 2, - version: 1, - }, - }); - this.showInRecentlyAccessed = true; - this.getFullPath = () => `/app/timelion#/${this.id}`; - } - } - - return SavedSheet as unknown; -} diff --git a/src/plugins/timelion/public/services/saved_sheets.ts b/src/plugins/timelion/public/services/saved_sheets.ts deleted file mode 100644 index 373bb895c9806..0000000000000 --- a/src/plugins/timelion/public/services/saved_sheets.ts +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { SavedObjectLoader } from '../../../saved_objects/public'; -import { createSavedSheetClass } from './_saved_sheet'; -import { RenderDeps } from '../application'; - -export function initSavedSheetService(app: angular.IModule, deps: RenderDeps) { - const savedObjectsClient = deps.core.savedObjects.client; - const SavedSheet = createSavedSheetClass(deps.plugins.savedObjects, deps.core.uiSettings); - - const savedSheetLoader = new SavedObjectLoader(SavedSheet, savedObjectsClient); - savedSheetLoader.urlFor = (id) => `#/${encodeURIComponent(id)}`; - // Customize loader properties since adding an 's' on type doesn't work for type 'timelion-sheet'. - savedSheetLoader.loaderProperties = { - name: 'timelion-sheet', - noun: 'Saved Sheets', - nouns: 'saved sheets', - }; - // This is the only thing that gets injected into controllers - app.service('savedSheets', function () { - return savedSheetLoader; - }); - - return savedSheetLoader; -} diff --git a/src/plugins/timelion/public/timelion_app_state.ts b/src/plugins/timelion/public/timelion_app_state.ts deleted file mode 100644 index 348a97583d37b..0000000000000 --- a/src/plugins/timelion/public/timelion_app_state.ts +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { createStateContainer, syncState, IKbnUrlStateStorage } from '../../kibana_utils/public'; - -import { TimelionAppState, TimelionAppStateTransitions } from './types'; - -const STATE_STORAGE_KEY = '_a'; - -interface Arguments { - kbnUrlStateStorage: IKbnUrlStateStorage; - stateDefaults: TimelionAppState; -} - -export function initTimelionAppState({ stateDefaults, kbnUrlStateStorage }: Arguments) { - const urlState = kbnUrlStateStorage.get(STATE_STORAGE_KEY); - const initialState = { - ...stateDefaults, - ...urlState, - }; - - /* - make sure url ('_a') matches initial state - Initializing appState does two things - first it translates the defaults into AppState, - second it updates appState based on the url (the url trumps the defaults). This means if - we update the state format at all and want to handle BWC, we must not only migrate the - data stored with saved vis, but also any old state in the url. - */ - kbnUrlStateStorage.set(STATE_STORAGE_KEY, initialState, { replace: true }); - - const stateContainer = createStateContainer( - initialState, - { - set: (state) => (prop, value) => ({ ...state, [prop]: value }), - updateState: (state) => (newValues) => ({ ...state, ...newValues }), - } - ); - - const { start: startStateSync, stop: stopStateSync } = syncState({ - storageKey: STATE_STORAGE_KEY, - stateContainer: { - ...stateContainer, - set: (state) => { - if (state) { - // syncState utils requires to handle incoming "null" value - stateContainer.set(state); - } - }, - }, - stateStorage: kbnUrlStateStorage, - }); - - // start syncing the appState with the ('_a') url - startStateSync(); - - return { stateContainer, stopStateSync }; -} diff --git a/src/plugins/timelion/public/types.ts b/src/plugins/timelion/public/types.ts deleted file mode 100644 index bfdbd3878ec23..0000000000000 --- a/src/plugins/timelion/public/types.ts +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -export interface TimelionAppState { - sheet: string[]; - selected: number; - columns: number; - rows: number; - interval: string; -} - -export interface TimelionAppStateTransitions { - set: ( - state: TimelionAppState - ) => (prop: T, value: TimelionAppState[T]) => TimelionAppState; - updateState: ( - state: TimelionAppState - ) => (newValues: Partial) => TimelionAppState; -} diff --git a/src/plugins/timelion/server/config.ts b/src/plugins/timelion/server/config.ts deleted file mode 100644 index d74c4c237b2b7..0000000000000 --- a/src/plugins/timelion/server/config.ts +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { schema, TypeOf } from '@kbn/config-schema'; - -export const configSchema = { - schema: schema.object({ - graphiteUrls: schema.maybe(schema.arrayOf(schema.string())), - enabled: schema.boolean({ defaultValue: true }), - ui: schema.object({ - enabled: schema.boolean({ defaultValue: true }), - }), - }), -}; - -export type TimelionConfigType = TypeOf; diff --git a/src/plugins/timelion/server/deprecations.ts b/src/plugins/timelion/server/deprecations.ts deleted file mode 100644 index 2358dd313b74f..0000000000000 --- a/src/plugins/timelion/server/deprecations.ts +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { - CoreStart, - SavedObjectsClient, - Logger, - GetDeprecationsContext, - DeprecationsDetails, -} from 'src/core/server'; - -export const getTimelionSheetsCount = async ( - savedObjectsClient: Pick -) => { - const { total } = await savedObjectsClient.find({ type: 'timelion-sheet', perPage: 1 }); - return total; -}; - -export const showWarningMessageIfTimelionSheetWasFound = async ( - core: CoreStart, - logger: Logger -) => { - const { savedObjects } = core; - const savedObjectsClient = savedObjects.createInternalRepository(); - const count = await getTimelionSheetsCount(savedObjectsClient); - if (count > 0) { - logger.warn( - 'Deprecated since 7.0, the Timelion app will be removed in 7.16. To continue using your Timelion worksheets, migrate them to a dashboard. See https://www.elastic.co/guide/en/kibana/current/create-panels-with-timelion.html.' - ); - } -}; - -/** - * Deprecated since 7.0, the Timelion app will be removed in 8.0. - * To continue using your Timelion worksheets, migrate them to a dashboard. - * - * @link https://www.elastic.co/guide/en/kibana/master/timelion.html#timelion-deprecation - **/ -export async function getDeprecations({ - savedObjectsClient, -}: GetDeprecationsContext): Promise { - const deprecations: DeprecationsDetails[] = []; - const count = await getTimelionSheetsCount(savedObjectsClient); - - if (count > 0) { - deprecations.push({ - title: 'Found Timelion worksheets', - message: `You have ${count} Timelion worksheets. The Timelion app will be removed in 7.16. To continue using your Timelion worksheets, migrate them to a dashboard.`, - documentationUrl: - 'https://www.elastic.co/guide/en/kibana/current/create-panels-with-timelion.html', - level: 'warning', - correctiveActions: { - manualSteps: [ - 'Navigate to the Kibana Dashboard and click "Create dashboard".', - 'Select Timelion from the "New Visualization" window.', - 'Open a new tab, open the Timelion app, select the chart you want to copy, then copy the chart expression.', - 'Go to Timelion, paste the chart expression in the Timelion expression field, then click Update.', - 'In the toolbar, click Save.', - 'On the Save visualization window, enter the visualization Title, then click Save and return.', - ], - }, - }); - } - - return deprecations; -} diff --git a/src/plugins/timelion/server/index.ts b/src/plugins/timelion/server/index.ts deleted file mode 100644 index fb77df100766a..0000000000000 --- a/src/plugins/timelion/server/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { PluginInitializerContext, PluginConfigDescriptor } from 'src/core/server'; -import { TimelionPlugin } from './plugin'; -import { configSchema, TimelionConfigType } from './config'; - -export const config: PluginConfigDescriptor = { - schema: configSchema.schema, -}; - -export const plugin = (context: PluginInitializerContext) => - new TimelionPlugin(context); diff --git a/src/plugins/timelion/server/plugin.ts b/src/plugins/timelion/server/plugin.ts deleted file mode 100644 index edbba9b565ae4..0000000000000 --- a/src/plugins/timelion/server/plugin.ts +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { CoreSetup, CoreStart, Plugin, PluginInitializerContext, Logger } from 'src/core/server'; -import { i18n } from '@kbn/i18n'; -import { schema } from '@kbn/config-schema'; -import { TimelionConfigType } from './config'; -import { timelionSheetSavedObjectType } from './saved_objects'; -import { getDeprecations, showWarningMessageIfTimelionSheetWasFound } from './deprecations'; - -export class TimelionPlugin implements Plugin { - private logger: Logger; - - constructor(context: PluginInitializerContext) { - this.logger = context.logger.get(); - } - - public setup(core: CoreSetup) { - core.capabilities.registerProvider(() => ({ - timelion: { - save: true, - show: true, - }, - })); - core.savedObjects.registerType(timelionSheetSavedObjectType); - - core.uiSettings.register({ - 'timelion:showTutorial': { - name: i18n.translate('timelion.uiSettings.showTutorialLabel', { - defaultMessage: 'Show tutorial', - }), - value: false, - description: i18n.translate('timelion.uiSettings.showTutorialDescription', { - defaultMessage: 'Should I show the tutorial by default when entering the timelion app?', - }), - category: ['timelion'], - schema: schema.boolean(), - }, - 'timelion:default_columns': { - name: i18n.translate('timelion.uiSettings.defaultColumnsLabel', { - defaultMessage: 'Default columns', - }), - value: 2, - description: i18n.translate('timelion.uiSettings.defaultColumnsDescription', { - defaultMessage: 'Number of columns on a timelion sheet by default', - }), - category: ['timelion'], - schema: schema.number(), - }, - 'timelion:default_rows': { - name: i18n.translate('timelion.uiSettings.defaultRowsLabel', { - defaultMessage: 'Default rows', - }), - value: 2, - description: i18n.translate('timelion.uiSettings.defaultRowsDescription', { - defaultMessage: 'Number of rows on a timelion sheet by default', - }), - category: ['timelion'], - schema: schema.number(), - }, - }); - - core.deprecations.registerDeprecations({ getDeprecations }); - } - start(core: CoreStart) { - showWarningMessageIfTimelionSheetWasFound(core, this.logger); - } - stop() {} -} diff --git a/src/plugins/timelion/server/saved_objects/index.ts b/src/plugins/timelion/server/saved_objects/index.ts deleted file mode 100644 index 0dd070958d09a..0000000000000 --- a/src/plugins/timelion/server/saved_objects/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -export { timelionSheetSavedObjectType } from './timelion_sheet'; diff --git a/src/plugins/timelion/server/saved_objects/timelion_sheet.ts b/src/plugins/timelion/server/saved_objects/timelion_sheet.ts deleted file mode 100644 index 231e049280bb1..0000000000000 --- a/src/plugins/timelion/server/saved_objects/timelion_sheet.ts +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { SavedObjectsType } from 'kibana/server'; - -export const timelionSheetSavedObjectType: SavedObjectsType = { - name: 'timelion-sheet', - hidden: false, - namespaceType: 'single', - management: { - icon: 'visTimelion', - defaultSearchField: 'title', - importableAndExportable: true, - getTitle(obj) { - return obj.attributes.title; - }, - getInAppUrl(obj) { - return { - path: `/app/timelion#/${encodeURIComponent(obj.id)}`, - uiCapabilitiesPath: 'timelion.show', - }; - }, - }, - mappings: { - properties: { - description: { type: 'text' }, - hits: { type: 'integer' }, - kibanaSavedObjectMeta: { - properties: { - searchSourceJSON: { type: 'text' }, - }, - }, - timelion_chart_height: { type: 'integer' }, - timelion_columns: { type: 'integer' }, - timelion_interval: { type: 'keyword' }, - timelion_other_interval: { type: 'keyword' }, - timelion_rows: { type: 'integer' }, - timelion_sheet: { type: 'text' }, - title: { type: 'text' }, - version: { type: 'integer' }, - }, - }, -}; diff --git a/src/plugins/timelion/tsconfig.json b/src/plugins/timelion/tsconfig.json deleted file mode 100644 index 594901c3cc1ed..0000000000000 --- a/src/plugins/timelion/tsconfig.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "extends": "../../../tsconfig.base.json", - "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, - "declarationMap": true - }, - "include": [ - "public/**/*", - "server/**/*" - ], - "references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../data/tsconfig.json" }, - { "path": "../visualizations/tsconfig.json" }, - { "path": "../navigation/tsconfig.json" }, - { "path": "../vis_type_timelion/tsconfig.json" }, - { "path": "../saved_objects/tsconfig.json" }, - { "path": "../kibana_legacy/tsconfig.json" }, - ] -} diff --git a/src/plugins/vis_type_timelion/config.ts b/src/plugins/vis_type_timelion/config.ts index aa88d786af51e..cfd3d13c277e9 100644 --- a/src/plugins/vis_type_timelion/config.ts +++ b/src/plugins/vis_type_timelion/config.ts @@ -8,14 +8,9 @@ import { schema, TypeOf } from '@kbn/config-schema'; -export const configSchema = schema.object( - { - enabled: schema.boolean({ defaultValue: true }), - ui: schema.object({ enabled: schema.boolean({ defaultValue: false }) }), - graphiteUrls: schema.maybe(schema.arrayOf(schema.string())), - }, - // This option should be removed as soon as we entirely migrate config from legacy Timelion plugin. - { unknowns: 'allow' } -); +export const configSchema = schema.object({ + graphiteUrls: schema.maybe(schema.arrayOf(schema.string())), + enabled: schema.boolean({ defaultValue: true }), +}); export type ConfigSchema = TypeOf; diff --git a/src/plugins/vis_type_timelion/public/components/timelion_expression_input.tsx b/src/plugins/vis_type_timelion/public/components/timelion_expression_input.tsx index d518d9718d5e7..569ddf03c941b 100644 --- a/src/plugins/vis_type_timelion/public/components/timelion_expression_input.tsx +++ b/src/plugins/vis_type_timelion/public/components/timelion_expression_input.tsx @@ -96,7 +96,7 @@ function TimelionExpressionInput({ value, setValue }: TimelionExpressionInputPro
    -
    +
    getTimelionVisualizationConfig(dependencies)); expressions.registerRenderer(getTimelionVisRenderer(dependencies)); visualizations.createBaseVisualization(getTimelionVisDefinition(dependencies)); - - return { - isUiEnabled: this.initializerContext.config.get().ui.enabled, - }; } public start(core: CoreStart, { data, charts }: TimelionVisStartDependencies) { diff --git a/src/plugins/vis_type_timelion/server/index.ts b/src/plugins/vis_type_timelion/server/index.ts index 35f4182a50a86..5c5cf8b481f94 100644 --- a/src/plugins/vis_type_timelion/server/index.ts +++ b/src/plugins/vis_type_timelion/server/index.ts @@ -10,19 +10,9 @@ import { PluginConfigDescriptor, PluginInitializerContext } from '../../../../sr import { configSchema, ConfigSchema } from '../config'; import { TimelionPlugin } from './plugin'; -export { PluginSetupContract } from './plugin'; - export const config: PluginConfigDescriptor = { schema: configSchema, - exposeToBrowser: { - ui: true, - }, - deprecations: ({ renameFromRoot }) => [ - renameFromRoot('timelion_vis.enabled', 'vis_type_timelion.enabled'), - renameFromRoot('timelion.enabled', 'vis_type_timelion.enabled'), - renameFromRoot('timelion.graphiteUrls', 'vis_type_timelion.graphiteUrls'), - renameFromRoot('timelion.ui.enabled', 'vis_type_timelion.ui.enabled', { silent: true }), - ], }; + export const plugin = (initializerContext: PluginInitializerContext) => new TimelionPlugin(initializerContext); diff --git a/src/plugins/vis_type_timelion/server/plugin.ts b/src/plugins/vis_type_timelion/server/plugin.ts index fc23569b351e6..5bbb5dd1819c4 100644 --- a/src/plugins/vis_type_timelion/server/plugin.ts +++ b/src/plugins/vis_type_timelion/server/plugin.ts @@ -8,8 +8,6 @@ import { i18n } from '@kbn/i18n'; import { TypeOf } from '@kbn/config-schema'; -import { RecursiveReadonly } from '@kbn/utility-types'; -import { deepFreeze } from '@kbn/std'; import type { PluginStart, DataRequestHandlerContext } from '../../../../src/plugins/data/server'; import { CoreSetup, PluginInitializerContext, Plugin } from '../../../../src/core/server'; @@ -21,13 +19,6 @@ import { runRoute } from './routes/run'; import { ConfigManager } from './lib/config_manager'; import { getUiSettings } from './ui_settings'; -/** - * Describes public Timelion plugin contract returned at the `setup` stage. - */ -export interface PluginSetupContract { - uiEnabled: boolean; -} - export interface TimelionPluginStartDeps { data: PluginStart; } @@ -35,11 +26,10 @@ export interface TimelionPluginStartDeps { /** * Represents Timelion Plugin instance that will be managed by the Kibana plugin system. */ -export class TimelionPlugin - implements Plugin, void, TimelionPluginStartDeps> { +export class TimelionPlugin implements Plugin { constructor(private readonly initializerContext: PluginInitializerContext) {} - public setup(core: CoreSetup): RecursiveReadonly { + public setup(core: CoreSetup): void { const config = this.initializerContext.config.get>(); const configManager = new ConfigManager(this.initializerContext.config); @@ -76,8 +66,6 @@ export class TimelionPlugin validateEsRoute(router); core.uiSettings.register(getUiSettings(config)); - - return deepFreeze({ uiEnabled: config.ui.enabled }); } public start() { diff --git a/test/api_integration/fixtures/es_archiver/management/saved_objects/scroll_count/mappings.json b/test/api_integration/fixtures/es_archiver/management/saved_objects/scroll_count/mappings.json index f44bb7463e9eb..619e300016043 100644 --- a/test/api_integration/fixtures/es_archiver/management/saved_objects/scroll_count/mappings.json +++ b/test/api_integration/fixtures/es_archiver/management/saved_objects/scroll_count/mappings.json @@ -29,7 +29,6 @@ "search": "db2c00e39b36f40930a3b9fc71c823e1", "search-telemetry": "3d1b76c39bfb2cc8296b024d73854724", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "type": "2f4316de49999235636386fe51dc06c1", "ui-counter": "0d409297dc5ebe1e3a1da691c6ee32e3", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", @@ -373,47 +372,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/test/api_integration/fixtures/es_archiver/management/saved_objects/search/data.json b/test/api_integration/fixtures/es_archiver/management/saved_objects/search/data.json index 6402a255afd37..05116741dbe5c 100644 --- a/test/api_integration/fixtures/es_archiver/management/saved_objects/search/data.json +++ b/test/api_integration/fixtures/es_archiver/management/saved_objects/search/data.json @@ -1,32 +1,3 @@ -{ - "type": "doc", - "value": { - "id": "timelion-sheet:190f3e90-2ec3-11e8-ba48-69fc4e41e1f6", - "index": ".kibana", - "source": { - "coreMigrationVersion": "7.14.0", - "references": [ - ], - "timelion-sheet": { - "description": "", - "hits": 0, - "timelion_chart_height": 275, - "timelion_columns": 2, - "timelion_interval": "auto", - "timelion_rows": 2, - "timelion_sheet": [ - ".es(*)" - ], - "title": "New TimeLion Sheet", - "version": 1 - }, - "type": "timelion-sheet", - "updated_at": "2018-03-23T17:53:30.872Z" - }, - "type": "_doc" - } -} - { "type": "doc", "value": { diff --git a/test/api_integration/fixtures/es_archiver/management/saved_objects/search/mappings.json b/test/api_integration/fixtures/es_archiver/management/saved_objects/search/mappings.json index 7699a72ff7120..e9ec4e680d74e 100644 --- a/test/api_integration/fixtures/es_archiver/management/saved_objects/search/mappings.json +++ b/test/api_integration/fixtures/es_archiver/management/saved_objects/search/mappings.json @@ -29,7 +29,6 @@ "search": "db2c00e39b36f40930a3b9fc71c823e1", "search-telemetry": "3d1b76c39bfb2cc8296b024d73854724", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "type": "2f4316de49999235636386fe51dc06c1", "ui-counter": "0d409297dc5ebe1e3a1da691c6ee32e3", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", @@ -377,47 +376,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/test/api_integration/fixtures/es_archiver/saved_objects/ui_counters/mappings.json b/test/api_integration/fixtures/es_archiver/saved_objects/ui_counters/mappings.json index 99f2f999db988..34b4ba98b3ee8 100644 --- a/test/api_integration/fixtures/es_archiver/saved_objects/ui_counters/mappings.json +++ b/test/api_integration/fixtures/es_archiver/saved_objects/ui_counters/mappings.json @@ -165,47 +165,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "namespace": { "type": "keyword" }, diff --git a/test/api_integration/fixtures/es_archiver/saved_objects/usage_counters/mappings.json b/test/api_integration/fixtures/es_archiver/saved_objects/usage_counters/mappings.json index c2ec5c8881087..e818c2f8cbe20 100644 --- a/test/api_integration/fixtures/es_archiver/saved_objects/usage_counters/mappings.json +++ b/test/api_integration/fixtures/es_archiver/saved_objects/usage_counters/mappings.json @@ -158,47 +158,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "namespace": { "type": "keyword" }, diff --git a/test/api_integration/fixtures/es_archiver/search/count/mappings.json b/test/api_integration/fixtures/es_archiver/search/count/mappings.json index 41d5c07e93239..8a46d3fc66c85 100644 --- a/test/api_integration/fixtures/es_archiver/search/count/mappings.json +++ b/test/api_integration/fixtures/es_archiver/search/count/mappings.json @@ -39,48 +39,6 @@ } } }, - "timelion-sheet": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "visualization": { "dynamic": "strict", "properties": { diff --git a/test/api_integration/fixtures/kbn_archiver/management/saved_objects/relationships.json b/test/api_integration/fixtures/kbn_archiver/management/saved_objects/relationships.json index da2241952ca37..5152303854b75 100644 --- a/test/api_integration/fixtures/kbn_archiver/management/saved_objects/relationships.json +++ b/test/api_integration/fixtures/kbn_archiver/management/saved_objects/relationships.json @@ -1,25 +1,3 @@ -{ - "attributes": { - "description": "", - "hits": 0, - "timelion_chart_height": 275, - "timelion_columns": 2, - "timelion_interval": "auto", - "timelion_rows": 2, - "timelion_sheet": [ - ".es(*)" - ], - "title": "New TimeLion Sheet", - "version": 1 - }, - "coreMigrationVersion": "8.0.0", - "id": "190f3e90-2ec3-11e8-ba48-69fc4e41e1f6", - "references": [], - "type": "timelion-sheet", - "updated_at": "2018-03-23T17:53:30.872Z", - "version": "WzgsMl0=" -} - { "attributes": { "fields": "[{\"name\":\"_id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"id\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true}]", diff --git a/test/functional/apps/timelion/_expression_typeahead.js b/test/functional/apps/timelion/_expression_typeahead.js deleted file mode 100644 index 3b29e9a44a77b..0000000000000 --- a/test/functional/apps/timelion/_expression_typeahead.js +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import expect from '@kbn/expect'; - -export default function ({ getPageObjects }) { - const PageObjects = getPageObjects(['common', 'timelion', 'settings', 'timePicker']); - - describe('expression typeahead', () => { - before(async () => { - await PageObjects.timelion.initTests(); - await PageObjects.timePicker.setDefaultAbsoluteRange(); - }); - - it('should show argument suggestions when function suggestion is selected', async () => { - await PageObjects.timelion.setExpression('.es'); - await PageObjects.timelion.clickSuggestion(); - const suggestions = await PageObjects.timelion.getSuggestionItemsText(); - expect(suggestions.length).to.eql(9); - expect(suggestions[0].includes('fit=')).to.eql(true); - }); - - it('should show argument value suggestions when argument is selected', async () => { - await PageObjects.timelion.setExpression('.legend'); - await PageObjects.timelion.clickSuggestion(); - const argumentSuggestions = await PageObjects.timelion.getSuggestionItemsText(); - expect(argumentSuggestions.length).to.eql(4); - expect(argumentSuggestions[1].includes('position=')).to.eql(true); - await PageObjects.timelion.clickSuggestion(1); - const valueSuggestions = await PageObjects.timelion.getSuggestionItemsText(); - expect(valueSuggestions.length).to.eql(5); - expect(valueSuggestions[0].includes('disable legend')).to.eql(true); - expect(valueSuggestions[1].includes('place legend in north east corner')).to.eql(true); - }); - - it('should display function suggestions filtered by function name', async () => { - await PageObjects.timelion.setExpression('.e'); - const suggestions = await PageObjects.timelion.getSuggestionItemsText(); - expect(suggestions.length).to.eql(2); - expect(suggestions[0].includes('.elasticsearch()')).to.eql(true); - expect(suggestions[1].includes('.es()')).to.eql(true); - }); - - describe('dynamic suggestions for argument values', () => { - describe('.es()', () => { - before(async () => { - await PageObjects.timelion.setExpression('.es'); - await PageObjects.timelion.clickSuggestion(); - }); - - it('should show index pattern suggestions for index argument', async () => { - await PageObjects.timelion.updateExpression('index='); - const suggestions = await PageObjects.timelion.getSuggestionItemsText(); - expect(suggestions.length).to.eql(1); - expect(suggestions[0].includes('logstash-*')).to.eql(true); - await PageObjects.timelion.clickSuggestion(); - }); - - it('should show field suggestions for timefield argument when index pattern set', async () => { - await PageObjects.timelion.updateExpression(',timefield='); - const suggestions = await PageObjects.timelion.getSuggestionItemsText(); - expect(suggestions.length).to.eql(4); - expect(suggestions[0].includes('@timestamp')).to.eql(true); - await PageObjects.timelion.clickSuggestion(); - }); - - it('should show field suggestions for split argument when index pattern set', async () => { - await PageObjects.timelion.updateExpression(',split='); - const suggestions = await PageObjects.timelion.getSuggestionItemsText(); - expect(suggestions.length).not.to.eql(0); - expect(suggestions[0].includes('@message.raw')).to.eql(true); - await PageObjects.timelion.clickSuggestion(10); - }); - - it('should show field suggestions for metric argument when index pattern set', async () => { - await PageObjects.timelion.updateExpression(',metric='); - await PageObjects.timelion.updateExpression('avg:'); - await PageObjects.timelion.clickSuggestion(0); - const suggestions = await PageObjects.timelion.getSuggestionItemsText(); - expect(suggestions.length).not.to.eql(0); - expect(suggestions[0].includes('avg:bytes')).to.eql(true); - }); - }); - }); - }); -} diff --git a/test/functional/apps/timelion/index.js b/test/functional/apps/timelion/index.js deleted file mode 100644 index b81a0e70d8a6d..0000000000000 --- a/test/functional/apps/timelion/index.js +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -export default function ({ getService, loadTestFile }) { - const browser = getService('browser'); - const log = getService('log'); - const esArchiver = getService('esArchiver'); - const kibanaServer = getService('kibanaServer'); - - describe('timelion app', function () { - this.tags('ciGroup1'); - - before(async function () { - log.debug('Starting timelion before method'); - await browser.setWindowSize(1280, 800); - await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional'); - await kibanaServer.uiSettings.replace({ defaultIndex: 'logstash-*' }); - }); - - loadTestFile(require.resolve('./_expression_typeahead')); - }); -} diff --git a/test/functional/apps/visualize/_timelion.ts b/test/functional/apps/visualize/_timelion.ts index a3f2c87424244..ea8cb8b13ba49 100644 --- a/test/functional/apps/visualize/_timelion.ts +++ b/test/functional/apps/visualize/_timelion.ts @@ -10,11 +10,13 @@ import expect from '@kbn/expect'; import type { FtrProviderContext } from '../../ftr_provider_context'; export default function ({ getPageObjects, getService }: FtrProviderContext) { - const { timePicker, visChart, visEditor, visualize } = getPageObjects([ + const { timePicker, visChart, visEditor, visualize, timelion, common } = getPageObjects([ 'timePicker', 'visChart', 'visEditor', 'visualize', + 'timelion', + 'common', ]); const monacoEditor = getService('monacoEditor'); const kibanaServer = getService('kibanaServer'); @@ -230,6 +232,72 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { }); }); + describe('expression typeahead', () => { + it('should display function suggestions', async () => { + await monacoEditor.setCodeEditorValue(''); + await monacoEditor.typeCodeEditorValue('.e', 'timelionCodeEditor'); + // wait for monaco editor model will be updated with new value + await common.sleep(300); + let value = await monacoEditor.getCodeEditorValue(0); + expect(value).to.eql('.e'); + const suggestions = await timelion.getSuggestionItemsText(); + expect(suggestions.length).to.eql(2); + expect(suggestions[0].includes('es')).to.eql(true); + expect(suggestions[1].includes('elasticsearch')).to.eql(true); + await timelion.clickSuggestion(0); + // wait for monaco editor model will be updated with new value + await common.sleep(300); + value = await monacoEditor.getCodeEditorValue(0); + expect(value).to.eql('.es()'); + }); + + describe('dynamic suggestions for argument values', () => { + describe('.es()', () => { + it('should show index pattern suggestions for index argument', async () => { + await monacoEditor.setCodeEditorValue(''); + await monacoEditor.typeCodeEditorValue('.es(index=', 'timelionCodeEditor'); + // wait for index patterns will be loaded + await common.sleep(500); + const suggestions = await timelion.getSuggestionItemsText(); + expect(suggestions.length).not.to.eql(0); + expect(suggestions[0].includes('log')).to.eql(true); + }); + + it('should show field suggestions for timefield argument when index pattern set', async () => { + await monacoEditor.setCodeEditorValue(''); + await monacoEditor.typeCodeEditorValue( + '.es(index=logstash-*, timefield=', + 'timelionCodeEditor' + ); + const suggestions = await timelion.getSuggestionItemsText(); + expect(suggestions.length).to.eql(4); + expect(suggestions[0].includes('@timestamp')).to.eql(true); + }); + + it('should show field suggestions for split argument when index pattern set', async () => { + await monacoEditor.setCodeEditorValue(''); + await monacoEditor.typeCodeEditorValue( + '.es(index=logstash-*, timefield=@timestamp ,split=', + 'timelionCodeEditor' + ); + const suggestions = await timelion.getSuggestionItemsText(); + expect(suggestions.length).not.to.eql(0); + expect(suggestions[0].includes('@message.raw')).to.eql(true); + }); + + it('should show field suggestions for metric argument when index pattern set', async () => { + await monacoEditor.typeCodeEditorValue( + '.es(index=logstash-*, timefield=@timestamp ,metric=avg:', + 'timelionCodeEditor' + ); + const suggestions = await timelion.getSuggestionItemsText(); + expect(suggestions.length).not.to.eql(0); + expect(suggestions[0].includes('avg:bytes')).to.eql(true); + }); + }); + }); + }); + after( async () => await kibanaServer.uiSettings.update({ diff --git a/test/functional/config.js b/test/functional/config.js index 221c2e6c1f1c1..1c7f63d637d5e 100644 --- a/test/functional/config.js +++ b/test/functional/config.js @@ -24,7 +24,6 @@ export default async function ({ readConfigFile }) { require.resolve('./apps/home'), require.resolve('./apps/management'), require.resolve('./apps/saved_objects_management'), - require.resolve('./apps/timelion'), require.resolve('./apps/visualize'), ], pageObjects, @@ -90,9 +89,6 @@ export default async function ({ readConfigFile }) { settings: { pathname: '/app/management', }, - timelion: { - pathname: '/app/timelion', - }, console: { pathname: '/app/dev_tools', hash: '/console', diff --git a/test/functional/fixtures/es_archiver/dashboard/current/kibana/mappings.json b/test/functional/fixtures/es_archiver/dashboard/current/kibana/mappings.json index b6e225951c545..161d733e868a8 100644 --- a/test/functional/fixtures/es_archiver/dashboard/current/kibana/mappings.json +++ b/test/functional/fixtures/es_archiver/dashboard/current/kibana/mappings.json @@ -29,7 +29,6 @@ "search": "db2c00e39b36f40930a3b9fc71c823e1", "search-telemetry": "3d1b76c39bfb2cc8296b024d73854724", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "type": "2f4316de49999235636386fe51dc06c1", "ui-counter": "0d409297dc5ebe1e3a1da691c6ee32e3", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", @@ -373,47 +372,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "tsvb-validation-telemetry": { "dynamic": "false", "type": "object" diff --git a/test/functional/fixtures/es_archiver/dashboard/legacy/mappings.json b/test/functional/fixtures/es_archiver/dashboard/legacy/mappings.json index 45b2508d38033..451369d85acd8 100644 --- a/test/functional/fixtures/es_archiver/dashboard/legacy/mappings.json +++ b/test/functional/fixtures/es_archiver/dashboard/legacy/mappings.json @@ -137,48 +137,6 @@ } } }, - "timelion-sheet": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/test/functional/fixtures/es_archiver/deprecations_service/mappings.json b/test/functional/fixtures/es_archiver/deprecations_service/mappings.json index 5159b946e082f..2d86b863d47dc 100644 --- a/test/functional/fixtures/es_archiver/deprecations_service/mappings.json +++ b/test/functional/fixtures/es_archiver/deprecations_service/mappings.json @@ -29,7 +29,6 @@ "search": "db2c00e39b36f40930a3b9fc71c823e1", "search-telemetry": "3d1b76c39bfb2cc8296b024d73854724", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "type": "2f4316de49999235636386fe51dc06c1", "ui-counter": "0d409297dc5ebe1e3a1da691c6ee32e3", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", @@ -331,47 +330,6 @@ "dynamic": "false", "type": "object" }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/test/functional/fixtures/es_archiver/discover/mappings.json b/test/functional/fixtures/es_archiver/discover/mappings.json index 93d724aa55603..33bc746c84c8c 100644 --- a/test/functional/fixtures/es_archiver/discover/mappings.json +++ b/test/functional/fixtures/es_archiver/discover/mappings.json @@ -29,7 +29,6 @@ "search": "db2c00e39b36f40930a3b9fc71c823e1", "search-telemetry": "3d1b76c39bfb2cc8296b024d73854724", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "type": "2f4316de49999235636386fe51dc06c1", "ui-counter": "0d409297dc5ebe1e3a1da691c6ee32e3", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", @@ -346,47 +345,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/test/functional/fixtures/es_archiver/empty_kibana/mappings.json b/test/functional/fixtures/es_archiver/empty_kibana/mappings.json index 264096beb11ee..7082f43f45e99 100644 --- a/test/functional/fixtures/es_archiver/empty_kibana/mappings.json +++ b/test/functional/fixtures/es_archiver/empty_kibana/mappings.json @@ -146,48 +146,6 @@ } } }, - "timelion-sheet": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/test/functional/fixtures/es_archiver/invalid_scripted_field/mappings.json b/test/functional/fixtures/es_archiver/invalid_scripted_field/mappings.json index 63cc283f96d32..0d41e0ce86c14 100644 --- a/test/functional/fixtures/es_archiver/invalid_scripted_field/mappings.json +++ b/test/functional/fixtures/es_archiver/invalid_scripted_field/mappings.json @@ -143,47 +143,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/test/functional/fixtures/es_archiver/kibana_sample_data_flights_index_pattern/mappings.json b/test/functional/fixtures/es_archiver/kibana_sample_data_flights_index_pattern/mappings.json index caa1a9d8ddc11..f980596200b25 100644 --- a/test/functional/fixtures/es_archiver/kibana_sample_data_flights_index_pattern/mappings.json +++ b/test/functional/fixtures/es_archiver/kibana_sample_data_flights_index_pattern/mappings.json @@ -19,7 +19,6 @@ "sample-data-telemetry": "7d3cfeb915303c9641c59681967ffeb4", "search": "181661168bbadd1eff5902361e2a0d5c", "server": "ec97f1c5da1a19609a60874e5af1100c", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "type": "2f4316de49999235636386fe51dc06c1", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", "updated_at": "00da57df13e94e9d98437d13ace4bfe0", @@ -245,47 +244,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/test/functional/fixtures/es_archiver/management/mappings.json b/test/functional/fixtures/es_archiver/management/mappings.json index 45b2508d38033..451369d85acd8 100644 --- a/test/functional/fixtures/es_archiver/management/mappings.json +++ b/test/functional/fixtures/es_archiver/management/mappings.json @@ -137,48 +137,6 @@ } } }, - "timelion-sheet": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/test/functional/fixtures/es_archiver/mgmt/mappings.json b/test/functional/fixtures/es_archiver/mgmt/mappings.json index aefbd9d0ccc8a..f4962f9c47668 100644 --- a/test/functional/fixtures/es_archiver/mgmt/mappings.json +++ b/test/functional/fixtures/es_archiver/mgmt/mappings.json @@ -172,47 +172,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/test/functional/fixtures/es_archiver/saved_objects_imports/mappings.json b/test/functional/fixtures/es_archiver/saved_objects_imports/mappings.json index 45b2508d38033..451369d85acd8 100644 --- a/test/functional/fixtures/es_archiver/saved_objects_imports/mappings.json +++ b/test/functional/fixtures/es_archiver/saved_objects_imports/mappings.json @@ -137,48 +137,6 @@ } } }, - "timelion-sheet": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/test/functional/fixtures/es_archiver/saved_objects_management/edit_saved_object/mappings.json b/test/functional/fixtures/es_archiver/saved_objects_management/edit_saved_object/mappings.json index 05ca4d8e8307e..bb863dc24c585 100644 --- a/test/functional/fixtures/es_archiver/saved_objects_management/edit_saved_object/mappings.json +++ b/test/functional/fixtures/es_archiver/saved_objects_management/edit_saved_object/mappings.json @@ -358,47 +358,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/test/functional/fixtures/es_archiver/saved_objects_management/export_exclusion/mappings.json b/test/functional/fixtures/es_archiver/saved_objects_management/export_exclusion/mappings.json index abec2eeb77492..d0101f16f85d0 100644 --- a/test/functional/fixtures/es_archiver/saved_objects_management/export_exclusion/mappings.json +++ b/test/functional/fixtures/es_archiver/saved_objects_management/export_exclusion/mappings.json @@ -387,47 +387,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/test/functional/fixtures/es_archiver/saved_objects_management/export_transform/mappings.json b/test/functional/fixtures/es_archiver/saved_objects_management/export_transform/mappings.json index b2385a281dd23..9562b381a40f8 100644 --- a/test/functional/fixtures/es_archiver/saved_objects_management/export_transform/mappings.json +++ b/test/functional/fixtures/es_archiver/saved_objects_management/export_transform/mappings.json @@ -29,7 +29,6 @@ "search": "db2c00e39b36f40930a3b9fc71c823e1", "search-telemetry": "3d1b76c39bfb2cc8296b024d73854724", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "type": "2f4316de49999235636386fe51dc06c1", "ui-counter": "0d409297dc5ebe1e3a1da691c6ee32e3", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", @@ -370,47 +369,6 @@ "dynamic": "false", "type": "object" }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/test/functional/fixtures/es_archiver/saved_objects_management/hidden_saved_objects/mappings.json b/test/functional/fixtures/es_archiver/saved_objects_management/hidden_saved_objects/mappings.json index d59f3b00d4818..780fdda5f7cbe 100644 --- a/test/functional/fixtures/es_archiver/saved_objects_management/hidden_saved_objects/mappings.json +++ b/test/functional/fixtures/es_archiver/saved_objects_management/hidden_saved_objects/mappings.json @@ -29,7 +29,6 @@ "search": "db2c00e39b36f40930a3b9fc71c823e1", "search-telemetry": "3d1b76c39bfb2cc8296b024d73854724", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "type": "2f4316de49999235636386fe51dc06c1", "ui-counter": "0d409297dc5ebe1e3a1da691c6ee32e3", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", @@ -378,47 +377,6 @@ "dynamic": "false", "type": "object" }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/test/functional/fixtures/es_archiver/saved_objects_management/hidden_types/mappings.json b/test/functional/fixtures/es_archiver/saved_objects_management/hidden_types/mappings.json index 61763f55c1b6a..adcf4164668d6 100644 --- a/test/functional/fixtures/es_archiver/saved_objects_management/hidden_types/mappings.json +++ b/test/functional/fixtures/es_archiver/saved_objects_management/hidden_types/mappings.json @@ -389,47 +389,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/test/functional/fixtures/es_archiver/saved_objects_management/nested_export_transform/mappings.json b/test/functional/fixtures/es_archiver/saved_objects_management/nested_export_transform/mappings.json index b2385a281dd23..9562b381a40f8 100644 --- a/test/functional/fixtures/es_archiver/saved_objects_management/nested_export_transform/mappings.json +++ b/test/functional/fixtures/es_archiver/saved_objects_management/nested_export_transform/mappings.json @@ -29,7 +29,6 @@ "search": "db2c00e39b36f40930a3b9fc71c823e1", "search-telemetry": "3d1b76c39bfb2cc8296b024d73854724", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "type": "2f4316de49999235636386fe51dc06c1", "ui-counter": "0d409297dc5ebe1e3a1da691c6ee32e3", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", @@ -370,47 +369,6 @@ "dynamic": "false", "type": "object" }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/test/functional/fixtures/es_archiver/saved_objects_management/show_relationships/mappings.json b/test/functional/fixtures/es_archiver/saved_objects_management/show_relationships/mappings.json index aba581867bb8a..0679717650af9 100644 --- a/test/functional/fixtures/es_archiver/saved_objects_management/show_relationships/mappings.json +++ b/test/functional/fixtures/es_archiver/saved_objects_management/show_relationships/mappings.json @@ -372,47 +372,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/test/functional/fixtures/es_archiver/timelion/mappings.json b/test/functional/fixtures/es_archiver/timelion/mappings.json index 45b2508d38033..451369d85acd8 100644 --- a/test/functional/fixtures/es_archiver/timelion/mappings.json +++ b/test/functional/fixtures/es_archiver/timelion/mappings.json @@ -137,48 +137,6 @@ } } }, - "timelion-sheet": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/test/functional/fixtures/es_archiver/visualize_embedding/mappings.json b/test/functional/fixtures/es_archiver/visualize_embedding/mappings.json index 45b2508d38033..451369d85acd8 100644 --- a/test/functional/fixtures/es_archiver/visualize_embedding/mappings.json +++ b/test/functional/fixtures/es_archiver/visualize_embedding/mappings.json @@ -137,48 +137,6 @@ } } }, - "timelion-sheet": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/test/functional/fixtures/es_archiver/visualize_source-filters/mappings.json b/test/functional/fixtures/es_archiver/visualize_source-filters/mappings.json index 45b2508d38033..451369d85acd8 100644 --- a/test/functional/fixtures/es_archiver/visualize_source-filters/mappings.json +++ b/test/functional/fixtures/es_archiver/visualize_source-filters/mappings.json @@ -137,48 +137,6 @@ } } }, - "timelion-sheet": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/test/functional/fixtures/es_archiver/visualize_source_filters/mappings.json b/test/functional/fixtures/es_archiver/visualize_source_filters/mappings.json index 5ac113e7e4b74..ec6a9ce7f13a1 100644 --- a/test/functional/fixtures/es_archiver/visualize_source_filters/mappings.json +++ b/test/functional/fixtures/es_archiver/visualize_source_filters/mappings.json @@ -155,48 +155,6 @@ } } }, - "timelion-sheet": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/test/functional/page_objects/timelion_page.ts b/test/functional/page_objects/timelion_page.ts index 65584d98022be..bdfde3c8145e5 100644 --- a/test/functional/page_objects/timelion_page.ts +++ b/test/functional/page_objects/timelion_page.ts @@ -10,71 +10,21 @@ import { FtrService } from '../ftr_provider_context'; export class TimelionPageObject extends FtrService { private readonly testSubjects = this.ctx.getService('testSubjects'); - private readonly log = this.ctx.getService('log'); - private readonly common = this.ctx.getPageObject('common'); - private readonly esArchiver = this.ctx.getService('esArchiver'); - private readonly kibanaServer = this.ctx.getService('kibanaServer'); - - public async initTests() { - await this.kibanaServer.uiSettings.replace({ - defaultIndex: 'logstash-*', - }); - - this.log.debug('load kibana index'); - await this.esArchiver.load('test/functional/fixtures/es_archiver/timelion'); - - await this.common.navigateToApp('timelion'); - } - - public async setExpression(expression: string) { - const input = await this.testSubjects.find('timelionExpressionTextArea'); - await input.clearValue(); - await input.type(expression); - } - - public async updateExpression(updates: string) { - const input = await this.testSubjects.find('timelionExpressionTextArea'); - await input.type(updates); - await this.common.sleep(1000); - } - - public async getExpression() { - const input = await this.testSubjects.find('timelionExpressionTextArea'); - return input.getVisibleText(); - } public async getSuggestionItemsText() { - const elements = await this.testSubjects.findAll('timelionSuggestionListItem'); - return await Promise.all(elements.map(async (element) => await element.getVisibleText())); + const timelionCodeEditor = await this.testSubjects.find('timelionCodeEditor'); + const lists = await timelionCodeEditor.findAllByClassName('monaco-list-row'); + return await Promise.all(lists.map(async (element) => await element.getVisibleText())); } - public async clickSuggestion(suggestionIndex = 0, waitTime = 1000) { - const elements = await this.testSubjects.findAll('timelionSuggestionListItem'); - if (suggestionIndex > elements.length) { + public async clickSuggestion(suggestionIndex = 0) { + const timelionCodeEditor = await this.testSubjects.find('timelionCodeEditor'); + const lists = await timelionCodeEditor.findAllByCssSelector('.monaco-list-row'); + if (suggestionIndex > lists.length) { throw new Error( - `Unable to select suggestion ${suggestionIndex}, only ${elements.length} suggestions available.` + `Unable to select suggestion ${suggestionIndex}, only ${lists.length} suggestions available.` ); } - await elements[suggestionIndex].click(); - // Wait for timelion expression to be updated after clicking suggestions - await this.common.sleep(waitTime); - } - - public async saveTimelionSheet() { - await this.testSubjects.click('timelionSaveButton'); - await this.testSubjects.click('timelionSaveAsSheetButton'); - await this.testSubjects.click('timelionFinishSaveButton'); - await this.testSubjects.existOrFail('timelionSaveSuccessToast'); - await this.testSubjects.waitForDeleted('timelionSaveSuccessToast'); - } - - public async expectWriteControls() { - await this.testSubjects.existOrFail('timelionSaveButton'); - await this.testSubjects.existOrFail('timelionDeleteButton'); - } - - public async expectMissingWriteControls() { - await this.testSubjects.missingOrFail('timelionSaveButton'); - await this.testSubjects.missingOrFail('timelionDeleteButton'); + await lists[suggestionIndex].click(); } } diff --git a/test/functional/services/monaco_editor.ts b/test/functional/services/monaco_editor.ts index 90674e101fc4e..63a5a7105ddb8 100644 --- a/test/functional/services/monaco_editor.ts +++ b/test/functional/services/monaco_editor.ts @@ -11,6 +11,7 @@ import { FtrService } from '../ftr_provider_context'; export class MonacoEditorService extends FtrService { private readonly retry = this.ctx.getService('retry'); private readonly browser = this.ctx.getService('browser'); + private readonly testSubjects = this.ctx.getService('testSubjects'); public async getCodeEditorValue(nthIndex: number = 0) { let values: string[] = []; @@ -27,6 +28,12 @@ export class MonacoEditorService extends FtrService { return values[nthIndex] as string; } + public async typeCodeEditorValue(value: string, testSubjId: string) { + const editor = await this.testSubjects.find(testSubjId); + const textarea = await editor.findByCssSelector('textarea'); + textarea.type(value); + } + public async setCodeEditorValue(value: string, nthIndex = 0) { await this.retry.try(async () => { await this.browser.execute( diff --git a/test/new_visualize_flow/fixtures/es_archiver/kibana/mappings.json b/test/new_visualize_flow/fixtures/es_archiver/kibana/mappings.json index 9f5edaad0fe76..f010fcea90b3f 100644 --- a/test/new_visualize_flow/fixtures/es_archiver/kibana/mappings.json +++ b/test/new_visualize_flow/fixtures/es_archiver/kibana/mappings.json @@ -23,7 +23,6 @@ "sample-data-telemetry": "7d3cfeb915303c9641c59681967ffeb4", "search": "181661168bbadd1eff5902361e2a0d5c", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215", "type": "2f4316de49999235636386fe51dc06c1", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", @@ -366,47 +365,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "tsvb-validation-telemetry": { "properties": { "failedRequests": { diff --git a/x-pack/plugins/features/kibana.json b/x-pack/plugins/features/kibana.json index 867f9ced7ed88..550b3899061d4 100644 --- a/x-pack/plugins/features/kibana.json +++ b/x-pack/plugins/features/kibana.json @@ -7,7 +7,6 @@ "version": "8.0.0", "kibanaVersion": "kibana", "requiredPlugins": ["licensing"], - "optionalPlugins": ["visTypeTimelion"], "configPath": ["xpack", "features"], "server": true, "ui": true, diff --git a/x-pack/plugins/features/server/__snapshots__/oss_features.test.ts.snap b/x-pack/plugins/features/server/__snapshots__/oss_features.test.ts.snap index 954701f0087f4..85eb1f5b71e71 100644 --- a/x-pack/plugins/features/server/__snapshots__/oss_features.test.ts.snap +++ b/x-pack/plugins/features/server/__snapshots__/oss_features.test.ts.snap @@ -551,7 +551,6 @@ Array [ "index-pattern", "search", "visualization", - "timelion-sheet", "canvas-workpad", "lens", "map", @@ -584,7 +583,6 @@ Array [ "index-pattern", "search", "visualization", - "timelion-sheet", "canvas-workpad", "lens", "map", @@ -857,54 +855,6 @@ Array [ ] `; -exports[`buildOSSFeatures with a basic license returns the timelion feature augmented with appropriate sub feature privileges 1`] = ` -Array [ - Object { - "privilege": Object { - "app": Array [ - "timelion", - "kibana", - ], - "catalogue": Array [ - "timelion", - ], - "savedObject": Object { - "all": Array [ - "timelion-sheet", - ], - "read": Array [ - "index-pattern", - ], - }, - "ui": Array [ - "save", - ], - }, - "privilegeId": "all", - }, - Object { - "privilege": Object { - "app": Array [ - "timelion", - "kibana", - ], - "catalogue": Array [ - "timelion", - ], - "savedObject": Object { - "all": Array [], - "read": Array [ - "index-pattern", - "timelion-sheet", - ], - }, - "ui": Array [], - }, - "privilegeId": "read", - }, -] -`; - exports[`buildOSSFeatures with a basic license returns the visualize feature augmented with appropriate sub feature privileges 1`] = ` Array [ Object { @@ -1081,7 +1031,6 @@ Array [ "index-pattern", "search", "visualization", - "timelion-sheet", "canvas-workpad", "lens", "map", @@ -1114,7 +1063,6 @@ Array [ "index-pattern", "search", "visualization", - "timelion-sheet", "canvas-workpad", "lens", "map", @@ -1387,54 +1335,6 @@ Array [ ] `; -exports[`buildOSSFeatures with a enterprise license returns the timelion feature augmented with appropriate sub feature privileges 1`] = ` -Array [ - Object { - "privilege": Object { - "app": Array [ - "timelion", - "kibana", - ], - "catalogue": Array [ - "timelion", - ], - "savedObject": Object { - "all": Array [ - "timelion-sheet", - ], - "read": Array [ - "index-pattern", - ], - }, - "ui": Array [ - "save", - ], - }, - "privilegeId": "all", - }, - Object { - "privilege": Object { - "app": Array [ - "timelion", - "kibana", - ], - "catalogue": Array [ - "timelion", - ], - "savedObject": Object { - "all": Array [], - "read": Array [ - "index-pattern", - "timelion-sheet", - ], - }, - "ui": Array [], - }, - "privilegeId": "read", - }, -] -`; - exports[`buildOSSFeatures with a enterprise license returns the visualize feature augmented with appropriate sub feature privileges 1`] = ` Array [ Object { diff --git a/x-pack/plugins/features/server/oss_features.test.ts b/x-pack/plugins/features/server/oss_features.test.ts index 39bb12d90ea1c..7a1c5951192ec 100644 --- a/x-pack/plugins/features/server/oss_features.test.ts +++ b/x-pack/plugins/features/server/oss_features.test.ts @@ -11,52 +11,10 @@ import { KibanaFeature } from '.'; import { LicenseType, LICENSE_TYPE } from '../../licensing/server'; describe('buildOSSFeatures', () => { - it('returns features including timelion', () => { - expect( - buildOSSFeatures({ - savedObjectTypes: ['foo', 'bar'], - includeTimelion: true, - includeReporting: false, - }).map((f) => f.id) - ).toMatchInlineSnapshot(` -Array [ - "discover", - "visualize", - "dashboard", - "dev_tools", - "advancedSettings", - "indexPatterns", - "savedObjectsManagement", - "timelion", -] -`); - }); - - it('returns features excluding timelion', () => { - expect( - buildOSSFeatures({ - savedObjectTypes: ['foo', 'bar'], - includeTimelion: false, - includeReporting: false, - }).map((f) => f.id) - ).toMatchInlineSnapshot(` -Array [ - "discover", - "visualize", - "dashboard", - "dev_tools", - "advancedSettings", - "indexPatterns", - "savedObjectsManagement", -] -`); - }); - it('returns features including reporting subfeatures', () => { expect( buildOSSFeatures({ savedObjectTypes: ['foo', 'bar'], - includeTimelion: false, includeReporting: true, }).map(({ id, subFeatures }) => ({ id, subFeatures })) ).toMatchSnapshot(); @@ -66,7 +24,6 @@ Array [ expect( buildOSSFeatures({ savedObjectTypes: ['foo', 'bar'], - includeTimelion: false, includeReporting: false, }).map(({ id, subFeatures }) => ({ id, subFeatures })) ).toMatchSnapshot(); @@ -74,7 +31,6 @@ Array [ const features = buildOSSFeatures({ savedObjectTypes: ['foo', 'bar'], - includeTimelion: true, includeReporting: false, }); features.forEach((featureConfig) => { diff --git a/x-pack/plugins/features/server/oss_features.ts b/x-pack/plugins/features/server/oss_features.ts index 14265948c2dee..7c8432b8d9ec7 100644 --- a/x-pack/plugins/features/server/oss_features.ts +++ b/x-pack/plugins/features/server/oss_features.ts @@ -11,13 +11,11 @@ import type { KibanaFeatureConfig, SubFeatureConfig } from '../common'; export interface BuildOSSFeaturesParams { savedObjectTypes: string[]; - includeTimelion: boolean; includeReporting: boolean; } export const buildOSSFeatures = ({ savedObjectTypes, - includeTimelion, includeReporting, }: BuildOSSFeaturesParams): KibanaFeatureConfig[] => { return [ @@ -203,7 +201,6 @@ export const buildOSSFeatures = ({ 'index-pattern', 'search', 'visualization', - 'timelion-sheet', 'canvas-workpad', 'lens', 'map', @@ -221,7 +218,6 @@ export const buildOSSFeatures = ({ 'index-pattern', 'search', 'visualization', - 'timelion-sheet', 'canvas-workpad', 'lens', 'map', @@ -450,39 +446,9 @@ export const buildOSSFeatures = ({ }, }, }, - ...(includeTimelion ? [timelionFeature] : []), ] as KibanaFeatureConfig[]; }; -const timelionFeature: KibanaFeatureConfig = { - id: 'timelion', - name: 'Timelion', - order: 350, - category: DEFAULT_APP_CATEGORIES.kibana, - app: ['timelion', 'kibana'], - catalogue: ['timelion'], - privileges: { - all: { - app: ['timelion', 'kibana'], - catalogue: ['timelion'], - savedObject: { - all: ['timelion-sheet'], - read: ['index-pattern'], - }, - ui: ['save'], - }, - read: { - app: ['timelion', 'kibana'], - catalogue: ['timelion'], - savedObject: { - all: [], - read: ['index-pattern', 'timelion-sheet'], - }, - ui: [], - }, - }, -}; - const reportingPrivilegeGroupName = i18n.translate( 'xpack.features.ossFeatures.reporting.reportingTitle', { diff --git a/x-pack/plugins/features/server/plugin.test.ts b/x-pack/plugins/features/server/plugin.test.ts index ba809187a549e..e5940bc73ae97 100644 --- a/x-pack/plugins/features/server/plugin.test.ts +++ b/x-pack/plugins/features/server/plugin.test.ts @@ -46,36 +46,7 @@ describe('Features Plugin', () => { it('returns OSS + registered kibana features', async () => { const plugin = new FeaturesPlugin(initContext); - const { registerKibanaFeature } = await plugin.setup(coreSetup, {}); - registerKibanaFeature({ - id: 'baz', - name: 'baz', - app: [], - category: { id: 'foo', label: 'foo' }, - privileges: null, - }); - - const { getKibanaFeatures } = plugin.start(coreStart); - - expect(getKibanaFeatures().map((f) => f.id)).toMatchInlineSnapshot(` - Array [ - "baz", - "discover", - "visualize", - "dashboard", - "dev_tools", - "advancedSettings", - "indexPatterns", - "savedObjectsManagement", - ] - `); - }); - - it('returns OSS + registered kibana features with timelion when available', async () => { - const plugin = new FeaturesPlugin(initContext); - const { registerKibanaFeature: registerFeature } = await plugin.setup(coreSetup, { - visTypeTimelion: { uiEnabled: true }, - }); + const { registerKibanaFeature: registerFeature } = await plugin.setup(coreSetup); registerFeature({ id: 'baz', name: 'baz', @@ -96,7 +67,6 @@ describe('Features Plugin', () => { "advancedSettings", "indexPatterns", "savedObjectsManagement", - "timelion", ] `); }); @@ -105,7 +75,7 @@ describe('Features Plugin', () => { typeRegistry.isHidden.mockReturnValueOnce(true); typeRegistry.isHidden.mockReturnValueOnce(false); const plugin = new FeaturesPlugin(initContext); - await plugin.setup(coreSetup, {}); + await plugin.setup(coreSetup); const { getKibanaFeatures } = plugin.start(coreStart); const soTypes = @@ -120,7 +90,7 @@ describe('Features Plugin', () => { it('returns registered elasticsearch features', async () => { const plugin = new FeaturesPlugin(initContext); - const { registerElasticsearchFeature } = await plugin.setup(coreSetup, {}); + const { registerElasticsearchFeature } = await plugin.setup(coreSetup); registerElasticsearchFeature({ id: 'baz', privileges: [ @@ -142,7 +112,7 @@ describe('Features Plugin', () => { it('registers a capabilities provider', async () => { const plugin = new FeaturesPlugin(initContext); - await plugin.setup(coreSetup, {}); + await plugin.setup(coreSetup); expect(coreSetup.capabilities.registerProvider).toHaveBeenCalledTimes(1); expect(coreSetup.capabilities.registerProvider).toHaveBeenCalledWith(expect.any(Function)); diff --git a/x-pack/plugins/features/server/plugin.ts b/x-pack/plugins/features/server/plugin.ts index b1f540031f6dc..c1fbc4b8a5edb 100644 --- a/x-pack/plugins/features/server/plugin.ts +++ b/x-pack/plugins/features/server/plugin.ts @@ -81,10 +81,6 @@ export interface PluginStartContract { getKibanaFeatures(): KibanaFeature[]; } -interface TimelionSetupContract { - uiEnabled: boolean; -} - /** * Represents Features Plugin instance that will be managed by the Kibana plugin system. */ @@ -93,19 +89,13 @@ export class FeaturesPlugin Plugin, RecursiveReadonly> { private readonly logger: Logger; private readonly featureRegistry: FeatureRegistry = new FeatureRegistry(); - private isTimelionEnabled: boolean = false; private isReportingEnabled: boolean = false; constructor(private readonly initializerContext: PluginInitializerContext) { this.logger = this.initializerContext.logger.get(); } - public setup( - core: CoreSetup, - { visTypeTimelion }: { visTypeTimelion?: TimelionSetupContract } - ): RecursiveReadonly { - this.isTimelionEnabled = visTypeTimelion !== undefined && visTypeTimelion.uiEnabled; - + public setup(core: CoreSetup): RecursiveReadonly { defineRoutes({ router: core.http.createRouter(), featureRegistry: this.featureRegistry, @@ -160,14 +150,8 @@ export class FeaturesPlugin new Set([...savedObjectVisibleTypes, ...savedObjectImportableAndExportableHiddenTypes]) ); - this.logger.debug( - `Registering OSS features with SO types: ${savedObjectTypes.join(', ')}. "includeTimelion": ${ - this.isTimelionEnabled - }.` - ); const features = buildOSSFeatures({ savedObjectTypes, - includeTimelion: this.isTimelionEnabled, includeReporting: this.isReportingEnabled, }); diff --git a/x-pack/plugins/monitoring/server/telemetry_collection/get_kibana_stats.test.ts b/x-pack/plugins/monitoring/server/telemetry_collection/get_kibana_stats.test.ts index 08997a73d26bb..cd037fa062ed8 100644 --- a/x-pack/plugins/monitoring/server/telemetry_collection/get_kibana_stats.test.ts +++ b/x-pack/plugins/monitoring/server/telemetry_collection/get_kibana_stats.test.ts @@ -37,7 +37,6 @@ describe('Get Kibana Stats', () => { search: { total: 0 }, index_pattern: { total: 0 }, graph_workspace: { total: 1 }, - timelion_sheet: { total: 1 }, index: '.kibana-test-01', }, }, @@ -53,7 +52,6 @@ describe('Get Kibana Stats', () => { search: { total: 0 }, index_pattern: { total: 0 }, graph_workspace: { total: 1 }, - timelion_sheet: { total: 1 }, indices: 1, plugins: {}, }, @@ -77,7 +75,6 @@ describe('Get Kibana Stats', () => { search: { total: 1 }, index_pattern: { total: 1 }, graph_workspace: { total: 1 }, - timelion_sheet: { total: 1 }, index: '.kibana-test-01', }, }, @@ -93,7 +90,6 @@ describe('Get Kibana Stats', () => { search: { total: 1 }, index_pattern: { total: 1 }, graph_workspace: { total: 1 }, - timelion_sheet: { total: 1 }, indices: 1, plugins: {}, }, @@ -116,7 +112,6 @@ describe('Get Kibana Stats', () => { search: { total: 1 }, index_pattern: { total: 1 }, graph_workspace: { total: 1 }, - timelion_sheet: { total: 1 }, index: '.kibana-test-01', }, }, @@ -132,7 +127,6 @@ describe('Get Kibana Stats', () => { search: { total: 1 }, index_pattern: { total: 1 }, graph_workspace: { total: 1 }, - timelion_sheet: { total: 1 }, indices: 1, plugins: {}, }, @@ -155,7 +149,6 @@ describe('Get Kibana Stats', () => { search: { total: 1 }, index_pattern: { total: 1 }, graph_workspace: { total: 1 }, - timelion_sheet: { total: 1 }, index: '.kibana-test-01', foo: { total: 5 }, xpack: { @@ -179,7 +172,6 @@ describe('Get Kibana Stats', () => { search: { total: 1 }, index_pattern: { total: 1 }, graph_workspace: { total: 1 }, - timelion_sheet: { total: 1 }, indices: 1, plugins: { foo: { total: 5 }, fancy: { available: true, total: 15 } }, }, @@ -203,7 +195,6 @@ describe('Get Kibana Stats', () => { search: { total: 1 }, index_pattern: { total: 1 }, graph_workspace: { total: 1 }, - timelion_sheet: { total: 1 }, index: '.kibana-test-01', }, }, @@ -220,7 +211,6 @@ describe('Get Kibana Stats', () => { search: { total: 1 }, index_pattern: { total: 1 }, graph_workspace: { total: 1 }, - timelion_sheet: { total: 1 }, index: '.kibana-test-01', }, }, @@ -237,7 +227,6 @@ describe('Get Kibana Stats', () => { search: { total: 0 }, index_pattern: { total: 0 }, graph_workspace: { total: 1 }, - timelion_sheet: { total: 1 }, index: '.kibana-test-02', }, }, @@ -253,7 +242,6 @@ describe('Get Kibana Stats', () => { search: { total: 1 }, index_pattern: { total: 1 }, graph_workspace: { total: 2 }, - timelion_sheet: { total: 2 }, indices: 2, plugins: {}, }, @@ -276,7 +264,6 @@ describe('Get Kibana Stats', () => { search: { total: 1 }, index_pattern: { total: 1 }, graph_workspace: { total: 1 }, - timelion_sheet: { total: 1 }, index: '.kibana-test-01', }, }, @@ -293,7 +280,6 @@ describe('Get Kibana Stats', () => { search: { total: 1 }, index_pattern: { total: 1 }, graph_workspace: { total: 1 }, - timelion_sheet: { total: 1 }, index: '.kibana-test-01', }, }, @@ -310,7 +296,6 @@ describe('Get Kibana Stats', () => { search: { total: 3 }, index_pattern: { total: 3 }, graph_workspace: { total: 1 }, - timelion_sheet: { total: 1 }, index: '.kibana-test-02', }, }, @@ -326,7 +311,6 @@ describe('Get Kibana Stats', () => { search: { total: 4 }, index_pattern: { total: 4 }, graph_workspace: { total: 2 }, - timelion_sheet: { total: 2 }, indices: 2, plugins: {}, }, @@ -353,7 +337,6 @@ describe('Get Kibana Stats', () => { search: { total: 1 }, index_pattern: { total: 1 }, graph_workspace: { total: 3 }, - timelion_sheet: { total: 4 }, index: '.kibana-test-01', }, }, @@ -370,7 +353,6 @@ describe('Get Kibana Stats', () => { search: { total: 1 }, index_pattern: { total: 1 }, graph_workspace: { total: 3 }, - timelion_sheet: { total: 4 }, index: '.kibana-test-01', }, }, @@ -387,7 +369,6 @@ describe('Get Kibana Stats', () => { search: { total: 3 }, index_pattern: { total: 3 }, graph_workspace: { total: 3 }, - timelion_sheet: { total: 4 }, index: '.kibana-test-02', }, }, @@ -404,7 +385,6 @@ describe('Get Kibana Stats', () => { search: { total: 300 }, index_pattern: { total: 300 }, graph_workspace: { total: 3 }, - timelion_sheet: { total: 4 }, index: '.kibana-test-03', }, }, @@ -420,7 +400,6 @@ describe('Get Kibana Stats', () => { search: { total: 4 }, index_pattern: { total: 4 }, graph_workspace: { total: 6 }, - timelion_sheet: { total: 8 }, indices: 2, plugins: {}, }, @@ -430,7 +409,6 @@ describe('Get Kibana Stats', () => { search: { total: 300 }, index_pattern: { total: 300 }, graph_workspace: { total: 3 }, - timelion_sheet: { total: 4 }, indices: 1, plugins: {}, }, diff --git a/x-pack/plugins/monitoring/server/telemetry_collection/get_kibana_stats.ts b/x-pack/plugins/monitoring/server/telemetry_collection/get_kibana_stats.ts index 45ef1fbd00339..8313bcc9f5464 100644 --- a/x-pack/plugins/monitoring/server/telemetry_collection/get_kibana_stats.ts +++ b/x-pack/plugins/monitoring/server/telemetry_collection/get_kibana_stats.ts @@ -49,7 +49,6 @@ export interface ClusterUsageStats { search?: { total: number }; index_pattern?: { total: number }; graph_workspace?: { total: number }; - timelion_sheet?: { total: number }; indices: number; plugins?: { xpack?: unknown; @@ -95,7 +94,6 @@ export function getUsageStats(rawStats: estypes.SearchResponse search: rollUpTotals(rolledUpStats, currUsage, 'search'), index_pattern: rollUpTotals(rolledUpStats, currUsage, 'index_pattern'), graph_workspace: rollUpTotals(rolledUpStats, currUsage, 'graph_workspace'), - timelion_sheet: rollUpTotals(rolledUpStats, currUsage, 'timelion_sheet'), indices: rollUpIndices(rolledUpStats), }; @@ -108,7 +106,6 @@ export function getUsageStats(rawStats: estypes.SearchResponse /* eslint-disable @typescript-eslint/naming-convention */ index_pattern, graph_workspace, - timelion_sheet, /* eslint-enable @typescript-eslint/naming-convention */ xpack, ...pluginsTop diff --git a/x-pack/plugins/spaces/server/usage_collection/spaces_usage_collector.ts b/x-pack/plugins/spaces/server/usage_collection/spaces_usage_collector.ts index b5c0972031a8f..06be065c28a71 100644 --- a/x-pack/plugins/spaces/server/usage_collection/spaces_usage_collector.ts +++ b/x-pack/plugins/spaces/server/usage_collection/spaces_usage_collector.ts @@ -138,7 +138,6 @@ export interface UsageData extends UsageStats { graph?: number; uptime?: number; savedObjectsManagement?: number; - timelion?: number; dev_tools?: number; advancedSettings?: number; infrastructure?: number; @@ -269,12 +268,6 @@ export function getSpacesUsageCollector( description: 'The number of spaces which have this feature disabled.', }, }, - timelion: { - type: 'long', - _meta: { - description: 'The number of spaces which have this feature disabled.', - }, - }, dev_tools: { type: 'long', _meta: { diff --git a/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json index 642189f716539..5cf39b89376d4 100644 --- a/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json +++ b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json @@ -6655,12 +6655,6 @@ "description": "The number of spaces which have this feature disabled." } }, - "timelion": { - "type": "long", - "_meta": { - "description": "The number of spaces which have this feature disabled." - } - }, "dev_tools": { "type": "long", "_meta": { diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index 5064bf54c6038..fdb86d261e723 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -4573,80 +4573,12 @@ "telemetry.welcomeBanner.enableButtonLabel": "有効にする", "telemetry.welcomeBanner.telemetryConfigDetailsDescription.telemetryPrivacyStatementLinkText": "プライバシーポリシー", "telemetry.welcomeBanner.title": "Elastic Stack の改善にご協力ください", - "timelion.badge.readOnly.text": "読み取り専用", - "timelion.badge.readOnly.tooltip": "Timelion シートを保存できません", - "timelion.breadcrumbs.create": "作成", - "timelion.breadcrumbs.root": "Timelion", - "timelion.cells.actions.fullscreenAriaLabel": "全画面チャート", - "timelion.cells.actions.fullscreenTooltip": "全画面", - "timelion.cells.actions.removeAriaLabel": "リモートスタート", - "timelion.cells.actions.removeTooltip": "削除", - "timelion.cells.actions.reorderAriaLabel": "ドラッグして並べ替え", - "timelion.cells.actions.reorderTooltip": "ドラッグして並べ替え", - "timelion.chart.seriesList.noSchemaWarning": "次のパネルタイプは存在しません:{renderType}", - "timelion.deprecation.here": "ダッシュボードに移行します。", - "timelion.deprecation.message": "Timelionアプリは7.0以降で非推奨となっています。7.16では削除される予定です。Timelionワークシートを引き続き使用するには、{timeLionDeprecationLink}。", "timelion.emptyExpressionErrorMessage": "Timelion エラー:式が入力されていません", - "timelion.expressionInputAriaLabel": "Timelion 式", - "timelion.expressionInputPlaceholder": "{esQuery} でのクエリを試してみてください。", - "timelion.expressionSuggestions.arg.infoTitle": "情報", - "timelion.expressionSuggestions.arg.listTitle": "引数:", - "timelion.expressionSuggestions.arg.nameTitle": "引数名", - "timelion.expressionSuggestions.arg.typesTitle": "対応タイプ", "timelion.expressionSuggestions.argument.description.acceptsText": "受け入れ", "timelion.expressionSuggestions.func.description.chainableHelpText": "連鎖可能", - "timelion.expressionSuggestions.func.description.chainableText": "{help}(連鎖可能)", "timelion.expressionSuggestions.func.description.dataSourceHelpText": "データソース", - "timelion.expressionSuggestions.func.description.dataSourceText": "{help}(データソース)", "timelion.fitFunctions.carry.downSampleErrorMessage": "ダウンサンプルには「carry」フィットメソドを使用せず、「scale」または「average」を使用してください", - "timelion.fullscreen.exitAriaLabel": "全画面を終了", - "timelion.fullscreen.exitTooltip": "全画面を終了", "timelion.function.help": "Timelion のビジュアライゼーションです。", - "timelion.help.configuration.firstTimeConfigurationLinkText": "初回構成", - "timelion.help.configuration.notValid.advancedSettingsPathText": "管理 / Kibana / 高度な設定", - "timelion.help.configuration.notValid.notValidSettingsErrorMessage": "Elasticsearch の設定を確認できませんでした:{reason}。高度な設定を確認して再試行してください。({count})", - "timelion.help.configuration.notValid.paragraph1": "Logstash を使用している場合、Timelion でのログデータの探索開始に何も構成する必要はありません。他のインデックスを検索するには、{advancedSettingsPath} に移動し、{esDefaultIndex} および {esTimefield} 設定を構成し、インデックスと一致させます。", - "timelion.help.configuration.notValid.paragraph2": "他の Timelion 設定もあります。今のところ他の設定は気にしなくて大丈夫です。後程、必要に応じていつでも設定できることがわかります。", - "timelion.help.configuration.notValid.validateButtonLabel": "構成を検証", - "timelion.help.configuration.notValidTitle": "初回構成", - "timelion.help.configuration.valid.advancedSettingsPathText": "管理/Kibana/高度な設定", - "timelion.help.configuration.valid.intervalIsAutoText": "準備完了です!", - "timelion.help.configuration.valid.intervals.content.intervalIsNotAutoText": "Timelion が適切な間隔を選択できるよう、{auto} に設定します。", - "timelion.help.configuration.valid.intervalsTextPart1": "インプットバーの右にある間隔設定は、サンプリングの頻度をコントロールできます。現在 {interval} に設定されています。", - "timelion.help.configuration.valid.intervalsTextPart2": "Timelion が選択された時間範囲と間隔の組み合わせによりデータポイントが多くなりすぎると判断した場合、エラーが発生します。制限を調整するには、{advancedSettingsPath} で {maxBuckets} を構成します。", - "timelion.help.configuration.valid.intervalsTitle": "間隔", - "timelion.help.configuration.valid.paragraph1Part1": "デフォルトのインデックスと時間フィールドを検証し、すべて問題なさそうです。{statsMin} から {statsMax} へのデータが見つかりました。おそらく準備完了です。何か問題がある場合は、", - "timelion.help.configuration.valid.paragraph1Part2": "で Elasticsearch データソースの構成に関する詳細をご覧ください。", - "timelion.help.configuration.valid.paragraph2": "すでにチャートが 1 つ表示されていますが、興味深いデータを得るにはいくつか調整が必要な可能性があります。", - "timelion.help.configuration.valid.paragraph3": "これで、一定期間のデータポイントの数を示す折れ線グラフが表示されるはずです。", - "timelion.help.configuration.valid.timeRangeText": "時間フィルターを使用して、可視化するデータを含む期間を選択します。上記のすべてまたは一部の時間範囲を含む時間範囲を選択するようにしてください。", - "timelion.help.configuration.valid.timeRangeTitle": "時間範囲", - "timelion.help.configuration.validTitle": "良いお知らせです。Elasticsearch が正しく構成されました!", - "timelion.help.dataTransforming.functionReferenceLinkText": "機能リファレンス", - "timelion.help.dataTransforming.paragraph1": "基本を覚えたところで、Timelion の実力を発揮させましょう。データのサブセットが、一定期間における全体の何パーセントを表しているか見てみましょう。たとえば、Web トラフィックの何パーセントが米国からのものでしょう?", - "timelion.help.dataTransforming.paragraph2": "まず初めに、米国を含むすべてのイベントを見つけます:{esUsQuery}。", - "timelion.help.dataTransforming.paragraph3": "次に、全体に対する米国のイベントの比率を割り出します。{us} をすべてで割るために、{divide} 関数 {divideDataQuery} を使用できます。", - "timelion.help.dataTransforming.paragraph4": "まぁまぁですが、これでは 0 から 1 までの値になってしまいます。パーセンテージに変換するには、100 を掛けます:{multiplyDataQuery}。", - "timelion.help.dataTransforming.paragraph5": "これでトラフィックの何パーセントが米国からのものなのか分かり、一定期間内にどのように変化したのか見ることができます!Timelion には、{sum}、{subtract}、{multiply}、{divide} などのいくつもの演算機能が搭載されています。これらの多くが数列や数字を扱えます。また、{movingaverage}、{abs}、{derivative} といった他の便利な変換機能もあります。", - "timelion.help.dataTransforming.paragraph6Part1": "構文を学んだところで、", - "timelion.help.dataTransforming.paragraph6Part2": "Timelion で利用できるすべての機能の使い方をご覧ください。ツールバーの\\{Docs\\}をクリックしていつでもリファレンスを表示できます。このチュートリアルに戻るには、リファレンスの上にある \\{Tutorial\\} リンクをクリックします。", - "timelion.help.dataTransformingTitle": "データの変換:お楽しみの始まりです!", - "timelion.help.dontShowHelpButtonLabel": "今後表示しない", - "timelion.help.expressions.examples.customStylingDescription": "{descriptionTitle}初めの数列を赤くし、2 つ目の数列に 1 ピクセル幅のバーを使用します。", - "timelion.help.expressions.examples.customStylingDescriptionTitle": "カスタムスタイリング。", - "timelion.help.expressions.examples.groupedExpressionsDescription": "{descriptionTitle} 式のグループを関数に連結させることもできます。ここでは両方の数列が線ではなく点で表示されています。", - "timelion.help.expressions.examples.groupedExpressionsDescriptionTitle": "式のグループ化。", - "timelion.help.expressions.examples.namedArgumentsDescription": "{descriptionTitle}引数の指定順序を覚える必要はありません。名前付き引数を使えば、式の読み書きが楽になります。", - "timelion.help.expressions.examples.namedArgumentsDescriptionTitle": "名前付き引数。", - "timelion.help.expressions.examples.twoExpressionsDescription": "{descriptionTitle}同じチャートに 2 つの式が使えます。", - "timelion.help.expressions.examples.twoExpressionsDescriptionTitle": "2 倍の楽しみ。", - "timelion.help.expressions.functionReferenceLinkText": "機能リファレンス", - "timelion.help.expressions.paragraph1": "それぞれの式はデータソース関数で始まります。ここから、新しい関数をデータソースに追加して変換や強化ができます。", - "timelion.help.expressions.paragraph2": "ところで、ここから先はデータの持ち主が一番よくご存知なのではないでしょうか。サンプルクエリをより有意義なものと自由に置き換えてみてください。", - "timelion.help.expressions.paragraph3": "実験をします。ツールバーの{strongAdd}をクリックして、他のチャートをいくつか追加してみましょう。そして、チャートを選択して次の式の内の 1 つをコピーし、インプットバーに貼り付けて、Enter を押します。リセットして繰り返し、他の式を試してみましょう。", - "timelion.help.expressions.paragraph4": "Timelion は、チャートの見た目をカスタマイズするための他のビュー変換機能も搭載しています。完全なリストは次のリソースをご覧ください", - "timelion.help.expressions.strongAddText": "追加", - "timelion.help.expressionsTitle": "式を使って式を定義", "timelion.help.functions.absHelpText": "数列リストの各値の絶対値を返します", "timelion.help.functions.aggregate.args.functionHelpText": "{functions} の 1 つ", "timelion.help.functions.aggregateHelpText": "数列のすべての点の処理結果に基づく線を作成します。利用可能な関数:{functions}", @@ -4777,64 +4709,9 @@ "timelion.help.functions.yaxis.args.unitsHelpText": "Y 軸のラベルのフォーマットに使用する機能です。次のいずれかです。{formatters}", "timelion.help.functions.yaxis.args.yaxisHelpText": "この数列をプロットする数字の Y 軸です。例:2 本目の Y 軸は .yaxis(2)になります。", "timelion.help.functions.yaxisHelpText": "さまざまな Y 軸のオプションを構成します。おそらく最も重要なのは、N 本目(例:2 本目)の Y 軸を追加する機能です。", - "timelion.help.mainPage.functionReference.detailsTable.acceptedTypesColumnLabel": "対応タイプ", - "timelion.help.mainPage.functionReference.detailsTable.argumentNameColumnLabel": "引数名", - "timelion.help.mainPage.functionReference.detailsTable.informationColumnLabel": "情報", - "timelion.help.mainPage.functionReference.gettingStartedText": "関数をクリックすると詳細が表示されます。初心者の方ですか?", - "timelion.help.mainPage.functionReference.noArgumentsFunctionErrorMessage": "この関数には引数を使用できません。簡単でしょう?", - "timelion.help.mainPage.functionReference.welcomePageLinkText": "チュートリアルをご覧ください", - "timelion.help.mainPage.functionReferenceTitle": "機能リファレンス", - "timelion.help.mainPage.keyboardTips.autoComplete.downArrowDescription": "自動入力メニューに焦点を切り替えます。矢印を使用してさらに用語を選択します", - "timelion.help.mainPage.keyboardTips.autoComplete.downArrowLabel": "下矢印", - "timelion.help.mainPage.keyboardTips.autoComplete.enterTabDescription": "現在の選択項目または自動入力メニューで最も使用されている用語を選択します", - "timelion.help.mainPage.keyboardTips.autoComplete.escDescription": "自動入力メニューを閉じます", - "timelion.help.mainPage.keyboardTips.autoCompleteTitle": "自動入力が有効な場合", - "timelion.help.mainPage.keyboardTips.generalEditing.submitRequestText": "リクエストを送信します", - "timelion.help.mainPage.keyboardTips.generalEditingTitle": "一般編集", - "timelion.help.mainPage.keyboardTipsTitle": "キーボードのヒント", - "timelion.help.mainPageTitle": "ヘルプ", - "timelion.help.nextPageButtonLabel": "次へ", - "timelion.help.previousPageButtonLabel": "前へ", - "timelion.help.querying.countMetricAggregationLinkText": "Elasticsearch メトリック集約", - "timelion.help.querying.countTextPart1": "イベントをカウントするのも良いですが、Elasticsearch のデータソースは単独の値を返す", - "timelion.help.querying.countTextPart2": "もサポートしています。最も便利なものには、{min}、{max}、{avg}、{sum}、{cardinality} があります。{srcIp} フィールドのユニークカウントを求めたいとしましょう。{cardinality} メトリック {esCardinalityQuery} を使用します。{bytes} フィールドの平均を取得するには、{avg} metric:メトリック {esAvgQuery} を使用できます。", - "timelion.help.querying.countTitle": "カウントを超えて", - "timelion.help.querying.esAsteriskQueryDescriptionText": "Elasticsearch、デフォルトインデックスのすべてを計算", - "timelion.help.querying.esIndexQueryDescriptionText": "* を logstash-* インデックスの q(クエリ)として使用します", - "timelion.help.querying.luceneQueryLinkText": "Lucene クエリ文字列", - "timelion.help.querying.paragraph1": "Elasticsearch データソースが利用可能であることを確認済みなので、クエリの送信ができます。手始めに、インプットバーに {esPattern} と入力し Enter を押してみましょう。", - "timelion.help.querying.paragraph2Part1": "これは{esAsteriskQueryDescription}となります。サブセットを把握したい場合は、{htmlQuery} で {html} に一致するイベントをカウントしたり、{bobQuery} で {user} フィールドに {bob} を含み、{bytes} フィールドが 100 より大きな値のイベントを検索したりできます。このクエリはシングルクォートで囲まれています。スペースを含むためです。いずれかの", - "timelion.help.querying.paragraph2Part2": "を {esQuery} 関数の初めの引数として入力することができます。", - "timelion.help.querying.passingArgumentsText": "Timelion には一般的な操作を簡単に行えるよう、いくつものショートカットがあります。スペースや特殊文字を含まないシンプルな引数用のものがその一つで、クォートを使う必要はありません。また、多くの関数にデフォルトがあります。たとえば、{esEmptyQuery} と {esStarQuery} で実行される処理は同じです。引数には名前も付いているため、特定の順序で指定する必要はありません。たとえば、{esLogstashQuery} を入力して、Elasticsearch データソース {esIndexQueryDescription} に命令することができます。", - "timelion.help.querying.passingArgumentsTitle": "引数の受け渡し", - "timelion.help.queryingTitle": "Elasticsearch データソースにクエリを実行中", - "timelion.help.unknownErrorMessage": "不明なエラー", - "timelion.help.welcome.content.emphasizedEverythingText": "すべて", - "timelion.help.welcome.content.functionReferenceLinkText": "関数リファレンスに移動", - "timelion.help.welcome.content.paragraph1": "Timelion は時系列に関する {emphasizedEverything} を司る、全知全能のツールです。データストアから提供された時系列データは、Timelion にお任せください。Timelion は複数データソースのデータセットを、覚えやすい式構文で比較、結合、整理できます。このチュートリアルは Elasticsearch が中心となりますが、ここで学んだことは Timelion がサポートするすべてのデータソースに適用できます。", - "timelion.help.welcome.content.paragraph2": "はじめてみる{strongNext} をクリックします。チュートリアルをスキップしてドキュメントを表示しますか?", - "timelion.help.welcome.content.strongNextText": "次へ", - "timelion.help.welcomeTitle": "{strongTimelionLabel} へようこそ!", - "timelion.intervals.customIntervalAriaLabel": "カスタム間隔", - "timelion.intervals.selectIntervalAriaLabel": "間隔を選択", "timelion.noFunctionErrorMessage": "そのような関数はありません:{name}", - "timelion.panels.noRenderFunctionErrorMessage": "パネルにはレンダリング関数が必要です", "timelion.panels.timechart.unknownIntervalErrorMessage": "不明な間隔", "timelion.requestHandlerErrorTitle": "Timelion リクエストエラー", - "timelion.savedObjectFinder.addNewItemButtonLabel": "新規{item}を追加", - "timelion.savedObjectFinder.manageItemsButtonLabel": "{items}の管理", - "timelion.savedObjectFinder.noMatchesFoundDescription": "一致する{items}が見つかりません。", - "timelion.savedObjectFinder.pageItemsFromHitCountDescription": "{pageFirstItem}-{pageLastItem} of {hitCount}", - "timelion.savedObjectFinder.sortByButtonLabeAscendingScreenReaderOnly": "昇順", - "timelion.savedObjectFinder.sortByButtonLabeDescendingScreenReaderOnly": "降順", - "timelion.savedObjectFinder.sortByButtonLabel": "名前", - "timelion.savedObjectFinder.sortByButtonLabelScreenReaderOnly": "並べ替え基準", - "timelion.savedObjects.howToSaveAsNewDescription": "以前のバージョンの Kibana では、{savedObjectName} の名前を変更すると新しい名前でコピーが作成されました。現在のバージョンで同じように保存するには、[新規 {savedObjectName} として保存]チェックボックスを使用します。", - "timelion.savedObjects.saveAsNewLabel": "新規 {savedObjectName} として保存", - "timelion.saveExpression.successNotificationText": "保存された式「{title}」", - "timelion.saveSheet.successNotificationText": "保存されたシート「{title}」", - "timelion.search.submitAriaLabel": "検索", - "timelion.searchErrorTitle": "Timelion リクエストエラー", "timelion.serverSideErrors.argumentsOverflowErrorMessage": "{functionName} に引き渡された引数が多すぎます", "timelion.serverSideErrors.bucketsOverflowErrorMessage": "最大バケットを超えました:{bucketCount}/{maxBuckets} が許可されています。より広い間隔または短い期間を選択してください", "timelion.serverSideErrors.colorFunction.colorNotProvidedErrorMessage": "色が指定されていません", @@ -4855,47 +4732,8 @@ "timelion.serverSideErrors.yaxisFunction.notSupportedUnitTypeErrorMessage": "{units} はサポートされているユニットタイプではありません。", "timelion.serverSideErrors.yaxisFunction.notValidCurrencyFormatErrorMessage": "通貨は 3 文字のコードでなければなりません", "timelion.timelionDescription": "グラフに時系列データを表示します。", - "timelion.topNavMenu.addChartButtonAriaLabel": "チャートを追加", - "timelion.topNavMenu.addChartButtonLabel": "追加", - "timelion.topNavMenu.delete.modal.confirmButtonLabel": "削除", - "timelion.topNavMenu.delete.modal.successNotificationText": "「{title}」が削除されました", - "timelion.topNavMenu.delete.modal.warningText": "削除されたシートは復元できません。", - "timelion.topNavMenu.delete.modalTitle": "Timelion シート「{title}」を削除しますか?", - "timelion.topNavMenu.deleteSheetButtonAriaLabel": "現在のシートを削除", - "timelion.topNavMenu.deleteSheetButtonLabel": "削除", - "timelion.topNavMenu.helpButtonAriaLabel": "ヘルプ", - "timelion.topNavMenu.helpButtonLabel": "ヘルプ", - "timelion.topNavMenu.newSheetButtonAriaLabel": "新規シート", - "timelion.topNavMenu.newSheetButtonLabel": "新規", - "timelion.topNavMenu.openSheetButtonAriaLabel": "シートを開く", - "timelion.topNavMenu.openSheetButtonLabel": "開く", - "timelion.topNavMenu.openSheetTitle": "シートを開く", - "timelion.topNavMenu.options.columnsCountLabel": "列(列カウントは 12 できっかりと割れる必要があります)", - "timelion.topNavMenu.options.rowsCountLabel": "行(これは現在のウィンドウの縦の長さに基づく目標値です)。", - "timelion.topNavMenu.optionsButtonAriaLabel": "オプション", - "timelion.topNavMenu.optionsButtonLabel": "オプション", - "timelion.topNavMenu.save.saveAsDashboardPanel.inputPlaceholder": "このパネルに名前を付ける", - "timelion.topNavMenu.save.saveAsDashboardPanel.selectedExpressionLabel": "現在選択されている式", - "timelion.topNavMenu.save.saveAsDashboardPanel.submitButtonLabel": "保存", - "timelion.topNavMenu.save.saveAsDashboardPanelDescription": "Kibana ダッシュボードにチャートの追加が必要ですか?できます!このオプションは、現在選択されている式を、他のオブジェクトの追加と同じように Kibana ダッシュボードに追加可能なパネルとして保存します。他のパネルへのリファレンスが使用されている場合、リファレンスの表現を直接保存する表現にコピーして、リファレンスを削除する必要があります。他の表現式を保存するよう選択するには、チャートをクリックします。", - "timelion.topNavMenu.save.saveAsDashboardPanelLabel": "式に名前を付けて保存", - "timelion.topNavMenu.save.saveAsDashboardPanelTitle": "現在の式を Kibana ダッシュボードのパネルとして保存", - "timelion.topNavMenu.save.saveEntireSheet.inputAriaLabel": "名前", - "timelion.topNavMenu.save.saveEntireSheet.inputPlaceholder": "このシートに名前を付ける...", - "timelion.topNavMenu.save.saveEntireSheet.submitButtonLabel": "保存", - "timelion.topNavMenu.save.saveEntireSheetDescription": "Timelion 式を主に Timelion アプリで使用し、Kibana のダッシュボードに Timelion のチャートを追加する必要がない場合は、このオプションを使用します。他のパネルへのリファレンスを使用する場合もこのオプションを使用します。", - "timelion.topNavMenu.save.saveEntireSheetLabel": "シートに名前を付けて保存", - "timelion.topNavMenu.save.saveEntireSheetTitle": "Timelion シート全体の保存", - "timelion.topNavMenu.saveSheetButtonAriaLabel": "シートを保存", - "timelion.topNavMenu.saveSheetButtonLabel": "保存", - "timelion.topNavMenu.sheetOptionsTitle": "シートオプション", - "timelion.topNavMenu.statsDescription": "クエリ時間 {queryTime}ms / 処理時間 {processingTime}ms", - "timelion.uiSettings.defaultColumnsDescription": "デフォルトの Timelion シートの列数です", - "timelion.uiSettings.defaultColumnsLabel": "デフォルトの列", "timelion.uiSettings.defaultIndexDescription": "{esParam} で検索するデフォルトの Elasticsearch インデックスです", "timelion.uiSettings.defaultIndexLabel": "デフォルトのインデックス", - "timelion.uiSettings.defaultRowsDescription": "デフォルトの Timelion シートの行数です", - "timelion.uiSettings.defaultRowsLabel": "デフォルトの行", "timelion.uiSettings.experimentalLabel": "実験的", "timelion.uiSettings.graphiteURLDescription": "{experimentalLabel} Graphite ホストの URL", "timelion.uiSettings.graphiteURLLabel": "Graphite URL", @@ -4908,8 +4746,6 @@ "timelion.uiSettings.minimumIntervalLabel": "最低間隔", "timelion.uiSettings.quandlKeyDescription": "{experimentalLabel} www.quandl.com からの API キーです", "timelion.uiSettings.quandlKeyLabel": "Quandl キー", - "timelion.uiSettings.showTutorialDescription": "Timelion アプリの起動時にデフォルトでチュートリアルを表示しますか?", - "timelion.uiSettings.showTutorialLabel": "チュートリアルを表示", "timelion.uiSettings.targetBucketsDescription": "自動間隔の使用時に目標となるバケット数です。", "timelion.uiSettings.targetBucketsLabel": "目標バケット数", "timelion.uiSettings.timeFieldDescription": "{esParam} の使用時にタイムスタンプを含むデフォルトのフィールドです", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 32f9cd2edb890..b50f86fcd6e61 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -4618,80 +4618,12 @@ "telemetry.welcomeBanner.enableButtonLabel": "启用", "telemetry.welcomeBanner.telemetryConfigDetailsDescription.telemetryPrivacyStatementLinkText": "隐私声明", "telemetry.welcomeBanner.title": "帮助我们改进 Elastic Stack", - "timelion.badge.readOnly.text": "只读", - "timelion.badge.readOnly.tooltip": "无法保存 Timelion 工作表", - "timelion.breadcrumbs.create": "创建", - "timelion.breadcrumbs.root": "Timelion", - "timelion.cells.actions.fullscreenAriaLabel": "全屏图表", - "timelion.cells.actions.fullscreenTooltip": "全屏", - "timelion.cells.actions.removeAriaLabel": "删除图表", - "timelion.cells.actions.removeTooltip": "移除", - "timelion.cells.actions.reorderAriaLabel": "拖动以重新排序", - "timelion.cells.actions.reorderTooltip": "拖动以重新排序", - "timelion.chart.seriesList.noSchemaWarning": "没有此类面板类型:{renderType}", - "timelion.deprecation.here": "请将其迁移至仪表板。", - "timelion.deprecation.message": "Timelion 应用自 7.0 版起已过时,将在 7.16 中移除。要继续使用 Timelion 工作表,{timeLionDeprecationLink}。", "timelion.emptyExpressionErrorMessage": "Timelion 错误:未提供表达式", - "timelion.expressionInputAriaLabel": "Timelion 表达式", - "timelion.expressionInputPlaceholder": "请尝试使用 {esQuery} 查询", - "timelion.expressionSuggestions.arg.infoTitle": "信息", - "timelion.expressionSuggestions.arg.listTitle": "参数:", - "timelion.expressionSuggestions.arg.nameTitle": "参数类型", - "timelion.expressionSuggestions.arg.typesTitle": "接受的类型", "timelion.expressionSuggestions.argument.description.acceptsText": "接受", "timelion.expressionSuggestions.func.description.chainableHelpText": "可串接", - "timelion.expressionSuggestions.func.description.chainableText": "{help}(可链接)", "timelion.expressionSuggestions.func.description.dataSourceHelpText": "数据源", - "timelion.expressionSuggestions.func.description.dataSourceText": "{help}(数据源)", "timelion.fitFunctions.carry.downSampleErrorMessage": "请勿使用“carry”拟合方法降低采样率,而是使用“scale”或“average”", - "timelion.fullscreen.exitAriaLabel": "退出全屏", - "timelion.fullscreen.exitTooltip": "退出全屏", "timelion.function.help": "Timelion 可视化", - "timelion.help.configuration.firstTimeConfigurationLinkText": "首次配置", - "timelion.help.configuration.notValid.advancedSettingsPathText": "管理/Kibana/高级设置", - "timelion.help.configuration.notValid.notValidSettingsErrorMessage": "无法验证 Elasticsearch 设置:{reason}。请检查您的高级设置,然后重试。({count})", - "timelion.help.configuration.notValid.paragraph1": "如果正在使用 Logstash,则无需进行任何配置,即可开始使用 Timelion 浏览日志数据。要搜索其他索引,请前往 {advancedSettingsPath} 并配置 {esDefaultIndex} 和 {esTimefield} 设置,以匹配您的索引。", - "timelion.help.configuration.notValid.paragraph2": "您还会看到一些其他 Timelion 设置。您现在无需担心这些设置。稍后就会发现,您可以根据需要即时设置其中大部分的设置。", - "timelion.help.configuration.notValid.validateButtonLabel": "验证配置", - "timelion.help.configuration.notValidTitle": "首次配置", - "timelion.help.configuration.valid.advancedSettingsPathText": "管理/Kibana/高级设置", - "timelion.help.configuration.valid.intervalIsAutoText": "全部准备就绪!", - "timelion.help.configuration.valid.intervals.content.intervalIsNotAutoText": "将其设为 {auto} 以允许 Timelion 选择适当的间隔。", - "timelion.help.configuration.valid.intervalsTextPart1": "输入栏右侧的时间间隔选择器可让您控制采样频率。当前设为 {interval}。", - "timelion.help.configuration.valid.intervalsTextPart2": "如果 Timelion 认为您的时间范围和时间间隔组合生成的数据点过多,将引发错误。可以通过在 {advancedSettingsPath} 中配置 {maxBuckets},来调整该限制。", - "timelion.help.configuration.valid.intervalsTitle": "时间间隔", - "timelion.help.configuration.valid.paragraph1Part1": "我们已验证您的默认索引和时间字段,所有设置都看起来没有什么问题。我们找到 {statsMin} 到 {statsMax} 的数据。您大概已准备就绪。如果有问题,请参阅", - "timelion.help.configuration.valid.paragraph1Part2": ",了解有关配置 Elasticsearch 数据源的信息。", - "timelion.help.configuration.valid.paragraph2": "您应该能看到一个图表,但还需要做一些调整才能看到所有感兴趣的数据:", - "timelion.help.configuration.valid.paragraph3": "现在,您应看到一个数据点计数随时间变化的折线图。", - "timelion.help.configuration.valid.timeRangeText": "使用时间筛选,选择包含要可视化的数据的时间段。请确保选择包含上述所示全部或部分时间范围的时间段。", - "timelion.help.configuration.valid.timeRangeTitle": "时间范围", - "timelion.help.configuration.validTitle": "真棒,Elasticsearch 配置正确!", - "timelion.help.dataTransforming.functionReferenceLinkText": "函数引用", - "timelion.help.dataTransforming.paragraph1": "至此,您已经掌握了基础知识,接下来开始体验 Timelion 的强大功能。让我们来计算随着时间的推移数据的某个子集占整体数据的百分比。例如,Web 流量中来自美国的占多少百分比?", - "timelion.help.dataTransforming.paragraph2": "首先,我们需要查找包含 US 的所有事件:{esUsQuery}。", - "timelion.help.dataTransforming.paragraph3": "接下来,要计算美国事件与全部事件的比率。要将 {us} 除以全部,我们可以使用 {divide} 函数:{divideDataQuery}。", - "timelion.help.dataTransforming.paragraph4": "还不错,但这是一个介于 0 到 1 之间的数字。要将其转换为百分比,只需乘以 100:{multiplyDataQuery}。", - "timelion.help.dataTransforming.paragraph5": "现在,我们知道了来自美国的流量所占的百分比,并且可以看到随时间的推移它的变化情况!Timelion 具有很多内置算术函数,例如 {sum}、{subtract}、{multiply} 和 {divide}。其中很多函数可以取序列或数字。此外,还有其他有用的数据转换函数,例如 {movingaverage}、{abs} 和 {derivative}。", - "timelion.help.dataTransforming.paragraph6Part1": "现在您已熟悉了语法,然后,请参阅", - "timelion.help.dataTransforming.paragraph6Part2": ",了解如何使用所有可用的 Timelion 函数。您可以通过单击工具栏上的\\{Docs\\},随时查看参考资料。要返回此教程,请单击参考资料顶部的\\{Tutorial\\}链接。", - "timelion.help.dataTransformingTitle": "转换您的数据:真正的乐趣所在!", - "timelion.help.dontShowHelpButtonLabel": "不再显示此内容", - "timelion.help.expressions.examples.customStylingDescription": "{descriptionTitle}将第一个序列着色为红色,并为第二个序列使用 1 像素宽的条。", - "timelion.help.expressions.examples.customStylingDescriptionTitle": "定制样式。", - "timelion.help.expressions.examples.groupedExpressionsDescription": "{descriptionTitle}您还可以将表达式组链锁到函数。这里两个序列都显示为点,而不是线。", - "timelion.help.expressions.examples.groupedExpressionsDescriptionTitle": "将表达式分组。", - "timelion.help.expressions.examples.namedArgumentsDescription": "{descriptionTitle}请不要尝试记住指定参数所需的顺序,使用命名参数可使表达式更易于读写。", - "timelion.help.expressions.examples.namedArgumentsDescriptionTitle": "命名参数。", - "timelion.help.expressions.examples.twoExpressionsDescription": "{descriptionTitle}同一个图表上的两个表达式。", - "timelion.help.expressions.examples.twoExpressionsDescriptionTitle": "乐趣倍增。", - "timelion.help.expressions.functionReferenceLinkText": "函数引用", - "timelion.help.expressions.paragraph1": "每个表达式都以数据源函数开头。接着,您可以将新函数新函数到数据源后面,以转换和增加数据源。", - "timelion.help.expressions.paragraph2": "顺便提一下,从现在开始,您可能比我们更了解自己的数据。可以随意将示例查询替换为更有意义的查询!", - "timelion.help.expressions.paragraph3": "我们将实验一下,单击工具栏中的”{strongAdd}” 以再添加一个图表或添加三个图表。然后,选择一个图表,复制下列其中一个表达式并粘贴到输入栏,然后按 Enter 键。清除,再重复上述操作来尝试其他表达式。", - "timelion.help.expressions.paragraph4": "Timelion 还提供了其他视图转换函数,可用于定制图表的外观。有关完整列表,请参阅", - "timelion.help.expressions.strongAddText": "添加", - "timelion.help.expressionsTitle": "使用表达式表达您自己", "timelion.help.functions.absHelpText": "返回序列列表中每个值的绝对值", "timelion.help.functions.aggregate.args.functionHelpText": "以下选项之一:{functions}", "timelion.help.functions.aggregateHelpText": "基于对序列中所有点的处理结果创建静态线。可用函数:{functions}", @@ -4822,64 +4754,9 @@ "timelion.help.functions.yaxis.args.unitsHelpText": "用于设置 Y 轴标签格式的函数。以下之一:{formatters}", "timelion.help.functions.yaxis.args.yaxisHelpText": "用于绘制此序列的带编号的 Y 轴,例如,.yaxis(2) 对应于第 2 个 Y 轴。", "timelion.help.functions.yaxisHelpText": "配置各种 Y 轴选项,其中最重要的选项可能是添加第 N 个(例如第 2 个)Y 轴的功能", - "timelion.help.mainPage.functionReference.detailsTable.acceptedTypesColumnLabel": "接受的类型", - "timelion.help.mainPage.functionReference.detailsTable.argumentNameColumnLabel": "参数类型", - "timelion.help.mainPage.functionReference.detailsTable.informationColumnLabel": "信息", - "timelion.help.mainPage.functionReference.gettingStartedText": "请单击任何函数以了解更多信息。马上开始使用?", - "timelion.help.mainPage.functionReference.noArgumentsFunctionErrorMessage": "此函数不接受任何参数。这很简单,不是吗?", - "timelion.help.mainPage.functionReference.welcomePageLinkText": "查看教程", - "timelion.help.mainPage.functionReferenceTitle": "函数引用", - "timelion.help.mainPage.keyboardTips.autoComplete.downArrowDescription": "将焦点切换到自动完成菜单。使用箭头进一步选择词", - "timelion.help.mainPage.keyboardTips.autoComplete.downArrowLabel": "向下箭头", - "timelion.help.mainPage.keyboardTips.autoComplete.enterTabDescription": "选择自动完成菜单中当前选定的词或最顶部的词", - "timelion.help.mainPage.keyboardTips.autoComplete.escDescription": "关闭自动完成菜单", - "timelion.help.mainPage.keyboardTips.autoCompleteTitle": "当自动完成可见时", - "timelion.help.mainPage.keyboardTips.generalEditing.submitRequestText": "提交请求", - "timelion.help.mainPage.keyboardTips.generalEditingTitle": "常规编辑", - "timelion.help.mainPage.keyboardTipsTitle": "键盘提示", - "timelion.help.mainPageTitle": "帮助", - "timelion.help.nextPageButtonLabel": "下一页", - "timelion.help.previousPageButtonLabel": "上一页", - "timelion.help.querying.countMetricAggregationLinkText": "Elasticsearch 指标聚合", - "timelion.help.querying.countTextPart1": "除了具有卓越的事件计数功能,Elasticsearch 数据源还支持任何", - "timelion.help.querying.countTextPart2": "返回单个值的查询。最有用的包括 {min}、{max}、{avg}、{sum} 和 {cardinality}。假设您需要 {srcIp} 字段的唯一计数。只需使用 {cardinality} 指标:{esCardinalityQuery}。要获取 {bytes} 字段的平均值,可以使用 {avg} 指标:{esAvgQuery}。", - "timelion.help.querying.countTitle": "不只是计数", - "timelion.help.querying.esAsteriskQueryDescriptionText": "嗨 Elasticsearch,请在我的默认索引中查找所有内容", - "timelion.help.querying.esIndexQueryDescriptionText": "使用 * 作为 logstash-* 索引的 q (query)", - "timelion.help.querying.luceneQueryLinkText": "Lucene 查询字符串", - "timelion.help.querying.paragraph1": "至此,我们已验证您的 Elasticsearch 数据源工作正常,因此您可以开始提交查询。如果是初学者,请在输入栏中输入 {esPattern},然后按 Enter 键。", - "timelion.help.querying.paragraph2Part1": "即 {esAsteriskQueryDescription}。如果要查找子集,可以输入 {htmlQuery} 之类的内容以算出与 {html} 匹配的事件个数,或输入 {bobQuery} 来查找在 {user} 字段中包含 {bob} 且 {bytes} 字段大于 100 的事件。注意,需要用单引号引起此查询,因为其包含空格。您可以输入任何内容", - "timelion.help.querying.paragraph2Part2": "作为 {esQuery} 函数的第一个参数。", - "timelion.help.querying.passingArgumentsText": "Timelion 具有很多快捷方式,让您可以轻松完成各种常见操作。对于不包含空格或特殊字符的简单参数,无需使用引号。而且很多函数都具有默认值。例如 {esEmptyQuery} 和 {esStarQuery} 有相同的作用。参数也有名称,您无需以特定顺序指定它们。例如,可以输入 {esLogstashQuery},让 Elasticsearch 数据源知道 {esIndexQueryDescription}。", - "timelion.help.querying.passingArgumentsTitle": "传递参数", - "timelion.help.queryingTitle": "查询 Elasticsearch 数据源", - "timelion.help.unknownErrorMessage": "未知错误", - "timelion.help.welcome.content.emphasizedEverythingText": "所有内容", - "timelion.help.welcome.content.functionReferenceLinkText": "跳到函数引用", - "timelion.help.welcome.content.paragraph1": "Timelion 是抓取精准、适用于{emphasizedEverything}的可插拔时间序列接口。如果您的数据存储可以生成时间序列,就能够随意使用 Timelion 的所有强大功能。借助 Timelion,可使用易于掌握的表达式语法,对跨多个数据源的数据集进行比较、合并和整理。尽管本教程主要介绍 Elasticsearch,但您很快会发现,本文所介绍的内容适用于 Timelion 支持的任何数据源。", - "timelion.help.welcome.content.paragraph2": "准备开始了吗?单击“{strongNext}”。想要跳过教程并查看文档?", - "timelion.help.welcome.content.strongNextText": "下一步", - "timelion.help.welcomeTitle": "欢迎来到 {strongTimelionLabel}!", - "timelion.intervals.customIntervalAriaLabel": "定制时间间隔", - "timelion.intervals.selectIntervalAriaLabel": "选择时间间隔", "timelion.noFunctionErrorMessage": "没有此类函数:{name}", - "timelion.panels.noRenderFunctionErrorMessage": "面板必须具有渲染函数", "timelion.panels.timechart.unknownIntervalErrorMessage": "时间间隔未知", "timelion.requestHandlerErrorTitle": "Timelion 请求错误", - "timelion.savedObjectFinder.addNewItemButtonLabel": "添加新的 {item}", - "timelion.savedObjectFinder.manageItemsButtonLabel": "管理 {items}", - "timelion.savedObjectFinder.noMatchesFoundDescription": "未找到任何匹配的 {items}。", - "timelion.savedObjectFinder.pageItemsFromHitCountDescription": "{pageFirstItem}-{pageLastItem}/{hitCount}", - "timelion.savedObjectFinder.sortByButtonLabeAscendingScreenReaderOnly": "升序", - "timelion.savedObjectFinder.sortByButtonLabeDescendingScreenReaderOnly": "降序", - "timelion.savedObjectFinder.sortByButtonLabel": "名称", - "timelion.savedObjectFinder.sortByButtonLabelScreenReaderOnly": "排序依据", - "timelion.savedObjects.howToSaveAsNewDescription": "在 Kibana 的以前版本中,更改 {savedObjectName} 的名称将创建具有新名称的副本。使用“另存为新 {savedObjectName}”复选框来立即执行此操作。", - "timelion.savedObjects.saveAsNewLabel": "另存为新的 {savedObjectName}", - "timelion.saveExpression.successNotificationText": "已保存表达式“{title}”", - "timelion.saveSheet.successNotificationText": "已保存工作表“{title}”", - "timelion.search.submitAriaLabel": "搜索", - "timelion.searchErrorTitle": "Timelion 请求错误", "timelion.serverSideErrors.argumentsOverflowErrorMessage": "太多参数传递到:{functionName}", "timelion.serverSideErrors.bucketsOverflowErrorMessage": "最大桶数已超过:允许 {bucketCount}/{maxBuckets}选择较大的时间间隔或较短的时间范围", "timelion.serverSideErrors.colorFunction.colorNotProvidedErrorMessage": "未提供颜色", @@ -4900,47 +4777,8 @@ "timelion.serverSideErrors.yaxisFunction.notSupportedUnitTypeErrorMessage": "{units} 为不受支持的单元类型。", "timelion.serverSideErrors.yaxisFunction.notValidCurrencyFormatErrorMessage": "货币必须使用三个字母的代码", "timelion.timelionDescription": "在图表上显示时间序列数据。", - "timelion.topNavMenu.addChartButtonAriaLabel": "添加图表", - "timelion.topNavMenu.addChartButtonLabel": "添加", - "timelion.topNavMenu.delete.modal.confirmButtonLabel": "删除", - "timelion.topNavMenu.delete.modal.successNotificationText": "已删除“{title}”", - "timelion.topNavMenu.delete.modal.warningText": "您无法恢复已删除的工作表。", - "timelion.topNavMenu.delete.modalTitle": "是否删除 Timelion 工作表 “{title}”?", - "timelion.topNavMenu.deleteSheetButtonAriaLabel": "删除当前工作表", - "timelion.topNavMenu.deleteSheetButtonLabel": "删除", - "timelion.topNavMenu.helpButtonAriaLabel": "帮助", - "timelion.topNavMenu.helpButtonLabel": "帮助", - "timelion.topNavMenu.newSheetButtonAriaLabel": "新建工作表", - "timelion.topNavMenu.newSheetButtonLabel": "新建", - "timelion.topNavMenu.openSheetButtonAriaLabel": "打开工作表", - "timelion.topNavMenu.openSheetButtonLabel": "打开", - "timelion.topNavMenu.openSheetTitle": "打开工作表", - "timelion.topNavMenu.options.columnsCountLabel": "列(列数必须均分为 12)", - "timelion.topNavMenu.options.rowsCountLabel": "行(这是基于当前窗口高度的目标)", - "timelion.topNavMenu.optionsButtonAriaLabel": "选项", - "timelion.topNavMenu.optionsButtonLabel": "选项", - "timelion.topNavMenu.save.saveAsDashboardPanel.inputPlaceholder": "命名此面板", - "timelion.topNavMenu.save.saveAsDashboardPanel.selectedExpressionLabel": "当前选择的表达式", - "timelion.topNavMenu.save.saveAsDashboardPanel.submitButtonLabel": "保存", - "timelion.topNavMenu.save.saveAsDashboardPanelDescription": "是否需要将图表添加到 Kibana 仪表板?我们可以做到这一点!此选项会将当前选择的表达式另存为面板,该面板可像任何其他内容一样添加到 Kibana 仪表板。注意,如果使用对其他面板的引用,则需要删除该引用,方法是:将引用的表达式直接复制到要保存的表达式中。单击图表可选择要保存的其他表达式。", - "timelion.topNavMenu.save.saveAsDashboardPanelLabel": "将表达式另存为", - "timelion.topNavMenu.save.saveAsDashboardPanelTitle": "将当前表达式另存为 Kibana 仪表板面板", - "timelion.topNavMenu.save.saveEntireSheet.inputAriaLabel": "名称", - "timelion.topNavMenu.save.saveEntireSheet.inputPlaceholder": "命名此工作表......", - "timelion.topNavMenu.save.saveEntireSheet.submitButtonLabel": "保存", - "timelion.topNavMenu.save.saveEntireSheetDescription": "如果您主要在 Timelion 应用中使用 Timelion 表达式,且不需要将 Timelion 图表添加到 Kibana 仪表板,则需要使用此选项。如果您使用对其他面板的引用,可能也需要此选项。", - "timelion.topNavMenu.save.saveEntireSheetLabel": "将工作表另存为", - "timelion.topNavMenu.save.saveEntireSheetTitle": "保存整个 Timelion 工作表", - "timelion.topNavMenu.saveSheetButtonAriaLabel": "保存工作表", - "timelion.topNavMenu.saveSheetButtonLabel": "保存", - "timelion.topNavMenu.sheetOptionsTitle": "工作表选项", - "timelion.topNavMenu.statsDescription": "查询时间 {queryTime}ms /处理时间 {processingTime}ms", - "timelion.uiSettings.defaultColumnsDescription": "默认情况下 Timelion 工作表上的列数目", - "timelion.uiSettings.defaultColumnsLabel": "默认列", "timelion.uiSettings.defaultIndexDescription": "要使用 {esParam} 搜索的默认 Elasticsearch 索引", "timelion.uiSettings.defaultIndexLabel": "默认索引", - "timelion.uiSettings.defaultRowsDescription": "默认情况下 Timelion 工作表上的行数目", - "timelion.uiSettings.defaultRowsLabel": "默认行数", "timelion.uiSettings.experimentalLabel": "实验性", "timelion.uiSettings.graphiteURLDescription": "{experimentalLabel} Graphite 主机的 URL", "timelion.uiSettings.graphiteURLLabel": "Graphite URL", @@ -4953,8 +4791,6 @@ "timelion.uiSettings.minimumIntervalLabel": "最小时间间隔", "timelion.uiSettings.quandlKeyDescription": "{experimentalLabel} 来自 www.quandl.com 的 API 密钥", "timelion.uiSettings.quandlKeyLabel": "Quandl 密钥", - "timelion.uiSettings.showTutorialDescription": "进入 Timelion 应用时我是否应该默认显示教程?", - "timelion.uiSettings.showTutorialLabel": "显示教程", "timelion.uiSettings.targetBucketsDescription": "使用自动时间间隔时想要的存储桶数目", "timelion.uiSettings.targetBucketsLabel": "目标存储桶", "timelion.uiSettings.timeFieldDescription": "使用 {esParam} 时包含时间戳的默认字段", diff --git a/x-pack/test/api_integration/apis/features/features/features.ts b/x-pack/test/api_integration/apis/features/features/features.ts index 6a6a0e13a1e1e..c157c8ae354ac 100644 --- a/x-pack/test/api_integration/apis/features/features/features.ts +++ b/x-pack/test/api_integration/apis/features/features/features.ts @@ -102,7 +102,6 @@ export default function ({ getService }: FtrProviderContext) { 'enterpriseSearch', 'advancedSettings', 'indexPatterns', - 'timelion', 'graph', 'monitoring', 'savedObjectsManagement', diff --git a/x-pack/test/api_integration/apis/security/privileges.ts b/x-pack/test/api_integration/apis/security/privileges.ts index d39d9e599bcc8..42666e10341f1 100644 --- a/x-pack/test/api_integration/apis/security/privileges.ts +++ b/x-pack/test/api_integration/apis/security/privileges.ts @@ -59,7 +59,6 @@ export default function ({ getService }: FtrProviderContext) { advancedSettings: ['all', 'read'], indexPatterns: ['all', 'read'], savedObjectsManagement: ['all', 'read'], - timelion: ['all', 'read'], osquery: [ 'all', 'read', diff --git a/x-pack/test/api_integration/apis/security/privileges_basic.ts b/x-pack/test/api_integration/apis/security/privileges_basic.ts index dc00be028412b..368d5361b7e1c 100644 --- a/x-pack/test/api_integration/apis/security/privileges_basic.ts +++ b/x-pack/test/api_integration/apis/security/privileges_basic.ts @@ -28,7 +28,6 @@ export default function ({ getService }: FtrProviderContext) { indexPatterns: ['all', 'read'], savedObjectsManagement: ['all', 'read'], savedObjectsTagging: ['all', 'read'], - timelion: ['all', 'read'], graph: ['all', 'read'], maps: ['all', 'read'], canvas: ['all', 'read'], diff --git a/x-pack/test/api_integration/apis/spaces/get_active_space.ts b/x-pack/test/api_integration/apis/spaces/get_active_space.ts index e1edfdf5a7092..627b0847aee35 100644 --- a/x-pack/test/api_integration/apis/spaces/get_active_space.ts +++ b/x-pack/test/api_integration/apis/spaces/get_active_space.ts @@ -17,7 +17,7 @@ export default function ({ getService }: FtrProviderContext) { await spacesService.create({ id: 'foo-space', name: 'Foo Space', - disabledFeatures: ['timelion'], + disabledFeatures: [], color: '#AABBCC', }); }); @@ -63,7 +63,7 @@ export default function ({ getService }: FtrProviderContext) { .expect(200, { id: 'foo-space', name: 'Foo Space', - disabledFeatures: ['timelion'], + disabledFeatures: [], color: '#AABBCC', }); }); diff --git a/x-pack/test/api_integration/apis/telemetry/fixtures/basiccluster.json b/x-pack/test/api_integration/apis/telemetry/fixtures/basiccluster.json index 74d91a6215c79..1da39cf296537 100644 --- a/x-pack/test/api_integration/apis/telemetry/fixtures/basiccluster.json +++ b/x-pack/test/api_integration/apis/telemetry/fixtures/basiccluster.json @@ -195,9 +195,6 @@ "search": { "total": 0 }, - "timelion_sheet": { - "total": 0 - }, "versions": [ { "count": 1, diff --git a/x-pack/test/api_integration/apis/telemetry/fixtures/multicluster.json b/x-pack/test/api_integration/apis/telemetry/fixtures/multicluster.json index f1cc32f33dd2c..ad1ff9e82bb45 100644 --- a/x-pack/test/api_integration/apis/telemetry/fixtures/multicluster.json +++ b/x-pack/test/api_integration/apis/telemetry/fixtures/multicluster.json @@ -972,9 +972,6 @@ "graph_workspace": { "total": 0 }, - "timelion_sheet": { - "total": 0 - }, "indices": 1, "plugins": {} }, diff --git a/x-pack/test/api_integration/apis/telemetry/telemetry_local.ts b/x-pack/test/api_integration/apis/telemetry/telemetry_local.ts index 2412b91e6ee68..508a6584e9246 100644 --- a/x-pack/test/api_integration/apis/telemetry/telemetry_local.ts +++ b/x-pack/test/api_integration/apis/telemetry/telemetry_local.ts @@ -77,7 +77,6 @@ export default function ({ getService }: FtrProviderContext) { expect(stats.stack_stats.kibana.graph_workspace.total).to.be.a('number'); expect(stats.stack_stats.kibana.index_pattern.total).to.be.a('number'); expect(stats.stack_stats.kibana.search.total).to.be.a('number'); - expect(stats.stack_stats.kibana.timelion_sheet.total).to.be.a('number'); expect(stats.stack_stats.kibana.visualization.total).to.be.a('number'); expect(stats.stack_stats.kibana.plugins.apm.services_per_agent).to.be.an('object'); @@ -157,7 +156,6 @@ export default function ({ getService }: FtrProviderContext) { 'stack_stats.kibana.os', 'stack_stats.kibana.plugins', 'stack_stats.kibana.search', - 'stack_stats.kibana.timelion_sheet', 'stack_stats.kibana.versions', 'stack_stats.kibana.visualization', 'stack_stats.xpack.ccr', diff --git a/x-pack/test/encrypted_saved_objects_api_integration/fixtures/es_archiver/encrypted_saved_objects/mappings.json b/x-pack/test/encrypted_saved_objects_api_integration/fixtures/es_archiver/encrypted_saved_objects/mappings.json index 422e2fa74af00..a083c8f7e3bcf 100644 --- a/x-pack/test/encrypted_saved_objects_api_integration/fixtures/es_archiver/encrypted_saved_objects/mappings.json +++ b/x-pack/test/encrypted_saved_objects_api_integration/fixtures/es_archiver/encrypted_saved_objects/mappings.json @@ -44,7 +44,6 @@ "search": "181661168bbadd1eff5902361e2a0d5c", "space": "c5ca8acafa0beaa4d08d014a97b6bc6b", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "todo": "082a2cc96a590268344d5cd74c159ac4", "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215", "type": "2f4316de49999235636386fe51dc06c1", @@ -2163,47 +2162,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "todo": { "properties": { "icon": { diff --git a/x-pack/test/encrypted_saved_objects_api_integration/fixtures/es_archiver/encrypted_saved_objects_different_key/mappings.json b/x-pack/test/encrypted_saved_objects_api_integration/fixtures/es_archiver/encrypted_saved_objects_different_key/mappings.json index 6de44ddece61d..22b79eb9bbd8e 100644 --- a/x-pack/test/encrypted_saved_objects_api_integration/fixtures/es_archiver/encrypted_saved_objects_different_key/mappings.json +++ b/x-pack/test/encrypted_saved_objects_api_integration/fixtures/es_archiver/encrypted_saved_objects_different_key/mappings.json @@ -44,7 +44,6 @@ "search": "181661168bbadd1eff5902361e2a0d5c", "space": "c5ca8acafa0beaa4d08d014a97b6bc6b", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "todo": "082a2cc96a590268344d5cd74c159ac4", "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215", "type": "2f4316de49999235636386fe51dc06c1", @@ -2190,47 +2189,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "todo": { "properties": { "icon": { diff --git a/x-pack/test/encrypted_saved_objects_api_integration/fixtures/es_archiver/key_rotation/mappings.json b/x-pack/test/encrypted_saved_objects_api_integration/fixtures/es_archiver/key_rotation/mappings.json index 26364c89dba3d..74083cbfa949a 100644 --- a/x-pack/test/encrypted_saved_objects_api_integration/fixtures/es_archiver/key_rotation/mappings.json +++ b/x-pack/test/encrypted_saved_objects_api_integration/fixtures/es_archiver/key_rotation/mappings.json @@ -81,7 +81,6 @@ "maps-telemetry": "5ef305b18111b77789afefbd36b66171", "namespace": "2f4316de49999235636386fe51dc06c1", "cases-user-actions": "32277330ec6b721abe3b846cfd939a71", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "siem-ui-timeline-pinned-event": "20638091112f0e14f0e443d512301c29", "config": "c63748b75f39d0c54de12d12c1ccbc20", "ingest-agent-policies": "8b0733cce189659593659dad8db426f0", @@ -2170,47 +2169,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "tsvb-validation-telemetry": { "properties": { "failedRequests": { diff --git a/x-pack/test/functional/apps/saved_objects_management/exports/_7.13_import_saved_objects.ndjson b/x-pack/test/functional/apps/saved_objects_management/exports/_7.13_import_saved_objects.ndjson index 5c80b7f0624fe..21be31349af0f 100644 --- a/x-pack/test/functional/apps/saved_objects_management/exports/_7.13_import_saved_objects.ndjson +++ b/x-pack/test/functional/apps/saved_objects_management/exports/_7.13_import_saved_objects.ndjson @@ -70,7 +70,6 @@ {"attributes":{"description":"","hits":0,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"filter\":[]}"},"optionsJSON":"{\"darkTheme\":false,\"hidePanelTitles\":false,\"useMargins\":true}","panelsJSON":"[{\"version\":\"7.3.0\",\"type\":\"visualization\",\"gridData\":{\"h\":15,\"i\":\"1\",\"w\":24,\"x\":0,\"y\":0},\"panelIndex\":\"1\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_1\"},{\"version\":\"7.3.0\",\"type\":\"visualization\",\"gridData\":{\"h\":15,\"i\":\"2\",\"w\":24,\"x\":24,\"y\":0},\"panelIndex\":\"2\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_2\"},{\"version\":\"7.3.0\",\"type\":\"visualization\",\"gridData\":{\"h\":15,\"i\":\"3\",\"w\":24,\"x\":0,\"y\":15},\"panelIndex\":\"3\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_3\"},{\"version\":\"7.3.0\",\"type\":\"search\",\"gridData\":{\"h\":15,\"i\":\"4\",\"w\":24,\"x\":24,\"y\":15},\"panelIndex\":\"4\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_4\"},{\"version\":\"7.3.0\",\"type\":\"search\",\"gridData\":{\"h\":15,\"i\":\"5\",\"w\":24,\"x\":0,\"y\":30},\"panelIndex\":\"5\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_5\"},{\"version\":\"7.3.0\",\"type\":\"search\",\"gridData\":{\"h\":15,\"i\":\"6\",\"w\":24,\"x\":24,\"y\":30},\"panelIndex\":\"6\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_6\"}]","timeRestore":false,"title":"shakespeare_dashboard","version":1},"coreMigrationVersion":"7.13.2","id":"73398a90-619e-11eb-aebf-c306684b328d","migrationVersion":{"dashboard":"7.13.1"},"references":[{"id":"185283c0-619e-11eb-aebf-c306684b328d","name":"1:panel_1","type":"visualization"},{"id":"33736660-619e-11eb-aebf-c306684b328d","name":"2:panel_2","type":"visualization"},{"id":"622ac7f0-619e-11eb-aebf-c306684b328d","name":"3:panel_3","type":"visualization"},{"id":"712ebbe0-619d-11eb-aebf-c306684b328d","name":"4:panel_4","type":"search"},{"id":"ddacc820-619d-11eb-aebf-c306684b328d","name":"5:panel_5","type":"search"},{"id":"f852d570-619d-11eb-aebf-c306684b328d","name":"6:panel_6","type":"search"}],"sort":[1623693556928,649],"type":"dashboard","updated_at":"2021-06-14T17:59:16.928Z","version":"WzE3MDEsNF0="} {"attributes":{"description":"","hits":0,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"filter\":[{\"meta\":{\"negate\":false,\"disabled\":false,\"alias\":null,\"type\":\"phrase\",\"key\":\"geo.srcdest\",\"value\":\"IN:US\",\"params\":{\"query\":\"IN:US\",\"type\":\"phrase\"},\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index\"},\"query\":{\"match\":{\"geo.srcdest\":{\"query\":\"IN:US\",\"type\":\"phrase\"}}},\"$state\":{\"store\":\"appState\"}}]}"},"optionsJSON":"{\"darkTheme\":false,\"hidePanelTitles\":false,\"useMargins\":true}","panelsJSON":"[{\"version\":\"7.3.0\",\"type\":\"visualization\",\"gridData\":{\"h\":15,\"i\":\"1\",\"w\":24,\"x\":0,\"y\":0},\"panelIndex\":\"1\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_1\"},{\"version\":\"7.3.0\",\"type\":\"visualization\",\"gridData\":{\"h\":15,\"i\":\"2\",\"w\":24,\"x\":24,\"y\":0},\"panelIndex\":\"2\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_2\"},{\"version\":\"7.3.0\",\"type\":\"visualization\",\"gridData\":{\"h\":15,\"i\":\"3\",\"w\":24,\"x\":0,\"y\":15},\"panelIndex\":\"3\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_3\"},{\"version\":\"7.3.0\",\"type\":\"visualization\",\"gridData\":{\"h\":15,\"i\":\"4\",\"w\":24,\"x\":24,\"y\":15},\"panelIndex\":\"4\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_4\"},{\"version\":\"7.3.0\",\"type\":\"visualization\",\"gridData\":{\"h\":15,\"i\":\"5\",\"w\":24,\"x\":0,\"y\":30},\"panelIndex\":\"5\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_5\"},{\"version\":\"7.3.0\",\"type\":\"visualization\",\"gridData\":{\"h\":15,\"i\":\"6\",\"w\":24,\"x\":24,\"y\":30},\"panelIndex\":\"6\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_6\"},{\"version\":\"7.3.0\",\"type\":\"visualization\",\"gridData\":{\"h\":15,\"i\":\"7\",\"w\":24,\"x\":0,\"y\":45},\"panelIndex\":\"7\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_7\"},{\"version\":\"7.3.0\",\"type\":\"visualization\",\"gridData\":{\"h\":15,\"i\":\"8\",\"w\":24,\"x\":24,\"y\":45},\"panelIndex\":\"8\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_8\"},{\"version\":\"7.3.0\",\"type\":\"visualization\",\"gridData\":{\"h\":15,\"i\":\"9\",\"w\":24,\"x\":0,\"y\":60},\"panelIndex\":\"9\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_9\"},{\"version\":\"7.3.0\",\"type\":\"visualization\",\"gridData\":{\"h\":15,\"i\":\"10\",\"w\":24,\"x\":24,\"y\":60},\"panelIndex\":\"10\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_10\"},{\"version\":\"7.3.0\",\"type\":\"visualization\",\"gridData\":{\"h\":15,\"i\":\"11\",\"w\":24,\"x\":0,\"y\":75},\"panelIndex\":\"11\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_11\"},{\"version\":\"7.3.0\",\"type\":\"visualization\",\"gridData\":{\"h\":15,\"i\":\"12\",\"w\":24,\"x\":24,\"y\":75},\"panelIndex\":\"12\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_12\"},{\"version\":\"7.3.0\",\"type\":\"visualization\",\"gridData\":{\"h\":15,\"i\":\"13\",\"w\":24,\"x\":0,\"y\":90},\"panelIndex\":\"13\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_13\"},{\"version\":\"7.3.0\",\"type\":\"visualization\",\"gridData\":{\"h\":15,\"i\":\"14\",\"w\":24,\"x\":24,\"y\":90},\"panelIndex\":\"14\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_14\"},{\"version\":\"7.3.0\",\"type\":\"visualization\",\"gridData\":{\"h\":15,\"i\":\"15\",\"w\":24,\"x\":0,\"y\":105},\"panelIndex\":\"15\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_15\"},{\"version\":\"7.3.0\",\"type\":\"visualization\",\"gridData\":{\"h\":15,\"i\":\"16\",\"w\":24,\"x\":24,\"y\":105},\"panelIndex\":\"16\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_16\"},{\"version\":\"7.3.0\",\"type\":\"visualization\",\"gridData\":{\"h\":15,\"i\":\"17\",\"w\":24,\"x\":0,\"y\":120},\"panelIndex\":\"17\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_17\"},{\"version\":\"7.3.0\",\"type\":\"visualization\",\"gridData\":{\"h\":15,\"i\":\"18\",\"w\":24,\"x\":24,\"y\":120},\"panelIndex\":\"18\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_18\"},{\"version\":\"7.3.0\",\"type\":\"visualization\",\"gridData\":{\"h\":15,\"i\":\"19\",\"w\":24,\"x\":0,\"y\":135},\"panelIndex\":\"19\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_19\"},{\"version\":\"7.3.0\",\"type\":\"search\",\"gridData\":{\"h\":15,\"i\":\"20\",\"w\":24,\"x\":24,\"y\":135},\"panelIndex\":\"20\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_20\"}]","timeRestore":false,"title":"logstash_dashboardwithfilters","version":1},"coreMigrationVersion":"7.13.2","id":"79794f20-6249-11eb-aebf-c306684b328d","migrationVersion":{"dashboard":"7.13.1"},"references":[{"id":"56b34100-619d-11eb-aebf-c306684b328d","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index","type":"index-pattern"},{"id":"36b91810-6239-11eb-aebf-c306684b328d","name":"1:panel_1","type":"visualization"},{"id":"0a274320-61cc-11eb-aebf-c306684b328d","name":"2:panel_2","type":"visualization"},{"id":"e4aef350-623d-11eb-aebf-c306684b328d","name":"3:panel_3","type":"visualization"},{"id":"f92e5630-623e-11eb-aebf-c306684b328d","name":"4:panel_4","type":"visualization"},{"id":"9853d4d0-623d-11eb-aebf-c306684b328d","name":"5:panel_5","type":"visualization"},{"id":"6ecb33b0-623d-11eb-aebf-c306684b328d","name":"6:panel_6","type":"visualization"},{"id":"b8e35c80-623c-11eb-aebf-c306684b328d","name":"7:panel_7","type":"visualization"},{"id":"f1bc75d0-6239-11eb-aebf-c306684b328d","name":"8:panel_8","type":"visualization"},{"id":"0d8a8860-623a-11eb-aebf-c306684b328d","name":"9:panel_9","type":"visualization"},{"id":"d79fe3d0-6239-11eb-aebf-c306684b328d","name":"10:panel_10","type":"visualization"},{"id":"318375a0-6240-11eb-aebf-c306684b328d","name":"11:panel_11","type":"visualization"},{"id":"e461eb20-6245-11eb-aebf-c306684b328d","name":"12:panel_12","type":"visualization"},{"id":"25bdc750-6242-11eb-aebf-c306684b328d","name":"13:panel_13","type":"visualization"},{"id":"71dd7bc0-6248-11eb-aebf-c306684b328d","name":"14:panel_14","type":"visualization"},{"id":"6aea48a0-6240-11eb-aebf-c306684b328d","name":"15:panel_15","type":"visualization"},{"id":"32b681f0-6241-11eb-aebf-c306684b328d","name":"16:panel_16","type":"visualization"},{"id":"ccca99e0-6244-11eb-aebf-c306684b328d","name":"17:panel_17","type":"visualization"},{"id":"a4d7be80-6245-11eb-aebf-c306684b328d","name":"18:panel_18","type":"visualization"},{"id":"c94d8440-6248-11eb-aebf-c306684b328d","name":"19:panel_19","type":"visualization"},{"id":"db6226f0-61c0-11eb-aebf-c306684b328d","name":"20:panel_20","type":"search"}],"sort":[1623693556928,671],"type":"dashboard","updated_at":"2021-06-14T17:59:16.928Z","version":"WzE3MDIsNF0="} {"attributes":{"description":"","state":{"datasourceStates":{"indexpattern":{"layers":{"037b7937-790b-4d2d-94a5-7f5837a6ef05":{"columnOrder":["b3d46616-75e0-419e-97ea-91148961ef94","025a0fb3-dc44-4f5c-b517-2d71d3f26f14","c476db14-0cc1-40ec-863e-d2779256a407"],"columns":{"025a0fb3-dc44-4f5c-b517-2d71d3f26f14":{"dataType":"date","isBucketed":true,"label":"@timestamp","operationType":"date_histogram","params":{"interval":"auto"},"scale":"interval","sourceField":"@timestamp"},"b3d46616-75e0-419e-97ea-91148961ef94":{"dataType":"string","isBucketed":true,"label":"Top values of geo.srcdest","operationType":"terms","params":{"missingBucket":false,"orderBy":{"columnId":"c476db14-0cc1-40ec-863e-d2779256a407","type":"column"},"orderDirection":"desc","otherBucket":true,"size":3},"scale":"ordinal","sourceField":"geo.srcdest"},"c476db14-0cc1-40ec-863e-d2779256a407":{"dataType":"number","isBucketed":false,"label":"Count of records","operationType":"count","scale":"ratio","sourceField":"Records"}},"incompleteColumns":{}}}}},"filters":[],"query":{"language":"lucene","query":""},"visualization":{"axisTitlesVisibilitySettings":{"x":true,"yLeft":true,"yRight":true},"fittingFunction":"None","gridlinesVisibilitySettings":{"x":true,"yLeft":true,"yRight":true},"layers":[{"accessors":["c476db14-0cc1-40ec-863e-d2779256a407"],"layerId":"037b7937-790b-4d2d-94a5-7f5837a6ef05","position":"top","seriesType":"bar_stacked","showGridlines":false,"splitAccessor":"b3d46616-75e0-419e-97ea-91148961ef94","xAccessor":"025a0fb3-dc44-4f5c-b517-2d71d3f26f14"}],"legend":{"isVisible":true,"position":"right"},"preferredSeriesType":"bar_stacked","tickLabelsVisibilitySettings":{"x":true,"yLeft":true,"yRight":true},"valueLabels":"hide"}},"title":"lens_verticalstacked","visualizationType":"lnsXY"},"coreMigrationVersion":"7.13.2","id":"8dc19b50-be32-11eb-9520-1b4c3ca6a781","migrationVersion":{"lens":"7.13.1"},"references":[{"id":"56b34100-619d-11eb-aebf-c306684b328d","name":"indexpattern-datasource-current-indexpattern","type":"index-pattern"},{"id":"56b34100-619d-11eb-aebf-c306684b328d","name":"indexpattern-datasource-layer-037b7937-790b-4d2d-94a5-7f5837a6ef05","type":"index-pattern"},{"id":"e6994960-bd9e-11eb-9520-1b4c3ca6a781","name":"tag-ref-e6994960-bd9e-11eb-9520-1b4c3ca6a781","type":"tag"}],"sort":[1623693556928,675],"type":"lens","updated_at":"2021-06-14T17:59:16.928Z","version":"WzE3MDMsNF0="} -{"attributes":{"description":"","hits":0,"timelion_chart_height":275,"timelion_columns":2,"timelion_interval":"auto","timelion_rows":2,"timelion_sheet":[".es(index=logstash-*, \"sum:bytes\")"],"title":"logstash_timelionsheet","version":1},"coreMigrationVersion":"7.13.2","id":"a8961990-be5c-11eb-9520-1b4c3ca6a781","references":[],"sort":[1623693556928,676],"type":"timelion-sheet","updated_at":"2021-06-14T17:59:16.928Z","version":"WzE3MDQsNF0="} {"attributes":{"columns":[],"description":"","hits":0,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"geo.dest\",\"params\":{\"query\":\"US\"},\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index\"},\"query\":{\"match_phrase\":{\"geo.dest\":\"US\"}},\"$state\":{\"store\":\"appState\"}}],\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}"},"sort":[["@timestamp","desc"]],"title":"drilldown_logstash","version":1},"coreMigrationVersion":"7.13.2","id":"b3288100-ca2c-11eb-bf5e-3de94e83d4f0","migrationVersion":{"search":"7.9.3"},"references":[{"id":"43fcac20-ca27-11eb-bf5e-3de94e83d4f0","name":"kibanaSavedObjectMeta.searchSourceJSON.index","type":"index-pattern"},{"id":"43fcac20-ca27-11eb-bf5e-3de94e83d4f0","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index","type":"index-pattern"}],"sort":[1623415891791,216],"type":"search","updated_at":"2021-06-11T12:51:31.791Z","version":"WzE0NjMsNF0="} {"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{}"},"title":"logstash_timelion_panel","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"logstash_timelion_panel\",\"type\":\"timelion\",\"aggs\":[],\"params\":{\"expression\":\".es(index=logstash-*, \\\"sum:bytes\\\")\",\"interval\":\"auto\"}}"},"coreMigrationVersion":"7.13.2","id":"b3a44cd0-be5c-11eb-9520-1b4c3ca6a781","migrationVersion":{"visualization":"7.13.1"},"references":[],"sort":[1623693556928,677],"type":"visualization","updated_at":"2021-06-14T17:59:16.928Z","version":"WzE3MDUsNF0="} {"attributes":{"color":"#9170B8","description":"","name":"alltogether"},"coreMigrationVersion":"7.13.2","id":"be808cb0-be32-11eb-9520-1b4c3ca6a781","references":[],"sort":[1623693556928,678],"type":"tag","updated_at":"2021-06-14T17:59:16.928Z","version":"WzE3MDYsNF0="} diff --git a/x-pack/test/functional/apps/saved_objects_management/import_saved_objects_between_versions.ts b/x-pack/test/functional/apps/saved_objects_management/import_saved_objects_between_versions.ts index 427e42b7b7a65..790909164b33d 100644 --- a/x-pack/test/functional/apps/saved_objects_management/import_saved_objects_between_versions.ts +++ b/x-pack/test/functional/apps/saved_objects_management/import_saved_objects_between_versions.ts @@ -48,14 +48,14 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.savedObjects.clickImportDone(); const importedSavedObjects = await testSubjects.getVisibleText('exportAllObjects'); // verifying the count of saved objects after importing .ndjson - await expect(importedSavedObjects).to.be('Export 88 objects'); + await expect(importedSavedObjects).to.be('Export 87 objects'); }); it('should be able to import alerts and actions saved objects from 7.14 into 8.0.0', async function () { await retry.tryForTime(10000, async () => { const existingSavedObjects = await testSubjects.getVisibleText('exportAllObjects'); // Kibana always has 1 advanced setting as a saved object - await expect(existingSavedObjects).to.be('Export 88 objects'); + await expect(existingSavedObjects).to.be('Export 87 objects'); }); await PageObjects.savedObjects.importFile( path.join(__dirname, 'exports', '_7.14_import_alerts_actions.ndjson') @@ -64,7 +64,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.savedObjects.clickImportDone(); const importedSavedObjects = await testSubjects.getVisibleText('exportAllObjects'); // verifying the count of saved objects after importing .ndjson - await expect(importedSavedObjects).to.be('Export 111 objects'); + await expect(importedSavedObjects).to.be('Export 110 objects'); }); }); } diff --git a/x-pack/test/functional/apps/timelion/feature_controls/timelion_security.ts b/x-pack/test/functional/apps/timelion/feature_controls/timelion_security.ts deleted file mode 100644 index 8a1021abb4330..0000000000000 --- a/x-pack/test/functional/apps/timelion/feature_controls/timelion_security.ts +++ /dev/null @@ -1,196 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import expect from '@kbn/expect'; -import { FtrProviderContext } from '../../../ftr_provider_context'; - -export default function ({ getPageObjects, getService }: FtrProviderContext) { - const esArchiver = getService('esArchiver'); - const security = getService('security'); - const kibanaServer = getService('kibanaServer'); - const PageObjects = getPageObjects([ - 'common', - 'error', - 'header', - 'security', - 'spaceSelector', - 'timelion', - ]); - const appsMenu = getService('appsMenu'); - const globalNav = getService('globalNav'); - - describe('feature controls security', () => { - before(async () => { - await kibanaServer.importExport.load( - 'x-pack/test/functional/fixtures/kbn_archiver/timelion/feature_controls.json' - ); - await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional'); - }); - - after(async () => { - await kibanaServer.importExport.unload( - 'x-pack/test/functional/fixtures/kbn_archiver/timelion/feature_controls.json' - ); - await esArchiver.unload('x-pack/test/functional/es_archives/logstash_functional'); - }); - - // FLAKY: https://github.com/elastic/kibana/issues/110396 - describe.skip('global timelion all privileges', () => { - before(async () => { - await security.role.create('global_timelion_all_role', { - elasticsearch: { - indices: [{ names: ['logstash-*'], privileges: ['read', 'view_index_metadata'] }], - }, - kibana: [ - { - feature: { - timelion: ['all'], - }, - spaces: ['*'], - }, - ], - }); - - await security.user.create('global_timelion_all_user', { - password: 'global_timelion_all_user-password', - roles: ['global_timelion_all_role'], - full_name: 'test user', - }); - - await PageObjects.security.forceLogout(); - - await PageObjects.security.login( - 'global_timelion_all_user', - 'global_timelion_all_user-password', - { - expectSpaceSelector: false, - } - ); - }); - - after(async () => { - await PageObjects.security.forceLogout(); - await security.role.delete('global_timelion_all_role'); - await security.user.delete('global_timelion_all_user'); - }); - - it('shows timelion navlink', async () => { - const navLinks = (await appsMenu.readLinks()).map((link) => link.text); - expect(navLinks).to.eql(['Overview', 'Timelion']); - }); - - it(`allows a timelion sheet to be created`, async () => { - await PageObjects.common.navigateToApp('timelion'); - await PageObjects.timelion.saveTimelionSheet(); - }); - - it(`doesn't show read-only badge`, async () => { - await globalNav.badgeMissingOrFail(); - }); - }); - - describe('global timelion read-only privileges', () => { - before(async () => { - await security.role.create('global_timelion_read_role', { - elasticsearch: { - indices: [{ names: ['logstash-*'], privileges: ['read', 'view_index_metadata'] }], - }, - kibana: [ - { - feature: { - timelion: ['read'], - }, - spaces: ['*'], - }, - ], - }); - - await security.user.create('global_timelion_read_user', { - password: 'global_timelion_read_user-password', - roles: ['global_timelion_read_role'], - full_name: 'test user', - }); - - await PageObjects.security.login( - 'global_timelion_read_user', - 'global_timelion_read_user-password', - { - expectSpaceSelector: false, - } - ); - }); - - after(async () => { - await PageObjects.security.forceLogout(); - await security.role.delete('global_timelion_read_role'); - await security.user.delete('global_timelion_read_user'); - }); - - it('shows timelion navlink', async () => { - const navLinks = (await appsMenu.readLinks()).map((link) => link.text); - expect(navLinks).to.eql(['Overview', 'Timelion']); - }); - - it(`does not allow a timelion sheet to be created`, async () => { - await PageObjects.common.navigateToApp('timelion'); - await PageObjects.timelion.expectMissingWriteControls(); - }); - - it(`shows read-only badge`, async () => { - await globalNav.badgeExistsOrFail('Read only'); - }); - }); - - describe('no timelion privileges', () => { - before(async () => { - await security.role.create('no_timelion_privileges_role', { - elasticsearch: { - indices: [{ names: ['logstash-*'], privileges: ['read', 'view_index_metadata'] }], - }, - kibana: [ - { - feature: { - discover: ['all'], - }, - spaces: ['*'], - }, - ], - }); - - await security.user.create('no_timelion_privileges_user', { - password: 'no_timelion_privileges_user-password', - roles: ['no_timelion_privileges_role'], - full_name: 'test user', - }); - - await PageObjects.security.forceLogout(); - - await PageObjects.security.login( - 'no_timelion_privileges_user', - 'no_timelion_privileges_user-password', - { - expectSpaceSelector: false, - } - ); - }); - - after(async () => { - await PageObjects.security.forceLogout(); - await security.role.delete('no_timelion_privileges_role'); - await security.user.delete('no_timelion_privileges_user'); - }); - - it(`returns a 403`, async () => { - await PageObjects.common.navigateToActualUrl('timelion', '', { - ensureCurrentUrl: false, - shouldLoginIfPrompted: false, - }); - PageObjects.error.expectForbidden(); - }); - }); - }); -} diff --git a/x-pack/test/functional/apps/timelion/feature_controls/timelion_spaces.ts b/x-pack/test/functional/apps/timelion/feature_controls/timelion_spaces.ts deleted file mode 100644 index a1dea695fce86..0000000000000 --- a/x-pack/test/functional/apps/timelion/feature_controls/timelion_spaces.ts +++ /dev/null @@ -1,158 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import expect from '@kbn/expect'; -import { FtrProviderContext } from '../../../ftr_provider_context'; - -export default function ({ getPageObjects, getService }: FtrProviderContext) { - const esArchiver = getService('esArchiver'); - const spacesService = getService('spaces'); - const PageObjects = getPageObjects(['common', 'timelion', 'security', 'spaceSelector']); - const appsMenu = getService('appsMenu'); - const kibanaServer = getService('kibanaServer'); - - describe('timelion', () => { - before(async () => { - await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional'); - }); - - describe('space with no features disabled', () => { - before(async () => { - // we need to load the following in every situation as deleting - // a space deletes all of the associated saved objects - // await esArchiver.load('x-pack/test/functional/es_archives/timelion/feature_controls'); - await kibanaServer.importExport.load( - 'x-pack/test/functional/fixtures/kbn_archiver/timelion/feature_controls.json' - ); - - await spacesService.create({ - id: 'custom_space', - name: 'custom_space', - disabledFeatures: [], - }); - - await kibanaServer.importExport.load( - 'x-pack/test/functional/fixtures/kbn_archiver/timelion/timelion_custom_space.json', - { space: 'custom_space' } - ); - }); - - after(async () => { - await spacesService.delete('custom_space'); - await kibanaServer.importExport.unload( - 'x-pack/test/functional/fixtures/kbn_archiver/timelion/feature_controls.json' - ); - }); - - it('shows timelion navlink', async () => { - await PageObjects.common.navigateToApp('home', { - basePath: '/s/custom_space', - }); - - const navLinks = (await appsMenu.readLinks()).map((link) => link.text); - expect(navLinks).to.contain('Timelion'); - }); - - it(`allows a timelion sheet to be created`, async () => { - await PageObjects.common.navigateToApp('timelion', { - basePath: '/s/custom_space', - }); - - await PageObjects.timelion.saveTimelionSheet(); - }); - }); - - describe('space with Timelion disabled', () => { - before(async () => { - // we need to load the following in every situation as deleting - // a space deletes all of the associated saved objects - // await esArchiver.load('x-pack/test/functional/es_archives/timelion/feature_controls'); - - await kibanaServer.importExport.load( - 'x-pack/test/functional/fixtures/kbn_archiver/timelion/feature_controls.json' - ); - - await spacesService.create({ - id: 'custom_space', - name: 'custom_space', - disabledFeatures: ['timelion'], - }); - - await kibanaServer.importExport.load( - 'x-pack/test/functional/fixtures/kbn_archiver/timelion/timelion_custom_space.json', - { space: 'custom_space' } - ); - }); - - after(async () => { - await spacesService.delete('custom_space'); - await kibanaServer.importExport.unload( - 'x-pack/test/functional/fixtures/kbn_archiver/timelion/feature_controls.json' - ); - }); - - it(`doesn't show timelion navlink`, async () => { - await PageObjects.common.navigateToApp('home', { - basePath: '/s/custom_space', - }); - const navLinks = (await appsMenu.readLinks()).map((link) => link.text); - expect(navLinks).not.to.contain('Timelion'); - }); - - it(`create new timelion returns a 404`, async () => { - await PageObjects.common.navigateToActualUrl('timelion', 'i-exist', { - basePath: '/s/custom_space', - ensureCurrentUrl: false, - shouldLoginIfPrompted: false, - }); - - const messageText = await PageObjects.common.getJsonBodyText(); - expect(messageText).to.eql( - JSON.stringify({ - statusCode: 404, - error: 'Not Found', - message: 'Not Found', - }) - ); - }); - - it(`edit timelion sheet which doesn't exist returns a 404`, async () => { - await PageObjects.common.navigateToActualUrl('timelion', 'i-dont-exist', { - basePath: '/s/custom_space', - ensureCurrentUrl: false, - shouldLoginIfPrompted: false, - }); - - const messageText = await PageObjects.common.getJsonBodyText(); - expect(messageText).to.eql( - JSON.stringify({ - statusCode: 404, - error: 'Not Found', - message: 'Not Found', - }) - ); - }); - - it(`edit timelion sheet which exists returns a 404`, async () => { - await PageObjects.common.navigateToActualUrl('timelion', 'i-exist', { - basePath: '/s/custom_space', - ensureCurrentUrl: false, - shouldLoginIfPrompted: false, - }); - - const messageText = await PageObjects.common.getJsonBodyText(); - expect(messageText).to.eql( - JSON.stringify({ - statusCode: 404, - error: 'Not Found', - message: 'Not Found', - }) - ); - }); - }); - }); -} diff --git a/x-pack/test/functional/apps/timelion/index.ts b/x-pack/test/functional/apps/timelion/index.ts deleted file mode 100644 index 009f080adddec..0000000000000 --- a/x-pack/test/functional/apps/timelion/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { FtrProviderContext } from '../../ftr_provider_context'; - -export default function timelion({ loadTestFile }: FtrProviderContext) { - describe('Timelion', function visualizeTestSuite() { - this.tags(['ciGroup4', 'skipFirefox']); - - loadTestFile(require.resolve('./feature_controls/timelion_security')); - loadTestFile(require.resolve('./feature_controls/timelion_spaces')); - }); -} diff --git a/x-pack/test/functional/config.js b/x-pack/test/functional/config.js index 87a21f815bfd4..f8e8ce76bace1 100644 --- a/x-pack/test/functional/config.js +++ b/x-pack/test/functional/config.js @@ -40,7 +40,6 @@ export default async function ({ readConfigFile }) { resolve(__dirname, './apps/rollup_job'), resolve(__dirname, './apps/maps'), resolve(__dirname, './apps/status_page'), - resolve(__dirname, './apps/timelion'), resolve(__dirname, './apps/upgrade_assistant'), resolve(__dirname, './apps/visualize'), resolve(__dirname, './apps/uptime'), @@ -87,7 +86,6 @@ export default async function ({ readConfigFile }) { '--xpack.security.encryptionKey="wuGNaIhoMpk5sO4UBxgr3NyW1sFcLgIf"', // server restarts should not invalidate active sessions '--xpack.encryptedSavedObjects.encryptionKey="DkdXazszSCYexXqz4YktBGHCRkV6hyNK"', '--xpack.discoverEnhanced.actions.exploreDataInContextMenu.enabled=true', - '--timelion.ui.enabled=true', '--savedObjects.maxImportPayloadBytes=10485760', // for OSS test management/_import_objects '--xpack.observability.unsafe.cases.enabled=true', '--xpack.observability.unsafe.alertingExperience.enabled=true', // NOTE: Can be removed once enabled by default diff --git a/x-pack/test/functional/es_archives/action_task_params/mappings.json b/x-pack/test/functional/es_archives/action_task_params/mappings.json index d0eb35fa3b157..2bb6be179d890 100644 --- a/x-pack/test/functional/es_archives/action_task_params/mappings.json +++ b/x-pack/test/functional/es_archives/action_task_params/mappings.json @@ -67,7 +67,6 @@ "siem-ui-timeline-pinned-event": "20638091112f0e14f0e443d512301c29", "space": "c5ca8acafa0beaa4d08d014a97b6bc6b", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215", "type": "2f4316de49999235636386fe51dc06c1", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", @@ -2312,47 +2311,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "tsvb-validation-telemetry": { "properties": { "failedRequests": { diff --git a/x-pack/test/functional/es_archives/actions/mappings.json b/x-pack/test/functional/es_archives/actions/mappings.json index 8289174ffd57d..eeb9d09d3b0a2 100644 --- a/x-pack/test/functional/es_archives/actions/mappings.json +++ b/x-pack/test/functional/es_archives/actions/mappings.json @@ -67,7 +67,6 @@ "siem-ui-timeline-pinned-event": "20638091112f0e14f0e443d512301c29", "space": "c5ca8acafa0beaa4d08d014a97b6bc6b", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215", "type": "2f4316de49999235636386fe51dc06c1", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", @@ -2311,47 +2310,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "tsvb-validation-telemetry": { "properties": { "failedRequests": { diff --git a/x-pack/test/functional/es_archives/alerts/mappings.json b/x-pack/test/functional/es_archives/alerts/mappings.json index 287d9a79a68cf..ecaf138a0cdc4 100644 --- a/x-pack/test/functional/es_archives/alerts/mappings.json +++ b/x-pack/test/functional/es_archives/alerts/mappings.json @@ -45,7 +45,6 @@ "search": "181661168bbadd1eff5902361e2a0d5c", "space": "c5ca8acafa0beaa4d08d014a97b6bc6b", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "todo": "082a2cc96a590268344d5cd74c159ac4", "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215", "type": "2f4316de49999235636386fe51dc06c1", diff --git a/x-pack/test/functional/es_archives/alerts_legacy/mappings.json b/x-pack/test/functional/es_archives/alerts_legacy/mappings.json index 8c33155636a8b..69edf30c1ffd0 100644 --- a/x-pack/test/functional/es_archives/alerts_legacy/mappings.json +++ b/x-pack/test/functional/es_archives/alerts_legacy/mappings.json @@ -66,7 +66,6 @@ "siem-ui-timeline-pinned-event": "20638091112f0e14f0e443d512301c29", "space": "c5ca8acafa0beaa4d08d014a97b6bc6b", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215", "type": "2f4316de49999235636386fe51dc06c1", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", @@ -2312,47 +2311,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "tsvb-validation-telemetry": { "properties": { "failedRequests": { diff --git a/x-pack/test/functional/es_archives/banners/multispace/mappings.json b/x-pack/test/functional/es_archives/banners/multispace/mappings.json index 9f3201d73abc1..f813fca64c328 100644 --- a/x-pack/test/functional/es_archives/banners/multispace/mappings.json +++ b/x-pack/test/functional/es_archives/banners/multispace/mappings.json @@ -180,48 +180,6 @@ "spaceId": { "type": "keyword" }, - "timelion-sheet": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/x-pack/test/functional/es_archives/canvas/default/mappings.json b/x-pack/test/functional/es_archives/canvas/default/mappings.json index 3bde3969e5ded..61481a0f949fa 100644 --- a/x-pack/test/functional/es_archives/canvas/default/mappings.json +++ b/x-pack/test/functional/es_archives/canvas/default/mappings.json @@ -245,47 +245,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/x-pack/test/functional/es_archives/canvas/reports/mappings.json b/x-pack/test/functional/es_archives/canvas/reports/mappings.json index 66f40d746b794..047a52aaa1f98 100644 --- a/x-pack/test/functional/es_archives/canvas/reports/mappings.json +++ b/x-pack/test/functional/es_archives/canvas/reports/mappings.json @@ -70,7 +70,6 @@ "siem-ui-timeline-pinned-event": "20638091112f0e14f0e443d512301c29", "space": "c5ca8acafa0beaa4d08d014a97b6bc6b", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215", "type": "2f4316de49999235636386fe51dc06c1", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", @@ -2175,47 +2174,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "tsvb-validation-telemetry": { "properties": { "failedRequests": { diff --git a/x-pack/test/functional/es_archives/cases/migrations/7.10.0/mappings.json b/x-pack/test/functional/es_archives/cases/migrations/7.10.0/mappings.json index 7101af08400a2..c7e1a180e6c54 100644 --- a/x-pack/test/functional/es_archives/cases/migrations/7.10.0/mappings.json +++ b/x-pack/test/functional/es_archives/cases/migrations/7.10.0/mappings.json @@ -67,7 +67,6 @@ "siem-ui-timeline-pinned-event": "20638091112f0e14f0e443d512301c29", "space": "c5ca8acafa0beaa4d08d014a97b6bc6b", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215", "type": "2f4316de49999235636386fe51dc06c1", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", @@ -2305,47 +2304,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "tsvb-validation-telemetry": { "properties": { "failedRequests": { diff --git a/x-pack/test/functional/es_archives/cases/migrations/7.11.1/mappings.json b/x-pack/test/functional/es_archives/cases/migrations/7.11.1/mappings.json index 5140a81b3ed46..bc719ab40aebd 100644 --- a/x-pack/test/functional/es_archives/cases/migrations/7.11.1/mappings.json +++ b/x-pack/test/functional/es_archives/cases/migrations/7.11.1/mappings.json @@ -78,7 +78,6 @@ "spaces-usage-stats": "3d1b76c39bfb2cc8296b024d73854724", "tag": "83d55da58f6530f7055415717ec06474", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215", "type": "2f4316de49999235636386fe51dc06c1", "ui-counter": "0d409297dc5ebe1e3a1da691c6ee32e3", @@ -2502,47 +2501,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "tsvb-validation-telemetry": { "properties": { "failedRequests": { diff --git a/x-pack/test/functional/es_archives/cases/migrations/7.13.2/mappings.json b/x-pack/test/functional/es_archives/cases/migrations/7.13.2/mappings.json index e79ebf2b8fc10..88f3e5d78cb16 100644 --- a/x-pack/test/functional/es_archives/cases/migrations/7.13.2/mappings.json +++ b/x-pack/test/functional/es_archives/cases/migrations/7.13.2/mappings.json @@ -84,7 +84,6 @@ "spaces-usage-stats": "3d1b76c39bfb2cc8296b024d73854724", "tag": "83d55da58f6530f7055415717ec06474", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "type": "2f4316de49999235636386fe51dc06c1", "ui-counter": "0d409297dc5ebe1e3a1da691c6ee32e3", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", @@ -2643,47 +2642,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/x-pack/test/functional/es_archives/dashboard/async_search/mappings.json b/x-pack/test/functional/es_archives/dashboard/async_search/mappings.json index 5001bb053e01b..1766723cc436f 100644 --- a/x-pack/test/functional/es_archives/dashboard/async_search/mappings.json +++ b/x-pack/test/functional/es_archives/dashboard/async_search/mappings.json @@ -137,48 +137,6 @@ } } }, - "timelion-sheet": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/x-pack/test/functional/es_archives/dashboard/drilldowns/mappings.json b/x-pack/test/functional/es_archives/dashboard/drilldowns/mappings.json index a842c20b6965e..8382a490ac230 100644 --- a/x-pack/test/functional/es_archives/dashboard/drilldowns/mappings.json +++ b/x-pack/test/functional/es_archives/dashboard/drilldowns/mappings.json @@ -137,48 +137,6 @@ } } }, - "timelion-sheet": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/x-pack/test/functional/es_archives/dashboard/feature_controls/security/mappings.json b/x-pack/test/functional/es_archives/dashboard/feature_controls/security/mappings.json index 29c56a751c038..a4392cd88b356 100644 --- a/x-pack/test/functional/es_archives/dashboard/feature_controls/security/mappings.json +++ b/x-pack/test/functional/es_archives/dashboard/feature_controls/security/mappings.json @@ -386,47 +386,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/x-pack/test/functional/es_archives/dashboard/feature_controls/spaces/mappings.json b/x-pack/test/functional/es_archives/dashboard/feature_controls/spaces/mappings.json index 0cd1a29f92241..51dfbb6d066fc 100644 --- a/x-pack/test/functional/es_archives/dashboard/feature_controls/spaces/mappings.json +++ b/x-pack/test/functional/es_archives/dashboard/feature_controls/spaces/mappings.json @@ -358,47 +358,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/x-pack/test/functional/es_archives/dashboard/session_in_space/mappings.json b/x-pack/test/functional/es_archives/dashboard/session_in_space/mappings.json index a842c20b6965e..8382a490ac230 100644 --- a/x-pack/test/functional/es_archives/dashboard/session_in_space/mappings.json +++ b/x-pack/test/functional/es_archives/dashboard/session_in_space/mappings.json @@ -137,48 +137,6 @@ } } }, - "timelion-sheet": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/x-pack/test/functional/es_archives/data/search_sessions/mappings.json b/x-pack/test/functional/es_archives/data/search_sessions/mappings.json index 9c27bc1458c7f..a3eab7787c3eb 100644 --- a/x-pack/test/functional/es_archives/data/search_sessions/mappings.json +++ b/x-pack/test/functional/es_archives/data/search_sessions/mappings.json @@ -2356,47 +2356,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/x-pack/test/functional/es_archives/empty_kibana/mappings.json b/x-pack/test/functional/es_archives/empty_kibana/mappings.json index 499c994780285..07dc66dd8ce94 100644 --- a/x-pack/test/functional/es_archives/empty_kibana/mappings.json +++ b/x-pack/test/functional/es_archives/empty_kibana/mappings.json @@ -177,48 +177,6 @@ "spaceId": { "type": "keyword" }, - "timelion-sheet": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/x-pack/test/functional/es_archives/endpoint/telemetry/agent_only/mappings.json b/x-pack/test/functional/es_archives/endpoint/telemetry/agent_only/mappings.json index 9d7da7b5bbd87..4dcb8f905b197 100644 --- a/x-pack/test/functional/es_archives/endpoint/telemetry/agent_only/mappings.json +++ b/x-pack/test/functional/es_archives/endpoint/telemetry/agent_only/mappings.json @@ -66,7 +66,6 @@ "siem-ui-timeline-pinned-event": "20638091112f0e14f0e443d512301c29", "space": "c5ca8acafa0beaa4d08d014a97b6bc6b", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215", "type": "2f4316de49999235636386fe51dc06c1", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", @@ -2336,47 +2335,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "tsvb-validation-telemetry": { "properties": { "failedRequests": { diff --git a/x-pack/test/functional/es_archives/endpoint/telemetry/cloned_endpoint_different_states/mappings.json b/x-pack/test/functional/es_archives/endpoint/telemetry/cloned_endpoint_different_states/mappings.json index 7aadc43a3ad94..d6d91281151aa 100644 --- a/x-pack/test/functional/es_archives/endpoint/telemetry/cloned_endpoint_different_states/mappings.json +++ b/x-pack/test/functional/es_archives/endpoint/telemetry/cloned_endpoint_different_states/mappings.json @@ -67,7 +67,6 @@ "siem-ui-timeline-pinned-event": "20638091112f0e14f0e443d512301c29", "space": "c5ca8acafa0beaa4d08d014a97b6bc6b", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215", "type": "2f4316de49999235636386fe51dc06c1", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", @@ -2341,47 +2340,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "tsvb-validation-telemetry": { "properties": { "failedRequests": { diff --git a/x-pack/test/functional/es_archives/endpoint/telemetry/cloned_endpoint_installed/mappings.json b/x-pack/test/functional/es_archives/endpoint/telemetry/cloned_endpoint_installed/mappings.json index 7aadc43a3ad94..d6d91281151aa 100644 --- a/x-pack/test/functional/es_archives/endpoint/telemetry/cloned_endpoint_installed/mappings.json +++ b/x-pack/test/functional/es_archives/endpoint/telemetry/cloned_endpoint_installed/mappings.json @@ -67,7 +67,6 @@ "siem-ui-timeline-pinned-event": "20638091112f0e14f0e443d512301c29", "space": "c5ca8acafa0beaa4d08d014a97b6bc6b", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215", "type": "2f4316de49999235636386fe51dc06c1", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", @@ -2341,47 +2340,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "tsvb-validation-telemetry": { "properties": { "failedRequests": { diff --git a/x-pack/test/functional/es_archives/endpoint/telemetry/cloned_endpoint_uninstalled/mappings.json b/x-pack/test/functional/es_archives/endpoint/telemetry/cloned_endpoint_uninstalled/mappings.json index 7aadc43a3ad94..d6d91281151aa 100644 --- a/x-pack/test/functional/es_archives/endpoint/telemetry/cloned_endpoint_uninstalled/mappings.json +++ b/x-pack/test/functional/es_archives/endpoint/telemetry/cloned_endpoint_uninstalled/mappings.json @@ -67,7 +67,6 @@ "siem-ui-timeline-pinned-event": "20638091112f0e14f0e443d512301c29", "space": "c5ca8acafa0beaa4d08d014a97b6bc6b", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215", "type": "2f4316de49999235636386fe51dc06c1", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", @@ -2341,47 +2340,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "tsvb-validation-telemetry": { "properties": { "failedRequests": { diff --git a/x-pack/test/functional/es_archives/endpoint/telemetry/endpoint_malware_disabled/mappings.json b/x-pack/test/functional/es_archives/endpoint/telemetry/endpoint_malware_disabled/mappings.json index 9d7da7b5bbd87..4dcb8f905b197 100644 --- a/x-pack/test/functional/es_archives/endpoint/telemetry/endpoint_malware_disabled/mappings.json +++ b/x-pack/test/functional/es_archives/endpoint/telemetry/endpoint_malware_disabled/mappings.json @@ -66,7 +66,6 @@ "siem-ui-timeline-pinned-event": "20638091112f0e14f0e443d512301c29", "space": "c5ca8acafa0beaa4d08d014a97b6bc6b", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215", "type": "2f4316de49999235636386fe51dc06c1", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", @@ -2336,47 +2335,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "tsvb-validation-telemetry": { "properties": { "failedRequests": { diff --git a/x-pack/test/functional/es_archives/endpoint/telemetry/endpoint_malware_enabled/mappings.json b/x-pack/test/functional/es_archives/endpoint/telemetry/endpoint_malware_enabled/mappings.json index 9d7da7b5bbd87..4dcb8f905b197 100644 --- a/x-pack/test/functional/es_archives/endpoint/telemetry/endpoint_malware_enabled/mappings.json +++ b/x-pack/test/functional/es_archives/endpoint/telemetry/endpoint_malware_enabled/mappings.json @@ -66,7 +66,6 @@ "siem-ui-timeline-pinned-event": "20638091112f0e14f0e443d512301c29", "space": "c5ca8acafa0beaa4d08d014a97b6bc6b", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215", "type": "2f4316de49999235636386fe51dc06c1", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", @@ -2336,47 +2335,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "tsvb-validation-telemetry": { "properties": { "failedRequests": { diff --git a/x-pack/test/functional/es_archives/endpoint/telemetry/endpoint_uninstalled/mappings.json b/x-pack/test/functional/es_archives/endpoint/telemetry/endpoint_uninstalled/mappings.json index 9d7da7b5bbd87..4dcb8f905b197 100644 --- a/x-pack/test/functional/es_archives/endpoint/telemetry/endpoint_uninstalled/mappings.json +++ b/x-pack/test/functional/es_archives/endpoint/telemetry/endpoint_uninstalled/mappings.json @@ -66,7 +66,6 @@ "siem-ui-timeline-pinned-event": "20638091112f0e14f0e443d512301c29", "space": "c5ca8acafa0beaa4d08d014a97b6bc6b", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215", "type": "2f4316de49999235636386fe51dc06c1", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", @@ -2336,47 +2335,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "tsvb-validation-telemetry": { "properties": { "failedRequests": { diff --git a/x-pack/test/functional/es_archives/event_log_multiple_indicies/mappings.json b/x-pack/test/functional/es_archives/event_log_multiple_indicies/mappings.json index 15382fb2524fe..b28c558612770 100644 --- a/x-pack/test/functional/es_archives/event_log_multiple_indicies/mappings.json +++ b/x-pack/test/functional/es_archives/event_log_multiple_indicies/mappings.json @@ -71,7 +71,6 @@ "siem-ui-timeline-pinned-event": "20638091112f0e14f0e443d512301c29", "space": "c5ca8acafa0beaa4d08d014a97b6bc6b", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215", "type": "2f4316de49999235636386fe51dc06c1", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", diff --git a/x-pack/test/functional/es_archives/fleet/agents/mappings.json b/x-pack/test/functional/es_archives/fleet/agents/mappings.json index e9a3a965c0523..8e4c7a912b75a 100644 --- a/x-pack/test/functional/es_archives/fleet/agents/mappings.json +++ b/x-pack/test/functional/es_archives/fleet/agents/mappings.json @@ -65,7 +65,6 @@ "maps-telemetry": "bfd39d88aadadb4be597ea984d433dbe", "namespace": "2f4316de49999235636386fe51dc06c1", "cases-user-actions": "32277330ec6b721abe3b846cfd939a71", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "siem-ui-timeline-pinned-event": "20638091112f0e14f0e443d512301c29", "config": "ae24d22d5986d04124cc6568f771066f", "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215" @@ -2846,47 +2845,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "tsvb-validation-telemetry": { "properties": { "failedRequests": { diff --git a/x-pack/test/functional/es_archives/hybrid/kibana/mappings.json b/x-pack/test/functional/es_archives/hybrid/kibana/mappings.json index a352155899e79..af4ee5ed1e46f 100644 --- a/x-pack/test/functional/es_archives/hybrid/kibana/mappings.json +++ b/x-pack/test/functional/es_archives/hybrid/kibana/mappings.json @@ -35,7 +35,6 @@ "siem-ui-timeline-pinned-event": "20638091112f0e14f0e443d512301c29", "space": "25de8c2deec044392922989cfcf24c54", "telemetry": "e1c8bc94e443aefd9458932cc0697a4d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "type": "2f4316de49999235636386fe51dc06c1", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", "updated_at": "00da57df13e94e9d98437d13ace4bfe0", @@ -890,47 +889,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/x-pack/test/functional/es_archives/invalid_scripted_field/mappings.json b/x-pack/test/functional/es_archives/invalid_scripted_field/mappings.json index 63cc283f96d32..0d41e0ce86c14 100644 --- a/x-pack/test/functional/es_archives/invalid_scripted_field/mappings.json +++ b/x-pack/test/functional/es_archives/invalid_scripted_field/mappings.json @@ -143,47 +143,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/x-pack/test/functional/es_archives/kibana_scripted_fields_on_logstash/mappings.json b/x-pack/test/functional/es_archives/kibana_scripted_fields_on_logstash/mappings.json index c0ce939234a9d..7479c525f6a07 100644 --- a/x-pack/test/functional/es_archives/kibana_scripted_fields_on_logstash/mappings.json +++ b/x-pack/test/functional/es_archives/kibana_scripted_fields_on_logstash/mappings.json @@ -50,7 +50,6 @@ "siem-ui-timeline-pinned-event": "20638091112f0e14f0e443d512301c29", "space": "c5ca8acafa0beaa4d08d014a97b6bc6b", "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215", "type": "2f4316de49999235636386fe51dc06c1", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", @@ -2522,47 +2521,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "tsvb-validation-telemetry": { "properties": { "failedRequests": { diff --git a/x-pack/test/functional/es_archives/lens/basic/mappings.json b/x-pack/test/functional/es_archives/lens/basic/mappings.json index 50230a5eff0c2..5ff0a0e4661c3 100644 --- a/x-pack/test/functional/es_archives/lens/basic/mappings.json +++ b/x-pack/test/functional/es_archives/lens/basic/mappings.json @@ -36,7 +36,6 @@ "siem-ui-timeline-pinned-event": "20638091112f0e14f0e443d512301c29", "space": "c5ca8acafa0beaa4d08d014a97b6bc6b", "telemetry": "e1c8bc94e443aefd9458932cc0697a4d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "type": "2f4316de49999235636386fe51dc06c1", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", "updated_at": "00da57df13e94e9d98437d13ace4bfe0", @@ -1113,47 +1112,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/x-pack/test/functional/es_archives/lens/reporting/mappings.json b/x-pack/test/functional/es_archives/lens/reporting/mappings.json index a71efbd3e59ec..907c5ee4fe70a 100644 --- a/x-pack/test/functional/es_archives/lens/reporting/mappings.json +++ b/x-pack/test/functional/es_archives/lens/reporting/mappings.json @@ -36,7 +36,6 @@ "siem-ui-timeline-pinned-event": "20638091112f0e14f0e443d512301c29", "space": "c5ca8acafa0beaa4d08d014a97b6bc6b", "telemetry": "e1c8bc94e443aefd9458932cc0697a4d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "type": "2f4316de49999235636386fe51dc06c1", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", "updated_at": "00da57df13e94e9d98437d13ace4bfe0", @@ -1122,47 +1121,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/x-pack/test/functional/es_archives/lens/rollup/config/mappings.json b/x-pack/test/functional/es_archives/lens/rollup/config/mappings.json index 50230a5eff0c2..5ff0a0e4661c3 100644 --- a/x-pack/test/functional/es_archives/lens/rollup/config/mappings.json +++ b/x-pack/test/functional/es_archives/lens/rollup/config/mappings.json @@ -36,7 +36,6 @@ "siem-ui-timeline-pinned-event": "20638091112f0e14f0e443d512301c29", "space": "c5ca8acafa0beaa4d08d014a97b6bc6b", "telemetry": "e1c8bc94e443aefd9458932cc0697a4d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "type": "2f4316de49999235636386fe51dc06c1", "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", "updated_at": "00da57df13e94e9d98437d13ace4bfe0", @@ -1113,47 +1112,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/x-pack/test/functional/es_archives/lists/mappings.json b/x-pack/test/functional/es_archives/lists/mappings.json index 2c6e948cedf6c..134ed28bac2e7 100644 --- a/x-pack/test/functional/es_archives/lists/mappings.json +++ b/x-pack/test/functional/es_archives/lists/mappings.json @@ -71,7 +71,6 @@ "namespace": "2f4316de49999235636386fe51dc06c1", "cases-user-actions": "32277330ec6b721abe3b846cfd939a71", "ingest-package-policies": "48e8bd97e488008e21c0b5a2367b83ad", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", "siem-ui-timeline-pinned-event": "20638091112f0e14f0e443d512301c29", "config": "c63748b75f39d0c54de12d12c1ccbc20", "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215", @@ -2265,47 +2264,6 @@ } } }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "tsvb-validation-telemetry": { "properties": { "failedRequests": { diff --git a/x-pack/test/functional/es_archives/logstash/empty/mappings.json b/x-pack/test/functional/es_archives/logstash/empty/mappings.json index 98fb761389a24..6a3f685752258 100644 --- a/x-pack/test/functional/es_archives/logstash/empty/mappings.json +++ b/x-pack/test/functional/es_archives/logstash/empty/mappings.json @@ -209,48 +209,6 @@ "spaceId": { "type": "keyword" }, - "timelion-sheet": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/x-pack/test/functional/es_archives/logstash/example_pipelines/mappings.json b/x-pack/test/functional/es_archives/logstash/example_pipelines/mappings.json index 56a2e144ff89c..b221ce613d72d 100644 --- a/x-pack/test/functional/es_archives/logstash/example_pipelines/mappings.json +++ b/x-pack/test/functional/es_archives/logstash/example_pipelines/mappings.json @@ -206,48 +206,6 @@ "spaceId": { "type": "keyword" }, - "timelion-sheet": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, "type": { "type": "keyword" }, diff --git a/x-pack/test/functional/es_archives/monitoring/basic_6.3.x/data.json.gz b/x-pack/test/functional/es_archives/monitoring/basic_6.3.x/data.json.gz index e1e8437948dea175e158ffc2af8247e7c158c853..9c15082c70f02d4cafad65320bbd4c615d9f5c58 100644 GIT binary patch literal 1183569 zcmZsCWmwej*7eXKLnAPRbT@-E4mEUxfPm5rDGd_R15(n`EhPd1lG5E>0@59VARX_Z z|MNW0Ip_VrCw|wp?|bK3Yv1!E0uxhokHrKPU~b}S!e!&~+5xbiG3UGrC5HbzA!dEm zqkX=!=;3~5UuhM$pbny+H=hkW8uZjWIlMIJ?hcbBwBZRTuqhGKRJxkN-0=~aZ+YT- zbKJM?kdT?~>oZRNGSg?3^qYcL?b~;+BJSNq-yYa{+-@FjsF8AeWdU3K`hMJ~mb8GR$f|Y*s|?E0$pFwvR}8{4Vr(?#SKe(lOYl&*JCPwEVTR zgM-^Kc*n@S&k~Vti;tX)-|p#o^X0~k*wR}snMnAs`?C(m;iET(9)8R2PZgNvPRa1( z$Z@$|_pG_{Sg(ypdI|5~V!Vw^b`YEQX;@hsPcwOX+#V;xXqc+n| z&CXW*H#?)J^3b`V(VzEhI~F?&ihiKll%-Rz^n##EPUbc9m?-#~g6NKGw{_BcGb=@Y ziDyS9FSUl^W!T?%xmj#$S9WHIFvn?GE`CfXpG=JVaAMG`&_iz7_qx;|w@Zy$_pK+N zbw{a?Nt4O=8@;Cn{W?z`=_~OBa6e~P*^O_Pj)ZKy~gyX{QY?UURyafyfZ z?UNJTKi18U<RYZ-mGUIRt>KoMLjPXf!2NfXz$nkXe(w}F2k_! z4iLS`9krgZRQ&QS+EvC1<@Ft#@Nw;LElX8}8%5Xd!4yJH`pZ{$XS~;`PRSwU%9Uxl z9p*Ql-g;u}HNU=<_w;QS+`0?B&4`K{aE&+OSSTW$sgdhL#Y=8uY8)9i_jyy*m-M<} z&VGEaS?x&g`}XKh9>#J~LCV5Af&i;uYbEuzv^!^Uy5i3g4^|sv+H6|8$q~Gr5U9L&kUM=Go_s8 zfHfm3?-wEC1`K8a{hq+luqjl|K;-eTcA>tgGBb)GD9$4Y{kN|4AwQxQ`b@-giW7wC z&^iVtlG@62Xc)vHX>Z6n*nq2axqAlsY8b}`?mUiYu)|7WC8{{X*4MF) zOswqCN&;~@FPT%AshiwsQT`|GDS{jfhvrJg^f`)CPyA|u(+cjgB?;O0NMFlw(Z$VW z-c#j;nzQ!?J`)lVvh!GVPh{>CqIdShYNLK(K-vG@f8RuYl`?FqGPsSJ4d7kzxLLd9 zi83vw8n(Xmi}osvW|@z&jAxGN3IJoGvkLT8J@GSj_{m~r=!<^p1^aDm+KDiQW)rSjEwqS zS&Y#MrfxJv;b(n<6xm;GQ(xHl2Jl-UsBHv?4BybX(%DfZ6hcQ?`t};6s)g6LbRqS4hwhbL8rMGgNx*aB9lCMZ z{0JtvTYiKhB5kM$jFvYaZ3Vh{OOt9zy4$+uh@AY0J{_1?!h>^p=0{LXganIQ&!E1z zOh9{A9X;iWWH4UL<7$$>-k<8|N}HZE?ZmY^9ukYR9r&h7{dy_*t0tE7NWvMCrTTXT z=?z!O(RUTq=&o%}0t8jRw~<@SFU;J-Nlojkg6y~Vmn#V(Tc@=0V|{j*hH-Hzd6`z_ zJ7dG>RXC2r=o4KNOGM}>+lFQg?yre_1W2lzmOq)a%^iCzjkhh!ySnd#U)ZIsygK(n}AVpnuvLxh80u_8_Sa*(IZ1qBbjR4 zP$U1k%y`xp1*g%zm5h{dfSH@#c+#_9wv~k;i6Z#qM8Kamfn>O>%w?n6FTF~08jai{E zn~j_73n`9uoApP6*^hqJul)&|JgExKo;>Lv*RVCvkezsCI)n9eX}%a;Wgw~-Mic_1{m}Ur1pxL*0I^7@|yIL_&BwE$JZoV zPesK+@z&PN#(B+pbS7qw42P@+5r0h+_ve-}_e@KY%|Z#q(}ksOWwOgCV%bN2#Ks~E zL=Aqr%Rk)9DkC=KLY_k(I&0s?I-FE{HecNYw~T_x%s$S#=3ozvaQOXorSlTNJ`nv8 zK=R&^aK&8I{Y`NE-xN--yOvnGMq$PatU+hadfafI(stR^)~Zk%+Gs08Fo7DW;~D7B z9B<`Uo=0oj1l2IsVf7VG}BD;FB0ECpCb*__Q}S z)`wo~I73mM!T?V#a;4hrXHR%wox8Lc!B9G5-7kaZVwW5_L|JxUkup7(-ian{mxeJj z6R6dgrO1i>X^$E!ScW8?TMcraagV;g41Ck*&;0Z1AT6kkh~U_~$CK_|>5G@mHmP(` zwJUqOYoOBO6$8m%&#K>#(PF3En_&LPYMAEhAxB##lCeUPYeSjC9v19+ml`t^2JaAUJEE;WA#{uqd-Xi5=Es~y z8#kR#i!&3&DHcP1tDb|-=Z1O)BxvI*Zhd@djD@R)D1C61*tVifU6>=mN^YzX)k9%|$WCuSlHVJtu#kHDG3D~{>R`DD5IHR&l1*>F zwf|!rR;au~x$byBEq&)9GG~&OOqCsOO)#BJ4|Juz4MLDE8y-eXz?%CGiHh~l!Q^BK z21Dr%R5nU5BV(;5(i}tc`&@ zK8hGx257si`bchwH=WEHkSBP!;}d52Z7i^jeMr$WxM(dyy-1OR!rXpYsCg#r(^dve z&}KwWG(Iw>WRGSl8(pV@OxS_m2m$Tim|@c1c>8^k!*t??*sPA} z!w+F$rY8ub*QE<)I4yLv#g|HhgcPU0Ha-vvF~|IDlUAKci~MyOVkvg=gr2ft;`WJD zI;#0o8{jax7f-*}(6u~(&V4m>RzECWU+S?XN@a{hC#wiEoxV&Z%v@Wp@(&u(hz%Ku z-@KN2T%Uaq+l7Z#xs5w)!4QG4FaNkJxAu+B{M0a3VZFgj-AIf^&ea($8K#t8?>GBC zak43nc5GVO2AiYD&8p59%bRP*O4_MORw0iZ$!u%{0v^HHkwd=O)CY&6E20M%{nVK<^k z_2}wSQhn&4hqRb`a(-MydE1Gbiffea(&bzK`$a%Fs%b7zC2h1HSpDl`3}-c%U%w#u)H1% zQnc5&6n>s|ej}LSt6%ac+i1unTj0T!k*RbPz1?DGMe%4=XHVSNP{;y)uN2EQ$q=Y4 zKQTs?LDH+*2*eMrb1BCpkzVv{L8Y!XtYV^%Bj^hgAa~`NDzxdKp}69Cg^S+flpOmX1lm-za~>Jd@^Yn$ITHjbPMpxM zta781o8JWI86_}WJ?9yzM<|aI)SA`gz%3i&1WTgGLqHF^50EX*mTPvI$o(is_8bY< zE%&yo4vnSzD7Ek-+VJGK^Bq%GbdaBYp;0IurT+9m5(N9>@FJmuPL+W!D&iY$88$kS zFH8Zdvf!?-WK#viZP(AEmOBojJSp&&{62*Z_=IZ`485+`?mQ0%(9M0#!wq!TrDs5f zX$u7Au?5Oy+OUNvbTm|c-wh+LCD6v5e#&CU3Kgm{A z^BGf2J=hp=!`N`Wct{~#>gtO~8|m<(7N7Iapny<=D9_ugYn#p;m%_t*y3{4-;xK&y zsW1EA8F?*2M1)s9G!Yd2E~K0=Ga^|j;B#g)BIq_g08xT<=)0AD7{L)~YEoiNwV5@HdmG2$6hZ3<^ps-WA{ix(&&hH_$Q zzoFlJ-FIJz>jhl6EPO*2@Jj4ut^ zns~dm{Behfxh)Gu=L^g7SyNwmT8F2w0>VE~-A?1!VT!&e(|4UMv(@EV;i(pqq=ot# z01H+-!^8dE+a$NDL?JT{}~q)yAi*3O5RgDNs`in!}_ z1RZ&7q&yVdgUDDondB4Z^1~6!1~nwAAC?VD=TF*eBR$)#UNO=mBH9=BlT14=u^fY;J(z>RaHB=V`xPjULCtlMtdNi95P5^30bUr?HL! z_lg7^wOKPPWhF(ZA6dLrt-(ePB3OBy`Gq{cv^dU?EdvGH?6 zooa>u*HSBe#1lVCYP8SEYvtijIzv3TDjbPf#mrAj^<#1)IejaFY+vo5&_hcny7M51 z8r($m6Mg|y8rm}|nX;0YJ6_9n(28SmPahuMerHqdKsw2>xcZv)ajfuyy2p9niCG}g zkF&**yL$X_fyAViiILu0!#`Bi!7WFG#8ng8ZAHjeO6tZ=$aikEdHy2rMU*#|yL`>F zYUv2*e*b<$)EXx7S_p)M`}x7c;sptkcF(Rf1lf7ek!zM^{K#T-{f9HV%kLHHi=zKiO$V z$Qg2ttHL9D?0ET`;kyRKFNl%vKKvVNZ1)}TjRht%m}PgvfmZnnkE6z49nDBE__?GA zg+Uz|l3f~+>u9}wLb|*vhm}j;y8>kq;lF)k71h@+;YZ<)#zRz5(1zfn5?<~%md?4C zAs^C{1=Im(UFD*+u^cenH|+}OQ_Sggxgm1X%;9kOsftVngjO12qLKRp0~pr!6)c|A zf{jh=Y^ak3Nxu8iJfX?~|8ki)Zz!2F2Z_y=SFbiNQHk8MyXUd78{*#6@9@PdJbkeD;YR*5Sk8y0TM zTcQ$>E3aa6w$(aO=#Treb)tA+sa7rB&wbM<@ZrMQ$pOd;c{dJeizTvzm2% zvZLjuc_P-gW&}K$7&eO@$ z{`0b^;aA?CHhQg1NL_{g%cBsdz2DL|kBJM1GaBQwAF_(&Dq1X7q^Q3vuqc}l0`poX@-$m z-(YF_%zX%Lspo#LyCc0`^wy(KO(<}orBjM2CfGQTL9#L(k4Zk&`509}%P>O29+Sa2 z=KlJQ<4X||l>=V)@0lfCq5cDx5BC%?#)0cF#$qn=y8zR_U@H8gz2)F=10 z3}2KI8Bx|C=>)uQ)zEbns>69iV(-PVCa#GoDP^EYX*XDHv(CXs%w8(4W;iQ<-sQ{s7Ycp$+4ZLEox6Z2VM;G+S>{cuxh zv|BGCimTCY-b22i_&2Y3%w4w3L8aF1Q$9Li*3|0tR!;plWBIIQb4AhNOchCxL$%NA z29Suc^~?O{$fR89!epu1pV!ML%r~2<*UqHg1$Gyik!?!`jqKIOoo3F^`xEThI)xy` z?7i1QykFou}~xt<{1(e1QfG-*QSbilv> z0enZv+8lBHoC1a>aeblHeQF1?^DKoRBh%Whnxesspet(2?C%MbpKeb5I%(8*Y;xipu{rH- zHdV%ePb(`lW|K#LV^gTSaW~2PlWEu#4X-Ss+#mx<0uE|$fwGrE-YpelH_IeX-*%%b zV)y?X0P(rRt{F_3^;WOYu z#@EEUe(R*cT-cEd|5aX;bAvINEg&Eh4w8+!R4y+XORyjn_>*NtMUrWQ5@%tcSI93S zLFdd=+Jcw+pK>3fKAEhJ5_sPKhcGXn%Fmwaw@+1GcT6!CWm9|1&y2da}0cN1N@BB}s`90&O z_o#)}lpqnpD9lLiNU$f zORao_%gLYojX6@tqw~`@5%(sXg;5jeLZ0V8>p^GARjh^oK%>sGQFT}RPuHhI2124XG0H2B`JdA1wAGeo zODPjyGzp|j+Qon;C7sQ$6N0N)-8Y)#{ptHbb*3c2zkAwpZt&&{Q$Nz;_E&UN8bpE* z?De!|*)O3xkCYT|3-RgNYo(3}GlOelXxQsdHkf=kjmxCToo25i=yUa!QZN{@2|NUh z6WcHWVXUjT_lFhep@c7j1i2~_k*5bhdrM%WTrW#9?f!IXBzs|J~%c$6( zZh^Q#z0hdeuoOqD%?MO^>CzPw`>LKpVo3)(?PL11-`y2jP@aceEr^IhHUo04}b+5VJ+G4~B^FLLl2Fi~y z_yjTmmjz+#=!a5I<9k@_40y)^dN{J39|iv=wWC$Im&PCoH9h3}M4&*sP-~<&m4dgA z*kEvr7FEoH+zHLm)I$aOK^9R-`8A9~T(;mY0g5RC{SMXkxB6yOqm|QjF2A>MOD0IU z#5ioh&pa)n`by!cVGhMMo~D~gE-QAgp6W&Exl_a@Bk_)cuqjmm;wjvO%VG3y>)O}- zf6EOPKvY`#pM8WQSI%?BL zMf=C=u+e78prnxQ`o5xWV6$gQ_Cu9}nesr?$`xp!_4=>AHj~HA5E*RhIgyV6tlNv9 zwS>{h*)sP=P?R^GZKrF>0_IG{I4zx7WM*o(RjkBIgFsj<5a^kQ>f9!XL!CA+Mxz(j zXKC<4$P)=N--4-r# z3r8I{-cB`$a1AKyB*lv9kw-~%J`r}#zsIn3=vr_r6sV02SYNOZwXhN?^@8@77ttflt8nj7gvmq9E;ru;`qp|33mB|3bS+CtR9{f!zpsEHcEIUf9m3>IDBHkQy5e)kr zI9=N7oixH)Nh2+6m@<7zjuh7P`Mn6Caij?}*}^ip2&2!h6^C(T!TPZn5KZ(wqm9sj z$w3|C`YWNJihI{Ad-$EdP0xQhnGQDFtP(UoKC!GuEtd2o=lHD4f*XdoE?QJpj>$xm zrWPz2$$=al!}WJ7!MM6gPG{_Atu{MkU*=D-{!n?8=aOX=mtbILJ|edvpaTkrp`qF3 zk&lurtE;|M%a4aK+!=f(r;9Iql=4)AKk)aHt6hG|z0Q>ViLq3Qy$LSqZTfwDn4wp`>`u)#=lPm$6V zz+;SSE2Tn_?0|;(07t2seend?4yBL!DA|-SNfvXP&ZGYV3q{#q$iGed26k`xCk1tX zt$pU9>if-c$4N5pvW*?4EK)d2h_>%BN)xIaw7w*1HrvdKK_@`bhogjPzGK-P#ty2Z z1ET{_AIUH}Tin4jG>(|8E`8z%FW$ z+ucP9n=z_iZcQ$-w>$@zE!BHA{;h}T()4!M$|XY#LHOvB5DKSe0>*FESa#r7C?=0r zivV# zLzg zC7hSeo3)w9pZY%&FM%JzL^2!0-;7qB%I`oqCrsiK&`*wl6~b%slJw%lQ_*hdi~wfJ zXE?*;eCy$Gq=KR-Ly?Vl@^nV}+=Qdqi#7SFDaHA0xcAa~2|ME&j*6|@uIQp^2Z{Wn z#u(tytI)RFy-0Mq|8BMkV0k9sQVjUPGT7mXb%x0GulAE)_ zx=pjc-Lo_(i_!{-l!7WfosWA(%J&CaWXH4_q>WsF)Jx%!7;-UA_X{E4?dI>6N%%wr z=PM2F4)vapu^lG|!o$-}MgyT?&M*8VJJ8ipm_}|Cfv!Y~GX*2R)IOV-R@gnJRO!q8 z8IdM@ow08<3{=|Ut=7mU~TX}gCzm1%{0Xcg!uqrO-NC4a{0&U+%LJT z5w*`4HLP$1_Sjlu2BQ!8r?H@Zmp4-{GI8hBmqq@C)ZL23C&o`7X_%b1Q*~ot#u9#% z`?V&Jpw;Nr!ou9S?NUM)u9@DwBh-g#IOh9Poo*JhYKAJ#9XIkn01mg8?3G`r&Kv&j z3xZLbZqInNQ!6vWb*0w>WQYip=Z%mt%zrVOf~ zweD^BaP_kJS_f1(Y~-aij!0ldP=>D-`7q5{nvyTC1EC>FyOe1WI1F%2_=>@pj1FkN zIjGzX$-Q{;bRIi@GdCCA8+x|5>*6>pJ};CgS`>SUF}ch=Srnxu8uCQTy}qikD56Se3De+c^j+zhPbwP@wD zSm&}h^-$fI87?lOjnag&<}qg2D^w_v|FNpxZ=5n&TeWZ|2l>RhcG|&wR>fDgSpO?G z0f7?|`J!2Zc=h7nYoVj3`cp;VC{b0rV$TBXwi!J0^%Tz;JaIJ9r7hu%Qa6o6Agp2< zU^ga@lfJ8z^f+eIC-?OgsXAUWj!)(^bGV4VCoIwyf$N9^m`U`pTYwp7KSusRrYsgk z%Bk}^saMpaUPfBXKW#wumOw7eEUo(V3o#-0=KflVYZ(>v>~ zMxcsWHgaM)Suz#DV{aPcmxm@DLvakCz>Oci?T1`s-caD2Lew+sv^efb|6HhsnZyLU z4cKB%_AfGGu|XvC7h0R%hMBA7-sxgpkKvi=;xhzT7}Fn(A-*w^?T}SRcT?rf$;Zn; z6_no<+w(^i+vXDDv9t_N_5bcy@nbs0XNRFq{e}C=a2MKHB&Z@Dbi_OfNuhaQJ^z`@ z0rMg_cjDQ4Y$lw*f?sez1A`-D?uudx=cf>4H%XTQngl31~z}Uq8q(@ z<<4MC6$mt^1pr)31MXWvNz|wj1z@3Ztn1Pot{A@#kZlFBdp7c&Kk;b@@z<9n@*4TD zJ|lz59Xi=R{Fay%W-Gl^eK>j^Lcc~fa#6AmWG(SJu2mo?#(pctn$V}QDoEPOsBS*0 z3=igizsQ}KJ$!rp(R^?SM{E7&7pV2~T@JjWH^wEnP+ z&zg%ESD31~%9sL)8VJ%;ZT^+>Ukno$gJS7zsERB5ETTbqVO$-yc&|P)TVr}9p)>n1 z^eE&ioH+QCbr`VL^epk?@o~v}@f8$6UMbumQ%%==S&=M;t?L9>07zSO!0f4hH@mcC zvUss1xe01PL_w?NT_$evv!^%Y}SsPhW^ke?4k0qt)+Z&R+LK^cANWgZw0v%To ziEWK{+2aNZeOz#iV(k zD=XCP2Md;~$#-@b>Ol!iT@bv?4u<@DbGDdYPtFN z7c8CS1laT>v{~<%+w`Q+TIcPOcNh0c?~x~jtt|eI6EqcU_brK77iVs_{$M> zohl;I)|5fJWC1B7OgL99nicl8k;8y+Cn%aQg*-`;vst*X2rolrJ+~ zP(SlkL95!UU3%3ICV9(Y%RyWG$o$t^{H}w*sK~HEWqGh>!z>V(KvR=!g^m)$ljSDe zK^%4k|EXoP^Q`{vHj9@YR|lNik}XLQ`wkF6-W7StQJy@OU_#3O2Q0#qCDnWtD?yfG z7}aF_Z{IFhbc;Uw(Zptn7&~2&MwWU-{m1kmvS8vj-?Al5dcm-&&k%;rQ7<^5m*#76 zX}NUN&^{CvexkX!PVTQRinIbW#?+vMY-KCzJtDUe379{-Avt&*AAGe(UbiSjg6IoS z$vnn9`@Vnm1?kb&s50BHoDQyYQ#CCIQ~ZZd4ypgP1~WWRPh)|))wD`1MH*fM=CF0J z(5Vl+Qr>(@lzv#jS4Xu$Uz_TB3L8OBui_5c3 z%6yEr_#<&49angP6Hp7fqBZgdcPl~X>7i8z~rL=};9}|z7j$XX|>Dm2+TjHwe zZ$op>Sz+#JRY;^->CBLD%$FzA8jB&O+Q%{Jcxxpe=>$i$utX2buSbAMwCu4j-=7nm zd=qw5aNVZ}d*>L!ZeY(InjbK(23(j1e|tXvSRfq4DQvHlWHkAQpHt+bJ9yfofWGbf zcdL0cPV(Hbgg@lChS_@%3+;YSQ2+=vQjQ&DP1#`yMh#*OJyT^R6m@s|MH7JY!tPUG z3OOt`*XK)=7S%ZB5kGezdy$hXXHAqVS`(Xf9koCF{B?T!L9s;nk78%2a2{ihy~3A) zzt~P|SZ}VI)zE8gGRvDEl+{vqU6uZT>iEyl+xj%$FYQVzs*bIVlX*!7y(5Qhf0aPl z+E?<9g;)c?j#91zgW6^T_Z`iw8(`ro7dBw&o;P#-s@p-DqC{)tx`XBDndYnM=3-MQ zZysZoeP2byU!&54vv+tDTQ7$S^OcybUM`gnd z;G#^)98|MCawfJpqY-uL4jkMiK9nG>b>|GNgV7^ndf`W)l=f-C+_o|qT{K`7%4mgO zl}osJduem=e^!&$C{2p8r|hUFHjEeM<9=>`M+E9G|H1KBhB1OU#(7bGw(<|B(nSXp zM3bXzsjHHC0u2GJoY~i)x~L+H)&%2}6f6$p)$gbJk0Izt$;CtTK?Ln1lp~HbT6@>4 zkg^h@Z+Av>MerUZM^D$Fpj!Twb+l;Y9-n62Wmx~$N0fi?hV=6C0j7JYRo{UNBqCsK z<#=B34lBCW&*!&7z=IPU_X9eTRXwG_zdEfQl`W}U$kI`Wq~PHw1VGV~SIB1KuPB8A zsw^$B(XD5@`ax8y_{QN?&lf}(Webn}jevzdcSgG0iN`sFa(>*2b`U00R;L7^O`>K( zIju^g)xQ}>*mLGLYbu_%QjQoa;G2V|4Vs3ZMJhKV=+>ET216l9pB^oqx~($@Oq|=KPu}cLktwl$n&?00^Q6v#|9P;10{0I zO%sJyNP6}@J_3Y~Y%QHZV2VC|5Gk4Fkca{R7(ui@?^GEQf^b;Y-JhGREiD{A(rqp? z?XEjxO?X#<-tnKJii#x4jLzUPkjr4OZl2xp=4f?-`=9nn3d#+Ob~=UDiT1O?viT-x zV2BBdv!A^>cp9_+GdmDz)StDF7|=?BB+dPN46$86CJ+!W&&|PMHKHiOZ`CRLluzIa z0gd@-1PO8wnIt0CHjGh82{nv;2x|Wz?W!mQS@3-%QFuTp`Nvb`jX@v}ymASS2jcHn z<-yGvt*rs@_lxa%^Q=-!(m>KFT|-VVFj^!V%o4s@PFiBXL#wbjUvDwqw`2br_iL~C zlP#U`*(7xSt=M=_YYvyICk6?e^$U)5hG}hff>W9U8Xzj)<%Eqe87F1RSPKaNLE;~% zN(67yUcQcnS0QCG0pm}b*;g=EZQkmP%P-PL?Y9)ux~K$IAp{FO)l)@~ih{cWLOSRw za*zk{eZZgOhJxDG~aYV9yp?`_G!#@DQX>C!l+M zj|l?p)0*>^y;cOMDktBLOj-w$o7M)OB0R zB0#a;F$8n=ICC+|3>K09#s)Z{ZqnV!exaOP#i_gq8BkztEyJe!{G7X)%M1}Wi^vQc zD5WfvP8vp?IZ6YK)%YC=29G=a#u-*tayTu-(4` zxv93G3@}5koQMk!!b6fRgGOa}Sho2!-HS#19Y>*{0?AhS(4v*(x1}E8Waio@#8nr1 zFk=x7LGWNGgr1NDfKRI&S+!GD3W$o{WL3cxEzVz|qs_PuZZkqD!v^(vXUE>6fcWrW zEF=iEcHqrR#LfRmpolj~KuPJ%H<*q2o5jM}zf%j}&XXhd@rNHtz^PBZ1wxs@9MMT& z_)|4~V;t%Uns=V<$xz%FbX8;Ql$1Vv5FEim(X6XKfMfI(R4FDP;Xgv!W6IuGjJNuZ zw>nsF`+OOBsL=nT<-Ca8h3Dts$<_Tf%|Ct(`J}LRkY;av)5*PO`sy07U!IMHQn%!{ z1s@LgIGlydS9ED*CRv(&0u2slgi>J+qU%XBxn~xy>~Q>|WNM!aq*2X9S2~ZC;nAJ> zlnZa8w$bxDPZ(U(T74i9&i_jy9#U*F2KZ`vNMi1&LGb$S!q;1UE&3Hy$-e}iB{etefFqSbI(2=Sp3w2 zz)1*}X@&t>mMMT@WCtKw_BdE)cUP<}GpM$K$3c%dX5Y*Pw7&5daFilI1)!>;*nv~uWmy%?SL0F%a0pGqUV!T9XEE4m}Gbw$eu@pnC2Js)d zc*~=_Z1FJ|L>A!%9d?KLC*N|R%mT@TNbgJQ7(-4qzGw3&Q_YJr=4SgYilK6uRmT=r zJ?-S29eIlX|JVd ztJ`j$iS^zlhs`!Y;6>c`ByeNt-;6Q`&M#X`3D^bg9oFAoOxWA{xSek-{ax3NSx0rs zYjk%=uOzeZgn?i-W})p=X!U+9KFUNSV^ZRL<2w~6R`4ks?tAzqS*?gLNFr2&sA)* z8&tbUY?<4)!jCdd@X5IP6Sjw~8G)qh?A zr*VXU^@1|c4)Tp^u~KF~i8@d0HI$fChk~Gs<43^$PIE+a>UPf69fv9Y(R&~I#5iIU zWpG=eO_@RVK4)JopW9pe{JM(R&9d=BXzKIh##m<9VtUid;CE(upkTtF!*h+efmx&4 z?#%Bkd(#;5CgUbB4{Z*2Ac|~nVEX=@=Mhx|>HW^pJ!B2tERce^|y?WhHqXW?c zblUjew>}TeF`M@u*I>O1vbN;^Jg8gn^^fNBS1_O6@@H&+hfzixx_l=AtfHtRmKV4| z3C<4)?l;?NLm~X^B9cPWZFop;iVENX8h@1IKWwLX z^QtmUf@9?R$pd+8@avKqR z&~TDD-3c)#CW<>1o+wmN-t`N-LYXL(uo<8og)j~d;wY%C6}+-QvvN(~Zx4Aa64W_% zl^(FuJtL53;?+t%?MJ(CD8mF#9cB4%g=ENM_R=~1m~hl<_(I4d<9KVW@L2*sVrn^e zzZCA!yXh3FLzPQ5qfCUyldUIrvv$%9<g;Q1I!agV%z~>Mt=&m3I;EMzANh z5qlJG4oVEQN81ZxvfJG=I^*gR5a5P`%>`9&rye6hHrB{vEVS?YmnJ1WIqQQ+lR}qW z#_ZoBg%S%CV;7e@D>MIyQtZ~oe72QOsK$gga0Z<|fJX@#>>2nMMv1T8X$VjwP0)Ez z07&L~vvXY5t~^2hZYzvH;Ll7{48i6ywA#F~v$>4^PIc1u2YDpPr-reE%kmGt1@fAm zP}M|6m~<;annC=TEmvos{rK003e}qbM<5}q!>4{F9OC{<%#)`rJ4CB!6K{th-6w(@f*#j* ztf{}ryI1$LYbeU^r`U*gmQxCxk8}PY`d74A_+tGc?vZoP)9k5*)Em+JL7(8Q_W15n@r|0=^jmZ)LlkF}B><=T_;N`v?H;qjewM$FS zrXQCe_7fFfLV=1RPR;M%DX311peKpoq;zxTU@M&+GHRPh=OdM*JqyFsC=i=}T!L$D z9?WT5pqP-oJufA@x#_AiJ}NyrIwK@)VH%5&3(O>j*sZ`HXE*+AVj5Vjij=uN@K+ss zKt2htr7gI1Z@quNl=L^*Gx@=)IB=Ii;SR#!aZ_a#=>Qt|kEtVo!tS6qt*bxS*jWh$ zu&nKYWqqYT%nqzNwGfCx9otTXH_W+l=70ohR?>WHHI<6~n@UNWJ5N7~>qfXZ|9IfK zaoqTBz40GHkO&tN;-RKmGR7A@#G$1$#ZlDlArq;KWg~AgL&fLqCfh**&=AU;wG>&( zFywIZq4P1h-mR`|I_Y#DNp~N;HS476?~Ft6fNq~~-ENrTzqSI>-H56(;wrR#sH(^| zZ;GPk&Cs5|D}mWhmKX0%mLu5`m?Kx{1s9Q#=4Z=_WsDCGQx!q0k$~92!3s>JXY>A^ zJ=i4xwHIKTLu-@q^9cU>4!6(QQgD<}2wYbl;o)){#ES3VRZmuHyYC4{f%#v6FahhE zl*Vz-IzP|a{D*V`pXJjMxKdIuXPDSY6r{G%?4nDH7SJ)EiClZo$fX|yu?ju)!;vrQ z`{kz&=i8OC2!{Ox-CWjCV53l$h~$EzZJ##&KF|xSo#xL0IIU@9G7Ht{S3xt#c_y!dbw_iG-*Dx zp-6XEzzR&Zu-d=Li_ikDm|M)MO!~83H5!uD4i!mN-ns1{-b2q7IVh5H#Gf$g@H|EO ztlM^Rar=7du9hqF=QD2>BLvC$7-3|DDy-N$HuoB7QDha9PcIp#hnSDWNL%jZ{u(|` z*I|S&CVe)NRxnmjma8OqkxPmf?fA|r-gQ}k) z`@fZZ(aG7jp(xv$MaOE8Pa11OOyphjVtZY*0FOMdlIDDz<%hoy9o@SmnYx?g@%TY9{BOKK5? zDB{vDy3+tbF%zI_>KAlxhDb8xLRSHLvKfgk+HGW{#RDy22#ALCkJ=Ry3CIZqf)zVghIaV+jOq z+1S+)0E0G_a3CB6pY;CtzKg1SU-1cb4BV6(%p&M*pI3JJK=?Sx?Uka9M*nC~^8wvw zqWdc!kb(W8hNPexL9DxpiNgQK)>nr``E^|n4MW3-Fe1`3L$^o{F)(y0B@)slASobS zLx%_mGIS~(0xB&f(xEhnN(l;50^dFQd*1hbp6C19%j@Qxv(MUVuf6t}yuamMAB))N z$z&@ct^c*hevm_d$5hj@otz<5jbeCVe3@hP{5aP-oKlQp~9#GiqL$@1SvZ!ihUl358W!(B0__WBw5LxJFn+kfk?ZG8?k{GKig ztpwUB3e0jterX47PfnXoXep%-v8Ea{D{Ex1BJfRb(@q}<%wS?e(eJhWti%4H>RW;P z>umQAs-F+O-z+Z^4Z!a%nA|EsU zR;(_DUkDNok80lS-`zT68ugqxb+c$G-9Olm^CiNSj#v*osP%@UbUvH>)8&gu6L)+G zqU%OuG#%*9$u|v8S?^PbvD1P&V*1tUzTGzgL9bt-uEB@{ISb(%N`5tkJsy5WgH;6uY@X{f<`TFcAy6 z2AK+q06}^cHPM2gq*8eD)jU+0RIHB)y0x_&!P$2SSWBZtWjL2>!c>Y5Mi$9mkv~rt z?K9uGpGEiza35#t`~-Y@2%lSjPH5yE69unaMHq26<|)5J`$hY=_~@CudkA{~6FLxim%g9JV4#SvM}1C0c}GEE0JsJ#4wY8p`vZ z8{EP!bCwr zPf~nLlo+*srHg@N+&k>dxWU959zh1o4y$&#YxogDc1R9J00Pa4j`JwPczHbfWyH{m zYHJ})2u-{9i-0A|SN25{g770TCDzShIZ4mGqVK0dPtwl!1bhl=vD|recw~*XYUP+j!)L=aCV337E4M60>e+Y$B|!le8nV)`&6r% zZQ0pF^2I5=NQW-6Rj9DUn%@A?ZBvut;={DI_knh~<=4>H2Im~dsk=T-520@oprfys zGd#FN$YyeYTBU3(b)w1UU#1#fC*~P0%D!Sj$M$yJ>6XJ|GKe@(Di!qg?v`tY&zn!v zbiRIVK&Bv6R<$ztQc1OoXhB~JmQEH*VoU%FS^jGj^93^GX9HHpXmMQ>r*5_Q@%o+l zk4+U(hgZdyqs406e&O`^|2s+|no3-?UZ(9RRAn<~0L}9>fIdF=f6?NKtD|328dlf^ zR4I^kka4JVWufW%c3+{$8y0WOky-Uj$>lI!7ZFvYFl5b^%OENn)0<{Z(L8if2|vJE}$b+e0h7GPt5lZ_;7F(X4J8kcfa0l3ZGG_uh9X%Dek@ll}AC zd8c0I1C9UGW<^nbk92lME)d+@`3py#YTfrK#Ni?I{3~vkWpsPpQBfrRrp-a zdEH1BcDfHY5ha9PXViUS@f}@MlBEhEkZ-wF1|HP12phr&mG%b~B&9bFDGu3HXz$B) z^ID79&Y=Dpws@^;G&?<&dyIj`x$tiAfSX>r3@erYp*Qd(S;k=6`rq6i32sW-&pg{bbz zb2-?IIZ}EZ(bq@0)vH{7lRNb=P^trRY^KiPAXMvLId-HU+7Nc%IXBGKtkms`o%vel zp^-S-0F(-3Mpv_0*0;+eOl)Y_i`sK9ST*5SK@_&` zhVCRQjR?c0bY|J+b9enop+$DevotHp6t$`ho&O|nqG5eW-&d9;p$@-s-PHM(dXveP zljG0fVK@*O{hC8^Rcv-fo~t}2QP}!UHysjRMIg`9k~Qqj(kz)rPqBNZh_Hw#zd@SV zGr0_|vax$p?xICX+D=H2z0W2(WCiY?v?)_ZsM5r-k%;uNt8d_MY0t{eI-M41CvRCCw*t%h)QF4_FI;TU4za1A{{ ztQ3V5zebOtzHZdG(F70!=PE9be4g4*P!KeGyREDl$ae_+BP1Gt2oINkD9tZ#}RlZdxVm0_Sub8Tr) zU}3DF4xM$~v(!p<9(VysZ`|_B7SmR(Nujk5_pD|-zc?C`0`A^t6wzsRU z%KF|clR<9 zcj&RD%nVBdRQQ3eC(j-a1s6w^76_I*(M08|*nh~5CCOzFcex>6l?VM14mG)M2$1Z5 zGv>yZu{l>d{RYP*sU#$QXe!@Nv5?_&0;mis!PTkeh8uP@hiMu#Wd%U5Rfc&r?BW3WfN~S)nZ}5)pK&_Fk?8jG?RyUt7{o^Uf%b0x~=dtqI z{n@qYkmLrvqpm0VT*S@3ik?QizQ)u{lDtLfRszRuPt zggcAmO7t+xt%_jvaMCEn@LW#pHE8&*6QiXacSNKqdg8%J^{6{>KWY?7tr-8N4O+tD zWok>AFFTriL1b9RmIVPa*}rut=gLM%p>_F#SPw(@capSpi_glZp_a5Xm6?=SMiTfx&g|j~U6ak}` zSCu&E$=FV;9W9IC)VCO3ZVG5~2p$vh(xa9nI2EC_n+z~ZRuD+f_x@S1k$84FZHU5~ zcqm_g?w2`!ne_&N6?a zICPM;CIm{jO_kdsx(AX+IJNBLN15Fe_v;pkRRw60aNf5o;@SU)HXMJcE4@o8{+Pr| z%t_`G(_~BE2aA8m(r$&Bj(QwS9S?~3VHV9yn(zJ1Swdhjrpps#{J zqP=?>!sQBd_!aEKeBTTTK|aQoDWo&8UezF&F!!G{Y+)42qG*gFXghch zr~eUC?w(1PiwElHmf53Y-XkX(HkP>Z98WFiHl8VEiPlR@OuKPbNsFCFFT!W>RXX*&ZZ#@T)CY9^xfGEu1Ocs z;;{!Y39==bcwCD~&q6?1n4WepK3BFLieIsOeT7q%TK2_A`J`+gdPgG44b5H5cRyWt z!=N27q&zb3`^y$YqTC$JdELB~-kE#E`8FkZ{9KuE{_9DpHT$3|6B2K!CM`zA0+w=7 zQ5x>(+ikf*pLTJ*8PH%Ph3$Xem3^|zH+NumQ7IP2OzIjdcHzVGD{c8Z;BeO=A3yV+0=c4nAZ>aZrBw(V=eYi`|?u~%Q@{)q1x5slqt@wZkz zvrZCSeb8Eh=5E}~=J}6?h5b6knI4kVG(i*>SoU{=n#{+Jf9yR0On5-YLPd23QXrM` zt#{P@;UVKXg~rtz(qwMQAN^-SlU47IcaWuuicZKRa|w2il%vrTwucm4jf*3QUwe&O zVcqQZtfMRrtOpi56AArA`t{5I)^G>r$K#9gubIpQM!BuG{A8MWXa;=*h-4%W{&urE z4wR-t4#G!43drl?BySiT`xzZ+Xh2w2aKJsx2tsoJHSVrDTJ%zWca^qA#F4Mkf$@82 z)V>8ERqGf3msBmq3rN+pP3-o+DZV<4B%|ODQTbj6A#0J1H#bRzZqWPL>*Jrzg{CNjkqPFuF*=)i4svNCHIC!=RObblUST zr(WSAh^bd^{&QU7&LA=?Y-Zx-ArQZZS_>BqvUwh7=asz0xVA)kZ6yU-ep2d5S5>q? zxKcrBf{7GY^5Ffa+6Xq&%W=dt_5@wb@Gy;t)muVUF~!)FjGQec-@0vPBHy2+w-8RO zJ&V)jZ<)rCS%xqEYh-(b^x7|u=BI}g;g{gAe%;GSzSG*TgD%sxiLc$AJ$^Tv>71LI z#R0YJHZ6s8TDfmQ?CgTKCSx83NqQLLgIdyB%%hknAqlQ zH!gT5HtVy#+48JKdk1<<;jCCPImeX~VW{7KW=BA3JKRg*dlLlW($K9bS^8n2l@iiZ zvuzy}iT8_5V3b~`($A_%6>7IIxkuSwq*omGf4W{cVl?GY0SAbYjmJiQ20Nn%5+&9` ztEXugPr$P|5f>Y_;MKaTwV=(j@WtZ7#zQ}D{-;ODpKdOz(=o-T?7lrFZRv#lftj|+ zmRF~{Krn!z$jSVIFk6w?T1SWi{=79_WC7x9VKrhM;(0#`V^$so&R6PDgiW9;%Cz@jk)2{ z1;N81lIHIh7SN@o1w*~UKh7#O0_D`b{Wzu=&Cml1EqxmrjMB5BVUb6I`t%qo4`Q}? zX#!HzLi@M+_99V68qxc=Q5>YjM-0|wrE~tbl&EegwdStW_uDW7#@as5Y@-ne^*=^W zpp~pJvS-qCXDoT*j@a(w1@FG6fj@zPK)`TfzkMrwj-!*M+QE`J_qPwT=z-SerpSRn z-YpK3B^ywF{H!&(fg%(XQdalHx#cpK?D?Cz?0rJpm{QpxzP@?{$JY>%f=kn=4}57J z2@dHZ>P-CKTr|SW2mkbO7O`;?F{gTAAHsraO7x0f0?feCS6hpErqC4s*} z_5+<6ab!$>WpVsu@*^XSfy~N4_{%INWL5GB^ijz$+WT|Q&03YbtuWccVJ9a4vWyfR zUE%>7!^Zf3yL`Yh^#)n9*u9hn{Ybys3?92Yp!p5E*d5Zxo$laQLt>WP_aXhs!i7xC z0$;z8qC0Mp2!(UotAaqN0h)E(kq%p`SllFJNmqUyS3FMNxeH984MN<3XHCear)BF+6~j3{LLQhbz!f%p7W{#rSFmNBf&Tzal(NMZ=L-XRmH6 z(uu3DZ~bq54R{h*t&gidWnWy}#7Z&=%Y9f-@3Zh-I=|P0v$-(l29)F|CW&hiWp^+- zkO~1k|EN?^<(p!C^XEPygdk2)P~A+;=(L!uQKKeNv9LFlT?nkpM1f!>S&Zhi+^T-C zNCBsr|GQ^NVY23ISgzSC;kz7m!hEf5V8N+x>hS$Ps=1dw2SkiYJLLQC4s3DLr(1c# z8|*h~Btao5nI9{SorbDvURJG?D}OYZX4R3YE^Z1XsiB>9rOeagesAhz_HSBsZ<#

    O|cXcuZ%4s#t-zum(ja2KIN{U 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 >%z0gt{y)K#xgjv&%0QTwY5Op1j14 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

    dvZQ66KuQ|g2vu^Tt-!gh)6 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¬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

    Ame65$P?;vsRImT7j7f?&7m<5s8Ld4ETdT5jW- z5qs&z9$G@XknK3o?Vy2~LPwF5^FSOC6zJlj(e`z#>5=a%r?ur5ioY&jOKtu~ClcQ}c_8mhy(szLK~kC_{-r%9yMa3!9f zSu21inw39n&%Fl1d;fgDyg!E%4|GJxSoN~bm2--dOgoC`C|5D`+}9+Qo1!x4v=P5j z-E|NT$)t1dJp}ks;u!ZlkqRuvYOpAW#vItsipxB46!vwXEa0wZtHdsKqeoCS6va@&~GRo;Ly%(3~#Gq7Xy;f z{6qVV|De4Z7J&9p0NRHEXir?p30L`w_E}dNP~+n?cM20U%Emz)6wPeOYUx%#z9ogv z%cA{qn07iDCO#lZ*5j}OUEMRzx|egJLzW4v;8pmVA7?rP*}XxL6#9cTD7#O;f^Nsx zLYbrPt4Lr1vioEUWR)AkD9O_)P#Wi3+X;up$iPEWOPd1f&X z!zQEJzkYIiQH*gO9c(3FM)}=ed>V1361Q6UL&2?UFrxpSu&i#^JiX7rrG!;4uUe`x zX~!Z_IPN3^siQ^=hXe58jiUoTJlEmzY5j_f zAImsq>H_$YikK@FCNjJ6(*_DO?T3Aqfv#Nf{oYT7o^Q;i; z)7xBIE0(&)COsb9uC-GkOd1Q%5!A*Hk^d*ZPvA(q_VEch21fO`BX)H1Tn?&K1e_G0 z8e5hR^E6PUW||$+rBhLm9#G2`G7wny6IbN<$qlx9&se6IE6tm1Bz3(Wd*wP&bf2!C zq7rZl4{;;TpkI}E=LK$U1AdS$c$0Z8I`}YhXmfDRg4ZN{)1kzid)RQNe(Q%wbSdI? ztbP#or?9e%dE$24ZQa)8#F0rKHxMbG!=@;{<05`Qf4l>S1J zESvEkA70@}yF^IZS(t~v!D&o8^x_0Cov##iOt6>*Tk{!9<%zf^sqtCv{ZhW~;1G;h z`&aC%*X(}zHM@7Sx_!;=xqLmDvUImOZe?Fv`P`sZz8g$(>Z95IG0@7tk8~Oj z9J5DfQzwO_ONiLs5mFuYo?wb~`AwH1MZjl)aPK?=WksU!rmApj1N;Rc*nuKUfS3B} z^!>srNHl*!QLl%8`uRS$3wt}~k8d)j)kX?&H}|@bu3qounAPf=BdQ2L&IfUDP~MKYeV4xSe7V$E*#U(2{k8|Re=g3HE~ejwRnn=i{Yl~PS<@S%4AZ|lzbL@e z4cJ!>(03;3>#!H|KO0y08tq#tI9Z?TS&Z^-h?Ptj_N&;30JzWMg~G43d_}Ji!yhPP z!7XO?t|G8AVgv!})#|7a@$HV7eYFYm>= zyl#KF9t8NFCc6#Gzv=mXnwy}{uSfPDqq4qS;<4WI-2Zxo`&o0R$p64SP?keLHkJ6I z&-(aPypV65+MWP0^W7G>SjP;3Lr2D`0ApOvU>z%G^maB1=H+{!{)KPY-Vy=mZB7wR4#BhW^ zz}!6r48Q0Ge%;?uys-f)H^McU0}$T3tOQ6q$p&D5e&aG00O{nsCbB92oEA?4A2kxh z!*8h?{2=Pyv7ndB4um($8QGL9h6x$x&wzt6fv_Cz_FkL+OFAzR- z&8e3jMMhkM+EwIjRd4 zZOQ)~F&OFVAf7fbhzIj`5YPVaAfA?cG+?v41#EUUfXzD z^!OXWo0{5>$N>I@rK*o z`Lr9Yf&kEc94=;mJen0&QrSATPZ{Bny61?!Hpp4O+OQR1vosMhYlObCYQ6>G&~)&h-W-N^_ssYX2eUQI&$;!e`5NDV&%^v z_zp&``jkX~EFM)~@j6L2z~j?bE+a^T0>uvlf=1fpB)}k^Pea1r53k+?3y&%YExW-j0(}B2 zWvK#AdL;E0`_n-YjR4ib*N&ksu0TXQHB~AJ&By+b1>1rpeIR`=0Mhp-{knhY``fzzte9vk0;KOT zK>Gg2Ocq6k`qcx9TlgOj=ub?*1InSUkEPDAvNO(v!=a$q7-?-4-0-RaZ7MdrPvp)q zuSel&tu|WeygZnRnb4z!sz?jyOJ_oy=Deab7X3lE#xBm|$2?K4U;k0y4vrPRq?(gkd=`|4&NNHA9sU}GdxaDj!?tw`Ib>rMI$4k+C*Odb{+i8ZC>QBpo zZKaR_V8nsxUGMbXyf-5ZuX?aJ?t z{Fb89@1oFObLvq<*03Dgx4G`hQbtw)om)1L5H2^*U+U%2(nhS62P)%hI_;TY;2MmZ zpoUGe-HfXhKL;UseoPRgAm3R@oZ?flV;@sIIcXP=JuT`=7NBF&2Rlzi^ zWPYA=;)vmC=e~Y3C;t2dVEtPh9V*{&oi8%hdS6mxS4XJ%r4l>Kc85liYV|afxtE;O zIadBry~D+aj{zG3&jMb?ckDL+mSiE?wa-h=lMu;3{KjC`5@-Y`7V zR`ti=)&jX=E#>0 z^E+Shrx{EIee_qDL1!G)odyE?c2V}b{~PJ~ulx)$QpLqx`{!CqkyC4|AgGFkobbak@V>02l0Lxp0#dhW%5WBcdOJ@@G?uV|ikaI*(qs3o)d z3zyv_X$(rZ@*h}qA_L`Hv&s;vd8DfA4e2nGS%PuXxkn$(Y=T;k7YRK=kKkSJk8dz@ zaD}tgDe=z{|4wja;QV%zpj@L6xIbc4$zKzU^?BeQ>!Wjm$X4pp7%(FnBf%b9&Jn z{HU;$Y$4wN>Z%mL`Pmo#vA;O~sC8HY;QaRcm9ba_kBtIS_qdXsR0>kYWZ=%8abfBs zauTU)d;;fiSXqa5sbO>M>z%z!378O4{wl4eoGS60%safDTc3Gx@Q!dxokNCKnpd7d zex-Rb%T39DG%t*JC={eyM=+_z@`uJ_Qom%LjFca-GFF96v68@8#K7sagq%&W_fV9S zLygcVH@4(`k+#ECxo531*&Ty-;-8^N*VVQ5;0OOt`PY{T<9qRzuY&tt^zwHZUr4|I z72LNGeVLx)oKrv*)_YofDbQ@bZEv-g1>e%1TJh?&YD6 z(SasD_$T=f+mjk5IN-ke2?n(8KIIc+K-cHDc_m}Z#~~9tNAE_fl+{Ih&2nHMA5p@+ zw8pKTA&wUNyx^8F{;(}srkaO`KPG(`oh9KCUCqveWE>}EZ~R>qH6H(F9{e5LcA<8c zKY>couym!gMKP|5m(}jKq|tdk5Y8K&4C9y|i(w&Yv9o@QM6lPT9ft%zV#0W&)jzoX z0^t0v;^B0FPty0$+poGF{;QGY!H1}Z3!ktD_oNF_`Bhx22gq*syYwEVUrJJPD6cpG zoL~0#CUah%gE~45sBnKs_-x|>KeH#66Z|Iw@AsA`eab=Fr(rNtHEwRSGLuUGC5qW;EC@zro7%w(|=NM@hj@Qf*rc% zMb%a};H8%HI~%7{3+?wuj+H4j^X#*17)R#lf+?16KirjY2X-uYTTJ}*t! z)AHsd@68w%1bQd<^78?&;9-ni;es<;vSn8F^S`8CdO((}0Ba?l;~&p6QJLDP{p0yY z{#YF|^$SCQ=Wp#3FwWL|b7z9}qk_!$=`mTJ`HyD%FB_A>mOV(V9AaixUUB{g?1ih^ z_NDnhcKf?VI=EP$^YYriRebJ;ccZ*xMalWy%$!h!sga}e^|Qz6&t3`fC_HlP>>7xP z>l@Cq_5WKxP;9g2q`xshR>L>5KEmx0L#0it!tekHv$`a zTFZyOzN=o6Fy3CCbw1|O2_zw@c#bMkprdlDOk@{P!{jF5me`a%&b!8eFPL-dvRfn} zYeDt#m8`2Kxjq~Q6f(><|B){Ib@v4@tI1=19ebo_y+Y4~g4 z=eNt@>%N3MeoA{oq?|RdHgDUqY4JOd6G`0`P(X@%z=b!7Fhh*lSL1Mr_jXq3Aurg; zig-l`0Qx`0Lfj`v2R%Zdu)Z1y>mQ<#>A!19FjDY%=0=Zun(rZ^`8EeS)&6VaQvz*# z!tV=+t=*1|2=wD@cS#UL5d?gRwMvS&k z{1#SNc)7ZKOf)bK+5MojejxH>0!Zr(Tl;~u-XWb}{Zwou?$7Qj=?_O}eDSLu#~{>3 zWG438smUo|M{nSZw#V%me-zvC$;_Y@YdGD$~<$JAEEc$4d9FD}grtfvuE}34Fg= zVwvspDB%WSWv=M)_$mMDY|l4T|8J;mvH@;p$y53+;qU=qJBFuPQ!vFSvv0*Ef`G!k z6|538vTQKXTUh4jvOCm#-{UkCq^Zq~LEtxSSp0A}t~cnvzpxU+VuSlD5mTWajRZoj zpkwtwI(V5eK!OFfB_L|tZ(#4hSUQvs)l)2_YFj!)O>QS@b#Bkp-o5D>VLf}4)9Y{# z#lOJ4|8a<-`bGXJo*?fTER<;JK^W$&F(WV-_}{6zhuuAgVOr+`{PdZCpC0hn5qNZD z{O;0?4}LlG3J&dFL_U;sW?DuEt>oXO2MQh6)udBW(h1~M`39k3>ZetKJpw&^L5(WF zOaD($fBhEd;m>?{`qRp&_tNI|LVCqez>=H=kz8Y0il@G#kN2?#%r+w)q8of*X;^Sg zYKjLqvd;k>*;k9r`)4}>J$!6akuKAIAK0}=NqF4ser!ZQP;bWfsrwilFXU=NK>Er= z&@V2>9hD-wIwur$w~7+O&&)P5JwS1<$_N&I6wWeVSWec^4YLDbep%Dea;%)aaekQ~ zrJ0_?r-HLH;XEyj_4$A1$3LfMKi{PZVTn}6UNzsv=L4Z-v(e_d zz{of?hGnZV(UyLJ%eGb7QLBrnDlXspNc!jbjsK$F61UKTfHZL3e+A3v7mFDsLxT+H z>-0y7|8N0q{JvGVNmTj*VSwfrWFAmA{U4bKM_~^=V_7(FH$;decxnh4AP>Eg-%uY& zeZ@8!_u)kK|2u_;FBWRHBbX5g{eb$v3-w*{e+%`*6%y)y-SnUj!qW+}arsJ=f3)Ln zxHI0gQg*fT{@_IJ;N*k@D@${yn+9d;oY~vGJ8ih{JFm2MCmDVD!`E@sQGFU%a}<-h z4O|_7=u^wgN$}NSm1Sb%r&4}9v$;Nrn1s6MQy#heJ(Y(To5Ut}9GG-3$2JjQmJZCu za|x4GwL|2Ymvb&F-{CCV8O*-vZrFOe(q5WHvbfBIli)7;?OcdnhxV=r#(?Z|<1(;> z2geS{;%FL2JArbB+?6cs%awA&9n3vv#6`TI3j-dMo{WCT_&t6mIH&xv@#y}vxe^fA zfj0}s6rFMz78hY+}^5QxFBRJe*KX`$2I?eQP2_|_H1Y_6JNWuoOqf; zfJYw@+MB*!H+li0N%>Dg2I;M7yB!{H4h~wuAom|J26(lDe8H5cS{|5S!8BYMp<&(S zWWWs}?=nT8HkiOsXlcr*HEDn8KDRH6{pz1(oAK)0hsj&HGEK`uT2$t#UuU=;lC})4 z`!U_Fa;EE40WMf(ijOyZ??TR@zCx7rrHnBB_pU|~lk5O25_NPOXfYUl@5FuIZb z;evvS);tSJia%YqxuY`hY~{Q>@~d@NpA-kF=Nv~MMjW3`-v$kfbc31kGURw%nTjr_ z5-DrM4guf`N8vVJ@ajb*DzFdY^9dQiw-tZ#v=1|P&sL;)^ z;Qq$@VSC6lr6W)T7F{@zZi8Zl%+5de;0^OWtN@oyW*Q?+`;lznYv8W3$*`?MP81NX z4@u-F!8ix|(u#TLDaF{%|1$7~I2`BA&y9E{XdDrC=eZg|5~@D1l39GLDsz^|C;2H) zHNhs2&SIHplTw0o)ff}R1-bO$IA?-obG`EW)qrn|d!?oIo4Crp_4MPu)L~%!DMLo@ zJ*VCS3wY@!6zXeCPz80cf}d4p!n{7e3(V20=4O!(Gqu=OrZul>sBTksD;JHQ50iZF zEr-Q|-&9skV2xDQSvj3(lUFoWV5gqH*awn41i)N(R9Sp-#5gnL$+crT^gC(pqx-$X4Q<#b zwKU|Tf=5NO`rUg@8HVL$R(}UDrnf-U4mrd_e|>nnwtc^is1qtMr_iHP!KOxZTEOQ zZ?wvPR2WA$v9h})nHSlcc&)`}bep&%vIxjqx`!(*YZBze*Hrw*-dPvm@D4D-zPkA} z~_Yf1c-+M2J;sn6LQ=?!~$O0roTs{)e#ij_=LmB5C?x@q`oZMKX^o|=^ zmE(<2qiO4hL7S{eBJeC58+=J6ub^4p&0E5aw}Je+n_*`ZR@b!T`3JRly_GSOCp_Kz zG=JO@;|MQZPj{Zov((QVdk^lj>n81<1_yl!R%>Q125ij7rRhV zb-9^AOx2p`A;qOLEyb@nFNZ~cWK#g7ultMido!Ov!}x>?^kS@-*zU>IN8L4`|VqI2xaoyN0q@lwGEb&EoU!HFJ?8hR2kJ zK&R?P8bViNwz5jIQ0ZA2)*CO&XlpI`ZW z=%ZA={J6TpStt)5dXRDG1Zyg|Hq#qjgmgk9nb^|1qO3v=g!7_z>1f&H#!~Qc#))e$ zlb!oXg)v0c5G-qN&}*5vxTFK=JTyIo;%W(9&4)k-B#6~*AA#bD zkpsxqnGsgmg-TL4XV=NB9Bb%u71E(}av4G8Bm3;BX zqX1=lx7C1HHeb-sdNj=6Tq?yI3czSy^$;(``9e^N9((OoKuVnMK>x}DjN*V!M%C%~ zeuG@6!{~{P!S3=ti@oaC&(3jQqiUA!tZ?^Te@dIwnd3Oy$d4pw+Stg(Lj}#|03E!B~Q8_ulGot@#mE1zaFABGY;Qp$ySW~*n8c|@QZ^bn>0(68Uv z?!hTW1@IUz0P%d=j~3R+^!_;rTV{N%m}FTer4=*Wbmpj*+}`Z;W@|We4d%RIt&XRd zW1-$};bS(9YXfttZJrR{WY7G0H4Ab$vP$o~=ZhoGY$++54N1dO`X$Gm&ZoLv60A^A zxZTZAS^(kQZhOwX!kuaYOatZP>2=t2e-vwRlTuCKv|gP)j-~2a zc_yyk5bmZj@8H~^(#nzUQodN{x|XZD18eH;KC|o{M`mfA7TRMYa9aNiFX+?r%f`>P ziDx%7Z2C6y zyGEhb=_eJDivko!OWPb4;Ja&ZH0DpYH@$M6n=xPJjT?+C!8ymTuii0+aYU^6hTA2VY;a z`BkWHXL!0r-*p#An9bR@={4d}>t+Jy;N1uF?ZdksN>> zpb$)7fE_@5$BL#Pp#45G9?bwF(fC(vA4NF5@%q!>bUx#?d2i_J)C$1-?BCORqpmCP z8H9hzyIfLWG!I(3QekGX_%kp%D& z0Jrt#l>edmUJ%U#`Mhj56Ja!v&&vTcKLfr9WAue&FtWAi@HVEs?fNCVS_eLa`@U=c zT}U_hl4TWsI(GvU5{wli3CRy`-&S1u@!x5lD6av%3uqM|8#t~%&C7`cj_YM# znyyY?Ubv@BZP!NBYEx+gns;t$-1A*;rG~NA_{*e*f9&;!2S3Ub=K)7glC6>-b{gwj z`Rd`R`KB%5vpZc?V*<3YGy>njL2C`)Gd%In=R4Y1x2PmmqrzZTPO{vs&)E7CNlY}%R3fqUUJGyP zyl37ZEM7<=kRe~M(?Z7*+_$SyfkoF`guXckX=~F9ceQI+n>{z!dKxv&_qAUF zzSM>9R`awIwpH{K30=_$g>b($TniRsEGR4zkmyo~sj?KkRU}M~rj!VZj@DX4#e9RG zfh-urjD_}*oKJ-OUGT23cU=<)3ncT(Frc=_MBj`Ry6H$k?F*Nm<-icq{x+^Hffs_H z5JJVtf<*!bj`)6Pl88S&_YYI@a`!eeg)39D{}8WWoR-Z~>;%ImE!dj28^71haX;(m z_SyD*Hb3Hn|2*Ne(kvlSjFHk8vyG>Q+H*Uu)K2T;(yL)3|@m zb{8OjaIPvwnJh?5YZ$^>`*JDfje8G1+G>7t9k%`zYF?>v5s z?zdG9F@ZPf1V=e&w#K|6z+D0XJk$;vAN5Ude|H9#I|}`eY{oYtT{n5}MsL@FpbG{~ z**B677ESDdLMR>;_R&Nr+%HlaHb>aq0ga4{j{&zQnw9#$R{9=&TNqECpG)1V$Tv5$ z$JWi)jypT$eiM}peMf5h*Y%G_W0#GmUXz5-PXL=g8Q^!8PmP!1Owbm>O%=AVh z?vR=W?O><>r-r}#IZ;rRQ&7WzsmlK=KH{;yJ`BX`0$$*yZl~uB^orO0r`yrm;wC|* zi|bo|!rp9BGyDz6PGI5wCJPYQohX6OKAbT0{>m*?2zBX`7dAilr68n&VAgC>5o*#l zP{xnKoaq>xaM_b-LAf~S^QwB65vAy{$A?BjV=i?=%7s>rqC^zjL<@y>EPxlnN>Rkg zfFP8PPUTLDVnNR~=?&QH(k2C5QQv3ln1OjyBh^WoXAd-yF{>|kZ~pr{c)5Uwu7_O0 zLOq|OP6aHztf$M(JvDxyB|1^bhZ`R(=#Jg)A+e@=PC-*`j`DedQBo?;NB=htZL%Si z!lmOsMg3PqZZl$hNOXmW*!VNnog=f|htOe?lP+1+6JY9o>B=GRo68Vhh(%5WwuvBf z580dWde1B%uuH-WacV*=X_`R!P`6`GMtUqJKB@V=z|tPNyExzBwNyDZlmHIlbEH;SS%n zOTb27ZPkOl74fEq3$(YfO>I4dd*?KTPLzY~`~=-gY$Gf%2qtKqflXG}RF4ahAMgAQ zg9u=b62E9fe^R|LDo#z-z_`##Kp@V<28s_-a_e#nU@;#LP}v0+9LMNAy5 z9=7e3TMA&GslyQlK9qRe+p!c2 zx=5vZC8l^v1W;F#4UtrAML=*2YV|Ss`oh9wT(JAJ0}4hx}5?}W;E*nzC^J#h{E3K z${uj^$NF!h9&ZY0)W3aWME+gcf61y0X)jG4eb>vGT@~24zwU^|VKR>DiYlZ@>C>$f zdh)8VkC5Gsq^{~0h1D!g)!pIAqe6W8HmC6QTYG4NGJQh-uOEjIKPJFDwjS<@dQxHZfVP$R>IqMkOY)o*W%FpH^V zKA$4^xj^p>{k7dn@fuX;`^c#4!!)XFS8=rWMO(qwcCre2euz+ysb6M(r%=3rc(E| z*g6~>7Z7Q{x^;LN*a$f>wFht<{p-IJWI6SK zQrk;iKjbt9HZ0H?#Kyw3O&X*8;ISlFkT`y{W}9!;F0I=v@an zkN?;qb~Y;bq9Q)JqEpkhu&AjsBH?iw@f&?=Pfwfc4lN5(h(=F>WK*)svg^IkJ5!8k zOdD0O`an0qM9IAH`rnxB=QE190Gk)lo?E`>rt&vusrH+SjbY{yQ4bpqCQ3q|7vx4BiryWg?BP z=OTztCmH$+=iL9`e3+OG8B?0v#gx85HNrR+-OuV7<0ir>BFq5urch(Eq{o`CwY_^^ z4AtxxoOpvoSZnzJN(_9*<7RX3;NqU{VVi38c=!E|u}n=PO>&TZCX)+gheKwd{X5LU zX?95(_6JzMDb?2oJtU1c){liPD~Kd@r)#zdD+6+b6uSDS4ss0ahswyIvv>{b6X7MA z%gYfs5597vwuGNI_A7>LdG%>qX_n~B<2Vzma*aReM0;ZWY<1d>c>mG4@Hg@|T?EcL z6=Yfilxc0eWeE;QZRdVFV--p)zmps*TO8=Q8_y^tHH@$)CK8^BuPJ~6y>8dTJs2ISJ6IFycJ`Ff>0Vq zy6D1N%vGAGp~#$LtDY{3NLd)j9#`2HEd_tl3|tcf+VeItn|B6o8FZxLrYA-s-OWzd zXbx9Z9x+?Hzx_WsDeFLFeBxqUNeiUtcD<uNk=y(E9tu9q_ANH?9+s8PIxnHi{o9RM7pvWwN zyZUiIgX|XK1g&Y6R0b9Q$CNVKVPEg?b8>P4>fs=4?vXNGFd}u)pYXbPN37JX9#w{b z@vZ{4=3rT9y&Pn`i=7(*y7%~s86|Xauig9ZyXW9fnOJemHP25I6(F4Ps`SHit|S?Ye`g&l_0+U$#H!L}RO1jkSrAuXx$r>}oxj6I z1GuYqQZM;?SI?_t--NiE<2~J6o%*R*68%RlnaS&LUORyn;T%I>MIcbV4;^I-E_wb} zzQ0KGDNV^Czlxvz$S~27DS_j9-K}XmRgcnHGBKw6ZxTO>)IH5Vif!r63kO@1j>7R* zU3fX|tYd-dh?ej}n3+9C6v%itTUxx#z3^v;Y|w*D@$-i%mawE0F=aNy5u7=@v_KmS zU^h?GlOseWC}lSS6xOpjJIAcf(;i;SRMXc^ai^3wg+1~n6iKF z+?p|H<4NZkI^ZIcG!7?v{dea1!t>;JTe&abBdk-~ht+EFQmt&Q&sFR{c~`znW(Jr` zElG3e(GQ!kKOigk-uQnt|M}*1HqV4?nYuX>n9XAYX7dm*7ZBTa?2bhZ%k~S}R6cN; z63A$XhgodjkbhU{z9QjRdx|*~>KzWaHsQz`P*Gj(cw?Lgusz6kmo~JmlUN*eRGAQ^ z-HaMEyG~m8cw01Kl5h-;?6f(F?DV9PyX*;?!>=!cjqSJqvij6V0dpshhj-EtuUS2D z6XaQ1!>DS$Rh?s~cEQ}hs;~?aP`h_?!*LEqaWrTZK1loY^ernYbgVjL{K)gS_8%h( z)>f+B*65Evy%7Yfdw<#b+BWknAKVC3+85f!rH<8-tW5xHe`)aaIoAAo>bo=r5t|!y zzcn*zK8@J_;p;7PjB`G(@4qqTn)AM{*7OscnoN`iq^a{##d@cCT9O6uQT_5kA46EMg&t27$GTOL zGpKYs9rby3FF|qH1z^c$Nia4_^tOhp_!KCa`9YA%O78UQ&OxtlfAit z#H!knatqym7~=N$QYcr5TAVmepN=2E9)e-^8ll`!e~kx*i=2CP=hN!6Cx9OY>+YEM zkm`g^1@IO#Ve&;sXe+y%!eH%7fAWdLIDhu}^@oPfO!`q!^_hkb@a{>|(*PQN|6dxu zLuIuD(%#Q^Z_GYJi~y{BfQAnY>#_MgWS(jGiAhXEl=)a4jQ|Z_m@uEKaBsQsPq1I| zDeS(O(f7@@Z0c}%liP@6_a+xLNp8$1G|n+}4{a(FAzzvPIoIbk4_o}D;TyUo@fh0* zT~%M}8c&lpi(dU@=0zXQ6g|cExpb0N{qk32{S5!Ajtg+vyZ*;zp9mSV12FT5$C)Ey zJ*lI1P&_g!!6m&b8Vf2QyZZr@^gHc3O^??rX19k&ZyGsEnuR9V({yK}FOGdAZ&FX> z{{Zo??An=}Rk{wSz(D+^GV8l(y4+LA3R=I1*6N4`b8k}|rG`*7)g7heoP79Ds~J%u zc$DxZqA2eD5_Cq}Iyo$jWxTmzIfIZ^Q9+2vyP2ddO9QPk(p+&e{4k+OTVm~ny zfz?YC(@QrvXpn|L7$ni}m*R{topD(iwpxB|Cz|?xjG47UpNV%z)!st9`4w9MVqg6> zW`-1n&aVPU@6egN%n>R*oU&*t*X~T;+CsW~hV{X3dH+=>@<*B(S>*7fY|P7N>D^j^ z1&h`|xT@F$wxs+rp{Z=(8$f7Jsl>z~9xvgfI;Wvy=A1s`ta>e_zGR8<`^E3?&E9u+ zuFUNZY>)fbhm?<-(LBBe9sXfAnJ=kK8@qX*us95f_0SB=SeOKno?y7`qUSM zA3WhXCxaj&j6V-#djtn9rl1yRdr}5&QHgDlFn7N*IkruTFvmEOv_WU8xnw|lmp;fZ z8mql7hCdaRbOBX>~uHE~pyceOGvs&VR6ZGe4%WYKmsEt?z$a>v>%s+#ijzG!PB11nvfmPJVmWICvOeenB2w*^0- zbN1=$!G!r;m0^z%b@&$oUiu)AG%gJ3`IT%CLQud_Dk6qBLnA0R^w(xj2i65}W3TA% zahfGjz{-cX1N$#=-T3ITs#^w0J%o1>+}#BD_#;oi1piiGu%@JHb&{Mllm9p$M57rV z?dr81h>)EoP_$SG>IP2i&51el@5ls?#!@dxd*J7R);`&7hfBd8O7Y|)HWPphVuw|d zJE8?~qre;bL7{yb4glprK~D|_dLW}-kOBjIS@W-N5Kt!=IQ+nwUK+^s+!SjJ<<$*; z{0qlFG=5r6;yrQS+#j6Ad!23dF53Fu>?Ix^AKzS3%emVPb)VkQF13Q9Of0_>iTkL> zB*=lS^x`bNp97A~KEC$KK?g(ds`CAvKt1mKlA5hkDkC{X#QALKUfeRviVRrongv2{xnJ{HY|D#t3FDVF(wrl(z)yWSFH}QU1vxPCAV79z@O;f6!9fs2 zv3{8I0o|%)3Dk%CMd?RRS9nP05`8g}M-Y#h5J@2tzrerZ?wkl*BKXj2R|jD5P{A0y zR$j%pzW$+$iyH8a{GphLUv9x1)CT_7D+vmig~SAfl%2=EAF7HZ3CqX~JcAjl9R_;wHd}7$_5X>+$Xs)ev<3dBz>X<7gd!+Yp zpW!zgPRb8iG?^(O#gTBCeko9e0x?vV#Te8D=TsLqE~zntrHfAK$8{PcD^&?5W6Y?J zxt6qmyDp{zTi0qFaM$IQ9T%`CAMr33?#$fmKV~_k-XU``;F$e%1t@qy00l2aVwXTr zc{s>;{D#x9JYe&fhihJ$&9Q2psY-oW8-1pyZIKt__D(I9__`##=u_d4J$Y>8%s5>J zQF-Bj>PaF)2|n&aqsFLsQVt-mV~`FgG086gn)^fm7cM1My;TDM@X*=StnTzlC9LRJ zC_u<4_z*3mT}OqLEEU-$HHS|g4U6-{E81|#GvaFxm^HwhUXR{S=H5=sy8RZQ=f@j8 zlBGY@rR9%j$oiPsZ&^ zz-@V9wpy~t)!x>Sit2d_vc8I-EzAe_cQ_Brv{N5*+zE%gP-j|&IJ3)+%Pz7$!VFl> zDGVu;x1_DnrhT(~zZQ|nSypycJ5c(2zCFnk?^H(97TvufG-OM|LLJ7v^cWW_0Wc(P z3u-kY=Y;Z3(j00sDf!Y#JhDY%k3}7)Rw2(bMhnxx^z(1A3S)?SZ?Pgl*2MQCWG(w| zvZ5>2)KkkJd*-_+*;SwWx5=^%Tlwzo`KrekEpNFmrnJFC^2Nvj?K?{`WMLM^S60AD z&$BzyV&3RFffN#MdHiaLK+U$C>cddZD_Q9onglpIs-KZxq$+6$VRoTq;D5?r*r4i zd*{V@R7pB${4xZRQq{iyL~*^TZ@(Z^gFSXUzrxKU5c%pxO_%~TI%gG4Y}ojFyLtyY zTHEWTabO~wA}xx~LpkY!Rb$dyDGb)L{wzYi$S>SqA^a)@L}xU>TE`XHpgDhJ5x|r4*)fFQaYDAOYqK=BqUVZ5t(fQ3 zx>9}ln3rP1jt6<4eU8K_)F(w%LwxX1shGG*UpvAqk+M{eX-ee1u5qFsp5T4<lcnO;kPdf zn~|CI4!b<9PliI6iT5ZmXVeH)5qxi_LinIz4Hv{_aZ&7<2bR_)rg(h4{_vv^&mD*P zWwCn6^z6W*M8TLbc25b~gOa#jKRTFu=L8a;lx>QFr`r>j!-i99OA&#dDHG;9MSc*@ zrz@oMkD!EKxv6&)3z%CwUyZJ7kG!fo-oLgCo^@6CI8k}&s!`lIZFKjR(tQ0NA$_90 zqSu~PTFPG`eW_}h_gv_hqbLc9c8Of*DIN;+3~JHO@8#c}ieCO4H`Y;tJ2VPn2FCPC zuX}(o{UriKCta87>AG>I)WS?4PPcBRlh|k39b6>a_w23TVoP=Nk)nh;9=W^rP6Zk25Oo zWK&p(s9Dbi^z*oOFXwLy>quP~gZ#bZjPu=9F7Z5N9HPKSYAO*ptn=#~4UZ)dn;!jLt2D&ORTPF4nct>*H}?|N?| zo84=s>9Y!SWw&M!H3zWiZZ&T&|v14|NK6hzi=6bvJ{{G=I^(?|~E@!fKEh9?4 zL_`erR|bT^Y%4S2&pP_||JBhe?|VLkUQx(sEtodlSSpH_fSGqSnW!?|xOR7Q9)9=Z z%e9wv)`64P4@lh|8Fj`ju?vf{&eye8&01V2A%?@BUjFz+(J0G%*dG0*l)Hu|yvBq} zjvGbH>dX3rS7<2lAdv6(z*zhv&j057|6=jM`Mw{>_W%~Z7{KCdl|M- z561t=_t%|7oZT#GqXC*de) zG(H3>Fj7muReu+El0tahd)IMT)}{Z2RGRyf$1{SD?W zQPKJL1YX^ngr*{6)q5|Q4`X6Z%d4?F>(tdG)zaDRXyKj5kq8m5RI4G|wvO#`7NBeU z(%WPmUXMq3wR=1s?o|>c8Nc(!rj7LkS)z?GE-I0{Gl>A0d9;PeC=H*C+~y0lcn`5b z)+(K4R9sCQ$cFOu6@8X(zS#95z|13{E7$x|0J!Xj4<<|W zGTKW&a%(Kxd9YjdyptO2Q!_aw!op0l7Yf}sH6i5xYahB`c5NW`=n!*)*h#m zXJQ_pvcCxHzJTLQPv_0YI$dR5Itt~L(L=w2FV6Rzw+ZE_hq4K+ft(r~Jo${Y#%gPr=U0n``>rv-m7H(I zw?R)4R^yg8ukt+L>oMzQSPd4V;GoY zkojwTFL~YhBvvo#rEQ-cufyBC?u2bd_nAIlT~vAGx<-o*{dnNbE!8H@Z&|8%_bUFh zNy?J?hl;D!Vp|>3-Zx!khzI`K2)>Ei?{v9^p`off{u~mrwrF$3p-B*g?#=wbRlORq zW`=b-m9V>BT1?0Hdrg`)nd(h0r3ql0_ z8o0Wg~QAtIZ8@vZtXz%Gc-F27_B}wXEd7cb)B#J&mX*d*! zoM}l`N~}YJREoF~waeInRy`5jb&XkLMVopq6R_^!q?6s}u!~%&`P<^<7;fj=A~N%c zTpwNHodh^n?a(*U0VM4Q8jRV0T=vgW`{=HH)yR&D4z9!72V%k2+q2ZIdSBy;Q@o0u z_26U0HaatBjKcOP-v-SwOkW2sH)SMh@e4ZfN-9>v6L^VMWfd|$1%7fPt%+6@gyb_s zOfm{}dh)J-svKpq0haA9=;&}PMf6Hh$7})1p9C)glIk2tVWNA3xcig5&8c88u3-*S zkw}q(81b_2g|x#IhE`)5LF*`XlTsmRF!m9cLF|oVo4m0HGUe=z)aDK)d3v|Kk(-zu zT+CfNdVDu$h^EU{zktY^_Q--S;OPRE+7tblB}Qpkb$OQBcYd-?%9+ZP==EfAQz?Zv z=aIk0x>$;XUr->T65w80BRWX`J(}2^S*#Oc7aN0i>t-Ol+ zKf=2*TNbJZcAV#_;x}SBv@u^dAlQRTd!akPY47>RX&*fB1y(r9gIXjAd7_z` z+N4e!Ap)rE0i}J+4^TD{+v*>1-Wc-OGOy>sVOe$k*fIdlD@*WcbG66nAZF4FQ)8Yi zp?|tQAYQ&@2m9y^ejmb|*sT(h4{_XzUerP>z}Fk zsutgYRG(qKqMxOY{+#OXPkmC5s)>dz~S#5Aq-)a2?=KcoOME?6o^YjqXoPh3)kh`I}kDbiR_`` zuTI;qm_#rcd!!1{Za z$o*iriNxj1faF z6Decn4tLc|$)yFqhNK-iMmI5X&kexVx@5pwN1kA^3i0bm1Yc9{NA2Zo3(7CK>x%d@ zczoC}C5tD{n0h@5Dk7*fsCh#7a}oNz*UjfNM0z)hxh-4GS=u2LKNDhhd;t8jUc^)i z1*i1-j1v2N0{zjSSicc|2*i4?Xxw`Ryz|U>m^s$UVD{l=W}DPTZvNL&xE0{eAv%@U&p5bMjyFsM{wDWV&~!Lh!x;w%jc^Q)^}(oN$f#cVK5)c=eV9Rcsu6Nkj8CqrBBXCn904 z=lt4(II1_&>G94oMZlfyCXkulmLSmGNC1bo%zaWmN4ni^>?;(63?EdzS3tnClzy(W zcUR)quj|t#Zs--=_Pe9r(GTXkqBTG0^S`EeEKI6hcoxWTecBnO8JJU8LRR5lD0bzW zm-O?qjU*Aqjw2Zv;8%dx5^GpD6SFJ{#!bfY-|jusX`hm6h1=Jy4+{Pk9~6v{cgfDJ z_(SsY!(+8da}dZgLI<-^HF7!=j@&oC7t=%>kkY?6#O`m=&KC_?z`y=%cIXgD3tzW@ zPXa+GPGBSgg1Y_Qcifcc0*LE&{F@}e!G3J|$tFhp=!{UznRJcpNwOfU_6qm?gtGEW zAk~|X5IULa*8GJ3M_flx@LCOvZENrfSLs_nJ}XEG$0x5N7434}7?TO9VpFjt%!Y$g zoq$puIy*TiMpH-(ffI5`jZa=V@<ztaU~)o<0ghO^i00tn@;Fl-rX zy%#uM%$Nh_I!_xiIao|>G+XPDk8cY}T6})lsM^&wEKb27halpGk$X?ew&^yeDyiz?6{f*DJ^r=`AGz^ zPyEv(+0*s7n84+XEoF0gfqJr~-5Vg^=VhV>9LUJcF}w-0({)=l6P-u+V` z+3+nOu2TiXbtI}AdS?F-*S%7DQ0Y>%KQ?Q{0>MhvDlCs4oB@x8U7ED+^J7SB2i;h4t+0zM_d&+&k!jK5g> z+>BDGtg4ZHScm|VfU@1*ZvyG%CF1lUt-N~?G^t~Zn@h!}mPXVXtukf`Q=~IRL%*hq z-!U1G5U!vW_PE=!^*wH`GXUN?@(q2DZNOXSj+X|5_W|WMKHABdT=2c%N)d#_QjsJ( z?c0MMC0`B4Z^`d;*)*CZX{MwUYpt|$!`oXvXcX@O{k!G)I~QIAb;0NUJ?5dn(TEcj z>V1mB_?Mb9aKbOVoJWfD1i1Dhq5{;y`3=g+k^H=k60nbbESIY6veJcmU(Or&?mXmy zgbzP^1gCR%T5_v>f|dUXHPycwjSzN@=UH6G{4B1MOI4MA7S~yV#dT!5KSws=!Q#3Z z6`ORcM@vjoKwQU~>K4zami#QP`=0_{dkBU7|A^~G0dd`lOj3{(Bu%P7b&-)7SX|eV z7Y&H(&JzEL_`@ZqZpnF%e7x#5N8Q|?0=(4B8pVxLO)GxAX9y)*)FSZGNK;y2Ctir9 zv9?Ivqngf+Qq4I5!I}%=Cy4{=`ie^k3vn>k-kfEQ$><8DM&Ew4LkmrU9MedQE6~a! z&~bY*&bg&fyquP_3@IPGaqBqR3Gbz?jpZ6k+y!4DN->a5-&e981J;{fpfsE*0%s3VGk# zo5Z;swRS#V4FdbBmbDAh>9F`OUp`h0t@2alu7T_Ke+BfN`2Q2opZ;G;r^FG057Pb# zB3j2Nv1e3rvpUph-=>Ze*4oJz&rETK>*BaAs!9Z$7SyYbS8gu$)PYUDP#SN5^3^H^ zArFizg6;&)2me(nyhUPI0EbTlF7Wx+)f;_2xlIe-PX3Mfe*d2l9}Ld>|BLt?{~PgN z{x{;MgCoA|pNM}P#8C}(98?1bM0{YG|L=%D?)c5lmB;2pOytl@&loMFQS=`u{;R4t z&rp18mCL&UU7t(e>G@;Cuu?C5W3-;H-T#8(8#H%6L-C=0J^)bsCx??TFchDUo^J;M zaR);Aod0jckCr}pe7Ft|X?>unH?37eFdCg3-luMTL2T!v+A3{ z{1&an*VA+q%g@%k^-{7T8oeTDW$tz1f@RQB@gup3FZUZQ$$!jAhfpxg!YJIfY9EF=mtkw zILP1wvi{3CC}A6d*?=m3v06VukD8LNxTf|6GxKYzhvm%cLXMha8Tv{TZ8tWY|)O*eD<6QGL= zeWL**EKWO3$6NB8?Z@_cOYUe&Z5k21pfbLtqPIVtZueFLKjI5)Pt|;7dg*oEwpAHB zV*&ZTy**7H_i^`e!H2~t>jfScRvVb@pQP_`WKMhGZB$yG;&{$p@ z0dYMB+L2TelA|{Ix+l2| zouu7ISI}?}Q-x-3C<_k7$`t}}5O))%J@U~l2X^Kd@(T^SFNjXmKlk=YzjwVtJxi_X z0vU?XLd*qa;4$6wv;TneIuVf-=o!A22La$b2BABJb}bs@v3%at{SU>}MPvCy02dzs z=TS4a-(1b@g=QMKaiW-RfG7FOwD58~yLyBgU%AM)IkUVu{vR8?=RI8A&#qwGWxWl`P)!)OfUw) z72^FzTt_PK*$#J3L)*+gz1JD{dXvGXaWD0W!{b)x;r8gT$K{6h(; z&y))R>7@&kHf<>v4u#wy7L<(hUf^dH`Q+8u7brTsFB zny&alEjNrs^?PkVv=?YRFj((cnWQVgqAU3(r_&j~*EK4J9qM8*ZjN=Rc+f$lyaf$P zIC+9vMNbmeusN&jX$+nGiA@Pm*TKX3&F94P_me3A>N?0gN&Vz19-4pDb>JC(9Y0uI z=l@q-XJq1m@{hXiGrk9-eze0Rp-@0hc}-9kUn+r_mKda#H!>t^_G~@(@tPF^I%d!3 zZ-st*MqF?*Je9x}pG03?PmF~W0W$PGjw)dpj?GG2s*T8zabc>tqRK_!tetqy<#@`6 zs`PhWfRVmwLNJ#z_qfdKx~Bmyh-{dbWo>Qr9sYtY5BSy|sY>|TcKW6td~1KzNc9af zvcVi02p5Wgkv?^1Rc_n@8@=LzMk)JuIbx!L*CN^3^!U8)rL4UYMlMyP8_%3f-HlQ+ zG9k4_NtYXiglWUT3b4g5lm;q$kpo`RN$M!GJ+e=5CStdGKRG3M{3plDemHp0W-$|? z2MlBm%jvzhb>=J$Dhc7cVNkyQj38P#_=QrtfMDcaW0?$&XWTB0w8GuSM|V%hmwP0& zM%I-93sBO(hZ5=Hhl0h9D#^2)^j#Fmv3r?+z2mzgieU5!!ZZMLj5HL0-@SV+$u~rc z1#y9jS82ockCNW2z5LI$ea=1_6s|nS;$<@*6@gXn4OK!AkDg8$j$RH_skJ?v%!UHy zh~j4yyfv@jTM$UN@x$jPqm;exWH7bwWh;KAPx5`r0pRwg4reH}ah5O40l2*zJz%6~ zD8r5A;LVf^sM)A`?NP(I4Djz#Z`pYmDUA-B{M`t6TfFTr5ARwthh)35H-7yw(lh6-u}{b7;oco%HXZHoKx#r>_=mzjub})96xyo%EaQh8J%#6Wdml%u|Q zY3>OJl@KqD(u2aLgi)ED9b4RcZ&u_i>^J$zFfpini{Y%lvqLZcTTpVRx3mk~VlOKs zBKu_nMv#z^eH4W0fju-SxuM`XJ~g((d_1?y3Vm(7-@z;NY4R^pv$u}b@_sh^F*AY+Lqj4pd0RzrDkQ-yGp3HScv5D@Ra1!eCF*-?rG|2XbzuPdPX*# zK&&t%i@%&I2l9u2e4nn?{xJ_lM9f_=c)l!e9*%VuE6$CeOZGuPa~Eu`OVk90`BYps zwjjV<_rG@dZ=f&EIMMfbC_~!a{%3 zd)%!Rs)3str88B{#U1BJMOo9={akZY>!0nDUKLmnK9@a(U)k*dxtH4 zm**y5tN^zCee)kN{SY9g2iW#t7+whg!`la7c)A{21+A-8@xV6UW9GU?Vl7o9Z2CX_6eu z&EfY4aML{!IL}J+!{f!RM_QQRoH2XWyg0v(1Nr_&E|69$7A&ThOE}N)a%Lt+YL(Vw z%E};|wOc-Syd;%0R?>h@rr&*7U6BFuy>up}Z{lkcA>(zfJfz-ar)iVYopKtgn4`p&!*&vYbfBo_eFbVm%d86jdYoI2ZAn)lsxg|9ln0nA`GCVz|n>)js zEx?$C_=4u^Fkk-SK~n0?9MV3V9OS1vofA-I z=A60+x}|FT6e+J4o%?CANq;GQf)ji_e<^3M|FbfgyCgJll?pmj$abUJTHp9v@`(AA zgUu32H~4y<^CYvkdeNdqg&?c#8E!wS_o-`ol@iAki+SpX?R{88fWeELecP&ukHzx_ z3LCp2jvD&K+~hO?LC5LEJZ$^rVyhC$wNo?nSmJAB@Nt((KWe@?|8`2TpPdS&XMA~c z-W{KCqJTEvbmQ#S(1q#y@~8}e+Y?F%gW>jB-(&%}Jzaum%uyL?TPXmyPX^%jaU2(; zZV%JhpH!=DiE+#ynOMSKb{y#)fUoDZTE`~z%f0#z{{y!dr|65Yf#doP!0ko#oUU@y z8uNo{N|ThfLP`X`Sc74BwTqXT8}I0Cz%aaK{pb`6d^xJlb)(tAp7XiyVoZw&qUn)o z`^)6SK)yeE*lBZbw0+_MDtO1|3LY;GMv5O?!9SDjfeL=(xq`1mAL}e=BCmeWi1VgE zK#yumbfbuhIO0yfhJkq8=a zrmhkIG(5me52oQ!sGUE5pnCZVzW^io*5ub3zr%g=}i1_h+r^-z|r}O@k zu2C~Ki07uGkP8$@v`Fyh`W}iJKl+Ghv1H=lkNK{Y`~R5lSfkPZZNBsVYrb28Wy^RT z>Dx)VJGG^Kbk5MJ%S7m{%Y-cHv44b7X`5eFxqmdpm zM9A4oQ2rjB6_WeQVs9k3{g7>y1>N-arbpYyn*X3%Ov@Q7GUA{r0Z#Y#E&L5h3e=m4jIQFaEIUY zx5NK(lzK!WQ5?AD4|Mpa19uGAhO>hXL}`@}AG@Fy5-TB^gJ5@w_Fa)pI>Fw%KLWgI zPjlrGvBlGp%(k1W`n@|neJ36ivkhbj_Qx@LcwL@d!B#W><e`pLmGzu2iB`JT19B(XA znZlnyiH|!HgDmXCA}=RG`-X`?1Rp}^%?%)<$0rIt4*-kr{u=NKOl^Ug0|~Q@$nWkg zdRzw>-T{ZJbesoU!L3r@%PL8*2mHl{(G{Op4Iq<_^JCXYOA z6%~bW+t+#@p^h}U?mg~2BCyOK&PY5Iu7DvU1cccp05#QbaOxJAm9 zL_nbdnCA2RUInK4h+&|FLkZA8DVH({#zYL1BHRxHZjjOEZ1QT7w?#cdF26{u0F)jX z$HWnEb00hbF)9K*|KAq>KY0A*^*=5Cd8UM(FJ3#M9v{Ew)8SlVyD1l!ptjH2v!6b5 zxu6*UqPA8|#8r>(H z7UG`GI6qiSw6t9!%RKjWgdy2cWxNKf8-+%kq*Fn%ncIZ2|J3_I;ch|e(}w0JLQB`$ zS1ZdoQ?8?;6vWT|Iw`Qf?f~YmzYaXkXWWHyV3%d=$3d6x>gAz5sZ5p6Ipnnag z#hRwWh3U|3M`2)8A%~rJX3xf-@Olg8GOQIixL1ER)LSW%Vw*oV_(vbBOS1hMBeNk` z14rH~ard|*(2^L`!IQy|PAo@5vZ%d>6cO(+Fou<***tBig7S}3{`pF2eROe;YE~{J zKL)oS*yb~u@o7GNaFd-;M*j6ZZ3O!%)TwW#RdFRlJ<(5LTOE#yb%h})@9e#fmhI>; z%gM#6W~P1=)Y~GqmXMxQ$Z$k4B?YontP1EF%xNB^e0#PQq;+-Vt!7j01Yw)uo+*+7 z&r4=X3)z?yhA&$`S?0H;H`wgbwreB4#Ox=pW&b8(+|8oh5|j=uI{+i@lT9Kih*V(r zd|k9&StIxH)tL_O1qZYl^C4{Lm%sFW-;(|21@!N!1XrNMXC}iC?>K#zVV4e8)DP0> zGUsaBiJJr4{F>ROPCIoKi&S8n-$~KJ2or?OMvCzzXs_`l5cFj>%wL+g_WSCYgtJOO zunQyZd={NnP(9+5qzEJ|Y`;qYZ}ac$vk`p0l4yIcs8CCuYoL!|l*A(@$m{Dk7cOVL zrnefsqf(4&Owvh*1(N=UQhPKRcaGnkG%}%)=4~S02w`8f-%IMTjXs0!vrQ9wzk?n1 zqx*oP-aSNIt`-Gwl4GdiQ}+SZ2cUvjjWP+~nVo_}2otn-`S8JY>|_&BOzdR`wL?A*oos7R=6 zH6Y=cm1NF%dNgGN^ZDl@e;!=qv$UH|L{xpi&|zSIKn4f>F$c;b^SZRFqNoFld`k=B z(XLKLaL}iOBZQbd?YjJ0$zuB@61>oFI&f!c;f*#e{LNkcCQ4vDKe-+e|etz z;Z%Sy0&nl)dW+lpm+=LBrrOwR-19ykIw#HZ>`b^sVGoUvCYU5iC@$@QE-lW>{qZ@# zQ2)aH#`D4^$=|kO<>6}G^n1M%sirMJyqD$Q*rmU1Rn8-znsO)HwkkY^Eq-Brxr>d4 zL;~VOrHJar3>x$X!E12>J-)0(2|ptnJ<$T5P?u!BCNhXmmYzxxQB?o#QwWTg z4d5h9p}{WVFZ}&=P52sid}G?cQ9+0nB=I^mkkC6O*;R60&S0bQ%xjqGG zB(+N8ss(yoCcJ!m$&i|w@gCc_L1p$XWAOf8sGKH~T@e{jx+5OL01rqh(3CFPXFA;c;0Q6+%1Z!mW%^vnUz^mkGmo@e@I?l|Mm zGyOjBOkb{xBBg@&!Xn9wYo&<&z4dq9Gzzsn2e6)g>won0S^Pmo?~31jT}JX0gqu?q z3$UHq86^JTi+6PNbB1^ZsqCa&{Y0tUu5@Z7sZOp&+v)Km-Mbw2uldxIrEZ4*%=BFZ z3slRzY{yfTC4*otRPA|#O7sbfY$Ur;m*`{@i#y{7%Z3O2d_MsxUubYJgv%*GW9do0 z(!+q<-M(;~;$VL;!k|LFiEOaR5!t!EIC*(K64>dpgLnEeCN~y36lyFW)DwZi8h4(T z>-tXixJWNEVhp$ikaGb@UO?<=04gML*JJB)q0qXvr2F*82o7c58Yz0zZBF#mZ|jsf z@uA?EzG8EoXcNMABBM0GyuXsR&>aSt_a!7ap@8JA*_W3~b%SL(5AlIQir@rV&LdDa z`eUdivf-i#z`Um!;jpFi{KLFo`7P5vH8O#Dn+ROd%eO7Zve_K?IX4T=3EUS8a5V?* z8FibimJ*?L9S}Y%>=FTmogrI+>~N!FFoT(8Z40NDZ^DR8{-9Dt(Bq{gUHw?CK2HQ& zWb|~BY}Ls2und@azZF&7J}AN!u^u8^)=Dr6KBJESpV8ayZx0kV#<^h2Uy9G!%HWGd zLMhC8Z!7(4sPBe70(AM`M0gC3w$&!j*rWq3yefY#gxX_<-jt7d1@|$H>TZ>2pvl&` z0?d2vyf!nz8VUP_@2@v5l|$KhKemZte|=Ebe_0P!*g@yMK&-z_%j?v3k7{I}21=w3hxaq zvslh+|L?o%x7bnS&v*0!-0;NDcl6K9`(#!0ve1;53~ zJ6rtjOn|=56wue%iWpYjp@DmR8$U23Z}<6*-Uzs(j|KPmPZ!Sd{!9eLw@G<2Or#t^ zm?`zG{xt7xrx$PJgpZ6n-oG3U6kqyoP~f+ljby{oIO7f0*R=uqx&wevvSpSvNlmC&^6Q8h<`oDs|D6~=Q>&$uUECL|%P|BUg zpF_T@u-zqG!U%c8i~olFUkJw-ExGjbke$}$we5IGXy3kefC+g$)eh(QG1H>At$+1( zh!(hW{25fa%4U*@MBhh0%gMd^KG+@Vvq2Rp6hraMYP-~wMwGqaWZog#?% z^0A`#h^C}v645cI5J6oSQ&|*5Qv}maE`Ynf18~>36YsNnbIub3y!&s9XcjiG_h@@h zhdNrZ3$L+#PAc@1_LQr&mME_oWfyB?J*4XDYyL4Y&r>w-U9_v!omF*JG5V8Mmhc&4 zGH6_%c-=Z}D&qw|Zpupr+W|ZOhZud{+F$mKJB{iM&4ggTy-OQ28+`XqQcu*X%$94i z0<<5mssu5O`(OVh<`Z+)c|wuV6XPdCv+h>5!Yy_d8QqcF1=!CYSGGpAj4^a9Wy+5O zh&_p@9YVHk4X^```;P-}6L8>70S>&o>lJE(i!1VH2OiOC%Hr^T{PHU%+Jb&(DUBPi zB+NR!c;0twz=gV86>WQ&HGw$}5knl*F4GVlW-03c9YuB^e#w+jN=}nqcl*t)afXri>v(riDDe=>ryFn!m&O!fJEC`--U_f_MYf z#m4lZ5Qfe1_50QFQxLE-^h2^3{Vddx2f|HMki)KUPH_z7G}MF{N7k|3U`W2d%o8Hm z$+{0o!n9orr|P8J1|)c+=a)gt9S1C^4>b2Atj%Al+eXAb`x59R7S$2mA~BfxdSWaGPG<-pxtp%m6f<*5pL7xHDSnsFjzjL_VO)RM0 z;wA8O6@39E=*^B(;k5R9C}4*1>!b4h!6dHKv%uaM;HkQTfBKxJZ&htBANLII)m7}?9t4rm*zA8Rl#Kro|bEbwMP%)eS~ z&1`X+Tpp7|pHRxUIz2y%f?r_Gh?aFFx#kr#7fw)t7p)=Aheo6brQ`*&{t%G$%OPr; zp!VOX`B^tX)u5j@2Uo8CY4gFg{{A0y{{4QxZQFzO?HV4wE^6S9-Ek%U$x>3uT;zCIo0A!DGISnB&@R_kkLD%@uK*!{+w6;20;`YH0y zQJ<6mjRFLjzz~M@ofBOIbbcHTf=N&bI~ongB4t7w4kihWtI5pa;|^X^bYtSSIw&ox zt{Yq6wer-Qt^0X(v%F;up{L!7iB~b%Tl;i38tMAjV}UN`xr;7$x`+zS`Qn~5qC+lU zS-wJJ5Q%8G#=&Qc_lcs9xf0D3AyIfz^MbIdsgU2Lyp(NP=N;G>4W$oy6>%su!q6zU zvqKNe^(Db`eU<(z2O3dh!ME^;L+B%ppWzpx)zb>?0*(>{P^@ka? z-Oe6=XgQrd>EEK@7$zO3LO4$vF5ui)xctn010o)MC%s!EBIz@u z{VZfIP&10U}GYldt(jV)Q>r|55}H-CKOMeh1Cp1B>{l%YQEQ<;T_& zQrm9Eb1HznK3qjcrnlS8!GYe?;v$}!eEP4|xX{O`Ay>Q*VtIFjP~q$;A~+wFFA1s- zLR;*bEWJYbJ;hq*s91gejS3)9QC@_Lx13T+eP%;*lk?GENTh3E-)Pk4EO~M6Z6Voz zm)?G>0+!*SMi?-G;JX+EG&)&-stZnkb4l2!Odt0{-$r>1>~*q&;h;)n4Pbt3-1pRw2M{DoXfUm zV}8(n-aXJBr9uq3E)2=(M3ie8A!>IV403jP)IU!-1tyJqpzPsBZLB~b=IHnwnkV} zj0*l+>Z634(bBmE9Z9RK;{SqD&CL(*FRi^ecf%KjoiF z9}1}SJL%(DI9eUdOIqD=j02BX3iVcuu}R*sdS*+tya-8Bph1At^OGb#izJI39 zG}*_+H1Olls0uo83QQIp*6JY8d_eO%AxVTC8HH$( zS{26Mwp!-ca@`k?_a~muc)h9*fAD(m2jRjc5PL_Ayt`pbQ==Ye5-ye#K};(ZR#>?| zis5&{-tWUiQiI-S#JLv^wrQTVhEwW28|~%_A*{600AW3}4-3+lHL^7D89o_JBB~OX z47-kI(AT=+z4vXbDgE{;-*`J^m@={w6d9pE*6P66QtHyP=FJ#>5nq{-`s|`TD;`}J zvaq6Nq3lalkVg@v!v(VK4ygwa`d;nV%8e50PR~v|TAThnVbRtR3&TZoLk-s>x-jqg z1~d=W^YJE}o=q@69}O1>`6dFKfUN%GA6fkfSXRGVZ4sBvp%auitm56B0<86`Wh9Iz4tj+=Vsl_bv?%%?|2>{TJ-i($AY(;Ny5-?a z){4_f^1~xhD{A{GRe#d=xYHc~S?SEoN1ofn~D-zY5Qr`I* z`Vc@PPv=dg=5_p%$|n?D>!FIQN;z#45Y-O>qI!q?XlJAtUWl6@^*+@=rqC~#n5jzi zoBYzb2nw~uk0B!eHu)kzlP~N5t(nUV3-%El&*U?a=Ykr(FgTO6IigU=ta~@}Ff~l- z;(5bS%$!vFg*(hHTpxw$J*VPhNpUfvGjw+2>yOX@<;p!8H$gPVg@s4}U=J|WYaooc z9+IDX8)WW^i`#cA15Uf-N;7WSLdf@<&S{CO3_AH>Dacn(T|VF6E}unuD)2M<*S}r< zWBnON1t-D!BzYhX0kY6K9O93-03T5{<-F;P{brZ9aYC@M*@Vi0iyA@SFhApZj&@1> z(#~8KN8nx1A9+xa)>8ht?lX_?TZ-bPms(yX&Dt{W{F`Fu;!3Awo7v`4KjD(W+wY4o zkn>F{TM!JgogxjjuDhtVd4sXf>N%oI`xFYt3{lVVfn)tSbtZ)ItCKaCh=XOc(2}$~ z+r_FVKg9TP_vI*f#Cuio^*R>-wD)3kGyLs!bdO`Di=s(g1uAXOHlSvxjInkZhj6&Z8mMx!XVW z1310jkk6Wop7;Zt8q%%fqDW>IaEpPDurg?m1y?Y!1F!%?Sg-sv~ez7CF zw98Ix`lWZW62lDZ4uIs;dluE7RBv59i|XTPmFZL~clk>4+9W9jeq<`SithB$DGZ zh+2P1rQ71Y+5I4f;S%4fCB(~Fvf8}0wJRL)Bc~FYMRoM9qb*Si?MpnL^n-3M_mSmZ z=0lEx@x_;(>lB;N&v-a*ICvr%Cr>PWDFS!4Yab*z2GSGo^10x%c8c2$jtXO4mz(Z3 zF@#oMIOTI5bSX2zZ!l4G_}j!%NYAd0ud6`mx3>uZD0~tqeOcsK0EPeXTFv06M4Ha- z1YDCz<(IkQV1{=f6#g>3W}d?(*|+H(L=)(oW<~X8jo3a)MBlDE6e;^9e54BgMjix6 zq~RY-IO#WO8HP)guRAF5!TEge$@z*rbw>9Kyot^W$Ru;oz9~xIJNNV&&^h-RZIEZu zy%wD=O^IaqeWTo^A{(A{FO;GhG$GhdBhd2zpCEQwHXJg=0jp#z)FKJg`TJVrlMZG) zF#)LaD!{eAxM0!sKiB$mhP&)Tth|}6lBK`aHuoYYtu?Vrn$R0JcT~d~mZ)V?@!8M~ zFRV}(^j6Tf&A-$lh0w7@f5X?SR~R_>ws~LWdwn$l%ZB*pYc-!ME zU;pEUKCc0rxfvl}szJ)d`KnZ~*u!tD+zsv+h*}GGLZZ_0?sPF%+HcNyz48&MyMv%b z{(*i&(8hZ`S5qIxV#RIOO+{A>N+h>8ANXquvZwav#i5eQpkB#C)Zd#vx$TN)aPbCX zM-q4;hSarqkFh4k0=w15hE~MpRzjR7F$qWd6HTQg27;)SEv`?+E0K_BKa@B$J+PHl zuU#ThakU^^79{$w0s)WDAXSFPjFctU*`d z)9h>Q_h=LsE1LSzm{(q%+c-eb7w#$8&g}q#e)?|Mph}I>e#-5a#2A#&{G=2*JRs;3 zDhHsr>CY<`21pr9jcj(`s)+3Mx>hRu?xB!4sN8Pz?bf|xhdo7Cse)@=J+vwY7WF;f zfJOb=cc(UOw>!OM1K>)t?`y>w^=(juLJdco0k<9CJG(q<2}Vt@LP4Q&)&9gO019r9BSYA}iVK;DvIyP8XIIoJmt5Ftm>F#WxxfgS1}w*t=900h0ZuhrJ;}`$Nd{EKPJd4!2;u;mfQ1S%B?-XoY+E=s#qWl;T<=22|yo=Y) zk`G|E^DXbT+kP1UnC<>4EbHpXo-CcZG$!r%%YV7N5%e-0jg-P?_&sip4gC z2M*^5=co_=0G~@S)S>e-!&PL&Q?BC;4n#LIu*n}|qM=450aN>43s!4Q4{IM{;zi0O zBZDAQzE6|oryT+QgA=U$t(X^czp%4U0+#uc>wZm0UKeoPTP+FgQ3ZQ*xD=x{of^2M z1((<3E}koxa}GkO4STbOzN)gyQGPi|InHk>XFKAhdDxjs*J+hER`^@g(x#>F;?+#D zmZc4GTOWPAN4huT&x85pHrJa2>@!A>kq>L(j|oB8dAeWphi^|uz94ycaHi9Fk9GAX zD>&h1DdKuh_MzTE<3VNHPLfcp>^1CbjJBM^K(FIgl8We&6ZXGN%|0UqHu*x{`67W- zU2CJh1;KcZy}nH56hg2>!O+Z*P);+ffp82WTdaWyszekh-9A*kYd?5k6#E!u0Z|XLp81Jup*6`X@8MBD_+#e2X2iJ+$@yocK76o^Z)kPg~ zQd$qezEaFL`uHu+4|{jvjuXQsU400Xb4$b60%&{8M7rzT2ZCEodE9H-wuC<@_mXx= zRI_Xg?lC1uIG-r`DgZ@a1j+~l^Sx>oxEVTThO5;wp%T>JA|Gh<-vJQ);M&#vWsirA zvWYtWu5A~b;qR)z96wYQx!GnE<`gj&)Z@v<|)1UZT? z3i|=4KCafM$R;6zssLnf)BFjb-{}VdC!*yjPokfSP6~~aq5Xz5tb!a{2*ax@f|QI@ zq*q@U2mFOGEwPIoURSi0*74=^yr!jPOUuRO-D&K#bMDWJi85xk>TmIj&d+GY^jpVJe(E~&N!Z>F> zv^pb-*6XD^W+y^H<wfeN544oV7q&tkt~0MFTd{7%HU7XKKIjEuW#295Ez<)9P3 zOdrcJ_n#|M2od0Y=tH*{M>6OrDR>EyAVF6FR^n{NS6pquM1Z9{m&+Mv%mf!K6jLAx zXQ&3Bvt{B78sldh$M6z7x_w3cPVi#Tw?ADNSzcDXW`-nEge*weWB|?#FXWy>9+Ce& zYH90V#$EvpL;FQ^zt1V=$EwQdW=pi5gy6m@jYA}=Np9)Q`j}o1;*d_e`oK-o(Ev}_ zBu!nnKGrw6qOf?uN!r-b+0IejnAzyVlMA?boKq~UIP;>{QXMr|?=(hUnV<8e`l|Oj z3-XptGu;LBo8t{m7AVD3?7^>TUmqXNPQ6)U7tB+E3l2Lg&Ielj0}ghh!USjK5?Rb_ zXk|LfQa4KG=8YemDfcfOXaUF`)qpiR0|Vf!zdE-Q6|Hsg5UmXQ`0?Ek4O{2$BthE# zN>RI-!E;8lAHVcD24ZuvW^JbPSxWN~i*nsq5n!%lGTxEI;aGu*3?bC{bapmNm5wVv zs!l8p`>YP>vnrZn@Y4yB{DLHXGFHxThg4`3s+rr9RXWyKkM1&wl^3 z^z)scis^^*i4`uYFK-IKIQz%}Ydux7DhRVj-i-G}+WnT^<;`Gwe4VAcn>G86W+SS3 zZ4fn8{xfE;XdEeehX?tLQt9q?(zmv;s3Wa`$}=a+%h$Tz!N%Y<2{N0BRnJJ$xQere zo(fMjqrujn7Jm+tZp|)$N+c!FL=&K2gHZbHH4(%7QF#b!}g-tU^0 zSfxQy&w~3f+|ZB4V1}J7ddxuvewwEwi9L?~cqKzKkz=Qes2}Oqzt`EmzttWxE$f=4 zQpaFq@cu|}nf5x^xpFS9)Hzon3+2zbezq=_fn`+B5Q$EEF0?xDz-FEyB?2x(?0qZw zACmrg#oYMoJasJWeDp~tjR7aqiUajUy~*g=(369PuaK0!fM{(% z7s6Obs&lg&@Y9U(#+lS3l>=qK9AEzNk>l|(T$FF>!jihVH2>%Bx21ck9sL=>X#~qR zZ?&tcv4_3~31Usuuz#SK_%J$PyN{`^!e5G6k z$cKOLn9iH-9ejkCfrRS(d9EDVAE7ObsSDyn8D0 zBfy!_7uoo~8uXxR{!$VbLg`E(-NACKwE<`;6_p}lh zin0)|#bI?6z+8rj|L3DK+$CPAC)r4)?i6m>3;h02fy8c zUq{M0iBVayHpWb4*FQrr8F9b4QB?2b?99c=j*Bw2S*QUp{OUG^t(tuq)bcRU7(cJ# z4m8F`7S>K0MTurT;akZ8;r3h#9G-D|VVyE(`IUcgdo?5HrXbv&hvd+&snr>D>R+V{ zYFC%|jippK18qPc-}#Zq*+)d2s`pT~~&E`xZ%b7gF0g zjQKXdv=HL5sj99e{AMWz%v%5Q_HLhedlop8Kbyw1^b?GiV3SBb-sV|^l_W_Ui=QZ2 z+TD-)%2!i?=}#Ck*qa^jMH{5louAkQi+B9~gTuFQM<-;gVomrCGw{tB=e2dh(eB`k z(f;_p{xfjT(5Eb@YW!+H;F3xXf6k!UdH20oJ_xwSnvN**3mO3KIeSi$ugawZ|6!WX z>MWQ<>FmTA+MsXP8bICe%jYf+peqhSlsQ(%%X7h{&h5=u8Icd3H(5X3$dD1VvI>SXs!GT9+OE1!dm!1 z20&dOt*M;|Rl#~d+uN7pJduIY;j+{~;$tz3w4sP5Hg?Yd0l4mh_Ttv7j@*CWgm(<2 zdt4W?tSLEXpDboz(PC2KFO?7-G5=fSM?V$$ZkRed-T%ADcLc8W$H+NAMgA92)p7{$ z`2{l%wEtb?_X%@dMjVp5K^d=A2yxl_+wG7pBJQj&0K`0Zi2$N;-kdUMZjYP@hLq=U zFWfi_g!@Av+-C#f9&|4cKe3Sw3inpsc2r+`&p~r~Zh)A#&AfON-~uA%i5KNb@7D?^ zX})L^*1!&Y*msohJ5D%czW=JrWq)ezywXr_+9?2S;!ggKTI_8lH>7U{LbUiEzjC=x$m3$Hz=0$r%QWl3H7vTQvHKl zCVCqHh9A?px2eqjG^T$$O+(Qeln2&`P#pwm9#RDlw?{I#%L+2quUX}~1cD5A^t#>h z*?g>!=7fx$Q*PEO4)BU%$b>Jj=BLzHUf=_~JkO@?CYJ9WP++XR9-Esk6v|kIIcB)@vH=U>_2L8aZBrgp5?6-s3zyD`8w>f58aF&(u~LXZ6iIV zigc|kpWRLjTYWw1gAAoDZ5~hZFywrL<$+}yu#rhmUj=cAulFS7GMIKHJpvXh* z0+jc*U}1przAFI%E)9)1E5uv)EEB}qd+D9Pc1i-U_PlXAB$_R;x;ceFzlronYbye* zutMWHbVC+A5-fq-sHCrXQ?kxi2EVnUF#V3FcK8A(}Y}3EeCWQDJ1t^8P0nf+ml<8)PxaC--Zv-37PTYUqX z#O}5i8d|>t8A@ApEL(4SlQ}__0bv_&M>ealm-^86nTVA0KK-6yBF?b-pc8$(=M(*Z zqP=__4ba`w$ld}c`lp*nSVET>+$tZEP~S+`PTUb8U^N#9zsf41ogs~r+0um(j?56h z9QBp(zBI>rO`DQYvI45@pZoj$F81;bG=_SoyWdESH*4ZkEF-Vipk=#*k5Y(%_8wZ; z#habcD&hX;^vgzn-8p4--PhYylDcOW@Z7BvuVPZ(kfotL3Z5SWPCPuoiTAGR?A2nx z^?UqHpN21wb#ich<=c&sWM9`)Z&37p#(`VEXa^4T^C7{kw6J_5JPCYMh$hvIGVWlJ z?AU>DPr@otH41jCfM=9EE)Z@l@t@Zr(ZF>`7URRm(;n4T{Kt#nD#tQ+;2!Jz@-n&j zxwj{ElW=5&{LIe`VD=d4B&CbpGtO|y6Fv!W`7+NPhcbjf*ygRq1MvJneNbnw-@i3B ziGa>84T9&-fI9o_johpWibQgSAz+9vW1&U>9%xiouLsp@<#w-jH>VCd&_^`6swG6( zKG(iS?fdTES0Dp)_Nd07&Ym~$lgCc%9!4N)yg#bJlAax*@7VX;_?NnJc~7}M4*eaZd>Ll3C!^ZJA}Aa<6DEJwKFJyDI+{Rh3xv9q$DgFP+(p52kyQ?REt7(x76M~;dv zlYo&h^Lj}{kMdx5oG0Y_%m*Bk3Lw`Pe^vs9_zMHqK(3cph|Dn$J_NLaXuAA@KXR}_sfIoWoH7pXJUr0?GMr->f%d0iYT&nN`tPjf6)2)f6nu( zfb)F$*ukzfxb@iA8{EwU;~KVYUorHD4OLA$*bCmbVI}~j{ev6pN%RRz;7kF^i#*d>bL!% z>wMQIcK&{ow-dHdv#Z0!@4IjDMf#nUTfc!FzMPHgFp@*eU1I98-!>%wsk>nOYdtYcs;O5*`*KhaBh$z6l*55=Y z18+>_O2x&1`~^!Zz4vvdjwh2ltau5YX#MYzq)9+~ZwS)f4=!DBM^DZRE&|$n)Vk<$ zNHAqMS~|SKq#=(u6KsgP#!;$u4SF=o-SB2*Jn9(SMRq;Ia%BSal*r)<#x8Fv6KXlEl9k;Cd<<%+*h~u4xt3B{D#<+PPxCc~X)ZBVGK%k^a& zyD}~_^gp_@35Mp^_}8h- zrA^6-@v7G`xAL+_w!eQbG4|$jf2dFaX|waG1(sE8HHfX(PvX6s&$;tT=PUl*Yy4*3 z!B`vQW_YaPWbFVwf>HxP`%OHN!%^udmH{J9?yD){aa}Fgr@Fo@N=yDj&X&#wV6DG@ zFuuG)aps%qu`Fx^*m@_^D;6<`wSuJl|^<)&)&RDN9_SL5bf~q+f^$Y%`kj?k*J+W_;{#$RpV1)nwgO zSLvxrqEVr#d3$=hJ()-hbkmM8M4@;-z0lZhqdVfW0Xy zO0$;hF?y_0tU${KO6!HiW)S3Z?no5>+{5tvd}A?x0fxr1_D-{OLkF`Gp$uWI+$4yO(m-DF8=v4<#nAsfQu;LW|l8)4~f9R=WY zINHf!Xs!SwhXGksMq@dbj3<&ac=2ME{GQP4`^S zOb2k4-|XyEzK|4Pjd43$D%T8R>oJ~9(FME$*m}Q9IBs%w`Kn)k93N$y7*Y&o(RjMb zztPe~V*{@8ry+8P;2dwY#C;krajFb6ID?B}mOgPfkTI*+O|;3gaeOAS2kdq>>kgDT z`W@9|>{`#}dX&8(3%;=8l6p6&AhDxAcDtK_EA>1E_qI4>oA)Ww0!YX?xQy$a%C% z^#`Q>xy$!>zRRBn-Q_O^rH6hUN(`KycdgWF-WYs$@PS#!52))YA#adP>z)Ak#q$s? z-@k>)ny`(We&K(7XkzR~w3~fD)k_C}9!QJ1pnGI3Nu;LmryN>UM=e-ZxMX{M#16(k z7JC|H!&|&{&PM>`^?7a^Oi6Do@eoPXM!50yM(LX}zesidXj(SN`20c9dNJzD$pH%g zJzwMX&K)uBv*0ca=<5N&9njZ@!@)Iz5crG#2=1`QVu^76An;3<+M}KXch3lXmuCb% zHVA?56z_UK3<&O?`FNC1f;$TPh=&zYLT(Aihz|luP9+g?-$=E&B-sB^*Jt|J!R++t zZiQov`^7p8lfF>nkYG=C3z8$8pmsS=kR!HN!Ds*VQOl1)VTXYIcaXCc zp+)Y*vjd8cD0uU^oDM0j!{6a#%^T)$nlq3RF;|Itj`YN!cYrovyHzTvxH2MZxS^g+!mgttcFWv8*Q}P>@J9 z^QGJB8B3#6I}wkCdp&x9O>~h*6J#Tcm^%~>o4C7Z;L%Gq2u;x;-4w6^37os{9R)c8 z;AG>>B~aUV^X1X`H;B9{V|sp8{!oR`ah1 zZC>2Ma=`EZEsdjs()g-jtLJ~FanEgKPgHyG?$#G#&MrZ_K9B^MjB{9aj2m90&fZF} z%u7G~n8f$D^q_-tkBtSa6xp|5V;Pmws~ zHlv>^T;2^dyT8Z;div?gu9qw%u)B3S$iwbw7zaR4A4#N}!!snfm5hs0{fTGo^911! z{Vg*Xbp=Aiv9ttauk~_~0HHxV_2KLZ%nW%|0qq_5a!FOs%MQ0XRIC(Pd$y@(F`kWd3*YA0-BIa*{25^>-V-|NsBbydbe z)|aF*Pw38OO%HXTOM!HdB5Fu3C0tI|2`vm^_$Sxry^wEjYKMOk#a7T`xurGNU#tcX z*q&^@b+J9TcRyQ8Ww-A4Q6#!ugFP|@QS%Y|g@I-W!tDiN;1Ozn<7Xb!DKsJ%tH!gO zOC^$7?h&v0jhpv^lG?eFs!A}DAKGe!wvn}9W~~SV`5S#emiu*1z;X{DKu!t#f4Dm# zqn)?I2$M!-IQ#S%!;2SCb3EVRgTg#Wa$n(#u++@oB*d=Mrb2JahQOShyd|M(cv#{Gc0yM+NH8@wTyq zAXpKQGH7$X*r<`tQG3Z#0Hod@wjM86uqNH@CVzPA17Gv$NE`3X@#)M=+pD@dMuv3m zjSgxQx0479ZCHPIvvDHm4{8x{Vt;gao;88*>NfGsabPyJvI(Ha1xcbeD6C&bQzwgm zW(>J!9mCq!Qw}#cQ_hY@IEYA9XX!0TF(&s{uQptD)^U$R1uq0$%u<#gerixpO;=*+$HhGw~7t z=X0uy{iqocY=q({JW9p(T@o$0gGGgd+VuW0j=a@5qgbRTAQaXhrA`bP zX*~$p5z(=URBOgDZ$Y8kj*K|~R6;=uz!iQPu(^l52$Z9MlxRHB@QlbRjqzRJsAC_h zbpfv&M<+o8LzNc%h$2o3Y3Q3d9R(isEfohq<5)C|Q_%GLT(RSX zY)UGk>@PaRGY2M(A*T8zzzM!J97ouM2Gp3u1#p7z7H%*(8Uvi*3jrtipX6|cqC_!} zgS>$g{Nk|M`%grm6MP|39af_2Om@}KR+(<&CHa355BTHgh1%BSqc)YGeG*Fi-Uy z=3n5F-#>5dKj!>s`5WdZ)KTPK(#FDVz9XULrCu_wDVpZ7BvlwG;#a=S(PlCnE58tC z>q9@qk{|e%`qOwuVD3;&F+r^iLt7JLK;&$K18o41==*_0FQ@WU)2oZJx$qmR&z2jF z3`srJ^sl9&M6D`h&KUvCeIdWJa!$#t!dyNJLw;hBz8ljSjHA-un!X2t-Dj{2br3-PY2{4R25h-|tHL{eal-n_Tc8e%Pf22ad}WJ}3|GQ+g+s<9}W6gRbzg!`SFI zW$y|{jfSe+@w8kLb)Yf9bjjcrtYA)$VgS$m@-4Pc{QAXF$K6Np)+Xo2`J02B<#9Ko z7FiiV=8KSQ#=R>sKMNe$t<3b&%p~jrvFa(p*fjM5kAwkPsBV<|Sf4j&C<3@8m@Ad( zZxg?rvkuU?{%lQ1HFbQISm#$cL#O-lBc<+3WC6}g;{ys5YBm($JWfF}JUQfprynNT&2%pN0TRv0D--<`J3+(9Lhs*P*2OkES{ zoqUgcP8cPrai^H~xGI|G5}$8w>VlTz35#!E5?fXPo#8+3**_?#znQ^&RkyN+`m5JK*sTe6KO@J9-CgQgYHa{NTlj`8d%(`ds9**Q4vt{ zQgLLi3Z6|3|N8mKHbN>SlVm8_M+P+vj9k+Kd9&o&@kI5vZemmKXaKo80(B`Il9y-S1AiX>&*aYz1VEs&DTfS09sGGqX+sU zuO!gbLp^u(l$3z=KB(XFqN0CX9O&u|#6eyCjuUOof%+8C)z{$vO14Fp55hr@;C+*) zRqU$)ezva7xF%)Ho)3rR4F;YevYE5@g|hG<-R{_dNi~S`m?Z)58WTpHS#iSkKbi49 z5MZl|1@{$}xl4F|WJpWhEO&1Vd86zcm*Sp&51`Z^&(0tD4R2zw+x<>~&HasLOOyP# zG($_y)-r`j<11^%giuVMLD1$tFpsw^e)H!*B^_vU&-}c(m(BXSxsM~A3dSVR2R8S~ zFEZN->3#3h6#tGuzYLv>9?=5dyh+C2i$vPZ&Ce{HrUKPlV_f87r z#?v@b0yg(!z~=tHs(Lts+34Eug+b5edRvp8xvRrwPEjEVp+lv7w|aPguU-G2%cG@h zPK9_tRbQEdc#RF44pj9yPgQ--&?AuU*`f>sZe_-SbdL{8_faL>?21mopmZO5Ab0H3&fma|gLpSnJF)i+dawa73Zo`G*t^WWa#7S{EtSmW)E03c4J4|KFDm$ zHEhz03y!amQyQStN8hlF1qS(lq<)6$WdU$K^CM{6*pFEa z*?a7-LcB$xsrEqd{Lfd3tiP&rQQ|c@PB#Mv=ruD5${o)3R;&_xmRJ`wEiSq^;P35J z4O@jk0sr(*!2hD0qP1)a%dsQoA4>k}!fi&uSGucgcp1p@xe!ta-s!d<6N0YCI9;Gc>ec|Ymv6R(5A)$`a| z+f?LiZiEuv`$VT4u4EG>D_0WoY_GTSZqF5q6khqSiH~u&kx1NruN!_PeF)JoX1t@w zgv^@#DGvH>1>=j!9E)bGLY3|9nZ6c}*`K<8@lRc!0@U>;s=w`IN=8IkKP*LWuF=18 z|8x~}^NIpG`H19)gW5dOF_L3|<|5JdTZ?mZg(~N$jk_s;i^ae)sxPceTouzt>07do z%Ub3NAz!paRd?3nT^s#E)mVdw%_I&PA4&vY*($qFb20v@uMZf@aR>GFCQGyb^!3yC zY(QTh1nTSeh=C*BgOwr1vJdfMDKwT$t%ORSa~cv_q=)N zpqy?i6CeIGyhj6u_sA2p!0>(_7~TVgejV{H6KHr}2n_ERk&R8D7LbjVF>bS$|D5B$ z{^uP3@bI*}1sks7%uU{sX^^l|mE>;BmCY@tM z(CU7O_NbrjcWG^vFfHnpcqup{ea*0$)-vRYO~`7)u-)Btv}n2gC@JrdALm%EX)y)L z8#RQxSJ+;Zg{1Z%QRMbU0f3HQB2c_j?AW;tA7=iio_zQ0qI~cbFI3pq-)hI)Y zdg@l^2!l9#i;_CB?TffKjA1@~gT%(lkjh`rN0KKN##a3ItX?B5zdLf74&E*){VTaU zj4p5NAv>l$rf<4A?hUv6;LiPc7`~3={@_3}EGu{ulyV`Oal`WPV8f^GlzkUIlWX-! zB>xj+85+3*634BDU5Jz~}PZ!NHHurE?6fr9>* zLth&UtPS;GKWPm3q4Hp$uL;4QR3xHyD}9=Niz%c9Z^}S1>t2uQ7Z?RV@aZ5S3nD=f ze4PJ+;D?W{V@dyCDILVX&v2Is`vb?z^uu15?(BLAxa)W8J|fF`v@5Rh;_y&UpYgk@ z)-Kc{i7ww^;tib_Rs_54XeQT6CbODH9j1o)$5ACRQx=h7&hMNrBSdBC2d;pBRiMCk z{y{+|vA;z`ptS-{zGaLoxGdwGfwb|FIQ__KmUq4)hYKg`o{3Om#p^4wU&7nU6qwg^ z0@>xBjc8c9(dA$V!uJ-LbR2&P`drB_zRxk={o>$EC!g5ezhh%GJ(Lkl=DG$X$Q$+W z(DPdQH|BSZ0Wm)zm1OUu=X52JNKc0|N-mnjLjeI7oad+I-vN&AKO;7h2|!L-=IXXW zz^t(mNC<(^siRT|*~$7+Mb_KClM~AXntLOiv=m6mFq8p*rcVUF#Q4rvSpCIUoBv01 z{|RXBgEfg;>%Y)1wF+96H7{FyXuf(S=V5g#{CNAvk%xFI{8FP9B6jt?p%|S0BGBBM z0L?weAGn^IBB6vx6VTl6(#SS`;>PK`MZ$sx!S(zPf#LnE+?Feyn$=R&4oUx<4dJIg zI~=k*QZ9-2?rLcek&r|4baE;jg6bX5jy#Yo@8>V}@*Xq>C)fLP!p57;P?N-ba%&&4 zwOQJ&-W9vQfW15rV9#8b#k`o#%7$cfV$}lvV}0DUm5tS=&kNDO?A~qIS2wyQGDsj+XmQ3`{=Hd0F_*p`Y${@2i84 zD}GSM#*-*^e4il|LmJGGO{lOBg z3OO$c2|ZZj%}{7nL7YWv`C(Y5*AslbRJ5-LU>hzuVRQTI$$;bhkTGC)-*V+W+5~G) z{DO=$7DrfK!{pZ!y z)UOM~L8tk1j<$h8Iwym53?273zU;)2jC74R0Cmt0!9U&40fTdy$1v^%@}Tz5EIXN*nU} zYxce><0TBTT}DnDewkPUjCXlATs0I2fMgoL@NZSS^8`5`o z9BTg~YFO1}_9?h=yJ;U=Uuk{s8+2IdcR`MGB_(f9iqq1VXZ5WIbJEMY^7VAwfYTOEj zSe+)Twdcll5*>CnXEgRbo32h>!K2N1G5NJAJ)t+s$AZ^i&xgmzOs#qMGC&0EYTw$ zEW@qNqELs#9uRr#OyWtqt5TBePomd%qxof%RH!ir^Txxf7ZTXre|-TXpwtZP?&$`b zw#kO?+ENY;4w1@+eG*NwkKN%+`U3gelz`oRCuWt~gE`Cf3QEtO)9t(s0lyp9ZR!Yu zVKUZP-o27h^`<&M5<|;13yM7)QzWECJ>-p}$?gCJec%AUL^4?C#!!mtMq-QcO$~iA6?Atzv z{qTGy6Cmtc!QzXS#MTu+r~j|8zgY-`eN|A{&j5ve(pV-qFw3Qeao9M2%U3^xv9fjJ zoGDSV)SXNVI{Ilk&`@PDLSl$8LPn1>Zi2R~%_?{kq%H$JvF3efQhi~~8h8`h@`@*+ zBU0m0dRd@9$|Z(y?N3XYM}?sJCK|M}X97`Q?K$eJ5b@Kv+~3bI zx`d>-VN$fzJqWpFUhSb^mbF~{8}(iB=r`qCX|+$J3PsWdN6SRL+Gxc)2H%xt_e_y! zxAj0PKSzClq8|%T^q-cDC!eDMSU73X{mhqGh|LbC zrSVp|)yY7S?*#|rtwf={MJs9knB!CD)1WZu72g4Z=trak3`o9DYk-dBK3}W~Jq1NQj!&vD`g(i%)n*8Cf@O7Ds$xbHUQBF zihT4dpvVu3KTEr{W2A&{L3k&dnYKHvyL85K(Gjk!pbUNyw|v*plt=^G-OE1c-f^2+ z?v*~|C>gnVe2BG(XXR<->Ccoxl#G$YpJhng}F=3>!04J01$nf$kDv$SElio64*<> zD-8+_#KznihD~P^0f>IyCl6d1;k$SF-%a-K8d)>bDGPtOwM$u!?p2(;Hy1L~goU^v zxcRy%H}zqkxsR9YSe0+W^6i^y-v`RK;b&E4;tJo*dCLzSws!+`#pV> zuQXnr>1VyfMCwuyn_AY(#22mT%9vY1+N9|cu@xJIgqvWux1D^#>&XFly(1YMs9;0@ zuVjX~P})lE423@pSUy7a~=4>pS@M&?P8W zR>Uq{mJ@8^Dj9Pg4|?tOaX%&lXl%~KmZ!6P?&}fCyUTRbGPK-b{2*e{qkC_X9sFgk zWV!~Fb+P>1cO4v~AwlYR`#!eEg~kJB%2GqaJ0tPdC*>FK6@7Yi;T#yV505`GnAy^} zDHdvU&EBu$DkNlUSze57L%l{9P{nme*>=(`c z+hot%dyaKgnNE_2PU1_MCoD;jr&_SHKgpcx2@}3!!9V%&)});O{afu%O@!l<@b!e_ zMI7g^+k|O+yX*pX!XYOLW5Wk{M|u_(H|qaK&hPu1^U41s=gWf__<+kE#K1?Mr~QY4 zA8>#?f94y=j9_)OIZ?I0zVz~c=KNG1Am`sc=X|}cC3jy?&i9pl!FNvH!cCwM*ZbV! zBP;+dzTa`9JE+A!oUTQxfyd=|&jdB9ouW+PY@VR}LjXozCBKzLT=_+S^pvnSy5tXs z6M&9)p83jP&uMk*s;8z>Q4PHE2&}wbJ2bN!acT;W47?7sn|}-<`30nW=4DDJ=(?cP z4ocLx6D9{Fe|afE*pFHIX2H|e^i1VQrd}B&cK`+-cBLLL-5mfJd~i>ruyf;oa{j0P zzjJ=}Q_eR%4q5zieIHQAm_C&LnAY5*^T3Q*CQJH%=lu9jkY384x=UBZvQ5Ja8R-MK?4bk@+k3me;)vKSr+{|zV*Vs~HCnJ8!px*{R4<5= z;RLBDbhQ;peKX28gaWhgtw`yh3}H5faO6p>$Z>7Zx~Zj5|1sGQucu}7(Z{);#Ft^m zgSEO6{=VLrh=0c%?Gb?uilIIVP-6K7`~qZsc@Lxia_}$anPBqySC~(T5Q#ANUWg4( z5O}vHo(kaick$gCAgouq)_#_>XIem?@Pdr$LL-D{Hr3-qkyG;&`}o41lCJ&L#}{(} zw~IpRR)6bwd$tQ$bCU`qeE0j^`K>lN{@;i`1DX8zI$#OMruhUM8yUoe>KSz^{azT) zwmYlyX%_HT*XL>|5cP2vBrezAVjgFkDmQA)scx6bMvd~`g=+6hFOOFP+X?BlKSvA( zGGA#VpN|+~{v0v%{imWLMvCNy+;&^f>VHT5EFkJjhyhVwB*T_Wgd`x<)do$Dz5zAo z?sUD|Q_@9^%{M^+gY`5MCZCxHehcdFaR+ea@os1dOPc@Pho#%&o+(=E6FhA#*S6(m zr!Co(hn4dHcRO!Kjz2g0u=Mj@{hr968~y()>8t&l^d2zw_fP*^4~pG`guU5 zUz)}Rs`T$~m={}65%0TmcoCb+N$5jwy@m||ojtR~%W0z__BkeGy0`4~zx>|CjQ>BR zokdvHf8VVEX=&;1?(R+r>6Dc2?(PzhZj^4MrCYkCLy(dd={~=W`j6**-ZMC7vL}1C z2m8A2@A|BJImYLQPbZG&Rbx^5CYwKZttpkNy)NZ6z&6L)N~Lg$7)s+bN(JwOEs}9zTc2R3c8+eDTa*K2Z;1*{zs%wRe8FI&c1d^k^so#k{V9^I9`Z}Hr#Qwx($fP8S8rt1c z{Eb{=4UrJZoRJXZD7kOAkx3|0q8rpOV2uxvB@~VEUO|wOclrVj{gSnB0ER~9b9_5o z0#f~QAk`;hKu9?>sLNdcL-+##;RpSomVWbkMd$obW*-ejhJHA1p=wmLj=jCq3TPN^ znPnZVm~S96!=n_W3b2r`B1p?IOT?o>(1INL@!K0L)6BSfUWUaXKXutE0f&A{M3J84 z<&b`4d^{;fL|z}rq5mA@&^NA!&jlR%hM9h`+h?FyKcxG2tUtvK4OETJG@|J$eHAJhPRS<3i@yl} z6h!z@y-$R%h$dNLoN7IxM0WFw@X!7$;csRdiU|Kj_l3OkJRSUve&(b!E}-VN+-RX5!vwi}T#nQj>OQ-sQJKzZB=hi%G34_|wK+ zDUZgO1K${8gX%~o?QDJ|Nf0e?r(YRAFN6mpisc^N0utz>Z+*JhsGS+#6A;kVd-rw~ z5a@er*6o;5;2HXkzQ-uAz<b=? zDwux+xqT1CK!=J-)uZ=@K9XMiTnEf?7|qqi_Pt$|E!BN8qxgP>5q#vYJAJNF=N@xj zf4yanY*?5 zR!|0QUfl@Gy_-+qrv(3;rK|1vl?9aP`yij`#>=RKFkdU^?d%p#TzWPn4so|6fz=jM zDR}V*_V=t#ifKINBm8zvu@ms25tc^;D>xc*HMjQn=jH;)(Ud#r^%p10NR+(%b{<^wI#feH0ci4VmlTT%{=CqK0fk{7qx;hCeF>E>$E>%{@IYM*Mod% zp;h|X6XtsZnD4-T=+Q>sua|9dy`ha7l~&$@vJY(KL7|k=ovTl3*C3SW<*rc+UDqxm zz}|nFDmki1hsQ0xY?+6*O>U(z75hnsK3t6? z1ZEG)D%{C(LVCmAO0{VP)Q-YCPK-v9t7+HCFr9BxF#VF~r+_5-hAnlnxL&7a=>_RH z61TD*za;v?7`K2#f6S3^6lY8&9x;gYHVweQzK?fcnaC6pcinj^LhUQX8>8MZO)8~dgZGCSW-%Re!O zz^%ACkdRWezRCBrZK(@I=S_^ex@^<2H&|Sd>W?~_*R<7lY4mCBc^v}ndpS#>eeY|j zBw04u7z^=*2vM#Z7iiym`m2(ytLIo*Fl*?&xjdR6!S(C`6b;&5W z{ZNV>rCqonbUul_y?76BzRBtn=imL!`SfoUWOD)?-s51@vd_cptf@>VFO(*xXHDlY z#eXy0|4;}W)dh^@Nv^E-yq@1yy(v^~`DXUU$cHia1R{qXiz)l61mOH75a)*xfBiS- zH-b1n`&dKh{>tUu-yVHqlkxW+D|p4;;xkb$$2YF5YqaviJ(8nShIvot`s^NMe1FdM zzu4iPk!X(ok8^z`(7FD7&v-{G&g;9M)B985DqD!38-re!s{&(rZQiXt!H|c5Uhmx1 z1fTz_Y&O{g!*hu-&q*2jLm#h(lLt zHo7%e=`zyEoI9iv6r^c_LLoG{B6UH=OMa}BBgX#2HtF!J<0#J{!=t!1h=o_HUhh=G z4v-dz;A-CBsoe|KU==;Y{`*`%;OSf+_1C$6yIiB6?C@mt@vKovzB*!ew^t~oR7)IBop{w;{57kGdF>K31{^= zEnPFf_3xs7sie7LgnEVHK4vR;chb{0yaSBgNi+SJ=2AHsLQkw3(9(xYXWBSs+D@3q zTk&gU40%D;j82AK{uJlq7CmjA` z66NER%V@cbgAqz3vOxcTL28@!Dgma73SwFFS930$| zTudR5TLP{-?e(8g`{ftxO?^{<1)sJZ;>TgxT2axso?wq$I|&mAKw(0{dr4B&41|cjV3w&p}&8Pc>hoR{op$&PpblaX>iC@RU~U0<`EO!B7=Dl0bv@;S2V}aLhHvA}E0W9+ecrts_Mg zr(si6@nAUN1zP~}NNC)qc=!J;iw9ct?Vmg;81?d^td1`;u#Q_JK<5q$oNkB){9_r0MZ9qtJ1f)z+O&Ug2I4 zbk?>iX!F}yvKv2I2i@-fmF6dgDb5n?2An^npRGmj$Q+gncVEi85L?K&LQ=T=GVGb$ zLqAXAn;FEt~hdiZ7?rTds5ZmNWX9Y(9AOZZ{RJIggBT zuLV%WpMR?21N!`#yajJHJZ6OVq2-i=nc&J}b*P}VJo4boHCKnBWc;3UkY&$|2g!6?>KM+nv1cO<~RzcCzV4aJQlkdHh)lA<39DC|Y#PgC${*cd&>1Yl% z_#q)RMai{?;e+2b)Ihvjo=pKaitP1uhGGPsW4pqivV73}{zriH#hyqXsN(-2eNdJk z^b;U`gFmD{NI%?J9hVVeZsDUgm#lL-HO{-zGHLcK4@{}_poHYaRNM%#FDQ~KrnwV* zNMg@e`F+1{bX`fKF-+Y!+^fR0;kCsiAtMu?-aBaoy5A3RAOIBlzwY;$$2z2(o*a9k z0sFjwV=vm&0zV`um-wFPs5I}eE46>tnx#!~9_uZP@Apx)ysF3)H>w@@O3T$jskHV; zaY%3|;@ zIN;~F_dPDKOhR$X)aTe5;<4>->Pn7GQ|W6^>Z{paR71P3WskNnGnL(A{ zsl2~3{uSnH0AYR#IUNz^VTsnDWU4-!xr7BS3|5rtQ<#5KDhPG*b@Ylb>oxC&7VgaG zTpc1^(Ob}+8B8O%E?`zk-=dEo9O=}&n5T~sA?6`t=wqRQvhXp1rA%Fnd;<&jk;p-g zd4&4tC4S3s%HlxhXeG=I&3k^*kJqAeg6G3Ty%#MRmwa@@dAbteqZICi^r~ka8 z-$!@(gpy%uKBk-)6BN;Ml24SqwhVphk=6JjgEXw}E~!|c%l(Bvm;1*T(0M?dZ~iOJ zPbL(i0rpzCKykh|L4KQ)kUC)5yLi)Qb$qu#9eIlN#t!?Yt(H1lYS?BsQsX7X4MLzV z1N@yX54@@GjbLOI%mM@>%fOxmFP8wF=79Z&gG&aQt_eRiIp4BawPZoo(Hdr@vpE#d}gx1b!%B8(VPj(F24#ue< z^%+yp!Z*_;5*}o%g!lYTh^%hkDP-Q6pubW8;(T0$l*NTzwAoi!GLSy4K$6srC&sNJiuV=x6VOGkdl_?}LHkIx4epchq>9J~G zOPf#2OxMe1+t)7!?)FV!HTz0_-|eUUzS|E2?)G!Ctb(7`^058_eZPN#e#Kv) ze+TO2S3I9x!PLF~L3gu!fc~qO@5%k+KYIBL+p`#!JStIJ73;UP=72>X)05(?3QMKQ zwbCO>DX!s4I$}XQ%DG*dBRAJj^K)BK3idej$(`!Fj zuIVE6tCN3@w7uaPf;Jn;qun=Gk6s4m@~DBiy!2tAcpLNipFN(n8OWQobhi2dCV6gM zgor)Nsd9H$Z<0&i?pGznE<2LQ1$0R%TpmAxJ`$4iZaV?!ZXcMt`j5MP*}Q3xX3zYW zW{>9T3!vGfH7Ur7x|dM?-|qIU<;q`4u&;hi*!tG@La6?iW^Z&3Ws|S`5c(>#rKiFc z`3#rqhO=aWfAI8vyGUdFW-H90bVe$HwJA6*Ng!z3#g15;_rqRavy%@Wj(t+$mQtSS z?nfozIwdHs^wycAUwe7j@_WDc@(@|SC$A_1dwH8Hc5D+YRiM4R?E5P~LXI%zcfI=` zalW45s-bA0EB?d>&lXmsZ1N|K{_xdH zDY)J4mwY>MVD$L;8KZ&{{V}`f0-kbIAYf-=`FAs4aeATp4KH{s;q+58f9BuKe6@h@ zvH!D~FYA^P_8+Jp`v>)NVE;yaBK8JZ@OMeb(VkCpcMwZm)o*TJ{F=M-Nkd^V1wUH# z_KeS2_Ud#WBY86gKh7iC&C{uxDJ3Qqy90~==(@Yo@hCX;sgY=FwtO2xNhKKhUiug* zEOD!cH@{q$s8Hf)t{_I#UAM!MY60ENYU#6fNFpJ1Ixu%PK^tGpIYyhW8?2ReGlZ`u zfzPOh45vU&vIG^)ZT=-J{e8v8y#6ZI+>nA{zy%>VW@8x(CjL9%XrFqW^Q2PlL?2bW zRq%l>)H&=s&H$}DbkPXs4c$Bot|SdqZd?Q6-6C&g2nsMn1l%x3Sad;R=}Od@W917I zBc%tm;Rf-eKgsq4xyUu4UJndgxwjLJ;u#R+2Vg-Hp&O*EmXEProPuO~Y9QHO--v9y z0qd!hHin4W)26)}`lof;WtoE=XHlkHQ119UfQ(%QxTM3b)5-O8{V;ZiDQCRHDLE39u29ok;`7b7ac?+3KbD-{)$b3$qJ1XpWC3iKQW9*nRpw-4Rg6+VoPU+@M8kW& z5@h@VGIBBOAKIM36qGPUVsX#?vHf2~AS(@?v|lS?aU4a%ipW`cpag~)i6A`xIjMzW zmN`@jd^WI$14DDTkR)9{KJvptz{1*^iYj<3Yw_8*Xi8f32u$ zOfTDz@{yP+6Br$jeo_3=HZKZ#)XxPWH8Pp1m0fcvoyqwbeRwxMUy z!9_gZz1hA7sC)0^B|Mq%_lac-gDyWi!;=3Rx&uf*s}$^QDKK=W<}Y6gkp59iNclfW z|5;s0U#`v7XqjEd?bFcRYb1d5A^sY=vm??p|3{k74NCLlzg=k}CzS(fzT=e-Iy}_Y zPZ^s$1CjamYvkkipRt`K{9%i~0ylLqNaQx$acgl}HN*ond+D$&V;&V89-AZ3XPwQ%o-`O)CCBvig6R8MHxWhWg$1qTOUyUR>>5lh298 z@v25e(|%0S5y>Qh$2GuzJ-|x0tMnY{Z?9zx>^8& zmI9+U`B7Nm6B*RExLRQCjj>qx`zLx>I9Ry#EdBxQ|0dl_`6b=cd2Q#=)_0CMr?U)5 z_hxeKPNp|ct2Q*&PnpJ7eJ}UNJGL7ezXGFdNibFX2>OEgfKJ~bHLWg82}L8nK;^ei zzZ;XKfXlll)WJZ6-Jc~6NffM#YOr)bZi~Me;Tt_Y+F_@{?D=<2eH%}nY3U*@R;hD2 zK9&)GBS@L9g1RU!DM0jb}}KoK;Q`idZx*+8z;P;!#*b*FJG% zP?ToQlDKFL>SnR493SF&;?}MdG`1qmk{AhVOd2sZ>wH_6I+EGk+u&|ye3|+0GZ986 z-kEZ-1@b&10=Zal;L5)^-$o(?Hm|)dILV`dYpgO7!j%^hoaOzOnSgba9TH;5cs3&j zI#?qgT8I~N1SU}7abRJS7?3^D-!}H(t&(TqK2_(vKMI)6?W9S@yT z6{w$Q937M!BHKkM@G5H;sAmLU@2y6_H)_&_mEA9EZdgs%Fr3`&dg}{E1%Q6!Lf9{x zzLcV4r0^S%O@GQq&=iwuW1l#t{(BqVkO|J5Ymz%Ax_8w>0eP8>@-({^BSMf(HGAbV zrrKO}B~~Q?HihBi$#{@;uU7S!buYmqoARWXcHl=|%bvLx^L90d{um?r1w~38GZJR$ z>ekW%A{GywM;JEwWG^$awnz#oPJ2kF(8P?yuD?Qnocs zyVzUlAcHfdA)E45zc=Bo`_0L1m}72T_CG3;2D3;wX&K z`YOr`qkZx3LZ^cnz8nDQtMOF!oLS$4&h|Cbjms`I=*#diFP6(qL1+8Dx%{v4qD(6N z40{O2dpt-el19}h1d|*DM&&9F^E|kl^B}|^s(byP5##E8!b!s1R&#t;anq4~WQrPH zHJ;aGnRn$2r@bKk>60>88uUr}qVKtcpeJ5T->LP*?N3&(3+taS`l?wrEOrM)qD34` zw-(MAiDSPL{b4HV)&x+ZkE0jePA2q7*oL#SR+holA<&V9#NZRo>D7m>sxr=fGvs@m zxchm~8a1pBx6~`ZQe0<6XIBgh4rMmR9?g2XR!1eI}<8YyP>CM1%}I&z{5VO^l7(5S^lt~ zMl>J6XE#OSWnA%uV-_y6l_DD1*z0oV(CaP80WcvD3AHlzqni;)r6GJUzvB zFwdCqD`4N_l>Hbgt`b644}(F*&i}oAu%TjAgrmqgt! zuliZRK5TQ8Kdp+XZCOKl$6FPwFfNi@qN$rjom`GPEHjQPpvM zumnzKmLqw+CXrgogy4JIzFt4K?j4`M6=lI3)6-Q;u1j8Kvm2^mNpS-fXh;Wtx55p- zZTLVbQzg}R!@xGM=h4nAP^LNHUIH+F3BdUB;=V<(9La(#qcxxSL5#26r(Hw!ZNEx|VC(S=E|V8w$BBJCGRGr0%C{Iaxi zFHo58_*a;ZR3cKiR?L4@y9yuPQ#V<3l=LgiUj)MZGD!itQukTKKJ9`ANj;)0Uc?0R z>Z1v!p3VKfC;1-YH}a;j`@b~}~6RqDXaexGNKW6&FDH?^qI7v~}`9wns%QX_0La>P%6MpQUh<`RcC z+$`M}Yu8`2@i{7>qM*g|jqakX20G+7lRR%sETh*ch1Q^KWTbxfz|y^w2u4ATw>qI^ ziUHwoaNe!{^XKavnfaN7q#nH-XOnpOo#Y!^HMX|u=~lf$HuLXsdzxE&)6H^~2E@2u z{S-@19a%qjZGNLiXXhu|`0)AEG zcv~}KFr}40x%3AY>jkFRHDA}$&x}y>miKxvwD3ZfZ>Zuk25B8U>~?GFhJFCb`C&4P z?nL%a<$M9v43rj7IiJd~@>*pfN`SIS3g+Rn*-gD^X!1ly{`Se<4^TNDaOu18IUn{^ z?ft{0Pu)t>33BNh;a~$U{pX8yuem`keRYsae`oN{HTlV2kCp`YeNw*}@yef!o6Fl~iTQ!@jV(u!hw~LzQ$tk=?5$ zyY$*Nn>TUN;*1~{?2zhN?I)<^2Ny!(QRz?9JM@U#i)JHP0m<~0IPMxflaamLlcPT* z7uEtj*iEuV%HCPYN|ymQ`?gJYWJ@8T6@uklE!V=8HQ$afG&wwp4knoq@^;zfzM7<2 z^ZOC#ZbpVM=l^}P-*P*C|Fh@A{my|}Znu}%N#3T5CMvnlhK^YR$7Mj$Wc3-%r|744 ze%Km*s~ynJPpO$4D_CbOBh*Ib;Lt=!Hh5&+Ln7Mlb}gFXN;-(tkB%5E2_L)lihLdD zjJs`HmC7V$^zjxq&@pVr*59s)Z+Y)RxXPi(E+Kt%n)U0r@7?;T;k{wH)%j$;93u(4 z_zUg2wgB_P%46agpZ!DQP8ZzaJjshB4 z^2fc$2n%xWc|dZJ0Y>PUwL}5Hy+_z35SRjIQwc+dx_n`J3lp%5@*F-BxZRiGr{ju6 zl@Z7na+mIZa^@4u^Q%i2jm0qv{E74XfjD2RIqYoamwhkc$-d|QFZ&*Up_iP#VY7E4 zD9(=o;{21;)%U;Se1XE-d&St@{jLXTAkJTLm3~gQ<|ds1@hi?JoE9h)LX|60c#88i zju?@byxyU3eZ@M5?pY@DdiHD5o^U~+MhMlopAj@^U!`y_WNw`TK}to0eGY9j@y6>} zLy$`U1=SklM)k^@TUrvM5%A@pzJqf9rc3{S>hvwRV?z}{I{o{@sTM$|Ujyj$yDGF+ zpaMtiJ+*|UTKY-02LB29FWpyK_b3-s-K<(bkdIFTKt2-)@;Ly=&ktiRt5r5N2Uu?y9MJGU~qv>m*$) z1D5Vwo|f*!!~$J^l1hF%zpNqYm+W7yQh`kcWIsQf7i{G)jaB z+34%wlFicuj_r00WUCxA0j-aR7@Gr5NDVCzaOC}4Jm^NVg8<$ag1t?L*ppT9*G-3T zMm}r_DqgcGZ7f+W^vu|^*#q!?CfDX}0a@SseCgnjiMbg!>~#1!nA5{&Iv713?1!69 zh!(9UdtPJGv$>uLzF}DD%r!yyq`IVY;=q_OFKYC}VXFFwKq%6%ZK2jM+&2?g;H2+; zu%J!_xZ~{Cg#%GFFd=bJe1Ne#aC9GF>`wPm2}J^CQJMs;o9sB>pqqR<%lrGJ1;VRt zyRJV=ce6`NDz%L>Q%rGKjU;y$drj^qY@QATcfO~G`v!aGFjYbbega*5c-;NrtU(Wo zA@PSICc;v={J}L3(#Y0AR4-%4+_S%o!IR%jsKTHP1GW0aUqbxI3q;IFK!`sO0@Uj9 z7Zi>`wR+n@V9&ncbr?4*LFj;CI1*YSQOb@mxyU7FR0@WIqWTZ$Sv*ZUgSLQk=!?Yx1OuXG-T3nc-kC5i~pL?o2}rN7r*7ni_gtML?7b5lcFFKUYwtNAmvC78oUde zPlAARB}VGSd7+A*0!1W>Yfaar5H> z+@CrH_@Z!mL0>ng>W9O z2b}BkVZH!|)KXC*5iMq7Fto{T!86m409V1104HUHbVx*xaUg_%poFBzGJ%TZ<6{L_ zC9fQeq*JOnQG{4#A_7?wMViJx7g)=CVEYQSv@p;4CD(ifNqrhezClPwZ~B}aqU8%! ztsJ2U$g02lWYxF-t_h74u*@JXwO`iKu$Vqa3(V!YnsF-nn+pywM7RM`{g*tS(E=8G zm%_^->tg~v&|~casacIKZD}<6iyQWPPlwL?zC zFGsj(p4ReYuP%~$9g423!mIP$>gB`r@91Xt|nC0zwxbiYK>g++`SFg@o( zLc9qJI|dm)KQaUVcx#Fqa?0%GbcYNi`TMObzmj|o6AmEBXH`dcpLc**g5F?`qQHCEmi8V?y9PpnsTDn zeDrA9ykx@M-h_bF{5F?Mc49#C%TMiR#%SVrmbZOo3*YN;qjq-h=4RM^0K&)9PlhlL z^O*LbtGWTPK`}w@CZ9k_Hw_SBRvB!@Ni0j06Vr zLIJlvXfW@WTR-EsTR+Y@{v$JV4Q?2@HkUF-#v}d=;}{Y~3%g?lrUkQFoO_Ki7I5ah1IM5b_5wR(Bz#jzBywP5_WD!v8G0oZXG=%!2Da}u3sLk~ zPlfbMEnVG_avP`&kwQPJ^(=Bn;jUTGAQq3}1A={RHYV*OhPptL zb4YVaEHH@^wx%t2nE|$(6Hy5=pQtnArA|njYrh!0Nicv4GsTslMSdx0?lIxpbIR_r zKoE=q7rp2PlV+@1BVokmWu~?oK}?g-v}WL=*YoOn<#KYcm!HFVQuj3` zIS50qYlTMfxuA|5_b-sL@I>G9P~k74jULYte6@1CpP|x6#%{Xe9)V_3&Fx^m+FDAV zdr*p!$wX(O?BZ4qGIOYjp8M_CC;ZE?uX;hNU@LjO$50=>r`1p=Ku0s+UQlsKP|`W! z=fdt=6+4qG*f3gC%$@PRe_FCPfTGHHpaZdNI=8579PP#c}FP%tHA zyzb7Bsat7y@0f%c`IEHeuI6gp?EX0Rr{AOEri$)ea_PQlWW`t9<=A);R|4Z_E*ZPK z=>brR|GKS7)NE7!R|T>&oAId1C|nc`9arH$DUD{&k-|Bl4b{ZiX{T--&#) zHqu!U4384_YbZ~6MCZoPVG%`hWZD@S7q~MW%O5uOd~@VifT%J} z98mMp7kH4h&_Y`0s^T*Rd2BxHE^Epsu@=CcQp>zJex~3Vq!pVL=K0*{tElF{j<`uE zmzrC3Kjmd=r~d6o>z9!!wC$8Lemx=|A7Yc`Iq-d7zeu4q6B7^O|A9beyB`G+b2Wi!Pn=Gv|MBL1{`p;NJJ&f8SY68 z8fhY`2nfSCGxjMVN9cWsLAYLAulEqxdN8_B$gRJ!gADsGRZ&JqCAq5PQiEl{sh0$u zO5RvqF0gO37Q9N)VTVgD8m`d%konPdIOB(NT0s{-ueR-I4|j}eds*%B`)b+Rlxy7N zp18v-L|?s3BV`w&#RO^_^Nih#5;2@C$*(N%6W)x>Z*e;h^>@IPV}reXD)YLQ-J_e> zCIb6ro*jFF4EqYsDl3+FnQXDmt zeY*{mUiELke&3T{f8)sBZ1Gtw$gl6oIUeaPbp6os zDr_c9#`H^n94N?FBM3?c{QBBWyL{4e<2Qg`pYkuiKEU`#?7#f_4L)1c*-w7``4K)W zV`hey0&i_VfbrGj$*(^h?|t*+*Y`Y`z7$fI%w)9VZo``~DkwDG$T;74MoIqtGq^yh z8{NitnOxovjK%FSm1muQ2J`NrlSjxt5p)G`|8p=;9yFNe)-?AZV!+!Q2tfsC_|V3O z4&R6?Bkv*;PF06FBkx*Czlg<{Dq+i)Mc#FlrrJT;-8>QFJp*m&3Cv%Ug*dP0Kk4@f zrw&bXa-Dwb_hNSmr{_``i6}s|d@`Vx&tEtP)bf{sTE0~5uCLISH#epqg@D^5qego6;R7hh#khuj;d5dD8|Q9 zyO%d+di6Kr-#;NfVndMA--yrq3-Pz^a=HHl@&C1$*YW7mpk(*8yF%*_swP{HGxm(o zURq1ATx{s`xuN8;ugV^E$lPI>ZM?ikV}n(`n)G#qD2@L^cR8sHE@0PRl!}{angSN{ zR)NJlX?s$*1t#rY88JcjVCyVOOCSB$RD2;&l>IS}ku5W+JC=q{XBx1VaIPkAAK)Xb zV;&+|govG?9U?QkcJ?6?c zbZMk;>$l1VZ%-9hNlbfn+`q;fym0zJUA1-XDtx@=k{Tj{-aec9WZ4(TaLZfLD`g04 z11pn=D_pn!Kq-kKqDy*udcl54|7nYJSu0o7ccxZL+|Ide5^!|j>DoEx1Wq!f_~-bK zFC6ZFZTC4D-5F-`9oAcm_05UeX|VS;`Mixb;fwKTU!O_QwK>|qr0h%wyE%=jnXp0wIDKWj4fsU_Hyc3~FpH{^{IcGS)lBQdR@ z-$=u-u`}`Ni$8_kJSo1e*As~5n!^?VZ4R#a4A}wn;Y+oBASfKSesj_dW198^ZK#aqnNe6f(Y8P zm++z%8@hPU{QdpAjmDMZ609qjscU2HuFRA8e%!u$JI{HXZwi1 zC-1yZ_7-HFZ+ByxO|s>C8PdbYJ5B`=^rR*f?L*yw$-7584XN+Akrw(U0YNWVatJS# zVNKrlh6N@3eQqDj|GZy*5$oE*b(uf-N_e~5`=juW3MV23R8!p*E-0{Q=PjW)ls)Ny z@I)!c4dZY&$8Rd{rHw=+ZfPdQM4t(W10g(s_sAc>7lB4SfcHxP-bX(BC*Egg^)X=i z3=>i2_~Nvwjth0T-;a(9J!Gz|`1stv(;#g9$($*e?}gP}{nBQ!hdTV_)Kn=^s`qF3 zLhKVHCF#Z|JQu}IH6|elW(MK;$$!D~*Vyfvu7jCsY&Lz&&m&Psz$xl~0J z=>RVG7<@})(CpnNX!Z^$@;%MoVdH^j?}WlrXyJwcN4}haEOo5`YcpKlRW`_xFOYTu zIPy8PL*LzeYPiF%_*o*Sd=HvBleWQPsQjxe{JBOo+qXFB_;U> z$Y8nj>B(Rj8X)Kr?+CntC|vsRu0(Y!S}!V*>Qs`u#be%ID%W6yVNxi?97Mdp{BH1> zwC{eor$=_B-ouq^Ocw)+yoDMbn`dtxOK zu(2Nw5+R5ZRuW5P9Xl=3e0WRSTIdzGU6x#VgBND9oGS`s4YEG083)qZdAqB7ZsVC& z!jOlWFfrUK6~TGCGh#Z2qq0fJp7w9b0T>caG`i@HcjrQ2c?T&xh+QJzia7jo(dLLh zvVTql9S7XI(R-Ms?vVF{e_&AWT;4%@GS5_|Ra={K$SVHSaVtc=pT80CdErFe&lEgah~zB?#}^KzM(-v2e7y3YpDy%wLqBCf@wV!>!o zNOn>>)5VH#D>BY%$0yIDd&+?`Op@KER?i_d=H+bJpcu!rl-`SXy+4mUiwQBky{;F0 z1P%_I&c!-BQwhUs2dmhQ?=({>|6527E^jWMRXv(kaxJb?@eY7p9Mnr!1WY@WPk zaKtJ3-jI2|8wf&seGuBmz=6>I8IphTpgkKc{fL_PyUPBK^dnOoAiVDhIm-L)i-39Y-61}Tz0;`E_`^rH^?^Q5j4~(*)A6t8>_UFZ-FFR`5Lp- z$IntsM`g-@sd>OJ@d%!nR@n;WbL_gOS{|6jo%MiqQjvsVpV+14MdiwZu^x=cxJdin zCdxCGHOy;TZ8zom)JI-gU4(Zqw7R%W>QU^erAi-%jNY>5-G&|@G|;{gwWr-BNo488 zIVz5Zb1s$@j8-BAsM+%?S$&f4QWnz4#=B+oZYR^b#-xo=@NtnZ7vv*dC=D+)@uZZV z@iWwe*M|fxc8gf8ON_UL=zT0#zWtu6_sP_423#fkaGjMlK5+OVycN2Qbz&6S(}5KZ zD@5!kwVrrmGN!dPTKU?9T%Pon$RG>@@?ysUzkEw30_h-$3op)>$7ij_g9d4%6UAlN zE#<3GCa|K`ok<_Mk1Bd*X{)2rkitJ+InBFGb|bj~L_dPYh2eU=_%EWrAoyzGc)!)J zkBH54OFaTzrI!1Z`RY0&-P*6Lk6a-#T8261%bH0h{ldxCKFaWK7%;)3tn#INb1~p8KOSCiZMRRw&f2x^HyG8>l)nnw5!?>gJv8}UB9TwE~;3?T-4iS$ljx8b!6Za-B{t3Y{@ zBce9}qdM2E!k|fAddN(Y)#RrWk1tITS2gW+6eXnF5 zZ+q^(e#P2SuV~&|e|Boa6(Kr*;N&4&1TsS3HWpmZ&cB>pBSLFMq?XRG7Sgyz$2He<$IN5kYz~a;gB~@xt~55X<^6MOgiXl|J)%A5_X$MwD)^QD9$)TfnyS-jOg3|gp4p}Kgv=z{zu-i>Lq&*F!eEYq(fv=iP` zPe}iD>;*8Icj=k+g!C?E@1a1WdFRf~q%2wA3!5i7xy=Y&B>JNqx0?Z^HQ>`gDxl5Q#@bLMZyhpycjdWSzli76ro+P zCAL#iNEOwG#@`xK*b~-Pb67GWM$x#p<7DJTk$XNY;6Wq8s-o3Me=$zXGXDS`_$_$G zCh+(Z-*Wmzr?o@bn*_bl+T7*Xj@yd_!*j!UoI@5+YHzI8|K3C;rgScgvFEJZEdiX% z0{x9SqRW3GB@jW0fVcQGoK0OO;@t%HA0x^A{LMl=< zd3Ms$PIx}y6p=vw8{}QWsku1HY})+kr`Ue!R|~)BcWi%dyz>fuN`mSzQw-wck2qVd zTl6g6LY1>kmMnL<%hdMI&e!BDSzsi*M!bo=Z#>_oj{%!{aPB`-kH*CW3hgLwU#Lw} z9Jz|7>wx=-YGVaHY`&5X`H_0Wa-U|vd$_sbIPTWfO5-mQd@6J=m&vlzMxpEc|5r;tGyMSF9 z@Ceb_9tjxn@5Hezz=3Y_`8vNWONmhdxA~b54!bK~ANd!;8|~K1v<@-4M;yHtTBmOP zWrr3vn)9u_1xLac>|TO4^F|ltYiK$uRyc-e^ADsypbPtvsK4udi>gjyA^@qGMQ0PU zXN0Jc9tKGjA9tTCfzPoiCiZF8B6s#{loMdvBli71UlsFCzXU9hL&_J*KF2^~cAzS5 zVtb$pTY&s0-4QxZ5Zef^WDgkf6W5aqce2!lIB7l)H|#IQM62zAtoH{KTh)+z-pC9E z;oz?mgs$1cpO}Nf*3HoRk$gV*HT9mAM|;*dpFM%8Axg-j`9S4nITM>wU(uvZn&rM> zRi`Ctz6G~Vam1v!V#5{=sD-y(rY`XoPbdVE`Oq+ z@%d4q4&T$8{qf|S$Mm+(L=T);Rn}csLxH1+@9)L#dS)DxAro$68|#0FidTt3R=pr4 z#5Y&X&V?rdm)eikrMm%I?_wT-&ah(h17RPH*S-hCI)bA-`@zFPN(&{(PPUiV2U^d| zNJ9zi|0WU*F1pHzjE0Un%ZCi1>P#+*f=`=Ixrq|6!Ab&4O#CV9xySuFP^R=UAv3#P>y~&|6I)HjvQW@M?L`MdRTofsOZgC z)}9fktc>b+6>aeAJi1OcZEz=)iS_f(>8JH@b_n6(Of-)L|<1ue> z()~Am*y~s3Tn!Gx%h>CwjJ^(k{zCl03iIjUBF_04($$0D$?kG`wQGb9MaKn4Cw1-H zYi}QVAr}yHEciu0e1jY4?Qu{lu<|=Y4ie(&J;>W>!BD&xy>b8|k6-sZxf|Xb;cuRQ4fcGV zkeXKO-Luv@I$0^Qp5wficBEG0BJMY3x4LIsJ~L=CXTym2J6=ZzaOHZ5H_BKX9O#$( z=hXgkGZOB1=O4c73!rW6ah?;AZ%H;<{sx)s7b!i!&b>t4L0OVr;&_jVX&*TR9tS^@({+$V+#HIJ?h8&xXJF+<_jB zz9echQ%wtLGL87?izM{rIfQ<$-@)-L%{Wkd9o0t(ANyMNlQn-+vDdZqpG}A6)*k(51gX zWnh-&**8?NE>XjB;Cfy>T3F*eUM4oFy74yXT_=~3J)=k;(_1KEm_?Miko~1=ViI;F zadb97Wv_;pA(P)fk)N7LI1%axR+KXfff>!Bf=TN0@Ed(*XMUOEn=*zRl_TrRaES3g<;hW$)ZJu2gR;h)k85=<*HB}y&^t-uwF}@ z-FuS7S{X<7Y9K6T!=sisus+tSjHTM@ExKE`a} zhum!4B5n`GHhm7x>8+J<;+(PO_zr}r*BSr!Dg^OQ!VZ zhL;z7jJwvtVi`6Mul6eZz0)Q1OKKGR(TaE_5b5-b7VoX+TSM2-$SW-!-fdbOt6zD7 z;!Pvc`i~O&F5h^SP+DGYE-oKk=XxtbZb}08y{Qjv%c5&We{p3bm75NX?NvysFfl9@ z&Hp*lp0`_M!|*s&HD#GB=zD*YXI<8k`?;CJEF~W#Fd+s6Ce`GB1ttoBz$6n+Dpr4f zM3@o{OrQUDZ4H8Y9?p$9R4z8Z%8N;M^h4>uW>K;cv%<>PcZZYj5;i|wH?L$AbrHPX zdmHph*o#^-j?_&2wk}$|_s6a^WdKhn?cw9HSl2W9S8_7i<|(juZe7vye1F&o+~tIA z(?6|_^bgL@@1YQ4rn4bm_Ic1wXwH{XP>;M(qdh&cQqZEoF#SI&MN|G zoIUNI9|3FL=^lUW0#$xyqU+2=!mV4G2s=`Nd}cL;((}VqKz)90S2}CtADj6+A!u{( z?hU#3vVPUaP>oL}!p3y|J4xH#C%s>_TWSVdk%x5J-2L%}RE2^ruCuzbL3j7Fa{E5O zQ+nR}H`HtQLu1RVR|=e8e!n> zVMRKGx+UH+6lO8Z0#UX77sGT4=#T(WkOF7fG}8Gp`FUj8J^|M42U zr1{{5xa`Q;i&f=#6`EIK5J0WZa$_M;=MnW;u{l>5U1Y zji;?+yI9zp3PyM~ozGe=I(sxN7@GpndV)AQ6qkhs{L8~ZLZ{u6iiHI&(?48w%J~XK z#HT67iM-is+2!G-J`Dd!%Z@aE%@k_J9(S$f)6bo|)0KGI7LolE++&q#s1kXIRbf z2MGEc>~wmb06`ybH<_L2zNiO8&`&Lx;9(64@z#5nb5Kz;UYE_%lNsK2D9+V0Wh2H2 z1;5Dt*?wzEtLnn1Xnt?UAD)bV4BTkiT`c6x`{oN2 z5L(Z-ZM)tDC(wJy$uXM(mmP%G>#@VB_Av0xz@*AhIsq>3$?*WR9)hJ@pIDAH5%iop zEh9V|V9E>sOVH;O_ieg*XE7#V4oFQ8Pv(+Z^eI~`1@!KFL4dBZ^uT|EbU4}`vUJ*A`Hx%n~-o3wrhTyWO|9oz+hN&|TN z&WVi$sHd+h2YPzh3-^wf`vU8S?M@EX0|SX9EujG^$!=3c1d$>cd8=JFXvY}v1Y3Mr z+-d2+Itcx@$~I+#Y30K{Y6~}UzBbh^AWxp%3hQgC9|BT+>thO%!w4NMkm{{HpSEWk zd}ljeo{CvE99*8yk2BHfSSj#y7<|4ZMs|inIu)L%^mWCEIBo!bSnq@0#eXOFXOwW| zin@bbPz}HuzyIGFpTOrETze*6Be+k?lKCHE5JF#&3~1`3BjOhOgK`O8$M^)f-y++; zzuw%l1vtzLHWU0FtPvMq%vHWzPmJHm-H0R=W`b4!hVc^<8w4nE3_uAEO7<1<)VeSERJ;E&h2Lc5W z&{v;>b(@DbB~^a)`nL@C+~|a_^1|m;b$=zoJtpY!6|xeE z>Tv5)AzDpmeaGTj&SF=~|EThAb$$vGdCZ;Z9&)IJK5nEQVPN^3K3=OX35An%+oTkf zm!7r@1+aBIh7>KWuZJ0*8ruj8^fWMbMxf}$>Z5jo*}Knn-+xB@DKJUJ044tDG64Y| zAgPI>(by&rhPItJ#V4=pv6a;*Fyj1mJ&B_GqRYRvGyZHkNC(n_|GKU7PbPRvY&F*} zwQcO2MRefkUg!J$h%~wvvm#keNG5Icy^C8aH-eTu<_Woqxp8F?y`G6Jcj%(}(%6O* z*6oDmlK%NE>sDb{wJ!v?@N1Hi2b6XyXe@?#xGCc?4Iy5z%Jo;Rt}Nz zGgb8Ktd#PbyHApL2}AIM>NT{|7*Csmm5GQ#()+|#O#)HL!9nn^t9K6qr@0*sTqv}) z07QAsQHUhY)RaHb?(aUq2?=B!<|L0P!AX%P+mQ@*0;)VpxievVk^o}tI>W*kq6m4< zy-!vqcHA+GNlRl}gjpbh{$RrHImP$WvFD5q9yb?YkT0#{@E}~kfA!EM+y6??Z+=-@ zd#yxZQNsZrh%r2($H7aeKgV&C<2HVtBL z*cFp3)EbTW%RN76Q%o#5&2EU&w^+KDRGtlTSX?O!^HXE_PHc5GMJVI>SfTanv-}>9 zPq+JlU$VS7m1@qRzteP_#QMr`?!lrQdH;*`&35Bga-ggGzAfPD9@2*FP!NM4^;VA7 zdrNjWNl~HJ`lUy+kO{^T$n|W0ZFi)fIU-S`SpmSF+zcC9H-^w0+uLp*_AMdQ0n^oEyRFIP zd?n@YujEVC+5)<|uh~QCjj3iRMA{Po0rCjvtUhlWX(;WquVmx`ujC2tIJgv z{mx~m_sv~u?GpNy#a#%$?A=JSXy)+)8gYyu2|0Tt?l3aoQy@t-RW{jPmo^JU;i~bz zp+8wHCKu%5yScGWCz$$=l_;y7SkfGSuCM309WF=dmYGdnU3V=RT>Jqt;^SQ1Xe*ta zdN;Gp5o-?^ll4Oo{6ZO@g?hy{dQeVlgF&LZf}dWIu*y_ zp7Sa4{piz)ETsPpsO{B%xLzt-b}};J^B+eyRT^r9>S1A!#iAocEj}6|MofVCc!y(l z_%n8faxFE-&H}HZJ2tkjucEuB@gP-1J}%-grB^&2M?rkSNbAJf5K1?9-@rTY8`HjB z9HVVhP7-!LSQ6OpN+K-$LBz{%EZc6=iJY;$L8E%$0o>Fq@S}?HC+{TSDZJFc$`kdU z+5X{8y*mf{vcv#VkGEgAN*Xm*UqRHqZ7q#>p?EFGbQduTA%b6*M@}DB(_&^-OtmI9 z%OOPXXG%+bw8`SPg$^-Wf)DLIaxVepow@IUgsNXnCGY*VlbENpurk-Q&h+u**@3`} zN_bHM(MOb9?bw)6kC6@QhVIOWu5k>SZwHbsf9&D-LpVB^#jwL~A6`}x^plV&HP03Y z>7U!a3fzE5v*!LvNcal}VPR*eL(Yd#fQ?t6A-)tzNo2Hxj*ce5AXyz$;_REmK5X$5 z4q5`$FKLd4Eh7%3xqF4+U;a!f1hMf*^n|3~gOW-xp8+=BS%K&On~ldBElA3V$rF0a z;ce+#MdX*f;s!+gTT4eDmXzx?jJPBoEk6Ny1e)I*WhHM`Q{*nU-JPbf-2D-zwj}mhk6L7jsX&UP9Sv`pKvZ<6+Z`u||B8V(gojPj5~N1u_KanbyF9LZH}vm%3XK zKSYcEN!VN#SvfnH%GhT^I7!eY!;_!Lg8}IG@l!YV4f|`pxFMH@55{~lV`E}oXN5L( zwu$T~idi$syU#3*S9ZUUXu&!~&>MG9b5ClgO88fcL%XCe4#K^7KXqNE9IpPdrt%Pn z&7Kxxg6^HFiD++KwP0=5;|Pa{E6X~-E_AA8UClSm{6iu+%ZiFw2n|;wygV;Ny(r^7 z?8W9#uV9+4PPnHtGSkbQGImIO%t@{GMs`(>US6^b0V`Z-Y^NhYKf%vbyiA&G);-?Y zfc0$0tWe(AW;HUc)7275UZ}E!4TjNfrjHRg@nVDdZumISmuLv)TVGrC$X8VNw0PpA zYZdvadLe`P66FIks~eB7yk<~F7D*{)ReX6ijH`weBoNHwl6)6NF5@5J%5;h4VOic z`Qo{2``gf3PQMS_b{>yBRYCCoh~~sUnWe3#^%_+4>FU%-7}1a__SvR~P4xm>=#M^p z>^Jh(K3US)wD*8x+4u9%%-vt^-ZU94_qux!{Sg&Y@l<=O(ffedw(3}29Z8NTUY%ADaQ6K#q~^Z_;Do-(jS8P;1t?; z1G>-EpXmslOdUGXPWSd=p#5Uu=5nlt;@D{BmjVcM%aknEL^;0D-=;-N)+PpA$63fX zy!JUE(^710funcBT9AH(QZ=e! z>7~Nvk!BpUAD&AA)kqxM!(`ipG%&$O6y{?h*n*?cvJT9k)J#$+yC(_qG#iKpX+lxOm#%Jqoxm){irbm1gi*LCLv2KeCb ziUx@zeUP^(s1BmT!HBwEeEEvNdL^Ox_a#N+El3t9<6$I6dyTVQ2Az*d_2{XDr^^YV z@&)bc3`&f}Cp_~;@p`98bf3j~&k+(uPt>vd%(G)jKC69*o^t^m*^fAVg+BQBx2-pb z!#h!0?j=lFGJxwe_6)j;+mi4*~~`6|ghM;L9ibs^Lw`R6tw*{;dfChte zkuyGjeDC_;kSDrH%&Bd*jlAtwCSBe$i5U-FvuB!joZe@f8={zI7~c1OStrgy4OzJU z8{3_zF8|vPL!y>e(N!V%B(m0^{d&*Lm8)~nX@#=8_wl|A&P z&S{01K0C?EOGU~kpTz%sAt8rZy_D&*x>-TsoM~RlTgGzpXiKe{TJP z^2t7jHz0P9!ml)*T*fI+pl&g~8ELYvJq4*TV)8s+zQtjVmbkglM^k%c-yY!TEjHO< z;QgGfJ|I@B_&2}z1m^dFt47%dE8{l6{Ql+Qk;n_L{pGxc$o!+sEPLt_5?+;pV)eu| z?HwT^y2Ivo!s(W2+dFdkG&yXgFKuQ2J-<(b_)k^O4OI1e|El_Ix;gN!7We7@V}5V{ zKj-&!|KIa_*7^V6`Mv7@p5L?o_x%2a2bkZxR{x#fzx~~faQF5%%qJ=nFQNZ6zbE+B z8}~QT{~Wy)EznJLGqe`CskznJnj&ivzoGIungg2p(4*> zo8#M8F9;b%!bRTt3R2RU_0h?2jF=Ia?a?;auw8s+%CxgoGV)f)Pdy$i4mZvbo%ciu zD=&XCOdfZRx$n$X-28FsmUP%Eu1>rp?++FO9VO@Q+!N2uJ7^r0x(_LfQVbP6G#9Va zlqGtDR}{bk-3&1$n=iwGkKpNQX*8A*$vSxDtgkG+M_z2(-|R$AJab%<(+6(0X+W%p zA_T?yvfgO;#+qqVlEz;as`ay9&~n{x4=WOb+*;EF)6&P*Qpx&v89RB2dJ21~NlG^t zvC>xS1R`7bECk7@ zXDnt7?vxlPi1Csm*b-meG@=woB;G(_UK-d25$Y0YwC+&eC-zoQk^G~ZTdF4R(go*| zS+UZ2nMqB^%7JUiVOe=Y^U47qe2Jzd1V7}j`HPG%U)nv-dG0S}pIBeE8j_ri+@dOI z=a--s`1@ABkWaGUtiD;9>JCK%=s9XJIJT>^VikS6fF4h7J=sF^G*8He{#PWb9{D$B zQV3!$PKtl&J~arO_Qz;2^2CO36iLv&%zMAJqC`~KyXB80aHzRQ<4SPM^jb}*WE&h> zaPXwP!A+>K=s z37>MegV!Bfb=~fygMBW6y&2d1TiMs!t+{f#TE7D)bM-6@^jI4MA*1JvUXHl3;A(MLR@P9zvXGuoS61)g-P$UDmQtd+agDNf?RYkPk<#H? zG)vfeGmi4>?D5|ezc4+H_j~tu84+hVqre;<)MG=Qt1b6k$+TjD?jN5Wh)I@{>8a>2D zS!BUCt#on1s@-XS+ZYo__J!CBA)sV0A_QU9z&@mc-}B?zfWX3_DymF|eF)0+s7ZLhin=|XP6&AIOBEjfD&7f!W?`EFc^@AL} zcE^UZ-y$lyypRpBr_UKvC1r#x&xU{!s3t2yhz3WJDWNUp)Sz2xzjp(yqmxmV*`gE0 zM5O^AajiY;$$LZ*uyOO@Yzh{p0f&B)mU&b{A+8@bx8TS9mc5$aWc(Tth< zOtFMx2OCvWARfNAiN-8L*sLNZ*CVl>4m12RM~-gO z>GW$9#i9)_Ow1_eW(jI)1u+Ibx&&kP9Q}02%Oe)9e+^>?_n${}k}yt)M0hEV zK>X~0X52yID10U`#)EHKo%MrrKlDdWA>XWXd1-O4*Oz;Mq8NtLq*QK0M4|p<@NXY5JGebrgDM#xH#D z>lQRv&#XJE-dzy{UaJ&)ID9hEs%c5?ERt}tW{M-FsRCR6`YkTa+lFl|bkdgN!*g`t zIZty{t*&K)?wgQ&TnTe2;@Bxg>RQ8uD8guLAaF0Fow%Y6OiI!J39DtyI4hs77$2*(c zqm>;mM=6A4zOp^7w;Fj|fh)g0;6*=|?QC)|yv^^TR%kP^P5xP8zaKzehwA|*=tYI_ zG|z#!L+gcCFx#V#n4lhe%_I9&5A)4ChFb6r5>{YZA3S^-r*3d;ut*y^bO`UtSLWYZ zw{)X7sn3$*n6kNO@m3xJ%rDtd-5{PhOR^gf$QWa*hPJeQszk+rq@}JAUyh{`FrAZPAHBw zA~54>H3P%T>r1@iD!A(JL)YLkg=;Gl$qxV%FI{8DwP{EFL#ix`KYfCQb#z~i&N!Xa zQJm<^M_^iCW;p3T7uGStDzKNu;?}!2$dwC|6p(YV^Xq|ySivkuaTyOZt#4x70;ct< zXljlx-7BVXvA(I;2im6PsDpKZI-^evP_vm}&E&zIqSY=I83F z){~1J3*k59prj3%CUva?Gn_=()o>oV_rs}m_yw4i-(y7y8E^^dl@Edg-Ff$eVh{?`NBXFMa>Q6cm{_+ z*rs9&Kw=+u22CMgF%*wMIb7QQN48R?60@y!&ScVQ)O5R+9b5aI(Z|NTpPF?eM@K9b zvu0onkP6EsT1J+%+qf{@6U*PFG7~n@koyuKDGG5Tqmq#zX!Znj?6Tj_!=0fW@vluH z+%REaqff@9s~9$6J*05S7J z3BTgI`c}H5UMZ#2yWf7-Y{6-_;8bm0U;9-u`2yz}(6KH!RhrfnrvFv&>;XxutTk7D zNijP8C5u1>AMxm_w+x&fr+ZE(EpyZlmC-nVL7quG?G9Ewd?U=v(ua|}h_+>u-(kb?d^%R=91=egH0y*o z^^boa?l~uIchU2yS)~Npq6co5%QTA^Bp6#?Ow$KaE^^~NRdY<|Rue63a;%QC#V8lP zUfPo&RNkBF5?X^bc%{Kgu%laDb4vR*IpEowWMYOM!mPM*Xhh*qHNRV-#?xX(v7a%L z_-F^X@e~=`29_JVwg5NY0|=Qf3n24PbiA7J*DB{wMdB!Y$+TB_er`05g9urIJMAp|4?#Qu73|4n)&S6iJq6lJxVEv&gGu&MI7>gqE^%SM8Mz9VDyEkp)$0&z-!zb5*n zr3BK=s<7N~<-(gY)^CBD%Y=KZCyrJMH7*+4kMp6s87K?h>RJDg`E}9c`}r6_3US%X zW48$ARFLmC)zaAx5|G`XMSxv?*u$GP28pkS$lvwEYRRL5&K%rzu8tq7n^>5 z4@qzt5po#6b$RM_w|~1{lA-f7hihBhIHWuz z_YbBw{9iCVX%I}0n=vgF`?qc5e0brD$2O8y{cD|1Cq5h8YE67Ou@H=@WOm?RS|Bs;G@51760R;Vh>x7l( z$BMTecQZc zEdaZ@`%SxsN2KA8f3lu7tzI}HKO56icA(dZhGE)*O&0NR)DxhpNu{o~ifv+400*-% zF59W!f-5YQJEvq3M6#Z?MwcbXO-6Oj3>UgA3j%HuyP)T3S1gJ`HFIl z`kX(nDbuv#RIxJ&>3{{b{0!3mg72Y|nvD)@^Bsj|eNJ+P;3#E(paLT%F)CO zIsE~+9NFNvOx;^qoD+QJt?bNDOv?lQ;}eOf*f=@gM*WEMCBAzolKjlG*%7)BI5k%Y zqUL1A&IV)ZavO|HAeNE$Iis9S(XzH{8@#5xh5Bq&b2ZHGlB5lO_h59j5o5B-+wov=0bD)D=dNxm5Kym#a0?0TJw8@xC?G&7K4sRe)FA3TR3 zwSgA@G!?Mq-HbWm7a<4iF@AzYcQypw+_wQY_dwF8rqA>MlD_O~(zp75CH)#xAn8Aa zR(K{oU%m}17h4A<{jR@B-xnL@D2tu$b)4S}Bz+E7i+A3r4z8tvdbPkfe++=@;ecU) z-^9+LbfFR^|2YF)-Gk=&|7!e=_xKVD;P~pOxv0k}aPm@XE4-ZVC?d4rvV>ji(8)RZ z-s5$Dmke>cAJ3V@N%y<-X=qqkadkU9E^BBgFt$#~16KOh!gt5h(&q=_R|i~o*E@^s zT~miBI$k)f99`V_f9ZPTJPa+caqDV8jbG3I8y|vWFr`qQ~XZOHN zAL#Jeq#O697fmWAMtAv(hZc5+oe)5dd8j>c4qj4f?@A{w;( zx#(vB0h)SB0Xez-0dEd8*aaE1MAWVbXOO zC_o;^;O;TWNIL(;OoDimZmyIK>Nk1(Vf=r%JPF#LE}k+@JzvguH*RhgOJrMb*6ISg zLIWKhg;)^mV;&fhHUjFdXyLfBn6hc|M>fLuG1n`z@xjc3^mGYC;N~Kt**~xKR8`A_lA{s%u+i@M zQB!fWQybY0jxLK|#;GwFJrTiX7po(Ibr3AUdyw)RMnU z*B#HaA`Hu*SY3gSQ47R58wa(%P&1){0>?pEt7~rD75{tY(3lBF)cytgcDga6`*BMG z7pz#nisw9XYcqvOdiC6ZuK4$1h+UF8Gqh5D#U^6v*Ss2NB8np&*a+IHXu+KN%pa=B z3E80ExjU#5SYr3_)bE7O=RtHBG9zsgD~Gq!>y&-9`^mQynU8Dqz>F?W{zh^L=<|DA z7%R+wLZRae4bUv`uG#ByPLbBX|t7J#8k9tq}JF7~v_Hp!7J+WUOY z9|@;7g4X#-uA6fU)iG9C8YVavN*ZpU6Xd$vB$mPGMfs2Gj`Oe!TBwYFhkjpw-8!gAG}odubh=dXIue5-gIT(zscmU?2fe}^Grsz?Pc@! z%`fEmdy&S9L`o&+WfAp^vgZQ zemfgJHMYYq-XyJGpRNe(0|(QG+mXQ0{d@pMFj2#%^$>d)O8*TC;VS5UP@ zl5(Q1z>_MBd_?a*am&8}F!-n5?b6H)7G7Po{B&{Zrx)mApGhWKpCl?m>Kt&U*Cyp~ z$CEhsM)0qUb?TP5O`&^uSZ^av!b{jyv035yw8kO9Qi_WY;{pcaB!FcrrJ8Jd7AT3Y!Qw@Fj7**kUtmc)BK6chaR*+bogOhyELoaCs%eIT{x#M-u zuY*4sv48$#4HdLKSvt&aW0WYSEr&_^&`aPsdRl@j~AKvB7xgQ0!Kg?-M|So$Qo( z`*pc+*9h|$ckx{D)WX1`c!5k0xl{tdgHfV;+R0Q>G26X*D*5a^DX(G%A6;<`Y4knn7GO)a#9^{LuEDxnr2ssYRn8tGx?zM;gVe)jp-D)wUcu)K*E& zJ-7F3v}n|Ogz!RB92Mr`E-plEx)3}V%cEs#<#$-gAAKk#65ESX$VzsGx{1^G!^^*< zFh*1($f%lk3NTs-)Oht#|- ztp^YyFQnHI(wY|^klMdpMgpYv?~?*K51Dh{H36|>8hyORuZq9mHKs#B+s2N; zFSX+LM({U#yCd7Y9Z_L;M4oIH`R}k0bzJ=Kh-d9)!(Y{hWVjRjLtEi%3C+zbap=2F zjHU?qM*NR|{SIt$(P30Uv~jFKF+%2GIP}LRSXk`F_r+^cF`C-R z&{ZtQbp63%?r&<4eR^B%1!0z}@rDY>!?GW>VYqhQV9qiOHvIB(xval^7!6f@rRcx0 zb`4i6qE`P??B3ez2L-6|a+!#fIIGynV@MZ&R*1ApSPcJPKiN!;e652Wn@ zoXmWixXl*Y5}C84D*Xv89qQ7J-D6ItLl89dzjOQ)V7O2C`^P`T9z|~OBf|dFyWe?% z4j*%46ayXX{*Vy3O58^3AUk==l4x_7?c$?<_YZWanJ?IzVoJ+)`?3Gipt=7FeR8|) zrvrqa4KUje?!SUzO#_bg-`boqEuRLue)@uR<5rw6eN-Dr>KorQ{< zH#uXf&diT1D_aS5!dVid;|E3thmQB4djCS1eK5aSbCGq9*6>N73#0Rdv`qi|ER2SK z*eUVY0f*8~AgaL*{5;6<>ox;x=jmMX(cMLTZt=}0(ci0rC4kOWiguy@)Y_Smw4q>(uE7tp2 zr0zTZ5Tv-fzXaSk;n_6KURJZnC&b3Hfk<66hb-#K^?N&!3NWWwQ9*nUrA%$N8qQzp zYFZIiu0>V&I}jsOg2`ezk{sj3aLMTV8SDj3d0h;%>k-C!iL2M8*b|!C){bq{*DAA` z%dmQmC8BHWYcwq{cm0>MztUwo{*bwa6Lk=TCgexDD~~;pj=R6}`o>2v>eIE{Kdj)) zq;I0{#{&z-9*njafamdaS&WXB_8pY^w?oUJm!6Pl0rxlZzh-~g@huhUj;r(Gd0@S-Bldxi-{l7C<9+}?((2|*3NAkgq{@f?%vEz+PkWb0M`2|@%E>{dLIL8yxb3Zj*?#BR;~k&`hT+a2(vzyVOc&~d%m1JuJ#eF zcJ5UZ$pm1789(`|BDdO&d!(ji+7UyeIxBP9@Zz^sg$aOh^Um}TYYe-hzJ=Z8MFI-} zbCWm<6rjHy^}0hg59=xiP&t_E=W>?BY77kSRl2yN{Mo*ggy9*h?YzO#hQ zKeqSHP(Y|XLAS#0p%Vc;0a#K1r@t(pj@2iOGWLxSMA~!vHtsidkz1H)sGT=h-iRDv z`n-dXqZvuCCFDeG9HC{h`$(r|qnYhXU6aT4Gir}ffayClf5})o1|8;?9l+JEC$cGH-NB#a zq4v$76M5c!%*2uNyYp=hMi6#Jk4SM)-7;z0+)?@2AAFA*G)Tn{M$2Rbr&&!z6U_U^ zJ5@*(fqV{F>|-N&LuNqq27!B<(VhjOnRsw-#_3tUYXgh@&!ELV@%mqa zJ_x0MGN`^}KEeKMbasq#-g34*S@YwUr^mI0ll|r7wgKoOKkM*1)J!Y2(+;I$1nl>ALArpWXoKrl7HCHu|XU^e0LjzyYI zxyx!2h5gt8h=UK_8?=^+V2+(rx&?^tPG3cLYQw-y{!IO5kjx4zN|gK8#IT`CN>P#E z_;O75DPKd}F(30Z2*59gI!2FkRSqCUx3g2xbY=2AfSY_-;3ogr9#s!cU0CSZSHvo~ zzU%S7M0YTZs#c@b6R0LL0=cngm>=x+{aOWRn_^fKRrz8GPP9&mGqL5Qv}XT+#?`9B;r$B5~$*wx}rr z2UL_h(G|p%!G#8I98z*J{SaK#)U(LVj;p&{Za0-n39dhrF+>bIF=~uCS3b?3B^MW9 zt>tkht^42$Y8V`>6k7i%l@=iRMh|I%UxwBF`>wdWtYOC}@tdnn*{b;v(Cinx7)!L` zh9$~H_-{$DQ0l;#P!u|1gl*<}Vg9Vb>iag>NDsLbAKWh}b9?Yb>UT0JYcj=UkzVEJ z-9Do=#!(AQ3dre?&+6yA8sox>LtZ-wnhEg1oO;ZI#*#}V2)~~%>bVxM!d$+7-q}R- z_ZY0i?(0%weaLp+mZ$#Io5OmFk@M+`2q|gNdK}L>v$i$*r|4*9!2u2vq?l`iOZhTK zU(b%h-;|?FvcB@pns7m=o%oWSX9xtW-GB0v`X)GrP9px4i@=qH3Callx9Ki7Gl+Sx zIsWY&3r>q|Hr#)i?k+*5yW%+bcv<3d-mFlnZeyb|msRo*ChVG$x;1GfQ_2xe#y4cW zjIeqO8KRTWAl2O{`{EVFt9}Cw2Ppd`a}#QW*~Um;&o9rOR<$OOthO|5*(~ zGu{-3vfF*?5vSBysnB|urBzj{P2KE(yzDTL)ZP!pI$itY^9!n>c^u=SEy#68+{8Wh zMuXN^2h&2aH%Jh3IK@I!@~HplqQ512P7!}_SxUc{tk_P=zow@5*8wlDwtQ6F$_I57 zCiXrV=4?6jqtGhi{gE3u1 z?i!qnY9n}$MdRk9p`HiYF#gssm|(i3@LIO;2-ee}4SxW3o5|Mn=|rF>Onb-6+2U}D z{OoUk(ZH{~xFps5?7_{^RkYX?cwcGwK}mB8Ckk_{8M$4I zN6?q_@*I;b7DHpYEj$6J(E~T}3UJg3GY>eTK1~M(vEO;M@koPpznWOFf8$lul+~lH! zdVFv2(gTZnkVzO~u??$)2PmM>v)_D!8=iH@TL7z>e7IK|Bc4h{b!2cdV6B(@kq79` zX*4ISk`sQvu}R>6l>TKaubZOTpvs|*4I#>-Hydl}-g4)hg>&;`^=V3P>*$dBuocFv@+tmcOn{6gB5W`oWW zOSro#6mi6zlu+{7#Z5fnl$@p+HD%{Uo<-K0VVteIK%1M~vm~ZfsJ$SJd^OwqWxTv3 zlVsn+HO1>=tCV|}Iq^tyFPO!-^c=~`&C?x=CVb0{>vujzFduG0cRt7C5&L=-Yb{p( zvGzoyyr^>mL$J7VMn}y0wc#%b%-h_bH0B^eGLO-BIh|3RV%pJ7K)%ePe}6?+wW%e7 zX`Q5vb2y!uLFLQ<#uma|s*`6)Nd*zk zq$Z^XJELQ?=V8yMPIk)<;P6-f!QpFFOxDo6fCq*;P8L5ShjisIQ*km9RBZR;mr!GLXK;?vg88*%ius#1?o>T4=tMm~ z6)jIL(2}X5c>w{F5r=M>to|UMda2>lPc0^ZSqP+ki^drs?aQK6hbz}~A`H|#6gio& zA&AJOF%eLHxZq#U=h(l}^eDb2W`9llNIkMnCI6=Vn90kiaRmBrep2IG=eI{+5*<_+ z%a`O@uHLM71}XgPx=<6FMvQF}-LKX=?>Fn6(;{m&_kURLD2KN{W{h1)?;BJVo-a0I zjX^7Y{PP93PHK0-Im=R1thYKt$wfnJUs?&c$p3UIu99R_ct>gx7<`c4!c}Wksr9bU z1OQ=MqeJ~D2T3%`Zl0-Wc#utVSp69`N>2bW-Mgb+u85@BdZ6aqH1^XF@07mr>NW0r zYnZnP0zG}zzdgOTT88pk9pPdSr`|Ms?~Y0sGj~jf4~F5>LKmw(xa|u!a@`()FzFPMs35UVU7hB=p5#*zBTmJa6 za)5|GBEAOc#fs2t!3t-dT`S8z(J8O*Xhpp2?5cWm_GY%nVsLg`V{pC(=y@IAZk5jY z%VFX>{#4Wrr#%Q-I@9^Ug?{;{3j7+_89|eBIv=Bytz6~(_!Y{+{%z?y{aI~+@+#@IaZho~r+NPP8H(2mU$`@ALa_JN8CIV<+qNbgRMKNpQF z_q|$$e_Q&gbsSc`8>mtw>7!$B>;*u1Cx$yZEq?sdsO(jFSIOEuTkzLwpJCBA&vZnj z`HI7zqHq1?E&UG;e^t?8CEoktF`2{8t7@&yUG4pANq<&29}blCS5+f}IE2mYb@?nc5;P&Tl3E?>KpR!k^!QoS_fy4EHGE4tk{DHu`w^>ErxjgP#vD zGIu20|&i`V7 z6jkSEIz;Tt>Ai-tfgb#PjNAn~VAR@s%?r@008$<&t0~?G!V}s{ zRX~JBy3E`JY4Ls@4BZxI4h%S(L!Sk6fK$>CqF?N%_Q!(@eBX=l4xA4oIouKyn*ax` zJdnW@lAYHeb|0||DZUFnC>E|>#!h{&`K%78_!)tfzOMhySk#sw^M!;qrjQ!R)5R`p zBWu$J_wsPh&2($l6$y9QQF&!u%fumf*#l9zZ4JyL6tCGlA@IF@dOUc1;25@kyggQJ zV-?$>b)3Tv*d4un7`-#yh&kccPwt68)r&-pQ;$Gx702^o=N2ay2J1+3_zt-u6@sEl zKnNuL3vHm^CxQN_-$w@eec`SSE+uTXlV}7XS?gw$z%XOs454s-HuS)72a480;czgc z(U4-IhYjIiWpU)O5SXvgYzf4aLU?%)8?u!w%@f<)2}iOgsA%}o$zE2Has zg9=#!-Lf6zlNrzJm(T?QWPexsh0jxe`+eX)7sS=l+e)AK55Z%#CNh&_)-KBBcp~(o zVwOVZ0$8(YW*xpvX%O)u@^k=1eD523&y;+tS=Cs)_q~{QTYKSux}`;62z$2i1~u#v;N0n=hJG@?p_|hATkjV-8hX9e z`-a}$K)tUCBz=KLbvST;k}d+Y2V%()p9{iOp_mW*kszpwok@XrNO<83_C!(@ZpuU- zbFE24gF$kwDMWGVwuKdck0zkA1R#%vG8x9RpXO&|44e^VU}v0kXW`zJNf_zumrK@YiEOGePKAbKZ$0vS>p_7(vD#-r`J5 z$=i++r2KNdBuH|XBnmyC+;@0_f=B0>!Z#IhBl`H&rs#qXi;mOoRh{>#8L7sU8{v3Z z0v&b)dDMw0KF1@ye;7`Jik1`n2%(&%dZLRP-0KC=rY0C(-_QLVNzd;=x?wEgOOrV1 zpG(TU!F6Yd0#dvUL6qbYqS$ACWvXw7sHJTO$;Ta>9oaZ zMx{cJj#Q4V&AE`Qxs;1n7F?I}F5G5C$nf7&_0nQ4az55{nU zupc(_+&H4HOHU_`Qjfp&rJMBlwdof$@a#;nLbjRR8 zQA%7eQ~D;XqQMPa;Hc1fi)wgybhijPxB5 zRpe{wr-lAF8-W+0&p1tUYCv#Kr_A!C-k|lPj+9B8F-4`{3+-k%z{L*S;;c|ZiBX+I zz+Skq5J!=te$k?F)}tib4gNu=CAyJACHXSCbZF7~D!A8?XT-P_+X^7`bei2S+uRwU z=-pNt=UJedPW}=uZ0Sxe*Cfx8;!#&FE(;#AIg7eoC+>{{8ZtwE*i;VURPGLZmsH{#3mm=9Rnlq z?(UC0>X^pcK|ihYPi#3B746`hn&M%z@0@88N}9FY&$4n^-+*@CC#XU1_7p?k8Wm{w zH?@&xBC?$`=EbAfp;m#^uVPmiT0jz`r-5SE8{RlsnTGCnhSngj>6~G}wl|__JJ{U) zH7#|z|ND>rpSz1{7(scXgeQ^4jH?I^jkzg@;kkGk&zm+^uY&tzHPgHsr>{wfQGnpy z^i^;_lS`%rfjuhv(v!xQ^-!lOGm=JM;6t<*{zx#?x- zB)nfb)-mH;9{`xsvk90=1F2wQi^yGGB$*=)O~sBWk8!`Ss+CeSqlzuTvs z@%*))Q5Nl5vO*t#$j^9mBc5sdPHyj8cICG;?Bb90vsE6|Qy{Ql=``Vl_p}n`uE^Wn z+L#OvTGNZt3Uy<(VaHJm&Hm;;J#~h>#&NNB)p4;xGm`DDU@pXI%rCMlmixJuluneV z8Z!DG+7T%7}oJZac*NYBo309RX5Bd4uCC{n#BF!)59Z)>npCyp>)$z zd5`lq@Tca#2L9|Ti`f?5ex>OIqJEKIR3;U?;%tws|3dX*QqAdaV70rMl*ZfhTDK0z z)k5SBta)Tgf<<~P>cR^@&>^nNHeu6?chgso#ZQ6&-gD`?~CQvkOfdkwk&n#RcRY9RW_U})8m2LU0}S=6wE~&8%@pf zMX_joHo>hul(t|c11R`=AjG3n5-Kl}MD3J&h0BAQmB#}1x@|n#kK;1JMx_*ifQe&qsoaeeGe?mu~k9fwmzzL&k; zMH8wG5ne_Zdi|pw3O+5#Xd$a1MTLqAF4jz^9;uJ(gES>H0iL6$?Prxmkq~Qz3JKXZ ze&)xYR%Wx4;418@>sO0)H#GB7KOARSH19vY$Mh2C1~2tQ8>^-K^h(zI0Fd>ri)JGm zPLFGxA_L+e)*|H}&ae@{XAx^UiS_#bD6=&&H=Bv!oK>Ol7eP>oEu4i;Fh?Z%qLx?R&7N~{gaq$CI|&lbO3ov` z7RNU4$a%)Wx!+<@fb*naVqbhxG zF@0>W;iduEO_vrQ-t9c~?d`|+*$m(!QT?XU>0h0W;2JVY`d|BfE!NglahZ0s`}wF6 zU7q>29V$s}@BBWSTr*|^ir2$@Iy2QLIjj~X3?78i;}ye7W?5Fde-HC3(qt?pHdO7L zpH_pFs)s<#R?OL5Y<}}6e9ZWMx#0*evHED=Z1#%Qv-QQqW2pO;9_lq(;rmYFTlUG} zn1+ST^l!0_w4EtaFYBPH$b=)W#Ti`5e+_GoKn!u&k3EK{(VfnVCHwmvo{Vlvd%x6`^3&zSc<=`%K2rgy#< z7Yb`wIQzBVN@KM~w$X%po0~mW-iIq+i8p7SVgSz~P14in{7iv!=wtsc(N zg%?;Fa7D9jTBo?6l<#ID{_D9nU9n@C`cU=ixd$|4qg8g$Ren!*YLOr^NU?l5TNXB59mzl0|cI z4EV2}dpw@}gy}HneWDeidz!-D2;r9MpA%eUAn?!!AL|r;)R=IKQ34IUQA_V7-t>;t zD_BqSm6vaH4~$H75|&soeD^d=nS0S!#N38oUm+P7B- zLq+0p=0%?mAeOyk8~46pO-BXm^?b@8Dl~yk&y4%1-jx+M2bm{uhYrX`3w31uh*IQZ zyme398L&uS5QFaM^KS$p3cV|2pJzZB& z8yhxJFkAFfX>3p|p)fWHfAYBBD16{Jkdr8hsRMqHJmS5@`GN?_zdn42+{c|4<_uM$ ze@F5VVc88KVBe-8)SOd63|B8iFoGOT-HkB16 zP)#CQMG~w+Df}DP9HX6646+B*%#d4T_7=lR14+uk)=0X|VPjy5S!NiE0D92$?LXu3pbjX4JLPAos z=(UTz)K&wu*WIuztgK~KVW!x8oCK@mBE&AO0iYR#Ec*^Z6 zgAh`YR^Lw($Kie5R}9yp9c^|i1)C{_D`r#!{ayk$#oKg>RU6n)GFPabZuP0Op+v$$ zWmInIHXVD-=jGvXt7@tf&+8SoPyJ$;1YU-R@Z(E}>rp-)Cm2jy30{hR*s8X8*CT|2 z@;j86a_A4v_P}x<98dl=@OLdde1JRs*8lEO%pb;rU!vO^8fiPlo(S6L<4_>cUb!7f z9|T!D3voabF}5(+X#|2&OxjMh|DQhV7Mzi7H59jq$IxbmQay;7O#^xaK zcD++>^9|8AX!g?;@H(9+e>S`dBj)a|Vz>W{YKHst4S`}QXv7~$)C0!s=?g(PE*CN% z=az>eC2idAr%)y0$D8sUGd2rBPsA(_Xn>l-)wDLO2;h5z?mx~GX0?gTuXV)pU6_(o z{t)H$F?xDe{+a3BCi>$wSlEI=I=ApVk?ax;d>b_40lWUr$LfR>kH&tUHV3J{{K5#%6p0Od|qb6n9IkGr}iby7349qNF1eW`_myUuMuxhla=yKmG-W3Xc=z(qel2nSiLj7a7jeWf&l%7-KUC<{c><%p(3vsyDui}Uv9#N zKcSho2G$32RX~oh+uZ8Fu7<(Hp@cycnvpII_t1n43L2J?J5dW3l!=eSgjHAz793ss zv=0Zy_3lUSAsp@3Ik=|N)k%(SSN1u%1|q6^A#3iS;d^sA_62$JR~O#6h9iU}Vu2Uw z8sCvFI9#w1J}0De9U6W`72cwioxbNnPV4-kl_3U^^arnesWzOT6h(ioE!i0g{XtXm z<2plv;4NAXn8f{d>yg{bXOMkzG!8(}4{q zLK*uOu2lTBH00$IJmO<>_G;#f2=ss1?x(fTED$+BRCE!)%O8a{4j{iVcQSF0%# zLNzsHtmSrG8o{^FgnIvHe24JK%Gi-;#8cPf&%&X3s)AfHhpEXW{MRIfsFUS#W75k7 zR%4~Kf#-f^wYBPxv3si|3GwH)0HBYqDeWV}&GmE7`xWH?;(%Y>{@_Gb%(}6T@D~hi zl97L^3R^!f|Cw#>jPt=*t`H)9|0h=lHm>GzUzk0=!`H$*8d;tlv=$V`YkTkQ>fj*aPT(Uw9~Dd&KPXEW1Y-y5TU!$>LNA5;GJpa-L`>r~B4}vj+vXg;lR8sdsxg zCT@7{L6iWZufO|Eir3-)CdHcvq3^+wyf@gRN1uvJG3d;FU3RR3PrBsdYloP!GQG~jW(cu27d$|Z z_D0DxlCTf%knfN?hhGFHo?m42Q4p39XjuYwCM zq;}w5d;ODJQEIWBH5e(B=^vk-fbWLDfmOyKRd`|5Gka&bx~;DrW2TC1a8Q56VLh^6 zcUN+6ocsGlwRk$SFqs6Mq(smcI6#WWETxqoVwP%#0upEz8nb;j&YxKi{3|MIZ`nU5 zJL(?CT&*>;G9R>TkT+LkA=>F5*_tMi(!WpUcPc!mJ``^h1|dDPHs?R0IBdS9KDN6+Ckk@tilPzgorv%&htu^vp<*Y z{7XeGEVP zgeer^nDhBG{S1tFk6&5u9p>0IC#Lbd0VlKUQQi16t;pe>`$CC)y|77wE#s&fT^PyI z`}f{jnZj#F{0)>sKc_gRuT+A#amPD=OW-?OLo`<4hJWDIiPz|<2hj7+aaqiBxL%!j z#@vABUfg-Q^(#B43E;#F1DtrSv$B zX}?bn6F0sOTw#Z?>gCUM6rk33k@#4qP2(!>(;+(&mRXdRL5C|-?S-!vhU{auq*4+l zy;7Pz9&yzkKF4@#TF~@oOlG`xUm&c{@F5K59DU9f{Vn4+KwCxWWTtOhWqI5kKHT*; znt_(uP%Y&p18Y>`GEXQmIWClnWhEDr+16Lkp7ive+P|Q^G$7*xpuIdT6rL8R9ij|2 zLR0}4TMQNOVkUd&HNzAk(TPH1FD&1M?XZ!SzDKv7HLea1J zXgrzEUP8+C2&lS5N|C0d$f=?b;ZMs!LGY{40I5&(mDC3~_3{Q>B?L{k!AYHnpyMTw&2%;_efuXmg;2yZpG^9=sCkm$5Q- zFHbka;vG*A2IGf{#4E>USJJ0Q$%&MME>c=|-YICU21(q~8!nl%vad$HPq?2jnH_TM z;c^BQ%luizwL@etQ7l|eq?}Z-otl2~B5($ReZu~*nPWtV+w)!Cr0P~*my$;e#q{Ab zXjE%M3LKH941{KrTo5nq)sbz2uVb1ov=s*tYSvbs-!|X)uRqB~|lpXZ+c{nf+Ofitp6E z{?OL5cBzwshTUR;D(DQqIdT6Z5l3?^zSlb-*8|$~$Q|zcUbwMwFdG}(E zGj8nWc=M+POFepDC7LK-KKd8i`u_AKMiLBkV$?!?E>8&x7*CNzILb$PQc{xeydV{l zeM4Zi|Jv$VZ6rK|5NrdM@_#Fms1O_R< zik<5Z`%^l!9Ksw8G&0*2Noky>Gcff6+Qae+ zx=cXwsk>w!xs$N-86-l4{SDKn^Y@6~f^E@@Ay`Qr0O0=*v0kh)(^>#HDmv1(;RJ#f3Pi3ONiemGIq9TERqdxurQ`A56QNfp#YNUXdPQ#VEH|BYly9j4jAuWi#kK_HANMIFUD$>zfJeqs^_}2!L1R?*{Xpv{!#jjm+QAP{)P7o zED98xxN?0Lgyn=mv#9x>pP zYz1AihQa}H)afFm%nS)=2skzZ#-l}b2TEXt>triba9bv(p4^Lx=on<4KTwE{_8SF5 zL~zUCK8W~4z=n97*k;I)LmKaP3Zk&N8vPoKfq?-MOBpFR1Wfn@HYv>R00${k-~$>~ zFgOffd9@%O3CbsA+CL{x-sqpqO;&W_19J)Mzq6#2`^}jq9IJx0&rp_C5|Bw++pN65 zJJH(1RfIq|>f%~Y2OxdEJ5%aj7e7a#R@&7mIrBh%*nF}=vx6e1z^fip4O)Dw^q;n} zE{O09nuT(LFZ7%$KL^-G^*M2nde3r%NQot+^=~l$l>Kf|vH~NYP_E|7`Gu6_^To}N z45CBj=eorG7J11_*j_Q*uK`0`sD#a%gYb&cFr=8p%BKGX zz7Z3{?G9h z7Us~{2$A(rjX1ZmBK@bkFt-n$Vyln4e(#Fb`>(En3#R=ZD7Ipt`O&jd2q=uvc_A zw&QQNBjIAPO;?9c^^w9x%9mnYWS1<5pe!hz#Q*OBAKD`toa&k^)?tuynfuo5)xN~YOQ5R8MQV%)+HFi4BXxp;@>pkdJg;Dgv_^s3eD+|IeUp%+%QLu}b_&o2^$cOpXkP@d})6H^%&uvEt z-n{KGlivdZx<4}K$&C&*3E^v4HMh^U`Jpn{?rtc53ckN~q~@q(bL09mjl@{Oly09Y zKB`Jg0~cx*ZPhd^%u#9_Dio7L8&A0lUJZ<}_2%YCMU!YgJT6D4%lcfJAll zfyL6~=MxNOSbqkwU*L~!U zqN$fj5M!CjzSj!ix|hTST=%|KiV}GXjj?d721v4jP(XF>9ykM3_fXZfH0YUR1C87=+`+fsQYM=E5V|d~;Z;Q@ zdDz`JLP2{19`fU0Uxn!kGcPw8Dr_CkyOM`lXSQ~3qJNc{n$R`N%CXi080WjF;`3i7 zeNreOpm8blWv86GA<^#KNJ!coU}0n%&3z$43pzF+8B)+}l{-Up3wu9HP)u*@VjExP z@iqD3a*!|!u?%@j)iRdE%n@2xeHg%+aG?}1OEhGks@DIXVtw8JO|0jAcrMC*dDs4Q zH^}jS6YGioFJt}1|1V;Fl=%P4SWgI3Yl5!!#88{u_#BJ7gb(`V3v%>Wz`Oci`a#F* zGc`}3oZXr>jlcBCM5A&1Ti=gQo~L^O{9`=k-FF*Y5|WzGDQOQD``dr;0;UBR+MjOL zDBs^-qkFTJwF@sUjUFbg;xkYe{Ts^L{zoXc#bn+S+`tfwtx*THL};LSKP!?y`?Apb zoubi_>T#lK$TXC)CF&&JBM6LMk-@B)<==V3FQgUvUO$QNTjMleKT$jU9IrGioF0gG zskzKl$o}lS8^9_dClqEq-s?{au<%exKjU71Bey+bg&ld=jQ))wl!(s_L&pyAc4m97 zQL5japq)u$gJBUvEs1oY?H;4@2kD4Sq7Z<5Mg8Cz`z%dmG{w{u;-CwU5N@Uk4*|&~ zs|qg)GUx-@z!aqd0vlS-^A_t}B2v)oHvobv_r9=_(fGx9_$t_MCio{RZ%Tl=U)MZF zM#Ug8Zw65JJHX09vI{qCP-PP-0t-bCkFG3FEbIqen(D}4u;B7WSpMs=K3TbK1I!~{ zn<2-k@5A-xY}C%^S}pwJ!Ku?9ZS2G<8ZAADL&hz_%CB{O*~@-yB_Zgfo|vTe3GZs$ zx|B|VP>*b{`mw%ZU!NwJh*B~fWw$s96?Hoz4+!-}|DgB+ktQPUEgbBCP5$CY2nsJ2 z`sT0ReIJ0j4|y)SrV2w$Wz&qZ2_0D$!PmX;r5R;6+M_K2f$MFPZ|;~m>_Rc0s%!4} z&nAC*ei+l=PCsnT@BVStX{>E+m_y#r{=V1n_PkYPhLGsb(D!GRLaDbZZA$dyzfRIR}`4qaG|3P z$o+BrjuOF(@DL36s|D@EM*=AQyOu@*jyLu*%^(7YUK9NiJ~yg_#6Poq>EB^Qf=J_j z?#T25IgDVUf)DC&yI%H0R=okd!r|obfiPb>B2a{2E>DJ~nvT`s^25%z`}{pFn`~el zCIaS%0m1#i8QFh7*Jtz6p?~r|J!kh{({0DX7RZgVewk0Vd;Vko_9>n1z^-m|afv5d zUWU=s+aS|`bEEALCtgW-8n$*)@NsW>DD%+9orwU6zCZCUDeQ#k zeGB-9I#ZtZ(;CC>X5wj~L>wo4nZn+wfN&(VM8f1f!R>&PPgs<+89C+a|DNg}A^h&; zsGdb*XmfvfL~Oa+lvrSyq}+s(>x(+gAPkxYGQE8u2a|ouOHBo7N~r0gn%4TG zel zdFbO@Qy7a8MvEqfaqyvIBuPnRy*@{S_Z68toRvF6-(2mM{`gO*C?C8o~s*a`q%=DhMfp3|fN%Ru7(O{_kX=?6e5SjFaSsA$1 zho%;pL1#-oAX8L<8-oBI;8Sb)SV^{+sk`I4Pw2lJb1vDE8%E0ijLBu?S1%l#D$K|s z`VkchlKO284EtTqH4_@%6*)!X?!q$Xk~Cc3Auj}(sG^SC1_~t!(KZO2iUbr;Lt;Ub z@>-P83W6O3oS2;fVFh19lgc73p!#e#`;L8aVxXl4OUz8b;*&Y+!ejX`#Zn1`r=`4l zHlJkN#IKgd^A(mYT*Y8IAk%LyB{8vfo=*edeVQSG7QZ|sdvVZQj5_nQz9pfE2udnU z2>*e;bl^^Z>0~0$-TPSL3)+NRZ!-e;%GZcJU-{cZyU6J@3O1R|S!I@AUulnp?bCJv z@P5Q2^H#n)Aw5hk!_FFQL}hxgXf~6+sT5vJX(WO`hxO-L_&h?LsM$y5Km%TU$S<9V znH`n-IF(^&m*wONA4X=($Z}CEYPVrIfb!lCwQ9HsC0Yr&=DOyte6ID`U6<7|`9!ne znXah}LNpv}8L5X}xU~O84?d>HBV~o~MFjc3boZgJ-Tj~7u$>nR3(f$SAcuGT@tY6- zcK6vpcRxG7WB(L9msNi8j=lmDIzv-=*Vxfz&I=r_x~7|pVFz?WB7q2>a>Ehv9tB0n z=|E49h2Gf`HE^-?qelOt1#f1^dTsx`noJHzDMScsd1OO`Yby%l0c#t5*Z#FHf|j<_Ha8c zi-@RrN~9+60!sUH5!I_Er1-k4N#^XdN{gYnc}6K9tMC!|QtXTDg2jHm`l4UtU#uG>pDdZqHMHoIJ~{*Ry>43v z1b2TBm7@2PTPUekCMoXUC47h=ZUq-px(LME0qH%y3J+}4>XqOMS?bPfZSU7cqx!VX z6@8c$%!St@k7|9)SlU%o$evSUKc&gJPuI5Jd@}{;5ldgVOPOacTh78DNo*Ez<)Y0xW;yb3B&PeP$Nd!Ttw zLh_KJCo0_HS)p!P}91d4Dw7iNoZ0t(Ahv5GV@N_M?r63(v4v37pi-6wjP+P?KAx zILS*t5w)z??qLFrXaV{jCmfd0HM@MJ#N9ppZ1JJi_Zhx2$su?0;~V;t?kPVxQQx9u zwmJT}@!Dd}ETX|_?S38WPm^gBd1+%d(RPz^qSRn0uxGOAwLf8Kp;oy)IAof%7mqCi zLx@lmKjX&Rj$BC|-3&w9Av+bMfmikPAAX!CZjM&3tLArNqjB3VvQ#t87@GjU6T$i{ zbMU(@`07GUTXH1o_hZ>+SoTh*!1&9Ph?2a|oz6k!5w-d*?s81Lkn4_l&^krJG@A_c zhA|C}=?6XNX|gQjMeZl z!2BOYCovgtaD^GPivjm$qw;*C>F#q=ecE~7#q|jZU9kE#9G`>?ApU5Kw(}R-$Z>~n z-g4{FLj%2i2GHC4aD_mf*M*J-7!)H5(IkxE4(WEU>%4qq0KE72ymxs|t73jSeuv0b zN$NKm(T&veoO6~Rfi06XHO-5-WMIl?+oSB@sLhCySLS|N$NlJYxpu>KJC8HN3km_2 zTiP^n8)TlMZz$_8<;tJVH0`KDpE{4ccx z%wGLWXR-M4LHf&;QlPk})M^Kc`wO8`r=*=SwN%|6LC%hs9Ob?C;dc)SqjiE)>(S9c z2dSs9p1XREXu7o@)=fCQr*tr>)=C8>R!SvVN<@!ll>M}vYEq^3nYCIasivjAG+2A( zM|8GXX_X!*Icr8VjSjJv)e#T+;31d z4R=#cz0L8p=qQ{P>$SBxhU^Q~M|H*@u>Wkj5>(BI7u!`8Iv(j>Xe2PPxJ$(>^p)8( zk6`5H8fs1yhc3}Mm(jSso4I%CEudpk$w0*r626h2#lvyYK)d~+d+dBQ7c7;6;a_|A zk^R%}M{n+N&eMafBrLhdoj=mF>QoXoE9cz2`bH%Ju}JFL4@{r)h}LGcDu4VcTq<+K z9Q`(QJqKl=UNmzv7IsZ0tpg-{4=W{!vL9~YaP`>;vUyl<$N8+J8}d~wtSQ#nAH1Nn ztD8Qq(}(4uM%3h{cgNIsb6r@_aOanJVhLi-Si8L zBr18oM)NAjOB5fRDl){S5f@`bMC#_cRcti-UTKz>DHEus&Bsb$>^0dHbdZeD)CORg*dIZxndEeAwSCI`u1$;nZ5Q z_vEqala?ADnBUprqab72@<*B-Kjid`FP1MxEKNrJO7QM&kk1ao;A9xf1u+ju?~DGC z-XnG62PQj1>JT*zuUsR8O%r2bXc}?%5jd3V3W)O_61_6>UE@xO+JoPi`M{ihk4O*s zV0(r*lh;==4CyC+esWNzfU+dE`XW~tgy9B}p4~Myw~K7i{tpvwhm;d0fSY&vro0C( z^Do1D|7GW$?f#;_oYBK0h4bn2gg&;*Vf%b{k3(U04?0${ik(rlsSEVo*y1)_d#y_ z=%OL%<*CK@vvrVo=eH5QvU(-53dv2GvIKdXZSA5I`|Qf%_ZoF#6A8FN5Kn}9I7RCW zwINMpBlW%4aE|&P;rtKDXWYwgG$X*jd0?eGmf%<{a-@^gewTQr%Q+j~iOOHCOtmY~ZG&vtHqV=RR$< z_N^uE1Xj1GC5eS}eusYc?q?`B-7p@RK*MiLrM!86XY_A-dWD`t^{B4NZg|&=lSVs6 zec=CG5Veg-^+i7)d zmqK$-pWtFX-p~B%@3^dxyQ#NK_z&BM5_!ph{J*vjY{^8Mg&`3NR8V7L`;+c&$Vy(Z z*D1cZ^HStVfiMi!D{6nt5Gd_o0)Tu^^}#gwM^RtIJE;AsjN(|V8}U%0!WdncZj%qh z10TR|#sL!*#?3@96Y6(W7!%ibG{JEo=R>M6a1*eWJHqk-uQ&f%y5DiT-0i%l1X4*Ihb3hH*#)7$>nz6gXsQ6?f(<+lYn@y2a4+g#QRE+ zC1)Vs@4G=8{f~G*`Wo+(4Sb(QADB&EAkx*O>(0SW0& z=|&pq?nYWdx{;RN_XMA{T>D-7{l4RQdLPX3ALDmj1V7Sauf`1!Z%73oS&wt|T47*> z*zv_l4Vt1mU+<;DkOV^Qq{9jtNPL{@Xy$ymw$`8x%hJwlW-R>V)XP8^UEsFdFDw!J^s=3AQLpaqNGZbU_c|vq( zNAgZ#s{P2*_O12o^Bq8`cL*r;PynUgJCIWEX_mjQ7m~uEhRuaJ@Avy5G8lf82aP~P zL#^0Q#u1eZaYE4ll=lNrys{ni434^~Ub>$X^yN>yIR`kbX1A+5`o@Q~ z+P&oMSN0JUYbA-J!5zD>l46`4O<0`64-0@w584nE=_y@bV(6Df|NgaZn+H0+m)j$x zLHsGfX*1c{FIT-zu@wAUotX%nndEB3i##9Ei4TnC_3o$-alv>3IGi&vayOLlYX2fN zHZw7k^^-%dF>+kM1z6%E3qi2{dx?(?L!S2ZK|Ot0pd~)TO#;7c>u(Cr{kEIEgL@bL zwg;}3Z*KP2MM{Ker%b#a;#UlihWyOtC}fOu5>h4JS!Xz8Nd}#I9s)T?D?6Q>UyX1n zl8@Zil9Xe~jRW&N31wQCPO3$Cz5-c(VMHzVJ#vjI_UjL##UGz&d$3|@cJuT?8Xe3( z>b*->7BoJuYko$wxT+&S+1b#!M;+)58Yq;eRTM!r-_`68;|odfK8W8(4|x$3q-U~h z{EyC)?@HT=P4-KvC2&mxCPU^uWg*Uone6;)gSY`2ugE~K#-K1p0l4I1{v z+i@>MaH;Tdd*hF65|%xS^^e2#mCo$!5j9M7HyvhNT?1RD!tB$s^v%E$zYB`XzeeZ<*UNq`_`rNDL1zO_Y%!^%>U(B~ZY4nDpTzSx$Nx%&dsf%Tr;YK9o z_oMbzteqImFm*dDi0q5P4Q_$DE5ZJ*YCVo z3xf0Gd@9iEY|zj?becu?Dsa-!vfTZy<9dSa(W{;Tu)PV#jo@WPr<+FicTt2Qo7F+Q z*Hlwj(IK!(33NXxmdt+ApJFmokozLagQxUuRZAYbuiG!@>NFb0yS{m>Lqiqx%gsVn zU6V{*^_dmw(j&}u>3ftX4P+Jrh=(B7p0bh}Js!ED9x3&!uFoLWUa)>HY-<6rcFW3l z3h`=ywTH2%Mu;H?R>rHb?bkdssCm}<3EgniRL!!7qflNh>5bmtT6-jgH_PXMP239- zVtzf#JeaSFXR#mo^;Y86PDtKDeKHb8BH|!3@@wQ*-qhzEhgy()tImR?zh!_^UYeU!HK;(Mj|)!&f(Ge}T$|Q!e)HqZ^(MdCwIv!+-C-UUH`Q z<%X(RD?pTejgb*Up!a*qA~wmMQ1GJ~TO>-_^YP7DKbl?IB$> z@%>S%AQafVCZ^3d$m@EGy=kJhTdbVp{(ap5mvwYculu7!HI8b1F|6znRc5G#?^B|> zMLBiFj_YQvi1$`V)2#w*U&_iYzM5jf6DK%mL7WKtAa$Y$;9143o@N3+ow730`OLMX zw3N6|e5ntpn-y&DR0YS3fmEqDgAIG?>GNiwaF*2$6#Hv6$(O$qxs|XgQUOE!{!u*` zd&F0xP46*DnN61%5u@k0C*g=!1zdvcs8M$h8z-A=ipn5=9Jpm2M-NxcWWKpaVMLhb zcZ1H!rxb(^{;JZW=@Dk}%e?UKww}UqAh>pBcS$8!Mx*XNUYVl7s5$i~gKoi# zG`Op5S2Q|@iVcMtSX)GT_0+sQ=n3hc;+uj4ut+Ei6)qVR?27?$aP5s&D3Y*A}6X4*1AwJB9d+x^G9wv{=g7<5UojT<|mPs9j zVbS*kg_W|e4+qy_0G|H+U5{^c^_aiouinUMJm@x0+tK`0Z{|;HyoLu6!al!vLlYG$ zX?0@r6muepvDvfRb!&6>t~Ths5(STVuO_zP;;vzR zNH#@>aMlH9!CR)%Tsw1FYQwTO&=_%Y`0W!_9;_Wj298n!uKqwf9_6tKoSH-vpUhX( zB!nPXCQ3k|m&zAk)v?&6O}*Xj(qZ7#vLB@#RH7lD4&v#b#{g}8sOfg=4GB{3N5`kO zo@Rgz)Yi*9Jn{5R9v_(*3mWg}on|l4X&sPk#0H34&L{nR(u;RfC<64DRS;P+%LB~u zM_`tTY3-x1G`zm4_Bc@NBX_&s>?^+ryoqzKFar(o85Qi}GH*3(p#r_N_Z6>HWuTCh zM%fMp9;@CJWEjivmY5slDQJ;ZL`HI-<>-BT$kM%@-~c6h3mF#JoE;hsdYHZEB|b0P zN9et3=pnzv5)|+3m}1;Q?T1y5WA}3LU)DEtphWNXl;~;VXRg$^kCklf5Y=Fmf=6Cm z2)zO#y&QvT?qo}Qw{|KKz(Jjh-H(o&?;m1=PmyDFTp{j z_?{A{WbFwdt;_oTc^G)Qu zPzyt%IL<6qbB~_(ExS^W6on-boHe(3m9udq>t#YB66oR{8NvQNEpTzakBSjYt4Fxd z#{EWBX=OGK?w(HK)p7NQi1EeB3wdjy15G%H>$KlRTXKL%k9mNP``7H-DO{ErAdy~Equ$cdI2%gaX=-YE=Xs_68@m}4u?HvUx2^NNrbF%H2F%G5`O}k)f&``( z-BfErg`<`=_N2l$LK3X?dmQ`!A44xK$ro@|3_Z!!|kFRXqnkP>&248B` zH^YBcQ(qhD3W%TK4bK@Lb9PFwWUbr1tkNEFFso{*?NFPhK5sb^_CTXR@_MtxTU(ej zy~85{m4X6Ip%2k;Z^+~nor&Kq%uhIt@Qlc5YRP#cxOLVr7`n)jwR8SmFj@=Rc4c$o7v;HBN~ORr<40gT{Lp9buH6aj4Qv+9Y?^02mR#26ShNs%W9om zW~pJhZQv6hhr;vcAZm_bOHCW!dbNQJ(9`u-su)(y`E<1A<^{ z*Mjv^s^7U3u(dC-1(^EP%|FI`T(5h+-Z075UYaRVB%)SHCYa5~K`0bEDBoVozH0)d zdV)yYTB+bN@azbhhUv|8n`akZm)T6SIa8n>-?3GcVEsYR4K*Cu;~hKT!b=GPTzFx} zK6krU6RDZrt~xmO#jPFZCdy$T7hXkZpNF*gcmxEu^08{)M68IDkhOdZY{efFUcI1Q zJcQI1>W{xncwCS!u_3kgs z*D8g$Yl9qjiI))nBh_R5XR2Sa`oB_ryW=$#b2=Ca9W#OC8q+^xd|r2Hm)kGMQ?mj0 z(Z#!Hi-({~`NOE0o-h2@1d1g1`8?7-q)D=6|6IzWfX4VdD_HRX`bSa!jPZjHkmoaj z)*kPvwJ&%eVy%;U5gm^bKIn(-_)lvO$JxPYHP3H z$_|-{ZF^#TV4VxRpiRg9_P9-!_294tFyXx?S>H9j7e6Kpj-y1`kE(L^O2TZ=O$1Hp zV?l_#;~7B843G0xkrirOH%*1y*f2?@-ws7Vb-R^C%;`li?Vrm11yH$Pd?7K}XT1!& zUE`jo28Vs?2&N9$?s=6EQZ+z1EtDb~k; z8(WndT7`|;)5BJWTloF-18+6(H`aYg-v~wR3ob08Wr&WQ!yCsDVm^VH0TA-Y7&b82 zc~=m(>1&WD0YcsteC5-z{QaGYqf-8YdlHc9T_wB*O9P1~6G(EgEEkUfyvELRv3&C&5K zvEFs3>zfH>~}57KzZdQtwoMfb~ubS7@oTw-h9Q4G7e z66MmQteCJ=+;9?_N{q#U(5pJ z@EMkA(g4TCHzk6!y)0#5+E@&L^sP#e37VIk6YxGq-M5>ZLZFO#wi{;iV)N2;LWDaO z@NIamSc!RB6+?V8@_IvHH1OfFt_d8DJb04}-C$!Lgqq>NLwtzumJa&xal2n2 z5=_i^3Y1`w!iq?UV5o=7@`k#m1Bu8)2D@TN;IDQb>LkSh30fj|JKV0EUs`tmu=SiS zFXs-dzn!0L^hBU!>Slz^R*dh{9@p=0Kf1mt;OD&8|NQ`aY_*C{Hi&p5j3ZeG6aRuB z

    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

    _%$ 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"A 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%0AkStz|t_9#$@ND#T!} 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

    Zy$S%y^SN33`Fw){ecO-MUCj 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� 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 z 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%0Ag^*2 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

  • e34pTj^&0K~mA3rTv(~nr9GF>q!&8 z!&Rum)Hj(Rfg;JTJ1NZYA?kB~u2kIK@=6LZe#f8m4#ariLS5S1LS0Gs)BVW0lA}S` z=T~V#>uDjT<9E*N-CiICce_eXFuy!;rpRn{d^cQ_GEhm}QAj?ihpe#7QOi%M1TqH( zwxdJ;aC@&?iInB=kqAdr9lY8u;ur!y7m)-_Oy3qJ{s;6AWJm^nQ>FjG@SEE?67f?Z z#Ox?b4~n7e5#cT*o5JBcq7kSOaX^M|pu$!Ct!bY!ra}2WQ_tKbbxc4kS(ou;_lT$v zc=2AS^)k<}tIZ_i6{kn@DR_=Zi{p#y0ugZyVdEBhQ;ixIM&rSQnt0N|$l zgVnZ79pOy(K|T0Epcr-h>&uTg9ru?;g1A0^wilEb`|yI^Ue9oQ2V38d2dW|t zA8+E&zN3WH_$ux!(gF1O3}nh^xkRTd%r@o%Sp`J756ZcsRRX|)I?>*~AMthJxGlAf zfe_Ha_thzDCGW&|5;%bf55WUFClO364)`iB9ZVVUTq?@nbV4ddDYW+>9!4ED?7WK1 zid?RL_9+L8F!na6zGZxi*1Phoy1vEI(s80B&)h(W`|57;-O~x#6TtGN+v{a9i|$3_ z1j!V*%gj|wq7%uuK-8L0ubY>|je5}6q}%FFE>N3$i`>-UB3%Ps=WJCGEUZ*72IEl4 zzJ;|un=pIvsV%vT5?9=V{l)vT&T4_#3pE!vph+#aKrxHA|K05@KkIbhC`5bGZ{zZR zk~Nj`iR-QB8^FV!3n*IL#z;j&77zup zd(TW^MBbS@?ChO;nF2`nfWEpg*_Abq<6K%ti{hwnGX98f@|mdbG4h2NGv(8R5R|Mu z!u{QDh&1?ywL%*m6?@p0gapF5FduCx=qF>sKk(h`U+|shpYT2Ze~0gqWq^0Vwrs*^ zR>)`*dlAv{QVGskusJ58-r{5!Du_HMy--UZW#%w3g_k3UWjf>LQ<~?#+?a&NL(fO& zL4#35B4|ZBOl^LgBzk4Dwa`b;l?gE}958}bCFu8a9uGOwxVtMlu{Gz3v*n>x?r1un zQ9MTf=o3+FDrTl`k%PYj6$D_|9w3A$K+`^ug+$FK6Om@K4Sd4r+o%<0VcDJeKlFP%YA%AV zDECA*g@YtHC9X-B&T<|5HKi!sMI3Ye71%SQVdk>wkHeHo%anEg>weiEguhAx8ou50 z!=@D&)rQLL@H%0ZHMs=SoZ|4o-ee+z5V>ckaOj{)JTDn)1e6+2UMj$pW{wIQ8g{OiVy2I0h{L8?n z{*!_4XLlv0CjaMXT%FAiBnCztJC(L$U%B7WW+7bsB5aE}B2#@I#49l=?44*OQ^e4gt z4ZOu(b(rEw))-cac`g|}E#A<{ThCq*B8N{fo4+|h)BJR?v@JGAH*C4^YEFXFxe~8} z`uM@&L*IRB->i$SmLOhQbZ7QMW=S&w#g-r+4|q=tYO{RAeNLW_q#64|!pkygCXKco zo_19sx_xyd10I!_fRJa4p+eOev}PP1RXerc)bp=Wwro~(>^LrG&i*AV?=Q1!X~*UYN&UTm>R`2kok+7HGYWAtC_od}Lz zrpt6g(|kQno~mLyZD4d(Bha>(17cKjX}$Lr1P3MuWcOMSuyW6u~jYA&x4tLdg z9iNm!6>UG>&F>G7Z?Hi_3Ik_;5PFC$8OpX^jv8DAJ_HNBUTm$ycs8~FIv)_L-dq0} z!Rb8&;iUGN_X#(sQoOVwSmKxmrstVnD}Q{}y-U%XQygqiPaQ5CgW_nh%xR%QBV@ua zP1gR$JUd(8K+!i3(ef7E%~R*k?+7SOtfjZH{(yJkuIOF;Tq|rBhL@Er9yHrb2zYZ! z4Ka66?@?1|RB0sAc;gjy;r0WTLE$Im8|-|j+EIBhDkCh#b_jkB)z;p(CX%bYJo1Z|(0|9rQQ|P92 zIL`xIT^QG-xNgUuGQD3%9GlUd((n6n5b7`;wZ}R^oMp&+7CzYIdVR(kekZqtTwZZT zl`dp1^m80IQ1|-cnugQ^!kD^j5_RAhyHsSBvY|CLs$EB7Pjx+dXBi`AG4IA69W*qG zTf!4pPyZu+IZ7*ctP{!kqhBg>fOLoI9BmcF2kE9=85@|MQn`FPw%&;^87q|+X$qmZ zrFyUn!S$K9l3mi3o+Ra@@5`GLTg=O*a(fY?5q(b}ghKh;C@U5CZ-TZN4Z_IoPgG>l zC6_U?Mah<`9k}aRUjj>XhN~dX7%aap>9Bxt>X#`c1NZ5s*1VnG|58x38bgfsDRT)n zJ-3i-_U-p&KKcrMZSaw26H{>P*xik)bdy_#2KuX}VHlBCWtHFUz)=V)T9ugeRmHsE zPsr78z1MqTF5iZ)lQ=wUK5>$p8~sGHPKOB28t(c~qHXDD*Qba}G0 zK*ie7N6t1&vPbB=Ypfg@$b#>3c7)y~S3a=j8%r>@T~f<}KOuY#oZ)N<@O%jsb2MND z<5q^tCWIY(O;}45NH5FdVDECu4{kKCe1)!vF#A-sA}5y{$~SnIs}2?vynI4TIr~^) z(jy~m53$o&D-MCJdT$k|K3%nVIPI{=UV;K-^8KS=S=WWiHqwzBOcVDE!(3*!B6wv& zGh7E-0=^EVVjN2b-^Pv3atuPI7N1a;PT-CE2hYr*rG7pwhjZYKdsX0#`xN{ITibhu zZqi^KhXh2%I49My@cV^m-8GA)Cw0wXk)lgvNGsrtdv6Bdjr)s%x~LHU3+}Bj?^w5j z9#1$+gwDbpY7&;<Ga&DPJghY+G1xAxz5K(q#8YGX5OFBtB>SAOUeouyg^s<>cXsybkVwDIMdM zL?nyd8e_5iK#1}-E_!oUAhgG+$I_JO@C+rmW|>Zlm~9JSWy01K zu1BHIy>7qVVG{kEt^vd5xwH=(Y^T#!3aZVVX&mb@x#~F_9x!S3+0z)x&-3|~DUT}8 z@58S|Jm;#;3wpP$BqNFIXxhi9XTp}^=yEAs**ZM#m9JQc=VK4+~pKe#omFEFmm7n2P<%X>7QLe<5 zsQw$VOT7_0LxIpVsoiM|Xn$h9Cf5%N~g%3}V1{$X_CaPjxfmmkmg#+;I#^ zB3pt*Qo*cYU$K_K68|Yj)ksm81}wrM7$0h=n@Txv<660BM*C0 zUm{fkZ`)H!D-Y^!XBGN%6V4!1xuY%LY&h~51P@QP*YlH6bztd#Pin;91*7++i`#6= z)356uLmWkw5i*n+VDcW~+L$jcz}Nh1#?$RhKF;k-Ou;NQJN z!~P`apJ3?T)O4S}!?rIPL0X*(k76=c)Iefp^2wIhPZluB?B-&{+Zc~~84D*8+o(zc z5ib!!O^WX0ND2YkfB2f2P_R>Q%?>K4&aD9MQo_TIH78GCS|Z4=cqj5ZtG_|}1{-_Z z!5ov{D@i-()qU{u>yO23It4DFy=7T{|d|2S5Jd-h~ zI}DtYXTaB;@u1&f{Woeavr?Oo$bQ+~jQ{MX>+=lR&egm(T>~l~<6VMJePHyHgGcP3 zw>ZE?|0A5fRAEaR%BR5T_&aPp{7T-_S$F_oOUwj4o*1-0 z-3Q0tb8A4X$fQnthj(9y1!OYQ;oOmUDO}Kpl z$|Xe%^)Jsp{_SJYA_JEH&NOgo=*A%ziHWJZ>&M;R=dpo-)9fSJKxNp$$Jdk#LnnJE zD=-8TlMndLi6_vkifVys@=o#G#iZjTR0JzCGi)+z{b0wV~U|3sYeXHp)T%_RnIzQS!_TTDuh-6J*TAp%5 zBnr%~716(i36J>6a>+&ob0*2k7K*Q(E=nO6TceG@eS9t zfVgh@8?NgBaXoJ2cU-@;V$0lq)!)ETc?k6N-s*th4F%#ls+c1X*RTH-*FnUg%k0e~ zvkM|%iU_cYFI1Nlb``8NgZQNS`r*zxe2fi{cC*=PKJM7x4#Lruc>hcXoBFhVORW_a z1UzsbI?=10vowxST4i}gO&!Lwy;oiOmX|+n|65)@z+RT@kG%X7Mwg&&)` zlCNLZNL9g=u}ydh;!Xi*UvC<4Risz(m%lu9#~IlP?&&PopNn_STsXv;+fC-Wkq}EF zt86kWm^2?|iET7zdR+vqmX1FXWk+a3fP)Ux|3kS;gM_tPtMXs)1WE)upFzfK>%#Zn z)-LMh63bW$wAu}$$`TzY1&j&MeC_*Z=l%xlH*$HZMzVXoN~MZ+QVv@AeqN_6<;gFA zvHj?|`Y9C5RA6Qvc;X(k4D|QR{Afk}feqR>(xbGUChD3$o%{ViJNK~v_D(kF zB2QdS7Q0qR9$SvP3!%K+(=oiC*B%dBioKPKFOEcnHUwV}B^y_1DFd>-7H5}dbSY?a z3Ft+qWgaIj`@l5fnor%<8c1M?ZD57efW+?MzN94lAAEZ|2YpPqwHC6l!NARp1?{q1DdK4DeJ<)etx?(>$xvt=8U!G)7iR`f zeW76RxYD%Bt!N4!~OtUH;pn6@>_dCqthw-@-Q4a2B z7D0?YRHSc*wPxrN(N-HpFy=Q4R}Q8m3es*Alcp}%K(xO6&9;}k*>_H~G#_4P-Vw`qBS zx$B{x4YTiKkttjt+`8wZMj^)S}=YFcx&RPYeUWcoHG_8ugR^nOy{XGtPhhmHy3LAN%Oq({{G?i z`(<8(&m)EtO&6vby}xZEAw|*tu&m@%6oNHhq*RTNDL!jDPolQ~@9 zBy@)0WH8!fn_@c|_}nfa9JBz(a#W8r8|7@;_PdE#5FXd8_;pJ0s)fw$%`51*bq;O= ziK#Hi^oy((6h@9bMJ-EFD77cNzF9wK?>&~bf;*lZlSJj3wf1#W@$hXuzNeh$IT3yN z!6l0OIoTYb`$%52zF3{%zDHg{?4#?8<7ZS||1^n|hZdz!8)q~zq4<1-WmXA35|1}m zjyEE=wB1&`Hj@%~tyHX!3U5RDa2We!PcK0XQk7WYE%lLKU~{?fJZ+4XQX?C%NKQk? z0K9779GJ_=X-cJ+$(Ua&b~BLLgh<2g1O;9LoJWKU+{#(Y;^^vjqIPDiJ^#W;pPU4D zyVg6^}!^MG}W~!3whu>4r~s$&lq-w zHb5E7I;A9JhydobS@7sr;l9*QVVwruC!x;S^zCoh?tv0HiVff{j%Mlmkf&>3?_eZw zJt^N)V~1V%FtYDU(amd)*zjTYA5zRj_R7^<>@@h%YmPO$6l4>wg*vR{M#K<7R=K+c zHLgC^)Q^=u_o}-$M166WE#W_~^DP?7Zv<2qED_Y62q*EO&v(2IA0h-Bj3I|&w9r+A|V zvxjy0^@aJ6s5CokV`wfk#X18SHf}1^-jTRJS7mZddlY-ktoNJx>Alr?8lrcby~9o` z%?e|h-twe`#CW|4-NL;>FbhQghvhhUmkEOurYkD#2PB+ho#zsi5}e1K^XVR+k3LTa zFH#PJbvNw|3m@cyQe%=u z0SY4RLErJ`j!i=Wtk`o3kS8Y6BS(lQkJnIpT(U9AsSiK4uV;Uc_H8zRh*C+2ts z4P__Cv!=Y7Kx-~A0=QK%;f0!Ph|0}C{J>ek+@(B!*Kl+qd>&3K?@ycYD!m9$V+*?h zRJco7p1{uML6@S{mmHZ~T)3=lMPnn~`WibP=P)Rb8jwD(dNbjQlXQsQ zm+d~A*hQWll>bT|c25>%AAJ|r6$toLs~>bO%+p70_kP8XawQJn8-b3-$XK83UG`T$rA4eW{yrw{Mq+<#@Nhm!MTnXl7s!fj61Cf zj@{pld&LJcLRR129zww#CeI*pj&>zm7 z`*U+WmXfW#4bw{Zk4tW(RA__y(+e3yC<1eTirY_VKYE zbS8FbqUT3c9M&(GNp)1LzY#nPkl<0@2tJsa7}?hmcd$M0_HHc`N+c#6l_WSir{%M7 zRu%L9sJ!$%yQ(XV`uM<}3gJJ8!uf!q@aKQk?sI@!Hoxk|cO?R~rT!jqYv6+#2hPCg zd|r#a1TZ=e0Uf0I3LdWrT&Ob}V+ePRvK|caqlzg*69~yf&!&7_5`0(bt{!{{_k8D@`l&Fw^Agq%Vsus~lIGLsTT+ znhHQseO=Oyw+JY@C5*}slfNnMB&(XbmkvAQ#4NbSz$|;l&;g{6c~cEt-4` zZjH?D*6v7Y1~NWWy^;y50uPl$BL3sF`+gt{S_FbH9nlzAv#0wCJagZX4`0LDI=)RC zTnT^i182kK+A?z)3DL**Hqh@WLU2>N=d*!-)8QMALf|) z@zicj8ka58HZ_)mB$0wG4_$u?7 zQb1_w_XECzv3vl;(sxVGU!u5HjqSiq0PtBdi1{T#c#xd0es9{n*nUTO!ZYqq)*v<+Bj%#Gr07dv8RyiT3HpOj z^|>p;_wK4-LB8b(#d7wy`gyhw5_a$JNd5dbXj^YZgC$ zXZMF1bm$V{m}Ir~(7q;|d>HnK$OGp=iBhsrZUsn177>BMgedCp9Dq>~jiXDan3RG^ z60rDwo%u)cJ<-VP8cigCybjcMc9J6sDCX17#)`e9)G1NIVB&*OVnMnLeOO7nHGE&J zo^-V1_H^Q47aSb<6p!)$vvfC68wpajSOT~ldG&dbeaTnGqN?;&qymE!7X#v6>gO!0y_q4H^ch^KtA@DLw`C+0GTt?nBhJVznB*0 z<_coe0JTX80^ghhVLq^Y>SMC9s%K}}-tyCD?{jyEhRQxVKpp-L9uychG}5*^?>fy3;t`4%Uz5^HkE-E&DXsibSKTtk5YZC=Gl$rRHE{%WKY$m1`Gm6jz>>q{3mhsMUa>n??LRnv?jIZ< z76VNxMmB2o_vpN>@gLE7i=~9Bs>S7uu|8a8l+wSN@7TXJ-*x_KzLQL1V=55?oA2)) zv~`v@oWS@D<6l>`uMlV(?ZR1%WC#9%@ixN|Dq>}T$$!Fl;MP1S71$ru_saS^n?I}X zTEA7_5j4=xyx*$tQUUA{nFdxSD9@OE9dz`%Tr48_y!|=v%t4xs+d0H;O439u5ZuN$sr7GQ&LNY>m5pJ({l;o#^fW z_%2BrG(l9`4Z=8L3rm(OrgmL_8!@|?tUC$!ync4UG}Kr4#oYhw?CMOL%k@$wTE;Q` zWbI;Vet{DLmJb~14Kqw=NK?Cfywc$T>Dt~;JiE&TthM|- zfiFUz2I>52AL;j;kgvX&^vVZT9R_6rc%-1;6ljdU)fSq8gUzEUztfdyJ+mxdNE1?E zL*wVK@S{rc>R9X|B*nz1G+~*Vj@B~RlJ?>BM_A~PkMcQpRG>~NE1>Oug zI%}DXlkcnkcs#HY_B#X{2(nyZ0oRJ$m=roy%Y>IWeXkGE%VY$GKPMC<^Kv45jlZw! zj@cR#_~VMNMkktkPaV@nU>{9V6`Z9?M!q8UwPHYaOG^b_l0S$5xMbct1(A3slNao3 zONyOQG;AYf1Q+xatNUfg%g7N$SY)Q>s*FxynDH7EGz%mv3@@1_v25jJM`VEDX>C8J zlx%zo`MvgzLN#M}I#0f7YO0MEHS`vmZ*B6Q>+1+_Q=JOrs_D_Q=OY($Po*HVHz+Yn07Avl(&(nKNdAXu{e*WlbW`om!THBH{t7|(1 zy#mM;RCpVwv%T!of8mlTpx~pw$(6lkghMi|KS#R==J_Qly$4LU|K59VN1J!ZDMk-* ztYjKMs?yNx`LW|F>V{Uu1b(3LkJS9ZAE|j2d+Fa(^Ds~xvEH|mFPv$l_#jKtcdS$V zAH3Q>ORW99`u>aepQ`WSbinGn^l#O7${DPu&c9XPDJifHn*wufH=)81MyR^91Lr1T z_daD~R59P@N;5TyPEA-0dyX|;B_S)8$*&x`%aGA^T5DHCssK6@k8D>tNb+N}oonGS zx2}}RhHVbHMXf~vImLa?y~JGwzrj4-UocPjA7I||H<%A;+A8`T=3D<0%s>3Ug!#Dt z8!#XLFEG#bzkvC!{}Sdw{%e?*4@}nE?6Z9Ne|UTAuORomTbu3%X(Xh(Q@T^SI|b?P z?rxBfMnbwIrKOQ>q)S4&;oRU_Yp-YRwc~lu8SfAGKLBGexW4lripJ=0m#^n?-L3GUF zr4`daV7=nZ-i}@o@i~Ku#_*?sU^tw|_FeHh{LBw46M{>ok5b68750J#D+ZMwv(*1= z;{O%MCn9w__SGl^?FOZlXYsy)w%}JbxKZjj6E6XtJ(vn2I59YNJB!OSF#`ngeED}j5C1^<0pY(M&rgC0tw^jsAJ12_zl*93 zN0}A=2glR>6UUd;OYutlnX#yuFo525{_upZ@{@4BY$ba2`rv&=%2&^}ZyyB3Z5Kw!HL>n_YR%Lu| zyI=D&2U0R?&Y_HPy|Q!V4wOM~lKuK73|RqWSok!@Ytq%m7{($$3D~KlB^RkG_i-VI zAkKzb6vH$9{L zA{-#g-nQTQzqmUT>~5LeY3?FR`Cvy8#{cDh9`pk-qBEsgD4T+x3sSdhLNGXIpN(Mz*#}}zbX+6b;Qx4=8Cd*~-bjb#o$PkM(mumMxbrb) zXCm|bcJEy6UHK$*0bk^o%++B;bKmJb$pR_CMql83K8_P@y`zrjv-8Gllsb=hC0EvMIMm%W`OEIB}T|1JFC@zzVQch6l1dc?x0hCP9 z``KYK*)%G^PF<)x(0c!^{(iB6XxSL(z`vxolskn?s4=K5y9+0~JLobHA-D^Zcih0z z;zNwcp^2!Y!1eg;70Sf)GW-gHO)g2(@?kY>+gI6N9B-}Yj`>xf-!6lrpMEj~X_XJc zDA(svIJd1O4|r`~-PbH4PmTr=%$r)l2*`>&7d1pAQc|6I_0Hy1E@73|A2P z$i953`~9^VT%aOR?{~RfsDCQIPeoXUF2BMo4z=%-gl1>Gk%_Ob1ZkR97MK9~?^3__ z-(NoW-xHqu?_4e}>^^6s`=Oe&y^LcDj3C%56E~t%e_McG`PT(_c3C2rw|^?YllGca z&u=?g6A#9lB(_{|6`{jbk{TQYV7zLST9)RxZ;{wcG|J=l{>pbxCuZ} zpjP^<5h32rLM&nNJfVCQfbzX*PbgoT0ib-sFO(m8LU||v7c+<|ZUy#xPkWdP!o!dH!8z{S1n(>q;Gzf1=4$9>u> zs27^fUD%8TRVx%q6!ot-XypmPWF#}W@}xD~l{KK1$~?!f+zm9$s0V%nGR{ z(W#|xvD;hY=tdYyW6gD!=@#XNesA7{T)=`7AG9*Kwp6D-v0gSyo@bAAz1`n{xLcN* zr6!(t@IJwb8(S2<(2FoERIaj8t_qj0ts~vyAgzkgtTmJTPv`Th|MPsF`cLQcbbp-B zM@1ongZvlg^Z%PP9&(qvys2~as;EZwUoyP4NP5}YImzlj_uu`f#TU-G59UxHW1Afe z0fyfo@&udLFNH|Cr+qPh^3mMXKSW&RC{W0zp}xTdR{CQiPe^jrw_5HefLCrN5^V;m z?~Q-h>w=jRN{E|%y*8NgFZuRZ4fP%6M^nYzrLC6gQ`Zkhb? zh|s~E>BQ{=R-G#99dI1x^r_QK874bv9K?JJIGx`a(jK>mwh5Xp*5nZ%I^DN$fE}aq zuu`K_frhAoogQ^OWw)c!44o51k=5ZpmHhzGc1ctuXpl-2BI-baxzyI8x}5!qY9pBO zWwl^vu^<-~{}@yb5_YH^iOF}wKeyhYP{mAXlXf`Sa@| z1wX_qUR&{z(|Hl4ndmx;5c8Vm*^dwa-I4Sq0#e{|l@ z|8J~yKL5#D*G2Lj=)7ZF1ToEBz+QG__`K@oaohSWhR^&{46pkX!;gMIFL^KUN^#1Z z@X-I4wT|nTwN6bLFa8f}-TITYF0vpL!k104)tuwahnI)%;+zMKaS}>on=IlJlahf| zx`i)tcNt!dYp-zShLQiSjm$8L2g$1 z+nNo223^OnHmYwQNq0>l`Swg9X(GKS#-+<*PpjWE=`z!`kOodrq1QL+jQ7FWXeL`2 zVi4GDTx&YZ!ccap;L`>KaokN5SEX@9%cr4alAHhJW0bHdn#nt^oDH5WL;*YDazZN> zS81M|AiuPPAY5g6@Mb9{O7spJHmXqm@Fpj6f!m<$a%VmyD|?j2+MvuRZ?r3{Mylg0 z>cW*H&JLowOku6$2Je(Y&Igt{?Pa*OBj|@N5_LG5s%v-lB(3eVx{M~tm>An3a&_`m zW>mXj{4PbYDeYk|bA|yT*LQn%#Dk2epI>442j02Ln@78|scon)3k@NirlS{HCxQ+H z$aGni8JS&%v95nAh)GW8sOwzcOs*MOkuG9fFd+0IT_Q+S8QXnjcuJ$;fp%&)NQU;ajB`TeT@xR-cKg zrz_+}6kj4QTyPFg7Chqh*g)-6@qBbpr5h}(&I+lT%TEn{%u?e8*Kd$VNC$!(`%)sk zF<`3A+=BC#o@#T(6JGk%&FZ42JfunvuMnd<$gcRuk~I{hiZdfJ9BV{Q7Y&G%MPrOYw$hNz2lGCBELZ0{({KT!dfokrFt67p`13IC!~&=n?{5#k*qa z*R4)*ofCK*ae3s8eTqCGD|@KBD>T3=0|QwuXt016YMbJ1_78U*&$GL(g}veD!jrqs z`p188*S$GUG+ha4;D0=EJK0USBy2?eI`CseahncSm08O4yDTYmzDElB*}5;>)Qgfq zXjF1x`Aqm)M>v=dP{FyqC=g~gZwt#&v?Et!KPI34Ifz$#4&v4RDToi1#K_Njo&OGQ z{6+qDtQa9penLmAHMInmFgKrz#McBud3pspLVG3+B|)8sidKz#hAw+P@iV>i=fCFthr3SxFYY>+I^S%& zXLntkDjS?8cp1sted3W{?mGKF+;s|nxa*psc5;N^5Aq<8QXy~dJO%EgUz6Ao}SxU6V;`EPTuw&9K&TjoJ!in;hHPk$xX@MM8VSE)w0_k zx!?Ccmvt6Mmbkf=!u1}bX@hoo$rY`ar|2)g|0l}hV|D-nZC&4#o4o}>8~#=|oVJ@+ z*ZI7UE!l+K23LDI0n>wg9p|^}CY&*!%+Kux5e=lgXGOiU6|W7xqT~tMN6!bqmULtV zV>nVQ2?{?)@Qs|xPSheW(=j7Kv0*voyH`|k!~vi^IsM=GELu3oA=t*H0#ROLA~I8M z<%++|giwL=4bpPI(&poRz9ls=JbG29_%iW?5f^%kiy9e44Oz_wZhrN+zH9?zH1@Im zA`{Ei@eq*L?YbEz0{MF_e#FtvnMVS_TU!^(qamkn#ru^42*-9|NPcM#XUdS2$}hgP zDMQW{P`9rdc!dnYJ(b;mYrTKSm8HY7x`=S$Z@aNNKET>po{i>jhGJwoOtQ~T46wU8 zL`VWp04s62rgbC;T-FrJuInl>>vTtuwK3tvH6unE^`P{}W$vFiS zUH~jm@Rl#!bidti2L%a&xIow(B_HM}9d;LctktFf+n5qZC@>(9w~E+ODEciyDv~+I zP8v7MF{RG`##t9)=4vF2n_9O=uMDK_63#!+pHufB9Yj-Jl)C13C9O%q@dTk!!VUxw z?k`abGT!Nxjl1eOiVM4kWNp!VLL;v6WO(u4&_{?N=21)tW_-y@{DI&!K8d`UANEA; z`A^gitjoU)`>&`y0ibqE`^?n?c=OaTi@xvyoY0q`sr487AS-tlN}sf&BD&qAiL`zZr($zf$@E*~s4cd1>{BL}&`kS5j zT3W6ywq|0!kRu~k*nFUY6rw^||CwlQ@OOvw0x{UX9nynr{W_#C!r5h!MXShTDJWyD zX_;MJZ$De3@c$`c2tJ*g{tn~GJU^EpDJd@V6u`^NKtsHe{ehMF*IRn6h3Lo3Z(Ogh zQ6#?x_Z1Csa&;m?>}s}$@WKdDR1YMeYJ=yW-c_{K_mEGjPc;t2{C-RyJ910xu!`a&HcMqn12fw?ri!p_ zFfP``m=VPSY2(Q)JF0rqt3io&d#vmG^abX&axvQWHZHLut6==hPRGucquTC1<&_g< z%rMw7I8y`AojdN9<>v=nof0q+a=ut4aEP?vn1h-2n!gX>BY%;5_Y=7z0pu?C8@V^- zAkzj&qL}}4^BqLwN|+lk*Wnumzk%|#3gfWT@DRb$c(%?D{Xq3}7?@(If40thK3V5A zoc>{*C-{eT-sJl$6>oLvzbn0uz5CnJd%!u7(C_g(+WW$tB+EanbvcECVqOSKZ~tKS zia#-Xjx~t>9X?hv}bt~9E{xUP)zXoSw>$bzCj8L$5*VwXTzn*4*nCJYq^R7r(r~j%2QxjJ`?hLwtvR={PsjBzbu)|+33Ye0WTOvGN&Dx8JRXp zx*zxk3UiclGhzlPwj?Wy$8#H1LABIc73{-S8;i^>n2<^I)nQso@}fCyE`#v(6$sJE z3!Nu(mD(FiEu*w`R+PsVbN%8wtx1(8Lbcm>8yPftjUoGAF#Bct4Hx)zt;q;-G3q3`)!TKC%xy%Zp=`~8OA>PcD$+|XNQ_Vz-rBmWoTdG7yK zJl|;cB%UAML*rl18_|^eSLXR^RI7{d-^}w6YGE?JnddJx{xHw`LP$s|UBBo4MA_KD zl1o8^Twh{4H>y}h=aXhi?&_)x`ljgIdC+5tIyoA;82Ar;GdnV*aB3Aeqc2)9vDG7_ zc4gYvys2VyAfIN2#U7C z=fN*vhy_J#8{_q3P{0ZB?sSZJFJa!1Z4~UGnF;H%^@5OyxIWA4xKye8a0>-xKRwIq zr2nwbQ@(?@S+$ORvd_Eyvd`bRj#56^=S|7~y?tK&U)tw`|IR*7cKQ$de4>zZHIdQ@ zT_jW7W(WBD3}yW8}I5z^Z&jEU+|Y2 z{PpiO`0{_M!9&p3{V!|qSbtxGf0u2^^IU_k_`L>y_J31@hxGpsHTahio)y2<;QfBp z;LTg)lgF%96C$nEE)D0S5)%D?TAgn`&NWw)bHshReYl4UBH1$6W@{8;wt2Z=b?N%U z-l=(kWmR4tO>tGoAGNRCUi|Tr0hAcD5oDgWc${U-AR=&al-KRVboo$xTB`K>-Blx` zFF2*ro?P=!?2S@z8_bznCH`ovmJSEmI&y08+bkG8MKEe=V9##Pi+0c#1mYBHuYcmy z3)ike0;tjt;<095HKJ~{R<odxAk(1TE9STW2OH7W z^smKQ;hE2RvC6x4f*g#{k9u*zJYa6cTXYQW6F5^q@SU6eu}obllw_79e%9bP=rU{G zNJ@NEBDaFS&3E8vnxdWBpq$r(KTF!*Ly;FLo7IAv$iDrkWW;vyx|o%iM_zH=D?4FX zzD)dJ)&7-Xf{;YtcAs=2pNe~x`13~nF3WK^OTp7)!039m{69A8&$`}>Z;#Nr8vJ{j9({&3az5)1-j;c3Ly`wPZvL%n-RY z=@?1eug3rtyCiw*(B83bD?6p?psz+pZ$ zqMFv%-opg*UJYqN+6Mg%v5-MJy&Qb{FFPar+NM=Jh!@G}-q<06dt|tx;d$;&rh3~n zEJZy?=G$u$6iM!HWBk=8*o_X9RB(8r+Pp9Xe7G5rSb;MAMORg1ppP}za?@=TTh13x zcr(bB>eV75rp%o}mr<)qLk7k{ZoN;^^U{(MgOExN6?O2QEwG5CDzDx-U*~9B_cW^s zEbZvbM>PVwmM?rJ&cY`$A12mXt!H=IF@lgw{DCzb9xKNq++;+ggS5LbNt~I%pDzr)3pJj?LHL0xpQRKpADsvvf+beB7M0sAEqdhT zL|BJo0PqgLV+O3!!)#}yGZKVbPU_z%$~MRWRr(r23@{hRkCyGZrTCyu7h5-Nhb zZ-8@rrhr|j2}0OHrKX(cbNt2Sh(O0vuT>j$!$`z{ec&Cy?MO5o*O;U4LETetA2F_# z^W0~0_K-1@`?~!nM=T^_JEleC;tX?lpWXpd8@X#~KjH!J065UtJ-|D_3GfcE z3%mn7JY0(yeSe76s$qZKs?9Urd=1>6aHZzZ=KP{!N5a0yTm+2+fC~yuyX})H*!7;d_uEa4I}MfUh)5i(Q`T#TJBeu zb!ENcGYX0~Sw5|@$#q#BF=oO*HAu|RZn)K3#sA*KWil}pL^DhxLnPbd>+>i&eK!I0Ezv(yR(Tzo&K(46>yj` zOrLn^tJ{dT%r4@aU(-A~BVnq7U<^PDV5+Q&6t*#5z(CIyN&3m_xzttN2;gs@^`Y3q zOjHx^!FX@oeiX(g2`BcA2}5QYYX4)!C zU>1s@w9e}E5I92Eps)Bd3hwk}%9$E_H*gc)$sEF_EgJ4(@wcXZ2fNxF@OeC&OE;Uf z=Zl*W^I^OJe>`ed0{nMWgtfX@wH>!sN~@qBh#>t1ep{xOX@Taap9VkEqSumtIU95W z<9zkg^DAaOUxO)6(W|M|ACZ4d+M#I0yixa6Gypx2QumeZ1lxbP*3ew7Z&^}R+*^p7 zZeh8{G(TxL#_suW_)(4U<9DB+hl6kFQ8pkl`!-@+j02#LN3hh;NZ<$@ZuG1K;mfl= zpuXsfGF8QSCcF^Y0jDpa6~$n@lt(h^tq#&3XL*XMf(x8T1t4}B6seyF?VPcYAmRcP z#BsY7J{&A2CCqg~CTJ-U5AN*`grUqK)zm4vpN_)@nFI`0YIN_V)fq#bGxkikRQdErqLxFm8U5rXr*e3@~jtVoNk4TvW$1 z4IZ~_G_hZ{pRg}rc$EHwXtH`B67AP6eeVq&=F->?)3yNaV}cH@;aikuMJy`|wRZ$9@e% zHK@(vuP#n9kBu3*!GIqXuw@sFPZv@_nd$cyHPU=N0L3?R*&EIYcagngb<`gXfiWm1 z92B*EU&(eQKg4cjaSM&wZ|H3!vJ=eJv0O&#?2v`DFOgt$rLF>x1KQVJ3BViZs`oMz zMHs3K+@?gn7iMvlAl4DD(a)Nk<6CBClCQp+JGj+2-i{!WH1@Aa`loGrk2L27br7*H zk-B&Ip2y|7x}H9#3nAa*f%&-H%V3?<{w^uWvCv=y-l{Ke{S|YmW{>)g09ZsqpzZhs<>p)U0D$55A z!qNRU-XImChqk?@i!Luo^15{QN6qd#BQB(OTvGDQjR%~$HLiQa@zIFy6>#AF0|}+Z z&D%rxVP4rBV!nGJ5oRR`mfo1xkx3X>+Ncj7SS6u)ogqrcq#-sylNG?OcLFBbIRO10 zyg@|kvh)Y^p{%^llKtzz-Jo}!2f?2G>azWnqP{&^VUl@6NuXW5n6I!kE8S|WxH6i< z@YuR+nUP-P9-FiB;!)vK}an8rwU4D7UsM!j&=9?yLlY2%@HbY+rRLd>wq;Mc8seBCkCmXE7r1pX|d_qYB?X*bvdHx zf>6gGk_s|NB`b#}FRV9W34uxQ$#f+sN{a6_U_|U()oEj`2tFI;QXAB7a9b-*N8>w| z&e5L+Ch0$ilIGEAN?`e~1NM5tXxABp?YYah?}=1_Bm9nIV3NKMJ-EjBB~(Bz(Y;UT zs-+SM6`^)b&slJn9_LF}KRi0TOe}^OcAO;97~L-kOb-LhXz&JmYSIBtO&vp-fL|4{JZE9c2{P1v9=u%h%H3TXCR~#qClEqWHtu!NGlOF0JQS0OQ)e#S{ zN&l+7k!*X9y_Q%psqPLpzkQ7sbgt;TJ=h?W5kCx9j|*4uw&15AZoxD_eFtlmBg5ze z)(t6mjAUI?Uw*X~*ySmBV`kJbQ8kUGQ*XH&n;L{H;GRD$A$Bu*QzgF1as>U`SeZhfT52~3f3e8B2x0g zWahB}*Ko62ipH8O=keBDG1V0Z$Lf#3>*!OZg!0Jk!kV?9!eW4*bv zglq~!nRFRT;fA8(KkXOYP9ru)f6Qa-j)zaW^P6e(RKD#WhQP~ll~s<2H$MDMi}q&V z@nc5;hjd;3r#Z!WiZsIyrUO`)4?}pLiUhJ46t1o+LG{CdQTq2m*J#V#ZjTYWhp${* zU3N!Z@gO(R-p++$E!q2Kd=z?m3&@J^aIxttU)w#3u)Euz+d<~JnXagiOFAvQSAJW& zrNNJAy)+~oz}${ykL1TTLu6C%WWY;sVR04ayF2v3BVU=iZ-`MtPKussL@VQnph79s zbvv8FPz#ddK=`PzLbi5MV;oc>wvbePoF4%7mgoE(jMz&Cz+ulyEP_OVY@q@i;ulOm z9pWdveqH2CG3B1V*=qVCVqA_I)2MouRB&0skln}WMN2FRh@D4Agz$_ZX0wsa3VnQR z*HE@4P^pjTqhLot7B~VU(t@`9V<>}<*Zk=^UFBs0_KrfBlT??R9&$92s@3U0X*Yo8r-{oNV8q1yVJ2fyu zH!QaL+QaS;3B2NxHp5{Y(BVzd)II6&+AtycXv8~)q}zf{n+2N!6A&)avOr>nTe5i)0J2*UuZnLWK#2ia1+p65qX- zmm!i_KBtx=X;=LSYdTa#9E{PQP=4xk_N1`qNu}ulM(9Q{FVm6wDb-~>`-fg69kxfU zlMLGOHJ)7|hw%?hJzwLy3FlXz&^F$2-L7&x9DUsV;?sYEs@5KK)|3IP(6vrc?vgcF zkDnf1$G#-D8_kO13K=SVXY(5QBX2{>*6d(42EQ(qp&NOGE^v;28wd{c>cdr6>8ONC z@R0xL)eD;TZg@NCT`3po4-|;-QKoU(Oh(j(V}(=0C5=b5Ao4h^1$o!*e@oH5a;Q}? zJDKlpB|!Wje1i^{GKG)0Rtq^u}j!4cLyikX3@Z;74uChfo$dJjYY{;%g!g;(rZ) zzOf6-A62hKI+&_#GM|EX48xqSf2d44t{6UL;;cO0o7SzVRexY*AD`)A0DAaAN~ zJbA><;v85n^OhlT+}Gh}49+?mtHNB25dC-q@AH<+e0QxOId`lf8HRq!k*7Art(dWF zwHVhrCd2}#_;Z-`lH1mfr5Yvu3bkLRw`u04h_gers~Qjr1uvgY@%P;n&4rw^^LuXv zC|YwgW9GXy`MSx2Vq-_+QYgJj&J1JZ4mIHU#?98)%%lV<@6ocp3g)~f6vp8=@6@y! z-wnyiAC-_@?A@l3D81m!;bH;mwdIY>CUdZ-8F? z^az^^(@6p*A!@4ZXNg=TINUa(W-1>+Fh0@~Cr5q$?ImPYp;hnv#}Z~|T(4V7-v>v1{I~4~qX!{I zIIxe4_AO2>c)%9@HRcGMt4WuFpdt5|?9qn>{T^NYWT!Uul-iW|*kt&^E!}rmSFY%| zs-8sZ`HOLDI8(FhZd_e(>VDKmyaUEnL5@YyNfnJD^l= z??E&K7W7=Izu!Lk-ntX2MmL{d(h&4184?=!tyr{i%x(|d|D{5DF> zrz<#>FXrDu1h|jR`m*cy2Ty`(1gGzT(LplPl>9YmmY-_}3}3u)wI6RD0vOj^-R|x7 zS_;~wVlh^-MzzS4H3b8OZk!yPTVGP&=F(y(1hd#I2hwe)IYizqBzq7m$M@wLB9vGn8 z*Cx(%4tD%1(1btUUo6bcqYOn|dUt%K6%2*`pT<$3@}F=#}hF_n$iIUkD=>@?*;IE3qwgIIDda8A2+iX1wn| zie)xsTmlq%9gb2Q&pCedf=67ebsNJSqI4xB)ExZ3{29SXAU`y2ccj(eF!z2ko2eoB~trd=)apg(+gTVKN?^clVC6-mqUBAb(~n z?b$WSk4$Uheqwl&?LQcvBgRBNo_nCPv?bfUU(D^)P52XJ;HuvmmG2UyRu9tje@1u( zLY$?)AbfrkE-2=_uO&KYz4Q)(NDyae6p-YX2Yf+Ws8<;5!_2mlhc|YLHtz^j+^5Wk z1j8f`iMoQL>x8ic9QKGO^4dhIu=PJh;`MQC1>c6RU0aCEw9mis;&EHUo6PhDn{6j&FxN z9K=`%gLAz~y9sS%AJxxBK9j0#WdG*d2B!3vtKF$P%ytH~hue>%%dfkVPs3W+Zvw^$ z-S6Mz{RQ7wApm_ngeH{Z6(aV}R99rEnDBFu`{Y5)L}=%n*O<4f0KOk8Ek6&^duCP< z7J|dR{>cX)H0$o!36=r!M@h zH=OqmG-oy;%a)$t`i4F%1AYofH(BxM%1HQ7*w!c7Z@DpAt0Gqz9o;{D#iTDSuYM^B z@xJvR1fN{vVkYMS%{Ev3UCKlCxE^t3 z#wN&_c^v&K#sib|?N5{R+=$lcz61~K)PKeJd@Xsx#a$xGe?jq0d0?o^DdH5}u^qzC z5bx+r!ST&%1FGr$qJWFDDww~{E@G{uO*S+at-*eIRr3?VzuP}FpI$pg3rfB9jHKj^9YI!4;X zI2Xr=ho;$BB#B-oGoUA{mnEx*H)y9msNg?8Z1oj2vq$M^K)x?>KplnjPCi}^obOH$ z+s&aty;LBafE?CxD;mnh8>O7R%hHb#v!6PvrihGuP{M7~;TyRGbHZt05;Ak}nDg5o z-cI-Jt*|AfTAgz|l_*tv>7KulJZ-xgvB1XuY$6ui2cbh`DL@{`IJHHU zgwm>wEeHP!T;lWNAAi6ZsX0<0(jIJ*x&8tfGUFsf@&Fg|mBDog1~V^gEy>gL=qZ9%niu-vdTPa!d(flU7cDG3-4Mqd>?mMTqh>OrT# z-x?g_#~W;gf~;FN4wp8Ux$5YP2yx)o^yh;J94pa~O_5>I&|Kyi&pi>$ppVLB#9(a? z<5+hvqcnM%qO-QzUdBS2sm7idv@|TED4{*MbaoTG?_AMulwHChOqys(cX>~?9EfW3 zAv4X_#{s=fD)oqypKWtM{gChWO1m#aOyHky7K9#&OR#njiu)aW7 zx>qq+WOyjiP7rI^ssV%Es?^Ue`~I$g0T;!B293pcIR;g7xXIwyFJjgq++Kyv-A$<+ zk{D}o;3DZnXzWL~`ZY@kA+ZEh16%TR8%$f-y!}R)j{74WYH^|$WHEMlM1ihz>Ms+n zKT>mjp1uZtBTp-I<|>b~@lM=Fj>p&=_L##KiEqk{=$6C^U^J-_&;9_S`V6!Eys# zDjWGJ3=3gwms#S#NMgyilygYLf+!@Ft4Ia~fw}TJE0&}dy{UqMu`t!lAUh{=D@7jPEQ$nj zW$4eY{Txv&HxXj;V|1G-5Y6GSUH{z2obiU9_d$3K+2Q;-#9szn_OGSseMY>mq8@L}Z;te;J-c7n z61UQSRDV#lVUu$2FH1jb@!-o3kz71AGa4bT*`3E5?J^%dDB!xNrtOJQ3s?Wpp9{$B zANW>5;+zX|Ra~XRWA}OkCegfQX9VU<1!CVbHL5LP@x7o1%Jgx_;lG#ZbHjxS9ADXV z$z{6c5Yq9S6<|H!TTQ)hVYg#|>1uXGJ-_^w|^c+_m9GVRRS*=7R<5DcaA5 zmSwHW59pO+)PNPw@~KQeqI2&PE<{tWKFO1GVugv?t9(n*3GMI@6}wZKHet03r1&Wf zhG)H!l7ij!H;eaun&#)}gaRLtIG{?E%yai^;e7<#xPO}3$#S2syLR9KEAsEsm@6N{ zev*-?#ChC{or@)#NPzg8zem`9PT;Nnn!rEF?EjL$gFh$maQBMY|2~0l)$&97qSXP< z(vkpMXie%m7s+LWP7Ziqh` z?VRgk)s~>CdH^o*>l}u4BJc8h#34-4>EqwV_5IqPE2-Gx`w=k?yS(SF-OVCH`T!#> zDCEUg#3){t_U^E;LwN-0bP!$a;Wc<7bW(6>nUT?D|I;NtaTt%F^Df)sD9xZo%A^s0;ElE_T4?|g9C zfXN;j7m(uJuBwZ5@;BhyEG_k>ebZ|TssYoTvsI2wm2;eE-ey;?`em{wJ18K{-}EnT zoS6qq_JP4uPbT|23HpY$C7NvOv+{ifW`z5G5sN-#)xxOgsd{x79<)Ex`^a1ayiS7$ zDi=ST+d&D0dF!!`X@b+GU)-Mci=+d2nc+ItS?H7%n`*im6RIR<>%)R{vha|S9P%8H z5)++|%oeZtq=KxZ$SkSro)+ZIM})&C7Bb(oi(8STsdZKn%gw(nD&HxMY8y5np zkZ{0)dRnm&b1vsw97b$xDh~++BkAm2CEiDh6PRok=WFL*Y zn*G)S9e>#SJL7+QhIi3tcprO)_nqJ1UGlX=z=|7Q7>CRUTz@ss@lo`SI6>QhmBD8A zCw}*M=66#J$4mCroSd;Jf0;yR!mKet-^dwo!=t0AV-U&yg!XK`F%1{vj3# zF&|H26uQ}~Fm~jVbu7T>C_@77V`4iS=G@#KG89k~h=tp!hZ$sr=}-A3vG-M1ZL@eJ9(H?=MO8}%YrOXEmM+-U*&WW1_2BCe zMwLtYw_*A`)t~4UWmsDQkv##6T1fJyBOtP8S_jGFj0u)|64~D$j8A>%&$8Uma3W^E4}-Dm^iClxStHzB8_*$2``@eJvRB9SoOfbP>z zQagvTk5hNPh4xeZ_>x1sB(*Ev78OFV+MqAg2zG&c%h$HFq)Nogaiz_ueT`r;^%8zj z1(4wdy_%}Ks$eJ5>K>_VeoEkB>`2l&4SaP%yf+d3C4a+rgp6n=Iuv6MICDQ36cU~z zu4S59m{*ldB7UrW!ghY@WV4;zP3-hb3k)6rj$uo|M{BIE<#N%qEiJH~&uW0LE{d*+ukx zclbHp^!V^~;Rgpp9^kW|x!V0m)f_LrUJ8YxN%ugS^79gF%=j>RAcpNS5C_!|4;74B zG?eaD)N-Vpf}gE#R2l}%xsw`RDRQ^-Gr@z?;pHOLBgus@ieLzX5TX+r_ElXDhd3*& zXT}kS7AOD8-}Q&uV@!omSQL>x>UduW$*3Q&+7t8LUUUW7;%aPu(}pn$kBuW7QS@f~ z#qUobe+eOLU3C_br8{f`dS}1+#ph;!n8lJStM6SNKlXjj%oj;HU`9S40py22yXzM# z>eub)`2zBzzAGKO$gV&FA0Xc2?(02h0zUxWEdPP<%N&@M*`?*jS5tF%6Mhi!U1$Vw zRp(cMkd!Ylzm*3<&XUr$9};^v)4>1A-Jb*amwB>um{wieN8aw|b~pEGJKvF7=dPgI zyB|yw!SnFXY%=~z@0=8U?v@tsG?1NVJKSQxsa_?;@@^junRm4w<^PZLy|NV&I#-7i zMT7*>JXbI_Hj{-|sJODAhV2E(r&1bn=bU{{dg(5VlZNeq@}BjZa+@s zoasY#WD)lm*_wvxH`U<%%K*23(n-Q0Ym!RP86$|qZ!Im{+Hqp}E|__RRPTL84{ut( z6u+ws^2zUqqcJz;{0y-I`KOYLgZwajeH@)t+Bc%u;O`JVF;(`qgasdnE zoOj-E9Uw|qMc62y`=rtS<6WG#<8(za0;aW#A>0smt`u@ImZo)N0J>$qTwxP# z;*e5@*$Z(`d*GoI#4MIw!vm!6uQf7gNCv%Ws@!I4$j+W0BhtDwZ!H; zGpl3d@@C=?6TW>XWh^2qfMI!RFyhF@`}U{S({}ttu>x@<+!*1@30Z`PSm8905bV!> z0y@f?{^3)JAW4j~BqOzvjz#9s21wqy63w-s$vxe%4Bjo_)4=@PETZ9?Ncf5H9Enb{ ze%Vwpp0AO73i)&!4tzYghOGUJGR~w!!GZJnI|R#1Uk&KQVJ$cs2*e#R z-|&izR}r&N8wtk#6qe*hy!r`kura)3SO!KVD33NfM1XjBN2F~PJO^e#8?VA=rXVeo z9CtFXoh@srl~j2m*t=KtxjDD&cIq7blDw$gIt-lH2nP1Ux8K;^6)((BCFo~paul5y zW3B$F>4H6{3p$5I@TxIBwaEI!TX%LvPC223*(hl6dEm=OI2Z~OWE^pySiIJT__6VI z1w<@n)fmFY5Zd6IrrOF?$NU}~fF3{yFFgGLACIV_P!`EkLdf`kOYLA!)Q(w(m0NJW zsY6r0RhHu1IYETK3~2ByL;ww5 zU8GYw#fK)U@91AJ;8eXh--kp`EN5cKh1KEtG~o zGduR_`=Mg8&3v4Bl;QzRZ$w1_0_eGa$?Q3FiLhI5_B#1|6k8@N%ysN~U_-9m&qjOw zD-;C1%DI39p7QquUV#v-^R1IpeEECR>e?2Ee9_H3P8~c^1Ikcebemp^QF*B+3m(DV z)-qP~Of}InwbPW)o;_3hz;D!^{5!RyJyE;g6Sd1cQ~UP7+b3#&^&Us#lO(1vn#QMm z469FJQ5I>lYg03&OBVkrfyekgftUJ~z!&@}fuFhfErAyp`Wk`=qSRu`-$y%?@{@ez zR!_!-u(7LI+NXDck}^eLP^@Jq8GPgQRB<(j?tLOcn}@LTi#I-ck?UroVm`BD4c=aM zB^ewCABFOsGWnxNv8 zRP*RX1=8dr8G#pDhYIloVwX9FYuM*oT8-?Iv3m87D#c<65TQR5=lj-0`*}aCGG#Q3 zKV9QX{kq0?bCm~uQ*zEe=rK&44B1?)j?F0{U*+Et*KPT*NA0R0R*%ub=}ZS4xn4jW zlE89}APfM<`0Vh;nELH=2?D0D;;p!l%+LovkWl-u1_gfN&Z`q8xD`=LexAP9Z&ZlK z75PQ)Nl)}n^i1y=Z_1772*e9e{*K=54CBmyqj#;+Vx($1m<1f0F=~2a=_&*45%C9F z2ldvUAQXT;%h4Ofvp9f#&Ai6qavwH-Fe#FXdI(Yd6@ybsS zU(!442P0`1F$j_!fnSPg3~HZkr8VE7ttrjIwOH^A;@?Tztd++-LA={9hzHK_ss1a7 z|M4#&zU%KGp7it|5T7CBTo2sgC%gX-h*uaytp|%pe3$tverJ};eU9IeDytBw;wf~t zf1p@B<_EYyI~1gX+uY5qc~21IKt_Zyyl>2%B=~HnZHzNQk@E79_&B7|)A@bZ4Vg`- zvf2l-6n-=QyWYop*858a4ZbzB&);-Y0Ihv#11?$X#D%aPjhrnclbnoL#c}uhwxc& zFJu}Mcc4XCwxitRRF8!eL~|6I;u;J-%C&rpNhY`%hxduD-;>cz|BMy5s?!qcemBvY zNO@+h%@^d}qIF-iZ3+kRrY_VC_DW0lsLW#&cJ^%&pR9NNeP*4@cKHLpXwC}{+Pzk( zYrY5=qY^}nRX~S_NjV&DEuCfT*xZ7Z#~~*LM^ZnveHik5KM%w0gb$5UIQftG-Tb%s zJ!7j`_lTi@-=}g;Xc?DU4j@%~W^_6e9UGlVs6=kDy@9PBg`pc0( zMK{7*O&AfIp1k%(qX|;z)!<}o%h24rh*R#9FX=f**r@^oJ)>Jhc9jaSJRI#uHGjtO zp;vGz!3piAT)jqu+q}je_*{%PZIL3!e@E)2YmYDy9mS3ez3c_Y_hAtjqifIZdK#l+ zek=}#tIH_vIZ-{i*WmO>4Td)-o7NjGtadJMjEKvsy$Wr&>=Z?#L&KRFVxl!sKA&1N z^HSjM(9(&Ca19RYCN`jwD0&0)Vyj5SVVIXAbzsiG+pDuL%gpyAd)&6p$#S3Xy=g|> zS%*Emn6=~Q#gi8Ut0xhMcU>l!%@g`Ijk_Us*!jA-3i+HRAKzU#wJ`^1?#DXQM>{GO zhg?vGvRScA^Qk0NP3$a)gPwf^Ul#zk_Oa&29|RWUlh@0dzpJC)3^v%Rw$tE6!=X)t zS-W2@Lec!zrO$6o46M~=WV_UCZvUG8tx^-{(x(s(Y^t_+Ku$(2C-F)J=kULmK)mi4 zs2%H=-wI;1Bek|y!OEI4YLu!EL(aUk{?6yPWG%LFN4Zf~ik5%g>+)W9dI?&rWI;u_ zUYLn(W?Y|8+y6^{{ZMj&@_b`sighyO%aY)A6s zfy{zm=L=3dG_fWQloyAT%*3FMT)3Rx@;#q;6vcXIOqX`SG#iyy6JBmyAxCA^bR^1@~zq z(bAPeJ|oUrNA6oRIIc2BQF-HDw6mZS@$xtmkt;4?_?!+(#uvXJeK#O;w<29;a)%3IkW!VBIm!VI}3LGU&n zShe3}d5tT_m6Bo9;0Rpd!HkGl{$+^X|6hdY0~nZlbxE)KJeg+4NgGAZdVo!P+tA&v zg4^tFmynm`?@oXyJ;gIRi?Zfc7yWeo2Q>s%LTFY}NfQ!bFW=$J^feo;Z-1&tw|PcH zW=g1!xiRvo?=ufXUW-n{<<&-fr1ur1&EV|U6Nf$NgY}REsoxoXKp)1kAe+9aAMt&% zRRUKg7nHW}H>DM|w*7!&!?vA9d`m2Na0*WNYTna2o+lDSNkQSHF>y#@l7zC$lPs`7 z+D{`Nsyc2WBwzx!nKfAtE#@{g|YqCszzXhf~>EXHO3MDam9 zc~UQ8+z4CxU*sFT4ICqTfYycD+S3_=D{21QAzouR7?mFr!-3jhS&EHJnqDnhyAF~T zDme6Q!O^_aDI|L+_D#Kpd0-CF@7F{y}k?Z(s^*SKz|)byuI0~ zHWUzU zS*w6v^Vgw{?(*SYDtB#}8gimzeu{(U__0o$hmsby+KB%lQGExx58$t(6+~`mphjD1QqvxAkBY#C^R2YPoVmvw>ZzOyKQ+^vzzgV6UV8Jm!IwAFnTs(jU|@TwO) zX#{KNi8?coo&OP{KifpIDi1m?Z4tN%*w^z~W;nL$+#d;T_A=wgi->A{y9{-pFD(|8 z)S;d*BwPj8U3Dk|_s?(dpa}i^bGAnUbl*O|=4L6M%Y+JsdZ|rpVWzOkt>dan+J1Gk z8HCGfPUQAKi|-`=0N>|-;=BDD+~M4QetH6K!#FprV!%gNPSBZwi}MakEH+3sE{!?T zMS;{iOIo{k;|-Zr6k&(4R6C)uHfl|{8s%E)yVBuzrIBmgMQhX|d)+lg4&r8q<6;y< z1gzPt*ii672{~haD88tYi}MVVv@z%b6#j$rBg;c5?GvUc45;1Ynrn{O)t$z8G^Jk1 zvzRl|u^@Q2vgE6BZfWpYUWA&MVCWGuhZJnyAxvY!E2P1zfm_`oqKITwUu3B&?}B@Q zZMA5njl5yADmloU9w8QN?u9QuEQ!z~V~*ZNKyRiB5n!t09I!AcQ{YOe zuPl;`7$aUsRcH(Ku@Xennj%8RxOm)H&x2jgcc>QZM>v}wNlnsR!wIP4IS1Ll=FM{_ zcKa@gz!?#MD=^TMTbqmJ&{|$_Nc%&>8INz*rngqKO{0hoebqr;aerX>Rw3qHCGj&+ zZEB25aN&-$uy_-0JnR1$km9Gi|tg22*HouhO}y%f8)aiTLUYI&{hcpYaT zbE=wVG#9Jj6qv6MGZ=|WgXa`Id_|4@sBgYSlOiMGMln#ozAb0%o`|auS>9F#0vZL5$u!)3H`au6Hhp%;%yS`3Z;$L zj2VH?hO#sxkNSd(a+mTkMPzfq`#<`#I(|y2&ssZMM3^nm;*qCE-*a%30d3(~vS7`9 z^e=k7haI^pT7ypTV#VvrFzf9X5pG0c3Jwi?N^1R)&Tx}+=F%Lld<%qXvIssaG;%`& z)7lyG95B)m_SyyVq68(?_lW6{;v={!)B=OFkbaC7MNgugQAyKxSoZW88FEtz_kkh2 z;x+20)wwwKQ`|Zv5DNSTdP(LDT3$^X53ZJm_0H)X4w;0ubUYnzf){&g!=^rXR4Q{1 z>!vq$wC)HXZls^A$19yaE*AFm)H^4%teafL$cj8lfZt1=?w0nU7Y z5GweKnF_K_<#4AoLv+&1Vr*e+Vi%&6xsSLhmY9QRU06= zqQdDrF20O@7NWReRv%_`)M)vF6x-il`Q>P1H)QEsOXj=Vn@0mu&%kj;cN_qd{Ha=Y zPV#(%%y8p|m`6&dfG_7dNJ-ax$e(^Tulve~Y2e9sx7^URRC->tjjaO=WYp*Cv|7Qn zIdBCw{L&07Q%*<;doWO`c=3%B-YY6^189=bFW#81Hz_lX(&|#br&fK;b;P+l{u1YM zq(V&3V`X?m?RB3e#(4m9Q#g)tv~NQ)dhlZ8K%P>xYaz+$yqw>10X7R0xbMJDv-1HD zI6?7fUf*y{OXb=A{KRb@b(LYbMDtUcB~vs5xoTf>FOW*!K$&V_v*tubvUWh5#p82M z4ymEG_r8y5an?cQI2N-bcM^+pL)Tu)Tm>P~zk~Mb~0-M*~k#rlx@V=Cc zUCqfTnVGuie_&BAHe1guSBl%6HrFKp5QY&s+X*sHftp!JdqUn1pUEJ9d^ihYl@p;QVz)C0DVF9wz`A{Zn zAMRr*ae1hpQRBV1F(&8u0!ue0xnV(o-9GfFET&VoWP7F3gI>Ll)8Vb-*`Dasp5fp0 z-=F=r`tOjx^xqYL{`->n-}K)L{?LDKyz9SHbE|d9;BGAntJYoeS(?!ped_aDE129J znWZPHahRKLwO6UoDXOa^;H&U9`5-!Bi+@5EGsGvrn$K`m;k9BFr{MKjY7RjlNjFRs#fY$-O(*RlG%xda}J>-&s7d(G0)TuV4NFCI-p z1nxptWHy~=$s<(|82i$HU^;uztDAl)WC7gX#b0~reTl&{|(swvgdyyJfCNxK$2L6j^Vm zqyQBn6sW#W*8q2SRKrs{X3q^#%xMk<>n|adu_O^c!}F1S0wVF+^w+C->c`q(Ezd3v zG6g-4A7~Fz9nEf{NcwJ`3Q^?c3kg3FG;d}!4?LfH*AB@qf&k^81l|@1tk?hR_YiGh~Y*gXcu> zsNk2y3H`aSIy|V`z<_;LJE?7!$h<r!a*jwkN+j<*r<4#Ie+wJ%0Q|LmKu z8;(K*Awl)RV}B^__M2!Aq2Os9E>%)H)akJ#gdl9N&9Y~3Di)R7-)9wU-putPIkDCI z@9*Y7K{bvNn8z;)qd2IxgRbxQXZVG&s>Ut|=1Y^4)s5wF*VCibtF$G-?@1sRowtQ5 zT(;;*Y4jE`jBhWQe3saQdEqyVvY2#7SPgkU5ambU5uqh3tA1!@C~jtKg9k-f3y)}iu8qpQ2J>SctX zZT_X^s2Z;b?OMEEPqw+RCLq<2_7aF%@CL^6vmYE)S7n5mGo2d8g}ccZ+5Lq0te4i* zfgQMiKEl5?n$IAA3@wyRZ!bX0!u7x}$4MmBjVSk5ivN58qWGNuh~hQ=5yhv(Q8oOC z&9_=Y^V29Z_&bUZf(QeDQDtDAA$H$^C-}VsU+^e|m*7aI7zFVt*f@u` z8rMk}8l1RSBE5JY2FUoM^%=(DN1Y}EWqX5I+tx6^VXwOQss=|JR>LrmL0fo{(0bVc zmuGpHDWfr817mSeHhikYy=@e5ix>UU|M>-e!EdOUiLlg!>|OFqrp~R7S@3TxvR<;U_c=~RN3Jn>W zSq+SM1g3!h!3+GLdh)-~fxp|s``ZpY)1Nx{sQNJf`?C!+&(;C+CZsI-Y@Q?zgwzK9Nbxz7CjA0_w+V9Z{7 zTZga#yK34 zDDt$gt$Go5z&j4)mM^@Ns`;;@{GO8G`vfB_R4P(EZjy`2k3#OKLjkZdNJ%f?5j5Bj z4QCiW(rqEVeU2#&4q^l==6s72bN2F=@iRUB@Dmsu<|q*>@OiQvLG z9BRcqN4JO1Qt!&|VSMqwG5nO>-!i;olGFcThG+iZK$#_&n)_@ZX!RQo<$(tl6`FqG z7!=#O64)E)FEUdXyyA00TgwY=&uG?L34CknmYk#|+YDD_O-u5fU~LF-G+!L|<@WeW ze>W(}&{;3@=_4RdOf>6T8=gUFIrJ5hzrB`CimroT%$Zul99Y^emXu+tcaG0+9S%8R ze(8B*^^wPzQ^)hOJNI6FGkcG2Qtr3I$7lm=noi_HV@p(oq@yLORS32+Xipa0Vzk;z zxA3Xwkl32 ziVp?bQe(=eQbhUoylR15vpa`2z9gN(B)2OILXER*tb2V|oO%p8!A08VL&YeWEK+)h zpHLC?iLC!39#T19L;Y9WQ^wv;1bTJI*}q=k4{d@^6=U|*xc_SuZ}9&q{{Ifew^npy zKSjB}!p9;mm@hFpEinGg5q{vmcZ5g%{Rn>`4jkd-|K}T{8lSB{KEwT zX*~1Td^Y6Gs$a+W`RXljSrlP zS~#+p|LF;y@DC^Wt-BNa{M`wj_`OeKn zI%0Q6$p6rBw&oPePUZi4G!| zC1i#CZUp07HdK4&ZCqr?UEVXgHbXzPr^bk%IP-(;pe@2vO0lO^q!9@a^5o74zhW68 zY7NE;=86!9A$HQXVP{CA(?c@C$t&~gMQ-A2T)jMixj82+6WO!Sd79zK)QGEd7FR)d z1VL|VLwFUh>C$t_%lGDS&UY`G$h!SRyzN9*5s2i$kjVpq7?UN=H{!pQ3uIkD;jAp{Sk8VW@MG z_|Bl~yD(3g%00$!rxW9eBHMvDUh-Ft56${3$4kw-2y$Ztgc4X+IMN1@Z4oM~aBEgP zWDLR$-fVpq3enhI5c%DX^C_Mx1Tqm5+OstU!?Klyh4_+rGLoHDJU>$ zq>^PKFwOH_E$sIseR(sVVxkwye-pz5CbYojE#}YjB;V`j(}Z zn{9;%AfOO((}U5}NQN{5#OQBG|H$y-9=`IGl@*F5K#aZs89mB`_WehwOYH*o8LYXs z&@Cd4>dyBs_unWufg149pa#5*6D`=gJYJpG>(>)G!58IZA%^bhIM*HYnrZrA~L z_~^w}Y+3Hx%ehLX&6_URMb=@-UE;{;0oU&6woN$T_lD8rPlm*;g{-U03qC@QIo5rH z2+Y{I05f*!oZx)lbyRWn5lFBg$@OpNXd3fb1R|~|7fk88w%fh)#ag3XS2{aQ)wCg? z;2nZa!)6oXxfP~5-k`2{UpR_BNEPln{}^oNkwL`U7*DXt=>WMPXY+=Sj|RN0gYBH=mSmeLq<`!?((r~?o866nAe{p`T2-gV&V?>q1%ONx((!JG&uQQykEFsOhu zz!cv8D2wQgx0#`%hI^t?Y$sUPk8p_X)o7f`u6o!vPBRA!%;R^l#;N>X4D4WIjVPy#@#f zFcG(9I((=kO4xZOy*%f#*AGkr8Q_jy#Jn2Pr$8BO^a5n^tC)%cscuHd4}Q6 z?qIh5&*u9EsQDiI?=;^>ScQsmzApuI?C_GsQav#1<9`4nA#!<(YBckX|A}CYY4{eB zREr(|R|qaGPF^NmMr(9(0@Ixz1i##CD#b~tz6HbPnlurL7R2Jfox$~Y8TuHdPF(U( za_`WsKV0Eg*s61)(u`=Q;wliYZ~kJ3!=V-DaJZ{RNgoZ=m#&353%MT+5) zuZt4yJalm(uoDM4Pi!k2rbIg-UW?PGu}JYpV|a5P;}WrbvO%S#uo|H86+=?E2*6y;@Yo4J_H)9%FFjzj#2zFHPIF`xx z$W_Z~5&JZi)oQjzo#NhCYv;oyoop9J=9xwjyQDM z1u5UV7$Sz=pr+jUGjR^Q>OM@PCP6N=HAF;2vJq=)+4>~-u0y8ZH|)%4kSqKd?A6~} zYjOX7ivJVEw`VB;YxaNX!G8qx;4^_9ybD;+)DZjLj-L-W(uLXLm+zk%YRuc;JV={7}N@00XxK$4#8K1rVjO49e& zl*#{+q!+wT(og?6Nq`zE{<3EG8nkBj@?WmmxoqVoJm*uI=8TSK9&Ppy z>Tq%Alf?^EfT35cHjSP%-6~6*TZf5Ci`z5odc80myGM8Y4>11ZaVMipSF-7H*PNcu zHGAF7={2lD=i$-i=W%yg|HSk-qyw0+hoi*<@U!;9f!i<>99#<{jQNZ~+PpAOiXCDs zjferqTxH90mZ)AclB-zpc`ug7c|D<|VA_xZn3(1^{g$m68-x(#LQ>#iDNa&`QmI&q zo(W14T996Ek`WPrXk84SPhC3iHQ5473?op7-;Plj0?c$E#J|w59mX6@oj@9eM@0_6 zlV+NQd(AH|Wfr~F3F@{Jj=iqzbb`R$3H^Tp_U}}u!tn;DZAEkIa z!%vHRc(W3buH8YT@3hE+mfxDAiWxff2ab{UWWnvff)NpIKqu4YpQ$MnekERaVzeX& z$F`|to)A*0O8jf*n+NE8U;W)--W)~JbMsV>FE3v}_=y_v6twkM_c>K3KPqWI(oaVu zZgxkI#27nm%gXk|ZpR0C}@&b}+TJ*CohL^5Swm+X-m40d=@~AvS@_Ttb zNDV8=v)SVA8qn|G0oEa}izqMkmMaO3F!J-tNCk1)wk8Vpe)pWvfdO_PRJ_z$*K-5U zrSCn!0}uy&@k4NO;g;B}=h3FfUqHKdntni_{*(QulGGR^nzqJwq7i;kK=$FVp>&~) z>@iw!NUm5AGg#T74!6`2w2@up&w9M#@G^Gz-%~w=0cPk;8b(tk8PecgIX)SVe=o-~puA-L5vteVPSA857e9N;&#`h_>1sV_P5%7q<_e4U>E1;5qM&G{t0qwT*41$aeDKz{I`BaXVT3~{pPQX9WBrT+-m78xK9}8Ze%v~Gqgk++a)GWkq zjf2SzJMRx(D0Sw08&k=D0UOvvKsk~Nx-Zq=wd>CpTa#q#md6IW)Sa%rKeSB^XK9o$ zI$JFU4coWte*>Zhdc6>lYJqC1L&8pQZB^B=qT)Offwc5C*~VRySX3|Me( z0?@QR`iz}zoff<5`@pWf4$!QBJuiF?TE_DRmht3m-$?ys8P5S6w}nLLmgoDnubchZ z^(jbBf3UBsBXGBj_oDOwi0AwFfDZc+^GZJs`?SET0Nk7yexG#6D;HFlEewg-M5Hq6 zZo@cZqHG$=+?NEDA8?W0VTi>-$=v1hqww5;eEt!YAfFaF+g-Un0`!kMgJfz#%c~DQ z%%F0;J%bdqMQsg{?f!@+@G{WX4ZIAu(d&LNH*xGp7alWvdi4&?y)ij zJPar=lbWJEw*q=zZ}02%SEh3o+~*iv_&@9Q79KVC_4;U_UJragy?*dVyI6zh#Vy~mejbaL5v$o(nXO3G;k z0U)8@kp)WV6Ap+SmFNy^7r>p2%2C#bCRf2sG=E;oaAEXED#|di!<8Hqb*j1_#XG80 zaJ409$A(VbvsM`5w`ap=sg4b#r;vLozbfyfHtVBiiY>Y5T+UkBbI3rg-UC-Fv6`B8 zC~znnt3T1aMXuEiB=nhbcUooQCTK&uo6MRdZUnT}LaGyPwH@3RC@7ACM)-BaSMuq5 zzmga}n2V6=@0s-CY5cN@BQNQ**wv?W%xgd=93n8e$#yKcBg za)U!6znuvkiN0&sXC(Kl&+ZMD%gq;@IxA6D=d* zKtm^Kl0!Ycmu@oKw+7oQ5W%859b5$)!H4|}!xpWR4)ic!Lt!a%@yeJ{c7RVxOI0we zvRau?A^?v2bi?b&?TJ=msd}1H?bjBErljB`U6Xio9c2^n7C>~jtqwBNuMb_6rDK6a zcZZw_fSG>$!S`ba{a2PAJmY)VSQ*xIFAhRW;>VjXm%9h0%p!%PWl; zv?ju-n^mjR<9D1U4MpUUi%c47JoLN{Y;BU%x)@zq>^e}%1LMh~x0-JI!)!D(wlxuF zFW;r)r5;v$GoMRY(lS$^9v>P&wqi2PM>!xKb2P|>-QbKZbeFh#6Mu9k2%Z2<+mq#b5agMk;MLubshXjCC!FFjF*1ev42$(O&fw}N z#jYRu{59TU1&&z?VS2)iukOkSy51yF+Rr8Gz5^$HHU2?X;H3W^bkd)jXm&x9h4Xuh zQ;vI!0#B}{!5)_~s3&mBs64(;=W72&YY4-2HG19z-#!8FDbfs{RdP?L7z0#8zY!Gq z$_tcge#xM^{^BEC5m?7Ye@r$@TN^IcTh&Lqo)>V(9PHqeK~i%8o%c^MW;i}tuHBvYVdDk)f|A7L;}1|x=a3#))r)D+y`@%7 z<|YV##j@@O_sG?#5A01eZefBEO)F#8b!8VpxQ0M zhg67Hp3Z(IqME+-IkV7@t@MT7T8?j7*2DdNCV4o^KgfZ(MZ6;PkKC?39}ToV9n+ZVD&VhuasuQJp_w>$(5(}SSF^zqy&?Wd4>y_`{1qR6#vRWoV+x8-zqVIFkyoj1#r6Vm0d`xse zZbDukn6nNsCS=U>H(n1Db={? ze|6=Z5nTtym^d|oNw@eo)&hNy#IcYh*tg{ZH2ZAR z6EMZC3Yo5>i=L{rbb&islGm2VFH%zZ}^{6=ZVD8y9eTgS%^IWRqF-wpvKwv z2MJCIG}Xw!;oeOk@`Qhxxe$!3(xx0pRka>{8gE=w^-Q%D|ML)jS|!F?IWwhMvaUlw zR9{44hYabjjt6kN{``CVy zITSI`d7e8Ow973Mc|?C7M^xaHs50LV(iQ zBf;p7CvG25Oy(!yEt{qCNPOZ1OY4H4_eds(JiO(EB+;|^Txp^|ZN!o~LYaE5DjUo@ zH16O|cX7l2YH2Vlw+cP2bVEgxZ)$#xTbj>HT%U7gMI* zf}Sq^4%OADGIWaZjljo_;|2BD9|(rN?3UH>8xYbv2-mATubbtqamkcp8`8csuMalj z64bTnLRfRV=$dLfWR;!QbSs-b>EK3SBN^dVBOD*&xT4fc6=C3#_Qa9mEf^Q`B&2** zlWLy%zJJ;hq^ZBG^q0v8uN877iF!)$-LdCza>=p?>3U6@+j2P(NecSqmIT+ewoM?G zr@#ATm!Zz6?qg9chLl&H)`ZLP*5(@7`0kYh(O(?s7F!^;B@YIOA9XONDCEBQZf-KW ztzkVNI?V%{@HqX;HnQMOk3*sr9ZJK=Ct|1TeF>mjzgk_0ku%usnkdh?0Nee(@&2sO zHM)$N9ti5ztAV=p!I{>-bnBZz-THjY8U|3e{_VG5pj(duI_tBXj`@`KmWo&KJ`)Ed z_0}XHNj={WH(g%W+n|+7SKCaKu8;N7;w`~^AD%<$aI3b^)@#{KkoX@@2mN$ zYGgxR-)ZVW-TIQ<-@El74s49%=`DI=N)j^J zGWVs|Vrul!q`C?`NsrloHWU@Ig7lt1b?TXu)YY2?RO>B4Qa5a(uo>^WZaw4*Oq;qj z1#dGjk*BiL_K=$u&IZ-Xc}fxm>cC<6y7{hK-~3y*9+b~-{xNV5{(Sc>u#kuJ`$FE) z*ZaG^?gN)Af1p}_`LkMYa$l`)GvZ|dg7&}<-2mJL;1Q>tPSh33fm?JO3%u?b$RB<3 z+fI4{wovZQ`pI`^eS|-q^%(?k5M7h6K>2*3-}3p7{*=#8>ebD-Y?%W2={){{pYAl) zaCJu0$KgQG(b-&6L8v4Ol?|CW?AUzs%ORov*b<}8?QL>=q!*}JzisC+^Q2o&k7R4% zCZ^&c;S-;WhbSOV-7)qD;7?n=G||(Qr@Bhb#@S65O^?PQLRKCItAJf0R)-P2iLC0U zs}2z^WXl9z1U?$bRDoUuSPeV9ft9=!Kf7GeN}l+aPb~U}#1%YDPQO-fO8oa&4!m3k3V6n9?Xz3r9UP1~6>KOd-2E^-$8n z&lTUp)HEYPj&91dih`-)pbFg(MO6}pryv{rCq(e;48AtET7Ih2R8QP!A3l&sZqA_( zX#yLlPorpa%FrwS(1)ClP9vlz^N`VVjcY{#=YvpbER77i%P-tWlHSIU>@(boxN~+z zVk_9}gVyr>;dM}^PewV)k&@TxSCO6E%r6KxE36re^Y*9Z>q*QHMRv(WrXRx__AqB3 zEM{cgERP!|p3`h9%tE#eZP}Aiyl8zNPu3r_nHXaBQ&NY_64d&3>rPkC2*on-gbXTL zA_&(WN_`|7<1PIQ0Z30XQBF$l&(9&qIyXPm#UKTb623w-F=VfZy!=W!@u#W#B-xfP zTOnOoetJSs2N}9eA6k=+Q=3>pQ}-|(uAf0u_XWh2iR-;vc zZ}#QDi-7%%|52-8LeJ%)m(={hOzPg74AqcQHe}#EfS>i(`@XD(pEY2qBU!F(`Gcj- zyQ*LiMg=Y7{g}vG^n}!ATnSL*!qFSqJC1HLVeH<;j+_av z?G6Dh`++N07){<}h#Xo^(dhC>c%cktXI;Uk^J-H?gTHzsg~;oZ+~WV-w%0FLv0KRL zv0un(Ob5&Lu0wGyvzxd*T;O7Hu=?UeAshqNBl3EI`=z`m36wJ`cMKC1D4t&jis!Rg zMkfo6{s!@ne}Q<)Kh4|!3y42B7$f>yh>w^J`~mSVR_-A_Ke&sckN2_4Ntt%S-9p~A{^hJj)Mu?IgmD{N zzWouJf5Pzj^)pFKF7t<*yl~m4rYVE3raF`REHXdil2Z=IxbHcBT0b=j3#vw8CD;$G z+2`VdTNo(&(C`RZ9J_$iW2O_aB_qxtTr}o z*8)8CcP0BPpkxnxK*_%ON6G%m0wE{)9T?s%%0i$KTIXBCR+;J|uvk09+}T`z=DgA( zVO0H)I4o+@c7DN=y$297@t^lV2tNrRyv7~ECjkg=bdT_Lo>i%G4zNtmBj0=WvdbTO-~LBO|dUIzSWG zeX6UyiMY2`{~3|kJoZa78_DxdCW!#$^LOFqc(O3sO$m&UR5EIXr1-}fhu9bA`Ms)Y zK*RpaW`hjSu+MgH2yIu^j9C%tB(1@V1RC}i4laEoOs^uoe~MHG8usecX}#n?!~Tm` zOHF8}pG=3GS%>}Wdw|C^Z4G#!yt>)5j`7x6XIOR(aqnzhgK~dd4+p{_zpK+UfmJ)r z65M{y6d#7oCXM#9?;nbG=+M4Qj#)9*(U4lRU#^|BUj6>Hl} zomr((ZP%)gJ^81eZf2A^id+OT{nAm;ou8(#Ke-v z*P)aE)O0pRQ;mWs>rIjE7VuS8ozbP-!i=n`w7#F$6t^}T56V&ccF)%+>g#ZC4SKjb z)iVMIJsaeo^OyW z9)bA%(@%c)pu+N)t8PX{Pg;;|uV5HJdsI|rPQjAa;_+T52CXK0zAM&}M{)k8kVEqG zPGwV74r8;jaDK@;nl0LBpdwZp+v7K(O&l-IJDbM8u5WN=!w}s!uab!QY{#=~_EFzQ zGXC1_TdO|a*RBn22o4qy;HQ{`&9*-yZV6JV&>VEaFcSgwa9@ww5N=UMF0m-ki{ z4nC5|`(FLJS`}8`oM%C<)*K_bA~*#{BHW&NxH(>Gguf|%T;C+6lOd}hv)4vUi|&5i zKILSFw2H-Vl{mmE5LHvo33j(ZF?55K6R3C-;A`-8j-bnO>H7t@ z))ywmXG|xsI3od$i-zd$b)P3}9-uy`rv56ygRt)7fx%EBHG`nQYFs+XuEsy$9$Nba z`+F1|^GR}CzwI%L$=1Uedce-D!>(%3ur;6k%=|4%z5o zpY>9j(j?NweTx+_hMo{gGpjsW_yQWnGY)h`am-DJEDgLka+xE;3mJG$3Jl|YB5II% zVv5J`ZbR^v45>+!pN~oZI-N`W9qsVgapp0J&zi5$;Ehk_#zRIw*)?a5uCQ8|9c5PO z(s`%lr6aPv+&Bntm4KIy&d`}MoUv2laxMWs!bSlqyF>xhPZc>%u@l52{@?Y&7m$V&%nJFl(K+P!n4c?3JRO)ou}jB2vi&NmY%Sg2dPCK|k>K~LyV*V4hirfr8?3F$<8hvJ2GPNobfZZ{y37Qn z4u?$l;{gfiqCGvc$ibPHO7GaH_hMF^Op3+S(78kWTMOY&=)4#4Jg15DGA<%6%{q^% z%mBH3s^fEv+tDMxy|$I+#Uj7}0L`;)3e6PZ$}lFopz*aL)lQdH*BzvmXS70W%t7S( zFbY!3^Un7kSMR<;Re~wv)_|!jyUk-W;yCmMspaKIm%ZO4FDjKveO|F3FiZof<);-B ziSO0&R!}5>T0RP-miGqK@@1+S2V!`&&h1(UBX@2(IvbFiZf&KvWw5m;dG4DP9`2cj zoN1NJy1>Mfw^3}>&p>Xv=ylghbDHAL^_`15Hysc1C^E=RS0(q^g!c0*=ocmt@9SS( zWidTwa1se|^{k{S&Y&fCP{+*ky804lqP7>6z zS(%QEPS!3L<kKs37e!%Y|R@|`s$ z$W3>K?;QfT>CE-fEdV#&LWmI-;HI;0Iz7j?6a%^G@bBGp9wYL%Nq26#4CnHDH=P>D zO-BIx&6ogxGGB6W_Xq=U)18CdbXOoZ-Gg^3fSXP$wTAcUTm`Dj5O^y(ReeL?@Fhr3 z*B>~(m(Y4A$9g}$ZbN}*fi~E85NOo?hjk|&Sr=WrR6|-Ll?n^-f z_q4&*vcSN-Gqn#H$MY!Az`c&#b=4Bx5dko8?}O6j5mN2#$2Cv1|8w9TI|Tj3@M5#K zASQ_^FmS&xN_RJKUkB3#!gt1hg6}rF*boob?qm7-a6e=D>TBWa*-ckhKrCNqLgkhJ zhVA0*k^9M3vMWh2TF(H19P0)Hw3@@?b)9HT*c`rO45xd!JRmE`_Eyq?t8pShA$Q~Qs06D=;gED;JkBOmw7;!9E}!& zFWqt;69w9^XCjRhP?gSW{^gcWEO>914{x&(QUdIBLV%r)8_txp+3KOw5j&B9+x@&f zPRc$%u$&+aCo=xx{+h4;$51{=KB!&Kbl zq9XWq20Q<%dTnd1J9e=cg{H;Jv*pe&{|~rbbTSrj(_Kqwbp>qY!-D+sV(Am9!+>A@ z%MZUi9_#7{aqHK1!gWvXPWeuosAX;_pi}-i)(sZul>hL1AyO}LIh%gwC%jM%>`go% zn9p}YXV@u9^ibOg*+Rr%I0hS+nEDMgWqbVrB&?@|A2()IH&u+J8?`M;p@fzjxlCDD z4QZA5g_l4&fizK$KLN}VViioJr}I;H#_!+NoMvSE9eNSV(i>&a`o3L{++HG9^nSjGwpKiPT9fZQ$6BIv9^2pZ25hy}7Q{=Vlhrv^^Y|8$Es}7)D1IQ5p;j z%(-G9XA~!u%$_P81HHQso#^Q;Cr%9{jA>uv_4teQuM1+{$J7h zD9;aC&kU{!{B%d_R%b8Eh_&lx@`gN^`97dfRpL^l@Y9kgAZmpGwR&PutzH0BtM|qn zG`83fE<%CrciAh-V25MvYMSwf*X(Tb%oF9@lYK!^Tu#L)PDqVf3@qY(Bt%HD*KrFi zLHunGuX{Noqm2Q_x5UwXqeEStWI8W;bFBL6YOm0Ce;nkM$G!0i;Nmp)*DTx@O$Vv!?)=<%K|Ic^$wkPZ$T7&6|wvuPn|D)T^&kb#X&5D^u)PMz%UPfVy}i{fG#emnMVcuDq^J4ePTG?oBiTq5^TzJ@%s(#y5hGe5~Y zK^>vfYpSp+Is$!V;ZA_yMSl`J_8q~;{vi1B(8z~=Ab>Xk0lahyBy&}|4cdJ?KM*9E zkFw;URcdVBtCPB$$s+*GmB#pbD$?LjlXPBamA%8&8_VE{fPrl>#J3}3a-@UY0 zfRXz%5mQZLE}&pvFS4oo;&g(+p0t7m)!XADt{lYgxDZ|e))h2gXjYS=-Da26yL34QaRW*dR<6SA`yWDc^+axByH`-Z(w z8b_PUb{~v3E;bSw$Lkdh;uzOcEj2}nlw?!ZK7pnjj+}j>+p{W1c&pgq+5|GblO=j_ zshxpFHLF27p&h658Zs+ozkD|(D#iH-2{~&BmeyCDY12iRwNdv7-`_;sRr}@{(dRi3 z!gt>x{L|kNzT^)GZ=Ogp2}tJqR-EGj$-LyT6IyU~1!;$GD4G=;F%60K@!D=&wjMj) z#an_>{MR_8F`VFz8JmlJ@V?eqFa1ph41Z<#Zd|l4;}c?icV4<3_X4lng+;=F&exYa zqQaug)yy5^Bd|$~q&9PM9s1poDkk4ih=Q1F(3Z#J(C6;7bZUBm>B>A&k=B;e_JCym zGjjxYhbvDIj(s6WGC$~Hhn%WJslopo9qT5?t7pHWs-%8ZT(_L~y0UtiKvn5D?LkU~ z@Yn3}Ot)}S-M1hy-Q_lgHrt@dbN3DD@O~-#8qTn6X;kpMn{-8D#m9w5rxs)LjNeOv zg1vvP`V0lAU|)Bza96M&aY(Co6r?wk;5uNFZ9;mqD9CpT*KDuyK~7_rM~Gvi|M@=I z{lvW$fo4$_rgia40p}8*Vhh8A!-bt|3qun?GXLxV)=;QAO|Zt=USw&~Q#p(+umqWWIaqtZkm8xS%!0QR7EGe@@xP;Dcnc%m|Rr zpPN1{84l#J%`Ve|U?4dBOotp3E|*7JLViU<9ia2 z=LMfE29JI4b?WN_VNAgEKPbIG8YcB+$kV;usPyIWkQclmo_C{hbN4)+3u)Bq+2Mc5 z>Dje|O5iIar6*?hwAV?OJzPu(>qo&pX{U;J;*+dj`Xqc0kC$#j`)9mzPg0O$9)S7D zpD+({%+IYgyI_T%9Yy#fV@KD0;b$+50&el%&`gJ6k=SjB56vM(MEX&!eq;I(fa%T6 z$^x&D4CL$xp7a}|LUuRw8)H{rW!$VJ@{eDT^deC?p1CB4epGxa(^ahiSGX7Vk-pur z@J6vl7j%&ic{Z5q9(d7rT9kN|k173^i#)tGpDO*)9&nLop#?7T@)Hg*9ZFmnjI-Uj zRwC;XBZh<@9l6$&*-;LF(Y#bDYSPhhMdK-!QY>!JXdaK8$1bKQ0ySFGp)p@D6lwsJ z{&s^3i0d^#SNU1{n%6Xbd2(@kH2t(Dn(Io4_MhJpeN4pS_>JpVYfc3BVX6VHzxcuR zF|O(6{}$IT{Ufe_{2SNL09^0#gX>3s=lU^(3;4ii!`cNlzi>TTHx=QdtaBv*?6L2` zzAIfk1OWSwg!*LS^uTUjUv1ZO8iFRz6uLD+H=>WpwR6aQ+|Lvs0pmRM!6*4R)&X-C zf&WF^TSZm9@9o=^bPEX52uP=dfOJVpNlK@5cY|~zpmc+zbax5T-O|$C_5LQ{TCTO% z-cP*a8UKTMIFBZSG4AjExv%T=9L4AdCdrf|_~u$2F_W!hQqpb0?H)DYtUEcq5?9%d5m-`(|l+X*@DsP%jz9e9AuY#7xtb9a9 zH#DDxM^y61;$Amexy5`^jA9-G)|#38wD7V!n;%K8kBo|c^1D!alAZ#W+{5C2GFOfV zeo?`%VJ|&-DG{`|$MKP|Nu*fE6|-s`oiTQ_rYF9hOTEFpyo+co=1f~DC>r9f2!ym ztKtb(dbEaszx^V8xre))2kD;l0%L^ebxd6|f?hc>Er^_33r!UF z_L&dXw^D1jrva4`G0eGB8F}R2l#Hr#Jjz|S^6!;((3$wMc%}KaU1IQS45$t)scxCW zoH{7AOFhiVGPl7FH_P8`v0qu!nJ#Lm5EQ>+uj`D*+DaaH34@AnJM8tOqc&ze%Z$ch zT7sP(r>Kq$@YX%4@|_*>#nmtZdF$}abT3rwBw;C*6!B=hl_ze8KYjgt)&TO>Q5)@X z4~U!RjHmBgl;eMu1bOSWvc>xEy>+a2-nvP^Ti4wHcM?bxKtyz=A!nW)?~jCv_~xRdEJ!Vl(J(y?ibb-WY{)u#C6Z zw|+{%$BLy0_7*~>u%|*&RP7wwi8AVN6epyuwAkwC>?u%6#iMUL<6u|U58y;ViHUc^ z7SURze%cub>0F~fzf8@Xv%+n(yC@2r4jG2E3J$YA-j-9qaSmw^z~FTkW`JY)ak944 z`ZdtUeTRMS!a1xwwb2E^0I9BIA%}>u{%4kZk7={&by8*Tse&&K(ISERayeFEZ7DRTW&MQM5l&=84JEopu#>mPwbeN-{2fxBRD2G;*uFJE!j%d=JP&ENI% zJO8nlXY0d;!_@fnACvv_%-@ndT^%Ud``3VyeGvLzlYOE!=uF>f4>lCh3l~abwt5h< zxpv0hot^<-TbPetV(ohr_FFo_XUHt!ZoBta`s%z-opZvaoCRuhh~5EH`w`+qE|+`n z{1fk4w-i8J=k`lnH+d(nbK1N2&eJo@Is#I{He<{whI{0_m}I3?QZ{5M;d_SbubLN- z3d8s&rz`8i=eL@0tB1-Q`@hGuM#sHmiMeJ7&3T~>nVpL zm&lK!O7ZdA+ZDlQKW@TROF0tM-*!sf*YXEvZuqh>YJ{t_F7}v1n$K+IeH9(~jw3@3 zRu5ys5&VBV6H)+kMy!VSXI-Q!8X~k>-mH+D3o`P24OG%!M-(cGUz96Qc6H&%| z`Qt07k4L2RybOd4%0bO7M}rxI9z#ZZk-!c9;w)0BuBx7l0(!z8RtbR!!9Lhz@a0LK zga23BtVi05>kZdFWlc?~BB7UoL>6EsNO#(Kb)vTjciMSOkaqsy+)0qFi9-~U4YA>g z2hvlJc3$o5{15H?OZzC&xV}TqF}8c{JoSTie!b;%jRnxo_xw)IYb~u>S=_~O(3*9- zUFyvqr(cY9&q&@I?q@#XBZw{{;5Dp2i&AUhQR^7?JX-R-BT53)|vI zW1W%;6}ea@9wN12=e_ZbI^ZN7dp3NWE`k%*wWu1h`AO~A9)Hyic z-{_k*AeeThRi0>qA+rOc`{_45PW}!M+dt|$zrvFLl&Q8>0V@?aBy>grx#yEW?s;{w z?J4gDysn+{STCXERo16arhzBDJ~`g`^>V~LX|AWTs3d+`0#Gkmx#{p1)4xNvRnc>a zp8n-Tzwbv3=tRHna3L=bWouaEXnpGX`ec;N{yhe4Ixix<)ZWbp8VTz140s>Zw|2&f z3!(|2c0M15gmyhu-+U!p7Y6-uKn;dCTlHRG=L!hyBIXq3tj}r^cT?P4IxhxmY2qgB zM6%={8D5RAZ)O?c2mT}y-hReuL;|BEtmqJ4?8`e2@QzpC!bwZok|t1fkok_PTwn#Hw!o*8mwD|Y@P67w zLe5S*!oi+oz8qlf^(0tn^7&fdaq@K9*re!deYUZ4kFVyH+tt2c_!v=JDFNywUJxB94ptDcaq5?};t# z%+SptDrKiQ5cRc|-#tM%a`K<|a?wCBg3hPC+cI>1x_mqbB1uW0{31&S%?t5zpy zg5S!pC^)}@tqxTVn&7i;HowGRfmY%If8$W%1jGLB?F36daA_Ztd4FlYF`EcPe2V>t zh~LaD!Y91_ltWKEyPAfUunUmS%Ouc7EK;DCHRbZGMRi7%73vF{tDS1_V!`8Mj7`L*Pk!^^_!_Q{PkNz-l{Wud3_8pZimN;b>- zULkMl$lnVa)xgrl=F+d+mhR0Y8wASEnE=0)B%?I*lK7S8PS}{drYO!8c{0;?8#=j3OXp*wmKU|J z{P5=yFE6eA6JV1Mn$3irr+S!>gcn})vKy~*}a1kfVg2_ z9yE?By^e$?uy!IiD)0Y3>m$(qlAaSvk;>5-8p92Nd**Ctek! z(kEVEyzdciC~>@K*8({AMRu4%*r$TOKyM>fZ0d%Skk63hj{uQ!ppToqtwdQP5iwwK zt|7sK0=#APt7?xfQzmcI6M$vE_7PA{n{S=A7=Z z9nV835_Hw>yXkxLgG9w*Lsf!*lsW|c8s94w>rn%RNb`)ed0P81g=!aIwNv=q5oqud zcRyw(bRG@F#%H=P1+no-Tbq%nH^0d`LKn?zcCT)Nuw~OF;v-{V?5n6Lt6BV??L4nWm+KnVSet-wnO_|bIJCC z=G=RGx31pV{`i&>zF@*o#$3tFLSnb!%ajlrx6+zwq^7HsBu4Vd!mIo1d)S=&>-(1X0?K#S_iLMjpGSc9eh0r89)p*` zJ@pe8=YF<~Lyzvus4tQ=?<0dh#stADO?Ui$eDB!<9N$OZ9p4YHD>Bvp$K(4t1FhS~ zoNEbDc((m_A^+Q-AwK~W^2aNEdw&c0^7kP>UHR`JpYHdNkNeLd|M+hq|3bT<^1lfA z*8e|4e%)QjFZ)Z#AE*4EhI}d@!5LcZ+ZLq6yKJmiDF`{$5f0)%`4kwt37)5H6a z&pzbp?rbPh<5o##<%Y38H3~PRzf{{z9=`*rGipjrHJuvw8P~`Hwy$|!S5-exmTG&Z zrJq$C14ThVk{?{Yr$$|Ggxy6RemX{MLVn}T761F8giws^%G$UKqeevx@MO))a;Q!G zu@mq)3;U|52eX|@f+RM#^XbX?8<#lK_wX=@Z)LN#n^u!FS4q(}L1=swF7tad{%G#l z&iE7^zMa+FOpEIs8ox`GJ^r&nyJF6Tq&G3tkYlz8bh)0!NBYlU2RpmW178b@&bkq~ z+z)SJ`_rWx>n1obz(qc$+pu8thcoEcv#r8})$?;fK1YYH3+769W;>FQ~8Y0FMqP}(JjHX)ra1BdH*50$yLZ( zD0*Vbuy_D^jBZf#5^8`qdZFQ~CSRjJb_z?`Bfmm@7cMF_>X$gaz&6TJyJvcoaWL%Fo;x)Jk*5bz57VhyJNKG z3)d4jH^!PRGQF3}kCggmN#U{%uR@O{?RYEm_5OoI&dXu-{Mxu_rNtHa3>XeJ*&;SYw7J;P5xkdb2Wj36Y)xYCpWz}~q}m>mupe==dk9i=D?;NM#{&t_i=U4ut%@NEK7ziz$)li&xO zEK$z9m#0WJ&kx3Z0z?ALP4ElaSbPeUEdfWGlh*T4+L`P+&gu2nw#B@cC*_0uP*b*= zX#&I*1j)rqDc|u-C4wUmpCq^y}<$8qTPq((E>D}X9Zy!M` zCh;VzLBvh53BP3MZbq&9?fhO~Q1y}?OiU{5cp@fK@0FlWhxZ{tCrMmN=gRkWRGWV} zzDLG`Jq4!t0yFm1kNBsj*dDj|!^J}HO87d=Iz(eyg>wWck|uvCms%ng^{=5B6#4nDk3dEKkx(XOPMqW;`2YdVwxTFBlwQmc zuidI{4TBZkE?|rta&`swXmf+zVg4|F32*V{;(O2A`jzX=?nZfjQXuoIUfsp(m%(KprXHsB zk_kzA9$;)1z{FuZ_zTnlzShud1I)0;F3ba$&k-MnPzUc zYTj+>d5io`Y2y?-o9?#sgWRAk{mlKAeh}Ew_cT9j>5c1zH zr-P-sVa7pgdLryU*YtQL#gfTDmG9_o${64q_hR!=3;C?!PT%2E#-0Vp$Bfygcbxp= zI{AhlX6B)Ki&EFN#6*^;Rt#-T%~NU!!PBh63~`pY3OKg{Nwgg^eZOaXK6nQ!LC1|y z5GUVHt1Y0Rhp`UU5X8wh8S}RO_7ogT8VnuS(%UF&j^kMar}!U%Q~VtyiX3IB58}!m zXM+>cbwa2`Z$O&*L?m5c^G-v{UjeA@Pz|Uv*aM*`EjIekXZACesWi%23$|NsyZ2SF zESx?{rrAn-^aY=%rO(kI#G|eJ#JQGk_15N)yR>Z@b!od)E^GjoZ6(OJJ?T)+x-emj zpyc*N%O|wXsWwImv`#9g!LjbR!;_71;Iwm5@8W%9_do6FML~Od+50^`S^8i1^n9Q_ z{c%7HXityn2HMk;-|y)U88aOg?4niUiU##$j{xBvt6lx(p=RGSMScvgxbW3kAmlQM zT;2hj`b~6b!zICG_;)uAsmP$9eL_1IW|Kn6kB3>8@`mNBjyxfSGcyX_ObuIP$eu`q z#O}0T{#}jl63EKgvDpN6SL53$_}kvs_@^m%oc#M5AHmaQWyELdYk!dJ8Bgn_#f4a2 z`w9;=X62$$%%|lA89lDt#c8^Oa%1IQ7RUIQl{X9WVts#v{1ULu=g!JRwdwrfSTFx2 zuF?jV^hWR1m0 zI~ccXfQ)5;85p{KptzMjOvd;y;aF+(GxA zlE11zAcpj5qMP=GdK{c!T8UsxhH<=suCF7*L5@g5)2xI8b`+tjkVaFE7etJBAMgVu zJ+~&^abJp+o34+}AnCLDcnnLkN0WUnh$Y%(@4q=MRfG&mxTY3`Nxph?+w!B54Y1#x zA6k}mX{c4H|3slndz9VKPAXqNL@_u|jQw8bN01f9_v<5a6}7Mu-vr$*^-QCDhnOfd z^KZRp_-L9x>B-XPS9Q9FL`sygRy(l{(xIypD$!??a>&zJKWPWEt&x+23gt2|_eA4< zz0=nBsz{}^fR^>afKj&M05q+?mgt7wC0G@E38M~kxUyX#z=Rw-%*$jgRLyAPFF(g~Sf07<=)gSq6cHeUOYiKQuch7qqns{Dy`M3NST9Gqss%7zqF{2aMlkf3~^=Mo{nX9Ty@CX@S zFI`5dXgoaGnY}mPr3=+-R5vr$f0EfwgC(RntF$oc{0vy@mu=#C)(w9x>-&opuo~NQ zZ5jsbz)GSQhq)7A?l1GfS?(|Ml}ssmeqH9@WqW|FkN%MD_x>T%lPnQ)Vnk8{F7sBqU0_riRynEK(J~F`CqeBt7F@@%CnCUR+X)5m2W=fZ2BK#5q zZ<~<20vYc zAjc26ZPZ$10BaB7<7$qaHLVL^p1yHpp6Ec{FH+&}rsUHxr22 zy?+o?=qIIF=ChXrtUXDPwcaf159s%LAjK+xBEY!06zh4JAiRu6Mq4q2T_`$^uY5L3jBn z#YM>(GWpJsG7B7gb%~k5e9s}@W~u$IFo^<2k%SqY;A- zFURgtS4zcJ-ht4e%-pprG{=}mqs)Ik%fG08Qw{Y!yu`x*y9Z=FE;+UOs9+d%kuYeEn8u<}2b9v<}Ww9#gm)x6lyo`wlnhhi9ed@sE# z8u^R#j^_=_Y_pw4Qr~yvT&lO%-*&^9^g&;H)@&nId89@&^KPf|l!W-&MdJ)NMiT+C zB(}@#U@nN2rOPb*`s-Q4ger-%>O}$r3=Gb{)n9%e zO~tma_5J7ezV)uXui&bmVIQi!CSE!Et-2rlTXpY`;EzY012Lg9qu^1drRbP>f@*8K zYHghX&r8!0Tudv$_;MS&@G&y1;+LmE8Hvh!1K?T@)jd3P5XIN>X3bQje0&JQqrgW& zG`trdydGUcXqUlwWMY9A>)c2BWU*HQD!Q?ngyd~H2_8xC!T?LrTR`=W46VWoQSFlbPZp0bCSzR7Bb{53=3 znti@`3FH^S?taA~|4sFCg{ooS-F{;eG4%LZr8`hQ3)Z;OjGuvJPy0OcUQ5mOO=rAx zkwzQ+ttihzcCx{iHy63aD~|yu5G~)mDmWX#Ud{EMmS5|S8Y=5E!7`U)9SH9O;PtY2 zbBb!GR9sUktetfIQKWM81h6n7_J7#G>iFXb{$$)I)<;_#a4{rgnZw2LihEy;>eZ>u zkL>Lg!p-s6t1T65HxZss_`-@90iPm?JT-dZnKdyqUbdZU3=rr;|0jXo;p7D47zUYI zFpHynfq{p8NF$wfw9|D z2Kj@*(w(jTi*{mNim4w^-D`ktK`DosZYraAZvA}d?O$4}q}btJ@STO#`+;=z(hzsL zdb@Q#4P@P8AkyoY90PPc^hKEMo$dgdjjecindzO^A5yF-SbbY3p#l8IR#r;NDuxx3im1qfMfU9AlH|pkFJ>h`DyVHD~4Exa$yn4`S zKH>aVw<9_PeF$0^#>A%{>(x>kY`xx&MkN31;@-~7oY4_}(DA@l(o}{TLOGsj8Vw z^|WmmLQ7iYn@@_jrZkf-;g%GYFsfzfcRvPA#4)xy`zXAhbU*YW?UK|6Ed}9JJO!*P4ib z2=tV^DX+RBf*lO$Qtdv2JyVBVnUIi(%ui?4D|lhq+V*6r)kd2#viP+XbJpMhoJ|tN zPz)1?M-JKBC`7E ze{??5*V*8NH$;KgzN&?aMCJHYa2BhfBIA761(apIDP+=bFB61l8I`5J8z(O%5I##0 zRk}>^4ll)>s+pf5vY~ISnFq5Z()B>qvh9rxIgUm&NV>)j(5=HEA1t|-*U#I4uJR#7 zK)ZS!Kwb~p)l+r8{)v9MuiFHC?soNmmiBG7^*oT)IVpl$w?2Xfrr`T4b&xg22%={> zvZ}>k>v^=iR9H^Zi(ajgO<&s|MSS@tbJyBi0k-FvZX^gv1%_H2y z-YRR;uH44p>9WBEaB01eej>w8g}`*>hds@z6LrwcqR~h95?VMag0N=)%b?@_+Z&}A zlLXVbZ$|E>v;k-tB|nEJ|0wSDA8)YFB*>%?#!LH**}kIxSX4P3uk)!&&ix&17iSZ6 z0s_ew4c%YGJvpejPk`1jdDa9+PF8_r>MyTX(9qEnj{_rI@JDga1uE_Z%N~mR>WO3l z;5OgPYX5njy~nVg=R51~0d?967Y4@7Y&j`&-+_%i0@|;Q{gyR`?nq&(T!q!=o*@#_ z`T6B^c2(kb8B$SCIrqNjVb94F&%cx#nLW8tM4l)KAI>vDFVOiygL-D>$aj75!?3z{ z<|ScFXkDSD2w{Ia7*z4L!_eti zTmeVNowV{&p`#n5u|IiYkeAF>PC2ZHX>{b)T+*#I81bO7$H`nLsZz^oh`#M_v35^_ z6LT!pE4$O!2N&&mSM#XIc@hH}`!JJnrTvy|ib@8J^q!2L?u@ghTTbI^%?Xtc!%E4GrY(X}ei zwyrPRuvDjxJmOzdJvCsz6Dx8z#Ds|7a$`SnlsN!jP&(y(HX>$u-Y?c%;P6?G+|fZE zQ=00m!q^2rBj3&5l>wJ=KXUMXW`FTTJq>H*lm^AGaD~hA`AyfmEHuAQGNX}+&Bzzn zH@Xg!Z{XiO*AgBJq2@qjse~~Ifd8F<#e!ly^-JXK-c*FG5N!e$w7W3 zicyAhnl4tv#w)y3j|RkyJeaJ3BwwaqXjtuC>1CHS7K#qmb9i-3MlF+4^|v=!Xo%Eq4+Zsn_q8=IUhZ5tJUm0=M|zEF!o#*Rvz+{#Mh=Rh8V!?{EP5 zo#jBu7%??mLM!i&QK*ZL+`GZAwnFLqU4*Zh7tf=Z$F+{WSC<928#y+e{MaKfe>-uT z(f1OpPlgS^<^xe)9f#4C&+$_@=5nmKJf2RJ{5@an`?M7e;e7;{XVkq z{$pg1@%NFv+yCjvo-+0Kk$s`e|7K+0dHic+kMwUx_CEjHkv+a`qvQzkBole)vMn)x+)_x}24NXX4E&*Dvb zOcca26IIV9^#c}D-{-uh@OZC0o)`SoFHB5pS{5!|3_nmqRPwVN$Y1|Nj%WKckYwPo zNn_|g9O4W73>Azk?e^sU^Edx7D8l%R0jHZL`?gr-gosVL4zdsUA@B}UA+Mm zJ_kC@oInWiDB?kqj3ydc1uHyFnP<7cPsCd3Wkf-I+~eR6;C6_<#2=D*<=Jrx;7!15 zI?9@g%|#KQCOt_SNFYpHW;}`pN^q=I{x6#PlK*Z~53}@dn))YbEr0@#6Z&a+2XOw* zo)T#63SSd-!AlFe#<#*#1+MYUB15J87(T@D`4BuN)W*{GTNSv>*`Mn|ZIkcuMdiYJ zY()d+4k+-T_){@B)e6_a%5VS;SdYh|JpQR97jdh`*2)i+mkH@L$ScL#a z`%@@Mv+5)9BsV2B@Uvrqy`A;;O$3vd$=|5cd9bfNPgR`)FCa-rDJv-rgHER_T3X@E znu%b`5PzQGGW=H^J#vQ)`zKBi9*>7#3tY_iQ5n4!cm*6nvAh5LO}7^)$3F!6)4{Bm zAlBW<>16dA*2^0N#6m82?rJE8a`Rv-&1mn`m4piHJs zdX7zE{*mI=KMMM9emkk>|B&YeFD;1tWz3&K1qcCm`2LT6&auhCS_A#OA-F|KJ%%P6 zF$c1QA47I52JWse%zC{hVj*MI{pNn>8_tZ?{u)QDJ-3VPv8U^WKli)Z#`%VeRjCjV zEI-xNtCCHZPbHU3fygJNM0FEUWRc598+YC4&-EV#BJoAH1g!CWI7;w;&-0|U zCMAD6!!O1v9FAI7`uWCB5T`tBD>*RzTVGwI zu5rDIsQlg@H=D-jyg%l^gpKbRyAQRi*~K6FwpH;Cb>C5T%m*t9T;U60NaLEt@16bG z%}=!av9V9(&OkX$4PPL1N5$aPM5vP!@^DZAQ&L2R!iRDmB8rFQ&U9Yn3np5``vj-e zgsp4gt_|$#O;V-3%nUc( zti1>75jPtk+B^re+R$5^4<6~fB5TD;g_UEpP-A|Prl%8xhDbZnFbKN8&j%k}moUJucgG=XLoGM`WkM{U^PWsRK$)TajAZQP~Q{d&tiT(mn z{${=lJ=`0IGdTYTs;EyO!G#;NXU4bv6VUa&F_7c)?{a((kmD^K@2>BCoPZo()B{}K zm;AcEe-DcB8RSW9+Xa0W2ftVIK@ftuKXjs>n{|+8+1a^LKK7{qK=;98$ZNWH2l&*7 zPA}%YtZaj=?+)=cO{__BTc|KjiO-cN`k<4#glAlBxyLVU!BedHK@s?P) zq}L(C#iBR1R6NveP4B!{feJop1!RmP7C-Cav!7gkZ2N}{&v%#M zKf|%|?|;t0{FUKv?lL^(YaqktOP95A^#;>#gEBnxLx!*YPZ>V=KEspC{o4#5|JQ-N z{e6aqOkA}Y(a6gkzdhg52vv^?YlLA_hgYAQyE<7Y9NXt$OY42R|GEB}?BBBT1d70{ zu%_;s`A8I4JHj@;0_fP=eEF%sY-RmOKar2S8Di$ORpWfEE!Qt-sOEAah6nOFv{~Jc zKh`o#jRt%W7`IBQdhEVTH|*c~J?H(mK1~=$M1#%R)-Iiabyr8&tUgaVdfPV@1kmI_#PXeh==PMCH>5XovhZWavm%O{;x%RZn|d>dc^v3JMEbNz#l7n=emB*zmm+f;`&m-2;j#ExP8D*(w5it}I{LgL5Oj1Q+} zg9RFR-@68$nY^ws2TDf|Y(OMP;mg-(rfECaLFCnLvCrQY=$udHg+pa!RGl8#dk-NI z|EPP6tQVlaS>DMhReXEBHQGdCa0@@w{M@~{k>PARWU<`*#s!b|;K`H1Cl}s9hRrX{ z8Q~O)UWgsp!+ub~I7`EOWX)3_fHj_O^5{8EiK5X{>ZFwyZK_s~ZX!_F7vis1D$nCe zjv`EAe9zH*uax)-mkLHIo`3n4BbkN0)LVUiyY)`ldYZk)HCZE7c9ctUt69wJFy{5p z>v@yyj9A?)St^w@-Hzxkv|J@A#oJQ^GxXOq80A7GgQssLX}sFp8oa$x&fe5yHDO_~ zbkVG+kYRK-GB}P0u?JkKB$LN6`n|-Sj^SG80A1=2JzVOu-I#oxu@e<;)?O6XFU+xq zF~f^h{&4s$v(sJlN{cS(-DbnKC%TOj|V#(z0 z#n*}D_G^VV@xT}#AM03n&{%Gb52t$CczCM5<>QZX94 zvo=Z+h65b_6-B{J>_`SPZh{BaNgQEIcz2FFT;k)|trv3OJ7h0`DJb$Pa4 zWpihRCEv0xn?!BD{;tcjpNvtK0kVI*^ZM`EKliunkBh+*`}svDar^pq-*fe$ZOn65 zK$q9(2h!!;t?*BOt?&<+;jY(q=j(q4p$r2nd=EKdy(wgj7O(c#*z2GJeJ^U`KM(W= zfCGKAY`r%=tL_*+k$(a~n+V~R z?U@=k`>6RGSE)|Am&n0#FE)|WYg}!Jko-RW2PqNbqq;;yT0ZV+Rd&XWr@f~CD4`1F+xYRGk-r)mdkL@?c-pOx_J;h0G5M!^3x*X}g%zpwf z_D=p3-`_L#sP7qj5jR`*qBzU|SpPaglOq#g?5*z5WrGO$Y`+uo>rc}pkxFoN-Dw)= zPwoi$JVqw=*n){JnrFCOUeME+6Uf1jgPZNVw++0uyGm+A83&I@IIHcu@0R!>e|GuK zz!LweQe5%&#;U^8{9CT?S(g;OfL_x9KlwIhXh;D`*S`pTnG zan|nmepP;2BCC80c+Iegx8NhtDnd|O#C;nhORJ)oR!YHGTB>o{R&z3{oxt6xJPX!q zPJyEV;$KUA_}f6B&R@^~)%pAeHi0*RIgp~AhS-|(5gKr%CeE!*SenCeSY0KxAIdaO zJV{iDG_|Z|9R4ZuQ$T>U_uPQ?9{Nx1{nGpYLVHj4oA$mVi*)dJ?Y*l5R;Ak2D;WBM zl~W*THGs7D(JpP$Jko&n9vf8T|E|6Nv&dHhZSV~-8aYKCwSbR)o5@V!%teXjSQGgW zzNATuTatoJw)uOH4{l}1T^9CqHw2MSqFfEOS%;Arh7(xelS46-EJ3KmJiE?B>Am7xBG;p;gbl_#X1d_@Cl?i3jmLH$h_h4cP1Bl;fHd z+Bx%Sc$7UvN>nJ7KbZK~TvTI_N2+w3ZwMxQ50tk24)Im1q#f-mh9fpK9a2KDM1Mq_ zDpRzDy;1Uz)dDbk_fUL-#md^hK=CO-`+HWGo1JXMM(M^|`0MyoHe3zJxCwjERX!i# zbAuc_c0`7m)#?E|3Mb>+N16+VIcK(j+t2M=cxdR5WgisUDl-T z2|>oG*RR+QNhMQHXU{LVq=5C$F9U>|i#Zjcp zLH$dU|Mv;LaVZruNRxM&#)&OZpGOYPxraXzva7`76#J+&L^^=PlPRZKN+e5%*or8v z^+9uIO|_`C0sk8wKdBCc*SqPgHP9G5xEJ4>1PE`faNgnd)RPky@DYu=2H&3rcH{UX zc`=&0qCyNEPD_8~4VotB;yz8qf<$fYZ1aE}GwDbShkX7j6!Q73?}g2j#J@!Ui7Y%= zj-1WVKuM_Np;!AvcMZM|(BLyw@qG2%Az>ZZZiB9=j6z4<5;sjTeGmDnTLwUb!dA1FLH_x&M`5+Or z84>D}kD)1xFBJS3{5(&ZgqgZis~x7a&H_kG9gm|R@fly&1&%~l3{4bVDsH{Xk? zU*hS)vOa;$1K9W+0~K}xs;BXrFgvzyPBDp)lc%t>Vl0-fX7aLiCrDVEDjZ<6f6xAJ z5!cLyKzRHR=7$>pqC=SisPWZ-8ejdc#%H+O-g71gG$p!VV?V-3Y|4f8FAgy&uKwZy zB_aC-9)m+_d>Ac`1EwainGf%LFJjjKRrE8Sd81oA>sLFb=#X-vu4%saFTEqU=*;(3 zRHTJ+0Jh$K4W6*dv(33fb7@vOPa?hY7;uQKANrK6fZ`6cyx$*Ew~swWGn4V4z(l1H zp9y{~L8(`<4clR#=zyR8F>OqX0jXudw1KHeX1 zKn9iZF-uoLvfgxD_M8O(*wf*GeF*^eKCJEE0rvWwEGB1?#0XcUJ*sLb<|lRa-W|5U z`JG!G^^aK<@$pHT%c_YjHKPctb0u8LcwV5Qg0g?6c-E(1*5sPf{c7gu zk}oFJQ)Ly_yVRY=$}a09@k)Qq{&MymA}cR;|IGdbsrF_qig1T_*&pX$vj10eB)`7> zyfgjA$h))r%DJnwGskxTCSL`>f+K7u6u$Bu( zMy79FP6}bnyZm^rYPBHLX?NWkYl?vSKE$wILBf;a_)B_GY9*C?jTU%EMW!_smmXyVBZ|KXdfq2Y%U4Q%I@OIMAET9(v zDi`5QFcnIqH~PrYpS;JuW7691y&dQqnR=-mVW1c<4lgxnT>C!P2d!y?uW>X>wJZQ( zlHUaT!(jwZk4qHH0!>xyNJ_D|HpWrFlO8iob+|iJJ}0(4fXb)g#h%dgW*A-g`lw=t zDF5Rdj4$GGA%eYesQ%&0Dl|A?HiOz9-_x{$F}B13WBa#563F)JrMIkB(ScJ#)K$3A zg(%=_iN*BdFWwcrnzQ!0cJJ3XrLo#K=UI0>TD?N3pP#2vzg+DVUf^=J+(CvcI;Bal z?u(bcU)w`^HQcZ5zl-m*oNp7oYX;W#l97Ue1~^DKbXDMu&wumWyM-xB5Gi<-NuaV z2bE5FGDG5KGZ|~N=ivn8mi@^gFMYpf8JlyVWWTD6U7hGD`4g4zc%jzFBNM>|B{tE`(-wf_b;Vfc|-@<#KL(|EV<-8Gv~ zDkdk*Mo2eH=z4GPo#(Ev5e@yFf^`k8YvkbehE(v}!`QwiSrHi9AC|5q@Nkwj`q&%w1o8kNrYYab7j3Hc8`#IBz?L@|(5TwsN z!f{$c06P4Z>WTn+QzXwJKk?O${O+8ea>jU@bml{Mw z4jOW~DN^gC_qhWf9x(X`2B*Uo#06~^o0E5#e8z()ByJLhc#8OA(3(Oup%ensq-?mX%%Hd;-J48cxbg-U~HTeAQa%EF1$`*RmO} z2wZ&nN*7pmT!^F(~`i*FU=^7JW~N!OchvdX^}^k@^Z= zTXH(MTv|bI>%|4K4A}Kx6Z?S2baE|9Cl&fl^^(Kp4$Ihwn*-Ve%)Rap>0WI%Y4LNB zcbNPb+lJpT`NlA34tJRRv3pFuJqVLu3&P|dJ%9WMCcgo-LvWE)(SA?)6#&yybsPu* zHTc_NK!eW@YVcLe9~%6O8m0RNpBCw)ne43Aq$i&ubEvPk-lkM={|(CsDF$zO{-(Te zNUKO@v1zW4WF}Hzvbf~urEs9ZUwcfyeiC@aO^Q%4FHk)7V7YUCu-rXA|KxLXc)F{8 z)b6(qSnir~!7!A^X)DEpy#xQ${zC;vCu`GA#y;Y&VckXw`#wBt;x|A>?QRV z<^A#>%6kw@kMkEyZ{|;!-r569&+Ipt-j)%^A27Yb5?27G2d0D1c*oLnO3hL==pXi+ zL}7`$QDV6E{Ib6IPNsk>@e{tRg5X8zJh5qQd8=kk^AU{qdbHVkbzE(2LIrS;Kl}SZ z{>i@{&S5%Y|0z=GzPueGe~)l0sh1% ziz2y5*akBHy3HQ))){#s#j?DRs=qq+T`-;VYh`3da4crF(CcqBwK}ee_;1K$-5Mf= z)lR#MS`xp%GJmTh7iqW!8rVN9?YX&vROxO&%KL-M>`KD?B#gEzo#VO{}StRK?0V4gSW<<$_I?(T{UV23WoG! zV)C{I&KFP8qWR#1ul9&mez)884=e+AyR-GtE9j;o#hc6Q{yDBzkll_IWVds=uC-sw z;o+5iWmr#l-`_)W3BUt1J@DrAVSuLR0HWy~gI&k;AVAOl|GtkaqX@xO$?QX z5wHQGJj6H40A$|@Czlq8Xm|uejTQ)#$5@)DsExB9AN`uw13PH*&dGRz7hmrdX0f7{mytnT3(N1pOIUm^tpfI8c}W;Vt+sg_5BrPxddwU8^RG^ zXg(w#u>oOk!bZcdk{}gO3&7G7A^i$?M|)fZcPp*5eVGuAnlrq3Y01KQz_h|@`;*N z)n|RMLNqc(u;J0mKr!)~Mka2}xkb$%OA~(8nAF2Tl$_LrhB&zFos=^&pmt<5UM^scnlkf+t zW!R4jnR&j42I`V{?O&I{RR@jnRu1E=&xMNd7SR=ZR=h?2PO(NBJjf(Gj-{?^6Eesp zkp7DHDos5kw^} zU)R|_Nve|+Y?Z?XZv}D#V!FmfE5*Zit+^CZMo&X#36EPH=y3-hip7yuT@B@|!UPJL zg4Q64VkRU3gkCC^6+{Km47K?CsMA%Yh3pB4u_K@E!D}z~ z&c68o^>LImYf`)eAKCnhP|fN^0-r>3-Z5LyLkS|4_D+)&ZzRxl*KLkZ#rCdw3e54< zcq|LO&u7R`1Y=-9CU0KXYvchzK5f9N2sUGI<&)2BI|d1sYLRO~K33ms6u894Rr*ol zFNc((0VRG7P~z9zmiU^tCBFS5bRTEpqsK@U0zRx^Jd2_*K3E)`Q)&v0=w{z~Jz&Va z#!T=(> zpTB#nv_e0Gqi~Y!?p$Jp@a?r)>=+}j2lWJXo8MUMN&ZA4i^kN}P6>B2%{{bCFaH-Y zpRvQ@7?B)?K_?{z4-1z{%>l^{A8T!|(&~|DJ=@9@eY;t*!)BHXu*s)TK3dRwOiTR5 zFbHGFcAiz*WW}Fkj;X~lZY%xKZI=)0KW+=|^7|qkv5>mFzTZ#^7fU&UyL^mclTfz> zhk01@m(Kx~-j1`c>8ap}wD74(t|$_AWZQe`jwPyDt<}B~;Ld)rCy-T{e z|MnJ{A2gBVkju~8Ox*=hOgU0$WDP#GZ%lc!^b-5V6`m;A42HElqqX7#a>S>+(Q!i9 z+KdX_;%h(ft^EaGCpK_v&l#o;zO}a*^OpFs2(c>TLBSEVYg$%Tz_#Gi;=%=<M>S!?Ov92f7z(so1sKs`i#BHHz8?soq-(KLI0Y#4 zyT$`*E8n`G+ADYh@#5mxJ*Sgvn!?~@I zxxA+|F&rOMJvbX3g zSll28vby{>x&97+_9!6;py^GzP?f13=B2=~n6D-^eS9>J9@gmhD!ejM-U3kH)jX~x zBDmh$^+Rwduf4e1tiP@Ek2LnFK#iJ1ck23C`b1&R*npb;$VZ=W%({J5lZ?wmJ$f*7 zR2^z5*gz>BtU06eB`MM3udbi>f?;|GNiR3dFi)5RM4&i~m3j9rx|9u7@d5Q+b(eaY zznD^05Xra>Mvbn;JZ)rndQYlxC#_Zuryri=MwY!FZ(QIv+-}{p#PP>Aqs5Kd%f;Wx zgg&zXnLgo@-j7UQ?g!5FRius8Cvr_~E%n%^bY4TwyP1{`GLTGzy2jP3EbO|5omkym&^278pzNC2As6HBT<&2`85zG7%uI=U25-k~{zD zzB}KBOWzV`G$Q}j{Xj}dBJ3nl^XBW}I9HI`<+O|wK^@x-|L#d8a9!_M`hvAzBeABX zaf=IaE%9LWo$Qf#y5NmRYN3!PUDpfx!^j#-Hx5xu%Sa;Uccc-ED#8MOh~|yEZy^NS zDc@f*6UfJKNA;Eva(oC+qUzMEAZP`+ufK=!P!qVXPvWp#`rN~qC_~G2EwG4c zz5R{R|43pE?PCt71g(3Y+i3`(uD`m7r6#btdUda`4ZZv8X1=f(U6s|ldy6&Iq`f9YbjaUTufU@82>mO$T_x05og%z;NXW?-)hg^q{j86OEzDsCBUKj~mg0f3D`I|E8Kx`(Li+asQ^8xB9< z98GjB=`r?5OdW+LE3V$`SN+sVwa>tXJ*I{G+0o(rQsFKSh$J+2oFKdJ)xEssC{qUx zS-kMM&xu;kPz+^fQ>#}aIi_Goed#5#J?4#+DPG%y*?AbK+_*4wDAy&{B74j!z&-bT zC*fzlJz_agc$lxtUKj6f#q~*l5Z8YZU}p|DC*<;fek@CrWanqo!CQ?t^rcFG-SIRW z1+2yEhp)NfB}!76B}{@?AdK_;UJ^1eIc)QNo*@ZKk|j<ioq$B=YSHLmvFF1SneoZwWi-viF{B3}PHnVv#;%6wrH#IOXB&Kl;|_qhK) z>&^DiXhTDy(fl-+od=g4Yj#)61O7YsUFogxlI8QFg&FHZQMgAR)2V8^5I@D5MzN$+ z3aawPJ*G^An$XNp_%<=cn=1-RtCC6_{n&Bqzr&(wuApyQu1&89Wh0!)F{UQk?qRn9 zDcAbr2#C+uH#ZPd;kD)X1ED^Z!>4Z@oelcMR50Bv4lJ9zrW@|leXV-f7c^DNkH zoIxl=mWf@;2`xUlRstQjKX zoNRtNNOYdeUoVM`S_#M0Vz6GCNa-m-92@@)lP^?w`FQ5b%;9S$swW6-<~{igmF+V) z)+RmM(9bGYN_N>CjA$C%oi6r!yVpmvmr2~t9lHvaUz~1!@K)^R{&IA2CG`A#P5P#8 zFS53<+XSCmjt2bKa00tvdYs_C7tWTvOq?3AUOO2avh#@q5BX7iRjKqKMF9ogk6k{t z4osxLyAQ4-4i=Ii9j^O8tbZP$O>8QQmjq`u@_@f}M-nW-!v`dI@PX-KW<>mJo^R1w zV+1xOkVrT=u@?TETGQyWp~DmZjrY}O0Y`%ZYeo+0aF9e6 z^h5lv_kBz9k5XSM@LtG0(n|OQQR9EKP5Tt<=aD^5f>R)Kxmp==O2fs*=- zU<@E;*qQ1;FIDdms$&K>F~N;vsp(pVG;wiw1Ftn|Yv*&`g%$-99jNO|`4=4rM=bU_ zU_}1+Yy$^f0i3vKRXJFG5NS<$pXF~FyqNE@zh2tUe~#;%_9oJJ5uzy>Y-I3fuM_B{~+{vV%W{q)!4Ksz76Rj4(e5$qanajX6Z0J{tZg`WYH7j26JiZ)JN7n;DvXwkM9C zbRi32>dzkb7V>_;wzcIv;IE&bd3#&XV+inE9#DcHn;qnNq(L;z%=W7=F|!eH3>UH- zR495N{4-)INo*3!Fib#Q4^;C>6TByOa)7%2BXXIPS*i#dmG<2zAH2@rVN;!bvyXYj z=(KOWH(KN5xPR4aLEt8_v#a@)lL;(hI3Jd;_H80~!~4z<4VnclAV^$9)++v9;)B=k zjmz_}hDJ{^g;V~U#neN^3Fb3MxMxjys{xjqw$5?1sIf_L$A^75eQk|Gl@p;IHMpAV!Iqc1j8z))pmp1w|RPl`pN2KpCsH0gM1*g+ksBdV2g5+g2matk72(@AJ5V{PXP`)<1C;Y1t5S4aRn56d9qTy(?6HdY<;N(69V|4Oou?c8_C z6Z7+n!Sz~)$*ox5RYzW`Ha9UAE@U2e^&D!z_a|@YCiV1nkQ4o?gh{CNuQAfm4DHZ zB@R-EO3P;|b`*GcaV3A*;l^|e#y77!6WTwlX4bDRBMzDCR{@}T%s;^RfkI-8Cxw`A z$yaWM=Z6w9<>bapDeu7eD<;nFtH_EkQ)PaF@&5;-d@>(4L>%kr6SsDey68lwiO5l({DZ~X5-L2 zNQF*tgCPmSe6lv0Z8;+Tv{|3$X=cTxQ9Kx#cf|2=WV&FdJV^QTG#_5VGxvStFhUEk z$DVytJ-8Tug*H?zNab5-oo9_Ge<-8(C!!h;T-MpW%zFX}UAlN=K7^md9jWVDigG#O z=07Ym_zj76T|{>1^?ekFD>&k!uoIIr0nz23yO-#*?^^G}=rQ=eMs5a7_V-d=P`W9K zLr1-b)?ZC!vKH#buYFYZu-q7ktIg)AB50gDT?%Q~V z8w~zPlVUxH0ioNe{-n{_doT?D&;5Kb(9dVz_4719KkxP*_48f-*v~iq*3TpU-p}hD zOuI;`od4d>zuUi8{KtNt+rM~yA^b0K-daP52F6Sx*(S*%C@%5;M{yqN|4p1P|2@tZ z!n>+7|J=e7?$MT@ov^_C4_#QdJhE11^nf5!I9buOE%y>MZ z3lrP=81;uxUEz=5yR~p^ZfuP6+LOtn$@H?taB5L)hHy8J3^}Roh$<+3d|X0n1vg$~ zVmjNr=~vy0;C{HvB7cv6BleUNMSS)Q9RTK`ju{8t0rRX70brigW0YF`d)&!0?b+Rp zsVzE;nNo~vA7k#BvC4O^8TH5g-V-AVuH6%;vZ>w2jlJHEZv{J zD2jT)q-3r6U1$TwLW+xa5u5CRg%5wYECDK2@1Srm)5(k$m4W|RF9L~sGGtesc+2Qm zaruQ_yw%u{NH+~u)!_b{ZY7G2Zo2BDuvnFE(%#-HSp@Cc;ne}c5sQh*1(V}vT}Z}N zJX2MyLt>ear_u?>%6gSAUMjRpr|+V{4iF#*LnD8_s=BbuBVI`12(8?a)-_wF``WAm zS!l{i1x&H4H)yJm6~Dp0R#^+O6?3LUFe=wF-YK{92&?>{9b&B4OUo0{o$qjRF9)~o zsdE&PfIDLZ&Ov&#QLcRXHlnup6Ye**H_4;ARpJ#P(CU{v11L7L1%k_$6wBqg4>OM1 z?W3ibXW@lE1u49&5MW>$AJQUF^J?g>=m`X~@Mk1geqrHD|H8tbN}-yM>?qzUHJ>;}ao-xvpO~Z|{Jv(0Wm&o6g;hI)JC=*q`T-pEQ%zjZ8dV~B2Fc0qzn1}rX zn70Nf?|uODxCrimdA7d*^9+6m<~dnKZ+o`_EWHH6AHKW4>F7}^Y7T5(+leaN-{^Pq zk757=^a&8Mu?CmArG#28en3Y_p%)`FmI!Df-esly+Fd^tspA9PQE>;GBYw?0<;t zfrWk8zs~XHzU@TmcOrX~VPIsRhEyi>dyuDYt{4j1?f-Y`fh5EseT+;f_DH#{n{Mw z;+=|J+c`T&s(8kw3oy0+7X8(SJwSNh0?e7!4e&um#NDSjC<(t1d`#zk;r_dBN z+b9CsiU{{pS~q?$;(dQ&T->7tzE7xk1pHeRe)5MeG_h{`!?|b39-4)hCo(B@j(#+2 zfWifgci+ph?|b1s|InlJyFbR)N;6-02S4<`GV}0nA^7}1A^2IffbI_eBZ}WTucSZk z8@0bd;Bz%v*#7~6FJJa?CC%*ga#p6$EyeBT(K(BN1#>+deev$?jlJ8!4pKC*n#5nwS1#|(!w_4hE@8fKxMY8B0jXN{4ic#8@B|?mje;FC<$pw<4skl zzt!@#82-E)R%$F8v?JLMPd+rhabvx(0{PkuheVAqvg67VcA|aj@``g!y+TiTu`hQh zu$#lmOzaS5PdA_r^zun#K!6tn0{mMbz?%XAofF~}fRw$D=he8Tg>Mb-&fC9NLo^c;v;_4&n#b_BMHl0X^M=6wM znZ>xR$yf-lNt}og!bvMNaYhq)i!qQF@E~fQPyu*6QVL-#$UHmz3Nr4$l=2n$K@Zv8 zvmX<0OoU@c7pDrJejrVPb2;^1V@Z>!<)fT-vaWW z38%nXy8;5>#Mjl_I#?(ejZEV?&j}8N2TlBAFFjryr2_E@v*bW6!=_`i3LRE^d1f5H z1yeOj!KGnir;13HKK}5DuwAG*;FE#0-RsIn-{&+ubN0By9BAW1*hL~(TRlM_N-aa{ z7kr%6spya7ls8?{Ny-|vU%~>JgP}v=kzgp9|8(KkEUBC%Bz*xI(1BezPM;PjYWu6& zm@#>)4Z~;e9VAdl@)vA&&nn4rV;jlJbg>C}Lp;`Pt#hCKvaAnzDntoL?MPT8W{?CW zDNE&px}x5Wd#X?xyu{Ha7ybBWm>DuI}Yx#Z1{WqlKPS2g+jxn9=24_s56z;YGVWs8 ztX&Vjs-HJ`*=XFk*cc`Jm-v3StiOxzzc1^7_!*@DT$?IFxo>OAGocMjCO1>_}>gZ1n;hr2+Z>VBb=u7C$=Fes7 zKR2>mdfkT|wQoyj1u}Jjb$rTnbj*`dx7CDuuz-4F9_OLdUGueY#{|FdkXY5?kvySf z-R8Q|KLMm4H^QD z^?mT2y-=`1S8+uMq>yN#r-I_pz0VRUw#mQhO4^3;_I~oiZ#T}@ z)dmqk?iXUa=`3rS>sQx``%^3y%=gwNgRJeb9O?`f60PT49(>X;idrWq`cThwN4l?F zrcL~cGV}-_-OrJVWjMqPhA(*G?l}`T4rq!~HS~5wWuoerQg=#I=w;ty#4nVc{)Kd( z7Oo2O+#aPn$|PDA@1}WKoof2VvJ+Sxuu4mW&ZC&5+59|8F|AlqE=6`uzANIe!u1EdP*7bfb ze_z*6I}G^l-p=d!|7KpV^xvM>v;Wh){=*;U_06~Qdj2n8szguV(wd{cs&GhPdrQOR zNtfICkJ)Wlk`(sRTrxkIZVRlb_6-+RQT(SH`OqVK;i%X1ZPS`=SDdG(TNkL!0ZS`K z9Ul*4pq{cl!JR`vhtFW4C7%d}#(Bw-Q&6=WYR6|w)H6g$=zxO}IH``7*x)JDFYP_w z_C?cf2c%&w<{o#as;49Nwc*{9qW#Q+aO?DU zFcCIZFPgs=!MxH6uM<2jJ<%xp$YW$s&9eMNCSvcnv-B6KTL<$1r4vs3a1A4Ug64_}u2$A++(#BDUcAYQ+@# z>$S(LQfAh=Je2qK?6|Kn4NDswl#Y(y5Z5Z#vcyIKSKY4`3&yH4qykEa*(9X?wW( zyR~5oNo4OBDGb74E5Tzb5kT#?$VEjKT;U5Wy(7QfBH)sfnrLEO|Cry~zg`2!^4m>@sC91ZiRs6{vAhHLSf1NrIuKSK^SshP5znwL>CO5^`QkM{GZa5XTGB@}k|Gjpe#zP$6CTq5Il%?1 z4KzLs3&o|HJwn(2N)ey_thSU0xmTR#BNUNOw`7$zJANoX-J@Vu8Zgk3hD8O zDwGtqgr5q#*(T+NwlogwIs+N0)1|BD45i!1@1>C&zpMEtcAd$#{=AVV`>)){!*Eyi z?OppmA24Jx6k0)Qg(Hfq;08hV?NL+Me(&*D+FYOUhtlF0ag;;~;5AM0zCDp&ldhC0 zrUkHhlJw^t_KQ9c+O;1E$bB%h6F97)x_3mq<7no%DhVDh^O9+l*=mvbI3g;?l>QH0 z$%jdAV8FR|LQ19aA$U zypo3jU&+IW{LOMm+%De-Y_3}7vG6Z=KcY5Z!*2#@Q~gAw-`?-@`o5N z=NUyzh@k)bjr`bmOxky&+y*ZsBx7D2Os%Dwu~krMZ+rKA&|@jHZK!ga*MPUxgk0nm z43LVOXXQHC1X}oj7HaCx%7~EnX{0Bxn+CkLan0H+cgW11BehJj$_KP(kA64Jv`F+N zE+*K8tpz@!*i#A6-dc%ASyj1dglalDC)!$QD$6j^LY5ewpb{3PN3Hq|Qz@RZGcOc8 z;@JEnAK@Y5aTNH74lV!PqJGffc2TbbUeu3+7xgkf7WJl*95Iky=Vq8v&bg((a`{4y&Fm1ladlKE}}DL~~S)KX6AxDctfAOr}qKa!8LA1-o%0 zAFP>hAbK_*Pm?u{ch$V#h&YpD2;lK%F2rS-aeuV%;p`=#;a^&Kf2-?Wa?n87-<`-$ z*g2J>2%(u+_x@VLzgBNVwRQ_##Gm=I31IGo6Da2NXCP(CXqc0YTq}*vd?wfKn|;u24c|_V zS#mG?1*ON|)$rlU%Rg)QKAlgx^0l6ERGG?88WBEY-Y)8;e=h2&`5@nd7xi9_nYWAj zUac8z|L}e#M38ZnsXv-PpN6SPH-57!f>36);H2n-&k1~_t>*8K*$QJ`aetP#WLB5YdZ|yHZp7J~ z9>^ZWPtq5An9I4)78op1@;srKwN2JShu+iSo573wt*WFjxe(rCyk?9i9$L%!*o;Vq0r4Qq__IO8SQtzUo6&xU+^a z#&6KK3s=rm?W8~yx{833-e}-z_+v4SbMnjhaC~y3y?XP$`$taCA7f0T-D>MZG}3H7 z-f8P-z}h;@L_k~j9njXnXYRP%)1MhbFew+wCUA@7ES!lJg`Z=DC6F;+8rIhu z&}Mi)ME3sVrGzi@4{e%sVXUB!FyfhuAKPX zD!TJD8?VZ&$C&#_58ra|6N%>Z!$+?grmx03o6|>^wp?!dMDX-OtY~B|7;jBXxia>$ znrx)6Upa&_RJz%N_5o1q{c!D`a5L94uB?g?d;Rzwuj~tpnZL(cEaZ78G2=Y~ zfatT|V{Wx|rFnVtf_DEg^DSr_FYDB4YdL;iFG(!>OpAHgg*hd}fnD2fn3zV^`{MPTO;IV*l<; z{^74@@@m$%XYxkiGx?C8XYz|*41PxW->r4T%D0R9(A!1*drMCKuwPmCGLMIfJ#C;j z*fNU!?`@Pl%iw?;S_zl#!yo$6;%{R}ILqtAJ+TdcZ=+`uZUY7c--MJAYv$9JoRtnA zw$Tcn#xK&|YU@BOME^mQ=O6mtkMiAbs(;tf8-R86H+CDFUp4!lA8eymF`0A^cZZPF zO%upT|K7p}$-df+NxBQXCEe}clJ1BNSk<8n2$M0_v5Dhm)ZM~=8+8YWUQiSR(Q4puZ2Mk#T6%;`p@WWWm0snd zaxNW`2w;IiDQ%hc5E!gNdHv~OnO_e$NxB3uB;duPZl||9lL(;6)7)OjgP^D*uhZp; z46Qyv9QXMKNL2%Vbv4Lsf20=yrZ#GfFxdKecJ48QfVb{i%e0`ls(lqF!NhcjZ3+Om zWAfC+e}yT%gG<&40tYb7y21SZUPuSYZC@TcJDn%9)<`0!byT7u>+_ zlMMqFdJt=XiY-AN{BHl-!KM>A@Rhv4Fgqh~C7(bUe{Dg|XP4cJ{w=(K6U10#PbG-& zw@_aduJ2utKpEiCGC<^ohf5HPsx6EF)9${&cTR`(6MKLYLPV8QrUxMRKWO*I%gClxK8HMWTo-{cbliI}j?6j|&vod&Vr#;slURyd z`kl~cXp7_$QB!3TGJ`tHj$VLl{8;2vXzs#%NAu+kmKzY}mE)4V5dq#E;w|rPkvobo z=+f|b$?~&K!T~`CWV7!JaX1*Wjtz03k0z2*={w!!@9X->{G zP?r?tp{1z`Z3Z07zX%n_0=`^7zGcpC%#~`VLJh$hmv}Bm1sWPI?uXO>KEFBqQ ziwYT8Wzp^CXwEv4aUm18ta}%u=hj~H4~3@WnBhU?tp<_Wao_0UbmeC*;~wDX&-|Hn z&-y{$0g%v#0up*`L>(Uj@mmQ!h{R$iW((aAVKAuFH?%9+ofT=`ev&y(Wx+B;ItSa9nN`<>4q}Q?1xE z%VglfjMRi7mS3q=23m+r?#86}EGr_H4o@VNOdGz!-3@21BMO^1{>p^aHU3E1v8^gaAO1gpM9Xsnl$cN|5Ei?($Pb zTizyQN^BB+98>8)lb=mIBmq?ONd!RS`oq4Ad0MdkI z6>O;fxvMt=@9OUYeNW_rX+LH`a5L|XKG9lIMYHkSu6`c8tKa(>>3yI^zAwDQq5A9q zshmKaYqG<#K(84D_~e}dH)>N9|FVrvG;D(8u4F-4w54%sweU)owuQ0;YX+^`x)x-!J(e09tib;^Juu7nS7(v-aVp$dyxP>(7ukFBr(#|nT+EC1z~FvxkV5}i%!^;& z7W4WUd6RN|?a|@boZNO&svouIRE}3GeJ352frg z-~04rK<++W^#TN&4AZA?Axbn6&_^s znH~o3LQzOEz(fyB+@EC5U9Xkeb2$ibUoLz_ez<4scycl7n!jZGSa8c#=bq0;B>;C{ ztUxq~++u|8@b>c|wMz1*!3wp^(T~Cjm+rtiwqg^8pxI&;OH8p&tJktj`j|!Pc;3vm zJ_0i0R>6U^4B(#~CaP@=+-0aXW}s5~hqOVHs(A0tGN~v(kL{;U5R3H^)s}7EOhyW^ z1Cf4R7rd-*Cs!)IXa5h8-s6`@KR(0gN93LG-h7aZRu8fG$CI(?x5(j-@uzyaVS6iKp`JXfh(qCKaKVRp|uMlHRwU^kj_V4qQ!YX*{fKm zTYueMq|czKbN#;_>7~i_$p0GYE4--_-bzcUbd`%!gt}`V6ku9C*e~anqVG<`MI%1Q z*aCa##o_Nf^mC`BZEvQDuwjGV(!H-r>%#wRrS=-Tk39DA4bi@Tm4n^;mh&eT0Wal} zpTzPQ@LaY79{TGmiI}j@5VXZG97iGj&c7t zdVTok*eI~QF4$bjUgvwem>6Gc#re=xj;j840s(tvYVUi}m*7bM=-)(o8Q%LKAkvQ# zA1rTFafg(>BI}NOX*Q(rE+el@?PcTCs_oQ7ViHKd+G7aiOPInKdq#L88`5b@Jg?^Z zVc)-@*IQPrK!#SUG$B5#jo!#KCq11AW~0M?MEhW9BMM=Ggitk$mw4I#|MJE^rklO){%`4WEM#(f!|9ujY|Q`Pjc59Lteq3|^)bd+`LF|X*~q%W<+6v~FiYT9fO(3MUk!NGS+@dURJ+M9zlu&&9@l$Y;@K>UHsXUli@Hmzi)+Ya+Si7V0JpEIqo2t8aCfX2#*OgcrK|uEmvt#|I-fVz(Ch<-c0!ADW89 zj0y$5&BC1gQYXKlu7*$a8cz#-ZE#?6i4AJ4LB0C?B(^lf=>pokcWVB73A@Jm zrs(dNf0X|(_wj#|=yTw4IrN^x7B$f4!rV8DQrNFpH}lGq<}wd`x$oDebst4HD*O;- zl6}>~GW}Dr=oEf8o6V)tj{|v~24Znjvu{d<&?f$!*m)B3NP282n^;J?yV{x`LpHLk zZaeu_nF`-BUO~>2&nW>Iompu3EK^URAjZ)N9Rr|@!u=1RidBnz$s=Ke8eu! zpM@~t*`IB^Nrq-NRLjrpvfk0hOz+l^ixJT9XzK~lb!Y6}QPwnofB7~lr7+|Ec-=v+ zCAoEf!stX4DSA!u=ik70sQrrot$S@gv;6XUW4nWeE?p@lGVF9?jj|^4&RIuuO&Ys* zf;p(S6Z$EP>BI;7z7G6-D5y+Ov2N<%!aCj~5d2H%K3mFl=}qs!L;)XT5P?>n3yTb1<`XvcT;L_)@`;laeU?CE3R<(yciw=5-qV(GE&;O>b)V4b!9Plup%SAf{{XK#9WS+AKaqYvmSOA1SvG$n-JkAe&GEh&$fFD3KM>j|` zkoMzkzzldBkOJNYlK=cRKr}VdY;>61aIrnQ_NAXk%W~svco5d(t*dSnbUNO5t~C&_ z&i5=)CbuvgE?y5I!6Fpu=x{QHE6;;}WwTog4~3#rhU0xSuz@OMy0)Kqj8T90G=Kzt z8rZiW<0~6}9oUAo-sw&F#Aa(S5rh9#*eYq>Q(P|;oth5<82V$$XW?xizs6QN&dyU< zU8|5bCX8`qHC?N){zZ%(fPz1Bws*9G&2baZS2#;oS?K;*H=Pd)IgN+285eIzFke5B zis_{&bxrY55&4ie!tCR1Pf-BvH>p1PWYTkDj%l1vQKF*7=g>DgtbIC-BSwECo#~5f zg^Daoy@2}>cTk&Y&68n1s6n|mNd=zqFH>Jlvr}{h)UDA24+F+NzVMXPznte)awP^I1bu8f({;3IEr6J54r6E<<#nyPKqRNzT~GO`c+B!HkJ zh$hx$)aZYM)^^=PbBQiWL>!s%ddJcd-)Ar|XezJIHb^IW+^UZXqZ{P7Vmkndq$SkU zg^16ec<~|sq6L}%ggCDqK?@$r?=8tW-m?bPNGtLQoy(i>=PhdQi>7B@wPWlKtx8p_ z*zAy*jv%!R!pH&r{@{1h40Al+$HhsVu(iNP6l+R#&+D$=Pxh$653mHa_*)V~@h7k< zI=}Fo%(j53lIzC%OY11xyiMc)z?BDncf4>0IFG4y@)b1Q9Exf0%6j3LJS6p zV|pqah-{%n4!`Gm8Fu=&C+P2z=sPJ>o;ARVjN9^2(_u-yQ$a@w^!t88L{=hYl;QG5 z3iBNzirb*!JfOY%W;0iNnXIhSLSAjaSg&bCOtY+|@@d0{yPyj>Yv=g|aeLD{h>l|F zPbq-Eeh%>0M{rE_&KAej=(>-BMA57RRtSSO-|enqRT^b#(=Swfe13C*!XKkg()j*K zQw7*xZ$`rdhfs9Cj9R051u90W-3`miYxfOO|F9C`R~WJC%_d6p`2tk(p_fhF@S9K~ zOI;xb5wRC(?#vZV$Oy*O5ovPqNN)7s*XF1LV&hODSDDM9q&_x0kB(j;Au*#$Y5u5* zE)qcq5qd?b$(9@?r(bV8JJxskG<2+Fd8pfXb!tyurEB+M6!u7?Y0fy|vphFB`5C=M zskq5Q_F6|<<73w)vKgT`vnp;T@G}5yhYSh$8Q`H#MCkg2B@J~Zg})7(DI(zKV1-paa?Gb~%3WJRW(rKb0$hoJtZ zr5pr0P?7`W_4Q|%-Ylm}vGeT`jk(ha{RZ~Yp5sDj`6q7?&|)+kk4IY-eFfKq-m!jv zXtk!Y2s{KRI(-p%cM0#C4iZRVd6Iw@hws6d^Ju<==c#_h<#-w6moVqioeV~c(vorh z#!YlI==V}j&SYC^-?bWFZ+^0cwEKFBjiMg3F@t{wpzj3%^u4}>9aKU&1EMkpBuzO3 z$jrDLql3Oloy6S1x-qns!9O#(t)i7dMeS3hmkBg#%q!B5Y(Cj#=V3HfLuYY8A_TEP zhN`+QZyuRo(*pW>ITMePH>r7e&lL;StCCK<>@pQm&;Wh?j5?sNe_V6JREa_iQ~qo= zO-ij3kAW`mb&FQK?-SHCBM0&`uT1p^7JE1s){`sUPbZN-Rr8y{ui@Ll6SbhdRiYBJ zgD-A_$k1w;Z4yTmdSC4^sT^4|?bZ24FgO~L7xRf?W}DoOuhzV5R#MLs8L$TLYP+Ev zCo{6*`|&nTCVwk~c!p95!o*X72>ejZ$wsi3JRH7H3h% zk&bk6p{%|=F(wwzgUA5-{n$kJCv;5>BOS*lLHjL^XVbtN0DDxR#sU}c2Eai8u<}GU zp@264ZQu>yzO9lA}+{mpKC-0cgmzS`^O8PQCGW^BOo% zk8UV&@+Y)kSjczTs|aGro27v0dd^t*7d7OhD>EAag^M z)~+~4l@u`yAG^|?Vv4C4Exc?D9F^oqD1G=rid>eR@T|D2%Y*s}a9;1Jbbmeey!P35 zYI_H(#b=8tTKxn`pHWE2`+P&L5H}&Gy|19>^0aP9`zUXQH2{&F?w!P*Ke#vGFmi!W zkiRyCx>5$RRlguHXZxmu7C!W$y0!JLi zJhYWW%tpX@J<63Jw#;wm_18b%0a*5J@i3YXiOQ^oLAUP!=VI-(=;&EVxMps6rWq z)%aQLZ_drwyUGJ1JN2+2N8h)kc-oXeu@CoXHAlg|*M%jq6A;-MHPgrGd%Vd8M0Q^% zSY3c(e`}*|6a!_}!M%Ltao6=`P@(sg0<%5&LZ9)l%o2qpwBVAmm8i`4_LdV+>`xGG z&){vO$;oVMvyOl76}`y)6q5A%D=iN24#0}aG=IEym92}7a8tYHvh|p0%;%1QFYe8@ za@*`%+}+nJto2oAG(`E7&CoNQsQNebvwYAl@9(Tucf*T)wZB7wYz%satlK#A_n=Z>p)l5d7FlJuVlmoN9US zN?*bn48fJO1Mf1s{+WCRY8^6WnxlYy_vUmD5bPE>hZA7}9 z4k6V#Tr7lHcmrLSJNj!p3k!Pj|Bt!1{_1kyzqRR*4haG2k`^STJEgl3q`Nz%yIWd9 zxwu>KB1QsrDR#Iw zJ;0D%1u$gC@fj6z3l?Q7;SaW-`-AOAL=uc2{bKtwAhsXo=x2}U@23kh9?Byi`u)P* zoN+J-%BgiqcNBP2X4S;zMpXe_OF5 z#uK4mU!e~qXbG~Zo5sF{dT8#$e+DrV$>Tak0W*VC$(t~Z?I!q=LFR^#rIrgZTZW18 z8eS-?%@Mj55(CPhd_nhHv@Tb6HE>`5LI$|64;-8#&Xc(>zz1gxIX2$h1Pbt1?+ftH zNrzm&Ndj*HhbOjsVh8Jiaj_koxwH*DgQ=I68U1g_9O430Tm(;J!oRK`zg9$ei~hc9 z!2W@*n~5@0d5xNKS8i4+nOgbViD=g0R>cfK z2NC}DT>ni-5My0YgHF~vajkh02a&`<+@OiKrO7&NwG;34H{qheiaN30SjZss%6^K& z5}R+Dl@UQOo)M^=CwS!+5Hu!X?fYEVhow)@#z&QWrX54v$FLnbizZ}Ag}D*tBR_h* z-XSxrxonfViqgj52)#%mcdmJ0Gk9nrS0?PLiDS=IBj=kZx$Yi?VVj^1e1Z{oFLgbI z7{xz#;In&;v`M;tJKmW)W@A`Y(TTO&*{Xx*iltmFra)Ea@QRVV_!jE?+%9k}^Zqg5 zGY^UXJ51vJRO3kw5n#-Y)l{Bn@{^WD36Ja-d_vqxZ|EBHAoZaAbYwNCX)M1JrXymb zIrC5M#&|l-&z?fjWv>aq?T5m11U*>yIsiKGyYcHSp7?u5dDe1drB6`AV zZMJISD+`4c@W+JE0;tBgsPkMm;E}=Ss>^Z}fTVBR0K4X+MTK&6>fYm6`~K6oLqV4> zmp&(|V6#rP;2UAW%yO{2c8J-8aP8I22lBAVPvHf-x$i;f!^hOwQ zc=nn_-0ZSizA#HbekR=EHMh-Usm(K00PT+p4lef7Hy}^qGcTe~@hcBhWryi5h^|^x z5J(!!(kWsb#O_~jYhi`XI7(*w`L8BO6iqynihbadJ{L0n^5qhLN-y~2<^vRYmEW=c zGLrd9JM;$INa^TaXk_!N45S&lN0o^OQe;3$p6d;Ys57i!ifwh;`)qrdY~iQ*;V1&F zq|cEgd^~vrye1bLP_hvD5P8`j8^e|K@U~zeL+UF`a1@8xc(u64mx;L z|60R|vmSne0#YP>)4Z~-NF#CN|X_y@YM0H5o|sm&LSHDo{| zc0-K#(u}}}-6QD{k*jVwD)hNv?N;FP_Ro3;{bR&#X=8ee0tT6Bk{{NZ3PQcL63)2n zi7Y}*#493!0v4S;)u${P2@i2v!*(w{VLHo^QW%_?ub2uA_NHTpY8VH<0V{SLSW0 z21`Gzvi&rz6H~z3hjhNUlD>I(Od@5ZPpZAQX_))ilyxc1wr0>S6+5FIQ1q8T1NL|$ z*}}BR7Docxuo3H9D$rw5DB*0Owir)n=M4Mq=-8V}5%gW!j8g`)tz}tq?@*XxE&55< zV$B+pG_6lUMId?YR}Bk}*VkUXC+d1(KLQlxeHK;^>d!Y~B~)31QE*D}Kr`@159MI( zx@x!-+SK}VjNVYNFi#NLz;&h)?(IJzECSB<#5I$(r(T){$q$}QChu~|3AK_I4_t;0 zzSg3*FsA6;S`X2R87_Le^@pE9{xvAbAO8{L^Z5v6avOXTQM{Es9mruQzuLY!8R=Fo zBj#^$iwA-{(jP%y0Yf?dR3Xsh3C)10$gCnyfI<&d1PMPl{x^m9w$G^x`qQQw-=$xw z;J-7R$xECXtYLavnYMIZjIh1n+cL#!Q{XNm^Hp!rDE=dbyYun(g>H0{AmIaXdDUzvs2 zZUs(?@D`|cRU3=nQ++8#fa+su(xU4~+)}O-@=818mdxE#eQl$5f^WLpD9X>@L}qnu zfT;d+Yp!0}K_z>pkscjdC%mS`QxnED56lFOH+dwU?tS342_cFz7-gQ4FuWd-=|hw{ zSUHzfuR6*c-6zW2^7|boJgHgKkImCy5-qV(`EkIo9Q#YnMMQ4m6I^dHt!}%Pk!~-@ z>yOY6x6js(XS58L9r%TI!u28i^HefCp4BL2jk%1G0sqp^yC&2Zm{!v@S3j9D9>3de zZs0v}QK*D(YXukcQ-`MiRwe&xz)PAY_PSo>NT%qRRnl$fLBg87d^x_Z;1Q8bl2eT8 zkd9Utz2sq0QwV6wZlZzfE9^c=F#8~4f5I+QEnEY5C-8!56P8G}SHmRQYcZGRpcJ+_ z6T{jKM(kT!SHVgVDy8()+G4rQHk1r#zK>JBt03p$B(y!cShYoxHuHZ$uTKXll6RqI ziX^Ly92f7`-T#og?pS-2ezKofKiVj4J_Xw(=>)ugT{$SYsU011QFR+7`KviEvu6?yEw*mvfU%K4?+Kad#D^&* zn)l83-!69^cTwIwh*@mlUA5Zu@GN%T4df*dsoHHz-U;wLP-9t*W7F|35;di};)3#^ zd*H4z>|2;QFI2U|zuhXHziSxN8M5>g>oZ;b&HE0}l-8f zM+y3K7*qO_SPFwjSF=J%Ouc&2X^U!oHDXj)s8|QHfw9JAQ-=CXu-4b8z@v=tr&G== zsxtepmU{0n&6cGZwdO53$ycqJkjZFNFdGD&co>Spj8+vg?}*`>HMzKk^lsvugo>zM z#7-<#@w$HoRo@?=sBvfCX~2~YkSFj?X$-|^+ip>C-zB^-VMspr-3nsvHE%c*sWKk7 zb2ABVDUmo@i>F9Xsl?$;OZ*_s&X+4#xcP7~mL#|FnBNrMEBCQ%EgGtkk3r>;Z+ zXayPa&-`OUE(IC6na3DoQGw%2yq*?_Ai}Ypi6OgBWpXbrOPtt?(eBhMCdn?bwG=cVTaODu0xuAz%7JYcr zKlxAS^5`5Qk3dhQWFzi+k?h3j%0}0JdZ8!?kx&R$F5Lf;ogpJ*7ihm1t_TxX!qRFG z>z6<%fKWawofux<6*8WHk3$yoEU$b@Bnh0@=dF5U!Y;`?OpRWRj=|2P~rh-I$X?KFafPHs3i+L6>vl`)oOwSl5hAw}T4Utqr z*jtMSJnw7@kBt>MQ;K=m)zzvdK#*-w$D$#y^262V9bK>Zp#|~!s@anX_6HLeqwLD~ z;}Z_w8nu)8>CQyC*hCxOPAa(J3_tT=9=|OzH7J;=3x(MnfgTnF>hfIfwp2yhc@H?2 z8ezkqWqoi*cm>@&t}4S3yd}hTqw#&2eyX90ev5&en2t?qsO96>!LhWl>K=2YWg=k@ zVCsK^eai*v%aiKReV*{>YfFtu4r$F$1Y<%v-n;Je5>H^$E){Cj!?SJ&tkLqE*wz#C zsH_+r)R&hm{jme~b&&=L>{qaW`ts6zKlIfOCcIOeZAi|vOrY{qlzs*eE!*IbKKmB_ zg6dgqVO)9PWcDSfFAss5-pYyfEY>pe?NiQYIs%|gyNu-;>p(7G(@xo^U6u0E=jYKq zA!wQ2enK9ozo+t78j7X*$n6tkz3TLFM85k?Eck%rJC2MRHBR$~)eZd9_sjH3b*PgG zN?qKFH~IX85L=BCq<*uN40G7hurr5F$(sqc?LqDT^EBV|xfE#2Q%gVw+VV=ix8=c0 z_Da1%ZDv0mh#+XALEA#XXp82z_FEnh0(R+}hi=YbeYQsRq3(C-|38fLpWqyA_Uwr59K;GI zK%4YZU}2x1KjL%+Ht8?wK%4Y8VpWT`F~G_F^A=66@uo}SwH3Yld;4|Zp=;!&Yz$|A zdvSA?YoCbAv5R0nwBpS6f*~t(c?(N14*M)^u^1*7t5_xHQ3Hqk8Xi`xFnbtUSR|L> zP7q{!-gc<)_`a(1r%Ro8bnZ-KIF>Z$G$ifPU#8}Pd;62e$;`%yowz|y1-K|Wrd?-M zc4dn###KgH3!t-0%p?$uau!}z^LeW~f9TWJlX%N-5CUNm6ZjdTLZT9Y`Va&D2m&gY zAIgmEkxKl?tUH!p0b6#CHKj$v$(f)nJFyvL7f37xCmxjUiQR}(2M0bSvCAuY+_8gr zodB+k%iHSqe6qqntNPZUExVJmjZbwOR@&WV?lYF?aJGpYNE zyhpKa{uFiAH|sA(j1s}L)1ePCdEAZ%vxnKPXE#wqyf#mHxq5&dJ53(r7E5EnlezqM z$mcu{{E0@N64g6hK|aPfsA$d62NeA^Ta^b_(EH6dX<0TYGzO zUHv7TwN@(F8-{}jSq^I)U1fzY0ux!A;j7qhC~gmR)gmo+{5UEC&W7EHmWf1Y3Kj{U z-(J$-`3KDq z91|nR71+|$!0R}(uOR%AHM&1P&g`O_=l#@Bf4s6Y!0dR7mafyJW2tjz-6P`1_(>}z_kAtR?i+1(nPm7Z8^L;{9toD6@pSWoql z92``Hm0$qGjg9P)>*azSq3O{b(+(38k<_%Dzje$F@O_gd91Zw}iU5~*dysy^h{rW* z+UJE2mG%)4PTtgklHZ(-wpS!-%){z!t{eMYGkDCrs3}pZIMPcqN^+v+*Kx-a~-0sMH`wJgTT{3Z#b!6C2{5bFG-wqMQV;46^p#Pxp zQ5+BrS`SN_N84Ci2xl94=ZWkY+D+5IHZD<*%FsO`l6C0%>M;hvYJ~5aGH{}2K{P(M z+$Gk6BfSY8?^%a6iw|b@kqHYoULl@nmZ&+UEw~l%p}(%hY9_*Y)nc+=M5!uMZ~+b2 z5RY4f;o!h+WZmT2NZvY7`H_+x7(d7Hp>-3*=6cE(WIb;BDUliOuc18U4=6wK6Uv+X zfby*t8a=Fhx{yskmhb*8%b)7vlY<>4%V!3tt+)#4KcEe%KLzV=-+_9UJF_hVit+@< zrcZ$4yc#Ln`zXHvit-}AMR}OtqdbCoc3^zWorbl&7Ix=X-!YbC;gvVWVt0i4kLKb; z`YAuzGc_zPV~4|dZgvmIYzz&QB|JPVI+N-?r;*7GNMaeY=lmY!AFZj7aP|76y;Wi* zA+rNY@0&_D$brS#1}-c+r`@tg;PCCOMhUCz3AG>bS6Sb&AX3b;#;iXusO({K)ejI|?BZCQmNfMl;>2h_v;2ppv4Ce57vj3QK4SaZMC1F=cMD*+Zbf zt#@Bs_8;ZOJvmm|VP`uoV^<%Lmt-hTHtTp{2>;~$+Lw;zp(pR8 zHxJjR3TMv4Q?0S}YS*qN!)S8qoA7zVHI2wBD8$3W$SPtasw*C!%{E*se(Z=*aeDdx zIGW$@Z&w$J`Vb>uc6U7V0jIf*@BX+Vw>%w`%XAf7X0vo zA#JCIHKb=CG|rV|-xoHQqc*Hr4`q6@hAK_hBWDaL?7CE$K6cG8$iDuE!uzA? zBcV@nW-cZ-yu=_FJ`Ky*sq(H7L_g`D_;PZ-i;{T(nx+3Hs2sU@ht=ry8X#W3(wJ^V;eL48`*9E_uOg@wBf|HrA{#kWsf}pST8` z=fV~4yGNU*p%p!#0TevJgEzE69gI@2Wc8=Ef# zvH6GhY<_Gb5vacZmu$XR_pWo8+WSl!Sh54LdCl!^fuQefUI4`A@0aX;vH5qy-`RZ0 zpV>Uw?`+=b4>m9J8=GG=13CKlY`*cH&4ZOpVWoTCvw4iaVe`HJC7XW)V)K#z$mU=D zr)+*z5Mc8nzt}wC-?DkEe`512zu3INzhd*Ezp?p8f6eA)Kx{rqT>nea5qELs+LIXy zaC@u8Jx=e^Ii;X9LgDM3qWdvBquA3!pR8>O(3l7vooZLceGqDNF@&; zR8o)@09UlsDquB*;E@QoctUReq{jGu%uXO=U@krUCU=fB#9XHQ64`eO+3XmqEP!ji zZ_lUv0cJO69}3w?<_E9yY=&D<_kBTX!o8(0PKmjb!6(F?k#brU$F%vf^{c#D#4C#g zWDRHwOVsa6cH?wu{ewlHAOASKU${TKPuvU5_cOm}lCmH8==E>NJpS)wzG(@R<>BwM zy#LQEUtcstGf9z| zqC5|yEOEuyqA~;@f!66cf2`AAOcN9Ex{C$Ej3ec4#4dQgi5fO$6YJq)hchB-*(9|; zVIkmlmg<3-K+6Aa>G%Ay^gRmmCvyJL((kGK(R`o08TniDJw~P87yZZkw$o#wI8LD+ zD=%d4E&ZsQ%^YkC{d-G4*rS3?=vSyG z-|-uq@B0&+mqLJ>;5JkMn;WPM@!{!va`%?*i|Rd@A4dx9BS|~?XzV_Zt09VyO0T3t z8{-H&s#V}sQ+wDIrCa}QvMdNLSgg1ZK=WI1Sjo(dWW&osF>fOJ7+Y(r-m4?(&Ofby zHcp)ocy7KBH!dLcwIa_S3srS=(W+D>2eDt^u_n9XI?@nziK1pb)t{E((Cn%RY>g-fi~_)?!@$ zn51D~8Q$=0{j7J;V&&p5;rzCr9O0E!`BQ!|%BG6$a>{OyT)*KXCg~D1 zqcTH20g~&-__0jS`@WNTn|m@Zg|V~|Mzt;CxLL+aY&u8hA_LueB2{1(MDeg)sjkxw zmDG)wP@T)gLNNd~=gI#_tq%dz`j*={(q=DWZfivuO*ziHQ4*wy?m(i5BQh$B`k;`1 zV)M-an{WQb=6yCl5kjo3N7S_VJ`k9z)UYFhN-M>dW5PQKg5~I~4XV+hcu5>W`zkb% zH|ARq(o5zFAM?F9D5yDkJh9kWzB5~?c2z9{hw!Oq%AZsh45}Lgj06GK7zB`Mu1gZ6ZM)MHhmNF(}IrygI{CwQW1+84>%VHseDjYwt zd{r9=%aeV_@;2#s!Q&j>)x^v|1AeY(8@>>nX=094zxI$SZ&C$og29J`9H<(+xd#~cmuFXPs$$wMHbKz^k>Q&FeRpI7-1;lzefi8Vq z^0H>+rzBBxN+2wcz;!ODaUO{0zb~vB{;(DKi=Sz5LEH~4&w*&o7`2{2bAUCAWjO7N z$!b+iS766xl4FDuL6IcD!V{kViqvD33Nv_5h+!G{_}WK5Lf}BHmaq+_AK32ZQdtMJ zVO^byk`U?RD9marz7Z&%T0tDgAGy*XKzq|9|By;ly!N0Ncl&RG{Fi&X{`2QCSEi$U z{MUF2+lxm|ks5WawN16)5T8d~Y1AL-@YL!%X03>cnZC0tzIwO01eGISf7$`UxD99lz<(U-$(lZR#@=r z4pm_qRDs`+AKC{k`oWmxP>@aAk<&^$qpZM|+y6^)*nvu#7y_C`!b{Hd$YNW+Law3r zK}`GBM4bf`6C*%#-a%tVVlTno`o8MmLd6GDD6%O1P}$F@Et07Q^ZD_w+x+M9$FC2# z;M5Yr!Coam&9PP!%h%Lgj=VdPc(4Os8_$B5F1xQk;&>^ z1Cl(M^Cg(B#r(DeoXnTC_nVpF@3aMdQ|5Bt#^w7EBHlExA$%rZxAPs+ihaP6cRQ}A zj1^D6P0tqpVr7ycBu5Mttmiha4F82h;ZvO&OS4zE4@J$?)VBf||1Sjl zE|6faGQY>LwObtg?m_TyD22@?<>%q5PHv?fi-6NMd-!--R-G>Uv6UM*wVz&G)t7Cw)#Q(c4xnGPJ;C z{+XEcRwJ9R9B4;fGn=p=%Gk-zINc@1?A{XIA7Z|1m!;iUDzjp=g5Q6)xc2E!1nj^8?1$7%(*ZatC+5#R`ga4ERaJN z>{ifG0gcbI!}g)9HpF(F%~UB!ekNE+&x7(;(!U@iIKn@WWjWiZG>cNM#8Y$#m_;7u z+C>(CRTJxVp;#d3#1ywBubBt&__#uZq;PVRCSsw4F9Ni?_ryQDpH#F;q@Nim7ME3_}l=9Z^rt ze^3I{nsa^D>-uY?!X+;tw`(rpaEa5SSmI$7Hn!nERN`K1n*dsr3yu?4}crfh# z|1igQ|4oiZh}*l*@uI(Syz76Hpo#^}*GY=h$&nit z4YN~I2TiLiH4!S)aD2FIv+Fk@Qzef?{g;Y8<6C1;j%NZNU;(RlZ8O$>&OK8Q?HH<$ z8(T!%Xd4|Dk0k?LVy<0~J~R_NnvX$65Ou99L6Gn!we}euR7U zqI@G#Ml&!PW23$M7W&kCukDuKN?CQw2zp`12-+&li4G{vQw^%Xwb6d6`C3dYQGvo7 zp(&S{?fqo^kK#ND2M0JRTczC+U-9XiDWEv-@;#_HkG$}RXH?wkt*7W-&l+ndMR-)y zNLD7*YT=1~q|Ck=0?+tT=fM3OJ;nQo4gqH#e^$#!J~gvB6EArCk`jH}tL<`zA|dZs zp$T;?R~6V8cbBE|tHrT6rw;k)R7_VEB^G(Z^POUiiEn~V=c@8bw9NMPameVjNf=X& zqdP-|x}Vu0O5!Rlq<$;4lAv@h-mzgSV~qAErG!B8u1xR)OuUWpX^^+J z8a=ei2H#-e<)){SYAJ3PawBe}yvH^1QmUz#*qsxGJlTNQ$O4-4n(ypsNmnw@)2tS9 zx>J4}+M6(bKeWH4t7{8sX)W2FS4#x`@S+m%^4GO@4$m(sSW3=t)#?T!S8Zt)Zy+br zLDhNrdW?@HkuDc!tH+{ejYOv_$@y)kz%r*sfJ6HnxW<>C(17YZLEzB-vyKY6*iQJt z)6|kc6hx)EqPOOO`X;4$Z9MGIUa=O*bQ*=#cFepBv~t&PQ%unxys_QktdYYwlruF~ zpw?3;6h5{q6t}~Y*Ie8;-=$o5EVpK7`akyT%RLh~kYa)yUJ#MYU!?yL;*pI(Azl~= z@pYg%dd(@imqPu28{$tSQt0~v8HQRz>j-ZzSlRDZZ$$OFkIrCnSezw&;?rVWK0$VE zZGPN?0!}CS9sIT%Y4#i6G)5V2p`tz?deF5?4>z1yj&F*p8L_NCxKlyQo`v%G{}&+t zul)Lm|HiMEN*N^wvC#q5U0+?qT0C=JbaT--$7ub}ed3O`2T={2xszMnQ)v1W zU?Mh;kqEdmNUg8u@`}CgJge2LyxQKW(aA6{8@@l8ie4N-q2>y75L2`DNMbu)Fnr=y zGbx9qy@oU;$=aVff+tV+rk|-$D<8=5l2sw#V@7Ji`t{c^;>wgfY@$W(9s0F!ltasb zzeD-qwDgT%L4Lk0NLM5E+r!yqo(3H`kYJDgn#-sIY;O3Qsa~(_z<0ks&~eb1e=H)V zMc(LuW2$(Sy_$pDhow!>#zmEU?B1)dgw7%by!xsJn8_bry_sy2@^`OZ_)lK_hu^&V z?1R?l6Mug-LpKjW*Y1sf8*7!6jLCpb9lrIod4m~`{5p~JpL?r z`Sc>?!g>TM=fejsk+n9ETmN|Slcq%pr|dF5AzCF^yE=tXbojYU04;=hDF0PbJ!;jn z<5!ZJ_i{Z6NUrAx%9@J~5eRsaXRD^<>7^zZ*H;Z~)Teu4r83|4dR}BTX zpMK-rBjiSV_*M*M)T(yg@2HhNEb!K~(E!1Xn;j@#k`A`k7NT~5YVZ*cj2Qw@ zg_b?HP+`#nRVkcT_+c1ufQOkMFEnoUFm=|z8vWWyzqQ~d2*y+>vVqgwNQ>I3}Wo=oOq!f)fs=3 z>``Yc67=WnaWuuWe5eAba;)S$!#F`{PPp<;M0%w~JxJ3~0LWiU{Q&aGy6Q(5;=W`J z;1iqcIGisq4H35R`NpH-#b4`_8lIJ>*>g<)}N+Dl6KAE`T4<66jZVpq}th(k9CtIN^(nnL~7sl6(2~ERbPiz08 z+QF-ye-qe|QU%}T+ay8=*6tZBOL&RZl|({h?LkaTQbX4-&IQo;91x8czo+qSKWO|G zK;y;CDO~{?@9M+gRb2xH^Svui7+fP=9|tEpy#vS5<_UzYTi;lIO%Y$`CW6CrNUR7> zmcj?ud%B`Mr1-C?YtB4)1=Dl;j?T7wawBRCUa)>@XFPx{Ttf`}YTi81Gk%~*=2D1_ zQ8u7g&y=}O;B{W_fMC9DZw?9N{|3nM>c8c9rTB1kZ#Xm~7v=hl;3R=TxQ8PT-yxJS zSD`oAJo>5DBj2m_mj4sA{(<*qYaaPs-SS~0eb5?oj>*%|cK)%bTi(v=8tTZn7o}VJ zwryh!kC3iM!xPhoQxipXIFNz1JPOk5hYaKBgP;1DRTJ@~7EI!FLUvK-^spSuJuP|A zTtA&Q3+7Z2~f2=pn8@&hT8M?YzNI}a4T?d}84 zJe~Oyy{g7*GLrJ>oT>*Qeg=_2cnl_j>(P=1SFAS{U+5RdMQBRg7H9jeQ%2pNM<|bXlV#y{Bu7ZEm>oWkop1RGirk==)yg>VIBh`z^*^k!~-m)30xv}Na z-BAVCSqp#6wJZrtZ!7+ljue~-)uplp*QzrT2qDK}8qVFW0JtE`l-HsOcek_m7 z4dx&V4AFZjOITc%nHa_po);~N=PepJlm!G$?GZ)zr8PcZ8ZkD$;?RHQutPUC&>`KQzB++WzYV*yxGw#%$lnCY;n!rYsT-_@?8`^ujSQzA<)Bb8g^mU z;}2n!w6a+Jj_L9ITUVO>f&1DocO7vRNNjL4beI9a8MlG>XUhj&c)>3v%th&x3%f~% z^xsoL#s!4|IzY}?3i>-(A|F_lpAOXjcKdbd$1|gp6O6EH$+tQ(jK>K$!ovo04 zHFHQ-4fBJ|?iKl(z2j;YbEbnXYK~x*rwVE1yY<;|f*Ln4)P_i{A$ynrpd@mJEO?n$ z*C^u4YqK*Z$U6nir1EkuDQUMEH!B!-2L)SRUcK9BH%kJ}TJ#myg^Q*MCoz(2TbFh2 z5^jCX*ixct{6+&cY$?LA8FP|myM{_33}q}8%`si5pPR2O+QCT(B!tTjGcbv#(m`!` zq^I7ME#8dG24CMa(!9rfl4Sb?4JE{KnCq16rW2!!@&RF9stX?S_H?ALGshc-o6YkJ zZNI(`MvDkJo38JJ+^(lu;;2sOHQ)QYx~uxtZy0@rWT;6x#yTvxUeq{Gz$jlSa#z1@ zi*Wk5lpc6>hZ(MHUjCNt$yzEcNm!xd3xDkOYdm5}#lEMFbT{NVb8A0$=*!+a0Xy_x zJ&vn3(snq!1@bnl!>#%E2`(mFq}h?ykD(6^HD%vX_qX0sR?3KTj8=XXdiF#&83|0K z40kBBAn+SYzoi_lfqcBM3VlrFczdCD{N7G=6$cmEtUW{?WK8C}62xA4@C`;(=Z7Ai z)FWJiBesFqlsu%j@MqU!!8?q$pEakaKfHNd&OOb$-11-}vzG(9cV-a{eyIi$eZ6$NT-t@iX>{QAslP6Cc)C zRV%QQl+w9&Vs7Qp$89?%=gkPfc$fTNPw|lMI9>*8T6Q&gc{ffpRf_hpAa)xR5-(|_ zvT`cT?ZPQYqLZqGAE@2Xs`Rlwc!ReOLhghO6g2D zzanFa;;;0E@uRpWMb_Q*O%t}qQIEZX0{e1x+*1qKkCDs;{OI?0@{%8ZyOTdE0o}>J z8A58mzmuP9q!XgJ>A-_nz*b3#GAzz~FIt1&@K`*|qeMY_`SdRdyu1O@Czl-Im> z>mQ!~-*M~zRg{nZZ=(Ej4*RZwS@4sq!LYHOh;eHxEh>#H3`OD zALUb&MxZkP^R>LR``=&7|1*#e^8OCwt3$GQ#-5PqBDj2y@o^pcm2iPfzDG8%EC_7) z>J>dem3d)~=@1`h+pz_GS8B&Ukoa0yTmhANu91Vdjv%w16V6HMb;apmS!cVzS7aq^ z1i-BifY$4Y!-9L-oEnA&2kAC)sZC58(eX$DQ!Ms5CU%fg%sq>z(EQHgbIf#qu=rM( zn&R&)UjI)l-sv|M?^$;JI07dhQ-srH-*TGKc;N(2WIGh zu=p2AXvF)(0*tw!Bl%a~kL1@_=(QfXGMxILZ(Q_7K~s%Y5{G~!if~LTqoSnPmHtNN!3b&*(aqEr7Y#J1=gxNfrfq_- zpYpI2KB^^v;p1p^1R@;djdqC9b*eb(mVob@F3y8IK8P_Oy60og&aDg79~(W$707S3 zu*e5{@?~?HiLesxK%vJU=(;=n54!H|GD(|15KB);yjAo=9q+d+Vc88n(G{o@b;DfN zntrVBsNyK@NL1@IsRqjN?GYsYvAdN1vGajf-oTulDqsDH z*THV!%(RcP9NGG3Tlu3U5xzGm=5DZ8#pq~u+4zq+7qXmazooP3KS;<4HES6;m> zBhE{@%IJQ$z!Y25)?N(Z8S-1Z+*bYQ%O@`YkCK!v?VG+xlJc%l43)U$dzKUq5q+MN z6mw)*!901ySOORW)TcpnYt*r}|9m1Z^T&yN&_ABYD-c0D=%;XS{!w%HSXKk`AH;gr z))3!#Y|iP5gTUH-6gIep(DFx=tu8!J$WCYetFxe@yF8il0BVErYg@y1OFJuE4U=6P z(jhJ2O1}O6N}lM)mHc+M+$P#wuqJRNuX%qZ&j8o0W|h*k4PUQu?dylXfhr@!*L&kU zsjXNJ1dk`ElJyqZN4owsRmHeC5Vfnjm$ooIIejaj7>^8!@l*FPeg%l}x!+^_7f_5p z=m%o_yPq*$gbTp&O);wZmX;3xB-W#m_+uLe?7#<8S9&9LZDu&EIQS}$r|G^#7g==J zPf}61Tn{TYjG1db?3CWhxX2e{++K9XqSNm)55<;evu1hm;YrYIcjIQYIE_(s?vl8_ zqVW@d(0JJ2X?!KD!imuN53^oK$9@Z^WZ-+*-8xumJ{$j>A}?DeT+5EDHi=VpYLfwz zQ_pP?S`^XnHkcoB>#Vw6*j)8EW0LipV#=KdEb%}k+OpV-atp!tI6unnz;n}Ho@>zS z&b-_WM5DZ*?>T(#QgbLBm0SEcO<*j*8^a`fc@47Fa#dNS-HL?aT=>r1{PYp}WF1c) zz~X&>v3Nmm+zJ}w*egi|H8q~6MoVm#?OOgb2|EhRrD31< zZLe8ulcPIXqdO&@jCH$C_sj;57EExx`hVP~{~uM|sT5G&#tgqtnJ$XjY&J#@^d#AT zE;+C8Y!*vfJ>Hb1&r7u)qa7ge6i{8TZxBtP>vu;alIiZAy_5R7s$IiXI5=0b`wT(V zcc2)%9H&DnEa-<*U;Ht^-;YkKhW;=6?pn?D?)123an>Jes8}HCBRXQ*tbz&EIa&n$ zwNT&tp9=LFV&vZASPxR-^d5pyE^D*k!A#ITaY2>t;OfJs9YV*9GTt3AbYdt2#*()m z)ZnH$&ER+9yHi_MacnYf>o%{f>*fVyOK80@r@8Iwm!6i0cCiM9a!k8; zpi>`N3-inv4F1w40x z=*|s}jwu~i)CWO|av2l_A6|J~bl!b4xmqHubQQX*L)A`{r1dJQOCfLhGA`|UOP4vW z{qz8O0_|1QjO|{y(OB-r+4v(jwfN5iG}5$XFPYrg8N5=hy~P6M$7q@1~1Z;w*zNXmfwROpt+4^h_9c`cCL0b=w;fo3hNeuc2s< z!E{68v{wI5oAiE*#b8_7(9^#~cew8eUIc{T|2n$I{29Tgll^sc@Aw_TyZt%3d;f~= z`hOSQIsQ*X_pyJ7?gvu;X>@l7Mfc602>$P*d(S^1_&=h%3GKf^@SA@i_!obJ;DZ4K zUteNe;(ll9KC=C)L84X;EWHYJ6R+|YH}N$8dpGe9e%-`VRdTegbAih4hcKG4_N^&_ zvim3ZW%p4(%kB*t3#rpA)g_W^A+yMyem{wy`4=bgl67mnXYmbzMN2H3f<#(Qt}kUZ z&J4e0ZxP|$(qk-Co)W%ifn-?pyjY!EzK%R648ZM~!wVZ3D%#nv+wt8N@XZtCJ7giotZE`+_i9HkHD!j=PP;PfiCFgMafT9wX+!d5u=59I z=vh_f2%+)?L(xV-GxVLW;|Df^qOvCWu2%RP4M7ui$R@j40-RfjTM<6?9J#9of%eyj z!~~B(iv0`6Z$1K?ISWJtkSjzwuhYEBy(qKu@Xw$X01`EgVt8ddP-9b-Xgk=I8JT@lU<8CIvR%vY0kAnLs1)* zsuceTqI$^02X!lD+;^0~u-co|zSlFhML=I;)I>^-NcyX+CXupu?V*soZn8E1X2|FB zsjyNXhbSmZoa;ewyvfp!N>d!iRiR^sDAaSrR;~Km!y9eRDGL?vOOf9`pw`iOLV5-2 zy6<6L%2Wor?lJz|czbAaP=(o2d zk4NV9E?*6C>xuZ+N5bjR2nV^X<8l)|&Vg6~!+S=Jy1i4%s!aHH?Y`eG0O+?1nfd1U zB9JyFKO*qH;EwAr3ht(B$I6TZP-haX5m#;%dwuI^uq(kAk+22A;1VzPQV`_uT1~Ts zNqL{+T(*IN`}YJtPs-8|u*2r%%Gv~VxJ~PPzhH;u@P6f!h!^9PV3}9Oca#1N$fO_p zdy_ulhe^N5uw?F2TjfzZ5xuR7x@VjNjZkgYBNWIN%EO}vE)f7-O{WLW3Xf3k7P7S8 z?+aq@KOlUdu>wNDklXEkok}Jp@11vB-o^`2Y%q$ma5>~K+fiPpe>#pAjsPm|YTp@h zPeZtEaHCqI=EN%;pk&<2ZtkZ2MaP|*mKbWL1?wKrQ!n5=r`TJ`SY8Ws2J~`P68FqJ z#M8%_1@+ujSm-8i2EgLB=>DYdzgMnPbA` z@SWVTx6k2?lfCnocnC*axZBOyk-?5aVeeJ~OG39rY-DAas0pj@_DK;Io~a?^g%Q*a z&m*hQJ=KIfl&MMl7R!9VR#>>4YNEx$m`8p%RtT1qv2Bkuk!$QEm*Te0feKv3Ypw8a zKll~hyIcSMD*omDReTTHVp~)`K3zc>Rl1LHbePGiA1WOFlIH`9`f!P6P0w>+bpG0F z&{YZ%4#N=>Jnbbfc-j}9Nm%<8o=%ANc%Wl}cd#4TyeancAL(7cNsph^H*EisK&3APRQfbPr5}GJ7W)xU>1Eree~c-7nx0>+Y6w{UJC&XX=QQiChj^hC z!0^LlR~-O`pUoaeRSe5_k4EaGv;7g@WnZXMmm}kS44A6!b&t=Z-ph-|8}?u#l%jDY z5sxKf(|I(6Ps)TREzPu8_%J+)ZX??T4qs;+TgofUfS!}KANm-76 zNY_&VZ5M)33y-u6hNat6uzP zS3UD&1rn-k#Y4Jq211PrE`}TX$%VOX+c!`|0{&BJ4@(P3DQXQ2ER}pJ4>`GMOfq0% z8NZg=^)#pSvc1xzQa zsh9WVeye2XJU{WV&udeTzmJ~hvg>a4!VdGKdgv;?)e{Q(gUq$sV z2OjsWuNKYgZp&0L=!e<882&&Dar&1R@xHz5Lwv1cA5;EWqt}7_O{4dgUo=u5iTcNb z`0ZZ|eyKP1mL)nLUYiGOm(|jN{F>sogZK^5K|IM%1b=@Jzs=DCw3u9QlSZ*pbh#Sp)4wKqqZ)Rqr5L(=owcNiX#1ubZhR}1nY(r^JOUcx4K=B zS2*hKo}dkS$U48lc1>aIWB2PW+q#M!txOn&MNz#5X!R$bdlK=9UKNVOb02Njy*!*a zpPq65YRHtr>&AL*+QW9!Xi%idwwEZ7^K7Ks#Cprf2iG55R}Z%1zc_~vNL0>yg!DC& ziWJdfF%I7!g%4+P+iE5={)xt|nR@bt>*VPl8L*j{ ztF{JnDI729*i?cOfMt&FE7zKu&BEEg-BaYhZu;Ft#0Lmk9>y`(*mx!t%$%;H`zqYdE(#Qx{4d_#DyYr`UE9W8 zgS$fr5Znpw?!n#N-JKx8-JJlz9fG^NyE}y7_AQd`o*wDFXa1@EAG`;gt>Ud!wXWM9 zlIBJX!usVFF^$k!T`SC91@B~cGMP?88;T-6(?mi@A$wZnm6jH{m8??AZ6`Xc3ic4f z3aI)_qD9>9g%_ZCTl)$*ey#kkIxKGjP9S7myp+Iz1OikVQNyA~-ucA&H`YZJ=rs&w zJk`hN%1)qbwXWzn=tE(i1nA4<^cWpnWLzA*aCv`Vxaetna&Xw`Ifl($TNT%O*rX}c zO>4vCv|5kI2&B(#=^>44oqRXZrX%5Mp4(1w@K(j`V29ph{Au5gXaUj5BGK68^XoF4ynT6lrAJfXSXq-6xkp_HrSNe8iaSOz?iPTmb?}^`p32 zU@a+Pu{6T~^+uuvbeuI9SR)n+=d`DhLbfkuBFIIS*=~*;ZPhz1(J%c<;>_Qjj;9+j z?&TJ;X4FjvV-OuD&042E>>FX}3obT`d>7M6a`Q=wQA5bx8v6S2x+ zF5F&_`a|_Q$~{Der*|QGqO?nmpu4$0DyN<5u3Oj^<&LhCW zrD}pGA7oUg-5KZJgK}(1Va}#t4g;TT72K(HAy8kzPFGufzL`Z+r_sja^Ub?`#Qtvv zB|fpIN)??A^~82{i_OQaF$`@)rqD7pJCC8MlW<^sHEUp7s! zsQorFN5f}^F9Rk6_DRLUZhZON1gi1Nf_L6`zYj!;8Y@l|Un!o}`z(IC0K?sB{Mc$F z&-eD>O==$>8P{4c!|9<G#$=P(IS9$J&>d-MCl5!ka6RSUX*qY8dqdf8<@=7g)&E!Mwk09FNK@ zmE=q>I?;kcp+1i`zrV4-4^yg2$K5aJbIQVTLL=T1Au7>~CA4Jyc4Sd?!c7;iSxj7w z7gO9A57D>&=24->P&q-~Y)_ANi8`7q4xSkpJc{NBB3^FeT#m}(<2x&bVv!5jVli9P zn9NmauA52S@_s*d$2Go+1>F<;bsFbj&dLw#M!wxDg+0Cj7ne6@TH$xW3kBrPO~r8x zG&uYn#f_p@5X8%dYp$HISpMP=r82cv-m_K*6^T>32v(_nCwc=kD?v1iAC0IKuL?Ra zK{i?xNc@+p5_ez|V_P1A;T*c;KeoK80MCy@nXx6>tKQqfxK!mlLuvJ-Dg$qm-8rLi zBTqG@$3KIbDb5vrZCbN}`eF~9a0=>Y44hrW4A!xL({ht9e114h`@tEEV%J~9CJ$MI z#087Q0LbsAaq(G8hlA-Yus>Zoy-cZUqf7X_pul}=u!Dd=Q_v5P$$f!92L{YZOZWpl z(Y`%|gWC-Oj_IhcM6H;|v!HrZv@Z`mr3(SAb;zeeJ1vU>o zU2Ao_B%Q&!cWqnv3SYx4jIFv)5MwVeSMi{)VVH{;luJLYnOoFT5^SqRoUjOyPtU*a zaLP*8VX8B?-~pVxD_|G=6pD^588U(w&847|7MPhi48%i3owFV@ucP%87Af12# zQPlR0oKiiXcs}L3r0nKy6-}36+<{K`%L!r&@z5OlF=D-=aNy2}(q1mp!f7_A+mBm7 z%t2sX0)bvaVCsY8<>Mf`_}Pr>QTOgb=OR5YhW~vjfsl9_`(m66zq(8dA)`UN>9{wYm~Z-lM8o+Z%N(Ky0&%ZT6t;7zPf%Uht~C;=o|3)CFILb2Oq28 ziNdQa9B_HSGic>u9`rQQqm~YH;d#pXdd6MX7V0^S4;KPUn zg$uk`FY78$np23K)<%RTS{&+dr}e2fcpwoX`y)VsUqCqGz5q2Vg0pcIo!O`YOgT%1 zTB#WprKRZyz+{n7>civ8=W;J~j|cF3*01$xnxIK)+O>9B@%|T|rx+CxEMSTzcB;o6 z;oOYJz-=NqDH8(YN+C%c>{j(t=iB$?8f{X1Qu=mzW`WI0bxc8_ksuB|QM(rXK_`fC zp|F!u!8Dnm~HZLPKox%1|u?B2Dm;5$FjkL$ft8@bixRSQ-}B z&HPK?zp^wK8{3rhWa?|Lxt?E*K)PKaYp!s#m1}$3?yC8Y!*t*FF}9Qw!49bb7J1R) zU`d**M{S5l{X<>ZW6h~E)V?Z1~vEQ)X$Ay``tSe+prY-CQWmNR+C&=! zjHsZdjgex#lha{>@KXc{y90wXzs$*`DIpjVcrYM|&kY#4m$D#)d^Pa1ry(W*TlcZJ z@#D%L)io_0YiDMZZ*a@3YH!25GQQnX-X43pxL%x$loNPMotS5o=wrf zeH#Lj%Hoqu^C5Z9fXCNsYGxzuvq18tCd95EFm#W^9i2x*;{y&iNFl~jnOvou!p^sO zA*bVZfx>4)S_!NGh~h8GkeX5fqWH_m(P9C*om)CAOvMYdEXh%=hu^&DJj-bMOld^m z&7AA;ZuW6AJVFfg1q>98(r`C|{TyJldJ^O&)}= z->GidlhfZBu#;JPAjn%Ft9JH6E|}y3hVCzWEH?uR&O0rGSYuURLhbgY_<9zZnd@-@Ngu7 zf*PmI6u1`Uv@5Bebn*J?t_3R~Bhl{*3R^4rp08rqc|)`hP-}hx5iD?|R_&;P|N0c^ z#UqfK7kY7hnJ9!~zW3Fn6r67Yfqw`~vM1VQXs*gl9HgZt_F`^Fb{R|JCeqV=wHYkI z6rLIstb3jK{<`K{srB7%%SDxz^Q=_-2q_TqbCh&O172W~3g$vmo2)^q3r>7(AA7P8 zQd51;U<+1TeU`=tk|p#|4C&sRTiU=hCFecc2EgGu8a3!S-)hp5cmiqFxdvO6Bw3(a z*%H;kmom&2D-=E3PMhRjUAkfzhG!mbC(B-v9)I&jH4Vleu*N8~HaS%jsuwV4RN@0D zGo0)j)}_So1|dO4-1w{qLra)`6*GsXJ+aNbW1>RwBR#HMvZI-<=r%EoZEFy<)Td=*c-XOLQZSspp>mo~i z#T4fBDUEW3C73Q5>DNVZ&g@Y=-K*6dmyYt zJK?!xd-lg_i{`L4v(?VWJ7mk7Pte;1TAn{@!9Ipc?gfRtJ(u^oQLW&Q&$XcQfTh~9#x`%&^>#&qk=@S)!n_fLw=*`|(QKfgHxX}TJKOWEq5gRBF6N9f+$V8v1a5X zwpZFASLI8noI?xRKF&fdQPw9l+Zs6Zj&m8~Ub9_Sep7yjth}CwcEZ+d)z7nCb|iX< z{80US(-Qg8N@kTJWH%Pz1RIRcpBRe?<2*x0wzA|i&IGWW9lI8fCyRqKv&PIbbO$RZ z_BOiJjn}tAEj{Ys;2@~U85c>vXC4;GjwP$nSc9)=2Msj~HM~*Qd${s=N41wyopNvb z`LoS1xkmoPJ2cx7kS+${8Lbgdc??6OmfEX^5W^%G+&AKU{9gP;3?i*5RM%-bL`K0q zJJ1R|qrf}T1sm^<<`+DPN7$?nVt3Fb)At=3(Wv64b}&}%3x}v}(K{yW6cD%Q`db8Z zMeP)2W{#IUgdl1ciSRUVH}YZ-PfVlUE*cd8KFe0tgmXAZkqjicFUa!qqBq-Y^m+M* zz9pNs%J)AotT!xtJ~H8wks2Yb{Fohvkhli9EDh^v%4*FEsL`ThzgfI*r)VCpP-gya zgh4Q9sO;eaz8%3G_W>p-n6fQ&UohWkOqM^fK(of{>vRJ_?!;8i>429zaG zD|FFtM>SjtOdju-)1D;nBug_p<1}%~sVdzELHk`&-wza(UN3bbtc_*-2i&ezPG2A#2vy-eer)3d9P8WTZ)3lwy!}2@SD9wNH zSy#1qYX;9}a}D9mtxDqJc%2BiUypJLI9fLe^%c1V4ub)x<6+s(o0bj_JI;qMX*7vq zwp4>l*dmAMX;q*pn@Cf@4cPPtz|qHoJE#kCpwHW~|K;eLiOxl7!8siP9DU|sJ`VKd z^CF^F3lfLxU(0ydQ_KYzNme|fl6}jnJ<^iFTsSjHT3-%!7cL#LZUmSMc+e%iv&@<- zRRml)W;pYzvR)6^FFKkB_c}xzAVN$*FHG21+Bi3^t%hMDUV7?UC#BJh_iGV7EV$FE z36eAmU-xZ3=$(Wd&lJD714us5BnlDE9n^Nhkh$*TJVFghc&}5$iLu{FKU1(M{lq3Q zPor~YBL|a|JLX4`5Hm>30aqr6YnRCOJL^QN=Z7iR-fvIb^+s20t>O7{Q>-Fx&OCWs zt=hqH;B&!^m3wg=aCPz`nl5MC3<;D`VeKfV&2K>OXFo;G?S!iG8_)~+yaGK`#VgQPG9L3~Gg7D8o9x2`10&!) z&IlrHWkl2Pu4SPIePG(B%6UBa))i1g=OeXlD)5bgn*QVz3A~dKaRyv3LI+j`40_N9 zRzpE?jFqGbeAerb)Aywe$YQ)n?PG%R@eW3Am{v@JfQHY^q}UtpZ^LIQYetX;p?R6* z`5SYsnQZe%$YuSxYSibf}omeA#V@+<+>DfAR^H{fa=4I0rk9J5<=MlOghD6AtT()XjU zPRaz-;-jD8uu5m*Ec%%&ZR|JJRY}ujce*$*Reu%*y4^a&CKseUD1zlw6wGCa zsa1{sn)dM#)PN4#eI(&J!?XlMEEX0x^#@um(HHRF-z?x2kBx0A5ApPU`*yj0l#2M{ zkff=}(M!ASd2_fHBAYqnVjIrdrXQqs7T%>SOG9TNJw6B}8eej_3$S+|R~o#(@)PX= zLJVGjdljB|#h0ICzyE!f>1M%*&;J&|+2nrvfjWFm{gv&N3FW^sPRmVgvn~7ng8Nhe z+!qJFUZ6Mm9qr9P-Ou1HY6C9Izi~f=&(d;NCAhNWn=|Fpu9<2>l#zt@#xep<(8F@7 zA?nI;f=`eTPK}BXp~l>{uE^4JTIK1*bFkm&8ZtcJn%65wQPDbmt zD4pLRda^DN5fCrTBVom3QHb1T6Q+ZB%=^=Q*DF*j=0&OB>e-RNGv;W#^0zq(lt4zJ zF!vZGE$AT|qIBJ|AFuNbC4{+kzZ*9RGpV&Qd`GDnF`}M1z@1S*%NJ z0Gx4Tzkw_jR+d-^Jc7?u|Ce;n3m|+TXdy^@o%QhQMJ7Zg)CNm0M?q+vB+HPy_l3lS zqYmKJZC`ZMTc5BbW1H=AB$Rv-#6CN4fiOsl+;%sC487rp;{d*S1$+wt;8y?uABleo z0QeoQKLLNU6#)3Gy8yt~`VH_=;b}kv#)(hle=xQEjql5J`GJT7Qc+wtopkh2bVDe2 zbGj^0tU+sIPR+S7`1V)PB`%Fb*Zl0S;GEP+wb-yWw%Snbj8@Y7Hr~AnuQMUjfEtY{ zRrX>t)ZFU5yAe$%WRZWi?m2f%MG8X+8e&557gLJ5c)8fHU?ir**BF}FOzF^OOLg%@ ziH{il^fBO+2;C#cjl%db!Z1&_=E1(2X}%zpI^9rZIov|mL#-~&shP1#X{)jKUS zXV$)Vw!5nZNKr`vDG*r!YJ(cE;Y-X@?b>ulia0O&!and_gTq+WI|<-4AqIwJZ4l5| zSf+(1Dg%?h!9D6L+=EsA0rv}B)R{=9Vpr0c`Ho%i6b@lm``YO{tA2iIb_NY`;DMQv zt=$n%MS`ACbYxOEX=TX?IW?u$0YZlUZ0a~dy8WR(_SOTtkyLp~cW$+oR{Cd*UFLwp z-3+OM2SM*(o?5lFWLp{7RIOl*2ZVQW_ICx0Opp0PoyVj{+uJxO)ycadM`cDE?NZ!_ zpA|%n)XkJ7V(lEdt&Gtg| z0fF)l$7QWF@ja=R;&IcFORtn=wnle|Y#_|}uO+vqDHNO(U0{bo@R2Ry&2Wpk9!HGJxLgr%OU@#LKWZXi0 zDsgVYw+)boS@Hox-U;HCJyX<-9bK`9&iuvo>MKX+m2_ARNPXlgHpM2gOm8wr)&#EJ zcL}>6YQi-s4|ONIq8P^q!5NV|N;m;GU(p+&l-#ruArVh%6Oi=R1t02zKp)9kv6AnA z4xdtg4sB7$N7Xp+khO|6*hSJx8SzfgNglmV;{j2X1~C0asAK7*sUlR?KQXnqc*1DL)(0mj0ge{sy=lEs!xEu>KwQ|8I=G>r>7u_HYTB45)F7j>jn&;j~V*u}r9 zAZn>2?*)MfEXeY5FxMt{eAG%ZpYs%nMZ6z&25nfl#mGXh|Ew%DZr)d|R5F4LRjxm& ztr&N>HonGymC*fqO*xWZPTd98Icze5NT&rQQYaKXwYJY)xZ>sV@v6TYPm(>luH~bPkR`y!FMDWFr=Ata(@2GzL52_CWP<{I^sxST% z)#pZKQuRBw$Xos$)tfDeuA4^{E`JGlyxk)|b3&$w(oUV~&Z_hE?O{Jx7OTHoR9WCz zSpU$jQM}uZzk?Lv&>76TX38FmIQ@T7xNk{vfLlNVj`<4@TRO%!q0ZSZw*gBn=L}yCsp8C%JC1N#owqN5is-K*0W)cqKjh@DR=Q@is%u1;jmquoMvZQCI-#? zoL|mTY_RZ76PmtqPTeoZJ>I}6UMY&Jb|&eH?M?ZK*hAS$S30D zsI(G`b7Rl}I1o=B_p612D5WnW=J`qxulC{P^)z$Z!BwD0sI#x8wbRCYoW}ed`t?^S z43+n|Yg;2Q=b)o3RPAD{zp!2lfc1&Lu%7f4>nlc1V*ZBp@q2%P^=W^`dYnJ79{MyX~F5|z$`eo!-tmpnate^Q$v0md9>t+AIdcwcL`Z0)q z#QO4o59>Mpg!Kde8tW@xv7QWsqOrh#Y`0Q{Y-zxMl)DacrGgU~iw8#aBn8a0`9jk; z*7C-;_}B<7`6Nnmq>PCTB5^%4ho-tJPM#CPeZeSnJKLfN`mK+JDr-?VOz>wl-DY{) zRPhg=v_+*pT}D0raN2B4L~s{+GYjpcE%-0&`Q*Q|=i7hT^RYK@pA@YLJ6G=0>#L*a ziwxTD6_1=uP7)B@T`f=7>nZ2oCuq!B&gXa<*6}M@V}}zVjdC(G^wYSjezRd8X!h>s zWt|Rod&hXbc{0}a$liFr^CV)`UHSdKde~LMFFrh`u^wdr`e1eE*!3zz*fHYpllf^s zlHwjQ%?c#g7_oqyIh0>DE8NmF)O%qY-Z8w6&^y4^y(!onlokXmme0E9X+s-E5(2z< zJE5fUFp9bIdwdd>i72l#qLuMi6W)jEUX~~wF33S$pb2yGqEUdu>oy93InP{_7NYrz zmnc1@3y{%2B}@wX@g-t>;a5iATyic+OQ-4SHKQ*MsmHOsP}KWFUW)av{Q1DV|IVL> z{`g<{^WR_ndGo%hp)!(IP6By!5!qWlje7!)&`ZSi;QeQz(UCDWdwSg4PRBCv-Y3w= zermX`gvZ{chT>e{0#ON8P+x!Vy__k&}JXOF`N(9()A`$ zcka(VqgFfPU5;0I_OJ(yS0M?ApF&Z2mO~wG1HmR?Lsx*7#(i2Tba1dMn01U%#6YjV zRSSbUvFZrG&%1-LO#74pbEb-7SKOpCV^=f-wuS1|n=MeQ9Vh zjAy7mlrID-9)d0HPK$1&)9|v~UHeh0z5QA)JFp&VtC?%K`dCzhF|(zqQ)e)ynt2{c z3ze;S6uDBoR_399Y?uhGFA&S_t zwW&gV?41|`GB};Jkk7TzF#1Zr8Fh%-ESvt!GiHfx%&EHmPi;j&NXLugI`3qX$y9?mO-Os6zO zZ@RSreZnqgp(_u@9Ce+O!fz zAzCKmqcG+l*MW^CktOnhv?B`ov}@ZC<%^8Lbi1$7PYkA}=H(Lg-Jhj#aoa4mMCvO` zqp^uyN&dgoZjKPuyfGvA+#>HmyRYbspUR^bwg{?bP zkUPEtZxQP$ZQZ^BPA+vUjQ$jEENgh-WLn1fvvgm(7%+k04sUgVod8`70hNYJKf=eR z!m2FGFLlL>1!k#VEDt?vif3|0JfBbdKDN<(djfgFnNuJA3M^SxuEst-*nv53T!cH1 zD!VoCO&7}PN}Crj_i~htR|<(@W48+GYbqPoDY7#X8j8UQBaclF z85~2%6#&K;elCj-29JZ60#k{;vER9>0R?JbL|fQ#(uO;jh=QV*0Z?rqvcb%50wE8+ zW&QqMOK48-RF}=}_U7lD@jW~*eYHFVKh}?)9nEQ{HO>;&K+p#nyLkH>Vij?3#nGcV zDPcms^#xSCQkm(uf2`hmd&&sS*+&RVxZ=h|Dw2>=Llxk&w7ZSZJQvWx`E z#ef9Ol+H_Tuf87dd{uxuNm!y*x*_Z;s^1{tidzzDnt`$p=tBPrVf@r< z#wHGx!`k-u4#G11##Vz9G1gWe?=R+l0PY%$D3tMLN2uDt zLg}4+9Bl}m@h?Ld;5^paLx+^m*OSt{+DTI((L{t_kDoZNPh8L5$c8{B0Q2jp0%V#$ z$1rH(BY*^<_VnW@w8$*ZXGPeAk`W+wLb23sT06O%N+iMv9jwFRU8yvzq#NTT>(X5| z3_L!+$oH!{I^zeIh|(?Q#M|JpNmQxbZNxc7-~NsK{LZ^UBG{uF8 z{X)3)f@5#Wfd89Pll>>9ru&5Nr&2@l7@?G>i$v%`M({b+AvV7nF3dgJGN4i@I$~P? z5_+yF@~B`l-pSd%^o{YUB@8h15%3goKS%<@9LSc_2-7*nFxyP;%e-(u9W@wcE$Mt! z7I<`N>D3$|aNG!X$bQ2f7&?5fEfPb}86BMQ8paHCjK!?K1io2sg-0jwMuP|Byl28J zJZsuG&1|l>Bf3Wzj9qUU@YJv|s{J9E)v*ZKv4D^15QMRLLH=8sBV1j%g}0-#!g82) z#OurIRRdcvrb^$mEK`@}ABKUJQa@4KX1s>!?J#1YFskFHk2f^4my#HIA zVQ9zkSeq;4mw*({xwYxMN;L!jAk}RDNvb*7lKPueqo@mira=; zV<|Qm8c?RQm?WdRavBputaMjJtz~CX?F5p3tPz9NNx`+J1EX3Y>)|XuwhDZxhr%J- z&Od}PCedOZ&8bcffK){Wf|JuXbfXqfgjLPzV7l$lP#2fz{9rityfi5H)*QBc!^*aa z9xU9Yv-0hPUiGcZ80NKiMjL+e?dF;nN7Hw`>%a+XYqE0Bi-akuV6-bm9KSWhy=a1FVJH0z;1BG}XYsE->u`%Z6q zATU7<`&|I$uES5GpK7O$qH3T>k{oO6q%o8(J4gt*TxOTDo`HzxxpAObvj-Y%ewT^9 z$Wmu22xRTkY(Zc|{8KFaD(G;$8A8iNV#(E40R|Xldu=*<*L+T!n7l!T@V!L*2coML z{twO6I!`gog5*@RQ$v~G3A_xwc}AX}*~fylfj>@~v-fCrZ!&-$=20TwGSb zHnm62U|B&l({k(p70g%1ah@P1!EqI9(1YC)rKq05P~pYfOJ*ASn!)e_HWUQ1sK8hp zsNV8~vHVA=2LAX@Qcc>cR8#y*s^Qm$`SCwXH7hW;p#4r%=VH#kq#7N7RFnBjsv&=s zYN|#o|CGR(`6boBsQ+UEBje9f4Z$B$4fmg=nxH?VnqLWwtIkD>-x3&+e@ZaVs*kk7Dx8s3LMQPO{bGWBO;&T<~M;u^J!AjN> zkQV5-YX&X{{%TW5Ft2dAXCVCW0w_0qeg}w(QuXlWZ)FPIf)&wYpO2kIDQA+t(mzG( za1e32y+=QNf3xI{yruh%_83048XS9p%7DlHOeoC6V6OjJ#Y4LkFS?cE%DcRB1-;u- zNxxYt8k)IIq5{u^0yE+Sdua@8DcTevS}&(Z$jk1G+uqS6<(dvKgE)gg7jtQ{e|&-K zd%5<05~TyeA_9Sb|B~H57rAh z3Vtrfuk`*K#&dIp0Sx90|HR$RcvLF(21^*h$I!>@gHNEPP;ir!UVumPv`UYmp3n}dRAbk-W&4=!HN3Bz$X`k z%KVw(fw@@-I0PdQg@dyA;xwQ-6zGYT>W0ro0|2!yY#Wfs1MEL? zGhq0!_ykGS{#-<~w5uJMA^(`FVQDuuzO5|LwtWzM3(-DC@OUGW+3ISPbe(xyJ4;aW z+&;+mLF5Tgr{FsR)G1oloY3&s@8k%rS|U_yyC!h9^5b?1X?l5r1$Mk%@gi8xkHMhXDAN{|sL= z1Hu3Q^le!iYmn(cY&_a!A1DZKtkY``KK1{{9jQ`75lI=sySIH5mbUa%iUY;h7q1&p6ttSWRSu6A-5 z`pxIhFjHZfP<~{g@JalveNZ2w^UCtb6%`&oK(AXt=zMNrtVcL3Szt!N<-!8Kuc%Y3o&yYX%a?DPC|3K9 z9H@|3W^Us*Q=2h6aV;0@N#J<-F#!>Xi_>|3U#pmBp$Dq(=tKWmt3a;HhOeOO)xe{p zuG8v;U~(T{wqrw#Wl;;-ut=kH*_twSbDCrw<&S0yzX4$fJfx_2!@jz`>wmB3Mm*nT(!xH72%gMb2iY@Wa2l0X4H-J=a-nIF}h z(1G>KAqps9O!_2nnNV(c6({I!O0i`huJJ)&<+V{E zeEZs{Q2kq@0>kfbjf&?F@)RKvaWCrh9xLSCn*kdP5nVd+Xa}nf~ z&M`*GwblgY3J0!a7+@%(dFE^mBbT^@v~D z$x}Y-0-Y~?5XApc!UydTwjqjQH^6D2%Lz3s`dH3nEhbPK6O+wTbh#VpM3OMJ9pCE)tE*2g? zD4r3=>~}p~y@${&G29$(39S|vfMASmB5U^f@Pl4&USzV5K?Uo}=jdE;?LeTE1R;d{ z&!Ni-`M4Sfp0cO02G_qOEz)1x6QDoa6W>DvODD}0L;g8wp=g;#x*Pg?d!jz+SJJ}i zQW%i52>mT-k^XzqLe~!${WWO;dnxStnzX>_%zHs6O05X;r8}t>GEsy2euHqeObqBx zeEiv;n3yL;O7?5tBnHAH?iJrr>D4V30#ZiUU6fDxwDJB|)QMq3Xrwv{*|@p z>2vS>x3U&L{>WPBlnVOFOv+XKm@L=z;2cP>@gs7NEr{M$9Tiwct6q0b^3QI|*YHaG zEG9wl$w)PdK)xRleVbp4vi?J~l&~Sg0H*brRDcvOP~hYFsDhOtKQ}O-KT*Qw`@Hzt zpQug^%ZliJO0p>EAP%3_;d91%EY{<6DDT^EY`Xz0T=Ubt{ksRV7LWbpi~` z^^@zE8h+lN>V^m9#ZNSj4O7Wtf~&I0vw*4$SF#x1adDdko{0BYzPozsMZ`>rAozW1 zDRfVZ;}}g$gJRwjrNbz=*4?Lm8Sk|F+9wtKjea_M@SEPTwKjM9T>_)jlx65b`N0~C zeoeNxJl#Auf1Vz-nm>XT|Ag-&E97y;J<3IgQvUQ{ovww#5RHbkLm2NVTyGGu_9JXG z{XQict@kWtdf(aGT@5{aUJlXUxiU_^OaP<8BD1%qh#{G59fH2M<&8MRo68vorf#&BN!uCJSA=t1+nu)e~ z|E~;>;lJXR6(v2Q8x;xcj3g=GHY2=$Y|7zwo)r1IY(Pu5;uVz?37ii~kN4d|QQxh& zAk}zm%6AoUCh1v)?#cJdL7guA&Vk}t)S%vE<`V*C{%iAs=Zz$Vfyh`-=gN+kJFOnq z@J(Q=u3a53iF@F&@mZ@0a>OzA0zueWSS?A_$HM0`=DH=+96oM3BXmhvGmAtW&T(lv z>?P*9Ou#9FDO}^{dF^7 z6>;leXEu6u1(CAw<|wLa{hp5XI*mAiPwKD;wtUm?3mMMA$R1uLI#Q(!sthph``LFG zqxEQJ@k)n4(aIS3j3QN8T^d(Veha2$myt^x`aU)!C6(*TOiYn@V6$wz5kwv5vcNjX z9SICT)HObhBFAv%vX39b>>`ykH|P-XAL4a}FVIvCV8>aD0)c~jJ%l_+mq7z-crjIa zO+ml$!=^^a7H|F^lqWv_+vSOf|G7L7!DN;R=uY^%4fha%uSj@SoMXihf!d)L4+KfZ z@<2N{{H;4-!Mjm;H%?^cLB{~bj=#Fi50&u=dI7yn%GQn?jJ~SDeBru)Kg2GWo1-zR zqpyb(Q1-DfQ>WPFpU!HqEmasoL=^EF|Ap_b9Df5RWmWq_BEu`h8tCz{!~5qdVvy-e zsJ8hN-w|Riy_fT=5AO&x52#Q)Sbp39&L9BiM|z8e#Kr#Ps@T#8^!d{j&{e_^ejFr1 zHW&HRsYl=DslsaJ30xirgkYa82as!L zK>Mlg_8RtwwT3l&GX!1jH?tjHDoA~<4+1;w1%QFT3|P(J9Or9oUI=cUSpgz|)jhm6 z>+0~+iI=FXJx6L~x7~V9$VDPN0%BGkuki)kHMr6e-*=ba=2NWG(Z4Mm`9oabbv>^BR-*ubJV(PQZ-IV}J|0T`_Ow+>KSTjKI(}Y7 z)~{`Z*O7$dR@RD{H=}L$_s5KCZMXeuy9;q&C*r<&6nbLSMABhzF}4H}!E&e}>in!w z;J#KUq8z<&-WB-HM5guw8Wi;K*E~NP6vd`#{;(A65wH{s!S`?+Fyck_SSx*Tk4wS8g5_~U z6Bl`8vnghH_%5+*4UWt-9@kffV^Ixb8+NJN1LhRmHJ5eqQpiT|49LumCRI3W8^L&ixv zUr9ddO=^r+DZI)DJBf%nv zHZG6NSO0=?pgJNSz)y5%1J3J|*9L{~4OhuvedsZrPwg3#-?>c@JhRrcA|?R`u0(>(M<=8VQH;rC#s0Nh+iVy2}td zxFhdf|Lx1IP90V>D&p52Gux4M+BB(__Rv9L;~pxI8%%VsKUx$jb#Ip)SbnV}V4>TQ z)zMc`(p9)waBry1*{&$IOrKgsDs2w8N)Zw2)*z_+ES6z?uOA0FPBC4lO>+Da@lqLq zWd0uP@3EfAoGGC114V@iU8H}MoJX*(3vy>l2@2^#DP*Fb5EykP@2S`wLd8RA8IBiQ zwmP-w3t%@E9&J0S$A>ZunkU&U6z4$>`Tu{`|+^s}#Ta^J=eE zir@VCu%A^5fIpwz(Hq>;P`Vv>MOsgn*>#k+@6El!VYj>_;XSbUwkVNzK)7W;2-qME zTImj_+)I*TjSH~Kh~8FiG*E3k#Z$U})X>TiKbrcikUf>M_r%m_YxfdvL1s>u0;wJe zm`IRmee(8pn~P<=-8y^zf4sd_RNrZuwH@3gxVt+9cXxLQ1b24}?(P!Y-QC?SxRc;P z0t5~I{Yg^Q)zwuqJ>T@a2fss(Sc}E=T>IWzjSZ}7;hp!r?cx{LMB-`Zx|CNx!QL+M z%P+8R$^xSXfW0bA1KIqSnOBjlbFw_D37-5Z-|>e1B~j^~HA)*$oLp5wz zyHy2;fd!YSi=(8H{POdD==44asO=bz6-l9QF32XS;4sIf50j38onZ_i>k3ppSx6C9 z-!hFMJjk=F6TE4@y6AbZjtQmYN#G^3mrGQ%Ew~YAk&8?HRdeX{QgaAv_)>E?NRC!3 zS*1Ye^H(*8aVh)1*BsugYoaw+e*DuV#qWIo+a<+se81XbIE(lZQrp0eeYJV3*~(=SF*!(v@C|W~~HkSfK3; zTN=swrE;E)H-3*<`&F0{t>2rnqAJ@{-s@eiYK>UDYu{y#xIi};f@`0yV=zu{N(rb{ z()s!Rdu>cfG3q%Ama^OV-SlV=|D zdx#PAswPc)RKuRUSiPI!{u?II1y*%y;g`!E-J!-;Qg2uA~+aQ%l>W z>Agq2zb8IEGT-0tbK`pfy``+$MWNonvJxGk=&+lKZ88>Gk%^D(N@s*lm0O&qfk!7c zN!Vo{t=r+-pwNF$b|Kp@a_2Pqis(pEqO3Y;hj3nkES2;jj@I{l!iRv(K)AKruJzqlL^Qr$9P_;C*6B4o6{ccM+Au+QZAbFj8WRC zl8Fe*`(H-BDgHMjFZ)kMp7y7ax2*oAzpYXv#18wj-f;9+y2=aJWd1d(m0i z>u`)p`|wY&UFuX*UG@(QXL*zU04dH>_f# zhP_9^xc=kuMA}ayPx`mV6aS5o|HttJ-CrB|pT`qUy}ut%c>Rr$KmU&$Py8>9yyrg~ z`M*7$_*WzUZyry$|C>g>5meS*2I3dfLjaf_?|;SgIR9y;chvX?)BovsVr}vN1=BxF zn?!yV!L~Emor3?v1%>F33ktfHf4QJoi_F8CImOS%esS;UF{1cX`SCq5))wOELY%xV z;zJ1dGdV$ya0dgrP5+LTUzh&)f34*U5#i2#^=!`6y3H)B{(pG+I)InQ{iBzk{ezbu z{gaoMhY3+9hyLm1iM25QYo=$kDe{r|8>asP%S2)iUQ2W0@;92d!QX=L}UJ+2@2m>p$Lw@bBY%#NXmPXkr-RJvdgwOPby{uoVUJ z)=7=43<0fn3Q&dc5Tq3kml|-xz|D!vM8jX~+YJ~foNMg)9q8e5fAKsx8t7MUMr6N` zrL|E5Z>oN>@A7npK%O{s0TjO1p#V2;g-lG#$1Q#<@Z#Zr3i-7+%q{aXe_3yM1yR8l zF?i&%U(CnOUa>!GkBBc1IP7M2E@Bhp4n>n)AJP<_jgz5CY7j=75ov4CaxYrX!(gLf?$3y zRDY~DjE%cQ>}ax=t^}!ZvMlwtovO=C&{Zk;ma`P4r`u3Qwj6wtE#Nrx{bWcOv*T3C z5$jc9A*awfvy3A*{RHv_PKf1u%07^J)PKvslfM}F?JG>cvOyqDMQ~MdhVPfx5oY`T zh#~2pyuzSLR;-XSGVfEs@9|mikU@IUn5KGs0o@0_FWm>=xS*tHpr4)zC>UT@8D6Rn zD7tnDclkdKF7RU+D)2}5`BUV0_BRv1Ap|E)n&;MN&syTYevLhBtq;PnBmo5p4=6UI zYw%6qDGqqC@4qzszNr(SYvc0bazL)f3lMx+-~T8;fFbS&6d=U@R)E0xqX41!R{=r~ zd0c&>BYe#K>nuRIVeYnWk_c^^Nj?*y$Nc+8-8)UKs9DV@ECBFvolJ9Z-y)6-1`QXF zvvc$!fE}QG?!ya+MdzBA1p5G93o0;?ez3EE&^w{|G52fRa+zV|RBHcD{0|Lpn)YfG ziIvw>i); zNtE_)2h2QN2iPV#;y8mIzJL!1DGYwEyBpJ_!3?jI;4BW+TGWfCRjXbEb6He7Df#>9FCdQN?w%u*nXLNSGe2 z0H`*MPf=&hL9z8>U+rJTr~q|=_y4WiaN?!gaC_~)?KXVk0d6+aD*TH?{WkHkF}EUj zb5hv=i%^#>>o;I>D(no@D)wwpx6wsc@}G%%-RY0xL)&EQh6gkkSj*kami&Y)G*?TW zy$zMyttGAn>+3jW{iz;lg8Y88kg;2yx<$TocAYkbWF3j-udtMQt~ zRDguq;*mw%$4D`Z5%(s&JGX}&UU2XXH)vDj!Msv7#;^|WZDZB$2wtL`>xXw8vnEFC zXT4DC`W$y^CM`|b1bhh}HWkqjyqK<#*sk-Ct_Zcfk;)VfEl2863XI+p(@xlf|e*gS* zSxIhlHuUMS${JdyqU-5;vvT?y6j z!f_6+5hZEUa)m|=i1w8!!PM^X652>oIexSnlByTh@$SpwD_smR(|^0-IJa z13C?3jNv)oB-gJ^YYA{DVef~yWop~d5wh=AeXS_?fX3uA{U>lw`%TRM2JRrgS0ES; zgA*2noD-IaU-qvK=B8@ z*J8);+}lu#*zhfl0*^AImRyFIxZZiRc_AAA`NUq%=0>PT$A z9?+8QWA|osUhBr@fiW0#3zwkqC{W4u7GO}#{o_CZ^SR3w}#2uact{E&SRBTgzjycFWTIn zHxK``b=(pf1IJoa>^gsdc;aX2^qDq3$^MXhB#gy1r?`>CNcYhvLds7-XnUh``VyKV z4@lR44g?H+q^|G3>p)1a_#bp298EwcSgER$ub1lv+S!P>mmu5eu)Z0TDlCW(u;twC zWo?qe;+l@sFCi11{-&B~W4IXPLuEKH&7=<6$CrUwmbwpB05xqEhjt3$e;H)VqlqwP z6`~DINRXvOpXjb!GJu!3R)^{tF!lX@BHvH`nv^x#U(&S`!DwwB!lF*B2+zxpx2h$O za!52Q7}+MnH=4Zh+cFaaMs>=#Y5cHTX`UdDiFrdis;4(5-6`6pq9lFJt|u<3NWbKZ`q?bSLT&V4t{|t zxM*zT(vR#A30$c`W#tAYH=)ei?FDj4S`1FPv%9M0^0LYA9FMZ->iRW6#l~cKBKim% zUPls*aPX+q*<7Gv&YAl=+S&!gOY+ti3FMllrJk3RNBE0=Vua4-#YzE%w!OD_-c%Rs z?YhRX>FXG5{rIjuuntIP+BP93MZj@Z>kT%|GR$}#9omuKbsW-+d(Y0A#nG#*W5GVn z`QbEePoiXvZ=0wwYl@!A38>F2RCQH_j8hw-UA++>HkN-_hDK`kxBlQZ)*fEX#!A z#MZWDjCw!wD<+6<2`aKlnUl~v^^F6emZfoOfpGcT2(@ENT*niG}j7AvWdDF~1$ zK%1BY(*&(cJxnP~Xi^kV&uqW^_=(@=2Phg*Q%umCWS8X( zPCqrlnJMI+SOHuA&tq>1aS_`mP;bP14-nr#bLw%LWcF9v-{RO6`(EY+J6ir)JbX)- z;T+^R#NUcDGg2bN$>A*?3_b&wPhSU>PMQCv3_Bm000;CydeATo>0=&u^3bi!W7Y}o4MN}7unAvp%{?m^wDl1j zqJZ>e@uM*>Rdze;`suCTAoc$2rIkjtlBxs}Tp+~uQzIMkZTotkiHh0HUwm9AC%Q-jnVtf7{^@qUmchVEkOyIcMKd?S6BkE}&t zD2n3Dh4qNYqbC%3VEv6g4s2YC3xwb;F}r zKanJ#-Jnk!oAts@RPh{cC;l+*sCEi zT~vky5^l98JU*t(BHJ=Vz)6A8=&ylfI`7jMMHt+{inoxiWNaDS$;=+1ecSc@Aov!} zr|DNfKZtf8#?9&yB9HG(afI>^AtnJqvkH3!@v*Vw?3G+JFd<|;EF|8KfWCiEo<0wM z*KRG?uCF#l^wlhzRyM6|<=16du~Prd%oKQ%7@VXp@*((oZ$T2EVNBI}fi02HbZ=0) z))T=Dlp48PM9a+g74tU&NT6jFR6$m7-Tk+a{!y00`nqzKkc4TtN$`Zd1chYon>2ao z5j`y6ix_VWY$JPkIQ#*>(MpHM&pnH5_)GI*j!yeeZqIjVT#V2G3IuoI$n713GBcXI z70TwtG0M&c8Jqm+!KRai&c-~5W)cW29@O_coVL$;AH+jIlpRwQa*vpoQCE9@QD6=c z`~_bl-Aulx8GknV4p=+T2eF3+O21?PN_WIQoIN0*XkZZG;|W3bxm;3}0tWRZJ$Wvs z&$IVgj|E>A4xwCsji8^xV6RKopVQx1MjqaTjQxdGA7owHGMnpV@}P1Kd?latqd!g} zgX*HXwt-XRJd5fLN`>|2gGg7T&I8t(JD?Wv!S&*P=u>=fFrXGO5?Bu<WWHR_@Ge<@7?(A{3A!j+)pA`(g=*z$+~s&<#BUjab*j5=z{H8tnee6y!ow zzSw-pIBbSUYgt6kTna7m{Z|@rx2c90WL)sZ4qRa6&Z(pM$Mc>?b+>@gL!5#E?n))>nacVjcxM4?P z1!`c_^p2LWO+s2XX-5zzPV$kc1n@f-uuvU`4#72=advDeeNm)w-`vfG$M!OaFf^;( z@~k*A+9a@9`fQncP;$SSG4o&_V3X&FACtNJo{+f%DF!*CbrWEibeNr#Qb0B(92#Jx z7~l@%K!&i_YBhJ15)kB(Wdb1=9nD95Ec9s2@MTo$hCMea$ zxSQNIOVZAHzRBe1&IiZ4HHVPY(Q1l6cH5<2k0OXY%);(3-rj_2x&O$(91M$dNvW_c}qBQ5%!T89Kpe_b`R zr*%ztZ?YDTV@*g86bU%h%bNGK=prsWa!b)VH%|CchHIH9zhuZR0X!R`g~bG;^{ga_ z_h_V&+0zYf07K*J&#JyiI$ZCdOB<8${ZW?sx85dPY0>E}8y-UtntZ1lI^*_k_((23 ztAaq6bH;OTdmB#tpvXNtSXU{$8PK03_Y@O{a5^qH1DGnUe+AjWvhP*tryaS!jboac%jh z)p@Y1sGc74wAMGg)J3-@8%Bw)$fE6TPUgT*>oU#B44>@Yn@=XztiAW*i_|w(u8~o$ ziIcCdAwio5=Ja-R@@~_TDF2Swj_b1VpntpXWD{m@CT9MQk6dG*-c(`&6g$UNdM+%^ z@Z=pmlAPpoQBMJzRAT;vDE;J}u+;dNbc@C5RC`Yt)Fo8^ui?WR!0_Q((4yVbyVSl(aJO89oDwW69JpIV$U^YYit%Iy^yNBcDFLk)@PZ!@S?Y5eA zpDQXzf5EwIZ~GP6o^((tiboDEKjD8iVT`D>K=#3$Tcx}g=;pdi5VAzGV(&1br} zn7r|9%V9detUEbuZfkTku~S4e?onwJke!&W+F?qhrMOE$)QG-PBJ5ji_v$qgi3-B@ z`qJlNP?D#K0g#w67Ur_oye$z8u$YNkCM7KV8XWSf@L1Gp5o;S_0&VitLm?s`wDIUD zS&gEtXbUu1dtWuxt>sF*9e$|R!gQ+k4~vdIS3q7Gl4NH zyB9}X(M&`6_?52#tKdW9CHM(e-jPtZ8Ts)Tw2WHikjG@z^XctTrU>2BSMm;Oo5@cf z@3$+qYHT(vQ6}pk_D>kj+^2duirR09lz9{_rk@2rF6MTt?b4*UjojFJv5Didk0f+R z#EE~?8WaqIvF^qXc_rjco%%pVuhht!P*F?3l@pUeHEh^kuyiflfYC63;?Um7Iy+XE zO-$lUEm+8+rVB1B}6TV0uDmKmGd&yg}a7csFb>z)Jj%QKGa4HSa zCO{3TV_W;{JT_TLXrie3#gn0V$w?cp%eAdZT2S+8GxTY{HLf#bI~n$?ZPy+MZggdf zFsAC~z%x?PY$Cg=tYUC5ns^|@ar|O*xv6Wjg!NqY!F;Ol%C{s&1%XOH)NP9gx(?1n z^#{O`eBxg9wdVp!(CooL-s;o)$>;5Fu=HIV-)}M=YRBZTb=u;J(x+Rbxh^gsE(tC1 z9dUI|weQe--S5gTN zBr+J*p~3*y+QrGDYA_WqiCo)9!mp)>HRtvAM9^{u66zMmEtDx+lK%S3PG-Yr z;zybG4QWcq0-LQPb_&OR1Jmt7LiI9Q&d1Am&kIH66ld%DTf5KeMW44vtUM3F!Ew_^ z5?Dv{i?BH7>`RpgvlB zxUr`8UWv0uOFKH;H87L}OOH|M@wH%Kl`lVS7SA{Tc(yjpk6-P};|8O}1LSWc=Y>)pievIsc7B9?8NS zzEp9z+n$yB>6{f&F$`de(AcuUn{uzDGDB>zkEHkT*+ObjmbG}i z42tVzxwW`q1uaS7_kg)Vp+=)d%YvE7i4Mm);s1)_&Hg~~vrw$>{)*yb|B2!~e^R{g zZT~Ndzu@`<#ZSFZJT!pfEq_pa`F~0AIui4w2j6F4+go~BpP^@&=|$B*Kv|NRB!j3V@n?7Kn&qviNDqN5@%+q zMUe9=>_L>TBS(I`Qm~`_Qw%&@KDPKfGGuloaT8TGadLikNMnKy3}VM~X50*(LS+8~ z@L30Gmr0~qDBW`6LZR45Ea`Wp2MZ$?j=I-Ea4#bVd`c|qJRaz*8>}f%i&7T zVv%3r{fm`gVZDJhKI*msulhpyF)mqGKMGglYN(=9l6}xIB)^GDEfX5EZ?$tG(fMX| z=IMq9m%*J$YbeB6EfXIbq_$uUmB2a4`d+okK7^$j zL#lL2^B;Nw^1HSVxB6*^um1PFZ|=m0DXL~iz%Y`)3!J>AQNz1NTt%qU2kJYM*t zW2XU36Q#|Bvpj&{!Bzle2SNlKG}AeVe7)7+6sTw)D+9omNNBoGpuF0sVFnAa(#$PO zYf1(S@$zJ7(;GK0T)Nut4DPm(FKvQ0EIr|L^}X3feHGyEo@Hd^Icza>nB!i6)kX|g8(LSCR*XRwfs+DdM^W?juw?6NKX_~8 z58hNUEobGJ$ZZ^4^Q82b~ZNw zJ$ZTj7+|@4e1+H;4}=iRq2P?RAimATj-aSTls%Lp<7TpEBzZXIGXgn*Srnsmv_6qW zB3mj^g^me>)`%YZtSPDw!f_-L*4@ml90F&dxt4?(Ai~&8Z$=oTol(YXUxPPmM=?=) zuzb3+>};sP32wk4EnZ)9#+k&EBp z#QeGVAk{jvC$e+Zcb(80`t>nMtJ>i?Q|1gDf8aX}gk^B!3ELvV+EF$ZH9rm{kWmx{ z3(rj{DQ2+9;ga-a_mRYF+NkUZUDKYu$i`jA6Edqg*uD`^rI5j*=}XIeoAdypnzS!q zt$fADQgsbkoV&M>zyU6@XzBcr+41+s)93X)xM*v{OE3 zoen-rfU~h1<;D_eGuf<3);s|tx1MkkY6A_H$D2OhCqj~HH7$4u9<^Ps=Ec61Wz0Uc zAvShdt$5xA6IFTSC#=JePI|$BfdY5%tR$_MHY0w!^MST-5$Cb@TQ|&_DaV&~H@8Bg z;2!c;6Q<60c0`P#Ni-vlocLD{6=O2_pBs)!WKT}`B`7x`7k-|r68I!wxp z=zGs_c(4PXW-c#ifI=G+pHj3L8TD9KWPOPzQc?7XI=^2c1o2Fo08d|9Ms?6Hisyi>dZ8s&8Zgt`~=M5BF_pw&Z%9+jn#6 z)CMj04_;V3<01NKA^M~lrUoLGcPD$%wM53=o!*^VBL5w{C;SQC1M@AH6c@-f^>vI# zc|5%L;8dlvQ$GfS11 zk*mBU!1>w0+huLRd>F%=oQ*Te#Voz6Xlxg>(6kxrBM3Z+i)+!;6eYRL&Iz%Tt zQaH*iD`;MtiRR2uKC0Rh7;f#9Zsm1Opexy`eq&GNC@bghW=Bc*@RU2^p*tp4bm{^` z_}QSsiNv@=k$3z_R4-h_8eo8Ws!pg}?7nD@>$@Dot%)Gnr(h-kjJ{>k5Taj-U&pWk zD2KLErJ!LA&pPhbnF|+J8;>wrT5100m5=_rWD@4^n*}P5LrKjC4{6~L1j*s1ss^6+ zxE7d9RA3(!EqrS2v&(UqRVy)CI->oY3sj?ChjX`azg4sy#aq>sGJ<@yYG%?ZlGYr< zq2I@l9{r$!_JJGHq{lxWLaGfEjN*f9%`s7a;u*M#P)?)2UGSs8XZ|6ic!jZR2q>dD zVC)kFRZR-$d9ZQOTw_ZhioL*O${O4T^+YVGRR8bAbNPo|^O?-?ecE@c-sUWlB31`7 z>MW9r!9EwVOUbAoDgg`e>AKIKE*5#h-#)C$xvOoYcjep+X$=^BYG0;EH$j+O*ZX{x z8R#(Sb|F&ip1+X$9GG1t;#)PU!Eh0Gx(PT;aJP-4^oS>k-D-*mf<<5R;X?!pdQw%q zmC-4*d{3ceB;YJa$fXi<;3@@3OJ6$R4e!Nul zGvT-37FXxgzB^L<5M|{|(&R2<@9!DU&$E}$-eZTaaX$;XY17p_lx&zMUB+Rv9k|_i zN+QHJ?@tY;3mT6#uw@3%X0A$E92=>G(N{6ow8srVZnZzW?*$@yObAohB&HNB#YRw+ z`cCWQTMN+nZw$^;TD3Y+s8Z}H6%fMoCLykfzHSBPh6@%szOm_x=KLner|I>wXkbx4 zKeW>k>LGx!F%Vun^ln`$RPc0VSE_i3uMGccP1^f&0UDzXkoV|Ohtnws5O&3A(ZJNT zhspN(t`op=qZ6vBRw94S*UbV zA$@c;ljzU44wiW%>$OnEQk0FR6T|b%>usrYjqW*dEhl9IShe{NAV#89Re6UMf%h3c zBTxfBDrUKe3LQsP(sPS;z%X47qF45P33RYRK3%~A_JF(>>(Bt2nSi$cI03zpvY8=G z??g;EYCP^XVv0#Zs4bgXO?wd-v%yFwS!D8X_rWjt{q0?#~Q zt=5>qEgHm%vb^GKbf95oCnH(;;M?y}Jh@vU<<`5i{oka{kZGJL3k7Rd&h-M~D&A<5 zc!isSE1_4bbp_?x7AN{Uj!Ie0;#_44-ZZBZv@szPD8>1t$-Q3ZY3-b^{i6C6}hZzA*%_N=+tyaX!b-#Ds~7eU1lGH`CCsehqD`x$F2kG z1g>w}q%T*diE_53UN#MEvN~Zac{`pd#@RP?ywkyLD68X?YB$&U?RZLmpE1*;)U^??djp3rmSBRu!+S6)iu#-wb9o_bYlyf;@SRCT90JtF zq3=;am$P4*9Ws09{{Z1bU6F;6|4oKxGJYX=;vPpywuramecDl6?y)h}HS`ZqQq^GK z%P@v~w_ilkungG%MS1$~j^ScE*sr|jmQEN#I0w4V$Ya3Z8mX&sQwT8pzk;vI0gCdB zoB&062O`e)rztI*^)yA;fRVz~R~Q3;k-~GpNa2A^a^=(g(a2uMBUF=d1A9mLWJ)LJ zOxrEt?#}NX-X(QZm)0pEP|Z!~DlYPT?;=PUCL|7|K|ewdxOO5Wnt)fGbK;G+Db;UJU}i{BWFAEM~B#5z#y5Vj)ZZsQ$)o!$Ax z++e-OK7H0e5Cd|5qD*->cMF%;V_)zW#AE8i6Wx;uwSD1{Mh4ukn$Ofn5)iTsc!ICuokOU+r`>C&we~Jpn zSFb1E^c2m1#`p@9i5nX-0aj%^uo^ZT~XF+qsH~P1LarJQ%=J*>90j1Rv_SKh2g6ss%?{c z{a)z(7siX(=)#}_?&_b8(bfTX^KfkVAUWCI}ZAWhMM8b(DArOqx7#s}9Tk`s=^LYcSp>U4aHNMtltRFKn5`A>l z%t5RavA+nwOJS5*lvmcY4jy8ad4#Dp**@id5~cTovwrEv^J>3++&&%Y>jU)TiTW}? z3-fUodi*8DC(WkMh>LQ}<@@)#TPAjMSqdb|hWD4@$Q)2at`l7MTQXF94<(U^Tk|n< zbnyF(EV3-f34tn0F*Z)p$FS_n5cH}#!ztHek5tFH9+kflf zcNlUh)ZKFWFmIhrkGvcnyF1`ZYk>QGyM3bu4%1V)BIe^F+Ij+*%z@0TTWb3(9pa=I z>UA$fSM51n;#tjuHVyqKg|}x--C1YYWCdfFWG;c%0pE_OwFwZcpWQ;*US*gcVs%cm zo-PWML?0naKd0?*-tz!*4hbG*<(+MxtM|5tg)&?5$>Nn9;aeFsBl{+Ui|DhtAdSTHc#t%>iWn35bSd*usOU)S1pO=-udJIcux2D3+N-`l96 z&$WR;lvy24eos%|%W_Lr*^>Ewwl`m5^2LR1legD%=&A%$ZP4!K_L12=b-MopGb7b> zza-Q2pkK;6E;M((dw6H+5LA4>rtQhJcQnuKCo&3jU&X&3?W2^XpwWh=>JpGy%-dFq4GU zXec`s^?xtph3hvce#v+xEmW*uGG1#6=|&kK5; zNx^v1^9NNjK$dnTLwV0i_4)%CP0zL!Vs$ocXeiXV08-g)TiyZ~E+M_RT1EK3`uI9l z@DgG&Uj++;n3{zZ4CCsfi2_6<;A<3n10dnE%6di(!_qik3lM}PEs_$JfMnGx{M6{l zt`^q^yOt1RmR@r7nk1k+#Rr-Oa0+UO(NO_|-LTlzdkRxE^IgOm@w%}-Qm~@qnu*CES3I zK(92doFT0GQ!q*w?Om#81QiPCbXns_PMot{FBQo8oKf^u6w3o?unER5H&IE&G-Hi9 ze=7N~|5GI|D)iS%J}V}J^3O{Cb&VO-VwfE`0O`elBK>>z(CZ&azlN)?j`T@>waWIA znlhuEOPzWE%XNDS?IukYaAPm+IWmeWa?%~SojYpF+j99GAIUq#!X%la{N1^)IO?v3 z{jJ4y@Tc2nKAGp|rgFULXWD?pU8J$B!wO>w`WCzROqZ#mONLO7C(Ch4!^XEB+ivV% zTRQ3obyN$!pGzW-QENotPmX;e$03-JE5ShJjU&o${YKCb@JSJ!VigjS=?z(Qaoes` zjvr+*(zk4kJx_W189E(`RtmsB)EBG|#mMxRdAksR-uo_5t@qL!Y0c;Xo7(Lm?ho@F z2^5!=+MNOJ4|R76QxiK7I_9r0(9Vk5H?(dtk*lXmJvARJyIfc|GWf2ZDX=P*bQMk& zN7*!lF_gY$Leh`lvI%afD$4$=k`Ml&apqCg;(!vIK+`V;AUe<6Lgrqb_7ANqpy zB)X}v0Hk-0yx2Mz;f<{QGt!^_5$O?rAU)6zq`!Mm%=|BreyB}NAl-Yq@AMx|p75uW zhx{Kn`Mkez^67tc@@v04`G6lz9_SxVUixpGJkfu`$xng*lasglpE~((IRGc0|C^Jy zjQKk!KLz&pP9AHFlAJN)OQFk@Rkc1nLm8*b0_k=EN&aq7Ny{SV9nVHU(0pqwT-yUX zUDMV&S2o^d<*@=2+~bI_`7pvlVPw=CD_8G~L*D%N%=sz%M9aKaoF<=u9M?~Tb{;5p zI?9mpuLfOGWfuA%L`$_)lpBR=m=|Ys@d3?w!;Rxf70N3uEy>nN6kf_QEKp$bElwFL z#ZccVSQ<+bs!Qf_Z(HW_IbbO1Y+QK1#aTyFD024fNkOV|l}{kIqn(@)G(q%I$zvRm z@Wp)eetKFD@BD7iT0)s_ttpw>2$DlmB%kjAtgtzFYMEXTAwUk2l&tB%ZBggAL}lvW zUoA7@T(ebbeLQ@f*b-d&iTR5Vfwqggp}f|$(S7eS!Tp0anLDXca{hk@^qc^o7vO?7 zm0!>^oO+l#k)@tMrKgw&rZgiV2CFJLiJAK5tZ+oKu2RIe@EZ| ze_imIa7ICLx!LJu15U;iYX+Vn$9)>cjF6^GRy|IX<>H>pf)Cai+;R}cd~>>Y20fQ= zRAzB4U3L$~k7G(_rn4U4DGk790k$4Vy2!C_cz}Ctw>b|T>HzJ&H>(;{OE;$DKVjqp zQlNYk(#3?xqxT`xpPUa4ySg%s7gn z=CZY_5G1X%d(@Tg6(T3_<2VkGg6?TXZ15$g6*braL)y}Qv}`L`7(F01qxx<^_z2wH zx^7T>_E~Db{@OHT3#m8UC{4jCOh0VAu@<7}i;d5)5dUT4>%kj5e%g4|KiPP&KiK$L z>Mn?%HeOQVyc+vAbBpERVZ7I9d;d2!KCtQor|IssMCGS{*my+aonWgS2q{WF%T&Ef zXUDJ=e-O*Le4b+Z))jS^>J$feX-E(V^O6`53{H0RUvc_jM2A-^Y?vz|(Jq4l{l~E? zL;;_3OcC?C8@*WJ>=9oReP}Ech*4UM5)Oe3J#ZEdD7M<{Ln55?Cn(-iWA5!+hC~?L z!1Ay-uBd4m+{paUL7U$BSAqHjh&=AgyQUFJs+UB)+DoGTTVu%%AW{EJ09k(tftP;I zO*I2Z)aP>Zcg@;UbQ;uT$v9`zuI03|ED8+O_5niy7Uwxpw!|c_~ z;;FE4(dcHL0jE)~%Hu`EQ!c+s{^%UZ1#tnbBz!zx!1vyUu11{Iw#m|K`zeHm!N4y{iy2Ox8 z6$@V29kRh0uvj-!i)Zevb`4mpTfTp-K!Wp8$uSkG=Y67Vy!JG1L@2MKlEYqW>S?yD zC&cq5zs$I08|kcoAWcEskt5t}J>oLLw7@TxXJ}$fFRIr4>Ed5#{&*UDsW|Hiamr}Iq>tf<(Rt5eytr$FXuQw}qc0~FzK6lrYyKz?#pxJ0lkY^ru8 zh<#qPy=SI}6b!@~8hdC$K&1W$%=@?5;!FB=KO%U;&-G$7?D8SfxEIF+@?UNwbtd{g0ja$F1w+J=N}8o$JkV6WPXp>5z8In5%v zh_Q~$+!}a<{>bY7&BFHRy{p@|?TJ%-Z#g_Xolo2>cmC7(cP>MYF#dcyu4D=X;MN3Z zXo+Fjxy+=@1tHaYhN4V^IeR!L3$w1!^?idrApjxo{F{)+OHsWPj>D6%?qV+eCFIjV z0d5(Vwd6s_?@=?(B1R!z3#wVt>`w*L>sP!5=-OUuL zZW$u9HR^-I)K&iQz*mUtDm|kxxF;Akzbkn(AA$OuUxE4&Y;rZFEng1M@(w?=JmAcpWNP4t zmM7|y>PT_bh9{0(cEtbQMqZ(%%T;cGO`sd4Z6hLeG}cwYp3bIoH@|*=2-`%#p8!3^ zLH%}0$dYhuubPlT55V#5wj(1r7-*CKf)n9Y`NbQ87!~4gddHTWb*xh8= z{q541M1Ajrq~U51C7-A=-|t#}_8(e)V6G5{3v=$io@3BT)9kZciyhU(bEiMz-UG6& zxdaqG*#a}_@Tc`=-CZLUQpr62(5)w{zv9x_ZA8YzTMCZvrP*&bqu z=uuGkAlnS8P0Ej!Fqt%1TkLPpidkrg9vHFIumYk0=Ema$+t?>iuGPe|+4tneD-ZA}%F% zW5PwKb4qfm{m@31n?EYT7vzxJhiV|*Fo+X~)W8O%(>sAaxqX;8_T zhU+s!aSd(0qOp^kH`Q`AQz@O!e%7e2%!}mSNZ|g6iR;f=ocOtxk2ZRBpO2H zG+)rBu5pn@59%;Zr`In+qVfvzC(4(t3)(@vo(9^O-or z=w=18nrAfDs=iXd55MQv9$-8^KH5V(VdG?7OJpYtmsU}ik0xOWKAS0hGLTAl zd>R>;jed#OGxD~CHNavd0-OFtyxt^4B=fg;eObOHMnRj}SLr5GWOODmON^k4SiUjf zc!*6J*O*IPv!wn917!N7^{)1~^=xyBIb(*CdLGkNR{e@bh#VuJ#?5Qpg1}s9?QBaD zszDss*q9p0!aiqZ{X|U~nI>r{(Up<6=lQ6FK?gR^CG!-C^#$m*ixk@Uz>{2h?^I1& z&v`Z+{2slh-rdmHf3x8`&~|fp3fjQ8L5+TYVVq~1$;0jv?7QfJHp#I+fu3_1s~P@; zzL4L<3GJye>6e=9iLmeDKj$AWy_`l8iqd67W7z!p`ra23FklxqYIDx?{}K0=L2)kV z+Ai+y8r+@W1lOR!-JReNJh%pTcXxNU;1DdhdvJ$fr#o3|X4dRA-3R*HOgGV3H4Zh4&D=7qwNmZ%{+rPkvxt#RB z@1Os{+Jn@+GHaAi-C8+MvUC5W{d4Nlzw^3R zFRy~1@=SIGzW1C_SCsGNhprTc`#htbFyD*DbMe0EPjIG&5I6XHCEc?Mk4e}Ca}|CD zuf}y={IiLypWYY|s>jvEO*Hddg`96oPkx*0C0C?J4jZqN!fo>0$BNJf<1s`D%Boh8 z%Mv`-pH^A|8K9X4!SNZL#L#l>{QOJ-Z#n8YpSNAN64L6v1fm?tX?^%5<}0 zgY?uBaK>WG%imh$|GT|D?JxHFYM{Ly?U%hC^&siz|Jh!@HV&6+gRBiEh1{yqga5WY z?y$gyyni8_n+caeggk$g2E8#*XSxM{)m)pM`^)Y8rDs7a4+I7*-K}a5+ri6^S@j4$ zd0N?_iP%|JqJw-+4)_8d|#y5N%*9m{hACQJHMQ4mPj~QwHyOBMFu>HixxP?g> zYZp*JoWoC`oSdiH$9}h>Piq$Z&;U#3oe4VPFV#19TXS(W%(iWnkF2W2?2y+tm*_zq zT*lOTg{-D=Ea%@bSD5wHAQ}qLgTED@X|phYGlF1QBe2xMJuOy{xs*rzJ$zjKv8*&A z!*rb=FIxZy2O19$w|_iT7w_$AOt)Rl`YlM-gYNY30Gl;mS>=#a6+F7L^4( z{LK)r(bg#pS|#<4j!dic3QxtUmS}L<4o5r<3h3twmR3qM21+GjSB@p`9dQ)3*G@gR zC|2Jn7(4lmH=&d}tEW-9GOTP0*&qj~WHWz%??syP`t;m}{rO_hNlA%otv;UB8X8VP z)E-T|l?nxu@oD1gf70h|eqdEjO_XlEDfODkM)q}DJ&X~uUQ9ZHH}gNfa!EN@`0nCq z0j1mid@_^NGgov+6o@;xd=xda!2qf1AjQ#+PaP@IWJ6^>2#Q#WuRO19FVU9W8f| z{|lD)tX(#PI~@A~bqE0i-Gh*iZ4@AvS(sNh=wt}c*xe%!Co~LsKzkGNWdGk&@>c&p zrsRuKZg2O0rQ~ZXWPXYB7bLq=ZQDHg^ey~WTz4xbwEhi$vDYgy5aSb2r-3c#WUAy2 z>9$C9TlfMY&&JN`2z?{}LCg7pW`@B9M#r(Zzt7&Jp+AGEEW zZ^VdDeNmgnut-9r1sFa<--?pAH17Q`Z;JLhlpWz%K2n% zBM13!J6M%}tIY#h>%QuDKt4(Xi1UyC9*{51z(#n3c?9~CFo}U0`B>PE{&wae5)hED zSVa0E`H5Nd(SRpf&_O*{gv2Yr0PzDYeYOr@gZ{m`&no(pvl>?TpZWL*Sw8VJO)l%c z{WCAOo5AZrs)Kcej>UVt?*12>ch~B>)a-TXo?9&Pq0{;#QYbdgDdHiRWp?yj z5cn|rkF>^%)knH;q#jGsBttb928Srl%p!lN^8fNosQ}M(|L;|KptQWs+tY?WjZrZh zON$~bwHWa!2;BaSaK&m3K$Oo9PVGqe>_8}a`=&6I+G5^>5{up?_4vz)KFPBjgYt}_ z);Gf0z*E7e88UX3x|2kiA~1dT%3mS*?OGQRCzQNfUw^h3@UaYp{SrEyKmGN1;2zgd zjdq()WoMH%Q_o>hp2nFG3w(GrNoO+T{!^%2-I*JN2o}9l4wql1aYL|5k~#Qce1{KD ziqr#s^l@Bl-YHp)Ho`gps`GMvHkDvD@`GVF@|Pj(GS+&MTV34UIfVu?b%=h3d~x;0)|#x2~5ed2kYU7 zae#;{H+7|6A89p`RTR|S1v;P8mT~ECs6~JKca8)n`n6mRwh#LnrMN9$a z2zUquO@u%5Z(+?UjNWfZhHW5lVLCN!pO}CJ|r8N=?KNoq=jd*`f z)H{^c7MKNQtsR9wK|tuj)_mn}w+jmfg)u-|RhRCb$fHY7wv#YV(oIbE#c%EwRC`it z1=D8LwvwoMUWomJ4;PB?a$}&m$tjbnw8PeynQISH{3;YIl!U?^*Q1yiS@`}m_6eO+#a2#TzZ#;fvsJH0{$p44U{uj^xw%L=80(o8q!1LUne)D`c_0a+p zOiAC53Udq3hbGM6tFO{stsZ(hNLY{|iX@%X0G=1OQh*^8WLCt|H8X3_-)2jO+B|2x z8!L13bR3yu?X%W({ZZ&C@2NzMbF*puhLLpGDhx|ez>c7(w+!%WX|HVY^;~)2NrZg>!b= z;!B~JmvxV=_dny@NNv` z6=YU;M||DEhdb=iRf*H{)9I`W7Pt|HZ?%BlyiE{pd6UxPP_-^{f1;4W1iXfI!zUo$$Jf3jWa4Y(xU z?VUJXmO7AiF@7=cP?O22z8zg7ErM)zC30L=9Y zAD40Pkp9W>NC1upjM$A|;xvLn$w|8*km7S!+^~$$uc#2!9e+MFLID%>ZJ_g&!AdXP z*;qR8-{p93iTvAU&-LReFKnMEsmxq8&(ne8Bko&TvHxkaFHx044HE_0?45u%ds(rP zr|{)Pn<;8Wz1Hu=u!0}H}04{r}Imij|TuUoQOIUJZI&dFG%W};qNDYY_QuW~kQ-@}0???Fx z@se_e4xhHKhd)v5wqPG?g=Z43E;8R9zk0m1n#BML^WLA0q+M}dzqppU9;b2Q2VNcb zwD2OduhrR2ytnOyQHh$>yzZ)|?3z>9D09FXYv1wU>cY=wOgA1`BY&TN&#+C>2idfN zEb5cfm7whvmqepQG@_~zO{g#wiD@jnrfB1ls~Nsz_=Q_nFAYX1j7M@d?JBll9Gs=J zq|{p%TU?9kS=0Dt7?a`$9-i`0w*u3r}CEjDWC9PUn>;!E? zfUOdAHC!I`BlDgd`{K-Cx$&&*1+gjRzB(+p^-C;u%d)*iQO^_Hbse$72 z7z~oR2`k< zeIitMXSU29JL)b@pGsaOrpyPh!raRgJI6_TlPzCGT@5C>P}?1B>9Tig zh`me8de_8k4^o#dY_L# zIrX))?;0**4R34bInE8^&^LU&W~4mqi3ZvBj~`))=v-<#d{9=cL{}Z@B(uA>8n(?L*BB5oABK)1|<%`7suH6Xj2~r)8Zq85c`r`ToCl-MRfsN`4y9btn2aU3VpaNy&%&O37d3W^uui zt)hp(sd<@g)0-gh;8wTKrjlu<74)eZq~Sx@NHvCGx_p99!vD`Md#Ca)hdgF*rnQ&b z!_kc&GmlZd;oB!SgBItBV07FR_-lw5RQXy>==Iw^P;-c-WmKp+Iv;c->zn{f+l7IK z&e#z9^7=8pKf6y5&ZBW^i1IneKxEan+4!xf|G|C>qDI6x&9Yr zcl&Xx{Qs9?@7xqA`^|3!U;5fTh%=^N?e z_`cf=@IM*;=@-Ml{$hBSpgD?9K}PT;45_sSK00Pz10h__qrX-80E78>tg$sEad-%N z8Kksxc3BNYSq=KGT$RM_oMwUY*pHi``Q5DRe#{tvN?%x=K1+d%)$Z4rZT8~T^0HFL zQ#L38<^O53rcHsy*zIAOs;=8Is|5UrPLx{YJ1LI3(?KXJ3xASqss1`7C+VPB{Gu< zSuqL;>eEn!FkFSdJe*?OKtso4J0=C$6!29`J&lCgk%Xhn#F9w+g?j*E@}S{pUjQ+A z2iKxI*a)Y>)_l3v_5KNn?&HiHHhxzP=KL!&5Z0d-HeB7xO?5S2}~ zwEZvzD0ml}^aKCB$=>~0K%%IaUr-Us2Vk-%UH^BJeZ!d_5%wYI&*wx29OUC(SNhw! zL!|n^w)iG9UcwTjAde+eUx+uZNrA#veEd3~QlB8}>2yFj4&kaj+}BTg{eTJiKce!3 z=1TBI*7r}VOjR$*FZU47X*rzudf>?m>k$t6@%}Ga!$6V;N8lV_U?U7!<8lY>Ltl|L z2(i>auIcG73@mzJ7JJSIjK+Z6H>#Ahk`kM z7d;aMrnQg?hZ^jRxKqE;d8_C{QExiw1Y`6i*~AZfg4MO>Umj~5;IUr)y*3XFdcW?& zuB}8g>nu+uB+gwbLj~hIMDUpFgnUNu^?gzlKyF9w|qRRhD zn2-4-%nM{~AR<__PC5Me#qpuPIDQJq@rY^)7jlH@kLt;fyIYOTvdLpheR$(D5h=Nr<1HFAzvWH+5p)-iIHpFYMq)w^Ck7^v#004~=> zadvq>@wvIWe!iMDM-lf2EN1;O*-Nm6!U3c5EyeK=m?bn40Sfr+MeMQmNbE=1$vpBH zCP|dtjYoIjMF4R=^G|VJJXsY&ESCDcO%K}$cgdj7mo4sYRS{=O+@SX##(FW-eHurV zC=06gw6eyVI1;z36Z0S%(v~C1ctVRZNe@?|aT98?CGK&e0z4mCS{Wf4Y<*N|P zf+OE13~?Zi%A3YBfERUC`lNp+L5$aEz5<0!JC#-+iibR^ z?)3|_4vyKoMgu11s{zt{96*})ja~vu^P|6|`FSA9n*dNgD!?_>|wEeh%z&v-T+v3P)p(in^kR1{JzJJAb&Y2w(lnUH|=0 zcYVppPUA{r4q{Ac#qJ<6B$8PRhv9P~ygCQ&qtFm{=P1j&Nj-*Z*lDLZe`)GgXy#Y3 zty=8KY>tUf6c~WC{F_6)2t>U+zn?Ef7|GKC=l(I+$opRP0iR)D@|+&fGMhMmC@(R<*u{_I9e}L0fg8d{VzrOXcsv@@BxMyW!tWcgkUZ zG~JE-Zn|p#hUJ&2Qh{Olj9+1S<^LiqZ}LZ29!}*yhUGK<8kUDa9Kq$MluLPU>N%?g zTRQZ*{o?X->&MKPH|Dy=T3XZ0aM{TCQ|pJ^8yl9u-f6nY&eWaKZ-+sfY;f(OE8dB& z#g_F6g~L{}ASHG*1%qj^vM^AQf^TL^?H02VG__tnYNqTA`op;@Ry1j>eN?RpnUNjX za>|0CRgFfD1r*)sKr)ePCrzoGZ+&Y>9yndVZw@2hVSY=kRSUl$Of0fe237&ddJ5Nw z)SeUIgxKyI4^~?>gg;t4HNl7)BUVhy-OTZ#-=Yw^1X!(8d99&{ctafpd^04+Dhfpij*!J(ag?uD3SO+F zwR=%gIl?;K1~=pnm{*JvJDjU_7Ks=8H=Gao|BCY{*A3L?D%|jxhcja;zq{ zvE+(Ri5JnEep=_yq}|`vr5L-0N8>AyP0HwpCTNV!;8{s*0mJkP4C2--0|Zr7vH@Ib zn0J7t#g8c;;%Nd0+HSYV!K^-|=tHC7^EyA%`sM;6^TC!~@;q)X)v90E&%b6doN{Kw zDpV)m$0pFxuKMB+iY07%IvidIkiRgiO)@&FckO`3i~y$SF6WPtyRKfnQ(s4bbkM7Ly%^tXgirUfC@v1yD)UC&Wi&|`Qi+k`Qix^jAzL?Jr~QMI z!a=;vp7p%~mF|JWDDux~c<+eDpULf<_DnE+ZLX*{_hlY53I{rEp0GFfW;c16X|O2m zv!r_r8}e=)O{aWR`gtl3_4kWjXIAaJ-alRy*feVfa@R_=x0Ct5D>ZnNwlnXq!-OhW zaIYr5#7>=Ds)ny|(a?l&sp_>6Y0|lMJ-|A_7adx~C^|2R4H4fVwQFd{$vt!Fo`X(O z%%v709D9>^zK1OiSvjIAwFezd2Z5Nm%t>l@b?=qWJHZ-YrBu;y+9jo-V@QWnU+k8H zPOC%Dk;VS-Q|J;rF#)-DwwoK_zVC~07sf%x6iQp(5qy-wnIA&OMc@&$`=<7Ce_LZv z_nY1qg)`M|rzS8$rzSs6Q&%cF1g_U_TIMmHt%-ZfygjUTykiCNIITH#l1#? z>aHA;=+JhH!Awes`ZK!Tpis^`A`yJfh+a+W>BFL|owOvdzIw;J@hI>!en=vDn{6dd z=7SBH!ut1E{Bz%O66qT3Y$?vN0_%b;nxmZ!pKq;bKF+7M;XJ$#OM)4r)Fz)Ijj)Tq;q#lQGbi_lq61SXSamH^CyOX6Pnlg??Uq- ze+|u}$NV!i-v9{Bhy6`xUg^%;+UuTe2eXFTsS5azh=jQj!IW>=Qe2Y zSYbA{2yGM^x2fBkaXK46j;x5x+2UQ3L|5|iu@*Bt)_&f!ivIk?EaEJA8^Le4BccbOx2&ac1M0nVuZHW1@j&DddBLSd(dtB;CV%b@(W8`ygX+9>@4 zVem)#%cuPoJ=D5@wnddt2F?9?!4PLT3j<$1lltl$5#+RUOtev`d=?Sk|LdYW(SIw- zxBO>OzB&P|KhaIRDpqNhh~Ps|JR{<&l!tx-ucll8yg~jDl{yZ2SWI7C4%;&r1qL4_ z&yIep3r~I6o3n6uA(;kcm>!0Z=(#``)bRdz`(RUH1W>a(nISYqBMt=;h;Ny-7KVNx zyv&%jxVhh0w)!-_Apau<{&g!ebAW;1Z)@vkq4W5!f2vK;lmcD$zhwD`#*$-z%N`Wa zTMq%~t$%)3`WYz8{~u`HTz;7zBDN2W5U%Ft-U*U=4)a^36C}Vc(0zLNxefk*Q+t=S zmXYnS!Q5@9v?4s?dk~R_&CJy!DHl|oc!Sa-e4KSB2ou_8by+OT&9J=030e!-IzW^? z8uEepW?P_a^X@>(PqL^2gPb7QHdkn+TC2@e80Ulj835_^T@ZKr_2oTiLOvLbT24BJ z7_k=H*r#m-*1_sB|Jh&94t2MK0O((DnYi%>4%+Dh2kkN*_n(h!Py4A+#C;FEd3w_D zry(kKG1UMK_8bJUr5u`+;V{S4)+9?C8qH%}85$N>2Sdj+{(wi;dBC|k+Or6& z#KPK93gc4_FUl{&{c)p=1OlCkV@9OR;F4NArQs~UT{NYGkBL)Y-7IFfFFVwC9Cai8 z2wy&TaII#$m$^H$rh}IO34Yc|@#8lU3!^TSu{{Sc9WO=b?Y<;ZS^3Hh}Jcd?IY9ik<$x^hVo<3GhebKr^$yAlf^lyZrVPH z9TMo5k#NQ#^pR7WlIWw$ESu28)v8@pOzvsnkJ_t`D)=o$SPz~_I3fL0pO5^DK3@c8 z-O~X0&-*RUH((KzbyBHg0HNOJz7g19KRC=B)6T@CZcQYJV+GyxX9FI+AOZ00{9?MP zMU7#&I*>RpvYLi=M-1S%XGTY0SZJSVOrKn>k4QD)N->9<`pLGG837R)7ftSr-l=~= z>G{iV-$Sf!)?t0>N!fdd(chgTyU_WHJ4i|_9!Zv;t~?5-JhoaMk4a6E5hd}Vwdx8L zMLjVBiJo44$P|VX9{z8ze&jdS&j7LB0D$#we_;Lj>*C||UZZ{a>e&^Ya;dw3>~YVC zNvBD=({x4!I#tI?N&J^W>J%0+2T|IZnYq_zzcf)a`1cx$=`9*Qbz4ZcGRB&*d4cLan>s{{ zhtmDtxOOMx;g6KvM(TDu)~|zIG+Se>yn5ng>debq3E$AuDHhcprs5GJ+Q!x;ju2`T zF1_i3s?z*KwVB~&OfY0hgTh}2_G`wI^IaVR%LXw0yUc;}c#OOm>{ZE4(aG}4lRNQU zn-Z-2AYv(nfb#$&Cu|1uD=EH4xHs$36pmicif8W)a3F7C{`BLuC&rEM$fQt)mo&W*YJVRA&kwzH5n>9gd=YxqPJ*|5x&@H*7kLDvRq z*`${_+M9qUZ`5=TgF=ek)x;_OHHC5gDz?{8aZdpE# zcjt=raWm(>*U(Su;wIpn{e3Fv4l8=;C6(?=yj-V8rrwB-TfRle5ti(>Y|M` zuhVKz{Pu!1(V4hIJ9W5XjtZ?iawY)(4lrjA_g2Np(#O+0a4$-*_g%5_=B0pi zL*v$bIcrZ8H0F7LrfpOEyvP7+P>Fhg`qSY98dty~Uf}OB`v{z0 zWA+GuG5evQ?(Pmq)_$VV7MfU^SInaw8SiE+FlE!xCfRlrGo1lK|$ z6LgHaM7ek4u=$205Jt-wa1IcMcPnY_T})PsknLyIj#kkI%-PSXm%NeAwpRE;ziV9C zGL6h)+_CZ1Ey&>qw_0Gz|y0?gqFhc#SXM6w*~Wp)^5+1(Ne5bC%~-v&+D+LA|o zzUj57A0yJ{vDt`V%%vdf7$A-3o3@-1Ai<$i*r;>D3ef$@pt&Z)iY>=%QZ>Vt_>_2s z;xa&gPq?XnU`vy&n)ut34QKV~b3+i4nLFV~nPXlTwvz{C1oy(4%jO*nZnLchacDilpkOSMA_d zz-t$qU&^XEG0AreT(rMAZuhxy{EnJZPEfcnumD1dOqF7sc>Zw@e76l$$mVOm?pJiF$at|mq2FPxID2QW-t08F#lW~-Ly>oB?^-IvCD2F_zvAzD< zVgg~+%9w@eUA>)gcej!A5}ZF3%YgNux(hWpYbxI8-P=*Uu?}<5CJwoZ^%6UC@>BJX zNqe=d;4FQ_tEC-U*aDs{^s|VjP^5gk>DgrI;z4g*UGqj~QUxjdikyx|lR~J8j+xaee^x&gv6_JaeMomNVJnnkxGmnvjMyN1is;&wp@lKAH9X=f zjt6G#8x_=#WO;6`(Zk&sm}R&*e?D;m9Q@}O{T%#`;QpW!#^PzBn@WU4vyKI-rxhE| z1{iA$xe4cF9JZ55wGI{BWhGg+uCRkvxhi;7im3DS%=AXe*0!g0tu+1{6%~U6<-N)% zQ6J#YF3E%wxPQ#)NKe9I89J-4WHR3*ac8d#vuW>gIwNICzMb&+sowypM8&Ud9T@D; z{BsNc)h>Zzf^z#pg*>K-)Dm~b)5KevtY(W3LuNoU61-U88>a|S@V&XC6o(lFv zYj#(DK>Zps_uW!JH`VgD>hESdtBm{!qviMK$k8sqHN52CYk1HfXH=;^@)8=r#1KnW z;%?TxXq3lVV+xy{@dnr|G=zi`i5(xMLRi#Y=$OTwocop>J7A`qMAMH)uyH}{Z@h|X znVQfQINKbWq*25YnJCE$f*RYbW^>Sz@>@on&<Q_O%6UqEf!L`^q0i5%HlhiJ;$$bfb zyjJl~1F|koFr|*ez!|%`oezoJ5Iu|N3mj~IVW`DW17JTCm+3=5Mm};_vY7(-J5rX=n;o_Go$n@$bbU;>T=&?BsY#ymJa2a zh`9Yj!LwjX8E^XJ7r{9v{4^1_)&dtv6Aj=UV78X6@S}`3d9vJLVoaD=^QgT96B;Z1 zZ6Ke4U85kGN8m9PQHQx=#4+9?k@Rs`3q`G3(MuHGvUS)b2;dyBEDSZfz}VxQ?XS<) z`0>|{T@Z`tmr!i8hu=GP%*O_RGk`R7x8y`#PTZg)gq(Mq({qQRqQu!C2H&YR`wNytwQAA*&l_2_BI@cK{}84JWhaxxttFGBlif^Ar6O< zX}J11u%~gLiAe7=4DdPdk`cj=dG6?H5g5CI=xfBz@~dE`dbsrvtBb<1DC?2a0jGdI zi2S!AzRZInpS;z{0RDU-U)FW7dCa-9BiPkmOM#n=?pNIncJtM8x-!SZ-MiedH?fT( zD?Ta*t{S9ISw=Rh?`4v#*XxHhSIqMv#mx*7P(z+TpT{OA1n;|7Aw?oU2&rtsx6 z@AekYXHu^R3HQ*fmzL_aFvkn_8R!Zffga4KZIyR=JTpHhzi9Q=L)a6+`bkoRc8A50<6b5evtxj_1Q&+psgD9PbnN&11Ok*{8w;@Ct%( z?*{n~+|>;Fo0ZLhmEcoa5=_L)@A$qOk>nfm?Ldn<2y;|fkCFpLePRzP!9Ao-b)gw3 zz<}MX7R^FCG;D8QqvBYOLOM!{`Mz)Z0+c>r-cQ7X7`OK1a|}t?r)z^n6euY3o#*Kq zcw{PPp=B*=+lG$0Th--drMjksqx}Unmp7iDp4VERd>C!h*KPGaf7;XZ{`Rx){uy>{ zIl92CV$gUFZ=@h@RnvqEWtU`jf$-4Razf;0VuZg0iF~g!1!?QDMUsCpSM+AeSj`yP zvBX8wKK1M8iI7|pE9fmEfP0@|=J>r63brzB0gs438=~kfR-T)FCU^`Y0t4MUNev-< zb!+_w-#I8%{DnNu>IC?GJ+HQVKbtIXeLhE)2Aio__Y2iQ7IQ)aHZO0#J0{~{@uN^W zODbabe1oN*I03?z{7WYo{!S3qTYW?j?97iJJTZX27KK>#C*Bo-4bdPvaW2q>nJc(0-HiI!a4X1I00k;PXKbi zPXN-u699EiMdhEn_P`Us$U~TS2LCJf{Z@y!{q6Hj5pvdaTbtUvd;?exX2`{(QLBHC z3vM9(WBpl2t8!jd%3F-fFEcl@aFVm7K^02=fW zEt`M_eK>i3vDy|AR@%36k>_MW+>rOxM7axEJPAc$hCx4?sx z8Aim*fy>c$6-H7P zU)Y}{z2bHPK76@xx?7L=NIC7*2%jW;e9W0u%O-VkyuG&ZJ7C04J<$Mk8RxI?e)IvxPadX48FwuHriqXu_bD=8S^r?c#cRrMB@l0qrrMVJS)9YK$KLC3|dpXXzskn z9++EeWfvf8Qpa@_xkbHY+}(m*JFpGsrgB=-cycoR*bAZ+uiaWssQ{JxMbT@$im})k z5lMBq7k05;8>0`{gwK)g`uJl9<0&nURluNS`{zzR-G0j>fk2>nVPK7QKuxM@eFN=n zE9OiK%*C9IN{uD4I#H_aJ4SbNe=2^iaxNo^5?cY7d4zkj<1KT@#7B|V0I;_d=FMdN+E*0j0=#mq20>3k(_PjT75LaizH%p4`3 zDQaLxb?-OLe4#P4r%T%E@5ay}q@gy1XfW*^70sY-cx6YtLdHfPb~*p%ZiURMK02wC zE9w#9kA6~A0iV@ekved;OLhFUuy)nuL4q8DBytH63j_p3pJ z2TC+QtJ{vxBuCuMkp$alCBw2&ECnEVTi#Bg z4L~fdLiyuH15u?-Q%03?OD-cm-qP5Cf|mXJ42HC#jH7>wD@5|Tx7czN5Lu^?!#ud{g7u%r0J+Ri-WjE zL|(hp%WeeacQsZbaqajnSzJM55t>8H?{V+)d4|dB0`%SzQLiJyIJ~7qDu3)v6b4tC zfV>o%8y73eG|6(Md=Nd&Q+{hZDwN?7LzD#mvp38u@{B$C_+zXBiWuiG?VB34DAru& zR)+;Nyc&a>?U*=tl=4|x0|tG0w>-`X1~UDbPY>ny{)A`kUC_uk0^|{iRy9LSv;)iZ z@4|;~<(sjwp72S$1WK}(d-WVzb=JQq;8W2+Za)6FI)D3-{j7=0+eUxyR)IDFkg;bS zY6oYM(VQ;HBB%Sl8JNE`9q;>K8!$-&iWuW@CHj^zdkk8TxgtxM?u!}p6ULH_3cZ

    mOrv#V+F7 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

  • YGE1E)p~wY2l}IJD2|1a#qlu~f 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 XE+|l{77ejP-(oV82NDcAV50sX96AO0 literal 1176798 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

    ^ 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%0Ap427Xw8hD915U`~fZaW|!S#)$Lv$!;cTc~) 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�)f2eV0i>o5R7BF_&8m8lj%i>g!@}?7m`l3Mpp6nxZ-pRva!DiR>Uc_e1l}GZU z?PJO6dkwv1bJmrLr8S+ZFB3;Ov<1Z%gyirhd<_*o7?ndbh2Kh|K(&44d-3;|3)fFK zyg7j%15XM7^&YZR&I6KeHHDGcydJ2wulN?fItINXA4=x!OKsm-1nV_V*_j%hPizH@F#7KecCc3koZS0*UVpFaAg zWwlQ;M+}PdqZy)J;{3D$&^12(d}j-b);XC95a+AN;=WwtFGOdAI5L~8g5rF}0qiRJ zj}_8ISH)eccM9!m3R9T-X`2F-(cPIc#MjP!Evv-`B;J?YbFIN8?|RMGY)F*+7a=?$ z+M}40{66=a)MP6j^tFfvv)3DduJOaQKMlK9Z~@o&f{FY)shycY&E4{#;k%tdK5bBE z9~iznsTt1zhVN8%=8!RUjVf;_|91A-_A5Dl=M^mM?O(#zvM_<0-H+NV{Jg()0uA2* zj{MZy!BaT~ZIC115tF2tN$19jLw5^7t^w z>VhKuuV_*lzvznGZwJ1+C))UM^F3^g+c|C1tFHHv->N=*Qo*EjUVUR0k9^`cw2Rk* zH6q?$yj#%C+5~lS&@jSPZ&Ux#s`|%%$Tx9C6r3n3S65<9A5LgxU*z5V-yS~A@;PX~l1}!-`uJ#fV zVIwgJc9dO}5moAd-xCyZu(jFUF#Z}?k(WW8wfyId{a%F&fg#mD4j!& zP!`Jq2hJJ0mX(umw+7oWzkP%eRMuJN6%XZyO-VYp+&w%c@;hIB-Tr)?WkCpjO$_Yb z8Im9EnO(}9K%&r%{ln|s|I6#htwXn;#Q5PnkVJG8@j@$9I)TOL%|S4iyndk9WkmG$t#{;HUs2rVg`G!y2bh&EGTt``XM(g zSkivur++lTNAG1Lf!Rg2@uMT}V<``EkU&JLHWP^ey<%*C`%eeLa^kUvkg<9=qd-5& zI3+TzsiaZK#s+r5?B-;^Wk~~cD-l>YBXoH9-&=|C?hRcs2p$spbjeOQXfzCPGYemc zccCHsPawyBNHElaJ)$Jw*e^RpYV6`0fM7-f9Q&19Hm})FBRnP)zYrW4S9V$N60khc-X_CW*Sf0w|8oCDr4JqkerZn0MGRRhm+Ht$R7 z)~>9F2DB>0)0@(`%Yv+1gr`&bOq!L$^ z_XCwIJ{%%k~Z5NDt|yuw4f;5{WDVG-mYCCKgXWhGa56NcvheM3|s`#B3vG?aE* zoShu%OI?8&9C0XuF&!SyYwWmCc0c}-*eO7;?_m!!hp%s8pV93MbA5qiSAQrk?3SSq zd2{9b`;msZ!_Du@LzL%H9c+;x?U86^?iE-V<>G=kYG-4HWXKeS2wcO5&aS+8(%z_0Nb9SPx8jm6f!7rF6lOsTjIm z>w+)9UN4Jk+jGtQ6X#!|FHBp5SihCo;IYQ_8WX9q=;>@9qbu_HC;_sFC~}Yj@n}|_ zH};Qpk0b=NoEMi#vPYgDaMAVaB#&$;$9IGGGbt3lFvsIMByg0UbAt+gL`au%BI;L+ z44o_UN*;sq3)P>_J`H}4z9R<*;VUS;Gjf^192a%4_=~1UI7dn&ZW?z-zTS`ahW1=@ z^ZFJaGe(`ct|@Kp>Y*++w=z&WJG_}*drRPQuT%l+q+6pIDC4iyA#VUXeGyglw@>15-%5x_zN=p0RDQ0XK~|_$n|H!T{}m}Wl=j{^JZ|Q0`BqG?S3S` zx&mw4ew^_QA23$cw$Z$IE0Z*O=si4V?rnTJNVYiXxV`3m6rw(3{R8Sef+-jD1|Km{##M{%{~;hy^v(BfD5zJi*K&)2LgG$DEGX1u=> z=3+#5;NrCS73Y@7GBca{SWvYHOZPLL(!>&Ls%J=JFrR39?#~hf0kuGcx z++wAKGGe)qZ98|><3pZD;~kgeAK zdS!nTL-nr{ePqoU;6xt}hKPdonAb<~odc0n_%9EH?w2_|j;xC{qOW=xMz{HubQ-#r zS@reXQJ8d-pt#>16!)|50C9g{*2sfXD%2^#IXRiX;|z({L>)(gBpg9m>Ra51Jf85L z)X~#q>wSf&KI<()8{3UeP0Nb@l-UT`HyNrs-dy&&Zv+?c-JewonA!>m62o~=mPOhS z=~mjC%u${ilS_ic*zDa#Bg?W|Ad_J{tj(2h7bS6rTi+Y19-c6%9&U`H&h>_y?1RGo z(|924r_aj#Z`gmwUYi=lV!=Kjshb3qT&CdD8_b`1Kdi4n-@-)WRl4S$8l<-jEAQht z2K5cfBeY+Wq#}4O&apMF&!$5g?k*Wf7eamOw=PFe zA29;)-JtG_%8;}l%EN5yizJQvd!J^A^t;)^+66D#?T8~}7>F6PGY|N*bX?ThQ+$}H zn7@6_*eqCv$wl9rVY{q+07mX#1#!lQY#$=IFqp^r}#+{>AF*VwCNN(}%0G45aQ;LjPF`QTX)I{zO`RQ*-$tgrja*$5aIaM*bETc-RS`Nl zUnI)a@*5Kv)MH*vt);6o{E?eKkm3pq>a~Z)@z6K^$@sycegPSO9+2@r9-h!Pf7vW+ znkK8T(6w>bQUwO}bWi!!#B+Soc0q%BTRqFAouQ;o+)t4%;m}Kw0CU(IcxLzIfu5W1Fmv< z?h=dPW7M(qAZ_ba&1avqlD*V|JR`RPJX6-U(%Q0hcy4)ZeX6Rak6U`!Wnao$(GT`M zutTHmtM9kxUYZiCwQF>%Iv`lKlcL?p=2Ekb3Wgdiwc|}AonP1s%b(d z4wHHvEWgHr?N9~;d^M}ByC4CdLB-_VYx$G*A>`w5xeCL*$n>h*-VR0 zr4d<*kf(~(g(Fx0%Hi1v?zAw4`t$w>Fm*pDuk;}QGIby0-V3owh;vg+h+|cFVHt0} z-_I$W#?UWs{$3c~md|R##kPp!bmJf?F%@4D$U~~IE&P3*!6JIGtKp6eGYHEVR_7Ao zA0=c7PijBLj4yt@RI!yj)Psk-O~3uJtv+M;XA+NFXzBys%g{Y%%y4{l3^0k;V!V7Z zRgVhT_tJ=aFTNVH+s~rXJlUdvhVFNUfuVa=z`mzx0}S1>*Xsd8_nnbRpCT*^xW#-t zI1}IOq&B8P>&7HcrzqA9ZDG_$hwpkJDwX z7^{f5?nMXOv?KocU|nDXycWY+jW7l%@PMTsa1J=5^O+dzZXVp<36n{^fZC*&_9`e)^S8d$lf z`MYu-_h;pP`7!T*R_?!t=A%shE96)H*UEhn%HAe$UGEfoOx8|x_z?DgR_=k-J4xlg zEB91|!!-X|xkm<8?wtYJAN))EB!|kNmHYoB{9OM{_}Tx^eita=cl%qtFaD1u|DWo; z!b|lY6;!={F8=x!0aU%$_*eCQ?7!9f5s0OBR|lYY@6qS_gZ$m(|EGBW*!j#e|GV+I zw?cOr`_;6)yRI;x$tT}BbRbrntwf#bxjs;nrfRdRS&-$LnOSIH)rRI*lYnN?Z_}ie zc;BSi4FlKE@;ebI-tz;+drDt9QI`mOhv_aSnJ~7{rVsEkjMjw z>N(TIn&bx<)QNOL@ob_XF?hy1p4z+?k|Txr@yjfzfA7=IJ1Pi$+=TEc^TykItkyvCpS&9gzO&l; zD{y?W{E`o^meW1}0F2-19{+Yt+51iCT%oV0=HT7Nm?!+REA|-XhpXS9@_itlT3~jr zY~WA+pTz=_&|>}wKWrIVV(!4eyJ!Z2n>H();6x#!l|p&Yk>Kvq;n2-}iBi!Xzpo@R zHQI_#Tzdyev3pq`ni$?Cwa72nC{9sjC`pUUCybI^Xqa@(E#ZSqCp)Imf;bi6DPtxE->GPQ|O^lQkfIMW}_)9EU ztmDd1VEUDP;6gxc$jVW zjIr{w-1DMI3P5?EG#3({GGvPvYvbxM5w?h4B(K!>P7T{AtrYAi;QpA5fhTR>rnI)? zMMN!qjk8ovqf(&_8lDk+l4gS8?wx&?Y-uz>eFaAK`m^F3D z5qx*>{5`2qrz=q7k6bZu?=%#AUK>qESl0+$pFv+)?&6h7z}E<6%eO(*gXBXyB2T!K z_9V036uej~-%&lP0&4t9pHvzF0;6H)HwfPmkttbY$dx|o6IpAtXc`JWqo#FeLyS0rz}?rZnI)P^;QVV*uR z>Yb1uHJJ^nMV&EG z1`n(V0qvJ#&mIWPcuF(RLQfLKc9zpx3I5;l&io5ZIsv9A*~JN!gls5Q^&?tv?7nyy z5GH-CK{O0H!S~as7wY`24mz!$!H+VSz6dX*#HqA7P^EUAmUR+%`G7H*b;+= zuuQoK7g3Z-7R9qA3i=ARZMtxPM^zWcXt8;B0GBY3uH-{%eiN;8;Pu;ooFDZvi0Lz& zvA?XDg)$TFWdg*N7z)~ZEDYLxc{y5}j~2r=Wi)73c{CzqbQDScJuA`TA_F|xO|8`;sypiF zDTqc4jN|RgqhzdT4_!*g(5mloaaMd%K0qGZ*bvwo>s$m(xCh6Njs@EQYkINCcc#Jk zlrrxnmfv3<>+TScNiiLW6qg5H9$EU$6jfYp2W5FVoyd`{z1-+415PM$bP6Sw9G%#O zzO?c3;z!>Rfyi&k26)z@p4{bS?_3vOoh}X28eS@@s!imZJJjhBz$`kN>BB3&e`s6Ai{A@7{k+&0>IyETj;=NGhG0 zn|bq5CM=6%b5QzAM|2<(gm@C;I`y*UI#W0fxeOTup4fx{SC)qR9AV5k_0c48Szp>M zcOn{+93@_`{%#P#y3ZV2uMtUpW5_d0Ug>{i`=uqNNyr$Y_(=-B#@}z>6GZf~s1dEI z!&R<)u*S@v&xb7v)!c`Qpo!JUEI)U8qyPRj&u5d-+f6{i2ZObbuM{k=i+3~8r~J*K zT0cMtN|WNx*I(?d`y|2vAWdbcp|2=7m@^#R|?rAeF= z>hzbaD}9{lVe6=d&Z^1n6)|LaNuql@vXvmL69fH6xX17EGjim|&28>OiR#Ol@&Uw> z>@<<}@b4zcBF&bawKXGcOH4?A4}W?r1t>q^vgzVi{0rs3{s5}<%V-HPwy4*JgD8Jj z(ux3fr%VH&e1Xin2nEHVR;G6V#e{d`Z$S$#`HjxKW*AXu!Xbj<&=rF+L?N6 zy%)u-91ygh_uB=TU_P|7O$7|!V?A|V=>9da*Twe@MYd-zPQ@QTs84QcE*ke(KC~zY zX}!<%DVhjMzPI>G`Bh}kQYv0ohnjZ^^Q(=M@|C?*ZdaqNDsFk7E?zAhVq=yl3ff*I zs#%w*aYt_tkB=p(937}rEbMDn3Vc-sck8e1L4B+Tv?vKXm^n7w=m*8hOwQj2i0?Pt|&qw;}I9nt(RVsS$OafAdUb*r}mii}){Fi zvu3qujw6(d4z<+-g$FY*>2I}6-^h}8u?^c{nSM$#eJ`my2t|SR%8PN1xi|>_sK&x) zpQ@5!X^Y^P$(%b-WI~yTgDQ2EQPhAT^YIt=7$DpCB+d_L^e$gvxj8D}P4mC+rwl)j z{K}2;*sY7joM#fzLM>k)Whla81LfCg4cpzL{2aD1tlAJOk96jq`dV>Jj*ZQLj@?_4 zp7z3!IB#{&tiC=*A)avrmA?42F6n$WcQL-DxtQjF>sw)Q@aWUCx`C22u|7ie0iD(+!BS+LsQY>W z4DV|i+Hc_n&GUl2)$BOVRh1s`ZmlxV45O9}tmj)B=H3%gJ zxofn-kaa7VaF0#1t;g-D2n2=c*021Z%p#No2UA_uruyXa8l((JNu9T)yB!}zJFoLd zlRn+0lyVM|Mdl8h))N(Lqq1eP@LW%05fqORFv1$V7QYFTE49vcybVZRnbCJxOS{lL zgS~G*e`_)zDxQlP%K zu1JhnO*`KSR3pc0LI(={Ja{ns?37PHp`VgrW_@T=3smSAyGg*vPB0Tk$uLbq2Zz(b zZ;0EGeo#QD%48(Hy31FW<#0)>pc_is%OEbA;mZ)|g{4#0!Ks?PbcBZNzPSoeD@=}O zy`tWs>BxS9$G@M#R7P-rHO6~7_Tt)KIS@olKhpgjaI8yN5|^)7Q_@&|v!H;@{H5HB zs%|fTZ!vLn^5+`^j`HadT0TaNKeKwhT8CA>ZkE8ifsUe=p*Hn}I+bD@s?H#?JAVU7 z>2l~>24k`;OyQY_(w6sv)b-M^PYV`z$QHqw$Ea^ypi_Na6vg^RuA9=o zr}{mhQ~k6e9Ot?}r~2gGls3Sreg)`M|M&uQs(&P4KK8Fu{qo&Hp8}hgQ+?pa|Iewu z6>zE#M>!t^oa)cEE_-rl>pI;3Io0Pt>NVmz|D_C^>c8$v>TsMFOCb-aNF{EOR6YOzMEq_GF+E{$Y1?;v(>Q8+hIL^-21Y8 z&!29^CEX^~P@e$S{|&Id2Z;4wPW5?-C)|^PQ+?dAhiQQIO(K9*Fe-_00 zTDSn~Tevl^ws~J3Ro}5F)n8evQ75C-$R%0MCqQae!l{|o4ou z%~||m{Xdub|7QIM5bNtVf>{59;nT%1XA(oE8n1Qbsy?ix3DJX9LgB4>5rdtz*@r$@UyFaAEA)L~Dz~5|NRJ$75|5Nk! zlfgfQejSYOL!<8`)L{3n|0es;`C%b1$$mkA6MKIAJ0RKr{WsZ1a(NOVf2;Gyq!-{+ z3ncp>lOF8fWFKN`D*#CL1FL~#Kdkp3livTf`Q>dI#Zz^`8^!f-zXak6y%!M^EB*FL1HpnVQNT(_*q=i9x zt|l_oD2=h&KQG#d#_SQx12}&7tmQ!*%Kf-wdneq9yPQzcK(dWcj$;r9RU0HckqWnu zu~)@i)NI_v#J&E*WOc04ZMJL|sgk|vPd0xn&fT;%c|!PGu=Vcdcxw@Nl{u?jes!Y= zbZ4(F(NSaSwP(@c?*rV~n|yG*2cf?IuBJbkGe+Oryr?tn@5RD0U32U|8gf5PkdSrV zzzxQ(HGM`VhwAUXMWgWt7bV3c?TO6sItSg^Q()%)1$7i!asbptq5ROi*vTb|fnXl% zBn$yvE=+(CI}XFXTMrb>NB?gye}iP#d?=sU5ylMW`AqHlcyZW|Z+?b)wq%8>4G0-+#l!s z8}{$u{=oj#Sww^(P>=WjZB4{jm<*?O8l#Sq?#O}_GgAMCW~(b+ChqN4*A?GI2b;gh z#f1!N!MK9EFOZ)bQH%I{Ds93Bn1&Pz=Y|kqPUAl36uVIbg~FfP*`nRGa%xKE%}4&Wuq0sSildzYN=gp1_tlgdw1i%wQ$OqaF&|G zU!LM<*?Kj8{rUss&Gvqx=Ocx;*U_{4`RMA?2pzgo7+yH0XQwEfKR!1tdcm7{k_#A5 z$_;V+6X3ze&Q$1dw{1uF=qngDER8_XfOd% zzu!Eu+&+};D*oOdu5Da>diXWAcXY(9oyBw6U4klpn_^%L_g&Ovl2poDV=_q#S=54K z`;DcV)9=^qW+2ihJ5os8Tc@GVCZMA8;@AQm?aRhWf-3y`6L#GMlppiMZm7kn@ifkD zf>-$g(oUqTz)lyjQg-}qNSY>tGq)^L79FbHr=bpde@4dc@P_B z)n~&&2xN!o0qpEPY%M5xH+F~$XkjB0bz=@vW#{Yw>F@BEFA*s}lb~w|A-#X>d}KLe zrtmVB7eq=|flp-mp_%#1IkuAaZ`%ZO4Ge;pnk%#u20S@Sp_t1zSf@luU+lqH1H*1621 ztOM}vLogPb;TLzgHlh(LR_`xZ1G9R%MfcoywChO5NrJ4_p=}2-cpmzW2)^$rK0MZ% zOzyy+egjtZum`WP z{mV|$_MsTlE_R8u;RUhCWwgYGIO>M?_4orY85Yu&D`)*bh~{K|GHpt@^#@M(P1_KX z3CCe2s4z>#?rN-z!y~%caX8zDlBI`vqUoh*bc&nVxzx&>jj9{U)}s91k2cn2Do(mW zIpgFD?$l4^R=mDOODsJx$!s$S+SJ?3Z<}YEEn=(u_NDCdpG`eKS19;EQ$_zYRXgLAzGT^n z=NVUSc^^+NlGhr9lGpO%15*B5i4X&cq_!zX{kVI(wk%0iako_mR%aXio7`U+QJ0)j zxR;B>$~edFflWOc?VwJ1iDGHv9UT?>qGAL6HU;K{N3WyXLEE}~+^k2Ol3%;TG3d73 z5hX=0q_1aProkP(GfX@1Li+3r`^thp2YmC-UYVgmL&M2mz+v@B{l)woH*+_mYm=+W z^)H(%CtL=;cZHT39BQ0t&y14H@NKxG^6PW%pKqp&Hmjy|j7Nb35&i&| zC?ra0tQKoi8J4BnJ+yH2pVp?jOsILE-4Y;=jxJ;GX*AxrHQmDbcNnq_Tl@T|7k(3_ zdU9^VlP1=Kgq@=~yg)=WqcW{RppnK~I!aV;p4qs>ZwWo+#A!%5YhA>xO)O?MNK#&8 zP5`@?oo^)|AHa)w*Ix#V@uAX!2KC+-cYos%g^o2xkf8^sV&#CU>%0RXzX5^O-XDFx zMw1pz3gf6*Q-^Y@-x_k{HA8BJG?@HBb&QMjZ^R(^Z890OMB+Ul4Ia zAD^LJqf`(=s4Zaz7s{NsUVgt0H}!d(=Y~`o6GEQqJ}@fiV7b|9O*Qp_jgV~{!mI=x z?Hlx!nd#f8%u$vk>_Uq4N}=7(p3gfn#ca~7pp(y6rzNipf9 zy*`}f4q)A{ir3dQ$lo#C5`HLudX~LMLbUUg3+1EA`#TL5QW7efQCDT6!4)WANNBi8wp!R;fr;0`C0%ZVgbXEMN zW44gsfNRg%q_(_DfDeKT{Yj-OdJ6~d?9dJRd|=&9oz?nvq}=C7sOZn zgZQa?QSEYNW_*z1Aqm$E5y}T9&HjG&p2FGFyX}K1H}S)@A~kD~(E)p3PGnuS-y#s` zpRr=R!xP#^MjYT`{He;#7^kr}K|MNcsD<)^_%B-AsW$A;?n)f%amyn z;+yxq7uTamOgTQXqrWzA4k_q^M&XD3?PB$h6%fLy2T_%snJn8y^n>VB_0@iLy;?AJMKQO11uA`&-ii!K>2geLR{194^bL?(P>;EABWix>IA02`I{x)MJiEG6A&#*shdh=_MZqsJO%tN0S z6JwL0r^1(hBgxdDA~Oh;bGP1_RMu=Cg27w8>0?@T^1$ zQ>eGaMzwNRzUoeUIm#2x+F>>90OR-jz*31$Ubj1Q>GBGy;AKQhBNXPCYm7{;p=IP< zE50#LQ=46A)~r?<>iQwBh>Q~e6!`Hk&q=m>8op0*C$?Y<6Jjowp;s{9nl|5*>BcTl zu?k1@C=F6|JM8Jad<3brc1MQMmnA?2)2tscEd~^VI)OP z)po}N`iL6RZo{eV!}M$7hCdDd_)qQvh@ln>+R+;?lt2E`;J2Gc-crYqT6yGx%$Ppv z-A~#)Kk>fVyPi16>UjPNP`+F5-qBym$L&T<}>zwp4DRd#^XCz%?KC~D=ZyW|->pq{=+s%L5Jk8<+mkFj>aPVW1$N?Ahr0ibe!zY(r7)?`7V%WL0PuZZ*0 zMumEdqW6%5-4u#Yricr1Q;r2?6^dl!$FQy%(cKKDpK{(uXcG z>aSq~^B37~HZV=7o^S?C{U=rcyQ3LH;GBrIfjsnYSFqs+gLecV)LM%a#B zCckGFbuq~+U6sB%n|;pv=AsPIzz3P9W`u&W_`aGrgRen2K%50-k+=aDoplGexo6(7 zxE*bmj@*IZxi0^$Z^XC^o|1ZRd9!&+ls5%b`0uZ?Xb!-xiQ7_V49I>RnLWy#K>k0v z{xYhn#eKtt>F!49mX?t2knU~}5RmTfZt3onloXJblJ1i3?iM(6p?m-K|Gek@w#Har z)|g{{x!3jF*Uk9GBjzBk<{Btubm%8@O97SpDY=?A*)t7S&9ptAd1-T=cq{!aoxjnF zp&qO4_yIvbI)ttsGCYNP&zqk-djB@J)9t_!8>_0vsYWS9(bG)6x44i}syUMw(SmAaPscg?OeE2xt?3_xwY+O9DccMeN0`r{l>xJL#G_hn!$aW(v- zs10kC=TE=hys#b^JFPzs-jMxFGtfie!X2yO1Ax2M$(_q2?cL6_@6$ZbA9UJSnl|VhW|FnWiy@Y#4Y3>6(^eay2Y=G9GKAlxSk zVZ7*`08UuZ6?Sw8QS==k=f`%{777y)gd(6LKtxLiQ9w{FWRi0qtwGhp{<*z>Il`A8 zT}>Kn+l*H)ql2>13tI6xUth!x^k|>7$+%vvgDvEfkyG>l+aK3G%I$7yY<)Sv$4k3I zCCL1p^HI!Wtd@+gU&3v{Yow8tsM?74Jadw8?MlwMnsSmfgp6Bot>1$lN#X%zFg_l; zgNAOk%^2DY__W+~Le%X42gJV+`IxbnO}vjx?cZ)qp026ks(JyHUKk1XpQb(V*8&6R zuLZ}Isxh;ovKhu@uomg~cjl8+vPvtv=6EuDQXI4)#nE6K}FssMhljI3U_MKWd z5U%hLuYfPS@Ljf=jlwX2qj!i3t#3ET~# z*hUs2p_2~RSmX`A+euLCP|ZcLr80=)5vKAm z0^c=i-BJq3w>|Q^<9>JZK0oVQ@xEhdY4dhF`%#K2=Y`kx;0PwAFnSY+0C(>RyNGSu|;xSiDKCZwl~Yj}o9r&o?EfB*0=6v++zm~Emiz6^(!<@m<&oZIa9lAH9%7gP3W~e)qbON~8PsetO@pr?DVS1!d%Dc6eNH+9bWI6jaim(4DZKoAqU^?iU zXa=KQGrP<{nIcZc{Ye2qUu_&*%O62sLu9_9YV4Xi$F!oe;pGd>mxhZh z&L=s?oZmfIf5T!j$Lp zU!@*3ZI$6VX^f!2W60T+8GfIneZ(5+J_I`Y?r?@f=p8Z&U0j=J>{zO90L$m2l^zTZ zzEJ1D2~nhf)5e6Zsp18rK>6 ztXs4t)}u{ABEv&_MlHKWZVpSTSP`xG?F`|WtFxNzc`1jXUkH*r&y62zJ>_N9RgBAS zq~lbP5FISkYSHg!+3XdQ7`iW1i@Xg*h~xvr7^$#_lWO@>?EpJpq{x~w5M+Eb8@ANUHxK2+^Mz`gy@B}s6@yh3s=nFel$zPe3!IV~`fpcLlN=cwWQ^IYC-0`9R zbdFyO&&K{*ab4G6?rH`U1+aND=RW0}I2~v}Y3ynEf<@`esJv6+0}?(Z6TJjeT=I{q zX|k*0&VGH9uRqeptsI;oS}0jM@K~b1A%LI8GAH)Ok~F;cCdo695AlY|CE7naj$M2z z&E(ZN@y$6-+I)we#j+KnCYJW#2BUIAF$5g#TWEf2RD>2|F9eTD4d@*b`nWAN=;g0A zCZq0kB3S5b;lNI+^0csYrLz7OB{uc3lE1hk1Lbjji$VwMcp%>uUH6kk^*gz07ztK* zih5Y=w^O{kZD($23zk^h!U!z$GzD{*P>0Qm8f``4pnkqZS_P~iBF9>J1T{T zzm5%|gdZ#VMH8eUnUmR)9;CxyWd&sXo(xv;OG%D9_ah?dyVWDZN)?CIKHIO&3r-SL z;}$qGA1lQVqkpqi)I=uNP6|H725l$_@-QeqIws=$JSXFMY`b0KxO=9)d-h>GFJ^|`Pm4=k#8KUdpl3^?dPWB@PyE}6e$=@nb}T9{888^l2JPaW6kGpN9%B+7_ z+?UBf1RhG&t0p9si+stJ;-npUF6V&CGnn7iypfZGhE|rth88-SuThjgr_Ewh`Knf0 z@p<-r@rXaC%nac@Z)m&x@l_TnymJtm5)({*28iJA2k-7-+0t{9cpnWO~O(vjP|{1TBUJ-bi8(QBKY&G zHDxK^ghY0m5{lYzSix#fLpnFR@AA|qUk1VrtK^!=28tXI6C1yzF3b&<>lI;^?8WXo zn%tSI(kC;cMcW9Ju({i?^geC=ra)ukB;7D@U-$6Oa^1;*+Ob5s#X~tc3x@uk7OD(> zE5t!RA+tZuJv=3E5&ceiK$_~)dw3J>H=vV!$31FXh8N?$beP@%VB9~*!G0JtAe#5# z=1`k_spx}F_94~m1GHi)LhR{`W`%)@K1DxP@xK-QTbb4+nMsWO&b=K&c1(@AjH5VNw*ibAL3yb!&z{a)YLy!zqsa z)gqfmVwDjW*7Wki>fn09ebyZi@y(?dWjN#+ewwl0Un}}vL;9OfL0CU)p~jk0{MvH} z1}HukK=BcAW|6*c*|L$nRdZzh7Wa-=qYGD~?MCh}a_V&swEcNSDrWUETdh%Xe&|^2m1?^he8w z4bt-Eqi5dSZZ_QxYR1mD=Cxym;p>Pi99E|xpEB5ld;)~~?8lC_fN)=J^WpHS%qHY2 zWKgCwhRnnsRanh~Qf^^cu>Qc$nCMGLYbw$=xeu<(CEDDFSZG!%ofT9ZE!>D6&0bqH zS@kxrkVrK~d0rbUFtikTDs|B`|4+;JFge=(#Krw^b;VSVPCfWquIhc1#+x_uw>6%g zA@J}+oH-&+wJgy@e=qi93qAhT@^Mu65%?dV6NG+vZ~K#o*PlFO6{S9?HaE z=Lj(%+^2gH?%T#zay(#xg!`APZ!??*=K`?Ovm+^N-FfiNLbJ?#b*^p)qV5{p<%Qb4E@GHF1qx37mJw!Qoci~Ay(F9CM&F`8M6|dVl+rGETuGe$)x+8D-G`-5PPc3hx;x6UsUv6@-Si zzG@tb+3A}T6NY5?^GDl&0x|n>42;xUUhP*uZo~pO zp*E}8LhYoGU1Q@3qZOQOXJ$0DKU!thJI!48ms{1ZN@su9)C0Rcmc6|nm?Q@I@+I}S zLB4$ZV7I;!Zo&1>R@0pwi&pAQz#`tG5L#UgaBaU2T-)yf*Y@XN3~PJQY%9YqImj!9 z*%^m|%g;{;H5A-zR4&k2aaDPS@AFhex0(Oot7&f2J@O z^B#gYG#C*Ft=`On05m1cwL)`>5B)UG=aA$LB2fN!x{8W8Z^LNzKe+X#S%Z;iX5`Xzkb5%Y!;3NaP%no7AA z^ICX(N9?$SWlPGB$9y+Z8dKnFU@YlP0v1WG{REl%fUYpqVaOQ^1|i{YjPt`!<=Oe1 zs-phbmszE#UcmXm%le6;dkcfd_3Trp0{)nK_!0*};jqlpE3D z*&S?0GQcjwqI(&LUQR7prXkbAn+9X|YCG)OfI8jXak1)MQ^qGTwv@M2hJ2%PpcDN( z6&Alk;m?T#-7Z&{M;109_nv)@SIL$JU!H@@um}b5YpQsb3V3wIyuyPYL{}u5!DTsG zMS@^{Y)}k{RQU%qat-RHhM+e7=$|%z-_AkN>k_d!K ztUIP{MF8FChZmB#oz%VOHzr^eVm7Y!aH+r>u55v8(&UW$GG6v9YVMwa6jLb1CB&YG z3ofLQ6o-hUP!{g1sLu_Q@hgyP%Tfe0en7#&p~dXrK^Y*y!)gkV8Pd^_2T0XVz1ONMMi|=wm6auY<6| zMiiN2;?JDW`n0|;Gwjtw8f#N!!E$Ys`Mi<*6gOp=Se_i**`V_p*ME|&N;N@7Wi(Q~ z=f;R4qf096~%Vo0GT%BSqW|bX?M%MnFsSWVB8;N!iJ)nRK$aop59GgSDnIc zGjjtK@L4dFB$28%;T!kFBMg8@k1;?gP7n)3`n;LuPFEcj^XzSn;!gVSbb&cgEa6{s zR7R)Zo*%aH-(S$Q2>cGg_|Jr1aGph#5ZROfh7wy{Mtjj$&PYtLGsvLT{f8oMp)`4S z+i2Gc8QY73>l}Bn1^Np1ope#VZ6j-^B##LA;R5oILf+K}GmN4Q)w*8>FW33ilKQL+ zGUn(By?LhUJqu>36n4Ygfr#u*z2bWHD98=Y*lj=qA3AoXR#Mwb{-fcHgB}mV0>1jQ zLep?S5YWKqxYiZ=j!L~O&|-@4oWb;i+%%2* zBbi^bKiYIWpJm(AQucvNKfAVXc~R>wFArq;;v4B`Ak%x80-1h$7Rf>}sUmOCsmRB0 zkZ`nHtdbJQ^zr{F8-_2pe^k$Pu$#)az@ zJ=>uwj45>V-uUW3p9Rmg-SfVF#EkAqcYGRjPiyn!x=UoD(|;Y|_CWxfyTWZ;KEEvI zbQomZr|{z;5?ag5xZj^{oToGKVKROHw7T*3>^3n3#+aAZT+L{r!qbU7CNE@+*%j#(Sj?j zeh(a$BxN`ZIJ|fL8g}y%SC&r>D&J`^T50qU+GirzQiAghGAR*0iQf#*BsVFY~t{?!G;e+&2yzp&=EG0F+GfSY`~KR5Xm z0&U6^4`uTDsCZlt6hC2b*QC4*PcJx-s~)i#sRq8d+F?g-*q*XzGQ``vG_NIUh4K3u z%ppMdu%Y;ir95VqSH8caWn`B)&}?AiD=X=Dtth``D9s)7k#+R0ieXRUe=A$_jWai= zcT#+Ck;a-SZ96Y($U5=_*w2IWM`AwjO0h4)vQV4nb!kLw(pp$x`y2-WPeHm}u;@u? zbCms$W#6ezW95*CBKgc6XZmBM&_Q$nkmhC7YA+NXW5qyeo=Nf1GZUu^Nb}D%w`!x{`B_`4 zyq`*pDwKH0t77CbgCy&IIqu>bo^PECWtLjRqpVXj$;}S>-CvUIzy}Np%I5m*&zNz+ zAs~~<00n%AD>cqrs&A=uD4xmu@=wMOEoL@5mEKiqW?soX?p5{yA2LmQ>w@yO@+NJd z5=Ub}{d>`f^RPlYi#(FxhWqZvZ(8-&tvt?hG+6$jJX?Ec`~h|a&7{aKmt}0aWiaYg zjf`}VPv~7c31F0Tub0OpO|c<-4X(Q6&etvf*S{Bwv)aL-wNYhl{i?3nD)Vt{jC6YZ z=lSGI|NhmA52%07(%ZRtPLIXLOTJ<2jw2y7x=BgBM)?|&Ke+pStD#U&lke)k{rgw+ zpS<5G_efK{{r*M7~}WCckEp53I8* zy>3;#teuf2`+^5M=6MN%IJj;DO21ndi=GeN-q0tD>OC^P_IZ}bP)=L5hV=Hk|%sUCHM0_EZb z*z2aX{(J%UCzb%Pm+~6*Hj`hkE3_(FEJiVLd;#_kcO7ij;Eg_+uoA2o$5&j^0ZnHF z4j*%%BR;__+jDAt#-nb=U#5BK-zF!~`4S4V$j*>n08KKF^LTGU~%A8`vgHW_nJ20C+tZQ}aM>>+Ydy-megmv;57f zYBGuYw#E^vmoWbo2=n4;if=(-9%Y%sD%DD=be`++j=O?L3zeN+11V{B&1CA4ZwM6T zZD{8~VSX_lJu?{y^H61)DNU_LZRla0$1QN-gla9|Z5w}aeI|;W#kw@T6rtFbs>!f(c(Z_K!TPa-3OKsiL;*@~!u(l?5FYpcZHcqwOqmmk_Av*gh!OC;L#{OnG;he&X}n%JFQ&MPN!igVu(vm5|-2 zFwc17;QS1dilTbMmuULvC#QQ-iChWdm*lfVB7A>`=+CQ+K+~=x&JBu#oD;1$dNqO1 z4eC8nC!c?^BQy`mx8bAf7>G$y94t;l?jLckAXXpeF5z<-8_ieXA;CmCyuQ#k8R)o= zv^OErj6X3@D#Gn{AB*zxB`l9mUMyoqodXJdN0&(R{Gqbreu~^UFmS*AcIktA*xvce zz&)oCcfyYkpgb=J%Jb(b$2TH;MK&-Gn5vVM&cMKZh3^Wf6@r-0IWTbVDsz+aB*UD^ z4Gi30=+H0e5;fkCky^Jg?IQ;_z5hqD&sXDN>_gQbt*dhN0Fvwj>vzCez8pXEKJt&8 zzQ5~tpbGwnmcDCX{cZ^SSHRZqa?Ylk(6bDY-U7@lhrmD=UvtiwU^${ubk4`4iI(T* z4deWkwgBzgW<+D&)^g%Kua5sU@bmsQ@b#VIEx(l2>xxt&xEF*X09M5M8UIxiAT<>G8N({%Ng6zU@kg=Jla8q-h;JzqBb_ItykAGi`q6e+22|# zaJ;kqndXKC+Pxjlu5bs{+f8wAH&(XSqu$`@Cw^@^W!3Kx&|&&mW?=t()_|qwyQ}J( zBMb2(05a;QvI;Rpi4k`b&L!#3fP`D9QnZhGiHM|d1LN~A_xRbEue%Z=L~3*SEq)QB z0=suGq^|ThKS)A$btg$W{X||!YpmK&Yuta2V@Gww>(IhK5~6OAx< zR}f;r&J86f#i=HPni{Cim-yaeU>hWtfGu_3HvaA+$V^N#bRZsJFWj&uC+9G5&XuG-&p@f>?0s7^0tT^Mz7aMFV%K zL?D#rI9~f_@SKyvpwy*8ps%lg3xpH)58Evem6tPhMQKA^-gJ*YkgeosTHegc8>qnX z_51!EdF`N#V|^Xg(T?!9{l$Hi!L}+~l`v8*=J$Hg03K@znkw@=Q5}pU#R6ym?-m%q z^N9A*xYPtS=TYTca&)7hDXpBSywHiD-00TOZ#4p8jkfz;+*dw!`a4Lc1<=$|a#!|= z;FE>qa!Dw78z%)&>@HiJHFv@9|1XdK_jbXxsH~T98LIiy(#!3_uN_D3S6X?-y$Su{ zDj$j`eV8P|lSut3NEE|Ox+7#P{eL|C3J5^d0bF~4Qy*B+>v_0v+1*ZWtT7qs`wbIy zccDHK-)RoV0>}VbS37@a%OZEOflW4ifxv+USp9L4K}_8Q5k1O?2V6lUAH#X~!19gK zUsms7GePKz3iIv1~lC_ZMyb6;P* z8%>1|seZ>~tYb&UFwH?jU{@?a^ZsLwE;rD;e+&N~pGC~bx>`irX7L%vir9%i$Edu( z@6*9W{hGzaWOaS+t7)Pwg&h*kV)=V;OXD#d(Ak0oRbnfHD_KVBA(@{Y6w;8olO z!*2)*!w;3Wp1>)PUOb~N zdK%4vx4=#Q1n4He+L;`70VvKI3Hr0I4gNkm<&Io$IbuR} z$dNDdj8+u>G=RWg>5W3(`NHdIZ>=>Bo;Ltqk6${dMTTZX@IkR<#|jR;2u2_THm z_6iyknPvd>`q>CobdbYk1I){=fqd&MDS$$pQoCEBH%Ats_)XS`*wz__~me84lH}^uxep zbH3#FhmQ?mjgz0PJH!;{QM5Mjqh@_(zEd5P{%|&zD@qm0a10)AObW(9<{PTU#*dzS z$v^De?VIuBYDqxDlMfc!q^=oP?`i2S`^a#Dl`o?!E)0{ioyfb!y<~elI`~RRUSVy3 zc%1)T_B3#k9~Dk(HAyfyl?~$(v^w>nD?f!f&-6>sv(-gpmuAWm@e?%!X(S&M^G1Rz z(Itrm&6o366d4dgfihN{K29IbD8eawKvw;egMDC6Z?6;o+``0v3sb{KskK{nW+wbb zmR{1~Z4)AoW%0H)C4E|c5@vZ0zmA`{w4N0BblF* zG#DTOVh;r(_FoG?#C~Ve97OEJ0b)M~5PMc1#=pegMkKruMC{vdK*av?|3&NwhVk?kJ3pni8!@S zE!EeE@2fS)ijWkm-71$i)sbh7FMF^hLOLnwfcMidSOxER4a9pK(4gL*cprb8e^6`7 zxJc8i@2~a_gF+pH1lPOHsDY_%IGETU-6wv;TU&18;^OQ?Pl;<0Z|L6rO&g!e1G zyC4UcEieNzxL>yL2*;OGxJ-H`Oa+gvXx{FxDK~p&+uu*1FO3D6wW`X9vR~EZSMA=& z1bbZ%e;ZrP!*OXQVAA)?u}+q`Sjc{R)mO%%`oIfoy%f(JA~yHN zwBoxsHr{js44Wy+D^}RdR9uD|bS)uP{j1jeX!QD~G!j}LD;J?edm20z*4619tc=M{ z{qJ}o7hODVc%%8+vdC&PplDC)2Sj_L;4~oG^T{ivX9}Z&i>8jtkz%9OGPocN&Z^XF zLDovj)@?yRP*|X8dl`HZYLJW*YeMTmH`xc|dU6hYfL!lM#X$#qZu98~SIYs(J!iJW3#m6oABFk9q~04K_38g_QXlZP6cWi-@6n+%kG){T{z|8DE~!eUz*i+kY2vX1(>Q zPr-{B|1h^7b$^$`KW<`o4j9nmWXeiu-hTIj>P>tMK&YOOms->oWiRux4z=nJs(%fk zmd0oTLiMwWemBrv9}_l(8@G{x0li!>xFjY^3MRRmy-VFc1A6Kdnl9F)7i#RvuRT6b z4>}^S6Dko_(hF340S)MlKf)$TF!hoj#xTi4$^|I1AW#*ztzN3=xKn&HCSQ$O9SB(d z+VMLQ@+5}`$D9h$u{e+=6U(WkLACibz6@~d5sAr5MZJLfGFK3& z$9Vzu@h_lW;$Ki71#;;xfHinh5B?9-3&iX+*1DGd57ZNc`~~%<11x_*J@>qE?rYF7{>(BmW~yP)AD4dm7cLeH z#!^6MQa?UjhS|H82bSQJJwNre_5pC|FHeLFGQ4^iShEMs=auW)6B04jPGyUE3|4pn zF8x@WeF{3Z2J>rL{eN8gJ#Vf+F8%0&|Spxmy(jS)iHoXJ5 z^nZd}`Z)BJ_^yNhxb(@bY)5$0YNB`k2kL);$61T~1@+1Q7u09MM8p7~9@aow9#HEc zrS>YzUHt*|DAtZfD=#Yj<8F{jUtR(Ik4m5Y#BTzm(w7l_QR!pa!thT6oL=gM)3f|L zpJ#Bx^5u!>zRS5-i6e0+JUb@rYCd%2ljph4?;f`PL%s2pupb6DR!}`CW%FPwr_SG0 zkNmVY8~^xM6!WE1^pU;n({EtHWL?B9w0P;VHGG}W28|@o_Xz$#{bdDU%_YbNk`j1Qhgxtev|5@lCm;QfI{a=^U6L z6bwOV>P6@%PP5IBq`8WCvA@Iixn?VV246L!-oR$mPp8>_lkKO|1@wAoAidt(c~Wnf z8u;waH>64EZ+&$+k;Vw;{DowYy0yS2Lvb>+dut6s52@3jH;7K?l7ci{A^iP1GCSex z)(F3}bSE$)j48?)NKu>M0kVdJVC zE&%J#09cQ&{n0Y>t5fd`{$ih{Wf|ql>?&8w-RVONt^lvR-tR2kRi@{ZGmd6XPu1T2 zIC-C|rva8!#@}a;eFsXMd%5a+ejJjhExmY|Q89`xXgLV4K4_2WvcawqlB1sEnNbSE zF+1AQZlaHX70ZVq7)qVCmA=4wC;-;`0k9rAj|hDAg98bwVCTcOAQ4srMd(o&l#m1o zA3dTG+S@Tgv~hEk_a$7M9}XfbSQ|#>xIcL4^fqW61M~KpI^Zw3e(-{L$HoT%xQ2Lu)^7vDcRRrF-5D6e%3k!_6b%l6Fr9m@9Ek*J&4$q2hfv$)fndDt@6StEehl#F>%J!;=!)Sq zy!4bm=>l4GIf*mJP64N0#!FTHr8Cbbm#@tL;brIcx+7WL=C()M(eCKk`Qn_|XCJhC zmoXG`+6FV)9m*1gp&0b}NXSMImW)5J=BWhL@*{9c|9waD=&RuRQTi#fq1p#IK#wh{ zp8$)nEai5~sLi0ZoHmwrcG))T-?W4O?=k&Hn-CH7;$=fk6j2CAn?_EPHMqq8Bg6my z8_?5%fL@aseR>Ryy8Ucv0auip+@OkG&53rhXD0ydQIL3TU}w850xaB{e217k)_Jtyw>Ju+1A!=FQiUH65wTiwWs zB}I)mzR2lifm{+Z%~=G%J7OyM{{O&xXgsS!vMH>PsMU;Y{N2F@j%j>ykl9o8KVZGdK*m;iR)>^C8<3M?yzpZ zHp>Wgz7c!fHXa0U`}zx&BHZj)(PCr`TIR-ToiJ=WU5+VD9J=u zy;00PTF=u2UGf`ReMm+c2zGp3SVPCg#~#3~XP{*tiJ=9bbYaKG)eprSGCA3e74}#? z^RS30d_p#rTrW!Y1HHr=?@Lb}k&=NNdg6k3$@~N9Mhd(?X~0p-r#rKTC9(dYuFon_ zdZY4KpvgSPIvVN{@k=t2(`ZVX1IOyR#_sE03i3r` zjx=-86(So~RqudPlGX*sphvxY7l5WBY^!6KOJZ@<)iu3xVbuXt?#UUEBAl7EMr~{E z=FtFne{rZpJOq~DU*|s7s%k#U4ZwR-Alw(sF^axNEN^aDNK5vf*;|g{@4$x+RWeaV z_G{EdC70sF4V{5q{$?b0l>A}akge^yOTl5G#ZZ@UX&%RKM^F6j%NsFCvG_EGd{s+4 z%d?-~Ffyn#EBwv!+)cj^O@h>VLBBs0k~m|=ra+2EIN}H8*N}9_0O8)ME2VG7h`n6_ z4NvyH_ioRZ@!6h16REJ%+F+VHlF8)Hu?QBSanQd4Uo(6cQzV50kHcX0PY>CymD+IM zu+z)e)%uX=%KBW1<_{r+hnB+1r%Zki+~ea71zbMu5=#X#Z^Ic-)r5g@i2`=%JR!2s zSO`d#LryPQ5j#Bb@O2M_4%K@QydQQ0;C-Qt?IW~$TlvN+qx7evQ`rJe2mX4k!B)RO zcmMcYrR_^EwzK#%meAQ)RB-eJy1MaM8AN3bsKT!$dnRq~!t-g$QwV%=O-JVX%hcLB zrx+jUpl8xB&H2&`&JOp6u!)ge^wz=u`?WZ&5+Icp6X~jAFDE;$X zYf9^Z3sq@jK=Z6nPffEIITyz*KXSyoFWcwY70W@XyJ9Cwr}bJC%TvT|Wo$|ctj#vV zBL*$}Fx3gw2cJmez{l=-(0-uTCiXE?z&0O|Gk4@P_DP=*%UYSNZBN49s{vlUN3O|d z%Tw`#bEJA%eSaiO!?Ngl{j~ z-cE^)bzc=dbdsQ9wMRZlfq3x%Z^2uU_`QDly4;#^zq9$zIsTeI21ypah_$1zY!Tb& z(lARUhO9fG-)3aBWyc4{RMHOJx`|;{m6kyfc1FU*f z|5)|lUaWd1Y{aes^nF5EChP#f2dsLdXa{RHO3-Lu=&sbpwfMUqj=nb2 z{W0iYLbiU45a%2G;;N?HBUK2p>Sc0Y`DvVvn-dfs#?Vf;fc)-&=Qptz~al} z>9|@TAgeUOoOKLh!wDz~sluz!``f|5mQ;B^h%5LP9Pj9bJJudik%TNk_rbP)pG|) z^+1h#F_R7fq1z0MoB}-&B%pC$2?nQz-r&E(@gTEaN%SJs8w{}I=9qOI1U2qufX015 zFv=SyH5|zUC7^L{;Q1_4IyN|f=Mf*ls;}@I8Tq)EN)62ykDGCe`*My?eCZ7Rvw`kZ zv5_uLrF5LCXDWg&#Ih(nS!O1L0+8xSE+%?S6yoZ?`yk^2ZUJDwOdcgoAD!O~xxv)`vFBzP#4 z4Bw5@MyZ#+@O!*z+w>r7>>iYWR~{Ups==ksBp`lo{!+LH_j$f@sg%pSyc*WS-JA%Imdez6`CnyglkY5&M3j#zklSeGa!;Iy z7vh=C&C>U_%f#?O{(OWnPabCY*BwXt2jEIEfjpG6;|7(ZQGh=`qh}h@<}CrwAAdf; z@88BWm*x1uh2_x0khK%Xh!d%0U@?poo#NU3rC;|C)Lro1coY{4k&6XwmACg#_0>^BbX{^KjXjI>R0ReoF zRWBvlCF)hdZX=kPkk%mHa@?P zLw<%TZy^^o=4*ir`kuO;AcMX&$e`cI5}ifyV$ctADTMv!9={ClzXtvHe+~NnF9!Yd zhL@NR{j!%w5uKR+$Dsc=<|9fRobGOz3v<^8JMNJzA?tofbsWXcaODZy5h{@q6!FOTkfq2~jC}jW)1*P*;x<=|3;&hpA^ zE^~TNqLG@uEx4nj=jk4(c%xj#GFod~?m^(#J68AxO7VYNc0`>?Nr)Pk-fExrQ2N@D&rG{1II*o{CbuwBB9?Gl+FZp>;Bfo z_v#=EedX1m6nJx*1#Xq`5w0t>Pz1?f2N|;NpxT_Sy5X*GLw~1 z!GP;AaKSMs4OX=bwZi9fc7-^!X|q|cOpvjj^IP4^BRm|EBF>Tyg;1{Ph?c!$l3W1J zU;G#{M$WS%K96@*5}nAPfai#4+ryMc=DW=o$R=YiRzl-J2bB7+z}4ORZ7#IN+Kl(b zG=lkgfcPHEAUzN4NcV0*8UbXy|Es>|7fsh<1n9ljLk~djPrL&=x90R^n80N21pXZ3 z@B4At9~2NsfI}^-p;$5roY0ap+xr9Aeon?6jFbCF2#!3uN103jZZ&{-Y4e|3{NZ#O z(9&HXGBnvl8kEpbAR%g31}T{+-RnGpFrXsNSRanQ9}Q<Ad-%4QmxKC* z(1|chRQK+$$6**h@ALW5*jb3(9hZRvUJa795Gr07$Fi?E!#5%idAthY;y=kdh!SAu z6^KGt9;OxOIZyf>&`fkwQNC^h+WT%mdru?4IOr$ge|>~gOrMccvpQ79TJ@(be;~q9 zwRO(m`Y;+n=Xi043NqpSKu!xyUU@O$DZJ`}Z~NY1cs<(?JT`qcQ3>Gp_aOWZROP>C z`}h30sV^4u<_!7wran#HcEZawrjC?f0uFdOSD(QKMm%WZ?1h^rh$Z0bj0G{!?C=nN z;O|`aHwux85J*o+1#p)kIT9!O9T%~T5vstLso@Livp`zKnun!vdyJ z=e%b{p8uKU`}xXuUXPnAfWRj#FSoUM9y`Jo^B`3bPdp%Y&dJOC?CwXD9+~(;wCmXG z`5c*#;=T9IF&}YFFwT$xyW2rNG}j`w;Ib!SG`|#=${WWF*1o3leaoE%#$ai%2Mk?r zO74*s>5$`7xG*X7!FG6g4qjy$vAH^+z1IP0@0XJ{z?a&~h{@*Xm{SwX#X{i773xg&;-8GdRJ_crl4uI2me}=L zLk{*L4$jQe31{F*>rbjSrt(`~F_%=!XwXt>Bv0ow4^K<`>aIV+=jGl6B?9wsGxKx& zusK8_C5SxiRX|o&iA+rV+E*ak(}*MG5!()KAZREta*IKQ2FIb(PFh-}=+;B6J6Z_Y z%jxLb^8ONogR4$ZnEQf&1a@$M7D~QdLMwf4z=vW9a$0xfdQcfX_Hw^Ho=2{W5?2jvaaDU+p?vT6m4175s^dU zIh+tzo+~k|KETb6)Zl2P13OZar>4lF%EzjixHle0k|zArqz2Z4EHMNgZ_*~UZl@bN z?%^^$?rZ>P^PBW^XrW|GH<(eBKzI3xwv<>9PNHvMQ`b|Tz{bd6 zROx3k})@PDki7{shr{rm)6OW9ARv9w7}r5f{K0r}cjqN}_@M9Y+bsoz`+a+zkg|(mP`Ixw z@0UAKCnzJpxgIJvBp(__GE&T{0`BrFi>tSyao1{M<9?dbNo4>0hHsiXb3M*Nu%hUP z?x$hY0glFiZrxiL1gxT(sy=gcFBNod-jiv4c^3|Z`}nB9JwT?Xie?jf^f7yLqrE%K zHI>0zZ?p!Nsi^(5j^F&lTbsjT;VO2f2XjyC1Zvh2FfdHX)e*OxQ#skzr=!_Z``_4i zPdmHA6tLM#-|zOejy#RsyvT$Ejbc|rfvhhz%jh*H`*Y9Xiv9-k8a%@hQWIg~p(8{K!{C*K0D(Ldkl8C5%GFJQor? zr@Rj0ihKk7ZJW61t8W_pCNNHXqso(wX^}EBKOF!dH?rxBl&PA7`fYRNa5)#rW-Cas|cb*6ag*8KnGysomk zi!jTCo=qHB&I~TcmG{n`^`F@GIt~D;-cnE!7FAx(NNC`X~ zv<(n3$$_@#@yj`mtnTnh43|VV^x746SH#~en=>SbldZ>ou9FS!F~&|mP^b!TjOR^^ zG0|(bX`1IZG!HQgG5g*qJ>Cbdt**x3a?EzrLHtZMRx7LdspObo0DG(D9$UJbVs1X} zSU_vat2b&^YU+TShQpf?uf>H0aP>w_ABnz`JW*@>%hgMbd2NamHLxh0D(KInTSrpv zSq|pv;iZHET)pX{?RPk%Iwf;O09TJNM`haxGd~sekwaEUfpjXlglk?ajcRtDPf+DU zCXU3P12#pK9a$IaxD42QWDGOj5FzSWOn8KyUy4x^ROR2DyxqQPCrtxIfr{0Sqf4U60_pSq-db%B^vCs#_xvfo- z%cJyu-TTbA^tGzmru;Ra$t$QvzPU#*P*kQJ{EW{xSe6cnUPf^M!_0i0jIA%I$$N15 zK?82y)t2sJhI5k8GoE|U85MeB&uZyC88A5w#$3J3H$SZ*ox0xd;-7 ziJ2FXc^>8jkw|b&@YR_RHXc+>?va*hBN(1<8N(H|FoeyVY#Rk8>rK`ZrskKDwd`q@ zBr7?q7GG$)QX|Z{m+|PrMa&8Ac4`iHDkf52Fuc)gM&sE<0SUSa0q}h9R{%VJl4UkZ zZ9YPfx)Ffq&)D5{{hRZfAn&CH8je4d{VZ=f`lE5(cxwaXd|kMat#zJex^^0l#T#P+ ze11miR|~cB=?td4D*Kz|SI{dPwg% z7r+fY#9L6X5 z2H$4D?VdU^XwXWQ>4AuenQIs|yWt1RJ@IKAG!ORj2svCWulNjx9WAO`YC1G}iZ2B3 zvjxA@MEywq)W#P#Zh1kR1F_5vQ_}#w^yEN7b|}@L;g|q$_1uTj{Sz1~h}}#7SiCb% z+c9&`wXyFISg4jyxcpW3CeNj#mcmT{^4pJmit$emonNl{j5cu zO4%-NzBv$F1v6%^E-$>DD+I9f;feBMLxiNvD=~|gdc#TI_y%)|PH?xnaLw}wDH0G5 zvcuL$vD2Gb+QTrlFBZJ5k)z|}FZ4Aqzm(k1E`W>Zz!YeXyz@tMGP)PvO_g@-Veaj| za+Nq{5PHYdVMVfKt2CrQ!8-T+TC}mtio4w{>Ytc@i~$zqeQYK5z8~&$`QMoD$#nP< z^Hcuq=|^sU$@ST-()hQh|L32c{_zS2zUcqy>AQk^`k!8U`ZxOkSI^~PFT}3RE|N!W z#ln@}wnzG1KlSYNHoUCVAphx0Pv7TnPhaEde|q}HhW!Eosle)91z6o@0IU1x-y|Ij zO##H{OIt4Yk}s?KG+=fAL4bif8smdto-jzNk7PnHPa}ppgFa8iTq==dVmL-#o_L~v zGQ@d@d|4dCIrnzuOz?vgp8VgGPyU~j-*3Wqnsmh4(&>Cl1y1=yti;l5tS#^UN%7U@@GkK%HME)N%9=;&u3QZcK$>4iI)s5_Xf%tUgr%=bk?IGmQVLC#ksip^-9ZB zsX(7Xqp(z&q`wdff9wxEMEa9@K2iJP9))Ue(eSZ-u4{}VQ}NuWb+?k9u=9;=dU@ww z9S;LTFwe&jSD1)HE95t3MWr*5?cQnn1dr{Q5`2&CjyLG=uP1tZKgU7vG<8GRKCy^Y zn!gf*`0ny(b$EsIN+TLq3c>+D1Q%ZlDdf!DXgddjjm)C0Mj=5e)cux2=QFnH8CTzNzq5K9(g?BtG3MjA7lC{oeZUV9(AgG? z8*;<;o26TNKbz77-i3^?v2Sh4`KeK)LY zfmj^zXC$T2Djqf*C}run(ctDA`+&7T@TmEpbu*2H!+x;ARmULE*RM2qzv^?cR*IL@ zZ_uBp?|rftxcBD)dm7x=S0iPVZ#{g=pGE>LR^Nx83c@;;vo>kI$>nws`9^ z0G&=d`aB9Y+t(0FmVnLnlVGzwCNW^P{|K1vHT>S|L89a{v=BL4)&e{CIuW zuat-Zp_JStFQz+vE(vmzz)5nrMoMxq#h5M@iU6uUK-(Jn!OxJH4&*4-<;2te`%49P z)5;DgcmK2d?S$f zlPT8;yeeT|jlA_h%^6DAMVHLz8uPaR9(_m?H$|vKpIsv~!1Vi*t?5(^JN*`q%NP1R z=oYsHbiT&fbbI4D&Bk1?1}E23xOy{*tS_!;pm2f%hZ-RaZ0L2&Wq}QS5NX&oazkc7 z@Ijtn5NZ0gh#%yiQEPr!WoL^!c8M>$ic5v5w__pbq=ltf_+%nac1M(So!FYyqzHZz zoe2=4y}G7pnKE$mL7Z1mkJ`YcQ4_8-%rD)Apzw1KAFIZcE5q9TL zo={|9gW1~_qyTw~Aqym`JvYnRH$>`j&<!J%BNrnS>UPXv_j>XCe z-W?{+2UvzQFAOLBu1Yp%4k8diHi3i{ab+5ykNWfTF3h#A9(<069TS>!6v*LsKNQcy z2hZrOX@MDi@O}@;CHaRgHAQ9>GD8^rv}D-HQx|NS#lrC_3&esqeYBQ2vi*H^8$6$} zle>0zG01kis<>_#Lf3w?&7dKmhmjegpZCIT(@%*b4Y5LtEb4N2N|@4Tk>Rt=wY8~7 znaz5`z-)ZT$ofxSFM5wmK_)dw`3iyTSCjMr%xh`MBH5ZcBUc=(qDegj1Xd@X!BhKs za;bYwGfNT+xByLqZ}EpR5Dg{-v@pi?=n1%*E}v>RD?4*00|~wT*pbll zlUl41n)jpdDTjFTWNYD8n#_B$+^`wfOdW~4zXOw!!6rt%C3Sy1QPJBJx;I+lu_=|` zT&(bIb{BwK{Kt3YIi@8bvugUu+&AD`yi+-uDmRGith&j>Wkvcyy<0!O%%D)m zR!iS=^zpsg`lCl~y8AVZY$!jY7~|=Bm^}(t$;bC58sLjM!LVS(*`xAGynQ*v!yu9QmRhhuq(O;V(;G7H^dlBLQfg0~D+G;FS!0@R3+!ru7=I6) zeX%{PaK`6(Q=ELlu@FB5ZAO#}waE!=Tv1C#D<8Frs0pet!uK?~C5`N?Y^5$1EI&$5 z>Hz$G9e}@|@py73*@E7#6W;&{9+A@5zpGO1QfBSTW(d7D>bWNEyWooaoPKKQTdlq(hUEarp6LA&7fZ$l?6R+Uh$Gy~4f zfuf_&PJwUVu~SBtQ$*$u*HzG8Z8;tYsP{bG-uP5&smVG^C`IXzq!0Pxo^IG{y-NTI z(`e0CSttxk3yBfSW#hg1u%S1K$r}voA+R~ADmRew_M)29gm*HR)vIuVO4BoXU6%)e5j&1K^mw5PSfBAvNHss)mgU*Mll_1tI z>V#hKv#BXq)0vZ)>0V2DQQDwps5<&EqR|0SA^++J`i(Y%7D&?G?^FCctI<)y;2LhoQ=UxRT%l6mu$f}PEDALtWe2iYF?==Z8(#)N(^c0~ zeHHbyk>YX<*_$tlTr{RzBR=DhVj!Shx$I&qD1{=ZDv)qWP1C^b}yRBUkg-|7f_k z%3#HEEngKRW#Uhjj|R)G>SfV-?t#6}h@%~Ks9DsbOzxk=7OAdFKa|^VRR?9>bw;NJ zL0&}#`+mYiL*0~tQ%mIgFk{hNK~9DOJLgjV>eDx;G`xmk!6ljQBLt`pp+8^g$2N@M z&fbq5WEwnC6ixJB>reb#`zn=veQ)i;;eS18g#HnO((U*8iU)eIXsehWM!ss!F&R(E zJO4HY$&NT0gMghMnIr4Q!A%)d*?T&o@8Q`0^c{ad{QOi(0mL_TtvivAAAMY9MI#Fv zQ@CfBqDmu`P-ko-nHQ7vR3NF6$x-x_v&KXqKBK0nzU#J|-bce}SG!qb8qzln<=#k7l&u_)v%%N$vg)ybeP z6#gjuK>hSg@%X&Rn0dz0FlMk#ozS-@82L@#ah+PwClSF(ZY_hG7!fr&+1d^pHa25X z#_8arRsvRHxTa=xbF3z+Zz6&px*lD9_|&(LQZ6QtlJkgJx8M9ma|ec9GK1)(k{szR z5gbRizJR`|pXTL+=S#o+(kurIZQ=EKj>j|vZs>GN+24Iy%OHiRKV>`!%k!jD+R^*j z83fAFX{p*aqlbxpr>F#l5pk{m(+x{BfV8u)C=}iN=(JEPnW>2m9OP)S_y4vPWjV}aE#7k)-w9} z8(4-Y^PG<0!MCpl+l9n$rYJ-Z2E*~$1{pJ8$TTH1kur!+R1ljTt8C^5-zUOqIolST z<8sCl@=FhVRzNvk_dF;A_em@whTLL>|`!AQNd)D~6$Vt(DkFBChg0xK(Q z!GU)mI({6Oq1Ey^eK;%w;oT{%FFc9)h_{L#h>xMQL4mr_`O(I##?xZ7zqVs&CVrG$ z8AnSWef4iUOZ93=&Uv#D7eu^WXqfqdKw~-VvPxM)_#s?K;}|8j@AF7|vhTt9Pi(J- zg}%Z`5d#yp@qfMo3%+FA1aA7O0xujH%TgtPN~&lgZds{x3v=PC@K-{;RzahkcLZ6Ccd~_1 zUzQ6eA}148^lYETP}~xAxWwm;4m)-1+>(2ax>vPrFS~e7Jeo?dM#eP@=Oet{jFR_X zEub1;)68BkpdDtD&ejfFoT}wUYUkP!!WIcr;@@-rzN)-}D1P4=|IK=rW!tmwg21A8 zt;C<3G^$)G5_fsStrNa*D3^ZUP&;zzM^G(olIli^j>wvtg=R+8(!pMAV`s#^2ASQ3 zT$N-G%SEpViQvcNg#(D01^PsVps?~edK$ZPjLd2J`PcV5pBGmoXZ7D;HeSLCBMF@c zkoCV>WlLrJMEWaTeozpWQo)hl%JKvuEx=Aq#_U{K+DHCLC?WzNAg16mA}Lh)5Nr~Y z?sam7e8Y=hz!4_Kis-`lf_IzO*f5?%15%o*r%;;nA{G77xnS$Z{K>5$@zGy*z4xtr zXG)(|EAy)ElcFiv;O876E4oQnvb=m+QB6E(t%Oh|+igkMPc+aYU9|!ZQ;fu1NTGZs zzm;R_oA_TDOV(8!z^~uE3#3HYaxDx*t~S?*Q;@>fy50vwd3C4^p5I9I+a6EMpZB^_ zuk$fz27qtv_wkx^wDZ5Yo|`|52DlQ9Wr2ROU7=x4hvf(E-7?6GB6oZuq%_+nYY6ox zwnEqa^4rgaxZ`cpH9{0}03poiF4Bz1376ZF@GIGnBrTCwljN?UMw@%AYnpHqnSyyH z(7SLGPEscKNV^GKdHiq_(=qZ*sJo`mncE`x!CK;xj7hGg%43Alt%R*kuW};mQs!bA?)r+No zAZx_5FUh>OHKYjGlWbWYMOc<67S_)!wvAhtH$9H^sU+-{TafM_9uh(}4JqKe_wQT4~g055od1TAO z+b@44Xd+Ngo*#vqv53H016i;p@On=mgL3R~b0Wm|d3hYqK67KHYzqpbfTx9#bXV^& zruvRJnB8S}^mW)d0ne+Dm|)^z*{PL#Sd=^*7SDql`d*C2_JpU-^5{aH9I)y zKRhsM9kW~q6$O8%1xBsaw5;0|Y?&6!!-e=K)x|^1BMWKe53aXsdwYc%iNjmp3Yzf5 zi(wJhPDwDxNC?kNvhH>d8EDpsYxA3b_u57-3j{B#9$gEF>(%6O>1eoF>HM0TF`7$A z5}G1V-rhog{kirw42BIWY#M@)uw5Uk>N}(j^jr=HT-EH4*U)prekdr0m56g=5I-Po zjHLeasT?x+)9(M*r^}7gWa$n+u-duy#o?;>8`0i(#c-j`!PgUP$(=Q4AgBne2!=LT z{L1zkhcN2f|8z18AECilpZFv3BJ}|-+eEF^j_0gFSk_>Wsc$Q@<)KBSr??X_6K34| zYM|y!LicO5uFj^;0FI<}mU#U3bTu?r3E{l8{E%AP=}<1K28V9Khho>U>Q8;f@x_nq z>p608N54Ps*KK`Cyr^lNu-M%+)F)z|DDrtuj;6?Hn_k(A#LpQj`5-&RBR^BlYO7%q z0r`I4N)EEjBYELV9{ihpCKZ9scjMpbOV}RlaW*Shm6_kQB8?5`STh%}}`W!Wd&ShNQraQ`vsi#z&|uK?==UTZzA@ zwf+2|1b-}NusGti++Ai3P1zzgHA;o-{O4C9Uo&fESBW$FEZ|+V-VUT2h++AK^-M*( zF!A4dF~%Dl`y8PC{!Ss%Ext*^J(2aw#m)XcuF;cVMQ=8_6 zph~0luDj?}@YNn*Ig=_IYZiV;(lAb8QjgcBZjl+HkB1hj6|*kc>7 zbXfL9+Ye4L?-ntMb3QoHQY>ckhHCvZV&`c#uCH#N6_eObKPVp-nd$ubR45wUJIrr^aS(5-)lVTo_nJTb z$x~Fh76n6>OeOpyC0epXcWaubeU+{#ugO}K00JZe>rpGpf{sPjHOA{5TQTTmQ42q_ zY)IsMjxnZuf0DJFpueJo7h{5?g;Qy;!Nd8%pj{XD*};CS+o(Z{d%T{3ukUHH3TfIM zix7akVS!OePPqsPBUP`>R}mj0_;L%Ef*$;tl9I)ABf3F?^!Mk zuTgct@C8iA8hbK5lQDMe{N3+t0)lS`F!nG4r4Vwqvtb8dE#DSPjwwn5U`0*fLNH!foBRk+t$QY)h^_rXv8zHx~2@1FKN&xx-eKEEI0@65!=*HzUiqbyJGWRoM zJ)|2e=a&W+M#4@D!LH=18j|v)mXzqkEyK@r-3(r{;gvmY>Xyu)LIPkVXXqMl!DfMJs$Ij_(|E{WAR%Tak{q-Zh9P=Z~l)%PH zb%o)~=%_7*`|fsJWrlLx3`g-h%yN@1!-(15_}>D<);JRE)9jOZQqj2BF!2<|p)2bcrkwcB3UnC~ zn7V~LYmx=AibHs&VfK;*7G)P{b4c;5!RnR(K}R8r$&|}pzslRezG^AqNg73_ zhbW|iY$X`yI75#e(Rbh6DnADKg~8Bp)ZW;Uk&}$o>x$8Pw$)Tge`U4LQP|%0z*R;M zSP|*_@@3_@giGB)4LKA#Ee7Apj5RL`%{U2-qRhr3su>YSW|K2I-+Bndm+H#Vr@S@y zre6mo3O@NUzSR`4k49DnovTKkjZ?Rw;kNUU@6ZK=}1E z80uFy8u!puYGrjlKkugb?%5?ML&%fs{!7oaM=HsA!L#a4?bbVCIi`n;9A{@l77Umz z$Vi_P=I0x|426tXyvo4(Nn|gl%d6R%{ho$xx}3!pW2BN|b0Y6|ZEo}~lNJOaY%k7) z)bXqLpKlx5kU}BK1>e(&YXz{tqlu8&OasmY&bsoex?g2Cb8Sh1GVauM^&#!E;=iC= z#c=!5rh>|u1|W;h0A!J~xZ?$~SlInqhBVnsOLIwCaosX^^AmP` zbSiZ&N!cp?YDOx$Q#dTdgNey6o&1;nM!ohg0?f(655-;V(W%`x<)2=4Xy4P2HbW1^ zTcHY|sqdHSg_sgm;E8%~z3x65Q<$V5q}583z7)rmm4Q604Z56k(WV_NJ-Aq03(?qn z&fI){Zv0i)icm2%JB-a>^2PRjKkd(xny<|RQ-Cr-sVap53}P4;2uq;!joap-uP&ph z!1vxhK5}wTmnCPJ4|EJ&jVlG*LO>{FcTF z=~q)3@?0T8rZQAqnN4VR&CmcbL5=m_>2+aa;#R7 z!7o=yvFA&sa;OMb5Z5L%=(8;n#f=rjQrphDN@EGPT4;fr8@keen;SP}a|UpOV?w)2 zn#1{1`G}9wFBAq)pni0Dv=vyFfd6Y-)@&iW|+LrkG1 zWuV+?*kClEOp=1r46D4xJ>62`T~}3_(wBOz9d)GxmZCbhK+TUymXeqpqMdOCwoxEX z4T?wmV(z9V_fAGBB$38L_EbJs*US&>BRY5Xjlt}~Lb|p+NSl6j5zK*I9~15d?d`yT zMcTOA3i)PHlT@?HvuVZ<>O~#Ghi0ChyglJsbEAa`uJgsp7bD_5t;jtT;AaNAIReHzmUbVkWAlO@3XVSO#K(gB1>Ba2N<$AIe2z1NKLiV2T5FV&9J`l zA%`!Ut4JTD1u{e!!GE6yKw856gSXL_B7ggl@&~9Kk5lqEA{?PN=P}Gdb=)^QJd**v z4S9c@0&&Jrlg%wwilV>^c(mO)(Wbx)%!wP5U}r0o-A++3V(~kGSbT^D)Nj4H+I~lc-??$$77fw zUmf4N@~q5;xb zoY^fggg+~S`0Uhx1Z#I$Pd^8-qMoQskW1axRkt8Ikd)=corwYO@-Vjc(G?5WfR^ZSk1}@4isDl-bnz(0JYnn+O@>; zJ1Ws0FD&kseH4U|-r)lG;u=iv@IHX6*S_MMO!E zQx=ax9?%?kPJRU0&Eg^Lh42dI`lY|&CmZ?$lN<)ECr|)c;HfnX9R}Ic-GVwOMi55~ z|1bo}s6)_Rlb#BHt11czIs@HXp-^We^>F0CZG+JoMuJ*iV49=+P$$LXbSn zgAWXxB%#Xs9V+zZEHJeGIxx+~@3jdF_A_~wHzjP1ry`k^xIb-f#v4S;G_XBEK!WF( zN<0ZG{Ii*Okcf;BOfmeGcqq#Wj36VW7`kErAMbeXBtb^!DXh6u`mhVv?7XhIQ}o1^ zx{QcHnt{yCV-JDvEmTYMg@J+hb99?MU(h6ZZ)Nn!C0s8{PKIbmQQ81%7FQPZDT!Fi zpCmLJnisF(2f%CCc{S|jKDwBb_U#AI-oQr-$caBi0HO5;+Tf#g{|GWaNyi-`*zb2j zzXY)p%Vex)d+T9t#t|m~?G2G@vj{BQC`C>Ct?6V9bNzG=m#xd})LE-r+-9%)1C*w_ zvtX-ab9SF#vxj}sWi7Zua$1x>2nL3REYH?D;ye4HmKtjQM1Ne7whrAy`~TPli1|Sp zDOhvE+JCqEx4Q8NvE34iR&OLErRcxHeT{(*HFu3)cp@<2NeK&TugMchGqM9{iL7D> zd@QewNlsx7H$+=L!huKuVj?yB7_ljwMFP;>;DbJ#AlM;ilIHo#Q2-+uJe_gtwJ&;v zM_V7byeLOog*>hwrXw`wFE6k0GI_zY#PwOU-N#@yWZLaZYDq7wuBDy-34K1l-tV3LALwC(vcb)t10ix#WA=D%rOj11|X zmxh7v^ZuUX!Zfg(&>Q?jsB|G{(D6q$!hX z;e!n0z&EnD();kyayHD{8G>|NdL_A1HP}wypoS?8$3JF8k z7kkC7>C2P^eSLv`op0vEBP(%HdJ4SKS2>u-?7iNPR- zlL?|B7Jr!CivrKw3H=LZNWX-SS$lwKqX_o!GY1Wu?j zjqo@9Lkfi-(Ct{jT11VxJmzHef+_@Q6Q!C#V@qsFCCwV%rvZh4;;-uE-ht(E4;o12 zoY4~?F3bJ#$>2jrB_Kxr@M@MTW4))5o=gR;sJby*K#km?~h<;()@)|HOPpaLhOV8}re@F`sD$ zi21~B0@oUiajG0T@^`Aemn<@MKhV^lHWCmc5xX&=QT;4J?FH!=he~%S05u}X5#LpT z#&(Bvosv6PqtG4Aj3Yv=-$4Guz$Zg)bR%7B6C%dUu4G?`x4{^Bl(8!WRWD0`T?$sE-hfL%=nB|t z+@*imJIp@1RQz5Q9}ep@R#dEM^deKJ!EPp#Fh=i@ft&-ygPeTV%4?+jhc{XU`2&}c z2!hgTx@b+6A#{Qx$Hg0Ual}~2J}dt^%9I0C3R~;&cl!Mlm0%FV3B5|o;Q1e$JIt~( z3BLTY;jc<4?@<0%jMx&W&LXFA4r^TQ3IdA}Ne(R>OL}WwBnoju0cs8$9+>5wgnuOp zCl=ZEc~{whL;-Et4%k7YeiB1|BkKJF@p~3jpk6)Vf8xC`E;>Rje^ArwpEV?ldA}(7 zF=C+bqg;~`CsFJZeeY#P9aMe`9oyNRHnGBldv$)N8#{A_JPS0QH}Jh14*goA5MXmL zp`ePCYtUvLdbMCMoRb%t;O`#xBxsR4x=YD~=A=5Xr;$UgVWwTC*EN zqxRgPr5J=?s95BX=M;Pf46mYg7D|D9rHBiwiXi;3C+Hfh}L z);sc71^EH4`ki;Td~f46)m)#{PP>@*o=LZ#pT7g~9;ssEpLj0`#QTftufFMEheEC) zrv})ekn4f@R&s@Q)Irr$OF@^xm^1cLr5kj!FAEv8C*7h}3pOGq((}+WJ=<`>hzVN? zXkJUp!J?>)a3YEx14hJAz=+8C*NDh1QONW_8_G?57fkAnb36@z|bcM-;Mm#r^oan6heEl04o&s|0)zx^RLY|;rjT7 zBR$aar4_eV?+EevfN2JzdQW0&NKXoFXmu97eG1T|TKZALw!vdar*agva~ zfA59BP+Xy&@L}HyOke;#i@%u|oX7U8`AcAseZ2iIfdT0TJBsuq3icLZgCF;z2;eLh zz*xpw?DfOP{2^kpM3;p=Y6)T(xqrrPDYNzNnF9b3s0rYlIIM5uDjP$acvKVdJ7) zp^JcJ!$Vh?d8U*(Og~T3w__F}^nTXhjdG(Lws5%qJFLlBZh*AdZ2HICRcQ!~;yZ~Q z1~z}$Bizl5LkQtA$qwg{z@I#`^PFGTlccTBHoDJArrO>dbg?oBD9mTwpIFiJ>0dyL zwVB8bh?D27O7+fjbYu%f0XlLk`}2&U`IZK}k+=Y9(FB3(d<2fbdC-m-(O|7IMeP_yK`v`P4z|QbY&s-{c!R#8|EyuAhwEA*_k^y_eAs;_Ph8D!>Pzt}>eGutVfoH? z46IO4H#by8?*1F^3;#FXcPGI%c%Gh>H8fuPy(koLzzPL^h)H`=lyso4VSl%nU;q4c zFVV8v8mj>)6eL3bTvhwzyG6?k%y%{Al?jp-cpT5>M@hT4L|DjT%ZT@mb&~uSDj{(!@f^oV)aWGMjqRp4}hT6RA|G^s#JI- zo0Ko}N`i_%Qu0+dorE}V?ap>CgfWa|ee9>)*pNL)*5Ub1c5%NiUBNl+1;^9wpLHyV zP5trU>~M@{jk&gyZ+g0R3Z%YlvfvrEoK0|OmOUh^zZ=7rQdl9{N`P_`2>vPMCG5Km zU>Ir|z$xYh3m3ftfZy8`I`9te4v$w`9J{*y)=+$#E|L5#;7rj?d)>TuyGI&>3Qnk?g;Hc2We(d5E@s-qmqk_k0X9Hgm93} zz$EWfo)E{%A-57B!U9|h2!Kn0q??vvO%ID4p}5@?$o8S#KU71%K{rlP#bJ8r(o^x` zg2VmkADA9^bNl~1L@4|X_v?85Z~Q9tVT8RN9u~Kg`h|aS%X``{bXh!XUl$e$ics|b zxEfpESRBde0y^n{OySvIl1BLVhjEgVJSj95{*<%^x5&xQ6r9sjZzW(k%jIhv*^#$xffg&wxfg57Vi zKpvZqu8+gkc7MRA#mHxY4m={BzEHM6OeNj~Vi7wLNib^hPZ63#`A`T+`n5o@AgK6*mnC_WvY&@13nW?N(UkRRQ1N3gPYqKHCS_vDha) z*OilBxb)VRmWa%KbszP+r_(%9Ul5-Ihzv0J=ufpjRQzH>3WUX{l2CiR7n0GILvA#e zVcvZkaC?G_4?=Hmh39=^l6UKY7v}pgBx(H~Lp|*nw?7cR02aWp`mr6l&=_e6fSomq$WXF2I3v zZgCV`oC&|+pKh}^{;5@a!|@l#nrW4BzyK&C9o-Cq6**4=`^rgCT^ae`i+lxek$1Hl zJoU5v&58Ea%O**7pqW|%<|}RmmgiIm?G;v~cD_hE1Xlywxmj!}S)^@!8xJn{ARncq zESVe-W!>)(M9U7~5-I({0bHWzA#AoA#$F$Es06zBhrR85ECVz;mc9TaWYu4;zM+vO z)Cix;`WQ@lz_>&aKhk~JP|;C^I4~~p;$Nh~uMBuxvJHsu>hPFEDEX9eKN{;l{=mVa z{egi+215iP!}-TPk(?|jjeT541HJnB100=Segy;p4m{roS&*R!k%s0RdY$~3_a&$i zr6Ho&vOU;n9`*e`!ANapeQq(x%2q!mkiaa4EM3UOPIV#T=?z48H8OT+ipgpQc%#w6 z$^6(n*JmiU|0_G%vhF?jD8?6!w2&x(n5Y)a(C=>6u)G1 zsDEPm3;5#GqT)r1LH4+8ruNUd(0sd3O%0w{ZpY3XwJ`mWbYI^T_sSPO>&IY!5{LPq zSb#nFo`fw70sX!a9zL<*CFf82GNN}Tk^9kIBbda9PARIrC8SEjf(*?v8N9Sk0q1<8 zRSm$fWM_qSarO>PUdbB|a*!sAiQeW+#HglmX337CCnch1TI-Zw(SmxImub`gH_d8;QbuIRA8q3U^ zNTooQ1h-jnweK49VoMr5?eiXNz&Rf-r=&0b<(%&YYRVzk$pxSDwdYi7QogX5v+umq zN`S%Jm-X!;{^y+E1f26reuGl-7hcZ!`TsfRv*{`T=X|~AL|^`b;x^VSl~>kGVS$ge;7| zj*#e?x?;=Sx|;{M!FteTUY?G;hxB=yo;EaP$)kQ*nYYQ|xQBRwY6e43FZhm1Hc*3G+qMopZN z{#Xl~6@2Zg?{b&;rmuo2>)>&iIRtiEk3BN3cxm&}pskz~rO-bS73!}QbaJ`b+l_;xz9$g%$Io1! zPXj4{sDCva`Yl!=(8iew>+Qa?<&JajxVZv7bFYRaB){@i*9Sj z&$z-DL*ycq6wJ8$>Sw9Dbw$XhF1QMsRggGQCY#-lxg6_i@7U;E+=mDZf2Cbi=yquL z(PTD5m&IG5coCM(%>I<`=h0;jxEtUMUCz!dQ2VM>%@e;D!kCl*wP1<3U$|eZn4mGg ztI>ldT>9+$?fJPcC+&{9LD_&?rfi6_Dg90E!NlnMGd`6;P8rD#s|tM6@4AxbRN7Gw zO8RR>wAD|J<>AxPGmn5SaTd@ea>juwEd;efRD}UuqSsRmFFL}<2|%f!{T7J&@|>`u zr1RA(3TMbTBdW4whd$VZ~Wf$S4 z+;9howX}=W4=V(y-F8p#a4MmT8$3=w2i92~d*1)y%?@?yu!}GBc1QW_|N674?XHGp zlR9yQtgW6p+<{4uf*|;o{|mU~(-Q%={4VvgwSA%3=29Alf|k}Dt`8+0;9LGjkU4P6 zm!}zHA)D@t-z;_cuG=BP((;@&vD0G{{y5(gwviz~uEHyP3VSWz4NG|zAPEHQmtj=o%Hb zAz!O&-*ZHXC1--O{?X*2T4T!QnCblroPk>5)b&B(6{D=qote*dtt7GMaI3d!*5j+c z=X_6v7&EG+T^9hvu+BS^`Hxg#7XUGU#^pT9ZNO56@F?}^Appdn)>BJguM7F@NUUoB zZ-3eLiAh82^a+KQ-y7k|BI$F7F?p<;77gL^s(zH?=6g+qz}&Q>ja(8ihrxY3%-eH( zzEq;5Hf&9DT(}zWC3b*)iAT`+B9AMqw!d+9P8?>3G`{r!E$f+mf-3doKZ% zAGTYl@)f5|9kqCVLzg=W~rYB5Mia zcv2-_-v8fIK443HIpx#vd*;N9cv@~FWBN4)I@io!k9{|33ds=oH|ygm09pTcGfjcG zC{Y1-(eA|@Yq}pz^zM*nmoCVo#>~aI4AHcK_+5>XN#Ba zkq1-45mWS{=hqmYR%Uwmo*{77CvCZ=I4AmlXnV`1I@hqv77dW#7D(`5!QI{6-7RQv zhu{vug1ZKHcXxMpcXvGx$=+}8?*4MV^gp0h)uPt8=a}<)V}0OU;$z;yZDjMq!K>`s zO@-?VFIiSZKlsJZW!PBkHQeAN7y-xdi@;5V37o%C{$R84&s|tKGMBd~pB*aR|MZ_I z-$TRY5s2~`UXI!884D}uZ9)*mi6HYg)1rWSu)~x6Gh40D9M91K%?_kWW7g6^f-OoVY9Jcv7te#EWf@6bpf@FM{%kb$}v z$#;n8ASX!(aN`@G2@$hmzQ9ohgiKG{my)1}H4RuP-*nG9Y7}JXqW~CPFiZ{#6l6pi zf3}2(D4Z}E7pt3@d37VplxF*zo4q6R>V0u;=L8L~yN7RQog~yPZeIC!DL*!&p>jD$ zxAED9wn343Yhs{2l-8yY1#E5tql-!p;0PmbZIybQYpT{bItCoe_`8iT2uFfWE3AuN z5@Q+t@CR>E{v^@|!m~CK;2EMSYMX;q5%iNHBtvuoNTUMe9Cy_ze1&&q{{L(*h67oC zQq8{6s)zN>;Ki{tOvn>@a-5vIE;IUiX!u%Q}68XR`@yC zur9swV(y%vayds2d?Ar*EL%DwHACu!7ZxP^^*Eq|m3qGPfny*XbUNX=-{J<@^ZV+1_T}!Pdq1m)nInGPHp3?E3 z9{0_c->g1)Paql!=i#?Km72q~Gr>**%ZscXA$c^Gt%1Q!J|TG^?|eB+CsEsO-I1md zDR2BYxQ^kISNH=FPCI`@oI$wEE(!BMrx$ z2U<%kbt{MSXiTKrMnzpdg!=YzI6H|F>U@(Cd_ zBNqIKfh7O)0SVjGhy~V+#TL(_&fs}q3y|Lu+%Nsn?gIhsUK7ynq29Fnh2K1Dy2j9Y zJEO$Pyco+k9<)PVtO+-42S}x{Md_OhhZqpa@ssRU^$YvM6IHsg9Jx8rl7ZCNa-_;dHG`Cx<-J2dS(XcyG>oi0aS zRix8o$U&M!t$SUS53A}nRD*3b-!^`yp|m_CWme^gQ2sK;{!Fai#B>6_YqC;+mzW=! zK-~S<MU1O|(s*3cIK;gYF|gij{ZYM;KF6KIoH&1{Gsc4rrt zt`(ZJ`&jA*IZI67ar9ltwv1w$Q6alNDMZZZFc+&QpSNtuE zZv>KfM@|LgN5ey!Z{=*S1}dTwZ~}_q;(C1gj%;$x~t0m#PB1A|Hkky z{_H1CWN$IN-CGRbe$60WU5lV(V>1ZR1EJ>y3hv2lP?w5|zGH6}8M~=1?TGz2SvaZl z`+>Ac+ee9xU{f42A_&(a@Ob{?{8n-DMcn?y>@|nmx!%p^5OU?uA@=&MsBFc~v{F&x zt!G1LEFkgFV6|A@Tg8bk4mWNNIY+1UXOl@Z#71e)=w!@x;!v55K6(TNzm1aJy6YSV z?Ec91tGxD>(!<7u!ntK}AQ^d(d&&JWv3L@9Uu2-v1^)){oRsg$aTb(qt)52+uhsHg z(aDsk!!e+tiR{tHDcJM1hCDbSsYm&rAxhOsziz3O%6U+cys(9!4oIAQu0WZi48<2= zDYvilih$<(UQK(%JEQ#hvaN;d3h5_ZV8BGriR*6%y0h2$#)|D4bJB;E(lz58=}^TY z!n1f{^9f>;q=rK~x=(7}Z&zo3Dd_#ZI$MG7{h_M6A~HaV60FPpq`jS}WaXTPlPF=k z7`Ne|wcwGdha-)xfrK|KpiI6?jWvYqEJ`dFRrv5hV%U{-8PA-_b+NRxlP9aR{w()kvv0~c(FEMkg4CYI+s<~DfA zz{rYcU_r%x&5B0|0*+wr%%fr`uV@N41aQ7Ss3(t?m14lMT9EmKUSxnqA7|H8|58(= zp-bIh+H-MiU4d0vQY|yaG6~;#)hldpebhVCfkIzp#Nd`e7G8hwwJ2IlVd!m2@M9V zvPiqB*0oM;VIdMS?iKo+VcP;r#j4c)$3=f*K($=4*KE6{jF&`9T9(m%gHoa_o zSxZJ;7uZ*`WAm-m!RXT!>Grpa$q}DlcPBmwraQ~dq>iDwJfemg63w8TY1h#F2c9v&^W2m+@m#{uWVGOo(qq zGOA{ygGl1t`L{tO$?!}cxfJE#N!~Uxx$gD%@c}!fBcam@(29vN+(aguZfzo#GK=Ns zGO2vu)nVZ7lLIBJa}TI*_O@`)?mnmGD<_(`@VP~4^ls;t-e!j_y66;#?=9qNGw!&g z(b!wWOC(QsM%InA3-6i#Xn});V~S!mSL^A4JE)f{JTBgO2Cga4hsTL5YP(Q$!myzPNomf$;=XDw0%ULD9{s&Q7?HBsm;*c z4w<%?^#}(}COU%;NUcJ-PDym?FroDC7RlqzYV+gP|M)V*5gML+u=)k}P_Y6VYws=t zd+(u8p#IT+OL!bg7K!kBP5oOG<1KJ9@d}{(cfqpb;y&Os5ZVV}LrT?eroKwfbmxk^ zq!fB6(Oh#_L1#cq#d7`>|8Ms{be|PCvgrCo_r!FS6c2?F8gp(Rc&$4YEWIu3*q8Ed zc+9PHEu%DsD>Ih>{JuL*f1&A*z9E&%>BXN~>PD&E=BaWRtxd}txqdciQ%p?N{$wv6 zkOGz&L{>Mx-Apy)9e+3y(`h{8ZcO8;Q+*;4!CQTl_#g_Ch2b6*6qYoit0;bPoRsGA zY-aazDBU_`m|SE@(~QZe_dDBQv+&{^{sZ#WrYHLJ+&en#xw^L=9s03yV%}*xHoa8FUzhw>kv%{(B~#Gp^f()wl5lSsmYfL|Z-8diO9Z zQ~c)@ezuwj3w!|ZZ)EUOKJl~F{<)cW5Fv%bmCgTQAAMr5|AbRU#7OAR&BP(TKQ|MB zw0_*D*G`XiSr53G_{0m`O#F$d$F|j_=i-xilFA0S`fIeysR3#d+LAX=1v$3g9rzN} zL0$P4P<>yvq(v|*<1J{PBX!sqFRbe~>s1;Wmn=^O`G$UI8^C{bMW6p1@x0aik<&DC znc(pYufzAuf>ptrgThzW(BouYgDvncws;@azFW5aIi>)etV2&v;jTXvBKZcf*+@}D$+*pzr)!O<+~o%;5cNIPoV3s^Cql=^0oO+^4{p)G!>tbEhD z+9BRGht#~oIziZ{%M2pJLk6U6bL-|JRGa;F@U{(i%AO(q?BeO@PIGU~{f$;W31_n> z<+u~n*J(nlcezwFKmBwu9?A_J;S@*AEP4U`y6WClp8ot=p=_nboy3D{8K0$HlRPfr0Wew+(+HKq_J(XQ)OKv~ZKaler$$PG)i+av6_Us+@e=R`x zfj!kKQ#WQdc7itrRvqAZ3dya zLUM9{6V ztKLQa5ZbwqfUEzE1?kEzgZG`!D=$Q1nOXDXBSaAMpVZC17nfJ}+*JJp-aszzyF)!osa7j4wa4ybUVE<#5nhJK z5R{xTnpoQ#KXD*@IWUb5AoD%Kxq`GK?BLI9jZ}%P+wGBo&lFG~&bgA8|Rz4{4M*vq9 zR_fN;pSY7g@vWALFBZJtg0M{OfUTXtv3b%*1Kmcq?ASBBEbtk4n#VwH{^`_jZbF;c77tf5%`Rw|*-DS?0N;qa-TvCufYa{9k49-) zz@wMt{P1w$V6Ku|*+J*puv>#YK1PT_F89x;vP{a9Pu>H@RZj0&`Ipy2EHH(sM?hnA zcotk!HTGtrvK2XU^sptLY0#WADew9Vu>bVx1Kz`$!D9N9X&I9En()9{gR$;mh7}oL zI^^N*$*BK1s{npH61$1xWLFyO$*V@FyD z!29CxHjW`ru7nG=IAk?(B^sM+`z1($G$}V+!{j6X>K7<(=;sibjR-|5K=!XZ5l|VFd--;FZ7i1OEX9isbFP@e&M1l3kkVsj2h836Xs#qb*?N zk0IErh$`kkQ%u_QO0z1kFt5Tq-BES~RXh(%GBBDnZ@?boL^a&cU=|QLGFH!gv0S;r z$nz6(#*0RZnS6ZmY9OQdcIS5=)N-p*+;4Hfw3p(O+!&7U?Bl1}!qE#2veYljJYgZY zr1_)`(0#~^`b2T6_4mOpTkc(#Yi2coOZ`w^tujJQcqcd+3H_|%@KE4F?j@&|8Oza4 zAu{Qy%r7L9?ro>wGqVUElm?A|yix}zjzxD3ULyKp+q3KHoRMJ(mP z1?$M$B@@k3p|CSS+FB?ujO(uXTcz*fBWza@&yVHP|BiC5)lrSitp+TM*mI@?eINa1 zer0T=^2{H@bo`Mt7eE+ZjM^s z)aVe?sbx`T{o>_uZ`f)Rj}=&eqfEf6{!DS1zaQ-X{inNVMX1^8 z?0c0vb?_fao78=jmRl!_Pb-UB*X0|J-*th zUFszZ#ksG?^J0R;TY)hzd3C9Yy4_#&9{sLr-CdHl?1*pr@nS@}Jm%Vfu#AI@qD9Gh zd_>;UET8#V_>u+n9=*WT12F8(p0|U7o|I9Li3w1Npf?}WVQb!7b&m!QDY>elDsdcX z4>y}RvL)08RLt_X)7b=if#`;Mqs68uQ15W_mxqAVWX%ypn$?Ru=VROtQv4#NZ!qf{ z(Wzy5$NH_w(h7y&8rEu70qct=Hfar+BR;F(rp?*F<{BE=^IO^uFHAbQEyqD)*XX?nPE1zm^M1;l< z5xD5q__L!7)pK%PD_X)^aQzoYF#39E4kUS{0sax5C)TS+;~e3}r}qV{mv8MJVugK|6;jz0$w5UeBIlHh)!GdJnOF4Eo`7`IzMY9k)vlnMkmw z3pb#{`K?8dBg$-$KfOl|{jM1Ati&3bLg0p0tVHPkg>pLYKo$KkRguu3Df;Hoe@bSr zm6)J)dhnAO?moJz%8z)w-AS=-brW;x#F@;*qE)O_jl>8L0sQDm^`r}>FAAj9?#C+@ z>!v2maWFf{;9>~@SE81K+ggWrTTzY(X1~?IOMSX8To%7#1`MjoXxD#AV85EIBBK*C zueiXCNg?Q&jjH!e`ZzsldYJn@arb(TF znQSQxLFIiqhpobtWD=H-EgF1bSTlGIPke5O`4VJiz(4ohP!G;HETpG zYTs9rQI+<1TCi434$dOuREbia{n6v5=P|k>Xj@c$BV3BtT>TcZtOeJ&Td08=YE52f(!~0 z!5NF>$Q)jq<#PGSti3Yi-IxtK#IpC2)^%Vzk!~}7<%#bz$WRWH34zlID*bS#>`XWV z{DJ1=8Te@^k>n=|J8I!l$Fg3n*9k6J2{|NF$y;nCEv}rAY!-)J)m#~esqWYDhi)BH z^}6)dN(jOmH6XYdwddVTG!=6a=v5{OD$IRWzh@TJC0|0EteL~(0H$9${Jm5^?%5(S8Hjbpp( z7GKf$SWg>nLniYhY_1dojjOA3u@GWjo2H2Y>;WY8xFz3Sa*7W-{D$X%rBRd;);I%Tb^%ru$u34GV~O#Ce{!&ybzECbl5 zaq=in?9G1_IxEFKZakiH;WFXo)KB0D4qUPNe(FunK7hbkVJ;nb=bOof{_DEkJ3AEZR;x!wNLU-^ZxzB z+~4N?5^n>}M1TGNYTlO;H@=GCr>L6jasg9{Q2Q>G(&P2|Y=Ysylwzk{z&={erSRL7 zqG8Z}1mNmZnl?C|{8jTEaR4=+aUM|fN6MFBOmrcaU`*6uA1b-=zYYDX<`494d+q9N zpV%y{g!saY_HdUM6vR=o;xXP77OGU1zYklaF=zjckFOF;UC>payt3al?*O1cx$|ObdKe9 z$xWsC`Z!t%=lqCcF-(^iadP$Kurj`^;84`_PSbbex5}LeT7`# zm#wjK?Q+!+{9c>`Q^s#rNh-<>W2K1lOPCMSUkn1;Fz1LZ-jQIb`gee^zw0p0=JC8w z1>z;0Pvc;E#+YN?xMVZr5Eu`S!G^l%>22U$cttf#ZTxPo@yN#O`jXy?WquVc4ZDXJ z;Gbo%cXSc`P6;)bSH4rzqiq-OHN>eMW|X$sAQ`B#s0Rj32#m#w3~Qws4tuzsw5R;$ zLyhAoRJ7ZfNl-VkNU68qxv@@KbXmLw`?0^=@_4++y!s=d>508kCc)R&UX9=i~wwq(v0yvaC$j8OtlT3D=wKO6$FfEdg zd>9#7mH0cLTlyE#bBKn4IEiq_S>2CYyeSOO?fT_-Vl?ij41K*_ovyjOo;vC{U433o zz~OCHDufH9E4L+a-{cc3{{|oW+L0wT+ryz^`r2JXi$hB7njc z9n;}f&*vVA*~fNWxpjGC1)zX|y-fbKNPy()UhTHWgWk)Klcl=_y)Tni@Vw!5tCjh$ zmCwnWq-MF$L*4SYu}yvH$lZSCLV-R>4r2R?n~TM=t#fzK#n*uO6)G9jpBX6KkEYkg zApPhV4ZlJZYZM)IWfA1Xvhm-0JCW#m2Y~$QzaamJ0r?1kya7Alv6kvTT~KUXeC=2GLzi<#X(TN_Z$ z4i9IKhQs%UCC?6zXFZ_kb2(VHb?**fPfgC;e&*%M;vAfnyN-Pvi-bnVSa~5u5J>q6 z==i4``SfTaPd+Hv7BhN6qRL7AEqU(*@$ZIt2yhk4fZz1jV;OYbfT4$6rJ8710U;zSEnf11DQ}hc}rg zn3o!b4*k;}6)=n^Wt^@K4JSj*;OX`iu1eY@z4wl#<3E}MeO3K+5B0t7#eLykvD5Q* zccZ2I%lYop$;siNk(8U&LFZYaJOJ`oArb({d*|g)Hva?i^#Kq3AD8LjzW^ZLX0c$F zN_v?jTET`cUmupk8y!S2j{amY9p?UFhA4qNmw}Cc$99FH@?!@Boen6rk!*?2asn9S`!40eT!AQ&@2-U)!NAIhja6wd zmwjcMxWF!H!5<979B_!LB8v>ROdWoL<-jIiR9K!b!$C?)|XguoJ$ zJ^L{bRzzBap+>#X^6c6YR8?7SQ6MNgji6SEDLKP^s1~crnul~^SbX7Ov~j%-U%wo-qt@s1R)sogb&v|7U{CAaCQ)K zUn9QwmWPAfU=Xz+xCN>e6f^-8kN*ybfWPyN;yX!Wx40spsV--$VJ7s(eZ;2-pUPY& zram7im-XkUSvLm}sZ-4=SvH^2g4QzCdHyDtdNd}eu>M3$J`~_dqvq=*=P3R`Qw_q+ zT=DYIMmf66da8_74}Zd{=$nFgMtOC<6ZyCr40bVkl)X#ph(OD3MY@`jrNA4-BcR(T ziS_)U_&I>$tD{amyfsb`CphC~N9x4F8h0nsGgNjU%DH%d8bg$4HaaMFrdlh)xt=c` zYTp+6_j~0XT7Q`cnI661WYnCG2punFQDUVWN>J?-+S8ug6L3!TS02OUa4K$Bn!>*?#J<} zW^`JEF*gAuF9MK!;}bygmQE4Nf-uha8?_=X8J}GcmeY_>w5Z=mzPDL9<8$vNA#yi- zfrsltSdH2Jw*Kd91V*k^#7GsdGnhT^lneFyN`eZ;)L6e5gyF(^$89N+i%)wl?;g-< z$4l!*n{$4kDY{KjY;%kM{vdaBOlmK>rbbnvLnhQt7f#go6KA3PgE3wx{*g2K2$RwT zMonxFDOY?YoG?bZo2Whlr<^NH-O4r(CvE~-aqHC-cLV1G2kHCt1`=J+fHLJyHP&FV zv$t@a5~~Uw-sJj@_iuK#`u*E@i49WE(&)?ro_#-A&|(7$m+3X}!=qhv*m`seT zmjXP2-TS;U^~17bu_9?C-oQNDdbiKRSH{X5kNlL@in>uDHOzNQh+v{@>oRZ2y3-Hp z`D*)`#d z0L2e|53{6_6v4Z}%ihyBAAmy6_{G!caO!9kT9q^iVS8fBhk1P^dOEo6zI%uIhvK!s zSA9dak89-Vf?_Mn>TMVa98nEaH4TzSsQjMr5qe{698@zNw&}>xwguhq3!c`E?q7|% zUp+_%O-|g+=IyJy3TodSs?zn9`uxDNu&vj){EkSK^NTlj(4Ize^BxZal?Z--ASr=d zu}Hb%fTbv>b(n~!FGImqaKE28`(1)>) z&-@(}`fs}4rCaf7j9T!CZ2m1>ui!=PWuB+Q>??wTl*Z72w1I)!D)aBhBkhKY?9Z-v zcR@*e$5fXh4&NlDP3Tdzsd-a-E#onkSLM>A_e10!ggYs!f9*)XFfVHrTCAm5fAN82 zJ<~Q$(C<*}rdiDb$Mw!C`F4w|{0G`ce)2yUHhFt(!8M}y(oU`<@~ z{ueUdwZZUbvi_peClZyGvdE^Vbm`o~g8l)MQmO{Beitio=UR(|g?W>eqDjapSdnMW zZ!y&czr-=1dl7J_HaOCLTGP}wApQ*gK!-jV;z{q)UiyQeq>1*d*UG7b1Z_`#fC`iC zL==E=d^M6c7;paz<9Kf{K5c>Z9~ht5`3vI`{|AgS{};yT{|ClL{tM%2{{!PLe_-6B znk)S;jC1}!g7I^~{|m-z{-41($^Ql8Hvhk1-0Tg;=U$IA)uWP_P~A^U&zy3khb`=d zuZowmB`rmxj_uj75zO?dRlk$2*)gZQ+`gw-i9y1fpDTBa36Ri(Xz9yb(P>jz zh_LaV+(OH%VjRHvU|ozML-z~X!R*aDvn_mODqmU|r@sCb&W&<4qQw=rlS1W3hqOuM zAe&RT_VCPGcfp7)H_HUcnI)P)a8J6ai^6Hg6K6vQ`C|Y`2IYMfCB*l?1CmirI`YgG-#CfGav+rva_HOiOCv3O=nD9K>NT>%xg?6(e++{I_eL znCJajvcz5$y{p6&=-L|sU3-3LrOOcrOoPD^(zFPmYtQ_*YhOc1?f$gC%Pkbg-RiFX z**deS{mNo0Fvj~=sO3N}yM#!3FDPZfVT|<^p=^o_iUM^f88)UjJG{^mEw9!2JBI{8 zD@Jc{_XB9D`7B{81EeJaCsE}xQ13$xQxDX5c-q`HXy7(N(6_hS2y!3xg#n=FYw-Jb zN)L9w#Ltc~J4!yl?&1y~TTP@kLJQtuHL&&g$h%LE}qev3LSlSc(*Io2U${cPa ziCiHrDg=&?;*N2fH^7wM(5+xodzpSDFr_EG;yRvzK2P~)N{_hUf#0B1>KT`@rV)$a z3ogd_JH0VISMVAi`Q96nH3v9>xj#1^G;2`5-W)_r~)w$^~tui28F_ch&TLM?P(sY#%>6b`7^hWA^+(`n=zs z7;@Q|Ghll{Rd`c0sgVB0+~X89?H1bQ6jvQ6JO@?>c0wdFJ&t))2vHjp9P)%J-D;%o zi(FdZY0JE(c+s77&v?`AkB4_SP+IFyHLrmoy(vf)swM_F!w((=ibxDZzqm`KDsx(~ zXV*rMS4U5sVnd9Ji>qs97SznlijT8uYNj(!S?~Op-S3`z2XR}1v|my+H>h9ZFPRIV zfg!z%Oli0K7c0zBWXp@QbGNTWcVmTjAW2;Tnpq+4F+eE324=(U>-MA9E?^=ckA|!~19l8MKc9kP~SJ_uM zJ=gacqS#&V5SpG})tt0u>XdgA)T@NEAT6#aO)nQ4 z0Uw5zxchFE?8^##WU!ay6|nKF`*RM`*AHu|m#kclpm@i`+~HgI!BSCo0j56(AzIxJ zqhF<8)_u~q#ontcvMlhC2pVZ|P{#AxDia9c8)5@$_LHdTa`HTGCP2+z-g5`ktriij zNV1w~dO^WVzF3lzFG-DZp=VUv?fGK%J|Iokiu2|p0QB^`xIhJFTgS=TV12178axg> z3;_DcFJp@X(C}Qm6a1v6B%Ber$v1chJn(6;uf#&et5?1I89f+R-5$`!tAgz#@Th%^ z89dQ+dLrI<-9?r-UC^NEmIPaMIgg}$*0)`Lq=Kk8v9S2>NH1(GuMr}(^e%w7@e|En|*IaRGU3Pz6Nm9LTFF@!FL21fux2DOI$ly{~ z*LNMm81o`U$SC5T0AFN9;AGi!mU|?NU~$c5OVkLEpHMQI_&CoSQTq$~R~-Y1mkggkaH=bYqhvx%tuj-<_ogdGo`QS%fp|gK- zeg%U0xkoNBT*e##=N(G_;=C__^IrQ@Vy6Jmhp`eR0zluvGE2l0@ufEcoOdmgGX>Nh z$uI&Z9;zNf4i@Ng)Qs^s0&DjU0Mzptdzxl|Uj4gv@9A4zKeMBjWM*DcT~G3N?S68r zyLO%Zb(q-**Zpq$n0kJB`F2)Y?eE8^-{6do@t7~>f#IwxsLsX+kuXkrj@kfiA3)V$ zgr$}Yjx36-w0tEHsV@CXsXRW|nc=!)Y81u1U0UgSuSSRR7weiF5}N;zEM(b{FAY#o z@y^)fYnCw}8Z6U%7HM2q2<==5#WHrR#u^RZ+tR#5?C~ zFYtR05zi|)MrTRa0MlXI47sBNKh>W-N-JhesoLJh%q5H=n;X>{z-rK_TYS6nf$x+o z`eRL(Ahb*u&#|w=#^6_02WWfz$oLkziwxs0Juv>T4yR?n44xecXu}?%8>!f&zJU`1 z+oZ^Gyt)kT`50hq2mEZ@UAVQWM%0$)se8B`5EJAmfP z^GU$7oh*aBLuhyc6j7C6i&4y1o6{@_j=vXuGSyY7@tOGUA9X!iFe||M+ZYJtQEdaF zM#}0PHx}uSk@4W+26B9;h|7#&@RSl8)YH9#J7s>wo>NqcXw|&l9XVXGwg)E zDEt|@4=ri#p!Klo`zG+^Vtm!8;G&+HK_bFOvPkvR)b46U2-wrlb)r($D!gPa!P9wlXW2EZI z)eq9bREUtLFDYy@1F8yqGJ+;N`a9{gwqps-<2JY%XsGgv%j^{-B}*ETd(o{mjj`{M z@QT#MV_0G#tjV_iqsz-r>3oaVfeSGN69sg6xjd&aw?;shpTqHm&k(S5MYQ&=S;3*u zj`A~w9O+?fp4mneAr@59tDVtHno{{`V*>>p*K2brmRLAW1$5$*Hw)U>K3Z7HG~h#c zJ9cD{jsIxAaiWC2aU5;MrLnnDjDVwh7Wkoib{Gy<+I;&liu9|NM3eO%0@Yh5UUJ`G z*_7x3)?1ex`e~X48r}UyI(q5n1)4^|*mNa@5@(@tpVL>^JM8=nVBKE9y)c|HmP<~u zqKqXGuV+%MS3Tc+G;t?0Spt~9lad6^M`Jq9(|;R)BFl*8VRbzHXkA@ZZL-mj%nyPu zN76hxYpxu1*}mARk-yW10Lb#dZSFs^{HTWC7`BUv+BZO!x7B`%fZUYhV5gRS{*i!Q za6!QST64Gl@%)wg^7U0=OI{m9dEn4AIK~ogCd(i~({;YBb+`*yx92U3fBzm>w{K?% z+5xwW*kvKDDDu!C1Lp6(?dq~Vn-hcZ+5KK3lY3jY7l*_`%XL>u0?kNcc$jQPkp~9P zZACdF-q!6an}Uu0tlR5vU61F}bHCqE3~=8RUhQGG&&iWygU;F`*6aa4-{&1cd8eEj z&j&tU%*%21{<&RRP)-)?JeK=zyfNhiK=gnxU-hh6Rco#6AxB=-)S1~VTi;PGMW406 z6=@T>&+P4OSvXho0Q4x*j6dZPzt1!-Y#kcSR}5Lb4g!+--RNS)T(`RS{$6|jQ>$Zd z$^56K!Ka37*ko!%u3QLcQPp#Q3A)0@R~U5a?}XIw*ZJ9+tg5s}+oHJUb=y(Dw098-6NUE`WV>Zl;$UvxjjW%=a=&vMT?)7YUXMl| z4L(EF0s|kXdNADCygdUP(-|9Ow%T4ptC~=zh zDSF)a>NpGJxEE})407p(5eIKrq;7hb0d8l&Y$*AkLi~E3px)2D91rq8h4_jv^y$9o zw|)C;f?AE|NDKbX0ffQf60V=*MRm@Q145@hoMisGG)edUy%bSlr=^im8uf@fD(i$K z?012^ra-`s(9qw)xp$?Qx#Y%wmbKTcjYR0Ys%{v?cnT=<#tobt!^RHpU^3h~6#!oTRSKk_Nv!Uiv{@Gxo< zLGst&nX@Qh4>=3$+v)gB>~Up`#jn<3bN4nGch{fR;_w!Tl-o@^$rP&v$Xy*8p&`;%ZG8N~N_f7#YFjp+;g7(dHVX1@#D5l;A z-;93)efZw?Kz2ZvUumPNgf0=XYLmup|LS@L{le`!JF~?E=eK%~mN0ZC;5a`0%bDB{ z-S}(Owh{*Mretzaqty5BxyzKD9>O)7M`W?)U#%x3m0%}L^ymLRl3@QA>A!nW|5?XJ z%Hcmk9vqm~@A{2CaSEI}eDmtXMK*Ka?@wV&Xnxo?6(Q+`-`~3WAEb8xD)pg%*YWup z7XDes@7HH52fX>_F1uSo+7yrxI9lw6zs5Zlu#Rta5pQwJPnlEt?lGufpNeS_f4JCl z8Q(mZ&*O?cJ6T<#HvWZ&Cgsz8-O{-R#j@r}?JWVmVGH#J929-X5nP}9)k?@uHG|r| z7oG_0q`U*i$Y!={kJ9qxZA8rbwm{|xaLO8H9d;In?;aphH0XMltQM0Hnv{TViWtNEYT74&Q~wdUe=;IQ76a8C#ULF;jB%Vv$YOiVeRyu@Yfz z)DDRLeb||u{#-F73sYKKnkdRNJ-v_$0#|X6iNjYk;->pE(Hm~o z6zZ!!)%Id{2#fJpK&)r+WEZt%$Rv=_xBplj*Dluz#ka%bH=oXdwLm!$LwiQkTf%vs zZg&cp!xYM(*YK9mZ$0_+J}VZC4#d8*1#CGUJ^8axl@;Q=G{=Vk`W0oG56yQF@OYoB zt7Fcw3kEy0Sw4iL!YGxa2VWGVmh!`X$Fq-s)WZ0IYOLv6$vWCaO(m$@Jf#9}4;uS{ zTGD5}BTYmRLNaJ;v~aR$-?EpnuCnX)l09{s;Em${!Fkt-nHse#H}F)}S=`sV^WhMq zb4L#Y%d^c|+ZQo3-_ijUK$W0g#iiO*-H<%tYN7N)!*xN!HIBL~v-Om{#fX9Ws32pZ zHm0cn1&#INrv!Am5}9wrAyzW1H58tIKR*F~Ja~g8-IQ>ss{wCS3o2X1lXU?tk>SK$VfeHADSJ92 zcFypbVN{d&{v1Y@0encgM`aXH1Rw1zD^z6Hp#>q$w2Gapccv4S&9qJ%or_~F+mjHa zS27MQwL@Z^>DFhBJJOn~xL}p|5kGYxt<<;ay!7Vyr+>CHQCIYe06$N~sg)e4Y}Q>;%@}q7M_{*;hUi3Q8s*#pwga>NFcCm3tS&i_%^Ic#69tZ zhu&bGpbQs%i{J?B0fW>ICL6x6(|?AZ5RgWnj)G#~h$xJkOE7&vDa63l-z z`*1+B|M0J7|D-%R!qswjeO(G@_Lqabe>D5EdAA1F{}bl(u-i4f8+<-4)4@}YfaXJh z6*Q)jZeJ6cpoQkg3j?Q#pE=&rdBt#x4>JS_;L6@ge)#&y)0cl?J`lt@U5lpT*SEP6 zuJMu@hs`pFFHj39l)}$P%XjjsVLSN0!r@{>6K1jl@qSI%>xDZZcDrvVen5k!aYWS} zZ0g@5gU(tcZ=-=aFqqiI5<4K3r?I)W#bVJ&k$S<|F%T}gUUB8!)Aaq^QbpzcQwGe` zs0u|}s-N~tV92ZBz|C9$d?!2!2HU6F#E*Yzev9;f(L8Xu?k~-Q^1X|gR8oM-Y{~YW zU@}uTl;`wHWTghyqW2+TA6edmBJoD!yGgba2`J0AMa#)cw)0NShv$HR>P%T9kdqaO zsFAF-xN@&TEY7Pi&UKW1hyJ|{OLCZ|SQ_LahOe0z_0%=PR^RDPN5t;vGPGQD$iUAw z8fqkZy?OT3xvtmLfM*~6=GiO30-n7FB;eUA@iHKB0-pWpxHnD#;Mt?@0iJ!{zn*=> zdfefGh&s(d`I~1C@c?-CxGv?!SBmEYCk9k*Q-7eIk-y+Qps zGKnw3zfgbnzd?N#+it)%N}#E9f#d&2+F3?bz4vb#k?sy@q`RcMTe=&R5b5sjlI{-a z?vj@766tPf>G^Fu=lsv}%&b|n*1X>D_ulvSbKln$GS;nS*BJ_7%s`=T+6Aw$*Q5fN z;&|8Y%{GcQ$wJh#ff;=~tWB)CEWD}~L`u!q#ShgiVR=+#xCGuLJ7XGBC5au~KPaAf zUd=0knRBIqPdtP-`!mZ8OFUVw`B z!^d14U#XKd6)o`;>8vYsF_|~U#GNs#e@Cmg>5Iuah^j`>3V@pSD{<49n2URlu_l;3 z!Y@txyLW+V@gJmYsz-e5g?PQ^fy*ooNy>{k$W zg+ySWE4FU_hv)fe-GP~N=v*$I)q&kDf4_rj}>T(=f2?&S&WR8HNV4x8U? z4Q?T0sduoyxe)iJ0jl=7S>j20>uEw#v7md_8?s!-G3RT`<_+^ zJX{}qWS_YtZds-*%uaP1npD4ZFOuen+Ogf+mHB#dWzPDe0yA0S4vttj!m@%I)yY zV^MBN-zv6AuL_^OYk&OmEoD+y*$L|Ek~z%riuoJWR0nf_5_a-|aXP0v_wi;681c^} zUZ;8H`Z)hmKIE;>v6_1K_7ZpRo8`0IU7=L2$iAbZIvr@xdMm;TVg8$G@9C$eFrwmk z`hBd)&iQUW0jNs4G+!RW&kIP-3jF$N=6Q zwFNbA$r!$F(VH9E{Q&!G*MF7hL5bhgE{fgf|~OAPnxC-!!arG-qU)hkw|_ zVE?_)X}T?b#{x8jC*N(NsT!+a!b`V;@g>f*`6|t(&&cnEhHxKjor#QZckLL1xbi#n zclTN&5uTp=DI>6iZ%cOBoFL*21=#i+g?M^^x(*&D2vFBK1M0fpi@{XQZ?RHa(~jeWLTsPyJwM%PSO7lmI+CFA=_z6X!}!UzEZIPl-$jn(Zl^luzp`Bz_xz^sq4Ti^5bCXK11;sE@uif3DELgyv zbhB#y3)>!!lSclj%;`12w!bWPr!4dfpx%x3Ail9&{A%ioIsT?ZqjaYK`(d84sTW3X zDU#=o#OlC5;hyGCxR=L(!v3Fd|El|6;XV`oWeqQ|_{8vIsi{<;6jN)(XmX`kXI-Nx zMe#UGvRU#$y9Hb%cjkK$hxp+$6 zB5l&s1!gvec894f2EuBfY%d37`w^B>7%+%%Y@l`zeXsJPBE1af`aGXDu8gNK#-%iM zFfzmBiX}rxELdfiX88TEbhFQ&HT*2=wkdzn6E5!kH0${GLSaPvrV9 z!c(=0N*ICN03wG*($N5%ax~fYrkxM0m~AFC=dm$`aru_>4N~Zg9hRCU#flCZ2Nz0C zG%y;0#elr-V&Y-CxjOZ(gHGbwW8qr*`-xQR=SW_G z4(#pWtcq2}rxiOilQ%>l++9lFuq-JJ8VGj>D$j=*1qqe69dFo3pqIa>#z?V(@L_6)T%X~FLQgSMw-V>iF1 z(I2#vtZA?A!UoXxe2+PNu+xbRDJ%T%sPZQFmLy*Nh=wXOgl~HM#4DKk#in%J{LM(h zQZmHk~0XUM&P%K9hWAI9J>cp?f__mpsaHnW#Ude-!$DUHL|1m<&;C9 z{lQ7YJK03ZlZ-m98HL+%JiF-_QHAFd<$28V;T155e>2+im$@z%&Wf#hu0Ru|wFEHN zrPf=&K_Jl>NIg5bmaGSvAStEcDb^jP^1fr`CZ^4nyuM`#km$8J+K{~JB z+we84E}0fTL=>G}yL)$lY;O-20R;3U4Ydlww+!_$UZ*4k+Mt`d@EZYD$)f(46D>(~ z5pFIgNy;MR{Rz+^-ma<^J@E2hyp;(MZ$`6vcP$E?dGkFPF!ovRL zDtv6NWyl(Ms1hBX>vu9z!J}P5e4Sr#w8!Zp;8iv;R_yl}8Qg`+mut)!oU+czdIl{X zG0E~iD2d5Pq_gHM994xz{LlB~3A@{)(7lUWb2#VAPA z1cd@jR@Xks1$L*3K8K>bxT};m3_56=0Pusu0^zWlz`uASgi^JN_H*b~- zd_evCZ9xQX%gV05*Yx-eJeG`Tr2TZ?mbJ&m&(lEJp36j5Yn@9%k`p>P_1Z2;|EJfOW(1M2q=4GoTUsy1ad zaM_&-r7-LLlBFn@sAi5QwDv04c1=^f->G9IkFc0Gz8Vs}>28oW?)Nxs)rY6{0Q7S{5THt{9S)7StuftrX#iA%)N9h#~u#khdv&>uliPBf!p)V4uUKWm^AofUodp z`_;YH?sp_TcE@5Y@XXdit^Ap91XF{)jSLpJ)91cJogtsnx0bIZ>7pm<$>{6I^4!;~ z%>9>%JNnyBBHlN~E>@?NFbuc0+M3{Jqn$Ul1^8o>~sX9vFlm z^#FEz2?}luqq!kF!t@HT$QJMe8Fin}E#P&?=dJ!#YnCN{WAZ>F`fXrDzm2T#eR25k zIR1CIr}o~Be_e!+u*e60HYddu0}j(xj=!K64lwdi07v+K&gcAKzr1O}2+kf!eu{H{ z90AV9b-p?r|Bm0tuSO}UlTU?w0g!KZtY$262-#s8v?2uLQ5p<01YI$T-?^Yp2=U;V z?H~#%xZ+RgV8Zm?UpPA0>A-yAuN?*7J9}-b2VPg(&7R#P#=b-Ky{m+qrK^j^m62j( zc~6`g^arQcyEuv;6^MpnYWU0$_9Wwj73PTceZPLWn8;(zlyIy7hZSI({gSU84oNQe znZol6L4e`KKAeGj6@f{Q6LAAMPdibSL6@sUu0PeGv||W4U=qL&+9ejcwKYc)MXSrI z=2TpV5Q8+;&+v4-o?TQo)jw_br01~dI&^-&ntfQQSDfj}jXG~en)$fqfs-DV-G2gu#y4=~h z-QInv-N!5!Su;Wy3o!2^zh$H|mnjX(W_?rZ6wYamZ00b`$!&{N2Kmf3iG+YsP9Ze} zBX`T4>SnlM8tSx0dFWJ!S4Aj4azfCX9E5nU^*-AGT zUByBEVhjB4#B^PwH+ZlwWs;eET$gMSuaw6K1X<|`fJ^-lYC9DSii3mp8u;rO71c3C zU`213#-k0=(rbD4ppp_7mp^xtFo+0>q7*c><_jwB@}R~`FUg=Ppg0j*Ls7pHl<2@x zw5fBFTOVDzWuF`CFKosN5);5dH04};upBDoS9@s@cokzsBH zx-BPi?l=1H>SkBkE^CEuDz0G1sJ>%CxEo2f5d`C~QggixnW5;291fE@q)QH-{5=FO z!smAyWaAj|S(_}=9e1g;gIb!#ZiX&OO{T|0yCNd(n|W+KO$ddBNx$tAe`>9W@{qS0 zoQ^d*ntiv~mwrV~8d{bIhiUv{h<@HitkT;+@J=)Ca}n!eZcp8I@MShVjnTMq7EgFs zNY)R7Xe)(y^lf63q{UOpf?u;o?JuMXoZHVhtwDS|>9&;4;s6s#BQh8`f(twuR+=*yKR30+Vv+a@3^+mxj+0JjVKXPfTd`BVz_o+NLUy54dN&)Z z1;K9{uw~Ln9|#vd=$E^$iiR=mhL_fFa8cEHDAV*5&_O+zZBTAtNuFRi}qNjO!wDtBf2T0=0OI-xg`zLK)-TTVv>aVlKEciWNVdPRY8~nNy2y2m*9< z=JwV(g#{ZCo*XEr-NDX`6`5Y07fSU~A?^&7nReS`jk{9@673`AMxRr0Sj~(yosVfl za_EIDTU;RTFnebN85V!DA6lUwV^)Dtx zyO&A=(SCShyg}jkUK#zzK@F6<(OWPzs~p*f34I=}o_m{~5=H-E@45Jfq3O1&2g4hS zYlhX7_!XoLJ!r&mO>>P!`QkUP-_dawYmIm}*kR|Jy>FH=oVWPm0$l9NrzF=$_A01( z{0X+01E>XJc%f20=c|6F=2rNsItW`-#^`!fp>IJ8&A~&sS437@cC{<}+%qhE#XNpD zcS-gg1-0QoxW5|N=;nMOC^=FE_9EbSrj_@ibMp*j{!OW zhlQ%I0y;p9UH2>dx1$<2J}e^`wjwFruw~7N@&sepw=uATmxDT;30NPShBF@vlA0=P zk}9pNZGn4zm`isK^`uAb?Qccqqtgx#euJ%}aAJbCYvZe+uFBPU6Zb{uD6*~S?1a4AFSh#(_!TvD@ zYEzhxhtc5CBVnuNoRsgG{dpbx>Uq5O`8hsGdHGe+)S+7_W;0ZpCW|CvyTh7(kwtUi zAhCulX5dKDp}`x83tx`!()e3qYWfwb)jESM&sCXE+^S$XK}x5X<&>o{2jp;3=ivf} z(>@c?pL7paz7}K~4mDE{?Y-4@IMAHytxcs+dsF}J;tp8S6G0AN`S4%lStq$87Fx)$ z00(;-O?v2qS^o$s1P0#v04M-rzx{0(5=KB#N)=Is!TVRcGoLz{OB}xpu%+iYwLZ*w z`l@997*cQ{wf$y5Ycyj2L6lZ(cNK;vz^Js`Yjkt<4Vd zoLFezB99zktN~wLPt0%a4b|8(m0;R9?b-NO&j{=G(mqr1h+GbdnowZG8Xp#@8{fI@t&q*qF(S5CVP2jzFR3|%0|2s+p^jClzC zb+E^{l-0A@(63@%Gv;iYFT&*HDL0VdE0wuvgA|QMQK&*76k6~ zC9W!t*zU4+(MS*V;gRgYo2zka8jLg>djIVK>a zpW3FG4G9Y}#LatSRXb5$vS6sNxd$bqYEW|f*32(pKcj`~U`Dt4G|(PE*hf>y`f)lUq*Tl z)ePa)LtqhaI5ojBz4Xr_{$lhSnI#xtq^FeRLp!-_iGs2}X8$-YXpg0i+}7uCBnmRp zdjkmje%^zyD6H*~V`<6ZFmqL_-@hel;1Ox{%A8wo`73HRt`VuY+mT-o_Le&XL^bld z>E871TUDG%V7P5t4#-4T3xJV+U6_Nb4qn$efy#bW;epESFbP6R;P>33NuOsn6E}e; zT;U&G9ZI@?w4B7pL#??V%?tYE+dX4{81@UDQ7t{e%{9lxmm&pLv*WwHJ9?srH|{k` zZ7w@SPMRY`B1Tn@v=FzjpBn!MVqZQcXYp?Q+^+NCEVwdgHrTcV1hH=ph*9P9Pn6?A zDc4cFGFoo$NJD6npFXQmY;{w6>VB8Fv<>({EQ5S?R*v|5(l5Tc z@ZZum|M=>-{_U$n{%aHu2^z((Y%g8kfKQWPVQ3g~_r`LnS!KSB<(BNciHUk4)f3C{ zsz?^i#V`=$r;%i&bLYne1F0TlsyC{+fQH-emgd=w0i(muPaEYID~j63;B%3s1VwA? zWCkL#LUiH)@%Vl1s9RZ=~@--%5owusUNiB=%VejXzw>a#G;$Jw;znEWKl zl%aLo#QRH!?x(IifWSxLS;bE9H#~`Hhguw8asQ$me1x=^1yf^;r}{`zlhg>>)c;qe zKUsK!NH_S8OwR~pddi4hd=`rGU+HhjfJyzRC!51H0LZ%~O0s%-oL}s3_k`9TwJ48) zSg>)|?3`*HAm6^MW1#+&g*?4+eW)Zs-L_&{A7?oP=g^ z5!%s3Niau@kIh>mVcDuYbkadwas*y-VNoXV zU+{}Pa0)HZDcljkil55%=Y>@MUi-ur9ZkLS+kKVQNt!r9I4SALN1?rx&%`LpTb zIsz^V#Ha+5gsH&$u$#4_J~y8)7j@8C)K*~3XLeUTyQCnJSHwWP!Wg7z<@%g`P zcQ?F|R?V=NTeBI+S^AwQm3q1A94nQL1QNw>`{5`?3 zR7nLdoz&M~AdYwG<+V6P%)3D0{!hxEk87;lhGKBJ+FAVMaDOW^%Q{Z6fhE_Qw94ZR zRYXdKxsK4;^LNIlddc`bcsc)(@#Ft1<8S;7{%t_ZC?7Ei%V`H5Vz$euDDzNXHB=Z?#^d%UUd~Ci`Yr8 z8p8B@8BGz1>uF3Ssv!!QvVAS~_?i}iGqD4g^k>xsJpi`K6{0Lz(rKI7LPHKzuLCCI~nx~>hfvMis;Z;D)lp6Igp)C^Bt3aJzSnbJ~wm-57n4BPV+u0@h1h;Fcr)d$oRqDH(ddXI~&5#&87n zo2)`N*A~jGis~>_XaE}1(6_41yLY2~hB(x*r_>PYryRh#-V#{Xi_$py9a1Jhf54jg zU|-(6CK~o`_fu*8%1tuZC%p77B`gdtwzD`}e7bpnfR7qa+cfDc2d}IJ5m;Ta@7Tek zC9bGZ&GjTqpHclqquj&4Jo0fKuDqUj+KpK%5B^}}y*tCFQVDJ2Q=*c(=0=5DCDefq zybx!SzE*7Y@vc>u;vdw#d`ar#O?HJ#03$EYY$u>vH=w$#^;)&>q~Rps$xomER2@_K zwc^}ne>CHqKq+9TYXceTY|1>e985oA;u(&8oCu#{L#j|KehP9waoJ~Nc}IQP5OG=T zS8Bdv;Z8*NFc}1k@W({|bE6oRdx~|e!{euRLW?b%evns#zr|{1 z>ZIE9oPQ)-$XNs0MzGhb?sJVSYm)fm!k%q`PZrwS=6V`WRqpTHL6$meXx~czs1MGt z&{HK;1!iWGQnN-+wFzxtC{D5J1xpwXbS!)jzaNSG$A>B1P27M4w$admL;)@g4&_(nb4&>0I?uvNyVR4HD~7Qp&S zALG5B*hwk~mzR+P`Kc9xR)I}fP{~!nPPoVanvwrKdYXtZ2^DGXFbRne1ZnjqiQyNy zq+&#-)-t^>fiU2s#){ZR&WT2!`ZQofz3@xk@7!h7G4<$PAH8qybqs9v2y_phLL^aW zLr0Pe-AQX7Kn^qTzF53?^%gq|YJV+(sFVZ2>$ZYoN#Mx{tM zLZ(2RNRY`=)VI^Zw5$95s_5A$)lwHZlqR2CQlTk1B5q~;tIoHWfUGWR2$0qNc#+lZ zaA3@MXdSwIsz2^&>HA7~$o?X$!+}X({=i<~;bNCf&cv{CFQ-F(e9b}v#uUI-m`mQy zsLtL>`ys9opx9RcUi!WRr+MmT1ohhN7CS_4=RI;MO%sf92G1*zHxck>M>RfI!>Y02 zL*bX_hY!J7v(Ey9PtV4B@{X@{XetlM)wbSPejFrjzn=2-PAl0?r2uaCsu(Q#!0jF% zbi1dujltIRY*y>DBR}Ntb-P;kY@eQ{C!#Zi7ZcL$93hZfsA&h}^NHe>+-c(eN`g#L!v zK_q95b){sQ#YpNDjWpD+pP0Lo;=#zN@$B~KY7t-rtA?r)csrL&W1X%{ZtLc;b-$Rf zHZ^x^H^`nIahA{RgTH~wZ`0Cj)50FYM1a@~Mwa%}lkZ$ z74+x-9rOqO3HrCn{|frnX@3WO$OZJ`%?bvMG}e}#ef6m3MQYhBJa%-`N1LtHk87K0 zpFJ875$M_Da6fC&m*dUY79=id_uOMoZdehPUyAQpGbY(>YF((s5g-4Gg{uu!+qX-w z5EbjGicmys)Z9~3J!1N5>)>BN!!-L7l})JoQhpiV@t|S>Xy&i%-vtB5`}EgCkI9R5 z)sDXbFa6v!5b@JphBp%uPZgpTTDIkE+PcxK2?@*UcFgeuy_`yFb@Hm^8k4py5=G*U z%MpPoSI((p){i(Q^S!kFN9AyCtr_Vb<__Jp9VzkxaXkDJ`IK zp!Vn?Z)qh~=hZ_=+ZS%?Ws%hPAVdbW)F~R1RppenrhS6s+`>1Z{qx{wzS;#H<4rA5 z$FqlqCr*);`yVfTrqFO9{@0EC{Go~V!`4BcLpFlSH}x{X<>0xIG)=SH8T@IG)odVH zUD+)Ne&+^)-&rjpUMZuA^Ml}b^BFw{0Q~M07|Y*GmS%amXr|bfbO2j1~y-)FKLjWHFN;50_^N`q69Bh52xj9{AD?J`*&zmP|kkx7?dT9#4}Mn*O` zmQ%J;ae5Iz?DI+lM6b{1o~4XiF;FybzkS6I5ehzj zw}3Q8u$1M49?|0zd@LsXVx=Fx74xz`4LExM@R{XYws>%zH|k6ym&Iu+&V!zx8gK5M z+)o{Fpb^gc4J^{wrHY>0Ya*orK4^pY2m*B={+0p##bRTr_7ddYg zbh;m}jr6?7vKl>Lh`GM3am#nU5gEE!&733ouzklw?$k-+sM3AdQ|c5e=h)cr`I{ujbxZVuH_!l+C&lk18t9tZQ8n7kwA`JLRJ_JElTxd)kUS!NHyoa3ho% zqG-@@l76n=K{-J?rD>j4!kKylkr?jj_syTK2u6TC$hr5xElWsybQ}LHK0JxDiEF24U@Eu0yy6r?<2BH(NEn;VHhrq3UQVF<%vn1y{^mPBE|Nl;GGU`ZgF=`n?I2!h}Y-!nOx&_JMI zXb+@7V}DIq65<2;rgP?1sQ5Q>&+7}{r6O91Q_J(j6D3)fc{fYR%4gdcb@qwv5k@r2o#27#I4p_h9)R3(N8~H8p z67hdM^$NEE?7U1ca6od`Fp%q_zK7z__#0GEhph&+2h-~jLq7=mIX6+--BgDC>$_0Hs`5-9|qj{+sN z8}QG}{(p=4^)Q$1rLACIj*rr9Pp{fL&b*r+53Id+KuUXrF5H#PZ(QQ>=J6pkZI;Mx zues6ANaC*~Jc%tn@L%q=?P?xZ3w9&Rx$v5(84F2iXGrPCLz66YOoM+XOov{yAq+_& z-`@AEg@m_~c0l>iuQCw3$K>!eF4ymTa|%C%ccOiDBR`Ne9xMItGk%6ApXeR-f0pACS`=Hdjp@xOxN8I2 zQ&)IA8WaOTPEYwuXrVErQSZC2%*Wvmbv(9Hd?CnC>?6>5=xh9h*qJB*Ll1l;oB5R= zK9da6mLU|9h#!P_jQ`td;x0b%c6m}0I<^T$;p*2Znl9A%eL5i%k? z?l_imYE;9r{KHRPqXim=Ii8LDZtCK2A^$@YzG4hL{XpfB)mN2j=#bz}()6 zh=c=PBKDn|V-A&Ebiz6_5c9u^Uy>3F8tm2i@C}J+D{_f>!on7OW^Wj2umG>O*Y&|r zGNGo#KM{lozz3He4TS9aQd}j7(};;hEV3auKWFkmV5ZwIOD7-?Z!&=sje=P<=W2C^Jt$qVVsUnI+B>x@HhVEd^^Fjyz~+4X0% zKrDQk<0<^onJmaOVV8JjDlq?mk`#+|?|EK;qW3X6_<3SDlt==MRS0%BMr1}oW&52Z zuZAoh6I*&`OEqVNk<__o=-T;x3%5|}dpDcVgI=PFthFELT71l!y0nCx)%l}+TL*N2 zcg?KKHcG}-_V*+iK*Dd*@#lvSo%mT&GF%wQK<}rcJ#*BeK}f&JS%RBkK(afgF9I{=}}@C=%5X8HtcIPo#z#PK4WcG zk#rlYOtHgMY25vponx^RU#%No-PU}a&=*Uud9+m9=kK?zhbj*?m))wG82Ief-pjU zjpSqIvhJj!k<4+Xs&(znw|qQBw5k&XzbHPriB?zh#lV&R70X%PyV}QxX-fy9h`v&X zr(uiK4iB!|1V&nKJbzbXeoVl0H~BvAQ>V>1=!nk?-q_~n7n$pJac|uIgM2nHWmxAeoD)c#JYcH<^UO!am32sPoQpD!~Sp68ii zMrK!zRV;ug{zMZ_J`_QSR|8P=qF#xIn9@ZFQH2z91~r?yJ5!T=GY&=_fWY>$q@+o1q05p`rfx^>aWEa_~B~14vD|$ z<2*b>KD~pz371O8V5E5Bgo9$-G{H@BpGK^lk-j8^=uyM?U2BU$=XaFF*^Ijl-=y-k z)O1nlrp$o`5p6Z2LGJKod(Bn?uL&a{`*h3*7ObSW~mVtEVaxXd>kYc zD9W#T;Q^lB7X?)6tGGt39&`Q%J~5Xc%jT8N-OY03SWm^Ye`u|J9W>d0R!1 z#_gN|t2ESNeHNnMlC1nZ9YH{Naehpn1A%Ou3;!=@*C>C|;k$tZQZ-i1D-yNo)sJYz zCh8^SxpgK4N{=etiniCL?bs-gQhD0TcwCqmvdt>Juj@^R#oND^x=bqcX%#ex>k(ye z!*AF$pG=JV{SM#O%b@-ghm_0NA*DX-`*2B23Fl9%FQ4OkG-t#03;vcw@`I8l_^le# z@BYpVKv*XQ?C)zp`+G;Yf{h8Q*+ESB zptcSMlgMaE&KPyQ9}gnqAI$>u`$Y#U5@3F>{4&39@kvE0mRC#6QggI}eZBts%wIb5 zhQj#heFX!!kUu;NQXzH+xV_45!Vv(skJ7YlLfHB8SOoa!5y1gtU36UC8NWdR z$JeU`H!5cmC;EUO4|zY?vmzF3cL%#@xQEE`nY2+h`W!E*vCZ>`!_atJb?mZHtUm?) zQ;fnW#5CVpFHSfs`(Ln^pn|?Q7O0?Ko;Ziel3qM}u6FS#*4C6ZKwFP?Fkf2ylY9PQ zmTUxpU&)yLj7GbHCGaa1P9kf`Iy?L_O&9@G{k2t7Jnmn{x{l)1w|P6#-~y?okrgXx zOt5j_3WRqfg;5#HAY)x3zn;}(uRbATqfww;?+<$G?#&O0cNcpG&GpEeoN(v58QX6n zKc}`2saNBNSz3So^}$x!bKJx1eQsUB=R)N7^h0Lv?vNCHuBUy?XTSlxJ@Si>-aZI8 z=Cc9Ee0Z#Rgtl!PHc-ZAZAxJ0G$oYN90<4AN(GE{2GU=&Po5>60b^b8?8o`6!34FR z9pE4GZn_BH^)RK6`fYtq9PGWCpOUE1fI0NoQh6r4)u@a;J`qgvayNtKwojmPUX6L6 zdgA#C6WekI@a_3{xGzw-#HghPT!~4;W^u=e_Mf4X= zR1OMbHP6DCtGO^IT?5}|hG&iVjhtXUdP*WVt%@ofRiz^SqIZ7b+rK-x{2W{BsrqSN8aw}YY+y(XB>lQDC95Ozxe7-V&pUV^F^Tdk*0>b#9y8fHweGm-FP4YY~FNO6YrZ)oDJBmC*eSu)Tj`Gn~)#elp1+}3pq0M_$P9gOFQLCqr9P$mNIr(*I1fBEP? zt6U9y*UPvQFt@yc5LM%6I!Ely?zx7tgx-xh9{&d0Z`j%cyssLKfd72le#qqn0q)00 zj59Ga?E?brUwC+9ARgZH@ziMNGw;$uqxJe6oj>?KP}q`iy8-d=%0-5Tt_-D*yi`Fv zykPZXfQM)GdC8{~1)nw*IK}^<0ndN8Km(BC|TD^K3_2w#v z-0qMKcIbX1;s^t+m&XA|!&1!{26yXg`HvC**4|d>le!hzs&{a7rtV_C^1#K+JQz}wG(3t8dK`qjJ^^9aOulR)}?V7T#Rj2QC21G?+~e?Wh(b^b8? zc}d~2T|Z}1HcP8@A*rLlJdI&LwngTLyo88M-AFQ;W~{~0-wF{MUs>wJNL~{(RI+P( zWF!WgzpUq!2KJ?pYrAWZtzI{Gt+h#v8&EEI z_#T}!2!oW$9F6n@?-Sc-lwx2^wx9iy--?W{j}jpffuGWMHU0n`6lhA(SXOBq7wLcy zVxMcdkf5(;HnK3&YNP;2&jsbRkMGT>KiL)<@~A&?&zxw;t7;{Ha#2c$#=(8>ymo8V{kj}x+ss| zA&?~Iq8raasg+N>*i(TtQ^A~2C;>lG!p!#cStT%mG*!-!b7Y@gR54X1%9bm~`aC_} z`FvigkA3PD)U`dMub2Kh`K<9J;&ZwitS`G!Lo0##HUfD3x09_yFyKV%;&8|3n`C>y z{Qm72Q|x;{V?VUtv5!oY-H(ItLerDzdLYDr(N-i52_c8wFtd3RAMMk{p@f2-C@YCp zLrFmfvlR?T?nDqo0m+>MIB>q#w&|b4)i$-vsCMkXZUQ8Cdly@`k;t9x9^_+Q!lvpg z*7K`Ro1+=$Yw^LhP65vBHc_Y_ptf`1$a#D^e2_$4U_SIH5{78u0w}#zS0#6vm|vdg z1dFx(ez6VQaXDX+4mfe(UbR5a3$g1!8-0{=greluuvv-QB_6tCAut-W$N7OiF62j; zxKsm#;p@ekCexBkKfGK((`a~=lz442Z zAPh+LpI3JKsmVSkBSXO~Smhy%d6J1GU$@)CffIk(1NQgE4fvAaHASzp!NK7ce9dFN zY1l1D1-QW@Uh)GRJvp;%9vH+4IyRr2c&Hx$PERB~%7$V-MaR@GW6+V}=C`a>{ZY7g zy62hW?|$#AjjiQjeXl$6*5=#m^OR}A^lPTEt=Ch8e#Kd-Gr^(QYGnn=LKCo&xN8ecv3RO7#ddx|(aMdgrc_Ybb!_NG}pX{?*byd8{{LTRM45Ocgy9n9Ihe7F1Lu#wGmD2<6o)zs$aXnAg2O zhK88mNJ~*g+FMTp7kre`VLTEPjD?kzrr0d>dX;bLAa4nU3Q%irco8b*rt2V6aqunI^MGB(ovCgtigQ$87In>*$ zw1MS~u%TRrbtAD<=_-)8-ZjNh4X=y|wTEXnbbR$4n9oEQ)gn6>R=C-s{jy)uJtIku zV4?bXK;u4zjJ4*RBv_~_yU*Zt^{p*H)!VQ8I>j(rE#2PSNgY6jWF?k| zg%h{(JPiE1r5}`QQ7NRV(-rFW>8JfuYX1gj1V;M}hF|Gv+5v<)KLExkQTEc{?`pcv zcMHDMRR08s?np;o;{D&EyYHuQDOvIWR1XyI6)L_-=`+#G0iwJ9TtIZ!{YP~7P>{-_ z{I&qp(og#hYUzK;zp|WCTb*vsLQJ1m3wMHASXH-zw=NDU$c+$DM>!P^b{?-t@$9@} zsh5<5dWrXB&TBsn-h*2Dx-Tt#SNmmkz)ycWs4EoF_LPD|8&Vwgb;x#`5}+!~y1TXH zl4`f>$CepsTo!$NhiB+DN{snI6D_@xug4UM_6gnlIu_zcYc~~W{6+oE)EeB z2R(!w3Lk9pSNBzZ6_a)DMcvV}Tg%}>nqCH!%&hqOGLZ361v*r~Qe4(k7rm}Nu)FTQ z2QvQI(gCUGlgD-HKthpRwCnU=8+;02gP$w}36?Ag-uU4A5Si$9HE{ZLyG4Gx-?(YIysg5(NV8 zFM9OKr`=gDrF2Rftj(XsG zzRZYq)w@?Nd|sq-bIaO&{T(RlE227CXnu-TL=;2(_X58?SdB?m-TrjXSk$_LB49|r zwJ|e{ETBxn1V7T$oXJ$UlPU#rxSQ1#jlKs@1aYn(b`H$E!YBVan=~j0dijP&Kc77< zK-6YLFj`I+97P1;s7XqrqcD6HDmfAe_`U%?=Ee$f#?DwKc;uR*s2`2AJI(dv;aPuf zk3Y@W>tHvHXDn&ASt0n6X4zOu*DcTqdMVJ|r;T?KFx#DL#zc-ihX*+FHGVBfk8~Qi2Zs@iiL> zn4lEr+ns#p^Mtl~@AEF6Zy>tfut76W)|c#Gw;-G`tq?j!YG*62iHN-|uJrouXI`A0 zkyz!`A`Nfunv&tA`|vCL?z#5iSpe&HM!hTHp(WF3TRU%*3im^j9{YJE>pR_A2Mjt! zj6k}=!#&bathd(jyPPy2x*jb+*K;H?;(K%~1QT{FSfSB+q3dDdW14!;@qhz#y_VT_ zMP;F$cx5@^2@qW`t}Tr6g|7E$3vsg89-!+v26z0*tK4*VEG&`Zh6Bp_x_xi2_7&wZ z#CJ1Oh2PEsbiH#p)b97HN~+*ji2`?Ht$I{{()|lv&r#i5fwrz=bjrQ)9BTl9u$1pw zVFp_60Z(X~*)Vr$hq9~2WollvEYuI@2XMrnwwT>;wm(W|qK0^jw{K1aI^wsGTs1O;$=i zx*1byw#!mZOpweD4xLZ8XjK>xC$D%agkIXQ_pKZ~^kUBlkSITI^v3yRez%u@uxE$# zfEz$|8SwLvz94{im>>veQ}(NqV!PT%EgB8nAg`@23SiG*b8Kx;1^9X&hLuJmayOOo z=4)7mzHy5Kd_9eTYY<;A@bqvhz$-mJ^5zw7yHMr8oJc)(^(PX9E&CnQRCQJF>H)Hw zy>F|(Wjhx~CeZGZW_TIKJNaW+P7Xrq7r%ZY@>0!8)9tyeHe|J#L#BLkMB?vQ?B5;! zHetk^GF_-@shg9@TCcV8rlT_=kt5u!KwbFR?OlTQZfavHq-OLBU~gzcwGb5(5d_#< z`Iw_ER{aOCmta_UO9txervZKamkmCA`{b27`o}*T{6)|PA2{Rx+2FhW*9KoZ;9nd3 zPizgK4gRQ|SxtL=mpZV)Z+{YT$10@%Y;Su%lN+IyXH5iYCP0uJM89@jc?D)J-krfe zKW$KFd z+V~a?t(882ybm^r4g!$(yI$w~!!rY~7KW57bYNKHiqcQEU#|G>O_PJ3t&>*(@SYN> zFFM!zA&ht*Z_iSK;-y=1; z?yf!oR1WqpwJGHo* zmUr+*=0DVt@?7r=yKwxj+G>TMmTT~aipU~z?>|FvTm1;0r60szef)iK8dsa;{kxcb zL&eoUJWcAY8jUo2I}OpQv9O;P{zQ&jCyV?GW6%HKLqGv^&|11NSrejPDaYS+{pz=z zAO3dOk-yaScb)E`fe}7DTp2LJm%^vzh(?tn$QN*t96*{P$WMx)Af(M#{v?@%G&LF{ zA4M=VxEbuQN4zZL#v=;c8&H=&a2w7 zVXH4Z6|F&cd=BFK$^X3LgN*bu&;I>R)WkLCzKYhwPy~PT@xbMokd_DlJ|3zu*4jy5 zc-+R;%IkhWD-@^ZGKPva_Ns85_YJojuf*E#Mj4Lhr$c}M)RClJ+X8RG+g?Vrzx)_u z_wd-monNL)RM>Yi|Kg+foRzOBKACGkY=V2muOJJ_q*JE~A^E9F73LRMwHkH@i-eqF z@TXb-bkfjXE5o-)Z|*@EUu+}krthjoS(3Qpl&PvoKaw21s($X^mO-d877snpx9lAh zUC|al>i?qbtpcJB`)+MO8iWC9X_1ibhM`fqI~0)a?(Pt!LAs^8yQHNA>29RE_J2^{ z=Xt-qPrlm^5UTa-Hwqh6)u#m;8b~NHgY+ER?(H}S&*2*Z~LoMY|M7zB{Xo81m zUcSi@Yomt4eDRjY01GdhPnk2sbPPv;gF;ROSDl*{lYva}+@8+_n`mUPfpB6i zCK)Vxk3Ti;mlkVc3Z~w!Q&Q=Ac8o6;f})6I3>)u5quWKH#`*)kUfD#fb^%v3e%Z}& zV0j*@nXpad_cC1MS{F7^>3nsN`hRaaSaQ{$HXYGVn~rwJi=V%=jIC2!94{_r_AMK> zrP9*-5};c7(Y-vpE>2KcuY;Ox2K<$XC$XeHDY!x=_#2u2TXQ2{x{i-YV1-V94|X(+ z#(V%a_%tKWA|mqn_dR%5d^rMwL(zwwNE3>!EB)z`(0~I4q6nChXoL3D-NkVmd^{@9 z1S)Wo3E!aR0NN*6bVktVfWZA9%AZ6qQ5qDRy9y_1z1f_;z6Ff=+<-A31xo2*ga$#D z8;^lR-R8fV`d~;?zkT@%XzJUqQ3NlEcZ9G;tOFPDLMmIDY)^>IB82qrf_*kUv4(&h zel#{5%%s!HK)a6;{!GRph-0!r6cjC0WYj*dNj|vfc>v!snp6mBP<_|Of$SLkG`~~7 zf6+6LLHC*14Z>wmK`eW#z~K+CKwUl8Hl4Psz7%fk&O%UE+oz)o_z~u;p$y?zAtU!6 z1V4ODAj}oqelTQ+?`w+oCBw6<2MI-jnvUxa<3nKoX8FLp!3RaRjn_TA zw9O+|bJK#nbWGIa-v89d=8d0l?yF{R->&^KOYBT@>O37sxK4CY54U-_4q=WH;!gCx zTYR9W?}v4e@_43T0NLW_37iRZOUyEnpn^zAl5Zu$nBa(hp~Hg7$Ks%bdM&u4VQ(7) z-+{p$zGazyFb4haX)$(z{QefWWzPw?_DF#({tu`dMPQ3R4o0_C?EJ_0(@FDdtPLBL zkS+e8bywZP^)%I?-ou|Qe$R$|K0nvN`>RWlMqfa(7y8x{Fy{AbYGT8t{zx3dvYRCS zu^n&YkVUBOuf3KkC+uVPB`4xX>}Yl&E~Qtz34&W?sYKJgnc@&TC(!VVkykyn2xNK| zLWV>pQm^Gx>1R-1>XoB&u;2UsKpejMvX&5i8&>xo)ZZJ_pCe8CP84Liqgf%r9}@4i zA2*1F$Ym5H|8ddK0XtyqOE2~YqK;2)AOBDRFf zUxG+6g~+)+#_?_%=*iJAQ9&__Di3VB{0;DH56dlS1iN-tne|uVYDD3R%Va- ztw*rC(c1*vjAI~A%>QDV3q$H2v4>`YwOEtbKV*XieI=jOQ1y|IF0F*=CDa^128qC5 zi^D9A^_~(`DC6-m1>66p0uy@n zaU5=t8`jeEon5@8T1mc3mR_}c#aLyELJh)__@ItjZG2q635p^Wkc{$Z#M+%Zn{h~9 ztalk!=OQJ=X22MEWVVemj^Wi#9?vXggsTO;>M07G@0i1S@S-C7O{2@6JU@(}xeFDE z(G3eGatLafA(Hh(B+g=10mjysS3=Y{!+?I}ZGh?;$Jv zyZ^nyhwwc)tPrL=$3B<0jDanlc-X2ta>vxAjH4f0%GolOim9Ns;O9814c?r=SgT3gvU2gH*DH8m7y{AjHASy3R27kA z9yTk}W38s07UgSmPXT(p83k7RM)ed1O4LU6pW2t$J$Lj9`>QGGWjEM8$`Y{~zzQF@ zgRslbucHeI@Fi6R=o*!(!Xla4K1M@o`V2r#KTzw$WtWkKnZ~*{;=C{dQqy;Qs_7&D ztLeM0xW#HE){TiNo_Vt`oR7cMONB>yf_t_~3~$#$D3*&(Ai&=&ayVNg2|qP_m@`ZM znkoZX;m_rDHSY*u11tPRIbenFJn|h@2(rQ#09N>NEjMeC-pp=qb?^Zlk zEe!<`d4^ckh0##wr`euu+%LYFjLg1fIjefDe0x((Y{|*Ym;Ninr#vg*DpSwrD3ieo z($en)TKbwmOFvBmXz4S%;~q(CS|hlYS>sE+`ygM@nHBl1;m(-GMF{3rp&85LKmGj4 zh~Ju3FJ{EZVx(7Fs0}40_u8rO#`zZr$+_T*IRp1goy};UbKa6{r@XEzzQ~t;tTGj7 z8D(W+=SO0Z4=7RmIcuu?OhLpHY`K}iVgDo9b>H;Vk+4zOf|hKL zIv84>^Hj%6)}Q;ujo2}T`ufO|RSypc?PbehBw67o;t*alvhkU;{dP^B*?(aNM#Rv$ zK*H$23njWl3ZHf;nT4tv+{M>uC(TG6$SSPh-K(exqs#eX+mFhV=*mt%WRt*ut2An> zv&^7oV?730;Jg1>;6Gd`d!*Jf_<_IzKSfW;rY%v__Tj^RqzKT?>lrMV zNh@{DRm_qj#pB3o*Q?3aU&%krx-yF`S;h3PP0N#-sQMBfp*9e)6pf5}uO_kOe4}o; z^J;<)<&+iKjIX4oxn}jE*otMhzcKRopaF>)7nWH}OPc1;io^sdBIeSGOzmwGB(rCl zh`?Z?Y8h5L>3!&jw??6a1S;Y-8)_MM3!7^~QPPp;=dzPmx)OXFo<408#zljgq_qh1*!rYpk4 z7F)Q87$+IALHSLgX!V~?cv8Bm$;G3)dyZqjy4T)OOnmV6dCA>>&bVl z(Cz>;wcch-Zf_VywDk9cG8T9X_dc9GK|PA>9SR4$2Wl|7TNg~IlJB(;C*2q2oiWPc zNi9`E%e=4z>7P-Uvkv3k2LrOE`}B-2{E|^>J zKz$L(&yVS)u2*rMRu`xfeL=(R8iIt^)A(0cA77@^KNAV>F%(ZxmD)pg{93qi^7H6k zthzo)g0=H}_IIu|i1j9xGlJ11Jxt(_N znS8Y(o4#klG@WK}fy!oVd)}^v+9ylV8)kJgJpgY!l+Cbbq7XG-8cG zqJI3o<=1eZT^x2@8F*~lvs|K!3H2kZ;6t?0?&_oY4s`;302~L`z>ciIZiU9{xrK16 zo37TDr*8g>;D6ox$p2S2pXO?&+NhS{Ki&MvNqwN3f19A-e8q%Y%OBTTI9YOaoj5}n zY0}a|HTcxczYM#62XylpUwwC0Z+Z&uUoH@Dvs*dZDptA1Z`}fZdk^knfe57%f#lf! z*8#=5_|+C}&&CEKmvoEWXPjf8r%id%IL#8!wBSUal6zjAuRuBfNu2Kr5$8W8_dq#+ z11RS&LX!LG14uc4@X-6_dU*SMRIv411eeO9z8mYeo_AvXy=pyc?$ZCt`Mv+j`G}Qg z?Vzvr5wLYaHs|p1LuB>%9ll&nu=)FAuej_Ge}kGcXlGzLnzU^mNdcZ0^2N>*p$j$G z*kmRz^gl!Rdzl_)y!+2(`f;H~{PF&Z|6HbLgy;3niDoFSwnsy1?-XkM_1Aiz-RH2% zwD8`|cjrXm0}r&Y`Ujp^Ah(Z99*KhF_GkZ-+rLtocwGxv?~8rr$VyNoAl7?fh*IzG zh#q3SpVuM&o7?X`<@N-If^PqEd-Cs5KyKgkT{rE<`^O9e93;2jeah_#ED-vl4&?sk z_T*2weaprjg`i^c^O^w09N)SnjghuFGmi^Zd?7pLxHGK^F4UD`fVol;-)YmcZj zv4wQV?@u?`Uc%4Yy?`v}_mhoVLPnN({P$2xS?foZ1)Th~817r4^s4qQ+q@rdHl_!y zz2x-PwyZZ-=dq&7hBWkUlFF9Hta^IFQ<0w;% z^>>tfZmwY=Utd1)VQ9>^wd}!Y4_3V4&-*02fbo120|J!*aFSmCC^!(3YL92`177OU4UpuK1AcyV1x4)7`AuF1+;IW zIo=}w5GXjrN%s3E)&mTC5>HHjG?%a>cyD=gjEkp@cK_=Nraji%X24eo?Iz|G%FfSs zPinnV!Wm-!MOASSR66kvnW7aXeiiv~S8_4LN6k zJA+^p`XSAHSeC!dd~ps@xYc@do^IcgXH?{04uUZ-kXC%_lt3|19pZ`(hXFys%T3D> zrL2u3+dSEO5x-3d7VI##`@>(72sC-TUThY(E^S^aOK-WPgzWD{z3u!i{{;B2vrwt# zd>4TL-viNTL4hQMgN4M+X7M!RLY;KwmXgn}rl=yrP$~7TS}a25FfYC0KG-$-`G#-$ zg9A0r*E--BUS%z?7CIpe`tD_dh8ar|zX7HYI&}(H!jYBNu-TkSQZv>~b#>f4pBXl9 z@IYDgaJfU%@xIio8Cv^XFaGLyJ@@pZ4S^pyES1Y8Oz_sE)+B#1tu zS@h6;5x?w6kwRwBkuX8>?Z8<@*xoOk)_K)G@wXXxfXnvA8Cu(@KZ;p>N(10$DIno} z+<%AnXVO*;`zeonH@}0AQXhBwfAwv(wLY-7G`Kol*FeJiAL)b>M5rA<@xJq=_Pt+(|=; zp!#IvR{=>L}H0d*XUhihpBfNEc=gTbwYY@5pa*dQF zDv1=2Wv00;{?o@fPgvNMw{G%J+xzNjYN`Tp2XfNy@eC;HiVPfav2Q2iqT~}de+K9 z-(3F>w&l)p6NKzzREeT=nX*DRvkslz82pdXq>-5p){}Kq2U1X(Kq)^bPPm$_{hN7F ziR+GW>TjLBXTb8Fx@Z40*|8hy2h>7CZ5H{ID-KFpv(^=R0`V?dM%44|7TWPCmQu^l zF1tn%WjDFhg_4RfT$)4A{ViLW7-0L}suqzF6sF<#USFDwfMjSMHK+qxWF&`>vNZ@K zRx;=$9|u(&t7Y&`XOijjaFJoMkK55(8qCg&j>Aa#WBVmuF7`_#wMGPdRp_GC=$v!# zPvWFC>&D9VULDjHhFGc|vZ^SC_Aa z@$6xlUc}mxcfs^_x#zFQ{a1Y(k-m^2GJ20N1Ah zTwhrc|3dJ9i?Lv93hyIu3Qwjbi6B0V%L#G{j|Mn}=Z5ysAvGmT_M5BCZ6Ho*A3M=gqn5J|B!vv#$U3p`9t=z|BLK#{*e9e(f=a* zJb>(n?mEJd&;AbZ0kV(QN_755_VX`wQxRC7$lk*6)x(`4wBdfB)W_SiTZf}Dk}$RY zv&$YX*E^Rpg!F_(4*E@*+rl3v!>3*Z+HMW@@YqoLt}o>#Ic7j| zZ>H;q!P{RnZid`|Q`Pq7kr;YW;pu?e{(_*uTE5CPq=BKz*ODD>M6p|?oS(UT9|h^aWV0(^vqG{WhHhoHc*mJMR+&3S{9@QJBv za(&+f!TvTnAq$#eCD;aqvC&YqdGnKuIp)g@?iUGZYnAPmzn63k96S-R4gx%tvUbdN zj$>A*1-)*I`@a9;6q)S5NRuG?kDLgx}i^01;^E~ z$MGNLvK#vgsLVNgr?)7(6Gfm&-3_H(X)(>d&hoihPus**?@a_ifeS&3k;1qXV@vfGAlqxqd&`&@3CQ;H&8-O~Ceo${ z?e;e`R0T`1E57zOB2@g5?KLV|W0$=CE8B|^9BhHe_EL8j3k#oQd&JxPT5P)-sy$W7 zZ&csZaGW%5Pll4fof-uT9A}ek0s{SSGUF%^+1`-*?nFxj^%(;nd!XAlEq~Y1!3_k6 zY!7Kt%j+=EnO}v%B~C!f%lekr+Ip|_p;*zx(?9oIU<0#{U^v3`QgrZ1w%2L-6yMW% zkN>2p12*`xyVkc=W*e){j@w^ts9`_Tj+v4?_(9_P zr}!Qp*+>7pQ}g6bKmF~mshEu}-E;@BFDhG`FxDEZEfs6knt7}y+tDZ5M#rW)RBB8h z)I$O44Oec057rL0n<%^KpECsoPIEGhPyAjy`aOpx>3qOARQXYs!G#M;;!sBZHV(`3 zi&TqiPv6I4mwuC-SD7+YGSj6NUwRks?7ATF{k?GNQ+&^&3ptM$1jP3dQ!|&2row{K zm7#y*`&p41lnP5oe7~NbEU4oCC%)Iam2Ug_FTR&;BYult=h&fXIc7=hWt5(h+W8dU z$D<=WIKo5Xd*eUx{a9Yle4{YEu~|biyN5Tu{~N&i=AG34SfArRtpCc|>o4nb zwmq@F3~(T?))h}8GyPz9D8a;HV&AAWdE z(i0~I3RMm>)DYjExy<732wh07DR8r%GKKT`4Tx^*uWwHP@a-*Fv;MGM5PcKg ztr4ufu6G=bx(iR>*HVP&Apw5#8{$JIG9g~HZTS`*d<2L^zeebsym9<98P^sbl9m7R z?sK{%5gS&&XSR@=^(_)M>!5iu7a_HBIKR4vxd-b18}+k;9rht9J+$d+t1wSZki!n? z0_x8CBw6abw`4FR+Q;=zT~d<7Rh{JyhSgsoU9h;I;c=AC-(ED}u?33uE$t4jjKG0A zNJanMDpQNNj4@#2gPnJmcD~I-n@I4#Py4omId>5KQMLUb`X^kL;5CsV8DzolO`0fM z;-UT9g#qU`L*HKqzT0149&ob$k1vnpk1vm*G9mxr(?4Hci!YwTjIRH|@?^z5G*<_g zh4YLqg=mC^PZMW)+6L8S)cbEQ_ib+7&v^)dTG#Z zH{ukM+OaQeEIC5g_1=fb|Gl!JekYO{{wz#&q?s>X`ExU}t2CHa@^+>jAi{5=h6C9M zC5u?R1Y~(?A*L%h#Q2zWA`I(r9Q=AKI|SMYrptjH5^%rbIQLE??(fVTCZuXMm~i!( zPrpzk4&8lL6_Zbpd~D_(4uj>?4&n{<6l~hjVEk_nK04sRM`^e2c;R$^{0Y}OO)yFD z{*|YHn-?#3ne_41z}IuQjBE0ThYtdwEn^FPb-6aeqWQuB1uw{*BH3>QARc@_JC->d z2P!xiXxA`@0$+5pp#Bb|&+8GG@Why8;ORhpEbcai`H7=_X(3(ExvDXu7qJ5 z0B~Icnxh}U_3lHQ#{WOKP7+1eu0^{6MkYOKw9|K|cGJQa0@=Fd1ar9Bed#*Pev;)u zX#MpZ=lu%NB%XgMpu$h#RAgH6g}EPHoMLZ~5gBv#5~F10>tMKvAJU?c&&bWy$-oNg zcX>gzr$dESJMnSwXzB9-S5w%A`T)<)M>Wsw>Iw_bbaw}bT&ZGe&{_0rB+Lj08Goiu zREJ@ICZl+1MDl?Pkw8#pEKxj)5IpcZZTTzV5&N(CRn?Bn@|f=xmsC9+6EsRcOw~g; zy6!Qzy?{^ExwcLiUAlb%37<0`R}c>^mkD1Du+55K%ho;%geD3(1`RZ>@qsLJ`GN(h zZwj1L0Mh@+L(B#tePDvGrj0;W?`aLU%o|N)DB?u=aAqt5w-qFcpz!gpN`F6e3(-w~ zOBxv9kJx?9vk3s+M*h>(zkF)yAMJNdNLAncjUcl*R38ZNl`*1@7U9r< ztM@9f6Qt5jyU2a@aen;uahD)lo7HE~@BtHjqTZl&_ocT_lz&pSU>URMd!?`6<-yd5 zFyFV<`JyxW9_)k9MhT97HaCogUd2xYjg2RS_5}IF!6l;K)lD)W*Y2%=mcEdQk6R|R z15nTB$n_;&^$7Uy`h&4uk{yG&%duvV4(?w=C7PD zfO=Q(fxZOU@14on0KFf)LasGpFvdo^BsA}WiX8DKq@kYzH1rJw-}&>6p`8Ku@tkgJ zWSG_br1ypr^TWR{AipO7b%DX66&fa$Um)3i#^3B7ts1y>Kj`l8yVNyg-9W@xv6uZd zc|@E;$;>N~?o-m^A|qs27}sRdj}HLkiyyl|ApfjC_V2CxzPM3aG@l>&N^KI+q|U(l zzJ)~m!8OMX5ri((PFkwRkPd4GK>kN4>Xh&s$q;EuELaivxy$LWF^i^8(J6t?`Uz4S zWSzfLDU!u$XdC!<^o(oZLISFryM#kbm0WJFya!ct7p$ z0~~?!+b0QR*le-=wJ&AR`bFt%yggj7-TB2Omf-XGAw(@X~$1>hXJ{CDT#@^%JLr{MU^KSK+G~}+q z0yvTP&X}CEnX#@}DT2ij4hb$O8K~%U?!dEp{>XJWzX%kVOl6r;EE`%WLTQhtp0yA!ORqM*# zRAi4AmXy<>6l}uM^c2##$GE?evhiKHN0tI1a3Zh2Qq#62^tB#vBF`K+k!R8%3ptT@ zb*qn+(?#*M3=D|$OS|u23+hOHr}66jz})tL|zGv_vg{cx^Q=a#q+oV`~Qva7t&XwA?2&)Iu!$l3dQ zbAnvp?ER6)=R&=DvQPOPbkl#%-VXt1@895FtkB^V7lPBl`|qPsbe}WQAp{0CM2t>U zKJM+r+k3k>5{wwW6swaekBfvoML~)VB`HZfKwmQU|I{JhESqnQyLPrSF-GE{%RP%X z^zyXuhuLsA0Qy&fdJxcG#i(CF!z#|5ED~IT+w#XCwTX8<2KIeK+^c@ zHRML#EaXOBkvL~W{wekM1o?wKCH~oO%rtaof+6O8oPN~mu3S~_q|dEXmc!DqQ%f$Y zzZbih=njqa@TQKKlOEtxt53e`fQf#ks8pU+`FZyjkm5TD4bUwZ16?fTMP}p}-62J9 zLex7k9I0~r`C4PDAK+Kd{4h+4KSOr-;z7(<|_Mu0{ z?^x-R*>slk(Z+hS^evlj?wFh9h*~|xaeW0a*~#NRy+c9R@Q-%wkwQ12DsHvc($m+ZXw&{rtpH`gUfZ!pXxGS)|+eb0-gqtee#MCWrIdP1{m&*sa*VL2=j@cg3P&-cfQSyN9B9R6BB> z=-O1%2%jou0{jpi*rh1UOaK1f;WN(c2_5f!#nlSu^&{2wqc_b-A)`O-y(4?iK%Lv3 z!uTM=T`?{lE4NNnHSS377h#-<8cx|&)6v5X?u#(GJrcDr^i%2dYdBkFp8i|m^Z5Q-;cq}z_(vE1 z?{Y82MfN|9$N?+-7c8i~RKN;9)OqBs%}9_B`uj&>YmMl#3NGv!-tBm?ofaM0B;`J^&1zZA z1=|wBU6+n{1omuwaOqlwklaa>h$<+d6NR7)r{=34f0{u$z5DEJ)YKbtUtoXX>e zoXX1|#RpF19VYVsJC!#U(ycx=tWRTUGs2f#8D%{6o&9x=O2;HQ=hEZn-@;u3=taY& zf-$ru^`3A8;)j0xW0&|=%HxW(8$fyLYj5%!ufO-X#qFbcIb?g@jwKa| zHoOR4mpH!7AeY?jts9^;|NSg?jQNZPFE~tLOv>NW23cU*GO6U4Tb4Ngr2X2{G|0b(Y`apG;}K4K7>g1Dg8bKPg(d_*Yj!@ zU4Tn$i^5~R4#$u$S?jgjmFfYP^4@u3(Zsle%zm#WS-WR@Ey`|Y-pr)*`xLPSQAN$> zcBw*-iDS>3*kx-~kzP354k#3Z^oEQ5_1O_(r8%yjPJrSr~1* zyRovl*el`$4&@ELj4DF_4&~AOI{N0}5sZX11Ss_#t60#8Uw?aH_SDgL|JTtU=4;z#_g6-TCqAKQ(>-K8L58KKl$wLGthSO+@4K$n`|ydFp2pZ6bhG-ywMC6YNA` z+^0eM(Vp>z4X;1CJ@O^}L|#K{@J05eF7VdSByu6)w?8AU(iXWtRru&0d64#W>aG=n z`HMaW%QF@C7=JOJ@(J?=)6=l1E`Kwp*?&(o4%{LnTOrgZ7|G7e?z4xD@@{gtKWzKN zc5y(}z+Th>jx~9j;vfD!V;{HI6+3hP4RXewvuqYPW4|z43#~@xgMj=EsxiDa3~Cl4 z%$pG^o-+O4!n}G6gy#?CKu@3R?-qYGtq$nv&lL9pTKw9nWafIQNm?C{y5!XbX*ppw zZ@>?*Dh3-VLO08sAR|dsf2eZe6NoWSpI}OOrng$(L{333X&E8vdI0g##M}qQG9-8x zaQRJkCM3fa*`SC4Q~YW5M(8PsEAL97)A3+3$f9ii96hJr0IDlzsNv}WrB zu|;d@Z}7{;uI~Izo@n=C^Kbrip=d$3pAebZ+=v@pR>?=FDikvn3Bzqix=&I0f#9^A@LCs@``H4v# zZ|b$S)e8-7SsM*%M|5LGc85>@OzAK~R21Rrn8W3gew>{I%?9bus;ZFQft&NY?y=~; zYR-yWb-1F#;(;EjYn4dFZu10nCKH`{Ja?1O7Xq*F4s!K<1RjQ!(8LmJ7esxbxFoAz zgQJ<1(AJ?U^GmRxq2c!1*(CM%ZDu3`H1|*)a8rG)@>ze-JHQuA5u_@-kG=&< z@^Cm%8fhz%-^st74&gr$;<_ZSQ_lmp*JmTW-;9E<^8zjE!3F&_?PcZ~;*+Qe^dT)v zr_0_G`zG!O)%@n2MxQSNJAz2j{IH}`wA-{Z_kax43^T@ZPp|>H8v?D zaAiX&ynz-0C?Aoz7YebL>zlL(Ni4R1uL9Ha&Xtmvux3|_?0aVTGaPb!j!FY+4~lpR zY=v*J7&enTIP^@^{MNWi;z*(lM^Ur)-Py838e<>nD7qJ^C~g8)=t4X7<*{-edm4EL z7$UqZhH)lnk$hKNmf?PDbKHD$(Qtlq9KwERm@Ta%Av{vJ8OOHb+1N3Zy21VdEfY%q zo&5dGUGrq)Z<|CF)09p1?%&;7xSbs#`a_>ZIH>{1uN!7P%J(|4xw<3@7`K4_=!ZE% z7F>{3Fkl{?BR_;^bRU1J#))$)M9tkwi=pkMr$!|?@fLkVA?dQ~4vB%ETDQaU=g+W5 z8S1z89CZYPsqclm?iFe1a*vk~UNI7jKX?RQgFr$P=b?=z$vflZ+a}@3+Q#A8u6XdT zQ`UypC-Kcfr#dHQX1_OmHYw?jQLPF!Uy!5H9kil& zVCCj=LPMNQ%I2`s2gZD@k%g6m2EiChEIv9Rdi>+fX-v{roaz{J)@^U$Nt!cVUdVZC zMXZH~j~#mGy3AE4avtOhXS0vqnA#llPP>Lk`Gkrr2gya({Zz7kyz6QrXePJzK3zh8 zaddEUUuONA@;+Wb^irz_3rk6k_omXz8f!Ob#evvm2l<<;t7c^F-cf3LN{COjLr@n= zGhx6dVUpswmCAJNijp(7K|1$8F+R^zj9+Z<{#8C6V)--h+dkwI@i)e&>6z1Qlk(8)oC#o*?GsVQuMQZzu7|^2N5w5W<89csfJjq@VhWriCuba zK2uK?g?~PG^g+>H8@qm(e*R@M!1NS=a!&L(e~r^JUDE6 z(X~ne&xld{H`9?D?t3=$)BBw;wRf*?Q2o54;Yw289MZmtcSBllt__wPo{L`aXa-c2_?nf18UC;+BE z73Y^Ka#2<2QT)sF$HLwK)8p!1EqLUQ#MXqm3*jyHhP%pnH6~yNF2>R3%gZ?x2_7~i zA+GeW6w>*64DQ`8Gvt4PEt|-PwDgS+Ea#`vW06a&s;YsOejoF2uX;E?*0m53;Lm4> zb9B&p>`vd1(TP1;mO{pFLp^I z8F?aM6LHu1DmB`jK7t-s8K9liF;G)>5v!d1VFYT+anc^5+orbds!j#jvdE0!E)fd( z2plxRLPf|68p%CTC1+i`YJ4eO7ESJV)Dv$N>ZG)CKl8SgYJA&Ks7^OOd*{T1s4iAA zqX$3Hem7BALExT7E@Sd3cH5PNY5e7+n+0F2JH{N2u!w+!ZWfnH&0n`(-00-sKeyf; z>i*|gTP?xjb8(&fBibA7Lwvxk7vo#y#&r}=bLHapGM(YsGyfjLcPTjbYsfWU3wt1L zJq@m=lpqv{TQ9s&n|FG?=ewMyM^3jzrx=SK1+szy6P=Ory$nvH0v0Rkw*wt-23BdT zbXc+IAD&9=50 zlj)!ce*&PT@8YBUYDG2O+>}YJ)L;{p&A@i5Jq5i_m7+Jq%1z4DUujbz&XJ2&+)7JW z6HA)j?i~0(&cR0aSU$UdW8W|ymZC;#ea0}8{SogbCKT6mh^59BisLL+3b!-XoNq&! zk>ts)w=ABpKL?yKc^AuLE9r&RdW!6qW93m~QMoP<{W3LP0M0;<`Hh=tIr>OPej|OA z3JvXn_B#FQ>ifOFay{KYa=lGJuBX_vYHaYqlP&9*Ae{}DGub8d7wrx2XFQA6NYc6Y zmYnUJ^F+Uu-7|jHk9EBr*?b#+I4#)fwa6$Kf%zoYBSO^p#cHB^37?hwvTZ@qvBDZy z-j7%FSx?dtaUh3Kep?ogscYm$`5;kOMi_v6JT=6FsCqgAi?2LbN|PSTRQa0|f4km{ zM74%u)cXn$Yr`i9K3>(b0d~Fn4gcTZK3l@Z5M!R)MOLjG8VK%J{s#9Lc_RCu!GUvw?o6EVPsHOD zfet7;+&Q6r$UBpG<3uPsZjw~_Xgll2B0Sa6R%HAn`*)v(8=1yOxGA7efKRLB#tIF1 z!~jKpXpckq4tE~!pXEJhB2$DePwnraJc&;`PJ)vkZp_LB71_lyhHYT3Lmq3 zog~19>(5>-fl)Or%G#f<*8`XC=xVhrMqiNkqP8!j%8gdWxJy7T-EHDQ6!_{0iDCbh z+&|tP#zcDGVnCAnzY6?dk%19gB1P3wbfwkHB1H+Z=EXKM%3oN{<|*(xfy?sD*kET2 zHH`Ke0PnZS7k4LPHVfXI*c7@&E3K1O=*)!p_j(nCF7iY*-?i4O0s?%}3nFBkx*}$| zsm?}CRUXYvUlLsZ$l5^9}tjc zayg4mBbxU=I4nrTZTtXId;7JS^r7a@iemC{lK0I5!^tq5+JU^Ge2gty8uVE;^*>iN z!-4%|P5r0ERh;m)vJRBmyQ5q5gfiWswtN1D?$L+DFwVvh53%0eRXJ}YZ*S&w(cjxE zYqyH(7+Fdf!pfnbCh?c4tpZ|jozQUKl7Q6y9NKQ{>^sN-w%AA{MA6BHXWd2|>6u(8 z8b-*k)*X3V_TN#6?==VgL3~)xvtrji$@+6)z&OkLLv7^oN$%4mQm%vio}H4S!Qn)T zet(CaPtC7xZ$4bYUiWie)875VX07^3&*-A)G}L1AvA2iQ@h%MO7W&EfE}E)y^r@pm zSmQGav|p1%nl3Gt^ju$w?}b2<)-8lzZ}@1&{X1f^_`p&w$s!}1r$i>5&WTquh6r}~ zr$ji0k`7Fw?*CzWL+($q%08M3(2lR)v{NcTCkJ0F2&K(FYEGoQyV!4>g74)z3SsOG?34z9FN4Zb2(%jt$FeOU;m_>&1eYn$&7Z?6@$> znXoBJmtk{gjN^1@{CaCt{&7R!(rNsT}box6T5dJmWjIoN)GI-`x>; zxsH9Io^@_}W(guHR$D(zNJN_It>-7*KpOf?PYwN6wo444q0a+p=!2VSq5Yx^27F;j zJp?I2M8LlG`UKs~IHEVYNx~e-KgVn?V%EOEl;D7x7{N2y-Z=?kQ z;-B)Ovo65m(*fBpfQCL9cH>?eSKt)ITl^%NbO|L+$!5ASoIm0HR8AsmZU_M@B~;Po zFGzSV!uL!zUrQet-p`b_X6slU{2AW!YDH-|+?0BS7(%l9JnYw<=zp^NfX}#18!T`z z@C}p!Nxb+vS3>oRPzH(5JXtpE(Oy@7q1##;*ut|d$cC8n!9hTFf0@09@LMAT$nJeJ z*7Oz66QcOpU-w0j`jo#?;^-4{NR$?3a?rnh&=g3Pxx@hFNbCqJBoe>sni$I>%p@2K z_aWuEp<{}IHhV+kU%*I|$uyk$ys9wKC$bwBu^g&hUS?)V198~~p?#zhCg7_>9Cma@ zyS%Co;=y3L?~5oTf#Op6qiUz2`y<=d(7LJ$t9Ce{F*MCJeCfYH|DkD;YN98FtR&N+ zY`xBSK?;hfi$xxG>?0Wuf&Q$W)(Bdr9$kSUxk2$&!ajepYMTz~^3@3O{l6594*NKcvrc(2IMf75b zYotxWKBz$IdQ_2o-%&VA4v%4+3su}mC}^p)DBGfQyYJ@*ZowE3o~(rKvUuf~S`V$k zSqQ@O!*u}Y#f2#yfZcr=u)F^a?CxL5UI^wFyIKeoRG0D+Z>h}YamR=9p8gC3iQ**7 z3mw6~n(BP4b%lSJm$OED%mgDE1VK4*y^auqSCCPNn zwp5rn^{~YXd@s+;vnV{0S`n{K&mUP4*@BK)8s{=@#_`sG-dK0mURNG?bsKtUwM%J2 z;ih|SyWiyJ@=~$c)9IY>E+%ClPpYe=zmb0np4aT7D(;*(?qIUHn!^6U`rU0x z*36~c68C-Bhssw2cG@n-{kz83X~_&_-^CAcDQHP>778_bAlm%zVx|PQ#)HcDo$RiB z=Qv4;v7B1HfHr>$(B?N@;x3xVK(zV3(9e9Pn{Bv(<9NYGbTl`>aXc2gKHU5V;aUZo zD%ePi?(mV<;9jfp54CdM(h}({%-%^uOAPt_*%C3%bZ=TLd4^JcD`ie4Z{4%;INNWb z4nVhyg6daZte2cmh6^sa8)t8=PiZ|)aKXtj3f>=|m~rfHi#W7ARr9MM)qK@VE5ecN z_Q7}{v7d0O)(miN4 zu$H(=*k5wNU(v2RT~-nf5lh+F)$#MpwkwiEzYO?)!8RkV);r^qX*|RfCW8{r z7-S$LhlOc9V0eF={7u>1hGYDzTrZ0j93M8llR0~>>Zgrp`H_lV5wW)TO}F~Nw5Q14 zCLz3>LvjHG)6cgepJ39e>v=~>b1^E&_mXRU-CdBV`QpQMU~ymt%@`*L^`*k{;jBXW(YV}u59WcNHlgAgaubr5#p`5ixz)>RIWQuR zQ=hL(1XQ(dSc1vsIUl-h#(V!#Nq>+WkP6$G#@Kc>U!#OO^b_C(>KE^mcy@U2kC!-q0#Hk zNu;J7O@3`OuW+9$iY}F?I9}5F_0}Sn!!cQP&>n)FP?4yFp1E-+l$cTP54~A=WnRsBz|$Q)O{V^){vTgJ07eZzKZd{Ri1Ja$nLtaD)Fh z-J2h33q;}NeiQK}lh_58^Rr}!vD_?~)Lv^hbA8(A(}ldlZ96g_^YUe zCdN1>5AtA)*zi5>X#_9M+9*r`EI;%wmLCRVx5a5ZB4~%LhT7C^eJHB`eK*$$DC~RQ z?N^}SZ1o*|0I>WwVwQD)9WO8ti&!;D+lxj`!{!13GZe7nO(BVRaa?RLe#~W9X%)A$ z?G}zF4^2wm-ykPGP^lnv-<|NdA9GOq%JPidAKnqJBN;IjY8CrmJKjE>xELc~$9r?5 zQEOB~3%bB>HUio4rZ)A))qR%-^IhF{5dk~iGGNDhaF;Gd6|Y)ZkKWqoVP#}@6Z0aC zf?O;k`*VSh>=Z;dO_a}Wd1VPq=K~k`omQ>T<)G3@5>e{7<+)e+l=Npl~1V<#Kj^ zKYp<4<)(sXQ_=KvX%5)&qM||>zxDFI9N=pJcD$bPX26aoBi{`7(|!;wnfW^xD=6G! zhrNV*&qFxb6yET)KC(KoQ{PfONT?Ir=EssY`(SQp@pzPfTG1I_BC^x8KPn=^Z`&zEMKqL^tjfoAo#mh>CCFWr3i zruurf0(bP+k8K-)Sv}?pk4P)7_>YEVLZH6h@Fm>4y@dPLuZLR&&zhk}z9N6ZJxbLJ zmJjsxL|pCapKC!_ewYE+u_c>8zufV%{yUQ~8-MgvR{uH&?}C3_;9spi^G~eR>TZHA z@Xh2v%lS@R+4PpPfAn_FfZi^q#P#tK3BLJ zp6hJxLPTDG%E#nlHCqh$&Skn36gXBgIY)OKa$uOp)b@GRM$ZP7eH+aZeud}Ij`l9@>*Wsq)}@9xxGKP7o5AdDWa!eE{9wUtQd>SwJk=q64@0O@}{Bs)J`%G~6tXN~&vTR#t4>G#MT|!Q_$$ zM^8Lm9v>txFSYOR1>6O87#%VIAb&a_?Fj<-W02T=yt)1BKv5k$Qx04>mcmMQDR zlTZ9g$oti-G-5;axpyR&FfA06#ipI4`7dp(x$ zsl0UGI>8y^us=!W_pz1&G<{z@JJOmwy+lm14%DFlw6@?VRTjhUAOlR|;{Ix?*+eZ1 z+me1h;b>qbAS#IQmmQcu)1{Z&&F(GvVes{4!ZdO56UkLjKd=K30asBVV1MeqsNu{d zi~y|S!3?$Uq1MSY!LBmSKvpHctm19?7{}~{To6(vugr&$PPbdjNrNWwr0i+BWa$R$ z?K&W)5D@bjKY`c4BaXdmI>8?BtuC0!)kre`QdnJ3JC^$+q~;8@_37p^{B~zG!;Akn z_9QEq((is+SXFM^mPVuYWu7;%zK~&@v5=FH z5A{|2ane)ye@5|AFq=YNQ?q6XdgDfs1jFwo!77MC?O~MptH+2c^??w_9M> z>4LLtC0k8xbc9&rs=W~P{}?CK;nS_m8mP4=>`(03szm$0zfqtp=(5av)``G05`mHw z%vA0dCt~>ur{7x-3yag#xhlJNfVj>j;c(a47f!n{Q9zpiUA%1hRWxq)_4m$TI~pH> z>MBTb?Wn46Bg(~D1;jZ*siv@=6_)R7!7avzBRTr*N|bA^}>NrS=JLu6Ge zkT_?;9g0)7xJtMBG90ZIZG^8+67wYZIqk)bG%(0J)Fo%(`Ok%#kY2Se6bJ^>Ohd6; zP-i7Eed7$$L$XVk%Qf6lP#i5u-~8a1EIe|xH}wGL7nnhk)HdUF5ESW!RbUArDhPUN zca-CWpNb)16@`QP;88t}#uvyZ%XF!Cjig`Q~d zWWs%YD5y4r%|24f^7r7B#TZtrO(|9eN1uz6J}W3Y`p;O4M-PuS%o_5>-Y^XJvkeAC zkLWcxv798hAk+LThBQL6QtKGI8OSKP-gbyUZSX1@c@+*JTA=kRv1?Hwm^sMbHcY`_ z<37JQ-f_hDuM+RqwIy8KC&L#d-nN0N!^`OJG!w?yKjSJ*McBqT^kIE2W{nKmTW! zym+I1qF1zOk*XZD*L&iKUJ4w9t}zfk=%0@4E`a&MyI(fr+1d>Tv3HevN`UoK%-?pP zTq7U*+377S!p^7P)_17T!nmwZ<-Kn{A+ZGG7lMdZFIzd2{yhz}_4M#|KkIntbi9RoopNlo2FTmOsf2iBJGSsI zNlB7fxCN$>Cxzp%g)&Oa9koAy|6xNg{av;^!osB3NTo>7;7jycsJ{heW|fBY!oC*| zVnyoU!v6S(;C&G7mt)4ws+jDbComh@xM#=R>=>s`o>ZLhlA~MfN~OMAzqRn$rUsL# zYC@=fIL)^B&do+2n4m&4KM(2(w)(~s1Q!x<3fcaAdO`B>E7EB%-8P?N+fIww4@g9Phm~`gaaxJqZ$QTqZE*PQ==*j*h0UWfQg!2YZ%r zPdD2vT7CTAh-T6OB!AH21<6l1ic2%eYV~9GiXHL#C^NY;O5IvvwDsAb+;S*RIFFsN z$ISi+rv)zt()%lk^&ln9oM{1P>oc}is7@5IC;VzC>*>}}W18;ra9|*V=rwFNrm~bA z@BKHM6U@DyGj}}bTkJwNuR<|RmD!syVX&_6mPI5&m@y=Wkr-nznv``LCSs;Vd~Xrx zh!WK*ovvi5FY!&?mhrLIRq?UAMt@# z{gr<#8UKs)Q2FP~aVCPNxj7_0B5Y`Y-$+MD>OHZmP^J7;R@U7{;qtV<%&o;eUBMV6 zgrkKiLZ>2_Y>=A`3p`GM<~fays8b?#@vtJ_>8&(`)AV*;c!^=Q>JbR zJOWhxJ~(~T-e2wK>?*lHZC~LjfQOlVL<;P^xTb+@`W)GIj4H=M(-_h3*vALfb8 zzaAhYxjX%j5wGOMi1)aM*dNKj5C3As<3{p)%3ZInZP$NA-5v5(Ak4S@g6m_?R)Kvd zT{XT3SbI4Z^wZ~L=nxV&9BR%icgQ$%!z+5t{Ztit!=@;hhp;KV-Bl{8Rwd)m>Tri5 zdRj~BzT2uFXEXYXLC7HrGR9ml+Iu+Hsm@&y?SUX_*bfj#8_lbo(-W4A7!Y87EPNN2 zk|%>$#SZT0{fnI%1v71f);}AT9X>E*P16^bX@!n}P<$*r>dHY7ivLTIw~_wSqirm9 z<~dp8L*dOjz~P(RKDROs6r6a`tvfV#4b;LUePrn?ef*5JWNce+yhoxXO&LJ{<3KO5 z>%vE%Pl^CjY=%{>P`$)(+Dl!=D@oEjLZsmLw~1&6i7O@e_ubuTS04p2DME=HtTq+p znYI+sQKur`@?McyZHS3rScEPlx_BV%(+78MxeB(zZIu0RL(csy!xOx5L#6!|mgPW5 z786FTMN1fxyLjDp4d+}WVj#N$=DbAjG}MbXj>0*bU+&4Yw{h3%Aj7jv)$Gc<`zF~o z)F8!J+{raFCiC11in42ex8_N*jwTHkKaUC_bFWC?sH{*WX>~Zqt^;aE`m<=B$PI#c z20YmgU3isMpfF)VLVon!%q{g zNo8;S&jgfV+JEg+5Eq)8;mJ`PDiN%wD!;KsD^|%eT*a{yClzc`MpuXXS0rOoj%4?bKt7 zH}0=-KYpgNTd2~|;Ow)`QC-xOc?xm1;S5(ZC!bm>%2{fdc~RoA6fh?_$G%ld5LU)S z8pNBnP71J8=|=I>c+aUd0KwY*S_qxO-UUSBHv%O7ws~F=u}r+bBsk5rf$?O|$oiyN zkBb~}S(WJqW4M~ePZ4hYgCCshX9!Y{F81XU3wa1V@^(v;8V10EQlakS{#Tz=$I_BHW4r#?r7z*0UN3zU$ z*~=e4%S^1#^{*<7SKRs${<4?PVo<$!HEWZDRcj?UzXxpV4YMJcRFd2Z92jogS!|K3 zS^9I2-Siba@tyzFp_N~aYzS%^e)_$8`9-mMo&DSg+7ps|# z3o35SV>xoZ;Rmpn4-foqjyV_h_h@H!aQiATv-y(jbPzMesen^Ez zvr}>(aJx?zrR|sOQHnI8Mq6&5dRN8EydI8&7QRPcA?G<|i5JJje0EpjUojBEU-5U! zxBO$h*FQB&K$tFqlcEk>`~Imb0ofOT@lRi1{8PL4*86;}Q14ON34P=2p*2bB`fFdD zc-xrjpLn`_xl~Kj$bESv1YG_Z%Jm~WYr!YTo_4g3@s z%(wfW!F(K0ZNIhz4Ca%(koYG{%qiYLZGZf3>eHQT1yI{->osD4NPLWmT=`2AFX4fD z5Q#4bH7V0UZN`Tqz*%Jj#4kL4CH&iJWXpt z;|$^eFR8xL=6NmSSD0zyv&~cLs2*n!M;*YI;o=8!jUZaNwt?`N%aS|9Xpx60-%9u8}{y>dc&)nbb+!LEom zK;wE{Y46)>bOLBpm0sMM1nEw-G!l` ze#wvJbp^vgUygmx568al1=RI9Aay;w3t0Md3OsxtE?}+~Le*3vMUCu~C++$w*qbAq zY=`7bjb(e@$vuGjuNA=5l=hOE7qJ~XAhruwD5V&zx&mTfO4VDt0-_4_tkJJ@?K3cqH z-Vk_)#xUA2QVe&;;gRIpt=j)F+s)uDUa-_m=Z@m2If1*|Jbr8a>#X-Un@Qu|YJY>; ziE~xP(WazEgxeYHiVyhhs22TNyu$#$-PK*zJG5#RB3JvCi|i3)l21WYJi_tS@k$dj z#uGTxLb%mw#cduVsu9SuK691XJk7+VdL!|qqe4@x08AgXLomh}O_a1v0^TqR(%S|8 zkKT^jO1B7E>*j75(A)j4BsLsa`LLYwXI^$JLUn)lSHEjj5_fX(|HpW}2k!R86DyC{6q zxGBMK8@`Tzz74bUORQD((>+$VkDHZcnVjuKj0{hnx09#>MgU4*n#O(AUVz#e7mcAv z++h>3e;E`>tWuSuBqEO&s?*p#L;|tL_ls$Rz@OG%UWAv)F!AMXUj4n&pS$@7!{snb z$eG*(R_F?c3U0wB9aHK+GkGKtR5*!Y{peWw&d@6ZLJJe_Fbi(m{N+VQ!#o4t|L=qj z=br~}uq`Lf`3chsr5$%$FipCDB+Gv$3M)pdKa6}I-Ghf+K={oP>gUH=PuyFz$bCvd zC+kL|0M50SA2$7tmkThK zG5{vOIfU&irvaKloOKuaXW6E({%?&Y?eBtnICaqS$KBNY2boHN!~5f{&t*@!G%qP% zqbso=o3W~~%`CBYAe_q9ut)NYU!xod0W zHFIms8jj3+vQz!}y}^AIBC!WCsZ{+R1#S|3=o5zh7^Rb;!i-uRDO;1!Bm)aO+aVe! zuAqqjrNJQ5mGx&Kl*xDDU6u{7YWcShR+`3ZqmPH{m&CUIOpfSnC|O+&8HfrZDzTrL z@@lrszya|8iPYkwCzBzjZMEvjD@5Gmx0)Psi<%>#Xk-h=udj)w`9R_g?ob`2Uxw?qt_iZ5Ej@tU7(>+$#rl9gw9eV%#xk-YY zj2fGv!KGA`iZr5~xoRc)-Di9t;lFyejV!QIkM6ZY2TAe1a34fN&rS|)jjW({n~H%N z{4gIxFpEBGPFngQ2m6E{zjWoCaNK?+*$KpWV7@CBqI->g77Nwah4^FW_W@(&xEr%E z&fY_9H=D<;?fFb7oyluI2ZI(&zom*jRw6hrF~<^<`CM8Sb@gq$R=dFTqXC{Nu+0lrJhOoi5|=!MY5U zAklqjgm47{=~PQzX`NM)RZXX22VkKN7uEk0?_m&B%gTa;+nC7Mq3LK|@;zTSLx{^jE;&N8U!b)4^|x||p05|-6K?HS*it<Y+PnkCZ2DmFnbyC8Jzt8g2xEGCqQzn+)O);{s1XwrD{` zH+co&VZY-tUb#u4UOzN66kJwrqU@n9l*M!B@}b;;DSW_*H*1iANGc!0CI(v7`+{vi zn&(|Fkuvm8#7{H-ItWC38#llIO7DwGdcy(f{r#;IWKgolwuv7nS)>*2!<~mnjT2e2 zsAMGbS&t8H(|5p$CztcOV#@py{l$4-WP|Nb))*R!)L?Q@XUdjTkl;PVo>E!VxShf z8y7mKb!+OS;lNO`q0rOi8W`dlOMXSmt?(7cnj<%zcXlt=D6ybmv$nR_vhz5t<(R1$ z#te-FJdj@W<~Ta)bllyNy%pVJ;(gA&0de_q7thbiF-oh?svQTmUt{ZGia-Is=`+bO zOTAX5{aTQcBx%SNPdwGQ`x^53D_F6}t2jE9V%3U$0id`a1i1VRWjC=s;MU$1bZfsc zdQMM*CYkkqxmpVWAvc+B!-uEBC@*zO=ADJ9eu=_sRx4sZ9*jt0M%YU_bPtRZw)hJ6 zJ(A$eBztt!%_3NC1zasxTX^Kn^1HJ(x=q+fP`+o0!*xGd9tKYBbAVI(`7?&Q#%p;m z`JyV8XgIeO8L>lQu8+MdrvZotfU z!Ifq5FhRL7fd}b?6cm0}3{hbxKCduJJ0bmHoTq*&#Dbqgsb7jpiWuIA`%Q!6Q3TuB zM$!L-dn12PxJSKf<>6FSBK;@a3oP~5v7ex3 zoq7_zof6NtD*Iu3pmBkXA;9V^89FZ-La$@^(%PH+Y3*Y@ai@41Jn0dKFs(pLelx)2 zi!aB*F~%3AlzOs#+MtF`FYYatd(9gJwDvoE9!(RzUvYqluODRFHPg-c1cdu$7weaB zj~V=+Os$h?lV({q@Y32}184Ss!@UqF++R%+IUKUzqbT_NcJnbC1AO?eUU`^(Iv4cUdYWEVCp!hq=^(3yRA3~jCZ1Nm}bU@W6*qqY~Jn#S1^ zG7YZ>@u31M^5eWT#j{C@w3e6KU7wKSNcFY2%3tCAnjk0lzruYp29}T_YKscTM>}Gg z(69`-_9?aR-*oT^eCkyRh2x(RITY&J)o!gjjj=%0Rv(Y=3v7Q`5M z6(pHk^*)kC8zn>O8tL1jEy)L?FxS7~Uiv@b{vIgpwJk6E>4WQ!wYYMQn zDog$kZ6$#>pD;UDO)`Jw+Nn=Rxt~4C2|V+=UR;EiS+L5^%%-h`aobq<0C z-PwydRPuzS0(bU)a)ZkGI^AlnhH%FXxXiVvzJmnuyx8qma42&HTijFTUQh$YJ<|-vBq=pE$cMKx1;l&m@V(#f z04m?MLO_8%<(DUQc0E=(b+%08uH2J<4D$<>51%`!!_R>F4wUafdwLQAt2har?WJNM z<-N;^Se%AoZQql01mU&9G%=Z*!@;wH0j~+#)wxe3cLe0y7a^X*XD=98ChWzxfDkY8 z*Cm(}V`>@}=QR;?YU7xVGvhlabp08?h{uo5;{q7*F2kkN03)7Z*2)vA?(lwb#MAEz z*BqxHse$=l4cW!+{L)_+%RUgso;Hju$bs_xGUpVn|Ea_{X4}(7G1+ES;Ku-KVg=P5 zVL*EC+*!RX6lND)qumyqCGKJRb)H8?^tPFcoHwAZ6O|AQJERpi88npB7BtH4sEem_zT)38o?R=UDThdq+MAYY2L0G?oQp z8w(-e3ill$DWoHx%XjraFB&Fj|&b-n4hdQ@FKJLd`GGC1I zbdA&kclKC+zS$d8WBl3aMZNlRy*!b!9i%ixM6zzEaFn+ z{OC`*KLnh1h}!M{konUKQ^5Xxk<8-F1#!#69mr{y;l+-yM5w`<4}a)XtGlLcl*C0 zjkY_r<7-)1m$X;I%;GOivI3vx=&!hI2u~-6cF^>_Wz*_$i`&j{F~ldV;B_48n=P2x z?qD8#=u8BfM%a{f_3R*d6R#@ROw}2YaDdOBo=2cK&ge(sH01prRl^bOF;3|J=^h?& zjrWvrD(FOTDem}^f_FKHKEA$`bWmuDd5b%nde{by8);bRJJGEpjVOVA+W$rLiJLu2 zIIN$N7UO1jk3(iFOmt-D2ouZ8Jj-7gecBFqPmlJ1TiqmDUo+g?FAmVQzBoe6Ry%zD z#3?sGe{YjEO)2lcCaDFHb5AC4G?HWwyW!`SlCAfh$On?zJD4YzKN+pAk2Dtvu7Tk| z(zosxQC~tdw|513qn)rUiAZrYJRTjgJx&gAD$h3dHU=hN4Zp1=8)ku$eat{Bx*TZk z|5o_dP+u&o&qBNs-OpsK-!ioDxIOR3&9)j|U$1I=m`}qN@gudmORwsl_L5ESp^`J^ zn@Z&crnBHTJBBdtp_o(|6No4KkwELQRY8hK>`PA2@+e!EpXhz~@Cc zni|-Sm_a=1VnY5#dfbrwsq)5 zdm6(=pOWj53&;}|`DQ4%_rTM)`j^Q_ICjcThTNg8FzI3WFp-+3I!m?eRI?}Ns_4?ZI_J7?`XOw| zEfQ5xn!`NM!qYGUExc54lrGTB*H=u@ zf5rZ3T+xkqq+^}9U2>lFl_0@Ju_+vzKq2n@B*1^}g|H9!_zF6!kgPLYZCF88|I&_5 zYlx8&N*s8@n$#WdDqJa(xd>WJ`;~@R9H`;B1rzCAIvg4lb^``;4Pe*YJG_6_-)7D< zt~hJ4nI#>oXRk;X)3$4eC5SNF<^v`CQ|(*U(;ZJx3C}Hz+X$x@q_EL27LcD&_<=)$ zD;t+pG%)Z$jT0wGh(fZ38eOYJca}=xLJT;W*M8@{g&|?_lF*$>oYzI8IQ}Md@6fj+ zKthKS_*X)2c$GZ$MJZn@1Z_r@y^*%&y$vQbdltEHyrrnFj46~03@w3VH?XgfoVSelnG_}EPRZTuTZYexWy12z+}ZmFyuf3VB) zwzoC)nBjL1=Z+`MJ&m)vpDG901|8797H*tC-I7_G%dG>DBU48P0WOMh5x# zT^(So-!n7OWj;<(T;@vb_35jXU%sDwo@=bx7XL!?u%f$uCY_d;-9R>8>*%(6M47b0 zONjc@C6#`dPUbJM8SKy{#2$K$&K5W|u^-?{~ij3u$>r#pd{DBuYlO ze1lw<=>{3$Sz77l`gp*2AH~F4Z`CjRsg@@YO{~22SE!VbRqyML_@6x6b@zAn!Gi=) zFpXDst9;ebz6Xz}Q&~}BD|f8#ADz^+9fmFvirqGXZl!pPimPYyA<`2Uyn8x?4A#>t zPcwH`L>Ns~3q9?XbgWq?Ej_9*Ri#RI)=--biUDnQ>9O|5{tWUf(O zBUKI~h6qnl4U0uR^=|iR?&2Lg7bR3Mxa?i>D>4+VKu11G`pN>HY8YdKVL~G~aJB99 z%&z0&ZjQpAqQbP`h6h?TF4V(U)^P&&N^fnn*ZGM%7c%V);3!V~4YV`2mREiSsr#>b zKG|+YOpZQ$wkLgc8#vCm%5LaJ*YPn16A!}*KX^QZ=4;lubpxqXi8!$klcktXE53;k zO@)(!EnmNrb%D6rXodQ9aVF_xEZbUbHjKzKyTWaX&W!rKMD2j@MwD-|oCTp(Nlgmd zTj2D*mAj>xgESC|Hzoo@d*J^4ONYPwdBfbSHVz)#+Xg0BCTBS-dp9nV3)(reCfJhcav^}{N89rhxyVp$f})5w7AA#1dQiU$Bjv#6cL9v345Ux zNYh%7*nJ&$S{YW1T5G&?Ij81b5%YSDdIekkp@^Ek8I^XHYsSpjzL)yL8vxCh7cLI8 zERs`h2z9;x#;$-Sqx)#&X;8B8u(HfYO<+61Q8>x31p}#zB0^hJRm7&q1YI$9@_k^q{ozfcqcp!s-9!s{g(xsHxe(+Bnl?2wAf zrS!Tb2p}|n?-4eZ|70Y0E=fBTLALu%!nfOk9b4CZ9TqZ%ls9@xT%J=wSTSifu*8?; zWW(9mC6iLkb=!ulaZQFbj#2VIqRBqb%1UA|wwTX@zifVy^*u(yhWxbdf9rdze-gfv9+2>zuG$-Tvnh6<4x_k6xOwI|I zouRCPU7BKJOI=|N73l)oK~BL5K#g~+57hUywmDdwp!!|}RNr6XAVxNg@?4!gvfD=u za&{z}CT}Xk{yDlo7IJ!eY~kCz1D5pe12^A~Ybu~qT&-yuMYCV~Ozd7>zKOqoS<*AG zhT)$gOenDcmh@iz{7@9soR^pkEa{z|@_?4~1|0JgQDg5^1kx~)EYMTZ&OjMIpl_&R zxAp60+p!foCUx;6)yWLv@#F-Ox*;F!Ua~r(c5neejW-hg_v~I0basDz+x3|BA2MHxo^Ey& zJx)Wy>oOwjZMLQaBWb9BibP&d#Ic6NtOyUcqXe}a@k9pbB7e)!L=JPJKGJc71Uz0- zVm8U+8z8@X<9Z%1OP{ML&B(m$5fv{Bwi6hSqOH%|EF|Of;>J6Vw;UCDn_EVGkD)TD z{n=4CQ4`!vcmXrwX;)5yyEfjE`7uF{hyC29ey3i&q4AyNiJ0(^yRIP$ENjRia-Zkr zO33$r0)A5d{&i$?!_{;C&*d#NyxX=uf<7PY#n2<1*HUvYp$<=81c6se#H~ z2g#4O?(wf$bYppF*Bzp#rC%C+d>brb*K}(Hy*le6xcZWDRnlxoC{1kypuz7z0UCVm z5Ll)t|w$-jd-Y7Yh{Y)7hg8Vln?FeE{Cp*4vvJ1HIbm)bW+7oo7>6;nVO1a;jx}b=s}Y+A}$6a7ux5<(=`o|ATI+d2zFY4v1CrD2eh#jJaGB*+5$^v_C}h0HN};*$9R5c5;D zz;Cvfp4TUF%5?O4A5)sD?);{Sv!B+8vYx=cO4VEi5fNGQBBH*R@F6i3@aN`w1Rwo+ zt#?|ijtUHr9iLt-$H3w%q+X9Y&7GRO?Tgsg3;x|{PvWy#E*d0!XkU>`O-(OYQtlo2 z3R^F(9BjDr;W(XM{STlIBK7Zp1N>^UB+sYEINj%phaKu&T^TX1RwyQelVZ>T{@KBM z?9Gxm+cn#l3g49(sPNmn9{_PZC1G|i_k$#YBV1Ro0QI?FUFUBZuQ{-{J$f{tj4z2` zjG8Vu6%4`MLjeb|k2LI89)d@l2#2ok8U;~MSr(1CR(Dx$2uCXZbx|@XHM#4Qz#XR; zp!5G?`g|OAnqMB?U7xGA#i{K)Y_K=f{q}5jxt-Be2f^jPX5Zgj!Spa?hKYOR`wpO_ zGp9o;5DBNOOQ4FDB=4Ngilt50BT%^I@u0PN%529}u_q#RJEDmn_0pjUc)u|E#O+uL zBkFRwe)*G02e>SRutx{JGR?_kMr?1?MXRo3BDpe^)De5zq)@YOB!h+BP1YOJ5S z8*!}0hH=V_Mw{Z#UbFqu^{{HjEe<1b@F#zGg7CZbs&VjdX^(eQ!KUFtyTChTgKo@D zx$*X6C5B@nIsB*%AqIDn0){-U&x3hu=CthIx06?ne$gJ!blFl5Y~|UG&H7 zfeWEXOGX?VAMh$CGjE;)YYuVf3%{h4n{#09&L8~ zzyFG({Ga|FpvdVbkbmuVa|fS8s}mlz!PSF??{f;&-`g=ti2WC_pB##{p46BpkXL4` z!suk934|98L%bJzL-#R|@F0(8X2zCa#&%QwUVhQ$EckepT`tnya`*c{6P5T)WK=1J z`=%ca_E)tdWfFgsX(+Y}<7f+k;N!myzDtUT8Yfo0A%lW zaO>lQ2REHDCkDpcW&!1y3S|6VB%3vs>|Et6GF6XFYu^mW#?iTN^PgRRc=xqKXd>;u zS6Cn-ADo=bCdeRR4h{tSB-abw!z}nkWeXQMhcc$8zSWFF1(SwZ0h7d#;9Ve)?@7O< z`xFX-?-kLa^?bJy=VE}kkHpg2Cb8Cw3yjKk7(}pIVW@3)WS$NMcEu@XCKIVaF-|)pUE`dy3^Ov>q~ggI zP0lLw?RwmoXkYQEIcm27w0ob$B$cVBsABkVrfnA^g8R6Hpf)H4?>X*H2Eq6vrKMD7 zj|zsA%j_lIW58=8v41@GPqL35LmbQ%xeaIP{#P4{m8aZkVzy(6B~n@|=$ItA>dfRCty<7EJMU$O&1_FTaft=AO3 zgVzTOP-ZQ=?RbS&1D|gFXT*YNQBNv=suEa}^~Z;FPk%f^rfKWJ-l>ZT@=Y5O<&k-C z23$O7vI(Cf8VnE|%+NO%3XRpeM`*$_(~a##X2&sDbat3$i3x2|zp1(PE|a+%d9^i$K!SVcnvYIBv^nPxVc}>UKo$ zK0kKNC;L75gDlYN{tI(485L}1VQ;mB?5x0`yLm$x|Ld@oyFM zXN+nIcY(+*?=U`%{Q!QdGshReVpGGFLP`vHa^?$I>+c3XpNGevU)bLsn5P1g^!w26*jkxzhe@wL z`JM{M_sK%sVDWWOmbXw}d6}>7!dJVuHnChDi=HhLeafs>9&J4vaj!2)7m_iRbLy0tEswpy95cu7%4mQpZ?t|*A@o?)gd!-t{Oqfih*i{HiTkC`Z%dVX-4lgh{Kf2z9Zh6fx{-0c)wz9GT%H?N&a{2cE?_93;|DMZhfn2Wse{#9a zzjC=RD3_C3y{-LsE{7q&@E!lku=Q98n#4P^bhN3i0zDpz`jZY2cudIDGguI&xu2ty zs}{1K4xp-WHp=#MslR==8scLW-oe!-4qSoeUEHbCFh<*DUSi1*gx2?=?f@(IgAQzRnOl9YwIfs=P9{GB2#4u(}d= zYi^~=X!^Ai{V>3v~z ztkFb+VyPZUJpY3{{G~oe_tW9Nuq`cPpYjN!d;4BMoxZ4!i&9&z^+T`|-P}FNY6%JT za)|^hrFasQl0d1;{16sn!j~qBs=e$ti`8Eyy28seU#$0WcTFJcJ%^kM0i&OhX_~!d z@wVdrguiEEcIaOd-pKoE)Sp%$6CM@oa8_aKoI#YE{hHN7?&=p~Q+Pf~_VB@rvheKh z_dK7LttP5bTMI{rEkE7OmE&Y7{)@1U;{OypZDkHJ*bActoA0iuty$l?CY`UVlZYHTHs~lKJGJi zW^K*zf6tQNZsa+G3H_4TJfK!dkoei^%c+XZ2amGnvD5%Fsl}mM-M0g#>~~=b-oLYa z%;tdRUIR74m|}^pJ{8997YCrhL&Tm%YTB|se9_=Fsc>+a5XpReUu3@d8#It#MOM26 z4CIS+4)|XgbEfsFs4lfY7-gZh6CrmpsnZ*tQw>h_-p&q4m1@D+8J|W?^0`l$RDN*u zMqDo57Ixw*M%4C-rEyx7f1tUOQiYOSy_uOe9QH_Otpd-G#-l;WrEPt1)*t)S}pzp?zd4Z7j4oBc)-w?yMTYd^u z$5j#e!}8y+*LaUnoErGXESC0`vW+h?`>uakwcZ+PJ;xhrc(A>RhKFm`h@r6z@u5*+ z-amRsPk%IQlZj6a3T?>glzmyrH#^sNGik8&Qp}>`&gTEdWDqB zI_+HHtNqBF_y4f@MY!tDDDA^=C^z-wTvwp>{?Aap?_0E{(W~F#5R;_;Ve>7CKx{rJ z+Y@H<{*&!zA{Yp=lSosNd9$PQQ1`}!8vHJ8%PXl7_Le^InnZvN5oRY1^Na0-?P2n{ zNK>Os66VImGo(`FVzkv$=86arND3du`uUCtx_hVzO3!ug9i*UwMCq={QR$ZL%qaQd8GKMG8^wUKTe0-Jg> zrKpps$Fm?de_0&x-WLMidtJ?dG2U@IAlc`sqQjIhmK1(KJ{{Xvq_vy6+_Wxnm0w%R zKDyTLl1%e3b*XVk?K^L&({V(Abid@(vuVXg4DX!LumihxIUTr!pubEv^#K22cjDa( z^s9?_xDficL_HbdpQeP-q-joWtDtx93!$k}x3aK!PdDZ zhwd>UDx~YG+QD97hnjm=FONBQ>JgI1YfWhALk#mw(^uO4d4x5xdwMrlA{6AqYd)W3 zQ!n0>E+R8U$fmYJv6J)VW$4tVP%LHRkA44dIv)?9^TBVJo!6J2E(T}IT3pe+eoOsE z@H#z+YGrHgQ`;(L1RKUV3!eqTy$Py-mDIX_uuuTpIE5&|!$Lk6z~+P1B-qqI^GW!$ z$tMHR9s-E=6lh$0q!7L~G`n{CqFo{zbKgya@lpT6`KjOFT~goQBmvQ$rK@jD8BU?? zb3NKsn@t_yYWs#^N7{y)*%Xb$4ZcAD4QFDT((gbuo1kT4J36+hD%E=F7uV13U8W1O z>Ulb@M*KY;UN6;9{~oHdY}3w-CZoud z6VnVNuxodJduurWSwb_Kw8Jay>{m%BRR|#ZD3bu9KlzIA1<_AUE(Z(kfWZHt?ycPc zQRTJmglg12uWX_On#`Y`e<|_B7B7EU@jo8sZ3zgpt+~>wUC@EC{;pL*Nw#HrI*a5x zpONB5Bd~5N0xb65SJcGO{8NbcGN7uXiB2w8lIO_L$e)sdEBpvT;0hny{Cm6nLy-6H z6wD!%biq_CX#KfL3L!L~b{Dh^-^q-xXx&p$2tp&_RnfkDVRF)eX!JUb zQ9i#rc|KZR?;dYiQ5U$YKytqFl#8)w)>M<~GKl{10u-ox-B@nQFR@f2KMDO6?tddt zz>Wb@JEwH^MZDyFy+0X$HtqmTD)$$uEkULqmr>ppHyZp{bN_~N0IM=q^8Z8HTLsm* zwp*LHTX2^I3+@^`xCMvc?h@SHEx5Z&a7)nOPH=*|TX2VdCs}Ln{q64R{;T>Fij!F! z%=;N*T$i5{%q*U|sa~d^*CR~h=Pu}~=jT24=BF)>85WY!Tl%y!oK-GHnBsTTMC(YP z4gQOzn)u!W?o|5_1T>WaKjcY~p3p+ruXHZxaB%%!pb7r%9u)A;G?hCb-*QOF=X;CJxb7pvIav5Fr%VJewy{dP_ZrbBYw+1{!{?d z95M|ystAcIWtpS>8IrG;4F2z4<#o97YkWr)vE#O7o+>+}YI_(5=f(4C^G3kL#YI=g zXKfm`m_O3TU8aczX7;lC0LGc%G<0An#eo#uccU1yV(!aV=ItEJma-fnv z-*4v+c^59DBIG0ll=&=GVQ+*Af)1fbuE@fTH`Hjc;K)paVMib5wSNq3V4t{}n!x=I)^^RC5#INEdnI!O8rKANO%?}JMr@e_&zJNH+F!%#GHEB`* zwliNfcjtJ(vWHc#S>v+wz;RbtLX^-GwbY`av738Z0xKpt%mf!AK_i@n1TH+4xWeUaf%Od$}b-IJ`hPn4jC2VpMk7+|r9-otJP_iCPrnVDt&GcfgTiJM!I=(Ql4+!mC`?J(blTChBHdVa%niTm%fo`V*uCXqPc;Y zFQfZW*e{4oir9|8ruJOTc!o?L(-jHfH$TT}MMI@PCbr5#G52g~N6bwST9+Y&$cBEU zsYT$6*9B65aSR{fv!Nea9}@V{7b)BTq`crfiwV*