@esolve/ng-esolve-connect 0.19.0 → 0.20.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/locations/esolve-locations.service.mjs +10 -3
- package/esm2020/lib/ng-esolve-connect.module.mjs +3 -3
- package/esm2020/media/classes/esolve-heading.model.mjs +7 -0
- package/esm2020/media/classes/esolve-media-article.model.mjs +54 -0
- package/esm2020/media/classes/esolve-media-group.model.mjs +15 -0
- package/esm2020/media/classes/esolve-media-layout-section.model.mjs +18 -0
- package/esm2020/media/classes/index.mjs +5 -0
- package/esm2020/media/components/index.mjs +3 -0
- package/esm2020/media/components/media-layout/esolve-media-layout.component.mjs +41 -0
- package/esm2020/media/components/media-section/esolve-media-section.component.mjs +46 -0
- package/esm2020/media/esolve-connect-media-config.token.mjs +3 -0
- package/esm2020/media/esolve-connect-media.config.mjs +2 -0
- package/esm2020/media/esolve-ng-esolve-connect-media.mjs +5 -0
- package/esm2020/media/esolve-section-data.token.mjs +3 -0
- package/esm2020/media/interfaces/esolve-heading-record.interface.mjs +2 -0
- package/esm2020/media/interfaces/esolve-layout-config.interface.mjs +2 -0
- package/esm2020/media/interfaces/esolve-layout-section-config.interface.mjs +2 -0
- package/esm2020/media/interfaces/esolve-media-group-record.interface.mjs +2 -0
- package/esm2020/media/interfaces/esolve-media-layout-section-record.interface.mjs +2 -0
- package/esm2020/media/interfaces/esolve-media-record.interface.mjs +2 -0
- package/esm2020/media/interfaces/index.mjs +7 -0
- package/esm2020/media/ng-esolve-connect-media.module.mjs +54 -0
- package/esm2020/media/public_api.mjs +10 -0
- package/esm2020/media/services/esolve-media-layout.service.mjs +145 -0
- package/esm2020/media/services/esolve-media.service.mjs +114 -0
- package/esm2020/media/services/index.mjs +3 -0
- package/esm2020/media/types/esolve-media-layout-section-type.type.mjs +2 -0
- package/esm2020/media/types/index.mjs +2 -0
- package/esm2020/public-api.mjs +3 -3
- package/fesm2015/esolve-ng-esolve-connect-media.mjs +487 -0
- package/fesm2015/esolve-ng-esolve-connect-media.mjs.map +1 -0
- package/fesm2015/esolve-ng-esolve-connect.mjs +12 -148
- package/fesm2015/esolve-ng-esolve-connect.mjs.map +1 -1
- package/fesm2020/esolve-ng-esolve-connect-media.mjs +480 -0
- package/fesm2020/esolve-ng-esolve-connect-media.mjs.map +1 -0
- package/fesm2020/esolve-ng-esolve-connect.mjs +12 -146
- package/fesm2020/esolve-ng-esolve-connect.mjs.map +1 -1
- package/lib/locations/esolve-locations.service.d.ts +7 -2
- package/{lib/media → media/classes}/esolve-heading.model.d.ts +0 -0
- package/media/classes/esolve-media-article.model.d.ts +19 -0
- package/media/classes/esolve-media-group.model.d.ts +8 -0
- package/media/classes/esolve-media-layout-section.model.d.ts +10 -0
- package/media/classes/index.d.ts +4 -0
- package/media/components/index.d.ts +2 -0
- package/media/components/media-layout/esolve-media-layout.component.d.ts +14 -0
- package/media/components/media-section/esolve-media-section.component.d.ts +14 -0
- package/media/esolve-connect-media-config.token.d.ts +3 -0
- package/media/esolve-connect-media.config.d.ts +6 -0
- package/media/esolve-ng-esolve-connect-media.d.ts +5 -0
- package/media/esolve-section-data.token.d.ts +3 -0
- package/{lib/media → media/interfaces}/esolve-heading-record.interface.d.ts +0 -0
- package/media/interfaces/esolve-layout-config.interface.d.ts +9 -0
- package/media/interfaces/esolve-layout-section-config.interface.d.ts +7 -0
- package/media/interfaces/esolve-media-group-record.interface.d.ts +6 -0
- package/media/interfaces/esolve-media-layout-section-record.interface.d.ts +7 -0
- package/media/interfaces/esolve-media-record.interface.d.ts +38 -0
- package/media/interfaces/index.d.ts +6 -0
- package/media/ng-esolve-connect-media.module.d.ts +15 -0
- package/media/package.json +10 -0
- package/media/public_api.d.ts +9 -0
- package/media/services/esolve-media-layout.service.d.ts +23 -0
- package/{lib/media → media/services}/esolve-media.service.d.ts +2 -3
- package/media/services/index.d.ts +2 -0
- package/media/types/esolve-media-layout-section-type.type.d.ts +1 -0
- package/media/types/index.d.ts +1 -0
- package/package.json +18 -5
- package/public-api.d.ts +2 -2
- package/schematics/collection.json +9 -0
- package/schematics/ng-add/index.d.ts +2 -0
- package/schematics/ng-add/index.js +30 -0
- package/schematics/ng-add/index.js.map +1 -0
- package/esm2020/lib/media/esolve-heading-record.interface.mjs +0 -2
- package/esm2020/lib/media/esolve-heading.model.mjs +0 -7
- package/esm2020/lib/media/esolve-media-article.model.mjs +0 -16
- package/esm2020/lib/media/esolve-media-record.interface.mjs +0 -2
- package/esm2020/lib/media/esolve-media.service.mjs +0 -129
- package/esm2020/lib/media/index.mjs +0 -6
- package/lib/media/esolve-media-article.model.d.ts +0 -14
- package/lib/media/esolve-media-record.interface.d.ts +0 -31
- package/lib/media/index.d.ts +0 -5
|
@@ -14,11 +14,16 @@ export declare class EsolveLocationsService {
|
|
|
14
14
|
*/
|
|
15
15
|
getStockLocations(): Observable<EsolveLocation[]>;
|
|
16
16
|
/**
|
|
17
|
-
* Retrieves a list of stock locations
|
|
17
|
+
* Retrieves a list of stock locations using the address_id as parameter or the latitude and longitude.
|
|
18
|
+
* Set the addresses_id to 0 and the gps coordinates in order to retrieve the locations list when the address isn't
|
|
19
|
+
* yet saved.
|
|
18
20
|
*
|
|
21
|
+
* @param addresses_id if supplied, the address will be looked up and the latitude and longitude on the address will be used.
|
|
22
|
+
* @param latitude if supplied and address_id > 0, the value is ignored.
|
|
23
|
+
* @param longitude if supplied and address_id > 0, the value is ignored.
|
|
19
24
|
* @returns An `Observable` with an array of stock locations
|
|
20
25
|
*/
|
|
21
|
-
getStockLocationsGeo(addresses_id?: number): Observable<EsolveLocation[]>;
|
|
26
|
+
getStockLocationsGeo(addresses_id?: number, latitude?: number, longitude?: number): Observable<EsolveLocation[]>;
|
|
22
27
|
/**
|
|
23
28
|
* Processes the eSolve stock location records.
|
|
24
29
|
*
|
|
File without changes
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { EsolveManufacturer, EsolveRange, EsolveSeoDetails, EsolveSeoInfo, EsolveTag, EsolveTopic } from '@esolve/ng-esolve-connect';
|
|
2
|
+
import { EsolveMediaRecord } from '../interfaces';
|
|
3
|
+
import { EsolveMediaGroup } from './esolve-media-group.model';
|
|
4
|
+
import { EsolveMediaLayoutSection } from './esolve-media-layout-section.model';
|
|
5
|
+
export declare class EsolveMediaArticle implements EsolveSeoDetails {
|
|
6
|
+
identifier: string;
|
|
7
|
+
title: string;
|
|
8
|
+
article: string;
|
|
9
|
+
layout: string;
|
|
10
|
+
image_url: string;
|
|
11
|
+
tags: EsolveTag[];
|
|
12
|
+
topics: EsolveTopic[];
|
|
13
|
+
seo_details: EsolveSeoInfo;
|
|
14
|
+
group?: EsolveMediaGroup;
|
|
15
|
+
manufacturer?: EsolveManufacturer;
|
|
16
|
+
range?: EsolveRange;
|
|
17
|
+
sections?: Map<string, EsolveMediaLayoutSection[]>;
|
|
18
|
+
constructor(record: EsolveMediaRecord);
|
|
19
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EsolveMediaLayoutSectionRecord } from '../interfaces';
|
|
2
|
+
import { EsolveMediaLayoutSectionType } from '../types';
|
|
3
|
+
export declare class EsolveMediaLayoutSection {
|
|
4
|
+
type: EsolveMediaLayoutSectionType;
|
|
5
|
+
sub_type: string;
|
|
6
|
+
identifier: string;
|
|
7
|
+
private data?;
|
|
8
|
+
constructor(record: EsolveMediaLayoutSectionRecord);
|
|
9
|
+
getData<T>(): T | null;
|
|
10
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { OnChanges } from '@angular/core';
|
|
2
|
+
import { ComponentPortal } from '@angular/cdk/portal';
|
|
3
|
+
import { EsolveMediaArticle } from '../../classes';
|
|
4
|
+
import { EsolveMediaLayoutService } from '../../services';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class EsolveMediaLayoutComponent implements OnChanges {
|
|
7
|
+
layoutService: EsolveMediaLayoutService;
|
|
8
|
+
media: EsolveMediaArticle;
|
|
9
|
+
portal: ComponentPortal<any>;
|
|
10
|
+
constructor(layoutService: EsolveMediaLayoutService);
|
|
11
|
+
ngOnChanges(): void;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EsolveMediaLayoutComponent, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<EsolveMediaLayoutComponent, "eslv-media-layout", never, { "media": "media"; }, {}, never, never>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { OnChanges } from '@angular/core';
|
|
2
|
+
import { ComponentPortal } from '@angular/cdk/portal';
|
|
3
|
+
import { EsolveMediaLayoutService } from '../../services';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class EsolveMediaSectionComponent implements OnChanges {
|
|
6
|
+
layoutService: EsolveMediaLayoutService;
|
|
7
|
+
key: string;
|
|
8
|
+
portals: ComponentPortal<any>[];
|
|
9
|
+
constructor(layoutService: EsolveMediaLayoutService);
|
|
10
|
+
ngOnChanges(): void;
|
|
11
|
+
private processPortals;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EsolveMediaSectionComponent, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<EsolveMediaSectionComponent, "eslv-media-section", never, { "key": "key"; }, {}, never, never>;
|
|
14
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ComponentType } from '@angular/cdk/portal';
|
|
2
|
+
import { EsolveLayoutSectionConfig } from './esolve-layout-section-config.interface';
|
|
3
|
+
export interface EsolveLayoutConfig {
|
|
4
|
+
key: string;
|
|
5
|
+
component: ComponentType<any>;
|
|
6
|
+
sections?: {
|
|
7
|
+
[key: string]: EsolveLayoutSectionConfig[];
|
|
8
|
+
};
|
|
9
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { EsolveManufacturerRecord, EsolveRangeRecord, EsolveTagRecord, EsolveTopicRecord } from '@esolve/ng-esolve-connect';
|
|
2
|
+
import { EsolveMediaGroupRecord } from './esolve-media-group-record.interface';
|
|
3
|
+
import { EsolveMediaLayoutSectionRecord } from './esolve-media-layout-section-record.interface';
|
|
4
|
+
export interface EsolveMediaRecord {
|
|
5
|
+
identifier: string;
|
|
6
|
+
title: string;
|
|
7
|
+
article: string;
|
|
8
|
+
id?: number;
|
|
9
|
+
media_group_id?: number;
|
|
10
|
+
media_group?: EsolveMediaGroupRecord;
|
|
11
|
+
txdate?: string;
|
|
12
|
+
seo_page_priority?: string;
|
|
13
|
+
seo_page_update_frequency?: string;
|
|
14
|
+
seo_page_title?: string;
|
|
15
|
+
seo_keywords?: string;
|
|
16
|
+
seo_description?: string;
|
|
17
|
+
userid?: number;
|
|
18
|
+
language_code?: string;
|
|
19
|
+
active?: boolean;
|
|
20
|
+
sort_priority?: number;
|
|
21
|
+
only_display_when_logged_on?: boolean;
|
|
22
|
+
is_minor_article?: boolean;
|
|
23
|
+
is_both_master_and_minor_article?: boolean;
|
|
24
|
+
url?: string;
|
|
25
|
+
sef_url?: string;
|
|
26
|
+
link_caption?: string;
|
|
27
|
+
modified?: string;
|
|
28
|
+
image_url?: string;
|
|
29
|
+
image_checksum?: string;
|
|
30
|
+
manufacturer?: EsolveManufacturerRecord;
|
|
31
|
+
range?: EsolveRangeRecord;
|
|
32
|
+
layout?: string;
|
|
33
|
+
tags?: EsolveTagRecord[];
|
|
34
|
+
topics?: EsolveTopicRecord[];
|
|
35
|
+
sections?: {
|
|
36
|
+
[key: string]: EsolveMediaLayoutSectionRecord[];
|
|
37
|
+
};
|
|
38
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './esolve-layout-config.interface';
|
|
2
|
+
export * from './esolve-layout-section-config.interface';
|
|
3
|
+
export * from './esolve-heading-record.interface';
|
|
4
|
+
export * from './esolve-media-record.interface';
|
|
5
|
+
export * from './esolve-media-group-record.interface';
|
|
6
|
+
export * from './esolve-media-layout-section-record.interface';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ModuleWithProviders } from '@angular/core';
|
|
2
|
+
import { EsolveConnectMediaConfig } from './esolve-connect-media.config';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./components/media-layout/esolve-media-layout.component";
|
|
5
|
+
import * as i2 from "./components/media-section/esolve-media-section.component";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "@angular/common/http";
|
|
8
|
+
import * as i5 from "@angular/cdk/portal";
|
|
9
|
+
import * as i6 from "@esolve/ng-esolve-connect";
|
|
10
|
+
export declare class NgEsolveConnectMediaModule {
|
|
11
|
+
static withConfig(config: EsolveConnectMediaConfig): ModuleWithProviders<NgEsolveConnectMediaModule>;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgEsolveConnectMediaModule, never>;
|
|
13
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<NgEsolveConnectMediaModule, [typeof i1.EsolveMediaLayoutComponent, typeof i2.EsolveMediaSectionComponent], [typeof i3.CommonModule, typeof i4.HttpClientModule, typeof i5.PortalModule, typeof i6.NgEsolveConnectModule], [typeof i1.EsolveMediaLayoutComponent, typeof i2.EsolveMediaSectionComponent]>;
|
|
14
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<NgEsolveConnectMediaModule>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"module": "../fesm2015/esolve-ng-esolve-connect-media.mjs",
|
|
3
|
+
"es2020": "../fesm2020/esolve-ng-esolve-connect-media.mjs",
|
|
4
|
+
"esm2020": "../esm2020/media/esolve-ng-esolve-connect-media.mjs",
|
|
5
|
+
"fesm2020": "../fesm2020/esolve-ng-esolve-connect-media.mjs",
|
|
6
|
+
"fesm2015": "../fesm2015/esolve-ng-esolve-connect-media.mjs",
|
|
7
|
+
"typings": "esolve-ng-esolve-connect-media.d.ts",
|
|
8
|
+
"sideEffects": false,
|
|
9
|
+
"name": "@esolve/ng-esolve-connect/media"
|
|
10
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './ng-esolve-connect-media.module';
|
|
2
|
+
export * from './esolve-connect-media.config';
|
|
3
|
+
export * from './esolve-connect-media-config.token';
|
|
4
|
+
export * from './esolve-section-data.token';
|
|
5
|
+
export * from './components';
|
|
6
|
+
export * from './classes';
|
|
7
|
+
export * from './types';
|
|
8
|
+
export * from './interfaces';
|
|
9
|
+
export * from './services';
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ComponentType } from '@angular/cdk/portal';
|
|
2
|
+
import { EsolveMediaArticle, EsolveMediaLayoutSection } from '../classes';
|
|
3
|
+
import { EsolveConnectMediaConfig } from '../esolve-connect-media.config';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class EsolveMediaLayoutService {
|
|
6
|
+
private readonly section_key_delimiter;
|
|
7
|
+
private media?;
|
|
8
|
+
private layout_map;
|
|
9
|
+
private section_map;
|
|
10
|
+
private default_layout;
|
|
11
|
+
constructor(config: EsolveConnectMediaConfig);
|
|
12
|
+
getMedia(): EsolveMediaArticle;
|
|
13
|
+
setMedia(media: EsolveMediaArticle): void;
|
|
14
|
+
getLayout(): ComponentType<any>;
|
|
15
|
+
getSectionContent(key: string): EsolveMediaLayoutSection[];
|
|
16
|
+
getSectionComponent(key: string, section: EsolveMediaLayoutSection): ComponentType<any>;
|
|
17
|
+
private searchLayout;
|
|
18
|
+
private setLayout;
|
|
19
|
+
private setSection;
|
|
20
|
+
private createSectionMapKey;
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EsolveMediaLayoutService, never>;
|
|
22
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<EsolveMediaLayoutService>;
|
|
23
|
+
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { HttpClient } from '@angular/common/http';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
|
-
import { EsolveConnectConfig } from '
|
|
4
|
-
import { EsolveMediaArticle } from '
|
|
5
|
-
import { EsolveHeading } from './esolve-heading.model';
|
|
3
|
+
import { EsolveConnectConfig } from '@esolve/ng-esolve-connect';
|
|
4
|
+
import { EsolveMediaArticle, EsolveHeading } from '../classes';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
export declare class EsolveMediaService {
|
|
8
7
|
private config;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare type EsolveMediaLayoutSectionType = 'media' | 'banner' | 'linked_stock' | 'custom';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './esolve-media-layout-section-type.type';
|
package/package.json
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@esolve/ng-esolve-connect",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.20.0",
|
|
4
4
|
"description": "An Angular library that speaks to an eSolve instance's API",
|
|
5
|
+
"ng-add": {
|
|
6
|
+
"save": "true"
|
|
7
|
+
},
|
|
8
|
+
"schematics": "./schematics/collection.json",
|
|
5
9
|
"peerDependencies": {
|
|
6
|
-
"@angular/common": ">=
|
|
7
|
-
"@angular/core": ">=
|
|
8
|
-
"
|
|
9
|
-
"@types/express": "^4.17.0"
|
|
10
|
+
"@angular/common": ">=13.0.0",
|
|
11
|
+
"@angular/core": ">=13.0.0",
|
|
12
|
+
"@angular/cdk": ">=13.0.0",
|
|
13
|
+
"@types/express": "^4.17.0",
|
|
14
|
+
"ngx-cookie-service": "^13.0.0"
|
|
10
15
|
},
|
|
11
16
|
"dependencies": {
|
|
12
17
|
"tslib": "^2.3.0"
|
|
@@ -29,6 +34,14 @@
|
|
|
29
34
|
"es2015": "./fesm2015/esolve-ng-esolve-connect.mjs",
|
|
30
35
|
"node": "./fesm2015/esolve-ng-esolve-connect.mjs",
|
|
31
36
|
"default": "./fesm2020/esolve-ng-esolve-connect.mjs"
|
|
37
|
+
},
|
|
38
|
+
"./media": {
|
|
39
|
+
"types": "./media/esolve-ng-esolve-connect-media.d.ts",
|
|
40
|
+
"esm2020": "./esm2020/media/esolve-ng-esolve-connect-media.mjs",
|
|
41
|
+
"es2020": "./fesm2020/esolve-ng-esolve-connect-media.mjs",
|
|
42
|
+
"es2015": "./fesm2015/esolve-ng-esolve-connect-media.mjs",
|
|
43
|
+
"node": "./fesm2015/esolve-ng-esolve-connect-media.mjs",
|
|
44
|
+
"default": "./fesm2020/esolve-ng-esolve-connect-media.mjs"
|
|
32
45
|
}
|
|
33
46
|
},
|
|
34
47
|
"sideEffects": false
|
package/public-api.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from './lib/ng-esolve-connect.module';
|
|
2
|
-
export
|
|
2
|
+
export * from './lib/esolve-connect.config';
|
|
3
|
+
export * from './lib/esolve-connect-config.constant';
|
|
3
4
|
export * from './lib/shared/esolve-list.model';
|
|
4
5
|
export * from './lib/shared/esolve-result.model';
|
|
5
6
|
export * from './lib/shared/response';
|
|
@@ -13,7 +14,6 @@ export * from './lib/session';
|
|
|
13
14
|
export * from './lib/auth';
|
|
14
15
|
export * from './lib/account';
|
|
15
16
|
export * from './lib/banners';
|
|
16
|
-
export * from './lib/media';
|
|
17
17
|
export * from './lib/menu';
|
|
18
18
|
export * from './lib/news';
|
|
19
19
|
export * from './lib/topics';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ngAdd = void 0;
|
|
4
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
5
|
+
const tasks_1 = require("@angular-devkit/schematics/tasks");
|
|
6
|
+
const change_1 = require("@schematics/angular/utility/change");
|
|
7
|
+
const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
|
|
8
|
+
const ts = require("typescript");
|
|
9
|
+
function ngAdd() {
|
|
10
|
+
return (tree, context) => {
|
|
11
|
+
context.logger.info('Adding library module to the app...');
|
|
12
|
+
const module_path = '/src/app/app.module.ts';
|
|
13
|
+
if (!tree.exists(module_path)) {
|
|
14
|
+
throw new schematics_1.SchematicsException(`The file '${module_path}' doesn't exist...`);
|
|
15
|
+
}
|
|
16
|
+
const recorder = tree.beginUpdate(module_path);
|
|
17
|
+
const text = tree.read(module_path);
|
|
18
|
+
if (text === null) {
|
|
19
|
+
throw new schematics_1.SchematicsException(`The file '${module_path}' doesn't exist...`);
|
|
20
|
+
}
|
|
21
|
+
const source = ts.createSourceFile(module_path, text.toString(), ts.ScriptTarget.Latest, true);
|
|
22
|
+
(0, change_1.applyToUpdateRecorder)(recorder, (0, ast_utils_1.addImportToModule)(source, module_path, 'NgEsolveConnectModule.forRoot()', '@esolve/ng-esolve-connect'));
|
|
23
|
+
tree.commitUpdate(recorder);
|
|
24
|
+
context.logger.info('Installing dependencies...');
|
|
25
|
+
context.addTask(new tasks_1.NodePackageInstallTask());
|
|
26
|
+
return tree;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
exports.ngAdd = ngAdd;
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../projects/ng-esolve-connect/schematics/ng-add/index.ts"],"names":[],"mappings":";;;AAAA,2DAA+F;AAC/F,4DAA0E;AAE1E,+DAA2E;AAC3E,qEAA0E;AAE1E,iCAAgC;AAEhC,SAAgB,KAAK;IACjB,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC7C,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,wBAAwB,CAAC;QAE7C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;YAC3B,MAAM,IAAI,gCAAmB,CAAC,aAAa,WAAW,oBAAoB,CAAC,CAAC;SAC/E;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAE/C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEpC,IAAI,IAAI,KAAK,IAAI,EAAE;YACf,MAAM,IAAI,gCAAmB,CAAC,aAAa,WAAW,oBAAoB,CAAC,CAAC;SAC/E;QAED,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAC9B,WAAW,EACX,IAAI,CAAC,QAAQ,EAAE,EACf,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,CACP,CAAC;QAEF,IAAA,8BAAqB,EACjB,QAAQ,EACR,IAAA,6BAAiB,EACb,MAAM,EACN,WAAW,EACX,iCAAiC,EACjC,2BAA2B,CAC9B,CACJ,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE5B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAClD,OAAO,CAAC,OAAO,CAAC,IAAI,8BAAsB,EAAE,CAAC,CAAC;QAE9C,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;AACN,CAAC;AAzCD,sBAyCC"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWhlYWRpbmctcmVjb3JkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvbWVkaWEvZXNvbHZlLWhlYWRpbmctcmVjb3JkLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBFc29sdmVIZWFkaW5nUmVjb3JkIHtcclxuICAgIGlkOiBudW1iZXI7XHJcbiAgICBpZGVudGlmaWVyOiBzdHJpbmc7XHJcbiAgICB2YWx1ZTogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export class EsolveHeading {
|
|
2
|
-
constructor(identifier, value) {
|
|
3
|
-
this.identifier = identifier;
|
|
4
|
-
this.value = value;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWhlYWRpbmcubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL21lZGlhL2Vzb2x2ZS1oZWFkaW5nLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxhQUFhO0lBQ3RCLFlBQ1csVUFBa0IsRUFDbEIsS0FBYTtRQURiLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDbEIsVUFBSyxHQUFMLEtBQUssQ0FBUTtJQUNwQixDQUFDO0NBQ1IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRXNvbHZlSGVhZGluZyB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgaWRlbnRpZmllcjogc3RyaW5nLFxyXG4gICAgICAgIHB1YmxpYyB2YWx1ZTogc3RyaW5nLFxyXG4gICAgKSB7IH1cclxufVxyXG4iXX0=
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { EsolveSeoInfo } from '../shared/seo/esolve-seo-info.model';
|
|
2
|
-
export class EsolveMediaArticle {
|
|
3
|
-
constructor(identifier, title, article, image_url = '', tags = [], topics = [], seo_title = '', seo_keywords = '', seo_description = '') {
|
|
4
|
-
this.identifier = identifier;
|
|
5
|
-
this.title = title;
|
|
6
|
-
this.article = article;
|
|
7
|
-
this.image_url = image_url;
|
|
8
|
-
this.tags = tags;
|
|
9
|
-
this.topics = topics;
|
|
10
|
-
if (seo_title.trim() === '') {
|
|
11
|
-
seo_title = this.title;
|
|
12
|
-
}
|
|
13
|
-
this.seo_details = new EsolveSeoInfo(seo_title, seo_description, seo_keywords);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lZGlhLWFydGljbGUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL21lZGlhL2Vzb2x2ZS1tZWRpYS1hcnRpY2xlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUtwRSxNQUFNLE9BQU8sa0JBQWtCO0lBRzNCLFlBQ1csVUFBa0IsRUFDbEIsS0FBYSxFQUNiLE9BQWUsRUFDZixZQUFvQixFQUFFLEVBQ3RCLE9BQW9CLEVBQUUsRUFDdEIsU0FBd0IsRUFBRSxFQUNqQyxZQUFvQixFQUFFLEVBQ3RCLGVBQXVCLEVBQUUsRUFDekIsa0JBQTBCLEVBQUU7UUFSckIsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNsQixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLGNBQVMsR0FBVCxTQUFTLENBQWE7UUFDdEIsU0FBSSxHQUFKLElBQUksQ0FBa0I7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFLakMsSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3pCLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQzFCO1FBRUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGFBQWEsQ0FDaEMsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLENBQ2YsQ0FBQztJQUNOLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZVNlb0luZm8gfSBmcm9tICcuLi9zaGFyZWQvc2VvL2Vzb2x2ZS1zZW8taW5mby5tb2RlbCc7XHJcbmltcG9ydCB7IEVzb2x2ZVNlb0RldGFpbHMgfSBmcm9tICcuLi9zaGFyZWQvc2VvL2Vzb2x2ZS1zZW8tZGV0YWlscy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBFc29sdmVUYWcgfSBmcm9tICcuLi90YWdzL2Vzb2x2ZS10YWcubW9kZWwnO1xyXG5pbXBvcnQgeyBFc29sdmVUb3BpYyB9IGZyb20gJy4uL3RvcGljcy9lc29sdmUtdG9waWMubW9kZWwnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEVzb2x2ZU1lZGlhQXJ0aWNsZSBpbXBsZW1lbnRzIEVzb2x2ZVNlb0RldGFpbHMge1xyXG4gICAgcHVibGljIHNlb19kZXRhaWxzOiBFc29sdmVTZW9JbmZvO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyBpZGVudGlmaWVyOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIHRpdGxlOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGFydGljbGU6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgaW1hZ2VfdXJsOiBzdHJpbmcgPSAnJyxcclxuICAgICAgICBwdWJsaWMgdGFnczogRXNvbHZlVGFnW10gPSBbXSxcclxuICAgICAgICBwdWJsaWMgdG9waWNzOiBFc29sdmVUb3BpY1tdID0gW10sXHJcbiAgICAgICAgc2VvX3RpdGxlOiBzdHJpbmcgPSAnJyxcclxuICAgICAgICBzZW9fa2V5d29yZHM6IHN0cmluZyA9ICcnLFxyXG4gICAgICAgIHNlb19kZXNjcmlwdGlvbjogc3RyaW5nID0gJycsXHJcbiAgICApIHtcclxuICAgICAgICBpZiAoc2VvX3RpdGxlLnRyaW0oKSA9PT0gJycpIHtcclxuICAgICAgICAgICAgc2VvX3RpdGxlID0gdGhpcy50aXRsZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2VvX2RldGFpbHMgPSBuZXcgRXNvbHZlU2VvSW5mbyhcclxuICAgICAgICAgICAgc2VvX3RpdGxlLFxyXG4gICAgICAgICAgICBzZW9fZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgIHNlb19rZXl3b3Jkc1xyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lZGlhLXJlY29yZC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL21lZGlhL2Vzb2x2ZS1tZWRpYS1yZWNvcmQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVUYWdSZWNvcmQgfSBmcm9tICcuLi90YWdzL2Vzb2x2ZS10YWctcmVjb3JkLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEVzb2x2ZVRvcGljUmVjb3JkIH0gZnJvbSAnLi4vdG9waWNzL2Vzb2x2ZS10b3BpYy1yZWNvcmQuaW50ZXJmYWNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXNvbHZlTWVkaWFSZWNvcmQge1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIG1lZGlhX2dyb3VwX2lkOiBudW1iZXI7XHJcbiAgICBpZGVudGlmaWVyOiBzdHJpbmc7XHJcbiAgICBtZWRpYV9ncm91cDogYW55O1xyXG4gICAgdHhkYXRlOiBzdHJpbmc7XHJcbiAgICBzZW9fcGFnZV9wcmlvcml0eTogc3RyaW5nO1xyXG4gICAgc2VvX3BhZ2VfdXBkYXRlX2ZyZXF1ZW5jeTogc3RyaW5nO1xyXG4gICAgc2VvX3BhZ2VfdGl0bGU6IHN0cmluZztcclxuICAgIHNlb19rZXl3b3Jkczogc3RyaW5nO1xyXG4gICAgc2VvX2Rlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgICB1c2VyaWQ6IG51bWJlcjtcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICBsYW5ndWFnZV9jb2RlOiBzdHJpbmc7XHJcbiAgICBhcnRpY2xlOiBzdHJpbmc7XHJcbiAgICBhY3RpdmU6IGJvb2xlYW47XHJcbiAgICBzb3J0X3ByaW9yaXR5OiBudW1iZXI7XHJcbiAgICBvbmx5X2Rpc3BsYXlfd2hlbl9sb2dnZWRfb246IGJvb2xlYW47XHJcbiAgICBpc19taW5vcl9hcnRpY2xlOiBib29sZWFuO1xyXG4gICAgaXNfYm90aF9tYXN0ZXJfYW5kX21pbm9yX2FydGljbGU6IGJvb2xlYW47XHJcbiAgICB1cmw6IHN0cmluZztcclxuICAgIHNlZl91cmw6IHN0cmluZztcclxuICAgIGxpbmtfY2FwdGlvbjogc3RyaW5nO1xyXG4gICAgbW9kaWZpZWQ6IHN0cmluZztcclxuICAgIGltYWdlX3VybDogc3RyaW5nO1xyXG4gICAgaW1hZ2VfY2hlY2tzdW06IHN0cmluZztcclxuICAgIHRhZ3M6IEVzb2x2ZVRhZ1JlY29yZFtdO1xyXG4gICAgdG9waWNzOiBFc29sdmVUb3BpY1JlY29yZFtdO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { HttpParams } from '@angular/common/http';
|
|
3
|
-
import { map } from 'rxjs/operators';
|
|
4
|
-
import { ESOLVE_CONNECT_CONFIG } from '../esolve-connect-config.constant';
|
|
5
|
-
import { EsolveTag } from '../tags';
|
|
6
|
-
import { EsolveTopic } from '../topics';
|
|
7
|
-
import { EsolveMediaArticle } from './esolve-media-article.model';
|
|
8
|
-
import { EsolveHeading } from './esolve-heading.model';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@angular/common/http";
|
|
11
|
-
export class EsolveMediaService {
|
|
12
|
-
constructor(config, http) {
|
|
13
|
-
this.config = config;
|
|
14
|
-
this.http = http;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Retrieves the media record from the eSolve instance using the identifier
|
|
18
|
-
*
|
|
19
|
-
* @param identifier String representing the eSolve media identifier
|
|
20
|
-
*/
|
|
21
|
-
getMediaArticle(identifier) {
|
|
22
|
-
const params = new HttpParams({ fromObject: { identifier } });
|
|
23
|
-
// TODO: Error Handling
|
|
24
|
-
return this.getMediaRecords(params).pipe(map((response) => {
|
|
25
|
-
if ((response.records === undefined) ||
|
|
26
|
-
(response.records.length <= 0)) {
|
|
27
|
-
throw response;
|
|
28
|
-
}
|
|
29
|
-
const mediaRecord = response.records[0];
|
|
30
|
-
if (!mediaRecord.active) {
|
|
31
|
-
throw response;
|
|
32
|
-
}
|
|
33
|
-
return this.processMediaRecord(mediaRecord);
|
|
34
|
-
}));
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Retrieves a group of media records from the eSolve instance linked to a group
|
|
38
|
-
*
|
|
39
|
-
* @param media_group String representing the eSolve media group
|
|
40
|
-
*/
|
|
41
|
-
getGroupedMediaArticles(media_group) {
|
|
42
|
-
const params = new HttpParams({
|
|
43
|
-
fromObject: { media_group_sef: media_group }
|
|
44
|
-
});
|
|
45
|
-
return this.getMediaRecords(params).pipe(map((response) => {
|
|
46
|
-
const mediaArticles = [];
|
|
47
|
-
if ((response.records !== undefined) &&
|
|
48
|
-
(response.records.length > 0)) {
|
|
49
|
-
for (const mediaRecord of response.records) {
|
|
50
|
-
if (mediaRecord.active) {
|
|
51
|
-
mediaArticles.push(this.processMediaRecord(mediaRecord));
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return mediaArticles;
|
|
56
|
-
}));
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Retrieves the media heading records from the eSolve instance using the identifiers
|
|
60
|
-
*
|
|
61
|
-
* @param identifiers Array of strings representing the eSolve heading identifiers
|
|
62
|
-
*/
|
|
63
|
-
getHeadings(identifiers) {
|
|
64
|
-
return this.http
|
|
65
|
-
.get(`${this.config.api_url}/get-headings.php`, {
|
|
66
|
-
params: {
|
|
67
|
-
identifier: identifiers.join(','),
|
|
68
|
-
},
|
|
69
|
-
})
|
|
70
|
-
.pipe(map((response) => {
|
|
71
|
-
const headings = [];
|
|
72
|
-
if ((response.records !== undefined) &&
|
|
73
|
-
(response.records.length > 0)) {
|
|
74
|
-
for (const heading_record of response.records) {
|
|
75
|
-
headings.push(this.processHeadingRecord(heading_record));
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
return headings;
|
|
79
|
-
}));
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Processes media article record
|
|
83
|
-
*
|
|
84
|
-
* @param record Record from eSolve instance
|
|
85
|
-
*/
|
|
86
|
-
processMediaRecord(record) {
|
|
87
|
-
const tags = [];
|
|
88
|
-
const topics = [];
|
|
89
|
-
if ((record.tags) && (record.tags.length > 0)) {
|
|
90
|
-
for (const tag of record.tags) {
|
|
91
|
-
tags.push(new EsolveTag(tag));
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
if ((record.topics) && (record.topics.length > 0)) {
|
|
95
|
-
for (const topic of record.topics) {
|
|
96
|
-
topics.push(new EsolveTopic(topic));
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
return new EsolveMediaArticle(record.identifier, record.title, record.article, record.image_url, tags, topics, record.seo_page_title, record.seo_keywords, record.seo_description);
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Processes media heading record
|
|
103
|
-
*
|
|
104
|
-
* @param record Record from eSolve instance
|
|
105
|
-
*/
|
|
106
|
-
processHeadingRecord(record) {
|
|
107
|
-
return new EsolveHeading(record.identifier, record.value);
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Retrieves media records from eSolve instance.
|
|
111
|
-
*
|
|
112
|
-
* @param params HTTP params
|
|
113
|
-
*/
|
|
114
|
-
getMediaRecords(params) {
|
|
115
|
-
return this.http.get(`${this.config.api_url}/get-media.php`, { params });
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
EsolveMediaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EsolveMediaService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
119
|
-
EsolveMediaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EsolveMediaService, providedIn: 'root' });
|
|
120
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EsolveMediaService, decorators: [{
|
|
121
|
-
type: Injectable,
|
|
122
|
-
args: [{
|
|
123
|
-
providedIn: 'root',
|
|
124
|
-
}]
|
|
125
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
126
|
-
type: Inject,
|
|
127
|
-
args: [ESOLVE_CONNECT_CONFIG]
|
|
128
|
-
}] }, { type: i1.HttpClient }]; } });
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lZGlhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL21lZGlhL2Vzb2x2ZS1tZWRpYS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUc5RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXhDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWxFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBTXZELE1BQU0sT0FBTyxrQkFBa0I7SUFDM0IsWUFDMkMsTUFBMkIsRUFDMUQsSUFBZ0I7UUFEZSxXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUMxRCxTQUFJLEdBQUosSUFBSSxDQUFZO0lBQ3hCLENBQUM7SUFFTDs7OztPQUlHO0lBQ0ksZUFBZSxDQUFDLFVBQWtCO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTlELHVCQUF1QjtRQUN2QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUNwQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNiLElBQ0ksQ0FBQyxRQUFRLENBQUMsT0FBTyxLQUFLLFNB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QUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDL0MsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO2dCQUMvQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDdkM7U0FDSjtRQUVELE9BQU8sSUFBSSxrQkFBa0IsQ0FDekIsTUFBTSxDQUFDLFVBQVUsRUFDakIsTUFBTSxDQUFDLEtBQUssRUFDWixNQUFNLENBQUMsT0FBTyxFQUNkLE1BQU0sQ0FBQyxTQUFTLEVBQ2hCLElBQUksRUFDSixNQUFNLEVBQ04sTUFBTSxDQUFDLGNBQWMsRUFDckIsTUFBTSxDQUFDLFlBQVksRUFDbkIsTUFBTSxDQUFDLGVBQWUsQ0FDekIsQ0FBQztJQUNOLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssb0JBQW9CLENBQUMsTUFBMkI7UUFDcEQsT0FBTyxJQUFJLGFBQWEsQ0FDcEIsTUFBTSxDQUFDLFVBQVUsRUFDakIsTUFBTSxDQUFDLEtBQUssQ0FDZixDQUFDO0lBQ04sQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxlQUFlLENBQUMsTUFBa0I7UUFDdEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDaEIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sZ0JBQWdCLEVBQ3RDLEVBQUUsTUFBTSxFQUFFLENBQ2IsQ0FBQztJQUNOLENBQUM7O2dIQTFKUSxrQkFBa0Isa0JBRWYscUJBQXFCO29IQUZ4QixrQkFBa0IsY0FGZixNQUFNOzRGQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUdRLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEVzb2x2ZUNvbm5lY3RDb25maWcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC5jb25maWcnO1xyXG5pbXBvcnQgeyBFU09MVkVfQ09OTkVDVF9DT05GSUcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC1jb25maWcuY29uc3RhbnQnO1xyXG5pbXBvcnQgeyBFc29sdmVHZXRSZXNwb25zZSB9IGZyb20gJy4uL3NoYXJlZC9yZXNwb25zZSc7XHJcblxyXG5pbXBvcnQgeyBFc29sdmVUYWcgfSBmcm9tICcuLi90YWdzJztcclxuaW1wb3J0IHsgRXNvbHZlVG9waWMgfSBmcm9tICcuLi90b3BpY3MnO1xyXG5cclxuaW1wb3J0IHsgRXNvbHZlTWVkaWFBcnRpY2xlIH0gZnJvbSAnLi9lc29sdmUtbWVkaWEtYXJ0aWNsZS5tb2RlbCc7XHJcbmltcG9ydCB7IEVzb2x2ZU1lZGlhUmVjb3JkIH0gZnJvbSAnLi9lc29sdmUtbWVkaWEtcmVjb3JkLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEVzb2x2ZUhlYWRpbmcgfSBmcm9tICcuL2Vzb2x2ZS1oZWFkaW5nLm1vZGVsJztcclxuaW1wb3J0IHsgRXNvbHZlSGVhZGluZ1JlY29yZCB9IGZyb20gJy4vZXNvbHZlLWhlYWRpbmctcmVjb3JkLmludGVyZmFjZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFc29sdmVNZWRpYVNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQEluamVjdChFU09MVkVfQ09OTkVDVF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBFc29sdmVDb25uZWN0Q29uZmlnLFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgICkgeyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIG1lZGlhIHJlY29yZCBmcm9tIHRoZSBlU29sdmUgaW5zdGFuY2UgdXNpbmcgdGhlIGlkZW50aWZpZXJcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gaWRlbnRpZmllciBTdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBlU29sdmUgbWVkaWEgaWRlbnRpZmllclxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0TWVkaWFBcnRpY2xlKGlkZW50aWZpZXI6IHN0cmluZyk6IE9ic2VydmFibGU8RXNvbHZlTWVkaWFBcnRpY2xlPiB7XHJcbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoeyBmcm9tT2JqZWN0OiB7IGlkZW50aWZpZXIgfSB9KTtcclxuXHJcbiAgICAgICAgLy8gVE9ETzogRXJyb3IgSGFuZGxpbmdcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRNZWRpYVJlY29yZHMocGFyYW1zKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkgfHxcclxuICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UucmVjb3Jkcy5sZW5ndGggPD0gMClcclxuICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IG1lZGlhUmVjb3JkID0gcmVzcG9uc2UucmVjb3Jkc1swXTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoIW1lZGlhUmVjb3JkLmFjdGl2ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NNZWRpYVJlY29yZChtZWRpYVJlY29yZCk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHJpZXZlcyBhIGdyb3VwIG9mIG1lZGlhIHJlY29yZHMgZnJvbSB0aGUgZVNvbHZlIGluc3RhbmNlIGxpbmtlZCB0byBhIGdyb3VwXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIG1lZGlhX2dyb3VwIFN0cmluZyByZXByZXNlbnRpbmcgdGhlIGVTb2x2ZSBtZWRpYSBncm91cFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0R3JvdXBlZE1lZGlhQXJ0aWNsZXMobWVkaWFfZ3JvdXA6IHN0cmluZyk6IE9ic2VydmFibGU8RXNvbHZlTWVkaWFBcnRpY2xlW10+IHtcclxuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcyh7XHJcbiAgICAgICAgICAgIGZyb21PYmplY3Q6IHsgbWVkaWFfZ3JvdXBfc2VmOiBtZWRpYV9ncm91cCB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmdldE1lZGlhUmVjb3JkcyhwYXJhbXMpLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG1lZGlhQXJ0aWNsZXM6IEVzb2x2ZU1lZGlhQXJ0aWNsZVtdID0gW107XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgIChyZXNwb25zZS5yZWNvcmRzICE9PSB1bmRlZmluZWQpICYmXHJcbiAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlLnJlY29yZHMubGVuZ3RoID4gMClcclxuICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgbWVkaWFSZWNvcmQgb2YgcmVzcG9uc2UucmVjb3Jkcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWVkaWFSZWNvcmQuYWN0aXZlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZWRpYUFydGljbGVzLnB1c2godGhpcy5wcm9jZXNzTWVkaWFSZWNvcmQobWVkaWFSZWNvcmQpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbWVkaWFBcnRpY2xlcztcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0cmlldmVzIHRoZSBtZWRpYSBoZWFkaW5nIHJlY29yZHMgZnJvbSB0aGUgZVNvbHZlIGluc3RhbmNlIHVzaW5nIHRoZSBpZGVudGlmaWVyc1xyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBpZGVudGlmaWVycyBBcnJheSBvZiBzdHJpbmdzIHJlcHJlc2VudGluZyB0aGUgZVNvbHZlIGhlYWRpbmcgaWRlbnRpZmllcnNcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldEhlYWRpbmdzKGlkZW50aWZpZXJzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8RXNvbHZlSGVhZGluZ1tdPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZUhlYWRpbmdSZWNvcmRbXT4+KFxyXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWhlYWRpbmdzLnBocGAsXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkZW50aWZpZXI6IGlkZW50aWZpZXJzLmpvaW4oJywnKSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhlYWRpbmdzOiBFc29sdmVIZWFkaW5nW10gPSBbXTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UucmVjb3JkcyAhPT0gdW5kZWZpbmVkKSAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UucmVjb3Jkcy5sZW5ndGggPiAwKVxyXG4gICAgICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGhlYWRpbmdfcmVjb3JkIG9mIHJlc3BvbnNlLnJlY29yZHMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRpbmdzLnB1c2godGhpcy5wcm9jZXNzSGVhZGluZ1JlY29yZChoZWFkaW5nX3JlY29yZCkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaGVhZGluZ3M7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUHJvY2Vzc2VzIG1lZGlhIGFydGljbGUgcmVjb3JkXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHJlY29yZCBSZWNvcmQgZnJvbSBlU29sdmUgaW5zdGFuY2VcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBwcm9jZXNzTWVkaWFSZWNvcmQocmVjb3JkOiBFc29sdmVNZWRpYVJlY29yZCk6IEVzb2x2ZU1lZGlhQXJ0aWNsZSB7XHJcbiAgICAgICAgY29uc3QgdGFnczogRXNvbHZlVGFnW10gPSBbXTtcclxuICAgICAgICBjb25zdCB0b3BpY3M6IEVzb2x2ZVRvcGljW10gPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKChyZWNvcmQudGFncykgJiYgKHJlY29yZC50YWdzLmxlbmd0aCA+IDApKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgdGFnIG9mIHJlY29yZC50YWdzKSB7XHJcbiAgICAgICAgICAgICAgICB0YWdzLnB1c2gobmV3IEVzb2x2ZVRhZyh0YWcpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKChyZWNvcmQudG9waWNzKSAmJiAocmVjb3JkLnRvcGljcy5sZW5ndGggPiAwKSkge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHRvcGljIG9mIHJlY29yZC50b3BpY3MpIHtcclxuICAgICAgICAgICAgICAgIHRvcGljcy5wdXNoKG5ldyBFc29sdmVUb3BpYyh0b3BpYykpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZU1lZGlhQXJ0aWNsZShcclxuICAgICAgICAgICAgcmVjb3JkLmlkZW50aWZpZXIsXHJcbiAgICAgICAgICAgIHJlY29yZC50aXRsZSxcclxuICAgICAgICAgICAgcmVjb3JkLmFydGljbGUsXHJcbiAgICAgICAgICAgIHJlY29yZC5pbWFnZV91cmwsXHJcbiAgICAgICAgICAgIHRhZ3MsXHJcbiAgICAgICAgICAgIHRvcGljcyxcclxuICAgICAgICAgICAgcmVjb3JkLnNlb19wYWdlX3RpdGxlLFxyXG4gICAgICAgICAgICByZWNvcmQuc2VvX2tleXdvcmRzLFxyXG4gICAgICAgICAgICByZWNvcmQuc2VvX2Rlc2NyaXB0aW9uLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcm9jZXNzZXMgbWVkaWEgaGVhZGluZyByZWNvcmRcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gcmVjb3JkIFJlY29yZCBmcm9tIGVTb2x2ZSBpbnN0YW5jZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHByb2Nlc3NIZWFkaW5nUmVjb3JkKHJlY29yZDogRXNvbHZlSGVhZGluZ1JlY29yZCk6IEVzb2x2ZUhlYWRpbmcge1xyXG4gICAgICAgIHJldHVybiBuZXcgRXNvbHZlSGVhZGluZyhcclxuICAgICAgICAgICAgcmVjb3JkLmlkZW50aWZpZXIsXHJcbiAgICAgICAgICAgIHJlY29yZC52YWx1ZVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRyaWV2ZXMgbWVkaWEgcmVjb3JkcyBmcm9tIGVTb2x2ZSBpbnN0YW5jZS5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gcGFyYW1zIEhUVFAgcGFyYW1zXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZ2V0TWVkaWFSZWNvcmRzKHBhcmFtczogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlTWVkaWFSZWNvcmRbXT4+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVNZWRpYVJlY29yZFtdPj4oXHJcbiAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1tZWRpYS5waHBgLFxyXG4gICAgICAgICAgICB7IHBhcmFtcyB9XHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export * from './esolve-heading.model';
|
|
2
|
-
export * from './esolve-heading-record.interface';
|
|
3
|
-
export * from './esolve-media-article.model';
|
|
4
|
-
export * from './esolve-media-record.interface';
|
|
5
|
-
export * from './esolve-media.service';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL21lZGlhL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLWhlYWRpbmcubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1oZWFkaW5nLXJlY29yZC5pbnRlcmZhY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1tZWRpYS1hcnRpY2xlLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtbWVkaWEtcmVjb3JkLmludGVyZmFjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLW1lZGlhLnNlcnZpY2UnO1xyXG4iXX0=
|