webpack-dev-server 3.1.6 → 3.1.10

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.
@@ -1,152 +0,0 @@
1
- 'use strict';
2
-
3
- /* eslint no-param-reassign: 'off' */
4
-
5
- const optionsSchema = require('./optionsSchema.json');
6
-
7
- const indent = (str, prefix, firstLine) => {
8
- if (firstLine) {
9
- return prefix + str.replace(/\n(?!$)/g, `\n${prefix}`);
10
- }
11
- return str.replace(/\n(?!$)/g, `\n${prefix}`);
12
- };
13
-
14
- const getSchemaPart = (path, parents, additionalPath) => {
15
- parents = parents || 0;
16
- path = path.split('/');
17
- path = path.slice(0, path.length - parents);
18
- if (additionalPath) {
19
- additionalPath = additionalPath.split('/');
20
- path = path.concat(additionalPath);
21
- }
22
- let schemaPart = optionsSchema;
23
- for (let i = 1; i < path.length; i++) {
24
- const inner = schemaPart[path[i]];
25
- if (inner) { schemaPart = inner; }
26
- }
27
- return schemaPart;
28
- };
29
-
30
- const getSchemaPartText = (schemaPart, additionalPath) => {
31
- if (additionalPath) {
32
- for (let i = 0; i < additionalPath.length; i++) {
33
- const inner = schemaPart[additionalPath[i]];
34
- if (inner) { schemaPart = inner; }
35
- }
36
- }
37
- while (schemaPart.$ref) schemaPart = getSchemaPart(schemaPart.$ref);
38
- let schemaText = OptionsValidationError.formatSchema(schemaPart); // eslint-disable-line
39
- if (schemaPart.description) { schemaText += `\n${schemaPart.description}`; }
40
- return schemaText;
41
- };
42
-
43
- class OptionsValidationError extends Error {
44
- constructor(validationErrors) {
45
- super();
46
-
47
- if (Error.hasOwnProperty('captureStackTrace')) { // eslint-disable-line
48
- Error.captureStackTrace(this, this.constructor);
49
- }
50
- this.name = 'WebpackDevServerOptionsValidationError';
51
-
52
- this.message = `${'Invalid configuration object. ' +
53
- 'webpack-dev-server has been initialised using a configuration object that does not match the API schema.\n'}${
54
- validationErrors.map(err => ` - ${indent(OptionsValidationError.formatValidationError(err), ' ', false)}`).join('\n')}`;
55
- this.validationErrors = validationErrors;
56
- }
57
-
58
- static formatSchema(schema, prevSchemas) {
59
- prevSchemas = prevSchemas || [];
60
-
61
- const formatInnerSchema = (innerSchema, addSelf) => {
62
- if (!addSelf) return OptionsValidationError.formatSchema(innerSchema, prevSchemas);
63
- if (prevSchemas.indexOf(innerSchema) >= 0) return '(recursive)';
64
- return OptionsValidationError.formatSchema(innerSchema, prevSchemas.concat(schema));
65
- };
66
-
67
- if (schema.type === 'string') {
68
- if (schema.minLength === 1) { return 'non-empty string'; } else if (schema.minLength > 1) { return `string (min length ${schema.minLength})`; }
69
- return 'string';
70
- } else if (schema.type === 'boolean') {
71
- return 'boolean';
72
- } else if (schema.type === 'number') {
73
- return 'number';
74
- } else if (schema.type === 'object') {
75
- if (schema.properties) {
76
- const required = schema.required || [];
77
- return `object { ${Object.keys(schema.properties).map((property) => {
78
- if (required.indexOf(property) < 0) return `${property}?`;
79
- return property;
80
- }).concat(schema.additionalProperties ? ['...'] : []).join(', ')} }`;
81
- }
82
- if (schema.additionalProperties) {
83
- return `object { <key>: ${formatInnerSchema(schema.additionalProperties)} }`;
84
- }
85
- return 'object';
86
- } else if (schema.type === 'array') {
87
- return `[${formatInnerSchema(schema.items)}]`;
88
- }
89
-
90
- switch (schema.instanceof) {
91
- case 'Function':
92
- return 'function';
93
- case 'RegExp':
94
- return 'RegExp';
95
- default:
96
- }
97
-
98
- if (schema.$ref) return formatInnerSchema(getSchemaPart(schema.$ref), true);
99
- if (schema.allOf) return schema.allOf.map(formatInnerSchema).join(' & ');
100
- if (schema.oneOf) return schema.oneOf.map(formatInnerSchema).join(' | ');
101
- if (schema.anyOf) return schema.anyOf.map(formatInnerSchema).join(' | ');
102
- if (schema.enum) return schema.enum.map(item => JSON.stringify(item)).join(' | ');
103
- return JSON.stringify(schema, 0, 2);
104
- }
105
-
106
- static formatValidationError(err) {
107
- const dataPath = `configuration${err.dataPath}`;
108
- if (err.keyword === 'additionalProperties') {
109
- return `${dataPath} has an unknown property '${err.params.additionalProperty}'. These properties are valid:\n${getSchemaPartText(err.parentSchema)}`;
110
- } else if (err.keyword === 'oneOf' || err.keyword === 'anyOf') {
111
- if (err.children && err.children.length > 0) {
112
- return `${dataPath} should be one of these:\n${getSchemaPartText(err.parentSchema)}\n` +
113
- `Details:\n${err.children.map(e => ` * ${indent(OptionsValidationError.formatValidationError(e), ' ', false)}`).join('\n')}`;
114
- }
115
- return `${dataPath} should be one of these:\n${getSchemaPartText(err.parentSchema)}`;
116
- } else if (err.keyword === 'enum') {
117
- if (err.parentSchema && err.parentSchema.enum && err.parentSchema.enum.length === 1) {
118
- return `${dataPath} should be ${getSchemaPartText(err.parentSchema)}`;
119
- }
120
- return `${dataPath} should be one of these:\n${getSchemaPartText(err.parentSchema)}`;
121
- } else if (err.keyword === 'allOf') {
122
- return `${dataPath} should be:\n${getSchemaPartText(err.parentSchema)}`;
123
- } else if (err.keyword === 'type') {
124
- switch (err.params.type) {
125
- case 'object':
126
- return `${dataPath} should be an object.`;
127
- case 'string':
128
- return `${dataPath} should be a string.`;
129
- case 'boolean':
130
- return `${dataPath} should be a boolean.`;
131
- case 'number':
132
- return `${dataPath} should be a number.`;
133
- case 'array':
134
- return `${dataPath} should be an array:\n${getSchemaPartText(err.parentSchema)}`;
135
- default:
136
- }
137
- return `${dataPath} should be ${err.params.type}:\n${getSchemaPartText(err.parentSchema)}`;
138
- } else if (err.keyword === 'instanceof') {
139
- return `${dataPath} should be an instance of ${getSchemaPartText(err.parentSchema)}.`;
140
- } else if (err.keyword === 'required') {
141
- const missingProperty = err.params.missingProperty.replace(/^\./, '');
142
- return `${dataPath} misses the property '${missingProperty}'.\n${getSchemaPartText(err.parentSchema, ['properties', missingProperty])}`;
143
- } else if (err.keyword === 'minLength' || err.keyword === 'minItems') {
144
- if (err.params.limit === 1) { return `${dataPath} should not be empty.`; }
145
- return `${dataPath} ${err.message}`;
146
- }
147
- // eslint-disable-line no-fallthrough
148
- return `${dataPath} ${err.message} (${JSON.stringify(err, 0, 2)}).\n${getSchemaPartText(err.parentSchema)}`;
149
- }
150
- }
151
-
152
- module.exports = OptionsValidationError;
package/lib/createLog.js DELETED
@@ -1,19 +0,0 @@
1
- 'use strict';
2
-
3
- const weblog = require('webpack-log');
4
-
5
- module.exports = function createLog(options) {
6
- let logLevel = options.logLevel || 'info';
7
- if (options.quiet === true) {
8
- logLevel = 'silent';
9
- }
10
- if (options.noInfo === true) {
11
- logLevel = 'warn';
12
- }
13
-
14
- return weblog({
15
- level: logLevel,
16
- name: 'wds',
17
- timestamp: options.logTime
18
- });
19
- };
@@ -1,350 +0,0 @@
1
- {
2
- "additionalProperties": false,
3
- "properties": {
4
- "hot": {
5
- "description": "Enables Hot Module Replacement.",
6
- "type": "boolean"
7
- },
8
- "hotOnly": {
9
- "description": "Enables Hot Module Replacement without page refresh as fallback.",
10
- "type": "boolean"
11
- },
12
- "lazy": {
13
- "description": "Disables watch mode and recompiles bundle only on a request.",
14
- "type": "boolean"
15
- },
16
- "bonjour": {
17
- "description": "Publishes the ZeroConf DNS service",
18
- "type": "boolean"
19
- },
20
- "host": {
21
- "description": "The host the server listens to.",
22
- "type": "string"
23
- },
24
- "allowedHosts": {
25
- "description": "Specifies which hosts are allowed to access the dev server.",
26
- "items": {
27
- "type": "string"
28
- },
29
- "type": "array"
30
- },
31
- "filename": {
32
- "description": "The filename that needs to be requested in order to trigger a recompile (only in lazy mode).",
33
- "anyOf": [
34
- {
35
- "instanceof": "RegExp"
36
- },
37
- {
38
- "type": "string"
39
- },
40
- {
41
- "instanceof": "Function"
42
- }
43
- ]
44
- },
45
- "publicPath": {
46
- "description": "URL path where the webpack files are served from.",
47
- "type": "string"
48
- },
49
- "port": {
50
- "description": "The port the server listens to.",
51
- "anyOf": [
52
- {
53
- "type": "number"
54
- },
55
- {
56
- "type": "string"
57
- }
58
- ]
59
- },
60
- "socket": {
61
- "description": "The Unix socket to listen to (instead of on a host).",
62
- "type": "string"
63
- },
64
- "watchOptions": {
65
- "description": "Options for changing the watch behavior.",
66
- "type": "object"
67
- },
68
- "headers": {
69
- "description": "Response headers that are added to each response.",
70
- "type": "object"
71
- },
72
- "logLevel": {
73
- "description": "Log level in the terminal/console (trace, debug, info, warn, error or silent)",
74
- "enum": [
75
- "trace",
76
- "debug",
77
- "info",
78
- "warn",
79
- "error",
80
- "silent"
81
- ]
82
- },
83
- "clientLogLevel": {
84
- "description": "Controls the log messages shown in the browser.",
85
- "enum": [
86
- "none",
87
- "info",
88
- "warning",
89
- "error"
90
- ]
91
- },
92
- "overlay": {
93
- "description": "Shows an error overlay in browser.",
94
- "anyOf": [
95
- {
96
- "type": "boolean"
97
- },
98
- {
99
- "type": "object",
100
- "properties": {
101
- "errors": {
102
- "type": "boolean"
103
- },
104
- "warnings": {
105
- "type": "boolean"
106
- }
107
- }
108
- }
109
- ]
110
- },
111
- "progress": {
112
- "description": "Shows compilation progress in browser console.",
113
- "type": "boolean"
114
- },
115
- "key": {
116
- "description": "The contents of a SSL key.",
117
- "anyOf": [
118
- {
119
- "type": "string"
120
- },
121
- {
122
- "instanceof": "Buffer"
123
- }
124
- ]
125
- },
126
- "cert": {
127
- "description": "The contents of a SSL certificate.",
128
- "anyOf": [
129
- {
130
- "type": "string"
131
- },
132
- {
133
- "instanceof": "Buffer"
134
- }
135
- ]
136
- },
137
- "ca": {
138
- "description": "The contents of a SSL CA certificate.",
139
- "anyOf": [
140
- {
141
- "type": "string"
142
- },
143
- {
144
- "instanceof": "Buffer"
145
- }
146
- ]
147
- },
148
- "pfx": {
149
- "description": "The contents of a SSL pfx file.",
150
- "anyOf": [
151
- {
152
- "type": "string"
153
- },
154
- {
155
- "instanceof": "Buffer"
156
- }
157
- ]
158
- },
159
- "pfxPassphrase": {
160
- "description": "The passphrase to a (SSL) PFX file.",
161
- "type": "string"
162
- },
163
- "requestCert": {
164
- "description": "Enables request for client certificate. This is passed directly to the https server.",
165
- "type": "boolean"
166
- },
167
- "inline": {
168
- "description": "Enable inline mode to include client scripts in bundle (CLI-only).",
169
- "type": "boolean"
170
- },
171
- "disableHostCheck": {
172
- "description": "Disable the Host header check (Security).",
173
- "type": "boolean"
174
- },
175
- "public": {
176
- "description": "The public hostname/ip address of the server.",
177
- "type": "string"
178
- },
179
- "https": {
180
- "description": "Enable HTTPS for server.",
181
- "anyOf": [
182
- {
183
- "type": "object"
184
- },
185
- {
186
- "type": "boolean"
187
- }
188
- ]
189
- },
190
- "contentBase": {
191
- "description": "A directory to serve files non-webpack files from.",
192
- "anyOf": [
193
- {
194
- "items": {
195
- "type": "string"
196
- },
197
- "minItems": 1,
198
- "type": "array"
199
- },
200
- {
201
- "enum": [
202
- false
203
- ]
204
- },
205
- {
206
- "type": "number"
207
- },
208
- {
209
- "type": "string"
210
- }
211
- ]
212
- },
213
- "watchContentBase": {
214
- "description": "Watches the contentBase directory for changes.",
215
- "type": "boolean"
216
- },
217
- "open": {
218
- "description": "Let the CLI open your browser with the URL.",
219
- "anyOf": [
220
- {
221
- "type": "string"
222
- },
223
- {
224
- "type": "boolean"
225
- }
226
- ]
227
- },
228
- "useLocalIp": {
229
- "description": "Let the browser open with your local IP.",
230
- "type": "boolean"
231
- },
232
- "openPage": {
233
- "description": "Let the CLI open your browser to a specific page on the site.",
234
- "type": "string"
235
- },
236
- "features": {
237
- "description": "The order of which the features will be triggered.",
238
- "items": {
239
- "type": "string"
240
- },
241
- "type": "array"
242
- },
243
- "compress": {
244
- "description": "Gzip compression for all requests.",
245
- "type": "boolean"
246
- },
247
- "proxy": {
248
- "description": "Proxy requests to another server.",
249
- "anyOf": [
250
- {
251
- "items": {
252
- "anyOf": [
253
- {
254
- "type": "object"
255
- },
256
- {
257
- "instanceof": "Function"
258
- }
259
- ]
260
- },
261
- "minItems": 1,
262
- "type": "array"
263
- },
264
- {
265
- "type": "object"
266
- }
267
- ]
268
- },
269
- "historyApiFallback": {
270
- "description": "404 fallback to a specified file.",
271
- "anyOf": [
272
- {
273
- "type": "boolean"
274
- },
275
- {
276
- "type": "object"
277
- }
278
- ]
279
- },
280
- "staticOptions": {
281
- "description": "Options for static files served with contentBase.",
282
- "type": "object"
283
- },
284
- "setup": {
285
- "description": "Exposes the Express server to add custom middleware or routes.",
286
- "instanceof": "Function"
287
- },
288
- "before": {
289
- "description": "Exposes the Express server to add custom middleware or routes before webpack-dev-middleware will be added.",
290
- "instanceof": "Function"
291
- },
292
- "after": {
293
- "description": "Exposes the Express server to add custom middleware or routes after webpack-dev-middleware got added.",
294
- "instanceof": "Function"
295
- },
296
- "stats": {
297
- "description": "Decides what bundle information is displayed.",
298
- "anyOf": [
299
- {
300
- "type": "object"
301
- },
302
- {
303
- "type": "boolean"
304
- },
305
- {
306
- "enum": [
307
- "none",
308
- "errors-only",
309
- "minimal",
310
- "normal",
311
- "verbose"
312
- ]
313
- }
314
- ]
315
- },
316
- "reporter": {
317
- "description": "Customize what the console displays when compiling.",
318
- "instanceof": "Function"
319
- },
320
- "logTime": {
321
- "description": "Report time before and after compiling in console displays.",
322
- "type": "boolean"
323
- },
324
- "noInfo": {
325
- "description": "Hide all info messages on console.",
326
- "type": "boolean"
327
- },
328
- "quiet": {
329
- "description": "Hide all messages on console.",
330
- "type": "boolean"
331
- },
332
- "serverSideRender": {
333
- "description": "Expose stats for server side rendering (experimental).",
334
- "type": "boolean"
335
- },
336
- "index": {
337
- "description": "The filename that is considered the index file.",
338
- "type": "string"
339
- },
340
- "log": {
341
- "description": "Customize info logs for webpack-dev-middleware.",
342
- "instanceof": "Function"
343
- },
344
- "warn": {
345
- "description": "Customize warn logs for webpack-dev-middleware.",
346
- "instanceof": "Function"
347
- }
348
- },
349
- "type": "object"
350
- }
@@ -1,44 +0,0 @@
1
- 'use strict';
2
-
3
- /* eslint no-param-reassign: 'off' */
4
-
5
- const createDomain = require('./createDomain');
6
-
7
- module.exports = function addDevServerEntrypoints(webpackOptions, devServerOptions, listeningApp) {
8
- if (devServerOptions.inline !== false) {
9
- // we're stubbing the app in this method as it's static and doesn't require
10
- // a listeningApp to be supplied. createDomain requires an app with the
11
- // address() signature.
12
- const app = listeningApp || {
13
- address() {
14
- return { port: devServerOptions.port };
15
- }
16
- };
17
- const domain = createDomain(devServerOptions, app);
18
- const devClient = [`${require.resolve('../../client/')}?${domain}`];
19
-
20
- if (devServerOptions.hotOnly) {
21
- devClient.push(require.resolve('webpack/hot/only-dev-server'));
22
- } else if (devServerOptions.hot) {
23
- devClient.push(require.resolve('webpack/hot/dev-server'));
24
- }
25
-
26
- const prependDevClient = (entry) => {
27
- if (typeof entry === 'function') {
28
- return () => Promise.resolve(entry()).then(prependDevClient);
29
- }
30
- if (typeof entry === 'object' && !Array.isArray(entry)) {
31
- const entryClone = {};
32
- Object.keys(entry).forEach((key) => {
33
- entryClone[key] = devClient.concat(entry[key]);
34
- });
35
- return entryClone;
36
- }
37
- return devClient.concat(entry);
38
- };
39
-
40
- [].concat(webpackOptions).forEach((wpOpt) => {
41
- wpOpt.entry = prependDevClient(wpOpt.entry || './src');
42
- });
43
- }
44
- };
@@ -1,23 +0,0 @@
1
- 'use strict';
2
-
3
- const url = require('url');
4
- const internalIp = require('internal-ip');
5
-
6
-
7
- module.exports = function createDomain(options, listeningApp) {
8
- const protocol = options.https ? 'https' : 'http';
9
- const appPort = listeningApp ? listeningApp.address().port : 0;
10
- const port = options.socket ? 0 : appPort;
11
- const hostname = options.useLocalIp ? internalIp.v4() : options.host;
12
-
13
- // use explicitly defined public url (prefix with protocol if not explicitly given)
14
- if (options.public) {
15
- return /^[a-zA-Z]+:\/\//.test(options.public) ? `${options.public}` : `${protocol}://${options.public}`;
16
- }
17
- // the formatted domain (url without path) of the webpack server
18
- return url.format({
19
- protocol,
20
- hostname,
21
- port
22
- });
23
- };
package/ssl/server.pem DELETED
@@ -1,46 +0,0 @@
1
- -----BEGIN RSA PRIVATE KEY-----
2
- MIIEowIBAAKCAQEA6AtLs6BPCd6bMl5CMTbO12m6aKIlNUc1tvPgeVwvTQ8mu3Mh
3
- o2/8BnLUaZRt0A/z4cmP7A8XnJlarFQdMz5L361uJ57DdPUGF/76R77A7qIDxt7Y
4
- 5g7isGuDurg8iVzRKNvYZG6qf4F4Tyz5ANNcTwDHJF4Xklp+P4Sr56reDqzrM6Cs
5
- i4x4qjZLehAsBhn8cVM9WVujATB6MZtb+97Ua7sZ93cJu2McD3uGlM1rWOaLSK/4
6
- /HJPAqi/3Kctx8/iM14X+kRh/i6KltrD73nWsu5oKEq8/WdsVvQXRIxbXn37EqjC
7
- QXqJ1dUm2rG2Ih3v7Tkq6YVWHW+OGSd5Nek9jwIDAQABAoIBAQC7JvElrXRSJ4LQ
8
- +wk0HFpzj0jTv4N3FzoRl11DRMC5zDCXG2LUKSwCH3eGuDphh5xSTXmRERMgMOfa
9
- +fSbMfGMNJsVxY0rtbv2eqZuW0HMtkuJiI8z7mmTlQOoA5R/zaa856P+TOui70+T
10
- vFgQ/GgFKEF16ZXlaqtMm7rynPOArRnI/24v9UOyLCvC3dLXUPovqUUNC82vjf7z
11
- S0x0Qv1dfEHQTpix6R3oOGWxnvJvaZHWDReix9aypelQAlda+Via4sNz7EbhbdeK
12
- B24bJXxxhcofqR3ciUp2rDgCCwKHqzQiLtWOnxRDGxo4vMY5dvvZ4Vex1rP8H34a
13
- uHi26itxAoGBAPe6JLgsVu1rgclHaYDuJYmXqPequAzgE3UPS9k0mCwV+b9Bte7z
14
- fSdigAdBcLYx+LAbVedT3GF+ZMcOocRfBpsZ2pfK3JbCLFo8pUuFqj+Dc8mOhq9X
15
- RgDf7DlNcachRVm7CGSnRHIu9hCERPsqS5+zT1J433H+6mIHttaOuGR7AoGBAO/L
16
- E3FqazynHV0JO/wJZa8p96ma1gUFhL+eYa8CIgGckG6c1s6MBylQfvD3LxWxqB5E
17
- OfhR2NzkfwoQ8hcx8FhAxoJVDD6XH9WDvTk++GG2SFH0lC+P/eA0bJoBM8T+QuiM
18
- qgE5+/Xf7U9fGU6Yo0emTrEgjzxRpa2pFhwS/tD9AoGAJug4XiiwmmdZIfiyTEqa
19
- 4KpOIl/QukzzIV5+piWJhNsKt4wle9sIHAhvXTRc9HCSw233pvZX1YQZZd4ZcBMQ
20
- oYmE+HQnAxKKDr4Zo+vhWkpWBCD7bEyDtR12J2XPZNVn4/jpD43pxRk1ElED2ILD
21
- D9kEq0pKpcfIng7iG36c3UMCgYA/sqFCknNUFExfh3FwvQpO4oYQfrn1cYbW4/qs
22
- 45Mm/HD9gRoqmdXZKrHdzruqNpwjFhqUFSHXY7c/dErq0HA48VQKEQ+EnN5u+GTO
23
- jSSryCEj7CVlEQnugd6LdmBLJwOdBKiwVLfSk55VZDyzvSY6hToIIU8LReEN5Ymj
24
- AYTA/QKBgGceaBcS3xrhYLhLOkM6I2a4R/co1MBfWA40/X6Oi8m7BH3RY+HNm8H6
25
- PgZaws7Jd2Di2i9S35OoFC9XfJ2MO4UTzHVNeHWguL0PDA8doY2vDRVrzEOdLNyW
26
- g8mBL+5EXOsE27tA4fqErhxxVz9+RtYLmoxJfXkrHY/l5YTEN1RW
27
- -----END RSA PRIVATE KEY-----
28
- -----BEGIN CERTIFICATE-----
29
- MIIDJjCCAg6gAwIBAgIJKw91+Uk1gjlVMA0GCSqGSIb3DQEBCwUAMBQxEjAQBgNV
30
- BAMTCWxvY2FsaG9zdDAeFw0xODA4MjYwNjM2NDZaFw0xODA5MjUwNjM2NDZaMBQx
31
- EjAQBgNVBAMTCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
32
- ggEBAOgLS7OgTwnemzJeQjE2ztdpumiiJTVHNbbz4HlcL00PJrtzIaNv/AZy1GmU
33
- bdAP8+HJj+wPF5yZWqxUHTM+S9+tbieew3T1Bhf++ke+wO6iA8be2OYO4rBrg7q4
34
- PIlc0Sjb2GRuqn+BeE8s+QDTXE8AxyReF5Jafj+Eq+eq3g6s6zOgrIuMeKo2S3oQ
35
- LAYZ/HFTPVlbowEwejGbW/ve1Gu7Gfd3CbtjHA97hpTNa1jmi0iv+PxyTwKov9yn
36
- LcfP4jNeF/pEYf4uipbaw+951rLuaChKvP1nbFb0F0SMW159+xKowkF6idXVJtqx
37
- tiId7+05KumFVh1vjhkneTXpPY8CAwEAAaN7MHkwDAYDVR0TBAUwAwEB/zALBgNV
38
- HQ8EBAMCAvQwXAYDVR0RBFUwU4IJbG9jYWxob3N0ghVsb2NhbGhvc3QubG9jYWxk
39
- b21haW6CBmx2aC5tZYIIKi5sdmgubWWCBVs6OjFdhwR/AAABhxD+gAAAAAAAAAAA
40
- AAAAAAABMA0GCSqGSIb3DQEBCwUAA4IBAQDO6rt/+1w53YWU5vZEToIYo/+6AHHy
41
- oIDhWJ//7dU6TxC+kFFN/0ZFStKOjsa9+WP0m1WHvqWn3qQU3mHZsKreVbH9A30C
42
- zilKFj61bSrnzl4/xlL0pp3fo8pXDMuOzcARTXR5xmf+uVx5onEsypeB8xOR1Qh4
43
- Ng1D+f+JrmxkCvX4b0SG7LxC+6KKpnZeur/Njjv1SIZwVVDesn5Q3SCvUeYh0cEE
44
- RVqz4nEr2XHeGzdUXDC7yNCm9ke8YI3r4zoIE7lpNO1/dON7GfNMs5SCI1Am9tPf
45
- GCQ40ZKkUu/9vJ3VaOkBpmuut8RhsPPBR3hujGIqhk5wi9S+PLlwgevF
46
- -----END CERTIFICATE-----