@esolve/ng-esolve-connect 0.15.2 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/manufacturers/esolve-manufacturer-image-size.type.mjs +2 -0
- package/esm2020/lib/manufacturers/esolve-manufacturer.model.mjs +30 -13
- package/esm2020/lib/manufacturers/esolve-manufacturers.service.mjs +2 -2
- package/esm2020/lib/manufacturers/index.mjs +7 -2
- package/esm2020/lib/media/esolve-media.service.mjs +3 -3
- package/esm2020/lib/news/esolve-news-article-options.interface.mjs +1 -1
- package/esm2020/lib/news/esolve-news-article-record.interface.mjs +1 -1
- package/esm2020/lib/news/esolve-news-article.model.mjs +65 -13
- package/esm2020/lib/news/esolve-news.service.mjs +56 -46
- package/esm2020/lib/news/index.mjs +1 -3
- package/esm2020/lib/ranges/esolve-range.model.mjs +35 -14
- package/esm2020/lib/ranges/esolve-ranges.service.mjs +2 -2
- package/esm2020/lib/shared/assets/esolve-asset-list.type.mjs +2 -0
- package/esm2020/lib/shared/assets/esolve-asset-options.interface.mjs +2 -0
- package/esm2020/lib/shared/assets/esolve-asset-record.interface.mjs +2 -0
- package/esm2020/lib/shared/assets/esolve-asset.model.mjs +58 -0
- package/esm2020/lib/shared/assets/esolve-assets.service.mjs +93 -0
- package/esm2020/lib/shared/assets/index.mjs +11 -2
- package/esm2020/lib/stock/esolve-stock-item-base.model.mjs +5 -5
- package/esm2020/lib/tags/esolve-tag-options.interface.mjs +2 -0
- package/esm2020/lib/tags/esolve-tag-phrase-match-mode.type.mjs +2 -0
- package/esm2020/lib/tags/esolve-tag-record.interface.mjs +1 -1
- package/esm2020/lib/tags/esolve-tag.model.mjs +32 -6
- package/esm2020/lib/tags/esolve-tags.service.mjs +76 -0
- package/esm2020/lib/tags/index.mjs +9 -2
- package/esm2020/lib/topics/esolve-topic.model.mjs +12 -6
- package/esm2020/lib/topics/esolve-topic.service.mjs +2 -2
- package/fesm2015/esolve-ng-esolve-connect.mjs +1778 -1427
- package/fesm2015/esolve-ng-esolve-connect.mjs.map +1 -1
- package/fesm2020/esolve-ng-esolve-connect.mjs +1762 -1423
- package/fesm2020/esolve-ng-esolve-connect.mjs.map +1 -1
- package/lib/manufacturers/esolve-manufacturer-image-size.type.d.ts +1 -0
- package/lib/manufacturers/esolve-manufacturer.model.d.ts +4 -3
- package/lib/manufacturers/index.d.ts +2 -1
- package/lib/news/esolve-news-article-options.interface.d.ts +1 -0
- package/lib/news/esolve-news-article-record.interface.d.ts +8 -4
- package/lib/news/esolve-news-article.model.d.ts +13 -2
- package/lib/news/esolve-news.service.d.ts +2 -1
- package/lib/news/index.d.ts +0 -2
- package/lib/ranges/esolve-range.model.d.ts +2 -2
- package/lib/shared/assets/esolve-asset-list.type.d.ts +3 -0
- package/lib/shared/assets/esolve-asset-options.interface.d.ts +12 -0
- package/lib/shared/assets/esolve-asset-record.interface.d.ts +26 -0
- package/lib/shared/assets/esolve-asset.model.d.ts +28 -0
- package/lib/shared/assets/esolve-assets.service.d.ts +19 -0
- package/lib/shared/assets/index.d.ts +6 -1
- package/lib/tags/esolve-tag-options.interface.d.ts +6 -0
- package/lib/tags/esolve-tag-phrase-match-mode.type.d.ts +1 -0
- package/lib/tags/esolve-tag-record.interface.d.ts +1 -0
- package/lib/tags/esolve-tag.model.d.ts +14 -3
- package/lib/tags/esolve-tags.service.d.ts +22 -0
- package/lib/tags/index.d.ts +4 -1
- package/lib/topics/esolve-topic.model.d.ts +1 -1
- package/package.json +1 -1
- package/esm2020/lib/news/esolve-news-manufacturer-record.interface.mjs +0 -2
- package/esm2020/lib/news/esolve-news-range-record.interface.mjs +0 -2
- package/lib/news/esolve-news-manufacturer-record.interface.d.ts +0 -8
- package/lib/news/esolve-news-range-record.interface.d.ts +0 -9
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare type EsolveManufacturerImageSize = 'small' | 'thumb' | 'tiny' | 'original';
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { EsolveSeoInfo } from '../shared/seo/esolve-seo-info.model';
|
|
2
2
|
import { EsolveSeoDetails } from '../shared/seo/esolve-seo-details.interface';
|
|
3
|
+
import { EsolveManufacturerRecord } from './esolve-manufacturer-record.interface';
|
|
4
|
+
import { EsolveManufacturerImageSize } from './esolve-manufacturer-image-size.type';
|
|
3
5
|
export declare class EsolveManufacturer implements EsolveSeoDetails {
|
|
4
6
|
id: number;
|
|
5
7
|
manufacturer: string;
|
|
@@ -11,11 +13,10 @@ export declare class EsolveManufacturer implements EsolveSeoDetails {
|
|
|
11
13
|
featured: boolean;
|
|
12
14
|
image_name: string;
|
|
13
15
|
seo_details: EsolveSeoInfo;
|
|
14
|
-
private image_path;
|
|
15
16
|
get original_image_src(): string;
|
|
16
17
|
get small_image_src(): string;
|
|
17
18
|
get thumbnail_image_src(): string;
|
|
18
19
|
get tiny_image_src(): string;
|
|
19
|
-
constructor(
|
|
20
|
-
getImagePath(image_size:
|
|
20
|
+
constructor(record?: Partial<EsolveManufacturerRecord>);
|
|
21
|
+
getImagePath(image_size: EsolveManufacturerImageSize): string;
|
|
21
22
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export * from './esolve-manufacturer.
|
|
1
|
+
export * from './esolve-manufacturer-image-size.type';
|
|
2
2
|
export * from './esolve-manufacturer-record.interface';
|
|
3
3
|
export * from './esolve-manufacturer-options.interface';
|
|
4
|
+
export * from './esolve-manufacturer.model';
|
|
4
5
|
export * from './esolve-manufacturers.service';
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { EsolveTagRecord } from '../tags';
|
|
2
|
+
import { EsolveTopicRecord } from '../topics';
|
|
3
|
+
import { EsolveManufacturerRecord } from '../manufacturers';
|
|
4
|
+
import { EsolveRangeRecord } from '../ranges';
|
|
1
5
|
import { EsolveNewsGroupRecord } from './esolve-news-group-record.interface';
|
|
2
|
-
import { EsolveNewsRangeRecord } from './esolve-news-range-record.interface';
|
|
3
|
-
import { EsolveNewsManufacturerRecord } from './esolve-news-manufacturer-record.interface';
|
|
4
6
|
import { EsolveNewsArticleAuthorRecord } from './esolve-news-article-author-record.interface';
|
|
5
7
|
export interface EsolveNewsArticleRecord {
|
|
6
8
|
id: number;
|
|
@@ -11,9 +13,9 @@ export interface EsolveNewsArticleRecord {
|
|
|
11
13
|
news_group_id: number;
|
|
12
14
|
news_group: EsolveNewsGroupRecord;
|
|
13
15
|
manufacturers_id: number;
|
|
14
|
-
manufacturer:
|
|
16
|
+
manufacturer: EsolveManufacturerRecord;
|
|
15
17
|
ranges_id: number;
|
|
16
|
-
range:
|
|
18
|
+
range: EsolveRangeRecord;
|
|
17
19
|
userid: number;
|
|
18
20
|
user: EsolveNewsArticleAuthorRecord;
|
|
19
21
|
article: string;
|
|
@@ -24,4 +26,6 @@ export interface EsolveNewsArticleRecord {
|
|
|
24
26
|
image: string;
|
|
25
27
|
featured: boolean;
|
|
26
28
|
modified: string;
|
|
29
|
+
topics: EsolveTopicRecord[];
|
|
30
|
+
tags: EsolveTagRecord[];
|
|
27
31
|
}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { EsolveSeoInfo } from '../shared/seo/esolve-seo-info.model';
|
|
2
2
|
import { EsolveSeoDetails } from '../shared/seo/esolve-seo-details.interface';
|
|
3
|
+
import { EsolveTag } from '../tags';
|
|
4
|
+
import { EsolveTopic } from '../topics';
|
|
5
|
+
import { EsolveManufacturer } from '../manufacturers';
|
|
6
|
+
import { EsolveRange } from '../ranges';
|
|
7
|
+
import { EsolveNewsGroup } from './esolve-news-group.model';
|
|
3
8
|
import { EsolveNewsArticleAuthor } from './esolve-news-article-author.model';
|
|
9
|
+
import { EsolveNewsArticleRecord } from './esolve-news-article-record.interface';
|
|
4
10
|
export declare class EsolveNewsArticle implements EsolveSeoDetails {
|
|
5
11
|
id: number;
|
|
6
12
|
title: string;
|
|
@@ -11,7 +17,12 @@ export declare class EsolveNewsArticle implements EsolveSeoDetails {
|
|
|
11
17
|
active: boolean;
|
|
12
18
|
image: string;
|
|
13
19
|
featured: boolean;
|
|
14
|
-
|
|
20
|
+
topics: EsolveTopic[];
|
|
21
|
+
tags: EsolveTag[];
|
|
22
|
+
author?: EsolveNewsArticleAuthor;
|
|
23
|
+
group?: EsolveNewsGroup;
|
|
24
|
+
manufacturer?: EsolveManufacturer;
|
|
25
|
+
range?: EsolveRange;
|
|
15
26
|
seo_details: EsolveSeoInfo;
|
|
16
|
-
constructor(
|
|
27
|
+
constructor(record?: Partial<EsolveNewsArticleRecord>);
|
|
17
28
|
}
|
|
@@ -11,10 +11,11 @@ export declare class EsolveNewsService {
|
|
|
11
11
|
private http;
|
|
12
12
|
constructor(config: EsolveConnectConfig, http: HttpClient);
|
|
13
13
|
getNewsArticle(identifier: string): Observable<EsolveNewsArticle>;
|
|
14
|
-
getNewsArticles(options
|
|
14
|
+
getNewsArticles(options?: EsolveNewsArticleOptions): Observable<EsolveNewsArticleList>;
|
|
15
15
|
getNewsGroups(): Observable<EsolveNewsGroup[]>;
|
|
16
16
|
private processNewsArticle;
|
|
17
17
|
private getNewsRecords;
|
|
18
|
+
private parseOptions;
|
|
18
19
|
static ɵfac: i0.ɵɵFactoryDeclaration<EsolveNewsService, never>;
|
|
19
20
|
static ɵprov: i0.ɵɵInjectableDeclaration<EsolveNewsService>;
|
|
20
21
|
}
|
package/lib/news/index.d.ts
CHANGED
|
@@ -6,6 +6,4 @@ export * from './esolve-news-article-list.model';
|
|
|
6
6
|
export * from './esolve-news-article-author.model';
|
|
7
7
|
export * from './esolve-news-article-author-record.interface';
|
|
8
8
|
export * from './esolve-news-article-options.interface';
|
|
9
|
-
export * from './esolve-news-range-record.interface';
|
|
10
|
-
export * from './esolve-news-manufacturer-record.interface';
|
|
11
9
|
export * from './esolve-news.service';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { EsolveSeoInfo } from '../shared/seo/esolve-seo-info.model';
|
|
2
2
|
import { EsolveSeoDetails } from '../shared/seo/esolve-seo-details.interface';
|
|
3
|
+
import { EsolveRangeRecord } from './esolve-range-record.interface';
|
|
3
4
|
export declare class EsolveRange implements EsolveSeoDetails {
|
|
4
5
|
id: number;
|
|
5
6
|
range: string;
|
|
@@ -12,8 +13,7 @@ export declare class EsolveRange implements EsolveSeoDetails {
|
|
|
12
13
|
sort_priority: number;
|
|
13
14
|
image_name: string;
|
|
14
15
|
seo_details: EsolveSeoInfo;
|
|
15
|
-
private image_path;
|
|
16
16
|
get image_src(): string;
|
|
17
|
-
constructor(
|
|
17
|
+
constructor(record?: Partial<EsolveRangeRecord>);
|
|
18
18
|
getImagePath(): string;
|
|
19
19
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EsolveAssetType } from './esolve-asset-type.type';
|
|
2
|
+
export interface EsolveAssetOptions {
|
|
3
|
+
category_id?: string;
|
|
4
|
+
subcategory_id?: number;
|
|
5
|
+
manufacturers_id?: number;
|
|
6
|
+
ranges_id?: number;
|
|
7
|
+
asset_type?: EsolveAssetType;
|
|
8
|
+
asset_category?: string;
|
|
9
|
+
asset_sub_category?: string;
|
|
10
|
+
rows?: number;
|
|
11
|
+
page?: number;
|
|
12
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { EsolveCategoryTreeItemRecord } from '../../category-tree';
|
|
2
|
+
import { EsolveManufacturerRecord } from '../../manufacturers';
|
|
3
|
+
import { EsolveRangeRecord } from '../../ranges';
|
|
4
|
+
import { EsolveTagRecord } from '../../tags';
|
|
5
|
+
import { EsolveTopicRecord } from '../../topics';
|
|
6
|
+
import { EsolveAssetType } from './esolve-asset-type.type';
|
|
7
|
+
export interface EsolveAssetRecord {
|
|
8
|
+
id: number;
|
|
9
|
+
src: string;
|
|
10
|
+
name: string;
|
|
11
|
+
type: EsolveAssetType;
|
|
12
|
+
description: string;
|
|
13
|
+
document_number?: string;
|
|
14
|
+
document_type?: string;
|
|
15
|
+
area_of_application?: string;
|
|
16
|
+
asset_category?: string;
|
|
17
|
+
asset_sub_category?: string;
|
|
18
|
+
sort_priority?: number;
|
|
19
|
+
created?: string;
|
|
20
|
+
category?: EsolveCategoryTreeItemRecord;
|
|
21
|
+
subcategory?: EsolveCategoryTreeItemRecord;
|
|
22
|
+
manufacturer?: EsolveManufacturerRecord;
|
|
23
|
+
range?: EsolveRangeRecord;
|
|
24
|
+
topics?: EsolveTopicRecord[];
|
|
25
|
+
tags?: EsolveTagRecord[];
|
|
26
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { EsolveCategoryTreeItem } from '../../category-tree';
|
|
2
|
+
import { EsolveManufacturer } from '../../manufacturers';
|
|
3
|
+
import { EsolveRange } from '../../ranges';
|
|
4
|
+
import { EsolveTag } from '../../tags';
|
|
5
|
+
import { EsolveTopic } from '../../topics';
|
|
6
|
+
import { EsolveAssetType } from './esolve-asset-type.type';
|
|
7
|
+
import { EsolveAssetRecord } from './esolve-asset-record.interface';
|
|
8
|
+
export declare class EsolveAsset {
|
|
9
|
+
id: number;
|
|
10
|
+
src: string;
|
|
11
|
+
name: string;
|
|
12
|
+
type?: EsolveAssetType;
|
|
13
|
+
description: string;
|
|
14
|
+
document_number: string;
|
|
15
|
+
document_type: string;
|
|
16
|
+
area_of_application: string;
|
|
17
|
+
asset_category: string;
|
|
18
|
+
asset_sub_category: string;
|
|
19
|
+
sort_priority: number;
|
|
20
|
+
created?: string;
|
|
21
|
+
category?: EsolveCategoryTreeItem;
|
|
22
|
+
subcategory?: EsolveCategoryTreeItem;
|
|
23
|
+
manufacturer?: EsolveManufacturer;
|
|
24
|
+
range?: EsolveRange;
|
|
25
|
+
topics: EsolveTopic[];
|
|
26
|
+
tags: EsolveTag[];
|
|
27
|
+
constructor(record: EsolveAssetRecord);
|
|
28
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { EsolveConnectConfig } from '../../esolve-connect.config';
|
|
4
|
+
import { EsolveAssetOptions } from './esolve-asset-options.interface';
|
|
5
|
+
import { EsolveAsset } from './esolve-asset.model';
|
|
6
|
+
import { EsolveAssetList } from './esolve-asset-list.type';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class EsolveAssetsService {
|
|
9
|
+
private config;
|
|
10
|
+
private http;
|
|
11
|
+
constructor(config: EsolveConnectConfig, http: HttpClient);
|
|
12
|
+
getAsset(id: number): Observable<EsolveAsset>;
|
|
13
|
+
getAssets(options?: EsolveAssetOptions): Observable<EsolveAssetList>;
|
|
14
|
+
private processAsset;
|
|
15
|
+
private parseOptions;
|
|
16
|
+
private getAssetRecords;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EsolveAssetsService, never>;
|
|
18
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<EsolveAssetsService>;
|
|
19
|
+
}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
export * from './esolve-asset-list.type';
|
|
2
|
+
export * from './esolve-asset-type.type';
|
|
1
3
|
export * from './esolve-linked-asset-record.interface';
|
|
4
|
+
export * from './esolve-asset-options.interface';
|
|
5
|
+
export * from './esolve-asset-record.interface';
|
|
2
6
|
export * from './esolve-linked-asset.model';
|
|
3
|
-
export * from './esolve-asset
|
|
7
|
+
export * from './esolve-asset.model';
|
|
8
|
+
export * from './esolve-assets.service';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare type EsolveTagPhraseMatchMode = 'contains' | 'not_equals' | 'equals';
|
|
@@ -1,7 +1,18 @@
|
|
|
1
|
+
import { EsolveTagRecord } from './esolve-tag-record.interface';
|
|
1
2
|
export declare class EsolveTag {
|
|
2
3
|
id: number;
|
|
3
|
-
|
|
4
|
-
|
|
4
|
+
phrase: string;
|
|
5
|
+
weight: number;
|
|
5
6
|
description: string;
|
|
6
|
-
|
|
7
|
+
image_name: string;
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated To be removed in the future. Use `EsolveTag.phrase` instead
|
|
10
|
+
*/
|
|
11
|
+
get tag_phrase(): string;
|
|
12
|
+
/**
|
|
13
|
+
* @deprecated To be removed in the future. Use `EsolveTag.weight` instead
|
|
14
|
+
*/
|
|
15
|
+
get tag_weight(): number;
|
|
16
|
+
constructor(record?: Partial<EsolveTagRecord>);
|
|
17
|
+
getImagePath(): string;
|
|
7
18
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { EsolveConnectConfig } from '../esolve-connect.config';
|
|
4
|
+
import { EsolveTag } from './esolve-tag.model';
|
|
5
|
+
import { EsolveTagOptions } from './esolve-tag-options.interface';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class EsolveTagsService {
|
|
8
|
+
private config;
|
|
9
|
+
private http;
|
|
10
|
+
constructor(config: EsolveConnectConfig, http: HttpClient);
|
|
11
|
+
/**
|
|
12
|
+
* Retrieves active topics from the list of topic ID's. Note that inactive or expired
|
|
13
|
+
* topics will not be retrieved.
|
|
14
|
+
*
|
|
15
|
+
* @param options Tag filters
|
|
16
|
+
*/
|
|
17
|
+
getTags(options?: EsolveTagOptions): Observable<EsolveTag[]>;
|
|
18
|
+
private parseOptions;
|
|
19
|
+
private processTags;
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EsolveTagsService, never>;
|
|
21
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<EsolveTagsService>;
|
|
22
|
+
}
|
package/lib/tags/index.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW5ld3MtbWFudWZhY3R1cmVyLXJlY29yZC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL25ld3MvZXNvbHZlLW5ld3MtbWFudWZhY3R1cmVyLXJlY29yZC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRXNvbHZlTmV3c01hbnVmYWN0dXJlclJlY29yZCB7XHJcbiAgICBpZDogbnVtYmVyO1xyXG4gICAgbWFudWZhY3R1cmVyOiBzdHJpbmc7XHJcbiAgICBzZWZfbWFudWZhY3R1cmVyOiBzdHJpbmc7XHJcbiAgICBzb3J0X3ByaW9yaXR5OiBudW1iZXI7XHJcbiAgICBpc19hY3RpdmU6IGJvb2xlYW47XHJcbiAgICBmZWF0dXJlZDogYm9vbGVhbjtcclxufVxyXG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW5ld3MtcmFuZ2UtcmVjb3JkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvbmV3cy9lc29sdmUtbmV3cy1yYW5nZS1yZWNvcmQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEVzb2x2ZU5ld3NSYW5nZVJlY29yZCB7XHJcbiAgICBpZDogbnVtYmVyO1xyXG4gICAgcmFuZ2U6IHN0cmluZztcclxuICAgIHNlZl9yYW5nZTogc3RyaW5nO1xyXG4gICAgbWFudWZhY3R1cmVyc19pZDogbnVtYmVyO1xyXG4gICAgc29ydF9wcmlvcml0eTogbnVtYmVyO1xyXG4gICAgaXNfYWN0aXZlOiBib29sZWFuO1xyXG4gICAgZmVhdHVyZWQ6IGJvb2xlYW47XHJcbn1cclxuIl19
|