pdfjs-dist 2.1.266 → 2.5.207
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.
Potentially problematic release.
This version of pdfjs-dist might be problematic. Click here for more details.
- package/CODE_OF_CONDUCT.md +15 -0
- package/README.md +4 -0
- package/bower.json +1 -1
- package/build/pdf.js +8382 -18492
- package/build/pdf.js.map +1 -1
- package/build/pdf.min.js +22 -1
- package/build/pdf.worker.entry.js +5 -3
- package/build/pdf.worker.js +20417 -29816
- package/build/pdf.worker.js.map +1 -1
- package/build/pdf.worker.min.js +22 -1
- package/es5/build/pdf.js +25688 -0
- package/es5/build/pdf.js.map +1 -0
- package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
- package/es5/build/pdf.worker.js +58239 -0
- package/es5/build/pdf.worker.js.map +1 -0
- package/es5/web/images/annotation-check.svg +11 -0
- package/es5/web/images/annotation-comment.svg +16 -0
- package/es5/web/images/annotation-help.svg +26 -0
- package/es5/web/images/annotation-insert.svg +10 -0
- package/es5/web/images/annotation-key.svg +11 -0
- package/es5/web/images/annotation-newparagraph.svg +11 -0
- package/es5/web/images/annotation-noicon.svg +7 -0
- package/es5/web/images/annotation-note.svg +42 -0
- package/es5/web/images/annotation-paragraph.svg +16 -0
- package/es5/web/images/loading-icon.gif +0 -0
- package/es5/web/images/shadow.png +0 -0
- package/es5/web/images/texture.png +0 -0
- package/es5/web/pdf_viewer.css +403 -0
- package/es5/web/pdf_viewer.js +7742 -0
- package/es5/web/pdf_viewer.js.map +1 -0
- package/image_decoders/pdf.image_decoders.js +1475 -4897
- package/image_decoders/pdf.image_decoders.js.map +1 -1
- package/image_decoders/pdf.image_decoders.min.js +22 -1
- package/lib/README.md +7 -0
- package/lib/core/annotation.js +750 -899
- package/lib/core/arithmetic_decoder.js +81 -97
- package/lib/core/bidi.js +54 -46
- package/lib/core/ccitt.js +88 -81
- package/lib/core/ccitt_stream.js +15 -14
- package/lib/core/cff_parser.js +235 -183
- package/lib/core/charsets.js +4 -4
- package/lib/core/chunked_stream.js +447 -542
- package/lib/core/cmap.js +222 -264
- package/lib/core/colorspace.js +699 -863
- package/lib/core/core_utils.js +152 -0
- package/lib/core/crypto.js +379 -437
- package/lib/core/document.js +573 -660
- package/lib/core/encodings.js +15 -15
- package/lib/core/evaluator.js +1103 -868
- package/lib/core/font_renderer.js +135 -178
- package/lib/core/fonts.js +570 -491
- package/lib/core/function.js +291 -288
- package/lib/core/glyphlist.js +4527 -4526
- package/lib/core/image.js +145 -149
- package/lib/core/image_utils.js +170 -0
- package/lib/core/jbig2.js +325 -316
- package/lib/core/jbig2_stream.js +18 -17
- package/lib/core/jpeg_stream.js +21 -26
- package/lib/core/jpg.js +284 -232
- package/lib/core/jpx.js +161 -143
- package/lib/core/jpx_stream.js +28 -28
- package/lib/core/metrics.js +2929 -2929
- package/lib/core/murmurhash3.js +90 -101
- package/lib/core/obj.js +1183 -1157
- package/lib/core/operator_list.js +99 -67
- package/lib/core/parser.js +972 -911
- package/lib/core/pattern.js +87 -70
- package/lib/core/pdf_manager.js +150 -315
- package/lib/core/primitives.js +83 -56
- package/lib/core/ps_parser.js +175 -214
- package/lib/core/standard_fonts.js +237 -236
- package/lib/core/stream.js +94 -74
- package/lib/core/type1_parser.js +87 -69
- package/lib/core/unicode.js +1654 -1654
- package/lib/core/worker.js +193 -390
- package/lib/core/worker_stream.js +168 -0
- package/lib/display/annotation_layer.js +741 -972
- package/lib/display/api.js +1500 -1791
- package/lib/display/api_compatibility.js +12 -17
- package/lib/display/canvas.js +165 -165
- package/lib/display/content_disposition.js +40 -59
- package/lib/display/display_utils.js +515 -0
- package/lib/display/fetch_stream.js +183 -298
- package/lib/display/font_loader.js +273 -413
- package/lib/display/metadata.js +86 -98
- package/lib/display/network.js +266 -359
- package/lib/display/network_utils.js +25 -18
- package/lib/display/node_stream.js +285 -458
- package/lib/display/pattern_helper.js +113 -65
- package/lib/display/svg.js +1166 -901
- package/lib/display/text_layer.js +156 -132
- package/lib/display/transport_stream.js +262 -278
- package/lib/display/webgl.js +70 -83
- package/lib/display/worker_options.js +3 -3
- package/lib/display/xml_parser.js +303 -392
- package/lib/examples/node/domstubs.js +40 -37
- package/lib/pdf.js +226 -59
- package/lib/pdf.worker.js +14 -6
- package/lib/shared/compatibility.js +3 -246
- package/lib/shared/is_node.js +7 -6
- package/lib/shared/message_handler.js +327 -332
- package/lib/shared/util.js +266 -416
- package/lib/test/unit/annotation_spec.js +1555 -701
- package/lib/test/unit/api_spec.js +802 -604
- package/lib/test/unit/bidi_spec.js +7 -7
- package/lib/test/unit/cff_parser_spec.js +84 -69
- package/lib/test/unit/clitests_helper.js +7 -9
- package/lib/test/unit/cmap_spec.js +74 -76
- package/lib/test/unit/colorspace_spec.js +166 -161
- package/lib/test/unit/core_utils_spec.js +211 -0
- package/lib/test/unit/crypto_spec.js +181 -181
- package/lib/test/unit/custom_spec.js +20 -22
- package/lib/test/unit/display_svg_spec.js +34 -39
- package/lib/test/unit/display_utils_spec.js +263 -0
- package/lib/test/unit/document_spec.js +16 -21
- package/lib/test/unit/encodings_spec.js +12 -34
- package/lib/test/unit/evaluator_spec.js +83 -83
- package/lib/test/unit/fetch_stream_spec.js +111 -0
- package/lib/test/unit/function_spec.js +206 -204
- package/lib/test/unit/jasmine-boot.js +46 -30
- package/lib/test/unit/message_handler_spec.js +173 -159
- package/lib/test/unit/metadata_spec.js +69 -69
- package/lib/test/unit/murmurhash3_spec.js +12 -12
- package/lib/test/unit/network_spec.js +13 -61
- package/lib/test/unit/network_utils_spec.js +183 -119
- package/lib/test/unit/node_stream_spec.js +78 -92
- package/lib/test/unit/parser_spec.js +172 -114
- package/lib/test/unit/pdf_find_controller_spec.js +55 -86
- package/lib/test/unit/pdf_find_utils_spec.js +32 -32
- package/lib/test/unit/pdf_history_spec.js +32 -32
- package/lib/test/unit/primitives_spec.js +140 -125
- package/lib/test/unit/stream_spec.js +16 -14
- package/lib/test/unit/test_utils.js +131 -143
- package/lib/test/unit/testreporter.js +19 -19
- package/lib/test/unit/type1_parser_spec.js +42 -42
- package/lib/test/unit/ui_utils_spec.js +297 -459
- package/lib/test/unit/unicode_spec.js +38 -38
- package/lib/test/unit/util_spec.js +121 -305
- package/lib/web/annotation_layer_builder.js +66 -103
- package/lib/web/app.js +1328 -1214
- package/lib/web/app_options.js +105 -107
- package/lib/web/base_viewer.js +824 -838
- package/lib/web/chromecom.js +165 -252
- package/lib/web/debugger.js +149 -205
- package/lib/web/download_manager.js +39 -55
- package/lib/web/firefox_print_service.js +37 -27
- package/lib/web/firefoxcom.js +212 -363
- package/lib/web/genericcom.js +26 -108
- package/lib/web/genericl10n.js +24 -153
- package/lib/web/grab_to_pan.js +32 -30
- package/lib/web/interfaces.js +80 -254
- package/lib/web/overlay_manager.js +70 -246
- package/lib/web/password_prompt.js +38 -64
- package/lib/web/pdf_attachment_viewer.js +113 -131
- package/lib/web/pdf_cursor_tools.js +75 -102
- package/lib/web/pdf_document_properties.js +221 -306
- package/lib/web/pdf_find_bar.js +136 -170
- package/lib/web/pdf_find_controller.js +491 -548
- package/lib/web/pdf_find_utils.js +13 -13
- package/lib/web/pdf_history.js +397 -406
- package/lib/web/pdf_link_service.js +304 -348
- package/lib/web/pdf_outline_viewer.js +140 -175
- package/lib/web/pdf_page_view.js +452 -523
- package/lib/web/pdf_presentation_mode.js +308 -357
- package/lib/web/pdf_print_service.js +90 -104
- package/lib/web/pdf_rendering_queue.js +84 -108
- package/lib/web/pdf_sidebar.js +276 -306
- package/lib/web/pdf_sidebar_resizer.js +92 -119
- package/lib/web/pdf_single_page_viewer.js +77 -126
- package/lib/web/pdf_thumbnail_view.js +276 -297
- package/lib/web/pdf_thumbnail_viewer.js +186 -206
- package/lib/web/pdf_viewer.component.js +20 -21
- package/lib/web/pdf_viewer.js +55 -115
- package/lib/web/preferences.js +82 -286
- package/lib/web/secondary_toolbar.js +164 -196
- package/lib/web/text_layer_builder.js +282 -339
- package/lib/web/toolbar.js +217 -210
- package/lib/web/ui_utils.js +267 -420
- package/lib/web/view_history.js +52 -226
- package/lib/web/viewer_compatibility.js +21 -6
- package/package.json +2 -9
- package/web/pdf_viewer.css +35 -25
- package/web/pdf_viewer.js +3489 -4855
- package/web/pdf_viewer.js.map +1 -1
- package/webpack.js +14 -5
- package/external/streams/streams-lib.js +0 -3962
- package/external/url/url-lib.js +0 -627
- package/lib/display/dom_utils.js +0 -494
- package/lib/shared/streams_polyfill.js +0 -43
- package/lib/shared/url_polyfill.js +0 -56
- package/lib/test/unit/dom_utils_spec.js +0 -89
package/lib/web/app_options.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
* @licstart The following is the entire license notice for the
|
3
3
|
* Javascript code in this page
|
4
4
|
*
|
5
|
-
* Copyright
|
5
|
+
* Copyright 2020 Mozilla Foundation
|
6
6
|
*
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
8
|
* you may not use this file except in compliance with the License.
|
@@ -26,33 +26,31 @@ Object.defineProperty(exports, "__esModule", {
|
|
26
26
|
});
|
27
27
|
exports.OptionKind = exports.AppOptions = void 0;
|
28
28
|
|
29
|
-
var
|
29
|
+
var _viewer_compatibility = require("./viewer_compatibility.js");
|
30
30
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
38
|
-
|
39
|
-
var OptionKind = {
|
40
|
-
VIEWER: 'viewer',
|
41
|
-
API: 'api',
|
42
|
-
WORKER: 'worker'
|
31
|
+
const OptionKind = {
|
32
|
+
VIEWER: 0x02,
|
33
|
+
API: 0x04,
|
34
|
+
WORKER: 0x08,
|
35
|
+
PREFERENCE: 0x80
|
43
36
|
};
|
44
37
|
exports.OptionKind = OptionKind;
|
45
|
-
|
38
|
+
const defaultOptions = {
|
46
39
|
cursorToolOnLoad: {
|
47
40
|
value: 0,
|
48
|
-
kind: OptionKind.VIEWER
|
41
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
49
42
|
},
|
50
43
|
defaultUrl: {
|
51
|
-
value:
|
44
|
+
value: "compressed.tracemonkey-pldi-09.pdf",
|
52
45
|
kind: OptionKind.VIEWER
|
53
46
|
},
|
54
47
|
defaultZoomValue: {
|
55
|
-
value:
|
48
|
+
value: "",
|
49
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
50
|
+
},
|
51
|
+
disableCreateObjectURL: {
|
52
|
+
value: false,
|
53
|
+
compatibility: _viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL,
|
56
54
|
kind: OptionKind.VIEWER
|
57
55
|
},
|
58
56
|
disableHistory: {
|
@@ -61,34 +59,38 @@ var defaultOptions = {
|
|
61
59
|
},
|
62
60
|
disablePageLabels: {
|
63
61
|
value: false,
|
64
|
-
kind: OptionKind.VIEWER
|
62
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
65
63
|
},
|
66
|
-
|
64
|
+
enablePermissions: {
|
67
65
|
value: false,
|
68
|
-
kind: OptionKind.VIEWER
|
66
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
69
67
|
},
|
70
|
-
|
68
|
+
enablePrintAutoRotate: {
|
71
69
|
value: false,
|
72
|
-
kind: OptionKind.VIEWER
|
70
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
73
71
|
},
|
74
|
-
|
72
|
+
enableWebGL: {
|
75
73
|
value: false,
|
76
|
-
kind: OptionKind.VIEWER
|
74
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
77
75
|
},
|
78
76
|
externalLinkRel: {
|
79
|
-
value:
|
77
|
+
value: "noopener noreferrer nofollow",
|
80
78
|
kind: OptionKind.VIEWER
|
81
79
|
},
|
82
80
|
externalLinkTarget: {
|
83
81
|
value: 0,
|
84
|
-
kind: OptionKind.VIEWER
|
82
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
85
83
|
},
|
86
84
|
historyUpdateUrl: {
|
87
85
|
value: false,
|
88
|
-
kind: OptionKind.VIEWER
|
86
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
87
|
+
},
|
88
|
+
ignoreDestinationZoom: {
|
89
|
+
value: false,
|
90
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
89
91
|
},
|
90
92
|
imageResourcesPath: {
|
91
|
-
value:
|
93
|
+
value: "./images/",
|
92
94
|
kind: OptionKind.VIEWER
|
93
95
|
},
|
94
96
|
maxCanvasPixels: {
|
@@ -98,66 +100,73 @@ var defaultOptions = {
|
|
98
100
|
},
|
99
101
|
pdfBugEnabled: {
|
100
102
|
value: false,
|
103
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
104
|
+
},
|
105
|
+
printResolution: {
|
106
|
+
value: 150,
|
101
107
|
kind: OptionKind.VIEWER
|
102
108
|
},
|
103
109
|
renderer: {
|
104
|
-
value:
|
105
|
-
kind: OptionKind.VIEWER
|
110
|
+
value: "canvas",
|
111
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
106
112
|
},
|
107
113
|
renderInteractiveForms: {
|
108
114
|
value: false,
|
109
|
-
kind: OptionKind.VIEWER
|
115
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
110
116
|
},
|
111
117
|
sidebarViewOnLoad: {
|
112
118
|
value: -1,
|
113
|
-
kind: OptionKind.VIEWER
|
119
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
114
120
|
},
|
115
121
|
scrollModeOnLoad: {
|
116
122
|
value: -1,
|
117
|
-
kind: OptionKind.VIEWER
|
123
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
118
124
|
},
|
119
125
|
spreadModeOnLoad: {
|
120
126
|
value: -1,
|
121
|
-
kind: OptionKind.VIEWER
|
127
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
122
128
|
},
|
123
129
|
textLayerMode: {
|
124
130
|
value: 1,
|
125
|
-
kind: OptionKind.VIEWER
|
131
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
126
132
|
},
|
127
133
|
useOnlyCssZoom: {
|
128
134
|
value: false,
|
129
|
-
kind: OptionKind.VIEWER
|
135
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
130
136
|
},
|
131
137
|
viewOnLoad: {
|
132
138
|
value: 0,
|
133
|
-
kind: OptionKind.VIEWER
|
139
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
134
140
|
},
|
135
141
|
cMapPacked: {
|
136
142
|
value: true,
|
137
143
|
kind: OptionKind.API
|
138
144
|
},
|
139
145
|
cMapUrl: {
|
140
|
-
value:
|
146
|
+
value: "../web/cmaps/",
|
141
147
|
kind: OptionKind.API
|
142
148
|
},
|
143
149
|
disableAutoFetch: {
|
144
150
|
value: false,
|
145
|
-
kind: OptionKind.API
|
146
|
-
},
|
147
|
-
disableCreateObjectURL: {
|
148
|
-
value: false,
|
149
|
-
compatibility: _pdf.apiCompatibilityParams.disableCreateObjectURL,
|
150
|
-
kind: OptionKind.API
|
151
|
+
kind: OptionKind.API + OptionKind.PREFERENCE
|
151
152
|
},
|
152
153
|
disableFontFace: {
|
153
154
|
value: false,
|
154
|
-
kind: OptionKind.API
|
155
|
+
kind: OptionKind.API + OptionKind.PREFERENCE
|
155
156
|
},
|
156
157
|
disableRange: {
|
157
158
|
value: false,
|
158
|
-
kind: OptionKind.API
|
159
|
+
kind: OptionKind.API + OptionKind.PREFERENCE
|
159
160
|
},
|
160
161
|
disableStream: {
|
162
|
+
value: false,
|
163
|
+
kind: OptionKind.API + OptionKind.PREFERENCE
|
164
|
+
},
|
165
|
+
docBaseUrl: {
|
166
|
+
value: "",
|
167
|
+
kind: OptionKind.API
|
168
|
+
},
|
169
|
+
fontExtraProperties: {
|
161
170
|
value: false,
|
162
171
|
kind: OptionKind.API
|
163
172
|
},
|
@@ -173,10 +182,6 @@ var defaultOptions = {
|
|
173
182
|
value: false,
|
174
183
|
kind: OptionKind.API
|
175
184
|
},
|
176
|
-
postMessageTransfers: {
|
177
|
-
value: true,
|
178
|
-
kind: OptionKind.API
|
179
|
-
},
|
180
185
|
verbosity: {
|
181
186
|
value: 1,
|
182
187
|
kind: OptionKind.API
|
@@ -186,80 +191,73 @@ var defaultOptions = {
|
|
186
191
|
kind: OptionKind.WORKER
|
187
192
|
},
|
188
193
|
workerSrc: {
|
189
|
-
value:
|
194
|
+
value: "../build/pdf.worker.js",
|
190
195
|
kind: OptionKind.WORKER
|
191
196
|
}
|
192
197
|
};
|
193
|
-
|
194
|
-
|
195
|
-
value: false,
|
196
|
-
kind: OptionKind.VIEWER
|
197
|
-
};
|
198
|
-
defaultOptions.locale = {
|
199
|
-
value: typeof navigator !== 'undefined' ? navigator.language : 'en-US',
|
200
|
-
kind: OptionKind.VIEWER
|
201
|
-
};
|
202
|
-
}
|
203
|
-
var userOptions = Object.create(null);
|
198
|
+
;
|
199
|
+
const userOptions = Object.create(null);
|
204
200
|
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
function AppOptions() {
|
209
|
-
_classCallCheck(this, AppOptions);
|
210
|
-
|
211
|
-
throw new Error('Cannot initialize AppOptions.');
|
201
|
+
class AppOptions {
|
202
|
+
constructor() {
|
203
|
+
throw new Error("Cannot initialize AppOptions.");
|
212
204
|
}
|
213
205
|
|
214
|
-
|
215
|
-
|
216
|
-
value: function get(name) {
|
217
|
-
var userOption = userOptions[name];
|
206
|
+
static get(name) {
|
207
|
+
const userOption = userOptions[name];
|
218
208
|
|
219
|
-
|
220
|
-
|
221
|
-
|
209
|
+
if (userOption !== undefined) {
|
210
|
+
return userOption;
|
211
|
+
}
|
222
212
|
|
223
|
-
|
213
|
+
const defaultOption = defaultOptions[name];
|
224
214
|
|
225
|
-
|
226
|
-
|
227
|
-
}
|
228
|
-
|
229
|
-
return undefined;
|
215
|
+
if (defaultOption !== undefined) {
|
216
|
+
return defaultOption.compatibility || defaultOption.value;
|
230
217
|
}
|
231
|
-
}, {
|
232
|
-
key: "getAll",
|
233
|
-
value: function getAll() {
|
234
|
-
var kind = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
235
|
-
var options = Object.create(null);
|
236
218
|
|
237
|
-
|
238
|
-
|
219
|
+
return undefined;
|
220
|
+
}
|
221
|
+
|
222
|
+
static getAll(kind = null) {
|
223
|
+
const options = Object.create(null);
|
224
|
+
|
225
|
+
for (const name in defaultOptions) {
|
226
|
+
const defaultOption = defaultOptions[name];
|
239
227
|
|
240
|
-
|
228
|
+
if (kind) {
|
229
|
+
if ((kind & defaultOption.kind) === 0) {
|
241
230
|
continue;
|
242
231
|
}
|
243
232
|
|
244
|
-
|
245
|
-
|
233
|
+
if (kind === OptionKind.PREFERENCE) {
|
234
|
+
const value = defaultOption.value,
|
235
|
+
valueType = typeof value;
|
236
|
+
|
237
|
+
if (valueType === "boolean" || valueType === "string" || valueType === "number" && Number.isInteger(value)) {
|
238
|
+
options[name] = value;
|
239
|
+
continue;
|
240
|
+
}
|
241
|
+
|
242
|
+
throw new Error(`Invalid type for preference: ${name}`);
|
243
|
+
}
|
246
244
|
}
|
247
245
|
|
248
|
-
|
249
|
-
|
250
|
-
}, {
|
251
|
-
key: "set",
|
252
|
-
value: function set(name, value) {
|
253
|
-
userOptions[name] = value;
|
246
|
+
const userOption = userOptions[name];
|
247
|
+
options[name] = userOption !== undefined ? userOption : defaultOption.compatibility || defaultOption.value;
|
254
248
|
}
|
255
|
-
}, {
|
256
|
-
key: "remove",
|
257
|
-
value: function remove(name) {
|
258
|
-
delete userOptions[name];
|
259
|
-
}
|
260
|
-
}]);
|
261
249
|
|
262
|
-
|
263
|
-
}
|
250
|
+
return options;
|
251
|
+
}
|
252
|
+
|
253
|
+
static set(name, value) {
|
254
|
+
userOptions[name] = value;
|
255
|
+
}
|
256
|
+
|
257
|
+
static remove(name) {
|
258
|
+
delete userOptions[name];
|
259
|
+
}
|
260
|
+
|
261
|
+
}
|
264
262
|
|
265
263
|
exports.AppOptions = AppOptions;
|