raain-app 1.6.2 → 1.6.4
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/CHANGELOG.md +16 -1
- package/README.md +7 -113
- package/esm2020/cache.service.mjs +4 -4
- package/esm2020/pipes.module.mjs +5 -5
- package/esm2020/profile-icon.directive.mjs +4 -4
- package/esm2020/profile.service.mjs +36 -6
- package/esm2020/raain-compare/raain-compare.component.mjs +4 -4
- package/esm2020/raain-compare-stack/raain-compare-stack.component.mjs +4 -4
- package/esm2020/raain-configuration/raain-configuration.component.mjs +4 -4
- package/esm2020/raain-date-dynamic/raain-date-dynamic.component.mjs +4 -4
- package/esm2020/raain-date-focus/raain-date-focus.component.mjs +4 -4
- package/esm2020/raain-details/raain-details.component.mjs +5 -4
- package/esm2020/raain-globe/raain-globe.component.mjs +4 -4
- package/esm2020/raain-map/raain-map.component.mjs +36 -8
- package/esm2020/raain-speed/raain-speed.component.mjs +4 -4
- package/esm2020/radar.service.mjs +4 -4
- package/esm2020/shared.module.mjs +6 -18
- package/esm2020/shared.pipe.mjs +40 -40
- package/esm2020/storage.service.mjs +4 -4
- package/esm2020/tools/RefreshManager.mjs +4 -2
- package/fesm2015/raain-app.mjs +161 -109
- package/fesm2015/raain-app.mjs.map +1 -1
- package/fesm2020/raain-app.mjs +158 -109
- package/fesm2020/raain-app.mjs.map +1 -1
- package/package.json +24 -25
- package/profile.service.d.ts +5 -1
- package/raain-map/raain-map.component.d.ts +3 -1
- package/tools/RefreshManager.d.ts +2 -0
- package/gh/lab/README.md +0 -20
- package/gh/sandbox/README.md +0 -23
- package/resources/README.md +0 -6
package/CHANGELOG.md
CHANGED
|
@@ -7,7 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- Cumulative period display
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
- Provider & TimeStep select
|
|
17
|
+
|
|
18
|
+
## [1.6.3] - 2025-10-13
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- Dependencies ^ => ~
|
|
23
|
+
- Map Speed button
|
|
24
|
+
|
|
25
|
+
## [1.6.2] - 2025-10-10
|
|
11
26
|
|
|
12
27
|
### Changed
|
|
13
28
|
|
package/README.md
CHANGED
|
@@ -19,7 +19,8 @@
|
|
|
19
19
|
|
|
20
20
|
## 📋 Overview
|
|
21
21
|
|
|
22
|
-
RAAIN App is
|
|
22
|
+
RAAIN App is an Angular-based application that makes rainfall data accessible, understandable, and actionable. It
|
|
23
|
+
provides users with tools to view, analyze, and work with RAAIN data through an intuitive interface.
|
|
23
24
|
|
|
24
25
|
### 🌧️ Why RAAIN App?
|
|
25
26
|
|
|
@@ -45,55 +46,11 @@ RAAIN App is a powerful Angular-based application that makes rainfall data acces
|
|
|
45
46
|
- Node.js and npm (check package.json for compatible versions)
|
|
46
47
|
- Angular CLI: `npm install -g @angular/cli`
|
|
47
48
|
|
|
48
|
-
### Installation
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
# Clone the repository
|
|
52
|
-
git clone [repository-url]
|
|
53
|
-
|
|
54
|
-
# Install dependencies
|
|
55
|
-
npm install
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
### Development Workflow
|
|
59
|
-
|
|
60
|
-
```bash
|
|
61
|
-
# Start the development server
|
|
62
|
-
npm start
|
|
63
|
-
|
|
64
|
-
# Run tests
|
|
65
|
-
npm test
|
|
66
|
-
|
|
67
|
-
# Build for production
|
|
68
|
-
npm run build
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
### Environment-Specific Development
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
# Sandbox environment
|
|
75
|
-
npm run start-sandbox
|
|
76
|
-
|
|
77
|
-
# Lab environment
|
|
78
|
-
npm run start-lab
|
|
79
|
-
|
|
80
|
-
# Production environment (default)
|
|
81
|
-
npm start
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
## 🛠️ Technologies
|
|
85
|
-
|
|
86
|
-
### Core Technologies
|
|
87
|
-
- **Angular**: Frontend framework
|
|
88
|
-
- **TypeScript**: Programming language
|
|
89
|
-
- **RxJS**: Reactive programming
|
|
90
|
-
- **SCSS**: Styling
|
|
91
|
-
|
|
92
49
|
### Key Dependencies
|
|
93
|
-
|
|
94
|
-
- **RAAIN
|
|
95
|
-
- **
|
|
96
|
-
- **
|
|
50
|
+
|
|
51
|
+
- **RAAIN Model**: Data models and business logic
|
|
52
|
+
- **RAAIN UI**: UI component library
|
|
53
|
+
- **Fidj Angular**: Auth components
|
|
97
54
|
|
|
98
55
|
## 🏗️ Architecture
|
|
99
56
|
|
|
@@ -105,15 +62,6 @@ The RAAIN App follows a typical Angular architecture with:
|
|
|
105
62
|
- **Models**: Define data structures using raain-model
|
|
106
63
|
- **UI Components**: Utilize raain-ui for consistent styling
|
|
107
64
|
|
|
108
|
-
### Design Patterns
|
|
109
|
-
|
|
110
|
-
- Component Pattern
|
|
111
|
-
- Service Pattern
|
|
112
|
-
- Dependency Injection
|
|
113
|
-
- Observable Pattern
|
|
114
|
-
- Repository Pattern
|
|
115
|
-
- Module Pattern
|
|
116
|
-
|
|
117
65
|
### Code Organization
|
|
118
66
|
|
|
119
67
|
```
|
|
@@ -130,67 +78,13 @@ src/
|
|
|
130
78
|
└── environments/
|
|
131
79
|
```
|
|
132
80
|
|
|
133
|
-
## 📈 Project Status
|
|
134
|
-
|
|
135
|
-
The application is in active development with a focus on stability, performance, and improved developer experience.
|
|
136
|
-
|
|
137
|
-
### Recent Accomplishments
|
|
138
|
-
- Updated dependencies (raain-model to 3.0.14, raain-ui to 2.3.14)
|
|
139
|
-
- Enhanced build pipeline automation scripts
|
|
140
|
-
- Updated ESLint configuration
|
|
141
|
-
- Improved cache and profile services
|
|
142
|
-
- Implemented Memory Bank for better project documentation
|
|
143
|
-
- Code cleanup and best practices implementation
|
|
144
|
-
|
|
145
|
-
### Version History
|
|
146
|
-
- **v1.5.26** (2025-06-26): Updated documentation and UI refactoring
|
|
147
|
-
- **v1.5.25** (2025-06-24): Updated raain-model to 3.0.14 and added progress bar
|
|
148
|
-
- **v1.5.24** (2025-06-16): Updated dependencies and enhanced build pipeline
|
|
149
|
-
- **v1.5.21** (2025-06-09): Minor updates and fixes
|
|
150
|
-
- **v1.5.20** (2025-06-09): Fixed compare functionality
|
|
151
|
-
- **v1.5.18** (2025-06-07): Minor updates
|
|
152
|
-
- **v1.5.17** (2025-06-04): Updated dependencies and added counts percents capabilities
|
|
153
|
-
- **v1.5.16** (2025-05-27): Updated dependencies and added build pipeline automation
|
|
154
|
-
- **v1.4.0** (2025-04-15): Added model offsets and limits
|
|
155
|
-
- **v1.3.0** (2025-03-10): Updated UI colors for better contrast and accessibility
|
|
156
|
-
- **v1.2.0** (2025-02-05): Refactored fidj implementation for better performance
|
|
157
|
-
- **v1.1.0** (2025): Refactored compare functionality for improved user experience
|
|
158
|
-
- **v1.0.0** (2024): Initial release with core functionality
|
|
159
|
-
|
|
160
81
|
## 📚 Documentation
|
|
161
82
|
|
|
162
|
-
### Memory Bank
|
|
163
|
-
|
|
164
|
-
This project uses a Memory Bank for comprehensive documentation and context retention. The Memory Bank is located in the
|
|
165
|
-
`.memory-bank` directory and contains the following files:
|
|
166
|
-
|
|
167
|
-
- `memory-bank-rules.md`: Rules to follow and to consider in all contexts
|
|
168
|
-
- `projectbrief.md`: Overview of the project, core requirements, and goals
|
|
169
|
-
- `productContext.md`: Why the project exists, problems it solves, and how it works
|
|
170
|
-
- `systemPatterns.md`: System architecture, key technical decisions, and design patterns
|
|
171
|
-
- `techContext.md`: Technologies used, development setup, and technical constraints
|
|
172
|
-
- `activeContext.md`: Current work focus, recent changes, and next steps
|
|
173
|
-
- `progress.md`: What works, what's left to build, and known issues
|
|
174
|
-
|
|
175
|
-
=> !! These files should always be considered as a context and keep up-to-date !!
|
|
176
|
-
|
|
177
|
-
### Additional Documentation
|
|
178
83
|
- For detailed feature information and version history, see the [CHANGELOG](./CHANGELOG.md).
|
|
179
84
|
|
|
180
|
-
## 👥 Contributing
|
|
181
|
-
|
|
182
|
-
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
183
|
-
|
|
184
|
-
### Development Guidelines
|
|
185
|
-
1. Fork the repository
|
|
186
|
-
2. Create your feature branch: `git checkout -b feature/amazing-feature`
|
|
187
|
-
3. Commit your changes: `git commit -m 'Add some amazing feature'`
|
|
188
|
-
4. Push to the branch: `git push origin feature/amazing-feature`
|
|
189
|
-
5. Open a Pull Request
|
|
190
|
-
|
|
191
85
|
## 📄 License
|
|
192
86
|
|
|
193
|
-
This project is
|
|
87
|
+
This project is private.
|
|
194
88
|
|
|
195
89
|
---
|
|
196
90
|
|
|
@@ -22,12 +22,12 @@ export class Cache {
|
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
Cache.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
26
|
-
Cache.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
25
|
+
Cache.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: Cache, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
26
|
+
Cache.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: Cache, providedIn: 'root' });
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: Cache, decorators: [{
|
|
28
28
|
type: Injectable,
|
|
29
29
|
args: [{
|
|
30
30
|
providedIn: 'root',
|
|
31
31
|
}]
|
|
32
32
|
}], ctorParameters: function () { return []; } });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL3NoYXJlZC9jYWNoZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBS3pDLE1BQU0sT0FBTyxLQUFLO0lBR2Q7UUFDSSxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU0sS0FBSyxDQUFDLFFBQVEsQ0FBSSxHQUFXLEVBQUUsV0FBNkI7UUFDL0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQ3pELE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsTUFBTSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1NBQzNDO2FBQU07WUFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNwQztRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQU0sQ0FBQztJQUNqQyxDQUFDO0lBRU0sUUFBUSxDQUFJLEdBQVcsRUFBRSxLQUFRO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBRXpCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzlELElBQUksTUFBTSxHQUFHLEVBQUUsRUFBRTtZQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsMENBQTBDLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDcEU7SUFDTCxDQUFDOztrR0F4QlEsS0FBSztzR0FBTCxLQUFLLGNBRkYsTUFBTTsyRkFFVCxLQUFLO2tCQUhqQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENhY2hlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jYWNoZTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5fY2FjaGUgPSB7fTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0VmFsdWU8VD4oa2V5OiBzdHJpbmcsIGFzeW5jR2V0dGVyOiAoKSA9PiBQcm9taXNlPFQ+KTogUHJvbWlzZTxUPiB7XG4gICAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRoaXMuX2NhY2hlLCBrZXkpKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnY2FjaGUgbm90IGRvbmU6ICcsIGtleSk7XG4gICAgICAgICAgICB0aGlzLnB1dFZhbHVlKGtleSwgYXdhaXQgYXN5bmNHZXR0ZXIoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnY2FjaGUgZG9uZTogJywga2V5KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fY2FjaGVba2V5XSBhcyBUO1xuICAgIH1cblxuICAgIHB1YmxpYyBwdXRWYWx1ZTxUPihrZXk6IHN0cmluZywgdmFsdWU6IFQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2FjaGVba2V5XSA9IHZhbHVlO1xuXG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMuX2NhY2hlKS5sZW5ndGg7XG4gICAgICAgIGlmIChsZW5ndGggPiAzMCkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdQYiBvbiBjYWNoZSBzaXplIGV4Y2VlZCA/IGRvIGEgcmVzdGFydCA/JywgbGVuZ3RoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
package/esm2020/pipes.module.mjs
CHANGED
|
@@ -3,8 +3,8 @@ import { AreInProgressPipe, AreReady, AreStopped, HasGoodQuality, HasNotGoodQual
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class PipesModule {
|
|
5
5
|
}
|
|
6
|
-
PipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
7
|
-
PipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.
|
|
6
|
+
PipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7
|
+
PipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: PipesModule, declarations: [AreStopped,
|
|
8
8
|
AreInProgressPipe,
|
|
9
9
|
AreReady,
|
|
10
10
|
IsReady,
|
|
@@ -29,8 +29,8 @@ PipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "1
|
|
|
29
29
|
HaveNotBeenRed,
|
|
30
30
|
TimeframeComputationProgress,
|
|
31
31
|
TimeframeQualityProgress] });
|
|
32
|
-
PipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
32
|
+
PipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PipesModule });
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PipesModule, decorators: [{
|
|
34
34
|
type: NgModule,
|
|
35
35
|
args: [{
|
|
36
36
|
declarations: [
|
|
@@ -65,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
65
65
|
],
|
|
66
66
|
}]
|
|
67
67
|
}] });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvcmUvc2hhcmVkL3BpcGVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLFVBQVUsRUFDVixjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxVQUFVLEVBQ1YsT0FBTyxFQUNQLGNBQWMsRUFDZCxhQUFhLEVBQ2IsNEJBQTRCLEVBQzVCLHdCQUF3QixFQUN4QixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7O0FBa0N2QixNQUFNLE9BQU8sV0FBVzs7d0dBQVgsV0FBVzt5R0FBWCxXQUFXLGlCQTlCaEIsVUFBVTtRQUNWLGlCQUFpQjtRQUNqQixRQUFRO1FBQ1IsT0FBTztRQUNQLFVBQVU7UUFDVixpQkFBaUI7UUFDakIsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixhQUFhO1FBQ2IsY0FBYztRQUNkLGNBQWM7UUFDZCw0QkFBNEI7UUFDNUIsd0JBQXdCLGFBR3hCLFVBQVU7UUFDVixpQkFBaUI7UUFDakIsUUFBUTtRQUNSLE9BQU87UUFDUCxVQUFVO1FBQ1YsaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsYUFBYTtRQUNiLGNBQWM7UUFDZCxjQUFjO1FBQ2QsNEJBQTRCO1FBQzVCLHdCQUF3Qjt5R0FHbkIsV0FBVzsyRkFBWCxXQUFXO2tCQWhDdkIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsVUFBVTt3QkFDVixpQkFBaUI7d0JBQ2pCLFFBQVE7d0JBQ1IsT0FBTzt3QkFDUCxVQUFVO3dCQUNWLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLDRCQUE0Qjt3QkFDNUIsd0JBQXdCO3FCQUMzQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsVUFBVTt3QkFDVixpQkFBaUI7d0JBQ2pCLFFBQVE7d0JBQ1IsT0FBTzt3QkFDUCxVQUFVO3dCQUNWLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLDRCQUE0Qjt3QkFDNUIsd0JBQXdCO3FCQUMzQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBcmVJblByb2dyZXNzUGlwZSxcbiAgICBBcmVSZWFkeSxcbiAgICBBcmVTdG9wcGVkLFxuICAgIEhhc0dvb2RRdWFsaXR5LFxuICAgIEhhc05vdEdvb2RRdWFsaXR5LFxuICAgIEhhdmVOb3RCZWVuUmVkLFxuICAgIElzTm90UmVhZHksXG4gICAgSXNSZWFkeSxcbiAgICBQcm9ncmVzc0J1ZmZlcixcbiAgICBQcm9ncmVzc1ZhbHVlLFxuICAgIFRpbWVmcmFtZUNvbXB1dGF0aW9uUHJvZ3Jlc3MsXG4gICAgVGltZWZyYW1lUXVhbGl0eVByb2dyZXNzLFxuICAgIFdhaXRGb3JWYWxpZGF0aW9uLFxufSBmcm9tICcuL3NoYXJlZC5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgQXJlU3RvcHBlZCxcbiAgICAgICAgQXJlSW5Qcm9ncmVzc1BpcGUsXG4gICAgICAgIEFyZVJlYWR5LFxuICAgICAgICBJc1JlYWR5LFxuICAgICAgICBJc05vdFJlYWR5LFxuICAgICAgICBXYWl0Rm9yVmFsaWRhdGlvbixcbiAgICAgICAgSGFzR29vZFF1YWxpdHksXG4gICAgICAgIEhhc05vdEdvb2RRdWFsaXR5LFxuICAgICAgICBQcm9ncmVzc1ZhbHVlLFxuICAgICAgICBQcm9ncmVzc0J1ZmZlcixcbiAgICAgICAgSGF2ZU5vdEJlZW5SZWQsXG4gICAgICAgIFRpbWVmcmFtZUNvbXB1dGF0aW9uUHJvZ3Jlc3MsXG4gICAgICAgIFRpbWVmcmFtZVF1YWxpdHlQcm9ncmVzcyxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgQXJlU3RvcHBlZCxcbiAgICAgICAgQXJlSW5Qcm9ncmVzc1BpcGUsXG4gICAgICAgIEFyZVJlYWR5LFxuICAgICAgICBJc1JlYWR5LFxuICAgICAgICBJc05vdFJlYWR5LFxuICAgICAgICBXYWl0Rm9yVmFsaWRhdGlvbixcbiAgICAgICAgSGFzR29vZFF1YWxpdHksXG4gICAgICAgIEhhc05vdEdvb2RRdWFsaXR5LFxuICAgICAgICBQcm9ncmVzc1ZhbHVlLFxuICAgICAgICBQcm9ncmVzc0J1ZmZlcixcbiAgICAgICAgSGF2ZU5vdEJlZW5SZWQsXG4gICAgICAgIFRpbWVmcmFtZUNvbXB1dGF0aW9uUHJvZ3Jlc3MsXG4gICAgICAgIFRpbWVmcmFtZVF1YWxpdHlQcm9ncmVzcyxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQaXBlc01vZHVsZSB7fVxuIl19
|
|
@@ -132,12 +132,12 @@ export class ProfileIconDirective {
|
|
|
132
132
|
return false;
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
|
-
ProfileIconDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
136
|
-
ProfileIconDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.
|
|
137
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
135
|
+
ProfileIconDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ProfileIconDirective, deps: [{ token: i0.ElementRef }, { token: i1.ProfileService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Directive });
|
|
136
|
+
ProfileIconDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: ProfileIconDirective, selector: "ion-toolbar", ngImport: i0 });
|
|
137
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ProfileIconDirective, decorators: [{
|
|
138
138
|
type: Directive,
|
|
139
139
|
args: [{
|
|
140
140
|
selector: 'ion-toolbar',
|
|
141
141
|
}]
|
|
142
142
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ProfileService }, { type: i2.Router }]; } });
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1pY29uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL3NoYXJlZC9wcm9maWxlLWljb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWdDLE1BQU0sZUFBZSxDQUFDOzs7O0FBSXZFLDBFQUEwRTtBQUMxRSxTQUFTLEtBQUssQ0FBQyxFQUFVO0lBQ3JCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBS0QsTUFBTSxPQUFPLG9CQUFvQjtJQU03QixZQUNZLEVBQWMsRUFDZCxjQUE4QixFQUM5QixNQUFjO1FBRmQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTGxCLGdCQUFXLEdBQVksSUFBSSxDQUFDO0lBTWpDLENBQUM7SUFFSixRQUFRO1FBQ0osMEVBQTBFO1FBQzFFLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRTtZQUMzRCx5Q0FBeUM7WUFDekMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUU3QyxvQ0FBb0M7WUFDcEMsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM3RCxjQUFjLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztZQUUvQyxvQkFBb0I7WUFDcEIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUVwRCxpQ0FBaUM7WUFDakMsSUFBSSxDQUFDLGFBQWEs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QUFDO2FBQ25GO1NBQ0o7SUFDTCxDQUFDO0lBRUQsMERBQTBEO0lBQ2xELGFBQWE7UUFDakIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO1FBRWpELGlFQUFpRTtRQUNqRSxPQUFPLE1BQU0sRUFBRTtZQUNYLElBQUksTUFBTSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxLQUFLLFdBQVcsRUFBRTtnQkFDaEUsT0FBTyxJQUFJLENBQUM7YUFDZjtZQUNELE1BQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO1NBQ2pDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs7a0hBM0pRLG9CQUFvQjtzR0FBcEIsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGFBQWE7aUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UHJvZmlsZVNlcnZpY2V9IGZyb20gJy4vcHJvZmlsZS5zZXJ2aWNlJztcbmltcG9ydCB7Um91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gcGF1c2UgZXhlY3V0aW9uIGZvciBhIHNwZWNpZmllZCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuZnVuY3Rpb24gc2xlZXAobXM6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2lvbi10b29sYmFyJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZmlsZUljb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSByZWZyZXNoVGltZXI6IGFueTtcbiAgICBwcml2YXRlIHByb2ZpbGVCdXR0b246IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgc2tlbGV0b25UZXh0OiBIVE1MRWxlbWVudDtcbiAgICBwcml2YXRlIGlzQ29ubmVjdGVkOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHByb2ZpbGVTZXJ2aWNlOiBQcm9maWxlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxuICAgICkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvLyBDaGVjayBpZiB0aGUgdXNlciBpcyBsb2dnZWQgaW4gYW5kIGlmIHRoZSB0b29sYmFyIGlzIG5vdCBpbnNpZGUgYSBtb2RhbFxuICAgICAgICBpZiAodGhpcy5wcm9maWxlU2VydmljZS5pc0xvZ2dlZEluKCkgJiYgIXRoaXMuaXNJbnNpZGVNb2RhbCgpKSB7XG4gICAgICAgICAgICAvLyBHZXQgdGhlIGVtYWlsIGZyb20gdGhlIHByb2ZpbGUgc2VydmljZVxuICAgICAgICAgICAgY29uc3QgZW1haWwgPSB0aGlzLnByb2ZpbGVTZXJ2aWNlLmdldEVtYWlsKCk7XG5cbiAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgcHJvZmlsZSBidXR0b24gZWxlbWVudFxuICAgICAgICAgICAgY29uc3QgcHJvZmlsZUJ1dHRvbnMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpb24tYnV0dG9ucycpO1xuICAgICAgICAgICAgcHJvZmlsZUJ1dHRvbnMuc2V0QXR0cmlidXRlKCdzbG90JywgJ3ByaW1hcnknKTtcblxuICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBidXR0b25cbiAgICAgICAgICAgIGNvbnN0IGJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lvbi1idXR0b24nKTtcblxuICAgICAgICAgICAgLy8gU3RvcmUgcmVmZXJlbmNlcyBmb3IgbGF0ZXIgdXNlXG4gICAgICAgICAgICB0aGlzLnByb2ZpbGVCdXR0b24gPSBidXR0b247XG5cbiAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgc2tlbGV0b24gdGV4dCBlbGVtZW50IChoaWRkZW4gaW5pdGlhbGx5KVxuICAgICAgICAgICAgY29uc3Qgc2tlbGV0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpb24tc2tlbGV0b24tdGV4dCcpO1xuICAgICAgICAgICAgc2tlbGV0b24uc2V0QXR0cmlidXRlKCdhbmltYXRlZCcsICd0cnVlJyk7XG4gICAgICAgICAgICBza2VsZXRvbi5zdHlsZS53aWR0aCA9ICcxMDBweCc7XG4gICAgICAgICAgICBza2VsZXRvbi5zdHlsZS5oZWlnaHQgPSAnMjBweCc7XG4gICAgICAgICAgICBza2VsZXRvbi5zdHlsZS5ib3JkZXJSYWRpdXMgPSAnNHB4JztcbiAgICAgICAgICAgIHNrZWxldG9uLnN0eWxlLm1hcmdpbiA9ICc4cHggMTZweCc7XG4gICAgICAgICAgICBza2VsZXRvbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuXG4gICAgICAgICAgICAvLyBTdG9yZSByZWZlcmVuY2UgdG8gdGhlIHNrZWxldG9uIHRleHRcbiAgICAgICAgICAgIHRoaXMuc2tlbGV0b25UZXh0ID0gc2tlbGV0b247XG5cbiAgICAgICAgICAgIC8vIEFkZCB0aGUgc2tlbGV0b24gdGV4dCB0byB0aGUgYnV0dG9ucyBjb250YWluZXJcbiAgICAgICAgICAgIHByb2ZpbGVCdXR0b25zLmFwcGVuZENoaWxkKHNrZWxldG9uKTtcblxuICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBpY29uXG4gICAgICAgICAgICBjb25zdCBpY29uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW9uLWljb24nKTtcbiAgICAgICAgICAgIGljb24uc2V0QXR0cmlidXRlKCduYW1lJywgJ3BlcnNvbi1jaXJjbGUtb3V0bGluZScpO1xuICAgICAgICAgICAgaWNvbi5zZXRBdHRyaWJ1dGUoJ3Nsb3QnLCAnc3RhcnQnKTtcblxuICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBsYWJlbFxuICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpb24tbGFiZWwnKTtcbiAgICAgICAgICAgIGxhYmVsLnRleHRDb250ZW50ID0gZW1haWw7XG5cbiAgICAgICAgICAgIC8vIEFzc2VtYmxlIHRoZSBidXR0b25cbiAgICAgICAgICAgIGJ1dHRvbi5hcHBlbmRDaGlsZChpY29uKTtcbiAgICAgICAgICAgIGJ1dHRvbi5hcHBlbmRDaGlsZChsYWJlbCk7XG5cbiAgICAgICAgICAgIC8vIEFkZCBjbGljayBldmVudCBsaXN0ZW5lciB0byB0aGUgYnV0dG9uXG4gICAgICAgICAgICBidXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZVRvUHJvZmlsZSgpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIC8vIEFzc2VtYmxlIHRoZSBidXR0b25zIGNvbnRhaW5lclxuICAgICAgICAgICAgcHJvZmlsZUJ1dHRvbnMuYXBwZW5kQ2hpbGQoYnV0dG9uKTtcblxuICAgICAgICAgICAgLy8gQXBwZW5kIHRoZSBidXR0b25zIHRvIHRoZSB0b29sYmFyXG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQocHJvZmlsZUJ1dHRvbnMpO1xuXG4gICAgICAgICAgICAvLyBTdGFydCB0aGUgYmFja2dyb3VuZCByZWZyZXNoIHRpbWVyIChjaGVjayBldmVyeSBtaW51dGUpXG4gICAgICAgICAgICB0aGlzLnN0YXJ0QmFja2dyb3VuZFJlZnJlc2goKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICAvLyBDbGVhciB0aGUgdGltZXIgd2hlbiB0aGUgZGlyZWN0aXZlIGlzIGRlc3Ryb3llZFxuICAgICAgICBpZiAodGhpcy5yZWZyZXNoVGltZXIpIHtcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5yZWZyZXNoVGltZXIpO1xuICAgICAgICAgICAgdGhpcy5yZWZyZXNoVGltZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmF2aWdhdGVUb1Byb2ZpbGUoKSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9wcm9maWxlJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGFydEJhY2tncm91bmRSZWZyZXNoKCkge1xuICAgICAgICB0aGlzLnJlZnJlc2hUaW1lciA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tBbmRSZWZyZXNoQ29ubmVjdGlvbigpO1xuICAgICAgICB9LCAyMDAwMCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0FuZFJlZnJlc2hDb25uZWN0aW9uKCkge1xuICAgICAgICB0aGlzLnBlcmZvcm1Db25uZWN0aW9uUmVmcmVzaCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2hvd1NrZWxldG9uVGV4dCgpIHtcbiAgICAgICAgaWYgKHRoaXMuc2tlbGV0b25UZXh0ICYmIHRoaXMucHJvZmlsZUJ1dHRvbikge1xuICAgICAgICAgICAgdGhpcy5wcm9maWxlQnV0dG9uLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgICAgICB0aGlzLnNrZWxldG9uVGV4dC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGlkZVNrZWxldG9uVGV4dCgpIHtcbiAgICAgICAgaWYgKHRoaXMuc2tlbGV0b25UZXh0ICYmIHRoaXMucHJvZmlsZUJ1dHRvbikge1xuICAgICAgICAgICAgdGhpcy5wcm9maWxlQnV0dG9uLnN0eWxlLmRpc3BsYXkgPSAnZmxleCc7XG4gICAgICAgICAgICB0aGlzLnNrZWxldG9uVGV4dC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBwZXJmb3JtQ29ubmVjdGlvblJlZnJlc2goKSB7XG4gICAgICAgIC8vIFNob3cgc2tlbGV0b24gdGV4dCBhbmQgaGlkZSBidXR0b24gZHVyaW5nIGxvYWRpbmdcbiAgICAgICAgdGhpcy5zaG93U2tlbGV0b25UZXh0KCk7XG5cbiAgICAgICAgLy8gQ29ubmVjdGlvbiBzdWNjZXNzZnVsXG4gICAgICAgIHRoaXMuaXNDb25uZWN0ZWQgPSBhd2FpdCB0aGlzLnByb2ZpbGVTZXJ2aWNlLmlzQ29ubmVjdGVkKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNDb25uZWN0ZWQpIHtcbiAgICAgICAgICAgIC8vIENhbGwgdGhlIHJlZnJlc2ggZnVuY3Rpb25cbiAgICAgICAgICAgIGlmICh0aGlzLnByb2ZpbGVTZXJ2aWNlLm5lZWRzQ29ubmVjdGlvblJlZnJlc2goKSkge1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucHJvZmlsZVNlcnZpY2UuY29ubmVjdGlvblJlZnJlc2goKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGF3YWl0IHNsZWVwKDEwMDApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudXBkYXRlQnV0dG9uU3RhdGUoKTtcblxuICAgICAgICAvLyBIaWRlIHNrZWxldG9uIHRleHQgYW5kIHNob3cgYnV0dG9uIHdoZW4gbG9hZGluZyBpcyBjb21wbGV0ZVxuICAgICAgICB0aGlzLmhpZGVTa2VsZXRvblRleHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUJ1dHRvblN0YXRlKCkge1xuICAgICAgICBpZiAodGhpcy5wcm9maWxlQnV0dG9uKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc0Nvbm5lY3RlZCkge1xuICAgICAgICAgICAgICAgIC8vIEVuYWJsZSBidXR0b25cbiAgICAgICAgICAgICAgICB0aGlzLnByb2ZpbGVCdXR0b24ucmVtb3ZlQXR0cmlidXRlKCdkaXNhYmxlZCcpO1xuICAgICAgICAgICAgICAgIHRoaXMucHJvZmlsZUJ1dHRvbi5yZW1vdmVBdHRyaWJ1dGUoJ3RpdGxlJyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIERpc2FibGUgYnV0dG9uIGFuZCBhZGQgdG9vbHRpcFxuICAgICAgICAgICAgICAgIHRoaXMucHJvZmlsZUJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgJ3RydWUnKTtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2ZpbGVCdXR0b24uc2V0QXR0cmlidXRlKCd0aXRsZScsICdQcm9maWxlIHVuYXZhaWxhYmxlIC0gTm8gY29ubmVjdGlvbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSGVscGVyIG1ldGhvZCB0byBjaGVjayBpZiB0aGUgdG9vbGJhciBpcyBpbnNpZGUgYSBtb2RhbFxuICAgIHByaXZhdGUgaXNJbnNpZGVNb2RhbCgpOiBib29sZWFuIHtcbiAgICAgICAgbGV0IHBhcmVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O1xuXG4gICAgICAgIC8vIFRyYXZlcnNlIHVwIHRoZSBET00gdHJlZSB0byBmaW5kIGlmIGFueSBwYXJlbnQgaXMgYW4gaW9uLW1vZGFsXG4gICAgICAgIHdoaWxlIChwYXJlbnQpIHtcbiAgICAgICAgICAgIGlmIChwYXJlbnQudGFnTmFtZSAmJiBwYXJlbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW9uLW1vZGFsJykge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGFyZW50ID0gcGFyZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuIl19
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1pY29uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL3NoYXJlZC9wcm9maWxlLWljb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWdDLE1BQU0sZUFBZSxDQUFDOzs7O0FBSXZFLDBFQUEwRTtBQUMxRSxTQUFTLEtBQUssQ0FBQyxFQUFVO0lBQ3JCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBS0QsTUFBTSxPQUFPLG9CQUFvQjtJQU03QixZQUNZLEVBQWMsRUFDZCxjQUE4QixFQUM5QixNQUFjO1FBRmQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTGxCLGdCQUFXLEdBQVksSUFBSSxDQUFDO0lBTWpDLENBQUM7SUFFSixRQUFRO1FBQ0osMEVBQTBFO1FBQzFFLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRTtZQUMzRCx5Q0FBeUM7WUFDekMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUU3QyxvQ0FBb0M7WUFDcEMsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM3RCxjQUFjLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztZQUUvQyxvQkFBb0I7WUFDcEIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUVwRCxpQ0FBaUM7WUFDakMsSUFBSSxDQUFDLGFBQWEs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QUFDO2FBQ25GO1NBQ0o7SUFDTCxDQUFDO0lBRUQsMERBQTBEO0lBQ2xELGFBQWE7UUFDakIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO1FBRWpELGlFQUFpRTtRQUNqRSxPQUFPLE1BQU0sRUFBRTtZQUNYLElBQUksTUFBTSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxLQUFLLFdBQVcsRUFBRTtnQkFDaEUsT0FBTyxJQUFJLENBQUM7YUFDZjtZQUNELE1BQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO1NBQ2pDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs7aUhBM0pRLG9CQUFvQjtxR0FBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGFBQWE7aUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UHJvZmlsZVNlcnZpY2V9IGZyb20gJy4vcHJvZmlsZS5zZXJ2aWNlJztcbmltcG9ydCB7Um91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gcGF1c2UgZXhlY3V0aW9uIGZvciBhIHNwZWNpZmllZCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuZnVuY3Rpb24gc2xlZXAobXM6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2lvbi10b29sYmFyJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZmlsZUljb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSByZWZyZXNoVGltZXI6IGFueTtcbiAgICBwcml2YXRlIHByb2ZpbGVCdXR0b246IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgc2tlbGV0b25UZXh0OiBIVE1MRWxlbWVudDtcbiAgICBwcml2YXRlIGlzQ29ubmVjdGVkOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHByb2ZpbGVTZXJ2aWNlOiBQcm9maWxlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxuICAgICkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvLyBDaGVjayBpZiB0aGUgdXNlciBpcyBsb2dnZWQgaW4gYW5kIGlmIHRoZSB0b29sYmFyIGlzIG5vdCBpbnNpZGUgYSBtb2RhbFxuICAgICAgICBpZiAodGhpcy5wcm9maWxlU2VydmljZS5pc0xvZ2dlZEluKCkgJiYgIXRoaXMuaXNJbnNpZGVNb2RhbCgpKSB7XG4gICAgICAgICAgICAvLyBHZXQgdGhlIGVtYWlsIGZyb20gdGhlIHByb2ZpbGUgc2VydmljZVxuICAgICAgICAgICAgY29uc3QgZW1haWwgPSB0aGlzLnByb2ZpbGVTZXJ2aWNlLmdldEVtYWlsKCk7XG5cbiAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgcHJvZmlsZSBidXR0b24gZWxlbWVudFxuICAgICAgICAgICAgY29uc3QgcHJvZmlsZUJ1dHRvbnMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpb24tYnV0dG9ucycpO1xuICAgICAgICAgICAgcHJvZmlsZUJ1dHRvbnMuc2V0QXR0cmlidXRlKCdzbG90JywgJ3ByaW1hcnknKTtcblxuICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBidXR0b25cbiAgICAgICAgICAgIGNvbnN0IGJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lvbi1idXR0b24nKTtcblxuICAgICAgICAgICAgLy8gU3RvcmUgcmVmZXJlbmNlcyBmb3IgbGF0ZXIgdXNlXG4gICAgICAgICAgICB0aGlzLnByb2ZpbGVCdXR0b24gPSBidXR0b247XG5cbiAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgc2tlbGV0b24gdGV4dCBlbGVtZW50IChoaWRkZW4gaW5pdGlhbGx5KVxuICAgICAgICAgICAgY29uc3Qgc2tlbGV0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpb24tc2tlbGV0b24tdGV4dCcpO1xuICAgICAgICAgICAgc2tlbGV0b24uc2V0QXR0cmlidXRlKCdhbmltYXRlZCcsICd0cnVlJyk7XG4gICAgICAgICAgICBza2VsZXRvbi5zdHlsZS53aWR0aCA9ICcxMDBweCc7XG4gICAgICAgICAgICBza2VsZXRvbi5zdHlsZS5oZWlnaHQgPSAnMjBweCc7XG4gICAgICAgICAgICBza2VsZXRvbi5zdHlsZS5ib3JkZXJSYWRpdXMgPSAnNHB4JztcbiAgICAgICAgICAgIHNrZWxldG9uLnN0eWxlLm1hcmdpbiA9ICc4cHggMTZweCc7XG4gICAgICAgICAgICBza2VsZXRvbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuXG4gICAgICAgICAgICAvLyBTdG9yZSByZWZlcmVuY2UgdG8gdGhlIHNrZWxldG9uIHRleHRcbiAgICAgICAgICAgIHRoaXMuc2tlbGV0b25UZXh0ID0gc2tlbGV0b247XG5cbiAgICAgICAgICAgIC8vIEFkZCB0aGUgc2tlbGV0b24gdGV4dCB0byB0aGUgYnV0dG9ucyBjb250YWluZXJcbiAgICAgICAgICAgIHByb2ZpbGVCdXR0b25zLmFwcGVuZENoaWxkKHNrZWxldG9uKTtcblxuICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBpY29uXG4gICAgICAgICAgICBjb25zdCBpY29uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW9uLWljb24nKTtcbiAgICAgICAgICAgIGljb24uc2V0QXR0cmlidXRlKCduYW1lJywgJ3BlcnNvbi1jaXJjbGUtb3V0bGluZScpO1xuICAgICAgICAgICAgaWNvbi5zZXRBdHRyaWJ1dGUoJ3Nsb3QnLCAnc3RhcnQnKTtcblxuICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBsYWJlbFxuICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpb24tbGFiZWwnKTtcbiAgICAgICAgICAgIGxhYmVsLnRleHRDb250ZW50ID0gZW1haWw7XG5cbiAgICAgICAgICAgIC8vIEFzc2VtYmxlIHRoZSBidXR0b25cbiAgICAgICAgICAgIGJ1dHRvbi5hcHBlbmRDaGlsZChpY29uKTtcbiAgICAgICAgICAgIGJ1dHRvbi5hcHBlbmRDaGlsZChsYWJlbCk7XG5cbiAgICAgICAgICAgIC8vIEFkZCBjbGljayBldmVudCBsaXN0ZW5lciB0byB0aGUgYnV0dG9uXG4gICAgICAgICAgICBidXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZVRvUHJvZmlsZSgpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIC8vIEFzc2VtYmxlIHRoZSBidXR0b25zIGNvbnRhaW5lclxuICAgICAgICAgICAgcHJvZmlsZUJ1dHRvbnMuYXBwZW5kQ2hpbGQoYnV0dG9uKTtcblxuICAgICAgICAgICAgLy8gQXBwZW5kIHRoZSBidXR0b25zIHRvIHRoZSB0b29sYmFyXG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQocHJvZmlsZUJ1dHRvbnMpO1xuXG4gICAgICAgICAgICAvLyBTdGFydCB0aGUgYmFja2dyb3VuZCByZWZyZXNoIHRpbWVyIChjaGVjayBldmVyeSBtaW51dGUpXG4gICAgICAgICAgICB0aGlzLnN0YXJ0QmFja2dyb3VuZFJlZnJlc2goKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICAvLyBDbGVhciB0aGUgdGltZXIgd2hlbiB0aGUgZGlyZWN0aXZlIGlzIGRlc3Ryb3llZFxuICAgICAgICBpZiAodGhpcy5yZWZyZXNoVGltZXIpIHtcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5yZWZyZXNoVGltZXIpO1xuICAgICAgICAgICAgdGhpcy5yZWZyZXNoVGltZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmF2aWdhdGVUb1Byb2ZpbGUoKSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9wcm9maWxlJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGFydEJhY2tncm91bmRSZWZyZXNoKCkge1xuICAgICAgICB0aGlzLnJlZnJlc2hUaW1lciA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tBbmRSZWZyZXNoQ29ubmVjdGlvbigpO1xuICAgICAgICB9LCAyMDAwMCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0FuZFJlZnJlc2hDb25uZWN0aW9uKCkge1xuICAgICAgICB0aGlzLnBlcmZvcm1Db25uZWN0aW9uUmVmcmVzaCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2hvd1NrZWxldG9uVGV4dCgpIHtcbiAgICAgICAgaWYgKHRoaXMuc2tlbGV0b25UZXh0ICYmIHRoaXMucHJvZmlsZUJ1dHRvbikge1xuICAgICAgICAgICAgdGhpcy5wcm9maWxlQnV0dG9uLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgICAgICB0aGlzLnNrZWxldG9uVGV4dC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGlkZVNrZWxldG9uVGV4dCgpIHtcbiAgICAgICAgaWYgKHRoaXMuc2tlbGV0b25UZXh0ICYmIHRoaXMucHJvZmlsZUJ1dHRvbikge1xuICAgICAgICAgICAgdGhpcy5wcm9maWxlQnV0dG9uLnN0eWxlLmRpc3BsYXkgPSAnZmxleCc7XG4gICAgICAgICAgICB0aGlzLnNrZWxldG9uVGV4dC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBwZXJmb3JtQ29ubmVjdGlvblJlZnJlc2goKSB7XG4gICAgICAgIC8vIFNob3cgc2tlbGV0b24gdGV4dCBhbmQgaGlkZSBidXR0b24gZHVyaW5nIGxvYWRpbmdcbiAgICAgICAgdGhpcy5zaG93U2tlbGV0b25UZXh0KCk7XG5cbiAgICAgICAgLy8gQ29ubmVjdGlvbiBzdWNjZXNzZnVsXG4gICAgICAgIHRoaXMuaXNDb25uZWN0ZWQgPSBhd2FpdCB0aGlzLnByb2ZpbGVTZXJ2aWNlLmlzQ29ubmVjdGVkKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNDb25uZWN0ZWQpIHtcbiAgICAgICAgICAgIC8vIENhbGwgdGhlIHJlZnJlc2ggZnVuY3Rpb25cbiAgICAgICAgICAgIGlmICh0aGlzLnByb2ZpbGVTZXJ2aWNlLm5lZWRzQ29ubmVjdGlvblJlZnJlc2goKSkge1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucHJvZmlsZVNlcnZpY2UuY29ubmVjdGlvblJlZnJlc2goKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGF3YWl0IHNsZWVwKDEwMDApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudXBkYXRlQnV0dG9uU3RhdGUoKTtcblxuICAgICAgICAvLyBIaWRlIHNrZWxldG9uIHRleHQgYW5kIHNob3cgYnV0dG9uIHdoZW4gbG9hZGluZyBpcyBjb21wbGV0ZVxuICAgICAgICB0aGlzLmhpZGVTa2VsZXRvblRleHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUJ1dHRvblN0YXRlKCkge1xuICAgICAgICBpZiAodGhpcy5wcm9maWxlQnV0dG9uKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc0Nvbm5lY3RlZCkge1xuICAgICAgICAgICAgICAgIC8vIEVuYWJsZSBidXR0b25cbiAgICAgICAgICAgICAgICB0aGlzLnByb2ZpbGVCdXR0b24ucmVtb3ZlQXR0cmlidXRlKCdkaXNhYmxlZCcpO1xuICAgICAgICAgICAgICAgIHRoaXMucHJvZmlsZUJ1dHRvbi5yZW1vdmVBdHRyaWJ1dGUoJ3RpdGxlJyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIERpc2FibGUgYnV0dG9uIGFuZCBhZGQgdG9vbHRpcFxuICAgICAgICAgICAgICAgIHRoaXMucHJvZmlsZUJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgJ3RydWUnKTtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2ZpbGVCdXR0b24uc2V0QXR0cmlidXRlKCd0aXRsZScsICdQcm9maWxlIHVuYXZhaWxhYmxlIC0gTm8gY29ubmVjdGlvbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSGVscGVyIG1ldGhvZCB0byBjaGVjayBpZiB0aGUgdG9vbGJhciBpcyBpbnNpZGUgYSBtb2RhbFxuICAgIHByaXZhdGUgaXNJbnNpZGVNb2RhbCgpOiBib29sZWFuIHtcbiAgICAgICAgbGV0IHBhcmVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O1xuXG4gICAgICAgIC8vIFRyYXZlcnNlIHVwIHRoZSBET00gdHJlZSB0byBmaW5kIGlmIGFueSBwYXJlbnQgaXMgYW4gaW9uLW1vZGFsXG4gICAgICAgIHdoaWxlIChwYXJlbnQpIHtcbiAgICAgICAgICAgIGlmIChwYXJlbnQudGFnTmFtZSAmJiBwYXJlbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW9uLW1vZGFsJykge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGFyZW50ID0gcGFyZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuIl19
|