diff --git a/CHANGELOG.md b/CHANGELOG.md index dd790d2d97..eb1151e589 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ - Add top and bottom appearance modes to the chart popover (VkoHov) - Deprecate Python 3.6 (alberttorosyan) - Add MXNet integration (tmynn) +- Create a Dashboard page to provide a better onboarding experience (arsengit, roubkar, KaroMourad, mihran113) ### Fixes: diff --git a/aim/sdk/remote_repo_proxy.py b/aim/sdk/remote_repo_proxy.py index a8b02410f0..61370c1e06 100644 --- a/aim/sdk/remote_repo_proxy.py +++ b/aim/sdk/remote_repo_proxy.py @@ -27,3 +27,6 @@ def __init__(self, client: 'Client'): def list_all_runs(self): return self._rpc_client.run_instruction(-1, self._handler, 'list_all_runs', []) + + def list_active_runs(self): + return self._rpc_client.run_instruction(-1, self._handler, 'list_active_runs', []) diff --git a/aim/sdk/repo.py b/aim/sdk/repo.py index 0e426af1f0..3a3c7fdfac 100644 --- a/aim/sdk/repo.py +++ b/aim/sdk/repo.py @@ -448,6 +448,20 @@ def _all_run_hashes(self) -> Set[str]: def list_all_runs(self) -> List[str]: return list(self._all_run_hashes()) + def _active_run_hashes(self) -> Set[str]: + if self.is_remote_repo: + remote_repo = RemoteRepoProxy(self._client) + return set(remote_repo.list_active_runs()) + else: + chunks_dir = os.path.join(self.path, 'meta', 'progress') + if os.path.exists(chunks_dir): + return set(os.listdir(chunks_dir)) + else: + return set() + + def list_active_runs(self) -> List[str]: + return list(self._active_run_hashes()) + def total_runs_count(self) -> int: db = self.structured_db if db: diff --git a/aim/sdk/run.py b/aim/sdk/run.py index abc8cb1822..981ac9d0f4 100644 --- a/aim/sdk/run.py +++ b/aim/sdk/run.py @@ -638,7 +638,11 @@ def _get_sequence( sequence = seq_cls(sequence_name, context, self) return sequence if bool(sequence) else None - def collect_sequence_info(self, sequence_types: Tuple[str, ...], skip_last_value=False) -> Dict[str, list]: + def collect_sequence_info( + self, + sequence_types: Union[str, Tuple[str, ...]], + skip_last_value=False + ) -> Dict[str, list]: """Retrieve Run's all sequences general overview. Args: diff --git a/aim/web/api/dashboards/pydantic_models.py b/aim/web/api/dashboards/pydantic_models.py index 8a7e6fe8b1..793ccd1f07 100644 --- a/aim/web/api/dashboards/pydantic_models.py +++ b/aim/web/api/dashboards/pydantic_models.py @@ -10,6 +10,7 @@ class DashboardOut(BaseModel): name: str description: str = None app_id: Optional[UUID] = None + app_type: Optional[str] = None updated_at: datetime = 'Wed, 01 Jan 2021 16:12:07 GMT' created_at: datetime = 'Wed, 01 Jan 2021 16:12:07 GMT' diff --git a/aim/web/api/dashboards/serializers.py b/aim/web/api/dashboards/serializers.py index 967edafd4a..45b70369be 100644 --- a/aim/web/api/dashboards/serializers.py +++ b/aim/web/api/dashboards/serializers.py @@ -15,6 +15,7 @@ def dashboard_response_serializer(dashboard_object, session): 'name': dashboard_object.name, 'description': dashboard_object.description, 'app_id': app.uuid if app else None, + 'app_type': app.type if app else None, 'updated_at': dashboard_object.updated_at, 'created_at': dashboard_object.created_at } diff --git a/aim/web/api/projects/pydantic_models.py b/aim/web/api/projects/pydantic_models.py index 4d8c39cc48..2916d029b6 100644 --- a/aim/web/api/projects/pydantic_models.py +++ b/aim/web/api/projects/pydantic_models.py @@ -10,7 +10,7 @@ class ProjectApiOut(BaseModel): class ProjectParamsOut(BaseModel): - params: Dict + params: Optional[Dict] = None metric: Optional[Dict[str, list]] = None images: Optional[Dict[str, list]] = None texts: Optional[Dict[str, list]] = None @@ -22,6 +22,8 @@ class ProjectParamsOut(BaseModel): class ProjectActivityApiOut(BaseModel): num_experiments: int num_runs: int + num_archived_runs: int + num_active_runs: int activity_map: Dict[str, int] = {"2021-01-01": 54} diff --git a/aim/web/api/projects/views.py b/aim/web/api/projects/views.py index f0015c1ddd..be3041b008 100644 --- a/aim/web/api/projects/views.py +++ b/aim/web/api/projects/views.py @@ -46,15 +46,20 @@ async def project_activity_api(x_timezone_offset: int = Header(default=0), raise HTTPException(status_code=404) num_runs = 0 + num_archived_runs = 0 activity_counter = Counter() for run in factory.runs(): creation_time = run.created_at - timedelta(minutes=x_timezone_offset) activity_counter[creation_time.strftime('%Y-%m-%dT%H:00:00')] += 1 num_runs += 1 + if run.archived: + num_archived_runs += 1 return { 'num_experiments': len(factory.experiments()), 'num_runs': num_runs, + 'num_archived_runs': num_archived_runs, + 'num_active_runs': len(project.repo.list_active_runs()), 'activity_map': dict(activity_counter), } @@ -118,7 +123,8 @@ async def update_pinned_metrics_api(request_data: ProjectPinnedSequencesApiIn): @projects_router.get('/params/', response_model=ProjectParamsOut, response_model_exclude_defaults=True) -async def project_params_api(sequence: Optional[Tuple[str, ...]] = Query(())): +async def project_params_api(sequence: Optional[Tuple[str, ...]] = Query(()), + exclude_params: Optional[bool] = False): project = Project() if not project.exists(): @@ -131,10 +137,12 @@ async def project_params_api(sequence: Optional[Tuple[str, ...]] = Query(())): raise HTTPException(status_code=400, detail=str(e)) else: sequence = project.repo.available_sequence_types() - - response = { - 'params': project.repo.collect_params_info(), - } + if exclude_params: + response = {} + else: + response = { + 'params': project.repo.collect_params_info(), + } response.update(**project.repo.collect_sequence_info(sequence)) return response diff --git a/aim/web/api/runs/pydantic_models.py b/aim/web/api/runs/pydantic_models.py index 320d2b30c7..bf6d1068fd 100644 --- a/aim/web/api/runs/pydantic_models.py +++ b/aim/web/api/runs/pydantic_models.py @@ -84,14 +84,19 @@ class RunInfoOut(BaseModel): class RunSearchRunView(BaseModel): - params: dict - traces: List[TraceOverview] + params: Optional[dict] + traces: Optional[List[TraceOverview]] props: PropsView RunSearchApiOut = Dict[str, RunSearchRunView] +class RunActiveOut(BaseModel): + traces: Dict[str, List[TraceOverview]] + props: PropsView + + # request models class AlignedTraceIn(BaseModel): context: dict diff --git a/aim/web/api/runs/utils.py b/aim/web/api/runs/utils.py index de32d29aed..78f3a6b730 100644 --- a/aim/web/api/runs/utils.py +++ b/aim/web/api/runs/utils.py @@ -227,7 +227,9 @@ async def metric_search_result_streamer(traces: SequenceCollection, async def run_search_result_streamer(runs: SequenceCollection, limit: int, skip_system: bool, - report_progress: Optional[bool] = True) -> bytes: + report_progress: Optional[bool] = True, + exclude_params: Optional[bool] = False, + exclude_traces: Optional[bool] = False) -> bytes: try: run_count = 0 last_reported_progress_time = time.time() @@ -247,11 +249,13 @@ async def run_search_result_streamer(runs: SequenceCollection, run = run_trace_collection.run run_dict = { run.hash: { - 'params': get_run_params(run, skip_system=skip_system), - 'traces': run.collect_sequence_info(sequence_types='metric'), 'props': get_run_props(run) } } + if not exclude_params: + run_dict[run.hash]['params'] = get_run_params(run, skip_system=skip_system) + if not exclude_traces: + run_dict[run.hash]['traces'] = run.collect_sequence_info(sequence_types='metric') encoded_tree = encode_tree(run_dict) yield collect_streamable_data(encoded_tree) @@ -269,6 +273,36 @@ async def run_search_result_streamer(runs: SequenceCollection, pass +async def run_active_result_streamer(repo: 'Repo', report_progress: Optional[bool] = True): + try: + active_run_hashes = repo.list_active_runs() + + active_runs_count = len(active_run_hashes) + progress_reports_sent = 0 + + for run_hash in active_run_hashes: + await asyncio.sleep(ASYNC_SLEEP_INTERVAL) + + run = Run(run_hash, repo=repo, read_only=True) + run_dict = { + run.hash: { + 'props': get_run_props(run), + 'traces': run.collect_sequence_info(sequence_types='metric') + } + } + + encoded_tree = encode_tree(run_dict) + yield collect_streamable_data(encoded_tree) + + if report_progress: + yield collect_streamable_data(encode_tree( + {f'progress_{progress_reports_sent}': (progress_reports_sent + 1, active_runs_count)} + )) + progress_reports_sent += 1 + except asyncio.CancelledError: + pass + + def collect_requested_metric_traces(run: Run, requested_traces: List[TraceBase], steps_num: int = 200) -> List[dict]: processed_traces_list = [] for requested_trace in requested_traces: diff --git a/aim/web/api/runs/views.py b/aim/web/api/runs/views.py index 7b90a1345a..ad6d2183fd 100644 --- a/aim/web/api/runs/views.py +++ b/aim/web/api/runs/views.py @@ -22,6 +22,7 @@ get_run_params, get_run_props, metric_search_result_streamer, + run_active_result_streamer, run_search_result_streamer, run_logs_streamer @@ -29,6 +30,7 @@ from aim.web.api.runs.pydantic_models import ( MetricAlignApiIn, QuerySyntaxErrorOut, + RunActiveOut, RunTracesBatchApiIn, RunMetricCustomAlignApiOut, RunMetricSearchApiOut, @@ -59,6 +61,8 @@ async def run_search_api(q: Optional[str] = '', offset: Optional[str] = None, skip_system: Optional[bool] = True, report_progress: Optional[bool] = True, + exclude_params: Optional[bool] = False, + exclude_traces: Optional[bool] = False, x_timezone_offset: int = Header(default=0),): from aim.sdk.sequence_collection import QueryRunSequenceCollection repo = get_project_repo() @@ -72,7 +76,9 @@ async def run_search_api(q: Optional[str] = '', report_mode=QueryReportMode.PROGRESS_TUPLE, timezone_offset=x_timezone_offset) - streamer = run_search_result_streamer(runs, limit, skip_system, report_progress) + streamer = run_search_result_streamer(runs, limit, + skip_system, report_progress, + exclude_params, exclude_traces) return StreamingResponse(streamer) @@ -116,6 +122,16 @@ async def run_metric_search_api(q: Optional[str] = '', return StreamingResponse(streamer) +@runs_router.get('/active/', response_model=RunActiveOut) +async def get_active_runs_api(report_progress: Optional[bool] = True): + repo = get_project_repo() + repo._prepare_runs_cache() + + streamer = run_active_result_streamer(repo) + + return StreamingResponse(streamer) + + @runs_router.get('/{run_id}/info/', response_model=RunInfoOut) async def run_params_api(run_id: str, skip_system: Optional[bool] = False, diff --git a/aim/web/ui/package-lock.json b/aim/web/ui/package-lock.json index bef41e196a..9073f8903e 100755 --- a/aim/web/ui/package-lock.json +++ b/aim/web/ui/package-lock.json @@ -14,6 +14,7 @@ "@material-ui/icons": "^4.11.2", "@material-ui/lab": "^4.0.0-alpha.60", "@monaco-editor/react": "4.4.4", + "@types/marked": "^4.0.7", "@uiw/react-textarea-code-editor": "^1.4.14", "bs58check": "^2.1.2", "classnames": "^2.3.1", @@ -26,6 +27,7 @@ "highcharts-react-official": "^3.1.0", "humanize-duration": "^3.27.0", "lodash-es": "^4.17.21", + "marked": "^4.1.1", "material-ui-audio-player": "^1.7.1", "md5": "^2.3.0", "memoize-one": "^5.2.1", @@ -4049,6 +4051,11 @@ "@types/lodash": "*" } }, + "node_modules/@types/marked": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@types/marked/-/marked-4.0.7.tgz", + "integrity": "sha512-eEAhnz21CwvKVW+YvRvcTuFKNU9CV1qH+opcgVK3pIMI6YZzDm6gc8o2vHjldFk6MGKt5pueSB7IOpvpx5Qekw==" + }, "node_modules/@types/md5": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/@types/md5/-/md5-2.3.1.tgz", @@ -17473,6 +17480,17 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/marked": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.1.1.tgz", + "integrity": "sha512-0cNMnTcUJPxbA6uWmCmjWz4NJRe/0Xfk2NhXCUHjew9qJzFN20krFnsUe7QynwqOwa5m1fZ4UDg0ycKFVC0ccw==", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, "node_modules/material-ui-audio-player": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/material-ui-audio-player/-/material-ui-audio-player-1.7.1.tgz", @@ -32929,6 +32947,11 @@ "@types/lodash": "*" } }, + "@types/marked": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@types/marked/-/marked-4.0.7.tgz", + "integrity": "sha512-eEAhnz21CwvKVW+YvRvcTuFKNU9CV1qH+opcgVK3pIMI6YZzDm6gc8o2vHjldFk6MGKt5pueSB7IOpvpx5Qekw==" + }, "@types/md5": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/@types/md5/-/md5-2.3.1.tgz", @@ -43505,6 +43528,11 @@ "resolved": "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-2.0.0.tgz", "integrity": "sha512-39j7/9vP/CPCKbEI44oV8yoPJTpvfeReTn/COgRhSpNrjWF3PfP/JUxxB0hxV6ynOY8KH8Y8aX9NMDdo6z+6YQ==" }, + "marked": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.1.1.tgz", + "integrity": "sha512-0cNMnTcUJPxbA6uWmCmjWz4NJRe/0Xfk2NhXCUHjew9qJzFN20krFnsUe7QynwqOwa5m1fZ4UDg0ycKFVC0ccw==" + }, "material-ui-audio-player": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/material-ui-audio-player/-/material-ui-audio-player-1.7.1.tgz", diff --git a/aim/web/ui/package.json b/aim/web/ui/package.json index 7e8e21fb10..84402ad4cb 100644 --- a/aim/web/ui/package.json +++ b/aim/web/ui/package.json @@ -8,6 +8,7 @@ "@material-ui/icons": "^4.11.2", "@material-ui/lab": "^4.0.0-alpha.60", "@monaco-editor/react": "4.4.4", + "@types/marked": "^4.0.7", "@uiw/react-textarea-code-editor": "^1.4.14", "bs58check": "^2.1.2", "classnames": "^2.3.1", @@ -20,6 +21,7 @@ "highcharts-react-official": "^3.1.0", "humanize-duration": "^3.27.0", "lodash-es": "^4.17.21", + "marked": "^4.1.1", "material-ui-audio-player": "^1.7.1", "md5": "^2.3.0", "memoize-one": "^5.2.1", diff --git a/aim/web/ui/public/assets/icomoon/fonts/icomoon.eot b/aim/web/ui/public/assets/icomoon/fonts/icomoon.eot index 013a133082..b1ccf78ad0 100644 Binary files a/aim/web/ui/public/assets/icomoon/fonts/icomoon.eot and b/aim/web/ui/public/assets/icomoon/fonts/icomoon.eot differ diff --git a/aim/web/ui/public/assets/icomoon/fonts/icomoon.svg b/aim/web/ui/public/assets/icomoon/fonts/icomoon.svg index 7cf8c534c0..5a209b55f2 100644 --- a/aim/web/ui/public/assets/icomoon/fonts/icomoon.svg +++ b/aim/web/ui/public/assets/icomoon/fonts/icomoon.svg @@ -142,4 +142,7 @@ + + + \ No newline at end of file diff --git a/aim/web/ui/public/assets/icomoon/fonts/icomoon.ttf b/aim/web/ui/public/assets/icomoon/fonts/icomoon.ttf index c1cc3520f6..fa8e917e94 100644 Binary files a/aim/web/ui/public/assets/icomoon/fonts/icomoon.ttf and b/aim/web/ui/public/assets/icomoon/fonts/icomoon.ttf differ diff --git a/aim/web/ui/public/assets/icomoon/fonts/icomoon.woff b/aim/web/ui/public/assets/icomoon/fonts/icomoon.woff index f823e99fc7..b6e8a9bdcc 100644 Binary files a/aim/web/ui/public/assets/icomoon/fonts/icomoon.woff and b/aim/web/ui/public/assets/icomoon/fonts/icomoon.woff differ diff --git a/aim/web/ui/public/assets/icomoon/icomoonIcons.css b/aim/web/ui/public/assets/icomoon/icomoonIcons.css index 20472fddbd..dcb3abb90e 100644 --- a/aim/web/ui/public/assets/icomoon/icomoonIcons.css +++ b/aim/web/ui/public/assets/icomoon/icomoonIcons.css @@ -1,16 +1,17 @@ @font-face { font-family: 'icomoon'; - src: url('./fonts/icomoon.eot?ai6txv'); - src: url('./fonts/icomoon.eot?ai6txv#iefix') format('embedded-opentype'), - url('./fonts/icomoon.ttf?ai6txv') format('truetype'), - url('./fonts/icomoon.woff?ai6txv') format('woff'), - url('./fonts/icomoon.svg?ai6txv#icomoon') format('svg'); + src: url('fonts/icomoon.eot?rswed9'); + src: url('fonts/icomoon.eot?rswed9#iefix') format('embedded-opentype'), + url('fonts/icomoon.ttf?rswed9') format('truetype'), + url('fonts/icomoon.woff?rswed9') format('woff'), + url('fonts/icomoon.svg?rswed9#icomoon') format('svg'); font-weight: normal; font-style: normal; font-display: block; } -[class^="icon-"], [class*=" icon-"] { +[class^='icon-'], +[class*=' icon-'] { /* use !important to prevent issues with browser extensions that change fonts */ font-family: 'icomoon' !important; speak: never; @@ -25,408 +26,417 @@ -moz-osx-font-smoothing: grayscale; } +.icon-dashboard:before { + content: '\e989'; +} +.icon-audio:before { + content: '\e987'; +} +.icon-distributions:before { + content: '\e988'; +} .icon-pin-to-top:before { - content: "\e984"; + content: '\e984'; } .icon-pin-to-bottom:before { - content: "\e985"; + content: '\e985'; } .icon-flexible:before { - content: "\e986"; + content: '\e986'; } .icon-arrow-left-contained:before { - content: "\e980"; + content: '\e980'; } .icon-arrow-up-contained:before { - content: "\e981"; + content: '\e981'; } .icon-arrow-right-contained:before { - content: "\e982"; + content: '\e982'; } .icon-arrow-down-contained:before { - content: "\e983"; + content: '\e983'; } .icon-figures-explorer:before { - content: "\e97e"; + content: '\e97e'; } .icon-box-settings:before { - content: "\e97d"; + content: '\e97d'; } .icon-full-screen:before { - content: "\e97b"; + content: '\e97b'; } .icon-new-tab:before { - content: "\e97c"; + content: '\e97c'; } .icon-compare:before { - content: "\e97a"; + content: '\e97a'; } .icon-axes-props:before { - content: "\e979"; + content: '\e979'; } .icon-info-circle-outline:before { - content: "\e978"; + content: '\e978'; } .icon-update-time:before { - content: "\e977"; + content: '\e977'; } .icon-minus:before { - content: "\e976"; + content: '\e976'; } .icon-color-scale-on:before { - content: "\e973"; + content: '\e973'; } .icon-color-scale-off:before { - content: "\e974"; + content: '\e974'; } .icon-avatar:before { - content: "\e972"; + content: '\e972'; } .icon-branch:before { - content: "\e975"; + content: '\e975'; } .icon-circle-question:before { - content: "\e96c"; + content: '\e96c'; } .icon-hide-system-metrics:before { - content: "\e96a"; + content: '\e96a'; } .icon-show-system-metrics:before { - content: "\e96b"; + content: '\e96b'; } .icon-images-stacking:before { - content: "\e969"; + content: '\e969'; } .icon-case-sensitive:before { - content: "\e966"; + content: '\e966'; } .icon-word-match:before { - content: "\e967"; + content: '\e967'; } .icon-regex:before { - content: "\e968"; + content: '\e968'; } .icon-archive:before { - content: "\e94f"; + content: '\e94f'; } .icon-unarchive:before { - content: "\e965"; + content: '\e965'; } .icon-partially-selected:before { - content: "\e964"; + content: '\e964'; } .icon-trendline:before { - content: "\e95f"; + content: '\e95f'; } .icon-slack:before { - content: "\e960"; + content: '\e960'; } .icon-success-icon:before { - content: "\e961"; + content: '\e961'; } .icon-circle-info:before { - content: "\e94e"; + content: '\e94e'; } .icon-warning-outline:before { - content: "\e962"; + content: '\e962'; } .icon-warning-contained:before { - content: "\e95e"; + content: '\e95e'; } .icon-voice-on:before { - content: "\e95a"; + content: '\e95a'; } .icon-voice-off:before { - content: "\e95b"; + content: '\e95b'; } .icon-pause:before { - content: "\e95c"; + content: '\e95c'; } .icon-play:before { - content: "\e95d"; + content: '\e95d'; } .icon-image-properties:before { - content: "\e959"; + content: '\e959'; } .icon-y-axis:before { - content: "\e957"; + content: '\e957'; } .icon-image-group:before { - content: "\e958"; + content: '\e958'; } .icon-group-column:before { - content: "\e97f"; + content: '\e97f'; } .icon-scatterplot:before { - content: "\e955"; + content: '\e955'; } .icon-image-explorer:before { - content: "\e956"; + content: '\e956'; } .icon-full-docs:before { - content: "\e952"; + content: '\e952'; } .icon-live-demo:before { - content: "\e953"; + content: '\e953'; } .icon-co:before { - content: "\e954"; + content: '\e954'; } .icon-sort-arrow-down:before { - content: "\e91b"; + content: '\e91b'; } .icon-sort-arrow-up:before { - content: "\e951"; + content: '\e951'; } .icon-images:before { - content: "\e950"; + content: '\e950'; } .icon-link:before { - content: "\e93e"; + content: '\e93e'; } .icon-close-rectangle:before { - content: "\e900"; + content: '\e900'; } .icon-close:before { - content: "\e901"; + content: '\e901'; } .icon-close-circle:before { - content: "\e902"; + content: '\e902'; } .icon-eye-fill-show:before { - content: "\e903"; + content: '\e903'; } .icon-eye-outline-hide:before { - content: "\e904"; + content: '\e904'; } .icon-eye-show-outline:before { - content: "\e905"; + content: '\e905'; } .icon-eye-fill-hide:before { - content: "\e906"; + content: '\e906'; } .icon-row-height-down:before { - content: "\e907"; + content: '\e907'; } .icon-reset-width-outside:before { - content: "\e908"; + content: '\e908'; } .icon-reset-width-inside:before { - content: "\e909"; + content: '\e909'; } .icon-row-height-up:before { - content: "\e90a"; + content: '\e90a'; } .icon-pin-right:before { - content: "\e90b"; + content: '\e90b'; } .icon-pin-left:before { - content: "\e90c"; + content: '\e90c'; } .icon-pin:before { - content: "\e90d"; + content: '\e90d'; } .icon-expand-horizontal:before { - content: "\e90e"; + content: '\e90e'; } .icon-expand-vertical:before { - content: "\e90f"; + content: '\e90f'; } .icon-arrow-up:before { - content: "\e910"; + content: '\e910'; } .icon-arrow-left:before { - content: "\e911"; + content: '\e911'; } .icon-arrow-down:before { - content: "\e912"; + content: '\e912'; } .icon-arrow-right:before { - content: "\e913"; + content: '\e913'; } .icon-manage-column:before { - content: "\e914"; + content: '\e914'; } .icon-long-arrow-right:before { - content: "\e915"; + content: '\e915'; } .icon-long-arrow-left:before { - content: "\e916"; + content: '\e916'; } .icon-cursor:before { - content: "\e917"; + content: '\e917'; } .icon-delete:before { - content: "\e918"; + content: '\e918'; } .icon-sort-inside:before { - content: "\e919"; + content: '\e919'; } .icon-sort-outside:before { - content: "\e91a"; + content: '\e91a'; } .icon-metrics:before { - content: "\e91c"; + content: '\e91c'; } .icon-tags:before { - content: "\e91d"; + content: '\e91d'; } .icon-bookmarks:before { - content: "\e91e"; + content: '\e91e'; } .icon-runs:before { - content: "\e91f"; + content: '\e91f'; } .icon-back-left:before { - content: "\e920"; + content: '\e920'; } .icon-back-down:before { - content: "\e921"; + content: '\e921'; } .icon-back-up:before { - content: "\e922"; + content: '\e922'; } .icon-back-right:before { - content: "\e923"; + content: '\e923'; } .icon-back-up-right:before { - content: "\e924"; + content: '\e924'; } .icon-back-up-left:before { - content: "\e925"; + content: '\e925'; } .icon-back-down-left:before { - content: "\e926"; + content: '\e926'; } .icon-back-down-right:before { - content: "\e927"; + content: '\e927'; } .icon-more-horizontal:before { - content: "\e928"; + content: '\e928'; } .icon-more-vertical:before { - content: "\e929"; + content: '\e929'; } .icon-drag:before { - content: "\e92a"; + content: '\e92a'; } .icon-move-to-left:before { - content: "\e92b"; + content: '\e92b'; } .icon-move-to-right:before { - content: "\e92c"; + content: '\e92c'; } .icon-reset:before { - content: "\e92d"; + content: '\e92d'; } .icon-line-style:before { - content: "\e92e"; + content: '\e92e'; } .icon-chart-group:before { - content: "\e92f"; + content: '\e92f'; } .icon-coloring:before { - content: "\e930"; + content: '\e930'; } .icon-zoom-in:before { - content: "\e931"; + content: '\e931'; } .icon-ignore-outliers:before { - content: "\e932"; + content: '\e932'; } .icon-smoothing:before { - content: "\e933"; + content: '\e933'; } .icon-highlight-mode:before { - content: "\e934"; + content: '\e934'; } .icon-axes-scale:before { - content: "\e935"; + content: '\e935'; } .icon-x-axis:before { - content: "\e936"; + content: '\e936'; } .icon-indicator:before { - content: "\e937"; + content: '\e937'; } .icon-aggregation:before { - content: "\e938"; + content: '\e938'; } .icon-zoom-out:before { - content: "\e939"; + content: '\e939'; } .icon-collapse-inside:before { - content: "\e93a"; + content: '\e93a'; } .icon-collapse-outside:before { - content: "\e93b"; + content: '\e93b'; } .icon-arrow-bidirectional-close:before { - content: "\e93c"; + content: '\e93c'; } .icon-arrow-bidirectional-open:before { - content: "\e93d"; + content: '\e93d'; } .icon-row-height:before { - content: "\e93f"; + content: '\e93f'; } .icon-copy:before { - content: "\e941"; + content: '\e941'; } .icon-menu:before { - content: "\e942"; + content: '\e942'; } .icon-download:before { - content: "\e943"; + content: '\e943'; } .icon-upload:before { - content: "\e944"; + content: '\e944'; } .icon-edit:before { - content: "\e945"; + content: '\e945'; } .icon-search-info:before { - content: "\e946"; + content: '\e946'; } .icon-search:before { - content: "\e947"; + content: '\e947'; } .icon-table-resize-maximize:before { - content: "\e948"; + content: '\e948'; } .icon-table-resize-hide:before { - content: "\e949"; + content: '\e949'; } .icon-table-resize-resizable:before { - content: "\e94a"; + content: '\e94a'; } .icon-plus:before { - content: "\e94b"; + content: '\e94b'; } .icon-circle-with-dot:before { - content: "\e94c"; + content: '\e94c'; } .icon-check-rectangle:before { - content: "\e94d"; + content: '\e94d'; } .icon-check:before { - content: "\e963"; + content: '\e963'; } .icon-params:before { - content: "\e940"; + content: '\e940'; } .icon-time:before { - content: "\e96e"; + content: '\e96e'; } .icon-duration:before { - content: "\e96f"; + content: '\e96f'; } .icon-hash:before { - content: "\e970"; + content: '\e970'; } .icon-calendar:before { - content: "\e971"; + content: '\e971'; } .icon-text:before { - content: "\e96d"; + content: '\e96d'; } diff --git a/aim/web/ui/public/assets/icomoon/selection.json b/aim/web/ui/public/assets/icomoon/selection.json index 4ea893ee01..b7cdd0bbb8 100644 --- a/aim/web/ui/public/assets/icomoon/selection.json +++ b/aim/web/ui/public/assets/icomoon/selection.json @@ -1 +1 @@ -{"IcoMoonType":"selection","icons":[{"icon":{"paths":["M831.999 1023.999h-640c-105.99-0.12-191.88-86.008-192-191.988v-640.012c0.12-105.99 86.008-191.88 191.988-192h640.011c105.99 0.12 191.88 86.008 192 191.988v640.012c-0.12 105.99-86.008 191.88-191.988 192h-0.012zM192.001 96.001c-52.995 0.060-95.94 43.005-96 95.994v640.006c0.060 52.995 43.005 95.94 95.994 96h640.006c52.995-0.060 95.94-43.005 96-95.994v-640.006c-0.060-52.995-43.005-95.94-95.994-96h-0.006zM256 192.001h511.999c35.346 0 64 28.654 64 64v0 127.999c0 35.346-28.654 64-64 64v0h-511.999c-35.346 0-64-28.654-64-64v0-127.999c0-35.346 28.654-64 64-64v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["pin-to-top"],"colorPermutations":{}},"attrs":[],"properties":{"order":603,"id":134,"name":"pin-to-top","prevSize":32,"code":59780},"setIdx":0,"setId":7,"iconIdx":0},{"icon":{"paths":["M831.999 1023.999h-640c-105.99-0.12-191.88-86.008-192-191.988v-640.012c0.12-105.99 86.008-191.88 191.988-192h640.011c105.99 0.12 191.88 86.008 192 191.988v640.012c-0.12 105.99-86.008 191.88-191.988 192h-0.012zM192.001 96.001c-52.995 0.060-95.94 43.005-96 95.994v640.006c0.060 52.995 43.005 95.94 95.994 96h640.006c52.995-0.060 95.94-43.005 96-95.994v-640.006c-0.060-52.995-43.005-95.94-95.994-96h-0.006zM256 576h511.999c35.346 0 64 28.654 64 64v0 127.999c0 35.346-28.654 64-64 64v0h-511.999c-35.346 0-64-28.654-64-64v0-127.999c0-35.346 28.654-64 64-64v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["pin-to-bottom"],"colorPermutations":{}},"attrs":[],"properties":{"order":602,"id":133,"name":"pin-to-bottom","prevSize":32,"code":59781},"setIdx":0,"setId":7,"iconIdx":1},{"icon":{"paths":["M831.999 1023.999h-640c-105.99-0.12-191.88-86.008-192-191.988v-640.012c0.12-105.99 86.008-191.88 191.988-192h640.011c105.99 0.12 191.88 86.008 192 191.988v640.012c-0.12 105.99-86.008 191.88-191.988 192h-0.012zM192.001 96.001c-52.995 0.060-95.94 43.005-96 95.994v640.006c0.060 52.995 43.005 95.94 95.994 96h640.006c52.995-0.060 95.94-43.005 96-95.994v-640.006c-0.060-52.995-43.005-95.94-95.994-96h-0.006zM256 384.001h511.999c35.346 0 64 28.654 64 64v0 127.999c0 35.346-28.654 64-64 64v0h-511.999c-35.346 0-64-28.654-64-64v0-127.999c0-35.346 28.654-64 64-64v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["flexible"],"colorPermutations":{}},"attrs":[],"properties":{"order":604,"id":132,"name":"flexible","prevSize":32,"code":59782},"setIdx":0,"setId":7,"iconIdx":2},{"icon":{"paths":["M798.952 967.111v-910.222c0-31.419-25.47-56.889-56.889-56.889-12.87 0-24.744 4.274-34.278 11.481l0.144-0.104-606.815 455.111c-13.878 10.489-22.756 26.963-22.756 45.511s8.878 35.022 22.611 45.407l0.144 0.104 606.815 455.111c9.389 7.104 21.263 11.378 34.133 11.378 31.419 0 56.889-25.47 56.889-56.889v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["arrow-left"],"grid":0},"attrs":[{}],"properties":{"order":595,"id":0,"name":"arrow-left-contained","prevSize":32,"code":59776},"setIdx":0,"setId":7,"iconIdx":3},{"icon":{"paths":["M56.889 799.578h910.222c31.419 0 56.889-25.47 56.889-56.889 0-12.87-4.274-24.744-11.481-34.278l0.104 0.144-455.111-606.815c-10.489-13.878-26.963-22.756-45.511-22.756s-35.022 8.878-45.407 22.611l-0.104 0.144-455.111 606.815c-7.104 9.389-11.378 21.263-11.378 34.133 0 31.419 25.47 56.889 56.889 56.889v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["arrow-up-contained"],"grid":0},"attrs":[{}],"properties":{"order":594,"id":1,"name":"arrow-up-contained","prevSize":32,"code":59777},"setIdx":0,"setId":7,"iconIdx":4},{"icon":{"paths":["M239.693 56.889v910.222c0 31.419 25.47 56.889 56.889 56.889 12.87 0 24.744-4.274 34.278-11.481l-0.144 0.104 606.815-455.111c13.878-10.489 22.756-26.963 22.756-45.511s-8.878-35.022-22.611-45.407l-0.144-0.104-606.815-455.111c-9.389-7.104-21.263-11.378-34.133-11.378-31.419 0-56.889 25.47-56.889 56.889v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["arrow-right-contained"],"grid":0},"attrs":[{}],"properties":{"order":593,"id":2,"name":"arrow-right-contained","prevSize":32,"code":59778},"setIdx":0,"setId":7,"iconIdx":5},{"icon":{"paths":["M967.111 224.541h-910.222c-31.419 0-56.889 25.47-56.889 56.889 0 12.87 4.274 24.744 11.481 34.278l-0.104-0.144 455.111 606.815c10.489 13.878 26.963 22.756 45.511 22.756s35.022-8.878 45.407-22.611l0.104-0.144 455.111-606.815c7.104-9.389 11.378-21.263 11.378-34.133 0-31.419-25.47-56.889-56.889-56.889v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["arrow-down-contained"],"grid":0},"attrs":[{}],"properties":{"order":592,"id":3,"name":"arrow-down-contained","prevSize":32,"code":59779},"setIdx":0,"setId":7,"iconIdx":6},{"icon":{"paths":["M967.112 986.074h-872.298c-52.342-0.057-94.759-42.473-94.815-94.809v-796.45c0-31.419 25.469-56.889 56.889-56.889s56.889 25.469 56.889 56.889v0 777.482h853.334c31.419 0 56.889 25.469 56.889 56.889s-25.469 56.889-56.889 56.889v0zM266.666 558.185c266.247-55.286 495.261-188.346 668.625-374.031l0.674-0.729c7.613-8.379 12.272-19.558 12.272-31.826 0-26.179-21.223-47.401-47.401-47.401-14.010 0-26.599 6.078-35.278 15.739l-0.039 0.044c-161.407 172.208-373.614 295.024-612.649 344.529l-7.535 1.305c-21.202 5.022-36.733 23.792-36.733 46.188 0 26.166 21.2 47.382 47.361 47.404h0.002c0.037 0 0.083 0 0.128 0 3.751 0 7.397-0.445 10.89-1.287l-0.316 0.065zM834.372 417.185v379.259c0 10.474 8.49 18.962 18.962 18.962v0h75.851c10.474 0 18.962-8.49 18.962-18.962v0-379.259c0-10.474-8.49-18.962-18.962-18.964h-75.85c0 0-0.002 0-0.002 0-10.474 0-18.964 8.49-18.964 18.964v0zM834.372 417.185v379.259c0 10.474 8.49 18.962 18.962 18.962v0h75.851c10.474 0 18.962-8.49 18.962-18.962v0-379.259c0-10.474-8.49-18.962-18.962-18.964h-75.85c0 0-0.002 0-0.002 0-10.474 0-18.964 8.49-18.964 18.964v0zM625.779 493.034v303.408c0 10.474 8.49 18.962 18.962 18.962v0h75.851c10.474 0 18.962-8.49 18.962-18.962v0-303.408c0-10.474-8.49-18.962-18.962-18.964h-75.85c-0.002 0-0.002 0-0.003 0-10.474 0-18.964 8.49-18.964 18.964 0 0.002 0 0.002 0 0.003v0zM625.779 493.034v303.408c0 10.474 8.49 18.962 18.962 18.962v0h75.851c10.474 0 18.962-8.49 18.962-18.962v0-303.408c0-10.474-8.49-18.962-18.962-18.964h-75.85c-0.002 0-0.002 0-0.003 0-10.474 0-18.964 8.49-18.964 18.964 0 0.002 0 0.002 0 0.003v0zM417.186 606.812v189.63c0 10.474 8.49 18.962 18.962 18.962v0h75.851c10.474 0 18.962-8.49 18.962-18.962v0-189.627c0-10.474-8.49-18.962-18.962-18.962v0h-75.85c0 0-0.002 0-0.002 0-10.474 0-18.962 8.49-18.962 18.962v0zM417.186 606.812v189.63c0 10.474 8.49 18.962 18.962 18.962v0h75.851c10.474 0 18.962-8.49 18.962-18.962v0-189.627c0-10.474-8.49-18.962-18.962-18.962v0h-75.85c0 0-0.002 0-0.002 0-10.474 0-18.962 8.49-18.962 18.962v0zM208.592 682.666v113.778c0 10.474 8.49 18.962 18.962 18.962h75.851c10.474 0 18.962-8.49 18.962-18.962v0-113.778c0-10.474-8.49-18.962-18.962-18.964h-75.85c0 0-0.002 0-0.002 0-10.474 0-18.964 8.49-18.964 18.964v0zM208.592 682.666v113.778c0 10.474 8.49 18.962 18.962 18.962h75.851c10.474 0 18.962-8.49 18.962-18.962v0-113.778c0-10.474-8.49-18.962-18.962-18.964h-75.85c0 0-0.002 0-0.002 0-10.474 0-18.964 8.49-18.964 18.964v0zM208.592 303.407c0 31.419 25.469 56.889 56.889 56.889s56.889-25.469 56.889-56.889c0-31.419-25.469-56.889-56.889-56.889 0 0 0 0 0 0v0c-31.419 0-56.889 25.469-56.889 56.889 0 0 0 0 0 0v0zM303.407 113.778c0 31.418 25.471 56.889 56.889 56.889s56.889-25.469 56.889-56.889c0-31.419-25.469-56.889-56.889-56.889v0c-31.419 0-56.889 25.469-56.889 56.889 0 0 0 0 0 0.002v0zM455.111 265.482c0 31.419 25.471 56.889 56.889 56.889s56.889-25.469 56.889-56.889c0-31.419-25.469-56.889-56.889-56.889v0c-31.419 0-56.889 25.469-56.889 56.889v0zM587.851 113.778c0 31.419 25.469 56.889 56.889 56.889s56.889-25.469 56.889-56.889c0-31.419-25.469-56.889-56.889-56.889v0c-31.419 0-56.889 25.469-56.889 56.889v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["figures explorer"],"grid":0},"attrs":[],"properties":{"order":598,"id":4,"name":"figures-explorer","prevSize":32,"code":59774},"setIdx":0,"setId":7,"iconIdx":7},{"icon":{"paths":["M853.333 1024h-682.667c-94.213-0.107-170.56-76.452-170.667-170.656v-682.677c0.107-94.213 76.452-170.56 170.656-170.667h682.677c94.213 0.107 170.56 76.452 170.667 170.656v682.677c-0.107 94.213-76.452 170.56-170.656 170.667h-0.011zM170.667 85.333c-47.107 0.053-85.28 38.227-85.333 85.328v682.672c0.053 47.107 38.227 85.28 85.328 85.333h682.672c47.107-0.053 85.28-38.227 85.333-85.328v-682.672c-0.053-47.107-38.227-85.28-85.328-85.333h-0.005zM801.235 423.117l-38.679-4.904c-2.191-5.797-4.568-11.593-7.133-17.169l23.928-30.839c7.881-9.921 12.644-22.628 12.644-36.447 0-16.423-6.727-31.273-17.573-41.949l-42.112-42.072c-10.671-10.947-25.561-17.737-42.039-17.737-13.823 0-26.529 4.779-36.559 12.775l0.119-0.091-30.84 23.856c-5.649-2.527-11.372-4.905-17.169-7.060l-4.937-38.719c-3.705-29.496-28.628-52.088-58.828-52.096h-60.155c-30.192 0.007-55.103 22.603-58.753 51.805l-0.029 0.291-4.944 38.719c-5.831 2.155-11.555 4.533-17.129 7.060l-30.876-24.004c-9.92-7.773-22.579-12.467-36.333-12.467-16.435 0-31.304 6.699-42.028 17.516l-42.101 42.067c-10.924 10.687-17.696 25.576-17.696 42.048 0 13.813 4.763 26.515 12.736 36.551l-0.092-0.121 23.929 30.839c-2.564 5.575-4.941 11.372-7.097 17.169l-38.793 4.904c-29.432 3.828-51.941 28.701-52.024 58.848v60.208c0.048 30.176 22.623 55.064 51.803 58.753l0.292 0.031 38.681 4.904c2.192 5.797 4.533 11.52 7.097 17.169l-23.893 30.84c-7.879 9.927-12.64 22.639-12.64 36.461 0 16.448 6.741 31.321 17.611 42.008l42.105 42.072c10.711 10.883 25.6 17.627 42.065 17.627 13.797 0 26.488-4.736 36.537-12.669l-0.124 0.095 30.843-24.007q8.473 3.908 17.129 7.14l4.944 38.639c3.657 29.52 28.575 52.148 58.781 52.173h60.163c30.187-0.043 55.088-22.615 58.793-51.8l0.031-0.293 4.904-38.719c5.831-2.156 11.555-4.535 17.203-7.060l30.879 24.001c9.916 7.792 22.58 12.496 36.341 12.496 16.437 0 31.307-6.711 42.017-17.543l42.069-42.069c10.953-10.677 17.747-25.576 17.747-42.063 0-13.811-4.768-26.508-12.748-36.536l0.092 0.12-23.967-30.84q3.848-8.476 7.133-17.169l38.684-4.977c29.468-3.731 52.033-28.612 52.093-58.777v-60.207c-0.048-30.177-22.624-55.067-51.807-58.753l-0.292-0.031zM788.417 537.043l-54.363 6.985c-12.985 1.681-23.455 10.843-27.032 22.959l-0.059 0.229c-4.809 16.628-10.959 31.075-18.589 44.573l0.532-1.024c-2.636 4.576-4.192 10.063-4.192 15.913 0 7.543 2.585 14.481 6.917 19.979l-0.052-0.069 33.553 43.179-35.373 35.3-43.252-33.593c-5.416-4.199-12.307-6.731-19.789-6.731-5.82 0-11.283 1.532-16.007 4.215l0.16-0.084c-12.519 7.116-27.019 13.267-42.249 17.696l-1.447 0.36c-12.333 3.665-21.476 14.143-23.131 26.968l-0.017 0.163-6.952 54.397h-50.159l-6.912-54.397c-1.747-12.988-10.913-23.449-23.031-27.065l-0.231-0.059c-16.595-4.772-31.019-10.897-44.491-18.511l1.016 0.528c-4.58-2.657-10.077-4.225-15.941-4.225-7.549 0-14.491 2.599-19.98 6.949l0.067-0.051-43.14 33.439-35.375-35.368 33.516-43.031c4.281-5.441 6.865-12.393 6.865-19.948 0-5.833-1.54-11.305-4.237-16.033l0.084 0.16c-7.108-12.476-13.257-26.924-17.696-42.101l-0.363-1.447c-3.608-12.379-14.087-21.573-26.928-23.244l-0.163-0.017-54.399-6.985v-50.091l54.584-6.912c12.872-1.864 23.208-10.993 26.804-23.031l0.060-0.232c4.832-16.684 11.007-31.18 18.667-44.724l-0.535 1.027c2.58-4.533 4.101-9.96 4.101-15.743 0-7.552-2.595-14.497-6.94-19.995l0.052 0.068-33.512-43.107 35.411-35.375 43.289 33.665c5.475 4.079 12.372 6.529 19.841 6.529 5.753 0 11.168-1.455 15.895-4.016l-0.176 0.088c12.513-7.155 27-13.331 42.225-17.773l1.437-0.359c12.375-3.621 21.556-14.115 23.205-26.964l0.017-0.161 6.912-54.325h50.164l6.912 54.325c1.615 12.992 10.788 23.476 22.921 26.995l0.227 0.056c16.639 4.824 31.085 10.947 44.603 18.528l-1.055-0.543c4.597 2.757 10.143 4.388 16.069 4.388 7.535 0 14.455-2.636 19.887-7.035l-0.059 0.047 43.139-33.516 35.34 35.375-33.485 43.104c-4.257 5.469-6.825 12.436-6.825 20.003 0 5.805 1.512 11.257 4.163 15.984l-0.085-0.165c7.113 12.496 13.276 26.967 17.731 42.167l0.365 1.455c3.645 12.34 14.109 21.496 26.927 23.171l0.164 0.017 54.403 6.912zM512 358.688c-0.047 0-0.103 0-0.159 0-84.761 0-153.475 68.713-153.475 153.475s68.713 153.475 153.475 153.475c84.761 0 153.475-68.713 153.475-153.475 0-42.381-17.179-80.752-44.953-108.525v0c-27.728-27.749-66.037-44.921-108.356-44.949h-0.005zM512 600.44c-0.036 0-0.079 0-0.12 0-48.888 0-88.519-39.632-88.519-88.519s39.632-88.519 88.519-88.519c48.888 0 88.519 39.632 88.519 88.519 0 24.436-9.901 46.56-25.912 62.579v0c-15.989 16.005-38.079 25.915-62.481 25.941h-0.005z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["box-settings"],"grid":0},"attrs":[],"properties":{"order":597,"id":5,"name":"box-settings","prevSize":32,"code":59773},"setIdx":0,"setId":7,"iconIdx":8},{"icon":{"paths":["M853.334 1024h-170.666c-25.706 0-46.545-20.839-46.545-46.545s20.839-46.545 46.545-46.545v0h170.666c42.828-0.041 77.535-34.748 77.575-77.572v-170.671c0-25.706 20.839-46.545 46.545-46.545s46.545 20.839 46.545 46.545v0 170.666c-0.099 94.217-76.449 170.567-170.657 170.666h-0.010zM341.334 1024h-170.666c-94.217-0.099-170.567-76.449-170.666-170.657v-170.676c0-25.706 20.839-46.545 46.545-46.545s46.545 20.839 46.545 46.545v0 170.666c0.041 42.828 34.748 77.535 77.572 77.575h170.671c25.706 0 46.545 20.839 46.545 46.545s-20.839 46.545-46.545 46.545v0zM977.455 387.879c-25.703-0.007-46.538-20.842-46.545-46.545v0-170.666c-0.041-42.828-34.748-77.535-77.572-77.575h-170.671c-25.706 0-46.545-20.839-46.545-46.545s20.839-46.545 46.545-46.545v0h170.666c94.217 0.099 170.567 76.449 170.666 170.657v170.676c-0.007 25.703-20.842 46.538-46.545 46.545v0zM46.545 387.879c-25.703-0.007-46.538-20.842-46.545-46.545v0-170.666c0.099-94.217 76.449-170.567 170.657-170.666h170.676c25.706 0 46.545 20.839 46.545 46.545s-20.839 46.545-46.545 46.545v0h-170.666c-42.828 0.041-77.535 34.748-77.575 77.572v170.671c-0.007 25.703-20.842 46.538-46.545 46.545v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["full-screen"],"grid":0},"attrs":[],"properties":{"order":596,"id":6,"name":"full-screen","prevSize":32,"code":59771},"setIdx":0,"setId":7,"iconIdx":9},{"icon":{"paths":["M776.258 1024h-528.515c-136.757-0.166-247.576-110.985-247.742-247.726v-528.531c0.153-136.761 110.979-247.587 247.726-247.742h132.144c27.365 0 49.548 22.184 49.548 49.548s-22.184 49.548-49.548 49.548v0h-132.128c-82.057 0.093-148.552 66.588-148.645 148.636v528.524c0.104 82.052 66.593 148.541 148.636 148.645h528.526c82.047-0.116 148.529-66.598 148.645-148.634v-132.139c0-27.365 22.184-49.548 49.548-49.548s49.548 22.184 49.548 49.548v0 132.128c-0.178 136.752-110.988 247.564-247.725 247.742h-0.017zM974.452-0h-330.322c-27.365 0-49.548 22.184-49.548 49.548s22.184 49.548 49.548 49.548v0h210.706l-377.866 377.871c-8.889 8.953-14.383 21.287-14.383 34.904 0 27.362 22.181 49.544 49.544 49.544 13.618 0 25.952-5.494 34.907-14.386l377.868-377.863v210.706c0 27.365 22.184 49.548 49.548 49.548s49.548-22.184 49.548-49.548v0-330.322c0-27.365-22.184-49.548-49.548-49.548v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["new-tab"],"grid":0},"attrs":[],"properties":{"order":595,"id":7,"name":"new-tab","prevSize":32,"code":59772},"setIdx":0,"setId":7,"iconIdx":10},{"icon":{"paths":["M0.002 161.281v480.809c0 48.689 42.604 91.293 91.293 91.293h359.084c42.604 73.034 121.723 115.638 213.016 115.638 54.776 0 109.551-18.259 152.155-48.689l-6.087 6.087 133.896 133.896c18.259 18.259 48.689 18.259 66.947 0s18.259-48.689 0-66.947l-133.896-133.896-6.087 6.087c30.43-42.604 48.689-97.379 48.689-152.155 0-66.947-24.345-121.723-66.947-170.413v-261.706c0-48.689-42.604-91.293-91.293-91.293h-669.479c-48.689 0-91.293 42.604-91.293 91.293zM791.206 161.281v206.931c-30.43-18.259-60.862-30.43-91.293-36.517l60.862-97.379c6.087-12.172 6.087-30.43-12.172-42.604-12.172-6.087-30.43-6.087-42.604 12.172l-73.034 127.81c-42.604 6.087-85.206 24.345-121.723 48.689l-54.776-54.776c-6.087-6.087-18.259-12.172-24.345-6.087-12.172 0-18.259 6.087-24.345 18.259l-60.862 127.81-103.465-225.189c-6.087-12.172-18.259-18.259-30.43-18.259s-24.345 12.172-24.345 24.345l-91.293 304.308c-6.087 18.259 6.087 30.43 18.259 36.517 18.259 6.087 30.43-6.087 36.517-18.259l66.947-225.189 91.293 200.844c6.087 12.172 18.259 18.259 24.345 18.259 12.172 0 24.345-6.087 30.43-18.259l73.034-146.068 24.345 24.345c-42.604 48.689-66.947 103.465-66.947 170.413 0 30.43 6.087 60.862 12.172 85.206h-316.482c-18.259 0-30.43-12.172-30.43-30.43v-486.894c0-18.259 12.172-30.43 30.43-30.43h669.479c18.259 0 30.43 18.259 30.43 30.43zM827.723 593.4c0 91.293-73.034 170.413-170.413 170.413-91.293 0-170.413-73.034-170.413-170.413 0-91.293 73.034-170.413 170.413-170.413s170.413 79.121 170.413 170.413z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["compare"],"grid":0},"attrs":[],"properties":{"order":594,"id":8,"name":"compare","prevSize":32,"code":59770},"setIdx":0,"setId":7,"iconIdx":11},{"icon":{"paths":["M1023.974 961.382c0 0.006 0 0.012 0 0.019 0 34.606-28.053 62.66-62.66 62.66-0.007 0-0.013 0-0.020 0h-764.789c-0.019 0-0.041 0-0.063 0-108.479 0-196.418-87.94-196.418-196.418 0-0.010 0-0.022 0-0.032v0.001-764.669c0-0.095-0.001-0.206-0.001-0.319 0-8.556 1.75-16.704 4.912-24.105l-0.152 0.401c3.29-7.937 7.867-14.712 13.537-20.396l-0.001 0.001c5.681-5.675 12.444-10.268 19.954-13.442l0.413-0.155c6.638-2.294 14.368-3.976 22.37-4.726l0.402-0.031c1.011-0.070 2.192-0.111 3.383-0.111 7.947 0 15.476 1.795 22.203 5.002l-0.312-0.135c15.461 6.484 27.5 18.562 33.779 33.64l0.152 0.411c2.988 6.983 4.726 15.109 4.726 23.641 0 0.135 0 0.268-0.001 0.402v-0.020 764.608c0 0.057 0 0.124 0 0.192 0 9.744 1.984 19.026 5.571 27.462l-0.174-0.459c10.967 26.015 36.25 43.946 65.724 43.961h764.789c17.289 0.056 32.939 7.031 44.334 18.299l-0.006-0.006c11.338 11.342 18.35 27.008 18.35 44.312 0 0.004 0 0.009 0 0.013v0zM295.374 794.931l499.471-499.471c8.669-8.505 14.040-20.341 14.040-33.434 0-25.861-20.965-46.826-46.826-46.826-13.089 0-24.924 5.37-33.422 14.029l-499.486 499.484c-8.666 8.505-14.036 20.34-14.036 33.429 0 25.861 20.965 46.826 46.826 46.826 13.092 0 24.929-5.373 33.426-14.033l0.007-0.007zM758.018 522.087h-1.708c-1.008-0.044-2.189-0.069-3.377-0.069-13.382 0-26.025 3.167-37.219 8.792l0.477-0.218c-8.54 4.116-15.422 10.527-20.002 18.438l-0.117 0.219c-1.888 3.111-3.006 6.87-3.006 10.891 0 0.299 0.006 0.594 0.018 0.89l-0.001-0.042c0.14 5.29 2.074 10.101 5.212 13.878l-0.029-0.037c3.137 3.758 7.28 6.579 12.012 8.060l0.181 0.048c3.813 1.276 8.215 2.088 12.782 2.253l0.083 0.003c4.485-0.146 8.752-0.783 12.841-1.857l-0.401 0.089c2.303-0.776 4.993-1.356 7.773-1.633l0.157-0.013c5.452 0.101 10.411 2.138 14.234 5.451l-0.028-0.023c6.462 5.249 12.052 11.206 16.764 17.83l0.186 0.277c6.159 8.231 15.852 22.011 29.51 42.070l12.742 18.719c-22.864 27.62-41.398 49.324-55.301 64.751-10.117 12.081-21.146 22.781-33.183 32.26l-0.473 0.359c-7 5.954-13.187 12.489-18.618 19.632l-0.222 0.306c-2.726 3.303-5.006 7.11-6.665 11.234l-0.102 0.29-0.549 1.402 0.124 1.463c0.827 8.518 4.485 16.054 10.009 21.778l-0.010-0.010c3.063 3.388 6.775 6.125 10.95 8.025l0.208 0.085c4.015 1.774 8.698 2.805 13.62 2.805 0.078 0 0.154 0 0.231-0.001h-0.012c4.672-0.132 9.134-0.724 13.436-1.735l-0.449 0.089c5.070-1.239 9.504-3.434 13.309-6.399l-0.078 0.059c14.591-13.007 27.934-26.506 40.392-40.8l0.459-0.538c13.536-15.546 30.059-35.179 50.363-59.874 17.763 26.675 35.687 49.849 55.082 71.689l-0.574-0.658c6.529 8.124 14.57 14.743 23.733 19.5l0.411 0.195c8.974 4.728 19.496 7.836 30.655 8.644l0.258 0.015c1.117 0.057 2.425 0.089 3.74 0.089 11.725 0 22.851-2.571 32.842-7.18l-0.487 0.202c5.31-2.337 9.674-5.995 12.798-10.567l0.066-0.102c2.903-4.169 4.637-9.339 4.637-14.915 0-0.158-0.001-0.316-0.004-0.473v0.023c0.018-0.281 0.026-0.61 0.026-0.942 0-3.064-0.824-5.937-2.264-8.405l0.042 0.079c-1.68-2.916-4.034-5.271-6.861-6.902l-0.089-0.048c-5.584-3.011-12.061-5.54-18.861-7.252l-0.588-0.126c-5.663-1.4-10.597-3.219-15.261-5.503l0.445 0.198c-12.968-7.521-23.839-17.187-32.484-28.628l-0.198-0.272c-11.462-14.389-26.339-35.485-44.328-62.559 20.486-24.938 37.559-44.935 52.070-61.214 12.996-14.755 26.477-28.208 40.775-40.755l0.502-0.432 1.523-1.981c4.064-8.127 6.589-17.661 6.948-27.744l0.003-0.12c0.035-0.528 0.056-1.144 0.056-1.766 0-7.35-2.826-14.040-7.45-19.043l0.018 0.019c-2.533-2.839-5.673-5.079-9.223-6.525l-0.167-0.060c-2.911-1.215-6.294-1.921-9.841-1.921-0.442 0-0.881 0.010-1.318 0.032l0.061-0.003c-0.132-0.001-0.288-0.003-0.445-0.003-7.103 0-13.777 1.831-19.578 5.047l0.208-0.105c-8.2 5.256-15.23 11.423-21.228 18.492l-0.111 0.135c-13.963 14.541-37.193 42.131-69.080 82.099-13.718-21.522-24.876-37.863-33.169-48.503-8.535-11.67-18.755-21.503-30.419-29.358l-0.432-0.274c-11.039-7.085-24.509-11.297-38.963-11.303h-0.001zM227.266 52.67c-1.239-2.839-2.085-6.131-2.371-9.582l-0.007-0.113c-0.064-0.729-0.101-1.577-0.101-2.433 0-9.677 4.645-18.268 11.825-23.667l0.076-0.054c7.096-5.070 15.949-8.108 25.51-8.108 0.56 0 1.117 0.010 1.673 0.031l-0.080-0.003c0.423-0.025 0.916-0.040 1.414-0.040 5.732 0 11.026 1.88 15.296 5.059l-0.069-0.048c5.303 4.17 9.709 9.207 13.066 14.933l0.135 0.249c13.868 24.545 26.607 53.178 36.618 83.062l1.030 3.549c7.956 22.072 14.146 38.35 18.779 49.66 3.658 8.475 7.742 16.92 12.195 25.090 7.118-18.038 14.599-41.28 20.816-65.034l1.042-4.687c6.371-21.676 11.494-38.747 15.426-51.46 4.778-14.554 9.67-26.565 15.261-38.175l-0.811 1.866c3.499-7.33 8.219-13.533 13.961-18.603l0.061-0.054c5.761-4.803 13.239-7.725 21.396-7.742h0.004c9.137 0.413 17.451 3.625 24.186 8.794l-0.102-0.075c3.749 1.766 6.825 4.431 9.034 7.725l0.050 0.079c2.491 3.509 4.097 7.804 4.416 12.454l0.004 0.076c-0.236 6.278-1.958 12.103-4.823 17.201l0.098-0.19c-15.091 35.089-28.779 69.080-40.485 100.51-11.341 31.155-22.468 65.91-33.017 103.224l-0.031 0.092c-6.25 20.944-13.048 41.308-20.182 60.423-3.354 9.542-6.25 17.315-8.628 23.169-1.832 4.865-3.791 8.974-6.046 12.89l0.224-0.421c-7.776 11.25-17.023 20.807-27.602 28.672l-0.322 0.228c-9.882 7.617-22.435 12.213-36.062 12.224h-0.003c-0.637 0.041-1.38 0.063-2.129 0.063-0.538 0-1.073-0.012-1.605-0.035l0.076 0.003c-13.424-0.029-26.138-3.050-37.516-8.429l0.537 0.228c-9.746-4.425-17.86-10.947-24.032-19.029l-0.11-0.151c-4.466-5.501-7.387-12.419-8.009-19.989l-0.009-0.132c-0.025-0.416-0.040-0.903-0.040-1.393 0-7.451 3.352-14.118 8.631-18.577l0.037-0.029c5.322-3.985 12.025-6.393 19.289-6.431h0.009c0.284-0.012 0.618-0.019 0.953-0.019 5.136 0 9.886 1.654 13.748 4.456l-0.067-0.047 5.701 3.996c2.189 1.656 4.674 3.134 7.317 4.323l0.243 0.098 1.248 0.639c1.733 0.884 3.774 1.411 5.938 1.433h0.007c2.53 0 10.212 0 17.225-14.695 6.525-15.136 12.018-32.91 15.611-51.363l0.272-1.681c-15.306-22.244-29.876-47.732-42.309-74.416l-1.377-3.291-13.657-31.644q-3.017-7.317-16.524-36.827c-9.141-21.635-17.788-39.124-27.286-56.074l1.465 2.845c-2.085-3.904-4.27-8.717-6.175-13.669l-0.316-0.937zM280.431 331.855l-0.004 0.012z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["axes-props"],"grid":0},"attrs":[],"properties":{"order":240,"id":9,"name":"axes-props","prevSize":32,"code":59769},"setIdx":0,"setId":7,"iconIdx":12},{"icon":{"paths":["M512 1024c-282.77 0-512-229.23-512-512s229.23-512 512-512c282.77 0 512 229.23 512 512v0c-0.335 282.636-229.365 511.667-511.968 512h-0.032zM512 96c-229.751 0-416 186.249-416 416s186.249 416 416 416c229.751 0 416-186.249 416-416v0c-0.275-229.641-186.36-415.727-415.974-416h-0.026zM512 432c-26.51 0-48 21.491-48 48v0 256.001c0 26.51 21.491 48 48 48s48-21.491 48-48v0-256.001c0-26.51-21.491-48-48-48v0zM512 224c-35.346 0-64.001 28.655-64.001 64.001s28.655 64.001 64.001 64.001c35.346 0 64.001-28.655 64.001-64.001v0c-0.048-35.327-28.673-63.953-63.996-64.001h-0.005z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["info-circle-outline"],"grid":0},"attrs":[],"properties":{"order":593,"id":10,"name":"info-circle-outline","prevSize":32,"code":59768},"setIdx":0,"setId":7,"iconIdx":13},{"icon":{"paths":["M1023.996 511.989c0 254.891-206.63 461.521-461.521 461.521-125.791 0-239.828-50.326-323.077-131.939l0.076 0.074c-10.886-10.507-17.646-25.229-17.646-41.529 0-31.861 25.829-57.691 57.691-57.691 15.889 0 30.278 6.424 40.711 16.815l-0.001-0.001c62.443 61.366 148.138 99.248 242.679 99.248 191.267 0 346.319-155.052 346.319-346.319s-155.052-346.319-346.319-346.319c-175.952 0-321.255 131.214-343.398 301.13l-0.185 1.744h54.701c0.001 0 0.001 0 0.003 0 23.893 0 43.264 19.37 43.264 43.264 0 11.949-4.843 22.766-12.675 30.596l-115.38 115.408c-7.827 7.831-18.644 12.676-30.592 12.676s-22.764-4.845-30.592-12.676l-115.38-115.408c-7.831-7.83-12.675-18.647-12.675-30.596 0-23.893 19.37-43.264 43.264-43.264 0.001 0 0.001 0 0.003 0h59.877c22.798-235.581 219.774-418.259 459.416-418.259 254.846 0 461.441 206.593 461.441 461.441 0 0.030 0 0.061 0 0.091v-0.005zM531.883 542.585l115.38 115.38c7.827 7.814 18.633 12.648 30.567 12.648 23.895 0 43.264-19.37 43.264-43.264 0-11.936-4.834-22.743-12.649-30.57v0l-102.704-102.704v-212.846c0-23.896-19.372-43.268-43.268-43.268s-43.268 19.372-43.268 43.268v0 230.761c0 0.001 0 0.004 0 0.007 0 11.947 4.845 22.761 12.676 30.589v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["update-time"],"grid":0},"attrs":[],"properties":{"order":494,"id":11,"name":"update-time","prevSize":32,"code":59767},"setIdx":0,"setId":7,"iconIdx":14},{"icon":{"paths":["M1023.964 511.957c0 31.373-25.433 56.807-56.807 56.807v0h-910.387c-31.373 0-56.807-25.433-56.807-56.807s25.433-56.807 56.807-56.807v0h910.387c31.373 0 56.807 25.433 56.807 56.807v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["minus"],"grid":0},"attrs":[],"properties":{"order":591,"id":12,"name":"minus","prevSize":32,"code":59766},"setIdx":0,"setId":7,"iconIdx":15},{"icon":{"paths":["M215.991 50.239c-6.586-4.076-14.574-6.493-23.127-6.493-24.54 0-44.436 19.893-44.436 44.436 0 16.115 8.579 30.227 21.42 38.019l0.196 0.111 90.884 54.887-202.461 350.7c-8.732 14.87-13.888 32.753-13.888 51.839 0 38.174 20.629 71.53 51.352 89.525l0.488 0.264 425.049 245.405c14.87 8.732 32.753 13.89 51.84 13.89 38.177 0 71.533-20.631 89.528-51.355l0.264-0.488 221.29-383.289c4.242-7.225 6.747-15.909 6.747-25.18 0-18.543-10.019-34.741-24.94-43.484l-0.238-0.13-522.17-301.477zM143.637 562.128l193.828-335.744 424.095 244.857zM1015.839 837.74c0.314 2.816 0.494 6.079 0.494 9.385 0 49.353-40.009 89.363-89.363 89.363s-89.363-40.009-89.363-89.363c0-3.307 0.18-6.569 0.53-9.782l-0.034 0.397c0-78.992 88.869-197.487 88.869-197.487s88.869 118.49 88.869 197.483z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["color-scale-on"],"grid":0},"attrs":[],"properties":{"order":522,"id":13,"name":"color-scale-on","prevSize":32,"code":59763},"setIdx":0,"setId":7,"iconIdx":16},{"icon":{"paths":["M57.44 157.954c-0.308-0.007-0.671-0.010-1.034-0.010-28.983 0-52.478 23.495-52.478 52.478 0 28.62 22.91 51.888 51.391 52.468l0.054 0.002 125.368 2.47 0.012 478.251c0 67.626 54.821 122.449 122.449 122.449v0h579.651c67.626 0 122.449-54.821 122.449-122.449v0-522.709c0-32.848-26.627-59.476-59.476-59.476v0h-712.093zM285.704 479.821l-0.005-213.437h614.65v213.434z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["color-scale-off"],"grid":0},"attrs":[],"properties":{"order":523,"id":14,"name":"color-scale-off","prevSize":32,"code":59764},"setIdx":0,"setId":7,"iconIdx":17},{"icon":{"paths":["M512 0c-282.769 0-512 229.231-512 512s229.231 512 512 512c282.769 0 512-229.231 512-512v0c-0.327-282.639-229.362-511.673-511.969-512h-0.031zM512 99.097c0.169 0 0.367 0 0.565 0 227.727 0 412.337 184.609 412.337 412.337 0 83.743-24.965 161.656-67.858 226.701l0.958-1.547c-79.076-106.662-204.554-175.040-346.002-175.040-141.451 0-266.931 68.38-345.186 173.887l-0.819 1.157c-41.935-63.499-66.9-141.412-66.9-225.155 0-227.729 184.611-412.341 412.341-412.341 0.198 0 0.395 0 0.593 0h-0.031zM236.186 818.391c23.633-73.514 147.951-157.746 275.814-157.746 127.835 0 252.178 84.232 275.814 157.746-72.571 66.060-169.469 106.512-275.814 106.512s-203.243-40.452-276.145-106.808l0.33 0.296zM512 545.032c91.215 0 165.162-73.945 165.162-165.162s-73.945-165.162-165.162-165.162c-91.215 0-165.162 73.945-165.162 165.162v0c0.099 91.177 73.985 165.063 165.151 165.162h0.009zM512 313.807c36.486 0 66.065 29.579 66.065 66.065s-29.579 66.065-66.065 66.065c-36.486 0-66.065-29.579-66.065-66.065v0c0.050-36.466 29.597-66.015 66.060-66.065h0.005z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["avatar"],"grid":0},"attrs":[],"properties":{"order":524,"id":15,"name":"avatar","prevSize":32,"code":59762},"setIdx":0,"setId":7,"iconIdx":18},{"icon":{"paths":["M264.802 105.889c-29.255 0-52.971 23.716-52.971 52.971s23.716 52.971 52.971 52.971c29.255 0 52.971-23.716 52.971-52.971v0c0-29.255-23.716-52.971-52.971-52.971v0zM105.889 158.86c0.028-87.745 71.165-158.865 158.913-158.865 87.765 0 158.913 71.149 158.913 158.913 0 68.778-43.693 127.351-104.836 149.475l-1.106 0.349v273.876c43.577-33.054 98.717-52.95 158.505-52.95 0.144 0 0.288 0 0.43 0h-0.022c123.764 0 224.649-97.947 229.373-220.554l0.013-0.43c-62.167-22.519-105.783-81.051-105.783-149.769 0-87.765 71.149-158.913 158.913-158.913s158.913 71.149 158.913 158.913c0 68.818-43.744 127.419-104.944 149.514l-1.107 0.349c-4.837 181.522-153.138 326.829-335.378 326.83v0c-0.012 0-0.026 0-0.041 0-61.496 0-114.833 34.931-141.251 86.035l-0.417 0.887c52.981 26.509 88.72 80.364 88.72 142.565 0 87.762-71.144 158.905-158.905 158.905s-158.905-71.144-158.905-158.905c0-68.776 43.693-127.348 104.836-149.47l1.106-0.349v-406.535c-62.251-22.498-105.941-81.082-105.942-149.874v0zM264.802 812.169c-29.255 0-52.971 23.716-52.971 52.971s23.716 52.971 52.971 52.971c29.255 0 52.971-23.716 52.971-52.971v0c0-29.255-23.716-52.971-52.971-52.971v0zM706.227 158.86c0-29.255 23.716-52.971 52.971-52.971s52.971 23.716 52.971 52.971c0 29.255-23.716 52.971-52.971 52.971v0c-29.255 0-52.971-23.716-52.971-52.971v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["Branch_ic-01"],"grid":0},"attrs":[],"properties":{"order":525,"id":16,"name":"branch","prevSize":32,"code":59765},"setIdx":0,"setId":7,"iconIdx":19},{"icon":{"paths":["M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512c282.77 0 512-229.23 512-512v0c0-282.77-229.23-512-512-512v0zM499.2 806.401c-28.277 0-51.2-22.923-51.2-51.2s22.923-51.2 51.2-51.2c28.232 0 51.128 22.85 51.2 51.065v0.008c0 0.024 0 0.051 0 0.080 0 28.287-22.917 51.221-51.198 51.249h-0.003zM597.001 507.188c-37.526 18.093-62.96 55.839-62.96 99.525 0 4.263 0.242 8.471 0.714 12.608l-0.047-0.506c0 19.436-15.756 35.192-35.193 35.192-0.002 0-0.002 0-0.003 0h-3.84c-19.431 0-35.184-15.753-35.184-35.184 0-0.002 0-0.005 0-0.006v0c0.516-102.005 29.063-124.278 77.336-155.618 32.099-18.111 53.721-51.483 55.016-90.006l0.005-0.177c-0.431-44.127-36.303-79.733-80.49-79.733-33.929 0-62.955 20.993-74.799 50.697l-0.191 0.543c-5.328 17.853-20.852 30.947-39.659 32.604l-0.173 0.012c-0.782 0.059-1.694 0.093-2.613 0.093-20.436 0-37.004-16.568-37.004-37.004 0-2.84 0.32-5.604 0.926-8.259l-0.048 0.249c18.845-63.215 76.452-108.516 144.639-108.516 3.335 0 6.644 0.108 9.924 0.321l-0.447-0.024c3.782-0.347 8.178-0.545 12.621-0.545 80.921 0 146.52 65.6 146.52 146.52 0 1.361-0.018 2.717-0.056 4.068l0.005-0.2c0.033 1.163 0.051 2.529 0.051 3.902 0 55.109-29.888 103.238-74.339 129.060l-0.713 0.383z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["question_ic-01"],"grid":0},"attrs":[],"properties":{"order":526,"id":17,"name":"circle-question","prevSize":32,"code":59756},"setIdx":0,"setId":7,"iconIdx":20},{"icon":{"paths":["M468.114 160.914v-117.028c0-24.237 19.648-43.886 43.886-43.886s43.886 19.648 43.886 43.886v117.028h87.771v-117.028c0-24.237 19.648-43.886 43.886-43.886s43.886 19.648 43.886 43.886v122.559l1.227 0.278c60.688 16.144 108.477 63.933 124.9 125.849h122.558c24.237 0 43.886 19.648 43.886 43.886s-19.648 43.886-43.886 43.886h-117.028v87.771h117.028c24.237 0 43.886 19.648 43.886 43.886s-19.648 43.886-43.886 43.886h-117.028v87.771h117.028c24.237 0 43.886 19.648 43.886 43.886s-19.648 43.886-43.886 43.886h-119.539l-85.262-85.262v-309.71c0-48.474-39.297-87.771-87.771-87.771h-309.71l-85.262-85.262v-119.538c0-24.237 19.648-43.886 43.886-43.886s43.886 19.648 43.886 43.886v117.028zM185.219 247.281l0.44-0.793c-8.289 13.827-14.718 28.897-19.215 46.083h-122.559c-24.237 0-43.886 19.648-43.886 43.886s19.648 43.886 43.886 43.886h117.028v87.771h-117.028c-24.237 0-43.886 19.648-43.886 43.886s19.648 43.886 43.886 43.886h117.028v87.771h-117.028c-24.237 0-43.886 19.648-43.886 43.886s19.648 43.886 43.886 43.886h122.559l0.278 1.227c16.144 60.688 63.933 108.477 125.849 124.9v122.558c0 24.237 19.648 43.886 43.886 43.886s43.886-19.648 43.886-43.886v-117.028h87.771v117.028c0 24.237 19.648 43.886 43.886 43.886s43.886-19.648 43.886-43.886v-117.028h87.771v117.028c0 24.237 19.648 43.886 43.886 43.886s43.886-19.648 43.886-43.886v-122.558l1.218-0.274c15.968-4.224 31.037-10.655 44.072-18.503l172.36 172.357c7.915 7.753 18.753 12.532 30.708 12.532 24.237 0 43.886-19.648 43.886-43.886 0-11.955-4.779-22.792-12.525-30.699l-936.229-936.229c-7.941-7.931-18.905-12.837-31.015-12.837-24.237 0-43.886 19.648-43.886 43.886 0 12.11 4.906 23.074 12.837 31.015l172.365 172.364zM710.276 772.342c-6.801 1.887-14.611 2.972-22.674 2.972-0.021 0-0.041 0-0.063 0h-351.083c-48.474 0-87.771-39.297-87.771-87.771v0-351.086c0-0.021 0-0.044 0-0.069 0-8.060 1.085-15.867 3.117-23.283l-0.144 0.617 84.798 84.801v230.505c0 32.316 26.198 58.515 58.515 58.515v0h230.505zM687.543 394.972v163.425l-221.938-221.938h163.425c32.316 0 58.515 26.198 58.515 58.515v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["Hide system metrics-01-01"],"grid":0},"attrs":[],"properties":{"order":527,"id":18,"name":"hide-system-metrics","prevSize":32,"code":59754},"setIdx":0,"setId":7,"iconIdx":21},{"icon":{"paths":["M380.343 43.886c0-24.237-19.648-43.886-43.886-43.886s-43.886 19.648-43.886 43.886v0 122.559c-61.916 16.423-109.703 64.212-125.849 124.899l-0.278 1.227h-122.559c-24.237 0-43.886 19.648-43.886 43.886s19.648 43.886 43.886 43.886v0h117.028v87.771h-117.028c-24.237 0-43.886 19.648-43.886 43.886s19.648 43.886 43.886 43.886v0h117.028v87.771h-117.028c-24.237 0-43.886 19.648-43.886 43.886s19.648 43.886 43.886 43.886v0h122.559c16.423 61.916 64.21 109.705 124.899 125.849l1.227 0.278v122.558c0 24.237 19.648 43.886 43.886 43.886s43.886-19.648 43.886-43.886v0-117.028h87.771v117.028c0 24.237 19.648 43.886 43.886 43.886s43.886-19.648 43.886-43.886v0-117.028h87.771v117.028c0 24.237 19.648 43.886 43.886 43.886s43.886-19.648 43.886-43.886v0-122.558c61.917-16.423 109.705-64.21 125.849-124.9l0.278-1.227h122.558c24.237 0 43.886-19.648 43.886-43.886s-19.648-43.886-43.886-43.886v0h-117.028v-87.771h117.028c24.237 0 43.886-19.648 43.886-43.886s-19.648-43.886-43.886-43.886v0h-117.028v-87.771h117.028c24.237 0 43.886-19.648 43.886-43.886s-19.648-43.886-43.886-43.886v0h-122.558c-16.423-61.916-64.212-109.705-124.9-125.849l-1.227-0.278v-122.559c0-24.237-19.648-43.886-43.886-43.886s-43.886 19.648-43.886 43.886v0 117.028h-87.771v-117.028c0-24.237-19.648-43.886-43.886-43.886s-43.886 19.648-43.886 43.886v0 117.028h-87.771zM248.686 336.457c0-48.475 39.297-87.771 87.771-87.771v0h351.086c48.475 0 87.771 39.297 87.771 87.771v0 351.086c0 48.475-39.297 87.771-87.771 87.771v0h-351.086c-48.475 0-87.771-39.297-87.771-87.771v0zM394.972 336.457c-32.316 0-58.515 26.198-58.515 58.515v0 234.058c0 32.316 26.198 58.515 58.515 58.515v0h234.058c32.316 0 58.515-26.198 58.515-58.515v0-234.058c0-32.316-26.198-58.515-58.515-58.515v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["Show system metrics-01"],"grid":0},"attrs":[],"properties":{"order":528,"id":19,"name":"show-system-metrics","prevSize":32,"code":59755},"setIdx":0,"setId":7,"iconIdx":22},{"icon":{"paths":["M972.952 52.048c-31.501-31.498-75.001-50.996-123.054-51.050h-522.349c-0.154 0-0.336-0.002-0.517-0.002-88.525 0-161.485 66.645-171.443 152.499l-0.076 0.803c-87.683 8.967-155.511 82.426-155.511 171.726 0 0.186 0 0.373 0.002 0.559v-0.029 522.373c0.673 95.854 78.234 173.369 174.042 173.969l522.406 0.104c0.159 0 0.345 0.002 0.532 0.002 88.522 0 161.478-66.646 171.428-152.499l0.076-0.803c87.683-8.958 155.514-82.412 155.514-171.711 0-0.192 0-0.384-0.002-0.576v0.030-522.335c-0.057-48.062-19.554-91.559-51.047-123.061v0zM760.27 848.892c-0.041 35.232-28.59 63.782-63.817 63.826l-522.354-0.112c-35.203-0.024-63.738-28.534-63.805-63.723v-522.325c0.036-35.232 28.585-63.784 63.814-63.823h522.343c35.232 0.039 63.782 28.59 63.821 63.818v0.005zM913.705 697.445c-0.018 17.619-7.163 33.564-18.71 45.113v0c-6.72 6.462-14.896 11.461-23.986 14.452l-0.446 0.127v-430.582c-0.106-96.116-77.995-174.005-174.102-174.111h-428.204c9.027-24.22 31.958-41.158 58.845-41.158 0.157 0 0.313 0 0.469 0.002h522.311c35.232 0.038 63.782 28.59 63.818 63.818v0.003zM608.258 496.856c-9.769-9.781-16.124-22.974-17.122-37.64l-0.011-0.181c-0.014-0.469-0.023-1.020-0.023-1.574 0-7.567 1.489-14.786 4.189-21.381l-0.136 0.376c2.911-7.136 7.027-13.222 12.15-18.291l0.005-0.005c5.115-5.13 11.228-9.263 18.024-12.083l0.367-0.135c5.487-2.601 11.922-4.121 18.71-4.121 0.996 0 1.983 0.033 2.963 0.097l-0.133-0.008c23.166 0.051 43.025 14.157 51.507 34.24l0.138 0.367c2.709 6.335 4.282 13.705 4.282 21.445s-1.575 15.11-4.42 21.81l0.138-0.366c-5.809 13.775-16.535 24.521-29.926 30.218l-0.367 0.139c-6.299 2.689-13.628 4.252-21.321 4.252-0.054 0-0.109 0-0.163 0h0.009c-15.221-0.803-28.81-7.204-38.867-17.164l0.005 0.005zM736.867 764.15c-0.615 22.055-18.372 39.766-40.386 40.307l-0.051 0.002c-11.053-0.132-21.104-4.311-28.764-11.124l0.045 0.039-103.353-103.415-22.359 21.287 33.254 36.529c7.52 7.541 12.301 17.817 12.72 29.208l0.003 0.079c0.002 0.144 0.003 0.313 0.003 0.482 0 22.725-18.421 41.146-41.146 41.146-10.743 0-20.523-4.116-27.851-10.858l0.029 0.027-3.526-3.842-87.734-96.173v0.503l-65.12-71.799-65.061 71.799v-0.503l-91.258 100.016c-7.299 6.731-17.090 10.859-27.843 10.859-22.713 0-41.127-18.412-41.127-41.127 0-10.377 3.844-19.857 10.185-27.093l-0.041 0.047 166.020-182.426c12.127-13.324 29.515-21.679 48.855-21.761h0.015l3.842-0.030 0.314 0.189c17.998 1.019 33.924 9.127 45.172 21.549l0.050 0.056 74.824 82.346 32.435-30.924c11.826-11.31 27.894-18.27 45.587-18.27 18.294 0 34.849 7.441 46.804 19.464l0.003 0.003 112.108 112.297c8.209 7.851 13.321 18.882 13.352 31.108v0.006z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["z-axis icon-01"],"grid":0},"attrs":[],"properties":{"order":529,"id":20,"name":"images-stacking","prevSize":32,"code":59753},"setIdx":0,"setId":7,"iconIdx":23},{"icon":{"paths":["M998.547 412.341c-11.015-20.783-26.644-37.801-45.599-50.137l-0.516-0.316c-17.213-11.111-37.343-19.494-58.909-23.948l-1.144-0.197c-18.080-4.177-38.888-6.65-60.247-6.809h-0.113c-0.378-0.001-0.824-0.003-1.272-0.003-28.836 0-56.612 4.53-82.66 12.917l1.908-0.531c-26.766 8.32-49.844 21.698-69.184 39.142l0.162-0.144c-20.242 18.734-35.782 42.256-44.845 68.78l-0.349 1.178 86.977 19.809c8.276-18.559 20.852-33.918 36.512-45.283l0.321-0.223c18.733-13.094 41.987-20.924 67.069-20.924 2.32 0 4.627 0.068 6.913 0.199l-0.317-0.014c2.094-0.169 4.532-0.265 6.994-0.265 23.188 0 44.379 8.541 60.602 22.647l-0.113-0.096c14.278 14.975 23.062 35.296 23.062 57.669 0 1.817-0.058 3.621-0.172 5.41l0.013-0.244v2.168c0.051 0.611 0.080 1.323 0.080 2.043 0 9.252-4.8 17.383-12.048 22.037l-0.104 0.062c-11.242 5.857-24.401 9.738-38.346 10.813l-0.348 0.021q-26.616 3.094-69.333 8.046c-25.732 3.085-48.232 7.214-70.244 12.59l4.004-0.827c-22.247 5.209-41.865 13.090-59.863 23.468l1.055-0.561c-17.391 10.040-31.514 23.963-41.502 40.647l-0.289 0.52c-9.805 17.672-15.575 38.755-15.575 61.184 0 1.778 0.037 3.548 0.108 5.309l-0.008-0.252c-0.049 1.385-0.076 3.012-0.076 4.647 0 27.503 7.864 53.169 21.467 74.873l-0.345-0.59c14.354 21.386 33.971 38.218 57.032 48.859l0.854 0.354c23.193 10.577 50.303 16.741 78.853 16.741 1.007 0 2.012-0.007 3.015-0.023l-0.152 0.001c1.293 0.034 2.816 0.052 4.344 0.052 22.686 0 44.385-4.22 64.357-11.918l-1.224 0.414c17.849-6.973 33.163-16.718 46.205-28.87l-0.086 0.079c10.706-9.986 19.692-21.639 26.585-34.576l0.345-0.71h3.712v65.008h90.382v-315.722c0.096-2.156 0.151-4.683 0.151-7.225 0-28.154-6.687-54.746-18.559-78.273l0.456 0.996zM923.947 641.086c0 0.066 0 0.144 0 0.223 0 19.458-5.409 37.654-14.805 53.165l0.258-0.458c-10.148 16.829-24.318 30.304-41.216 39.339l-0.571 0.279c-17.914 9.59-39.189 15.223-61.777 15.223-1.35 0-2.695-0.020-4.035-0.061l0.196 0.004c-1.374 0.061-2.987 0.094-4.607 0.094-22.293 0-43.069-6.495-60.538-17.696l0.448 0.269c-15.477-10.843-25.472-28.595-25.472-48.682 0-1.168 0.034-2.328 0.1-3.477l-0.007 0.159c-0.046-0.875-0.075-1.899-0.075-2.929 0-13.965 4.933-26.779 13.151-36.793l-0.080 0.101c9.42-10.367 21.286-18.342 34.694-23.033l0.592-0.18c14.234-5.209 30.877-9.231 48.11-11.343l1.11-0.111q11.453-1.547 28.475-3.714 17.022-2.475 34.973-5.261c12.731-2.13 23.482-4.604 33.997-7.64l-2.113 0.523c7.371-1.747 13.816-4.971 19.284-9.359l-0.094 0.073z","M220.772 178.644l-228.125 633.92h101.531l58.058-167.765h247.68l57.958 167.765h101.525l-228.125-633.92zM180.087 564.32l93.619-270.527h4.949l93.462 270.527z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Aa-01"],"grid":0},"attrs":[],"properties":{"order":530,"id":21,"name":"case-sensitive","prevSize":32,"code":59750},"setIdx":0,"setId":7,"iconIdx":24},{"icon":{"paths":["M167.915 821.465c-0.793 0.013-1.729 0.021-2.667 0.021-24.453 0-47.709-5.123-68.754-14.353l1.101 0.431c-20.376-9.208-37.073-23.5-48.935-41.293l-0.263-0.419c-11.291-18.144-17.984-40.165-17.984-63.751 0-1.464 0.025-2.922 0.078-4.375l-0.006 0.21c-0.052-1.297-0.082-2.819-0.082-4.348 0-19.409 4.777-37.703 13.22-53.768l-0.304 0.634c8.524-15.062 20.369-27.336 34.598-36.119l0.428-0.246c14.389-8.863 31.059-15.939 48.786-20.334l1.213-0.254c16.328-4.399 36.047-8.071 56.207-10.272l1.816-0.161q36.096-3.741 58.556-6.68c12.095-1.117 23.166-4.549 33.086-9.853l-0.466 0.227c6.339-4.107 10.474-11.144 10.474-19.148 0-0.507-0.017-1.009-0.049-1.508l0.004 0.068v-1.608c0.071-1.097 0.112-2.38 0.112-3.672 0-16.869-6.895-32.129-18.020-43.112l-0.006-0.006c-12.569-10.422-28.865-16.745-46.636-16.745-1.748 0-3.481 0.061-5.198 0.182l0.232-0.013c-1.478-0.085-3.208-0.133-4.948-0.133-19.19 0-37.016 5.845-51.793 15.851l0.326-0.208c-12.627 9.051-22.269 21.539-27.635 36.096l-0.172 0.534-90.374-12.836c6.702-24.484 18.944-45.56 35.339-62.613l-0.045 0.048c16.386-16.751 36.534-29.75 59.084-37.638l1.077-0.328c22.595-8.144 48.669-12.853 75.844-12.853 0.971 0 1.941 0.006 2.911 0.018l-0.147-0.001c20.973 0.014 41.346 2.55 60.844 7.32l-1.753-0.363c20.387 4.807 38.346 12.74 54.356 23.375l-0.613-0.383c16.447 10.88 29.664 25.382 38.735 42.426l0.302 0.624c9.494 18.408 15.061 40.173 15.061 63.239 0 1.738-0.031 3.469-0.095 5.191l0.007-0.25v274.866h-93.047v-56.417h-3.208c-6.661 12.435-14.959 23.036-24.775 32.005l-0.092 0.082c-11.187 10.115-24.435 18.198-39.008 23.527l-0.832 0.265c-15.671 5.613-33.75 8.859-52.587 8.859-1.159 0-2.314-0.013-3.467-0.037l0.172 0.003zM193.048 750.346c0.784 0.021 1.705 0.032 2.632 0.032 17.488 0 33.978-4.264 48.491-11.808l-0.584 0.277c13.69-7.35 24.823-17.881 32.678-30.647l0.21-0.368c7.386-11.797 11.767-26.129 11.767-41.485 0-0.174 0-0.346-0.001-0.52v0.027-48.4c-4.423 3.12-9.607 5.519-15.196 6.887l-0.312 0.065c-6.363 1.982-14.468 3.93-22.732 5.416l-1.331 0.199q-13.372 2.41-26.471 4.283t-22.728 3.205c-14.447 1.851-27.538 5.226-39.925 10.018l1.155-0.392c-10.79 3.987-19.88 10.41-26.932 18.634l-0.072 0.086c-6.182 8.413-9.894 18.976-9.894 30.405 0 16.336 7.581 30.901 19.416 40.369l0.103 0.079c13.050 8.593 29.054 13.708 46.252 13.708 1.223 0 2.44-0.025 3.649-0.078l-0.172 0.006zM486.364 813.176v-547.594h96.792v204.813h4.012c6.335-12.096 13.347-22.525 21.347-32.098l-0.229 0.282c10.026-12.061 22.31-21.867 36.253-28.854l0.648-0.294c15.967-7.818 34.746-12.39 54.593-12.39 1.677 0 3.347 0.032 5.008 0.097l-0.239-0.007c0.594-0.008 1.295-0.013 1.998-0.013 31.104 0 60.088 9.075 84.449 24.721l-0.623-0.374c26.677 17.456 47.591 41.72 60.545 70.355l0.419 1.035c14.435 31.605 22.849 68.554 22.849 107.466 0 2.828-0.044 5.644-0.133 8.451l0.010-0.409c0.069 2.279 0.109 4.961 0.109 7.65 0 38.811-8.207 75.703-22.979 109.039l0.68-1.72c-13.333 29.809-34.033 54.288-59.838 71.814l-0.59 0.378c-23.822 15.604-53.006 24.888-84.359 24.888-0.799 0-1.597-0.006-2.393-0.018l0.12 0.001c-1.343 0.049-2.918 0.079-4.501 0.079-19.608 0-38.195-4.367-54.844-12.182l0.791 0.333c-14.671-7.177-27.1-16.698-37.33-28.218l-0.107-0.123c-7.933-9.315-15.113-19.736-21.175-30.856l-0.479-0.96h-5.615v64.705zM581.282 607.828c-0.024 1.153-0.038 2.512-0.038 3.874 0 23.624 4.128 46.283 11.701 67.297l-0.435-1.384c6.8 18.832 18.13 34.638 32.706 46.645l0.182 0.147c14.692 10.371 32.969 16.577 52.697 16.577 20.054 0 38.61-6.414 53.729-17.3l-0.272 0.186c14.763-12.281 26.027-28.288 32.393-46.587l0.224-0.74c7.121-20.502 11.233-44.132 11.233-68.722 0-24.289-4.012-47.641-11.411-69.429l0.448 1.52c-6.546-18.8-17.825-34.56-32.431-46.369l-0.193-0.151c-14.99-10.542-33.624-16.848-53.73-16.848-19.775 0-38.123 6.099-53.27 16.519l0.318-0.206c-14.863 11.671-26.226 27.169-32.668 45.020l-0.22 0.699c-6.974 19.403-11.006 41.792-11.006 65.123 0 1.451 0.016 2.9 0.047 4.344l-0.004-0.215zM30.118 150.588h963.766c16.633 0 30.117 13.484 30.117 30.117v0 0c0 16.633-13.484 30.117-30.117 30.117v0h-963.766c-16.633 0-30.117-13.484-30.117-30.117v0 0c0-16.633 13.484-30.117 30.117-30.117v0zM1024.001 301.177v481.882c0 16.633-13.484 30.117-30.117 30.117v0 0c-16.633 0-30.117-13.484-30.117-30.117v0-481.882c0-16.633 13.484-30.117 30.117-30.117v0 0c16.633 0 30.117 13.484 30.117 30.117v0zM30.118 873.412h963.766c16.633 0 30.117 13.484 30.117 30.117v0 0c0 16.633-13.484 30.117-30.117 30.117v0h-963.766c-16.633 0-30.117-13.484-30.117-30.117v0 0c0-16.633 13.484-30.117 30.117-30.117v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Match Whole Word_ic-01"],"grid":0},"attrs":[],"properties":{"order":531,"id":22,"name":"word-match","prevSize":32,"code":59751},"setIdx":0,"setId":7,"iconIdx":25},{"icon":{"paths":["M36.571 804.573h146.285c21.943 0 36.571 14.628 36.571 36.571v146.285c0 21.943-14.628 36.571-36.571 36.571h-146.285c-21.943 0-36.571-14.628-36.571-36.571v-146.285c0-21.943 14.628-36.571 36.571-36.571zM746.057 131.656c0-29.258-21.943-58.514-58.514-58.514s-58.514 21.943-58.514 58.514v138.972l-102.4-102.4c-21.943-21.943-58.514-21.943-80.457 0s-21.943 58.514 0 80.457l102.4 102.4h-138.972c-29.258 0-58.514 21.943-58.514 58.514s21.943 58.514 58.514 58.514h138.972l-102.4 102.4c-21.943 21.943-21.943 58.514 0 80.457s58.514 21.943 80.457 0l102.4-102.4v138.972c0 29.258 21.943 58.514 58.514 58.514s58.514-21.943 58.514-58.514v-138.972l102.4 102.4c21.943 21.943 58.514 21.943 80.457 0s21.943-58.514 0-80.457l-102.4-102.4h138.972c29.258 0 58.514-21.943 58.514-58.514s-21.943-58.514-58.514-58.514h-138.972l102.4-102.4c21.943-21.943 21.943-58.514 0-80.457s-58.514-21.943-80.457 0l-102.4 102.4v-138.972z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Use Regular Expression_ic"],"grid":0},"attrs":[],"properties":{"order":532,"id":23,"name":"regex","prevSize":32,"code":59752},"setIdx":0,"setId":7,"iconIdx":26},{"icon":{"paths":["M908.386 132.131v0c9.122 0 16.517 7.395 16.517 16.517v66.065c0 9.122-7.395 16.517-16.517 16.517h-792.772c-9.122 0-16.517-7.395-16.517-16.517v-66.065c0-9.122 7.395-16.517 16.517-16.517zM0.001 214.71v-0.002c0 0.008 0 0.015 0 0.025 0 45.849 26.686 85.466 66.065 104.465v556.156c0 63.851 51.761 115.613 115.613 115.613h660.644c63.851 0 115.613-51.761 115.613-115.613v-556.156l0.691-0.3c38.688-18.698 65.374-58.317 65.374-104.166 0-0.006 0-0.014 0-0.020v-66.065c0-63.851-51.761-115.613-115.613-115.613h-792.772c-63.851 0-115.613 51.761-115.613 115.613zM165.162 330.324h693.676v545.031c0 9.122-7.395 16.517-16.517 16.517v0h-660.644c-9.122 0-16.517-7.395-16.517-16.517v0zM344.835 646.13l0.008 0.008c-8.781-8.94-14.197-21.196-14.197-34.718 0-27.365 22.184-49.548 49.548-49.548 13.522 0 25.779 5.416 34.712 14.191l47.546 47.54v-144.634c0-27.365 22.184-49.548 49.548-49.548s49.548 22.184 49.548 49.548v144.634l47.538-47.532c8.936-8.753 21.173-14.149 34.67-14.149 27.365 0 49.548 22.184 49.548 49.548 0 13.497-5.396 25.733-14.141 34.661l-132.128 132.128c-8.965 8.967-21.352 14.513-35.034 14.513s-26.069-5.546-35.034-14.513z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Archive_ic-01"],"grid":0},"attrs":[],"properties":{"order":533,"id":24,"name":"archive","prevSize":32,"code":59727},"setIdx":0,"setId":7,"iconIdx":27},{"icon":{"paths":["M420.030 381.54l110.147 110.147c7.41 7.463 11.99 17.746 11.99 29.098 0 22.809-18.49 41.301-41.301 41.301-11.353 0-21.634-4.58-29.1-11.993l-39.635-39.624v120.572c0 22.812-18.493 41.305-41.305 41.305s-41.305-18.493-41.305-41.305v0-120.572l-39.635 39.627c-7.444 7.291-17.644 11.79-28.895 11.79-22.812 0-41.305-18.493-41.305-41.305 0-11.251 4.499-21.45 11.794-28.899l-0.007 0.008 110.151-110.147c7.474-7.475 17.799-12.099 29.203-12.099s21.73 4.624 29.203 12.099v0zM949.363 832.079l-49.802 23.609c-12.020 5.87-26.157 9.305-41.094 9.305-0.034 0-0.070 0-0.105 0h0.005c-0.023 0-0.046 0-0.073 0-38.171 0-71.165-22.172-86.803-54.34l-0.252-0.574-10.586-22.256c-9.217 44.387-47.996 77.267-94.457 77.276h-550.737c-53.229 0-96.38-43.15-96.38-96.38v0-468.127c0-53.229 43.15-96.38 96.38-96.38v0h368.622c-3.743-9.827-5.912-21.191-5.912-33.063 0-37.967 22.178-70.755 54.284-86.116l0.575-0.248 49.64-23.638c12.105-5.87 26.328-9.303 41.354-9.303 38.199 0 71.22 22.182 86.881 54.365l0.252 0.574 283.868 596.801c5.863 12.099 9.289 26.315 9.289 41.333 0 38.209-22.186 71.237-54.378 86.903l-0.574 0.252zM679.963 618.207l-157.628-331.377h-406.878c-7.603 0-13.769 6.165-13.769 13.769v0 468.127c0 7.603 6.165 13.769 13.769 13.769v0h550.736c0.001 0 0.003 0 0.004 0 7.602 0 13.765-6.163 13.765-13.765 0-0.001 0-0.003 0-0.004v0zM920.372 739.089l-283.865-596.801c-2.248-4.695-6.96-7.879-12.417-7.879-2.154 0-4.192 0.495-6.005 1.38l0.081-0.036-49.695 23.663c-4.697 2.221-7.887 6.92-7.887 12.365 0 2.175 0.509 4.23 1.414 6.054l-0.036-0.079 283.865 596.828c1.576 3.286 4.331 5.796 7.703 7.015l0.095 0.029c1.363 0.482 2.935 0.762 4.573 0.762 2.146 0 4.18-0.48 6.001-1.337l-0.030-0.019 49.749-23.609c4.666-2.244 7.83-6.934 7.83-12.362 0-2.175-0.507-4.232-1.412-6.058l0.036 0.079z"],"width":1008,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Unarchive_ic-01"],"grid":0},"attrs":[],"properties":{"order":534,"id":25,"name":"unarchive","prevSize":32,"code":59749},"setIdx":0,"setId":7,"iconIdx":28},{"icon":{"paths":["M831.999 1023.999h-640c-108.799 0-192-83.2-192-192v-640c0-108.799 83.2-192 192-192h640c108.799 0 192 83.2 192 192v640c0 108.799-83.2 192-192 192zM192.001 96.001c-51.199 0-96 44.8-96 96v640c0 51.199 44.8 96 96 96h640c51.199 0 96-44.8 96-96v-640c0-51.199-44.8-96-96-96h-640zM819.2 512c0 25.6-19.2 51.199-51.199 51.199h-511.999c-25.6 0-51.199-19.2-51.199-51.199s19.2-51.199 51.199-51.199h511.999c25.6 0 51.199 25.6 51.199 51.199z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Type=Outlined Box with -","State=Default"],"grid":0},"attrs":[],"properties":{"order":535,"id":26,"name":"partially-selected","prevSize":32,"code":59748},"setIdx":0,"setId":7,"iconIdx":29},{"icon":{"paths":["M117.756 36.965c0-0.051 0-0.112 0-0.173 0-28.4-23.022-51.422-51.42-51.422v0c-7.296 0.686-13.994 2.074-20.399 4.118l0.679-0.187c-18.772 7.942-31.703 26.205-31.703 47.49 0 0.060 0 0.122 0 0.182v-0.010 783.867c0.004 104.126 84.416 188.536 188.541 188.538h783.752c28.398 0 51.419-23.021 51.419-51.419s-23.021-51.419-51.419-51.419h-783.752c-0.001 0-0.003 0-0.004 0-47.329 0-85.696-38.368-85.696-85.696 0-0.001 0-0.003 0-0.003v0zM945.574 314.704l-672.914 438.853c-6.813 4.564-15.195 7.285-24.214 7.285-24.237 0-43.886-19.648-43.886-43.886 0-15.42 7.953-28.982 19.98-36.809l0.17-0.103 672.914-438.861c6.761-4.468 15.057-7.127 23.975-7.127 24.239 0 43.887 19.65 43.887 43.887 0 15.32-7.85 28.808-19.749 36.658l-0.165 0.101zM810.41 231.132c35.476-0.092 64.201-28.873 64.201-64.362 0-35.469-28.69-64.236-64.129-64.362h-0.012c-0.285-0.004-0.62-0.007-0.957-0.007-34.726 0-62.938 27.895-63.449 62.499v0.048c-0.005 0.605-0.005 1.212 0 1.82 2.414 34.528 29.822 61.943 64.129 64.353l0.219 0.012zM459.325 465.189c35.476-0.092 64.201-28.873 64.201-64.362 0-35.469-28.69-64.236-64.129-64.362h-0.012c-0.285-0.004-0.62-0.007-0.957-0.007-34.726 0-62.938 27.895-63.449 62.499v0.048c-0.008 0.602-0.008 1.211 0 1.82 2.412 34.528 29.822 61.943 64.129 64.353l0.219 0.012zM225.269 582.217c35.226-0.42 63.622-29.074 63.622-64.361 0-35.549-28.818-64.365-64.365-64.365-8.497 0-16.609 1.647-24.036 4.638l0.432-0.154c-23.362 9.471-39.616 31.819-40.002 58.010v0.048c-0.005 0.602-0.005 1.211 0.001 1.82 2.408 34.53 29.82 61.947 64.129 64.353l0.218 0.012zM488.571 863.086c0.008 0 0.016 0 0.026 0 35.545 0 64.36-28.815 64.36-64.36 0-35.535-28.8-64.345-64.332-64.36h-0.001c-0.288-0.004-0.627-0.007-0.967-0.007-34.72 0-62.928 27.893-63.433 62.495v0.048q-0.018 0.913 0 1.825c2.41 34.528 29.822 61.943 64.129 64.347l0.218 0.012zM664.126 699.245c35.229-0.417 63.627-29.073 63.627-64.361 0-35.549-28.818-64.365-64.365-64.365-8.497 0-16.609 1.647-24.036 4.638l0.432-0.154c-23.362 9.471-39.618 31.819-40.006 58.010v0.048c-0.005 0.602-0.005 1.211 0 1.82 2.412 34.528 29.822 61.943 64.129 64.353l0.219 0.012zM576.354 231.132c35.476-0.092 64.201-28.873 64.201-64.362 0-35.469-28.69-64.236-64.129-64.362h-0.012c-0.285-0.004-0.62-0.007-0.957-0.007-34.726 0-62.938 27.895-63.449 62.499v0.048c-0.005 0.605-0.005 1.212 0 1.82 2.414 34.528 29.822 61.943 64.129 64.353l0.219 0.012zM927.44 640.732c35.229-0.417 63.627-29.073 63.627-64.361 0-35.549-28.818-64.365-64.365-64.365-8.497 0-16.609 1.647-24.036 4.638l0.432-0.154c-23.362 9.471-39.618 31.819-40.006 58.010v0.048c-0.005 0.602-0.005 1.211 0 1.82 2.412 34.528 29.822 61.943 64.129 64.353l0.219 0.012z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Trendline_ic-01"],"grid":0},"attrs":[],"properties":{"order":536,"id":27,"name":"trendline","prevSize":32,"code":59743},"setIdx":0,"setId":7,"iconIdx":30},{"icon":{"paths":["M383.301 538.559c-56.692 0-102.674 45.978-102.674 102.67v256.829c0 56.692 45.981 102.67 102.674 102.67s102.675-45.978 102.675-102.67v-256.829c-0.042-56.692-46.024-102.67-102.675-102.67z","M24.017 641.224c0 56.734 46.022 102.758 102.756 102.758s102.755-46.024 102.755-102.758v-102.754h-102.674c-0.041 0-0.041 0-0.081 0-56.733 0-102.756 46.024-102.756 102.754z","M383.405 23.273c-0.040 0-0.081 0-0.122 0-56.733 0-102.754 46.022-102.754 102.755s46.021 102.755 102.754 102.755h102.675v-102.755c0-0.041 0-0.122 0-0.204-0.042-56.651-45.942-102.551-102.553-102.551z","M126.027 486.377h257.315c56.733 0 102.755-46.020 102.755-102.753s-46.022-102.755-102.755-102.755h-257.315c-56.733 0-102.755 46.022-102.755 102.755s46.022 102.753 102.755 102.753z","M897.098 280.83c-56.655 0-102.554 45.899-102.554 102.551v102.959h102.675c56.734 0 102.754-46.022 102.754-102.755s-46.019-102.755-102.754-102.755c-0.042 0-0.084 0-0.121 0z","M537.982 126.032v257.601c0 56.692 45.982 102.675 102.675 102.675s102.675-45.982 102.675-102.675v-257.601c0-56.692-45.982-102.674-102.675-102.674s-102.675 45.981-102.675 102.674z","M743.331 897.983c0-56.697-45.982-102.675-102.675-102.675h-102.675v102.754c0.042 56.65 45.982 102.591 102.675 102.591s102.675-45.978 102.675-102.67z","M897.955 538.47h-257.313c-56.734 0-102.758 46.024-102.758 102.754 0 56.734 46.024 102.758 102.758 102.758h257.313c56.734 0 102.754-46.024 102.754-102.758 0-56.73-46.019-102.754-102.754-102.754z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Slack"],"grid":0},"attrs":[],"properties":{"order":543,"id":28,"name":"slack","prevSize":32,"code":59744},"setIdx":0,"setId":7,"iconIdx":31},{"icon":{"paths":["M512-0c282.769 0 512 229.231 512 512s-229.231 512-512 512c-282.769 0-512-229.231-512-512s229.231-512 512-512z","M343.716 500.070c-14.444-17.022-39.952-19.113-56.972-4.67-17.022 14.444-19.113 39.952-4.67 56.975l61.642-52.304zM445.636 682.666l-30.822 26.152c7.68 9.051 18.949 14.269 30.822 14.269 11.871 0 23.139-5.217 30.82-14.269l-30.82-26.152zM741.939 395.929c14.441-17.022 12.352-42.531-4.67-56.972-17.022-14.444-42.531-12.352-56.975 4.67l61.645 52.302zM282.075 552.376l132.74 156.443 61.642-52.302-132.74-156.445-61.642 52.304zM476.456 708.818l265.483-312.889-61.645-52.302-265.48 312.889 61.642 52.302z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"25525525516868681":[],"20115230165751091":[]},"tags":["successIcon"],"grid":0},"attrs":[],"properties":{"order":393,"id":29,"name":"success-icon","prevSize":32,"code":59745,"codes":[59745,59746]},"setIdx":0,"setId":7,"iconIdx":32},{"icon":{"paths":["M512 0c-281.6 0-512 230.4-512 512s230.4 512 512 512 512-230.4 512-512-230.4-512-512-512zM563.2 736c0 25.601-19.2 51.2-51.2 51.2s-51.2-19.2-51.2-51.2v-256.001c0-25.601 19.2-51.2 51.2-51.2s51.2 19.2 51.2 51.2v256.001zM512 351.999c-38.4 0-64.001-25.601-64.001-64.001s25.601-64.001 64.001-64.001 64.001 25.601 64.001 64.001-25.601 64.001-64.001 64.001z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Type=Circle","State=Default"],"grid":0},"attrs":[],"properties":{"order":537,"id":30,"name":"circle-info","prevSize":32,"code":59726},"setIdx":0,"setId":7,"iconIdx":33},{"icon":{"paths":["M895.337 1023.115h-766.673c-44.723 0-83.057-25.556-108.612-63.89s-25.556-83.057-6.389-127.778l383.337-741.117c19.167-44.723 63.89-70.278 115.001-70.278 0 0 0 0 0 0 51.111 0 89.445 25.556 115.001 70.278l383.337 741.117c19.167 38.334 19.167 89.445-6.389 127.778-19.167 38.334-63.89 63.89-108.612 63.89zM512 122.274c-6.389 0-19.167 0-25.556 19.167l-383.337 741.117c-6.389 12.777 0 25.556 0 31.944s12.777 12.777 25.556 12.777h766.673c19.167 0 25.556-12.777 25.556-12.777s6.389-19.167 0-31.944l-383.337-741.117c-6.389-19.167-19.167-19.167-25.556-19.167v0zM512 307.554c-25.556 0-51.111 19.167-51.111 51.111v255.558c0 25.556 19.167 51.111 51.111 51.111s51.111-19.167 51.111-51.111v-255.558c0-31.944-25.556-51.111-51.111-51.111zM512 863.393c-38.334 0-63.89-25.556-63.89-63.89s25.556-63.89 63.89-63.89 63.89 25.556 63.89 63.89-25.556 63.89-63.89 63.89z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"25525525516868681":[],"2011523012552552551":[],"20115230165751091":[]},"tags":["Type=Triangle Outline","State=Default"],"grid":0},"attrs":[],"properties":{"order":576,"id":31,"name":"warning-outline","prevSize":32,"code":59746},"setIdx":0,"setId":7,"iconIdx":34},{"icon":{"paths":["M1009.459 837.262l-382.661-739.812c-51.021-95.665-178.576-95.665-229.597-6.378l-382.661 739.812c-44.644 89.287 19.133 191.33 114.798 191.33h765.323c95.665 0 159.443-102.043 114.798-184.952zM460.979 352.557c0-25.511 19.133-51.021 51.021-51.021s51.021 19.133 51.021 51.021v255.108c0 25.511-19.133 51.021-51.021 51.021s-51.021-19.133-51.021-51.021v-255.108zM512 862.773c-38.266 0-63.777-25.511-63.777-63.777s25.511-63.777 63.777-63.777 63.777 25.511 63.777 63.777-25.511 63.777-63.777 63.777z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"25525525516868681":[],"2011523012552552551":[],"20115230165751091":[]},"tags":["Type=Triangle","State=Default"],"grid":0},"attrs":[],"properties":{"order":575,"id":32,"name":"warning-contained","prevSize":32,"code":59742},"setIdx":0,"setId":7,"iconIdx":35},{"icon":{"paths":["M931.57 6.848c-5.078-2.28-11-3.609-17.235-3.609-23.776 0-43.047 19.27-43.047 43.047 0 17.542 10.49 32.625 25.544 39.344l0.269 0.114c165.597 73.647 278.976 236.71 278.976 426.265s-113.38 352.62-276.009 425.079l-2.967 1.187c-15.324 6.814-25.814 21.897-25.814 39.44 0 23.777 19.272 43.047 43.047 43.047 6.234 0 12.155-1.328 17.502-3.704l-0.269 0.114c196.24-87.272 330.581-280.523 330.581-505.144s-134.36-417.871-327.080-503.748l-3.502-1.396zM609.561 975.91v-927.84c-0.002-23.774-19.272-43.043-43.046-43.043-10.877 0-20.806 4.025-28.381 10.687l-334.948 293.086h-117.097c-47.551 0-86.093 38.542-86.093 86.093v0 234.21c0 47.551 38.542 86.093 86.093 86.093v0h117.095l335.001 293.113c7.522 6.612 17.472 10.639 28.348 10.639 23.776 0 43.046-19.27 43.046-43.046v0zM827.84 173.24c7.139-14.445 21.794-24.215 38.71-24.215 6.859 0 13.34 1.599 19.084 4.453l-0.251-0.118c133.917 66.197 224.376 201.844 224.376 358.617s-90.48 292.418-222.061 357.581l-2.336 1.035c-5.491 2.737-11.973 4.335-18.832 4.335-23.776 0-43.047-19.272-43.047-43.047 0-16.918 9.752-31.552 23.963-38.594l0.251-0.118c105.010-51.898 175.969-158.274 175.969-281.212s-70.959-229.314-174.137-280.392l-1.831-0.82c-14.445-7.139-24.215-21.794-24.215-38.712 0-6.859 1.599-13.34 4.453-19.084l-0.118 0.251zM834.306 298.723c-6.185-3.644-13.652-5.804-21.605-5.804-23.776 0-43.046 19.27-43.046 43.046 0 15.849 8.576 29.705 21.326 37.183l0.2 0.116c48.221 28.221 80.113 79.755 80.113 138.751s-31.875 110.529-79.356 138.331l-0.759 0.401c-12.932 7.579-21.494 21.427-21.494 37.264 0 23.777 19.272 43.049 43.049 43.049 7.94 0 15.376-2.152 21.753-5.899l-0.199 0.114c74.1-43.383 123.096-122.607 123.096-213.277s-48.978-169.874-121.92-212.645l-1.155-0.632z"],"width":1280,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Voice_On-01"],"grid":0},"attrs":[],"properties":{"order":574,"id":33,"name":"voice-on","prevSize":32,"code":59738},"setIdx":0,"setId":7,"iconIdx":36},{"icon":{"paths":["M609.086 48.452v927.093c-0.002 23.75-19.256 43.005-43.007 43.005-10.871 0-20.79-4.033-28.366-10.682l-334.685-292.844h-117.012c-47.504 0-86.023-38.511-86.023-86.023v0-234.023c0-47.504 38.511-86.023 86.023-86.023v0h117.011l334.728-292.889c7.524-6.604 17.452-10.637 28.316-10.637 23.75 0 43.005 19.253 43.007 43.003v0zM1159.492 309.554c7.781 7.785 12.593 18.54 12.593 30.412s-4.812 22.625-12.595 30.412l-141.632 141.623 141.632 141.623c7.713 7.774 12.475 18.477 12.475 30.29 0 23.756-19.258 43.012-43.012 43.012-11.821 0-22.524-4.764-30.292-12.479l-141.621-141.63-141.623 141.632c-7.774 7.713-18.477 12.475-30.29 12.475-23.756 0-43.012-19.258-43.012-43.012 0-11.821 4.764-22.524 12.479-30.292l141.63-141.621-141.632-141.623c-7.785-7.785-12.597-18.54-12.597-30.412 0-23.754 19.256-43.010 43.010-43.010 11.882 0 22.629 4.814 30.413 12.6l141.623 141.628 141.623-141.628c7.785-7.785 18.54-12.599 30.413-12.599s22.629 4.814 30.413 12.599v0z"],"width":1184,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Voice_Off-01"],"grid":0},"attrs":[],"properties":{"order":573,"id":34,"name":"voice-off","prevSize":32,"code":59739},"setIdx":0,"setId":7,"iconIdx":37},{"icon":{"paths":["M213.335 938.665c0 47.128 38.206 85.334 85.334 85.334s85.334-38.206 85.334-85.334v0-853.333c0-47.128-38.206-85.334-85.334-85.334s-85.334 38.206-85.334 85.334v0zM640 938.665c0 47.128 38.206 85.334 85.334 85.334s85.334-38.206 85.334-85.334v0-853.333c0-47.128-38.206-85.334-85.334-85.334s-85.334 38.206-85.334 85.334v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Pause-01"],"grid":0},"attrs":[],"properties":{"order":572,"id":35,"name":"pause","prevSize":32,"code":59740},"setIdx":0,"setId":7,"iconIdx":38},{"icon":{"paths":["M258.662 9.858c-9.425-6.18-20.972-9.859-33.379-9.859-33.932 0-61.44 27.508-61.44 61.44 0 0.002 0 0.002 0 0.004v0 901.113c0 0.002 0 0.002 0 0.004 0 33.932 27.508 61.44 61.44 61.44 12.407 0 23.956-3.677 33.613-10.003l-0.234 0.144 696.31-450.558c16.994-11.117 28.064-30.057 28.064-51.584s-11.071-40.469-27.83-51.44l-0.234-0.144z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Play-01"],"grid":0},"attrs":[],"properties":{"order":571,"id":36,"name":"play","prevSize":32,"code":59741},"setIdx":0,"setId":7,"iconIdx":39},{"icon":{"paths":["M782.8 208.116c-0.202-0.003-0.437-0.004-0.673-0.004-25.902 0-46.9 20.999-46.9 46.9 0 0.235 0.001 0.476 0.007 0.712v-0.034c1.787 25.52 22.048 45.786 47.408 47.563l0.159 0.011c26.272 0 47.572-21.297 47.572-47.572s-21.297-47.572-47.572-47.572v0zM520.709 687.833l-30.227-3.832c-1.712-4.528-3.571-9.057-5.576-13.412l18.7-24.097c6.158-7.753 9.882-17.681 9.882-28.477 0-12.832-5.258-24.437-13.733-32.782l-32.903-32.872c-8.34-8.552-19.975-13.858-32.851-13.858-10.8 0-20.729 3.736-28.568 9.981l-24.008 18.57c-4.414-1.974-8.884-3.832-13.412-5.517l-3.864-30.253c-2.897-23.048-22.368-40.699-45.966-40.706h-47.008c-23.589 0.007-43.055 17.662-45.912 40.48l-0.026 0.225-3.864 30.253c-4.56 1.686-9.031 3.545-13.386 5.517l-24.127-18.756c-7.753-6.075-17.641-9.743-28.389-9.743-12.839 0-24.463 5.234-32.842 13.686l-32.899 32.868c-8.537 8.352-13.828 19.987-13.828 32.858 0 10.792 3.722 20.717 9.952 28.563l-0.073-0.095 18.7 24.097c-2.005 4.355-3.864 8.884-5.543 13.412l-30.31 3.832c-22.999 2.991-40.585 22.431-40.649 45.984v47.042c0.034 23.583 17.677 43.032 40.48 45.911l0.227 0.026 30.227 3.832c1.712 4.528 3.545 8.998 5.543 13.412l-18.67 24.097c-6.157 7.758-9.879 17.691-9.879 28.492 0 12.851 5.269 24.476 13.761 32.825l32.904 32.873c8.368 8.503 20.003 13.775 32.868 13.775 10.784 0 20.699-3.699 28.55-9.897l24.001-18.682q6.622 3.047 13.386 5.576l3.864 30.196c2.858 23.067 22.327 40.742 45.929 40.765h47.008c23.586-0.031 43.046-17.671 45.94-40.48l0.026-0.228 3.832-30.253c4.56-1.686 9.031-3.545 13.443-5.517l24.127 18.756c7.749 6.089 17.641 9.761 28.394 9.761 12.842 0 24.464-5.244 32.834-13.709l32.871-32.869c8.555-8.346 13.864-19.987 13.864-32.865 0-10.789-3.726-20.711-9.957-28.549l0.073 0.095-18.725-24.097q3.005-6.622 5.576-13.412l30.227-3.89c23.027-2.911 40.665-22.358 40.706-45.927v-47.039c-0.034-23.583-17.677-43.032-40.48-45.911l-0.227-0.026zM510.69 776.855l-42.477 5.461c-10.145 1.311-18.332 8.471-21.124 17.941l-0.044 0.177c-3.758 12.992-8.562 24.283-14.526 34.829l0.415-0.799c-2.059 3.574-3.273 7.861-3.273 12.433 0 5.895 2.017 11.314 5.405 15.612l-0.038-0.053 26.217 33.74-27.641 27.582-33.798-26.248c-4.232-3.284-9.616-5.264-15.461-5.264-4.548 0-8.815 1.195-12.509 3.295l0.125-0.066c-9.781 5.56-21.113 10.368-33.014 13.83l-1.128 0.284c-9.635 2.862-16.782 11.047-18.078 21.069l-0.015 0.127-5.429 42.508h-39.196l-5.402-42.504c-1.368-10.147-8.527-18.325-17.996-21.152l-0.18-0.044c-12.963-3.726-24.234-8.513-34.762-14.466l0.794 0.413c-3.579-2.077-7.874-3.297-12.455-3.297-5.9 0-11.324 2.030-15.615 5.429l0.052-0.038-33.709 26.133-27.642-27.637 26.191-33.624c3.346-4.254 5.363-9.685 5.363-15.585 0-4.558-1.203-8.833-3.31-12.527l0.066 0.124c-5.551-9.751-10.357-21.036-13.827-32.898l-0.286-1.13c-2.818-9.674-11.007-16.858-21.041-18.161l-0.127-0.015-42.507-5.464v-39.137l42.655-5.402c10.059-1.455 18.136-8.59 20.945-17.996l0.044-0.18c3.775-13.034 8.601-24.362 14.586-34.946l-0.415 0.801c2.015-3.545 3.205-7.782 3.205-12.303 0-5.902-2.026-11.328-5.422-15.625l0.038 0.052-26.187-33.686 27.672-27.641 33.824 26.306c4.278 3.186 9.668 5.101 15.507 5.101 4.497 0 8.729-1.135 12.42-3.137l-0.139 0.068c9.777-5.592 21.094-10.415 32.992-13.888l1.121-0.282c9.668-2.833 16.844-11.032 18.135-21.071l0.015-0.127 5.402-42.451h39.2l5.402 42.451c1.263 10.15 8.431 18.34 17.91 21.091l0.176 0.043c13.004 3.77 24.288 8.552 34.851 14.478l-0.823-0.423c3.592 2.153 7.923 3.426 12.557 3.426 5.887 0 11.296-2.061 15.537-5.496l33.663-26.153 27.616 27.641-26.16 33.683c-3.328 4.272-5.337 9.716-5.337 15.631 0 4.535 1.183 8.797 3.253 12.49l-0.067-0.128c5.557 9.762 10.373 21.072 13.856 32.948l0.287 1.136c2.847 9.641 11.027 16.8 21.041 18.103l0.128 0.015 42.508 5.402zM294.698 637.487c-66.162 0-119.797 53.637-119.797 119.797s53.637 119.797 119.797 119.797c66.162 0 119.797-53.637 119.797-119.797v0c-0.068-66.137-53.664-119.728-119.791-119.797h-0.008zM294.698 826.391c-0.009 0-0.020 0-0.030 0-38.166 0-69.102-30.94-69.102-69.102s30.94-69.102 69.102-69.102c38.166 0 69.102 30.94 69.102 69.102v0c-0.036 38.139-30.94 69.050-69.072 69.102h-0.007zM1024 178.387v535.174c-0.11 98.476-79.91 178.278-178.381 178.393h-303.587c-0.479-13.693-4.572-26.336-11.344-37.128l0.182 0.31c34.656-7.544 60.238-37.944 60.275-74.327v-1.863h254.462c36.098-0.034 65.35-29.287 65.386-65.381v-535.178c-0.033-36.098-29.286-65.353-65.381-65.387h-535.178c-36.098 0.034-65.352 29.289-65.386 65.385v287.115c-24.425 9.077-42.624 29.703-48.134 55.059l-0.093 0.499c-11.426-7.333-25.376-11.691-40.34-11.691-8.75 0-17.153 1.492-24.97 4.232l0.529-0.159v-335.047c0.11-98.476 79.91-178.278 178.381-178.393h535.185c98.476 0.11 178.278 79.91 178.393 178.381v0.012zM640.185 654.93l-196.33-215.285-58.154 64.274c-9.016-18.557-24.91-32.591-44.281-38.95l-0.533-0.153 58.896-65.062c10.912-12 26.567-19.514 43.978-19.569h0.095c17.377 0.008 33.014 7.461 43.889 19.352l0.038 0.043 102.865 112.81 52.882-50.357c10.639-10.194 25.102-16.471 41.032-16.471 16.439 0 31.319 6.686 42.067 17.485l0.003 0.003 136.096 136.291c4.833 5.229 7.799 12.254 7.799 19.964 0 8.165-3.325 15.56-8.694 20.896l-0.001 0.001-0.285 0.273c-5.343 5.362-12.734 8.681-20.9 8.681-7.782 0-14.863-3.016-20.132-7.94l0.018 0.016-135.939-136.111-53.848 51.234 55.072 60.391c4.508 5.096 7.29 11.808 7.394 19.168v0.024c0 16.647-13.494 30.141-30.142 30.142v0c-7.687-0.076-14.664-3.047-19.902-7.881l0.023 0.020z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["image properties_ic-01"],"grid":0},"attrs":[],"properties":{"order":570,"id":37,"name":"image-properties","prevSize":32,"code":59737},"setIdx":0,"setId":7,"iconIdx":40},{"icon":{"paths":["M740.084 12.634l-134.263 167.829c-4.583 5.689-7.356 13.005-7.356 20.968 0 18.536 15.026 33.563 33.563 33.563 0.001 0 0.003 0 0.004 0h83.912v738.451c0 0.072 0 0.157 0 0.24 0 27.807 22.542 50.35 50.35 50.35s50.35-22.542 50.35-50.35c0-0.085 0-0.169 0-0.254v0.014-738.449h83.917c0 0 0.001 0 0.001 0 18.536 0 33.561-15.026 33.561-33.561 0-7.964-2.774-15.28-7.408-21.034l0.050 0.065-134.263-167.831c-6.201-7.709-15.633-12.6-26.207-12.6s-20.006 4.891-26.157 12.535l-0.050 0.065z","M422.252 663.522q26.483-93.142 54.938-170.672l0.004-0.022q29.427-78.47 67.674-166.721l0.063-0.149 0.004 0.004c3.665-6.407 6.031-13.991 6.544-22.078l0.008-0.151c-0.843-11.592-7.993-21.333-18.004-25.868l-0.193-0.078-0.151-0.088 0.007-0.007c-9.276-7.108-20.884-11.609-33.513-12.228l-0.141-0.005c-0.019 0-0.041 0-0.062 0-10.842 0-20.79 3.825-28.569 10.199l0.080-0.063c-8.579 7.541-15.569 16.655-20.564 26.922l-0.223 0.507c-7.749 15.711-15.662 35.040-22.354 54.931l-1.025 3.511q-9.779 31.306-25.444 84.147h0.004c-13.459 52.352-27.919 95.898-44.913 138.154l2.641-7.435-2.266 5.193-2.864-4.891c-9.345-15.444-18.902-33.888-27.314-52.952l-1.283-3.26q-11.794-28.509-31.404-82.43l-0.007-0.024c-17.97-54.207-38.765-100.663-63.552-144.565l2.091 4.029c-4.97-8.52-11.228-15.707-18.598-21.554l-0.157-0.12-0.317-0.211 0.018-0.018c-5.253-3.907-11.867-6.255-19.030-6.255-0.912 0-1.814 0.038-2.706 0.112l0.116-0.008c-0.317-0.005-0.693-0.008-1.070-0.008-13.951 0-26.92 4.204-37.71 11.415l0.247-0.155c-9.473 7.092-15.538 18.286-15.538 30.897 0 1.051 0.042 2.093 0.124 3.122l-0.008-0.135c0.409 4.86 1.567 9.346 3.361 13.493l-0.107-0.278c3.568 9.271 6.985 16.758 10.773 24.021l-0.612-1.29c13.44 23.435 27.888 52.437 40.825 82.247l2.333 6.038q22.524 48.964 27.481 60.851v0l22.503 51.852c22.997 49.631 47.422 91.913 75.117 131.753l-1.867-2.837 0.696 1.027-0.261 1.202c-6.546 35.113-16.126 66.211-28.774 95.679l1.113-2.917c-9.373 19.417-21.912 30.049-37.872 30.049-5.817-0.012-11.268-1.575-15.961-4.298l0.154 0.082-0.028 0.063-0.239-0.138-0.058-0.014 0.007-0.014c-5.343-2.368-9.933-5.035-14.191-8.132l0.22 0.153-0.39-0.281 0.024-0.024-0.669-0.531-1.882-1.355q-2.412-1.683-6.802-4.615c-4.752-3.341-10.647-5.354-17.011-5.396h-0.011c-0.377-0.012-0.819-0.019-1.263-0.019-9.526 0-18.332 3.084-25.475 8.307l0.122-0.085c-6.565 5.5-10.71 13.701-10.71 22.87 0 0.465 0.011 0.927 0.031 1.387l-0.003-0.065c0.927 10.624 5.007 20.15 11.286 27.801l-0.070-0.089c9.425 12.238 21.568 21.926 35.558 28.247l0.585 0.236 0.042 0.022c16.745 7.895 36.371 12.504 57.075 12.504 1.532 0 3.057-0.026 4.577-0.076l-0.222 0.005c0.463 0.008 1.009 0.014 1.558 0.014 20.217 0 38.85-6.783 53.746-18.197l-0.212 0.155 0.058-0.049c16.885-12.465 31.242-27.127 42.995-43.762l0.4-0.596c3.125-5.396 6.161-11.757 8.706-18.362l0.322-0.948q5.849-14.371 14.16-37.846l0.022-0.053q17.605-46.937 33.251-98.789z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Y axis_ic-01"],"grid":0},"attrs":[],"properties":{"order":569,"id":38,"name":"y-axis","prevSize":32,"code":59735},"setIdx":0,"setId":7,"iconIdx":41},{"icon":{"paths":["M93.091 619.055v0c-0.002 0-0.002 0-0.004 0-5.14 0-9.305 4.167-9.305 9.305 0 0.002 0 0.002 0 0.004v302.545c0 0.002 0 0.002 0 0.004 0 5.14 4.167 9.305 9.305 9.305 0.002 0 0.002 0 0.004 0h837.818c0.002 0 0.002 0 0.004 0 5.14 0 9.305-4.167 9.305-9.305 0-0.002 0-0.002 0-0.004v-302.545c0-0.002 0-0.002 0-0.004 0-5.14-4.167-9.305-9.305-9.305-0.002 0-0.002 0-0.004 0h-837.818zM0 628.364c0-51.413 41.678-93.091 93.091-93.091v0h837.818c51.413 0 93.091 41.678 93.091 93.091v0 302.545c0 51.413-41.678 93.091-93.091 93.091v0h-837.818c-51.413 0-93.091-41.678-93.091-93.091v0zM930.909 83.782v0c0.002 0 0.002 0 0.004 0 5.14 0 9.305 4.167 9.305 9.305 0 0.002 0 0.002 0 0.004v302.545c0 0.002 0 0.002 0 0.004 0 5.14-4.167 9.305-9.305 9.305-0.002 0-0.002 0-0.004 0h-837.818c-0.002 0-0.002 0-0.004 0-5.14 0-9.305-4.167-9.305-9.305 0-0.002 0-0.002 0-0.004v-302.545c0-0.002 0-0.002 0-0.004 0-5.14 4.167-9.305 9.305-9.305 0.002 0 0.002 0 0.004 0h837.818zM93.091 0c-51.413 0-93.091 41.678-93.091 93.091v0 302.545c0 51.413 41.678 93.091 93.091 93.091v0h837.818c51.413 0 93.091-41.678 93.091-93.091v0-302.545c0-51.413-41.678-93.091-93.091-93.091v0zM162.909 826.182c0 25.705 20.84 46.545 46.545 46.545v0h93.091c25.705 0 46.545-20.84 46.545-46.545v0-93.091c0-25.705-20.84-46.545-46.545-46.545v0h-93.091c-25.705 0-46.545 20.84-46.545 46.545v0zM162.909 290.909c0 25.705 20.84 46.545 46.545 46.545v0h93.091c25.705 0 46.545-20.84 46.545-46.545v0-93.091c0-25.705-20.84-46.545-46.545-46.545v0h-93.091c-25.705 0-46.545 20.84-46.545 46.545v0zM465.455 337.455c-25.705 0-46.545-20.84-46.545-46.545v0-93.091c0-25.705 20.84-46.545 46.545-46.545v0h93.091c25.705 0 46.545 20.84 46.545 46.545v0 93.091c0 25.705-20.84 46.545-46.545 46.545v0zM418.909 826.182c0 25.705 20.84 46.545 46.545 46.545v0h93.091c25.705 0 46.545-20.84 46.545-46.545v0-93.091c0-25.705-20.84-46.545-46.545-46.545v0h-93.091c-25.705 0-46.545 20.84-46.545 46.545v0zM721.454 337.455c-25.705 0-46.545-20.84-46.545-46.545v0-93.091c0-25.705 20.84-46.545 46.545-46.545v0h93.091c25.705 0 46.545 20.84 46.545 46.545v0 93.091c0 25.705-20.84 46.545-46.545 46.545v0zM674.909 826.182c0 25.705 20.84 46.545 46.545 46.545v0h93.091c25.705 0 46.545-20.84 46.545-46.545v0-93.091c0-25.705-20.84-46.545-46.545-46.545v0h-93.091c-25.705 0-46.545 20.84-46.545 46.545v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Image group-01"],"grid":0},"attrs":[],"properties":{"order":568,"id":39,"name":"image-group","prevSize":32,"code":59736},"setIdx":0,"setId":7,"iconIdx":42},{"icon":{"paths":["M404.945 93.091v0c0-0.002 0-0.002 0-0.004 0-5.14-4.167-9.305-9.305-9.305-0.002 0-0.002 0-0.004 0h-302.545c-0.002 0-0.002 0-0.004 0-5.14 0-9.305 4.167-9.305 9.305 0 0.002 0 0.002 0 0.004v837.818c0 0.002 0 0.002 0 0.004 0 5.14 4.167 9.305 9.305 9.305 0.002 0 0.002 0 0.004 0h302.545c0.002 0 0.002 0 0.004 0 5.14 0 9.305-4.167 9.305-9.305 0-0.002 0-0.002 0-0.004v-837.818zM395.636 0c51.413 0 93.091 41.678 93.091 93.091v0 837.818c0 51.413-41.678 93.091-93.091 93.091v0h-302.545c-51.413 0-93.091-41.678-93.091-93.091v0-837.818c0-51.413 41.678-93.091 93.091-93.091v0zM940.218 930.909v0c0 0.002 0 0.002 0 0.004 0 5.14-4.167 9.305-9.305 9.305-0.002 0-0.002 0-0.004 0h-302.545c-0.002 0-0.002 0-0.004 0-5.14 0-9.305-4.167-9.305-9.305 0-0.002 0-0.002 0-0.004v-837.818c0-0.002 0-0.002 0-0.004 0-5.14 4.167-9.305 9.305-9.305 0.002 0 0.002 0 0.004 0h302.545c0.002 0 0.002 0 0.004 0 5.14 0 9.305 4.167 9.305 9.305 0 0.002 0 0.002 0 0.004v837.818zM1024 93.091c0-51.413-41.678-93.091-93.091-93.091v0h-302.545c-51.413 0-93.091 41.678-93.091 93.091v0l0 837.818c0 51.413 41.678 93.091 93.091 93.091v0h302.545c51.413 0 93.091-41.678 93.091-93.091v0zM197.818 162.909c-25.705 0-46.545 20.84-46.545 46.545v0 93.091c0 25.705 20.84 46.545 46.545 46.545v0h93.091c25.705 0 46.545-20.84 46.545-46.545v0-93.091c0-25.705-20.84-46.545-46.545-46.545v0zM733.091 162.909c-25.705 0-46.545 20.84-46.545 46.545v0l0 93.091c0 25.705 20.84 46.545 46.545 46.545v0h93.091c25.705 0 46.545-20.84 46.545-46.545v0-93.091c0-25.705-20.84-46.545-46.545-46.545v0zM686.545 465.455c0-25.705 20.84-46.545 46.545-46.545v0h93.091c25.705 0 46.545 20.84 46.545 46.545v0 93.091c0 25.705-20.84 46.545-46.545 46.545v0h-93.091c-25.705 0-46.545-20.84-46.545-46.545v0zM197.818 418.909c-25.705 0-46.545 20.84-46.545 46.545v0 93.091c0 25.705 20.84 46.545 46.545 46.545v0h93.091c25.705 0 46.545-20.84 46.545-46.545v0-93.091c0-25.705-20.84-46.545-46.545-46.545v0zM686.545 721.454c0-25.705 20.84-46.545 46.545-46.545v0h93.091c25.705 0 46.545 20.84 46.545 46.545v0 93.091c0 25.705-20.84 46.545-46.545 46.545v0h-93.091c-25.705 0-46.545-20.84-46.545-46.545v0zM197.818 674.909c-25.705 0-46.545 20.84-46.545 46.545v0 93.091c0 25.705 20.84 46.545 46.545 46.545v0h93.091c25.705 0 46.545-20.84 46.545-46.545v0-93.091c0-25.705-20.84-46.545-46.545-46.545v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["group column"],"grid":0},"attrs":[],"properties":{"order":599,"id":40,"prevSize":32,"code":59775,"name":"group-column"},"setIdx":0,"setId":7,"iconIdx":43},{"icon":{"paths":["M1024 929.185c0 31.419-25.471 56.889-56.889 56.889h-872.296c-52.365 0-94.815-42.45-94.815-94.815v0-796.443c0-31.419 25.469-56.889 56.889-56.889s56.889 25.469 56.889 56.889v0 777.481h853.332c31.419 0 56.889 25.469 56.889 56.889v0zM265.478 640.673c-44.137 0-79.918 35.781-79.918 79.918s35.781 79.918 79.918 79.918c44.137 0 79.918-35.781 79.918-79.918v0c-0.047-44.119-35.799-79.871-79.913-79.918h-0.005zM316.051 299.344c0 0 0 0 0 0-44.139 0-79.918 35.781-79.918 79.918s35.781 79.918 79.918 79.918c44.139 0 79.918-35.781 79.918-79.918v0c-0.042-44.122-35.797-79.879-79.915-79.921h-0.005zM463.966 499.093c-0.006 0-0.015 0-0.023 0-44.137 0-79.918 35.781-79.918 79.918s35.781 79.918 79.918 79.918c44.137 0 79.918-35.781 79.918-79.918v0c-0.047-44.111-35.786-79.86-79.891-79.918h-0.005zM710.917 583.778c-44.137 0-79.918 35.781-79.918 79.918s35.781 79.918 79.918 79.918c44.137 0 79.918-35.779 79.918-79.917v0c-0.045-44.121-35.799-79.874-79.913-79.921h-0.005zM738.577 414.654c0-44.137-35.781-79.918-79.918-79.918s-79.918 35.781-79.918 79.918c0 44.137 35.781 79.918 79.918 79.918v0c44.119-0.045 79.873-35.799 79.92-79.913v-0.005zM919.056 367.613c-44.127 0.006-79.895 35.779-79.895 79.907 0 44.132 35.776 79.907 79.907 79.907 44.127 0 79.9-35.77 79.907-79.895v0c-0.047-44.118-35.799-79.871-79.912-79.918h-0.005zM530.954 307.481c44.137 0 79.918-35.781 79.918-79.918s-35.781-79.918-79.918-79.918c-44.137 0-79.918 35.781-79.918 79.918v0c0.049 44.118 35.801 79.87 79.915 79.918h0.005zM876.376 151.692c0-44.137-35.781-79.918-79.918-79.918s-79.918 35.781-79.918 79.918c0 44.137 35.781 79.918 79.918 79.918v0c44.121-0.042 79.876-35.797 79.92-79.915v-0.005z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Scaterplot_ic-01"],"grid":0},"attrs":[],"properties":{"order":567,"id":41,"name":"scatterplot","prevSize":32,"code":59733},"setIdx":0,"setId":7,"iconIdx":44},{"icon":{"paths":["M1023.99 156.832v641.148c0 25.474-20.651 46.125-46.125 46.125s-46.125-20.651-46.125-46.125v0-641.148c-1.038-14.849-12.827-26.638-27.582-27.673l-0.094-0.005h-714.949c-25.474 0-46.125-20.651-46.125-46.125s20.651-46.125 46.125-46.125v0h714.949c65.745 1.205 118.723 54.184 119.926 119.816l0.002 0.114zM599.635 461.262c0-20.38 16.521-36.901 36.901-36.901s36.901 16.521 36.901 36.901c0 20.38-16.521 36.901-36.901 36.901v0c-19.797-1.386-35.515-17.103-36.893-36.775l-0.006-0.125zM166.053 779.525c-4.32 5.71-6.919 12.931-6.919 20.758s2.599 15.049 6.983 20.846l-0.063-0.088c5.71 4.32 12.929 6.919 20.757 6.919s15.047-2.599 20.844-6.983l-0.088 0.063 147.602-166.053 147.602 166.053c5.312 5.312 12.65 8.598 20.757 8.598 16.213 0 29.356-13.143 29.356-29.356 0-8.106-3.287-15.446-8.599-20.758v0l-32.288-36.896 32.288-32.288 110.702 110.702c5.312 5.312 12.65 8.598 20.757 8.598 16.213 0 29.356-13.143 29.356-29.356 0-8.106-3.287-15.446-8.599-20.758l-119.928-119.923c-8.137-8.533-19.592-13.837-32.288-13.837s-24.151 5.306-32.272 13.819l-0.016 0.018-36.901 36.901-83.026-92.252c-7.973-10.55-20.496-17.298-34.594-17.298s-26.622 6.748-34.516 17.189l-0.079 0.109zM751.849 309.046h-641.148v562.729h641.148v-562.729zM788.75 198.345c0.282-0.003 0.616-0.006 0.95-0.006 40.239 0 72.857 32.619 72.857 72.857 0 0.334-0.002 0.668-0.006 1.001v-0.050 641.148c0.003 0.282 0.006 0.616 0.006 0.95 0 40.235-32.617 72.854-72.854 72.854-0.336 0-0.67-0.002-1.005-0.006h-714.899c-0.284 0.003-0.618 0.006-0.954 0.006-40.235 0-72.854-32.617-72.854-72.854 0-0.334 0.002-0.666 0.006-1.001v0.050-641.148c-0.003-0.282-0.006-0.616-0.006-0.95 0-40.239 32.619-72.857 72.857-72.857 0.334 0 0.668 0.002 1.001 0.006h-0.050z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Image Explorer icon-01"],"grid":0},"attrs":[],"properties":{"order":566,"id":42,"name":"image-explorer","prevSize":32,"code":59734},"setIdx":0,"setId":7,"iconIdx":45},{"icon":{"paths":["M204.799 153.6c0-28.276 22.923-51.199 51.199-51.199v0h307.201v102.4c0 84.831 68.769 153.6 153.6 153.6v0h102.4v512c0 28.276-22.923 51.199-51.199 51.199v0h-512c-28.276 0-51.199-22.923-51.199-51.199v0zM747.008 256l-81.409-81.409v30.208c0 28.276 22.923 51.199 51.199 51.199v0zM256-0c-84.831 0-153.6 68.769-153.6 153.6v0 716.801c0 84.831 68.769 153.6 153.6 153.6v0h512c84.831 0 153.6-68.769 153.6-153.6v0-563.201c0-0.088 0-0.193 0-0.295 0-14.065-5.672-26.806-14.852-36.059l-255.996-255.996c-9.25-9.178-21.991-14.848-36.056-14.848-0.104 0-0.209 0-0.311 0.002h0.016zM307.199 422.399c-21.208 0-38.399 17.192-38.399 38.399s17.192 38.399 38.399 38.399v0h307.201c21.208 0 38.399-17.192 38.399-38.399s-17.192-38.399-38.399-38.399v0zM268.8 614.4c0.284-21.092 17.307-38.115 38.372-38.399h409.628c21.208 0 38.399 17.192 38.399 38.399s-17.192 38.399-38.399 38.399v0h-409.601c-21.092-0.284-38.115-17.307-38.399-38.372v-0.027zM307.199 729.601c-21.208 0-38.399 17.192-38.399 38.399s17.192 38.399 38.399 38.399v0h409.601c21.208 0 38.399-17.192 38.399-38.399s-17.192-38.399-38.399-38.399v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Full docs_ic-01"],"grid":0},"attrs":[],"properties":{"order":538,"id":43,"name":"full-docs","prevSize":32,"code":59730},"setIdx":0,"setId":7,"iconIdx":46},{"icon":{"paths":["M93.092 744.727h837.817v-605.090h-837.817zM0.001 139.636c0-51.413 41.678-93.091 93.091-93.091v0h837.817c51.413 0 93.091 41.678 93.091 93.091v0 605.090c0 51.413-41.678 93.091-93.091 93.091v0h-372.364v46.545h93.091c25.706 0 46.545 20.839 46.545 46.545s-20.839 46.545-46.545 46.545v0h-279.273c-25.706 0-46.545-20.839-46.545-46.545s20.839-46.545 46.545-46.545v0h93.091v-46.545h-372.364c-51.413 0-93.091-41.678-93.091-93.091v0zM608.814 535.272l-0.008 0.008c-6.429 6.622-15.426 10.736-25.383 10.736-7.972 0-15.328-2.638-21.153-7.022l-139.636-99.142-165.178 165.189c-6.033 4.976-13.765 7.964-22.197 7.964-19.28 0-34.908-15.629-34.908-34.908 0-8.314 2.906-15.95 7.707-21.88l186.19-186.19c6.429-6.622 15.426-10.736 25.383-10.736 7.972 0 15.328 2.638 21.153 7.022l139.636 99.142 186.049-186.1c5.493-3.603 12.063-5.699 19.124-5.699 19.28 0 34.908 15.629 34.908 34.908 0 6.346-1.694 12.296-4.562 17.254z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Live demo_ic-01"],"grid":0},"attrs":[],"properties":{"order":539,"id":44,"name":"live-demo","prevSize":32,"code":59731},"setIdx":0,"setId":7,"iconIdx":47},{"icon":{"paths":["M720.062 353.574c-42.94 0.212-81.684 18.003-109.436 46.54l-0.035 0.036c-28.404 28.726-45.95 68.239-45.95 111.85s17.547 83.124 45.964 111.866l-0.014-0.014c27.949 28.71 66.97 46.52 110.151 46.52s82.202-17.811 110.117-46.487l0.033-0.035c28.292-28.655 45.767-68.049 45.767-111.525 0-86.922-69.85-157.529-156.482-158.75l-0.115-0.001zM303.938 206.026c0.050 0 0.109 0 0.169 0 68.93 0 132.294 23.825 182.309 63.69l-0.592-0.455-72.414 130.889c-27.949-28.71-66.97-46.52-110.151-46.52s-82.202 17.811-110.117 46.487l-0.033 0.035c-28.404 28.726-45.95 68.239-45.95 111.85s17.547 83.124 45.964 111.866l-0.014-0.014c28.006 28.746 67.096 46.577 110.349 46.577 0.17 0 0.338 0 0.508-0.001h-0.026c41.106-0.372 78.378-16.476 106.154-42.573l-0.082 0.076 73.773 127.829c-49.556 38.793-112.775 62.207-181.464 62.207-83.047 0-158.099-34.226-211.822-89.342l-0.061-0.063c-54.653-55.601-88.393-131.911-88.393-216.1 0-0.163 0-0.325 0-0.486v0.025c-0.005-0.608-0.007-1.327-0.007-2.046 0-167.143 134.92-302.774 301.792-303.926h0.11zM720.062 206.026c168.985 0 305.974 136.989 305.974 305.974s-136.989 305.974-305.974 305.974v0c-83.145-0.524-158.227-34.614-212.457-89.387l-0.024-0.025c-54.339-55.933-87.892-132.313-88.052-216.53v-0.031c-0.006-0.712-0.010-1.553-0.010-2.395 0-166.598 134.19-301.854 300.38-303.577l0.164-0.001z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["CO_ic-01"],"grid":0},"attrs":[],"properties":{"order":540,"id":45,"name":"co","prevSize":32,"code":59732},"setIdx":0,"setId":7,"iconIdx":48},{"icon":{"paths":["M227.538 1009.261l157.573-196.968c5.307-6.746 8.513-15.365 8.513-24.731 0-6.182-1.396-12.038-3.889-17.269l0.103 0.242c-6.559-13.17-19.93-22.061-35.375-22.061-0.028 0-0.055 0-0.083 0h-98.479v-689.384c0-32.634-26.456-59.090-59.090-59.090s-59.090 26.456-59.090 59.090v0 689.384h-98.483c-0.024 0-0.052 0-0.079 0-15.447 0-28.816 8.889-35.271 21.832l-0.103 0.229c-2.389 4.989-3.785 10.845-3.785 17.025 0 9.366 3.206 17.986 8.577 24.818l-0.065-0.087 157.573 196.968c7.279 9.020 18.335 14.741 30.727 14.741s23.448-5.721 30.668-14.667l0.059-0.076z"],"width":400,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Sort_one arrow_down_ic-01"],"grid":0},"attrs":[],"properties":{"order":544,"id":46,"name":"sort-arrow-down","prevSize":32,"code":59675},"setIdx":0,"setId":7,"iconIdx":49},{"icon":{"paths":["M166.086 14.855l-157.573 196.968c-5.307 6.746-8.513 15.365-8.513 24.731 0 6.182 1.396 12.038 3.889 17.269l-0.103-0.242c6.559 13.17 19.93 22.061 35.375 22.061 0.028 0 0.055 0 0.083 0h98.479v689.384c0 32.634 26.456 59.090 59.090 59.090s59.090-26.456 59.090-59.090v0-689.384h98.483c0.024 0 0.052 0 0.079 0 15.447 0 28.816-8.889 35.271-21.832l0.103-0.229c2.389-4.989 3.785-10.845 3.785-17.025 0-9.366-3.206-17.986-8.577-24.818l0.065 0.087-157.573-196.968c-7.279-9.020-18.335-14.741-30.727-14.741s-23.448 5.721-30.668 14.667l-0.059 0.076z"],"width":400,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Sort_one arrow_ic-01"],"grid":0},"attrs":[],"properties":{"order":394,"id":47,"name":"sort-arrow-up","prevSize":32,"code":59729},"setIdx":0,"setId":7,"iconIdx":50},{"icon":{"paths":["M94.868 37.991c-52.358 0-94.805 42.445-94.806 94.803v0 758.575c0 0 0 0.002 0 0.003 0 52.358 42.445 94.805 94.805 94.805 0.002 0 0.002 0 0.003 0h834.386c52.36-0.002 94.806-42.446 94.806-94.806v0-758.575c-0.005-52.358-42.448-94.801-94.806-94.803v0zM910.295 429.921v442.491h-796.466v-720.648h796.466v278.157zM485.357 461.131c-10.557-11.491-25.654-18.667-42.428-18.667s-31.87 7.176-42.39 18.625l-0.037 0.042-236.292 257.768c-5.627 6.124-9.077 14.327-9.077 23.337 0 19.075 15.463 34.537 34.537 34.537 10.064 0 19.125-4.306 25.437-11.175l0.023-0.024 227.801-248.513 227.801 248.513c6.335 6.895 15.395 11.201 25.46 11.201 19.075 0 34.537-15.463 34.537-34.537 0-9.009-3.45-17.213-9.1-23.362l0.023 0.024-122.859-134.029 19.671-21.859 190.71 202.879c6.32 6.749 15.284 10.953 25.231 10.953 19.073 0 34.535-15.462 34.535-34.535 0-9.197-3.595-17.555-9.456-23.744l0.015 0.016-199.279-211.996c-10.524-11.177-25.419-18.138-41.94-18.138-16.959 0-32.204 7.333-42.738 19.002l-0.045 0.050-23.595 26.219zM719.213 419.905c38.147 0 69.071-30.925 69.071-69.071s-30.925-69.071-69.071-69.071c-38.147 0-69.071 30.925-69.071 69.071v0c0 38.147 30.925 69.071 69.071 69.071v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["icon"],"grid":0},"attrs":[],"properties":{"order":541,"id":48,"name":"images","prevSize":32,"code":59728},"setIdx":0,"setId":7,"iconIdx":51},{"icon":{"paths":["M929.206 94.767c-126.362-126.364-331.242-126.364-457.604 0l-94.21 94.212c-22.302 22.3-22.302 58.454 0 80.754s58.449 22.3 80.749 0l94.217-94.212c81.762-81.764 214.329-81.764 296.098 0 81.762 81.764 81.762 214.336 0 296.098l-94.217 94.21c-22.3 22.3-22.3 58.456 0 80.758s58.456 22.3 80.758 0l94.21-94.21c126.362-126.369 126.362-331.244 0-457.608zM269.718 458.157c22.3-22.3 22.3-58.449 0-80.749-22.3-22.302-58.454-22.302-80.754 0l-94.212 94.21c-126.364 126.362-126.364 331.242 0 457.604s331.237 126.362 457.606 0l94.21-94.21c22.3-22.3 22.3-58.456 0-80.758s-58.456-22.3-80.758 0l-94.21 94.21c-81.762 81.769-214.332 81.769-296.096 0-81.764-81.762-81.764-214.329 0-296.091l94.212-94.217zM660.030 444.697c22.3-22.293 22.3-58.449 0-80.749s-58.456-22.3-80.758 0l-215.34 215.34c-22.3 22.3-22.3 58.456 0 80.758s58.456 22.3 80.758 0l215.34-215.349z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Link_ic"],"grid":0},"attrs":[],"properties":{"order":565,"id":49,"name":"link","prevSize":32,"code":59710},"setIdx":0,"setId":7,"iconIdx":52},{"icon":{"paths":["M192.001 0.004c-106.038 0-192 85.962-192 192v0 640c0 106.038 85.962 192 192 192v0h640c0.001 0 0.003 0 0.004 0 106.036 0 191.995-85.959 191.995-191.995 0-0.001 0-0.003 0-0.004v0-640c0-106.038-85.962-192-192-192v0zM737.939 286.063c8.686 8.686 14.059 20.686 14.059 33.94s-5.373 25.255-14.059 33.94l-158.055 158.059 158.055 158.061c8.902 8.721 14.422 20.866 14.422 34.3 0 26.509-21.49 48-48 48-13.434 0-25.579-5.52-34.293-14.413l-158.068-158.062-158.059 158.055c-8.71 8.839-20.814 14.317-34.197 14.317-26.509 0-48-21.49-48-48 0-13.381 5.476-25.485 14.308-34.189l158.062-158.067-158.056-158.059c-8.674-8.685-14.040-20.676-14.040-33.922 0-26.509 21.49-48 48-48 13.245 0 25.237 5.365 33.922 14.040v0l158.059 158.056 158.061-158.056c8.685-8.686 20.685-14.059 33.939-14.059s25.254 5.373 33.939 14.059v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Close_rectangle_ic-01"],"grid":0},"attrs":[],"properties":{"order":564,"id":50,"name":"close-rectangle","prevSize":32,"code":59648},"setIdx":0,"setId":7,"iconIdx":53},{"icon":{"paths":["M130.908 22.246c-13.903-13.886-33.099-22.476-54.304-22.476-42.437 0-76.84 34.403-76.84 76.84 0 21.203 8.589 40.401 22.476 54.304v0l381.047 381.042-381.047 381.054c-13.661 13.862-22.096 32.907-22.096 53.92 0 42.437 34.403 76.84 76.84 76.84 21.016 0 40.060-8.438 53.934-22.108l381.032-381.035 381.054 381.044c13.846 13.562 32.82 21.931 53.752 21.931 42.437 0 76.84-34.403 76.84-76.84 0-20.932-8.368-39.906-21.943-53.766l-381.032-381.042 381.044-381.042c13.663-13.862 22.099-32.909 22.099-53.925 0-42.437-34.403-76.84-76.84-76.84-21.013 0-40.058 8.436-53.93 22.106l-381.044 381.042z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Close_ic-01"],"grid":0},"attrs":[],"properties":{"order":563,"id":51,"name":"close","prevSize":32,"code":59649},"setIdx":0,"setId":7,"iconIdx":54},{"icon":{"paths":["M512 1024.004c282.77 0 512-229.23 512-512s-229.23-512-512-512c-282.77 0-512 229.23-512 512v0c0 282.77 229.23 512 512 512v0zM737.939 286.062c8.687 8.687 14.060 20.687 14.060 33.941s-5.373 25.256-14.060 33.941l-158.055 158.060 158.055 158.061c8.903 8.721 14.423 20.867 14.423 34.301 0 26.51-21.491 48-48 48-13.434 0-25.58-5.52-34.293-14.414l-158.069-158.063-158.060 158.055c-8.711 8.84-20.814 14.318-34.197 14.318-26.51 0-48-21.491-48-48 0-13.382 5.477-25.485 14.309-34.19l158.063-158.067-158.057-158.060c-8.675-8.685-14.040-20.676-14.040-33.923 0-26.51 21.491-48 48-48 13.245 0 25.238 5.366 33.923 14.040v0l158.060 158.057 158.061-158.057c8.685-8.687 20.685-14.060 33.939-14.060s25.254 5.373 33.939 14.060v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Close_circle_ic-01"],"grid":0},"attrs":[],"properties":{"order":562,"id":52,"name":"close-circle","prevSize":32,"code":59650},"setIdx":0,"setId":7,"iconIdx":55},{"icon":{"paths":["M618.666 512.026c0 58.91-47.756 106.666-106.666 106.666s-106.666-47.756-106.666-106.666c0-58.91 47.756-106.666 106.666-106.666v0c58.888 0.056 106.61 47.778 106.666 106.662v0.006zM1024 512.006c-85.826 202.142-282.658 341.334-512 341.334s-426.176-139.192-510.628-337.706l-1.372-3.628c85.826-202.142 282.658-341.334 512-341.334s426.176 139.192 510.628 337.706l1.372 3.628zM746.666 512.026c0-129.602-105.064-234.666-234.666-234.666s-234.666 105.064-234.666 234.666c0 129.602 105.064 234.666 234.666 234.666v0c129.548-0.136 234.532-105.118 234.666-234.654v-0.014z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Eye_fill_show_ic"],"grid":0},"attrs":[],"properties":{"order":561,"id":53,"name":"eye-fill-show","prevSize":32,"code":59651},"setIdx":0,"setId":7,"iconIdx":56},{"icon":{"paths":["M1020.372 531.977l-0.014 0.060-0.023 0.060-0.060 0.144-0.139 0.37-0.418 1.079-1.38 3.413c-1.172 2.823-2.825 6.713-5.015 11.515-4.37 9.596-10.871 22.907-19.746 38.684-24.898 43.754-52.899 81.566-84.83 115.651l0.308-0.332q-4.444 4.731-9.083 9.468l-80.458-80.458q3.333-3.413 6.532-6.834c25.573-27.303 48.22-57.884 67.111-90.892l1.255-2.38c4.133-7.344 7.57-13.922 10.343-19.518-2.773-5.596-6.208-12.176-10.343-19.518-20.142-35.39-42.791-65.971-68.615-93.543l0.249 0.268c-76.119-82.396-184.719-133.818-305.33-133.818-3.067 0-6.124 0.034-9.175 0.1l0.455-0.007c-0.174 0-0.382 0-0.588 0-19.351 0-38.437 1.132-57.196 3.333l2.277-0.217-96.824-96.828c44.873-12.745 96.407-20.071 149.653-20.071 0.942 0 1.884 0.002 2.827 0.007h-0.146c2.617-0.046 5.703-0.073 8.796-0.073 153.293 0 291.353 65.216 387.95 169.416l0.313 0.341c31.626 33.751 59.628 71.56 82.974 112.376l1.548 2.939c8.875 15.772 15.376 29.088 19.746 38.679 2.19 4.802 3.842 8.695 5.015 11.515l1.38 3.413 0.418 1.074 0.139 0.379 0.060 0.144 0.023 0.060 0.014 0.060c2.295 5.932 3.625 12.796 3.625 19.971s-1.33 14.039-3.756 20.361l0.132-0.389zM492.228 304.339l227.439 227.439q0.924-9.764 0.926-19.772c0-115.201-93.39-208.591-208.591-208.591v0q-10 0-19.772 0.926zM3.644 491.975l0.023-0.060 0.055-0.144 0.139-0.379 0.421-1.074 1.38-3.413c1.163-2.82 2.82-6.713 5.006-11.515 4.37-9.593 10.871-22.907 19.746-38.679 24.896-43.754 52.899-81.566 84.833-115.647l-0.306 0.329c20.185-21.527 41.735-41.191 64.723-59.091l1.248-0.935-164.248-164.244c-10.295-10.295-16.663-24.517-16.663-40.227 0-31.418 25.47-56.889 56.889-56.889 15.71 0 29.932 6.368 40.226 16.663l910.212 910.214c10.219 10.281 16.535 24.451 16.535 40.096 0 31.417-25.468 56.883-56.883 56.883-15.644 0-29.813-6.315-40.098-16.535l-183.907-183.899c-66.238 30.88-143.802 48.898-225.574 48.898-1.899 0-3.796-0.009-5.689-0.028l0.29 0.002c-2.613 0.046-5.694 0.073-8.782 0.073-153.295 0-291.36-65.214-387.964-169.412l-0.311-0.34c-31.623-33.753-59.625-71.564-82.974-112.378l-1.55-2.94c-8.875-15.778-15.376-29.088-19.746-38.684-2.19-4.802-3.847-8.69-5.006-11.515l-1.38-3.413-0.421-1.079-0.139-0.37-0.055-0.144-0.028-0.059zM3.621 531.977c-2.293-5.932-3.621-12.796-3.621-19.971s1.328-14.039 3.753-20.361l-0.132 0.389zM417.183 512.005c0.053 52.377 42.524 94.814 94.908 94.814 4.7 0 9.321-0.341 13.836-1.001l-0.514 0.062-107.292-107.292c-0.597 4.014-0.937 8.645-0.937 13.358 0 0.021 0 0.041 0 0.062v-0.004zM655.487 735.938l-41.783-41.778c-29.28 16.633-64.32 26.435-101.649 26.435-115.235 0-208.65-93.416-208.65-208.65 0-37.33 9.803-72.369 26.976-102.686l-0.54 1.036-67.651-67.648c-23.915 17.333-44.928 35.911-64.010 56.316l-0.229 0.249c-25.573 27.303-48.222 57.884-67.111 90.894l-1.255 2.38c-4.13 7.342-7.564 13.922-10.343 19.518 2.777 5.596 6.213 12.176 10.343 19.518 20.147 35.388 42.794 65.969 68.617 93.543l-0.251-0.27c76.115 82.396 184.714 133.818 305.323 133.818 3.068 0 6.13-0.034 9.182-0.1l-0.455 0.007c0.992 0.007 2.164 0.012 3.337 0.012 50.128 0 98.323-8.27 143.295-23.522l-3.143 0.924z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Eye_outline_hide_ic"],"grid":0},"attrs":[],"properties":{"order":560,"id":54,"name":"eye-outline-hide","prevSize":32,"code":59652},"setIdx":0,"setId":7,"iconIdx":57},{"icon":{"paths":["M512 303.413c-115.201 0-208.591 93.39-208.591 208.591s93.39 208.591 208.591 208.591c115.201 0 208.591-93.39 208.591-208.591v0c0-115.201-93.39-208.591-208.591-208.591v0zM512 606.819c-52.364 0-94.814-42.45-94.814-94.814s42.45-94.814 94.814-94.814c52.364 0 94.814 42.45 94.814 94.814v0c0 0.002 0 0.004 0 0.005 0 52.362-42.448 94.81-94.81 94.81-0.002 0-0.004 0-0.005 0v0zM1020.373 492.032l-0.016-0.057-0.023-0.060-0.060-0.144-0.139-0.379-0.418-1.074-1.38-3.413c-1.172-2.82-2.825-6.713-5.015-11.515-4.37-9.593-10.871-22.907-19.746-38.679-24.894-43.754-52.896-81.564-84.83-115.646l0.306 0.331c-96.908-104.542-234.971-169.759-388.265-169.759-3.092 0-6.176 0.027-9.255 0.080l0.462-0.007c-2.615-0.046-5.7-0.073-8.791-0.073-153.293 0-291.357 65.216-387.955 169.418l-0.311 0.34c-31.627 33.751-59.628 71.561-82.974 112.376l-1.548 2.939c-8.875 15.772-15.376 29.088-19.746 38.679-2.19 4.802-3.847 8.695-5.006 11.515l-1.38 3.413-0.421 1.074-0.139 0.379-0.055 0.144-0.028 0.062-0.023 0.060c-2.293 5.932-3.621 12.796-3.621 19.971s1.328 14.039 3.753 20.361l-0.132-0.389 0.046 0.121 0.055 0.144 0.139 0.37 0.421 1.079 1.38 3.413c1.163 2.823 2.82 6.713 5.006 11.515 4.37 9.596 10.871 22.907 19.746 38.684 24.898 43.754 52.899 81.566 84.83 115.651l-0.308-0.332c96.915 104.536 234.978 169.748 388.272 169.748 3.092 0 6.176-0.027 9.255-0.080l-0.464 0.007c2.613 0.046 5.698 0.073 8.788 0.073 153.295 0 291.359-65.214 387.959-169.412l0.311-0.34c31.623-33.753 59.625-71.564 82.974-112.378l1.55-2.94c8.875-15.778 15.376-29.088 19.746-38.684 2.19-4.802 3.842-8.69 5.015-11.515l1.38-3.413 0.418-1.079 0.139-0.37 0.060-0.144 0.023-0.060 0.014-0.060c2.295-5.932 3.625-12.796 3.625-19.971s-1.33-14.039-3.756-20.361l0.132 0.389zM894.416 531.523c-20.146 35.388-42.793 65.969-68.615 93.543l0.251-0.27c-76.115 82.396-184.714 133.818-305.323 133.818-3.068 0-6.13-0.034-9.182-0.1l0.455 0.007c-2.597 0.059-5.659 0.092-8.727 0.092-120.609 0-229.206-51.422-305.067-133.537l-0.256-0.281c-25.571-27.303-48.218-57.884-67.111-90.892l-1.255-2.38c-4.13-7.344-7.564-13.922-10.343-19.518 2.777-5.596 6.213-12.176 10.343-19.518 20.144-35.388 42.793-65.971 68.615-93.543l-0.249 0.268c76.119-82.396 184.719-133.818 305.33-133.818 3.067 0 6.124 0.034 9.175 0.1l-0.455-0.007c2.596-0.059 5.653-0.092 8.72-0.092 120.611 0 229.211 51.422 305.074 133.537l0.256 0.279c25.575 27.301 48.224 57.884 67.111 90.894l1.253 2.379c4.133 7.342 7.57 13.922 10.343 19.518-2.773 5.596-6.208 12.176-10.343 19.518z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Eye_show_outline_ic"],"grid":0},"attrs":[],"properties":{"order":559,"id":55,"name":"eye-show-outline","prevSize":32,"code":59653},"setIdx":0,"setId":7,"iconIdx":58},{"icon":{"paths":["M1007.398 926.943l-910.336-910.341c-10.296-10.296-24.521-16.665-40.231-16.665-31.423 0-56.896 25.474-56.896 56.896 0 15.712 6.369 29.936 16.665 40.233l205.458 205.458c-71.412 54.212-127.716 124.713-163.9 206.139l-1.326 3.343c76.495 179.549 251.363 303.184 455.137 303.448h0.034c0.715 0.004 1.561 0.005 2.407 0.005 66.466 0 129.82-13.328 187.532-37.459l-3.213 1.191 228.215 228.211c10.282 10.218 24.453 16.535 40.099 16.535 31.421 0 56.891-25.472 56.891-56.891 0-15.648-6.317-29.819-16.541-40.105l0.004 0.004zM512 720.644c-115.169-0.121-208.498-93.45-208.619-208.609v-0.012c0.188-37.162 10.314-71.919 27.851-101.802l-0.519 0.957 88.758 88.753c-0.942 3.378-1.748 7.48-2.255 11.674l-0.041 0.416c0.050 52.352 42.475 94.777 94.823 94.827h0.005c4.609-0.548 8.71-1.355 12.697-2.438l-0.608 0.14 88.758 88.758c-28.926 17.019-63.685 27.145-100.795 27.333h-0.053zM493.219 305.301l-85.913-85.913c31.451-6.836 67.596-10.778 104.655-10.83h0.039c203.808 0.261 378.675 123.897 453.947 300.222l1.223 3.225c-27.047 61.907-63.29 114.822-107.651 159.695l0.048-0.050-140.845-140.847c0.574-6.283 1.897-12.348 1.897-18.779-0.121-115.169-93.45-208.5-208.609-208.619h-0.012c-6.431 0-12.496 1.325-18.781 1.899z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Eye_fill_hide_ic"],"grid":0},"attrs":[],"properties":{"order":558,"id":56,"name":"eye-fill-hide","prevSize":32,"code":59654},"setIdx":0,"setId":7,"iconIdx":59},{"icon":{"paths":["M336.775 700.845l-134.295 167.87c-6.204 7.71-15.64 12.601-26.217 12.601s-20.012-4.891-26.167-12.537l-0.050-0.065-134.295-167.87c-4.583-5.691-7.356-13.007-7.356-20.972 0-18.542 15.031-33.573 33.573-33.573h83.934v-470.034c0-27.813 22.547-50.361 50.361-50.361s50.361 22.547 50.361 50.361v0 470.034h83.934c18.542 0 33.573 15.033 33.573 33.573 0 7.965-2.773 15.28-7.406 21.037l0.050-0.065zM982.034 159.48h-537.18c-27.813 0-50.361 22.547-50.361 50.361s22.547 50.361 50.361 50.361h537.18c27.813 0 50.361-22.547 50.361-50.361s-22.547-50.361-50.361-50.361v0zM982.034 360.923h-537.18c-27.813 0-50.361 22.547-50.361 50.361s22.547 50.361 50.361 50.361v0h537.18c27.813 0 50.361-22.547 50.361-50.361s-22.547-50.361-50.361-50.361v0zM982.034 562.365h-537.18c-27.813 0-50.361 22.547-50.361 50.361s22.547 50.361 50.361 50.361v0h537.18c27.813 0 50.361-22.547 50.361-50.361s-22.547-50.361-50.361-50.361v0zM982.034 763.808h-537.18c-27.813 0-50.361 22.547-50.361 50.361s22.547 50.361 50.361 50.361v0h537.18c27.813 0 50.361-22.547 50.361-50.361s-22.547-50.361-50.361-50.361v0z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Row height_down_ic-01"],"grid":0},"attrs":[],"properties":{"order":557,"id":57,"name":"row-height-down","prevSize":32,"code":59655},"setIdx":0,"setId":7,"iconIdx":60},{"icon":{"paths":["M1024 512.004c0 0.001 0 0.004 0 0.007 0 9.486-4.389 17.946-11.246 23.462l-0.058 0.045-150.589 120.47c-5.106 4.114-11.671 6.604-18.817 6.604-16.631 0-30.113-13.482-30.113-30.113 0-0.001 0-0.004 0-0.006v0-90.353h-180.706c-16.633 0-30.117-13.484-30.117-30.117s13.484-30.117 30.117-30.117v0h180.706v-90.353c0-16.633 13.485-30.117 30.117-30.117 7.145 0 13.707 2.488 18.871 6.644l-0.058-0.045 150.589 120.474c6.916 5.56 11.305 14.020 11.305 23.504 0 0.003 0 0.007 0 0.010v0zM391.53 481.886h-180.706v-90.353c0 0 0-0.001 0-0.001 0-16.633-13.484-30.117-30.117-30.117-7.146 0-13.711 2.489-18.874 6.647l0.058-0.045-150.589 120.474c-6.915 5.565-11.301 14.027-11.301 23.514s4.388 17.949 11.243 23.469l0.058 0.045 150.589 120.47c5.106 4.112 11.671 6.601 18.816 6.601 16.633 0 30.117-13.484 30.117-30.116v0-90.353h180.706c16.633 0 30.117-13.484 30.117-30.117s-13.484-30.117-30.117-30.117v0zM512 105.416c-24.95 0-45.176 20.226-45.176 45.176v0 722.823c0 24.95 20.226 45.176 45.176 45.176s45.176-20.226 45.176-45.176v0-722.823c0-24.95-20.226-45.176-45.176-45.176v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Reset width_outside_ic"],"grid":0},"attrs":[],"properties":{"order":556,"id":58,"name":"reset-width-outside","prevSize":32,"code":59656},"setIdx":0,"setId":7,"iconIdx":61},{"icon":{"paths":["M1024.001 512.004c0 15.709-12.735 28.444-28.444 28.444v0h-170.667v85.333c0 0.001 0 0.003 0 0.005 0 15.707-12.733 28.44-28.44 28.44-6.749 0-12.951-2.351-17.827-6.28l0.055 0.043-142.223-113.777c-6.532-5.255-10.677-13.248-10.677-22.208s4.145-16.953 10.621-22.165l0.055-0.043 142.223-113.781c4.821-3.883 11.020-6.232 17.768-6.232 15.709 0 28.444 12.735 28.444 28.444v0 85.333h170.667c15.709 0 28.444 12.735 28.444 28.444v0zM387.549 489.795l-142.223-113.781c-4.823-3.884-11.023-6.235-17.771-6.235-15.709 0-28.444 12.735-28.444 28.444 0 0 0 0.001 0 0.001v0 85.333h-170.667c-15.709 0-28.444 12.735-28.444 28.444s12.735 28.444 28.444 28.444v0h170.667v85.333c0.001 15.709 12.736 28.443 28.444 28.443 6.749 0 12.949-2.351 17.825-6.277l-0.055 0.043 142.223-113.777c6.531-5.256 10.673-13.248 10.673-22.208s-4.144-16.952-10.619-22.165l-0.055-0.043zM512 128.004c-23.564 0-42.667 19.103-42.667 42.667v0 682.668c0 23.564 19.103 42.667 42.667 42.667s42.667-19.103 42.667-42.667v0-682.668c0-23.564-19.103-42.667-42.667-42.667v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Reset width_inside_ic"],"grid":0},"attrs":[],"properties":{"order":555,"id":59,"name":"reset-width-inside","prevSize":32,"code":59657},"setIdx":0,"setId":7,"iconIdx":62},{"icon":{"paths":["M340.815 358.68c-5.546 11.35-17.006 19.028-30.257 19.028h-83.934v470.033c0 27.813-22.547 50.361-50.361 50.361s-50.361-22.547-50.361-50.361v0-470.033h-83.934c0 0-0.002 0-0.002 0-18.542 0-33.573-15.031-33.573-33.573 0-7.966 2.775-15.284 7.409-21.040l-0.050 0.065 134.294-167.869c6.205-7.708 15.64-12.598 26.217-12.598s20.012 4.89 26.167 12.534l0.050 0.065 134.294 167.869c4.583 5.691 7.356 13.009 7.356 20.972 0 5.291-1.223 10.294-3.402 14.746l0.088-0.198zM982.033 159.48h-537.18c-27.813 0-50.361 22.547-50.361 50.361s22.547 50.361 50.361 50.361h537.18c27.813 0 50.361-22.547 50.361-50.361s-22.547-50.361-50.361-50.361v0zM982.033 360.923h-537.18c-27.813 0-50.361 22.547-50.361 50.361s22.547 50.361 50.361 50.361v0h537.18c27.813 0 50.361-22.547 50.361-50.361s-22.547-50.361-50.361-50.361v0zM982.033 562.365h-537.18c-27.813 0-50.361 22.547-50.361 50.361s22.547 50.361 50.361 50.361v0h537.18c27.813 0 50.361-22.547 50.361-50.361s-22.547-50.361-50.361-50.361v0zM982.033 763.808h-537.18c-27.813 0-50.361 22.547-50.361 50.361s22.547 50.361 50.361 50.361v0h537.18c27.813 0 50.361-22.547 50.361-50.361s-22.547-50.361-50.361-50.361v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Row height_up_ic-01"],"grid":0},"attrs":[],"properties":{"order":554,"id":60,"name":"row-height-up","prevSize":32,"code":59658},"setIdx":0,"setId":7,"iconIdx":63},{"icon":{"paths":["M16.697 429.262c-9.603 9.619-15.554 22.896-15.554 37.585 0 29.371 23.808 53.18 53.18 53.18 14.673 0 27.959-5.948 37.585-15.554v0l53.557-53.555 189.897 189.901c41.702 41.702 67.499 99.316 67.499 162.947 0 0.909-0.006 1.834-0.020 2.736l0.002-0.142-1.713 151.053c-0.002 0.177-0.004 0.388-0.004 0.594 0 29.371 23.808 53.18 53.18 53.18 14.685 0 27.977-5.949 37.599-15.574l212.328-212.319 169.398 169.398c9.642 8.902 22.58 14.357 36.786 14.357 29.992 0 54.305-24.312 54.305-54.305 0-14.202-5.445-27.144-14.391-36.829l-169.366-169.366 212.319-212.328c9.619-9.622 15.574-22.914 15.574-37.599 0-29.371-23.808-53.18-53.18-53.18-0.214 0-0.417 0.002-0.63 0.004h0.027l-151.053 1.713c-0.779 0.011-1.691 0.017-2.61 0.017-63.636 0-121.25-25.794-162.947-67.497l-189.901-189.901 53.555-53.557c9.781-9.65 15.84-23.046 15.84-37.861 0-29.371-23.808-53.18-53.18-53.18-14.815 0-28.21 6.059-37.853 15.831l-0.006 0.008-319.060 319.060zM410.568 565.6l-189.897-189.897 152.689-152.678 189.896 189.898c60.958 60.958 145.146 98.643 238.153 98.643 1.346 0 2.673-0.009 4.022-0.027l20.376-0.229-316.858 316.858 0.231-20.588c0.016-1.135 0.025-2.479 0.025-3.817 0-93.005-37.701-177.201-98.643-238.153v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Pin_right_ic-01"],"grid":0},"attrs":[],"properties":{"order":553,"id":61,"name":"pin-right","prevSize":32,"code":59659},"setIdx":0,"setId":7,"iconIdx":64},{"icon":{"paths":["M592.958 14.224c-9.779-9.779-23.288-15.828-38.211-15.828-29.844 0-54.039 24.193-54.039 54.039 0 14.923 6.049 28.43 15.826 38.209l54.419 54.421-192.957 192.962c-42.377 42.375-100.92 68.585-165.584 68.585-0.932 0-1.863-0.005-2.793-0.017l-153.347-1.739c-0.182-0.002-0.399-0.003-0.615-0.003-29.844 0-54.037 24.193-54.037 54.037 0 14.923 6.049 28.434 15.83 38.213l215.747 215.745-172.137 172.134c-9.048 9.798-14.597 22.946-14.597 37.389 0 30.475 24.705 55.182 55.182 55.182 14.443 0 27.591-5.549 37.428-14.632l-0.037 0.034 172.137-172.134 215.745 215.745c9.779 9.779 23.288 15.828 38.211 15.828 29.844 0 54.037-24.193 54.037-54.037 0-0.214-0.002-0.431-0.003-0.645v0.032l-1.744-153.488c-0.010-0.789-0.015-1.719-0.015-2.651 0-64.664 26.21-123.207 68.585-165.584l192.964-192.964 54.419 54.426c9.779 9.779 23.288 15.828 38.211 15.828 29.845 0 54.039-24.193 54.039-54.039 0-14.923-6.049-28.432-15.828-38.211l-324.208-324.206zM454.415 414.444l192.964-192.96 155.151 155.159-192.957 192.964c-61.935 61.933-100.242 147.493-100.242 242.002 0 1.363 0.008 2.722 0.024 4.081l-0.002-0.206 0.238 20.916-321.972-321.976 20.921 0.238c1.153 0.014 2.518 0.022 3.882 0.022 94.504 0 180.062-38.307 241.994-100.241v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Pin_left_ic-01"],"grid":0},"attrs":[],"properties":{"order":552,"id":62,"name":"pin-left","prevSize":32,"code":59660},"setIdx":0,"setId":7,"iconIdx":65},{"icon":{"paths":["M223.104 0.014c-29.251 0-52.964 23.713-52.964 52.964s23.713 52.964 52.964 52.964v0h75.435v267.471c-0.002 64.292-26.438 122.411-69.031 164.079l-0.041 0.041-107.586 105.173c-9.838 9.625-15.939 23.036-15.939 37.873 0 29.251 23.712 52.963 52.963 52.964h299.059v238.611c1.228 28.897 24.953 51.859 54.042 51.859s52.814-22.962 54.037-51.748l0.003-0.111-0.007-238.608h299.059c0 0 0 0 0 0 29.251 0 52.964-23.713 52.964-52.964 0-14.837-6.101-28.248-15.929-37.863l-0.010-0.010-107.581-105.173c-42.636-41.708-69.072-99.826-69.072-164.119v0-267.474h75.428c29.251 0 52.964-23.713 52.964-52.964s-23.713-52.964-52.964-52.964v0h-577.793zM404.467 373.414v-267.471h215.070v267.471c0 0 0 0 0 0.002 0 93.966 38.636 178.907 100.889 239.805l0.061 0.060 14.661 14.335h-446.298l14.665-14.335c62.314-60.957 100.952-145.899 100.952-239.866v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Pin_ic-01"],"grid":0},"attrs":[],"properties":{"order":542,"id":63,"name":"pin","prevSize":32,"code":59661},"setIdx":0,"setId":7,"iconIdx":66},{"icon":{"paths":["M875.366 512.005c0 0.002 0 0.005 0 0.006 0 10.402-4.809 19.682-12.327 25.734l-0.063 0.050-165.162 132.128c-5.601 4.512-12.802 7.243-20.642 7.243-18.243 0-33.032-14.789-33.032-33.032 0 0 0-0.002 0-0.002v0-99.097h-264.269v99.097c-0.002 18.243-14.79 33.030-33.032 33.030-7.838 0-15.038-2.73-20.7-7.29l0.063 0.050-165.162-132.128c-7.584-6.104-12.395-15.385-12.395-25.79s4.812-19.686 12.331-25.74l0.063-0.050 165.162-132.133c5.601-4.51 12.801-7.24 20.637-7.24 18.243 0 33.032 14.789 33.032 33.032 0 0 0 0.002 0 0.002v0 99.097h264.269v-99.097c0-0.002 0-0.003 0-0.005 0-18.243 14.789-33.032 33.032-33.032 7.839 0 15.041 2.731 20.705 7.293l-0.063-0.050 165.162 132.133c7.581 6.101 12.392 15.38 12.392 25.781 0 0.003 0 0.006 0 0.009v0zM974.452 66.070c-27.365 0-49.548 22.184-49.548 49.548v0 792.773c0 27.365 22.184 49.548 49.548 49.548s49.548-22.184 49.548-49.548v0-792.773c0-27.365-22.184-49.548-49.548-49.548v0zM49.548 66.070c-27.365 0-49.548 22.184-49.548 49.548v0 792.773c0 27.365 22.184 49.548 49.548 49.548s49.548-22.184 49.548-49.548v0-792.773c0-27.365-22.184-49.548-49.548-49.548v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Expand_horizontal_ic-01"],"grid":0},"attrs":[],"properties":{"order":545,"id":64,"name":"expand-horizontal","prevSize":32,"code":59662},"setIdx":0,"setId":7,"iconIdx":67},{"icon":{"paths":["M354.077 326.206l132.133-165.162c6.104-7.584 15.385-12.395 25.79-12.395s19.686 4.812 25.74 12.331l0.050 0.063 132.129 165.162zM354.077 326.206c-4.51 5.601-7.24 12.801-7.24 20.637 0 18.243 14.789 33.032 33.032 33.032 0 0 0.002 0 0.002 0h99.097v264.259h-99.097c-18.243 0-33.032 14.79-33.032 33.032 0 7.836 2.728 15.033 7.287 20.697l-0.050-0.063 132.133 165.162c6.102 7.586 15.385 12.399 25.79 12.399s19.688-4.814 25.74-12.334l0.050-0.063 132.129-165.162c4.512-5.601 7.243-12.801 7.243-20.638 0-18.24-14.787-33.027-33.027-33.027-0.002 0-0.005 0-0.006 0h-99.097v-264.259h99.097c18.243-0.002 33.030-14.79 33.030-33.032 0-7.838-2.73-15.038-7.29-20.7l0.050 0.063zM908.387 0.004h-792.775c-27.365 0-49.548 22.184-49.548 49.548s22.184 49.548 49.548 49.548v0h792.775c27.365 0 49.548-22.184 49.548-49.548s-22.184-49.548-49.548-49.548v0zM908.387 924.907h-792.775c-27.365 0-49.548 22.184-49.548 49.548s22.184 49.548 49.548 49.548v0h792.775c27.365 0 49.548-22.184 49.548-49.548s-22.184-49.548-49.548-49.548v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Expand_vertical_ic-01"],"grid":0},"attrs":[],"properties":{"order":590,"id":65,"name":"expand-vertical","prevSize":32,"code":59663},"setIdx":0,"setId":7,"iconIdx":68},{"icon":{"paths":["M1004.681 642.934l-445.44-445.44c-12.090-12.092-28.791-19.571-47.241-19.571s-35.152 7.479-47.241 19.571l-445.446 445.44c-11.879 12.054-19.214 28.614-19.214 46.886 0 36.901 29.915 66.816 66.816 66.816 18.274 0 34.834-7.337 46.899-19.224l398.186-398.184 398.199 398.192c12.075 12 28.716 19.418 47.091 19.418 36.899 0 66.81-29.913 66.81-66.81 0-18.377-7.419-35.018-19.425-47.097l0.004 0.004z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Arrow_up_ic-01"],"grid":0},"attrs":[],"properties":{"order":476,"id":66,"name":"arrow-up","prevSize":32,"code":59664},"setIdx":0,"setId":7,"iconIdx":69},{"icon":{"paths":["M197.451 464.753c-12.093 12.091-19.573 28.797-19.573 47.249s7.48 35.158 19.573 47.249l445.502 445.496c12.076 12.001 28.72 19.421 47.097 19.421 36.904 0 66.818-29.916 66.818-66.818 0-18.379-7.42-35.022-19.427-47.103l-398.238-398.241 398.243-398.243c11.809-12.043 19.095-28.555 19.095-46.771 0-36.906-29.919-66.824-66.824-66.824-18.212 0-34.722 7.286-46.775 19.101l-445.492 445.485z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Arrow_left_ic-01"],"grid":0},"attrs":[],"properties":{"order":477,"id":67,"name":"arrow-left","prevSize":32,"code":59665},"setIdx":0,"setId":7,"iconIdx":70},{"icon":{"paths":["M1004.265 286.774c-12.079-12.081-28.767-19.554-47.201-19.554s-35.122 7.473-47.201 19.554l-397.865 397.863-397.859-397.863c-12.115-12.294-28.949-19.913-47.562-19.913-36.87 0-66.76 29.89-66.76 66.76 0 18.611 7.617 35.445 19.901 47.552l445.079 445.072c12.079 12.081 28.767 19.554 47.201 19.554s35.122-7.473 47.201-19.554l445.064-445.064c12.081-12.079 19.554-28.769 19.554-47.203s-7.473-35.124-19.554-47.203v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Arrow_down_ic-01"],"grid":0},"attrs":[],"properties":{"order":478,"id":68,"name":"arrow-down","prevSize":32,"code":59666},"setIdx":0,"setId":7,"iconIdx":71},{"icon":{"paths":["M826.603 464.744l-445.579-445.579c-12.062-11.901-28.64-19.249-46.932-19.249-36.913 0-66.837 29.924-66.837 66.837 0 18.295 7.35 34.874 19.259 46.942l398.317 398.31-398.323 398.319c-11.797 12.043-19.076 28.548-19.076 46.755 0 36.913 29.924 66.837 66.837 66.837 18.207 0 34.711-7.279 46.767-19.086l445.568-445.568c12.095-12.093 19.577-28.803 19.577-47.258s-7.482-35.165-19.577-47.258v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Arrow_right_ic-01"],"grid":0},"attrs":[],"properties":{"order":479,"id":69,"name":"arrow-right","prevSize":32,"code":59667},"setIdx":0,"setId":7,"iconIdx":72},{"icon":{"paths":["M1022.545 156.242c-7.306-68.806-64.963-121.963-135.065-122.104h-751.010c-71.653 0.138-130.297 55.648-135.429 126.011l-0.026 0.443c-0.25 3.37-1.016 6.594-1.016 10.029v682.716c0 0.016 0 0.035 0 0.054 0 75.373 61.099 136.473 136.47 136.478h750.996c0.002 0 0.003 0 0.005 0 75.403 0 136.529-61.126 136.529-136.529 0-0.002 0-0.003 0-0.005v0-682.716c-0.253-5.328-0.773-10.278-1.555-15.142l0.101 0.763zM102.401 170.671c0.213-3.083 0.818-5.955 1.766-8.664l-0.070 0.23c3.696-14.766 16.789-25.552 32.422-25.683h170.681v170.667h-204.8zM409.6 136.556h204.8v170.667h-204.8zM716.8 136.556h170.667c12.899 0.123 24.059 7.445 29.669 18.134l0.090 0.186c0.478 0.896 1.291 1.562 1.691 2.509l0.192 0.955c1.526 3.643 2.437 7.874 2.491 12.31v136.571h-204.8zM136.471 887.47c-18.818-0.006-34.070-15.262-34.070-34.082 0-0.018 0-0.037 0-0.054v0.003-443.716h204.8v477.849zM409.6 887.47v-477.849h204.8v477.849zM921.599 853.337c0 18.851-15.282 34.133-34.133 34.133v0h-170.667v-477.849h204.8z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Manage calumn_ic-01"],"grid":0},"attrs":[],"properties":{"order":480,"id":70,"name":"manage-column","prevSize":32,"code":59668},"setIdx":0,"setId":7,"iconIdx":73},{"icon":{"paths":["M1017.284 495.792l-152.836-152.836c-4.131-4.049-9.795-6.549-16.043-6.549-12.662 0-22.925 10.263-22.925 22.925 0 6.249 2.5 11.914 6.555 16.049l113.697 113.696h-922.807c-12.662 0-22.925 10.263-22.925 22.925s10.263 22.925 22.925 22.925v0h922.804l-113.7 113.7c-4.118 4.144-6.663 9.854-6.663 16.158 0 12.661 10.263 22.924 22.924 22.924 6.304 0 12.014-2.545 16.158-6.664l152.835-152.835c4.149-4.148 6.716-9.879 6.716-16.21s-2.566-12.062-6.716-16.21v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Long arrow_right_ic-01"],"grid":0},"attrs":[],"properties":{"order":481,"id":71,"name":"long-arrow-right","prevSize":32,"code":59669},"setIdx":0,"setId":7,"iconIdx":74},{"icon":{"paths":["M1001.073 489.076h-922.801l113.699-113.699c4.051-4.131 6.551-9.796 6.551-16.045 0-12.662-10.263-22.925-22.925-22.925-6.249 0-11.913 2.499-16.048 6.552l-152.833 152.831c-4.149 4.148-6.716 9.879-6.716 16.21s2.566 12.062 6.716 16.21l152.837 152.836c4.144 4.118 9.854 6.663 16.158 6.663 12.66 0 22.924-10.263 22.924-22.924 0-6.304-2.545-12.016-6.664-16.159l-113.695-113.698h922.799c12.662 0 22.925-10.263 22.925-22.925s-10.263-22.925-22.925-22.925v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Long arrow_left_ic-01"],"grid":0},"attrs":[],"properties":{"order":482,"id":72,"name":"long-arrow-left","prevSize":32,"code":59670},"setIdx":0,"setId":7,"iconIdx":75},{"icon":{"paths":["M1011.186 485.354l-170.667-136.537c-5.786-4.659-13.224-7.478-21.322-7.478-18.851 0-34.133 15.282-34.133 34.133v0 85.333h-221.867v-221.867h85.333c18.851-0.002 34.131-15.283 34.131-34.133 0-8.099-2.821-15.539-7.533-21.39l0.051 0.066-136.532-170.667c-6.307-7.837-15.898-12.808-26.65-12.808s-20.342 4.973-26.598 12.742l-0.051 0.066-136.537 170.667c-4.661 5.787-7.482 13.227-7.482 21.325 0 18.851 15.282 34.133 34.133 34.133 0 0 0.002 0 0.002 0h85.333v221.867h-221.867v-85.333c0 0 0-0.002 0-0.002 0-18.851-15.282-34.133-34.133-34.133-8.099 0-15.539 2.821-21.39 7.533l0.066-0.051-170.667 136.537c-7.837 6.307-12.808 15.898-12.808 26.65s4.973 20.342 12.742 26.598l0.066 0.051 170.667 136.532c5.787 4.661 13.227 7.482 21.325 7.482 18.851 0 34.133-15.282 34.133-34.131v0-85.333h221.867v221.867h-85.333c-18.851 0-34.133 15.283-34.133 34.133 0 8.098 2.819 15.534 7.53 21.387l-0.051-0.066 136.537 170.667c6.306 7.838 15.898 12.813 26.65 12.813s20.344-4.974 26.598-12.746l0.051-0.066 136.532-170.667c4.662-5.787 7.485-13.227 7.485-21.326 0-18.848-15.28-34.128-34.128-34.128-0.002 0-0.005 0-0.006 0h-85.333v-221.867h221.867v85.333c0 0.002 0 0.003 0 0.006 0 18.848 15.28 34.128 34.128 34.128 8.099 0 15.541-2.821 21.392-7.536l-0.066 0.051 170.667-136.532c7.838-6.306 12.813-15.898 12.813-26.65s-4.974-20.344-12.746-26.598l-0.066-0.051z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Cursor_ic-01"],"grid":0},"attrs":[],"properties":{"order":483,"id":73,"name":"cursor","prevSize":32,"code":59671},"setIdx":0,"setId":7,"iconIdx":76},{"icon":{"paths":["M735.495 341.339v568.886h-455.117v-568.886zM650.16 0.004h-284.445l-56.889 56.889h-162.54c-20.197 0-36.572 16.373-36.572 36.572v0 40.634c0 20.197 16.373 36.572 36.572 36.572v0h723.302c20.197 0 36.572-16.373 36.572-36.572v0-40.634c0-20.197-16.373-36.572-36.572-36.572v0h-162.537zM849.269 264.131c0-20.197-16.373-36.572-36.572-36.572v0h-609.523c-20.197 0-36.572 16.373-36.572 36.572v0 646.092c0.194 62.759 51.017 113.585 113.758 113.781h455.135c62.757-0.201 113.577-51.022 113.774-113.761v-0.020z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Delete_ic-01"],"grid":0},"attrs":[],"properties":{"order":484,"id":74,"name":"delete","prevSize":32,"code":59672},"setIdx":0,"setId":7,"iconIdx":77},{"icon":{"paths":["M849.592 642.213c-6.268 12.82-19.214 21.493-34.185 21.495h-94.816v303.407c0 31.419-25.47 56.889-56.889 56.889s-56.889-25.47-56.889-56.889v0-303.407h-94.814c-0.002 0-0.004 0-0.007 0-20.942 0-37.92-16.978-37.92-37.92 0-8.999 3.134-17.268 8.373-23.769l-0.057 0.073 151.703-189.63c7.006-8.709 17.664-14.236 29.611-14.236s22.604 5.527 29.554 14.162l0.057 0.073 151.703 189.63c5.18 6.43 8.315 14.697 8.315 23.696 0 5.972-1.38 11.621-3.84 16.647l0.1-0.224zM330.681 611.546c7.008 8.709 17.666 14.236 29.612 14.236s22.606-5.527 29.556-14.164l0.057-0.073 151.703-189.63c5.18-6.43 8.316-14.697 8.316-23.696 0-20.942-16.978-37.92-37.92-37.92-0.002 0-0.005 0-0.007 0h-94.814v-303.407c0-31.419-25.47-56.889-56.889-56.889s-56.889 25.47-56.889 56.889v0 303.407h-94.814c-20.946 0-37.925 16.981-37.925 37.925 0 8.997 3.132 17.26 8.366 23.764l-0.057-0.073 151.703 189.63z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Sort_inside_ic-01"],"grid":0},"attrs":[],"properties":{"order":485,"id":75,"name":"sort-inside","prevSize":32,"code":59673},"setIdx":0,"setId":7,"iconIdx":78},{"icon":{"paths":["M857.826 812.298l-157.537 196.923c-7.276 9.044-18.343 14.784-30.749 14.784s-23.474-5.74-30.69-14.706l-0.059-0.076-157.537-196.923c-5.38-6.678-8.636-15.262-8.636-24.607 0-21.748 17.631-39.378 39.378-39.378 0.002 0 0.006 0 0.007 0h98.461v-315.077c0-32.627 26.45-59.077 59.077-59.077s59.077 26.45 59.077 59.077v0 315.077h98.461c0.002 0 0.004 0 0.007 0 21.748 0 39.378 17.631 39.378 39.378 0 9.345-3.255 17.932-8.695 24.683l0.059-0.076zM542.749 211.707l-157.537-196.923c-7.278-9.042-18.345-14.778-30.751-14.778s-23.474 5.738-30.692 14.703l-0.059 0.076-157.537 196.923c-5.378 6.678-8.633 15.262-8.633 24.605 0 21.751 17.633 39.384 39.384 39.384 0 0 0.002 0 0.002 0h98.461v315.077c0 32.627 26.45 59.077 59.077 59.077s59.077-26.45 59.077-59.077v0-315.077h98.461c21.751-0.002 39.382-17.634 39.382-39.384 0-9.345-3.255-17.93-8.692-24.681l0.059 0.076z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Sort_outside_ic-01"],"grid":0},"attrs":[],"properties":{"order":486,"id":76,"name":"sort-outside","prevSize":32,"code":59674},"setIdx":0,"setId":7,"iconIdx":79},{"icon":{"paths":["M1024.001 929.189c0 31.419-25.47 56.889-56.889 56.889h-872.296c-52.364 0-94.815-42.451-94.815-94.815v0-796.445c0.094-31.348 25.528-56.722 56.889-56.722s56.795 25.376 56.889 56.714v777.491h853.334c31.419 0 56.889 25.47 56.889 56.889v0zM922.973 116.468c-8.363-7.55-19.498-12.17-31.713-12.17-13.967 0-26.524 6.040-35.199 15.65l-0.037 0.042c-154.983 171.483-360.922 294.267-593.848 344.488l-7.357 1.329c-21.106 5.096-36.539 23.819-36.539 46.146 0 26.184 21.225 47.409 47.409 47.409 3.705 0 7.314-0.426 10.775-1.23l-0.321 0.063c259.922-56.184 482.643-189.188 649.414-373.723l0.939-1.054c7.55-8.363 12.17-19.5 12.17-31.713 0-13.968-6.041-26.524-15.652-35.2l-0.042-0.037zM834.371 417.188v379.26c0 10.473 8.49 18.966 18.966 18.966v0h75.849c10.473 0 18.966-8.49 18.966-18.966v0-379.26c-0.002-10.473-8.492-18.962-18.966-18.962h-75.853c-10.472 0.002-18.961 8.49-18.962 18.962v0zM625.777 493.039v303.407c0 10.473 8.49 18.966 18.966 18.966v0h75.849c10.473-0.002 18.962-8.492 18.962-18.966v-303.407c0-10.473-8.489-18.964-18.962-18.966h-75.853c-10.473 0.002-18.962 8.492-18.962 18.966v0zM417.185 606.818v189.63c0 10.473 8.489 18.964 18.962 18.966h75.853c10.473 0 18.966-8.49 18.966-18.966v0-189.63c0-10.473-8.49-18.966-18.966-18.966h-75.853c-10.473 0.002-18.962 8.492-18.962 18.966v0zM208.593 682.669v113.777c0 10.473 8.489 18.964 18.962 18.966h75.853c10.473-0.002 18.962-8.492 18.962-18.966v0-113.777c0-10.473-8.489-18.964-18.962-18.966h-75.853c-10.473 0.002-18.962 8.492-18.962 18.966v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Metrics_ic-01"],"grid":0},"attrs":[],"properties":{"order":487,"id":77,"name":"metrics","prevSize":32,"code":59676},"setIdx":0,"setId":7,"iconIdx":80},{"icon":{"paths":["M979.838 563.781l-168.62-202.346 168.62-202.342c8.686-10.366 13.961-23.845 13.961-38.557 0-33.26-26.962-60.222-60.222-60.222 0 0-0.002 0-0.002 0h-662.474c0-0.052 0-0.113 0-0.173 0-33.261-26.964-60.226-60.226-60.226s-60.226 26.964-60.226 60.226c0 0.061 0 0.121 0 0.183v-0.010 843.151h-60.226c-33.187 0.098-60.051 27.024-60.051 60.226s26.864 60.126 60.043 60.226h240.91c33.187-0.098 60.051-27.024 60.051-60.226s-26.864-60.126-60.043-60.226h-60.235v-240.9h662.474c33.261 0 60.224-26.964 60.224-60.226 0-14.712-5.275-28.192-14.037-38.651l0.076 0.095zM686.56 322.881c-8.686 10.364-13.961 23.845-13.961 38.557s5.275 28.191 14.037 38.65l-0.076-0.095 118.433 142.12h-533.894v-361.348h533.894l-118.433 142.118z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Tags_ic-01"],"grid":0},"attrs":[],"properties":{"order":488,"id":78,"name":"tags","prevSize":32,"code":59677},"setIdx":0,"setId":7,"iconIdx":81},{"icon":{"paths":["M662.517 1012.462c9.822 7.212 22.15 11.541 35.491 11.541 33.325 0 60.341-27.014 60.341-60.34v0-622.136c0-77.761-63.037-140.798-140.798-140.798v0h-391.123c-77.761 0-140.798 63.037-140.798 140.798v0 622.136c0 0.002 0 0.002 0 0.003 0 33.324 27.014 60.338 60.338 60.338 13.341 0 25.67-4.33 35.66-11.66l-0.168 0.118 240.526-174.927 240.528 174.927zM386.497 714.124l-180.183 131.042v-503.636c0-11.108 9.005-20.114 20.114-20.114h391.123c11.108 0 20.114 9.005 20.114 20.114v0 503.638l-180.186-131.045c-9.82-7.214-22.15-11.544-35.491-11.544s-25.67 4.33-35.66 11.662l0.168-0.118zM933.991 140.801v622.133c0 33.325-27.016 60.341-60.341 60.341s-60.341-27.016-60.341-60.341v0-622.133c0-11.108-9.005-20.114-20.114-20.114v0h-471.578c-33.325 0-60.341-27.016-60.341-60.341s27.016-60.341 60.341-60.341v0h471.58c77.761 0 140.796 63.037 140.796 140.798v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Bookmarks_ic-01"],"grid":0},"attrs":[],"properties":{"order":489,"id":79,"name":"bookmarks","prevSize":32,"code":59678},"setIdx":0,"setId":7,"iconIdx":82},{"icon":{"paths":["M94.867 37.993c-52.359 0-94.805 42.445-94.807 94.803v0 758.577c0 52.36 42.446 94.807 94.807 94.807v0h834.387c52.36 0 94.807-42.446 94.807-94.807v0-758.577c-0.002-52.359-42.446-94.803-94.807-94.803h-834.387zM393.901 594.272v-164.353h516.394v164.353zM113.828 594.272v-164.353h166.305v164.353zM280.133 708.056v164.357h-166.307v-164.357zM393.898 872.414v-164.357h516.395v164.357zM280.136 316.133h-166.307v-164.375h166.305zM393.901 316.133v-164.375h516.394v164.375z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Runs_ic-01"],"grid":0},"attrs":[],"properties":{"order":551,"id":80,"name":"runs","prevSize":32,"code":59679},"setIdx":0,"setId":7,"iconIdx":83},{"icon":{"paths":["M476.372 172.972c10.476-10.324 16.969-24.668 16.969-40.53 0-31.419-25.47-56.889-56.889-56.889-15.86 0-30.204 6.491-40.521 16.958l-0.007 0.007zM56.889 512.005l-40.226-40.224c-10.295 10.293-16.663 24.516-16.663 40.224s6.368 29.931 16.663 40.224v0zM395.924 931.488c10.251 10.041 24.299 16.236 39.796 16.236 31.419 0 56.889-25.47 56.889-56.889 0-15.497-6.196-29.545-16.245-39.806l0.009 0.009zM967.111 568.894c31.419 0 56.889-25.47 56.889-56.889s-25.47-56.889-56.889-56.889v0zM395.924 92.519l-379.259 379.259 80.453 80.448 379.259-379.259zM16.665 552.229l379.259 379.259 80.448-80.448-379.259-379.259zM56.889 568.894h910.222v-113.778h-910.222z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Back_left_ic"],"grid":0},"attrs":[],"properties":{"order":546,"id":81,"name":"back-left","prevSize":32,"code":59680},"setIdx":0,"setId":7,"iconIdx":84},{"icon":{"paths":["M931.483 547.63c-10.293-10.293-24.514-16.66-40.222-16.66s-29.929 6.366-40.222 16.66l-282.149 282.149v-772.888c0-31.419-25.47-56.889-56.889-56.889s-56.889 25.47-56.889 56.889v0 772.888l-282.145-282.149c-10.324-10.476-24.669-16.969-40.53-16.969-31.419 0-56.889 25.47-56.889 56.889 0 15.86 6.491 30.205 16.958 40.521l379.273 379.268c10.293 10.295 24.514 16.663 40.222 16.663s29.929-6.368 40.222-16.663l379.261-379.261c10.295-10.293 16.663-24.516 16.663-40.224s-6.368-29.931-16.663-40.224v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Back_down_ic"],"grid":0},"attrs":[],"properties":{"order":589,"id":82,"name":"back-down","prevSize":32,"code":59681},"setIdx":0,"setId":7,"iconIdx":85},{"icon":{"paths":["M931.481 395.925l-379.259-379.259c-10.293-10.295-24.514-16.663-40.222-16.663s-29.929 6.368-40.222 16.663l-379.264 379.259c-10.114 10.263-16.359 24.363-16.359 39.92 0 31.419 25.47 56.889 56.889 56.889 15.559 0 29.659-6.247 39.931-16.368l282.137-282.135v772.883c0 31.419 25.47 56.889 56.889 56.889s56.889-25.47 56.889-56.889v0-772.883l282.147 282.142c10.281 10.217 24.45 16.533 40.094 16.533 31.417 0 56.884-25.468 56.884-56.884 0-15.646-6.316-29.815-16.539-40.1l0.004 0.004z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Back_up_ic"],"grid":0},"attrs":[],"properties":{"order":588,"id":83,"name":"back-up","prevSize":32,"code":59682},"setIdx":0,"setId":7,"iconIdx":86},{"icon":{"paths":["M1007.336 471.778l-379.261-379.261c-10.252-10.050-24.308-16.253-39.812-16.253-31.419 0-56.889 25.47-56.889 56.889 0 15.506 6.204 29.565 16.265 39.826l282.14 282.135h-772.893c-31.419 0-56.889 25.47-56.889 56.889s25.47 56.889 56.889 56.889v0h772.888l-282.144 282.145c-10.219 10.281-16.535 24.452-16.535 40.096 0 31.417 25.469 56.884 56.884 56.884 15.645 0 29.813-6.315 40.098-16.535l379.257-379.257c10.295-10.293 16.663-24.516 16.663-40.224s-6.368-29.931-16.663-40.224v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Back_right_ic"],"grid":0},"attrs":[],"properties":{"order":587,"id":84,"name":"back-right","prevSize":32,"code":59683},"setIdx":0,"setId":7,"iconIdx":87},{"icon":{"paths":["M947.231-0.15h-725.372c-42.491 0-76.938 34.447-76.938 76.938s34.447 76.938 76.938 76.938v0h539.624l-739.108 739.117c-13.721 13.89-22.199 32.987-22.199 54.066 0 42.491 34.447 76.938 76.938 76.938 21.079 0 40.178-8.478 54.075-22.209l739.11-739.101v539.629c0 42.491 34.447 76.938 76.938 76.938s76.938-34.447 76.938-76.938v0-725.372c0-0.002 0-0.005 0-0.010 0-42.491-34.447-76.938-76.938-76.938-0.002 0-0.007 0-0.010 0v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Back_up_right_ic"],"grid":0},"attrs":[],"properties":{"order":586,"id":85,"name":"back-up-right","prevSize":32,"code":59684},"setIdx":0,"setId":7,"iconIdx":88},{"icon":{"paths":["M1001.636 892.824l-739.121-739.121h539.634c42.492 0 76.938-34.447 76.938-76.938s-34.447-76.938-76.938-76.938v0h-725.376c-42.492 0-76.938 34.447-76.938 76.938v0 725.388c0 42.492 34.447 76.938 76.938 76.938s76.938-34.447 76.938-76.938v0-539.642l739.112 739.112c13.89 13.726 32.99 22.204 54.071 22.204 42.492 0 76.938-34.447 76.938-76.938 0-21.076-8.475-40.174-22.204-54.071l0.007 0.007z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Back_up_left_ic"],"grid":0},"attrs":[],"properties":{"order":585,"id":86,"name":"back-up-left","prevSize":32,"code":59685},"setIdx":0,"setId":7,"iconIdx":89},{"icon":{"paths":["M1001.469 22.525c-13.921-13.917-33.15-22.524-54.389-22.524s-40.469 8.607-54.389 22.524l-738.864 738.877v-539.46c0-42.478-34.435-76.913-76.913-76.913s-76.913 34.435-76.913 76.913v0 725.146c0 42.478 34.435 76.913 76.913 76.913v0h725.145c42.478 0 76.913-34.435 76.913-76.913s-34.435-76.913-76.913-76.913v0h-539.466l738.877-738.877c13.919-13.919 22.528-33.147 22.528-54.387s-8.609-40.468-22.528-54.387v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Back_down_left"],"grid":0},"attrs":[],"properties":{"order":584,"id":87,"name":"back-down-left","prevSize":32,"code":59686},"setIdx":0,"setId":7,"iconIdx":90},{"icon":{"paths":["M946.947 145.169c-42.464 0-76.888 34.424-76.888 76.888v0 539.29l-738.634-738.634c-13.946-14.114-33.302-22.855-54.701-22.855-42.464 0-76.888 34.424-76.888 76.888 0 21.399 8.741 40.755 22.85 54.696l738.651 738.641h-539.29c-42.464 0-76.888 34.424-76.888 76.888s34.424 76.888 76.888 76.888h724.902c42.464 0 76.888-34.424 76.888-76.888v0-724.912c0-42.464-34.424-76.888-76.888-76.888v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Back_down_right"],"grid":0},"attrs":[],"properties":{"order":583,"id":88,"name":"back-down-right","prevSize":32,"code":59687},"setIdx":0,"setId":7,"iconIdx":91},{"icon":{"paths":["M118.154 393.852v0c65.254 0 118.154 52.9 118.154 118.154v0 0c0 65.254-52.9 118.154-118.154 118.154v0 0c-65.254 0-118.154-52.9-118.154-118.154v0 0c0-65.254 52.9-118.154 118.154-118.154v0zM512 393.852v0c65.254 0 118.154 52.9 118.154 118.154v0 0c0 65.254-52.9 118.154-118.154 118.154v0 0c-65.254 0-118.154-52.9-118.154-118.154v0 0c0-65.254 52.9-118.154 118.154-118.154v0zM905.846 393.852v0c65.254 0 118.154 52.9 118.154 118.154v0 0c0 65.254-52.9 118.154-118.154 118.154v0 0c-65.254 0-118.154-52.9-118.154-118.154v0 0c0-65.254 52.9-118.154 118.154-118.154v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["More_horizontal_ic"],"grid":0},"attrs":[],"properties":{"order":582,"id":89,"name":"more-horizontal","prevSize":32,"code":59688},"setIdx":0,"setId":7,"iconIdx":92},{"icon":{"paths":["M630.154 118.158v0c0 65.254-52.9 118.154-118.154 118.154v0 0c-65.254 0-118.154-52.9-118.154-118.154v0 0c0-65.254 52.9-118.154 118.154-118.154v0 0c65.254 0 118.154 52.9 118.154 118.154v0zM630.154 512.006v0c0 65.254-52.9 118.154-118.154 118.154v0 0c-65.254 0-118.154-52.9-118.154-118.154v0 0c0-65.254 52.9-118.154 118.154-118.154v0 0c65.254 0 118.154 52.9 118.154 118.154v0zM630.154 905.851v0c0 65.254-52.9 118.154-118.154 118.154v0 0c-65.254 0-118.154-52.9-118.154-118.154v0 0c0-65.254 52.9-118.154 118.154-118.154v0 0c65.254 0 118.154 52.9 118.154 118.154v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["More_vertical_ic"],"grid":0},"attrs":[],"properties":{"order":581,"id":90,"name":"more-vertical","prevSize":32,"code":59689},"setIdx":0,"setId":7,"iconIdx":93},{"icon":{"paths":["M807.384 118.158v0c0 65.254-52.9 118.154-118.154 118.154v0 0c-65.254 0-118.154-52.9-118.154-118.154v0 0c0-65.254 52.9-118.154 118.154-118.154v0 0c65.254 0 118.154 52.9 118.154 118.154v0zM807.384 512.006v0c0 65.254-52.9 118.154-118.154 118.154v0 0c-65.254 0-118.154-52.9-118.154-118.154v0 0c0-65.254 52.9-118.154 118.154-118.154v0 0c65.254 0 118.154 52.9 118.154 118.154v0zM807.384 905.851v0c0 65.254-52.9 118.154-118.154 118.154v0 0c-65.254 0-118.154-52.9-118.154-118.154v0 0c0-65.254 52.9-118.154 118.154-118.154v0 0c65.254 0 118.154 52.9 118.154 118.154v0zM452.923 118.158v0c0 65.254-52.9 118.154-118.154 118.154v0 0c-65.254 0-118.154-52.9-118.154-118.154v0 0c0-65.254 52.9-118.154 118.154-118.154v0 0c65.254 0 118.154 52.9 118.154 118.154v0zM452.923 512.006v0c0 65.254-52.9 118.154-118.154 118.154v0 0c-65.254 0-118.154-52.9-118.154-118.154v0 0c0-65.254 52.9-118.154 118.154-118.154v0 0c65.254 0 118.154 52.9 118.154 118.154v0zM452.923 905.851v0c0 65.254-52.9 118.154-118.154 118.154v0 0c-65.254 0-118.154-52.9-118.154-118.154v0 0c0-65.254 52.9-118.154 118.154-118.154v0 0c65.254 0 118.154 52.9 118.154 118.154v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Drag_ic-01"],"grid":0},"attrs":[],"properties":{"order":580,"id":91,"name":"drag","prevSize":32,"code":59690},"setIdx":0,"setId":7,"iconIdx":94},{"icon":{"paths":["M939.133 152.637c15.441-16.184 24.944-38.152 24.944-62.339 0-49.911-40.459-90.37-90.37-90.37-25.723 0-48.934 10.748-65.392 27.994l-0.034 0.037-401.759 421.629c-15.444 16.181-24.95 38.152-24.95 62.342s9.505 46.158 24.984 62.376l-0.034-0.034 401.759 421.626c16.492 17.285 39.702 28.031 65.426 28.031 49.908 0 90.367-40.459 90.367-90.367 0-24.184-9.503-46.152-24.975-62.37l0.034 0.037-342.369-359.298zM240.9 90.295c0-49.908-40.459-90.367-90.367-90.367s-90.367 40.459-90.367 90.367v0 843.255c0 49.908 40.459 90.367 90.367 90.367s90.367-40.459 90.367-90.367v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Move to_left_ic"],"grid":0},"attrs":[],"properties":{"order":579,"id":92,"name":"move-to-left","prevSize":32,"code":59691},"setIdx":0,"setId":7,"iconIdx":95},{"icon":{"paths":["M85.108 871.196c-15.444 16.184-24.947 38.154-24.947 62.344 0 49.911 40.462 90.372 90.372 90.372 25.723 0 48.933-10.745 65.392-27.994l0.034-0.037 401.761-421.625c15.444-16.181 24.95-38.152 24.95-62.342s-9.505-46.158-24.984-62.376l0.034 0.034-401.761-421.631c-16.492-17.283-39.702-28.031-65.425-28.031-49.911 0-90.369 40.459-90.369 90.369 0 24.187 9.503 46.155 24.978 62.376l-0.034-0.037 342.365 359.289zM783.34 933.537c0 49.908 40.459 90.367 90.367 90.367s90.367-40.459 90.367-90.367v0-843.247c0-49.908-40.459-90.367-90.367-90.367s-90.367 40.459-90.367 90.367v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Move to_right_ic"],"grid":0},"attrs":[],"properties":{"order":578,"id":93,"name":"move-to-right","prevSize":32,"code":59692},"setIdx":0,"setId":7,"iconIdx":96},{"icon":{"paths":["M512.189 124.86l-0.189 0.012v-100.698c0-0.002 0-0.003 0-0.005 0-10.7-8.675-19.375-19.375-19.375-4.3 0-8.274 1.402-11.487 3.772l0.053-0.038-220.853 161.427c-4.838 3.565-7.941 9.241-7.941 15.641s3.103 12.076 7.888 15.603l0.053 0.038 220.856 161.427c3.161 2.331 7.132 3.731 11.431 3.731 10.7 0 19.375-8.675 19.375-19.375 0 0 0-0.002 0-0.002v0-97.194h0.189c178.487 2.986 322.031 148.379 322.031 327.297 0 180.785-146.555 327.34-327.34 327.34-162.339 0-297.078-118.175-322.882-273.194l-0.262-1.91c-5.034-29.754-30.614-52.132-61.42-52.132-34.378 0-62.247 27.87-62.247 62.247 0 3.058 0.221 6.064 0.646 9.003l-0.039-0.335c35.648 217.067 221.879 380.655 446.318 380.655 249.623 0 451.982-202.359 451.982-451.982 0-247.796-199.409-449.019-446.511-451.951l-0.277-0.003z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["reset_ic-01"],"grid":0},"attrs":[],"properties":{"order":577,"id":94,"name":"reset","prevSize":32,"code":59693},"setIdx":0,"setId":7,"iconIdx":97},{"icon":{"paths":["M73.147 146.287c-40.395 0-73.143 32.748-73.143 73.143s32.748 73.143 73.143 73.143h877.713c40.395 0 73.143-32.748 73.143-73.143s-32.748-73.143-73.143-73.143v0zM73.147 438.862c-40.395 0-73.142 32.746-73.142 73.142s32.746 73.142 73.142 73.142h292.57c40.395 0 73.142-32.746 73.142-73.142s-32.746-73.142-73.142-73.142v0zM0.003 804.572c0.002-40.394 32.748-73.14 73.143-73.14s73.143 32.746 73.143 73.143c0 40.395-32.746 73.142-73.142 73.143v0c-40.395 0-73.143-32.748-73.143-73.145 0 0 0-0.002 0-0.002v0zM292.575 731.43c0 0-0.002 0-0.002 0-40.395 0-73.143 32.748-73.143 73.143s32.748 73.143 73.143 73.143c40.395 0 73.143-32.748 73.143-73.143 0 0 0-0.002 0-0.002v0c-0.003-40.394-32.748-73.138-73.142-73.142v0zM438.858 804.572c0.002-40.395 32.748-73.142 73.143-73.142s73.143 32.748 73.143 73.143c0 40.395-32.746 73.142-73.142 73.143v0c-40.397 0-73.145-32.748-73.145-73.145v0zM731.432 731.43c0 0-0.002 0-0.002 0-40.395 0-73.143 32.748-73.143 73.143s32.748 73.143 73.143 73.143c40.395 0 73.143-32.748 73.143-73.143 0 0 0-0.002 0-0.002v0c-0.003-40.394-32.748-73.138-73.142-73.142v0zM877.715 804.572c0.002-40.395 32.748-73.142 73.143-73.142s73.143 32.748 73.143 73.143c0 40.395-32.746 73.142-73.142 73.143v0c-40.397 0-73.145-32.748-73.145-73.145v0zM658.287 438.862c-40.395 0-73.142 32.746-73.142 73.142s32.746 73.142 73.142 73.142h292.573c40.395 0 73.142-32.746 73.142-73.142s-32.746-73.142-73.142-73.142v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Line style_ic-01"],"grid":0},"attrs":[],"properties":{"order":490,"id":95,"name":"line-style","prevSize":32,"code":59694},"setIdx":0,"setId":7,"iconIdx":98},{"icon":{"paths":["M82.996 931.784v0c0 5.094 4.128 9.221 9.221 9.221h288.18c5.092-0.002 9.22-4.13 9.221-9.221v-209.412c0-5.094-4.128-9.221-9.221-9.221h-288.18c-5.094 0-9.221 4.128-9.221 9.221v209.412zM92.218 1024.003c-50.93-0.002-92.215-41.287-92.217-92.217v0-209.412c0-50.93 41.287-92.217 92.217-92.217 0 0 0.002 0 0.002 0h288.18c50.93 0 92.217 41.287 92.217 92.217v0 209.412c-0.002 50.93-41.287 92.215-92.217 92.217v0zM634.377 301.632v0c0 5.094 4.128 9.221 9.221 9.221h288.18c5.092-0.002 9.22-4.13 9.221-9.221v-209.412c-0.002-5.092-4.13-9.22-9.221-9.221h-288.18c-5.094 0-9.221 4.128-9.221 9.221v209.412zM643.599 393.849c-50.93 0-92.217-41.287-92.217-92.217v0-209.412c0-50.93 41.287-92.217 92.217-92.217v0h288.18c50.93 0 92.217 41.287 92.217 92.217v0 209.412c0 50.93-41.287 92.217-92.217 92.217v0zM380.397 82.998v0c5.092 0.002 9.22 4.13 9.221 9.221v366.951c-0.002 5.092-4.13 9.22-9.221 9.221h-288.18c-5.094 0-9.221-4.128-9.221-9.221v-366.951c0-5.094 4.128-9.221 9.221-9.221h288.18zM92.218 0.003c-50.93 0.002-92.215 41.287-92.217 92.217v0 366.951c0.002 50.93 41.289 92.217 92.219 92.217h288.18c50.93-0.002 92.215-41.287 92.217-92.217v0-366.951c-0.002-50.93-41.287-92.215-92.217-92.217v0zM643.599 555.612v0c-5.094 0-9.221 4.128-9.221 9.221v366.951c0 5.094 4.128 9.221 9.221 9.221h288.18c5.092-0.002 9.22-4.13 9.221-9.221v-366.951c-0.002-5.092-4.13-9.22-9.221-9.221h-288.18zM551.382 564.835c0-50.93 41.287-92.217 92.217-92.217v0h288.18c50.93 0 92.217 41.287 92.217 92.217v0 366.951c0 50.93-41.287 92.217-92.217 92.217v0h-288.18c-50.93 0-92.217-41.287-92.217-92.217v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Chart group_ic-01"],"grid":0},"attrs":[],"properties":{"order":491,"id":96,"name":"chart-group","prevSize":32,"code":59695},"setIdx":0,"setId":7,"iconIdx":99},{"icon":{"paths":["M777.34 289.772c-47.589 1.432-85.619 40.353-85.619 88.155 0 48.707 39.485 88.192 88.192 88.192s88.192-39.485 88.192-88.192c0 0 0-0.002 0-0.002v0c-0.804-48.86-40.602-88.16-89.577-88.16-0.418 0-0.835 0.003-1.251 0.008h0.062zM562.522 146.689c-47.589 1.432-85.619 40.353-85.619 88.155 0 48.707 39.485 88.192 88.192 88.192s88.192-39.485 88.192-88.192c0 0 0-0.002 0-0.002v0c-0.803-48.861-40.6-88.162-89.577-88.162-0.418 0-0.835 0.003-1.251 0.008h0.064zM324.643 390.208c47.589-1.432 85.619-40.353 85.619-88.155 0-48.707-39.485-88.192-88.192-88.192s-88.192 39.483-88.192 88.19v0c0.804 48.861 40.603 88.163 89.581 88.163 0.416 0 0.833-0.003 1.248-0.008h-0.064zM333.299 525.719c0.025-0.791 0.039-1.721 0.039-2.653 0-50.151-40.655-90.806-90.806-90.806s-90.806 40.655-90.806 90.806c0 50.151 40.654 90.805 90.805 90.806v0c0.353 0.005 0.769 0.008 1.185 0.008 48.979 0 88.778-39.3 89.582-88.086l0.002-0.076zM985.15 259.262c-46.611-78.295-110.622-141.736-186.981-186.339l-2.475-1.335c-76.957-44.999-169.437-71.568-268.125-71.568-0.247 0-0.494 0-0.741 0h0.039c-0.781-0.003-1.703-0.007-2.626-0.007-143.822 0-274.296 57.153-369.949 149.988l0.133-0.128c-95.233 91.485-154.399 219.899-154.399 362.131s59.166 270.646 154.231 361.971l0.168 0.161c95.543 92.707 226.038 149.86 369.882 149.86 0.9 0 1.8-0.002 2.7-0.007h-0.138c18.061 0 36.164-0.9 53.815-2.621 46.26-3.877 85.603-30.288 107.359-68.099l0.351-0.663c11.465-18.932 18.251-41.811 18.251-66.271 0-21.673-5.326-42.101-14.74-60.048l0.339 0.71c-25.269-50.907-28.053-94.524-7.618-119.629 15.881-15.996 37.883-25.896 62.195-25.896 0.509 0 1.018 0.005 1.525 0.013l-0.077-0.002c102.733-3.969 191.177-61.522 238.554-145.355l0.742-1.426c22.922-38.904 36.461-85.71 36.461-135.678 0-51.637-14.459-99.896-39.551-140.951l0.675 1.187zM618.973 861.89c3.845 7.059 6.107 15.462 6.107 24.391 0 10.056-2.868 19.444-7.83 27.388l0.128-0.218c-9.103 16.096-25.545 27.12-44.66 28.534l-0.185 0.012c-15.112 1.516-30.512 2.253-45.664 2.253-1.771 0.025-3.862 0.040-5.956 0.040-240.181 0-435.361-192.678-439.4-431.897l-0.005-0.379c4.027-239.605 199.207-432.297 439.395-432.297 2.097 0 4.193 0.015 6.283 0.044l-0.316-0.003c0.532-0.002 1.162-0.003 1.79-0.003 163.161 0 306.002 86.991 384.676 217.122l1.127 2.010c17.717 28.498 28.22 63.084 28.22 100.122 0 35.863-9.846 69.428-26.986 98.136l0.485-0.877c-34.307 61.717-98.24 103.309-172.074 105.553l-0.306 0.007c-48.885 0.099-92.727 21.606-122.665 55.64l-0.158 0.183c-40.874 50.127-41.609 124.582-2.007 204.239z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Coloring_ic-01"],"grid":0},"attrs":[],"properties":{"order":550,"id":97,"name":"coloring","prevSize":32,"code":59696},"setIdx":0,"setId":7,"iconIdx":100},{"icon":{"paths":["M438.868 768.079v0c0 0-0.001 0-0.001 0-181.817 0-329.209-147.393-329.209-329.209 0 0 0-0.001 0-0.001v0c0-181.818 147.393-329.211 329.211-329.211s329.211 147.393 329.211 329.211c0 181.818-147.393 329.211-329.211 329.211 0 0 0 0 0 0zM785.63 708.031c57.475-73.496 92.163-167.232 92.163-269.070 0-242.373-196.481-438.854-438.854-438.854s-438.854 196.481-438.854 438.854c0 242.373 196.481 438.854 438.854 438.854 101.852 0 195.598-34.697 270.068-92.915l-0.967 0.728 222.372 222.381c9.929 9.929 23.648 16.072 38.801 16.072 30.305 0 54.873-24.568 54.873-54.873 0-15.153-6.141-28.87-16.072-38.801v0zM438.868 237.684v0c-30.301 0.001-54.864 24.566-54.866 54.868v91.453h-91.461c-30.213 0.105-54.675 24.63-54.675 54.868s24.46 54.764 54.685 54.868h91.45v91.455c0.105 30.213 24.63 54.675 54.868 54.675s54.764-24.46 54.868-54.685v-91.447h91.455c30.213-0.105 54.675-24.63 54.675-54.868s-24.46-54.764-54.685-54.868h-91.447v-91.45c0-30.302-24.566-54.868-54.868-54.868z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Zoom_ic-1-01"],"grid":0},"attrs":[],"properties":{"order":547,"id":98,"name":"zoom-in","prevSize":32,"code":59697},"setIdx":0,"setId":7,"iconIdx":101},{"icon":{"paths":["M859.341 404.814c-9.37 9.372-22.317 15.169-36.616 15.169s-27.247-5.797-36.616-15.169l-101.482-101.478-101.482 101.478c-9.371 9.371-22.318 15.168-36.618 15.168-28.601 0-51.787-23.186-51.787-51.787 0-14.301 5.797-27.247 15.168-36.619l101.478-101.478-101.478-101.482c-9.433-9.382-15.271-22.37-15.271-36.723 0-28.601 23.186-51.787 51.787-51.787 14.351 0 27.339 5.837 36.719 15.267l101.486 101.486 101.482-101.482c9.371-9.37 22.317-15.165 36.616-15.165 28.601 0 51.786 23.186 51.786 51.786 0 14.301-5.797 27.248-15.169 36.62l-101.478 101.482 101.478 101.478c9.372 9.371 15.169 22.318 15.169 36.618s-5.797 27.248-15.171 36.619v0zM97.684 788.377c-53.946 0.016-97.671 43.752-97.671 97.699 0 53.958 43.742 97.699 97.699 97.699s97.699-43.742 97.699-97.699v0c-0.071-53.938-43.785-97.644-97.721-97.699h-0.005zM304.841 512.157c-53.96 0.008-97.701 43.753-97.701 97.714 0 53.967 43.748 97.714 97.714 97.714 53.961 0 97.706-43.741 97.714-97.699v0c-0.058-53.949-43.777-97.668-97.721-97.727h-0.005zM512 788.377c-53.958 0-97.699 43.742-97.699 97.699s43.742 97.699 97.699 97.699c53.958 0 97.699-43.742 97.699-97.699v0c-0.074-53.928-43.772-97.625-97.693-97.699h-0.007zM926.313 512.157c-0.004 0-0.009 0-0.015 0-53.967 0-97.714 43.748-97.714 97.714s43.748 97.714 97.714 97.714c53.961 0 97.706-43.741 97.714-97.699v-0.001c-0.066-53.937-43.765-97.647-97.693-97.727h-0.008z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Ignore outlines_ic-01"],"grid":0},"attrs":[],"properties":{"order":492,"id":99,"name":"ignore-outliers","prevSize":32,"code":59698},"setIdx":0,"setId":7,"iconIdx":102},{"icon":{"paths":["M881.535 247.71c8.584-10.572 13.782-24.196 13.782-39.032 0-34.331-27.83-62.162-62.162-62.162-19.343 0-36.621 8.834-48.022 22.688l-0.086 0.107c-88.289 120.153-203.262 215.666-336.531 278.884l-5.374 2.294c-98.4 37.148-212.149 58.654-330.921 58.654-17.585 0-35.059-0.472-52.412-1.402l2.421 0.103c-34.33 0-62.161 27.83-62.161 62.161s27.83 62.161 62.161 62.161v0c15.156 0.758 32.91 1.191 50.765 1.191 135.739 0 265.644-24.976 385.37-70.584l-7.433 2.487c158.193-73.673 289.527-181.594 388.694-314.867l1.909-2.683zM1015.582 322.306c5.281-6.295 8.488-14.485 8.488-23.423 0-20.193-16.37-36.563-36.563-36.563-11.255 0-21.321 5.085-28.028 13.082l-0.047 0.056-327.206 392.226-101.576-65.802c-5.611-3.683-12.489-5.875-19.878-5.875-9.764 0-18.636 3.827-25.193 10.065l0.016-0.015-155.357 147.518-112.309-68.765c-5.436-3.38-12.032-5.383-19.095-5.383-10.117 0-19.275 4.109-25.893 10.751l-124.738 125.134c-6.522 6.601-10.55 15.677-10.55 25.695 0 20.194 16.371 36.565 36.565 36.565 10.058 0 19.168-4.061 25.778-10.633l-0.001 0.001 104.363-104.693 111.621 68.347c5.436 3.38 12.032 5.382 19.095 5.382 9.764 0 18.634-3.827 25.193-10.062l-0.016 0.015 154.816-147.014 104.597 67.762c5.612 3.684 12.491 5.878 19.883 5.878 11.255 0 21.323-5.085 28.030-13.082l0.047-0.056z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Smoothing_ic-01"],"grid":0},"attrs":[],"properties":{"order":493,"id":100,"name":"smoothing","prevSize":32,"code":59699},"setIdx":0,"setId":7,"iconIdx":103},{"icon":{"paths":["M106.038 194.289c0-48.737 39.51-88.247 88.247-88.247 0 0 0 0 0 0h121.12c0.054 0 0.116 0 0.178 0 29.242 0 52.948-23.706 52.948-52.948s-23.706-52.948-52.948-52.948c-0.062 0-0.126 0-0.188 0h-121.11c-107.223 0-194.144 86.921-194.144 194.144v0 121.121c0.102 29.166 23.768 52.77 52.948 52.77s52.847-23.605 52.948-52.76v-0.010zM708.879 0.146c-29.166 0.102-52.77 23.768-52.77 52.948s23.605 52.847 52.76 52.948h121.127c0 0 0.001 0 0.003 0 48.737 0 88.246 39.509 88.246 88.246 0 0 0 0.001 0 0.001v0 121.121c0.102 29.166 23.768 52.77 52.948 52.77s52.847-23.605 52.948-52.76v-121.131c0 0 0 0 0 0 0-107.223-86.921-194.144-194.144-194.144 0 0-0.001 0-0.001 0v0zM106.038 708.883c0-0.054 0-0.116 0-0.178 0-29.242-23.706-52.948-52.948-52.948s-52.948 23.706-52.948 52.948c0 0.062 0 0.126 0 0.188v-0.010 121.117c0 0 0 0 0 0 0 107.223 86.921 194.144 194.144 194.144 0 0 0 0 0.001 0h121.12c29.242 0 52.948-23.706 52.948-52.948s-23.706-52.948-52.948-52.948h-121.12c0 0-0.001 0-0.003 0-48.737 0-88.246-39.509-88.246-88.246 0 0 0-0.001 0-0.001v0zM1024.141 708.883c0-0.054 0-0.116 0-0.178 0-29.242-23.706-52.948-52.948-52.948s-52.948 23.706-52.948 52.948c0 0.062 0 0.126 0 0.188v-0.010 121.117c0 0.001 0 0.003 0 0.004 0 48.736-39.507 88.243-88.243 88.243-0.001 0-0.003 0-0.006 0h-121.117c-29.242 0-52.948 23.706-52.948 52.948s23.706 52.948 52.948 52.948h121.117c0 0 0.001 0 0.001 0 107.223 0 194.142-86.921 194.142-194.142 0-0.001 0-0.001 0-0.003v0zM799.888 369.206c7.547-9.085 12.128-20.868 12.128-33.721 0-29.242-23.706-52.948-52.948-52.948-16.39 0-31.038 7.446-40.751 19.139l-0.071 0.088-186.477 225.734-76.485-76.494c-9.582-9.58-22.818-15.506-37.438-15.506-17.090 0-32.289 8.096-41.97 20.663l-0.092 0.124-152.959 200.024c-6.841 8.832-10.966 20.066-10.966 32.264 0 29.243 23.706 52.95 52.95 52.95 17.133 0 32.366-8.137 42.043-20.759l0.093-0.126 116.228-151.99 74.895 74.903c9.583 9.58 22.819 15.507 37.441 15.507 16.39 0 31.041-7.446 40.754-19.141l0.071-0.086z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Highlight mode_ic-01"],"grid":0},"attrs":[],"properties":{"order":494,"id":101,"name":"highlight-mode","prevSize":32,"code":59700},"setIdx":0,"setId":7,"iconIdx":104},{"icon":{"paths":["M36.572 128.004h950.856c20.198 0 36.572 16.374 36.572 36.572v0 146.286c0 20.198-16.374 36.572-36.572 36.572h-950.856c-20.198 0-36.572-16.374-36.572-36.572v0-146.286c0.001-20.198 16.374-36.57 36.572-36.57 0 0 0 0 0 0v0zM29.257 420.577h965.484c0 0 0 0 0 0 16.159 0 29.256 13.099 29.256 29.256v87.769c0 16.159-13.099 29.256-29.256 29.256 0 0 0 0 0 0h-965.484c0 0 0 0 0 0-16.159 0-29.256-13.099-29.256-29.256v0-87.772c0-16.157 13.099-29.255 29.256-29.255 0 0 0 0 0 0v0zM21.943 640.005h980.113c12.118 0 21.943 9.824 21.943 21.943v0 65.828c0 12.118-9.824 21.943-21.943 21.943h-980.113c-12.118 0-21.943-9.824-21.943-21.943v0-65.829c0-12.118 9.824-21.943 21.943-21.943v0zM14.63 822.861h994.742c8.079 0 14.629 6.55 14.629 14.629v0 43.885c0 8.079-6.55 14.629-14.629 14.629h-994.742c-8.079 0-14.629-6.55-14.629-14.629v0-43.885c0 0 0-0.001 0-0.001 0-8.079 6.55-14.629 14.629-14.629v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Axes scale_ic-01"],"grid":0},"attrs":[],"properties":{"order":495,"id":102,"name":"axes-scale","prevSize":32,"code":59701},"setIdx":0,"setId":7,"iconIdx":105},{"icon":{"paths":["M1023.916 783.765c0 0.003 0 0.005 0 0.008 0 10.572-4.891 20.003-12.536 26.151l-0.065 0.050-167.841 134.274c-5.691 4.584-13.006 7.357-20.971 7.357-18.537 0-33.564-15.027-33.564-33.564 0-0.001 0-0.001 0-0.003v0-83.921h-738.501c-0.050 0-0.111 0-0.17 0-27.809 0-50.352-22.543-50.352-50.352s22.543-50.352 50.352-50.352c0.059 0 0.12 0 0.18 0h738.491v-83.921c0-0.001 0-0.001 0-0.003 0-18.537 15.027-33.564 33.564-33.564 7.963 0 15.28 2.774 21.036 7.408l-0.065-0.050 167.841 134.274c7.708 6.198 12.601 15.627 12.601 26.198 0 0.003 0 0.005 0 0.008v0zM174.773 178.732c4.588 2.043 9.943 3.232 15.574 3.232 0.189 0 0.377-0.001 0.565-0.004h-0.028c5.807-0.182 11.332-1.054 16.601-2.533l-0.486 0.116c4.491-1.646 9.696-2.794 15.105-3.216l0.204-0.012c10.644 0.235 20.252 4.488 27.405 11.297l-0.018-0.016c10.44 9.124 19.487 19.451 27.040 30.853l0.351 0.565q14.497 20.948 45.115 69.284l23.368 37.061q-55.592 72.506-88.621 111.981c-15.762 20.413-32.951 38.368-51.853 54.361l-0.516 0.426c-10.169 9.325-19.183 19.618-26.99 30.815l-0.397 0.603c-3.56 4.63-6.552 9.955-8.721 15.684l-0.142 0.428c0.969 11.56 5.692 21.865 12.93 29.846l-0.038-0.042c7.32 8.87 18.31 14.487 30.612 14.503h0.003c6.366-0.162 12.453-1.034 18.285-2.54l-0.562 0.123c6.179-1.685 11.563-4.456 16.207-8.123l-0.095 0.072c21.48-20.74 41.505-42.551 60.165-65.517l1.062-1.348q33.836-41.895 84.596-108.758c28.946 48.312 58.46 89.884 90.814 129.024l-1.392-1.733c17.764 24.004 45.044 40.094 76.157 42.672l0.381 0.026c0.966 0.030 2.101 0.047 3.241 0.047 17.246 0 33.585-3.879 48.192-10.813l-0.682 0.292c12.483-5.921 20.961-18.421 20.961-32.902 0-0.328-0.004-0.654-0.014-0.981l0.001 0.049c0.016-0.295 0.026-0.639 0.026-0.985 0-6.702-3.52-12.58-8.811-15.89l-0.078-0.046c-7.87-4.575-16.971-8.427-26.567-11.086l-0.821-0.195c-9.539-2.556-17.84-5.857-25.637-9.983l0.659 0.319c-20.913-13.167-38.356-29.841-51.983-49.374l-0.382-0.58q-27.393-37.056-71.701-109.563 48.339-63.643 83.783-106.344c20.296-24.892 41.116-47.24 63.303-68.153l0.349-0.326c5.648-12.294 9.157-26.622 9.66-41.712l0.005-0.182c0.039-0.65 0.062-1.409 0.062-2.174 0-9.328-3.375-17.869-8.971-24.466l0.045 0.054c-5.283-6.454-13.25-10.541-22.172-10.541-0.703 0-1.4 0.026-2.089 0.076l0.092-0.005c-0.168-0.003-0.365-0.003-0.563-0.003-8.977 0-17.394 2.393-24.65 6.576l0.239-0.127c-11.778 8.236-21.872 17.819-30.384 28.698l-0.231 0.305q-33.028 37.054-112.786 145.013-36.259-62.035-57.205-91.034c-12.174-18-26.874-33.213-43.794-45.565l-0.515-0.358c-15.346-10.609-34.349-16.946-54.835-16.946-0.831 0-1.659 0.011-2.485 0.031l0.123-0.003c-1.571-0.082-3.412-0.13-5.263-0.13-18.745 0-36.365 4.823-51.686 13.296l0.55-0.278c-11.422 6.052-20.533 15.162-26.418 26.245l-0.165 0.34c-2.040 3.724-3.241 8.158-3.241 12.872 0 0.289 0.004 0.577 0.014 0.863l-0.001-0.042c0.312 12.487 8.599 22.957 19.944 26.531l0.203 0.055z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["X axis_ic-01"],"grid":0},"attrs":[],"properties":{"order":496,"id":103,"name":"x-axis","prevSize":32,"code":59702},"setIdx":0,"setId":7,"iconIdx":106},{"icon":{"paths":["M639.998-0.001h-255.995c-70.692 0-127.998 57.306-127.998 127.998v0 768.004c0 70.692 57.306 127.998 127.998 127.998v0h255.995c70.692 0 127.998-57.306 127.998-127.998v0-768.001c-0.001-70.692-57.306-127.998-127.998-127.999v0zM639.998 928.001h-255.995c0 0 0 0 0 0-17.673 0-32-14.327-32-32 0 0 0 0 0 0v0-47.999h127.998c26.436-0.098 47.829-21.55 47.829-48.001s-21.392-47.901-47.818-48.001h-128.008v-96.001h127.998c26.51 0 48.001-21.491 48.001-48.001s-21.491-48.001-48.001-48.001v0h-127.998v-96h127.998c26.51 0 48.001-21.491 48.001-48.001s-21.491-48.001-48.001-48.001v0h-127.998v-96h127.998c26.436-0.098 47.829-21.55 47.829-48.001s-21.392-47.901-47.818-48.001h-128.007v-48.001c0 0 0 0 0 0 0-17.673 14.327-32 32-32 0.001 0 0.003 0 0.003 0h255.995c17.672 0.003 31.997 14.328 32 32v0 768.001c-0.003 17.672-14.328 31.997-32 32v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Indicator_ic-01"],"grid":0},"attrs":[],"properties":{"order":497,"id":104,"name":"indicator","prevSize":32,"code":59703},"setIdx":0,"setId":7,"iconIdx":107},{"icon":{"paths":["M747.131 616.42c-2.437-1.654-5.233-3.079-8.202-4.141l-0.261-0.081 124.904-277.567 118.378-71.028c11.342-6.841 18.81-19.095 18.81-33.094 0-21.272-17.244-38.516-38.516-38.516-7.365 0-14.246 2.067-20.096 5.651l0.168-0.095-274.672 164.807-276.726-221.382c-6.529-5.258-14.924-8.439-24.060-8.439-10.635 0-20.263 4.311-27.234 11.28l-297.638 297.643c-6.97 6.97-11.281 16.599-11.281 27.235s4.311 20.265 11.281 27.235v0c2.952 2.761 6.375 5.069 10.126 6.782l0.237 0.097-46.425 103.159c-1.071 2.323-1.697 5.041-1.697 7.904 0 10.637 8.623 19.26 19.26 19.26 7.773 0 14.471-4.606 17.514-11.236l0.050-0.12 57.635-128.073 133.301-133.302-193.845 430.759c-3.163 6.286-5.707 13.582-7.262 21.238l-0.097 0.567c-0.609 2.802-0.958 6.021-0.958 9.322 0 9.255 2.742 17.87 7.459 25.075l-0.107-0.174c7.008 10.401 18.741 17.15 32.052 17.15 7.96 0 15.356-2.414 21.497-6.551l-0.137 0.088 161.727-107.823 278.823 111.532c4.234 1.741 9.15 2.751 14.302 2.751 10.637 0 20.267-4.308 27.243-11.276v0l154.962-154.962 211.387 158.536c6.351 4.891 14.419 7.839 23.175 7.839 21.084 0 38.176-17.092 38.176-38.176 0-6.105-1.433-11.876-3.982-16.995l0.1 0.221 30.030-66.735c1.071-2.323 1.697-5.039 1.697-7.904 0-10.636-8.623-19.26-19.26-19.26-7.773 0-14.471 4.606-17.514 11.236l-0.050 0.12-24.439 54.314-54.826-41.121 79.251-176.111c1.072-2.323 1.697-5.041 1.697-7.904 0-10.636-8.621-19.257-19.257-19.257-7.772 0-14.468 4.604-17.511 11.234l-0.050 0.12-75.71 168.237-54.788-41.093 148.413-329.785c1.071-2.323 1.697-5.041 1.697-7.904 0-10.637-8.624-19.261-19.261-19.261-7.774 0-14.474 4.606-17.516 11.238l-0.050 0.12-144.859 321.913-47.060-35.295zM92.627 763.925l216.154-480.331 60.934-60.934 29.263 23.41-201.621 448.035zM262.109 671.002c-3.24-1.011-6.965-1.594-10.827-1.594-0.204 0-0.407 0.001-0.611 0.005h0.031l179.326-398.499 53.918 43.133-169.965 377.704zM349.77 706.065l165.235-367.172 53.895 43.114-157.017 348.905zM509.812 770.084l-62.132-24.855 152.273-338.379 40.481 32.385c4.407 3.026 9.663 5.159 15.337 6.016l0.206 0.025zM556.424 760.366l148.845-330.757 100.437-60.261-115.971 257.708z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Aggrigation_ic-01"],"grid":0},"attrs":[],"properties":{"order":498,"id":105,"name":"aggregation","prevSize":32,"code":59704},"setIdx":0,"setId":7,"iconIdx":108},{"icon":{"paths":["M438.886 768.021v0c0 0-0.001 0-0.001 0-181.775 0-329.134-147.358-329.134-329.134 0 0 0-0.001 0-0.001v0c0-181.777 147.359-329.136 329.136-329.136s329.136 147.359 329.136 329.136c0 181.777-147.359 329.136-329.136 329.136 0 0 0 0 0 0zM785.568 707.985c57.463-73.479 92.142-167.193 92.142-269.007 0-242.317-196.436-438.754-438.754-438.754s-438.754 196.436-438.754 438.754c0 242.317 196.436 438.754 438.754 438.754 101.828 0 195.554-34.688 270.005-92.894l-0.967 0.728 222.321 222.328c9.95 10.071 23.762 16.309 39.029 16.309 30.297 0 54.858-24.56 54.858-54.858 0-15.268-6.237-29.079-16.303-39.025l-0.006-0.006zM237.746 438.886v0c0 30.295 24.56 54.855 54.855 54.855h292.566c30.297 0 54.855-24.56 54.855-54.855s-24.56-54.855-54.855-54.855h-292.566c-30.295 0-54.855 24.56-54.855 54.855z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Zoom_ic-01"],"grid":0},"attrs":[],"properties":{"order":499,"id":106,"name":"zoom-out","prevSize":32,"code":59705},"setIdx":0,"setId":7,"iconIdx":109},{"icon":{"paths":["M655.986 259.756l-120.47 150.589c-5.564 6.916-14.027 11.305-23.514 11.305s-17.951-4.389-23.469-11.246l-0.045-0.058-120.475-150.589c-4.111-5.105-6.599-11.668-6.599-18.813 0-16.633 13.484-30.117 30.117-30.117h90.353v-180.706c0-16.633 13.484-30.117 30.117-30.117s30.117 13.484 30.117 30.117v0 180.706h90.353c0.001 0 0.003 0 0.006 0 16.631 0 30.113 13.482 30.113 30.113 0 7.146-2.489 13.713-6.649 18.875l0.045-0.058zM655.986 764.251l-120.47-150.589c-5.564-6.916-14.027-11.305-23.514-11.305s-17.951 4.389-23.469 11.246l-0.045 0.058-120.475 150.589c-4.111 5.105-6.599 11.668-6.599 18.813 0 16.633 13.484 30.117 30.117 30.117h90.353v180.706c0 16.633 13.484 30.117 30.117 30.117s30.117-13.484 30.117-30.117v0-180.706h90.353c0.001 0 0.003 0 0.006 0 16.631 0 30.113-13.482 30.113-30.113 0-7.146-2.489-13.713-6.649-18.875l0.045 0.058zM873.413 466.828h-722.826c-24.95 0-45.177 20.226-45.177 45.177s20.226 45.177 45.177 45.177v0h722.826c24.95 0 45.177-20.226 45.177-45.177s-20.226-45.177-45.177-45.177v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Collaps_inside_ic-01"],"grid":0},"attrs":[],"properties":{"order":500,"id":107,"name":"collapse-inside","prevSize":32,"code":59706},"setIdx":0,"setId":7,"iconIdx":110},{"icon":{"paths":["M659.617 193.757c-4.978 10.182-15.257 17.070-27.147 17.070h-90.353v180.706c0 16.633-13.484 30.117-30.117 30.117s-30.117-13.484-30.117-30.117v0-180.706h-90.353c0 0-0.001 0-0.001 0-16.633 0-30.117-13.484-30.117-30.117 0-7.146 2.489-13.711 6.647-18.874l-0.045 0.058 120.474-150.589c5.565-6.915 14.027-11.301 23.514-11.301s17.949 4.388 23.469 11.243l0.045 0.058 120.47 150.589c4.114 5.106 6.603 11.672 6.603 18.82 0 4.744-1.096 9.23-3.049 13.221l0.079-0.178zM659.617 830.25c-4.978-10.182-15.257-17.070-27.147-17.070h-90.353v-180.706c0-16.633-13.484-30.117-30.117-30.117s-30.117 13.484-30.117 30.117v0 180.706h-90.353c-16.633 0-30.117 13.485-30.117 30.117 0 7.145 2.488 13.707 6.644 18.871l-0.045-0.058 120.474 150.589c5.564 6.916 14.027 11.305 23.514 11.305s17.951-4.389 23.469-11.246l0.045-0.058 120.47-150.589c4.114-5.106 6.603-11.671 6.603-18.817 0-4.742-1.096-9.229-3.049-13.22l0.079 0.178zM873.411 466.828h-722.823c-24.95 0-45.176 20.226-45.176 45.176s20.226 45.176 45.176 45.176v0h722.823c24.95 0 45.176-20.226 45.176-45.176s-20.226-45.176-45.176-45.176v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Collaps_outside_ic-01"],"grid":0},"attrs":[],"properties":{"order":501,"id":108,"name":"collapse-outside","prevSize":32,"code":59707},"setIdx":0,"setId":7,"iconIdx":111},{"icon":{"paths":["M324.781 16.96c-10.291-10.303-24.513-16.675-40.225-16.675-31.4 0-56.855 25.455-56.855 56.855 0 15.712 6.373 29.934 16.675 40.225v0l227.421 227.421c10.287 10.289 24.501 16.653 40.2 16.653s29.913-6.364 40.2-16.653l227.421-227.421c10.47-10.317 16.959-24.654 16.959-40.506 0-31.4-25.455-56.855-56.855-56.855-15.85 0-30.187 6.487-40.497 16.948l-187.226 187.226zM699.221 1007.047c10.245 10.035 24.284 16.227 39.772 16.227 31.4 0 56.855-25.455 56.855-56.855 0-15.488-6.192-29.527-16.236-39.783l-227.412-227.412c-10.287-10.289-24.501-16.653-40.2-16.653s-29.913 6.364-40.2 16.653l-227.421 227.421c-10.47 10.317-16.955 24.654-16.955 40.504 0 31.4 25.455 56.855 56.855 56.855 15.852 0 30.188-6.487 40.499-16.952l187.222-187.221z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Arrow bidirectional_close_ic-01"],"grid":0},"attrs":[],"properties":{"order":502,"id":109,"name":"arrow-bidirectional-close","prevSize":32,"code":59708},"setIdx":0,"setId":7,"iconIdx":112},{"icon":{"paths":["M699.332 324.675c10.324 10.476 24.668 16.965 40.528 16.965 31.419 0 56.889-25.47 56.889-56.889 0-15.861-6.491-30.206-16.962-40.523l-227.563-227.563c-10.293-10.295-24.516-16.663-40.224-16.663s-29.931 6.368-40.224 16.663l-227.556 227.556c-10.423 10.316-16.878 24.626-16.878 40.441 0 31.419 25.47 56.889 56.889 56.889 15.817 0 30.124-6.455 40.436-16.873l187.335-187.335zM324.67 699.335c-10.263-10.116-24.364-16.361-39.924-16.361-31.419 0-56.889 25.47-56.889 56.889 0 15.557 6.245 29.657 16.366 39.927l227.549 227.549c10.293 10.295 24.516 16.663 40.224 16.663s29.931-6.368 40.224-16.663l227.556-227.556c10.041-10.251 16.236-24.299 16.236-39.796 0-31.419-25.47-56.889-56.889-56.889-15.497 0-29.545 6.196-39.806 16.245l-187.321 187.316z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Arrow bidirectional_open_ic-01"],"grid":0},"attrs":[],"properties":{"order":503,"id":110,"name":"arrow-bidirectional-open","prevSize":32,"code":59709},"setIdx":0,"setId":7,"iconIdx":113},{"icon":{"paths":["M340.815 665.327c2.092 4.252 3.316 9.257 3.316 14.546 0 7.963-2.773 15.28-7.408 21.035l0.050-0.065-134.294 167.869c-6.204 7.71-15.64 12.601-26.217 12.601s-20.012-4.891-26.167-12.537l-0.050-0.065-134.294-167.869c-4.583-5.691-7.356-13.007-7.356-20.972 0-18.542 15.031-33.573 33.573-33.573h83.934v-268.59h-83.934c0 0-0.002 0-0.002 0-18.542 0-33.573-15.031-33.573-33.573 0-7.966 2.775-15.284 7.409-21.040l-0.050 0.065 134.294-167.869c6.205-7.708 15.64-12.598 26.217-12.598s20.012 4.89 26.167 12.533l0.050 0.065 134.294 167.869c4.584 5.692 7.359 13.010 7.359 20.975 0 18.542-15.031 33.573-33.573 33.573 0 0-0.002 0-0.002 0h-83.934v268.59h83.934c13.253 0 24.711 7.68 30.171 18.83l0.088 0.198zM982.032 159.481h-537.179c-27.813 0-50.361 22.547-50.361 50.361s22.547 50.361 50.361 50.361h537.179c27.813 0 50.361-22.547 50.361-50.361s-22.547-50.361-50.361-50.361v0zM982.032 360.923h-537.179c-27.813 0-50.361 22.547-50.361 50.361s22.547 50.361 50.361 50.361v0h537.179c27.813 0 50.361-22.547 50.361-50.361s-22.547-50.361-50.361-50.361v0zM982.032 562.365h-537.179c-27.813 0-50.361 22.547-50.361 50.361s22.547 50.361 50.361 50.361v0h537.179c27.813 0 50.361-22.547 50.361-50.361s-22.547-50.361-50.361-50.361v0zM982.032 763.807h-537.179c-27.813 0-50.361 22.547-50.361 50.361s22.547 50.361 50.361 50.361v0h537.179c27.813 0 50.361-22.547 50.361-50.361s-22.547-50.361-50.361-50.361v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Row height_ic-01"],"grid":0},"attrs":[],"properties":{"order":504,"id":111,"name":"row-height","prevSize":32,"code":59711},"setIdx":0,"setId":7,"iconIdx":114},{"icon":{"paths":["M918.074 194.207v706.217c0 68.255-55.332 123.588-123.588 123.588v0h-564.973c-68.255 0-123.588-55.332-123.588-123.588v0-706.217c0-68.255 55.332-123.588 123.588-123.588v0 105.933c-9.751 0-17.656 7.905-17.656 17.656v0 706.217c0 9.751 7.905 17.656 17.656 17.656v0h564.973c0.002 0 0.003 0 0.005 0 9.749 0 17.651-7.902 17.651-17.651 0-0.002 0-0.003 0-0.005v0-706.217c0-9.751-7.905-17.656-17.656-17.656v0-105.933c68.255 0 123.588 55.332 123.588 123.588v0zM776.831 264.845v-141.243c-0.086-68.221-55.366-123.502-123.58-123.588h-282.496c-68.221 0.086-123.502 55.366-123.588 123.58v141.251c0.086 68.221 55.366 123.502 123.58 123.588h282.496c68.221-0.086 123.502-55.366 123.588-123.58v-0.008zM653.243 105.946c9.742 0.020 17.636 7.912 17.656 17.654v141.244c-0.020 9.742-7.912 17.636-17.654 17.656h-282.489c-9.742-0.020-17.636-7.912-17.656-17.654v-141.244c0.020-9.742 7.912-17.636 17.654-17.656h0.002z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Copy_ic-01"],"grid":0},"attrs":[],"properties":{"order":505,"id":112,"name":"copy","prevSize":32,"code":59713},"setIdx":0,"setId":7,"iconIdx":115},{"icon":{"paths":["M0.091 201.202c0-50.485 40.926-91.412 91.412-91.412v0h841.103c50.485 0 91.412 40.926 91.412 91.412s-40.926 91.412-91.412 91.412h-841.103c-50.485 0-91.412-40.926-91.412-91.412v0zM0.158 512.005c0-50.485 40.926-91.412 91.412-91.412v0h841.11c50.485 0 91.412 40.926 91.412 91.412s-40.926 91.412-91.412 91.412v0h-841.11c-50.485 0-91.412-40.926-91.412-91.412v0zM91.569 731.321c-50.485 0-91.412 40.926-91.412 91.412s40.926 91.412 91.412 91.412h841.11c50.485 0 91.412-40.926 91.412-91.412s-40.926-91.412-91.412-91.412v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Menu_ic-01"],"grid":0},"attrs":[],"properties":{"order":506,"id":113,"name":"menu","prevSize":32,"code":59714},"setIdx":0,"setId":7,"iconIdx":116},{"icon":{"paths":["M-0.001 891.875c0 27.365 22.184 49.548 49.548 49.548v0h924.903c27.365 0 49.548-22.184 49.548-49.548v0-132.129c0-27.365-22.184-49.548-49.548-49.548s-49.548 22.184-49.548 49.548v0 82.58h-825.806v-82.58c0-27.365-22.184-49.548-49.548-49.548s-49.548 22.184-49.548 49.548v0zM314.955 437.523c-8.846-8.337-20.799-13.459-33.95-13.459-27.365 0-49.548 22.184-49.548 49.548 0 13.991 5.799 26.626 15.123 35.636l0.014 0.014 231.179 220.292c8.874 8.465 20.92 13.675 34.182 13.675s25.307-5.209 34.201-13.694l-0.020 0.019 231.179-220.292c9.267-9.013 15.018-21.602 15.018-35.534 0-27.365-22.184-49.548-49.548-49.548-13.090 0-24.996 5.077-33.854 13.369l0.028-0.026-147.456 140.505v-445.895c0-27.365-22.184-49.548-49.548-49.548s-49.548 22.184-49.548 49.548v0 445.895z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Download_ic-01"],"grid":0},"attrs":[],"properties":{"order":549,"id":114,"name":"download","prevSize":32,"code":59715},"setIdx":0,"setId":7,"iconIdx":117},{"icon":{"paths":["M-0.001 891.875c0 27.365 22.184 49.548 49.548 49.548v0h924.903c27.365 0 49.548-22.184 49.548-49.548v0-132.129c0-27.365-22.184-49.548-49.548-49.548s-49.548 22.184-49.548 49.548v0 82.58h-825.806v-82.58c0-27.365-22.184-49.548-49.548-49.548s-49.548 22.184-49.548 49.548v0zM708.958 388.292c8.835 8.287 20.755 13.378 33.863 13.378 27.365 0 49.548-22.184 49.548-49.548 0-13.949-5.765-26.553-15.043-35.559l-0.012-0.012-231.179-220.289c-8.874-8.468-20.919-13.678-34.182-13.678s-25.308 5.21-34.201 13.697l0.020-0.019-231.179 220.289c-9.375 9.029-15.199 21.69-15.199 35.71 0 27.365 22.184 49.548 49.548 49.548 13.18 0 25.16-5.147 34.035-13.539l-0.023 0.022 147.451-140.504v445.894c0 27.365 22.184 49.548 49.548 49.548s49.548-22.184 49.548-49.548v0-445.894z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Upload_ic-01"],"grid":0},"attrs":[],"properties":{"order":548,"id":115,"name":"upload","prevSize":32,"code":59716},"setIdx":0,"setId":7,"iconIdx":118},{"icon":{"paths":["M292.911 894.749c3.955 3.955 6.4 9.419 6.4 15.455 0 9.673-6.284 17.879-14.993 20.758l-0.154 0.044-241.568 77.925c-2.005 0.669-4.314 1.055-6.711 1.055-12.071 0-21.858-9.787-21.858-21.858 0-2.398 0.386-4.706 1.1-6.865l-0.044 0.154 77.925-241.566c2.924-8.864 11.13-15.151 20.806-15.151 6.035 0 11.497 2.445 15.455 6.398v0zM688.763 150.282c-3.955-3.955-9.419-6.4-15.455-6.4s-11.497 2.445-15.455 6.4l-466.765 466.765c-3.955 3.955-6.4 9.419-6.4 15.455s2.445 11.497 6.4 15.455l185.471 185.471c3.955 3.956 9.421 6.403 15.458 6.403s11.502-2.447 15.458-6.403l466.756-466.761c3.958-3.955 6.407-9.419 6.407-15.456s-2.449-11.501-6.407-15.456v0zM1018.032 176.381c-2.766-6.361-6.586-11.774-11.296-16.262l-0.021-0.019-142.805-142.805c-8.994-9.44-21.663-15.309-35.701-15.309s-26.706 5.871-35.683 15.29l-0.019 0.021-30.444 30.444c-3.955 3.955-6.402 9.419-6.402 15.456s2.447 11.501 6.402 15.456l183.292 183.296c3.956 3.955 9.421 6.4 15.458 6.4s11.501-2.445 15.458-6.4l30.444-30.448c9.44-8.99 15.311-21.656 15.311-35.691 0-7.022-1.469-13.701-4.117-19.746l0.123 0.316z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Edit_ic-01"],"grid":0},"attrs":[],"properties":{"order":507,"id":116,"name":"edit","prevSize":32,"code":59717},"setIdx":0,"setId":7,"iconIdx":119},{"icon":{"paths":["M768.018 438.857v0c0-181.794-147.372-329.166-329.166-329.166v0c-181.794 0-329.166 147.372-329.166 329.166s147.372 329.166 329.166 329.166c181.794 0 329.166-147.372 329.166-329.166zM707.986 785.573c-73.507 57.498-167.263 92.199-269.124 92.199-242.386 0-438.878-196.493-438.878-438.878s196.493-438.878 438.878-438.878c242.386 0 438.878 196.493 438.878 438.878 0 101.846-34.691 195.59-92.902 270.059l0.729-0.967 222.348 222.348c9.928 9.928 16.069 23.643 16.069 38.794 0 30.3-24.562 54.863-54.863 54.863-15.15 0-28.865-6.141-38.794-16.069v0zM438.851 383.995v0c-30.299 0-54.861 24.562-54.861 54.861v146.296c0 30.299 24.562 54.861 54.861 54.861s54.861-24.562 54.861-54.861v-146.296c0-30.299-24.562-54.861-54.861-54.861zM438.851 329.134v0c-30.299 0-54.861-24.562-54.861-54.861v0c0-30.299 24.562-54.861 54.861-54.861s54.861 24.562 54.861 54.861c0 30.299-24.562 54.861-54.861 54.861z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Search_info_ic-01"],"grid":0},"attrs":[],"properties":{"order":508,"id":117,"name":"search-info","prevSize":32,"code":59718},"setIdx":0,"setId":7,"iconIdx":120},{"icon":{"paths":["M768.018 438.857v0c0-181.794-147.372-329.166-329.166-329.166v0c-181.794 0-329.166 147.372-329.166 329.166s147.372 329.166 329.166 329.166c181.794 0 329.166-147.372 329.166-329.166zM707.986 785.573c-73.507 57.498-167.263 92.199-269.124 92.199-242.386 0-438.878-196.493-438.878-438.878s196.493-438.878 438.878-438.878c242.386 0 438.878 196.493 438.878 438.878 0 101.846-34.691 195.59-92.902 270.059l0.729-0.967 222.348 222.348c9.928 9.928 16.069 23.643 16.069 38.794 0 30.3-24.562 54.863-54.863 54.863-15.15 0-28.865-6.141-38.794-16.069v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Search_ic-01"],"grid":0},"attrs":[],"properties":{"order":509,"id":118,"name":"search","prevSize":32,"code":59719},"setIdx":0,"setId":7,"iconIdx":121},{"icon":{"paths":["M219.428 73.148v0c-80.791 0-146.285 65.494-146.285 146.285v73.143h877.715v-73.143c0-80.791-65.494-146.285-146.285-146.285h-585.143zM-0.001 292.576v-73.143c0-121.186 98.242-219.429 219.429-219.429v0h585.143c121.186 0 219.429 98.242 219.429 219.429v0 585.143c0 0.002 0 0.003 0 0.005 0 121.185-98.239 219.424-219.424 219.424-0.002 0-0.003 0-0.005 0h-585.143c-121.186 0-219.429-98.242-219.429-219.429v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Table_resize_maximaze_ic-01"],"grid":0},"attrs":[],"properties":{"order":510,"id":119,"name":"table-resize-maximize","prevSize":32,"code":59720},"setIdx":0,"setId":7,"iconIdx":122},{"icon":{"paths":["M219.428 73.148v0c-80.791 0-146.285 65.494-146.285 146.285v512.001h877.715v-512.001c0-80.791-65.494-146.285-146.285-146.285h-585.143zM-0.001 731.434v-512.001c0-121.186 98.242-219.429 219.429-219.429v0h585.143c121.186 0 219.429 98.242 219.429 219.429v0 585.143c0 0.002 0 0.003 0 0.005 0 121.185-98.239 219.424-219.424 219.424-0.002 0-0.003 0-0.005 0h-585.143c-121.186 0-219.429-98.242-219.429-219.429v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Table_resize_hide_ic-01"],"grid":0},"attrs":[],"properties":{"order":511,"id":120,"name":"table-resize-hide","prevSize":32,"code":59721},"setIdx":0,"setId":7,"iconIdx":123},{"icon":{"paths":["M219.428 73.148v0c-80.791 0-146.285 65.494-146.285 146.285v292.572h877.715v-292.572c0-80.791-65.494-146.285-146.285-146.285h-585.143zM-0.001 512.005v-292.572c0-121.186 98.242-219.429 219.429-219.429v0h585.143c121.186 0 219.429 98.242 219.429 219.429v0 585.143c0 0.002 0 0.003 0 0.005 0 121.185-98.239 219.424-219.424 219.424-0.002 0-0.003 0-0.005 0h-585.143c-121.186 0-219.429-98.242-219.429-219.429v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Table_resize_resizable_ic-01"],"grid":0},"attrs":[],"properties":{"order":512,"id":121,"name":"table-resize-resizable","prevSize":32,"code":59722},"setIdx":0,"setId":7,"iconIdx":124},{"icon":{"paths":["M568.769 56.784c0-31.373-25.433-56.807-56.807-56.807s-56.807 25.433-56.807 56.807v0 398.385h-398.383c-31.373 0-56.807 25.433-56.807 56.807s25.433 56.807 56.807 56.807v0h398.383v398.388c0 31.373 25.433 56.807 56.807 56.807s56.807-25.433 56.807-56.807v0-398.388h398.388c31.373 0 56.807-25.433 56.807-56.807s-25.433-56.807-56.807-56.807v0h-398.388z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Plus_ic-01"],"grid":0},"attrs":[],"properties":{"order":513,"id":122,"name":"plus","prevSize":32,"code":59723},"setIdx":0,"setId":7,"iconIdx":125},{"icon":{"paths":["M512 1024.019c-282.77 0-512-229.23-512-512s229.23-512 512-512c282.77 0 512 229.23 512 512v0c-0.335 282.636-229.365 511.667-511.968 512h-0.032zM512 128.019c-212.078 0-384 171.923-384 384s171.923 384 384 384c212.078 0 384-171.923 384-384v0c-0.239-211.982-172.019-383.76-383.976-384h-0.024zM512 400.004v0c61.856 0 112.001 50.144 112.001 112.001v0 0c0 61.856-50.144 112.001-112.001 112.001v0 0c-61.856 0-112.001-50.144-112.001-112.001v0 0c0-61.856 50.144-112.001 112.001-112.001v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Runs_ic-01"],"grid":0},"attrs":[],"properties":{"order":514,"id":123,"name":"circle-with-dot","prevSize":32,"code":59724},"setIdx":0,"setId":7,"iconIdx":126},{"icon":{"paths":["M831.999 0.004v0c106.038 0 192 85.962 192 192v640c0 0.001 0 0.003 0 0.004 0 106.036-85.959 191.995-191.995 191.995-0.001 0-0.003 0-0.004 0h-640c-106.038 0-192-85.962-192-192v-640c0-106.038 85.962-192 192-192zM804.717 370.112c7.017-8.292 11.284-19.107 11.284-30.918 0-26.509-21.49-48.001-48.001-48.001-14.698 0-27.853 6.606-36.658 17.011l-0.058 0.070-260.614 309.484-145.984-131.385c-8.5-7.777-19.872-12.544-32.355-12.544-26.509 0-48 21.49-48 48 0 14.257 6.216 27.064 16.087 35.856l0.048 0.042 182.859 164.569c8.467 7.647 19.744 12.325 32.112 12.325 14.697 0 27.85-6.606 36.655-17.010l0.058-0.070z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Check_rectangle_ic-01"],"grid":0},"attrs":[],"properties":{"order":515,"id":124,"name":"check-rectangle","prevSize":32,"code":59725},"setIdx":0,"setId":7,"iconIdx":127},{"icon":{"paths":["M375.392 874.29c10.978 11.519 26.439 18.681 43.572 18.681 18.368 0 34.812-8.233 45.848-21.21l0.071-0.086 542.912-641.631c9.098-10.482 14.644-24.26 14.644-39.335 0-33.221-26.932-60.153-60.153-60.153-18.591 0-35.21 8.433-46.245 21.683l-0.079 0.098-499.636 590.466-293.118-307.924c-10.978-11.515-26.437-18.677-43.568-18.677-33.221 0-60.155 26.932-60.155 60.155 0 16.090 6.317 30.706 16.609 41.501l-0.023-0.024 339.316 356.455z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Check_ic-01"],"grid":0},"attrs":[],"properties":{"order":516,"id":125,"name":"check","prevSize":32,"code":59747},"setIdx":0,"setId":7,"iconIdx":128},{"icon":{"paths":["M996.075 624.001h-33.075c-4.647-13.098-12.476-24.833-22.776-34.142v-267.713c15.113-13.653 24.704-32.384 26.97-52.65l36.621-10.595c7.095-2.078 13.082-6.887 16.644-13.38s4.412-14.139 2.364-21.257c-2.052-7.121-6.831-13.137-13.295-16.73s-14.085-4.467-21.192-2.436l-33.57 9.707c-4.074-6.272-8.964-11.973-14.541-16.952v-115.188c0-4.95-1.962-9.698-5.453-13.199s-8.226-5.468-13.163-5.468h-74.466c-4.941 0-9.672 1.967-13.167 5.468-3.491 3.501-5.453 8.249-5.453 13.199v115.188c-8.661 7.74-15.617 17.211-20.417 27.81-4.8 10.595-7.335 22.080-7.446 33.716l-220.703 63.834c-3.537-4.872-7.583-9.353-12.071-13.359v-227.188c0-4.95-1.962-9.698-5.453-13.199s-8.226-5.468-13.163-5.468h-74.466c-4.937 0-9.672 1.967-13.163 5.468s-5.453 8.249-5.453 13.199v227.18c-4.493 4.011-8.538 8.49-12.075 13.368l-220.699-63.834c-0.111-11.636-2.646-23.121-7.446-33.72-4.796-10.599-11.751-20.070-20.417-27.815v-115.179c0-4.95-1.962-9.699-5.453-13.199-3.495-3.501-8.231-5.468-13.167-5.468h-74.465c-4.938 0-9.672 1.967-13.164 5.468s-5.453 8.249-5.453 13.199v115.179c-5.579 4.979-10.469 10.683-14.54 16.961l-33.569-9.707c-3.528-1.032-7.223-1.358-10.875-0.956-3.653 0.405-7.19 1.523-10.409 3.303-3.219 1.775-6.057 4.169-8.352 7.049-2.294 2.876-3.999 6.183-5.018 9.72-1.019 3.542-1.331 7.25-0.918 10.91s1.542 7.202 3.324 10.424c1.782 3.225 4.179 6.063 7.056 8.354s6.177 3.99 9.711 5.001l36.624 10.595c2.262 20.271 11.856 39.006 26.966 52.659v379.701c-15.108 13.653-24.702 32.384-26.969 52.65l-36.624 10.595c-7.116 2.057-13.125 6.866-16.704 13.368s-4.437 14.162-2.384 21.296c2.054 7.134 6.849 13.158 13.332 16.751 6.483 3.588 14.123 4.446 21.239 2.39l33.57-9.711c4.074 6.276 8.963 11.976 14.54 16.956v115.187c0 4.95 1.962 9.698 5.453 13.197 3.492 3.503 8.226 5.471 13.164 5.471h74.463c4.937 0 9.672-1.967 13.163-5.471 3.495-3.498 5.453-8.247 5.453-13.197v-115.187c8.666-7.745 15.621-17.216 20.421-27.81 4.796-10.595 7.335-22.080 7.442-33.716l220.706-63.834c3.533 4.872 7.583 9.353 12.071 13.359v227.188c0 4.95 1.962 9.698 5.453 13.202 3.491 3.498 8.226 5.466 13.163 5.466h74.466c4.937 0 9.672-1.967 13.163-5.466 3.495-3.503 5.453-8.252 5.453-13.202v-227.192c10.299-9.311 18.129-21.044 22.776-34.142h215.087c4.65 13.098 12.476 24.833 22.776 34.142v227.192c0 4.95 1.959 9.698 5.453 13.197 3.491 3.503 8.226 5.471 13.163 5.471h74.466c4.937 0 9.672-1.967 13.163-5.471 3.491-3.498 5.453-8.247 5.453-13.197v-227.192c10.299-9.311 18.125-21.044 22.776-34.142h33.075c7.407 0 14.511-2.952 19.746-8.201 5.235-5.253 8.18-12.374 8.18-19.802 0-7.424-2.945-14.546-8.18-19.797s-12.339-8.201-19.746-8.201zM139.706 810.667c-9.206 0-18.204-2.739-25.857-7.868-7.655-5.124-13.619-12.416-17.142-20.942-3.522-8.529-4.445-17.912-2.649-26.966 1.796-9.050 6.23-17.366 12.738-23.894 6.509-6.524 14.802-10.97 23.831-12.77s18.387-0.879 26.891 2.654c8.505 3.533 15.773 9.515 20.889 17.19 5.112 7.671 7.842 16.695 7.842 25.925-0.014 12.374-4.92 24.239-13.646 32.985-8.726 8.751-20.558 13.671-32.897 13.683zM139.706 306.666c-9.206 0-18.204-2.739-25.857-7.863-7.655-5.129-13.619-12.42-17.142-20.945-3.522-8.529-4.445-17.912-2.649-26.966 1.796-9.050 6.228-17.366 12.738-23.894 6.509-6.524 14.802-10.97 23.831-12.77s18.387-0.875 26.891 2.654c8.505 3.533 15.773 9.515 20.889 17.19 5.112 7.676 7.842 16.695 7.842 25.925-0.014 12.374-4.92 24.239-13.646 32.985-8.726 8.751-20.558 13.671-32.897 13.683zM456.192 589.855c-16.274 14.669-26.126 35.183-27.417 57.089l-224.014 64.794c-2.799-3.537-5.876-6.843-9.203-9.887v-379.696c3.329-3.042 6.408-6.35 9.207-9.887l224.009 64.79c1.289 21.909 11.141 42.423 27.417 57.096v155.699zM512.039 698.667c-9.203 0-18.201-2.739-25.856-7.863-7.655-5.129-13.619-12.42-17.144-20.945-3.521-8.529-4.442-17.912-2.646-26.966 1.797-9.050 6.23-17.366 12.737-23.894 6.512-6.524 14.801-10.97 23.829-12.77s18.39-0.875 26.894 2.654c8.504 3.533 15.774 9.515 20.886 17.19 5.115 7.671 7.847 16.695 7.847 25.925-0.014 12.374-4.92 24.239-13.646 32.985-8.726 8.751-20.558 13.671-32.901 13.683zM512.039 418.667c-9.203 0-18.201-2.739-25.856-7.863-7.655-5.129-13.619-12.416-17.144-20.945-3.521-8.529-4.442-17.912-2.646-26.961 1.797-9.054 6.23-17.37 12.737-23.898 6.512-6.524 14.801-10.97 23.829-12.77s18.39-0.875 26.894 2.654c8.504 3.533 15.774 9.515 20.886 17.19 5.115 7.676 7.847 16.695 7.847 25.925-0.014 12.374-4.92 24.239-13.646 32.985-8.726 8.751-20.558 13.671-32.901 13.683zM828.523 589.858c-10.296 9.311-18.125 21.044-22.772 34.142h-215.087c-4.647-13.098-12.476-24.833-22.776-34.142v-155.712c16.278-14.673 26.126-35.187 27.417-57.093l224.014-64.79c2.799 3.533 5.88 6.84 9.207 9.882l-0.005 267.713zM884.375 698.667c-9.203 0-18.201-2.739-25.856-7.863-7.655-5.129-13.619-12.42-17.144-20.945-3.521-8.529-4.442-17.912-2.646-26.966 1.793-9.050 6.225-17.366 12.737-23.894 6.507-6.524 14.801-10.97 23.829-12.77s18.386-0.875 26.894 2.654c8.504 3.533 15.77 9.515 20.886 17.19 5.115 7.671 7.842 16.695 7.842 25.925-0.009 12.374-4.916 24.239-13.641 32.985-8.726 8.751-20.561 13.671-32.901 13.683zM884.375 306.666c-9.203 0-18.201-2.739-25.856-7.863-7.655-5.129-13.619-12.42-17.144-20.945-3.521-8.529-4.442-17.912-2.646-26.966 1.793-9.050 6.225-17.366 12.737-23.894 6.507-6.524 14.801-10.97 23.829-12.77s18.386-0.875 26.894 2.654c8.504 3.533 15.77 9.515 20.886 17.19s7.842 16.695 7.842 25.925c-0.009 12.374-4.916 24.239-13.641 32.985-8.73 8.751-20.561 13.671-32.901 13.683z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Params_ic"],"grid":0},"attrs":[],"properties":{"order":517,"id":126,"name":"params","prevSize":32,"code":59712},"setIdx":0,"setId":7,"iconIdx":129},{"icon":{"paths":["M512 0c-282.769 0-512 229.231-512 512s229.231 512 512 512c282.769 0 512-229.231 512-512v0c0-282.769-229.231-512-512-512v0zM99.097 512c0-228.040 184.863-412.903 412.903-412.903s412.903 184.863 412.903 412.903c0 228.040-184.863 412.903-412.903 412.903v0c-228.040 0-412.903-184.863-412.903-412.903v0zM561.548 247.742c0-27.365-22.184-49.548-49.548-49.548s-49.548 22.184-49.548 49.548v0 264.258c0 27.365 22.184 49.548 49.548 49.548v0h198.193c27.365 0 49.548-22.184 49.548-49.548s-22.184-49.548-49.548-49.548v0h-148.645z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["Time_ic-01"],"grid":0},"attrs":[],"properties":{"order":518,"id":127,"name":"time","prevSize":32,"code":59758},"setIdx":0,"setId":7,"iconIdx":130},{"icon":{"paths":["M738.883 141.242l-0.084 1.222c-5.293 62.167-27.789 119.427-62.062 166.078l-0.877 1.127c-44.64 55.488-99.241 102.622-163.859 140.177l-2.767-1.491c-61.847-36.065-116.45-83.197-161.965-139.814l0.646 0.922c-34.919-47.573-57.416-104.834-62.792-168.222h453.764zM845.274 141.242h19.831c39.002 0 70.621-31.619 70.621-70.621s-31.619-70.621-70.621-70.621v0h-706.207c-39.002 0-70.621 31.619-70.621 70.621s31.619 70.621 70.621 70.621v0h19.831c5.821 86.996 36.113 165.929 83.972 231.17l-0.859-1.228c42.627 55.122 92.83 101.805 149.583 139.385l2.301 1.432c-59.055 39.014-109.256 85.695-150.826 139.395l-1.058 1.422c-47 64.012-77.292 142.946-83.040 228.602l-0.071 1.337h-19.831c-39.002 0-70.621 31.619-70.621 70.621s31.619 70.621 70.621 70.621v0h706.207c39.002 0 70.621-31.619 70.621-70.621s-31.619-70.621-70.621-70.621v0h-19.831c-5.821-86.996-36.111-165.929-83.972-231.168l0.859 1.228c-42.627-55.124-92.829-101.805-149.583-139.385l-2.301-1.432c59.055-39.012 109.256-85.693 150.826-139.395l1.058-1.422c47.004-64.010 77.295-142.946 83.042-228.604l0.071-1.337zM512 574.153l2.769 1.491c61.849 36.065 116.451 83.197 161.968 139.814l-0.646-0.922c34.919 47.573 57.416 104.834 62.792 168.222h-453.765l0.084-1.222c5.292-62.168 27.789-119.429 62.062-166.080l0.877-1.129c44.64-55.488 99.242-102.622 163.859-140.177z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["Duration_ic-01"],"grid":0},"attrs":[],"properties":{"order":519,"id":128,"name":"duration","prevSize":32,"code":59759},"setIdx":0,"setId":7,"iconIdx":131},{"icon":{"paths":["M966.67 606.722h-216.091l15.789-189.446h200.302c31.388 0 56.834-25.446 56.834-56.834s-25.446-56.834-56.834-56.834v0h-190.828l20.13-241.561c0.155-1.568 0.242-3.392 0.242-5.234 0-31.388-25.446-56.834-56.834-56.834-29.911 0-54.424 23.105-56.667 52.44l-0.012 0.192-20.915 250.997h-264.835l20.13-241.561c0.131-1.446 0.204-3.126 0.204-4.824 0-31.388-25.446-56.834-56.834-56.834-29.765 0-54.186 22.881-56.633 52.015l-0.014 0.208-20.915 250.997h-225.559c-31.388 0-56.834 25.446-56.834 56.834s25.446 56.834 56.834 56.834v0h216.087l-15.789 189.446h-200.296c-31.388 0-56.834 25.446-56.834 56.834s25.446 56.834 56.834 56.834v0h190.825l-20.13 241.558c-0.124 1.414-0.197 3.060-0.197 4.723 0 31.39 25.447 56.836 56.836 56.836 29.728 0 54.125-22.822 56.626-51.902l0.014-0.211 20.915-251.003h264.831l-20.13 241.558c-0.151 1.558-0.238 3.367-0.238 5.197 0 31.388 25.446 56.834 56.834 56.834 29.893 0 54.395-23.078 56.663-52.39l0.012-0.194 20.915-251.003h225.563c31.388 0 56.834-25.446 56.834-56.834s-25.446-56.834-56.834-56.834v0zM371.692 606.722l15.786-189.446h264.835l-15.789 189.446z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["Hash_ic-01"],"grid":0},"attrs":[],"properties":{"order":520,"id":129,"name":"hash","prevSize":32,"code":59760},"setIdx":0,"setId":7,"iconIdx":132},{"icon":{"paths":["M871.298 80.842h-89.824v-89.824h-107.789v89.824h-323.368v-89.824h-107.789v89.824h-89.824c-69.452 0-125.755 56.301-125.755 125.755v0 682.666c0 69.452 56.301 125.755 125.755 125.755v0h718.597c69.452 0 125.755-56.301 125.755-125.755v0-682.666c0-69.452-56.301-125.755-125.755-125.755v0zM152.702 188.632h718.597c9.922 0 17.965 8.044 17.965 17.965v0 161.684h-754.526v-161.684c0-9.922 8.044-17.965 17.965-17.965v0zM871.298 907.229h-718.597c-9.922 0-17.965-8.044-17.965-17.965v0-413.192h754.526v413.192c0 0.002 0 0.003 0 0.005 0 9.92-8.040 17.96-17.96 17.96-0.002 0-0.003 0-0.005 0v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["Calendar_ic-01"],"grid":0},"attrs":[],"properties":{"order":521,"id":130,"name":"calendar","prevSize":32,"code":59761},"setIdx":0,"setId":7,"iconIdx":133},{"icon":{"paths":["M997.161 28.923c-16.026-17.696-39.048-28.801-64.667-28.922h-841.026c-25.611 0.129-48.608 11.215-64.561 28.807l-0.066 0.074-0.066 0.066c-16.61 18.321-26.776 42.75-26.776 69.553 0 0.103 0 0.204 0 0.306v-0.016l-0.009 826.44c-0.002 0.24-0.003 0.523-0.003 0.805 0 26.637 10.184 50.896 26.87 69.095l-0.068-0.076c16.016 17.703 39.032 28.815 64.646 28.944h841.024c25.605-0.099 48.601-11.185 64.537-28.785l0.066-0.074c16.67-18.116 26.888-42.393 26.888-69.059 0-0.3-0.002-0.598-0.003-0.897v0.046l0.011-826.441c0.003-0.264 0.003-0.575 0.003-0.887 0-26.625-10.184-50.87-26.87-69.054l0.068 0.074zM107.796 916.196l0.011-808.391h808.395l1.781 808.391zM756.336 270.027c2.327 4.923 3.687 10.695 3.687 16.785 0 0.033 0 0.066 0 0.101v-0.005 66.288c0 0.033 0 0.073 0 0.112 0 12.208-5.465 23.14-14.081 30.485l-0.057 0.047-0.638 0.556-0.674 0.507c-7.986 5.839-17.999 9.342-28.832 9.342s-20.848-3.504-28.973-9.439l0.139 0.096-1.315-1.064c-8.67-7.388-14.134-18.317-14.134-30.522 0-0.043 0-0.085 0-0.128v0.006-25.24h-115.152v420.544c0 0.013 0 0.028 0 0.043 0 11.952-5.577 22.602-14.268 29.49l-0.077 0.060 0.212 0.242c-0.253 0.219-0.575 0.283-0.835 0.499-0.204 0.161-0.27 0.409-0.477 0.565l-0.142-0.191c-7.722 6.436-17.75 10.342-28.688 10.342s-20.966-3.906-28.761-10.4l0.073 0.058-0.145 0.191c-0.205-0.156-0.27-0.409-0.474-0.565-0.261-0.216-0.584-0.275-0.842-0.499l0.216-0.246c-8.772-6.946-14.351-17.595-14.351-29.547 0-0.014 0-0.028 0-0.043v0.002-420.542h-115.152v25.24c0 0.030 0 0.066 0 0.103 0 12.211-5.465 23.147-14.082 30.493l-0.057 0.047-0.638 0.556-0.674 0.507c-7.986 5.839-18.002 9.342-28.835 9.342s-20.849-3.504-28.974-9.439l0.139 0.096-1.315-1.064c-8.67-7.392-14.133-18.325-14.133-30.534 0-0.038 0-0.077 0-0.115v0.006-66.288c0-0.032 0-0.069 0-0.107 0-12.208 5.463-23.14 14.077-30.487l0.055-0.046c7.741-6.96 18.034-11.216 29.322-11.216 0.006 0 0.011 0 0.017 0h408.236c0.125-0.002 0.272-0.002 0.42-0.002 11.417 0 21.841 4.254 29.773 11.261l-0.049-0.043c4.381 3.728 7.912 8.316 10.354 13.515l0.103 0.245z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["text"],"grid":0},"attrs":[],"properties":{"order":493,"id":131,"name":"text","prevSize":32,"code":59757},"setIdx":0,"setId":7,"iconIdx":134}],"height":1024,"metadata":{"name":"icomoon"},"preferences":{"showGlyphs":true,"showQuickUse":true,"showQuickUse2":true,"showSVGs":true,"fontPref":{"prefix":"icon-","metadata":{"fontFamily":"icomoon"},"metrics":{"emSize":1024,"baseline":6.25,"whitespace":50},"embed":false},"imagePref":{"prefix":"icon-","png":true,"useClassSelector":true,"color":0,"bgColor":16777215,"classSelector":".icon","name":"icomoon"},"historySize":50,"showCodes":true,"gridSize":16}} \ No newline at end of file +{"IcoMoonType":"selection","icons":[{"icon":{"paths":["M929.246 986.178h-834.371c-52.342-0.057-94.758-42.472-94.815-94.81v-758.521c0.062-52.341 42.474-94.753 94.808-94.818h834.377c52.342 0.057 94.76 42.474 94.815 94.811v758.521c-0.050 52.344-42.471 94.764-94.81 94.815h-0.005zM113.838 872.399h796.444v-720.593h-796.444zM644.801 265.585h151.704c10.472 0 18.963 8.489 18.963 18.963 0 0 0 0 0 0v0 455.111c0 0 0 0 0 0 0 10.472-8.489 18.963-18.963 18.963h-151.704c-10.472 0-18.963-8.489-18.963-18.963 0 0 0 0 0 0v0-455.111c0 0 0 0 0 0 0-10.472 8.489-18.963 18.963-18.963v0zM549.986 663.806v75.851c0 10.472-8.491 18.963-18.963 18.963v0h-303.405c-10.472 0-18.963-8.489-18.963-18.963 0 0 0 0 0 0v0-75.851c0-10.472 8.489-18.963 18.963-18.963v0h303.405c0 0 0 0 0 0 10.472 0 18.963 8.489 18.963 18.963v0zM549.986 474.177v75.851c0 10.472-8.489 18.963-18.963 18.963 0 0 0 0 0 0h-303.405c-10.472 0-18.963-8.489-18.963-18.963v0-75.851c0-10.472 8.489-18.963 18.963-18.963v0h303.405c0 0 0 0 0.002 0 10.472 0 18.963 8.489 18.963 18.963v0zM549.986 284.548v75.851c0 10.472-8.491 18.963-18.963 18.963v0h-303.405c-10.472 0-18.963-8.489-18.963-18.963 0 0 0 0 0 0v0-75.851c0 0 0 0 0 0 0-10.472 8.489-18.963 18.963-18.963h303.405c0 0 0 0 0 0 10.472 0 18.963 8.491 18.963 18.963v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["dashboard"],"colorPermutations":{}},"attrs":[],"properties":{"order":602,"id":138,"name":"dashboard","prevSize":32,"code":59785},"setIdx":0,"setId":31,"iconIdx":0},{"icon":{"paths":["M924.477 8.521c-7.023-5.313-15.903-8.51-25.53-8.51-4.339 0-8.526 0.649-12.47 1.857l0.302-0.080-596.942 176.885c-17.635 5.223-30.28 21.277-30.28 40.284 0 0.033 0 0.067 0 0.1v-0.006 508.017c-13.627-3.354-29.272-5.279-45.366-5.279-13.624 0-26.926 1.379-39.772 4.005l1.273-0.218c-96.849 18.265-175.656 98.060-175.656 177.853-0.003 0.261-0.003 0.57-0.003 0.88 0 34.827 15.909 65.937 40.856 86.46l0.193 0.154c26.225 20.631 59.725 33.088 96.135 33.088 1.584 0 3.163-0.023 4.735-0.071l-0.231 0.006c14.193-0.032 28.044-1.411 41.457-4.012l-1.379 0.222c86.468-13.752 154.783-78.149 174.144-161.341l0.28-1.433 1.229-536.119 486.020-144.025v383.224c-13.615-3.384-29.247-5.326-45.331-5.326-13.639 0-26.951 1.396-39.801 4.053l1.266-0.219c-96.849 18.224-175.676 98.018-175.676 177.813-0.003 0.264-0.003 0.576-0.003 0.89 0 34.844 15.926 65.968 40.895 86.491l0.195 0.155c28.023 21.075 63.409 33.751 101.752 33.751 13.823 0 27.26-1.647 40.128-4.755l-1.163 0.237c96.849-18.265 175.676-98.060 175.676-177.853v-633.492c0-0.039 0-0.086 0-0.132 0-13.71-6.613-25.874-16.825-33.477l-0.11-0.078z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["audio"],"grid":0},"attrs":[],"properties":{"order":602,"id":0,"name":"audio","prevSize":32,"code":59783},"setIdx":0,"setId":31,"iconIdx":2},{"icon":{"paths":["M776.541 700.114c0-21.644 17.546-39.19 39.19-39.19v0h39.19c21.644 0 39.19 17.546 39.19 39.19v0 195.953c0 21.644-17.546 39.19-39.19 39.19v0h-39.19c-21.644 0-39.19-17.546-39.19-39.19v0zM962.69 964.652h-901.382c-16.233 0-29.392 13.159-29.392 29.392s13.159 29.392 29.392 29.392v0h901.382c16.233 0 29.392-13.159 29.392-29.392s-13.159-29.392-29.392-29.392v0zM972.929 598.579l-49.080-50.77c2.165-7.176 3.468-15.435 3.592-23.982l0.001-0.068c-0.069-50.845-41.275-92.044-92.115-92.1h-0.006c-7.982 0.098-15.663 1.208-22.976 3.206l0.639-0.149-109.028-109.028c4.992-10.9 7.913-23.642 7.937-37.063v-0.008c0-0.073 0-0.16 0-0.247 0-50.872-41.24-92.111-92.111-92.111s-92.111 41.24-92.111 92.111c0 6.445 0.661 12.736 1.922 18.808l-0.103-0.597-86.925 55.316c-11.23-5.39-24.408-8.562-38.319-8.618h-0.019c-2.326 0-4.51 0.517-6.791 0.686l-134.295-207.554c11.224-15.103 17.968-34.117 17.968-54.707 0-50.958-41.309-92.268-92.268-92.268s-92.268 41.309-92.268 92.268c0 16.713 4.443 32.386 12.213 45.907l-0.238-0.449-59.172 71.41c-4.871 5.754-7.831 13.26-7.831 21.458 0 18.398 14.915 33.312 33.312 33.312 10.387 0 19.664-4.753 25.773-12.204l0.047-0.059 59.158-71.395c8.575 3.097 18.472 4.948 28.783 5.080h0.061c6.615-0.001 13.064-0.7 19.282-2.027l-0.603 0.107 129.519 200.167c-15.282 16.389-24.664 38.454-24.664 62.712 0 50.842 41.217 92.059 92.059 92.059s92.059-41.217 92.059-92.059c0-12.524-2.501-24.464-7.031-35.349l0.225 0.609 75.972-48.347c14.938 11.287 33.822 18.078 54.291 18.078 13.422 0 26.163-2.92 37.621-8.159l-0.565 0.231 101.217 101.215c-9.35 14.136-14.917 31.485-14.917 50.135 0 50.648 41.058 91.706 91.706 91.706 18.019 0 34.822-5.197 48.997-14.172l-0.376 0.222 41.556 42.99c6.065 6.269 14.555 10.16 23.953 10.16 18.399 0 33.314-14.915 33.314-33.314 0-9.001-3.57-17.167-9.37-23.162l0.008 0.010zM238.436 108.238c-6.448 21.744-26.248 37.337-49.692 37.337-25.683 0-46.997-18.716-51.043-43.253l-0.041-0.3c-0.856-2.694-1.522-5.868-1.875-9.136l-0.019-0.222c0-29.222 23.69-52.911 52.911-52.911s52.911 23.69 52.911 52.911v0c-0.259 5.659-1.393 10.977-3.271 15.927l0.117-0.353zM404.226 498.29c-29.211-0.029-52.882-23.701-52.911-52.909v-0.003c0.267-10.070 3.392-19.358 8.588-27.148l-0.117 0.187c9.009-15.612 25.616-25.951 44.636-25.951 24.591 0 45.145 17.28 50.182 40.36l0.062 0.339c1.243 3.578 2.12 7.731 2.459 12.035l0.011 0.176c-0.029 29.211-23.701 52.882-52.907 52.911h-0.003zM671.726 293.454c-2.349 25.018-22.103 44.762-46.918 47.081l-0.207 0.015c-1.259 0.343-2.892 0.685-4.552 0.941l-0.274 0.034c-5.945-0.077-11.618-1.135-16.899-3.020l0.365 0.113c-21.248-7.104-36.308-26.784-36.397-49.995v-0.011c0.096-2.277 0.321-4.414 0.671-6.51l-0.043 0.304c3.154-26.421 25.427-46.707 52.44-46.707 29.155 0 52.792 23.636 52.792 52.792 0 0.043 0 0.085 0 0.127v-0.007c-0.293 1.94-0.635 3.577-1.055 5.182l0.076-0.343zM855.182 572.635c-5.863 2.44-12.672 3.856-19.813 3.856-29.172 0-52.82-23.648-52.82-52.82 0-29.155 23.621-52.793 52.769-52.82h0.003c28.599 1.51 51.41 24.315 52.924 52.772l0.006 0.139c-0.054 22.007-13.555 40.849-32.718 48.745l-0.351 0.128zM169.085 269.018c-21.644 0-39.19 17.546-39.19 39.19v0 587.858c0 21.644 17.546 39.19 39.19 39.19v0h39.19c21.644 0 39.19-17.546 39.19-39.19v0-587.858c0-21.644-17.546-39.19-39.19-39.19v0zM384.633 582.543c-21.644 0-39.19 17.546-39.19 39.19v0 274.334c0 21.644 17.546 39.19 39.19 39.19v0h39.19c21.644 0 39.19-17.546 39.19-39.19v0-274.334c0-21.644-17.546-39.19-39.19-39.19v0zM600.182 464.972c-21.644 0-39.19 17.546-39.19 39.19v0 391.905c0 21.644 17.546 39.19 39.19 39.19v0h39.19c21.644 0 39.19-17.546 39.19-39.19v0-391.905c0-21.644-17.546-39.19-39.19-39.19v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["distributions"],"grid":0},"attrs":[{}],"properties":{"order":601,"id":1,"name":"distributions","prevSize":32,"code":59784},"setIdx":0,"setId":31,"iconIdx":3},{"icon":{"paths":["M831.999 1023.999h-640c-105.99-0.12-191.88-86.008-192-191.988v-640.012c0.12-105.99 86.008-191.88 191.988-192h640.011c105.99 0.12 191.88 86.008 192 191.988v640.012c-0.12 105.99-86.008 191.88-191.988 192h-0.012zM192.001 96.001c-52.995 0.060-95.94 43.005-96 95.994v640.006c0.060 52.995 43.005 95.94 95.994 96h640.006c52.995-0.060 95.94-43.005 96-95.994v-640.006c-0.060-52.995-43.005-95.94-95.994-96h-0.006zM256 192.001h511.999c35.346 0 64 28.654 64 64v0 127.999c0 35.346-28.654 64-64 64v0h-511.999c-35.346 0-64-28.654-64-64v0-127.999c0-35.346 28.654-64 64-64v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["pin-to-top"],"grid":0},"attrs":[],"properties":{"order":603,"id":2,"name":"pin-to-top","prevSize":32,"code":59780},"setIdx":0,"setId":31,"iconIdx":4},{"icon":{"paths":["M831.999 1023.999h-640c-105.99-0.12-191.88-86.008-192-191.988v-640.012c0.12-105.99 86.008-191.88 191.988-192h640.011c105.99 0.12 191.88 86.008 192 191.988v640.012c-0.12 105.99-86.008 191.88-191.988 192h-0.012zM192.001 96.001c-52.995 0.060-95.94 43.005-96 95.994v640.006c0.060 52.995 43.005 95.94 95.994 96h640.006c52.995-0.060 95.94-43.005 96-95.994v-640.006c-0.060-52.995-43.005-95.94-95.994-96h-0.006zM256 576h511.999c35.346 0 64 28.654 64 64v0 127.999c0 35.346-28.654 64-64 64v0h-511.999c-35.346 0-64-28.654-64-64v0-127.999c0-35.346 28.654-64 64-64v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["pin-to-bottom"],"grid":0},"attrs":[],"properties":{"order":602,"id":3,"name":"pin-to-bottom","prevSize":32,"code":59781},"setIdx":0,"setId":31,"iconIdx":5},{"icon":{"paths":["M831.999 1023.999h-640c-105.99-0.12-191.88-86.008-192-191.988v-640.012c0.12-105.99 86.008-191.88 191.988-192h640.011c105.99 0.12 191.88 86.008 192 191.988v640.012c-0.12 105.99-86.008 191.88-191.988 192h-0.012zM192.001 96.001c-52.995 0.060-95.94 43.005-96 95.994v640.006c0.060 52.995 43.005 95.94 95.994 96h640.006c52.995-0.060 95.94-43.005 96-95.994v-640.006c-0.060-52.995-43.005-95.94-95.994-96h-0.006zM256 384.001h511.999c35.346 0 64 28.654 64 64v0 127.999c0 35.346-28.654 64-64 64v0h-511.999c-35.346 0-64-28.654-64-64v0-127.999c0-35.346 28.654-64 64-64v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["flexible"],"grid":0},"attrs":[],"properties":{"order":604,"id":4,"name":"flexible","prevSize":32,"code":59782},"setIdx":0,"setId":31,"iconIdx":6},{"icon":{"paths":["M798.952 967.111v-910.222c0-31.419-25.47-56.889-56.889-56.889-12.87 0-24.744 4.274-34.278 11.481l0.144-0.104-606.815 455.111c-13.878 10.489-22.756 26.963-22.756 45.511s8.878 35.022 22.611 45.407l0.144 0.104 606.815 455.111c9.389 7.104 21.263 11.378 34.133 11.378 31.419 0 56.889-25.47 56.889-56.889v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["arrow-left"],"grid":0},"attrs":[{}],"properties":{"order":595,"id":5,"name":"arrow-left-contained","prevSize":32,"code":59776},"setIdx":0,"setId":31,"iconIdx":7},{"icon":{"paths":["M56.889 799.578h910.222c31.419 0 56.889-25.47 56.889-56.889 0-12.87-4.274-24.744-11.481-34.278l0.104 0.144-455.111-606.815c-10.489-13.878-26.963-22.756-45.511-22.756s-35.022 8.878-45.407 22.611l-0.104 0.144-455.111 606.815c-7.104 9.389-11.378 21.263-11.378 34.133 0 31.419 25.47 56.889 56.889 56.889v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["arrow-up-contained"],"grid":0},"attrs":[{}],"properties":{"order":594,"id":6,"name":"arrow-up-contained","prevSize":32,"code":59777},"setIdx":0,"setId":31,"iconIdx":8},{"icon":{"paths":["M239.693 56.889v910.222c0 31.419 25.47 56.889 56.889 56.889 12.87 0 24.744-4.274 34.278-11.481l-0.144 0.104 606.815-455.111c13.878-10.489 22.756-26.963 22.756-45.511s-8.878-35.022-22.611-45.407l-0.144-0.104-606.815-455.111c-9.389-7.104-21.263-11.378-34.133-11.378-31.419 0-56.889 25.47-56.889 56.889v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["arrow-right-contained"],"grid":0},"attrs":[{}],"properties":{"order":593,"id":7,"name":"arrow-right-contained","prevSize":32,"code":59778},"setIdx":0,"setId":31,"iconIdx":9},{"icon":{"paths":["M967.111 224.541h-910.222c-31.419 0-56.889 25.47-56.889 56.889 0 12.87 4.274 24.744 11.481 34.278l-0.104-0.144 455.111 606.815c10.489 13.878 26.963 22.756 45.511 22.756s35.022-8.878 45.407-22.611l0.104-0.144 455.111-606.815c7.104-9.389 11.378-21.263 11.378-34.133 0-31.419-25.47-56.889-56.889-56.889v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["arrow-down-contained"],"grid":0},"attrs":[{}],"properties":{"order":592,"id":8,"name":"arrow-down-contained","prevSize":32,"code":59779},"setIdx":0,"setId":31,"iconIdx":10},{"icon":{"paths":["M967.112 986.074h-872.298c-52.342-0.057-94.759-42.473-94.815-94.809v-796.45c0-31.419 25.469-56.889 56.889-56.889s56.889 25.469 56.889 56.889v0 777.482h853.334c31.419 0 56.889 25.469 56.889 56.889s-25.469 56.889-56.889 56.889v0zM266.666 558.185c266.247-55.286 495.261-188.346 668.625-374.031l0.674-0.729c7.613-8.379 12.272-19.558 12.272-31.826 0-26.179-21.223-47.401-47.401-47.401-14.010 0-26.599 6.078-35.278 15.739l-0.039 0.044c-161.407 172.208-373.614 295.024-612.649 344.529l-7.535 1.305c-21.202 5.022-36.733 23.792-36.733 46.188 0 26.166 21.2 47.382 47.361 47.404h0.002c0.037 0 0.083 0 0.128 0 3.751 0 7.397-0.445 10.89-1.287l-0.316 0.065zM834.372 417.185v379.259c0 10.474 8.49 18.962 18.962 18.962v0h75.851c10.474 0 18.962-8.49 18.962-18.962v0-379.259c0-10.474-8.49-18.962-18.962-18.964h-75.85c0 0-0.002 0-0.002 0-10.474 0-18.964 8.49-18.964 18.964v0zM834.372 417.185v379.259c0 10.474 8.49 18.962 18.962 18.962v0h75.851c10.474 0 18.962-8.49 18.962-18.962v0-379.259c0-10.474-8.49-18.962-18.962-18.964h-75.85c0 0-0.002 0-0.002 0-10.474 0-18.964 8.49-18.964 18.964v0zM625.779 493.034v303.408c0 10.474 8.49 18.962 18.962 18.962v0h75.851c10.474 0 18.962-8.49 18.962-18.962v0-303.408c0-10.474-8.49-18.962-18.962-18.964h-75.85c-0.002 0-0.002 0-0.003 0-10.474 0-18.964 8.49-18.964 18.964 0 0.002 0 0.002 0 0.003v0zM625.779 493.034v303.408c0 10.474 8.49 18.962 18.962 18.962v0h75.851c10.474 0 18.962-8.49 18.962-18.962v0-303.408c0-10.474-8.49-18.962-18.962-18.964h-75.85c-0.002 0-0.002 0-0.003 0-10.474 0-18.964 8.49-18.964 18.964 0 0.002 0 0.002 0 0.003v0zM417.186 606.812v189.63c0 10.474 8.49 18.962 18.962 18.962v0h75.851c10.474 0 18.962-8.49 18.962-18.962v0-189.627c0-10.474-8.49-18.962-18.962-18.962v0h-75.85c0 0-0.002 0-0.002 0-10.474 0-18.962 8.49-18.962 18.962v0zM417.186 606.812v189.63c0 10.474 8.49 18.962 18.962 18.962v0h75.851c10.474 0 18.962-8.49 18.962-18.962v0-189.627c0-10.474-8.49-18.962-18.962-18.962v0h-75.85c0 0-0.002 0-0.002 0-10.474 0-18.962 8.49-18.962 18.962v0zM208.592 682.666v113.778c0 10.474 8.49 18.962 18.962 18.962h75.851c10.474 0 18.962-8.49 18.962-18.962v0-113.778c0-10.474-8.49-18.962-18.962-18.964h-75.85c0 0-0.002 0-0.002 0-10.474 0-18.964 8.49-18.964 18.964v0zM208.592 682.666v113.778c0 10.474 8.49 18.962 18.962 18.962h75.851c10.474 0 18.962-8.49 18.962-18.962v0-113.778c0-10.474-8.49-18.962-18.962-18.964h-75.85c0 0-0.002 0-0.002 0-10.474 0-18.964 8.49-18.964 18.964v0zM208.592 303.407c0 31.419 25.469 56.889 56.889 56.889s56.889-25.469 56.889-56.889c0-31.419-25.469-56.889-56.889-56.889 0 0 0 0 0 0v0c-31.419 0-56.889 25.469-56.889 56.889 0 0 0 0 0 0v0zM303.407 113.778c0 31.418 25.471 56.889 56.889 56.889s56.889-25.469 56.889-56.889c0-31.419-25.469-56.889-56.889-56.889v0c-31.419 0-56.889 25.469-56.889 56.889 0 0 0 0 0 0.002v0zM455.111 265.482c0 31.419 25.471 56.889 56.889 56.889s56.889-25.469 56.889-56.889c0-31.419-25.469-56.889-56.889-56.889v0c-31.419 0-56.889 25.469-56.889 56.889v0zM587.851 113.778c0 31.419 25.469 56.889 56.889 56.889s56.889-25.469 56.889-56.889c0-31.419-25.469-56.889-56.889-56.889v0c-31.419 0-56.889 25.469-56.889 56.889v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["figures explorer"],"grid":0},"attrs":[],"properties":{"order":598,"id":9,"name":"figures-explorer","prevSize":32,"code":59774},"setIdx":0,"setId":31,"iconIdx":11},{"icon":{"paths":["M853.333 1024h-682.667c-94.213-0.107-170.56-76.452-170.667-170.656v-682.677c0.107-94.213 76.452-170.56 170.656-170.667h682.677c94.213 0.107 170.56 76.452 170.667 170.656v682.677c-0.107 94.213-76.452 170.56-170.656 170.667h-0.011zM170.667 85.333c-47.107 0.053-85.28 38.227-85.333 85.328v682.672c0.053 47.107 38.227 85.28 85.328 85.333h682.672c47.107-0.053 85.28-38.227 85.333-85.328v-682.672c-0.053-47.107-38.227-85.28-85.328-85.333h-0.005zM801.235 423.117l-38.679-4.904c-2.191-5.797-4.568-11.593-7.133-17.169l23.928-30.839c7.881-9.921 12.644-22.628 12.644-36.447 0-16.423-6.727-31.273-17.573-41.949l-42.112-42.072c-10.671-10.947-25.561-17.737-42.039-17.737-13.823 0-26.529 4.779-36.559 12.775l0.119-0.091-30.84 23.856c-5.649-2.527-11.372-4.905-17.169-7.060l-4.937-38.719c-3.705-29.496-28.628-52.088-58.828-52.096h-60.155c-30.192 0.007-55.103 22.603-58.753 51.805l-0.029 0.291-4.944 38.719c-5.831 2.155-11.555 4.533-17.129 7.060l-30.876-24.004c-9.92-7.773-22.579-12.467-36.333-12.467-16.435 0-31.304 6.699-42.028 17.516l-42.101 42.067c-10.924 10.687-17.696 25.576-17.696 42.048 0 13.813 4.763 26.515 12.736 36.551l-0.092-0.121 23.929 30.839c-2.564 5.575-4.941 11.372-7.097 17.169l-38.793 4.904c-29.432 3.828-51.941 28.701-52.024 58.848v60.208c0.048 30.176 22.623 55.064 51.803 58.753l0.292 0.031 38.681 4.904c2.192 5.797 4.533 11.52 7.097 17.169l-23.893 30.84c-7.879 9.927-12.64 22.639-12.64 36.461 0 16.448 6.741 31.321 17.611 42.008l42.105 42.072c10.711 10.883 25.6 17.627 42.065 17.627 13.797 0 26.488-4.736 36.537-12.669l-0.124 0.095 30.843-24.007q8.473 3.908 17.129 7.14l4.944 38.639c3.657 29.52 28.575 52.148 58.781 52.173h60.163c30.187-0.043 55.088-22.615 58.793-51.8l0.031-0.293 4.904-38.719c5.831-2.156 11.555-4.535 17.203-7.060l30.879 24.001c9.916 7.792 22.58 12.496 36.341 12.496 16.437 0 31.307-6.711 42.017-17.543l42.069-42.069c10.953-10.677 17.747-25.576 17.747-42.063 0-13.811-4.768-26.508-12.748-36.536l0.092 0.12-23.967-30.84q3.848-8.476 7.133-17.169l38.684-4.977c29.468-3.731 52.033-28.612 52.093-58.777v-60.207c-0.048-30.177-22.624-55.067-51.807-58.753l-0.292-0.031zM788.417 537.043l-54.363 6.985c-12.985 1.681-23.455 10.843-27.032 22.959l-0.059 0.229c-4.809 16.628-10.959 31.075-18.589 44.573l0.532-1.024c-2.636 4.576-4.192 10.063-4.192 15.913 0 7.543 2.585 14.481 6.917 19.979l-0.052-0.069 33.553 43.179-35.373 35.3-43.252-33.593c-5.416-4.199-12.307-6.731-19.789-6.731-5.82 0-11.283 1.532-16.007 4.215l0.16-0.084c-12.519 7.116-27.019 13.267-42.249 17.696l-1.447 0.36c-12.333 3.665-21.476 14.143-23.131 26.968l-0.017 0.163-6.952 54.397h-50.159l-6.912-54.397c-1.747-12.988-10.913-23.449-23.031-27.065l-0.231-0.059c-16.595-4.772-31.019-10.897-44.491-18.511l1.016 0.528c-4.58-2.657-10.077-4.225-15.941-4.225-7.549 0-14.491 2.599-19.98 6.949l0.067-0.051-43.14 33.439-35.375-35.368 33.516-43.031c4.281-5.441 6.865-12.393 6.865-19.948 0-5.833-1.54-11.305-4.237-16.033l0.084 0.16c-7.108-12.476-13.257-26.924-17.696-42.101l-0.363-1.447c-3.608-12.379-14.087-21.573-26.928-23.244l-0.163-0.017-54.399-6.985v-50.091l54.584-6.912c12.872-1.864 23.208-10.993 26.804-23.031l0.060-0.232c4.832-16.684 11.007-31.18 18.667-44.724l-0.535 1.027c2.58-4.533 4.101-9.96 4.101-15.743 0-7.552-2.595-14.497-6.94-19.995l0.052 0.068-33.512-43.107 35.411-35.375 43.289 33.665c5.475 4.079 12.372 6.529 19.841 6.529 5.753 0 11.168-1.455 15.895-4.016l-0.176 0.088c12.513-7.155 27-13.331 42.225-17.773l1.437-0.359c12.375-3.621 21.556-14.115 23.205-26.964l0.017-0.161 6.912-54.325h50.164l6.912 54.325c1.615 12.992 10.788 23.476 22.921 26.995l0.227 0.056c16.639 4.824 31.085 10.947 44.603 18.528l-1.055-0.543c4.597 2.757 10.143 4.388 16.069 4.388 7.535 0 14.455-2.636 19.887-7.035l-0.059 0.047 43.139-33.516 35.34 35.375-33.485 43.104c-4.257 5.469-6.825 12.436-6.825 20.003 0 5.805 1.512 11.257 4.163 15.984l-0.085-0.165c7.113 12.496 13.276 26.967 17.731 42.167l0.365 1.455c3.645 12.34 14.109 21.496 26.927 23.171l0.164 0.017 54.403 6.912zM512 358.688c-0.047 0-0.103 0-0.159 0-84.761 0-153.475 68.713-153.475 153.475s68.713 153.475 153.475 153.475c84.761 0 153.475-68.713 153.475-153.475 0-42.381-17.179-80.752-44.953-108.525v0c-27.728-27.749-66.037-44.921-108.356-44.949h-0.005zM512 600.44c-0.036 0-0.079 0-0.12 0-48.888 0-88.519-39.632-88.519-88.519s39.632-88.519 88.519-88.519c48.888 0 88.519 39.632 88.519 88.519 0 24.436-9.901 46.56-25.912 62.579v0c-15.989 16.005-38.079 25.915-62.481 25.941h-0.005z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["box-settings"],"grid":0},"attrs":[],"properties":{"order":597,"id":10,"name":"box-settings","prevSize":32,"code":59773},"setIdx":0,"setId":31,"iconIdx":12},{"icon":{"paths":["M853.334 1024h-170.666c-25.706 0-46.545-20.839-46.545-46.545s20.839-46.545 46.545-46.545v0h170.666c42.828-0.041 77.535-34.748 77.575-77.572v-170.671c0-25.706 20.839-46.545 46.545-46.545s46.545 20.839 46.545 46.545v0 170.666c-0.099 94.217-76.449 170.567-170.657 170.666h-0.010zM341.334 1024h-170.666c-94.217-0.099-170.567-76.449-170.666-170.657v-170.676c0-25.706 20.839-46.545 46.545-46.545s46.545 20.839 46.545 46.545v0 170.666c0.041 42.828 34.748 77.535 77.572 77.575h170.671c25.706 0 46.545 20.839 46.545 46.545s-20.839 46.545-46.545 46.545v0zM977.455 387.879c-25.703-0.007-46.538-20.842-46.545-46.545v0-170.666c-0.041-42.828-34.748-77.535-77.572-77.575h-170.671c-25.706 0-46.545-20.839-46.545-46.545s20.839-46.545 46.545-46.545v0h170.666c94.217 0.099 170.567 76.449 170.666 170.657v170.676c-0.007 25.703-20.842 46.538-46.545 46.545v0zM46.545 387.879c-25.703-0.007-46.538-20.842-46.545-46.545v0-170.666c0.099-94.217 76.449-170.567 170.657-170.666h170.676c25.706 0 46.545 20.839 46.545 46.545s-20.839 46.545-46.545 46.545v0h-170.666c-42.828 0.041-77.535 34.748-77.575 77.572v170.671c-0.007 25.703-20.842 46.538-46.545 46.545v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["full-screen"],"grid":0},"attrs":[],"properties":{"order":596,"id":11,"name":"full-screen","prevSize":32,"code":59771},"setIdx":0,"setId":31,"iconIdx":13},{"icon":{"paths":["M776.258 1024h-528.515c-136.757-0.166-247.576-110.985-247.742-247.726v-528.531c0.153-136.761 110.979-247.587 247.726-247.742h132.144c27.365 0 49.548 22.184 49.548 49.548s-22.184 49.548-49.548 49.548v0h-132.128c-82.057 0.093-148.552 66.588-148.645 148.636v528.524c0.104 82.052 66.593 148.541 148.636 148.645h528.526c82.047-0.116 148.529-66.598 148.645-148.634v-132.139c0-27.365 22.184-49.548 49.548-49.548s49.548 22.184 49.548 49.548v0 132.128c-0.178 136.752-110.988 247.564-247.725 247.742h-0.017zM974.452-0h-330.322c-27.365 0-49.548 22.184-49.548 49.548s22.184 49.548 49.548 49.548v0h210.706l-377.866 377.871c-8.889 8.953-14.383 21.287-14.383 34.904 0 27.362 22.181 49.544 49.544 49.544 13.618 0 25.952-5.494 34.907-14.386l377.868-377.863v210.706c0 27.365 22.184 49.548 49.548 49.548s49.548-22.184 49.548-49.548v0-330.322c0-27.365-22.184-49.548-49.548-49.548v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["new-tab"],"grid":0},"attrs":[],"properties":{"order":595,"id":12,"name":"new-tab","prevSize":32,"code":59772},"setIdx":0,"setId":31,"iconIdx":14},{"icon":{"paths":["M0.002 161.281v480.809c0 48.689 42.604 91.293 91.293 91.293h359.084c42.604 73.034 121.723 115.638 213.016 115.638 54.776 0 109.551-18.259 152.155-48.689l-6.087 6.087 133.896 133.896c18.259 18.259 48.689 18.259 66.947 0s18.259-48.689 0-66.947l-133.896-133.896-6.087 6.087c30.43-42.604 48.689-97.379 48.689-152.155 0-66.947-24.345-121.723-66.947-170.413v-261.706c0-48.689-42.604-91.293-91.293-91.293h-669.479c-48.689 0-91.293 42.604-91.293 91.293zM791.206 161.281v206.931c-30.43-18.259-60.862-30.43-91.293-36.517l60.862-97.379c6.087-12.172 6.087-30.43-12.172-42.604-12.172-6.087-30.43-6.087-42.604 12.172l-73.034 127.81c-42.604 6.087-85.206 24.345-121.723 48.689l-54.776-54.776c-6.087-6.087-18.259-12.172-24.345-6.087-12.172 0-18.259 6.087-24.345 18.259l-60.862 127.81-103.465-225.189c-6.087-12.172-18.259-18.259-30.43-18.259s-24.345 12.172-24.345 24.345l-91.293 304.308c-6.087 18.259 6.087 30.43 18.259 36.517 18.259 6.087 30.43-6.087 36.517-18.259l66.947-225.189 91.293 200.844c6.087 12.172 18.259 18.259 24.345 18.259 12.172 0 24.345-6.087 30.43-18.259l73.034-146.068 24.345 24.345c-42.604 48.689-66.947 103.465-66.947 170.413 0 30.43 6.087 60.862 12.172 85.206h-316.482c-18.259 0-30.43-12.172-30.43-30.43v-486.894c0-18.259 12.172-30.43 30.43-30.43h669.479c18.259 0 30.43 18.259 30.43 30.43zM827.723 593.4c0 91.293-73.034 170.413-170.413 170.413-91.293 0-170.413-73.034-170.413-170.413 0-91.293 73.034-170.413 170.413-170.413s170.413 79.121 170.413 170.413z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["compare"],"grid":0},"attrs":[],"properties":{"order":594,"id":13,"name":"compare","prevSize":32,"code":59770},"setIdx":0,"setId":31,"iconIdx":15},{"icon":{"paths":["M1023.974 961.382c0 0.006 0 0.012 0 0.019 0 34.606-28.053 62.66-62.66 62.66-0.007 0-0.013 0-0.020 0h-764.789c-0.019 0-0.041 0-0.063 0-108.479 0-196.418-87.94-196.418-196.418 0-0.010 0-0.022 0-0.032v0.001-764.669c0-0.095-0.001-0.206-0.001-0.319 0-8.556 1.75-16.704 4.912-24.105l-0.152 0.401c3.29-7.937 7.867-14.712 13.537-20.396l-0.001 0.001c5.681-5.675 12.444-10.268 19.954-13.442l0.413-0.155c6.638-2.294 14.368-3.976 22.37-4.726l0.402-0.031c1.011-0.070 2.192-0.111 3.383-0.111 7.947 0 15.476 1.795 22.203 5.002l-0.312-0.135c15.461 6.484 27.5 18.562 33.779 33.64l0.152 0.411c2.988 6.983 4.726 15.109 4.726 23.641 0 0.135 0 0.268-0.001 0.402v-0.020 764.608c0 0.057 0 0.124 0 0.192 0 9.744 1.984 19.026 5.571 27.462l-0.174-0.459c10.967 26.015 36.25 43.946 65.724 43.961h764.789c17.289 0.056 32.939 7.031 44.334 18.299l-0.006-0.006c11.338 11.342 18.35 27.008 18.35 44.312 0 0.004 0 0.009 0 0.013v0zM295.374 794.931l499.471-499.471c8.669-8.505 14.040-20.341 14.040-33.434 0-25.861-20.965-46.826-46.826-46.826-13.089 0-24.924 5.37-33.422 14.029l-499.486 499.484c-8.666 8.505-14.036 20.34-14.036 33.429 0 25.861 20.965 46.826 46.826 46.826 13.092 0 24.929-5.373 33.426-14.033l0.007-0.007zM758.018 522.087h-1.708c-1.008-0.044-2.189-0.069-3.377-0.069-13.382 0-26.025 3.167-37.219 8.792l0.477-0.218c-8.54 4.116-15.422 10.527-20.002 18.438l-0.117 0.219c-1.888 3.111-3.006 6.87-3.006 10.891 0 0.299 0.006 0.594 0.018 0.89l-0.001-0.042c0.14 5.29 2.074 10.101 5.212 13.878l-0.029-0.037c3.137 3.758 7.28 6.579 12.012 8.060l0.181 0.048c3.813 1.276 8.215 2.088 12.782 2.253l0.083 0.003c4.485-0.146 8.752-0.783 12.841-1.857l-0.401 0.089c2.303-0.776 4.993-1.356 7.773-1.633l0.157-0.013c5.452 0.101 10.411 2.138 14.234 5.451l-0.028-0.023c6.462 5.249 12.052 11.206 16.764 17.83l0.186 0.277c6.159 8.231 15.852 22.011 29.51 42.070l12.742 18.719c-22.864 27.62-41.398 49.324-55.301 64.751-10.117 12.081-21.146 22.781-33.183 32.26l-0.473 0.359c-7 5.954-13.187 12.489-18.618 19.632l-0.222 0.306c-2.726 3.303-5.006 7.11-6.665 11.234l-0.102 0.29-0.549 1.402 0.124 1.463c0.827 8.518 4.485 16.054 10.009 21.778l-0.010-0.010c3.063 3.388 6.775 6.125 10.95 8.025l0.208 0.085c4.015 1.774 8.698 2.805 13.62 2.805 0.078 0 0.154 0 0.231-0.001h-0.012c4.672-0.132 9.134-0.724 13.436-1.735l-0.449 0.089c5.070-1.239 9.504-3.434 13.309-6.399l-0.078 0.059c14.591-13.007 27.934-26.506 40.392-40.8l0.459-0.538c13.536-15.546 30.059-35.179 50.363-59.874 17.763 26.675 35.687 49.849 55.082 71.689l-0.574-0.658c6.529 8.124 14.57 14.743 23.733 19.5l0.411 0.195c8.974 4.728 19.496 7.836 30.655 8.644l0.258 0.015c1.117 0.057 2.425 0.089 3.74 0.089 11.725 0 22.851-2.571 32.842-7.18l-0.487 0.202c5.31-2.337 9.674-5.995 12.798-10.567l0.066-0.102c2.903-4.169 4.637-9.339 4.637-14.915 0-0.158-0.001-0.316-0.004-0.473v0.023c0.018-0.281 0.026-0.61 0.026-0.942 0-3.064-0.824-5.937-2.264-8.405l0.042 0.079c-1.68-2.916-4.034-5.271-6.861-6.902l-0.089-0.048c-5.584-3.011-12.061-5.54-18.861-7.252l-0.588-0.126c-5.663-1.4-10.597-3.219-15.261-5.503l0.445 0.198c-12.968-7.521-23.839-17.187-32.484-28.628l-0.198-0.272c-11.462-14.389-26.339-35.485-44.328-62.559 20.486-24.938 37.559-44.935 52.070-61.214 12.996-14.755 26.477-28.208 40.775-40.755l0.502-0.432 1.523-1.981c4.064-8.127 6.589-17.661 6.948-27.744l0.003-0.12c0.035-0.528 0.056-1.144 0.056-1.766 0-7.35-2.826-14.040-7.45-19.043l0.018 0.019c-2.533-2.839-5.673-5.079-9.223-6.525l-0.167-0.060c-2.911-1.215-6.294-1.921-9.841-1.921-0.442 0-0.881 0.010-1.318 0.032l0.061-0.003c-0.132-0.001-0.288-0.003-0.445-0.003-7.103 0-13.777 1.831-19.578 5.047l0.208-0.105c-8.2 5.256-15.23 11.423-21.228 18.492l-0.111 0.135c-13.963 14.541-37.193 42.131-69.080 82.099-13.718-21.522-24.876-37.863-33.169-48.503-8.535-11.67-18.755-21.503-30.419-29.358l-0.432-0.274c-11.039-7.085-24.509-11.297-38.963-11.303h-0.001zM227.266 52.67c-1.239-2.839-2.085-6.131-2.371-9.582l-0.007-0.113c-0.064-0.729-0.101-1.577-0.101-2.433 0-9.677 4.645-18.268 11.825-23.667l0.076-0.054c7.096-5.070 15.949-8.108 25.51-8.108 0.56 0 1.117 0.010 1.673 0.031l-0.080-0.003c0.423-0.025 0.916-0.040 1.414-0.040 5.732 0 11.026 1.88 15.296 5.059l-0.069-0.048c5.303 4.17 9.709 9.207 13.066 14.933l0.135 0.249c13.868 24.545 26.607 53.178 36.618 83.062l1.030 3.549c7.956 22.072 14.146 38.35 18.779 49.66 3.658 8.475 7.742 16.92 12.195 25.090 7.118-18.038 14.599-41.28 20.816-65.034l1.042-4.687c6.371-21.676 11.494-38.747 15.426-51.46 4.778-14.554 9.67-26.565 15.261-38.175l-0.811 1.866c3.499-7.33 8.219-13.533 13.961-18.603l0.061-0.054c5.761-4.803 13.239-7.725 21.396-7.742h0.004c9.137 0.413 17.451 3.625 24.186 8.794l-0.102-0.075c3.749 1.766 6.825 4.431 9.034 7.725l0.050 0.079c2.491 3.509 4.097 7.804 4.416 12.454l0.004 0.076c-0.236 6.278-1.958 12.103-4.823 17.201l0.098-0.19c-15.091 35.089-28.779 69.080-40.485 100.51-11.341 31.155-22.468 65.91-33.017 103.224l-0.031 0.092c-6.25 20.944-13.048 41.308-20.182 60.423-3.354 9.542-6.25 17.315-8.628 23.169-1.832 4.865-3.791 8.974-6.046 12.89l0.224-0.421c-7.776 11.25-17.023 20.807-27.602 28.672l-0.322 0.228c-9.882 7.617-22.435 12.213-36.062 12.224h-0.003c-0.637 0.041-1.38 0.063-2.129 0.063-0.538 0-1.073-0.012-1.605-0.035l0.076 0.003c-13.424-0.029-26.138-3.050-37.516-8.429l0.537 0.228c-9.746-4.425-17.86-10.947-24.032-19.029l-0.11-0.151c-4.466-5.501-7.387-12.419-8.009-19.989l-0.009-0.132c-0.025-0.416-0.040-0.903-0.040-1.393 0-7.451 3.352-14.118 8.631-18.577l0.037-0.029c5.322-3.985 12.025-6.393 19.289-6.431h0.009c0.284-0.012 0.618-0.019 0.953-0.019 5.136 0 9.886 1.654 13.748 4.456l-0.067-0.047 5.701 3.996c2.189 1.656 4.674 3.134 7.317 4.323l0.243 0.098 1.248 0.639c1.733 0.884 3.774 1.411 5.938 1.433h0.007c2.53 0 10.212 0 17.225-14.695 6.525-15.136 12.018-32.91 15.611-51.363l0.272-1.681c-15.306-22.244-29.876-47.732-42.309-74.416l-1.377-3.291-13.657-31.644q-3.017-7.317-16.524-36.827c-9.141-21.635-17.788-39.124-27.286-56.074l1.465 2.845c-2.085-3.904-4.27-8.717-6.175-13.669l-0.316-0.937zM280.431 331.855l-0.004 0.012z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["axes-props"],"grid":0},"attrs":[],"properties":{"order":240,"id":14,"name":"axes-props","prevSize":32,"code":59769},"setIdx":0,"setId":31,"iconIdx":16},{"icon":{"paths":["M512 1024c-282.77 0-512-229.23-512-512s229.23-512 512-512c282.77 0 512 229.23 512 512v0c-0.335 282.636-229.365 511.667-511.968 512h-0.032zM512 96c-229.751 0-416 186.249-416 416s186.249 416 416 416c229.751 0 416-186.249 416-416v0c-0.275-229.641-186.36-415.727-415.974-416h-0.026zM512 432c-26.51 0-48 21.491-48 48v0 256.001c0 26.51 21.491 48 48 48s48-21.491 48-48v0-256.001c0-26.51-21.491-48-48-48v0zM512 224c-35.346 0-64.001 28.655-64.001 64.001s28.655 64.001 64.001 64.001c35.346 0 64.001-28.655 64.001-64.001v0c-0.048-35.327-28.673-63.953-63.996-64.001h-0.005z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["info-circle-outline"],"grid":0},"attrs":[],"properties":{"order":593,"id":15,"name":"info-circle-outline","prevSize":32,"code":59768},"setIdx":0,"setId":31,"iconIdx":17},{"icon":{"paths":["M1023.996 511.989c0 254.891-206.63 461.521-461.521 461.521-125.791 0-239.828-50.326-323.077-131.939l0.076 0.074c-10.886-10.507-17.646-25.229-17.646-41.529 0-31.861 25.829-57.691 57.691-57.691 15.889 0 30.278 6.424 40.711 16.815l-0.001-0.001c62.443 61.366 148.138 99.248 242.679 99.248 191.267 0 346.319-155.052 346.319-346.319s-155.052-346.319-346.319-346.319c-175.952 0-321.255 131.214-343.398 301.13l-0.185 1.744h54.701c0.001 0 0.001 0 0.003 0 23.893 0 43.264 19.37 43.264 43.264 0 11.949-4.843 22.766-12.675 30.596l-115.38 115.408c-7.827 7.831-18.644 12.676-30.592 12.676s-22.764-4.845-30.592-12.676l-115.38-115.408c-7.831-7.83-12.675-18.647-12.675-30.596 0-23.893 19.37-43.264 43.264-43.264 0.001 0 0.001 0 0.003 0h59.877c22.798-235.581 219.774-418.259 459.416-418.259 254.846 0 461.441 206.593 461.441 461.441 0 0.030 0 0.061 0 0.091v-0.005zM531.883 542.585l115.38 115.38c7.827 7.814 18.633 12.648 30.567 12.648 23.895 0 43.264-19.37 43.264-43.264 0-11.936-4.834-22.743-12.649-30.57v0l-102.704-102.704v-212.846c0-23.896-19.372-43.268-43.268-43.268s-43.268 19.372-43.268 43.268v0 230.761c0 0.001 0 0.004 0 0.007 0 11.947 4.845 22.761 12.676 30.589v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["update-time"],"grid":0},"attrs":[],"properties":{"order":494,"id":16,"name":"update-time","prevSize":32,"code":59767},"setIdx":0,"setId":31,"iconIdx":18},{"icon":{"paths":["M1023.964 511.957c0 31.373-25.433 56.807-56.807 56.807v0h-910.387c-31.373 0-56.807-25.433-56.807-56.807s25.433-56.807 56.807-56.807v0h910.387c31.373 0 56.807 25.433 56.807 56.807v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["minus"],"grid":0},"attrs":[],"properties":{"order":591,"id":17,"name":"minus","prevSize":32,"code":59766},"setIdx":0,"setId":31,"iconIdx":19},{"icon":{"paths":["M215.991 50.239c-6.586-4.076-14.574-6.493-23.127-6.493-24.54 0-44.436 19.893-44.436 44.436 0 16.115 8.579 30.227 21.42 38.019l0.196 0.111 90.884 54.887-202.461 350.7c-8.732 14.87-13.888 32.753-13.888 51.839 0 38.174 20.629 71.53 51.352 89.525l0.488 0.264 425.049 245.405c14.87 8.732 32.753 13.89 51.84 13.89 38.177 0 71.533-20.631 89.528-51.355l0.264-0.488 221.29-383.289c4.242-7.225 6.747-15.909 6.747-25.18 0-18.543-10.019-34.741-24.94-43.484l-0.238-0.13-522.17-301.477zM143.637 562.128l193.828-335.744 424.095 244.857zM1015.839 837.74c0.314 2.816 0.494 6.079 0.494 9.385 0 49.353-40.009 89.363-89.363 89.363s-89.363-40.009-89.363-89.363c0-3.307 0.18-6.569 0.53-9.782l-0.034 0.397c0-78.992 88.869-197.487 88.869-197.487s88.869 118.49 88.869 197.483z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["color-scale-on"],"grid":0},"attrs":[],"properties":{"order":522,"id":18,"name":"color-scale-on","prevSize":32,"code":59763},"setIdx":0,"setId":31,"iconIdx":20},{"icon":{"paths":["M57.44 157.954c-0.308-0.007-0.671-0.010-1.034-0.010-28.983 0-52.478 23.495-52.478 52.478 0 28.62 22.91 51.888 51.391 52.468l0.054 0.002 125.368 2.47 0.012 478.251c0 67.626 54.821 122.449 122.449 122.449v0h579.651c67.626 0 122.449-54.821 122.449-122.449v0-522.709c0-32.848-26.627-59.476-59.476-59.476v0h-712.093zM285.704 479.821l-0.005-213.437h614.65v213.434z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["color-scale-off"],"grid":0},"attrs":[],"properties":{"order":523,"id":19,"name":"color-scale-off","prevSize":32,"code":59764},"setIdx":0,"setId":31,"iconIdx":21},{"icon":{"paths":["M512 0c-282.769 0-512 229.231-512 512s229.231 512 512 512c282.769 0 512-229.231 512-512v0c-0.327-282.639-229.362-511.673-511.969-512h-0.031zM512 99.097c0.169 0 0.367 0 0.565 0 227.727 0 412.337 184.609 412.337 412.337 0 83.743-24.965 161.656-67.858 226.701l0.958-1.547c-79.076-106.662-204.554-175.040-346.002-175.040-141.451 0-266.931 68.38-345.186 173.887l-0.819 1.157c-41.935-63.499-66.9-141.412-66.9-225.155 0-227.729 184.611-412.341 412.341-412.341 0.198 0 0.395 0 0.593 0h-0.031zM236.186 818.391c23.633-73.514 147.951-157.746 275.814-157.746 127.835 0 252.178 84.232 275.814 157.746-72.571 66.060-169.469 106.512-275.814 106.512s-203.243-40.452-276.145-106.808l0.33 0.296zM512 545.032c91.215 0 165.162-73.945 165.162-165.162s-73.945-165.162-165.162-165.162c-91.215 0-165.162 73.945-165.162 165.162v0c0.099 91.177 73.985 165.063 165.151 165.162h0.009zM512 313.807c36.486 0 66.065 29.579 66.065 66.065s-29.579 66.065-66.065 66.065c-36.486 0-66.065-29.579-66.065-66.065v0c0.050-36.466 29.597-66.015 66.060-66.065h0.005z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["avatar"],"grid":0},"attrs":[],"properties":{"order":524,"id":20,"name":"avatar","prevSize":32,"code":59762},"setIdx":0,"setId":31,"iconIdx":22},{"icon":{"paths":["M264.802 105.889c-29.255 0-52.971 23.716-52.971 52.971s23.716 52.971 52.971 52.971c29.255 0 52.971-23.716 52.971-52.971v0c0-29.255-23.716-52.971-52.971-52.971v0zM105.889 158.86c0.028-87.745 71.165-158.865 158.913-158.865 87.765 0 158.913 71.149 158.913 158.913 0 68.778-43.693 127.351-104.836 149.475l-1.106 0.349v273.876c43.577-33.054 98.717-52.95 158.505-52.95 0.144 0 0.288 0 0.43 0h-0.022c123.764 0 224.649-97.947 229.373-220.554l0.013-0.43c-62.167-22.519-105.783-81.051-105.783-149.769 0-87.765 71.149-158.913 158.913-158.913s158.913 71.149 158.913 158.913c0 68.818-43.744 127.419-104.944 149.514l-1.107 0.349c-4.837 181.522-153.138 326.829-335.378 326.83v0c-0.012 0-0.026 0-0.041 0-61.496 0-114.833 34.931-141.251 86.035l-0.417 0.887c52.981 26.509 88.72 80.364 88.72 142.565 0 87.762-71.144 158.905-158.905 158.905s-158.905-71.144-158.905-158.905c0-68.776 43.693-127.348 104.836-149.47l1.106-0.349v-406.535c-62.251-22.498-105.941-81.082-105.942-149.874v0zM264.802 812.169c-29.255 0-52.971 23.716-52.971 52.971s23.716 52.971 52.971 52.971c29.255 0 52.971-23.716 52.971-52.971v0c0-29.255-23.716-52.971-52.971-52.971v0zM706.227 158.86c0-29.255 23.716-52.971 52.971-52.971s52.971 23.716 52.971 52.971c0 29.255-23.716 52.971-52.971 52.971v0c-29.255 0-52.971-23.716-52.971-52.971v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["Branch_ic-01"],"grid":0},"attrs":[],"properties":{"order":525,"id":21,"name":"branch","prevSize":32,"code":59765},"setIdx":0,"setId":31,"iconIdx":23},{"icon":{"paths":["M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512c282.77 0 512-229.23 512-512v0c0-282.77-229.23-512-512-512v0zM499.2 806.401c-28.277 0-51.2-22.923-51.2-51.2s22.923-51.2 51.2-51.2c28.232 0 51.128 22.85 51.2 51.065v0.008c0 0.024 0 0.051 0 0.080 0 28.287-22.917 51.221-51.198 51.249h-0.003zM597.001 507.188c-37.526 18.093-62.96 55.839-62.96 99.525 0 4.263 0.242 8.471 0.714 12.608l-0.047-0.506c0 19.436-15.756 35.192-35.193 35.192-0.002 0-0.002 0-0.003 0h-3.84c-19.431 0-35.184-15.753-35.184-35.184 0-0.002 0-0.005 0-0.006v0c0.516-102.005 29.063-124.278 77.336-155.618 32.099-18.111 53.721-51.483 55.016-90.006l0.005-0.177c-0.431-44.127-36.303-79.733-80.49-79.733-33.929 0-62.955 20.993-74.799 50.697l-0.191 0.543c-5.328 17.853-20.852 30.947-39.659 32.604l-0.173 0.012c-0.782 0.059-1.694 0.093-2.613 0.093-20.436 0-37.004-16.568-37.004-37.004 0-2.84 0.32-5.604 0.926-8.259l-0.048 0.249c18.845-63.215 76.452-108.516 144.639-108.516 3.335 0 6.644 0.108 9.924 0.321l-0.447-0.024c3.782-0.347 8.178-0.545 12.621-0.545 80.921 0 146.52 65.6 146.52 146.52 0 1.361-0.018 2.717-0.056 4.068l0.005-0.2c0.033 1.163 0.051 2.529 0.051 3.902 0 55.109-29.888 103.238-74.339 129.060l-0.713 0.383z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["question_ic-01"],"grid":0},"attrs":[],"properties":{"order":526,"id":22,"name":"circle-question","prevSize":32,"code":59756},"setIdx":0,"setId":31,"iconIdx":24},{"icon":{"paths":["M468.114 160.914v-117.028c0-24.237 19.648-43.886 43.886-43.886s43.886 19.648 43.886 43.886v117.028h87.771v-117.028c0-24.237 19.648-43.886 43.886-43.886s43.886 19.648 43.886 43.886v122.559l1.227 0.278c60.688 16.144 108.477 63.933 124.9 125.849h122.558c24.237 0 43.886 19.648 43.886 43.886s-19.648 43.886-43.886 43.886h-117.028v87.771h117.028c24.237 0 43.886 19.648 43.886 43.886s-19.648 43.886-43.886 43.886h-117.028v87.771h117.028c24.237 0 43.886 19.648 43.886 43.886s-19.648 43.886-43.886 43.886h-119.539l-85.262-85.262v-309.71c0-48.474-39.297-87.771-87.771-87.771h-309.71l-85.262-85.262v-119.538c0-24.237 19.648-43.886 43.886-43.886s43.886 19.648 43.886 43.886v117.028zM185.219 247.281l0.44-0.793c-8.289 13.827-14.718 28.897-19.215 46.083h-122.559c-24.237 0-43.886 19.648-43.886 43.886s19.648 43.886 43.886 43.886h117.028v87.771h-117.028c-24.237 0-43.886 19.648-43.886 43.886s19.648 43.886 43.886 43.886h117.028v87.771h-117.028c-24.237 0-43.886 19.648-43.886 43.886s19.648 43.886 43.886 43.886h122.559l0.278 1.227c16.144 60.688 63.933 108.477 125.849 124.9v122.558c0 24.237 19.648 43.886 43.886 43.886s43.886-19.648 43.886-43.886v-117.028h87.771v117.028c0 24.237 19.648 43.886 43.886 43.886s43.886-19.648 43.886-43.886v-117.028h87.771v117.028c0 24.237 19.648 43.886 43.886 43.886s43.886-19.648 43.886-43.886v-122.558l1.218-0.274c15.968-4.224 31.037-10.655 44.072-18.503l172.36 172.357c7.915 7.753 18.753 12.532 30.708 12.532 24.237 0 43.886-19.648 43.886-43.886 0-11.955-4.779-22.792-12.525-30.699l-936.229-936.229c-7.941-7.931-18.905-12.837-31.015-12.837-24.237 0-43.886 19.648-43.886 43.886 0 12.11 4.906 23.074 12.837 31.015l172.365 172.364zM710.276 772.342c-6.801 1.887-14.611 2.972-22.674 2.972-0.021 0-0.041 0-0.063 0h-351.083c-48.474 0-87.771-39.297-87.771-87.771v0-351.086c0-0.021 0-0.044 0-0.069 0-8.060 1.085-15.867 3.117-23.283l-0.144 0.617 84.798 84.801v230.505c0 32.316 26.198 58.515 58.515 58.515v0h230.505zM687.543 394.972v163.425l-221.938-221.938h163.425c32.316 0 58.515 26.198 58.515 58.515v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["Hide system metrics-01-01"],"grid":0},"attrs":[],"properties":{"order":527,"id":23,"name":"hide-system-metrics","prevSize":32,"code":59754},"setIdx":0,"setId":31,"iconIdx":25},{"icon":{"paths":["M380.343 43.886c0-24.237-19.648-43.886-43.886-43.886s-43.886 19.648-43.886 43.886v0 122.559c-61.916 16.423-109.703 64.212-125.849 124.899l-0.278 1.227h-122.559c-24.237 0-43.886 19.648-43.886 43.886s19.648 43.886 43.886 43.886v0h117.028v87.771h-117.028c-24.237 0-43.886 19.648-43.886 43.886s19.648 43.886 43.886 43.886v0h117.028v87.771h-117.028c-24.237 0-43.886 19.648-43.886 43.886s19.648 43.886 43.886 43.886v0h122.559c16.423 61.916 64.21 109.705 124.899 125.849l1.227 0.278v122.558c0 24.237 19.648 43.886 43.886 43.886s43.886-19.648 43.886-43.886v0-117.028h87.771v117.028c0 24.237 19.648 43.886 43.886 43.886s43.886-19.648 43.886-43.886v0-117.028h87.771v117.028c0 24.237 19.648 43.886 43.886 43.886s43.886-19.648 43.886-43.886v0-122.558c61.917-16.423 109.705-64.21 125.849-124.9l0.278-1.227h122.558c24.237 0 43.886-19.648 43.886-43.886s-19.648-43.886-43.886-43.886v0h-117.028v-87.771h117.028c24.237 0 43.886-19.648 43.886-43.886s-19.648-43.886-43.886-43.886v0h-117.028v-87.771h117.028c24.237 0 43.886-19.648 43.886-43.886s-19.648-43.886-43.886-43.886v0h-122.558c-16.423-61.916-64.212-109.705-124.9-125.849l-1.227-0.278v-122.559c0-24.237-19.648-43.886-43.886-43.886s-43.886 19.648-43.886 43.886v0 117.028h-87.771v-117.028c0-24.237-19.648-43.886-43.886-43.886s-43.886 19.648-43.886 43.886v0 117.028h-87.771zM248.686 336.457c0-48.475 39.297-87.771 87.771-87.771v0h351.086c48.475 0 87.771 39.297 87.771 87.771v0 351.086c0 48.475-39.297 87.771-87.771 87.771v0h-351.086c-48.475 0-87.771-39.297-87.771-87.771v0zM394.972 336.457c-32.316 0-58.515 26.198-58.515 58.515v0 234.058c0 32.316 26.198 58.515 58.515 58.515v0h234.058c32.316 0 58.515-26.198 58.515-58.515v0-234.058c0-32.316-26.198-58.515-58.515-58.515v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["Show system metrics-01"],"grid":0},"attrs":[],"properties":{"order":528,"id":24,"name":"show-system-metrics","prevSize":32,"code":59755},"setIdx":0,"setId":31,"iconIdx":26},{"icon":{"paths":["M972.952 52.048c-31.501-31.498-75.001-50.996-123.054-51.050h-522.349c-0.154 0-0.336-0.002-0.517-0.002-88.525 0-161.485 66.645-171.443 152.499l-0.076 0.803c-87.683 8.967-155.511 82.426-155.511 171.726 0 0.186 0 0.373 0.002 0.559v-0.029 522.373c0.673 95.854 78.234 173.369 174.042 173.969l522.406 0.104c0.159 0 0.345 0.002 0.532 0.002 88.522 0 161.478-66.646 171.428-152.499l0.076-0.803c87.683-8.958 155.514-82.412 155.514-171.711 0-0.192 0-0.384-0.002-0.576v0.030-522.335c-0.057-48.062-19.554-91.559-51.047-123.061v0zM760.27 848.892c-0.041 35.232-28.59 63.782-63.817 63.826l-522.354-0.112c-35.203-0.024-63.738-28.534-63.805-63.723v-522.325c0.036-35.232 28.585-63.784 63.814-63.823h522.343c35.232 0.039 63.782 28.59 63.821 63.818v0.005zM913.705 697.445c-0.018 17.619-7.163 33.564-18.71 45.113v0c-6.72 6.462-14.896 11.461-23.986 14.452l-0.446 0.127v-430.582c-0.106-96.116-77.995-174.005-174.102-174.111h-428.204c9.027-24.22 31.958-41.158 58.845-41.158 0.157 0 0.313 0 0.469 0.002h522.311c35.232 0.038 63.782 28.59 63.818 63.818v0.003zM608.258 496.856c-9.769-9.781-16.124-22.974-17.122-37.64l-0.011-0.181c-0.014-0.469-0.023-1.020-0.023-1.574 0-7.567 1.489-14.786 4.189-21.381l-0.136 0.376c2.911-7.136 7.027-13.222 12.15-18.291l0.005-0.005c5.115-5.13 11.228-9.263 18.024-12.083l0.367-0.135c5.487-2.601 11.922-4.121 18.71-4.121 0.996 0 1.983 0.033 2.963 0.097l-0.133-0.008c23.166 0.051 43.025 14.157 51.507 34.24l0.138 0.367c2.709 6.335 4.282 13.705 4.282 21.445s-1.575 15.11-4.42 21.81l0.138-0.366c-5.809 13.775-16.535 24.521-29.926 30.218l-0.367 0.139c-6.299 2.689-13.628 4.252-21.321 4.252-0.054 0-0.109 0-0.163 0h0.009c-15.221-0.803-28.81-7.204-38.867-17.164l0.005 0.005zM736.867 764.15c-0.615 22.055-18.372 39.766-40.386 40.307l-0.051 0.002c-11.053-0.132-21.104-4.311-28.764-11.124l0.045 0.039-103.353-103.415-22.359 21.287 33.254 36.529c7.52 7.541 12.301 17.817 12.72 29.208l0.003 0.079c0.002 0.144 0.003 0.313 0.003 0.482 0 22.725-18.421 41.146-41.146 41.146-10.743 0-20.523-4.116-27.851-10.858l0.029 0.027-3.526-3.842-87.734-96.173v0.503l-65.12-71.799-65.061 71.799v-0.503l-91.258 100.016c-7.299 6.731-17.090 10.859-27.843 10.859-22.713 0-41.127-18.412-41.127-41.127 0-10.377 3.844-19.857 10.185-27.093l-0.041 0.047 166.020-182.426c12.127-13.324 29.515-21.679 48.855-21.761h0.015l3.842-0.030 0.314 0.189c17.998 1.019 33.924 9.127 45.172 21.549l0.050 0.056 74.824 82.346 32.435-30.924c11.826-11.31 27.894-18.27 45.587-18.27 18.294 0 34.849 7.441 46.804 19.464l0.003 0.003 112.108 112.297c8.209 7.851 13.321 18.882 13.352 31.108v0.006z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["z-axis icon-01"],"grid":0},"attrs":[],"properties":{"order":529,"id":25,"name":"images-stacking","prevSize":32,"code":59753},"setIdx":0,"setId":31,"iconIdx":27},{"icon":{"paths":["M998.547 412.341c-11.015-20.783-26.644-37.801-45.599-50.137l-0.516-0.316c-17.213-11.111-37.343-19.494-58.909-23.948l-1.144-0.197c-18.080-4.177-38.888-6.65-60.247-6.809h-0.113c-0.378-0.001-0.824-0.003-1.272-0.003-28.836 0-56.612 4.53-82.66 12.917l1.908-0.531c-26.766 8.32-49.844 21.698-69.184 39.142l0.162-0.144c-20.242 18.734-35.782 42.256-44.845 68.78l-0.349 1.178 86.977 19.809c8.276-18.559 20.852-33.918 36.512-45.283l0.321-0.223c18.733-13.094 41.987-20.924 67.069-20.924 2.32 0 4.627 0.068 6.913 0.199l-0.317-0.014c2.094-0.169 4.532-0.265 6.994-0.265 23.188 0 44.379 8.541 60.602 22.647l-0.113-0.096c14.278 14.975 23.062 35.296 23.062 57.669 0 1.817-0.058 3.621-0.172 5.41l0.013-0.244v2.168c0.051 0.611 0.080 1.323 0.080 2.043 0 9.252-4.8 17.383-12.048 22.037l-0.104 0.062c-11.242 5.857-24.401 9.738-38.346 10.813l-0.348 0.021q-26.616 3.094-69.333 8.046c-25.732 3.085-48.232 7.214-70.244 12.59l4.004-0.827c-22.247 5.209-41.865 13.090-59.863 23.468l1.055-0.561c-17.391 10.040-31.514 23.963-41.502 40.647l-0.289 0.52c-9.805 17.672-15.575 38.755-15.575 61.184 0 1.778 0.037 3.548 0.108 5.309l-0.008-0.252c-0.049 1.385-0.076 3.012-0.076 4.647 0 27.503 7.864 53.169 21.467 74.873l-0.345-0.59c14.354 21.386 33.971 38.218 57.032 48.859l0.854 0.354c23.193 10.577 50.303 16.741 78.853 16.741 1.007 0 2.012-0.007 3.015-0.023l-0.152 0.001c1.293 0.034 2.816 0.052 4.344 0.052 22.686 0 44.385-4.22 64.357-11.918l-1.224 0.414c17.849-6.973 33.163-16.718 46.205-28.87l-0.086 0.079c10.706-9.986 19.692-21.639 26.585-34.576l0.345-0.71h3.712v65.008h90.382v-315.722c0.096-2.156 0.151-4.683 0.151-7.225 0-28.154-6.687-54.746-18.559-78.273l0.456 0.996zM923.947 641.086c0 0.066 0 0.144 0 0.223 0 19.458-5.409 37.654-14.805 53.165l0.258-0.458c-10.148 16.829-24.318 30.304-41.216 39.339l-0.571 0.279c-17.914 9.59-39.189 15.223-61.777 15.223-1.35 0-2.695-0.020-4.035-0.061l0.196 0.004c-1.374 0.061-2.987 0.094-4.607 0.094-22.293 0-43.069-6.495-60.538-17.696l0.448 0.269c-15.477-10.843-25.472-28.595-25.472-48.682 0-1.168 0.034-2.328 0.1-3.477l-0.007 0.159c-0.046-0.875-0.075-1.899-0.075-2.929 0-13.965 4.933-26.779 13.151-36.793l-0.080 0.101c9.42-10.367 21.286-18.342 34.694-23.033l0.592-0.18c14.234-5.209 30.877-9.231 48.11-11.343l1.11-0.111q11.453-1.547 28.475-3.714 17.022-2.475 34.973-5.261c12.731-2.13 23.482-4.604 33.997-7.64l-2.113 0.523c7.371-1.747 13.816-4.971 19.284-9.359l-0.094 0.073z","M220.772 178.644l-228.125 633.92h101.531l58.058-167.765h247.68l57.958 167.765h101.525l-228.125-633.92zM180.087 564.32l93.619-270.527h4.949l93.462 270.527z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Aa-01"],"grid":0},"attrs":[],"properties":{"order":530,"id":26,"name":"case-sensitive","prevSize":32,"code":59750},"setIdx":0,"setId":31,"iconIdx":28},{"icon":{"paths":["M167.915 821.465c-0.793 0.013-1.729 0.021-2.667 0.021-24.453 0-47.709-5.123-68.754-14.353l1.101 0.431c-20.376-9.208-37.073-23.5-48.935-41.293l-0.263-0.419c-11.291-18.144-17.984-40.165-17.984-63.751 0-1.464 0.025-2.922 0.078-4.375l-0.006 0.21c-0.052-1.297-0.082-2.819-0.082-4.348 0-19.409 4.777-37.703 13.22-53.768l-0.304 0.634c8.524-15.062 20.369-27.336 34.598-36.119l0.428-0.246c14.389-8.863 31.059-15.939 48.786-20.334l1.213-0.254c16.328-4.399 36.047-8.071 56.207-10.272l1.816-0.161q36.096-3.741 58.556-6.68c12.095-1.117 23.166-4.549 33.086-9.853l-0.466 0.227c6.339-4.107 10.474-11.144 10.474-19.148 0-0.507-0.017-1.009-0.049-1.508l0.004 0.068v-1.608c0.071-1.097 0.112-2.38 0.112-3.672 0-16.869-6.895-32.129-18.020-43.112l-0.006-0.006c-12.569-10.422-28.865-16.745-46.636-16.745-1.748 0-3.481 0.061-5.198 0.182l0.232-0.013c-1.478-0.085-3.208-0.133-4.948-0.133-19.19 0-37.016 5.845-51.793 15.851l0.326-0.208c-12.627 9.051-22.269 21.539-27.635 36.096l-0.172 0.534-90.374-12.836c6.702-24.484 18.944-45.56 35.339-62.613l-0.045 0.048c16.386-16.751 36.534-29.75 59.084-37.638l1.077-0.328c22.595-8.144 48.669-12.853 75.844-12.853 0.971 0 1.941 0.006 2.911 0.018l-0.147-0.001c20.973 0.014 41.346 2.55 60.844 7.32l-1.753-0.363c20.387 4.807 38.346 12.74 54.356 23.375l-0.613-0.383c16.447 10.88 29.664 25.382 38.735 42.426l0.302 0.624c9.494 18.408 15.061 40.173 15.061 63.239 0 1.738-0.031 3.469-0.095 5.191l0.007-0.25v274.866h-93.047v-56.417h-3.208c-6.661 12.435-14.959 23.036-24.775 32.005l-0.092 0.082c-11.187 10.115-24.435 18.198-39.008 23.527l-0.832 0.265c-15.671 5.613-33.75 8.859-52.587 8.859-1.159 0-2.314-0.013-3.467-0.037l0.172 0.003zM193.048 750.346c0.784 0.021 1.705 0.032 2.632 0.032 17.488 0 33.978-4.264 48.491-11.808l-0.584 0.277c13.69-7.35 24.823-17.881 32.678-30.647l0.21-0.368c7.386-11.797 11.767-26.129 11.767-41.485 0-0.174 0-0.346-0.001-0.52v0.027-48.4c-4.423 3.12-9.607 5.519-15.196 6.887l-0.312 0.065c-6.363 1.982-14.468 3.93-22.732 5.416l-1.331 0.199q-13.372 2.41-26.471 4.283t-22.728 3.205c-14.447 1.851-27.538 5.226-39.925 10.018l1.155-0.392c-10.79 3.987-19.88 10.41-26.932 18.634l-0.072 0.086c-6.182 8.413-9.894 18.976-9.894 30.405 0 16.336 7.581 30.901 19.416 40.369l0.103 0.079c13.050 8.593 29.054 13.708 46.252 13.708 1.223 0 2.44-0.025 3.649-0.078l-0.172 0.006zM486.364 813.176v-547.594h96.792v204.813h4.012c6.335-12.096 13.347-22.525 21.347-32.098l-0.229 0.282c10.026-12.061 22.31-21.867 36.253-28.854l0.648-0.294c15.967-7.818 34.746-12.39 54.593-12.39 1.677 0 3.347 0.032 5.008 0.097l-0.239-0.007c0.594-0.008 1.295-0.013 1.998-0.013 31.104 0 60.088 9.075 84.449 24.721l-0.623-0.374c26.677 17.456 47.591 41.72 60.545 70.355l0.419 1.035c14.435 31.605 22.849 68.554 22.849 107.466 0 2.828-0.044 5.644-0.133 8.451l0.010-0.409c0.069 2.279 0.109 4.961 0.109 7.65 0 38.811-8.207 75.703-22.979 109.039l0.68-1.72c-13.333 29.809-34.033 54.288-59.838 71.814l-0.59 0.378c-23.822 15.604-53.006 24.888-84.359 24.888-0.799 0-1.597-0.006-2.393-0.018l0.12 0.001c-1.343 0.049-2.918 0.079-4.501 0.079-19.608 0-38.195-4.367-54.844-12.182l0.791 0.333c-14.671-7.177-27.1-16.698-37.33-28.218l-0.107-0.123c-7.933-9.315-15.113-19.736-21.175-30.856l-0.479-0.96h-5.615v64.705zM581.282 607.828c-0.024 1.153-0.038 2.512-0.038 3.874 0 23.624 4.128 46.283 11.701 67.297l-0.435-1.384c6.8 18.832 18.13 34.638 32.706 46.645l0.182 0.147c14.692 10.371 32.969 16.577 52.697 16.577 20.054 0 38.61-6.414 53.729-17.3l-0.272 0.186c14.763-12.281 26.027-28.288 32.393-46.587l0.224-0.74c7.121-20.502 11.233-44.132 11.233-68.722 0-24.289-4.012-47.641-11.411-69.429l0.448 1.52c-6.546-18.8-17.825-34.56-32.431-46.369l-0.193-0.151c-14.99-10.542-33.624-16.848-53.73-16.848-19.775 0-38.123 6.099-53.27 16.519l0.318-0.206c-14.863 11.671-26.226 27.169-32.668 45.020l-0.22 0.699c-6.974 19.403-11.006 41.792-11.006 65.123 0 1.451 0.016 2.9 0.047 4.344l-0.004-0.215zM30.118 150.588h963.766c16.633 0 30.117 13.484 30.117 30.117v0 0c0 16.633-13.484 30.117-30.117 30.117v0h-963.766c-16.633 0-30.117-13.484-30.117-30.117v0 0c0-16.633 13.484-30.117 30.117-30.117v0zM1024.001 301.177v481.882c0 16.633-13.484 30.117-30.117 30.117v0 0c-16.633 0-30.117-13.484-30.117-30.117v0-481.882c0-16.633 13.484-30.117 30.117-30.117v0 0c16.633 0 30.117 13.484 30.117 30.117v0zM30.118 873.412h963.766c16.633 0 30.117 13.484 30.117 30.117v0 0c0 16.633-13.484 30.117-30.117 30.117v0h-963.766c-16.633 0-30.117-13.484-30.117-30.117v0 0c0-16.633 13.484-30.117 30.117-30.117v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Match Whole Word_ic-01"],"grid":0},"attrs":[],"properties":{"order":531,"id":27,"name":"word-match","prevSize":32,"code":59751},"setIdx":0,"setId":31,"iconIdx":29},{"icon":{"paths":["M36.571 804.573h146.285c21.943 0 36.571 14.628 36.571 36.571v146.285c0 21.943-14.628 36.571-36.571 36.571h-146.285c-21.943 0-36.571-14.628-36.571-36.571v-146.285c0-21.943 14.628-36.571 36.571-36.571zM746.057 131.656c0-29.258-21.943-58.514-58.514-58.514s-58.514 21.943-58.514 58.514v138.972l-102.4-102.4c-21.943-21.943-58.514-21.943-80.457 0s-21.943 58.514 0 80.457l102.4 102.4h-138.972c-29.258 0-58.514 21.943-58.514 58.514s21.943 58.514 58.514 58.514h138.972l-102.4 102.4c-21.943 21.943-21.943 58.514 0 80.457s58.514 21.943 80.457 0l102.4-102.4v138.972c0 29.258 21.943 58.514 58.514 58.514s58.514-21.943 58.514-58.514v-138.972l102.4 102.4c21.943 21.943 58.514 21.943 80.457 0s21.943-58.514 0-80.457l-102.4-102.4h138.972c29.258 0 58.514-21.943 58.514-58.514s-21.943-58.514-58.514-58.514h-138.972l102.4-102.4c21.943-21.943 21.943-58.514 0-80.457s-58.514-21.943-80.457 0l-102.4 102.4v-138.972z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Use Regular Expression_ic"],"grid":0},"attrs":[],"properties":{"order":532,"id":28,"name":"regex","prevSize":32,"code":59752},"setIdx":0,"setId":31,"iconIdx":30},{"icon":{"paths":["M908.386 132.131v0c9.122 0 16.517 7.395 16.517 16.517v66.065c0 9.122-7.395 16.517-16.517 16.517h-792.772c-9.122 0-16.517-7.395-16.517-16.517v-66.065c0-9.122 7.395-16.517 16.517-16.517zM0.001 214.71v-0.002c0 0.008 0 0.015 0 0.025 0 45.849 26.686 85.466 66.065 104.465v556.156c0 63.851 51.761 115.613 115.613 115.613h660.644c63.851 0 115.613-51.761 115.613-115.613v-556.156l0.691-0.3c38.688-18.698 65.374-58.317 65.374-104.166 0-0.006 0-0.014 0-0.020v-66.065c0-63.851-51.761-115.613-115.613-115.613h-792.772c-63.851 0-115.613 51.761-115.613 115.613zM165.162 330.324h693.676v545.031c0 9.122-7.395 16.517-16.517 16.517v0h-660.644c-9.122 0-16.517-7.395-16.517-16.517v0zM344.835 646.13l0.008 0.008c-8.781-8.94-14.197-21.196-14.197-34.718 0-27.365 22.184-49.548 49.548-49.548 13.522 0 25.779 5.416 34.712 14.191l47.546 47.54v-144.634c0-27.365 22.184-49.548 49.548-49.548s49.548 22.184 49.548 49.548v144.634l47.538-47.532c8.936-8.753 21.173-14.149 34.67-14.149 27.365 0 49.548 22.184 49.548 49.548 0 13.497-5.396 25.733-14.141 34.661l-132.128 132.128c-8.965 8.967-21.352 14.513-35.034 14.513s-26.069-5.546-35.034-14.513z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Archive_ic-01"],"grid":0},"attrs":[],"properties":{"order":533,"id":29,"name":"archive","prevSize":32,"code":59727},"setIdx":0,"setId":31,"iconIdx":31},{"icon":{"paths":["M420.030 381.54l110.147 110.147c7.41 7.463 11.99 17.746 11.99 29.098 0 22.809-18.49 41.301-41.301 41.301-11.353 0-21.634-4.58-29.1-11.993l-39.635-39.624v120.572c0 22.812-18.493 41.305-41.305 41.305s-41.305-18.493-41.305-41.305v0-120.572l-39.635 39.627c-7.444 7.291-17.644 11.79-28.895 11.79-22.812 0-41.305-18.493-41.305-41.305 0-11.251 4.499-21.45 11.794-28.899l-0.007 0.008 110.151-110.147c7.474-7.475 17.799-12.099 29.203-12.099s21.73 4.624 29.203 12.099v0zM949.363 832.079l-49.802 23.609c-12.020 5.87-26.157 9.305-41.094 9.305-0.034 0-0.070 0-0.105 0h0.005c-0.023 0-0.046 0-0.073 0-38.171 0-71.165-22.172-86.803-54.34l-0.252-0.574-10.586-22.256c-9.217 44.387-47.996 77.267-94.457 77.276h-550.737c-53.229 0-96.38-43.15-96.38-96.38v0-468.127c0-53.229 43.15-96.38 96.38-96.38v0h368.622c-3.743-9.827-5.912-21.191-5.912-33.063 0-37.967 22.178-70.755 54.284-86.116l0.575-0.248 49.64-23.638c12.105-5.87 26.328-9.303 41.354-9.303 38.199 0 71.22 22.182 86.881 54.365l0.252 0.574 283.868 596.801c5.863 12.099 9.289 26.315 9.289 41.333 0 38.209-22.186 71.237-54.378 86.903l-0.574 0.252zM679.963 618.207l-157.628-331.377h-406.878c-7.603 0-13.769 6.165-13.769 13.769v0 468.127c0 7.603 6.165 13.769 13.769 13.769v0h550.736c0.001 0 0.003 0 0.004 0 7.602 0 13.765-6.163 13.765-13.765 0-0.001 0-0.003 0-0.004v0zM920.372 739.089l-283.865-596.801c-2.248-4.695-6.96-7.879-12.417-7.879-2.154 0-4.192 0.495-6.005 1.38l0.081-0.036-49.695 23.663c-4.697 2.221-7.887 6.92-7.887 12.365 0 2.175 0.509 4.23 1.414 6.054l-0.036-0.079 283.865 596.828c1.576 3.286 4.331 5.796 7.703 7.015l0.095 0.029c1.363 0.482 2.935 0.762 4.573 0.762 2.146 0 4.18-0.48 6.001-1.337l-0.030-0.019 49.749-23.609c4.666-2.244 7.83-6.934 7.83-12.362 0-2.175-0.507-4.232-1.412-6.058l0.036 0.079z"],"width":1008,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Unarchive_ic-01"],"grid":0},"attrs":[],"properties":{"order":534,"id":30,"name":"unarchive","prevSize":32,"code":59749},"setIdx":0,"setId":31,"iconIdx":32},{"icon":{"paths":["M831.999 1023.999h-640c-108.799 0-192-83.2-192-192v-640c0-108.799 83.2-192 192-192h640c108.799 0 192 83.2 192 192v640c0 108.799-83.2 192-192 192zM192.001 96.001c-51.199 0-96 44.8-96 96v640c0 51.199 44.8 96 96 96h640c51.199 0 96-44.8 96-96v-640c0-51.199-44.8-96-96-96h-640zM819.2 512c0 25.6-19.2 51.199-51.199 51.199h-511.999c-25.6 0-51.199-19.2-51.199-51.199s19.2-51.199 51.199-51.199h511.999c25.6 0 51.199 25.6 51.199 51.199z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Type=Outlined Box with -","State=Default"],"grid":0},"attrs":[],"properties":{"order":535,"id":31,"name":"partially-selected","prevSize":32,"code":59748},"setIdx":0,"setId":31,"iconIdx":33},{"icon":{"paths":["M117.756 36.965c0-0.051 0-0.112 0-0.173 0-28.4-23.022-51.422-51.42-51.422v0c-7.296 0.686-13.994 2.074-20.399 4.118l0.679-0.187c-18.772 7.942-31.703 26.205-31.703 47.49 0 0.060 0 0.122 0 0.182v-0.010 783.867c0.004 104.126 84.416 188.536 188.541 188.538h783.752c28.398 0 51.419-23.021 51.419-51.419s-23.021-51.419-51.419-51.419h-783.752c-0.001 0-0.003 0-0.004 0-47.329 0-85.696-38.368-85.696-85.696 0-0.001 0-0.003 0-0.003v0zM945.574 314.704l-672.914 438.853c-6.813 4.564-15.195 7.285-24.214 7.285-24.237 0-43.886-19.648-43.886-43.886 0-15.42 7.953-28.982 19.98-36.809l0.17-0.103 672.914-438.861c6.761-4.468 15.057-7.127 23.975-7.127 24.239 0 43.887 19.65 43.887 43.887 0 15.32-7.85 28.808-19.749 36.658l-0.165 0.101zM810.41 231.132c35.476-0.092 64.201-28.873 64.201-64.362 0-35.469-28.69-64.236-64.129-64.362h-0.012c-0.285-0.004-0.62-0.007-0.957-0.007-34.726 0-62.938 27.895-63.449 62.499v0.048c-0.005 0.605-0.005 1.212 0 1.82 2.414 34.528 29.822 61.943 64.129 64.353l0.219 0.012zM459.325 465.189c35.476-0.092 64.201-28.873 64.201-64.362 0-35.469-28.69-64.236-64.129-64.362h-0.012c-0.285-0.004-0.62-0.007-0.957-0.007-34.726 0-62.938 27.895-63.449 62.499v0.048c-0.008 0.602-0.008 1.211 0 1.82 2.412 34.528 29.822 61.943 64.129 64.353l0.219 0.012zM225.269 582.217c35.226-0.42 63.622-29.074 63.622-64.361 0-35.549-28.818-64.365-64.365-64.365-8.497 0-16.609 1.647-24.036 4.638l0.432-0.154c-23.362 9.471-39.616 31.819-40.002 58.010v0.048c-0.005 0.602-0.005 1.211 0.001 1.82 2.408 34.53 29.82 61.947 64.129 64.353l0.218 0.012zM488.571 863.086c0.008 0 0.016 0 0.026 0 35.545 0 64.36-28.815 64.36-64.36 0-35.535-28.8-64.345-64.332-64.36h-0.001c-0.288-0.004-0.627-0.007-0.967-0.007-34.72 0-62.928 27.893-63.433 62.495v0.048q-0.018 0.913 0 1.825c2.41 34.528 29.822 61.943 64.129 64.347l0.218 0.012zM664.126 699.245c35.229-0.417 63.627-29.073 63.627-64.361 0-35.549-28.818-64.365-64.365-64.365-8.497 0-16.609 1.647-24.036 4.638l0.432-0.154c-23.362 9.471-39.618 31.819-40.006 58.010v0.048c-0.005 0.602-0.005 1.211 0 1.82 2.412 34.528 29.822 61.943 64.129 64.353l0.219 0.012zM576.354 231.132c35.476-0.092 64.201-28.873 64.201-64.362 0-35.469-28.69-64.236-64.129-64.362h-0.012c-0.285-0.004-0.62-0.007-0.957-0.007-34.726 0-62.938 27.895-63.449 62.499v0.048c-0.005 0.605-0.005 1.212 0 1.82 2.414 34.528 29.822 61.943 64.129 64.353l0.219 0.012zM927.44 640.732c35.229-0.417 63.627-29.073 63.627-64.361 0-35.549-28.818-64.365-64.365-64.365-8.497 0-16.609 1.647-24.036 4.638l0.432-0.154c-23.362 9.471-39.618 31.819-40.006 58.010v0.048c-0.005 0.602-0.005 1.211 0 1.82 2.412 34.528 29.822 61.943 64.129 64.353l0.219 0.012z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Trendline_ic-01"],"grid":0},"attrs":[],"properties":{"order":536,"id":32,"name":"trendline","prevSize":32,"code":59743},"setIdx":0,"setId":31,"iconIdx":34},{"icon":{"paths":["M383.301 538.559c-56.692 0-102.674 45.978-102.674 102.67v256.829c0 56.692 45.981 102.67 102.674 102.67s102.675-45.978 102.675-102.67v-256.829c-0.042-56.692-46.024-102.67-102.675-102.67z","M24.017 641.224c0 56.734 46.022 102.758 102.756 102.758s102.755-46.024 102.755-102.758v-102.754h-102.674c-0.041 0-0.041 0-0.081 0-56.733 0-102.756 46.024-102.756 102.754z","M383.405 23.273c-0.040 0-0.081 0-0.122 0-56.733 0-102.754 46.022-102.754 102.755s46.021 102.755 102.754 102.755h102.675v-102.755c0-0.041 0-0.122 0-0.204-0.042-56.651-45.942-102.551-102.553-102.551z","M126.027 486.377h257.315c56.733 0 102.755-46.020 102.755-102.753s-46.022-102.755-102.755-102.755h-257.315c-56.733 0-102.755 46.022-102.755 102.755s46.022 102.753 102.755 102.753z","M897.098 280.83c-56.655 0-102.554 45.899-102.554 102.551v102.959h102.675c56.734 0 102.754-46.022 102.754-102.755s-46.019-102.755-102.754-102.755c-0.042 0-0.084 0-0.121 0z","M537.982 126.032v257.601c0 56.692 45.982 102.675 102.675 102.675s102.675-45.982 102.675-102.675v-257.601c0-56.692-45.982-102.674-102.675-102.674s-102.675 45.981-102.675 102.674z","M743.331 897.983c0-56.697-45.982-102.675-102.675-102.675h-102.675v102.754c0.042 56.65 45.982 102.591 102.675 102.591s102.675-45.978 102.675-102.67z","M897.955 538.47h-257.313c-56.734 0-102.758 46.024-102.758 102.754 0 56.734 46.024 102.758 102.758 102.758h257.313c56.734 0 102.754-46.024 102.754-102.758 0-56.73-46.019-102.754-102.754-102.754z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Slack"],"grid":0},"attrs":[],"properties":{"order":543,"id":33,"name":"slack","prevSize":32,"code":59744},"setIdx":0,"setId":31,"iconIdx":35},{"icon":{"paths":["M512-0c282.769 0 512 229.231 512 512s-229.231 512-512 512c-282.769 0-512-229.231-512-512s229.231-512 512-512z","M343.716 500.070c-14.444-17.022-39.952-19.113-56.972-4.67-17.022 14.444-19.113 39.952-4.67 56.975l61.642-52.304zM445.636 682.666l-30.822 26.152c7.68 9.051 18.949 14.269 30.822 14.269 11.871 0 23.139-5.217 30.82-14.269l-30.82-26.152zM741.939 395.929c14.441-17.022 12.352-42.531-4.67-56.972-17.022-14.444-42.531-12.352-56.975 4.67l61.645 52.302zM282.075 552.376l132.74 156.443 61.642-52.302-132.74-156.445-61.642 52.304zM476.456 708.818l265.483-312.889-61.645-52.302-265.48 312.889 61.642 52.302z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"25525525516868681":[],"20115230165751091":[]},"tags":["successIcon"],"grid":0},"attrs":[],"properties":{"order":393,"id":34,"name":"success-icon","prevSize":32,"code":59745,"codes":[59745,59746]},"setIdx":0,"setId":31,"iconIdx":36},{"icon":{"paths":["M512 0c-281.6 0-512 230.4-512 512s230.4 512 512 512 512-230.4 512-512-230.4-512-512-512zM563.2 736c0 25.601-19.2 51.2-51.2 51.2s-51.2-19.2-51.2-51.2v-256.001c0-25.601 19.2-51.2 51.2-51.2s51.2 19.2 51.2 51.2v256.001zM512 351.999c-38.4 0-64.001-25.601-64.001-64.001s25.601-64.001 64.001-64.001 64.001 25.601 64.001 64.001-25.601 64.001-64.001 64.001z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Type=Circle","State=Default"],"grid":0},"attrs":[],"properties":{"order":537,"id":35,"name":"circle-info","prevSize":32,"code":59726},"setIdx":0,"setId":31,"iconIdx":37},{"icon":{"paths":["M895.337 1023.115h-766.673c-44.723 0-83.057-25.556-108.612-63.89s-25.556-83.057-6.389-127.778l383.337-741.117c19.167-44.723 63.89-70.278 115.001-70.278 0 0 0 0 0 0 51.111 0 89.445 25.556 115.001 70.278l383.337 741.117c19.167 38.334 19.167 89.445-6.389 127.778-19.167 38.334-63.89 63.89-108.612 63.89zM512 122.274c-6.389 0-19.167 0-25.556 19.167l-383.337 741.117c-6.389 12.777 0 25.556 0 31.944s12.777 12.777 25.556 12.777h766.673c19.167 0 25.556-12.777 25.556-12.777s6.389-19.167 0-31.944l-383.337-741.117c-6.389-19.167-19.167-19.167-25.556-19.167v0zM512 307.554c-25.556 0-51.111 19.167-51.111 51.111v255.558c0 25.556 19.167 51.111 51.111 51.111s51.111-19.167 51.111-51.111v-255.558c0-31.944-25.556-51.111-51.111-51.111zM512 863.393c-38.334 0-63.89-25.556-63.89-63.89s25.556-63.89 63.89-63.89 63.89 25.556 63.89 63.89-25.556 63.89-63.89 63.89z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"25525525516868681":[],"2011523012552552551":[],"20115230165751091":[]},"tags":["Type=Triangle Outline","State=Default"],"grid":0},"attrs":[],"properties":{"order":576,"id":36,"name":"warning-outline","prevSize":32,"code":59746},"setIdx":0,"setId":31,"iconIdx":38},{"icon":{"paths":["M1009.459 837.262l-382.661-739.812c-51.021-95.665-178.576-95.665-229.597-6.378l-382.661 739.812c-44.644 89.287 19.133 191.33 114.798 191.33h765.323c95.665 0 159.443-102.043 114.798-184.952zM460.979 352.557c0-25.511 19.133-51.021 51.021-51.021s51.021 19.133 51.021 51.021v255.108c0 25.511-19.133 51.021-51.021 51.021s-51.021-19.133-51.021-51.021v-255.108zM512 862.773c-38.266 0-63.777-25.511-63.777-63.777s25.511-63.777 63.777-63.777 63.777 25.511 63.777 63.777-25.511 63.777-63.777 63.777z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"25525525516868681":[],"2011523012552552551":[],"20115230165751091":[]},"tags":["Type=Triangle","State=Default"],"grid":0},"attrs":[],"properties":{"order":575,"id":37,"name":"warning-contained","prevSize":32,"code":59742},"setIdx":0,"setId":31,"iconIdx":39},{"icon":{"paths":["M931.57 6.848c-5.078-2.28-11-3.609-17.235-3.609-23.776 0-43.047 19.27-43.047 43.047 0 17.542 10.49 32.625 25.544 39.344l0.269 0.114c165.597 73.647 278.976 236.71 278.976 426.265s-113.38 352.62-276.009 425.079l-2.967 1.187c-15.324 6.814-25.814 21.897-25.814 39.44 0 23.777 19.272 43.047 43.047 43.047 6.234 0 12.155-1.328 17.502-3.704l-0.269 0.114c196.24-87.272 330.581-280.523 330.581-505.144s-134.36-417.871-327.080-503.748l-3.502-1.396zM609.561 975.91v-927.84c-0.002-23.774-19.272-43.043-43.046-43.043-10.877 0-20.806 4.025-28.381 10.687l-334.948 293.086h-117.097c-47.551 0-86.093 38.542-86.093 86.093v0 234.21c0 47.551 38.542 86.093 86.093 86.093v0h117.095l335.001 293.113c7.522 6.612 17.472 10.639 28.348 10.639 23.776 0 43.046-19.27 43.046-43.046v0zM827.84 173.24c7.139-14.445 21.794-24.215 38.71-24.215 6.859 0 13.34 1.599 19.084 4.453l-0.251-0.118c133.917 66.197 224.376 201.844 224.376 358.617s-90.48 292.418-222.061 357.581l-2.336 1.035c-5.491 2.737-11.973 4.335-18.832 4.335-23.776 0-43.047-19.272-43.047-43.047 0-16.918 9.752-31.552 23.963-38.594l0.251-0.118c105.010-51.898 175.969-158.274 175.969-281.212s-70.959-229.314-174.137-280.392l-1.831-0.82c-14.445-7.139-24.215-21.794-24.215-38.712 0-6.859 1.599-13.34 4.453-19.084l-0.118 0.251zM834.306 298.723c-6.185-3.644-13.652-5.804-21.605-5.804-23.776 0-43.046 19.27-43.046 43.046 0 15.849 8.576 29.705 21.326 37.183l0.2 0.116c48.221 28.221 80.113 79.755 80.113 138.751s-31.875 110.529-79.356 138.331l-0.759 0.401c-12.932 7.579-21.494 21.427-21.494 37.264 0 23.777 19.272 43.049 43.049 43.049 7.94 0 15.376-2.152 21.753-5.899l-0.199 0.114c74.1-43.383 123.096-122.607 123.096-213.277s-48.978-169.874-121.92-212.645l-1.155-0.632z"],"width":1280,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Voice_On-01"],"grid":0},"attrs":[],"properties":{"order":574,"id":38,"name":"voice-on","prevSize":32,"code":59738},"setIdx":0,"setId":31,"iconIdx":40},{"icon":{"paths":["M609.086 48.452v927.093c-0.002 23.75-19.256 43.005-43.007 43.005-10.871 0-20.79-4.033-28.366-10.682l-334.685-292.844h-117.012c-47.504 0-86.023-38.511-86.023-86.023v0-234.023c0-47.504 38.511-86.023 86.023-86.023v0h117.011l334.728-292.889c7.524-6.604 17.452-10.637 28.316-10.637 23.75 0 43.005 19.253 43.007 43.003v0zM1159.492 309.554c7.781 7.785 12.593 18.54 12.593 30.412s-4.812 22.625-12.595 30.412l-141.632 141.623 141.632 141.623c7.713 7.774 12.475 18.477 12.475 30.29 0 23.756-19.258 43.012-43.012 43.012-11.821 0-22.524-4.764-30.292-12.479l-141.621-141.63-141.623 141.632c-7.774 7.713-18.477 12.475-30.29 12.475-23.756 0-43.012-19.258-43.012-43.012 0-11.821 4.764-22.524 12.479-30.292l141.63-141.621-141.632-141.623c-7.785-7.785-12.597-18.54-12.597-30.412 0-23.754 19.256-43.010 43.010-43.010 11.882 0 22.629 4.814 30.413 12.6l141.623 141.628 141.623-141.628c7.785-7.785 18.54-12.599 30.413-12.599s22.629 4.814 30.413 12.599v0z"],"width":1184,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Voice_Off-01"],"grid":0},"attrs":[],"properties":{"order":573,"id":39,"name":"voice-off","prevSize":32,"code":59739},"setIdx":0,"setId":31,"iconIdx":41},{"icon":{"paths":["M213.335 938.665c0 47.128 38.206 85.334 85.334 85.334s85.334-38.206 85.334-85.334v0-853.333c0-47.128-38.206-85.334-85.334-85.334s-85.334 38.206-85.334 85.334v0zM640 938.665c0 47.128 38.206 85.334 85.334 85.334s85.334-38.206 85.334-85.334v0-853.333c0-47.128-38.206-85.334-85.334-85.334s-85.334 38.206-85.334 85.334v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Pause-01"],"grid":0},"attrs":[],"properties":{"order":572,"id":40,"name":"pause","prevSize":32,"code":59740},"setIdx":0,"setId":31,"iconIdx":42},{"icon":{"paths":["M258.662 9.858c-9.425-6.18-20.972-9.859-33.379-9.859-33.932 0-61.44 27.508-61.44 61.44 0 0.002 0 0.002 0 0.004v0 901.113c0 0.002 0 0.002 0 0.004 0 33.932 27.508 61.44 61.44 61.44 12.407 0 23.956-3.677 33.613-10.003l-0.234 0.144 696.31-450.558c16.994-11.117 28.064-30.057 28.064-51.584s-11.071-40.469-27.83-51.44l-0.234-0.144z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Play-01"],"grid":0},"attrs":[],"properties":{"order":571,"id":41,"name":"play","prevSize":32,"code":59741},"setIdx":0,"setId":31,"iconIdx":43},{"icon":{"paths":["M782.8 208.116c-0.202-0.003-0.437-0.004-0.673-0.004-25.902 0-46.9 20.999-46.9 46.9 0 0.235 0.001 0.476 0.007 0.712v-0.034c1.787 25.52 22.048 45.786 47.408 47.563l0.159 0.011c26.272 0 47.572-21.297 47.572-47.572s-21.297-47.572-47.572-47.572v0zM520.709 687.833l-30.227-3.832c-1.712-4.528-3.571-9.057-5.576-13.412l18.7-24.097c6.158-7.753 9.882-17.681 9.882-28.477 0-12.832-5.258-24.437-13.733-32.782l-32.903-32.872c-8.34-8.552-19.975-13.858-32.851-13.858-10.8 0-20.729 3.736-28.568 9.981l-24.008 18.57c-4.414-1.974-8.884-3.832-13.412-5.517l-3.864-30.253c-2.897-23.048-22.368-40.699-45.966-40.706h-47.008c-23.589 0.007-43.055 17.662-45.912 40.48l-0.026 0.225-3.864 30.253c-4.56 1.686-9.031 3.545-13.386 5.517l-24.127-18.756c-7.753-6.075-17.641-9.743-28.389-9.743-12.839 0-24.463 5.234-32.842 13.686l-32.899 32.868c-8.537 8.352-13.828 19.987-13.828 32.858 0 10.792 3.722 20.717 9.952 28.563l-0.073-0.095 18.7 24.097c-2.005 4.355-3.864 8.884-5.543 13.412l-30.31 3.832c-22.999 2.991-40.585 22.431-40.649 45.984v47.042c0.034 23.583 17.677 43.032 40.48 45.911l0.227 0.026 30.227 3.832c1.712 4.528 3.545 8.998 5.543 13.412l-18.67 24.097c-6.157 7.758-9.879 17.691-9.879 28.492 0 12.851 5.269 24.476 13.761 32.825l32.904 32.873c8.368 8.503 20.003 13.775 32.868 13.775 10.784 0 20.699-3.699 28.55-9.897l24.001-18.682q6.622 3.047 13.386 5.576l3.864 30.196c2.858 23.067 22.327 40.742 45.929 40.765h47.008c23.586-0.031 43.046-17.671 45.94-40.48l0.026-0.228 3.832-30.253c4.56-1.686 9.031-3.545 13.443-5.517l24.127 18.756c7.749 6.089 17.641 9.761 28.394 9.761 12.842 0 24.464-5.244 32.834-13.709l32.871-32.869c8.555-8.346 13.864-19.987 13.864-32.865 0-10.789-3.726-20.711-9.957-28.549l0.073 0.095-18.725-24.097q3.005-6.622 5.576-13.412l30.227-3.89c23.027-2.911 40.665-22.358 40.706-45.927v-47.039c-0.034-23.583-17.677-43.032-40.48-45.911l-0.227-0.026zM510.69 776.855l-42.477 5.461c-10.145 1.311-18.332 8.471-21.124 17.941l-0.044 0.177c-3.758 12.992-8.562 24.283-14.526 34.829l0.415-0.799c-2.059 3.574-3.273 7.861-3.273 12.433 0 5.895 2.017 11.314 5.405 15.612l-0.038-0.053 26.217 33.74-27.641 27.582-33.798-26.248c-4.232-3.284-9.616-5.264-15.461-5.264-4.548 0-8.815 1.195-12.509 3.295l0.125-0.066c-9.781 5.56-21.113 10.368-33.014 13.83l-1.128 0.284c-9.635 2.862-16.782 11.047-18.078 21.069l-0.015 0.127-5.429 42.508h-39.196l-5.402-42.504c-1.368-10.147-8.527-18.325-17.996-21.152l-0.18-0.044c-12.963-3.726-24.234-8.513-34.762-14.466l0.794 0.413c-3.579-2.077-7.874-3.297-12.455-3.297-5.9 0-11.324 2.030-15.615 5.429l0.052-0.038-33.709 26.133-27.642-27.637 26.191-33.624c3.346-4.254 5.363-9.685 5.363-15.585 0-4.558-1.203-8.833-3.31-12.527l0.066 0.124c-5.551-9.751-10.357-21.036-13.827-32.898l-0.286-1.13c-2.818-9.674-11.007-16.858-21.041-18.161l-0.127-0.015-42.507-5.464v-39.137l42.655-5.402c10.059-1.455 18.136-8.59 20.945-17.996l0.044-0.18c3.775-13.034 8.601-24.362 14.586-34.946l-0.415 0.801c2.015-3.545 3.205-7.782 3.205-12.303 0-5.902-2.026-11.328-5.422-15.625l0.038 0.052-26.187-33.686 27.672-27.641 33.824 26.306c4.278 3.186 9.668 5.101 15.507 5.101 4.497 0 8.729-1.135 12.42-3.137l-0.139 0.068c9.777-5.592 21.094-10.415 32.992-13.888l1.121-0.282c9.668-2.833 16.844-11.032 18.135-21.071l0.015-0.127 5.402-42.451h39.2l5.402 42.451c1.263 10.15 8.431 18.34 17.91 21.091l0.176 0.043c13.004 3.77 24.288 8.552 34.851 14.478l-0.823-0.423c3.592 2.153 7.923 3.426 12.557 3.426 5.887 0 11.296-2.061 15.537-5.496l33.663-26.153 27.616 27.641-26.16 33.683c-3.328 4.272-5.337 9.716-5.337 15.631 0 4.535 1.183 8.797 3.253 12.49l-0.067-0.128c5.557 9.762 10.373 21.072 13.856 32.948l0.287 1.136c2.847 9.641 11.027 16.8 21.041 18.103l0.128 0.015 42.508 5.402zM294.698 637.487c-66.162 0-119.797 53.637-119.797 119.797s53.637 119.797 119.797 119.797c66.162 0 119.797-53.637 119.797-119.797v0c-0.068-66.137-53.664-119.728-119.791-119.797h-0.008zM294.698 826.391c-0.009 0-0.020 0-0.030 0-38.166 0-69.102-30.94-69.102-69.102s30.94-69.102 69.102-69.102c38.166 0 69.102 30.94 69.102 69.102v0c-0.036 38.139-30.94 69.050-69.072 69.102h-0.007zM1024 178.387v535.174c-0.11 98.476-79.91 178.278-178.381 178.393h-303.587c-0.479-13.693-4.572-26.336-11.344-37.128l0.182 0.31c34.656-7.544 60.238-37.944 60.275-74.327v-1.863h254.462c36.098-0.034 65.35-29.287 65.386-65.381v-535.178c-0.033-36.098-29.286-65.353-65.381-65.387h-535.178c-36.098 0.034-65.352 29.289-65.386 65.385v287.115c-24.425 9.077-42.624 29.703-48.134 55.059l-0.093 0.499c-11.426-7.333-25.376-11.691-40.34-11.691-8.75 0-17.153 1.492-24.97 4.232l0.529-0.159v-335.047c0.11-98.476 79.91-178.278 178.381-178.393h535.185c98.476 0.11 178.278 79.91 178.393 178.381v0.012zM640.185 654.93l-196.33-215.285-58.154 64.274c-9.016-18.557-24.91-32.591-44.281-38.95l-0.533-0.153 58.896-65.062c10.912-12 26.567-19.514 43.978-19.569h0.095c17.377 0.008 33.014 7.461 43.889 19.352l0.038 0.043 102.865 112.81 52.882-50.357c10.639-10.194 25.102-16.471 41.032-16.471 16.439 0 31.319 6.686 42.067 17.485l0.003 0.003 136.096 136.291c4.833 5.229 7.799 12.254 7.799 19.964 0 8.165-3.325 15.56-8.694 20.896l-0.001 0.001-0.285 0.273c-5.343 5.362-12.734 8.681-20.9 8.681-7.782 0-14.863-3.016-20.132-7.94l0.018 0.016-135.939-136.111-53.848 51.234 55.072 60.391c4.508 5.096 7.29 11.808 7.394 19.168v0.024c0 16.647-13.494 30.141-30.142 30.142v0c-7.687-0.076-14.664-3.047-19.902-7.881l0.023 0.020z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["image properties_ic-01"],"grid":0},"attrs":[],"properties":{"order":570,"id":42,"name":"image-properties","prevSize":32,"code":59737},"setIdx":0,"setId":31,"iconIdx":44},{"icon":{"paths":["M740.084 12.634l-134.263 167.829c-4.583 5.689-7.356 13.005-7.356 20.968 0 18.536 15.026 33.563 33.563 33.563 0.001 0 0.003 0 0.004 0h83.912v738.451c0 0.072 0 0.157 0 0.24 0 27.807 22.542 50.35 50.35 50.35s50.35-22.542 50.35-50.35c0-0.085 0-0.169 0-0.254v0.014-738.449h83.917c0 0 0.001 0 0.001 0 18.536 0 33.561-15.026 33.561-33.561 0-7.964-2.774-15.28-7.408-21.034l0.050 0.065-134.263-167.831c-6.201-7.709-15.633-12.6-26.207-12.6s-20.006 4.891-26.157 12.535l-0.050 0.065z","M422.252 663.522q26.483-93.142 54.938-170.672l0.004-0.022q29.427-78.47 67.674-166.721l0.063-0.149 0.004 0.004c3.665-6.407 6.031-13.991 6.544-22.078l0.008-0.151c-0.843-11.592-7.993-21.333-18.004-25.868l-0.193-0.078-0.151-0.088 0.007-0.007c-9.276-7.108-20.884-11.609-33.513-12.228l-0.141-0.005c-0.019 0-0.041 0-0.062 0-10.842 0-20.79 3.825-28.569 10.199l0.080-0.063c-8.579 7.541-15.569 16.655-20.564 26.922l-0.223 0.507c-7.749 15.711-15.662 35.040-22.354 54.931l-1.025 3.511q-9.779 31.306-25.444 84.147h0.004c-13.459 52.352-27.919 95.898-44.913 138.154l2.641-7.435-2.266 5.193-2.864-4.891c-9.345-15.444-18.902-33.888-27.314-52.952l-1.283-3.26q-11.794-28.509-31.404-82.43l-0.007-0.024c-17.97-54.207-38.765-100.663-63.552-144.565l2.091 4.029c-4.97-8.52-11.228-15.707-18.598-21.554l-0.157-0.12-0.317-0.211 0.018-0.018c-5.253-3.907-11.867-6.255-19.030-6.255-0.912 0-1.814 0.038-2.706 0.112l0.116-0.008c-0.317-0.005-0.693-0.008-1.070-0.008-13.951 0-26.92 4.204-37.71 11.415l0.247-0.155c-9.473 7.092-15.538 18.286-15.538 30.897 0 1.051 0.042 2.093 0.124 3.122l-0.008-0.135c0.409 4.86 1.567 9.346 3.361 13.493l-0.107-0.278c3.568 9.271 6.985 16.758 10.773 24.021l-0.612-1.29c13.44 23.435 27.888 52.437 40.825 82.247l2.333 6.038q22.524 48.964 27.481 60.851v0l22.503 51.852c22.997 49.631 47.422 91.913 75.117 131.753l-1.867-2.837 0.696 1.027-0.261 1.202c-6.546 35.113-16.126 66.211-28.774 95.679l1.113-2.917c-9.373 19.417-21.912 30.049-37.872 30.049-5.817-0.012-11.268-1.575-15.961-4.298l0.154 0.082-0.028 0.063-0.239-0.138-0.058-0.014 0.007-0.014c-5.343-2.368-9.933-5.035-14.191-8.132l0.22 0.153-0.39-0.281 0.024-0.024-0.669-0.531-1.882-1.355q-2.412-1.683-6.802-4.615c-4.752-3.341-10.647-5.354-17.011-5.396h-0.011c-0.377-0.012-0.819-0.019-1.263-0.019-9.526 0-18.332 3.084-25.475 8.307l0.122-0.085c-6.565 5.5-10.71 13.701-10.71 22.87 0 0.465 0.011 0.927 0.031 1.387l-0.003-0.065c0.927 10.624 5.007 20.15 11.286 27.801l-0.070-0.089c9.425 12.238 21.568 21.926 35.558 28.247l0.585 0.236 0.042 0.022c16.745 7.895 36.371 12.504 57.075 12.504 1.532 0 3.057-0.026 4.577-0.076l-0.222 0.005c0.463 0.008 1.009 0.014 1.558 0.014 20.217 0 38.85-6.783 53.746-18.197l-0.212 0.155 0.058-0.049c16.885-12.465 31.242-27.127 42.995-43.762l0.4-0.596c3.125-5.396 6.161-11.757 8.706-18.362l0.322-0.948q5.849-14.371 14.16-37.846l0.022-0.053q17.605-46.937 33.251-98.789z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Y axis_ic-01"],"grid":0},"attrs":[],"properties":{"order":569,"id":43,"name":"y-axis","prevSize":32,"code":59735},"setIdx":0,"setId":31,"iconIdx":45},{"icon":{"paths":["M93.091 619.055v0c-0.002 0-0.002 0-0.004 0-5.14 0-9.305 4.167-9.305 9.305 0 0.002 0 0.002 0 0.004v302.545c0 0.002 0 0.002 0 0.004 0 5.14 4.167 9.305 9.305 9.305 0.002 0 0.002 0 0.004 0h837.818c0.002 0 0.002 0 0.004 0 5.14 0 9.305-4.167 9.305-9.305 0-0.002 0-0.002 0-0.004v-302.545c0-0.002 0-0.002 0-0.004 0-5.14-4.167-9.305-9.305-9.305-0.002 0-0.002 0-0.004 0h-837.818zM0 628.364c0-51.413 41.678-93.091 93.091-93.091v0h837.818c51.413 0 93.091 41.678 93.091 93.091v0 302.545c0 51.413-41.678 93.091-93.091 93.091v0h-837.818c-51.413 0-93.091-41.678-93.091-93.091v0zM930.909 83.782v0c0.002 0 0.002 0 0.004 0 5.14 0 9.305 4.167 9.305 9.305 0 0.002 0 0.002 0 0.004v302.545c0 0.002 0 0.002 0 0.004 0 5.14-4.167 9.305-9.305 9.305-0.002 0-0.002 0-0.004 0h-837.818c-0.002 0-0.002 0-0.004 0-5.14 0-9.305-4.167-9.305-9.305 0-0.002 0-0.002 0-0.004v-302.545c0-0.002 0-0.002 0-0.004 0-5.14 4.167-9.305 9.305-9.305 0.002 0 0.002 0 0.004 0h837.818zM93.091 0c-51.413 0-93.091 41.678-93.091 93.091v0 302.545c0 51.413 41.678 93.091 93.091 93.091v0h837.818c51.413 0 93.091-41.678 93.091-93.091v0-302.545c0-51.413-41.678-93.091-93.091-93.091v0zM162.909 826.182c0 25.705 20.84 46.545 46.545 46.545v0h93.091c25.705 0 46.545-20.84 46.545-46.545v0-93.091c0-25.705-20.84-46.545-46.545-46.545v0h-93.091c-25.705 0-46.545 20.84-46.545 46.545v0zM162.909 290.909c0 25.705 20.84 46.545 46.545 46.545v0h93.091c25.705 0 46.545-20.84 46.545-46.545v0-93.091c0-25.705-20.84-46.545-46.545-46.545v0h-93.091c-25.705 0-46.545 20.84-46.545 46.545v0zM465.455 337.455c-25.705 0-46.545-20.84-46.545-46.545v0-93.091c0-25.705 20.84-46.545 46.545-46.545v0h93.091c25.705 0 46.545 20.84 46.545 46.545v0 93.091c0 25.705-20.84 46.545-46.545 46.545v0zM418.909 826.182c0 25.705 20.84 46.545 46.545 46.545v0h93.091c25.705 0 46.545-20.84 46.545-46.545v0-93.091c0-25.705-20.84-46.545-46.545-46.545v0h-93.091c-25.705 0-46.545 20.84-46.545 46.545v0zM721.454 337.455c-25.705 0-46.545-20.84-46.545-46.545v0-93.091c0-25.705 20.84-46.545 46.545-46.545v0h93.091c25.705 0 46.545 20.84 46.545 46.545v0 93.091c0 25.705-20.84 46.545-46.545 46.545v0zM674.909 826.182c0 25.705 20.84 46.545 46.545 46.545v0h93.091c25.705 0 46.545-20.84 46.545-46.545v0-93.091c0-25.705-20.84-46.545-46.545-46.545v0h-93.091c-25.705 0-46.545 20.84-46.545 46.545v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Image group-01"],"grid":0},"attrs":[],"properties":{"order":568,"id":44,"name":"image-group","prevSize":32,"code":59736},"setIdx":0,"setId":31,"iconIdx":46},{"icon":{"paths":["M404.945 93.091v0c0-0.002 0-0.002 0-0.004 0-5.14-4.167-9.305-9.305-9.305-0.002 0-0.002 0-0.004 0h-302.545c-0.002 0-0.002 0-0.004 0-5.14 0-9.305 4.167-9.305 9.305 0 0.002 0 0.002 0 0.004v837.818c0 0.002 0 0.002 0 0.004 0 5.14 4.167 9.305 9.305 9.305 0.002 0 0.002 0 0.004 0h302.545c0.002 0 0.002 0 0.004 0 5.14 0 9.305-4.167 9.305-9.305 0-0.002 0-0.002 0-0.004v-837.818zM395.636 0c51.413 0 93.091 41.678 93.091 93.091v0 837.818c0 51.413-41.678 93.091-93.091 93.091v0h-302.545c-51.413 0-93.091-41.678-93.091-93.091v0-837.818c0-51.413 41.678-93.091 93.091-93.091v0zM940.218 930.909v0c0 0.002 0 0.002 0 0.004 0 5.14-4.167 9.305-9.305 9.305-0.002 0-0.002 0-0.004 0h-302.545c-0.002 0-0.002 0-0.004 0-5.14 0-9.305-4.167-9.305-9.305 0-0.002 0-0.002 0-0.004v-837.818c0-0.002 0-0.002 0-0.004 0-5.14 4.167-9.305 9.305-9.305 0.002 0 0.002 0 0.004 0h302.545c0.002 0 0.002 0 0.004 0 5.14 0 9.305 4.167 9.305 9.305 0 0.002 0 0.002 0 0.004v837.818zM1024 93.091c0-51.413-41.678-93.091-93.091-93.091v0h-302.545c-51.413 0-93.091 41.678-93.091 93.091v0l0 837.818c0 51.413 41.678 93.091 93.091 93.091v0h302.545c51.413 0 93.091-41.678 93.091-93.091v0zM197.818 162.909c-25.705 0-46.545 20.84-46.545 46.545v0 93.091c0 25.705 20.84 46.545 46.545 46.545v0h93.091c25.705 0 46.545-20.84 46.545-46.545v0-93.091c0-25.705-20.84-46.545-46.545-46.545v0zM733.091 162.909c-25.705 0-46.545 20.84-46.545 46.545v0l0 93.091c0 25.705 20.84 46.545 46.545 46.545v0h93.091c25.705 0 46.545-20.84 46.545-46.545v0-93.091c0-25.705-20.84-46.545-46.545-46.545v0zM686.545 465.455c0-25.705 20.84-46.545 46.545-46.545v0h93.091c25.705 0 46.545 20.84 46.545 46.545v0 93.091c0 25.705-20.84 46.545-46.545 46.545v0h-93.091c-25.705 0-46.545-20.84-46.545-46.545v0zM197.818 418.909c-25.705 0-46.545 20.84-46.545 46.545v0 93.091c0 25.705 20.84 46.545 46.545 46.545v0h93.091c25.705 0 46.545-20.84 46.545-46.545v0-93.091c0-25.705-20.84-46.545-46.545-46.545v0zM686.545 721.454c0-25.705 20.84-46.545 46.545-46.545v0h93.091c25.705 0 46.545 20.84 46.545 46.545v0 93.091c0 25.705-20.84 46.545-46.545 46.545v0h-93.091c-25.705 0-46.545-20.84-46.545-46.545v0zM197.818 674.909c-25.705 0-46.545 20.84-46.545 46.545v0 93.091c0 25.705 20.84 46.545 46.545 46.545v0h93.091c25.705 0 46.545-20.84 46.545-46.545v0-93.091c0-25.705-20.84-46.545-46.545-46.545v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["group column"],"grid":0},"attrs":[],"properties":{"order":599,"id":45,"prevSize":32,"code":59775,"name":"group-column"},"setIdx":0,"setId":31,"iconIdx":47},{"icon":{"paths":["M1024 929.185c0 31.419-25.471 56.889-56.889 56.889h-872.296c-52.365 0-94.815-42.45-94.815-94.815v0-796.443c0-31.419 25.469-56.889 56.889-56.889s56.889 25.469 56.889 56.889v0 777.481h853.332c31.419 0 56.889 25.469 56.889 56.889v0zM265.478 640.673c-44.137 0-79.918 35.781-79.918 79.918s35.781 79.918 79.918 79.918c44.137 0 79.918-35.781 79.918-79.918v0c-0.047-44.119-35.799-79.871-79.913-79.918h-0.005zM316.051 299.344c0 0 0 0 0 0-44.139 0-79.918 35.781-79.918 79.918s35.781 79.918 79.918 79.918c44.139 0 79.918-35.781 79.918-79.918v0c-0.042-44.122-35.797-79.879-79.915-79.921h-0.005zM463.966 499.093c-0.006 0-0.015 0-0.023 0-44.137 0-79.918 35.781-79.918 79.918s35.781 79.918 79.918 79.918c44.137 0 79.918-35.781 79.918-79.918v0c-0.047-44.111-35.786-79.86-79.891-79.918h-0.005zM710.917 583.778c-44.137 0-79.918 35.781-79.918 79.918s35.781 79.918 79.918 79.918c44.137 0 79.918-35.779 79.918-79.917v0c-0.045-44.121-35.799-79.874-79.913-79.921h-0.005zM738.577 414.654c0-44.137-35.781-79.918-79.918-79.918s-79.918 35.781-79.918 79.918c0 44.137 35.781 79.918 79.918 79.918v0c44.119-0.045 79.873-35.799 79.92-79.913v-0.005zM919.056 367.613c-44.127 0.006-79.895 35.779-79.895 79.907 0 44.132 35.776 79.907 79.907 79.907 44.127 0 79.9-35.77 79.907-79.895v0c-0.047-44.118-35.799-79.871-79.912-79.918h-0.005zM530.954 307.481c44.137 0 79.918-35.781 79.918-79.918s-35.781-79.918-79.918-79.918c-44.137 0-79.918 35.781-79.918 79.918v0c0.049 44.118 35.801 79.87 79.915 79.918h0.005zM876.376 151.692c0-44.137-35.781-79.918-79.918-79.918s-79.918 35.781-79.918 79.918c0 44.137 35.781 79.918 79.918 79.918v0c44.121-0.042 79.876-35.797 79.92-79.915v-0.005z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Scaterplot_ic-01"],"grid":0},"attrs":[],"properties":{"order":567,"id":46,"name":"scatterplot","prevSize":32,"code":59733},"setIdx":0,"setId":31,"iconIdx":48},{"icon":{"paths":["M1023.99 156.832v641.148c0 25.474-20.651 46.125-46.125 46.125s-46.125-20.651-46.125-46.125v0-641.148c-1.038-14.849-12.827-26.638-27.582-27.673l-0.094-0.005h-714.949c-25.474 0-46.125-20.651-46.125-46.125s20.651-46.125 46.125-46.125v0h714.949c65.745 1.205 118.723 54.184 119.926 119.816l0.002 0.114zM599.635 461.262c0-20.38 16.521-36.901 36.901-36.901s36.901 16.521 36.901 36.901c0 20.38-16.521 36.901-36.901 36.901v0c-19.797-1.386-35.515-17.103-36.893-36.775l-0.006-0.125zM166.053 779.525c-4.32 5.71-6.919 12.931-6.919 20.758s2.599 15.049 6.983 20.846l-0.063-0.088c5.71 4.32 12.929 6.919 20.757 6.919s15.047-2.599 20.844-6.983l-0.088 0.063 147.602-166.053 147.602 166.053c5.312 5.312 12.65 8.598 20.757 8.598 16.213 0 29.356-13.143 29.356-29.356 0-8.106-3.287-15.446-8.599-20.758v0l-32.288-36.896 32.288-32.288 110.702 110.702c5.312 5.312 12.65 8.598 20.757 8.598 16.213 0 29.356-13.143 29.356-29.356 0-8.106-3.287-15.446-8.599-20.758l-119.928-119.923c-8.137-8.533-19.592-13.837-32.288-13.837s-24.151 5.306-32.272 13.819l-0.016 0.018-36.901 36.901-83.026-92.252c-7.973-10.55-20.496-17.298-34.594-17.298s-26.622 6.748-34.516 17.189l-0.079 0.109zM751.849 309.046h-641.148v562.729h641.148v-562.729zM788.75 198.345c0.282-0.003 0.616-0.006 0.95-0.006 40.239 0 72.857 32.619 72.857 72.857 0 0.334-0.002 0.668-0.006 1.001v-0.050 641.148c0.003 0.282 0.006 0.616 0.006 0.95 0 40.235-32.617 72.854-72.854 72.854-0.336 0-0.67-0.002-1.005-0.006h-714.899c-0.284 0.003-0.618 0.006-0.954 0.006-40.235 0-72.854-32.617-72.854-72.854 0-0.334 0.002-0.666 0.006-1.001v0.050-641.148c-0.003-0.282-0.006-0.616-0.006-0.95 0-40.239 32.619-72.857 72.857-72.857 0.334 0 0.668 0.002 1.001 0.006h-0.050z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Image Explorer icon-01"],"grid":0},"attrs":[],"properties":{"order":566,"id":47,"name":"image-explorer","prevSize":32,"code":59734},"setIdx":0,"setId":31,"iconIdx":49},{"icon":{"paths":["M204.799 153.6c0-28.276 22.923-51.199 51.199-51.199v0h307.201v102.4c0 84.831 68.769 153.6 153.6 153.6v0h102.4v512c0 28.276-22.923 51.199-51.199 51.199v0h-512c-28.276 0-51.199-22.923-51.199-51.199v0zM747.008 256l-81.409-81.409v30.208c0 28.276 22.923 51.199 51.199 51.199v0zM256-0c-84.831 0-153.6 68.769-153.6 153.6v0 716.801c0 84.831 68.769 153.6 153.6 153.6v0h512c84.831 0 153.6-68.769 153.6-153.6v0-563.201c0-0.088 0-0.193 0-0.295 0-14.065-5.672-26.806-14.852-36.059l-255.996-255.996c-9.25-9.178-21.991-14.848-36.056-14.848-0.104 0-0.209 0-0.311 0.002h0.016zM307.199 422.399c-21.208 0-38.399 17.192-38.399 38.399s17.192 38.399 38.399 38.399v0h307.201c21.208 0 38.399-17.192 38.399-38.399s-17.192-38.399-38.399-38.399v0zM268.8 614.4c0.284-21.092 17.307-38.115 38.372-38.399h409.628c21.208 0 38.399 17.192 38.399 38.399s-17.192 38.399-38.399 38.399v0h-409.601c-21.092-0.284-38.115-17.307-38.399-38.372v-0.027zM307.199 729.601c-21.208 0-38.399 17.192-38.399 38.399s17.192 38.399 38.399 38.399v0h409.601c21.208 0 38.399-17.192 38.399-38.399s-17.192-38.399-38.399-38.399v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Full docs_ic-01"],"grid":0},"attrs":[],"properties":{"order":538,"id":48,"name":"full-docs","prevSize":32,"code":59730},"setIdx":0,"setId":31,"iconIdx":50},{"icon":{"paths":["M93.092 744.727h837.817v-605.090h-837.817zM0.001 139.636c0-51.413 41.678-93.091 93.091-93.091v0h837.817c51.413 0 93.091 41.678 93.091 93.091v0 605.090c0 51.413-41.678 93.091-93.091 93.091v0h-372.364v46.545h93.091c25.706 0 46.545 20.839 46.545 46.545s-20.839 46.545-46.545 46.545v0h-279.273c-25.706 0-46.545-20.839-46.545-46.545s20.839-46.545 46.545-46.545v0h93.091v-46.545h-372.364c-51.413 0-93.091-41.678-93.091-93.091v0zM608.814 535.272l-0.008 0.008c-6.429 6.622-15.426 10.736-25.383 10.736-7.972 0-15.328-2.638-21.153-7.022l-139.636-99.142-165.178 165.189c-6.033 4.976-13.765 7.964-22.197 7.964-19.28 0-34.908-15.629-34.908-34.908 0-8.314 2.906-15.95 7.707-21.88l186.19-186.19c6.429-6.622 15.426-10.736 25.383-10.736 7.972 0 15.328 2.638 21.153 7.022l139.636 99.142 186.049-186.1c5.493-3.603 12.063-5.699 19.124-5.699 19.28 0 34.908 15.629 34.908 34.908 0 6.346-1.694 12.296-4.562 17.254z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Live demo_ic-01"],"grid":0},"attrs":[],"properties":{"order":539,"id":49,"name":"live-demo","prevSize":32,"code":59731},"setIdx":0,"setId":31,"iconIdx":51},{"icon":{"paths":["M720.062 353.574c-42.94 0.212-81.684 18.003-109.436 46.54l-0.035 0.036c-28.404 28.726-45.95 68.239-45.95 111.85s17.547 83.124 45.964 111.866l-0.014-0.014c27.949 28.71 66.97 46.52 110.151 46.52s82.202-17.811 110.117-46.487l0.033-0.035c28.292-28.655 45.767-68.049 45.767-111.525 0-86.922-69.85-157.529-156.482-158.75l-0.115-0.001zM303.938 206.026c0.050 0 0.109 0 0.169 0 68.93 0 132.294 23.825 182.309 63.69l-0.592-0.455-72.414 130.889c-27.949-28.71-66.97-46.52-110.151-46.52s-82.202 17.811-110.117 46.487l-0.033 0.035c-28.404 28.726-45.95 68.239-45.95 111.85s17.547 83.124 45.964 111.866l-0.014-0.014c28.006 28.746 67.096 46.577 110.349 46.577 0.17 0 0.338 0 0.508-0.001h-0.026c41.106-0.372 78.378-16.476 106.154-42.573l-0.082 0.076 73.773 127.829c-49.556 38.793-112.775 62.207-181.464 62.207-83.047 0-158.099-34.226-211.822-89.342l-0.061-0.063c-54.653-55.601-88.393-131.911-88.393-216.1 0-0.163 0-0.325 0-0.486v0.025c-0.005-0.608-0.007-1.327-0.007-2.046 0-167.143 134.92-302.774 301.792-303.926h0.11zM720.062 206.026c168.985 0 305.974 136.989 305.974 305.974s-136.989 305.974-305.974 305.974v0c-83.145-0.524-158.227-34.614-212.457-89.387l-0.024-0.025c-54.339-55.933-87.892-132.313-88.052-216.53v-0.031c-0.006-0.712-0.010-1.553-0.010-2.395 0-166.598 134.19-301.854 300.38-303.577l0.164-0.001z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["CO_ic-01"],"grid":0},"attrs":[],"properties":{"order":540,"id":50,"name":"co","prevSize":32,"code":59732},"setIdx":0,"setId":31,"iconIdx":52},{"icon":{"paths":["M227.538 1009.261l157.573-196.968c5.307-6.746 8.513-15.365 8.513-24.731 0-6.182-1.396-12.038-3.889-17.269l0.103 0.242c-6.559-13.17-19.93-22.061-35.375-22.061-0.028 0-0.055 0-0.083 0h-98.479v-689.384c0-32.634-26.456-59.090-59.090-59.090s-59.090 26.456-59.090 59.090v0 689.384h-98.483c-0.024 0-0.052 0-0.079 0-15.447 0-28.816 8.889-35.271 21.832l-0.103 0.229c-2.389 4.989-3.785 10.845-3.785 17.025 0 9.366 3.206 17.986 8.577 24.818l-0.065-0.087 157.573 196.968c7.279 9.020 18.335 14.741 30.727 14.741s23.448-5.721 30.668-14.667l0.059-0.076z"],"width":400,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Sort_one arrow_down_ic-01"],"grid":0},"attrs":[],"properties":{"order":544,"id":51,"name":"sort-arrow-down","prevSize":32,"code":59675},"setIdx":0,"setId":31,"iconIdx":53},{"icon":{"paths":["M166.086 14.855l-157.573 196.968c-5.307 6.746-8.513 15.365-8.513 24.731 0 6.182 1.396 12.038 3.889 17.269l-0.103-0.242c6.559 13.17 19.93 22.061 35.375 22.061 0.028 0 0.055 0 0.083 0h98.479v689.384c0 32.634 26.456 59.090 59.090 59.090s59.090-26.456 59.090-59.090v0-689.384h98.483c0.024 0 0.052 0 0.079 0 15.447 0 28.816-8.889 35.271-21.832l0.103-0.229c2.389-4.989 3.785-10.845 3.785-17.025 0-9.366-3.206-17.986-8.577-24.818l0.065 0.087-157.573-196.968c-7.279-9.020-18.335-14.741-30.727-14.741s-23.448 5.721-30.668 14.667l-0.059 0.076z"],"width":400,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Sort_one arrow_ic-01"],"grid":0},"attrs":[],"properties":{"order":394,"id":52,"name":"sort-arrow-up","prevSize":32,"code":59729},"setIdx":0,"setId":31,"iconIdx":54},{"icon":{"paths":["M94.868 37.991c-52.358 0-94.805 42.445-94.806 94.803v0 758.575c0 0 0 0.002 0 0.003 0 52.358 42.445 94.805 94.805 94.805 0.002 0 0.002 0 0.003 0h834.386c52.36-0.002 94.806-42.446 94.806-94.806v0-758.575c-0.005-52.358-42.448-94.801-94.806-94.803v0zM910.295 429.921v442.491h-796.466v-720.648h796.466v278.157zM485.357 461.131c-10.557-11.491-25.654-18.667-42.428-18.667s-31.87 7.176-42.39 18.625l-0.037 0.042-236.292 257.768c-5.627 6.124-9.077 14.327-9.077 23.337 0 19.075 15.463 34.537 34.537 34.537 10.064 0 19.125-4.306 25.437-11.175l0.023-0.024 227.801-248.513 227.801 248.513c6.335 6.895 15.395 11.201 25.46 11.201 19.075 0 34.537-15.463 34.537-34.537 0-9.009-3.45-17.213-9.1-23.362l0.023 0.024-122.859-134.029 19.671-21.859 190.71 202.879c6.32 6.749 15.284 10.953 25.231 10.953 19.073 0 34.535-15.462 34.535-34.535 0-9.197-3.595-17.555-9.456-23.744l0.015 0.016-199.279-211.996c-10.524-11.177-25.419-18.138-41.94-18.138-16.959 0-32.204 7.333-42.738 19.002l-0.045 0.050-23.595 26.219zM719.213 419.905c38.147 0 69.071-30.925 69.071-69.071s-30.925-69.071-69.071-69.071c-38.147 0-69.071 30.925-69.071 69.071v0c0 38.147 30.925 69.071 69.071 69.071v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["icon"],"grid":0},"attrs":[],"properties":{"order":541,"id":53,"name":"images","prevSize":32,"code":59728},"setIdx":0,"setId":31,"iconIdx":55},{"icon":{"paths":["M929.206 94.767c-126.362-126.364-331.242-126.364-457.604 0l-94.21 94.212c-22.302 22.3-22.302 58.454 0 80.754s58.449 22.3 80.749 0l94.217-94.212c81.762-81.764 214.329-81.764 296.098 0 81.762 81.764 81.762 214.336 0 296.098l-94.217 94.21c-22.3 22.3-22.3 58.456 0 80.758s58.456 22.3 80.758 0l94.21-94.21c126.362-126.369 126.362-331.244 0-457.608zM269.718 458.157c22.3-22.3 22.3-58.449 0-80.749-22.3-22.302-58.454-22.302-80.754 0l-94.212 94.21c-126.364 126.362-126.364 331.242 0 457.604s331.237 126.362 457.606 0l94.21-94.21c22.3-22.3 22.3-58.456 0-80.758s-58.456-22.3-80.758 0l-94.21 94.21c-81.762 81.769-214.332 81.769-296.096 0-81.764-81.762-81.764-214.329 0-296.091l94.212-94.217zM660.030 444.697c22.3-22.293 22.3-58.449 0-80.749s-58.456-22.3-80.758 0l-215.34 215.34c-22.3 22.3-22.3 58.456 0 80.758s58.456 22.3 80.758 0l215.34-215.349z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Link_ic"],"grid":0},"attrs":[],"properties":{"order":565,"id":54,"name":"link","prevSize":32,"code":59710},"setIdx":0,"setId":31,"iconIdx":56},{"icon":{"paths":["M192.001 0.004c-106.038 0-192 85.962-192 192v0 640c0 106.038 85.962 192 192 192v0h640c0.001 0 0.003 0 0.004 0 106.036 0 191.995-85.959 191.995-191.995 0-0.001 0-0.003 0-0.004v0-640c0-106.038-85.962-192-192-192v0zM737.939 286.063c8.686 8.686 14.059 20.686 14.059 33.94s-5.373 25.255-14.059 33.94l-158.055 158.059 158.055 158.061c8.902 8.721 14.422 20.866 14.422 34.3 0 26.509-21.49 48-48 48-13.434 0-25.579-5.52-34.293-14.413l-158.068-158.062-158.059 158.055c-8.71 8.839-20.814 14.317-34.197 14.317-26.509 0-48-21.49-48-48 0-13.381 5.476-25.485 14.308-34.189l158.062-158.067-158.056-158.059c-8.674-8.685-14.040-20.676-14.040-33.922 0-26.509 21.49-48 48-48 13.245 0 25.237 5.365 33.922 14.040v0l158.059 158.056 158.061-158.056c8.685-8.686 20.685-14.059 33.939-14.059s25.254 5.373 33.939 14.059v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Close_rectangle_ic-01"],"grid":0},"attrs":[],"properties":{"order":564,"id":55,"name":"close-rectangle","prevSize":32,"code":59648},"setIdx":0,"setId":31,"iconIdx":57},{"icon":{"paths":["M130.908 22.246c-13.903-13.886-33.099-22.476-54.304-22.476-42.437 0-76.84 34.403-76.84 76.84 0 21.203 8.589 40.401 22.476 54.304v0l381.047 381.042-381.047 381.054c-13.661 13.862-22.096 32.907-22.096 53.92 0 42.437 34.403 76.84 76.84 76.84 21.016 0 40.060-8.438 53.934-22.108l381.032-381.035 381.054 381.044c13.846 13.562 32.82 21.931 53.752 21.931 42.437 0 76.84-34.403 76.84-76.84 0-20.932-8.368-39.906-21.943-53.766l-381.032-381.042 381.044-381.042c13.663-13.862 22.099-32.909 22.099-53.925 0-42.437-34.403-76.84-76.84-76.84-21.013 0-40.058 8.436-53.93 22.106l-381.044 381.042z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Close_ic-01"],"grid":0},"attrs":[],"properties":{"order":563,"id":56,"name":"close","prevSize":32,"code":59649},"setIdx":0,"setId":31,"iconIdx":58},{"icon":{"paths":["M512 1024.004c282.77 0 512-229.23 512-512s-229.23-512-512-512c-282.77 0-512 229.23-512 512v0c0 282.77 229.23 512 512 512v0zM737.939 286.062c8.687 8.687 14.060 20.687 14.060 33.941s-5.373 25.256-14.060 33.941l-158.055 158.060 158.055 158.061c8.903 8.721 14.423 20.867 14.423 34.301 0 26.51-21.491 48-48 48-13.434 0-25.58-5.52-34.293-14.414l-158.069-158.063-158.060 158.055c-8.711 8.84-20.814 14.318-34.197 14.318-26.51 0-48-21.491-48-48 0-13.382 5.477-25.485 14.309-34.19l158.063-158.067-158.057-158.060c-8.675-8.685-14.040-20.676-14.040-33.923 0-26.51 21.491-48 48-48 13.245 0 25.238 5.366 33.923 14.040v0l158.060 158.057 158.061-158.057c8.685-8.687 20.685-14.060 33.939-14.060s25.254 5.373 33.939 14.060v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Close_circle_ic-01"],"grid":0},"attrs":[],"properties":{"order":562,"id":57,"name":"close-circle","prevSize":32,"code":59650},"setIdx":0,"setId":31,"iconIdx":59},{"icon":{"paths":["M618.666 512.026c0 58.91-47.756 106.666-106.666 106.666s-106.666-47.756-106.666-106.666c0-58.91 47.756-106.666 106.666-106.666v0c58.888 0.056 106.61 47.778 106.666 106.662v0.006zM1024 512.006c-85.826 202.142-282.658 341.334-512 341.334s-426.176-139.192-510.628-337.706l-1.372-3.628c85.826-202.142 282.658-341.334 512-341.334s426.176 139.192 510.628 337.706l1.372 3.628zM746.666 512.026c0-129.602-105.064-234.666-234.666-234.666s-234.666 105.064-234.666 234.666c0 129.602 105.064 234.666 234.666 234.666v0c129.548-0.136 234.532-105.118 234.666-234.654v-0.014z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Eye_fill_show_ic"],"grid":0},"attrs":[],"properties":{"order":561,"id":58,"name":"eye-fill-show","prevSize":32,"code":59651},"setIdx":0,"setId":31,"iconIdx":60},{"icon":{"paths":["M1020.372 531.977l-0.014 0.060-0.023 0.060-0.060 0.144-0.139 0.37-0.418 1.079-1.38 3.413c-1.172 2.823-2.825 6.713-5.015 11.515-4.37 9.596-10.871 22.907-19.746 38.684-24.898 43.754-52.899 81.566-84.83 115.651l0.308-0.332q-4.444 4.731-9.083 9.468l-80.458-80.458q3.333-3.413 6.532-6.834c25.573-27.303 48.22-57.884 67.111-90.892l1.255-2.38c4.133-7.344 7.57-13.922 10.343-19.518-2.773-5.596-6.208-12.176-10.343-19.518-20.142-35.39-42.791-65.971-68.615-93.543l0.249 0.268c-76.119-82.396-184.719-133.818-305.33-133.818-3.067 0-6.124 0.034-9.175 0.1l0.455-0.007c-0.174 0-0.382 0-0.588 0-19.351 0-38.437 1.132-57.196 3.333l2.277-0.217-96.824-96.828c44.873-12.745 96.407-20.071 149.653-20.071 0.942 0 1.884 0.002 2.827 0.007h-0.146c2.617-0.046 5.703-0.073 8.796-0.073 153.293 0 291.353 65.216 387.95 169.416l0.313 0.341c31.626 33.751 59.628 71.56 82.974 112.376l1.548 2.939c8.875 15.772 15.376 29.088 19.746 38.679 2.19 4.802 3.842 8.695 5.015 11.515l1.38 3.413 0.418 1.074 0.139 0.379 0.060 0.144 0.023 0.060 0.014 0.060c2.295 5.932 3.625 12.796 3.625 19.971s-1.33 14.039-3.756 20.361l0.132-0.389zM492.228 304.339l227.439 227.439q0.924-9.764 0.926-19.772c0-115.201-93.39-208.591-208.591-208.591v0q-10 0-19.772 0.926zM3.644 491.975l0.023-0.060 0.055-0.144 0.139-0.379 0.421-1.074 1.38-3.413c1.163-2.82 2.82-6.713 5.006-11.515 4.37-9.593 10.871-22.907 19.746-38.679 24.896-43.754 52.899-81.566 84.833-115.647l-0.306 0.329c20.185-21.527 41.735-41.191 64.723-59.091l1.248-0.935-164.248-164.244c-10.295-10.295-16.663-24.517-16.663-40.227 0-31.418 25.47-56.889 56.889-56.889 15.71 0 29.932 6.368 40.226 16.663l910.212 910.214c10.219 10.281 16.535 24.451 16.535 40.096 0 31.417-25.468 56.883-56.883 56.883-15.644 0-29.813-6.315-40.098-16.535l-183.907-183.899c-66.238 30.88-143.802 48.898-225.574 48.898-1.899 0-3.796-0.009-5.689-0.028l0.29 0.002c-2.613 0.046-5.694 0.073-8.782 0.073-153.295 0-291.36-65.214-387.964-169.412l-0.311-0.34c-31.623-33.753-59.625-71.564-82.974-112.378l-1.55-2.94c-8.875-15.778-15.376-29.088-19.746-38.684-2.19-4.802-3.847-8.69-5.006-11.515l-1.38-3.413-0.421-1.079-0.139-0.37-0.055-0.144-0.028-0.059zM3.621 531.977c-2.293-5.932-3.621-12.796-3.621-19.971s1.328-14.039 3.753-20.361l-0.132 0.389zM417.183 512.005c0.053 52.377 42.524 94.814 94.908 94.814 4.7 0 9.321-0.341 13.836-1.001l-0.514 0.062-107.292-107.292c-0.597 4.014-0.937 8.645-0.937 13.358 0 0.021 0 0.041 0 0.062v-0.004zM655.487 735.938l-41.783-41.778c-29.28 16.633-64.32 26.435-101.649 26.435-115.235 0-208.65-93.416-208.65-208.65 0-37.33 9.803-72.369 26.976-102.686l-0.54 1.036-67.651-67.648c-23.915 17.333-44.928 35.911-64.010 56.316l-0.229 0.249c-25.573 27.303-48.222 57.884-67.111 90.894l-1.255 2.38c-4.13 7.342-7.564 13.922-10.343 19.518 2.777 5.596 6.213 12.176 10.343 19.518 20.147 35.388 42.794 65.969 68.617 93.543l-0.251-0.27c76.115 82.396 184.714 133.818 305.323 133.818 3.068 0 6.13-0.034 9.182-0.1l-0.455 0.007c0.992 0.007 2.164 0.012 3.337 0.012 50.128 0 98.323-8.27 143.295-23.522l-3.143 0.924z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Eye_outline_hide_ic"],"grid":0},"attrs":[],"properties":{"order":560,"id":59,"name":"eye-outline-hide","prevSize":32,"code":59652},"setIdx":0,"setId":31,"iconIdx":61},{"icon":{"paths":["M512 303.413c-115.201 0-208.591 93.39-208.591 208.591s93.39 208.591 208.591 208.591c115.201 0 208.591-93.39 208.591-208.591v0c0-115.201-93.39-208.591-208.591-208.591v0zM512 606.819c-52.364 0-94.814-42.45-94.814-94.814s42.45-94.814 94.814-94.814c52.364 0 94.814 42.45 94.814 94.814v0c0 0.002 0 0.004 0 0.005 0 52.362-42.448 94.81-94.81 94.81-0.002 0-0.004 0-0.005 0v0zM1020.373 492.032l-0.016-0.057-0.023-0.060-0.060-0.144-0.139-0.379-0.418-1.074-1.38-3.413c-1.172-2.82-2.825-6.713-5.015-11.515-4.37-9.593-10.871-22.907-19.746-38.679-24.894-43.754-52.896-81.564-84.83-115.646l0.306 0.331c-96.908-104.542-234.971-169.759-388.265-169.759-3.092 0-6.176 0.027-9.255 0.080l0.462-0.007c-2.615-0.046-5.7-0.073-8.791-0.073-153.293 0-291.357 65.216-387.955 169.418l-0.311 0.34c-31.627 33.751-59.628 71.561-82.974 112.376l-1.548 2.939c-8.875 15.772-15.376 29.088-19.746 38.679-2.19 4.802-3.847 8.695-5.006 11.515l-1.38 3.413-0.421 1.074-0.139 0.379-0.055 0.144-0.028 0.062-0.023 0.060c-2.293 5.932-3.621 12.796-3.621 19.971s1.328 14.039 3.753 20.361l-0.132-0.389 0.046 0.121 0.055 0.144 0.139 0.37 0.421 1.079 1.38 3.413c1.163 2.823 2.82 6.713 5.006 11.515 4.37 9.596 10.871 22.907 19.746 38.684 24.898 43.754 52.899 81.566 84.83 115.651l-0.308-0.332c96.915 104.536 234.978 169.748 388.272 169.748 3.092 0 6.176-0.027 9.255-0.080l-0.464 0.007c2.613 0.046 5.698 0.073 8.788 0.073 153.295 0 291.359-65.214 387.959-169.412l0.311-0.34c31.623-33.753 59.625-71.564 82.974-112.378l1.55-2.94c8.875-15.778 15.376-29.088 19.746-38.684 2.19-4.802 3.842-8.69 5.015-11.515l1.38-3.413 0.418-1.079 0.139-0.37 0.060-0.144 0.023-0.060 0.014-0.060c2.295-5.932 3.625-12.796 3.625-19.971s-1.33-14.039-3.756-20.361l0.132 0.389zM894.416 531.523c-20.146 35.388-42.793 65.969-68.615 93.543l0.251-0.27c-76.115 82.396-184.714 133.818-305.323 133.818-3.068 0-6.13-0.034-9.182-0.1l0.455 0.007c-2.597 0.059-5.659 0.092-8.727 0.092-120.609 0-229.206-51.422-305.067-133.537l-0.256-0.281c-25.571-27.303-48.218-57.884-67.111-90.892l-1.255-2.38c-4.13-7.344-7.564-13.922-10.343-19.518 2.777-5.596 6.213-12.176 10.343-19.518 20.144-35.388 42.793-65.971 68.615-93.543l-0.249 0.268c76.119-82.396 184.719-133.818 305.33-133.818 3.067 0 6.124 0.034 9.175 0.1l-0.455-0.007c2.596-0.059 5.653-0.092 8.72-0.092 120.611 0 229.211 51.422 305.074 133.537l0.256 0.279c25.575 27.301 48.224 57.884 67.111 90.894l1.253 2.379c4.133 7.342 7.57 13.922 10.343 19.518-2.773 5.596-6.208 12.176-10.343 19.518z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Eye_show_outline_ic"],"grid":0},"attrs":[],"properties":{"order":559,"id":60,"name":"eye-show-outline","prevSize":32,"code":59653},"setIdx":0,"setId":31,"iconIdx":62},{"icon":{"paths":["M1007.398 926.943l-910.336-910.341c-10.296-10.296-24.521-16.665-40.231-16.665-31.423 0-56.896 25.474-56.896 56.896 0 15.712 6.369 29.936 16.665 40.233l205.458 205.458c-71.412 54.212-127.716 124.713-163.9 206.139l-1.326 3.343c76.495 179.549 251.363 303.184 455.137 303.448h0.034c0.715 0.004 1.561 0.005 2.407 0.005 66.466 0 129.82-13.328 187.532-37.459l-3.213 1.191 228.215 228.211c10.282 10.218 24.453 16.535 40.099 16.535 31.421 0 56.891-25.472 56.891-56.891 0-15.648-6.317-29.819-16.541-40.105l0.004 0.004zM512 720.644c-115.169-0.121-208.498-93.45-208.619-208.609v-0.012c0.188-37.162 10.314-71.919 27.851-101.802l-0.519 0.957 88.758 88.753c-0.942 3.378-1.748 7.48-2.255 11.674l-0.041 0.416c0.050 52.352 42.475 94.777 94.823 94.827h0.005c4.609-0.548 8.71-1.355 12.697-2.438l-0.608 0.14 88.758 88.758c-28.926 17.019-63.685 27.145-100.795 27.333h-0.053zM493.219 305.301l-85.913-85.913c31.451-6.836 67.596-10.778 104.655-10.83h0.039c203.808 0.261 378.675 123.897 453.947 300.222l1.223 3.225c-27.047 61.907-63.29 114.822-107.651 159.695l0.048-0.050-140.845-140.847c0.574-6.283 1.897-12.348 1.897-18.779-0.121-115.169-93.45-208.5-208.609-208.619h-0.012c-6.431 0-12.496 1.325-18.781 1.899z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Eye_fill_hide_ic"],"grid":0},"attrs":[],"properties":{"order":558,"id":61,"name":"eye-fill-hide","prevSize":32,"code":59654},"setIdx":0,"setId":31,"iconIdx":63},{"icon":{"paths":["M336.775 700.845l-134.295 167.87c-6.204 7.71-15.64 12.601-26.217 12.601s-20.012-4.891-26.167-12.537l-0.050-0.065-134.295-167.87c-4.583-5.691-7.356-13.007-7.356-20.972 0-18.542 15.031-33.573 33.573-33.573h83.934v-470.034c0-27.813 22.547-50.361 50.361-50.361s50.361 22.547 50.361 50.361v0 470.034h83.934c18.542 0 33.573 15.033 33.573 33.573 0 7.965-2.773 15.28-7.406 21.037l0.050-0.065zM982.034 159.48h-537.18c-27.813 0-50.361 22.547-50.361 50.361s22.547 50.361 50.361 50.361h537.18c27.813 0 50.361-22.547 50.361-50.361s-22.547-50.361-50.361-50.361v0zM982.034 360.923h-537.18c-27.813 0-50.361 22.547-50.361 50.361s22.547 50.361 50.361 50.361v0h537.18c27.813 0 50.361-22.547 50.361-50.361s-22.547-50.361-50.361-50.361v0zM982.034 562.365h-537.18c-27.813 0-50.361 22.547-50.361 50.361s22.547 50.361 50.361 50.361v0h537.18c27.813 0 50.361-22.547 50.361-50.361s-22.547-50.361-50.361-50.361v0zM982.034 763.808h-537.18c-27.813 0-50.361 22.547-50.361 50.361s22.547 50.361 50.361 50.361v0h537.18c27.813 0 50.361-22.547 50.361-50.361s-22.547-50.361-50.361-50.361v0z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Row height_down_ic-01"],"grid":0},"attrs":[],"properties":{"order":557,"id":62,"name":"row-height-down","prevSize":32,"code":59655},"setIdx":0,"setId":31,"iconIdx":64},{"icon":{"paths":["M1024 512.004c0 0.001 0 0.004 0 0.007 0 9.486-4.389 17.946-11.246 23.462l-0.058 0.045-150.589 120.47c-5.106 4.114-11.671 6.604-18.817 6.604-16.631 0-30.113-13.482-30.113-30.113 0-0.001 0-0.004 0-0.006v0-90.353h-180.706c-16.633 0-30.117-13.484-30.117-30.117s13.484-30.117 30.117-30.117v0h180.706v-90.353c0-16.633 13.485-30.117 30.117-30.117 7.145 0 13.707 2.488 18.871 6.644l-0.058-0.045 150.589 120.474c6.916 5.56 11.305 14.020 11.305 23.504 0 0.003 0 0.007 0 0.010v0zM391.53 481.886h-180.706v-90.353c0 0 0-0.001 0-0.001 0-16.633-13.484-30.117-30.117-30.117-7.146 0-13.711 2.489-18.874 6.647l0.058-0.045-150.589 120.474c-6.915 5.565-11.301 14.027-11.301 23.514s4.388 17.949 11.243 23.469l0.058 0.045 150.589 120.47c5.106 4.112 11.671 6.601 18.816 6.601 16.633 0 30.117-13.484 30.117-30.116v0-90.353h180.706c16.633 0 30.117-13.484 30.117-30.117s-13.484-30.117-30.117-30.117v0zM512 105.416c-24.95 0-45.176 20.226-45.176 45.176v0 722.823c0 24.95 20.226 45.176 45.176 45.176s45.176-20.226 45.176-45.176v0-722.823c0-24.95-20.226-45.176-45.176-45.176v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Reset width_outside_ic"],"grid":0},"attrs":[],"properties":{"order":556,"id":63,"name":"reset-width-outside","prevSize":32,"code":59656},"setIdx":0,"setId":31,"iconIdx":65},{"icon":{"paths":["M1024.001 512.004c0 15.709-12.735 28.444-28.444 28.444v0h-170.667v85.333c0 0.001 0 0.003 0 0.005 0 15.707-12.733 28.44-28.44 28.44-6.749 0-12.951-2.351-17.827-6.28l0.055 0.043-142.223-113.777c-6.532-5.255-10.677-13.248-10.677-22.208s4.145-16.953 10.621-22.165l0.055-0.043 142.223-113.781c4.821-3.883 11.020-6.232 17.768-6.232 15.709 0 28.444 12.735 28.444 28.444v0 85.333h170.667c15.709 0 28.444 12.735 28.444 28.444v0zM387.549 489.795l-142.223-113.781c-4.823-3.884-11.023-6.235-17.771-6.235-15.709 0-28.444 12.735-28.444 28.444 0 0 0 0.001 0 0.001v0 85.333h-170.667c-15.709 0-28.444 12.735-28.444 28.444s12.735 28.444 28.444 28.444v0h170.667v85.333c0.001 15.709 12.736 28.443 28.444 28.443 6.749 0 12.949-2.351 17.825-6.277l-0.055 0.043 142.223-113.777c6.531-5.256 10.673-13.248 10.673-22.208s-4.144-16.952-10.619-22.165l-0.055-0.043zM512 128.004c-23.564 0-42.667 19.103-42.667 42.667v0 682.668c0 23.564 19.103 42.667 42.667 42.667s42.667-19.103 42.667-42.667v0-682.668c0-23.564-19.103-42.667-42.667-42.667v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Reset width_inside_ic"],"grid":0},"attrs":[],"properties":{"order":555,"id":64,"name":"reset-width-inside","prevSize":32,"code":59657},"setIdx":0,"setId":31,"iconIdx":66},{"icon":{"paths":["M340.815 358.68c-5.546 11.35-17.006 19.028-30.257 19.028h-83.934v470.033c0 27.813-22.547 50.361-50.361 50.361s-50.361-22.547-50.361-50.361v0-470.033h-83.934c0 0-0.002 0-0.002 0-18.542 0-33.573-15.031-33.573-33.573 0-7.966 2.775-15.284 7.409-21.040l-0.050 0.065 134.294-167.869c6.205-7.708 15.64-12.598 26.217-12.598s20.012 4.89 26.167 12.534l0.050 0.065 134.294 167.869c4.583 5.691 7.356 13.009 7.356 20.972 0 5.291-1.223 10.294-3.402 14.746l0.088-0.198zM982.033 159.48h-537.18c-27.813 0-50.361 22.547-50.361 50.361s22.547 50.361 50.361 50.361h537.18c27.813 0 50.361-22.547 50.361-50.361s-22.547-50.361-50.361-50.361v0zM982.033 360.923h-537.18c-27.813 0-50.361 22.547-50.361 50.361s22.547 50.361 50.361 50.361v0h537.18c27.813 0 50.361-22.547 50.361-50.361s-22.547-50.361-50.361-50.361v0zM982.033 562.365h-537.18c-27.813 0-50.361 22.547-50.361 50.361s22.547 50.361 50.361 50.361v0h537.18c27.813 0 50.361-22.547 50.361-50.361s-22.547-50.361-50.361-50.361v0zM982.033 763.808h-537.18c-27.813 0-50.361 22.547-50.361 50.361s22.547 50.361 50.361 50.361v0h537.18c27.813 0 50.361-22.547 50.361-50.361s-22.547-50.361-50.361-50.361v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Row height_up_ic-01"],"grid":0},"attrs":[],"properties":{"order":554,"id":65,"name":"row-height-up","prevSize":32,"code":59658},"setIdx":0,"setId":31,"iconIdx":67},{"icon":{"paths":["M16.697 429.262c-9.603 9.619-15.554 22.896-15.554 37.585 0 29.371 23.808 53.18 53.18 53.18 14.673 0 27.959-5.948 37.585-15.554v0l53.557-53.555 189.897 189.901c41.702 41.702 67.499 99.316 67.499 162.947 0 0.909-0.006 1.834-0.020 2.736l0.002-0.142-1.713 151.053c-0.002 0.177-0.004 0.388-0.004 0.594 0 29.371 23.808 53.18 53.18 53.18 14.685 0 27.977-5.949 37.599-15.574l212.328-212.319 169.398 169.398c9.642 8.902 22.58 14.357 36.786 14.357 29.992 0 54.305-24.312 54.305-54.305 0-14.202-5.445-27.144-14.391-36.829l-169.366-169.366 212.319-212.328c9.619-9.622 15.574-22.914 15.574-37.599 0-29.371-23.808-53.18-53.18-53.18-0.214 0-0.417 0.002-0.63 0.004h0.027l-151.053 1.713c-0.779 0.011-1.691 0.017-2.61 0.017-63.636 0-121.25-25.794-162.947-67.497l-189.901-189.901 53.555-53.557c9.781-9.65 15.84-23.046 15.84-37.861 0-29.371-23.808-53.18-53.18-53.18-14.815 0-28.21 6.059-37.853 15.831l-0.006 0.008-319.060 319.060zM410.568 565.6l-189.897-189.897 152.689-152.678 189.896 189.898c60.958 60.958 145.146 98.643 238.153 98.643 1.346 0 2.673-0.009 4.022-0.027l20.376-0.229-316.858 316.858 0.231-20.588c0.016-1.135 0.025-2.479 0.025-3.817 0-93.005-37.701-177.201-98.643-238.153v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Pin_right_ic-01"],"grid":0},"attrs":[],"properties":{"order":553,"id":66,"name":"pin-right","prevSize":32,"code":59659},"setIdx":0,"setId":31,"iconIdx":68},{"icon":{"paths":["M592.958 14.224c-9.779-9.779-23.288-15.828-38.211-15.828-29.844 0-54.039 24.193-54.039 54.039 0 14.923 6.049 28.43 15.826 38.209l54.419 54.421-192.957 192.962c-42.377 42.375-100.92 68.585-165.584 68.585-0.932 0-1.863-0.005-2.793-0.017l-153.347-1.739c-0.182-0.002-0.399-0.003-0.615-0.003-29.844 0-54.037 24.193-54.037 54.037 0 14.923 6.049 28.434 15.83 38.213l215.747 215.745-172.137 172.134c-9.048 9.798-14.597 22.946-14.597 37.389 0 30.475 24.705 55.182 55.182 55.182 14.443 0 27.591-5.549 37.428-14.632l-0.037 0.034 172.137-172.134 215.745 215.745c9.779 9.779 23.288 15.828 38.211 15.828 29.844 0 54.037-24.193 54.037-54.037 0-0.214-0.002-0.431-0.003-0.645v0.032l-1.744-153.488c-0.010-0.789-0.015-1.719-0.015-2.651 0-64.664 26.21-123.207 68.585-165.584l192.964-192.964 54.419 54.426c9.779 9.779 23.288 15.828 38.211 15.828 29.845 0 54.039-24.193 54.039-54.039 0-14.923-6.049-28.432-15.828-38.211l-324.208-324.206zM454.415 414.444l192.964-192.96 155.151 155.159-192.957 192.964c-61.935 61.933-100.242 147.493-100.242 242.002 0 1.363 0.008 2.722 0.024 4.081l-0.002-0.206 0.238 20.916-321.972-321.976 20.921 0.238c1.153 0.014 2.518 0.022 3.882 0.022 94.504 0 180.062-38.307 241.994-100.241v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Pin_left_ic-01"],"grid":0},"attrs":[],"properties":{"order":552,"id":67,"name":"pin-left","prevSize":32,"code":59660},"setIdx":0,"setId":31,"iconIdx":69},{"icon":{"paths":["M223.104 0.014c-29.251 0-52.964 23.713-52.964 52.964s23.713 52.964 52.964 52.964v0h75.435v267.471c-0.002 64.292-26.438 122.411-69.031 164.079l-0.041 0.041-107.586 105.173c-9.838 9.625-15.939 23.036-15.939 37.873 0 29.251 23.712 52.963 52.963 52.964h299.059v238.611c1.228 28.897 24.953 51.859 54.042 51.859s52.814-22.962 54.037-51.748l0.003-0.111-0.007-238.608h299.059c0 0 0 0 0 0 29.251 0 52.964-23.713 52.964-52.964 0-14.837-6.101-28.248-15.929-37.863l-0.010-0.010-107.581-105.173c-42.636-41.708-69.072-99.826-69.072-164.119v0-267.474h75.428c29.251 0 52.964-23.713 52.964-52.964s-23.713-52.964-52.964-52.964v0h-577.793zM404.467 373.414v-267.471h215.070v267.471c0 0 0 0 0 0.002 0 93.966 38.636 178.907 100.889 239.805l0.061 0.060 14.661 14.335h-446.298l14.665-14.335c62.314-60.957 100.952-145.899 100.952-239.866v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Pin_ic-01"],"grid":0},"attrs":[],"properties":{"order":542,"id":68,"name":"pin","prevSize":32,"code":59661},"setIdx":0,"setId":31,"iconIdx":70},{"icon":{"paths":["M875.366 512.005c0 0.002 0 0.005 0 0.006 0 10.402-4.809 19.682-12.327 25.734l-0.063 0.050-165.162 132.128c-5.601 4.512-12.802 7.243-20.642 7.243-18.243 0-33.032-14.789-33.032-33.032 0 0 0-0.002 0-0.002v0-99.097h-264.269v99.097c-0.002 18.243-14.79 33.030-33.032 33.030-7.838 0-15.038-2.73-20.7-7.29l0.063 0.050-165.162-132.128c-7.584-6.104-12.395-15.385-12.395-25.79s4.812-19.686 12.331-25.74l0.063-0.050 165.162-132.133c5.601-4.51 12.801-7.24 20.637-7.24 18.243 0 33.032 14.789 33.032 33.032 0 0 0 0.002 0 0.002v0 99.097h264.269v-99.097c0-0.002 0-0.003 0-0.005 0-18.243 14.789-33.032 33.032-33.032 7.839 0 15.041 2.731 20.705 7.293l-0.063-0.050 165.162 132.133c7.581 6.101 12.392 15.38 12.392 25.781 0 0.003 0 0.006 0 0.009v0zM974.452 66.070c-27.365 0-49.548 22.184-49.548 49.548v0 792.773c0 27.365 22.184 49.548 49.548 49.548s49.548-22.184 49.548-49.548v0-792.773c0-27.365-22.184-49.548-49.548-49.548v0zM49.548 66.070c-27.365 0-49.548 22.184-49.548 49.548v0 792.773c0 27.365 22.184 49.548 49.548 49.548s49.548-22.184 49.548-49.548v0-792.773c0-27.365-22.184-49.548-49.548-49.548v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Expand_horizontal_ic-01"],"grid":0},"attrs":[],"properties":{"order":545,"id":69,"name":"expand-horizontal","prevSize":32,"code":59662},"setIdx":0,"setId":31,"iconIdx":71},{"icon":{"paths":["M354.077 326.206l132.133-165.162c6.104-7.584 15.385-12.395 25.79-12.395s19.686 4.812 25.74 12.331l0.050 0.063 132.129 165.162zM354.077 326.206c-4.51 5.601-7.24 12.801-7.24 20.637 0 18.243 14.789 33.032 33.032 33.032 0 0 0.002 0 0.002 0h99.097v264.259h-99.097c-18.243 0-33.032 14.79-33.032 33.032 0 7.836 2.728 15.033 7.287 20.697l-0.050-0.063 132.133 165.162c6.102 7.586 15.385 12.399 25.79 12.399s19.688-4.814 25.74-12.334l0.050-0.063 132.129-165.162c4.512-5.601 7.243-12.801 7.243-20.638 0-18.24-14.787-33.027-33.027-33.027-0.002 0-0.005 0-0.006 0h-99.097v-264.259h99.097c18.243-0.002 33.030-14.79 33.030-33.032 0-7.838-2.73-15.038-7.29-20.7l0.050 0.063zM908.387 0.004h-792.775c-27.365 0-49.548 22.184-49.548 49.548s22.184 49.548 49.548 49.548v0h792.775c27.365 0 49.548-22.184 49.548-49.548s-22.184-49.548-49.548-49.548v0zM908.387 924.907h-792.775c-27.365 0-49.548 22.184-49.548 49.548s22.184 49.548 49.548 49.548v0h792.775c27.365 0 49.548-22.184 49.548-49.548s-22.184-49.548-49.548-49.548v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Expand_vertical_ic-01"],"grid":0},"attrs":[],"properties":{"order":590,"id":70,"name":"expand-vertical","prevSize":32,"code":59663},"setIdx":0,"setId":31,"iconIdx":72},{"icon":{"paths":["M1004.681 642.934l-445.44-445.44c-12.090-12.092-28.791-19.571-47.241-19.571s-35.152 7.479-47.241 19.571l-445.446 445.44c-11.879 12.054-19.214 28.614-19.214 46.886 0 36.901 29.915 66.816 66.816 66.816 18.274 0 34.834-7.337 46.899-19.224l398.186-398.184 398.199 398.192c12.075 12 28.716 19.418 47.091 19.418 36.899 0 66.81-29.913 66.81-66.81 0-18.377-7.419-35.018-19.425-47.097l0.004 0.004z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Arrow_up_ic-01"],"grid":0},"attrs":[],"properties":{"order":476,"id":71,"name":"arrow-up","prevSize":32,"code":59664},"setIdx":0,"setId":31,"iconIdx":73},{"icon":{"paths":["M197.451 464.753c-12.093 12.091-19.573 28.797-19.573 47.249s7.48 35.158 19.573 47.249l445.502 445.496c12.076 12.001 28.72 19.421 47.097 19.421 36.904 0 66.818-29.916 66.818-66.818 0-18.379-7.42-35.022-19.427-47.103l-398.238-398.241 398.243-398.243c11.809-12.043 19.095-28.555 19.095-46.771 0-36.906-29.919-66.824-66.824-66.824-18.212 0-34.722 7.286-46.775 19.101l-445.492 445.485z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Arrow_left_ic-01"],"grid":0},"attrs":[],"properties":{"order":477,"id":72,"name":"arrow-left","prevSize":32,"code":59665},"setIdx":0,"setId":31,"iconIdx":74},{"icon":{"paths":["M1004.265 286.774c-12.079-12.081-28.767-19.554-47.201-19.554s-35.122 7.473-47.201 19.554l-397.865 397.863-397.859-397.863c-12.115-12.294-28.949-19.913-47.562-19.913-36.87 0-66.76 29.89-66.76 66.76 0 18.611 7.617 35.445 19.901 47.552l445.079 445.072c12.079 12.081 28.767 19.554 47.201 19.554s35.122-7.473 47.201-19.554l445.064-445.064c12.081-12.079 19.554-28.769 19.554-47.203s-7.473-35.124-19.554-47.203v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Arrow_down_ic-01"],"grid":0},"attrs":[],"properties":{"order":478,"id":73,"name":"arrow-down","prevSize":32,"code":59666},"setIdx":0,"setId":31,"iconIdx":75},{"icon":{"paths":["M826.603 464.744l-445.579-445.579c-12.062-11.901-28.64-19.249-46.932-19.249-36.913 0-66.837 29.924-66.837 66.837 0 18.295 7.35 34.874 19.259 46.942l398.317 398.31-398.323 398.319c-11.797 12.043-19.076 28.548-19.076 46.755 0 36.913 29.924 66.837 66.837 66.837 18.207 0 34.711-7.279 46.767-19.086l445.568-445.568c12.095-12.093 19.577-28.803 19.577-47.258s-7.482-35.165-19.577-47.258v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Arrow_right_ic-01"],"grid":0},"attrs":[],"properties":{"order":479,"id":74,"name":"arrow-right","prevSize":32,"code":59667},"setIdx":0,"setId":31,"iconIdx":76},{"icon":{"paths":["M1022.545 156.242c-7.306-68.806-64.963-121.963-135.065-122.104h-751.010c-71.653 0.138-130.297 55.648-135.429 126.011l-0.026 0.443c-0.25 3.37-1.016 6.594-1.016 10.029v682.716c0 0.016 0 0.035 0 0.054 0 75.373 61.099 136.473 136.47 136.478h750.996c0.002 0 0.003 0 0.005 0 75.403 0 136.529-61.126 136.529-136.529 0-0.002 0-0.003 0-0.005v0-682.716c-0.253-5.328-0.773-10.278-1.555-15.142l0.101 0.763zM102.401 170.671c0.213-3.083 0.818-5.955 1.766-8.664l-0.070 0.23c3.696-14.766 16.789-25.552 32.422-25.683h170.681v170.667h-204.8zM409.6 136.556h204.8v170.667h-204.8zM716.8 136.556h170.667c12.899 0.123 24.059 7.445 29.669 18.134l0.090 0.186c0.478 0.896 1.291 1.562 1.691 2.509l0.192 0.955c1.526 3.643 2.437 7.874 2.491 12.31v136.571h-204.8zM136.471 887.47c-18.818-0.006-34.070-15.262-34.070-34.082 0-0.018 0-0.037 0-0.054v0.003-443.716h204.8v477.849zM409.6 887.47v-477.849h204.8v477.849zM921.599 853.337c0 18.851-15.282 34.133-34.133 34.133v0h-170.667v-477.849h204.8z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Manage calumn_ic-01"],"grid":0},"attrs":[],"properties":{"order":480,"id":75,"name":"manage-column","prevSize":32,"code":59668},"setIdx":0,"setId":31,"iconIdx":77},{"icon":{"paths":["M1017.284 495.792l-152.836-152.836c-4.131-4.049-9.795-6.549-16.043-6.549-12.662 0-22.925 10.263-22.925 22.925 0 6.249 2.5 11.914 6.555 16.049l113.697 113.696h-922.807c-12.662 0-22.925 10.263-22.925 22.925s10.263 22.925 22.925 22.925v0h922.804l-113.7 113.7c-4.118 4.144-6.663 9.854-6.663 16.158 0 12.661 10.263 22.924 22.924 22.924 6.304 0 12.014-2.545 16.158-6.664l152.835-152.835c4.149-4.148 6.716-9.879 6.716-16.21s-2.566-12.062-6.716-16.21v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Long arrow_right_ic-01"],"grid":0},"attrs":[],"properties":{"order":481,"id":76,"name":"long-arrow-right","prevSize":32,"code":59669},"setIdx":0,"setId":31,"iconIdx":78},{"icon":{"paths":["M1001.073 489.076h-922.801l113.699-113.699c4.051-4.131 6.551-9.796 6.551-16.045 0-12.662-10.263-22.925-22.925-22.925-6.249 0-11.913 2.499-16.048 6.552l-152.833 152.831c-4.149 4.148-6.716 9.879-6.716 16.21s2.566 12.062 6.716 16.21l152.837 152.836c4.144 4.118 9.854 6.663 16.158 6.663 12.66 0 22.924-10.263 22.924-22.924 0-6.304-2.545-12.016-6.664-16.159l-113.695-113.698h922.799c12.662 0 22.925-10.263 22.925-22.925s-10.263-22.925-22.925-22.925v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Long arrow_left_ic-01"],"grid":0},"attrs":[],"properties":{"order":482,"id":77,"name":"long-arrow-left","prevSize":32,"code":59670},"setIdx":0,"setId":31,"iconIdx":79},{"icon":{"paths":["M1011.186 485.354l-170.667-136.537c-5.786-4.659-13.224-7.478-21.322-7.478-18.851 0-34.133 15.282-34.133 34.133v0 85.333h-221.867v-221.867h85.333c18.851-0.002 34.131-15.283 34.131-34.133 0-8.099-2.821-15.539-7.533-21.39l0.051 0.066-136.532-170.667c-6.307-7.837-15.898-12.808-26.65-12.808s-20.342 4.973-26.598 12.742l-0.051 0.066-136.537 170.667c-4.661 5.787-7.482 13.227-7.482 21.325 0 18.851 15.282 34.133 34.133 34.133 0 0 0.002 0 0.002 0h85.333v221.867h-221.867v-85.333c0 0 0-0.002 0-0.002 0-18.851-15.282-34.133-34.133-34.133-8.099 0-15.539 2.821-21.39 7.533l0.066-0.051-170.667 136.537c-7.837 6.307-12.808 15.898-12.808 26.65s4.973 20.342 12.742 26.598l0.066 0.051 170.667 136.532c5.787 4.661 13.227 7.482 21.325 7.482 18.851 0 34.133-15.282 34.133-34.131v0-85.333h221.867v221.867h-85.333c-18.851 0-34.133 15.283-34.133 34.133 0 8.098 2.819 15.534 7.53 21.387l-0.051-0.066 136.537 170.667c6.306 7.838 15.898 12.813 26.65 12.813s20.344-4.974 26.598-12.746l0.051-0.066 136.532-170.667c4.662-5.787 7.485-13.227 7.485-21.326 0-18.848-15.28-34.128-34.128-34.128-0.002 0-0.005 0-0.006 0h-85.333v-221.867h221.867v85.333c0 0.002 0 0.003 0 0.006 0 18.848 15.28 34.128 34.128 34.128 8.099 0 15.541-2.821 21.392-7.536l-0.066 0.051 170.667-136.532c7.838-6.306 12.813-15.898 12.813-26.65s-4.974-20.344-12.746-26.598l-0.066-0.051z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Cursor_ic-01"],"grid":0},"attrs":[],"properties":{"order":483,"id":78,"name":"cursor","prevSize":32,"code":59671},"setIdx":0,"setId":31,"iconIdx":80},{"icon":{"paths":["M735.495 341.339v568.886h-455.117v-568.886zM650.16 0.004h-284.445l-56.889 56.889h-162.54c-20.197 0-36.572 16.373-36.572 36.572v0 40.634c0 20.197 16.373 36.572 36.572 36.572v0h723.302c20.197 0 36.572-16.373 36.572-36.572v0-40.634c0-20.197-16.373-36.572-36.572-36.572v0h-162.537zM849.269 264.131c0-20.197-16.373-36.572-36.572-36.572v0h-609.523c-20.197 0-36.572 16.373-36.572 36.572v0 646.092c0.194 62.759 51.017 113.585 113.758 113.781h455.135c62.757-0.201 113.577-51.022 113.774-113.761v-0.020z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Delete_ic-01"],"grid":0},"attrs":[],"properties":{"order":484,"id":79,"name":"delete","prevSize":32,"code":59672},"setIdx":0,"setId":31,"iconIdx":81},{"icon":{"paths":["M849.592 642.213c-6.268 12.82-19.214 21.493-34.185 21.495h-94.816v303.407c0 31.419-25.47 56.889-56.889 56.889s-56.889-25.47-56.889-56.889v0-303.407h-94.814c-0.002 0-0.004 0-0.007 0-20.942 0-37.92-16.978-37.92-37.92 0-8.999 3.134-17.268 8.373-23.769l-0.057 0.073 151.703-189.63c7.006-8.709 17.664-14.236 29.611-14.236s22.604 5.527 29.554 14.162l0.057 0.073 151.703 189.63c5.18 6.43 8.315 14.697 8.315 23.696 0 5.972-1.38 11.621-3.84 16.647l0.1-0.224zM330.681 611.546c7.008 8.709 17.666 14.236 29.612 14.236s22.606-5.527 29.556-14.164l0.057-0.073 151.703-189.63c5.18-6.43 8.316-14.697 8.316-23.696 0-20.942-16.978-37.92-37.92-37.92-0.002 0-0.005 0-0.007 0h-94.814v-303.407c0-31.419-25.47-56.889-56.889-56.889s-56.889 25.47-56.889 56.889v0 303.407h-94.814c-20.946 0-37.925 16.981-37.925 37.925 0 8.997 3.132 17.26 8.366 23.764l-0.057-0.073 151.703 189.63z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Sort_inside_ic-01"],"grid":0},"attrs":[],"properties":{"order":485,"id":80,"name":"sort-inside","prevSize":32,"code":59673},"setIdx":0,"setId":31,"iconIdx":82},{"icon":{"paths":["M857.826 812.298l-157.537 196.923c-7.276 9.044-18.343 14.784-30.749 14.784s-23.474-5.74-30.69-14.706l-0.059-0.076-157.537-196.923c-5.38-6.678-8.636-15.262-8.636-24.607 0-21.748 17.631-39.378 39.378-39.378 0.002 0 0.006 0 0.007 0h98.461v-315.077c0-32.627 26.45-59.077 59.077-59.077s59.077 26.45 59.077 59.077v0 315.077h98.461c0.002 0 0.004 0 0.007 0 21.748 0 39.378 17.631 39.378 39.378 0 9.345-3.255 17.932-8.695 24.683l0.059-0.076zM542.749 211.707l-157.537-196.923c-7.278-9.042-18.345-14.778-30.751-14.778s-23.474 5.738-30.692 14.703l-0.059 0.076-157.537 196.923c-5.378 6.678-8.633 15.262-8.633 24.605 0 21.751 17.633 39.384 39.384 39.384 0 0 0.002 0 0.002 0h98.461v315.077c0 32.627 26.45 59.077 59.077 59.077s59.077-26.45 59.077-59.077v0-315.077h98.461c21.751-0.002 39.382-17.634 39.382-39.384 0-9.345-3.255-17.93-8.692-24.681l0.059 0.076z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Sort_outside_ic-01"],"grid":0},"attrs":[],"properties":{"order":486,"id":81,"name":"sort-outside","prevSize":32,"code":59674},"setIdx":0,"setId":31,"iconIdx":83},{"icon":{"paths":["M1024.001 929.189c0 31.419-25.47 56.889-56.889 56.889h-872.296c-52.364 0-94.815-42.451-94.815-94.815v0-796.445c0.094-31.348 25.528-56.722 56.889-56.722s56.795 25.376 56.889 56.714v777.491h853.334c31.419 0 56.889 25.47 56.889 56.889v0zM922.973 116.468c-8.363-7.55-19.498-12.17-31.713-12.17-13.967 0-26.524 6.040-35.199 15.65l-0.037 0.042c-154.983 171.483-360.922 294.267-593.848 344.488l-7.357 1.329c-21.106 5.096-36.539 23.819-36.539 46.146 0 26.184 21.225 47.409 47.409 47.409 3.705 0 7.314-0.426 10.775-1.23l-0.321 0.063c259.922-56.184 482.643-189.188 649.414-373.723l0.939-1.054c7.55-8.363 12.17-19.5 12.17-31.713 0-13.968-6.041-26.524-15.652-35.2l-0.042-0.037zM834.371 417.188v379.26c0 10.473 8.49 18.966 18.966 18.966v0h75.849c10.473 0 18.966-8.49 18.966-18.966v0-379.26c-0.002-10.473-8.492-18.962-18.966-18.962h-75.853c-10.472 0.002-18.961 8.49-18.962 18.962v0zM625.777 493.039v303.407c0 10.473 8.49 18.966 18.966 18.966v0h75.849c10.473-0.002 18.962-8.492 18.962-18.966v-303.407c0-10.473-8.489-18.964-18.962-18.966h-75.853c-10.473 0.002-18.962 8.492-18.962 18.966v0zM417.185 606.818v189.63c0 10.473 8.489 18.964 18.962 18.966h75.853c10.473 0 18.966-8.49 18.966-18.966v0-189.63c0-10.473-8.49-18.966-18.966-18.966h-75.853c-10.473 0.002-18.962 8.492-18.962 18.966v0zM208.593 682.669v113.777c0 10.473 8.489 18.964 18.962 18.966h75.853c10.473-0.002 18.962-8.492 18.962-18.966v0-113.777c0-10.473-8.489-18.964-18.962-18.966h-75.853c-10.473 0.002-18.962 8.492-18.962 18.966v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Metrics_ic-01"],"grid":0},"attrs":[],"properties":{"order":487,"id":82,"name":"metrics","prevSize":32,"code":59676},"setIdx":0,"setId":31,"iconIdx":84},{"icon":{"paths":["M979.838 563.781l-168.62-202.346 168.62-202.342c8.686-10.366 13.961-23.845 13.961-38.557 0-33.26-26.962-60.222-60.222-60.222 0 0-0.002 0-0.002 0h-662.474c0-0.052 0-0.113 0-0.173 0-33.261-26.964-60.226-60.226-60.226s-60.226 26.964-60.226 60.226c0 0.061 0 0.121 0 0.183v-0.010 843.151h-60.226c-33.187 0.098-60.051 27.024-60.051 60.226s26.864 60.126 60.043 60.226h240.91c33.187-0.098 60.051-27.024 60.051-60.226s-26.864-60.126-60.043-60.226h-60.235v-240.9h662.474c33.261 0 60.224-26.964 60.224-60.226 0-14.712-5.275-28.192-14.037-38.651l0.076 0.095zM686.56 322.881c-8.686 10.364-13.961 23.845-13.961 38.557s5.275 28.191 14.037 38.65l-0.076-0.095 118.433 142.12h-533.894v-361.348h533.894l-118.433 142.118z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Tags_ic-01"],"grid":0},"attrs":[],"properties":{"order":488,"id":83,"name":"tags","prevSize":32,"code":59677},"setIdx":0,"setId":31,"iconIdx":85},{"icon":{"paths":["M662.517 1012.462c9.822 7.212 22.15 11.541 35.491 11.541 33.325 0 60.341-27.014 60.341-60.34v0-622.136c0-77.761-63.037-140.798-140.798-140.798v0h-391.123c-77.761 0-140.798 63.037-140.798 140.798v0 622.136c0 0.002 0 0.002 0 0.003 0 33.324 27.014 60.338 60.338 60.338 13.341 0 25.67-4.33 35.66-11.66l-0.168 0.118 240.526-174.927 240.528 174.927zM386.497 714.124l-180.183 131.042v-503.636c0-11.108 9.005-20.114 20.114-20.114h391.123c11.108 0 20.114 9.005 20.114 20.114v0 503.638l-180.186-131.045c-9.82-7.214-22.15-11.544-35.491-11.544s-25.67 4.33-35.66 11.662l0.168-0.118zM933.991 140.801v622.133c0 33.325-27.016 60.341-60.341 60.341s-60.341-27.016-60.341-60.341v0-622.133c0-11.108-9.005-20.114-20.114-20.114v0h-471.578c-33.325 0-60.341-27.016-60.341-60.341s27.016-60.341 60.341-60.341v0h471.58c77.761 0 140.796 63.037 140.796 140.798v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Bookmarks_ic-01"],"grid":0},"attrs":[],"properties":{"order":489,"id":84,"name":"bookmarks","prevSize":32,"code":59678},"setIdx":0,"setId":31,"iconIdx":86},{"icon":{"paths":["M94.867 37.993c-52.359 0-94.805 42.445-94.807 94.803v0 758.577c0 52.36 42.446 94.807 94.807 94.807v0h834.387c52.36 0 94.807-42.446 94.807-94.807v0-758.577c-0.002-52.359-42.446-94.803-94.807-94.803h-834.387zM393.901 594.272v-164.353h516.394v164.353zM113.828 594.272v-164.353h166.305v164.353zM280.133 708.056v164.357h-166.307v-164.357zM393.898 872.414v-164.357h516.395v164.357zM280.136 316.133h-166.307v-164.375h166.305zM393.901 316.133v-164.375h516.394v164.375z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Runs_ic-01"],"grid":0},"attrs":[],"properties":{"order":551,"id":85,"name":"runs","prevSize":32,"code":59679},"setIdx":0,"setId":31,"iconIdx":87},{"icon":{"paths":["M476.372 172.972c10.476-10.324 16.969-24.668 16.969-40.53 0-31.419-25.47-56.889-56.889-56.889-15.86 0-30.204 6.491-40.521 16.958l-0.007 0.007zM56.889 512.005l-40.226-40.224c-10.295 10.293-16.663 24.516-16.663 40.224s6.368 29.931 16.663 40.224v0zM395.924 931.488c10.251 10.041 24.299 16.236 39.796 16.236 31.419 0 56.889-25.47 56.889-56.889 0-15.497-6.196-29.545-16.245-39.806l0.009 0.009zM967.111 568.894c31.419 0 56.889-25.47 56.889-56.889s-25.47-56.889-56.889-56.889v0zM395.924 92.519l-379.259 379.259 80.453 80.448 379.259-379.259zM16.665 552.229l379.259 379.259 80.448-80.448-379.259-379.259zM56.889 568.894h910.222v-113.778h-910.222z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Back_left_ic"],"grid":0},"attrs":[],"properties":{"order":546,"id":86,"name":"back-left","prevSize":32,"code":59680},"setIdx":0,"setId":31,"iconIdx":88},{"icon":{"paths":["M931.483 547.63c-10.293-10.293-24.514-16.66-40.222-16.66s-29.929 6.366-40.222 16.66l-282.149 282.149v-772.888c0-31.419-25.47-56.889-56.889-56.889s-56.889 25.47-56.889 56.889v0 772.888l-282.145-282.149c-10.324-10.476-24.669-16.969-40.53-16.969-31.419 0-56.889 25.47-56.889 56.889 0 15.86 6.491 30.205 16.958 40.521l379.273 379.268c10.293 10.295 24.514 16.663 40.222 16.663s29.929-6.368 40.222-16.663l379.261-379.261c10.295-10.293 16.663-24.516 16.663-40.224s-6.368-29.931-16.663-40.224v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Back_down_ic"],"grid":0},"attrs":[],"properties":{"order":589,"id":87,"name":"back-down","prevSize":32,"code":59681},"setIdx":0,"setId":31,"iconIdx":89},{"icon":{"paths":["M931.481 395.925l-379.259-379.259c-10.293-10.295-24.514-16.663-40.222-16.663s-29.929 6.368-40.222 16.663l-379.264 379.259c-10.114 10.263-16.359 24.363-16.359 39.92 0 31.419 25.47 56.889 56.889 56.889 15.559 0 29.659-6.247 39.931-16.368l282.137-282.135v772.883c0 31.419 25.47 56.889 56.889 56.889s56.889-25.47 56.889-56.889v0-772.883l282.147 282.142c10.281 10.217 24.45 16.533 40.094 16.533 31.417 0 56.884-25.468 56.884-56.884 0-15.646-6.316-29.815-16.539-40.1l0.004 0.004z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Back_up_ic"],"grid":0},"attrs":[],"properties":{"order":588,"id":88,"name":"back-up","prevSize":32,"code":59682},"setIdx":0,"setId":31,"iconIdx":90},{"icon":{"paths":["M1007.336 471.778l-379.261-379.261c-10.252-10.050-24.308-16.253-39.812-16.253-31.419 0-56.889 25.47-56.889 56.889 0 15.506 6.204 29.565 16.265 39.826l282.14 282.135h-772.893c-31.419 0-56.889 25.47-56.889 56.889s25.47 56.889 56.889 56.889v0h772.888l-282.144 282.145c-10.219 10.281-16.535 24.452-16.535 40.096 0 31.417 25.469 56.884 56.884 56.884 15.645 0 29.813-6.315 40.098-16.535l379.257-379.257c10.295-10.293 16.663-24.516 16.663-40.224s-6.368-29.931-16.663-40.224v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Back_right_ic"],"grid":0},"attrs":[],"properties":{"order":587,"id":89,"name":"back-right","prevSize":32,"code":59683},"setIdx":0,"setId":31,"iconIdx":91},{"icon":{"paths":["M947.231-0.15h-725.372c-42.491 0-76.938 34.447-76.938 76.938s34.447 76.938 76.938 76.938v0h539.624l-739.108 739.117c-13.721 13.89-22.199 32.987-22.199 54.066 0 42.491 34.447 76.938 76.938 76.938 21.079 0 40.178-8.478 54.075-22.209l739.11-739.101v539.629c0 42.491 34.447 76.938 76.938 76.938s76.938-34.447 76.938-76.938v0-725.372c0-0.002 0-0.005 0-0.010 0-42.491-34.447-76.938-76.938-76.938-0.002 0-0.007 0-0.010 0v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Back_up_right_ic"],"grid":0},"attrs":[],"properties":{"order":586,"id":90,"name":"back-up-right","prevSize":32,"code":59684},"setIdx":0,"setId":31,"iconIdx":92},{"icon":{"paths":["M1001.636 892.824l-739.121-739.121h539.634c42.492 0 76.938-34.447 76.938-76.938s-34.447-76.938-76.938-76.938v0h-725.376c-42.492 0-76.938 34.447-76.938 76.938v0 725.388c0 42.492 34.447 76.938 76.938 76.938s76.938-34.447 76.938-76.938v0-539.642l739.112 739.112c13.89 13.726 32.99 22.204 54.071 22.204 42.492 0 76.938-34.447 76.938-76.938 0-21.076-8.475-40.174-22.204-54.071l0.007 0.007z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Back_up_left_ic"],"grid":0},"attrs":[],"properties":{"order":585,"id":91,"name":"back-up-left","prevSize":32,"code":59685},"setIdx":0,"setId":31,"iconIdx":93},{"icon":{"paths":["M1001.469 22.525c-13.921-13.917-33.15-22.524-54.389-22.524s-40.469 8.607-54.389 22.524l-738.864 738.877v-539.46c0-42.478-34.435-76.913-76.913-76.913s-76.913 34.435-76.913 76.913v0 725.146c0 42.478 34.435 76.913 76.913 76.913v0h725.145c42.478 0 76.913-34.435 76.913-76.913s-34.435-76.913-76.913-76.913v0h-539.466l738.877-738.877c13.919-13.919 22.528-33.147 22.528-54.387s-8.609-40.468-22.528-54.387v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Back_down_left"],"grid":0},"attrs":[],"properties":{"order":584,"id":92,"name":"back-down-left","prevSize":32,"code":59686},"setIdx":0,"setId":31,"iconIdx":94},{"icon":{"paths":["M946.947 145.169c-42.464 0-76.888 34.424-76.888 76.888v0 539.29l-738.634-738.634c-13.946-14.114-33.302-22.855-54.701-22.855-42.464 0-76.888 34.424-76.888 76.888 0 21.399 8.741 40.755 22.85 54.696l738.651 738.641h-539.29c-42.464 0-76.888 34.424-76.888 76.888s34.424 76.888 76.888 76.888h724.902c42.464 0 76.888-34.424 76.888-76.888v0-724.912c0-42.464-34.424-76.888-76.888-76.888v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Back_down_right"],"grid":0},"attrs":[],"properties":{"order":583,"id":93,"name":"back-down-right","prevSize":32,"code":59687},"setIdx":0,"setId":31,"iconIdx":95},{"icon":{"paths":["M118.154 393.852v0c65.254 0 118.154 52.9 118.154 118.154v0 0c0 65.254-52.9 118.154-118.154 118.154v0 0c-65.254 0-118.154-52.9-118.154-118.154v0 0c0-65.254 52.9-118.154 118.154-118.154v0zM512 393.852v0c65.254 0 118.154 52.9 118.154 118.154v0 0c0 65.254-52.9 118.154-118.154 118.154v0 0c-65.254 0-118.154-52.9-118.154-118.154v0 0c0-65.254 52.9-118.154 118.154-118.154v0zM905.846 393.852v0c65.254 0 118.154 52.9 118.154 118.154v0 0c0 65.254-52.9 118.154-118.154 118.154v0 0c-65.254 0-118.154-52.9-118.154-118.154v0 0c0-65.254 52.9-118.154 118.154-118.154v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["More_horizontal_ic"],"grid":0},"attrs":[],"properties":{"order":582,"id":94,"name":"more-horizontal","prevSize":32,"code":59688},"setIdx":0,"setId":31,"iconIdx":96},{"icon":{"paths":["M630.154 118.158v0c0 65.254-52.9 118.154-118.154 118.154v0 0c-65.254 0-118.154-52.9-118.154-118.154v0 0c0-65.254 52.9-118.154 118.154-118.154v0 0c65.254 0 118.154 52.9 118.154 118.154v0zM630.154 512.006v0c0 65.254-52.9 118.154-118.154 118.154v0 0c-65.254 0-118.154-52.9-118.154-118.154v0 0c0-65.254 52.9-118.154 118.154-118.154v0 0c65.254 0 118.154 52.9 118.154 118.154v0zM630.154 905.851v0c0 65.254-52.9 118.154-118.154 118.154v0 0c-65.254 0-118.154-52.9-118.154-118.154v0 0c0-65.254 52.9-118.154 118.154-118.154v0 0c65.254 0 118.154 52.9 118.154 118.154v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["More_vertical_ic"],"grid":0},"attrs":[],"properties":{"order":581,"id":95,"name":"more-vertical","prevSize":32,"code":59689},"setIdx":0,"setId":31,"iconIdx":97},{"icon":{"paths":["M807.384 118.158v0c0 65.254-52.9 118.154-118.154 118.154v0 0c-65.254 0-118.154-52.9-118.154-118.154v0 0c0-65.254 52.9-118.154 118.154-118.154v0 0c65.254 0 118.154 52.9 118.154 118.154v0zM807.384 512.006v0c0 65.254-52.9 118.154-118.154 118.154v0 0c-65.254 0-118.154-52.9-118.154-118.154v0 0c0-65.254 52.9-118.154 118.154-118.154v0 0c65.254 0 118.154 52.9 118.154 118.154v0zM807.384 905.851v0c0 65.254-52.9 118.154-118.154 118.154v0 0c-65.254 0-118.154-52.9-118.154-118.154v0 0c0-65.254 52.9-118.154 118.154-118.154v0 0c65.254 0 118.154 52.9 118.154 118.154v0zM452.923 118.158v0c0 65.254-52.9 118.154-118.154 118.154v0 0c-65.254 0-118.154-52.9-118.154-118.154v0 0c0-65.254 52.9-118.154 118.154-118.154v0 0c65.254 0 118.154 52.9 118.154 118.154v0zM452.923 512.006v0c0 65.254-52.9 118.154-118.154 118.154v0 0c-65.254 0-118.154-52.9-118.154-118.154v0 0c0-65.254 52.9-118.154 118.154-118.154v0 0c65.254 0 118.154 52.9 118.154 118.154v0zM452.923 905.851v0c0 65.254-52.9 118.154-118.154 118.154v0 0c-65.254 0-118.154-52.9-118.154-118.154v0 0c0-65.254 52.9-118.154 118.154-118.154v0 0c65.254 0 118.154 52.9 118.154 118.154v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Drag_ic-01"],"grid":0},"attrs":[],"properties":{"order":580,"id":96,"name":"drag","prevSize":32,"code":59690},"setIdx":0,"setId":31,"iconIdx":98},{"icon":{"paths":["M939.133 152.637c15.441-16.184 24.944-38.152 24.944-62.339 0-49.911-40.459-90.37-90.37-90.37-25.723 0-48.934 10.748-65.392 27.994l-0.034 0.037-401.759 421.629c-15.444 16.181-24.95 38.152-24.95 62.342s9.505 46.158 24.984 62.376l-0.034-0.034 401.759 421.626c16.492 17.285 39.702 28.031 65.426 28.031 49.908 0 90.367-40.459 90.367-90.367 0-24.184-9.503-46.152-24.975-62.37l0.034 0.037-342.369-359.298zM240.9 90.295c0-49.908-40.459-90.367-90.367-90.367s-90.367 40.459-90.367 90.367v0 843.255c0 49.908 40.459 90.367 90.367 90.367s90.367-40.459 90.367-90.367v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Move to_left_ic"],"grid":0},"attrs":[],"properties":{"order":579,"id":97,"name":"move-to-left","prevSize":32,"code":59691},"setIdx":0,"setId":31,"iconIdx":99},{"icon":{"paths":["M85.108 871.196c-15.444 16.184-24.947 38.154-24.947 62.344 0 49.911 40.462 90.372 90.372 90.372 25.723 0 48.933-10.745 65.392-27.994l0.034-0.037 401.761-421.625c15.444-16.181 24.95-38.152 24.95-62.342s-9.505-46.158-24.984-62.376l0.034 0.034-401.761-421.631c-16.492-17.283-39.702-28.031-65.425-28.031-49.911 0-90.369 40.459-90.369 90.369 0 24.187 9.503 46.155 24.978 62.376l-0.034-0.037 342.365 359.289zM783.34 933.537c0 49.908 40.459 90.367 90.367 90.367s90.367-40.459 90.367-90.367v0-843.247c0-49.908-40.459-90.367-90.367-90.367s-90.367 40.459-90.367 90.367v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Move to_right_ic"],"grid":0},"attrs":[],"properties":{"order":578,"id":98,"name":"move-to-right","prevSize":32,"code":59692},"setIdx":0,"setId":31,"iconIdx":100},{"icon":{"paths":["M512.189 124.86l-0.189 0.012v-100.698c0-0.002 0-0.003 0-0.005 0-10.7-8.675-19.375-19.375-19.375-4.3 0-8.274 1.402-11.487 3.772l0.053-0.038-220.853 161.427c-4.838 3.565-7.941 9.241-7.941 15.641s3.103 12.076 7.888 15.603l0.053 0.038 220.856 161.427c3.161 2.331 7.132 3.731 11.431 3.731 10.7 0 19.375-8.675 19.375-19.375 0 0 0-0.002 0-0.002v0-97.194h0.189c178.487 2.986 322.031 148.379 322.031 327.297 0 180.785-146.555 327.34-327.34 327.34-162.339 0-297.078-118.175-322.882-273.194l-0.262-1.91c-5.034-29.754-30.614-52.132-61.42-52.132-34.378 0-62.247 27.87-62.247 62.247 0 3.058 0.221 6.064 0.646 9.003l-0.039-0.335c35.648 217.067 221.879 380.655 446.318 380.655 249.623 0 451.982-202.359 451.982-451.982 0-247.796-199.409-449.019-446.511-451.951l-0.277-0.003z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["reset_ic-01"],"grid":0},"attrs":[],"properties":{"order":577,"id":99,"name":"reset","prevSize":32,"code":59693},"setIdx":0,"setId":31,"iconIdx":101},{"icon":{"paths":["M73.147 146.287c-40.395 0-73.143 32.748-73.143 73.143s32.748 73.143 73.143 73.143h877.713c40.395 0 73.143-32.748 73.143-73.143s-32.748-73.143-73.143-73.143v0zM73.147 438.862c-40.395 0-73.142 32.746-73.142 73.142s32.746 73.142 73.142 73.142h292.57c40.395 0 73.142-32.746 73.142-73.142s-32.746-73.142-73.142-73.142v0zM0.003 804.572c0.002-40.394 32.748-73.14 73.143-73.14s73.143 32.746 73.143 73.143c0 40.395-32.746 73.142-73.142 73.143v0c-40.395 0-73.143-32.748-73.143-73.145 0 0 0-0.002 0-0.002v0zM292.575 731.43c0 0-0.002 0-0.002 0-40.395 0-73.143 32.748-73.143 73.143s32.748 73.143 73.143 73.143c40.395 0 73.143-32.748 73.143-73.143 0 0 0-0.002 0-0.002v0c-0.003-40.394-32.748-73.138-73.142-73.142v0zM438.858 804.572c0.002-40.395 32.748-73.142 73.143-73.142s73.143 32.748 73.143 73.143c0 40.395-32.746 73.142-73.142 73.143v0c-40.397 0-73.145-32.748-73.145-73.145v0zM731.432 731.43c0 0-0.002 0-0.002 0-40.395 0-73.143 32.748-73.143 73.143s32.748 73.143 73.143 73.143c40.395 0 73.143-32.748 73.143-73.143 0 0 0-0.002 0-0.002v0c-0.003-40.394-32.748-73.138-73.142-73.142v0zM877.715 804.572c0.002-40.395 32.748-73.142 73.143-73.142s73.143 32.748 73.143 73.143c0 40.395-32.746 73.142-73.142 73.143v0c-40.397 0-73.145-32.748-73.145-73.145v0zM658.287 438.862c-40.395 0-73.142 32.746-73.142 73.142s32.746 73.142 73.142 73.142h292.573c40.395 0 73.142-32.746 73.142-73.142s-32.746-73.142-73.142-73.142v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Line style_ic-01"],"grid":0},"attrs":[],"properties":{"order":490,"id":100,"name":"line-style","prevSize":32,"code":59694},"setIdx":0,"setId":31,"iconIdx":102},{"icon":{"paths":["M82.996 931.784v0c0 5.094 4.128 9.221 9.221 9.221h288.18c5.092-0.002 9.22-4.13 9.221-9.221v-209.412c0-5.094-4.128-9.221-9.221-9.221h-288.18c-5.094 0-9.221 4.128-9.221 9.221v209.412zM92.218 1024.003c-50.93-0.002-92.215-41.287-92.217-92.217v0-209.412c0-50.93 41.287-92.217 92.217-92.217 0 0 0.002 0 0.002 0h288.18c50.93 0 92.217 41.287 92.217 92.217v0 209.412c-0.002 50.93-41.287 92.215-92.217 92.217v0zM634.377 301.632v0c0 5.094 4.128 9.221 9.221 9.221h288.18c5.092-0.002 9.22-4.13 9.221-9.221v-209.412c-0.002-5.092-4.13-9.22-9.221-9.221h-288.18c-5.094 0-9.221 4.128-9.221 9.221v209.412zM643.599 393.849c-50.93 0-92.217-41.287-92.217-92.217v0-209.412c0-50.93 41.287-92.217 92.217-92.217v0h288.18c50.93 0 92.217 41.287 92.217 92.217v0 209.412c0 50.93-41.287 92.217-92.217 92.217v0zM380.397 82.998v0c5.092 0.002 9.22 4.13 9.221 9.221v366.951c-0.002 5.092-4.13 9.22-9.221 9.221h-288.18c-5.094 0-9.221-4.128-9.221-9.221v-366.951c0-5.094 4.128-9.221 9.221-9.221h288.18zM92.218 0.003c-50.93 0.002-92.215 41.287-92.217 92.217v0 366.951c0.002 50.93 41.289 92.217 92.219 92.217h288.18c50.93-0.002 92.215-41.287 92.217-92.217v0-366.951c-0.002-50.93-41.287-92.215-92.217-92.217v0zM643.599 555.612v0c-5.094 0-9.221 4.128-9.221 9.221v366.951c0 5.094 4.128 9.221 9.221 9.221h288.18c5.092-0.002 9.22-4.13 9.221-9.221v-366.951c-0.002-5.092-4.13-9.22-9.221-9.221h-288.18zM551.382 564.835c0-50.93 41.287-92.217 92.217-92.217v0h288.18c50.93 0 92.217 41.287 92.217 92.217v0 366.951c0 50.93-41.287 92.217-92.217 92.217v0h-288.18c-50.93 0-92.217-41.287-92.217-92.217v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Chart group_ic-01"],"grid":0},"attrs":[],"properties":{"order":491,"id":101,"name":"chart-group","prevSize":32,"code":59695},"setIdx":0,"setId":31,"iconIdx":103},{"icon":{"paths":["M777.34 289.772c-47.589 1.432-85.619 40.353-85.619 88.155 0 48.707 39.485 88.192 88.192 88.192s88.192-39.485 88.192-88.192c0 0 0-0.002 0-0.002v0c-0.804-48.86-40.602-88.16-89.577-88.16-0.418 0-0.835 0.003-1.251 0.008h0.062zM562.522 146.689c-47.589 1.432-85.619 40.353-85.619 88.155 0 48.707 39.485 88.192 88.192 88.192s88.192-39.485 88.192-88.192c0 0 0-0.002 0-0.002v0c-0.803-48.861-40.6-88.162-89.577-88.162-0.418 0-0.835 0.003-1.251 0.008h0.064zM324.643 390.208c47.589-1.432 85.619-40.353 85.619-88.155 0-48.707-39.485-88.192-88.192-88.192s-88.192 39.483-88.192 88.19v0c0.804 48.861 40.603 88.163 89.581 88.163 0.416 0 0.833-0.003 1.248-0.008h-0.064zM333.299 525.719c0.025-0.791 0.039-1.721 0.039-2.653 0-50.151-40.655-90.806-90.806-90.806s-90.806 40.655-90.806 90.806c0 50.151 40.654 90.805 90.805 90.806v0c0.353 0.005 0.769 0.008 1.185 0.008 48.979 0 88.778-39.3 89.582-88.086l0.002-0.076zM985.15 259.262c-46.611-78.295-110.622-141.736-186.981-186.339l-2.475-1.335c-76.957-44.999-169.437-71.568-268.125-71.568-0.247 0-0.494 0-0.741 0h0.039c-0.781-0.003-1.703-0.007-2.626-0.007-143.822 0-274.296 57.153-369.949 149.988l0.133-0.128c-95.233 91.485-154.399 219.899-154.399 362.131s59.166 270.646 154.231 361.971l0.168 0.161c95.543 92.707 226.038 149.86 369.882 149.86 0.9 0 1.8-0.002 2.7-0.007h-0.138c18.061 0 36.164-0.9 53.815-2.621 46.26-3.877 85.603-30.288 107.359-68.099l0.351-0.663c11.465-18.932 18.251-41.811 18.251-66.271 0-21.673-5.326-42.101-14.74-60.048l0.339 0.71c-25.269-50.907-28.053-94.524-7.618-119.629 15.881-15.996 37.883-25.896 62.195-25.896 0.509 0 1.018 0.005 1.525 0.013l-0.077-0.002c102.733-3.969 191.177-61.522 238.554-145.355l0.742-1.426c22.922-38.904 36.461-85.71 36.461-135.678 0-51.637-14.459-99.896-39.551-140.951l0.675 1.187zM618.973 861.89c3.845 7.059 6.107 15.462 6.107 24.391 0 10.056-2.868 19.444-7.83 27.388l0.128-0.218c-9.103 16.096-25.545 27.12-44.66 28.534l-0.185 0.012c-15.112 1.516-30.512 2.253-45.664 2.253-1.771 0.025-3.862 0.040-5.956 0.040-240.181 0-435.361-192.678-439.4-431.897l-0.005-0.379c4.027-239.605 199.207-432.297 439.395-432.297 2.097 0 4.193 0.015 6.283 0.044l-0.316-0.003c0.532-0.002 1.162-0.003 1.79-0.003 163.161 0 306.002 86.991 384.676 217.122l1.127 2.010c17.717 28.498 28.22 63.084 28.22 100.122 0 35.863-9.846 69.428-26.986 98.136l0.485-0.877c-34.307 61.717-98.24 103.309-172.074 105.553l-0.306 0.007c-48.885 0.099-92.727 21.606-122.665 55.64l-0.158 0.183c-40.874 50.127-41.609 124.582-2.007 204.239z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Coloring_ic-01"],"grid":0},"attrs":[],"properties":{"order":550,"id":102,"name":"coloring","prevSize":32,"code":59696},"setIdx":0,"setId":31,"iconIdx":104},{"icon":{"paths":["M438.868 768.079v0c0 0-0.001 0-0.001 0-181.817 0-329.209-147.393-329.209-329.209 0 0 0-0.001 0-0.001v0c0-181.818 147.393-329.211 329.211-329.211s329.211 147.393 329.211 329.211c0 181.818-147.393 329.211-329.211 329.211 0 0 0 0 0 0zM785.63 708.031c57.475-73.496 92.163-167.232 92.163-269.070 0-242.373-196.481-438.854-438.854-438.854s-438.854 196.481-438.854 438.854c0 242.373 196.481 438.854 438.854 438.854 101.852 0 195.598-34.697 270.068-92.915l-0.967 0.728 222.372 222.381c9.929 9.929 23.648 16.072 38.801 16.072 30.305 0 54.873-24.568 54.873-54.873 0-15.153-6.141-28.87-16.072-38.801v0zM438.868 237.684v0c-30.301 0.001-54.864 24.566-54.866 54.868v91.453h-91.461c-30.213 0.105-54.675 24.63-54.675 54.868s24.46 54.764 54.685 54.868h91.45v91.455c0.105 30.213 24.63 54.675 54.868 54.675s54.764-24.46 54.868-54.685v-91.447h91.455c30.213-0.105 54.675-24.63 54.675-54.868s-24.46-54.764-54.685-54.868h-91.447v-91.45c0-30.302-24.566-54.868-54.868-54.868z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Zoom_ic-1-01"],"grid":0},"attrs":[],"properties":{"order":547,"id":103,"name":"zoom-in","prevSize":32,"code":59697},"setIdx":0,"setId":31,"iconIdx":105},{"icon":{"paths":["M859.341 404.814c-9.37 9.372-22.317 15.169-36.616 15.169s-27.247-5.797-36.616-15.169l-101.482-101.478-101.482 101.478c-9.371 9.371-22.318 15.168-36.618 15.168-28.601 0-51.787-23.186-51.787-51.787 0-14.301 5.797-27.247 15.168-36.619l101.478-101.478-101.478-101.482c-9.433-9.382-15.271-22.37-15.271-36.723 0-28.601 23.186-51.787 51.787-51.787 14.351 0 27.339 5.837 36.719 15.267l101.486 101.486 101.482-101.482c9.371-9.37 22.317-15.165 36.616-15.165 28.601 0 51.786 23.186 51.786 51.786 0 14.301-5.797 27.248-15.169 36.62l-101.478 101.482 101.478 101.478c9.372 9.371 15.169 22.318 15.169 36.618s-5.797 27.248-15.171 36.619v0zM97.684 788.377c-53.946 0.016-97.671 43.752-97.671 97.699 0 53.958 43.742 97.699 97.699 97.699s97.699-43.742 97.699-97.699v0c-0.071-53.938-43.785-97.644-97.721-97.699h-0.005zM304.841 512.157c-53.96 0.008-97.701 43.753-97.701 97.714 0 53.967 43.748 97.714 97.714 97.714 53.961 0 97.706-43.741 97.714-97.699v0c-0.058-53.949-43.777-97.668-97.721-97.727h-0.005zM512 788.377c-53.958 0-97.699 43.742-97.699 97.699s43.742 97.699 97.699 97.699c53.958 0 97.699-43.742 97.699-97.699v0c-0.074-53.928-43.772-97.625-97.693-97.699h-0.007zM926.313 512.157c-0.004 0-0.009 0-0.015 0-53.967 0-97.714 43.748-97.714 97.714s43.748 97.714 97.714 97.714c53.961 0 97.706-43.741 97.714-97.699v-0.001c-0.066-53.937-43.765-97.647-97.693-97.727h-0.008z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Ignore outlines_ic-01"],"grid":0},"attrs":[],"properties":{"order":492,"id":104,"name":"ignore-outliers","prevSize":32,"code":59698},"setIdx":0,"setId":31,"iconIdx":106},{"icon":{"paths":["M881.535 247.71c8.584-10.572 13.782-24.196 13.782-39.032 0-34.331-27.83-62.162-62.162-62.162-19.343 0-36.621 8.834-48.022 22.688l-0.086 0.107c-88.289 120.153-203.262 215.666-336.531 278.884l-5.374 2.294c-98.4 37.148-212.149 58.654-330.921 58.654-17.585 0-35.059-0.472-52.412-1.402l2.421 0.103c-34.33 0-62.161 27.83-62.161 62.161s27.83 62.161 62.161 62.161v0c15.156 0.758 32.91 1.191 50.765 1.191 135.739 0 265.644-24.976 385.37-70.584l-7.433 2.487c158.193-73.673 289.527-181.594 388.694-314.867l1.909-2.683zM1015.582 322.306c5.281-6.295 8.488-14.485 8.488-23.423 0-20.193-16.37-36.563-36.563-36.563-11.255 0-21.321 5.085-28.028 13.082l-0.047 0.056-327.206 392.226-101.576-65.802c-5.611-3.683-12.489-5.875-19.878-5.875-9.764 0-18.636 3.827-25.193 10.065l0.016-0.015-155.357 147.518-112.309-68.765c-5.436-3.38-12.032-5.383-19.095-5.383-10.117 0-19.275 4.109-25.893 10.751l-124.738 125.134c-6.522 6.601-10.55 15.677-10.55 25.695 0 20.194 16.371 36.565 36.565 36.565 10.058 0 19.168-4.061 25.778-10.633l-0.001 0.001 104.363-104.693 111.621 68.347c5.436 3.38 12.032 5.382 19.095 5.382 9.764 0 18.634-3.827 25.193-10.062l-0.016 0.015 154.816-147.014 104.597 67.762c5.612 3.684 12.491 5.878 19.883 5.878 11.255 0 21.323-5.085 28.030-13.082l0.047-0.056z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Smoothing_ic-01"],"grid":0},"attrs":[],"properties":{"order":493,"id":105,"name":"smoothing","prevSize":32,"code":59699},"setIdx":0,"setId":31,"iconIdx":107},{"icon":{"paths":["M106.038 194.289c0-48.737 39.51-88.247 88.247-88.247 0 0 0 0 0 0h121.12c0.054 0 0.116 0 0.178 0 29.242 0 52.948-23.706 52.948-52.948s-23.706-52.948-52.948-52.948c-0.062 0-0.126 0-0.188 0h-121.11c-107.223 0-194.144 86.921-194.144 194.144v0 121.121c0.102 29.166 23.768 52.77 52.948 52.77s52.847-23.605 52.948-52.76v-0.010zM708.879 0.146c-29.166 0.102-52.77 23.768-52.77 52.948s23.605 52.847 52.76 52.948h121.127c0 0 0.001 0 0.003 0 48.737 0 88.246 39.509 88.246 88.246 0 0 0 0.001 0 0.001v0 121.121c0.102 29.166 23.768 52.77 52.948 52.77s52.847-23.605 52.948-52.76v-121.131c0 0 0 0 0 0 0-107.223-86.921-194.144-194.144-194.144 0 0-0.001 0-0.001 0v0zM106.038 708.883c0-0.054 0-0.116 0-0.178 0-29.242-23.706-52.948-52.948-52.948s-52.948 23.706-52.948 52.948c0 0.062 0 0.126 0 0.188v-0.010 121.117c0 0 0 0 0 0 0 107.223 86.921 194.144 194.144 194.144 0 0 0 0 0.001 0h121.12c29.242 0 52.948-23.706 52.948-52.948s-23.706-52.948-52.948-52.948h-121.12c0 0-0.001 0-0.003 0-48.737 0-88.246-39.509-88.246-88.246 0 0 0-0.001 0-0.001v0zM1024.141 708.883c0-0.054 0-0.116 0-0.178 0-29.242-23.706-52.948-52.948-52.948s-52.948 23.706-52.948 52.948c0 0.062 0 0.126 0 0.188v-0.010 121.117c0 0.001 0 0.003 0 0.004 0 48.736-39.507 88.243-88.243 88.243-0.001 0-0.003 0-0.006 0h-121.117c-29.242 0-52.948 23.706-52.948 52.948s23.706 52.948 52.948 52.948h121.117c0 0 0.001 0 0.001 0 107.223 0 194.142-86.921 194.142-194.142 0-0.001 0-0.001 0-0.003v0zM799.888 369.206c7.547-9.085 12.128-20.868 12.128-33.721 0-29.242-23.706-52.948-52.948-52.948-16.39 0-31.038 7.446-40.751 19.139l-0.071 0.088-186.477 225.734-76.485-76.494c-9.582-9.58-22.818-15.506-37.438-15.506-17.090 0-32.289 8.096-41.97 20.663l-0.092 0.124-152.959 200.024c-6.841 8.832-10.966 20.066-10.966 32.264 0 29.243 23.706 52.95 52.95 52.95 17.133 0 32.366-8.137 42.043-20.759l0.093-0.126 116.228-151.99 74.895 74.903c9.583 9.58 22.819 15.507 37.441 15.507 16.39 0 31.041-7.446 40.754-19.141l0.071-0.086z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Highlight mode_ic-01"],"grid":0},"attrs":[],"properties":{"order":494,"id":106,"name":"highlight-mode","prevSize":32,"code":59700},"setIdx":0,"setId":31,"iconIdx":108},{"icon":{"paths":["M36.572 128.004h950.856c20.198 0 36.572 16.374 36.572 36.572v0 146.286c0 20.198-16.374 36.572-36.572 36.572h-950.856c-20.198 0-36.572-16.374-36.572-36.572v0-146.286c0.001-20.198 16.374-36.57 36.572-36.57 0 0 0 0 0 0v0zM29.257 420.577h965.484c0 0 0 0 0 0 16.159 0 29.256 13.099 29.256 29.256v87.769c0 16.159-13.099 29.256-29.256 29.256 0 0 0 0 0 0h-965.484c0 0 0 0 0 0-16.159 0-29.256-13.099-29.256-29.256v0-87.772c0-16.157 13.099-29.255 29.256-29.255 0 0 0 0 0 0v0zM21.943 640.005h980.113c12.118 0 21.943 9.824 21.943 21.943v0 65.828c0 12.118-9.824 21.943-21.943 21.943h-980.113c-12.118 0-21.943-9.824-21.943-21.943v0-65.829c0-12.118 9.824-21.943 21.943-21.943v0zM14.63 822.861h994.742c8.079 0 14.629 6.55 14.629 14.629v0 43.885c0 8.079-6.55 14.629-14.629 14.629h-994.742c-8.079 0-14.629-6.55-14.629-14.629v0-43.885c0 0 0-0.001 0-0.001 0-8.079 6.55-14.629 14.629-14.629v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Axes scale_ic-01"],"grid":0},"attrs":[],"properties":{"order":495,"id":107,"name":"axes-scale","prevSize":32,"code":59701},"setIdx":0,"setId":31,"iconIdx":109},{"icon":{"paths":["M1023.916 783.765c0 0.003 0 0.005 0 0.008 0 10.572-4.891 20.003-12.536 26.151l-0.065 0.050-167.841 134.274c-5.691 4.584-13.006 7.357-20.971 7.357-18.537 0-33.564-15.027-33.564-33.564 0-0.001 0-0.001 0-0.003v0-83.921h-738.501c-0.050 0-0.111 0-0.17 0-27.809 0-50.352-22.543-50.352-50.352s22.543-50.352 50.352-50.352c0.059 0 0.12 0 0.18 0h738.491v-83.921c0-0.001 0-0.001 0-0.003 0-18.537 15.027-33.564 33.564-33.564 7.963 0 15.28 2.774 21.036 7.408l-0.065-0.050 167.841 134.274c7.708 6.198 12.601 15.627 12.601 26.198 0 0.003 0 0.005 0 0.008v0zM174.773 178.732c4.588 2.043 9.943 3.232 15.574 3.232 0.189 0 0.377-0.001 0.565-0.004h-0.028c5.807-0.182 11.332-1.054 16.601-2.533l-0.486 0.116c4.491-1.646 9.696-2.794 15.105-3.216l0.204-0.012c10.644 0.235 20.252 4.488 27.405 11.297l-0.018-0.016c10.44 9.124 19.487 19.451 27.040 30.853l0.351 0.565q14.497 20.948 45.115 69.284l23.368 37.061q-55.592 72.506-88.621 111.981c-15.762 20.413-32.951 38.368-51.853 54.361l-0.516 0.426c-10.169 9.325-19.183 19.618-26.99 30.815l-0.397 0.603c-3.56 4.63-6.552 9.955-8.721 15.684l-0.142 0.428c0.969 11.56 5.692 21.865 12.93 29.846l-0.038-0.042c7.32 8.87 18.31 14.487 30.612 14.503h0.003c6.366-0.162 12.453-1.034 18.285-2.54l-0.562 0.123c6.179-1.685 11.563-4.456 16.207-8.123l-0.095 0.072c21.48-20.74 41.505-42.551 60.165-65.517l1.062-1.348q33.836-41.895 84.596-108.758c28.946 48.312 58.46 89.884 90.814 129.024l-1.392-1.733c17.764 24.004 45.044 40.094 76.157 42.672l0.381 0.026c0.966 0.030 2.101 0.047 3.241 0.047 17.246 0 33.585-3.879 48.192-10.813l-0.682 0.292c12.483-5.921 20.961-18.421 20.961-32.902 0-0.328-0.004-0.654-0.014-0.981l0.001 0.049c0.016-0.295 0.026-0.639 0.026-0.985 0-6.702-3.52-12.58-8.811-15.89l-0.078-0.046c-7.87-4.575-16.971-8.427-26.567-11.086l-0.821-0.195c-9.539-2.556-17.84-5.857-25.637-9.983l0.659 0.319c-20.913-13.167-38.356-29.841-51.983-49.374l-0.382-0.58q-27.393-37.056-71.701-109.563 48.339-63.643 83.783-106.344c20.296-24.892 41.116-47.24 63.303-68.153l0.349-0.326c5.648-12.294 9.157-26.622 9.66-41.712l0.005-0.182c0.039-0.65 0.062-1.409 0.062-2.174 0-9.328-3.375-17.869-8.971-24.466l0.045 0.054c-5.283-6.454-13.25-10.541-22.172-10.541-0.703 0-1.4 0.026-2.089 0.076l0.092-0.005c-0.168-0.003-0.365-0.003-0.563-0.003-8.977 0-17.394 2.393-24.65 6.576l0.239-0.127c-11.778 8.236-21.872 17.819-30.384 28.698l-0.231 0.305q-33.028 37.054-112.786 145.013-36.259-62.035-57.205-91.034c-12.174-18-26.874-33.213-43.794-45.565l-0.515-0.358c-15.346-10.609-34.349-16.946-54.835-16.946-0.831 0-1.659 0.011-2.485 0.031l0.123-0.003c-1.571-0.082-3.412-0.13-5.263-0.13-18.745 0-36.365 4.823-51.686 13.296l0.55-0.278c-11.422 6.052-20.533 15.162-26.418 26.245l-0.165 0.34c-2.040 3.724-3.241 8.158-3.241 12.872 0 0.289 0.004 0.577 0.014 0.863l-0.001-0.042c0.312 12.487 8.599 22.957 19.944 26.531l0.203 0.055z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["X axis_ic-01"],"grid":0},"attrs":[],"properties":{"order":496,"id":108,"name":"x-axis","prevSize":32,"code":59702},"setIdx":0,"setId":31,"iconIdx":110},{"icon":{"paths":["M639.998-0.001h-255.995c-70.692 0-127.998 57.306-127.998 127.998v0 768.004c0 70.692 57.306 127.998 127.998 127.998v0h255.995c70.692 0 127.998-57.306 127.998-127.998v0-768.001c-0.001-70.692-57.306-127.998-127.998-127.999v0zM639.998 928.001h-255.995c0 0 0 0 0 0-17.673 0-32-14.327-32-32 0 0 0 0 0 0v0-47.999h127.998c26.436-0.098 47.829-21.55 47.829-48.001s-21.392-47.901-47.818-48.001h-128.008v-96.001h127.998c26.51 0 48.001-21.491 48.001-48.001s-21.491-48.001-48.001-48.001v0h-127.998v-96h127.998c26.51 0 48.001-21.491 48.001-48.001s-21.491-48.001-48.001-48.001v0h-127.998v-96h127.998c26.436-0.098 47.829-21.55 47.829-48.001s-21.392-47.901-47.818-48.001h-128.007v-48.001c0 0 0 0 0 0 0-17.673 14.327-32 32-32 0.001 0 0.003 0 0.003 0h255.995c17.672 0.003 31.997 14.328 32 32v0 768.001c-0.003 17.672-14.328 31.997-32 32v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Indicator_ic-01"],"grid":0},"attrs":[],"properties":{"order":497,"id":109,"name":"indicator","prevSize":32,"code":59703},"setIdx":0,"setId":31,"iconIdx":111},{"icon":{"paths":["M747.131 616.42c-2.437-1.654-5.233-3.079-8.202-4.141l-0.261-0.081 124.904-277.567 118.378-71.028c11.342-6.841 18.81-19.095 18.81-33.094 0-21.272-17.244-38.516-38.516-38.516-7.365 0-14.246 2.067-20.096 5.651l0.168-0.095-274.672 164.807-276.726-221.382c-6.529-5.258-14.924-8.439-24.060-8.439-10.635 0-20.263 4.311-27.234 11.28l-297.638 297.643c-6.97 6.97-11.281 16.599-11.281 27.235s4.311 20.265 11.281 27.235v0c2.952 2.761 6.375 5.069 10.126 6.782l0.237 0.097-46.425 103.159c-1.071 2.323-1.697 5.041-1.697 7.904 0 10.637 8.623 19.26 19.26 19.26 7.773 0 14.471-4.606 17.514-11.236l0.050-0.12 57.635-128.073 133.301-133.302-193.845 430.759c-3.163 6.286-5.707 13.582-7.262 21.238l-0.097 0.567c-0.609 2.802-0.958 6.021-0.958 9.322 0 9.255 2.742 17.87 7.459 25.075l-0.107-0.174c7.008 10.401 18.741 17.15 32.052 17.15 7.96 0 15.356-2.414 21.497-6.551l-0.137 0.088 161.727-107.823 278.823 111.532c4.234 1.741 9.15 2.751 14.302 2.751 10.637 0 20.267-4.308 27.243-11.276v0l154.962-154.962 211.387 158.536c6.351 4.891 14.419 7.839 23.175 7.839 21.084 0 38.176-17.092 38.176-38.176 0-6.105-1.433-11.876-3.982-16.995l0.1 0.221 30.030-66.735c1.071-2.323 1.697-5.039 1.697-7.904 0-10.636-8.623-19.26-19.26-19.26-7.773 0-14.471 4.606-17.514 11.236l-0.050 0.12-24.439 54.314-54.826-41.121 79.251-176.111c1.072-2.323 1.697-5.041 1.697-7.904 0-10.636-8.621-19.257-19.257-19.257-7.772 0-14.468 4.604-17.511 11.234l-0.050 0.12-75.71 168.237-54.788-41.093 148.413-329.785c1.071-2.323 1.697-5.041 1.697-7.904 0-10.637-8.624-19.261-19.261-19.261-7.774 0-14.474 4.606-17.516 11.238l-0.050 0.12-144.859 321.913-47.060-35.295zM92.627 763.925l216.154-480.331 60.934-60.934 29.263 23.41-201.621 448.035zM262.109 671.002c-3.24-1.011-6.965-1.594-10.827-1.594-0.204 0-0.407 0.001-0.611 0.005h0.031l179.326-398.499 53.918 43.133-169.965 377.704zM349.77 706.065l165.235-367.172 53.895 43.114-157.017 348.905zM509.812 770.084l-62.132-24.855 152.273-338.379 40.481 32.385c4.407 3.026 9.663 5.159 15.337 6.016l0.206 0.025zM556.424 760.366l148.845-330.757 100.437-60.261-115.971 257.708z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Aggrigation_ic-01"],"grid":0},"attrs":[],"properties":{"order":498,"id":110,"name":"aggregation","prevSize":32,"code":59704},"setIdx":0,"setId":31,"iconIdx":112},{"icon":{"paths":["M438.886 768.021v0c0 0-0.001 0-0.001 0-181.775 0-329.134-147.358-329.134-329.134 0 0 0-0.001 0-0.001v0c0-181.777 147.359-329.136 329.136-329.136s329.136 147.359 329.136 329.136c0 181.777-147.359 329.136-329.136 329.136 0 0 0 0 0 0zM785.568 707.985c57.463-73.479 92.142-167.193 92.142-269.007 0-242.317-196.436-438.754-438.754-438.754s-438.754 196.436-438.754 438.754c0 242.317 196.436 438.754 438.754 438.754 101.828 0 195.554-34.688 270.005-92.894l-0.967 0.728 222.321 222.328c9.95 10.071 23.762 16.309 39.029 16.309 30.297 0 54.858-24.56 54.858-54.858 0-15.268-6.237-29.079-16.303-39.025l-0.006-0.006zM237.746 438.886v0c0 30.295 24.56 54.855 54.855 54.855h292.566c30.297 0 54.855-24.56 54.855-54.855s-24.56-54.855-54.855-54.855h-292.566c-30.295 0-54.855 24.56-54.855 54.855z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Zoom_ic-01"],"grid":0},"attrs":[],"properties":{"order":499,"id":111,"name":"zoom-out","prevSize":32,"code":59705},"setIdx":0,"setId":31,"iconIdx":113},{"icon":{"paths":["M655.986 259.756l-120.47 150.589c-5.564 6.916-14.027 11.305-23.514 11.305s-17.951-4.389-23.469-11.246l-0.045-0.058-120.475-150.589c-4.111-5.105-6.599-11.668-6.599-18.813 0-16.633 13.484-30.117 30.117-30.117h90.353v-180.706c0-16.633 13.484-30.117 30.117-30.117s30.117 13.484 30.117 30.117v0 180.706h90.353c0.001 0 0.003 0 0.006 0 16.631 0 30.113 13.482 30.113 30.113 0 7.146-2.489 13.713-6.649 18.875l0.045-0.058zM655.986 764.251l-120.47-150.589c-5.564-6.916-14.027-11.305-23.514-11.305s-17.951 4.389-23.469 11.246l-0.045 0.058-120.475 150.589c-4.111 5.105-6.599 11.668-6.599 18.813 0 16.633 13.484 30.117 30.117 30.117h90.353v180.706c0 16.633 13.484 30.117 30.117 30.117s30.117-13.484 30.117-30.117v0-180.706h90.353c0.001 0 0.003 0 0.006 0 16.631 0 30.113-13.482 30.113-30.113 0-7.146-2.489-13.713-6.649-18.875l0.045 0.058zM873.413 466.828h-722.826c-24.95 0-45.177 20.226-45.177 45.177s20.226 45.177 45.177 45.177v0h722.826c24.95 0 45.177-20.226 45.177-45.177s-20.226-45.177-45.177-45.177v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Collaps_inside_ic-01"],"grid":0},"attrs":[],"properties":{"order":500,"id":112,"name":"collapse-inside","prevSize":32,"code":59706},"setIdx":0,"setId":31,"iconIdx":114},{"icon":{"paths":["M659.617 193.757c-4.978 10.182-15.257 17.070-27.147 17.070h-90.353v180.706c0 16.633-13.484 30.117-30.117 30.117s-30.117-13.484-30.117-30.117v0-180.706h-90.353c0 0-0.001 0-0.001 0-16.633 0-30.117-13.484-30.117-30.117 0-7.146 2.489-13.711 6.647-18.874l-0.045 0.058 120.474-150.589c5.565-6.915 14.027-11.301 23.514-11.301s17.949 4.388 23.469 11.243l0.045 0.058 120.47 150.589c4.114 5.106 6.603 11.672 6.603 18.82 0 4.744-1.096 9.23-3.049 13.221l0.079-0.178zM659.617 830.25c-4.978-10.182-15.257-17.070-27.147-17.070h-90.353v-180.706c0-16.633-13.484-30.117-30.117-30.117s-30.117 13.484-30.117 30.117v0 180.706h-90.353c-16.633 0-30.117 13.485-30.117 30.117 0 7.145 2.488 13.707 6.644 18.871l-0.045-0.058 120.474 150.589c5.564 6.916 14.027 11.305 23.514 11.305s17.951-4.389 23.469-11.246l0.045-0.058 120.47-150.589c4.114-5.106 6.603-11.671 6.603-18.817 0-4.742-1.096-9.229-3.049-13.22l0.079 0.178zM873.411 466.828h-722.823c-24.95 0-45.176 20.226-45.176 45.176s20.226 45.176 45.176 45.176v0h722.823c24.95 0 45.176-20.226 45.176-45.176s-20.226-45.176-45.176-45.176v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Collaps_outside_ic-01"],"grid":0},"attrs":[],"properties":{"order":501,"id":113,"name":"collapse-outside","prevSize":32,"code":59707},"setIdx":0,"setId":31,"iconIdx":115},{"icon":{"paths":["M324.781 16.96c-10.291-10.303-24.513-16.675-40.225-16.675-31.4 0-56.855 25.455-56.855 56.855 0 15.712 6.373 29.934 16.675 40.225v0l227.421 227.421c10.287 10.289 24.501 16.653 40.2 16.653s29.913-6.364 40.2-16.653l227.421-227.421c10.47-10.317 16.959-24.654 16.959-40.506 0-31.4-25.455-56.855-56.855-56.855-15.85 0-30.187 6.487-40.497 16.948l-187.226 187.226zM699.221 1007.047c10.245 10.035 24.284 16.227 39.772 16.227 31.4 0 56.855-25.455 56.855-56.855 0-15.488-6.192-29.527-16.236-39.783l-227.412-227.412c-10.287-10.289-24.501-16.653-40.2-16.653s-29.913 6.364-40.2 16.653l-227.421 227.421c-10.47 10.317-16.955 24.654-16.955 40.504 0 31.4 25.455 56.855 56.855 56.855 15.852 0 30.188-6.487 40.499-16.952l187.222-187.221z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Arrow bidirectional_close_ic-01"],"grid":0},"attrs":[],"properties":{"order":502,"id":114,"name":"arrow-bidirectional-close","prevSize":32,"code":59708},"setIdx":0,"setId":31,"iconIdx":116},{"icon":{"paths":["M699.332 324.675c10.324 10.476 24.668 16.965 40.528 16.965 31.419 0 56.889-25.47 56.889-56.889 0-15.861-6.491-30.206-16.962-40.523l-227.563-227.563c-10.293-10.295-24.516-16.663-40.224-16.663s-29.931 6.368-40.224 16.663l-227.556 227.556c-10.423 10.316-16.878 24.626-16.878 40.441 0 31.419 25.47 56.889 56.889 56.889 15.817 0 30.124-6.455 40.436-16.873l187.335-187.335zM324.67 699.335c-10.263-10.116-24.364-16.361-39.924-16.361-31.419 0-56.889 25.47-56.889 56.889 0 15.557 6.245 29.657 16.366 39.927l227.549 227.549c10.293 10.295 24.516 16.663 40.224 16.663s29.931-6.368 40.224-16.663l227.556-227.556c10.041-10.251 16.236-24.299 16.236-39.796 0-31.419-25.47-56.889-56.889-56.889-15.497 0-29.545 6.196-39.806 16.245l-187.321 187.316z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Arrow bidirectional_open_ic-01"],"grid":0},"attrs":[],"properties":{"order":503,"id":115,"name":"arrow-bidirectional-open","prevSize":32,"code":59709},"setIdx":0,"setId":31,"iconIdx":117},{"icon":{"paths":["M340.815 665.327c2.092 4.252 3.316 9.257 3.316 14.546 0 7.963-2.773 15.28-7.408 21.035l0.050-0.065-134.294 167.869c-6.204 7.71-15.64 12.601-26.217 12.601s-20.012-4.891-26.167-12.537l-0.050-0.065-134.294-167.869c-4.583-5.691-7.356-13.007-7.356-20.972 0-18.542 15.031-33.573 33.573-33.573h83.934v-268.59h-83.934c0 0-0.002 0-0.002 0-18.542 0-33.573-15.031-33.573-33.573 0-7.966 2.775-15.284 7.409-21.040l-0.050 0.065 134.294-167.869c6.205-7.708 15.64-12.598 26.217-12.598s20.012 4.89 26.167 12.533l0.050 0.065 134.294 167.869c4.584 5.692 7.359 13.010 7.359 20.975 0 18.542-15.031 33.573-33.573 33.573 0 0-0.002 0-0.002 0h-83.934v268.59h83.934c13.253 0 24.711 7.68 30.171 18.83l0.088 0.198zM982.032 159.481h-537.179c-27.813 0-50.361 22.547-50.361 50.361s22.547 50.361 50.361 50.361h537.179c27.813 0 50.361-22.547 50.361-50.361s-22.547-50.361-50.361-50.361v0zM982.032 360.923h-537.179c-27.813 0-50.361 22.547-50.361 50.361s22.547 50.361 50.361 50.361v0h537.179c27.813 0 50.361-22.547 50.361-50.361s-22.547-50.361-50.361-50.361v0zM982.032 562.365h-537.179c-27.813 0-50.361 22.547-50.361 50.361s22.547 50.361 50.361 50.361v0h537.179c27.813 0 50.361-22.547 50.361-50.361s-22.547-50.361-50.361-50.361v0zM982.032 763.807h-537.179c-27.813 0-50.361 22.547-50.361 50.361s22.547 50.361 50.361 50.361v0h537.179c27.813 0 50.361-22.547 50.361-50.361s-22.547-50.361-50.361-50.361v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Row height_ic-01"],"grid":0},"attrs":[],"properties":{"order":504,"id":116,"name":"row-height","prevSize":32,"code":59711},"setIdx":0,"setId":31,"iconIdx":118},{"icon":{"paths":["M918.074 194.207v706.217c0 68.255-55.332 123.588-123.588 123.588v0h-564.973c-68.255 0-123.588-55.332-123.588-123.588v0-706.217c0-68.255 55.332-123.588 123.588-123.588v0 105.933c-9.751 0-17.656 7.905-17.656 17.656v0 706.217c0 9.751 7.905 17.656 17.656 17.656v0h564.973c0.002 0 0.003 0 0.005 0 9.749 0 17.651-7.902 17.651-17.651 0-0.002 0-0.003 0-0.005v0-706.217c0-9.751-7.905-17.656-17.656-17.656v0-105.933c68.255 0 123.588 55.332 123.588 123.588v0zM776.831 264.845v-141.243c-0.086-68.221-55.366-123.502-123.58-123.588h-282.496c-68.221 0.086-123.502 55.366-123.588 123.58v141.251c0.086 68.221 55.366 123.502 123.58 123.588h282.496c68.221-0.086 123.502-55.366 123.588-123.58v-0.008zM653.243 105.946c9.742 0.020 17.636 7.912 17.656 17.654v141.244c-0.020 9.742-7.912 17.636-17.654 17.656h-282.489c-9.742-0.020-17.636-7.912-17.656-17.654v-141.244c0.020-9.742 7.912-17.636 17.654-17.656h0.002z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Copy_ic-01"],"grid":0},"attrs":[],"properties":{"order":505,"id":117,"name":"copy","prevSize":32,"code":59713},"setIdx":0,"setId":31,"iconIdx":119},{"icon":{"paths":["M0.091 201.202c0-50.485 40.926-91.412 91.412-91.412v0h841.103c50.485 0 91.412 40.926 91.412 91.412s-40.926 91.412-91.412 91.412h-841.103c-50.485 0-91.412-40.926-91.412-91.412v0zM0.158 512.005c0-50.485 40.926-91.412 91.412-91.412v0h841.11c50.485 0 91.412 40.926 91.412 91.412s-40.926 91.412-91.412 91.412v0h-841.11c-50.485 0-91.412-40.926-91.412-91.412v0zM91.569 731.321c-50.485 0-91.412 40.926-91.412 91.412s40.926 91.412 91.412 91.412h841.11c50.485 0 91.412-40.926 91.412-91.412s-40.926-91.412-91.412-91.412v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Menu_ic-01"],"grid":0},"attrs":[],"properties":{"order":506,"id":118,"name":"menu","prevSize":32,"code":59714},"setIdx":0,"setId":31,"iconIdx":120},{"icon":{"paths":["M-0.001 891.875c0 27.365 22.184 49.548 49.548 49.548v0h924.903c27.365 0 49.548-22.184 49.548-49.548v0-132.129c0-27.365-22.184-49.548-49.548-49.548s-49.548 22.184-49.548 49.548v0 82.58h-825.806v-82.58c0-27.365-22.184-49.548-49.548-49.548s-49.548 22.184-49.548 49.548v0zM314.955 437.523c-8.846-8.337-20.799-13.459-33.95-13.459-27.365 0-49.548 22.184-49.548 49.548 0 13.991 5.799 26.626 15.123 35.636l0.014 0.014 231.179 220.292c8.874 8.465 20.92 13.675 34.182 13.675s25.307-5.209 34.201-13.694l-0.020 0.019 231.179-220.292c9.267-9.013 15.018-21.602 15.018-35.534 0-27.365-22.184-49.548-49.548-49.548-13.090 0-24.996 5.077-33.854 13.369l0.028-0.026-147.456 140.505v-445.895c0-27.365-22.184-49.548-49.548-49.548s-49.548 22.184-49.548 49.548v0 445.895z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Download_ic-01"],"grid":0},"attrs":[],"properties":{"order":549,"id":119,"name":"download","prevSize":32,"code":59715},"setIdx":0,"setId":31,"iconIdx":121},{"icon":{"paths":["M-0.001 891.875c0 27.365 22.184 49.548 49.548 49.548v0h924.903c27.365 0 49.548-22.184 49.548-49.548v0-132.129c0-27.365-22.184-49.548-49.548-49.548s-49.548 22.184-49.548 49.548v0 82.58h-825.806v-82.58c0-27.365-22.184-49.548-49.548-49.548s-49.548 22.184-49.548 49.548v0zM708.958 388.292c8.835 8.287 20.755 13.378 33.863 13.378 27.365 0 49.548-22.184 49.548-49.548 0-13.949-5.765-26.553-15.043-35.559l-0.012-0.012-231.179-220.289c-8.874-8.468-20.919-13.678-34.182-13.678s-25.308 5.21-34.201 13.697l0.020-0.019-231.179 220.289c-9.375 9.029-15.199 21.69-15.199 35.71 0 27.365 22.184 49.548 49.548 49.548 13.18 0 25.16-5.147 34.035-13.539l-0.023 0.022 147.451-140.504v445.894c0 27.365 22.184 49.548 49.548 49.548s49.548-22.184 49.548-49.548v0-445.894z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Upload_ic-01"],"grid":0},"attrs":[],"properties":{"order":548,"id":120,"name":"upload","prevSize":32,"code":59716},"setIdx":0,"setId":31,"iconIdx":122},{"icon":{"paths":["M292.911 894.749c3.955 3.955 6.4 9.419 6.4 15.455 0 9.673-6.284 17.879-14.993 20.758l-0.154 0.044-241.568 77.925c-2.005 0.669-4.314 1.055-6.711 1.055-12.071 0-21.858-9.787-21.858-21.858 0-2.398 0.386-4.706 1.1-6.865l-0.044 0.154 77.925-241.566c2.924-8.864 11.13-15.151 20.806-15.151 6.035 0 11.497 2.445 15.455 6.398v0zM688.763 150.282c-3.955-3.955-9.419-6.4-15.455-6.4s-11.497 2.445-15.455 6.4l-466.765 466.765c-3.955 3.955-6.4 9.419-6.4 15.455s2.445 11.497 6.4 15.455l185.471 185.471c3.955 3.956 9.421 6.403 15.458 6.403s11.502-2.447 15.458-6.403l466.756-466.761c3.958-3.955 6.407-9.419 6.407-15.456s-2.449-11.501-6.407-15.456v0zM1018.032 176.381c-2.766-6.361-6.586-11.774-11.296-16.262l-0.021-0.019-142.805-142.805c-8.994-9.44-21.663-15.309-35.701-15.309s-26.706 5.871-35.683 15.29l-0.019 0.021-30.444 30.444c-3.955 3.955-6.402 9.419-6.402 15.456s2.447 11.501 6.402 15.456l183.292 183.296c3.956 3.955 9.421 6.4 15.458 6.4s11.501-2.445 15.458-6.4l30.444-30.448c9.44-8.99 15.311-21.656 15.311-35.691 0-7.022-1.469-13.701-4.117-19.746l0.123 0.316z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Edit_ic-01"],"grid":0},"attrs":[],"properties":{"order":507,"id":121,"name":"edit","prevSize":32,"code":59717},"setIdx":0,"setId":31,"iconIdx":123},{"icon":{"paths":["M768.018 438.857v0c0-181.794-147.372-329.166-329.166-329.166v0c-181.794 0-329.166 147.372-329.166 329.166s147.372 329.166 329.166 329.166c181.794 0 329.166-147.372 329.166-329.166zM707.986 785.573c-73.507 57.498-167.263 92.199-269.124 92.199-242.386 0-438.878-196.493-438.878-438.878s196.493-438.878 438.878-438.878c242.386 0 438.878 196.493 438.878 438.878 0 101.846-34.691 195.59-92.902 270.059l0.729-0.967 222.348 222.348c9.928 9.928 16.069 23.643 16.069 38.794 0 30.3-24.562 54.863-54.863 54.863-15.15 0-28.865-6.141-38.794-16.069v0zM438.851 383.995v0c-30.299 0-54.861 24.562-54.861 54.861v146.296c0 30.299 24.562 54.861 54.861 54.861s54.861-24.562 54.861-54.861v-146.296c0-30.299-24.562-54.861-54.861-54.861zM438.851 329.134v0c-30.299 0-54.861-24.562-54.861-54.861v0c0-30.299 24.562-54.861 54.861-54.861s54.861 24.562 54.861 54.861c0 30.299-24.562 54.861-54.861 54.861z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Search_info_ic-01"],"grid":0},"attrs":[],"properties":{"order":508,"id":122,"name":"search-info","prevSize":32,"code":59718},"setIdx":0,"setId":31,"iconIdx":124},{"icon":{"paths":["M768.018 438.857v0c0-181.794-147.372-329.166-329.166-329.166v0c-181.794 0-329.166 147.372-329.166 329.166s147.372 329.166 329.166 329.166c181.794 0 329.166-147.372 329.166-329.166zM707.986 785.573c-73.507 57.498-167.263 92.199-269.124 92.199-242.386 0-438.878-196.493-438.878-438.878s196.493-438.878 438.878-438.878c242.386 0 438.878 196.493 438.878 438.878 0 101.846-34.691 195.59-92.902 270.059l0.729-0.967 222.348 222.348c9.928 9.928 16.069 23.643 16.069 38.794 0 30.3-24.562 54.863-54.863 54.863-15.15 0-28.865-6.141-38.794-16.069v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Search_ic-01"],"grid":0},"attrs":[],"properties":{"order":509,"id":123,"name":"search","prevSize":32,"code":59719},"setIdx":0,"setId":31,"iconIdx":125},{"icon":{"paths":["M219.428 73.148v0c-80.791 0-146.285 65.494-146.285 146.285v73.143h877.715v-73.143c0-80.791-65.494-146.285-146.285-146.285h-585.143zM-0.001 292.576v-73.143c0-121.186 98.242-219.429 219.429-219.429v0h585.143c121.186 0 219.429 98.242 219.429 219.429v0 585.143c0 0.002 0 0.003 0 0.005 0 121.185-98.239 219.424-219.424 219.424-0.002 0-0.003 0-0.005 0h-585.143c-121.186 0-219.429-98.242-219.429-219.429v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Table_resize_maximaze_ic-01"],"grid":0},"attrs":[],"properties":{"order":510,"id":124,"name":"table-resize-maximize","prevSize":32,"code":59720},"setIdx":0,"setId":31,"iconIdx":126},{"icon":{"paths":["M219.428 73.148v0c-80.791 0-146.285 65.494-146.285 146.285v512.001h877.715v-512.001c0-80.791-65.494-146.285-146.285-146.285h-585.143zM-0.001 731.434v-512.001c0-121.186 98.242-219.429 219.429-219.429v0h585.143c121.186 0 219.429 98.242 219.429 219.429v0 585.143c0 0.002 0 0.003 0 0.005 0 121.185-98.239 219.424-219.424 219.424-0.002 0-0.003 0-0.005 0h-585.143c-121.186 0-219.429-98.242-219.429-219.429v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Table_resize_hide_ic-01"],"grid":0},"attrs":[],"properties":{"order":511,"id":125,"name":"table-resize-hide","prevSize":32,"code":59721},"setIdx":0,"setId":31,"iconIdx":127},{"icon":{"paths":["M219.428 73.148v0c-80.791 0-146.285 65.494-146.285 146.285v292.572h877.715v-292.572c0-80.791-65.494-146.285-146.285-146.285h-585.143zM-0.001 512.005v-292.572c0-121.186 98.242-219.429 219.429-219.429v0h585.143c121.186 0 219.429 98.242 219.429 219.429v0 585.143c0 0.002 0 0.003 0 0.005 0 121.185-98.239 219.424-219.424 219.424-0.002 0-0.003 0-0.005 0h-585.143c-121.186 0-219.429-98.242-219.429-219.429v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Table_resize_resizable_ic-01"],"grid":0},"attrs":[],"properties":{"order":512,"id":126,"name":"table-resize-resizable","prevSize":32,"code":59722},"setIdx":0,"setId":31,"iconIdx":128},{"icon":{"paths":["M568.769 56.784c0-31.373-25.433-56.807-56.807-56.807s-56.807 25.433-56.807 56.807v0 398.385h-398.383c-31.373 0-56.807 25.433-56.807 56.807s25.433 56.807 56.807 56.807v0h398.383v398.388c0 31.373 25.433 56.807 56.807 56.807s56.807-25.433 56.807-56.807v0-398.388h398.388c31.373 0 56.807-25.433 56.807-56.807s-25.433-56.807-56.807-56.807v0h-398.388z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Plus_ic-01"],"grid":0},"attrs":[],"properties":{"order":513,"id":127,"name":"plus","prevSize":32,"code":59723},"setIdx":0,"setId":31,"iconIdx":129},{"icon":{"paths":["M512 1024.019c-282.77 0-512-229.23-512-512s229.23-512 512-512c282.77 0 512 229.23 512 512v0c-0.335 282.636-229.365 511.667-511.968 512h-0.032zM512 128.019c-212.078 0-384 171.923-384 384s171.923 384 384 384c212.078 0 384-171.923 384-384v0c-0.239-211.982-172.019-383.76-383.976-384h-0.024zM512 400.004v0c61.856 0 112.001 50.144 112.001 112.001v0 0c0 61.856-50.144 112.001-112.001 112.001v0 0c-61.856 0-112.001-50.144-112.001-112.001v0 0c0-61.856 50.144-112.001 112.001-112.001v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Runs_ic-01"],"grid":0},"attrs":[],"properties":{"order":514,"id":128,"name":"circle-with-dot","prevSize":32,"code":59724},"setIdx":0,"setId":31,"iconIdx":130},{"icon":{"paths":["M831.999 0.004v0c106.038 0 192 85.962 192 192v640c0 0.001 0 0.003 0 0.004 0 106.036-85.959 191.995-191.995 191.995-0.001 0-0.003 0-0.004 0h-640c-106.038 0-192-85.962-192-192v-640c0-106.038 85.962-192 192-192zM804.717 370.112c7.017-8.292 11.284-19.107 11.284-30.918 0-26.509-21.49-48.001-48.001-48.001-14.698 0-27.853 6.606-36.658 17.011l-0.058 0.070-260.614 309.484-145.984-131.385c-8.5-7.777-19.872-12.544-32.355-12.544-26.509 0-48 21.49-48 48 0 14.257 6.216 27.064 16.087 35.856l0.048 0.042 182.859 164.569c8.467 7.647 19.744 12.325 32.112 12.325 14.697 0 27.85-6.606 36.655-17.010l0.058-0.070z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Check_rectangle_ic-01"],"grid":0},"attrs":[],"properties":{"order":515,"id":129,"name":"check-rectangle","prevSize":32,"code":59725},"setIdx":0,"setId":31,"iconIdx":131},{"icon":{"paths":["M375.392 874.29c10.978 11.519 26.439 18.681 43.572 18.681 18.368 0 34.812-8.233 45.848-21.21l0.071-0.086 542.912-641.631c9.098-10.482 14.644-24.26 14.644-39.335 0-33.221-26.932-60.153-60.153-60.153-18.591 0-35.21 8.433-46.245 21.683l-0.079 0.098-499.636 590.466-293.118-307.924c-10.978-11.515-26.437-18.677-43.568-18.677-33.221 0-60.155 26.932-60.155 60.155 0 16.090 6.317 30.706 16.609 41.501l-0.023-0.024 339.316 356.455z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"2102122201284082165751091":[],"20115230165751091":[]},"tags":["Check_ic-01"],"grid":0},"attrs":[],"properties":{"order":516,"id":130,"name":"check","prevSize":32,"code":59747},"setIdx":0,"setId":31,"iconIdx":132},{"icon":{"paths":["M996.075 624.001h-33.075c-4.647-13.098-12.476-24.833-22.776-34.142v-267.713c15.113-13.653 24.704-32.384 26.97-52.65l36.621-10.595c7.095-2.078 13.082-6.887 16.644-13.38s4.412-14.139 2.364-21.257c-2.052-7.121-6.831-13.137-13.295-16.73s-14.085-4.467-21.192-2.436l-33.57 9.707c-4.074-6.272-8.964-11.973-14.541-16.952v-115.188c0-4.95-1.962-9.698-5.453-13.199s-8.226-5.468-13.163-5.468h-74.466c-4.941 0-9.672 1.967-13.167 5.468-3.491 3.501-5.453 8.249-5.453 13.199v115.188c-8.661 7.74-15.617 17.211-20.417 27.81-4.8 10.595-7.335 22.080-7.446 33.716l-220.703 63.834c-3.537-4.872-7.583-9.353-12.071-13.359v-227.188c0-4.95-1.962-9.698-5.453-13.199s-8.226-5.468-13.163-5.468h-74.466c-4.937 0-9.672 1.967-13.163 5.468s-5.453 8.249-5.453 13.199v227.18c-4.493 4.011-8.538 8.49-12.075 13.368l-220.699-63.834c-0.111-11.636-2.646-23.121-7.446-33.72-4.796-10.599-11.751-20.070-20.417-27.815v-115.179c0-4.95-1.962-9.699-5.453-13.199-3.495-3.501-8.231-5.468-13.167-5.468h-74.465c-4.938 0-9.672 1.967-13.164 5.468s-5.453 8.249-5.453 13.199v115.179c-5.579 4.979-10.469 10.683-14.54 16.961l-33.569-9.707c-3.528-1.032-7.223-1.358-10.875-0.956-3.653 0.405-7.19 1.523-10.409 3.303-3.219 1.775-6.057 4.169-8.352 7.049-2.294 2.876-3.999 6.183-5.018 9.72-1.019 3.542-1.331 7.25-0.918 10.91s1.542 7.202 3.324 10.424c1.782 3.225 4.179 6.063 7.056 8.354s6.177 3.99 9.711 5.001l36.624 10.595c2.262 20.271 11.856 39.006 26.966 52.659v379.701c-15.108 13.653-24.702 32.384-26.969 52.65l-36.624 10.595c-7.116 2.057-13.125 6.866-16.704 13.368s-4.437 14.162-2.384 21.296c2.054 7.134 6.849 13.158 13.332 16.751 6.483 3.588 14.123 4.446 21.239 2.39l33.57-9.711c4.074 6.276 8.963 11.976 14.54 16.956v115.187c0 4.95 1.962 9.698 5.453 13.197 3.492 3.503 8.226 5.471 13.164 5.471h74.463c4.937 0 9.672-1.967 13.163-5.471 3.495-3.498 5.453-8.247 5.453-13.197v-115.187c8.666-7.745 15.621-17.216 20.421-27.81 4.796-10.595 7.335-22.080 7.442-33.716l220.706-63.834c3.533 4.872 7.583 9.353 12.071 13.359v227.188c0 4.95 1.962 9.698 5.453 13.202 3.491 3.498 8.226 5.466 13.163 5.466h74.466c4.937 0 9.672-1.967 13.163-5.466 3.495-3.503 5.453-8.252 5.453-13.202v-227.192c10.299-9.311 18.129-21.044 22.776-34.142h215.087c4.65 13.098 12.476 24.833 22.776 34.142v227.192c0 4.95 1.959 9.698 5.453 13.197 3.491 3.503 8.226 5.471 13.163 5.471h74.466c4.937 0 9.672-1.967 13.163-5.471 3.491-3.498 5.453-8.247 5.453-13.197v-227.192c10.299-9.311 18.125-21.044 22.776-34.142h33.075c7.407 0 14.511-2.952 19.746-8.201 5.235-5.253 8.18-12.374 8.18-19.802 0-7.424-2.945-14.546-8.18-19.797s-12.339-8.201-19.746-8.201zM139.706 810.667c-9.206 0-18.204-2.739-25.857-7.868-7.655-5.124-13.619-12.416-17.142-20.942-3.522-8.529-4.445-17.912-2.649-26.966 1.796-9.050 6.23-17.366 12.738-23.894 6.509-6.524 14.802-10.97 23.831-12.77s18.387-0.879 26.891 2.654c8.505 3.533 15.773 9.515 20.889 17.19 5.112 7.671 7.842 16.695 7.842 25.925-0.014 12.374-4.92 24.239-13.646 32.985-8.726 8.751-20.558 13.671-32.897 13.683zM139.706 306.666c-9.206 0-18.204-2.739-25.857-7.863-7.655-5.129-13.619-12.42-17.142-20.945-3.522-8.529-4.445-17.912-2.649-26.966 1.796-9.050 6.228-17.366 12.738-23.894 6.509-6.524 14.802-10.97 23.831-12.77s18.387-0.875 26.891 2.654c8.505 3.533 15.773 9.515 20.889 17.19 5.112 7.676 7.842 16.695 7.842 25.925-0.014 12.374-4.92 24.239-13.646 32.985-8.726 8.751-20.558 13.671-32.897 13.683zM456.192 589.855c-16.274 14.669-26.126 35.183-27.417 57.089l-224.014 64.794c-2.799-3.537-5.876-6.843-9.203-9.887v-379.696c3.329-3.042 6.408-6.35 9.207-9.887l224.009 64.79c1.289 21.909 11.141 42.423 27.417 57.096v155.699zM512.039 698.667c-9.203 0-18.201-2.739-25.856-7.863-7.655-5.129-13.619-12.42-17.144-20.945-3.521-8.529-4.442-17.912-2.646-26.966 1.797-9.050 6.23-17.366 12.737-23.894 6.512-6.524 14.801-10.97 23.829-12.77s18.39-0.875 26.894 2.654c8.504 3.533 15.774 9.515 20.886 17.19 5.115 7.671 7.847 16.695 7.847 25.925-0.014 12.374-4.92 24.239-13.646 32.985-8.726 8.751-20.558 13.671-32.901 13.683zM512.039 418.667c-9.203 0-18.201-2.739-25.856-7.863-7.655-5.129-13.619-12.416-17.144-20.945-3.521-8.529-4.442-17.912-2.646-26.961 1.797-9.054 6.23-17.37 12.737-23.898 6.512-6.524 14.801-10.97 23.829-12.77s18.39-0.875 26.894 2.654c8.504 3.533 15.774 9.515 20.886 17.19 5.115 7.676 7.847 16.695 7.847 25.925-0.014 12.374-4.92 24.239-13.646 32.985-8.726 8.751-20.558 13.671-32.901 13.683zM828.523 589.858c-10.296 9.311-18.125 21.044-22.772 34.142h-215.087c-4.647-13.098-12.476-24.833-22.776-34.142v-155.712c16.278-14.673 26.126-35.187 27.417-57.093l224.014-64.79c2.799 3.533 5.88 6.84 9.207 9.882l-0.005 267.713zM884.375 698.667c-9.203 0-18.201-2.739-25.856-7.863-7.655-5.129-13.619-12.42-17.144-20.945-3.521-8.529-4.442-17.912-2.646-26.966 1.793-9.050 6.225-17.366 12.737-23.894 6.507-6.524 14.801-10.97 23.829-12.77s18.386-0.875 26.894 2.654c8.504 3.533 15.77 9.515 20.886 17.19 5.115 7.671 7.842 16.695 7.842 25.925-0.009 12.374-4.916 24.239-13.641 32.985-8.726 8.751-20.561 13.671-32.901 13.683zM884.375 306.666c-9.203 0-18.201-2.739-25.856-7.863-7.655-5.129-13.619-12.42-17.144-20.945-3.521-8.529-4.442-17.912-2.646-26.966 1.793-9.050 6.225-17.366 12.737-23.894 6.507-6.524 14.801-10.97 23.829-12.77s18.386-0.875 26.894 2.654c8.504 3.533 15.77 9.515 20.886 17.19s7.842 16.695 7.842 25.925c-0.009 12.374-4.916 24.239-13.641 32.985-8.73 8.751-20.561 13.671-32.901 13.683z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"20115230165751091":[]},"tags":["Params_ic"],"grid":0},"attrs":[],"properties":{"order":517,"id":131,"name":"params","prevSize":32,"code":59712},"setIdx":0,"setId":31,"iconIdx":133},{"icon":{"paths":["M512 0c-282.769 0-512 229.231-512 512s229.231 512 512 512c282.769 0 512-229.231 512-512v0c0-282.769-229.231-512-512-512v0zM99.097 512c0-228.040 184.863-412.903 412.903-412.903s412.903 184.863 412.903 412.903c0 228.040-184.863 412.903-412.903 412.903v0c-228.040 0-412.903-184.863-412.903-412.903v0zM561.548 247.742c0-27.365-22.184-49.548-49.548-49.548s-49.548 22.184-49.548 49.548v0 264.258c0 27.365 22.184 49.548 49.548 49.548v0h198.193c27.365 0 49.548-22.184 49.548-49.548s-22.184-49.548-49.548-49.548v0h-148.645z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["Time_ic-01"],"grid":0},"attrs":[],"properties":{"order":518,"id":132,"name":"time","prevSize":32,"code":59758},"setIdx":0,"setId":31,"iconIdx":134},{"icon":{"paths":["M738.883 141.242l-0.084 1.222c-5.293 62.167-27.789 119.427-62.062 166.078l-0.877 1.127c-44.64 55.488-99.241 102.622-163.859 140.177l-2.767-1.491c-61.847-36.065-116.45-83.197-161.965-139.814l0.646 0.922c-34.919-47.573-57.416-104.834-62.792-168.222h453.764zM845.274 141.242h19.831c39.002 0 70.621-31.619 70.621-70.621s-31.619-70.621-70.621-70.621v0h-706.207c-39.002 0-70.621 31.619-70.621 70.621s31.619 70.621 70.621 70.621v0h19.831c5.821 86.996 36.113 165.929 83.972 231.17l-0.859-1.228c42.627 55.122 92.83 101.805 149.583 139.385l2.301 1.432c-59.055 39.014-109.256 85.695-150.826 139.395l-1.058 1.422c-47 64.012-77.292 142.946-83.040 228.602l-0.071 1.337h-19.831c-39.002 0-70.621 31.619-70.621 70.621s31.619 70.621 70.621 70.621v0h706.207c39.002 0 70.621-31.619 70.621-70.621s-31.619-70.621-70.621-70.621v0h-19.831c-5.821-86.996-36.111-165.929-83.972-231.168l0.859 1.228c-42.627-55.124-92.829-101.805-149.583-139.385l-2.301-1.432c59.055-39.012 109.256-85.693 150.826-139.395l1.058-1.422c47.004-64.010 77.295-142.946 83.042-228.604l0.071-1.337zM512 574.153l2.769 1.491c61.849 36.065 116.451 83.197 161.968 139.814l-0.646-0.922c34.919 47.573 57.416 104.834 62.792 168.222h-453.765l0.084-1.222c5.292-62.168 27.789-119.429 62.062-166.080l0.877-1.129c44.64-55.488 99.242-102.622 163.859-140.177z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["Duration_ic-01"],"grid":0},"attrs":[],"properties":{"order":519,"id":133,"name":"duration","prevSize":32,"code":59759},"setIdx":0,"setId":31,"iconIdx":135},{"icon":{"paths":["M966.67 606.722h-216.091l15.789-189.446h200.302c31.388 0 56.834-25.446 56.834-56.834s-25.446-56.834-56.834-56.834v0h-190.828l20.13-241.561c0.155-1.568 0.242-3.392 0.242-5.234 0-31.388-25.446-56.834-56.834-56.834-29.911 0-54.424 23.105-56.667 52.44l-0.012 0.192-20.915 250.997h-264.835l20.13-241.561c0.131-1.446 0.204-3.126 0.204-4.824 0-31.388-25.446-56.834-56.834-56.834-29.765 0-54.186 22.881-56.633 52.015l-0.014 0.208-20.915 250.997h-225.559c-31.388 0-56.834 25.446-56.834 56.834s25.446 56.834 56.834 56.834v0h216.087l-15.789 189.446h-200.296c-31.388 0-56.834 25.446-56.834 56.834s25.446 56.834 56.834 56.834v0h190.825l-20.13 241.558c-0.124 1.414-0.197 3.060-0.197 4.723 0 31.39 25.447 56.836 56.836 56.836 29.728 0 54.125-22.822 56.626-51.902l0.014-0.211 20.915-251.003h264.831l-20.13 241.558c-0.151 1.558-0.238 3.367-0.238 5.197 0 31.388 25.446 56.834 56.834 56.834 29.893 0 54.395-23.078 56.663-52.39l0.012-0.194 20.915-251.003h225.563c31.388 0 56.834-25.446 56.834-56.834s-25.446-56.834-56.834-56.834v0zM371.692 606.722l15.786-189.446h264.835l-15.789 189.446z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["Hash_ic-01"],"grid":0},"attrs":[],"properties":{"order":520,"id":134,"name":"hash","prevSize":32,"code":59760},"setIdx":0,"setId":31,"iconIdx":136},{"icon":{"paths":["M871.298 80.842h-89.824v-89.824h-107.789v89.824h-323.368v-89.824h-107.789v89.824h-89.824c-69.452 0-125.755 56.301-125.755 125.755v0 682.666c0 69.452 56.301 125.755 125.755 125.755v0h718.597c69.452 0 125.755-56.301 125.755-125.755v0-682.666c0-69.452-56.301-125.755-125.755-125.755v0zM152.702 188.632h718.597c9.922 0 17.965 8.044 17.965 17.965v0 161.684h-754.526v-161.684c0-9.922 8.044-17.965 17.965-17.965v0zM871.298 907.229h-718.597c-9.922 0-17.965-8.044-17.965-17.965v0-413.192h754.526v413.192c0 0.002 0 0.003 0 0.005 0 9.92-8.040 17.96-17.96 17.96-0.002 0-0.003 0-0.005 0v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["Calendar_ic-01"],"grid":0},"attrs":[],"properties":{"order":521,"id":135,"name":"calendar","prevSize":32,"code":59761},"setIdx":0,"setId":31,"iconIdx":137},{"icon":{"paths":["M997.161 28.923c-16.026-17.696-39.048-28.801-64.667-28.922h-841.026c-25.611 0.129-48.608 11.215-64.561 28.807l-0.066 0.074-0.066 0.066c-16.61 18.321-26.776 42.75-26.776 69.553 0 0.103 0 0.204 0 0.306v-0.016l-0.009 826.44c-0.002 0.24-0.003 0.523-0.003 0.805 0 26.637 10.184 50.896 26.87 69.095l-0.068-0.076c16.016 17.703 39.032 28.815 64.646 28.944h841.024c25.605-0.099 48.601-11.185 64.537-28.785l0.066-0.074c16.67-18.116 26.888-42.393 26.888-69.059 0-0.3-0.002-0.598-0.003-0.897v0.046l0.011-826.441c0.003-0.264 0.003-0.575 0.003-0.887 0-26.625-10.184-50.87-26.87-69.054l0.068 0.074zM107.796 916.196l0.011-808.391h808.395l1.781 808.391zM756.336 270.027c2.327 4.923 3.687 10.695 3.687 16.785 0 0.033 0 0.066 0 0.101v-0.005 66.288c0 0.033 0 0.073 0 0.112 0 12.208-5.465 23.14-14.081 30.485l-0.057 0.047-0.638 0.556-0.674 0.507c-7.986 5.839-17.999 9.342-28.832 9.342s-20.848-3.504-28.973-9.439l0.139 0.096-1.315-1.064c-8.67-7.388-14.134-18.317-14.134-30.522 0-0.043 0-0.085 0-0.128v0.006-25.24h-115.152v420.544c0 0.013 0 0.028 0 0.043 0 11.952-5.577 22.602-14.268 29.49l-0.077 0.060 0.212 0.242c-0.253 0.219-0.575 0.283-0.835 0.499-0.204 0.161-0.27 0.409-0.477 0.565l-0.142-0.191c-7.722 6.436-17.75 10.342-28.688 10.342s-20.966-3.906-28.761-10.4l0.073 0.058-0.145 0.191c-0.205-0.156-0.27-0.409-0.474-0.565-0.261-0.216-0.584-0.275-0.842-0.499l0.216-0.246c-8.772-6.946-14.351-17.595-14.351-29.547 0-0.014 0-0.028 0-0.043v0.002-420.542h-115.152v25.24c0 0.030 0 0.066 0 0.103 0 12.211-5.465 23.147-14.082 30.493l-0.057 0.047-0.638 0.556-0.674 0.507c-7.986 5.839-18.002 9.342-28.835 9.342s-20.849-3.504-28.974-9.439l0.139 0.096-1.315-1.064c-8.67-7.392-14.133-18.325-14.133-30.534 0-0.038 0-0.077 0-0.115v0.006-66.288c0-0.032 0-0.069 0-0.107 0-12.208 5.463-23.14 14.077-30.487l0.055-0.046c7.741-6.96 18.034-11.216 29.322-11.216 0.006 0 0.011 0 0.017 0h408.236c0.125-0.002 0.272-0.002 0.42-0.002 11.417 0 21.841 4.254 29.773 11.261l-0.049-0.043c4.381 3.728 7.912 8.316 10.354 13.515l0.103 0.245z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{},"tags":["text"],"grid":0},"attrs":[],"properties":{"order":493,"id":136,"name":"text","prevSize":32,"code":59757},"setIdx":0,"setId":31,"iconIdx":138}],"height":1024,"metadata":{"name":"icomoon"},"preferences":{"showGlyphs":true,"showQuickUse":true,"showQuickUse2":true,"showSVGs":true,"fontPref":{"prefix":"icon-","metadata":{"fontFamily":"icomoon"},"metrics":{"emSize":1024,"baseline":6.25,"whitespace":50},"embed":false},"imagePref":{"prefix":"icon-","png":true,"useClassSelector":true,"color":0,"bgColor":16777215,"classSelector":".icon","name":"icomoon"},"historySize":50,"showCodes":true,"gridSize":16}} \ No newline at end of file diff --git a/aim/web/ui/src/components/CodeBlock/CodeBlock.scss b/aim/web/ui/src/components/CodeBlock/CodeBlock.scss index 83aa7b78e8..e81e02eb32 100644 --- a/aim/web/ui/src/components/CodeBlock/CodeBlock.scss +++ b/aim/web/ui/src/components/CodeBlock/CodeBlock.scss @@ -12,10 +12,10 @@ margin: 0; font-style: normal; font-weight: $font-500; - font-size: $text-lg; + font-size: 15px; line-height: 1.3125em; overflow: auto; - @include monospaceFontFamily(); + @include monospaceFontFamily(15px); } &__copy__button { top: 0.75rem; diff --git a/aim/web/ui/src/components/CodeBlock/CodeBlock.tsx b/aim/web/ui/src/components/CodeBlock/CodeBlock.tsx index 1959842909..1c24655e1f 100644 --- a/aim/web/ui/src/components/CodeBlock/CodeBlock.tsx +++ b/aim/web/ui/src/components/CodeBlock/CodeBlock.tsx @@ -1,11 +1,9 @@ import React from 'react'; -import { useMonaco } from '@monaco-editor/react'; - import CopyToClipBoard from 'components/CopyToClipBoard/CopyToClipBoard'; import ErrorBoundary from 'components/ErrorBoundary/ErrorBoundary'; -import { getMonacoConfig } from 'config/monacoConfig/monacoConfig'; +import useCodeHighlighter from 'hooks/useCodeHighlighter'; import { ICodeBlockProps } from 'types/components/CodeBlock/CodeBlock'; @@ -16,40 +14,22 @@ function CodeBlock({ className = '', language = 'python', }: ICodeBlockProps): React.FunctionComponentElement { - const monaco = useMonaco(); - const preRef = React.useRef(null); - - const monacoConfig: Record = - React.useMemo(() => { - return getMonacoConfig(); - }, []); - - React.useEffect(() => { - monacoConfig.theme.config.colors = { - ...monacoConfig.theme.config.colors, - 'editor.background': '#f2f3f4', - }; - if (monaco && preRef.current) { - monaco.editor.colorizeElement(preRef.current, { theme: language }); - monaco.editor.defineTheme( - monacoConfig.theme.name, - monacoConfig.theme.config, - ); - monaco.editor.setTheme(monacoConfig.theme.name); - } - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [monaco]); + const { elementRef } = useCodeHighlighter(language); return (
-
+        
           {code}
         
diff --git a/aim/web/ui/src/components/CustomTable/Table.scss b/aim/web/ui/src/components/CustomTable/Table.scss index 689b8b9299..120c6c8d80 100644 --- a/aim/web/ui/src/components/CustomTable/Table.scss +++ b/aim/web/ui/src/components/CustomTable/Table.scss @@ -109,6 +109,8 @@ $border-radius: 0.2rem; .Table__pane--selection { left: 0; + background: #fff; + z-index: 2; &.withShadow { box-shadow: 1px 0 3px 0 $cuddle; } @@ -139,13 +141,13 @@ $border-radius: 0.2rem; .Table__column__defaultSelectIcon { border: 1.5px solid $pico-80; border-radius: $border-radius-xs; - width: 1rem; - height: 1rem; + width: 14px; + height: 14px; } .Table__column__selectedSelectIcon { border-radius: $border-radius-xs; - width: 1rem; - height: 1rem; + width: 14px; + height: 14px; background: $primary-color; color: $white; display: flex; @@ -154,8 +156,8 @@ $border-radius: 0.2rem; } .Table__column__partiallySelectedSelectIcon { border-radius: $border-radius-xs; - width: 1rem; - height: 1rem; + width: 14px; + height: 14px; display: flex; justify-content: center; align-items: center; @@ -188,6 +190,7 @@ $border-radius: 0.2rem; } .Table__cell { padding: 0; + border-right: 1px solid $border-color; } .Table__cell--header > *:first-child { margin-right: 0; diff --git a/aim/web/ui/src/components/CustomTable/Table.tsx b/aim/web/ui/src/components/CustomTable/Table.tsx index 3d80bc3964..b656b74d6b 100644 --- a/aim/web/ui/src/components/CustomTable/Table.tsx +++ b/aim/web/ui/src/components/CustomTable/Table.tsx @@ -260,12 +260,10 @@ function Table(props) { props.updateColumns(columnsOrderClone); } - function showTopHeaderContent(index, col, add) { + function showTopHeaderContent(index, colTopHeader, add) { return ( props.topHeader && - sortedColumns[ - (leftPane ? leftPane.length : 0) + (add ? index + 1 : index - 1) - ]?.topHeader !== col.topHeader + sortedColumns[add ? index + 1 : index - 1]?.topHeader !== colTopHeader ); } @@ -314,6 +312,7 @@ function Table(props) { })} > ) : ( - + ) } @@ -393,9 +392,17 @@ function Table(props) { {leftPane.map((col, index) => ( ( - {col.key !== 'actions' && col.key !== '#' && col.key !== 'selection' && ( - <> - ( - -
- -
-
- )} - component={ -
- {!_.isEmpty(colorScaleRange) && onToggleColumnsColorScales && ( - onToggleColumnsColorScales(col.key)} - > - {columnsColorScales[col.key] ? ( - <> - - - - Reset color scale - - ) : ( - <> - - - - Apply color scale - - )} - - )} - {columnOptions && ( - <> - {columnOptions?.map((option) => ( + {!noColumnActions && + col.key !== 'actions' && + col.key !== '#' && + col.key !== 'selection' && ( + <> + ( + +
+ +
+
+ )} + component={ +
+ {!_.isEmpty(colorScaleRange) && + onToggleColumnsColorScales && ( onToggleColumnsColorScales(col.key)} > - - - - {option.value} + {columnsColorScales[col.key] ? ( + <> + + + + Reset color scale + + ) : ( + <> + + + + Apply color scale + + )} - ))} - - - )} - {!isAlwaysVisible && ( - - - - - Hide column - - )} - {(pinnedTo === 'left' || pinnedTo === 'right') && ( - togglePin(col.key, null)} - > - - - - Unpin - - )} - {pinnedTo !== 'left' && ( - togglePin(col.key, 'left')} - > - - - - Pin to left - - )} - {pinnedTo !== 'right' && ( - togglePin(col.key, 'right')} - > - - - - Pin to right - - )} - {!paneFirstColumn && ( - moveColumn('left')} - > - - - - Move left - - )} - {!paneLastColumn && ( - moveColumn('right')} - > - - - - Move right - - )} - {pinnedTo === null && !paneFirstColumn && ( - moveColumn('start')} - > - - - - Move to start - - )} - {pinnedTo === null && !paneLastColumn && ( - moveColumn('end')} - > - - - - Move to end - - )} - {width !== undefined && ( - - - - - Reset width - - )} -
- } - /> -
- - )} + )} + {columnOptions && ( + <> + {columnOptions?.map((option) => ( + + + + + {option.value} + + ))} + + + )} + {!isAlwaysVisible && ( + + + + + Hide column + + )} + {(pinnedTo === 'left' || pinnedTo === 'right') && ( + togglePin(col.key, null)} + > + + + + Unpin + + )} + {pinnedTo !== 'left' && ( + togglePin(col.key, 'left')} + > + + + + Pin to left + + )} + {pinnedTo !== 'right' && ( + togglePin(col.key, 'right')} + > + + + + Pin to right + + )} + {!paneFirstColumn && ( + moveColumn('left')} + > + + + + Move left + + )} + {!paneLastColumn && ( + moveColumn('right')} + > + + + + Move right + + )} + {pinnedTo === null && !paneFirstColumn && ( + moveColumn('start')} + > + + + + Move to start + + )} + {pinnedTo === null && !paneLastColumn && ( + moveColumn('end')} + > + + + + Move to end + + )} + {width !== undefined && ( + + + + + Reset width + + )} +
+ } + /> +
+ + )}
{groups ? Object.keys(data).map((groupKey) => { @@ -716,8 +721,16 @@ function Column({ ? top : null, }} - onRowHover={() => onRowHover(item)} - onRowClick={() => onRowClick(item)} + onRowHover={ + onRowHover + ? () => onRowHover(item) + : undefined + } + onRowClick={ + onRowClick + ? () => onRowClick(item) + : undefined + } setColumnWidth={fixColumnWidth} /> @@ -785,8 +798,12 @@ function Column({ box={{ top: firstVisibleCellTop === top ? top : null, }} - onRowHover={() => onRowHover(item)} - onRowClick={() => onRowClick(item)} + onRowHover={ + onRowHover ? () => onRowHover(item) : undefined + } + onRowClick={ + onRowClick ? () => onRowClick(item) : undefined + } setColumnWidth={fixColumnWidth} /> ) : ( @@ -811,8 +828,12 @@ function Column({ box={{ top: firstVisibleCellTop === top ? top : null, }} - onRowHover={() => onRowHover(item)} - onRowClick={() => onRowClick(item)} + onRowHover={ + onRowHover ? () => onRowHover(item) : undefined + } + onRowClick={ + onRowClick ? () => onRowClick(item) : undefined + } setColumnWidth={fixColumnWidth} /> )} diff --git a/aim/web/ui/src/components/HeatMap/HeatMap.tsx b/aim/web/ui/src/components/HeatMap/HeatMap.tsx index 5e562ae14e..7252166ba9 100644 --- a/aim/web/ui/src/components/HeatMap/HeatMap.tsx +++ b/aim/web/ui/src/components/HeatMap/HeatMap.tsx @@ -71,9 +71,33 @@ function HeatMap({ const diffDays = Math.floor(Math.abs((firstDay - lastDay) / oneDay)); - const maxVal = Math.max( - ...data?.map((i: any) => i?.[1]).filter((i: any) => Number.isInteger(i)), - ); + const maxVal = getMaxVal(); + + // get max run count in data + function getMaxVal() { + let maxValue = 0; + [...Array(diffDays).keys()].forEach((index) => { + let count = getRunCountByDay(index); + maxValue = count > maxValue ? count : maxValue; + }); + return maxValue; + } + + // get runs count by day index + function getRunCountByDay(dayIndex: number): number { + const date = indexToDate(dayIndex); + let count = 0; + for (let s = 0; s < data.length; s++) { + if ( + data[s]?.[0].getFullYear() === date.getFullYear() && + data[s]?.[0].getMonth() === date.getMonth() && + data[s]?.[0].getDate() === date.getDate() + ) { + count += data[s][1]; + } + } + return count; + } const orderedMonths = [ ...months.slice(firstDay.getMonth()), @@ -108,36 +132,18 @@ function HeatMap({ return shiftDate(firstDay, x * 7 + y); } - function getItem(index: number) { - const date = indexToDate(index); - - let item = null; - for (let s = 0; s < data.length; s++) { - if ( - data[s]?.[0].getFullYear() === date.getFullYear() && - data[s]?.[0].getMonth() === date.getMonth() && - data[s]?.[0].getDate() === date.getDate() - ) { - item = data[s]; - break; - } - } - return item; - } - function getScale(value: number) { return Math.ceil((value / maxVal) * scaleRange); } function renderCell(index: number) { - const dataItem = getItem(index); + const runsCount = getRunCountByDay(index); const date = indexToDate(index); - const scale = - dataItem && Number.isInteger(dataItem?.[1]) ? getScale(dataItem[1]) : 0; - const tooltip = ` ${dataItem ? dataItem[1] : 0} tracked run${ - dataItem?.[1] !== 1 ? 's' : '' + const scale = runsCount ? getScale(runsCount) : 0; + const tooltip = ` ${runsCount} tracked run${ + runsCount !== 1 ? 's' : '' } on ${months[date.getMonth()]} ${date.getDate()}, ${date.getFullYear()}`; - function onClickeCell(e: React.MouseEvent) { + function onClickCell(e: React.MouseEvent) { e.stopPropagation(); onCellClick(); if (scale) { @@ -150,7 +156,7 @@ function HeatMap({ .add(1, 'day') .format(DATE_QUERY_FORMAT)})`, }); - analytics.trackEvent(ANALYTICS_EVENT_KEYS.home.activityCellClick); + analytics.trackEvent(ANALYTICS_EVENT_KEYS.dashboard.activityCellClick); history.push(`/runs?select=${search}`); } } @@ -163,17 +169,11 @@ function HeatMap({ ) : (
onCellClick(dataItem, date, index) : null - // } /> )} diff --git a/aim/web/ui/src/components/HeatMap/HeatMapStyle.scss b/aim/web/ui/src/components/HeatMap/HeatMapStyle.scss index 9571c9bc7c..2c47957855 100644 --- a/aim/web/ui/src/components/HeatMap/HeatMapStyle.scss +++ b/aim/web/ui/src/components/HeatMap/HeatMapStyle.scss @@ -1,8 +1,5 @@ @use 'styles/abstracts/index' as *; -.CalendarHeatmap { -} - .CalendarHeatmap__map { display: grid; grid-template-columns: 1em 1fr; @@ -26,6 +23,9 @@ flex-direction: column; align-items: flex-start; justify-content: space-between; + position: sticky; + left: 0; + background-color: $white; } } @@ -49,16 +49,10 @@ width: 100%; height: 100%; box-sizing: border-box; - box-shadow: inset 0 0 0 1px #ffff; - border: 1px solid #1473e6; border-radius: 3px; transition: box-shadow 50ms ease; cursor: pointer; - &:hover { - box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.3); - } - &.CalendarHeatmap__cell--dummy { opacity: 0; pointer-events: none; @@ -67,28 +61,24 @@ } &.CalendarHeatmap__cell--scale-0 { - background: #fff; - border: 1px solid #cdcfd3; + background: $pico-10; + cursor: default; } &.CalendarHeatmap__cell--scale-1 { background: #abcaf6; - border: 1px solid #abcaf6; } &.CalendarHeatmap__cell--scale-2 { background: #77a8ef; - border: 1px solid #abcaf6; } &.CalendarHeatmap__cell--scale-3 { background: #3578e6; - border: 1px solid #abcaf6; } &.CalendarHeatmap__cell--scale-4 { background: #225ae0; - border: 1px solid #abcaf6; } } @@ -96,8 +86,12 @@ margin-top: 1em; display: flex; align-items: center; - .CalendarHeatmap__cell__wrapper { - margin-right: 0.25em; + justify-content: flex-end; + .CalendarHeatmap__cell { + cursor: default; + &__wrapper { + margin-right: 0.25em; + } } span { line-height: 12px; diff --git a/aim/web/ui/src/components/IllustrationBlock/IllustrationBlock.tsx b/aim/web/ui/src/components/IllustrationBlock/IllustrationBlock.tsx index f20a8992de..fe10847e89 100644 --- a/aim/web/ui/src/components/IllustrationBlock/IllustrationBlock.tsx +++ b/aim/web/ui/src/components/IllustrationBlock/IllustrationBlock.tsx @@ -22,6 +22,7 @@ function IllustrationBlock({ type = IllustrationsEnum.ExploreData, className = '', size = 'small', + showImage = true, }: IIllustrationBlockProps): React.FunctionComponentElement { const [imgLoaded, setImgLoaded] = React.useState(false); @@ -32,19 +33,22 @@ function IllustrationBlock({ return (
-
- {image || ( - Illustration - )} -
+ {showImage ? ( +
+ {image || ( + Illustration + )} +
+ ) : null} + > { + /** + * @description The info of the release note + * @type string + * @example '[feat] Add support for new metrics' + */ + info: string; + /** + * @description tag name of the release note + * @type string + * @example 'v3.13.0' + */ + tagName: string; +} diff --git a/aim/web/ui/src/components/ReleaseNoteItem/ReleaseNoteItem.scss b/aim/web/ui/src/components/ReleaseNoteItem/ReleaseNoteItem.scss new file mode 100644 index 0000000000..8186f21865 --- /dev/null +++ b/aim/web/ui/src/components/ReleaseNoteItem/ReleaseNoteItem.scss @@ -0,0 +1,45 @@ +@use 'src/styles/abstracts' as *; + +.ReleaseNoteItem { + display: flex; + padding-left: 18px; + margin-bottom: $space-sm; + position: relative; + text-decoration: none; + p { + word-break: break-word; + } + &__tagName { + color: $primary-color; + font-weight: 600; + } + &::before { + content: ''; + position: absolute; + left: 0; + top: 3px; + width: 7px; + height: 7px; + z-index: 1; + border-radius: $border-radius-circle; + background-color: $primary-color; + } + &::after { + content: ''; + position: absolute; + left: 3px; + top: 3px; + height: 100%; + width: 1px; + background-color: $pico-20; + } + &:last-child { + margin-bottom: 0; + } + + &:hover { + text-decoration: underline; + text-decoration-color: $text-color; + cursor: pointer; + } +} diff --git a/aim/web/ui/src/components/ReleaseNoteItem/ReleaseNoteItem.tsx b/aim/web/ui/src/components/ReleaseNoteItem/ReleaseNoteItem.tsx new file mode 100644 index 0000000000..b361f140d7 --- /dev/null +++ b/aim/web/ui/src/components/ReleaseNoteItem/ReleaseNoteItem.tsx @@ -0,0 +1,23 @@ +import React from 'react'; + +import { Text } from 'components/kit'; + +import { IReleaseNoteItemProps } from './ReleaseNoteItem.d'; + +import './ReleaseNoteItem.scss'; + +function ReleaseNoteItem({ + info, + tagName, + ...rest +}: IReleaseNoteItemProps): React.FunctionComponentElement { + return ( + + + {tagName} - {info} + + + ); +} + +export default React.memo(ReleaseNoteItem); diff --git a/aim/web/ui/src/components/SelectTag/SelectTag.tsx b/aim/web/ui/src/components/SelectTag/SelectTag.tsx index 2203044744..5be8f90170 100644 --- a/aim/web/ui/src/components/SelectTag/SelectTag.tsx +++ b/aim/web/ui/src/components/SelectTag/SelectTag.tsx @@ -108,7 +108,7 @@ function SelectTag({ color='primary' className='SelectTag__createTag' > - Create Tag + Create New Tag
diff --git a/aim/web/ui/src/components/SideBar/SideBar.tsx b/aim/web/ui/src/components/SideBar/SideBar.tsx index b0bde5c3ac..a113596bb8 100644 --- a/aim/web/ui/src/components/SideBar/SideBar.tsx +++ b/aim/web/ui/src/components/SideBar/SideBar.tsx @@ -42,9 +42,8 @@ function SideBar(): React.FunctionComponentElement {
  • logo @@ -59,7 +58,7 @@ function SideBar(): React.FunctionComponentElement { to={() => getPathFromStorage(path)} exact={true} isActive={(m, location) => - location.pathname.startsWith(path) + location.pathname.split('/')[1] === path.split('/')[1] } activeClassName={'Sidebar__NavLink--active'} className='Sidebar__NavLink' diff --git a/aim/web/ui/src/components/StatisticsBar/StatisticsBar.d.ts b/aim/web/ui/src/components/StatisticsBar/StatisticsBar.d.ts new file mode 100644 index 0000000000..a55fbea766 --- /dev/null +++ b/aim/web/ui/src/components/StatisticsBar/StatisticsBar.d.ts @@ -0,0 +1,20 @@ +type StatisticsBarItem = { + percent: number; + color: string; + label?: string; + highlighted?: boolean; +}; + +export interface IStatisticsBarProps { + data: Array; + width?: number | string; + height?: number | string; + onMouseOver?: (id: string, source: string) => void; + onMouseLeave?: () => void; +} + +export interface IBarStyle { + width: string; + left: number; + backgroundColor: string; +} diff --git a/aim/web/ui/src/components/StatisticsBar/StatisticsBar.scss b/aim/web/ui/src/components/StatisticsBar/StatisticsBar.scss new file mode 100644 index 0000000000..641a615501 --- /dev/null +++ b/aim/web/ui/src/components/StatisticsBar/StatisticsBar.scss @@ -0,0 +1,27 @@ +@use 'src/styles/abstracts' as *; + +.StatisticsBar { + position: relative; + background-color: $pico-2; + border-radius: $border-radius-sm; + &__item { + display: inline-flex; + height: 100%; + position: absolute; + transition: all 0.18s ease-out; + &:first-child { + border-top-left-radius: $border-radius-sm; + border-bottom-left-radius: $border-radius-sm; + } + &:last-child { + border-top-right-radius: $border-radius-sm; + border-bottom-right-radius: $border-radius-sm; + } + &.highlighted { + z-index: 1; + height: calc(100% + 2px); + margin-top: -1px; + box-shadow: 0 0 0 2px white; + } + } +} diff --git a/aim/web/ui/src/components/StatisticsBar/StatisticsBar.tsx b/aim/web/ui/src/components/StatisticsBar/StatisticsBar.tsx new file mode 100644 index 0000000000..66c91ca1c2 --- /dev/null +++ b/aim/web/ui/src/components/StatisticsBar/StatisticsBar.tsx @@ -0,0 +1,61 @@ +import * as React from 'react'; +import classNames from 'classnames'; + +import { Tooltip } from '@material-ui/core'; + +import { IBarStyle, IStatisticsBarProps } from '.'; + +import './StatisticsBar.scss'; + +function StatisticsBar({ + data = [], + width = '100%', + height = 8, + onMouseOver, + onMouseLeave, +}: IStatisticsBarProps) { + const onSafeMouseOver = React.useCallback( + (id: string) => { + if (typeof onMouseOver === 'function') { + onMouseOver(id, 'bar'); + } + }, + [onMouseOver], + ); + const barStyles = React.useMemo(() => { + const styles: IBarStyle[] = []; + for (let i = 0; i < data.length; i++) { + const item = data[i]; + const prevItemLeftPos = styles[i - 1]?.left || 0; + const prevItemPercent = data[i - 1]?.percent || 0; + const style = { + width: `${item.percent.toFixed(2)}%`, + left: i === 0 ? 0 : prevItemLeftPos + prevItemPercent, + backgroundColor: item.color, + }; + styles.push(style); + } + return styles; + }, [data]); + return ( +
    + {Object.values(data).map( + ({ percent, color, label = '', highlighted }, i) => + percent ? ( + +
    onSafeMouseOver(label)} + /> + + ) : null, + )} +
    + ); +} + +StatisticsBar.displayName = 'StatisticsBar'; + +export default React.memo(StatisticsBar); diff --git a/aim/web/ui/src/components/StatisticsBar/index.ts b/aim/web/ui/src/components/StatisticsBar/index.ts new file mode 100644 index 0000000000..353e7bbd8e --- /dev/null +++ b/aim/web/ui/src/components/StatisticsBar/index.ts @@ -0,0 +1,5 @@ +import StatisticsBar from './StatisticsBar'; + +export * from './StatisticsBar.d'; + +export default StatisticsBar; diff --git a/aim/web/ui/src/components/StatisticsCard/StatisticsCard.d.ts b/aim/web/ui/src/components/StatisticsCard/StatisticsCard.d.ts new file mode 100644 index 0000000000..6994c20bcf --- /dev/null +++ b/aim/web/ui/src/components/StatisticsCard/StatisticsCard.d.ts @@ -0,0 +1,16 @@ +import { IconName } from 'components/kit/Icon'; + +export interface IStatisticsCardProps { + label: string; + count: number; + title?: string; + icon?: IconName; + iconBgColor?: string; + cardBgColor?: string; + onMouseOver?: (id: string, source: string) => void; + onMouseLeave?: () => void; + navLink?: string; + highlighted?: boolean; + outlined?: boolean; + isLoading?: boolean; +} diff --git a/aim/web/ui/src/components/StatisticsCard/StatisticsCard.scss b/aim/web/ui/src/components/StatisticsCard/StatisticsCard.scss new file mode 100644 index 0000000000..0fc3095b0d --- /dev/null +++ b/aim/web/ui/src/components/StatisticsCard/StatisticsCard.scss @@ -0,0 +1,56 @@ +@use 'src/styles/abstracts' as *; + +.StatisticsCard { + padding: $space-xs; + display: inline-flex; + align-items: center; + justify-content: flex-start; + border-radius: $border-radius-sm; + min-width: toRem(132px); + max-width: toRem(132px); + border: $border-transparent; + transition: all 0.18s ease-out; + position: relative; + &__iconWrapper { + width: 2rem; + min-width: 2rem; + height: 2rem; + border-radius: 50%; + margin-right: $space-xs; + display: inline-flex; + align-items: center; + justify-content: center; + } + &__info { + display: flex; + flex-direction: column; + overflow: hidden; + &__label, + &__count { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + color: $pico; + user-select: none; + } + &__label { + text-transform: capitalize; + } + } + &__soonBadge { + position: absolute; + top: -$space-xs; + right: -$space-xxs; + text-align: center; + white-space: nowrap; + padding: $space-xxxxxs $space-xxxs; + color: $pico; + border-radius: $border-radius-xss; + background-color: white; + box-shadow: 0 1px 2px 0 #00000029; + user-select: none; + } + &.highlighted { + cursor: pointer; + } +} diff --git a/aim/web/ui/src/components/StatisticsCard/StatisticsCard.tsx b/aim/web/ui/src/components/StatisticsCard/StatisticsCard.tsx new file mode 100644 index 0000000000..768fd81484 --- /dev/null +++ b/aim/web/ui/src/components/StatisticsCard/StatisticsCard.tsx @@ -0,0 +1,97 @@ +import * as React from 'react'; +import { useHistory } from 'react-router-dom'; +import classNames from 'classnames'; + +import { Icon, Text } from 'components/kit'; + +import hexToRgbA from 'utils/hexToRgbA'; + +import { IStatisticsCardProps } from './index'; + +import './StatisticsCard.scss'; + +function StatisticsCard({ + label, + title = '', + count, + icon, + iconBgColor = '#000000', + cardBgColor = hexToRgbA(iconBgColor, 0.1), + onMouseOver, + onMouseLeave, + navLink, + highlighted, + outlined = false, + isLoading = false, +}: IStatisticsCardProps) { + const history = useHistory(); + const onSafeMouseOver = React.useCallback( + (id: string) => { + if (typeof onMouseOver === 'function') { + onMouseOver(id, 'card'); + } + }, + [onMouseOver], + ); + const styles = { + card: { + borderColor: outlined ? iconBgColor : 'transparent', + backgroundColor: highlighted ? iconBgColor : cardBgColor, + }, + iconWrapper: { + backgroundColor: highlighted ? '#fff' : iconBgColor, + }, + iconColor: highlighted ? iconBgColor : '#fff', + label: highlighted ? { color: '#fff' } : {}, + count: highlighted ? { color: '#fff' } : {}, + }; + return ( +
    navLink && history.push(navLink)} + onMouseLeave={onMouseLeave} + onMouseOver={() => onSafeMouseOver(label)} + className={classNames('StatisticsCard', { highlighted })} + style={styles.card} + > + {!navLink && ( + + Coming soon + + )} + + {icon && ( +
    + +
    + )} +
    + + {label} + + + + {isLoading ? '--' : count} + +
    +
    + ); +} + +StatisticsCard.displayName = 'StatisticsCard'; + +export default React.memo(StatisticsCard); diff --git a/aim/web/ui/src/components/StatisticsCard/index.ts b/aim/web/ui/src/components/StatisticsCard/index.ts new file mode 100644 index 0000000000..e957ea8654 --- /dev/null +++ b/aim/web/ui/src/components/StatisticsCard/index.ts @@ -0,0 +1,5 @@ +import StatisticsCard from './StatisticsCard'; + +export * from './StatisticsCard.d'; + +export default StatisticsCard; diff --git a/aim/web/ui/src/components/Table/Table.tsx b/aim/web/ui/src/components/Table/Table.tsx index 43faf97d7e..a1b6f9fc72 100644 --- a/aim/web/ui/src/components/Table/Table.tsx +++ b/aim/web/ui/src/components/Table/Table.tsx @@ -4,6 +4,7 @@ import React from 'react'; import { isEmpty, isEqual, isNil } from 'lodash-es'; import { useResizeObserver } from 'hooks'; +import _ from 'lodash-es'; import { Button, Icon, Text } from 'components/kit'; import ControlPopover from 'components/ControlPopover/ControlPopover'; @@ -92,6 +93,7 @@ const Table = React.forwardRef(function Table( columnsColorScales, onRowsVisibilityChange, visualizationElementType, + noColumnActions, ...props }: ITableProps, ref, @@ -529,7 +531,7 @@ const Table = React.forwardRef(function Table( const rightPane = tableContainerRef.current?.querySelector( '.Table__pane--right', ); - let availableSpace = 0; + let availableSpace = tableContainerRef.current?.offsetWidth ?? 0; if (leftPane || rightPane) { availableSpace = @@ -743,6 +745,14 @@ const Table = React.forwardRef(function Table( } }, [appName, sameValueColumns, hiddenColumns]); + const selectedRunsQuery: string = React.useMemo(() => { + if (!_.isEmpty(selectedRows)) { + return `run.hash in [${_.uniq( + Object.values(selectedRows)?.map((row: any) => `"${row.runHash}"`), + ).join(',')}]`; + } + }, [selectedRows]); + // The right check is !props.isInfiniteLoading && (isLoading || isNil(rowData)) // but after setting isInfiniteLoading to true, the rowData becomes null, unnecessary renders happening // @TODO sanitize this point @@ -852,7 +862,7 @@ const Table = React.forwardRef(function Table(
    )}
- ) : !isEmpty(selectedRows) && multiSelect ? ( + ) : !hideHeaderActions && !isEmpty(selectedRows) && multiSelect ? (
@@ -947,7 +957,7 @@ const Table = React.forwardRef(function Table(
@@ -983,13 +993,16 @@ const Table = React.forwardRef(function Table( columns={columnsData.filter((col) => !col.isHidden)} onGroupExpandToggle={onGroupExpandToggle} onRowHover={rowHoverHandler} - onRowClick={rowClickHandler} + onRowClick={ + showRowClickBehaviour ? rowClickHandler : undefined + } listWindow={listWindow} multiSelect={multiSelect} selectedRows={selectedRows || {}} onRowSelect={onRowSelect} columnsColorScales={columnsColorScales} onToggleColumnsColorScales={onToggleColumnsColorScales} + noColumnActions={noColumnActions} {...props} /> @@ -1067,6 +1080,7 @@ const Table = React.forwardRef(function Table( size={illustrationConfig?.size || 'xLarge'} content={illustrationConfig?.content || ''} title={illustrationConfig?.title || ''} + showImage={illustrationConfig?.showImage} /> )} diff --git a/aim/web/ui/src/components/kit/Badge/Badge.d.ts b/aim/web/ui/src/components/kit/Badge/Badge.d.ts index 9eba07d2e3..8f2321d55d 100644 --- a/aim/web/ui/src/components/kit/Badge/Badge.d.ts +++ b/aim/web/ui/src/components/kit/Badge/Badge.d.ts @@ -2,7 +2,8 @@ import React from 'react'; import { IconName } from '../Icon/Icon.d'; -export interface IBadgeProps { +export interface IBadgeProps + extends Partial> { id?: string; label: string; value?: string; diff --git a/aim/web/ui/src/components/kit/DataList/DataList.d.ts b/aim/web/ui/src/components/kit/DataList/DataList.d.ts index 4c2abfcb27..ec9ebbbd1a 100644 --- a/aim/web/ui/src/components/kit/DataList/DataList.d.ts +++ b/aim/web/ui/src/components/kit/DataList/DataList.d.ts @@ -1,3 +1,7 @@ +import React from 'react'; + +import { IIllustrationConfig } from 'types/components/Table/Table'; + export interface IDataListProps { tableRef: React.RefObject; tableData: any; @@ -9,4 +13,6 @@ export interface IDataListProps { rowHeight?: number; height?: string; tableClassName?: string; + toolbarItems?: React.FunctionComponentElement[]; + disableMatchBar?: boolean; } diff --git a/aim/web/ui/src/components/kit/DataList/DataList.scss b/aim/web/ui/src/components/kit/DataList/DataList.scss index 40548b861a..6934fe7772 100644 --- a/aim/web/ui/src/components/kit/DataList/DataList.scss +++ b/aim/web/ui/src/components/kit/DataList/DataList.scss @@ -5,6 +5,12 @@ flex-direction: column; width: 100%; max-height: 100%; + &__toolbarItems { + height: 2rem; + margin-left: $space-md; + display: flex; + align-items: center; + } &__textsTable { border: $border-grey; border-radius: $border-radius-md; @@ -55,7 +61,7 @@ &-cell { position: relative; - min-height: 28px; + min-height: 24px; max-height: 300px; padding: 0 $space-unit; border-right: unset; diff --git a/aim/web/ui/src/components/kit/DataList/DataList.tsx b/aim/web/ui/src/components/kit/DataList/DataList.tsx index 22f09e1816..f3d58e38cd 100644 --- a/aim/web/ui/src/components/kit/DataList/DataList.tsx +++ b/aim/web/ui/src/components/kit/DataList/DataList.tsx @@ -31,6 +31,8 @@ function DataList({ rowHeight = 28, height = '100vh', tableClassName = '', + toolbarItems = [], + disableMatchBar = false, }: IDataListProps): React.FunctionComponentElement { const textSearch = useTextSearch({ rawData: tableData, @@ -50,11 +52,11 @@ function DataList({ const reg = new RegExp(regex?.source ?? '', regex?.flags); highlightedItem[searchableKey] = regex === null - ? item[searchableKey] - : item[searchableKey] - .split(regex) - .filter((part: string) => part !== '') - .map((part: string, i: number) => { + ? `${item[searchableKey]}` + : `${item[searchableKey]}` + ?.split(regex) + ?.filter((part: string) => part !== '') + ?.map((part: string, i: number) => { return reg.test(part) ? ( {part} @@ -77,15 +79,19 @@ function DataList({ return (
{withSearchBar && ( - +
+ +
)} @@ -34,75 +36,95 @@ function SearchBar({ isValidInput={isValidInput} isDisabled={isDisabled} /> -
- -
- -
-
- -
- -
-
- -
- +
+
+ +
{ - onMatchTypeChange( - matchType === MatchTypes.RegExp ? null : MatchTypes.RegExp, - ); - }} > - - -
-
-
+ +
+ + +
+ +
+
+
+ )} + + {!!toolbarItems?.length && ( +
{toolbarItems}
+ )}
); diff --git a/aim/web/ui/src/components/kit/DataList/SearchBar/SearchInput/index.tsx b/aim/web/ui/src/components/kit/DataList/SearchBar/SearchInput/index.tsx index cdf7417ab3..703a6bd758 100644 --- a/aim/web/ui/src/components/kit/DataList/SearchBar/SearchInput/index.tsx +++ b/aim/web/ui/src/components/kit/DataList/SearchBar/SearchInput/index.tsx @@ -24,14 +24,14 @@ function SearchInput({ className={classNames('SearchInput', { activeCloseButton: !!value })} > - Search for text + Search } style={{ - height: 32, + height: 28, }} /> diff --git a/aim/web/ui/src/components/kit/DataList/SearchBar/types.d.ts b/aim/web/ui/src/components/kit/DataList/SearchBar/types.d.ts index 7b4bba8693..5eea84e2d5 100644 --- a/aim/web/ui/src/components/kit/DataList/SearchBar/types.d.ts +++ b/aim/web/ui/src/components/kit/DataList/SearchBar/types.d.ts @@ -6,6 +6,8 @@ export interface ISearchBarProps { onInputClear: () => void; onMatchTypeChange: (value: MatchTypes | null) => void; isDisabled: boolean; + toolbarItems?: React.FunctionComponentElement[]; + disableMatchBar?: boolean; } export interface ISearchInputProps { diff --git a/aim/web/ui/src/components/kit/Icon/Icon.d.ts b/aim/web/ui/src/components/kit/Icon/Icon.d.ts index 128a11ba64..a83274b44f 100644 --- a/aim/web/ui/src/components/kit/Icon/Icon.d.ts +++ b/aim/web/ui/src/components/kit/Icon/Icon.d.ts @@ -28,6 +28,9 @@ export type IconName = | 'pin-right' | 'pin-left' | 'pin' + | 'pin-to-top' + | 'flexible' + | 'pin-to-bottom' | 'expand-horizontal' | 'expand-vertical' | 'arrow-up' @@ -147,10 +150,11 @@ export type IconName = | 'figures-explorer' | 'group-column' | 'image-group' + | 'partially-selected' | 'arrow-left-contained' | 'arrow-up-contained' | 'arrow-right-contained' | 'arrow-down-contained' - | 'pin-to-top' - | 'pin-to-bottom' - | 'flexible'; + | 'audio' + | 'distributions' + | 'dashboard'; diff --git a/aim/web/ui/src/components/kit/ListItem/Index.ts b/aim/web/ui/src/components/kit/ListItem/Index.ts new file mode 100644 index 0000000000..3320afcbbc --- /dev/null +++ b/aim/web/ui/src/components/kit/ListItem/Index.ts @@ -0,0 +1,5 @@ +import ListItem from './ListItem'; + +export * from './ListItem'; + +export default ListItem; diff --git a/aim/web/ui/src/components/kit/ListItem/ListItem.d.ts b/aim/web/ui/src/components/kit/ListItem/ListItem.d.ts new file mode 100644 index 0000000000..6d8fa4a2d4 --- /dev/null +++ b/aim/web/ui/src/components/kit/ListItem/ListItem.d.ts @@ -0,0 +1,11 @@ +import React from 'react'; + +export interface IListItemProps + extends Partial> { + className?: string; + children?: React.ReactNode; + size?: IListITemSize; + onClick?: (event: React.MouseEvent) => void; +} + +export type IListITemSize = 'small' | 'medium' | 'large'; diff --git a/aim/web/ui/src/components/kit/ListItem/ListItem.tsx b/aim/web/ui/src/components/kit/ListItem/ListItem.tsx new file mode 100644 index 0000000000..af40f8d64d --- /dev/null +++ b/aim/web/ui/src/components/kit/ListItem/ListItem.tsx @@ -0,0 +1,54 @@ +import React from 'react'; +import styled from 'styled-components'; + +import { IListItemProps, IListITemSize } from './ListItem.d'; + +const heights: { small: string; medium: string; large: string } = { + small: '24px', + medium: '28px', + large: '32px', +}; + +const Container = styled.div` + display: flex; + align-items: center; + height: ${({ size }) => heights[size as IListITemSize]}; + padding: 0 0.75rem; + border-radius: 0.25rem; + transition: all 0.18s ease-out; + cursor: pointer; + &:hover { + background-color: #f4f4f6; + color: #1473e6; + .Text { + color: #1473e6; + } + } + .Text { + max-width: 100%; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + } +`; + +function ListItem({ + className = '', + size = 'medium', + children, + onClick, + ...rest +}: IListItemProps) { + return ( + null} + className={`ListItem ${className}`} + size={size} + {...rest} + > + {children} + + ); +} + +export default React.memo(ListItem); diff --git a/aim/web/ui/src/config/analytics/analyticsKeysMap.ts b/aim/web/ui/src/config/analytics/analyticsKeysMap.ts index ac495bb00a..becb3b4124 100644 --- a/aim/web/ui/src/config/analytics/analyticsKeysMap.ts +++ b/aim/web/ui/src/config/analytics/analyticsKeysMap.ts @@ -317,14 +317,17 @@ export const ANALYTICS_EVENT_KEYS = { pageView: '[BookmarksPage] Page view', view: '[BookmarksPage] View bookmark', }, - home: { - pageView: '[HomePage] Page view', - activityCellClick: '[HomePage] Click on Activity cell', - createGithubIssue: '[HomePage] Click on create gitHub issue', - slackCommunity: '[HomePage] Click on Join Aim slack community', - docs: '[HomePage] Click on documentation icon', - colab: '[HomePage] Click on colab notebook icon', - liveDemo: '[HomePage] Click on Live demo icon', + dashboard: { + pageView: '[DashboardPage] Page view', + activityCellClick: '[DashboardPage] Click on Activity cell', + createGithubIssue: '[DashboardPage] Click on create gitHub issue', + slackCommunity: '[DashboardPage] Click on Join Aim slack community', + docs: '[DashboardPage] Click on documentation icon', + colab: '[DashboardPage] Click on colab notebook icon', + liveDemo: '[DashboardPage] Click on Live demo icon', + table: { + compareSelectedRuns: '[MetricsExplorer][Table] Compare selected runs', + }, }, sidebar: { slack: '[SideBar] Click on slack community link', diff --git a/aim/web/ui/src/config/dates/dates.ts b/aim/web/ui/src/config/dates/dates.ts index a3b2e6fa9b..b28f0065ea 100644 --- a/aim/web/ui/src/config/dates/dates.ts +++ b/aim/web/ui/src/config/dates/dates.ts @@ -5,3 +5,6 @@ export const DATE_GIT_COMMIT = 'DD MMMM YYYY HH:MM A'; export const TABLE_DATE_FORMAT = 'HH:mm:ss · DD MMM, YY'; export const DATE_CHART_TICK = 'HH:mm:ss DD MMM, YY'; export const DATE_QUERY_FORMAT = 'YYYY, M, D'; +export const CONTRIBUTION_DAY_FORMAT = 'DD_MMM_YYYY'; +export const CONTRIBUTION_MONTH_FORMAT = 'MMMM_YYYY'; +export const CONTRIBUTION_TIME_FORMAT = 'HH:mm:ss A'; diff --git a/aim/web/ui/src/config/enums/routesEnum.ts b/aim/web/ui/src/config/enums/routesEnum.ts index be156bbceb..2037fbc158 100644 --- a/aim/web/ui/src/config/enums/routesEnum.ts +++ b/aim/web/ui/src/config/enums/routesEnum.ts @@ -1,5 +1,5 @@ enum PathEnum { - Home = '/', + Dashboard = '/', Runs = '/runs', Metrics = '/metrics', Metrics_Id = '/metrics/:appId', diff --git a/aim/web/ui/src/config/pageTitles/pageTitles.ts b/aim/web/ui/src/config/pageTitles/pageTitles.ts index f53304a28b..cd78f148c6 100644 --- a/aim/web/ui/src/config/pageTitles/pageTitles.ts +++ b/aim/web/ui/src/config/pageTitles/pageTitles.ts @@ -1,5 +1,5 @@ const pageTitles = { - HOME: '', + DASHBOARD: '', RUNS_EXPLORER: 'Runs Explorer', METRICS_EXPLORER: 'Metrics Explorer', PARAMS_EXPLORER: 'Params Explorer', diff --git a/aim/web/ui/src/config/references/index.ts b/aim/web/ui/src/config/references/index.ts index eb73328cfe..b3b1f23986 100644 --- a/aim/web/ui/src/config/references/index.ts +++ b/aim/web/ui/src/config/references/index.ts @@ -1,7 +1,11 @@ +import { AIM_VERSION } from 'config/config'; + const DOCUMENTATIONS = { MAIN_PAGE: 'https://aimstack.readthedocs.io', STABLE: 'https://aimstack.readthedocs.io/en/stable/', AIM_QL: 'https://aimstack.readthedocs.io/en/latest/using/search.html', + SUPPORTED_TYPES: + 'https://aimstack.readthedocs.io/en/latest/quick_start/supported_types.html', EXPLORERS: { PARAMS: { MAIN: 'https://aimstack.readthedocs.io/en/latest/ui/pages/explorers.html#params-explorer', @@ -35,6 +39,26 @@ const DOCUMENTATIONS = { 'https://aimstack.readthedocs.io/en/latest/ui/pages/explorers.html', }, }, + INTEGRATIONS: { + PYTORCH_LIGHTNING: + 'https://aimstack.readthedocs.io/en/latest/quick_start/integrations.html#integration-with-pytorch-lightning', + HUGGING_FACE: + 'https://aimstack.readthedocs.io/en/latest/quick_start/integrations.html#integration-with-hugging-face', + KERAS: + 'https://aimstack.readthedocs.io/en/latest/quick_start/integrations.html#integration-with-keras-tf-keras', + KERAS_TUNER: + 'https://aimstack.readthedocs.io/en/latest/quick_start/integrations.html#integration-with-kerastuner', + XGBOOST: + 'https://aimstack.readthedocs.io/en/latest/quick_start/integrations.html#integration-with-xgboost', + CATBOOST: + 'https://aimstack.readthedocs.io/en/latest/quick_start/integrations.html#integration-with-catboost', + FASTAI: + 'https://aimstack.readthedocs.io/en/latest/quick_start/integrations.html#integration-with-fastai', + LIGHT_GBM: + 'https://aimstack.readthedocs.io/en/latest/quick_start/integrations.html#integration-with-lightgbm', + PYTORCH_IGNITE: + 'https://aimstack.readthedocs.io/en/latest/quick_start/integrations.html#integration-with-pytorch-ignite', + }, }; const DEMOS = { @@ -48,4 +72,81 @@ const GUIDES = { }, }; -export { DOCUMENTATIONS, GUIDES, DEMOS }; +/* + getDocsVersion() returns the version of the docs to be used in the links + */ +function getDocsVersion() { + let [majorVersion, minorVersion] = `${AIM_VERSION}`.split('.'); + return `v${majorVersion}.${minorVersion}.0`; +} + +const version: string = getDocsVersion(); + +const DASHBOARD_PAGE_GUIDES: { name: string; url: string }[] = [ + { + name: 'UI Runs Management', + url: `https://aimstack.readthedocs.io/en/${version}/ui/pages/run_management.html`, + }, + { + name: 'UI Explorers', + url: `https://aimstack.readthedocs.io/en/${version}/ui/pages/explorers.html`, + }, + { + name: 'UI Bookmarks', + url: `https://aimstack.readthedocs.io/en/${version}/ui/pages/bookmarks.html`, + }, + { + name: 'UI Tags page', + url: `https://aimstack.readthedocs.io/en/${version}/ui/pages/tags.html`, + }, + { + name: 'Manage runs', + url: `https://aimstack.readthedocs.io/en/${version}/using/manage_runs.html`, + }, + { + name: 'Configure runs', + url: `https://aimstack.readthedocs.io/en/${version}/using/configure_runs.html`, + }, + { + name: 'Query runs and objects', + url: `https://aimstack.readthedocs.io/en/${version}/using/query_runs.html`, + }, + { + name: 'Query language basics', + url: `https://aimstack.readthedocs.io/en/${version}/using/search.html`, + }, + { + name: 'Track experiments with aim remote server', + url: `https://aimstack.readthedocs.io/en/${version}/using/remote_tracking.html`, + }, + { + name: 'Host Aim on Kubernetes (K8S)', + url: `https://aimstack.readthedocs.io/en/${version}/using/k8s_deployment.html`, + }, + { + name: 'Run Aim UI on Jupyter Notebook', + url: `https://aimstack.readthedocs.io/en/${version}/using/jupyter_notebook_ui.html`, + }, + { + name: 'Run Aim UI on SageMaker Notebook instance', + url: `https://aimstack.readthedocs.io/en/${version}/using/sagemaker_notebook_ui.html`, + }, + { + name: 'Integration guides', + url: `https://aimstack.readthedocs.io/en/${version}/using/integration_guides.html`, + }, + { + name: 'Data storage - where Aim data is collected', + url: `https://aimstack.readthedocs.io/en/${version}/understanding/data_storage.html`, + }, + { + name: 'Storage indexing - how Aim data is indexed', + url: `https://aimstack.readthedocs.io/en/${version}/understanding/storage_indexing.html`, + }, + { + name: 'Concepts', + url: `https://aimstack.readthedocs.io/en/${version}/understanding/concepts.html`, + }, +]; + +export { DOCUMENTATIONS, GUIDES, DEMOS, DASHBOARD_PAGE_GUIDES }; diff --git a/aim/web/ui/src/config/table/tableConfigs.ts b/aim/web/ui/src/config/table/tableConfigs.ts index 36a5ffb76c..6ea2147cd0 100644 --- a/aim/web/ui/src/config/table/tableConfigs.ts +++ b/aim/web/ui/src/config/table/tableConfigs.ts @@ -143,4 +143,5 @@ export const EXPLORE_SELECTED_RUNS_CONFIG: { AppNameEnum.METRICS, ], [AppNameEnum.IMAGES]: [AppNameEnum.RUNS, AppNameEnum.METRICS], + dashboard: [AppNameEnum.RUNS, AppNameEnum.METRICS, AppNameEnum.IMAGES], }; diff --git a/aim/web/ui/src/hooks/useCodeHighlighter.ts b/aim/web/ui/src/hooks/useCodeHighlighter.ts new file mode 100644 index 0000000000..94e4ab4c2a --- /dev/null +++ b/aim/web/ui/src/hooks/useCodeHighlighter.ts @@ -0,0 +1,34 @@ +import React from 'react'; + +import { useMonaco } from '@monaco-editor/react'; + +import { getMonacoConfig } from 'config/monacoConfig/monacoConfig'; + +function useCodeHighlighter(language: string = 'python') { + const monaco = useMonaco(); + const preRef = React.useRef(null); + + const monacoConfig: Record = + React.useMemo(() => { + return getMonacoConfig(); + }, []); + + React.useEffect(() => { + monacoConfig.theme.config.colors = { + ...monacoConfig.theme.config.colors, + 'editor.background': '#f2f3f4', + }; + if (monaco && preRef.current) { + monaco.editor.colorizeElement(preRef.current, { theme: language }); + monaco.editor.defineTheme( + monacoConfig.theme.name, + monacoConfig.theme.config, + ); + monaco.editor.setTheme(monacoConfig.theme.name); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [monaco]); + return { elementRef: preRef }; +} + +export default useCodeHighlighter; diff --git a/aim/web/ui/src/modules/core/api/dashboardsApi/index.ts b/aim/web/ui/src/modules/core/api/dashboardsApi/index.ts new file mode 100644 index 0000000000..fa44d06848 --- /dev/null +++ b/aim/web/ui/src/modules/core/api/dashboardsApi/index.ts @@ -0,0 +1,77 @@ +import { getAPIHost } from 'config/config'; + +import ENDPOINTS from 'services/api/endpoints'; +import NetworkService from 'services/NetworkService'; + +import { IDashboardData, IDashboardRequestBody } from './types'; + +const api = new NetworkService(`${getAPIHost()}${ENDPOINTS.DASHBOARDS.BASE}`); + +/** + * function fetchDashboardsList + * this call is used for fetching dashboards list. + * @returns {Promise} + */ +async function fetchDashboardsList(): Promise { + return (await api.makeAPIGetRequest(ENDPOINTS.DASHBOARDS.GET)).body; +} + +/** + * function fetchDashboard + * this call is used for fetching a dashboard by id. + * @param id - id of dashboard + * @returns {Promise} + */ +async function fetchDashboard(id: string): Promise { + return (await api.makeAPIGetRequest(`${ENDPOINTS.DASHBOARDS.GET}/${id}`)) + .body; +} + +/** + * function createDashboard + * this call is used for creating new dashboard. + * @param reqBody - query body params + * @returns {Promise} + */ +async function createDashboard( + reqBody: IDashboardRequestBody, +): Promise { + return ( + await api.makeAPIPostRequest(ENDPOINTS.DASHBOARDS.CREATE, { + body: reqBody, + }) + ).body; +} + +/** + * function updateDashboard + * this call is used for updating a dashboard by id. + * @param id - id of dashboard + * @param reqBody - query body params + * @returns {Promise} + */ +async function updateDashboard( + id: string, + reqBody: IDashboardRequestBody, +): Promise { + return (await api.makeAPIPutRequest(`/${id}`, { body: reqBody })).body; +} + +/** + * function deleteDashboard + * this call is used for deleting a dashboard by id. + * @param id - id of dashboard + * @returns {Promise} + */ +async function deleteDashboard(id: string): Promise { + return api.makeAPIDeleteRequest(`/${id}`); +} + +export { + fetchDashboardsList, + fetchDashboard, + createDashboard, + updateDashboard, + deleteDashboard, +}; +export * from './types'; diff --git a/aim/web/ui/src/modules/core/api/dashboardsApi/types.ts b/aim/web/ui/src/modules/core/api/dashboardsApi/types.ts new file mode 100644 index 0000000000..15cee13486 --- /dev/null +++ b/aim/web/ui/src/modules/core/api/dashboardsApi/types.ts @@ -0,0 +1,65 @@ +export interface IDashboardRequestBody { + /** + * The name of the dashboard + * @type {string} + * @example 'My Dashboard' + */ + name: string; + /** + * The description of the dashboard + * @type string + * @example 'This is a description' + */ + description: string; + /** + * The app_id which the dashboard belongs to + * @type {string} + * @optional + */ + app_id?: string; +} + +export interface IDashboardData { + /** + * The app id which the dashboard belongs to + * @type {string} + * @example '5e9f1b9b-7c1a-4b5a-8f0c-8c1c1b9b7c1a' + */ + app_id: string; + /** + * The timestamp of the dashboard creation + * @type {string} + * @example '2020-01-01T00:00:00.000Z' + */ + created_at: string; + /** + * The id of the dashboard + * @type {string} + * @example '5e9f1b9b-7c1a-4b5a-8f0c-8c1c1b9b7c1a' + */ + id: string; + /** + * The name of the dashboard + * @type {string} + * @example 'My Dashboard' + */ + name: string; + /** + * The description of the dashboard + * @type string + * @example 'This is a description' + */ + description: string; + /** + * The timestamp of the dashboard update + * @type {string} + * @example '2020-01-01T00:00:00.000Z' + */ + updated_at: string; + /** + * the app name which the dashboard belongs to + * @type {string} + * @example 'metrics' + */ + app_type: 'metrics' | 'params' | 'images' | 'scatters'; +} diff --git a/aim/web/ui/src/modules/core/api/experimentsApi/index.ts b/aim/web/ui/src/modules/core/api/experimentsApi/index.ts new file mode 100644 index 0000000000..70857b9c76 --- /dev/null +++ b/aim/web/ui/src/modules/core/api/experimentsApi/index.ts @@ -0,0 +1,102 @@ +import { getAPIHost } from 'config/config'; + +import ENDPOINTS from 'services/api/endpoints'; +import NetworkService from 'services/NetworkService'; + +import { IExperimentData } from './types'; + +const api = new NetworkService(`${getAPIHost()}${ENDPOINTS.EXPERIMENTS.BASE}`); + +/** + * function getExperiments + * this call is used for fetching experiments data. + * @returns {Promise} + */ +async function getExperiments(): Promise { + return (await api.makeAPIGetRequest(ENDPOINTS.EXPERIMENTS.GET)).body; +} + +/** + * function searchExperiments + * this call is used for searching experiment data. + * @param query - query string + * @returns {Promise} + */ +async function searchExperiment(query: string): Promise { + return ( + await api.makeAPIGetRequest(`${ENDPOINTS.EXPERIMENTS.SEARCH}=${query}`) + ).body; +} + +/** + * function getExperimentById + * this call is used for fetching experiment data by id. + * @param id - experiment id + * @returns {Promise} + */ +async function getExperimentById(id: string): Promise { + return (await api.makeAPIGetRequest(`${ENDPOINTS.EXPERIMENTS.GET}/${id}`)) + .body; +} + +/** + * function getExperimentById + * this call is used for updating experiment data by id. + * @param id - experiment id + * @param reqBody - query body params + * @returns {Promise} + */ +async function updateExperimentById( + reqBody: { name?: string; archived?: boolean }, + id: string, +): Promise<{ status: string; id: string }> { + return ( + await api.makeAPIPutRequest(`${ENDPOINTS.EXPERIMENTS.GET}/${id}`, { + body: reqBody, + }) + ).body; +} + +/** + * function getExperimentById + * this call is used for updating experiment data by id. + * @param reqBody - query body params + * @returns {Promise} + */ +async function createExperiment(reqBody: { + name: string; +}): Promise<{ id: string; status: string }> { + return ( + await api.makeAPIPostRequest(ENDPOINTS.EXPERIMENTS.CREATE, { + body: reqBody, + }) + ).body; +} + +/** + * function getExperimentById + * this call is used for updating experiment data by id. + * @param { id, params } - query params + * @returns {Promise} + */ +async function getRunsOfExperiment( + id: string, + params: { limit: number; offset?: string } = { limit: 10 }, +) { + return await api.makeAPIGetRequest( + `${ENDPOINTS.EXPERIMENTS.GET}/${id}/runs`, + { + query_params: params, + }, + ); +} + +export { + getExperiments, + searchExperiment, + getExperimentById, + updateExperimentById, + createExperiment, + getRunsOfExperiment, +}; +export * from './types'; diff --git a/aim/web/ui/src/modules/core/api/experimentsApi/types.ts b/aim/web/ui/src/modules/core/api/experimentsApi/types.ts new file mode 100644 index 0000000000..d2075f4c3b --- /dev/null +++ b/aim/web/ui/src/modules/core/api/experimentsApi/types.ts @@ -0,0 +1,22 @@ +/** + * interface IExperimentData + * the experiment data interface + */ +export interface IExperimentData { + /** + * The id of the experiment + */ + id: string; + /** + * The name of the experiment + */ + name: string; + /** + * is the experiment archived + */ + archived: boolean; + /** + * The attached runs of the experiment + */ + run_count: number; +} diff --git a/aim/web/ui/src/modules/core/api/projectApi/index.ts b/aim/web/ui/src/modules/core/api/projectApi/index.ts index 64d9830c01..1f820e1f0c 100644 --- a/aim/web/ui/src/modules/core/api/projectApi/index.ts +++ b/aim/web/ui/src/modules/core/api/projectApi/index.ts @@ -6,7 +6,7 @@ import NetworkService from 'services/NetworkService'; import { GetParamsQueryOptions, GetParamsResult, - GetActivityResult, + GetProjectContributionsResult, } from './types'; const api = new NetworkService(`${getAPIHost()}${ENDPOINTS.PROJECTS.BASE}`); @@ -27,12 +27,12 @@ async function getParams( } /** - * function getActivity - * this call is used from home page to show activity data + * function getProjectContributions + * this call is used from DashboardPage page to show project contributions data */ -async function getActivity(): Promise { +async function getProjectContributions(): Promise { return (await api.makeAPIGetRequest(ENDPOINTS.PROJECTS.GET_ACTIVITY)).body; } -export { getParams, getActivity }; +export { getParams, getProjectContributions }; export * from './types'; diff --git a/aim/web/ui/src/modules/core/api/projectApi/types.ts b/aim/web/ui/src/modules/core/api/projectApi/types.ts index 72512e41f2..75add89ce1 100644 --- a/aim/web/ui/src/modules/core/api/projectApi/types.ts +++ b/aim/web/ui/src/modules/core/api/projectApi/types.ts @@ -1,4 +1,4 @@ -import { SequenceTypesEnum } from 'types/core/enums'; +import { SequenceTypesUnion } from 'types/core/enums'; import { Context } from 'types/core/shared'; /** @@ -7,9 +7,13 @@ import { Context } from 'types/core/shared'; */ export type GetParamsQueryOptions = { /** - * Sequence name one of 'metric' | 'distributions' | 'images' | 'figures' | 'audio' etc. + * Sequence: array of sequence names or one of 'metric' | 'distributions' | 'images' | 'figures' | 'audio' etc. . */ - sequence: SequenceTypesEnum; + sequence: SequenceTypesUnion | SequenceTypesUnion[]; + /** + * Exclude 'params' from the response + */ + exclude_params?: boolean; }; /** @@ -51,7 +55,7 @@ export type GetParamsResult = { * ``` * This record includes high level params of run, system defined params like __system_params, environment variables etc. */ - params: Record; + params?: Record; /** * Context of tracked metrics sequences by passing name of sequence as`metric` * This generates by calling @@ -106,19 +110,27 @@ export type GetParamsResult = { }; /** - * type GetActivityResult + * type GetProjectContributionsResult * The response type of GET /projects/activity * This data is used by autosuggestions etc. */ -export type GetActivityResult = { +export type GetProjectContributionsResult = { /** * Total number of experiments in a single repo/storage/project (.aim directory) */ num_experiments: number; + /** + * Total number of archived runs in a single repo/storage/project (.aim directory) + */ + num_archived_runs: number; /** * Total number of runs in a single repo/storage/project (.aim directory) */ num_runs: number; + /** + * Number of active runs in a single repo/storage/project (.aim directory) + */ + num_active_runs: number; /** * Activity distribution by datetime (creating run, tracking etc.) * This data is used by the activity heatmap of main dashboard of UI diff --git a/aim/web/ui/src/modules/core/api/releaseNotesApi/index.ts b/aim/web/ui/src/modules/core/api/releaseNotesApi/index.ts new file mode 100644 index 0000000000..e7ce822413 --- /dev/null +++ b/aim/web/ui/src/modules/core/api/releaseNotesApi/index.ts @@ -0,0 +1,68 @@ +import ENDPOINTS from 'services/api/endpoints'; +import NetworkService from 'services/NetworkService'; + +import { IReleaseNote } from './types'; + +const api = new NetworkService(`${ENDPOINTS.RELEASE_NOTES.BASE}`); + +/** + * function fetchReleaseNotes + * this call is used for fetching release notes list. + * @returns {Promise} + */ +async function fetchReleaseNotes(): Promise { + return ( + await api.makeAPIGetRequest(ENDPOINTS.RELEASE_NOTES.GET, { + query_params: { per_page: 10 }, + headers: {}, + }) + ).body; +} + +/** + * function fetchLatestRelease + * this call is used for fetching latest release note. + * @returns {Promise} + */ +async function fetchLatestRelease(): Promise { + return ( + await api.makeAPIGetRequest(`${ENDPOINTS.RELEASE_NOTES.GET}/latest}`, { + headers: {}, + }) + ).body; +} + +/** + * function fetchLatestReleaseById + * this call is used for fetching release note by id. + * @returns {Promise} + */ +async function fetchReleaseById(id: string): Promise { + return ( + await api.makeAPIGetRequest(`${ENDPOINTS.RELEASE_NOTES.GET}/${id}}`, { + headers: {}, + }) + ).body; +} + +/** + * function fetchLatestReleaseByTagName + * this call is used for fetching release note by tag name. + * @returns {Promise} + */ + +async function fetchReleaseByTagName(tagName: string): Promise { + return ( + await api.makeAPIGetRequest( + `${ENDPOINTS.RELEASE_NOTES.GET}${ENDPOINTS.RELEASE_NOTES.GET_BY_TAG_NAME}/${tagName}`, + { headers: {} }, + ) + ).body; +} + +export { + fetchReleaseNotes, + fetchLatestRelease, + fetchReleaseById, + fetchReleaseByTagName, +}; diff --git a/aim/web/ui/src/modules/core/api/releaseNotesApi/types.ts b/aim/web/ui/src/modules/core/api/releaseNotesApi/types.ts new file mode 100644 index 0000000000..dfc1dc861b --- /dev/null +++ b/aim/web/ui/src/modules/core/api/releaseNotesApi/types.ts @@ -0,0 +1,135 @@ +/** + * @description This interface is used for the release notes data. It is used for the release notes list and the release note details. + */ +export interface IReleaseNote { + /** + * @description The url of the release note with the release note id. + * @type {string} + * @example 'https://api.github.com/repos/aimhubio/aim/releases/76800801' + */ + url: string; + /** + * @description The asset url of the release note. + * @type {string} + */ + assets_url: string; + /** + * @description The upload url of the release note. + * @type {string} + */ + upload_url: string; + /** + * @description The page/html url of the release note. + * @type {string} + */ + html_url: string; + /** + * @description The id of the release note. + * @type {number} + * @example 76800801 + */ + id: number; + /** + * @description The author data of the release note. + * @type {IReleaseNoteAuthor} + */ + author: ReleaseNoteAuthorType; + /** + * @description The node_id of the release note. + * @type {string} + * @example 'RE_kwDOC02th84Ek-Mh' + */ + node_id: string; + /** + * @description The tag name of the release note. + * @type {string} + * @example 'v3.13.0' + */ + tag_name: string; + /** + * @description The target of the commit of the release. + * @type string + * @example 'main' + */ + target_commitish: string; + /** + * @description The name of the release. + * @type string + * @example 'v3.13.0 🚀' + */ + name: string; + /** + * @description The draft status of the release. + * @type boolean + * @example false + */ + draft: boolean; + /** + * @description The prerelease status of the release. + * @type boolean + * @example false + */ + prerelease: boolean; + /** + * @description The created at timestamp of the release. + * @type string + * @example '2022-09-10T15:25:48Z' + */ + created_at: string; + /** + * @description The published at timestamp of the release. + * @type string + * @example '2022-09-10T15:57:10Z' + */ + published_at: string; + /** + * @description The assets of the release. + */ + assets: []; + /** + * @description The gzip file download url of that version of aim. + * @type string + */ + tarball_url: string; + /** + * @description The zip file download url of that version of aim. + * @type string + */ + zipball_url: string; + /** + * @description The markdown type body of the release. + * @type string + * @example '## Features' + */ + body: string; + /** + * @description The contributors of the release. + * @type number + * @example 3 + */ + mentions_count: number; +} + +/** + * @description The type for the release notes author data + */ +export type ReleaseNoteAuthorType = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; diff --git a/aim/web/ui/src/modules/core/api/runsApi/index.ts b/aim/web/ui/src/modules/core/api/runsApi/index.ts index a73fc2b952..3d47368506 100644 --- a/aim/web/ui/src/modules/core/api/runsApi/index.ts +++ b/aim/web/ui/src/modules/core/api/runsApi/index.ts @@ -52,6 +52,59 @@ function createSearchRunsRequest( cancel, }; } +function createSearchRunRequest(): RequestInstance { + const controller = new AbortController(); + const signal = controller.signal; + + async function call( + queryParams: RunsSearchQueryParams, + ): Promise { + return ( + await api.makeAPIGetRequest(`${ENDPOINTS.RUNS.SEARCH}/run`, { + query_params: queryParams, + signal, + }) + ).body; + } + + function cancel(): void { + controller.abort(); + } + + return { + call, + cancel, + }; +} + +function createActiveRunsRequest(): RequestInstance { + const controller = new AbortController(); + const signal = controller.signal; + + async function call( + queryParams: RunsSearchQueryParams, + ): Promise { + return ( + await api.makeAPIGetRequest(`${ENDPOINTS.RUNS.ACTIVE}`, { + signal, + }) + ).body; + } + + function cancel(): void { + controller.abort(); + } + + return { + call, + cancel, + }; +} -export { searchRuns, createSearchRunsRequest }; +export { + searchRuns, + createSearchRunsRequest, + createActiveRunsRequest, + createSearchRunRequest, +}; export * from './types'; diff --git a/aim/web/ui/src/modules/core/api/runsApi/types.ts b/aim/web/ui/src/modules/core/api/runsApi/types.ts index aeb697d648..4032901129 100644 --- a/aim/web/ui/src/modules/core/api/runsApi/types.ts +++ b/aim/web/ui/src/modules/core/api/runsApi/types.ts @@ -42,6 +42,9 @@ export type RunsSearchQueryParams = { * This parameter is used to for simple sampling, indicates how many objects want to load */ index_density?: number; + + exclude_params?: boolean; + exclude_traces?: boolean; }; /** diff --git a/aim/web/ui/src/modules/core/api/tagsApi/index.ts b/aim/web/ui/src/modules/core/api/tagsApi/index.ts new file mode 100644 index 0000000000..ce45b67e2e --- /dev/null +++ b/aim/web/ui/src/modules/core/api/tagsApi/index.ts @@ -0,0 +1,114 @@ +import { getAPIHost } from 'config/config'; + +import ENDPOINTS from 'services/api/endpoints'; +import NetworkService from 'services/NetworkService'; + +import { + ICreateTagBody, + ICreateTagResult, + IGetTagRunsResult, + ITagData, + IUpdateTagBody, +} from './types'; + +const api = new NetworkService(`${getAPIHost()}${ENDPOINTS.TAGS.BASE}`); + +/** + * function fetchTagsList + * this call is used for fetching tags list. + * @returns {Promise} + */ +async function fetchTagsList(): Promise { + return (await api.makeAPIGetRequest(ENDPOINTS.TAGS.GET)).body; +} + +/** + * function getTagById + * this call is used for getting a tag by id. + * @param id - id of tag + * @returns {Promise} + */ +async function getTagById(id: string): Promise { + return (await api.makeAPIGetRequest(`${ENDPOINTS.TAGS.GET}/${id}`)).body; +} + +/** + * function getTagRuns + * this call is used for fetching a runs which have a tag by id. + * @param id - id of tag + * @returns {Promise} + */ +async function getTagRuns(id: string): Promise { + return (await api.makeAPIGetRequest(`${ENDPOINTS.TAGS.GET}/${id}/runs`)).body; +} + +/** + * function createTag + * this call is used for creating new tag. + * @param reqBody - query body params + * @returns {Promise} + */ +async function createTag(reqBody: ICreateTagBody): Promise { + return ( + await api.makeAPIPostRequest(ENDPOINTS.TAGS.CREATE, { + body: reqBody, + }) + ).body; +} + +/** + * function updateTag + * this call is used for updating a tag by id. + * @param reqBody - query body params + * @param id - id of tag + * @returns {Promise} + */ +async function updateTag( + reqBody: IUpdateTagBody, + id: string, +): Promise { + return ( + await api.makeAPIPutRequest(`${ENDPOINTS.TAGS.UPDATE}/${id}`, { + body: reqBody, + }) + ).body; +} + +/** + * function archiveTag + * this call is used for archiving a tag by id. + * @param id - id of tag + * @param archived - archived status + * @returns {Promise} + */ +async function archiveTag( + id: string, + archived: boolean, +): Promise { + return ( + await api.makeAPIPutRequest(`${ENDPOINTS.TAGS.UPDATE}/${id}`, { + body: { archived }, + }) + ).body; +} + +/** + * function deleteTag + * this call is used for deleting a tag by id. + * @param id - id of tag + * @returns {Promise} + */ +async function deleteTag(id: string): Promise { + return (await api.makeAPIDeleteRequest(`${ENDPOINTS.TAGS.DELETE}/${id}`)) + .body; +} + +export { + fetchTagsList, + getTagRuns, + createTag, + updateTag, + getTagById, + archiveTag, + deleteTag, +}; diff --git a/aim/web/ui/src/modules/core/api/tagsApi/types.ts b/aim/web/ui/src/modules/core/api/tagsApi/types.ts new file mode 100644 index 0000000000..c41455ff29 --- /dev/null +++ b/aim/web/ui/src/modules/core/api/tagsApi/types.ts @@ -0,0 +1,132 @@ +// The response body of GET /tags +export interface ITagData { + /** + * Tag name + * @example "test" + * @type string + */ + name: string; + /** + * Tag color + * @example "#000000" + * @type string + */ + color: string | null; + /** + * Tag id + * @example '3fa85f64-5717-4562-b3fc-2c963f66afa6' + * @type string + */ + id: string; + /** + * Tag description + * @example "tag description" + * @type string + */ + description: string; + /** + * Tag run count which is associated with this tag + * @example 1 + * @type number + */ + run_count: number; + /** + * Tag archived status + * @example false + * @type boolean + */ + archived: boolean; +} + +// The request body type of POST /tags +export interface ICreateTagBody { + /** + * Tag name + * @example "test" + * @type string + */ + name: string; + /** + * Tag color + * @example "#000000" + * @type string + */ + color: string; + /** + * Tag description + * @example "tag description" + * @type string + */ + description: string; +} + +// The response body of the created tag +export interface ICreateTagResult { + /** + * Tag id + * @example '3fa85f64-5717-4562-b3fc-2c963f66afa6' + * @type string + */ + id: string; + /** + * Response status + * @example "OK" + * @type string + */ + status: string; +} + +export interface IUpdateTagBody extends Partial { + archived?: boolean; +} + +// The response of getting runs by tag id +export interface IGetTagRunsResult { + /** + * Tag id + * @example '3fa85f64-5717-4562-b3fc-2c963f66afa6' + * @type string + */ + id: string; + /** + * Runs which are associated with this tag + * @example [{creation_time: 123, end_time: 123, experiment: 'test', name: 'test', run_id: '3fa85f64-5717-4562-b3fc-2c963f66afa6'}] + * @type ITagRun[] + * @see ITagRun + */ + runs: ITagRun[]; +} + +// The run data which is associated with a tag +type ITagRun = { + /** + * Run id + * @example '1af2657' + * @type string + */ + run_id: string; + /** + * Run name + * @example 'run name' + * @type string + */ + name: string; + /** + * Run experiment + * @example 'experiment name' + * @type string + */ + experiment: string; + /** + * Run creation time + * @example 1632172882.096673 + * @type number + */ + creation_time: number; + /** + * Run end time + * @example 1632172882.350732 + * @type number + */ + end_time: number; +}; diff --git a/aim/web/ui/src/modules/core/utils/createResource.ts b/aim/web/ui/src/modules/core/utils/createResource.ts new file mode 100644 index 0000000000..4168a30d20 --- /dev/null +++ b/aim/web/ui/src/modules/core/utils/createResource.ts @@ -0,0 +1,31 @@ +import { RequestOptions } from 'https'; +import create from 'zustand'; + +export interface IResourceState { + data: T | null; + loading: boolean; + error: any; +} + +const defaultState = { + data: null, + loading: true, + error: null, +}; + +function createResource(getter: any) { + const state = create>(() => defaultState); + + async function fetchData(args?: GetterArgs) { + state.setState({ loading: true }); + const data = await getter(args); + state.setState({ data, loading: false }); + } + function destroy() { + state.destroy(); + state.setState(defaultState, true); + } + return { fetchData, state, destroy }; +} + +export default createResource; diff --git a/aim/web/ui/src/pages/Bookmarks/components/BookmarkCard/BookmarkCard.tsx b/aim/web/ui/src/pages/Bookmarks/components/BookmarkCard/BookmarkCard.tsx index 3fac0605c4..2ddfacc82b 100644 --- a/aim/web/ui/src/pages/Bookmarks/components/BookmarkCard/BookmarkCard.tsx +++ b/aim/web/ui/src/pages/Bookmarks/components/BookmarkCard/BookmarkCard.tsx @@ -17,9 +17,10 @@ import { IBookmarkCardProps } from 'types/pages/bookmarks/components/BookmarkCar import './BookmarkCard.scss'; -const BookmarkIconType: { +export const BookmarkIconType: { [key: string]: { name: IconName; tooltipTitle: string }; } = { + runs: { name: 'runs', tooltipTitle: 'Runs Explorer' }, images: { name: 'images', tooltipTitle: 'Images Explorer' }, params: { name: 'params', tooltipTitle: 'Params Explorer' }, metrics: { name: 'metrics', tooltipTitle: 'Metrics Explorer' }, diff --git a/aim/web/ui/src/pages/Dashboard/Dashboard.scss b/aim/web/ui/src/pages/Dashboard/Dashboard.scss new file mode 100644 index 0000000000..15f981f92e --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/Dashboard.scss @@ -0,0 +1,39 @@ +@use 'src/styles/abstracts' as *; + +.Dashboard { + background-color: #ffffff; + overflow: hidden; + display: flex; + .DataList .BaseTable__row-cell { + p { + white-space: nowrap; + max-width: 100%; + text-overflow: ellipsis; + overflow: hidden; + } + } + height: 100vh; + + &__middle { + padding: $space-md $space-lg; + border: $border-dark-lighter; + border-top: none; + display: flex; + overflow: auto; + flex-direction: column; + flex: 1 1; + + &--centered { + align-items: center; + justify-content: center; + } + } + &__Explore__container { + border-top: $border-dark-lighter; + border-bottom: $border-dark-lighter; + display: flex; + } + h2 { + margin: 0 0 1rem 0; + } +} diff --git a/aim/web/ui/src/pages/Dashboard/Dashboard.tsx b/aim/web/ui/src/pages/Dashboard/Dashboard.tsx new file mode 100644 index 0000000000..b7b13dfe19 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/Dashboard.tsx @@ -0,0 +1,62 @@ +import React from 'react'; +import classnames from 'classnames'; + +import ErrorBoundary from 'components/ErrorBoundary/ErrorBoundary'; +import { Spinner, Text } from 'components/kit'; + +import ProjectContributions from './components/ProjectContributions/ProjectContributions'; +import ExploreSection from './components/ExploreSection/ExploreSection'; +import DashboardRight from './components/DashboardRight/DashboardRight'; +import ContributionsFeed from './components/ContributionsFeed/ContributionsFeed'; +import ProjectStatistics from './components/ProjectStatistics'; +import useProjectContributions from './components/ProjectContributions/useProjectContributions'; +import ActiveRunsTable from './components/ActiveRunsTable/ActiveRunsTable'; +import QuickStart from './components/QuickStart'; +import AimIntegrations from './components/AimIntegrations'; + +import './Dashboard.scss'; + +function Dashboard(): React.FunctionComponentElement { + const { projectContributionsStore } = useProjectContributions(); + + const totalRunsCount = projectContributionsStore.data?.num_runs ?? 0; + const activeRunsCount = projectContributionsStore.data?.num_active_runs ?? 0; + const isLoading = projectContributionsStore.loading; + + return ( + +
+ +
+ {isLoading ? ( + + ) : totalRunsCount === 0 ? ( + + ) : ( + <> + + Overview + + + {activeRunsCount ? : null} + + + + )} + {!isLoading && !totalRunsCount && } +
+ +
+
+ ); +} +export default Dashboard; diff --git a/aim/web/ui/src/pages/Dashboard/components/ActiveRunsTable/ActiveRunsStore.ts b/aim/web/ui/src/pages/Dashboard/components/ActiveRunsTable/ActiveRunsStore.ts new file mode 100644 index 0000000000..01ae5540ed --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ActiveRunsTable/ActiveRunsStore.ts @@ -0,0 +1,17 @@ +import { createActiveRunsRequest } from 'modules/core/api/runsApi'; +import createResource from 'modules/core/utils/createResource'; + +import { IRun } from 'types/services/models/metrics/runModel'; + +import { parseStream } from 'utils/encoder/streamEncoding'; + +function createActiveRunsEngine() { + let { call, cancel } = createActiveRunsRequest(); + + const { fetchData, state, destroy } = createResource[]>( + async () => parseStream(await call()), + ); + return { fetchActiveRuns: fetchData, activeRunsState: state, destroy }; +} + +export default createActiveRunsEngine(); diff --git a/aim/web/ui/src/pages/Dashboard/components/ActiveRunsTable/ActiveRunsTable.scss b/aim/web/ui/src/pages/Dashboard/components/ActiveRunsTable/ActiveRunsTable.scss new file mode 100644 index 0000000000..9f4613ed74 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ActiveRunsTable/ActiveRunsTable.scss @@ -0,0 +1,33 @@ +@use 'src/styles/abstracts' as *; + +.ActiveRunsTable { + margin-top: $space-lg; +} + +.ActiveRunsTable__header { + display: flex; + align-items: center; + justify-content: space-between; + height: 28px; + + .CompareSelectedRunsPopover__trigger { + margin-right: 0 !important; + } +} + +.ActiveRunsTable__table { + height: 271px; + margin-top: $space-xxs; + border: 1px solid $cuddle-50; + border-top: none; +} + +.ActiveRunsTable__table--loading { + display: flex; + align-items: center; + justify-content: center; +} + +.ActiveRunsTable__table--empty { + border: none; +} diff --git a/aim/web/ui/src/pages/Dashboard/components/ActiveRunsTable/ActiveRunsTable.tsx b/aim/web/ui/src/pages/Dashboard/components/ActiveRunsTable/ActiveRunsTable.tsx new file mode 100644 index 0000000000..9f6090eb87 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ActiveRunsTable/ActiveRunsTable.tsx @@ -0,0 +1,86 @@ +import * as React from 'react'; +import classNames from 'classnames'; + +import { Spinner, Text } from 'components/kit'; +import Table from 'components/Table/Table'; + +import { RowHeightSize } from 'config/table/tableConfigs'; + +import CompareSelectedRunsPopover from 'pages/Metrics/components/Table/CompareSelectedRunsPopover'; + +import { AppNameEnum } from 'services/models/explorer'; + +import useActiveRunsTable from './useActiveRunsTable'; + +import './ActiveRunsTable.scss'; + +function ActiveRunsTable() { + const { + tableRef, + tableColumns, + tableData, + loading, + selectedRows, + comparisonQuery, + onRowSelect, + } = useActiveRunsTable(); + + return ( +
+
+ + Active runs {tableData.length > 0 ? `(${tableData.length})` : ''} + + {tableData.length > 0 && ( +
+ +
+ )} +
+
+ {loading ? ( + + ) : ( + + )} + + + ); +} +export default ActiveRunsTable; diff --git a/aim/web/ui/src/pages/Dashboard/components/ActiveRunsTable/useActiveRunsTable.tsx b/aim/web/ui/src/pages/Dashboard/components/ActiveRunsTable/useActiveRunsTable.tsx new file mode 100644 index 0000000000..1b719efcf0 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ActiveRunsTable/useActiveRunsTable.tsx @@ -0,0 +1,256 @@ +import React from 'react'; +import _ from 'lodash-es'; +import moment from 'moment'; + +import { IResourceState } from 'modules/core/utils/createResource'; + +import RunNameColumn from 'components/Table/RunNameColumn'; +import { Badge } from 'components/kit'; + +import { TABLE_DATE_FORMAT } from 'config/dates/dates'; + +import { IRun } from 'types/services/models/metrics/runModel'; + +import contextToString from 'utils/contextToString'; +import { processDurationTime } from 'utils/processDurationTime'; +import { getMetricHash } from 'utils/app/getMetricHash'; +import { formatValue } from 'utils/formatValue'; +import { isSystemMetric } from 'utils/isSystemMetric'; +import { formatSystemMetricName } from 'utils/formatSystemMetricName'; +import { decode, encode } from 'utils/encoder/encoder'; + +import createActiveRunsEngine from './ActiveRunsStore'; + +function useActiveRunsTable() { + const tableRef = React.useRef(null); + const { current: activeRunsEngine } = React.useRef(createActiveRunsEngine); + const activeRunsStore: IResourceState[]> = + activeRunsEngine.activeRunsState((state) => state); + const [selectedRows, setSelectedRows] = React.useState< + Record + >({}); + const [comparisonQuery, setComparisonQuery] = React.useState(''); + + React.useEffect(() => { + activeRunsEngine.fetchActiveRuns(); + return () => { + activeRunsEngine.destroy(); + }; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + + const metricsColumns = React.useMemo(() => { + if (activeRunsStore.data) { + const metrics: any = []; + const systemMetrics: any = []; + const metricsValues: any = {}; + activeRunsStore.data.forEach(({ hash, traces }: IRun) => { + traces.metric.forEach((trace: any) => { + const metricHash = getMetricHash(trace.name, trace.context as any); + + if (metricsValues.hasOwnProperty(metricHash)) { + metricsValues[metricHash][hash] = [ + trace.last_value.last_step, + trace.last_value.last, + ]; + } else { + metricsValues[metricHash] = { + [hash]: [trace.last_value.last_step, trace.last_value.last], + }; + + const metricContext = contextToString( + trace.context as Record, + ) as string; + + const isSystem = isSystemMetric(trace.name); + const col = { + key: metricHash, + content: ( + + ), + topHeader: isSystem + ? formatSystemMetricName(trace.name) + : trace.name, + name: trace.name, + context: metricContext, + isSystem, + }; + + if (isSystem) { + systemMetrics.push(col); + } else { + metrics.push(col); + } + } + }); + }); + + return { + columns: _.orderBy(metrics, ['name', 'context'], ['asc', 'asc']).concat( + _.orderBy(systemMetrics, ['name', 'context'], ['asc', 'asc']), + ) as any, + values: metricsValues, + }; + } + + return { + columns: [], + values: [], + }; + }, [activeRunsStore.data]); + + // memoized table data + const tableData = React.useMemo(() => { + if (activeRunsStore.data) { + return activeRunsStore.data.map( + ({ props, hash }: IRun, index: number) => { + const key = encode({ + hash, + }); + let row: any = { + key, + selectKey: key, + index, + experiment: props.experiment?.name, + run: { + content: ( + + ), + }, + date: moment(props.creation_time * 1000).format(TABLE_DATE_FORMAT), + duration: processDurationTime( + props.creation_time * 1000, + props.end_time ? props.end_time * 1000 : Date.now(), + ), + }; + + metricsColumns.columns.forEach((col: any) => { + const [step, value] = metricsColumns.values[col.key][hash] ?? [ + null, + null, + ]; + row[col.key] = { + content: + step === null + ? '--' + : col.isSystem + ? formatValue(value) + : `step: ${step} / value: ${formatValue(value)}`, + }; + }); + return row; + }, + ); + } + return []; + }, [activeRunsStore.data, metricsColumns]); + + // memoized table columns + const tableColumns = React.useMemo(() => { + const columns = [ + { + key: 'experiment', + content: Experiment, + topHeader: 'Run', + pin: 'left', + }, + { + key: 'run', + content: Name, + topHeader: 'Run', + pin: 'left', + }, + { + key: 'date', + content: Date, + topHeader: 'Run', + }, + { + key: 'duration', + content: Duration, + topHeader: 'Run', + }, + ]; + return columns.concat(metricsColumns.columns); + }, [metricsColumns]); + + // Update the table data and columns when the activity data changes + React.useEffect(() => { + if (tableRef.current?.updateData) { + tableRef.current.updateData({ + newColumns: tableColumns, + newData: tableData, + }); + } + }, [tableData, tableColumns]); + + // Handler for row selection + const onRowSelect = React.useCallback( + ({ actionType, data }) => { + let selected: Record = { ...selectedRows }; + switch (actionType) { + case 'single': + if (selectedRows[data.key]) { + selected = _.omit(selectedRows, data.key); + } else { + selected[data.key] = true; + } + break; + case 'selectAll': + if (Array.isArray(data)) { + data.forEach((item: any) => { + if (!selectedRows[item.key]) { + selected[item.key] = true; + } + }); + } else { + Object.values(data) + .reduce((acc: any[], value: any) => { + return acc.concat(value.items); + }, []) + .forEach((item: any) => { + if (!selectedRows[item.selectKey]) { + selected[item.selectKey] = true; + } + }); + } + break; + case 'removeAll': + if (Array.isArray(data)) { + selected = {}; + } + break; + } + + setSelectedRows(selected); + + setComparisonQuery( + `run.hash in [${Object.keys(selected) + .map((key) => `"${JSON.parse(decode(key)).hash}"`) + .join(', ')}]`, + ); + }, + [selectedRows, tableData], + ); + + return { + data: activeRunsStore.data, + tableData, + tableColumns, + tableRef, + loading: activeRunsStore.loading, + selectedRows, + comparisonQuery, + onRowSelect, + }; +} + +export default useActiveRunsTable; diff --git a/aim/web/ui/src/pages/Dashboard/components/AimIntegrations/AimIntegrations.scss b/aim/web/ui/src/pages/Dashboard/components/AimIntegrations/AimIntegrations.scss new file mode 100644 index 0000000000..fb0e364287 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/AimIntegrations/AimIntegrations.scss @@ -0,0 +1,38 @@ +@use 'src/styles/abstracts' as *; + +.AimIntegrations { + margin-top: $space-lg; +} + +.AimIntegrations__section { + padding: $space-lg 0; +} + +.AimIntegrations__section__title { + margin-bottom: $space-sm; +} + +.AimIntegrations__section__accordion { + box-shadow: 0 0 0 1px $pico-20; + margin: 0 !important; + + &::before { + content: none; + } +} + +.AimIntegrations__section__accordion__summary { + padding: $space-xs $space-sm !important; + min-height: 42px !important; + max-height: 42px !important; +} + +.AimIntegrations__section__accordion__details { + display: block; + padding: $space-sm $space-sm!important; +} + +.AimIntegrations__section__text { + font-style: italic; + margin-top: $space-sm; +} diff --git a/aim/web/ui/src/pages/Dashboard/components/AimIntegrations/AimIntegrations.tsx b/aim/web/ui/src/pages/Dashboard/components/AimIntegrations/AimIntegrations.tsx new file mode 100644 index 0000000000..67bb80d2cf --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/AimIntegrations/AimIntegrations.tsx @@ -0,0 +1,202 @@ +import * as React from 'react'; + +import { + Accordion, + AccordionDetails, + AccordionSummary, + Link, +} from '@material-ui/core'; + +import { Icon, Text } from 'components/kit'; +import CodeBlock from 'components/CodeBlock/CodeBlock'; + +import { DOCUMENTATIONS } from 'config/references'; + +import './AimIntegrations.scss'; + +function AimIntegrations() { + const [expanded, setExpanded] = React.useState(0); + + const handleChange = + (panel: number) => (event: React.ChangeEvent<{}>, newExpanded: boolean) => { + setExpanded(newExpanded ? panel : false); + }; + + const integrations = [ + { + title: 'Integrate PyTorch Lightning', + docsLink: DOCUMENTATIONS.INTEGRATIONS.PYTORCH_LIGHTNING, + code: `from aim.pytorch_lightning import AimLogger + +# ... +trainer = pl.Trainer(logger=AimLogger(experiment='experiment_name')) +# ...`, + }, + { + title: 'Integrate Hugging Face', + docsLink: DOCUMENTATIONS.INTEGRATIONS.HUGGING_FACE, + code: `from aim.hugging_face import AimCallback + +# ... +aim_callback = AimCallback(repo='/path/to/logs/dir', experiment='mnli') +trainer = Trainer( + model=model, + args=training_args, + train_dataset=train_dataset if training_args.do_train else None, + eval_dataset=eval_dataset if training_args.do_eval else None, + callbacks=[aim_callback], + # ... +) +# ...`, + }, + { + title: 'Integrate Keras & tf.keras', + docsLink: DOCUMENTATIONS.INTEGRATIONS.KERAS, + code: `import aim + +# ... +model.fit(x_train, y_train, epochs=epochs, callbacks=[ + aim.keras.AimCallback(repo='/path/to/logs/dir', experiment='experiment_name') + + # Use aim.tensorflow.AimCallback in case of tf.keras + aim.tensorflow.AimCallback(repo='/path/to/logs/dir', experiment='experiment_name') +]) +# ...`, + }, + { + title: 'Integrate KerasTuner', + docsLink: DOCUMENTATIONS.INTEGRATIONS.KERAS_TUNER, + code: `from aim.keras_tuner import AimCallback + +# ... +tuner.search( + train_ds, + validation_data=test_ds, + callbacks=[AimCallback(tuner=tuner, repo='.', experiment='keras_tuner_test')], +) +# ...`, + }, + { + title: 'Integrate XGBoost', + docsLink: DOCUMENTATIONS.INTEGRATIONS.XGBOOST, + code: `from aim.xgboost import AimCallback + +# ... +aim_callback = AimCallback(repo='/path/to/logs/dir', experiment='experiment_name') +bst = xgb.train(param, xg_train, num_round, watchlist, callbacks=[aim_callback]) +# ...`, + }, + { + title: 'Integrate CatBoost', + docsLink: DOCUMENTATIONS.INTEGRATIONS.CATBOOST, + code: `from aim.catboost import AimLogger + +# ... +model.fit(train_data, train_labels, log_cout=AimLogger(loss_function='Logloss'), logging_level="Info") +# ...`, + }, + { + title: 'Integrate fastai', + docsLink: DOCUMENTATIONS.INTEGRATIONS.FASTAI, + code: `from aim.fastai import AimCallback + +# ... +learn = cnn_learner(dls, resnet18, pretrained=True, + loss_func=CrossEntropyLossFlat(), + metrics=accuracy, model_dir="/tmp/model/", + cbs=AimCallback(repo='.', experiment='fastai_test')) +# ...`, + }, + { + title: 'Integrate LightGBM', + docsLink: DOCUMENTATIONS.INTEGRATIONS.LIGHT_GBM, + code: `from aim.lightgbm import AimCallback + +# ... +aim_callback = AimCallback(experiment='lgb_test') +aim_callback.experiment['hparams'] = params + +gbm = lgb.train(params, + lgb_train, + num_boost_round=20, + valid_sets=lgb_eval, + callbacks=[aim_callback, lgb.early_stopping(stopping_rounds=5)]) +# ...`, + }, + + { + title: 'Integrate PyTorch Ignite', + docsLink: DOCUMENTATIONS.INTEGRATIONS.PYTORCH_IGNITE, + code: `from aim.pytorch_ignite import AimLogger + +# ... +aim_logger = AimLogger() + +aim_logger.log_params({ + "model": model.__class__.__name__, + "pytorch_version": str(torch.__version__), + "ignite_version": str(ignite.__version__), +}) + +aim_logger.attach_output_handler( + trainer, + event_name=Events.ITERATION_COMPLETED, + tag="train", + output_transform=lambda loss: {'loss': loss} +) +# ...`, + }, + ]; + + return ( +
+ + Integrate Aim with your favorite ML framework + +
+ {integrations.map((item, i) => ( + + } + className='AimIntegrations__section__accordion__summary' + > + + {item.title} + + + + + + See documentation{' '} + + here + + . + + + + ))} +
+
+ ); +} + +export default AimIntegrations; diff --git a/aim/web/ui/src/pages/Dashboard/components/AimIntegrations/index.ts b/aim/web/ui/src/pages/Dashboard/components/AimIntegrations/index.ts new file mode 100644 index 0000000000..abd212a2a0 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/AimIntegrations/index.ts @@ -0,0 +1,3 @@ +import AimIntegrations from './AimIntegrations'; + +export default AimIntegrations; diff --git a/aim/web/ui/src/pages/Dashboard/components/ContributionsFeed/ContributionsFeed.scss b/aim/web/ui/src/pages/Dashboard/components/ContributionsFeed/ContributionsFeed.scss new file mode 100644 index 0000000000..26c4d79ece --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ContributionsFeed/ContributionsFeed.scss @@ -0,0 +1,16 @@ +@use 'src/styles/abstracts' as *; + +.ContributionsFeed { + border-top: none; + &__title { + margin-bottom: $space-sm; + padding: 0 $space-sm; + } + &__content { + margin-top: $space-sm; + padding-bottom: $space-xxxxs; + &-title { + margin-bottom: $space-sm; + } + } +} diff --git a/aim/web/ui/src/pages/Dashboard/components/ContributionsFeed/ContributionsFeed.tsx b/aim/web/ui/src/pages/Dashboard/components/ContributionsFeed/ContributionsFeed.tsx new file mode 100644 index 0000000000..4207ed42f7 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ContributionsFeed/ContributionsFeed.tsx @@ -0,0 +1,59 @@ +import React from 'react'; +import _ from 'lodash-es'; + +import { Button, Spinner, Text } from 'components/kit'; + +import useContributionsFeed from './useContributionsFeed'; +import FeedItem from './FeedItem/FeedItem'; + +import './ContributionsFeed.scss'; + +function ContributionsFeed(): React.FunctionComponentElement | null { + let { data, loadMore, isLoading, totalRunsCount, fetchedCount } = + useContributionsFeed(); + + return totalRunsCount ? ( +
+ + Activity + + {isLoading && _.isEmpty(data) ? ( +
+ +
+ ) : ( + <> + {Object.keys(data).map((key) => ( +
+ + {key.split('_').join(' ')} + + {Object.keys(data[key]).map((item: string) => { + return ( + + ); + })} +
+ ))} + {fetchedCount < totalRunsCount! ? ( + + ) : null} + + )} +
+ ) : null; +} + +export default React.memo(ContributionsFeed); diff --git a/aim/web/ui/src/pages/Dashboard/components/ContributionsFeed/ContributionsFeedStore.ts b/aim/web/ui/src/pages/Dashboard/components/ContributionsFeed/ContributionsFeedStore.ts new file mode 100644 index 0000000000..6c5e99dc78 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ContributionsFeed/ContributionsFeedStore.ts @@ -0,0 +1,25 @@ +import { createSearchRunRequest } from 'modules/core/api/runsApi'; +import createResource from 'modules/core/utils/createResource'; + +import { RequestOptions } from 'services/NetworkService'; + +import { IRun } from 'types/services/models/metrics/runModel'; + +import { parseStream } from 'utils/encoder/streamEncoding'; + +function createContributionsFeedEngine() { + let { call, cancel } = createSearchRunRequest(); + + const { fetchData, state, destroy } = createResource[]>( + async (queryParams: RequestOptions['query_params']) => + parseStream(await call(queryParams)), + ); + return { + fetchContributionsFeed: (queryParams: RequestOptions['query_params']) => + fetchData(queryParams), + contributionsFeedState: state, + destroy, + }; +} + +export default createContributionsFeedEngine(); diff --git a/aim/web/ui/src/pages/Dashboard/components/ContributionsFeed/FeedItem/FeedItem.d.ts b/aim/web/ui/src/pages/Dashboard/components/ContributionsFeed/FeedItem/FeedItem.d.ts new file mode 100644 index 0000000000..60acf063ea --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ContributionsFeed/FeedItem/FeedItem.d.ts @@ -0,0 +1,43 @@ +export interface IFeedItemProps { + date: string; + data: Array; +} + +export type ContributionType = { + /** + * The run name of the contribution + * @type {string} + * @example 'My first run' + */ + name: string; + /** + * The date of the contribution + * @type {string} + * @example '2021-01-01 12:00:00' + */ + date: string; + /** + * The run hash of the contribution + * @type {string} + * @example '5e9f1b9b-7c1a-4b5a-8f0c-8c1c1b9b7c1a' + */ + hash: string; + /** + * The run active state of the contribution + * @type {boolean} + * @example true + */ + active: boolean; + /** + * The run creation time of the contribution + * @type {number} + * @example 1610000000 + */ + creation_time: number; + /** + * The run experiment name of the contribution + * @type {string} + * @example 'My first experiment' + */ + experiment: string; +}; diff --git a/aim/web/ui/src/pages/Dashboard/components/ContributionsFeed/FeedItem/FeedItem.scss b/aim/web/ui/src/pages/Dashboard/components/ContributionsFeed/FeedItem/FeedItem.scss new file mode 100644 index 0000000000..c579705c38 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ContributionsFeed/FeedItem/FeedItem.scss @@ -0,0 +1,39 @@ +@use 'src/styles/abstracts' as *; + +.FeedItem { + margin-bottom: $space-xs; + &__title { + align-items: center; + display: flex; + margin-bottom: $space-xxxs; + .Icon__container { + border-radius: $border-radius-circle; + background-color: $primary-color-10; + margin-right: $space-xxxs; + color: $text-color; + } + } + &__content { + position: relative; + padding-left: 38px; + &::before { + content: ''; + position: absolute; + top: -2px; + left: 12px; + width: 1px; + height: calc(100% + 8px); + background-color: $primary-color-20; + } + &__item { + white-space: nowrap; + display: flex; + align-items: center; + margin-bottom: $space-xs; + .RunNameColumn { + margin: 0 $space-xs; + font-size: $text-sm; + } + } + } +} diff --git a/aim/web/ui/src/pages/Dashboard/components/ContributionsFeed/FeedItem/FeedItem.tsx b/aim/web/ui/src/pages/Dashboard/components/ContributionsFeed/FeedItem/FeedItem.tsx new file mode 100644 index 0000000000..72868ce715 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ContributionsFeed/FeedItem/FeedItem.tsx @@ -0,0 +1,42 @@ +import React from 'react'; + +import { Icon, Text } from 'components/kit'; +import RunNameColumn from 'components/Table/RunNameColumn'; + +import { IFeedItemProps } from './FeedItem.d'; + +import './FeedItem.scss'; + +function FeedItem( + props: IFeedItemProps, +): React.FunctionComponentElement { + return ( +
+
+ + + {props.date.split('_').join(' ')} + +
+
+ {props.data.map((item) => ( +
+ + Started a run: + + + + {item.date} + +
+ ))} +
+
+ ); +} + +export default React.memo(FeedItem); diff --git a/aim/web/ui/src/pages/Dashboard/components/ContributionsFeed/useContributionsFeed.ts b/aim/web/ui/src/pages/Dashboard/components/ContributionsFeed/useContributionsFeed.ts new file mode 100644 index 0000000000..60274ad72c --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ContributionsFeed/useContributionsFeed.ts @@ -0,0 +1,123 @@ +import React from 'react'; +import moment from 'moment'; + +import { IResourceState } from 'modules/core/utils/createResource'; + +import { + CONTRIBUTION_DAY_FORMAT, + CONTRIBUTION_MONTH_FORMAT, + CONTRIBUTION_TIME_FORMAT, +} from 'config/dates/dates'; + +import { IRun } from 'types/services/models/metrics/runModel'; + +import projectContributionsEngine from '../ProjectContributions/ProjectContributionsStore'; + +import contributionsFeedEngine from './ContributionsFeedStore'; + +function useContributionsFeed() { + const [data, setData] = React.useState([]); + const { current: engine } = React.useRef(contributionsFeedEngine); + const contributionsFeedStore: IResourceState = + engine.contributionsFeedState((state) => state); + const { current: contributionsEngine } = React.useRef( + projectContributionsEngine, + ); + const projectContributionsStore = + contributionsEngine.projectContributionsState((state) => state); + + React.useEffect(() => { + engine.fetchContributionsFeed({ + limit: 25, + exclude_params: true, + exclude_traces: true, + }); + return () => { + engine.destroy(); + }; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + + React.useEffect(() => { + if (contributionsFeedStore.data?.length) { + let newData = [...data, ...contributionsFeedStore.data]; + setData(newData); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [contributionsFeedStore.data]); + + const memoizedData = React.useMemo(() => { + // get existing month list from the contributionsFeedStore data + const feedData: { [key: string]: any } = {}; + if (data.length) { + const monthList = data?.reduce((acc: any, run: IRun) => { + const { props } = run; + const month = moment(props.creation_time * 1000).format( + CONTRIBUTION_MONTH_FORMAT, + ); + if (!acc.includes(month)) { + acc.push(month); + } + return acc; + }, []); + // create a list of objects with month and contributions + + monthList.forEach((month: string) => { + feedData[month] = {}; + }); + + // add contributions to the month list + data?.forEach((run: IRun) => { + const { props, hash } = run; + + // get the month + const month = moment(props.creation_time * 1000).format( + CONTRIBUTION_MONTH_FORMAT, + ); + + // get the day of the month + const day = moment(props.creation_time * 1000).format( + CONTRIBUTION_DAY_FORMAT, + ); + + // create a contribution object + const contribution = { + name: props.name, + date: moment(props.creation_time * 1000).format( + CONTRIBUTION_TIME_FORMAT, + ), + hash, + active: props.active, + creation_time: props.creation_time, + experiment: props.experiment?.name, + }; + if (feedData[month]?.[day]?.length) { + feedData[month][day].push(contribution); + } else { + feedData[month][day] = [contribution]; + } + }); + } + return feedData; + }, [data]); + + function loadMore(): void { + if (contributionsFeedStore.data && !contributionsFeedStore.loading) { + engine.fetchContributionsFeed({ + limit: 25, + exclude_params: true, + exclude_traces: true, + offset: data[data.length - 1].hash, + }); + } + } + return { + isLoading: contributionsFeedStore.loading, + data: memoizedData, + totalRunsCount: projectContributionsStore.data?.num_runs, + fetchedCount: data.length, + loadMore, + }; +} + +export default useContributionsFeed; diff --git a/aim/web/ui/src/pages/Dashboard/components/DashboardRight/DashboardRight.scss b/aim/web/ui/src/pages/Dashboard/components/DashboardRight/DashboardRight.scss new file mode 100644 index 0000000000..c675f5d128 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/DashboardRight/DashboardRight.scss @@ -0,0 +1,13 @@ +@use 'src/styles/abstracts' as *; + +.DashboardRight { + display: flex; + flex-direction: column; + width: 285px; + background-color: #fafafb; + overflow: auto; + &__title { + margin-top: $space-md; + padding: 0 $space-lg; + } +} diff --git a/aim/web/ui/src/pages/Dashboard/components/DashboardRight/DashboardRight.tsx b/aim/web/ui/src/pages/Dashboard/components/DashboardRight/DashboardRight.tsx new file mode 100644 index 0000000000..01418b9d00 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/DashboardRight/DashboardRight.tsx @@ -0,0 +1,26 @@ +import React from 'react'; + +import { Text } from 'components/kit'; + +import ReleaseNotes from './ReleaseNotes/ReleaseNotes'; + +import './DashboardRight.scss'; + +function DashboardRight(): React.FunctionComponentElement { + return ( + + ); +} + +export default React.memo(DashboardRight); diff --git a/aim/web/ui/src/pages/Dashboard/components/DashboardRight/GuideDocs/GuideDocs.scss b/aim/web/ui/src/pages/Dashboard/components/DashboardRight/GuideDocs/GuideDocs.scss new file mode 100644 index 0000000000..bc296d7eaf --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/DashboardRight/GuideDocs/GuideDocs.scss @@ -0,0 +1,21 @@ +@use 'src/styles/abstracts' as *; + +.GuideLinks { + padding: $space-sm $space-sm $space-lg; + display: flex; + flex-direction: column; + border-bottom: $border-dark-lighter; + &__title { + margin-left: $space-sm; + } + &__content { + margin: $space-xs 0 $space-unit; + &--name { + flex: 1 100; + } + } + &--btn { + margin: 0 $space-sm; + text-decoration: none; + } +} diff --git a/aim/web/ui/src/pages/Dashboard/components/DashboardRight/GuideDocs/GuideDocs.tsx b/aim/web/ui/src/pages/Dashboard/components/DashboardRight/GuideDocs/GuideDocs.tsx new file mode 100644 index 0000000000..e83c0fdcba --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/DashboardRight/GuideDocs/GuideDocs.tsx @@ -0,0 +1,91 @@ +import React from 'react'; + +import { Tooltip } from '@material-ui/core'; + +import { Button, Icon, Text } from 'components/kit'; +import ListItem from 'components/kit/ListItem/ListItem'; + +import { DOCUMENTATIONS } from 'config/references'; + +import guideStore from './GuidesStore'; + +import './GuideDocs.scss'; + +function GuideDocs(): React.FunctionComponentElement { + const { shuffle, guideLinks, shuffled } = guideStore(); + + const onClick: ( + e: React.MouseEvent, + path: string, + newTab?: boolean, + ) => void = React.useCallback( + (e: React.MouseEvent, path: string, newTab = false) => { + e.stopPropagation(); + if (path) { + window.open(path, newTab ? '_blank' : '_self'); + window.focus(); + return; + } + }, + [], + ); + + React.useEffect(() => { + if (!shuffled) { + shuffle(); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + + return ( +
+ + Guides + +
+ {guideLinks.map( + (link: { name: string; url: string }, index: number) => ( + + onClick(e, link.url)} + size={12} + tint={100} + > + {link.name} + + +
+ onClick(e, link.url, true)} + name='new-tab' + /> +
+
+
+ ), + )} +
+ + + +
+ ); +} + +export default React.memo(GuideDocs); diff --git a/aim/web/ui/src/pages/Dashboard/components/DashboardRight/GuideDocs/GuidesStore.ts b/aim/web/ui/src/pages/Dashboard/components/DashboardRight/GuideDocs/GuidesStore.ts new file mode 100644 index 0000000000..b9542b2864 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/DashboardRight/GuideDocs/GuidesStore.ts @@ -0,0 +1,20 @@ +import create from 'zustand'; + +import { DASHBOARD_PAGE_GUIDES } from 'config/references'; + +const guideStore = create<{ + shuffled: boolean; + guideLinks: any; + shuffle: () => void; +}>((set) => ({ + shuffled: false, + guideLinks: [{}], + shuffle: () => { + const guideLinks = DASHBOARD_PAGE_GUIDES; + const shuffledLinks = guideLinks + .sort(() => 0.5 - Math.random()) + .slice(0, 4); + set({ shuffled: true, guideLinks: shuffledLinks }); + }, +})); +export default guideStore; diff --git a/aim/web/ui/src/pages/Dashboard/components/DashboardRight/ReleaseNotes/ReleaseNotes.scss b/aim/web/ui/src/pages/Dashboard/components/DashboardRight/ReleaseNotes/ReleaseNotes.scss new file mode 100644 index 0000000000..809db7d6d9 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/DashboardRight/ReleaseNotes/ReleaseNotes.scss @@ -0,0 +1,114 @@ +@use 'src/styles/abstracts' as *; + +.ReleaseNotes { + display: flex; + flex-direction: column; + &__Spinner { + display: flex; + align-items: center; + justify-content: center; + height: calc(100vh - 40px); + } + &__latest { + display: flex; + flex-direction: column; + margin-top: $space-lg; + padding: 0 $space-lg $space-unit; + border-bottom: $border-dark-lighter; + &__title { + display: flex; + margin-bottom: $space-sm; + span { + margin-left: $space-xs; + padding: $space-xxxxs $space-xxxs; + color: $white; + background-color: #cc231a; + border-radius: $border-radius-xss; + font-size: 10px; + font-weight: $font-700; + } + } + &__content { + display: flex; + flex-direction: column; + a { + text-decoration: none; + display: block; + } + &__item { + display: flex; + padding-left: 18px; + margin-bottom: $space-sm; + position: relative; + span { + word-break: break-word; + } + &::before { + content: ''; + position: absolute; + left: 0; + top: 3px; + width: 7px; + height: 7px; + border-radius: $border-radius-circle; + background-color: $pico-30; + } + &:last-child { + margin-bottom: 0; + } + } + } + } + &__changelog { + border-bottom: $border-dark-lighter; + &__title { + padding: $space-sm $space-lg 0; + } + &__content { + margin-top: $space-sm; + max-height: 290px; + padding: 0 $space-lg $space-unit; + overflow: auto; + .ReleaseNoteItem { + &::after { + height: calc(100% + #{$space-sm}); + } + } + } + &__currentRelease { + position: relative; + padding: $space-sm $space-lg; + .ReleaseNoteItem { + &::after { + top: -13px; + height: calc(100% + #{$space-sm}); + } + } + &::before { + content: ''; + transition: all 0.18s ease-out; + opacity: 0; + position: absolute; + left: 0; + top: -12px; + height: 13px; + width: 100%; + background: linear-gradient( + 180deg, + rgba(234, 235, 239, 0) 0%, + #eaebef 100% + ); + } + &__scroll { + &::before { + opacity: 1; + } + .ReleaseNoteItem { + &::after { + top: -11px !important; + } + } + } + } + } +} diff --git a/aim/web/ui/src/pages/Dashboard/components/DashboardRight/ReleaseNotes/ReleaseNotes.tsx b/aim/web/ui/src/pages/Dashboard/components/DashboardRight/ReleaseNotes/ReleaseNotes.tsx new file mode 100644 index 0000000000..f2e091dff7 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/DashboardRight/ReleaseNotes/ReleaseNotes.tsx @@ -0,0 +1,107 @@ +import React from 'react'; + +import { Button, Spinner, Text } from 'components/kit'; +import ReleaseNoteItem from 'components/ReleaseNoteItem/ReleaseNoteItem'; + +import { AIM_VERSION } from 'config/config'; + +import GuideLinks from '../GuideDocs/GuideDocs'; + +import useReleaseNotes from './useReleaseNotes'; + +import './ReleaseNotes.scss'; + +function ReleaseNotes(): React.FunctionComponentElement { + const { + changelogData, + LatestReleaseData, + currentReleaseData, + isLoading, + releaseNoteRef, + scrollShadow, + } = useReleaseNotes(); + + return ( +
+ {isLoading ? ( +
+ +
+ ) : ( + <> +
+
+ + Aim {LatestReleaseData?.tagName} + + {`v${AIM_VERSION}` === LatestReleaseData?.tagName ? null : ( + New + )} +
+
+ {LatestReleaseData?.info?.map((title: string, index: number) => ( +
+ {title.replace(/-/g, ' ')} +
+ ))} + + + +
+
+ {`v${AIM_VERSION}` === LatestReleaseData?.tagName ? null : ( +
+ + Changelog + +
+ {changelogData.map((item) => { + return ( + + ); + })} +
+ {currentReleaseData ? ( +
+ +
+ ) : null} +
+ )} + + + )} +
+ ); +} + +export default React.memo(ReleaseNotes); diff --git a/aim/web/ui/src/pages/Dashboard/components/DashboardRight/ReleaseNotes/ReleasesStore.ts b/aim/web/ui/src/pages/Dashboard/components/DashboardRight/ReleaseNotes/ReleasesStore.ts new file mode 100644 index 0000000000..e92c826733 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/DashboardRight/ReleaseNotes/ReleasesStore.ts @@ -0,0 +1,11 @@ +import { fetchReleaseNotes } from 'modules/core/api/releaseNotesApi'; +import { IReleaseNote } from 'modules/core/api/releaseNotesApi/types'; +import createResource from 'modules/core/utils/createResource'; + +function createReleasesEngine() { + const { fetchData, state, destroy } = + createResource(fetchReleaseNotes); + return { fetchReleases: fetchData, releasesState: state, destroy }; +} + +export default createReleasesEngine(); diff --git a/aim/web/ui/src/pages/Dashboard/components/DashboardRight/ReleaseNotes/useReleaseNotes.ts b/aim/web/ui/src/pages/Dashboard/components/DashboardRight/ReleaseNotes/useReleaseNotes.ts new file mode 100644 index 0000000000..e0b81ca143 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/DashboardRight/ReleaseNotes/useReleaseNotes.ts @@ -0,0 +1,159 @@ +import React from 'react'; +import _ from 'lodash-es'; +import { marked } from 'marked'; + +import { IReleaseNote } from 'modules/core/api/releaseNotesApi/types'; +import { IResourceState } from 'modules/core/utils/createResource'; +import { fetchReleaseByTagName } from 'modules/core/api/releaseNotesApi'; + +import { AIM_VERSION } from 'config/config'; + +import createReleaseNotesEngine from './ReleasesStore'; + +const CHANGELOG_CONTENT_MAX_HEIGHT = 296; +function useReleaseNotes() { + const [loading, setLoading] = React.useState(true); + const [mounted, setMounted] = React.useState(false); + const [scrollShadow, setScrollShadow] = React.useState(false); + const [currentRelease, setCurrentRelease] = React.useState(); + const { current: releaseNotesEngine } = React.useRef( + createReleaseNotesEngine, + ); + const releaseNotesStore: IResourceState = + releaseNotesEngine.releasesState((state) => state); + const releaseNoteRef = React.useRef(null); + + React.useEffect(() => { + if (releaseNotesStore.data?.length) { + // detect current release in fetched release notes + const release: IReleaseNote | undefined = releaseNotesStore.data?.find( + (release: IReleaseNote) => release.tag_name === `v${AIM_VERSION}`, + ); + if (release) { + setCurrentRelease(release); + setLoading(false); + } else { + fetchCurrentRelease(); + } + } else { + releaseNotesEngine.fetchReleases(); + } + return () => { + releaseNoteRef?.current?.removeEventListener( + 'scroll', + onChangelogContentScroll, + ); + }; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [releaseNotesStore.data]); + + React.useEffect(() => { + if (!loading) { + setMounted(true); + } + if (mounted && releaseNoteRef.current) { + if ( + releaseNoteRef?.current?.scrollHeight > CHANGELOG_CONTENT_MAX_HEIGHT + ) { + setScrollShadow(true); + } + releaseNoteRef?.current?.addEventListener( + 'scroll', + onChangelogContentScroll, + ); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [loading, mounted]); + + const onChangelogContentScroll = _.throttle(() => { + const hasScrollShadow: boolean = + releaseNoteRef!.current!.scrollTop + CHANGELOG_CONTENT_MAX_HEIGHT <= + releaseNoteRef!.current!.scrollHeight; + setScrollShadow(hasScrollShadow); + }, 150); + async function fetchCurrentRelease(): Promise { + try { + const data = await fetchReleaseByTagName(`v${AIM_VERSION}`); + setCurrentRelease(data); + setLoading(false); + } catch (e) { + setLoading(false); + } + } + + function getLatestReleaseInfo(releaseBody: string): RegExpMatchArray | null { + const wrapper = document.createElement('div'); + wrapper.innerHTML = marked.parse(releaseBody); + const listElements: string[] = []; + wrapper.querySelectorAll('li').forEach((li, index) => { + if (index < 4) { + listElements.push( + li.innerText.replace( + /(\sby\s\@[A-z\d](?:[A-z\d]|-(?=[A-z\d])){0,38}\s\w+\shttps\:\/\/github\.com\/((\w+\/?){4}))/g, + '', + ), + ); + } else { + return; + } + }); + return listElements; + } + + // function to modify release notes name + function modifyReleaseName(releaseTitle: string): string { + return releaseTitle.replace(/(^\🚀\s*v\d+\.\d+\.\d+\s*\-\s*)/, ''); + } + + const changelogData: { tagName: string; info: any; url: string }[] = + React.useMemo(() => { + const data: { tagName: string; info: any; url: string }[] = []; + releaseNotesStore?.data?.some((release: IReleaseNote) => { + data.push({ + tagName: release.tag_name, + info: modifyReleaseName(release.name), + url: release.html_url, + }); + if (release.tag_name === `v${AIM_VERSION}`) { + return true; + } + }); + return data; + }, [releaseNotesStore.data]); + + const currentReleaseData: + | { tagName: string; info: any; url: string } + | undefined = React.useMemo(() => { + if (currentRelease) { + return { + tagName: currentRelease?.tag_name, + info: modifyReleaseName(currentRelease?.name), + url: currentRelease.html_url, + }; + } + }, [currentRelease]); + + const LatestReleaseData: + | { tagName: string; info: any; url: string } + | undefined = React.useMemo(() => { + const latest = releaseNotesStore?.data?.[0]; + if (latest) { + return { + tagName: latest?.tag_name, + info: getLatestReleaseInfo(latest.body), + url: latest.html_url, + }; + } + }, [releaseNotesStore.data]); + + return { + changelogData, + currentReleaseData, + LatestReleaseData, + isLoading: loading, + releaseNoteRef, + scrollShadow, + }; +} + +export default useReleaseNotes; diff --git a/aim/web/ui/src/pages/Dashboard/components/ExploreSection/DashboardBookmarks/DashboardBookmarks.scss b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/DashboardBookmarks/DashboardBookmarks.scss new file mode 100644 index 0000000000..248e482053 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/DashboardBookmarks/DashboardBookmarks.scss @@ -0,0 +1,29 @@ +@use 'src/styles/abstracts' as *; + +$bookmark-height: 24px; +.DashboardBookmarks { + padding: $space-sm; + border-top: $border-dark-lighter; + + &__title { + padding: 0 $space-sm; + margin-bottom: $space-xs; + } + &__list { + max-height: 5 * $bookmark-height; + overflow: auto; + &__ListItem { + &__Text { + flex: 1; + margin-left: $space-xs; + text-transform: capitalize; + } + } + } + &__NavLink { + margin-top: $space-unit; + text-decoration: none; + display: block; + padding: 0 $space-sm; + } +} diff --git a/aim/web/ui/src/pages/Dashboard/components/ExploreSection/DashboardBookmarks/DashboardBookmarks.tsx b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/DashboardBookmarks/DashboardBookmarks.tsx new file mode 100644 index 0000000000..97b9754197 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/DashboardBookmarks/DashboardBookmarks.tsx @@ -0,0 +1,82 @@ +import React from 'react'; +import { NavLink } from 'react-router-dom'; + +import { IDashboardData } from 'modules/core/api/dashboardsApi'; +import { Tooltip } from '@material-ui/core'; + +import { Button, Icon, Text } from 'components/kit'; +import ListItem from 'components/kit/ListItem/ListItem'; + +import { BookmarkIconType } from 'pages/Bookmarks/components/BookmarkCard/BookmarkCard'; + +import useDashboardBookmarks from './useDashboardBookmarks'; + +import './DashboardBookmarks.scss'; + +function DashboardBookmarks(): React.FunctionComponentElement | null { + const { dashboardBookmarksStore, handleClick } = useDashboardBookmarks(); + + return dashboardBookmarksStore.data?.length ? ( +
+ + Bookmarks{' '} + {dashboardBookmarksStore.data.length + ? `(${dashboardBookmarksStore.data.length})` + : ''} + +
+ {dashboardBookmarksStore.data + .slice(0, 5) + ?.map((dashboard: IDashboardData) => ( + +
+ + + handleClick(e, dashboard)} + size={12} + tint={100} + > + {dashboard.name} + +
+ handleClick(e, dashboard, true)} + name='new-tab' + /> +
+
+
+
+ ))} +
+ {dashboardBookmarksStore.data.length > 5 ? ( + + + + ) : null} +
+ ) : null; +} + +export default React.memo(DashboardBookmarks); diff --git a/aim/web/ui/src/pages/Dashboard/components/ExploreSection/DashboardBookmarks/DashboardBookmarksStore.ts b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/DashboardBookmarks/DashboardBookmarksStore.ts new file mode 100644 index 0000000000..85c86fa6ba --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/DashboardBookmarks/DashboardBookmarksStore.ts @@ -0,0 +1,17 @@ +import { + fetchDashboardsList, + IDashboardData, +} from 'modules/core/api/dashboardsApi'; +import createResource from 'modules/core/utils/createResource'; + +function createDashboardBookmarksEngine() { + const { fetchData, state, destroy } = + createResource(fetchDashboardsList); + return { + fetchDashboardBookmarks: fetchData, + dashboardBookmarksState: state, + destroy, + }; +} + +export default createDashboardBookmarksEngine(); diff --git a/aim/web/ui/src/pages/Dashboard/components/ExploreSection/DashboardBookmarks/useDashboardBookmarks.tsx b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/DashboardBookmarks/useDashboardBookmarks.tsx new file mode 100644 index 0000000000..f7d0e4e508 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/DashboardBookmarks/useDashboardBookmarks.tsx @@ -0,0 +1,52 @@ +import React from 'react'; +import { useHistory } from 'react-router-dom'; + +import { IResourceState } from 'modules/core/utils/createResource'; +import { IDashboardData } from 'modules/core/api/dashboardsApi'; + +import createBookmarksEngine from './DashboardBookmarksStore'; + +function useDashboardBookmarks() { + const history = useHistory(); + const { current: dashboardBookmarksEngine } = React.useRef( + createBookmarksEngine, + ); + const dashboardBookmarksStore: IResourceState = + dashboardBookmarksEngine.dashboardBookmarksState((state) => state); + + React.useEffect(() => { + dashboardBookmarksEngine.fetchDashboardBookmarks(); + return () => { + dashboardBookmarksEngine.destroy(); + }; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + + const handleClick: ( + e: React.MouseEvent, + dashboard: IDashboardData, + newTab?: boolean, + ) => void = React.useCallback( + ( + e: React.MouseEvent, + dashboard: IDashboardData, + newTab = false, + ) => { + e.stopPropagation(); + if (dashboard) { + const path = `${dashboard.app_type}/${dashboard.app_id}`; + if (newTab) { + window.open(path, '_blank'); + window.focus(); + return; + } + history.push(path); + } + }, + [history], + ); + + return { handleClick, dashboardBookmarksStore }; +} + +export default useDashboardBookmarks; diff --git a/aim/web/ui/src/pages/Dashboard/components/ExploreSection/ExperimentsCard/ExperimentsCard.scss b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/ExperimentsCard/ExperimentsCard.scss new file mode 100644 index 0000000000..db26735228 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/ExperimentsCard/ExperimentsCard.scss @@ -0,0 +1,10 @@ +@use 'src/styles/abstracts' as *; + +.ExperimentsCard { + border-top: $border-dark-lighter; + padding: $space-unit $space-sm; + &__title { + margin-bottom: $space-sm; + padding: 0 $space-sm; + } +} diff --git a/aim/web/ui/src/pages/Dashboard/components/ExploreSection/ExperimentsCard/ExperimentsCard.tsx b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/ExperimentsCard/ExperimentsCard.tsx new file mode 100644 index 0000000000..6d1e3f8caf --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/ExperimentsCard/ExperimentsCard.tsx @@ -0,0 +1,63 @@ +import React from 'react'; + +import DataList from 'components/kit/DataList'; +import { Text } from 'components/kit'; + +import CompareSelectedRunsPopover from 'pages/Metrics/components/Table/CompareSelectedRunsPopover'; + +import { AppNameEnum } from 'services/models/explorer'; + +import useExperimentsCard from './useExperimentsCard'; + +import './ExperimentsCard.scss'; + +function ExperimentsCard(): React.FunctionComponentElement | null { + const { + tableRef, + tableColumns, + tableData, + experimentsStore, + selectedRows, + experimentsQuery, + } = useExperimentsCard(); + return experimentsStore.data?.length ? ( +
+ + Experiments ({experimentsStore.data.length}) + + , + ]} + disableMatchBar={true} + /> +
+ ) : null; +} + +ExperimentsCard.displayName = 'ExperimentsCard'; + +export default React.memo(ExperimentsCard); diff --git a/aim/web/ui/src/pages/Dashboard/components/ExploreSection/ExperimentsCard/ExperimentsStore.ts b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/ExperimentsCard/ExperimentsStore.ts new file mode 100644 index 0000000000..93b9d930cc --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/ExperimentsCard/ExperimentsStore.ts @@ -0,0 +1,13 @@ +import { + getExperiments, + IExperimentData, +} from 'modules/core/api/experimentsApi'; +import createResource from 'modules/core/utils/createResource'; + +function createExperimentsEngine() { + const { fetchData, state, destroy } = + createResource(getExperiments); + return { fetchExperiments: fetchData, experimentsState: state, destroy }; +} + +export default createExperimentsEngine(); diff --git a/aim/web/ui/src/pages/Dashboard/components/ExploreSection/ExperimentsCard/index.ts b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/ExperimentsCard/index.ts new file mode 100644 index 0000000000..8a21d7de4d --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/ExperimentsCard/index.ts @@ -0,0 +1,3 @@ +import ExperimentsCard from './ExperimentsCard'; + +export default ExperimentsCard; diff --git a/aim/web/ui/src/pages/Dashboard/components/ExploreSection/ExperimentsCard/useExperimentsCard.tsx b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/ExperimentsCard/useExperimentsCard.tsx new file mode 100644 index 0000000000..be96711e33 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/ExperimentsCard/useExperimentsCard.tsx @@ -0,0 +1,183 @@ +import React from 'react'; +import _ from 'lodash-es'; + +import { IExperimentData } from 'modules/core/api/experimentsApi'; +import { IResourceState } from 'modules/core/utils/createResource'; +import { Checkbox } from '@material-ui/core'; + +import { Icon, Text } from 'components/kit'; + +import createExperimentEngine from './ExperimentsStore'; + +function useExperimentsCard() { + const tableRef = React.useRef(null); + const [selectedRows, setSelectedRows] = React.useState([]); + const { current: experimentsEngine } = React.useRef(createExperimentEngine); + const experimentsStore: IResourceState = + experimentsEngine.experimentsState((state) => state); + + React.useEffect(() => { + experimentsEngine.fetchExperiments(); + return () => { + experimentsEngine.destroy(); + }; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + + // memoized table data + const tableData: { + key: number; + name: string; + archived: boolean; + run_count: number; + id: string; + }[] = React.useMemo(() => { + if (experimentsStore.data) { + return experimentsStore.data.map( + ({ name, archived, run_count }: any, index: number) => { + return { + key: index, + name: name, + archived, + run_count, + id: name, + }; + }, + ); + } + return []; + }, [experimentsStore.data]); + + // on row selection + const onRowSelect = React.useCallback( + (rowKey?: string) => { + if (rowKey) { + const newSelectedRows = selectedRows.includes(rowKey) + ? selectedRows.filter((row: string) => row !== rowKey) + : [...selectedRows, rowKey]; + setSelectedRows(newSelectedRows); + } else if (selectedRows.length) { + setSelectedRows([]); + } else { + setSelectedRows(tableData.map(({ name }: any) => name)); + } + }, + [selectedRows, tableData], + ); + + // memoized table columns + const tableColumns = React.useMemo( + () => [ + { + dataKey: 'id', + key: 'id', + title: ( + } + className='selectCheckbox' + checkedIcon={ + tableData.length === Object.keys(selectedRows)?.length ? ( + + + + ) : ( + + + + ) + } + onClick={() => onRowSelect()} + checked={!!selectedRows.length} + /> + ), + width: '20px', + cellRenderer: ({ cellData }: any) => { + return ( + } + className='selectCheckbox' + checked={selectedRows.includes(cellData)} + checkedIcon={ + + + + } + onClick={() => onRowSelect(cellData)} + /> + ); + }, + }, + { + dataKey: 'name', + key: 'name', + title: ( + + Name + + ), + width: 'calc(100% - 50px)', + style: { paddingLeft: 10, paddingRight: 12 }, + cellRenderer: ({ cellData }: any) => ( + + {cellData} + + ), + }, + { + dataKey: 'run_count', + key: 'run_count', + title: ( + + Runs + + ), + flexGrow: 1, + width: '46px', + textAlign: 'right', + style: { textAlign: 'right' }, + cellRenderer: ({ cellData }: any) => ( + + {cellData} + + ), + }, + ], + [tableData?.length, onRowSelect, selectedRows], + ); + + // Update the table data and columns when the experiments data changes + React.useEffect(() => { + if (tableRef.current?.updateData) { + tableRef.current.updateData({ + newColumns: tableColumns, + newData: tableData, + }); + } + }, [tableData, tableColumns]); + + const experimentsQuery = React.useMemo(() => { + return `run.experiment in [${_.uniq(selectedRows) + .map((val: string) => `"${val}"`) + .join(',')}]`; + }, [selectedRows]); + + return { + tableRef, + tableColumns, + tableData, + experimentsStore, + selectedRows, + experimentsQuery, + }; +} +export default useExperimentsCard; diff --git a/aim/web/ui/src/pages/Dashboard/components/ExploreSection/ExploreSection.scss b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/ExploreSection.scss new file mode 100644 index 0000000000..d074275047 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/ExploreSection.scss @@ -0,0 +1,135 @@ +@use 'src/styles/abstracts' as *; + +.ExploreSection { + display: flex; + flex-direction: column; + min-width: 310px; + width: 310px; + background-color: $pico-2; + overflow: auto; + height: 100vh; + &__Spinner { + height: 100%; + display: flex; + align-items: center; + justify-content: center; + } + &__loading { + display: none; + } + &__title { + margin-top: 1.25rem; + padding: 0 1.5rem; + } + .DataList { + .CompareSelectedRunsPopover__trigger { + margin-right: 0 !important; + .Icon__container { + margin-right: $space-xxxs; + } + .Text { + font-size: $text-sm; + } + } + + .IllustrationBlock { + &__container { + padding-bottom: 0; + } + &__large__img { + height: 100%; + img { + height: 100%; + } + } + } + .defaultSelectIcon { + border: 1.5px solid $pico-50; + border-radius: $border-radius-xs; + width: 12px; + height: 12px; + } + &__toolbarItems { + height: unset; + margin-left: $space-xs; + } + &__textsTable { + border: none; + padding-left: $space-xs; + } + .SearchBar { + width: auto; + min-width: 250px; + padding: 0 $space-sm; + margin-bottom: $space-xxxs; + .SearchInput { + margin-right: 0; + } + .MuiOutlinedInput-root { + background-color: $white; + } + label { + font-size: $text-sm; + } + } + .selectedSelectIcon { + border-radius: $border-radius-xs; + width: 12px; + height: 12px; + background: $primary-color; + color: $white; + display: flex; + justify-content: center; + align-items: center; + } + .partiallySelectedSelectIcon { + border-radius: $border-radius-xs; + width: 12px; + height: 12px; + display: flex; + justify-content: center; + align-items: center; + } + .MuiCheckbox-root { + padding: $space-xxxs !important; + } + .BaseTable { + background-color: transparent; + &__table { + background-color: transparent; + } + &__header { + background: transparent; + &-row { + background-color: transparent; + } + &-cell { + border: none; + background-color: transparent; + padding: 0; + &--text { + font-size: 12px; + } + } + } + &__row { + background-color: transparent; + box-shadow: unset; + &-cell { + background-color: transparent; + border: none; + padding: 0; + &:first-child { + padding: 0; + } + p { + max-width: 100%; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + } + } + } + } + } +} diff --git a/aim/web/ui/src/pages/Dashboard/components/ExploreSection/ExploreSection.tsx b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/ExploreSection.tsx new file mode 100644 index 0000000000..6f8b0fe952 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/ExploreSection.tsx @@ -0,0 +1,56 @@ +import React from 'react'; + +import { Spinner, Text } from 'components/kit'; + +import ExperimentsCard from './ExperimentsCard'; +import DashboardBookmarks from './DashboardBookmarks/DashboardBookmarks'; +import QuickLinks from './QuickLinks/QuickLinks'; +import TagsCard from './TagsCard/TagsCard'; +import RecentSearches from './RecentSearches/RecentSearches'; +import createTagsEngine from './TagsCard/TagsStore'; +import createExperimentsEngine from './ExperimentsCard/ExperimentsStore'; +import bookmarksEngine from './DashboardBookmarks/DashboardBookmarksStore'; + +import './ExploreSection.scss'; + +function ExploreSection(): React.FunctionComponentElement { + const [loading, setLoading] = React.useState(true); + const { loading: tagsLoading } = React.useRef( + createTagsEngine, + ).current.tagsState((state) => state); + const { loading: experimentsLoading } = React.useRef( + createExperimentsEngine, + ).current.experimentsState((state) => state); + const { loading: bookmarksLoading } = React.useRef( + bookmarksEngine, + ).current.dashboardBookmarksState((state) => state); + + React.useEffect(() => { + // if all resources are loaded + if (!tagsLoading && !experimentsLoading && !bookmarksLoading) { + setLoading(false); + } + }, [bookmarksLoading, experimentsLoading, tagsLoading]); + + return ( + + ); +} + +export default React.memo(ExploreSection); diff --git a/aim/web/ui/src/pages/Dashboard/components/ExploreSection/QuickLinks/QuickLinks.scss b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/QuickLinks/QuickLinks.scss new file mode 100644 index 0000000000..bf3b38c7a3 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/QuickLinks/QuickLinks.scss @@ -0,0 +1,17 @@ +@use 'src/styles/abstracts' as *; + +.QuickLinks { + padding: $space-lg $space-sm $space-unit; + &__title { + margin-bottom: $space-xs; + padding: 0 $space-sm; + } + &__list { + margin-top: $space-md $space-lg; + &__ListItem { + &__Text { + flex: 1; + } + } + } +} diff --git a/aim/web/ui/src/pages/Dashboard/components/ExploreSection/QuickLinks/QuickLinks.tsx b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/QuickLinks/QuickLinks.tsx new file mode 100644 index 0000000000..edbe8aa1ba --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/QuickLinks/QuickLinks.tsx @@ -0,0 +1,112 @@ +import React from 'react'; +import { useHistory } from 'react-router-dom'; +import moment from 'moment'; + +import { Tooltip } from '@material-ui/core'; + +import { Icon, Text } from 'components/kit'; +import ListItem from 'components/kit/ListItem/ListItem'; + +import { DATE_QUERY_FORMAT } from 'config/dates/dates'; + +import { encode } from 'utils/encoder/encoder'; + +import './QuickLinks.scss'; + +const linkItems: { path: string; label: string }[] = [ + { + path: 'active', + label: 'Active runs', + }, + { + path: 'archived', + label: 'Archived runs', + }, + { + path: 'latest', + label: "Last week's runs", + }, +]; + +function QuickLinks(): React.FunctionComponentElement { + const history = useHistory(); + + const onClick: ( + e: React.MouseEvent, + value: string, + newTab?: boolean, + ) => void = React.useCallback( + (e: React.MouseEvent, value: string, newTab = false) => { + e.stopPropagation(); + if (value) { + let search = {}; + if (value === 'latest') { + search = encode({ + query: `datetime(${moment() + .subtract(7, 'day') + .format( + DATE_QUERY_FORMAT, + )}) <= run.created_at < datetime(${moment().format( + DATE_QUERY_FORMAT, + )})`, + }); + } else { + search = encode({ + query: `run.${value.toLowerCase()} == True`, + }); + } + const path = `/runs?select=${search}`; + if (newTab) { + window.open(path, '_blank'); + window.focus(); + return; + } + history.push(path); + } + }, + [history], + ); + + return ( +
+ + Quick Navigation + +
+ {linkItems.map(({ label, path }) => ( + + onClick(e, path)} + size={12} + tint={100} + > + {label} + + +
+ onClick(e, path, true)} + name='new-tab' + /> +
+
+
+ ))} +
+
+ ); +} + +export default QuickLinks; diff --git a/aim/web/ui/src/pages/Dashboard/components/ExploreSection/RecentSearches/RecentSearchItem.tsx b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/RecentSearches/RecentSearchItem.tsx new file mode 100644 index 0000000000..9a237db849 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/RecentSearches/RecentSearchItem.tsx @@ -0,0 +1,62 @@ +import React from 'react'; +import { useHistory } from 'react-router-dom'; + +import { Tooltip } from '@material-ui/core'; + +import ListItem from 'components/kit/ListItem/ListItem'; +import { Icon } from 'components/kit'; + +import useCodeHighlighter from 'hooks/useCodeHighlighter'; + +import { BookmarkIconType } from 'pages/Bookmarks/components/BookmarkCard/BookmarkCard'; + +import { encode } from 'utils/encoder/encoder'; + +function RecentSearchItem({ + query, + explorer, +}: { + query: string; + explorer: string; +}) { + const { elementRef } = useCodeHighlighter(); + const history = useHistory(); + + const onClick: (e: React.MouseEvent, newTab?: boolean) => void = + React.useCallback( + (e: React.MouseEvent, newTab?: boolean) => { + e.stopPropagation(); + const search = encode({ + query, + advancedMode: true, + advancedQuery: query, + }); + const path = `/${explorer}?select=${search}`; + if (newTab) { + window.open(path, '_blank'); + window.focus(); + return; + } + history.push(path); + }, + [explorer, history, query], + ); + return ( + +
+ onClick(e)}> + +
+            {query}
+          
+ onClick(e, true)} + name='new-tab' + /> +
+
+
+ ); +} +export default React.memo(RecentSearchItem); diff --git a/aim/web/ui/src/pages/Dashboard/components/ExploreSection/RecentSearches/RecentSearches.scss b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/RecentSearches/RecentSearches.scss new file mode 100644 index 0000000000..b7e6818470 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/RecentSearches/RecentSearches.scss @@ -0,0 +1,21 @@ +@use 'src/styles/abstracts' as *; + +.RecentSearches { + padding: 0 $space-sm $space-unit; + &__title { + margin-bottom: $space-xs; + padding: 0 $space-sm; + } + + pre { + max-width: 100%; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + font-size: 15px; + font-weight: $font-600; + @include monospaceFontFamily(15); + flex: 1 1; + margin: 0 $space-xs; + } +} diff --git a/aim/web/ui/src/pages/Dashboard/components/ExploreSection/RecentSearches/RecentSearches.tsx b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/RecentSearches/RecentSearches.tsx new file mode 100644 index 0000000000..af23102f32 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/RecentSearches/RecentSearches.tsx @@ -0,0 +1,46 @@ +import React from 'react'; + +import { Text } from 'components/kit'; + +import { getItem } from 'utils/storage'; + +import RecentSearchItem from './RecentSearchItem'; + +import './RecentSearches.scss'; + +function RecentSearches(): React.FunctionComponentElement | null { + const [recentSearches, setRecentSearches] = React.useState< + { explorer: string; query: string }[] + >([]); + + React.useEffect(() => { + const recent = getItem('recentSearches'); + if (recent) { + setRecentSearches(JSON.parse(recent)); + } + }, []); + return recentSearches.length ? ( +
+ + Recent Searches + +
+ {recentSearches.map((item, index) => ( + + ))} +
+
+ ) : null; +} + +export default React.memo(RecentSearches); diff --git a/aim/web/ui/src/pages/Dashboard/components/ExploreSection/RecentSearches/useRecentSearches.ts b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/RecentSearches/useRecentSearches.ts new file mode 100644 index 0000000000..56cfc9fe3e --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/RecentSearches/useRecentSearches.ts @@ -0,0 +1,5 @@ +function useRecentSearches() { + return null; +} + +export default useRecentSearches; diff --git a/aim/web/ui/src/pages/Dashboard/components/ExploreSection/TagsCard/TagsCard.d.ts b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/TagsCard/TagsCard.d.ts new file mode 100644 index 0000000000..e69de29bb2 diff --git a/aim/web/ui/src/pages/Dashboard/components/ExploreSection/TagsCard/TagsCard.scss b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/TagsCard/TagsCard.scss new file mode 100644 index 0000000000..1f3a57025b --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/TagsCard/TagsCard.scss @@ -0,0 +1,19 @@ +@use 'src/styles/abstracts' as *; + +.TagsCard { + border-top: $border-dark-lighter; + padding: 1rem; + padding: $space-unit $space-sm; + &__title { + margin-bottom: $space-sm; + padding: 0 $space-sm; + } + .Badge { + border-radius: $border-radius-sm; + } + &__NavLink { + text-decoration: none; + display: block; + margin-top: $space-unit; + } +} diff --git a/aim/web/ui/src/pages/Dashboard/components/ExploreSection/TagsCard/TagsCard.tsx b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/TagsCard/TagsCard.tsx new file mode 100644 index 0000000000..dc00ebee0c --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/TagsCard/TagsCard.tsx @@ -0,0 +1,72 @@ +import React from 'react'; +import { NavLink } from 'react-router-dom'; + +import DataList from 'components/kit/DataList'; +import { Button, Text } from 'components/kit'; + +import CompareSelectedRunsPopover from 'pages/Metrics/components/Table/CompareSelectedRunsPopover'; + +import { AppNameEnum } from 'services/models/explorer'; + +import useTagsCard from './useTagsCard'; + +import './TagsCard.scss'; + +function TagsCard(): React.FunctionComponentElement | null { + const { + tableRef, + tableColumns, + tableData, + tagsStore, + selectedRows, + tagsQuery, + } = useTagsCard(); + + return ( +
+ + Tags {tagsStore?.data?.length ? `(${tagsStore?.data?.length})` : ''} + + {tagsStore?.data?.length ? ( + , + ]} + /> + ) : null} + + + +
+ ); +} + +TagsCard.displayName = 'TagsCard'; + +export default React.memo(TagsCard); diff --git a/aim/web/ui/src/pages/Dashboard/components/ExploreSection/TagsCard/TagsStore.ts b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/TagsCard/TagsStore.ts new file mode 100644 index 0000000000..57e39ee43c --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/TagsCard/TagsStore.ts @@ -0,0 +1,11 @@ +import createResource from 'modules/core/utils/createResource'; +import { fetchTagsList } from 'modules/core/api/tagsApi'; +import { ITagData } from 'modules/core/api/tagsApi/types'; + +function createTagsEngine() { + const { fetchData, state, destroy } = + createResource(fetchTagsList); + return { fetchTags: fetchData, tagsState: state, destroy }; +} + +export default createTagsEngine(); diff --git a/aim/web/ui/src/pages/Dashboard/components/ExploreSection/TagsCard/useTagsCard.tsx b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/TagsCard/useTagsCard.tsx new file mode 100644 index 0000000000..c10cb48a25 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ExploreSection/TagsCard/useTagsCard.tsx @@ -0,0 +1,176 @@ +import React from 'react'; +import _ from 'lodash-es'; + +import { IResourceState } from 'modules/core/utils/createResource'; +import { Checkbox } from '@material-ui/core'; +import { ITagData } from 'modules/core/api/tagsApi/types'; + +import { Badge, Icon, Text } from 'components/kit'; + +import createTagsEngine from './TagsStore'; + +function useTagsCard() { + const tableRef = React.useRef(null); + const [selectedRows, setSelectedRows] = React.useState([]); + const { current: tagsEngine } = React.useRef(createTagsEngine); + const tagsStore: IResourceState = tagsEngine.tagsState( + (state) => state, + ); + + React.useEffect(() => { + tagsEngine.fetchTags(); + return () => { + tagsEngine.destroy(); + }; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + + // memoized table data + const tableData = React.useMemo(() => { + if (tagsStore.data) { + return tagsStore.data.map( + ({ name, archived, run_count, color }: ITagData) => { + return { + key: name, + name, + color, + archived, + run_count, + id: name, + }; + }, + ); + } + return []; + }, [tagsStore.data]); + + // on row selection + const onRowSelect = React.useCallback( + (rowKey?: string) => { + if (rowKey) { + const newSelectedRows = selectedRows.includes(rowKey) + ? selectedRows.filter((row: string) => row !== rowKey) + : [...selectedRows, rowKey]; + setSelectedRows(newSelectedRows); + } else if (selectedRows.length) { + setSelectedRows([]); + } else { + setSelectedRows(tableData.map(({ name }: any) => name.label)); + } + }, + [selectedRows, tableData], + ); + + // memoized table columns + const tableColumns = React.useMemo( + () => [ + { + dataKey: 'id', + key: 'id', + title: ( + } + className='selectCheckbox' + checkedIcon={ + tableData.length === Object.keys(selectedRows)?.length ? ( + + + + ) : ( + + + + ) + } + onClick={() => onRowSelect()} + checked={!!selectedRows.length} + /> + ), + width: '20px', + cellRenderer: ({ cellData }: any, index: number) => { + return ( + } + className='selectCheckbox' + checked={selectedRows.includes(cellData)} + checkedIcon={ + + + + } + onClick={() => onRowSelect(cellData)} + /> + ); + }, + }, + { + dataKey: 'name', + key: 'name', + title: ( + + Name + + ), + width: 'calc(100% - 50px)', + style: { paddingLeft: 10, paddingRight: 12 }, + cellRenderer: ({ cellData, rowData: { color } }: any) => ( + + ), + }, + { + dataKey: 'run_count', + key: 'run_count', + title: ( + + Runs + + ), + flexGrow: 1, + style: { textAlign: 'right' }, + width: '46px', + cellRenderer: ({ cellData }: any) => ( + + {cellData} + + ), + }, + ], + [tableData?.length, onRowSelect, selectedRows], + ); + + // Update the table data and columns when the tags data changes + React.useEffect(() => { + if (tableRef.current?.updateData) { + tableRef.current.updateData({ + newColumns: tableColumns, + newData: tableData, + }); + } + }, [tableData, tableColumns]); + + const tagsQuery = React.useMemo(() => { + return `any([t in [${_.uniq(selectedRows) + .map((val: string) => `"${val}"`) + .join(',')}] for t in run.tags])`; + }, [selectedRows]); + + return { + tableRef, + tableColumns, + tableData, + tagsStore, + selectedRows, + tagsQuery, + }; +} +export default useTagsCard; diff --git a/aim/web/ui/src/pages/Home/components/Activity/Activity.scss b/aim/web/ui/src/pages/Dashboard/components/ProjectContributions/ProjectContributions.scss similarity index 68% rename from aim/web/ui/src/pages/Home/components/Activity/Activity.scss rename to aim/web/ui/src/pages/Dashboard/components/ProjectContributions/ProjectContributions.scss index 23b4e36079..e5e9c7cc93 100644 --- a/aim/web/ui/src/pages/Home/components/Activity/Activity.scss +++ b/aim/web/ui/src/pages/Dashboard/components/ProjectContributions/ProjectContributions.scss @@ -1,12 +1,21 @@ -.Activity { +@use 'src/styles/abstracts' as *; + +.ProjectContributions { + margin: 1.75rem 0; + &__HeatMap { + display: flex; + overflow: hidden; + @media only screen and (max-width: 1452px) { + justify-content: flex-end; + } + } &__Statistics__card { background: linear-gradient(97.73deg, #8c32af 0%, #6bace5 100%); opacity: 0.8; - border-radius: 6px; + border-radius: $border-radius-main; width: 13.125em; height: 80px; - color: #ffffff; - padding: 0.5em 1em; + color: $white; position: relative; span { display: block; diff --git a/aim/web/ui/src/pages/Dashboard/components/ProjectContributions/ProjectContributions.tsx b/aim/web/ui/src/pages/Dashboard/components/ProjectContributions/ProjectContributions.tsx new file mode 100644 index 0000000000..7bede8889f --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ProjectContributions/ProjectContributions.tsx @@ -0,0 +1,48 @@ +import React from 'react'; + +import HeatMap from 'components/HeatMap/HeatMap'; +import { Text } from 'components/kit'; +import ErrorBoundary from 'components/ErrorBoundary/ErrorBoundary'; + +import { ANALYTICS_EVENT_KEYS } from 'config/analytics/analyticsKeysMap'; + +import { trackEvent } from 'services/analytics'; + +import useProjectContributions from './useProjectContributions'; + +import './ProjectContributions.scss'; + +function ProjectContributions(): React.FunctionComponentElement { + const { projectContributionsStore } = useProjectContributions(); + function shiftDate(date: any, numDays: any) { + const newDate = new Date(date); + newDate.setDate(newDate.getDate() + numDays); + return newDate; + } + let today = new Date(); + return ( + +
+ + Contributions + +
+ { + trackEvent(ANALYTICS_EVENT_KEYS.dashboard.activityCellClick); + }} + data={Object.keys( + projectContributionsStore.data?.activity_map ?? {}, + ).map((k) => [ + new Date(k), + projectContributionsStore.data?.activity_map[k], + ])} + /> +
+
+
+ ); +} +export default React.memo(ProjectContributions); diff --git a/aim/web/ui/src/pages/Dashboard/components/ProjectContributions/ProjectContributionsStore.ts b/aim/web/ui/src/pages/Dashboard/components/ProjectContributions/ProjectContributionsStore.ts new file mode 100644 index 0000000000..2a133c6593 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ProjectContributions/ProjectContributionsStore.ts @@ -0,0 +1,17 @@ +import { + getProjectContributions, + GetProjectContributionsResult, +} from 'modules/core/api/projectApi'; +import createResource from 'modules/core/utils/createResource'; + +function projectContributionsEngine() { + const { fetchData, state, destroy } = + createResource(getProjectContributions); + return { + fetchProjectContributions: fetchData, + projectContributionsState: state, + destroy, + }; +} + +export default projectContributionsEngine(); diff --git a/aim/web/ui/src/pages/Dashboard/components/ProjectContributions/useProjectContributions.tsx b/aim/web/ui/src/pages/Dashboard/components/ProjectContributions/useProjectContributions.tsx new file mode 100644 index 0000000000..c13a19fb36 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ProjectContributions/useProjectContributions.tsx @@ -0,0 +1,28 @@ +import React from 'react'; + +import { GetProjectContributionsResult } from 'modules/core/api/projectApi'; +import { IResourceState } from 'modules/core/utils/createResource'; + +import projectContributionsEngine from './ProjectContributionsStore'; + +function useProjectContributions() { + const { current: engine } = React.useRef(projectContributionsEngine); + const projectContributionsStore: IResourceState = + engine.projectContributionsState((state) => state); + + React.useEffect(() => { + if (!projectContributionsStore.data) { + engine.fetchProjectContributions(); + } + return () => { + engine.destroy(); + }; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + + return { + projectContributionsStore, + }; +} + +export default useProjectContributions; diff --git a/aim/web/ui/src/pages/Dashboard/components/ProjectStatistics/ProjectStatistics.d.ts b/aim/web/ui/src/pages/Dashboard/components/ProjectStatistics/ProjectStatistics.d.ts new file mode 100644 index 0000000000..1535cf12fc --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ProjectStatistics/ProjectStatistics.d.ts @@ -0,0 +1,10 @@ +import { IconName } from 'components/kit/Icon'; + +export interface IProjectStatistic { + label: string; + count: number; + iconBgColor?: string; + icon?: IconName; + navLink?: string; + title?: string; +} diff --git a/aim/web/ui/src/pages/Dashboard/components/ProjectStatistics/ProjectStatistics.scss b/aim/web/ui/src/pages/Dashboard/components/ProjectStatistics/ProjectStatistics.scss new file mode 100644 index 0000000000..5e98dce169 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ProjectStatistics/ProjectStatistics.scss @@ -0,0 +1,20 @@ +@use 'src/styles/abstracts' as *; + +.ProjectStatistics { + &__totalRuns { + margin-top: $space-lg; + } + &__trackedSequences { + margin-top: $space-lg; + } + &__cards { + display: flex; + align-items: center; + flex-wrap: wrap; + gap: $space-unit; + margin-top: $space-sm; + } + &__bar { + margin-top: $space-sm; + } +} diff --git a/aim/web/ui/src/pages/Dashboard/components/ProjectStatistics/ProjectStatistics.tsx b/aim/web/ui/src/pages/Dashboard/components/ProjectStatistics/ProjectStatistics.tsx new file mode 100644 index 0000000000..b500cbbdd4 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ProjectStatistics/ProjectStatistics.tsx @@ -0,0 +1,246 @@ +import * as React from 'react'; + +import { Text } from 'components/kit'; +import StatisticsCard from 'components/StatisticsCard'; +import StatisticsBar from 'components/StatisticsBar'; + +import routes from 'routes/routes'; + +import { SequenceTypesEnum } from 'types/core/enums'; + +import { encode } from 'utils/encoder/encoder'; + +import { IProjectStatistic, useProjectStatistics } from '.'; + +import './ProjectStatistics.scss'; + +const statisticsInitialMap: Record = { + [SequenceTypesEnum.Metric]: { + label: 'Metrics', + count: 0, + icon: 'metrics', + iconBgColor: '#7A4CE0', + navLink: routes.METRICS.path, + title: 'Metrics Explorer', + }, + systemMetrics: { + label: 'Sys. metrics', + count: 0, + icon: 'metrics', + iconBgColor: '#AF4EAB', + navLink: `${routes.METRICS.path}?select=${encode({ + advancedQuery: "metric.name.startswith('__system__') == True", + advancedMode: true, + })}`, + title: 'Metrics Explorer', + }, + [SequenceTypesEnum.Figures]: { + label: 'Figures', + icon: 'figures-explorer', + count: 0, + iconBgColor: '#18AB6D', + navLink: routes.FIGURES_EXPLORER.path, + title: 'Figures Explorer', + }, + [SequenceTypesEnum.Images]: { + label: 'Images', + icon: 'images', + count: 0, + iconBgColor: '#F17922', + navLink: routes.IMAGE_EXPLORE.path, + title: 'Images Explorer', + }, + [SequenceTypesEnum.Audios]: { + label: 'Audios', + icon: 'audio', + count: 0, + iconBgColor: '#FCB500', + navLink: '', + title: 'Explorer coming soon', + }, + [SequenceTypesEnum.Texts]: { + label: 'Texts', + icon: 'text', + count: 0, + iconBgColor: '#E149A0', + navLink: '', + title: 'Explorer coming soon', + }, + [SequenceTypesEnum.Distributions]: { + label: 'Distributions', + icon: 'distributions', + count: 0, + iconBgColor: '#0394B4', + navLink: '', + title: 'Explorer coming soon', + }, +}; + +const runsCountingInitialMap: Record<'archived' | 'runs', IProjectStatistic> = { + runs: { + label: 'runs', + icon: 'runs', + count: 0, + iconBgColor: '#1473E6', + navLink: routes.RUNS.path, + }, + archived: { + label: 'archived', + icon: 'archive', + count: 0, + iconBgColor: '#606986', + navLink: `/runs?select=${encode({ query: 'run.archived == True' })}`, + }, +}; + +function ProjectStatistics() { + const [hoveredState, setHoveredState] = React.useState({ + source: '', + id: '', + }); + const { projectParamsStore, projectContributionsStore } = + useProjectStatistics(); + + const { statisticsMap, totalTrackedSequencesCount } = React.useMemo(() => { + const statistics = { ...statisticsInitialMap }; + let totalTrackedSequencesCount = 0; + + for (let [seqName, seqData] of Object.entries( + projectParamsStore.data || {}, + )) { + let systemMetricsCount = 0; + let sequenceItemsCount = 0; + for (let [itemKey, itemData] of Object.entries(seqData)) { + if (itemKey.startsWith('__system__')) { + systemMetricsCount += itemData.length; + } else { + sequenceItemsCount += itemData.length; + } + } + totalTrackedSequencesCount += sequenceItemsCount; + statistics[seqName].count = sequenceItemsCount; + if (systemMetricsCount) { + totalTrackedSequencesCount += systemMetricsCount; + statistics.systemMetrics.count = systemMetricsCount; + } + } + return { statisticsMap: statistics, totalTrackedSequencesCount }; + }, [projectParamsStore]); + + const { totalRunsCount, archivedRuns } = React.useMemo( + () => ({ + totalRunsCount: projectContributionsStore.data?.num_runs || 0, + archivedRuns: projectContributionsStore.data?.num_archived_runs || 0, + }), + [projectContributionsStore], + ); + const statisticsBarData = React.useMemo( + () => + Object.values(statisticsMap).map( + ({ label, iconBgColor = '#000', count }) => ({ + highlighted: hoveredState.id === label, + label, + color: iconBgColor, + percent: + totalTrackedSequencesCount === 0 + ? 0 + : (count / totalTrackedSequencesCount) * 100, + }), + ), + [statisticsMap, totalTrackedSequencesCount, hoveredState], + ); + const runsCountingMap = React.useMemo( + () => ({ + runs: { + ...runsCountingInitialMap.runs, + count: totalRunsCount - archivedRuns, + }, + archived: { + ...runsCountingInitialMap.archived, + count: archivedRuns, + }, + }), + [archivedRuns, totalRunsCount], + ); + const onMouseOver = React.useCallback((id = '', source = '') => { + setHoveredState({ source, id }); + }, []); + const onMouseLeave = React.useCallback(() => { + setHoveredState({ source: '', id: '' }); + }, []); + return ( +
+ + Total runs: {totalRunsCount} + +
+ {Object.values(runsCountingMap).map( + ({ label, icon, count, iconBgColor, navLink }) => ( + + ), + )} +
+ + Tracked sequences + +
+ {Object.values(statisticsMap).map( + ({ label, title, icon, count, iconBgColor, navLink }) => ( + + ), + )} +
+
+ +
+
+ ); +} + +ProjectStatistics.displayName = 'ProjectStatistics'; + +export default React.memo(ProjectStatistics); diff --git a/aim/web/ui/src/pages/Dashboard/components/ProjectStatistics/ProjectStatisticsStore.ts b/aim/web/ui/src/pages/Dashboard/components/ProjectStatistics/ProjectStatisticsStore.ts new file mode 100644 index 0000000000..a9cca3a159 --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ProjectStatistics/ProjectStatisticsStore.ts @@ -0,0 +1,23 @@ +import createResource from 'modules/core/utils/createResource'; +import { getParams, GetParamsResult } from 'modules/core/api/projectApi'; + +import { SequenceTypesEnum } from 'types/core/enums'; + +function projectStatisticsEngine() { + const { fetchData, state, destroy } = createResource(() => + getParams({ + sequence: [ + SequenceTypesEnum.Metric, + SequenceTypesEnum.Images, + SequenceTypesEnum.Figures, + SequenceTypesEnum.Texts, + SequenceTypesEnum.Audios, + SequenceTypesEnum.Distributions, + ], + exclude_params: true, + }), + ); + return { fetchProjectParams: fetchData, projectParamsState: state, destroy }; +} + +export default projectStatisticsEngine(); diff --git a/aim/web/ui/src/pages/Dashboard/components/ProjectStatistics/index.tsx b/aim/web/ui/src/pages/Dashboard/components/ProjectStatistics/index.tsx new file mode 100644 index 0000000000..8b236988ca --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ProjectStatistics/index.tsx @@ -0,0 +1,7 @@ +import ProjectStatistics from './ProjectStatistics'; +import useProjectStatistics from './useProjectStatistics'; + +export * from './ProjectStatistics.d'; +export { useProjectStatistics }; + +export default ProjectStatistics; diff --git a/aim/web/ui/src/pages/Dashboard/components/ProjectStatistics/useProjectStatistics.tsx b/aim/web/ui/src/pages/Dashboard/components/ProjectStatistics/useProjectStatistics.tsx new file mode 100644 index 0000000000..fb667bbacf --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/ProjectStatistics/useProjectStatistics.tsx @@ -0,0 +1,30 @@ +import * as React from 'react'; + +import projectContributionsEngine from '../ProjectContributions/ProjectContributionsStore'; + +import projectStatisticsEngine from './ProjectStatisticsStore'; + +function useProjectStatistics() { + const { current: projectStatsEngine } = React.useRef(projectStatisticsEngine); + const projectParamsStore = projectStatsEngine.projectParamsState( + (state) => state, + ); + const { current: contributionsEngine } = React.useRef( + projectContributionsEngine, + ); + const projectContributionsStore = + contributionsEngine.projectContributionsState((state) => state); + + React.useEffect(() => { + if (!projectParamsStore.data) { + projectStatsEngine.fetchProjectParams(); + } + return () => { + projectStatsEngine.destroy(); + }; + }, [projectStatsEngine]); + + return { projectParamsStore, projectContributionsStore }; +} + +export default useProjectStatistics; diff --git a/aim/web/ui/src/pages/Dashboard/components/QuickStart/QuickStart.scss b/aim/web/ui/src/pages/Dashboard/components/QuickStart/QuickStart.scss new file mode 100644 index 0000000000..65dec975ea --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/QuickStart/QuickStart.scss @@ -0,0 +1,14 @@ +@use 'src/styles/abstracts' as *; + +.QuickStart__section { + padding: $space-lg 0; +} + +.QuickStart__section__title { + margin-bottom: $space-sm; +} + +.QuickStart__section__text { + font-style: italic; + margin-top: $space-sm; +} diff --git a/aim/web/ui/src/pages/Dashboard/components/QuickStart/QuickStart.tsx b/aim/web/ui/src/pages/Dashboard/components/QuickStart/QuickStart.tsx new file mode 100644 index 0000000000..4608789dbf --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/QuickStart/QuickStart.tsx @@ -0,0 +1,74 @@ +import * as React from 'react'; + +import { Link } from '@material-ui/core'; + +import { Text } from 'components/kit'; +import CodeBlock from 'components/CodeBlock/CodeBlock'; + +import { DOCUMENTATIONS } from 'config/references'; + +import './QuickStart.scss'; + +function QuickStart() { + return ( +
+ + Quick Start + +
+ + Integrate Aim with your code + + + + See the full list of supported trackable objects(e.g. images, text, + etc){' '} + + here + + . + +
+
+ ); +} + +export default QuickStart; diff --git a/aim/web/ui/src/pages/Dashboard/components/QuickStart/index.ts b/aim/web/ui/src/pages/Dashboard/components/QuickStart/index.ts new file mode 100644 index 0000000000..a9701cfe6a --- /dev/null +++ b/aim/web/ui/src/pages/Dashboard/components/QuickStart/index.ts @@ -0,0 +1,3 @@ +import QuickStart from './QuickStart'; + +export default QuickStart; diff --git a/aim/web/ui/src/pages/Home/Home.scss b/aim/web/ui/src/pages/Home/Home.scss deleted file mode 100644 index 91bcee95c7..0000000000 --- a/aim/web/ui/src/pages/Home/Home.scss +++ /dev/null @@ -1,21 +0,0 @@ -@use 'src/styles/abstracts' as *; - -.Home { - &__container { - background-color: #ffffff; - overflow: hidden; - display: flex; - flex-direction: column; - h2 { - margin: 0 0 1em 0; - } - } - &__Explore__container { - border-top: 1px solid #e8f1fc; - border-bottom: 1px solid #e8f1fc; - display: flex; - } - &__Activity__container { - padding: 1.5em; - } -} diff --git a/aim/web/ui/src/pages/Home/Home.tsx b/aim/web/ui/src/pages/Home/Home.tsx deleted file mode 100644 index 5b719d3a5c..0000000000 --- a/aim/web/ui/src/pages/Home/Home.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import React from 'react'; - -import NotificationContainer from 'components/NotificationContainer/NotificationContainer'; -import ErrorBoundary from 'components/ErrorBoundary/ErrorBoundary'; - -import { IHomeProps } from 'types/pages/home/Home'; - -import ExploreAim from './components/ExploreAim/ExploreAim'; -import SetupGuide from './components/SetupGuide/SetupGuide'; -import Activity from './components/Activity/Activity'; - -import './Home.scss'; - -function Home({ - activityData, - onSendEmail, - notifyData, - onNotificationDelete, - askEmailSent, -}: IHomeProps): React.FunctionComponentElement { - return ( - -
-
- -
-
- - -
- {notifyData?.length > 0 && ( - - )} -
-
- ); -} -export default Home; diff --git a/aim/web/ui/src/pages/Home/HomeContainer.tsx b/aim/web/ui/src/pages/Home/HomeContainer.tsx deleted file mode 100644 index 933c52b20e..0000000000 --- a/aim/web/ui/src/pages/Home/HomeContainer.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import React from 'react'; -import { useModel } from 'hooks'; - -import ErrorBoundary from 'components/ErrorBoundary/ErrorBoundary'; - -import { ANALYTICS_EVENT_KEYS } from 'config/analytics/analyticsKeysMap'; - -import homeAppModel from 'services/models/home/homeAppModel'; -import * as analytics from 'services/analytics'; - -import Home from './Home'; - -function HomeContainer(): React.FunctionComponentElement { - const homeData = useModel(homeAppModel); - - React.useEffect(() => { - homeAppModel.initialize(); - analytics.trackEvent(ANALYTICS_EVENT_KEYS.home.pageView); - return () => { - homeAppModel.destroy(); - }; - }, []); - - return ( - - - - ); -} -export default HomeContainer; diff --git a/aim/web/ui/src/pages/Home/components/Activity/Activity.tsx b/aim/web/ui/src/pages/Home/components/Activity/Activity.tsx deleted file mode 100644 index f77cd91b94..0000000000 --- a/aim/web/ui/src/pages/Home/components/Activity/Activity.tsx +++ /dev/null @@ -1,76 +0,0 @@ -import React from 'react'; - -import { Grid } from '@material-ui/core'; - -import HeatMap from 'components/HeatMap/HeatMap'; -import { Spinner, Text } from 'components/kit'; -import ErrorBoundary from 'components/ErrorBoundary/ErrorBoundary'; - -import { ANALYTICS_EVENT_KEYS } from 'config/analytics/analyticsKeysMap'; - -import { trackEvent } from 'services/analytics'; - -import { IActivityProps } from 'types/pages/home/components/Activity/Activity'; - -import './Activity.scss'; - -function Activity({ - activityData, -}: IActivityProps): React.FunctionComponentElement { - function shiftDate(date: any, numDays: any) { - const newDate = new Date(date); - newDate.setDate(newDate.getDate() + numDays); - return newDate; - } - let today = new Date(); - return ( - - - - - Statistics - -
- - Experiments - - - {activityData?.num_experiments ?? ( - - )} - -
-
- - Runs - - - {activityData?.num_runs ?? ( - - )} - -
-
- - - Activity - -
- { - trackEvent(ANALYTICS_EVENT_KEYS.home.activityCellClick); - }} - data={Object.keys(activityData?.activity_map ?? {}).map((k) => [ - new Date(k), - activityData.activity_map[k], - ])} - /> -
-
-
-
- ); -} -export default React.memo(Activity); diff --git a/aim/web/ui/src/pages/Home/components/AskForm/AskForm.scss b/aim/web/ui/src/pages/Home/components/AskForm/AskForm.scss deleted file mode 100644 index 14988b44fe..0000000000 --- a/aim/web/ui/src/pages/Home/components/AskForm/AskForm.scss +++ /dev/null @@ -1,36 +0,0 @@ -@use 'src/styles/abstracts' as *; - -.AskForm { - margin-top: 2rem; - padding: 2rem 1rem; - text-align: center; - display: flex; - align-items: center; - justify-content: center; - flex-direction: column; - border: $border-main; - border-radius: $border-radius-main; - &__avatar { - display: inline-flex; - img { - margin: 0 auto; - width: 4rem; - height: 4rem; - border-radius: 2rem; - } - } - &__title { - margin: 0.5rem 0 !important; - } - - &__p { - max-width: 36rem; - margin-bottom: 1rem; - } - &__submit { - margin-top: 0.875rem; - } - .TextField__OutLined__Large { - width: 21.125rem; - } -} diff --git a/aim/web/ui/src/pages/Home/components/AskForm/AskForm.tsx b/aim/web/ui/src/pages/Home/components/AskForm/AskForm.tsx deleted file mode 100644 index 1ef6e49eb0..0000000000 --- a/aim/web/ui/src/pages/Home/components/AskForm/AskForm.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import React from 'react'; - -import { TextField } from '@material-ui/core'; - -import { Button, Text } from 'components/kit'; - -import { IAskFormProps } from 'types/pages/home/components/AskForm/AskForm'; - -import './AskForm.scss'; - -function AskForm({ - onSendEmail, -}: IAskFormProps): React.FunctionComponentElement { - const [email, setEmail] = React.useState(''); - - async function handleSubmit() { - const data = await onSendEmail({ email }); - if (data.ok) { - setEmail(''); - } - } - - function onChange(e: React.ChangeEvent): void { - setEmail(e.target.value); - } - - return ( -
- - 👋 Hey - - - We’re working hard to create an amazing experiment tracker and need your - feedback for the Aim. If you’d like to contribute to improving it and - share what you like/dislike about Aim, please leave your email. - - - -
- ); -} - -export default AskForm; diff --git a/aim/web/ui/src/pages/Home/components/ExploreAim/ExploreAim.scss b/aim/web/ui/src/pages/Home/components/ExploreAim/ExploreAim.scss deleted file mode 100644 index 0c82121fae..0000000000 --- a/aim/web/ui/src/pages/Home/components/ExploreAim/ExploreAim.scss +++ /dev/null @@ -1,63 +0,0 @@ -@use 'src/styles/abstracts' as *; - -.ExploreAim { - display: flex; - flex-direction: column; - border-left: $border-grey; - padding: 1.5rem 1.5rem 1.5rem 2.5rem; - min-width: 600px; - h2 { - margin: 0; - } - &__card__container { - margin-top: 2rem; - display: flex; - flex-wrap: wrap; - max-width: 840px; - } - &__social { - margin-top: 2rem; - &__item { - border: $border-grey; - border-radius: 0.5rem; - display: flex; - align-items: center; - padding: 0 1.5rem; - height: 3.5rem; - margin-bottom: 0.5rem; - text-decoration: none; - max-width: 33rem; - &:last-child { - margin-bottom: 0; - } - &:visited { - color: unset; - } - &:hover { - border-color: #1473e6; - i { - color: #1473e6; - } - } - span { - font-size: 1rem; - line-height: 1.1875rem; - color: $pico; - flex: 1; - } - - img { - margin-right: 1rem; - width: 2rem; - } - - i { - font-size: 0.625rem; - color: $text-color; - } - } - } - &__block__item { - margin-top: 3rem; - } -} diff --git a/aim/web/ui/src/pages/Home/components/ExploreAim/ExploreAim.tsx b/aim/web/ui/src/pages/Home/components/ExploreAim/ExploreAim.tsx deleted file mode 100644 index 5d7f6161f5..0000000000 --- a/aim/web/ui/src/pages/Home/components/ExploreAim/ExploreAim.tsx +++ /dev/null @@ -1,116 +0,0 @@ -import React from 'react'; - -import githubIcon from 'assets/icons/github.svg'; -import slackIcon from 'assets/icons/slack.svg'; - -import { Icon, Text } from 'components/kit'; -import ErrorBoundary from 'components/ErrorBoundary/ErrorBoundary'; - -import { ANALYTICS_EVENT_KEYS } from 'config/analytics/analyticsKeysMap'; - -import { trackEvent } from 'services/analytics'; - -import ExploreAimCard from '../ExploreAimCard/ExploreAimCard'; - -import './ExploreAim.scss'; - -export interface IExploreCard { - title: string; - description: string; - path: string; - icon: string; -} -const cardsData: IExploreCard[] = [ - { - title: 'Runs Explorer', - description: - 'View all your runs holistically on Runs Explorer: all hyperparameters, all metric last values', - path: 'runs', - icon: 'runs', - }, - { - title: 'Metrics Explorer', - description: 'Compare 100s of metrics in a few clicks on Metrics Explorer', - path: 'metrics', - icon: 'metrics', - }, - { - title: 'Images Explorer', - description: - 'Track intermediate images and search, compare them on Images Explorer', - path: 'images', - icon: 'images', - }, - { - title: 'Params Explorer', - description: - 'The Params explorer enables a parallel coordinates view for metrics and params', - path: 'params', - icon: 'params', - }, - { - title: 'Scatters Explorer', - description: - 'Explore and learn relationship, correlations, and clustering effects between metrics and parameters on Scatters Explorer', - path: 'scatters', - icon: 'scatterplot', - }, -]; - -function ExploreAim(): React.FunctionComponentElement { - return ( - - - - ); -} - -export default React.memo(ExploreAim); diff --git a/aim/web/ui/src/pages/Home/components/ExploreAimCard/ExploreAimCard.scss b/aim/web/ui/src/pages/Home/components/ExploreAimCard/ExploreAimCard.scss deleted file mode 100644 index 930fac9697..0000000000 --- a/aim/web/ui/src/pages/Home/components/ExploreAimCard/ExploreAimCard.scss +++ /dev/null @@ -1,61 +0,0 @@ -@use 'src/styles/abstracts' as *; - -.ExploreAimCard { - width: 15.5rem; - background-color: transparent; - border-radius: 0.5rem; - border: $border-grey; - transition: background-color 0.3s ease-out; - padding: 1.5rem 1.5rem 2rem 1.5rem; - margin-bottom: 2rem; - margin-right: 2rem; - text-decoration: none; - position: relative; - color: $pico; - &:hover { - background-color: $primary-color; - color: #fff; - .ExploreAimCard__desc, - .ExploreAimCard__title { - color: #fff; - } - .ExploreAimCard__icon { - color: $primary-color; - background-color: #fff; - } - } - &__icon { - display: flex; - align-items: center; - justify-content: center; - border-radius: $border-radius-circle; - width: 2.75rem; - height: 2.75rem; - background: $primary-color; - color: #fff; - margin-bottom: 0.875rem; - transition: all 0.3s ease-out; - i { - font-size: 1.375rem; - } - } - &__title { - margin: 0; - } - &__desc { - margin-top: 0.5rem; - display: inline-block; - } - &__arrow__icon { - position: absolute; - right: 1rem; - bottom: 0.25rem; - display: flex; - justify-content: flex-end; - - i { - color: #fff; - font-size: 1.75rem; - } - } -} diff --git a/aim/web/ui/src/pages/Home/components/ExploreAimCard/ExploreAimCard.tsx b/aim/web/ui/src/pages/Home/components/ExploreAimCard/ExploreAimCard.tsx deleted file mode 100644 index 5754ab9910..0000000000 --- a/aim/web/ui/src/pages/Home/components/ExploreAimCard/ExploreAimCard.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import React from 'react'; -import { NavLink } from 'react-router-dom'; - -import { Icon, Text } from 'components/kit'; -import { IconName } from 'components/kit/Icon'; -import ErrorBoundary from 'components/ErrorBoundary/ErrorBoundary'; - -import { IExploreCard } from '../ExploreAim/ExploreAim'; - -import './ExploreAimCard.scss'; - -function ExploreAimCard({ - title, - path, - description, - icon, -}: IExploreCard): React.FunctionComponentElement { - return ( - - -
- -
- - {title} - - - {description} - -
- -
-
-
- ); -} - -export default React.memo(ExploreAimCard); diff --git a/aim/web/ui/src/pages/Home/components/SetupGuide/SetupGuide.scss b/aim/web/ui/src/pages/Home/components/SetupGuide/SetupGuide.scss deleted file mode 100644 index 42b2a04f25..0000000000 --- a/aim/web/ui/src/pages/Home/components/SetupGuide/SetupGuide.scss +++ /dev/null @@ -1,72 +0,0 @@ -@use 'src/styles/abstracts' as *; - -.SetupGuide { - &__container { - max-width: 800px; - padding: 1.5rem 2.5rem 1.5rem 1.5rem; - flex: 1 100%; - h3 { - margin: 0 0 0.5rem; - } - - h2 { - margin: 0; - } - } - &__code { - margin-top: 2rem; - max-width: 44.5rem; - } - &__resources { - &__container { - margin-top: 2.75rem; - display: flex; - } - &__item { - margin-right: 2.375em; - text-decoration: none; - - span { - display: inline-block; - margin-top: 0.5rem; - } - &:last-child { - margin-right: 0; - } - &__icon { - margin: 0 auto; - width: 2.75rem; - height: 2.75rem; - border: 0.125rem solid $primary-color; - border-radius: $border-radius-circle; - display: flex; - align-items: center; - justify-content: center; - transition: all 0.3s ease-out; - cursor: pointer; - i { - color: $primary-color; - transition: all 0.3s ease-out; - } - &_co { - margin-left: 1px; - font-size: 1.875rem; - } - &_fullDocs { - margin-bottom: 1px; - font-size: 1.3125rem; - } - &_liveDemo { - font-size: 1.375rem; - } - &:hover { - color: #ffffff; - background-color: #1473e6; - i { - color: #ffffff; - } - } - } - } - } -} diff --git a/aim/web/ui/src/pages/Home/components/SetupGuide/SetupGuide.tsx b/aim/web/ui/src/pages/Home/components/SetupGuide/SetupGuide.tsx deleted file mode 100644 index 2d5cea9c90..0000000000 --- a/aim/web/ui/src/pages/Home/components/SetupGuide/SetupGuide.tsx +++ /dev/null @@ -1,113 +0,0 @@ -import React from 'react'; - -import CodeBlock from 'components/CodeBlock/CodeBlock'; -import { Icon, Text } from 'components/kit'; -import ErrorBoundary from 'components/ErrorBoundary/ErrorBoundary'; - -import { ANALYTICS_EVENT_KEYS } from 'config/analytics/analyticsKeysMap'; -import { DOCUMENTATIONS, GUIDES, DEMOS } from 'config/references'; - -import { trackEvent } from 'services/analytics'; - -import { ISetupGuideProps } from 'types/pages/home/components/SetupGuide/SetupGuide'; - -import './SetupGuide.scss'; - -function SetupGuide({ - askEmailSent, - onSendEmail, -}: ISetupGuideProps): React.FunctionComponentElement { - return ( - - - - ); -} - -export default React.memo(SetupGuide); diff --git a/aim/web/ui/src/pages/Metrics/components/Table/CompareSelectedRunsPopover/CompareSelectedRunsPopover.d.ts b/aim/web/ui/src/pages/Metrics/components/Table/CompareSelectedRunsPopover/CompareSelectedRunsPopover.d.ts index 3e4be72ce6..b5888c2d43 100644 --- a/aim/web/ui/src/pages/Metrics/components/Table/CompareSelectedRunsPopover/CompareSelectedRunsPopover.d.ts +++ b/aim/web/ui/src/pages/Metrics/components/Table/CompareSelectedRunsPopover/CompareSelectedRunsPopover.d.ts @@ -2,5 +2,6 @@ import { AppNameEnum } from 'services/models/explorer'; export interface ICompareSelectedRunsPopoverProps { appName: AppNameEnum; - selectedRows: { [key: string]: any }; + disabled?: boolean; + query: string; } diff --git a/aim/web/ui/src/pages/Metrics/components/Table/CompareSelectedRunsPopover/CompareSelectedRunsPopover.tsx b/aim/web/ui/src/pages/Metrics/components/Table/CompareSelectedRunsPopover/CompareSelectedRunsPopover.tsx index 12dbefb957..45034bd471 100644 --- a/aim/web/ui/src/pages/Metrics/components/Table/CompareSelectedRunsPopover/CompareSelectedRunsPopover.tsx +++ b/aim/web/ui/src/pages/Metrics/components/Table/CompareSelectedRunsPopover/CompareSelectedRunsPopover.tsx @@ -1,5 +1,4 @@ import React from 'react'; -import _ from 'lodash-es'; import { useHistory } from 'react-router-dom'; import { MenuItem, Tooltip } from '@material-ui/core'; @@ -7,6 +6,7 @@ import { MenuItem, Tooltip } from '@material-ui/core'; import ErrorBoundary from 'components/ErrorBoundary/ErrorBoundary'; import ControlPopover from 'components/ControlPopover/ControlPopover'; import { Button, Icon, Text } from 'components/kit'; +import { IconName } from 'components/kit/Icon'; import { EXPLORE_SELECTED_RUNS_CONFIG } from 'config/table/tableConfigs'; import { ANALYTICS_EVENT_KEYS } from 'config/analytics/analyticsKeysMap'; @@ -21,8 +21,9 @@ import { ICompareSelectedRunsPopoverProps } from './CompareSelectedRunsPopover.d import './CompareSelectedRunsPopover.scss'; function CompareSelectedRunsPopover({ - selectedRows, appName, + query, + disabled = false, }: ICompareSelectedRunsPopoverProps): React.FunctionComponentElement { const history = useHistory(); @@ -35,14 +36,6 @@ function CompareSelectedRunsPopover({ e.stopPropagation(); e.preventDefault(); if (value) { - const runHashArray: string[] = _.uniq([ - ...Object.values(selectedRows).map((row: any) => row.runHash), - ]); - - const query = `run.hash in [${runHashArray - .map((hash) => `"${hash}"`) - .join(',')}]`; - const search = encode({ query, advancedMode: true, @@ -61,7 +54,7 @@ function CompareSelectedRunsPopover({ history.push(path); } }, - [appName, history, selectedRows], + [appName, history, query], ); return ( @@ -80,26 +73,27 @@ function CompareSelectedRunsPopover({ variant='text' color='secondary' size='small' + disabled={disabled} onClick={onAnchorClick} className={`CompareSelectedRunsPopover__trigger ${ opened ? 'opened' : '' }`} > - + Compare )} component={
- {EXPLORE_SELECTED_RUNS_CONFIG[appName as AppNameEnum].map( + {EXPLORE_SELECTED_RUNS_CONFIG?.[appName as AppNameEnum]?.map( (item: AppNameEnum) => ( - + { - if (path === PathEnum.Home) { + if (path === PathEnum.Dashboard) { setDocumentTitle(); } else if (path !== PathEnum.Run_Detail) { setDocumentTitle(title, true); diff --git a/aim/web/ui/src/routes/routes.tsx b/aim/web/ui/src/routes/routes.tsx index 66473fd5e0..e63876d38d 100644 --- a/aim/web/ui/src/routes/routes.tsx +++ b/aim/web/ui/src/routes/routes.tsx @@ -22,8 +22,8 @@ const Bookmarks = React.lazy( /* webpackChunkName: "bookmarks" */ 'pages/Bookmarks/BookmarksContainer' ), ); -const Home = React.lazy( - () => import(/* webpackChunkName: "home" */ 'pages/Home/HomeContainer'), +const Dashboard = React.lazy( + () => import(/* webpackChunkName: "dashboard" */ 'pages/Dashboard/Dashboard'), ); const TagsContainer = React.lazy( () => import(/* webpackChunkName: "tags" */ 'pages/Tags/TagsContainer'), @@ -57,13 +57,14 @@ export interface IRoute { } const routes = { - HOME: { - path: PathEnum.Home, - component: Home, - showInSidebar: false, - displayName: null, + DASHBOARD: { + path: PathEnum.Dashboard, + component: Dashboard, + showInSidebar: true, + displayName: 'Dashboard', + icon: 'dashboard', isExact: true, - title: pageTitlesEnum.HOME, + title: pageTitlesEnum.DASHBOARD, }, RUNS: { path: PathEnum.Runs, diff --git a/aim/web/ui/src/services/NetworkService/index.ts b/aim/web/ui/src/services/NetworkService/index.ts index acf59409c7..bcc2c31547 100644 --- a/aim/web/ui/src/services/NetworkService/index.ts +++ b/aim/web/ui/src/services/NetworkService/index.ts @@ -76,7 +76,10 @@ class NetworkService { if (Array.isArray(arg)) { return [this.uri, ...arg].join('/'); } - return `${this.uri}/${arg}`; + if (arg) { + return `${this.uri}/${arg}`; + } + return `${this.uri}`; }; private createQueryParams = (queryParams: Record) => { @@ -170,10 +173,7 @@ class NetworkService { const fetchOptions: RequestInit = { method: options.method, - headers: options.headers || { - Accept: 'application/json', - 'Content-Type': 'application/json', - }, + headers: options.headers || this.getRequestHeaders(), }; if (options.headers) { @@ -212,6 +212,18 @@ class NetworkService { } this.interceptors.push(interceptor); } + + private getTimezoneOffset = (): string => { + return `${new Date().getTimezoneOffset()}`; + }; + + public getRequestHeaders = () => { + return { + Accept: 'application/json', + 'Content-Type': 'application/json', + 'X-Timezone-Offset': this.getTimezoneOffset(), + }; + }; } export * from './types'; diff --git a/aim/web/ui/src/services/api/endpoints.ts b/aim/web/ui/src/services/api/endpoints.ts index 75add03bd7..d15916afc3 100644 --- a/aim/web/ui/src/services/api/endpoints.ts +++ b/aim/web/ui/src/services/api/endpoints.ts @@ -10,6 +10,34 @@ const ENDPOINTS = { BASE: '/runs', GET: '', SEARCH: 'search', + ACTIVE: 'active', + }, + + EXPERIMENTS: { + BASE: '/experiments', + GET: '', + CREATE: '', + SEARCH: 'search', + }, + + DASHBOARDS: { + BASE: '/dashboards', + GET: '', + CREATE: '', + SEARCH: 'search', + }, + + TAGS: { + BASE: '/tags', + GET: '', + CREATE: '', + UPDATE: '', + DELETE: '', + }, + RELEASE_NOTES: { + BASE: 'https://api.github.com/repos/aimhubio/aim/releases', + GET: '', + GET_BY_TAG_NAME: 'tags', }, }; diff --git a/aim/web/ui/src/services/api/experiments/experimentsService.ts b/aim/web/ui/src/services/api/experiments/experimentsService.ts new file mode 100644 index 0000000000..ed1f736bd1 --- /dev/null +++ b/aim/web/ui/src/services/api/experiments/experimentsService.ts @@ -0,0 +1,57 @@ +import { IExperimentData } from 'modules/core/api/experimentsApi'; + +import { IApiRequest } from 'types/services/services'; + +import API from '../api'; + +const endpoints = { + EXPERIMENTS: 'experiments', + GET_EXPERIMENT_BY_ID: (id: string) => `experiments/${id}`, + UPDATE_EXPERIMENT_BY_ID: (id: string) => `experiments/${id}`, + SEARCH_EXPERIMENT: (query: string) => `experiments/search=${query}`, + GET_RUNS_BY_EXPERIMENT_ID: (id: string) => `experiments/${id}/runs`, +}; + +function getExperimentsData(): IApiRequest { + return API.get(endpoints.EXPERIMENTS); +} + +function searchExperiment(query: string): IApiRequest { + return API.get(endpoints.SEARCH_EXPERIMENT(query)); +} + +function getExperimentById(id: string): IApiRequest { + return API.get(endpoints.GET_EXPERIMENT_BY_ID(id)); +} + +function updateExperimentById( + reqBody: { name?: string; archived?: boolean }, + id: string, +): IApiRequest<{ status: string; id: string }> { + return API.put(endpoints.UPDATE_EXPERIMENT_BY_ID(id), reqBody); +} + +function createExperiment(reqBody: { + name: string; +}): IApiRequest<{ id: string; status: string }> { + return API.post(endpoints.EXPERIMENTS, reqBody); +} + +function getRunsOfExperiment( + id: string, + params: { limit: number; offset?: string } = { limit: 10 }, +) { + return API.get(endpoints.GET_RUNS_BY_EXPERIMENT_ID(id), params); +} + +const experimentsService = { + endpoints, + getExperimentsData, + searchExperiment, + getExperimentById, + updateExperimentById, + createExperiment, + getRunsOfExperiment, +}; + +export default experimentsService; diff --git a/aim/web/ui/src/services/api/runs/runsService.ts b/aim/web/ui/src/services/api/runs/runsService.ts index 557d2def73..777001f1f1 100644 --- a/aim/web/ui/src/services/api/runs/runsService.ts +++ b/aim/web/ui/src/services/api/runs/runsService.ts @@ -7,7 +7,6 @@ const endpoints = { GET_EXPERIMENTS: 'experiments', GET_RUN_INFO: (id: string) => `runs/${id}/info`, GET_RUN_LOGS: (id: string) => `runs/${id}/logs`, - GET_RUNS_BY_EXPERIMENT_ID: (id: string) => `experiments/${id}/runs`, GET_RUN_METRICS_BATCH_BY_TRACES: (id: string) => `runs/${id}/metric/get-batch`, EDIT_RUN: (id: string) => `runs/${id}`, @@ -39,13 +38,6 @@ function getRunInfo(id: string) { return API.get(endpoints.GET_RUN_INFO(id)); } -function getRunsOfExperiment( - id: string, - params: { limit: number; offset?: string } = { limit: 10 }, -) { - return API.get(endpoints.GET_RUNS_BY_EXPERIMENT_ID(id), params); -} - function getExperimentsData() { return API.get(endpoints.GET_EXPERIMENTS); } @@ -123,7 +115,6 @@ const runsService = { getRunLogs, getRunMetricsBatch, getExperimentsData, - getRunsOfExperiment, archiveRun, deleteRun, attachRunsTag, diff --git a/aim/web/ui/src/services/models/explorer/createAppModel.ts b/aim/web/ui/src/services/models/explorer/createAppModel.ts index 615918d500..a53bb822d5 100644 --- a/aim/web/ui/src/services/models/explorer/createAppModel.ts +++ b/aim/web/ui/src/services/models/explorer/createAppModel.ts @@ -197,6 +197,7 @@ import { onCopyToClipBoard } from 'utils/onCopyToClipBoard'; import { getMetricsInitialRowData } from 'utils/app/getMetricsInitialRowData'; import { getMetricHash } from 'utils/app/getMetricHash'; import { getMetricLabel } from 'utils/app/getMetricLabel'; +import saveRecentSearches from 'utils/saveRecentSearches'; import { AppDataTypeEnum, AppNameEnum } from './index'; @@ -508,6 +509,7 @@ function createAppModel(appConfig: IAppInitialConfig) { function initialize(appId: string): void { model.init(); + const state: Partial = {}; if (grouping) { state.groupingSelectOptions = []; @@ -528,6 +530,7 @@ function createAppModel(appConfig: IAppInitialConfig) { if (!appId) { setModelDefaultAppConfigData(); } + projectsService .getProjectParams(['metric']) .call() @@ -635,6 +638,7 @@ function createAppModel(appConfig: IAppInitialConfig) { if (shouldUrlUpdate) { updateURL({ configData, appName }); } + saveRecentSearches(appName, query); updateData(runData); } catch (ex: Error | any) { if (ex.name === 'AbortError') { @@ -2328,6 +2332,7 @@ function createAppModel(appConfig: IAppInitialConfig) { }, }, }); + saveRecentSearches(appName, query); if (shouldUrlUpdate) { updateURL({ configData, appName }); } @@ -5691,6 +5696,7 @@ function createAppModel(appConfig: IAppInitialConfig) { liveUpdateInstance?.start({ q: configData?.select?.query, }); + //Changed the layout/styles of the experiments and tags tables to look more like lists|| Extend the contributions section (add activity feed under the contributions) } catch (ex: Error | any) { if (ex.name === 'AbortError') { onNotificationAdd({ diff --git a/aim/web/ui/src/services/models/home/homeAppModel.ts b/aim/web/ui/src/services/models/home/homeAppModel.ts deleted file mode 100644 index 617013bcd7..0000000000 --- a/aim/web/ui/src/services/models/home/homeAppModel.ts +++ /dev/null @@ -1,108 +0,0 @@ -import projectsService from 'services/api/projects/projectsService'; - -import exceptionHandler from 'utils/app/exceptionHandler'; -import onNotificationAdd from 'utils/app/onNotificationAdd'; -import onNotificationDelete from 'utils/app/onNotificationDelete'; -import { getItem, setItem } from 'utils/storage'; - -import createModel from '../model'; - -const model = createModel({}); - -let activityRequestRef: { - call: (exceptionHandler: (detail: any) => void) => Promise; - abort: () => void; -}; - -function getActivityData() { - const { call, abort } = projectsService.fetchActivityData(); - return { - call: () => - call((detail: any) => { - exceptionHandler({ detail, model }); - }).then((data: any) => { - model.setState({ - activityData: data, - }); - }), - abort, - }; -} - -function onSendEmail(data: object): Promise { - return fetch('https://formspree.io/f/xeqvdval', { - method: 'Post', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify(data), - }) - .then(async (res) => await res.json()) - .then((data) => { - if (data.ok) { - onNotificationAdd({ - notification: { - severity: 'success', - messages: ['Email Successfully sent'], - id: Date.now(), - }, - model, - }); - model.setState({ askEmailSent: true }); - setItem('askEmailSent', true); - } else { - onNotificationAdd({ - notification: { - severity: 'error', - messages: ['Please enter valid email'], - id: Date.now(), - }, - model, - }); - } - return data; - }); -} -function initialize() { - model.init(); - activityRequestRef = getActivityData(); - try { - activityRequestRef.call((detail) => { - exceptionHandler({ detail, model }); - }); - } catch (err: any) { - onNotificationAdd({ - notification: { - messages: [err.message], - severity: 'error', - id: Date.now(), - }, - model, - }); - } - const isAskEmailSent: boolean = getItem('askEmailSent') === 'true'; - model.setState({ askEmailSent: isAskEmailSent }); -} - -function onHomeNotificationDelete(id: number) { - onNotificationDelete({ - model, - id, - }); -} - -function destroy() { - model.destroy(); - activityRequestRef.abort(); -} - -const homeAppModel = { - ...model, - destroy, - initialize, - getActivityData, - onSendEmail, - onHomeNotificationDelete, -}; - -export default homeAppModel; diff --git a/aim/web/ui/src/services/models/imagesExplore/imagesExploreAppModel.ts b/aim/web/ui/src/services/models/imagesExplore/imagesExploreAppModel.ts index deaf04af09..8b523b376b 100644 --- a/aim/web/ui/src/services/models/imagesExplore/imagesExploreAppModel.ts +++ b/aim/web/ui/src/services/models/imagesExplore/imagesExploreAppModel.ts @@ -94,6 +94,7 @@ import { onCopyToClipBoard } from 'utils/onCopyToClipBoard'; import getFilteredRow from 'utils/app/getFilteredRow'; import { getMetricHash } from 'utils/app/getMetricHash'; import onRunsTagsChange from 'utils/app/onRunsTagsChange'; +import saveRecentSearches from 'utils/saveRecentSearches'; import createModel from '../model'; import { AppNameEnum } from '../explorer'; @@ -418,6 +419,7 @@ function getImagesData( if (shouldUrlUpdate) { updateURL(configData); } + saveRecentSearches(AppNameEnum.IMAGES, query!); } catch (ex: Error | any) { if (ex.name === 'AbortError') { // Abort Error diff --git a/aim/web/ui/src/services/models/runs/runDetailAppModel.ts b/aim/web/ui/src/services/models/runs/runDetailAppModel.ts index 07116aae88..deef338f06 100644 --- a/aim/web/ui/src/services/models/runs/runDetailAppModel.ts +++ b/aim/web/ui/src/services/models/runs/runDetailAppModel.ts @@ -4,6 +4,7 @@ import { IRunBatch } from 'pages/RunDetail/types'; import runsService from 'services/api/runs/runsService'; import * as analytics from 'services/analytics'; +import experimentsService from 'services/api/experiments/experimentsService'; import { INotification } from 'types/components/NotificationContainer/NotificationContainer'; import { IApiRequest } from 'types/services/services'; @@ -94,7 +95,7 @@ function getRunsOfExperiment( if (getRunsOfExperimentRequestRef) { getRunsOfExperimentRequestRef.abort(); } - getRunsOfExperimentRequestRef = runsService.getRunsOfExperiment( + getRunsOfExperimentRequestRef = experimentsService.getRunsOfExperiment( runHash, params, ); diff --git a/aim/web/ui/src/styles/abstracts/_variables.scss b/aim/web/ui/src/styles/abstracts/_variables.scss index 68e893a49f..458b4cac55 100644 --- a/aim/web/ui/src/styles/abstracts/_variables.scss +++ b/aim/web/ui/src/styles/abstracts/_variables.scss @@ -60,6 +60,7 @@ $pico-30: #b5b9c5; $pico-20: #d2d4dc; $pico-10: #e8eaee; $pico-5: #f4f4f6; +$pico-2: #fafafb; $cuddle-110: #90afda; $cuddle-70: #d1ddef; @@ -90,16 +91,18 @@ $error-color-10: #fdeded; $error-color-5: #f7f1f5; // border +$border-width-main: 0.0625rem solid; $border-color-main: $primary-color-10; -$border-main: 0.0625rem solid $border-color-main; -$border-separator: 0.0625rem solid $primary-color-20; -$border-main-darker: 0.0625rem solid $primary-color-40; -$border-main-active: 0.0625rem solid $primary-color-50; -$border-grey: 0.0625rem solid $cuddle-50; -$border-grey-light: 0.0625rem solid $cuddle-30; -$border-grey-lighter: 0.0625rem solid $cuddle-20; -$border-transparent: 0.0625rem solid $transparent; -$border-dark: 1px solid $pico-30; +$border-main: $border-width-main $border-color-main; +$border-separator: $border-width-main $primary-color-20; +$border-main-darker: $border-width-main $primary-color-40; +$border-main-active: $border-width-main $primary-color-50; +$border-grey: $border-width-main $cuddle-50; +$border-grey-light: $border-width-main $cuddle-30; +$border-grey-lighter: $border-width-main $cuddle-20; +$border-transparent: $border-width-main $transparent; +$border-dark: $border-width-main $pico-30; +$border-dark-lighter: $border-width-main $pico-20; $border-radius-main: 0.375rem; $radius-main: 0.375rem; @@ -142,6 +145,7 @@ $font-900: 850; // space $space-unit: 1rem; +$space-xxxxxs: $space-unit * 0.0625; $space-xxxxs: $space-unit * 0.125; $space-xxxs: $space-unit * 0.25; $space-xxs: $space-unit * 0.375; diff --git a/aim/web/ui/src/styles/components/_inputs.scss b/aim/web/ui/src/styles/components/_inputs.scss index 22f64316aa..87493792ab 100644 --- a/aim/web/ui/src/styles/components/_inputs.scss +++ b/aim/web/ui/src/styles/components/_inputs.scss @@ -16,7 +16,7 @@ body { } .Mui-disabled { - color: $text-color-50; + color: $text-color-50 !important; .MuiOutlinedInput-notchedOutline { border-color: $cuddle-70 !important; } diff --git a/aim/web/ui/src/styles/components/_tooltip.scss b/aim/web/ui/src/styles/components/_tooltip.scss index 59864c23f1..720d27a167 100644 --- a/aim/web/ui/src/styles/components/_tooltip.scss +++ b/aim/web/ui/src/styles/components/_tooltip.scss @@ -4,3 +4,13 @@ max-height: $tooltip-max-height; overflow: hidden; } + +.MuiTooltip-tooltipPlacementTop, +.MuiTooltip-tooltipPlacementBottom { + margin: 6px 0; +} + +.MuiTooltip-tooltipPlacementLeft, +.MuiTooltip-tooltipPlacementRight { + margin: 0 6px; +} diff --git a/aim/web/ui/src/types/components/IllustrationBlock/IllustrationBlock.d.ts b/aim/web/ui/src/types/components/IllustrationBlock/IllustrationBlock.d.ts index afeea5a8ae..b1e1514996 100644 --- a/aim/web/ui/src/types/components/IllustrationBlock/IllustrationBlock.d.ts +++ b/aim/web/ui/src/types/components/IllustrationBlock/IllustrationBlock.d.ts @@ -19,4 +19,5 @@ export interface IIllustrationBlockProps { | 'tags'; type?: IllustrationsEnum; size?: 'small' | 'medium' | 'large' | 'xLarge'; + showImage?: boolean; } diff --git a/aim/web/ui/src/types/components/Table/Table.d.ts b/aim/web/ui/src/types/components/Table/Table.d.ts index 4410b18455..f98a50b334 100644 --- a/aim/web/ui/src/types/components/Table/Table.d.ts +++ b/aim/web/ui/src/types/components/Table/Table.d.ts @@ -79,6 +79,7 @@ export interface ITableProps { disableRowClick?: boolean; columnsColorScales?: { [key: string]: boolean }; visualizationElementType?: VisualizationElementEnum; + noColumnActions?: boolean; } export interface ITableRef { @@ -104,4 +105,5 @@ export interface IIllustrationConfig { type?: IIllustrationBlockProps['type']; title?: IIllustrationBlockProps['title']; content?: IIllustrationBlockProps['content']; + showImage?: IIllustrationBlockProps['showImage']; } diff --git a/aim/web/ui/src/types/core/AimObjects/CustomObject.d.ts b/aim/web/ui/src/types/core/AimObjects/CustomObject.d.ts index 2c9649f958..f699bab3b7 100644 --- a/aim/web/ui/src/types/core/AimObjects/CustomObject.d.ts +++ b/aim/web/ui/src/types/core/AimObjects/CustomObject.d.ts @@ -6,8 +6,8 @@ import { Params, RunProps } from './Run'; export interface BaseRangeInfo { record_range_used: Tuple; record_range_total: Tuple; - index_range_used: ?Tuple; - index_range_total: ?Tuple; + index_range_used: Tuple | null; + index_range_total: Tuple | null; } export interface ObjectSequenceBase extends BaseRangeInfo, SequenceBaseView { diff --git a/aim/web/ui/src/types/core/AimObjects/Run.d.ts b/aim/web/ui/src/types/core/AimObjects/Run.d.ts index 0b82095b6e..ea2c9af409 100644 --- a/aim/web/ui/src/types/core/AimObjects/Run.d.ts +++ b/aim/web/ui/src/types/core/AimObjects/Run.d.ts @@ -16,12 +16,12 @@ export interface Experiment { export interface RunProps { hash: string; - name: ?string; - description: ?string; - experiment: ?Experiment; - tags: ?Array; + name: string | null; + description: string | null; + experiment: Experiment | null; + tags: Array | null; creation_time: number; - end_time: ?number; + end_time: number | null; } export interface RunInfo { diff --git a/aim/web/ui/src/types/core/AimObjects/Sequence.d.ts b/aim/web/ui/src/types/core/AimObjects/Sequence.d.ts index d17cd93ee5..2f175569bc 100644 --- a/aim/web/ui/src/types/core/AimObjects/Sequence.d.ts +++ b/aim/web/ui/src/types/core/AimObjects/Sequence.d.ts @@ -22,14 +22,14 @@ export interface MetricsBaseView extends SequenceBaseView { } export interface SequenceAlignedView extends SequenceBase { - x_axis_values: ?EncodedNumpyArray; - x_axis_iters: ?EncodedNumpyArray; + x_axis_values: EncodedNumpyArray | null; + x_axis_iters: EncodedNumpyArray | null; } export interface SequenceFullView extends SequenceAlignedView { slice: [number, number, number]; - values: ?EncodedNumpyArray; + values: EncodedNumpyArray | null; epochs: Array; iters: Array; - timestamps: ?EncodedNumpyArray; + timestamps: EncodedNumpyArray | null; } diff --git a/aim/web/ui/src/types/core/enums/index.ts b/aim/web/ui/src/types/core/enums/index.ts index 171f1521f7..3e7b068d35 100644 --- a/aim/web/ui/src/types/core/enums/index.ts +++ b/aim/web/ui/src/types/core/enums/index.ts @@ -19,3 +19,8 @@ export enum AimObjectDepths { Step = 2, Index = 3, } + +/** + * Sequence names as union type + */ +export type SequenceTypesUnion = `${SequenceTypesEnum}`; diff --git a/aim/web/ui/src/types/pages/home/Home.d.ts b/aim/web/ui/src/types/pages/home/Home.d.ts deleted file mode 100644 index 1f763f9b71..0000000000 --- a/aim/web/ui/src/types/pages/home/Home.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { INotification } from 'types/components/NotificationContainer/NotificationContainer'; - -export interface IHomeProps { - activityData: IActivityData[]; - notifyData: INotification[]; - askEmailSent: boolean; - onSendEmail: (data: object) => Promise; - onNotificationDelete: (id: number) => void; -} - -export interface IActivityData { - activity_map: { [key: string]: number }; - num_experiments: number; - num_runs: number; -} diff --git a/aim/web/ui/src/types/pages/home/components/Activity/Activity.d.ts b/aim/web/ui/src/types/pages/home/components/Activity/Activity.d.ts deleted file mode 100644 index 138306a326..0000000000 --- a/aim/web/ui/src/types/pages/home/components/Activity/Activity.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { IActivityData } from 'types/pages/home/components/Home'; - -export interface IActivityProps { - activityData: IActivityData; -} diff --git a/aim/web/ui/src/types/pages/home/components/AskForm/AskForm.d.ts b/aim/web/ui/src/types/pages/home/components/AskForm/AskForm.d.ts deleted file mode 100644 index 316b5d73be..0000000000 --- a/aim/web/ui/src/types/pages/home/components/AskForm/AskForm.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { IHomeProps } from 'types/pages/home/Home'; - -export interface IAskFormProps { - onSendEmail: IHomeProps['onSendEmail']; -} diff --git a/aim/web/ui/src/types/pages/home/components/SetupGuide/SetupGuide.d.ts b/aim/web/ui/src/types/pages/home/components/SetupGuide/SetupGuide.d.ts deleted file mode 100644 index 1883431613..0000000000 --- a/aim/web/ui/src/types/pages/home/components/SetupGuide/SetupGuide.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { IHomeProps } from '../../Home'; - -export interface ISetupGuideProps { - askEmailSent: IHomeProps['askEmailSent']; - onSendEmail: IHomeProps['onSendEmail']; -} diff --git a/aim/web/ui/src/utils/saveRecentSearches.ts b/aim/web/ui/src/utils/saveRecentSearches.ts new file mode 100644 index 0000000000..f2977ab159 --- /dev/null +++ b/aim/web/ui/src/utils/saveRecentSearches.ts @@ -0,0 +1,35 @@ +import { getItem, setItem } from './storage'; + +/** + * Save last 3 successful searches to local storage + * @param appName - name of the explorer + * @param query - search query + * @example saveRecentSearches("metrics", "(run.active == False) and ((metric.name == "best_loss") or (metric.name == "bleu"))") + * @returns void + */ +function saveRecentSearches(appName: string, query: string): void { + if (query) { + // get recent searches from local storage + const recentSearches = JSON.parse(getItem('recentSearches') || '[]'); + + // find if search already exists + const searchIndex: number = recentSearches.findIndex( + (search: { explorer: string; query: string }) => + search.explorer === appName && search.query === query, + ); + + // skip adding search if it already exists + if (searchIndex !== -1) { + recentSearches.splice(searchIndex, 1); + } else if (recentSearches.length === 3) { + // remove first element if array length is 3 + recentSearches.shift(); + } + // push new search to the start of array + recentSearches.unshift({ explorer: appName, query }); + // save recent searches to local storage + setItem('recentSearches', JSON.stringify(recentSearches)); + } +} + +export default saveRecentSearches;