@vertexvis/viewer 0.15.2-testing.3 → 0.15.2
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/dist/cjs/_commonjsHelpers-dcc4cf71.js +1 -1
- package/dist/cjs/app-globals-2035678d.js +1 -1
- package/dist/cjs/browser.esm-5d246754.js +1 -1
- package/dist/cjs/bundle.esm-22b6f2d6.js +1 -1
- package/dist/cjs/bundle.esm-b43c197a.js +38280 -0
- package/dist/cjs/{config-6e330a82.js → config-3fc1c093.js} +2 -2
- package/dist/cjs/{cursors-85d403e9.js → cursors-02a06ec9.js} +7 -1
- package/dist/cjs/dom-8d90bfaf.js +1 -1
- package/dist/cjs/dom-92728e58.js +1 -1
- package/dist/cjs/dom-d1bbd67c.js +1 -1
- package/dist/cjs/dom-d57d3c3b.js +1 -1
- package/dist/cjs/elementRectObserver-9b28f182.js +1 -1
- package/dist/cjs/entities-9eb7e608.js +1 -1
- package/dist/cjs/{entities-7b2e8c03.js → entities-c1c3c6a3.js} +3 -3
- package/dist/cjs/errors-1b37642b.js +97 -0
- package/dist/cjs/grpc-web-client.umd-2af20c1b.js +1 -1
- package/dist/cjs/index-70db349e.js +1 -1
- package/dist/cjs/index-b9d13137.js +1 -1
- package/dist/cjs/index.cjs.js +9 -6
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{mapper-0f2294a6.js → mapper-d4145b72.js} +2 -2
- package/dist/cjs/markup-4a2fc281.js +1 -1
- package/dist/cjs/{model-b61f4d20.js → model-19fb560a.js} +27 -6
- package/dist/cjs/model-20a70d27.js +1 -1
- package/dist/cjs/overlays-b03ec80b.js +1 -1
- package/dist/cjs/png-decoder-ef097f37.js +1 -1
- package/dist/cjs/results-178e89a3.js +1 -1
- package/dist/cjs/{scene-56438693.js → scene-a94e6fa5.js} +293 -215
- package/dist/cjs/shadow-css-6b9daa41.js +1 -1
- package/dist/cjs/stencil-fc92b387.js +1 -1
- package/dist/cjs/{streamAttributes-c64aee75.js → streamAttributes-cf0c513d.js} +8424 -41995
- package/dist/cjs/templates-e57b3741.js +1 -1
- package/dist/cjs/utils-2c8e2aa3.js +1 -1
- package/dist/cjs/utils-ea359796.js +1 -1
- package/dist/cjs/vertex-scene-tree-search_3.cjs.entry.js +1 -1
- package/dist/cjs/vertex-scene-tree-table-cell.cjs.entry.js +1 -1
- package/dist/cjs/vertex-scene-tree-table-column.cjs.entry.js +1 -1
- package/dist/cjs/vertex-scene-tree-table-header.cjs.entry.js +1 -1
- package/dist/cjs/vertex-scene-tree-table-resize-divider.cjs.entry.js +1 -1
- package/dist/cjs/vertex-scene-tree-toolbar-group.cjs.entry.js +1 -1
- package/dist/cjs/vertex-scene-tree.cjs.entry.js +158 -37
- package/dist/cjs/vertex-viewer-box-query-tool.cjs.entry.js +425 -0
- package/dist/cjs/vertex-viewer-button_3.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-default-toolbar.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-dom-element_2.cjs.entry.js +3 -2
- package/dist/cjs/vertex-viewer-dom-group.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-icon.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-layer.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-markup-arrow_3.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-markup-tool.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-markup.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-measurement-details.cjs.entry.js +3 -2
- package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js +5 -4
- package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +4 -3
- package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +7 -6
- package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js +10 -5
- package/dist/cjs/vertex-viewer-pin-label_2.cjs.entry.js +15 -13
- package/dist/cjs/vertex-viewer-pin-tool.cjs.entry.js +20 -9
- package/dist/cjs/vertex-viewer-spinner.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-transform-widget.cjs.entry.js +6 -4
- package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +5 -4
- package/dist/cjs/vertex-viewer.cjs.entry.js +80 -53
- package/dist/cjs/viewer.cjs.js +2 -2
- package/dist/cjs/viewport-5ca619f7.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/scene-tree/lib/controller.js +108 -28
- package/dist/collection/components/scene-tree/lib/errors.js +35 -2
- package/dist/collection/components/scene-tree/scene-tree.js +12 -5
- package/dist/collection/components/viewer/viewer.js +17 -15
- package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.css +79 -0
- package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.js +278 -0
- package/dist/collection/components/viewer-pin-group/viewer-pin-group.js +5 -1
- package/dist/collection/components/viewer-pin-label/viewer-pin-label.css +1 -1
- package/dist/collection/components/viewer-pin-label/viewer-pin-label.js +14 -12
- package/dist/collection/components/viewer-pin-tool/utils.js +25 -4
- package/dist/collection/components/viewer-pin-tool/viewer-pin-tool.css +12 -0
- package/dist/collection/components/viewer-pin-tool/viewer-pin-tool.js +9 -2
- package/dist/collection/components/viewer-transform-widget/viewer-transform-widget.js +3 -2
- package/dist/collection/components/viewer-view-cube/viewer-view-cube.js +5 -5
- package/dist/collection/lib/cursors.js +6 -1
- package/dist/collection/lib/interactions/baseInteractionHandler.js +12 -2
- package/dist/collection/lib/interactions/mouseInteractions.js +5 -4
- package/dist/collection/lib/mappers/frameStreaming.js +11 -11
- package/dist/collection/lib/pins/interactions.js +9 -5
- package/dist/collection/lib/pins/model.js +2 -2
- package/dist/collection/lib/rendering/matrices.js +2 -4
- package/dist/collection/lib/scenes/camera.js +4 -2
- package/dist/collection/lib/scenes/mapper.js +103 -30
- package/dist/collection/lib/scenes/queries.js +101 -46
- package/dist/collection/lib/scenes/scene.js +15 -7
- package/dist/collection/lib/stream/stream.js +24 -12
- package/dist/collection/lib/transforms/drawable.js +2 -2
- package/dist/collection/lib/types/frame.js +4 -3
- package/dist/collection/lib/types/frameCamera.js +6 -1
- package/dist/collection/lib/types/index.js +3 -2
- package/dist/collection/lib/types/loadableResource.js +24 -4
- package/dist/collection/lib/types/sceneViewStateIdentifier.js +7 -0
- package/dist/collection/lib/volume-intersection/controller.js +104 -0
- package/dist/collection/lib/volume-intersection/interactions.js +82 -0
- package/dist/collection/lib/volume-intersection/model.js +84 -0
- package/dist/custom-elements/index.d.ts +6 -0
- package/dist/custom-elements/index.js +23825 -18358
- package/dist/custom-elements/png-decoder.js +1 -1
- package/dist/esm/_commonjsHelpers-11ca3be1.js +1 -1
- package/dist/esm/app-globals-40df99a0.js +1 -1
- package/dist/esm/{browser.esm-ae4ca1f1.js → browser.esm-07e7db8f.js} +2 -2
- package/dist/esm/bundle.esm-91404853.js +38273 -0
- package/dist/esm/{bundle.esm-ce2c7ad3.js → bundle.esm-92e615bf.js} +2 -2
- package/dist/esm/{config-49688db8.js → config-25384fe6.js} +3 -3
- package/dist/esm/{cursors-a8d4b3f4.js → cursors-127a3bb7.js} +8 -3
- package/dist/esm/dom-0440435d.js +1 -1
- package/dist/esm/dom-be140992.js +1 -1
- package/dist/esm/dom-e19ee80b.js +1 -1
- package/dist/esm/{dom-5b164305.js → dom-e436f0c0.js} +2 -2
- package/dist/esm/elementRectObserver-39cf7b95.js +1 -1
- package/dist/esm/{entities-a5bfef48.js → entities-0e325765.js} +4 -4
- package/dist/esm/entities-ce81dd7f.js +1 -1
- package/dist/esm/errors-a4cc9caa.js +85 -0
- package/dist/esm/grpc-web-client.umd-5409853c.js +1 -1
- package/dist/esm/index-26dfb2d0.js +1 -1
- package/dist/esm/index-e841d91b.js +1 -1
- package/dist/esm/index.js +15 -13
- package/dist/esm/index.mjs +15 -13
- package/dist/esm/loader.js +2 -2
- package/dist/esm/loader.mjs +2 -2
- package/dist/esm/{mapper-5894c2a4.js → mapper-dd937684.js} +3 -3
- package/dist/esm/{markup-3c2900f3.js → markup-2dde1f10.js} +3 -3
- package/dist/esm/{model-fa9af61a.js → model-3cd8cd47.js} +2 -2
- package/dist/esm/{model-40bd1711.js → model-bfe1c4d8.js} +29 -8
- package/dist/esm/{overlays-cc3efc30.js → overlays-8f195eb3.js} +3 -3
- package/dist/esm/{png-decoder-d4b65417.js → png-decoder-45f38ea3.js} +2 -2
- package/dist/esm/{results-3b4df2cf.js → results-38baef59.js} +2 -2
- package/dist/esm/{scene-5b919078.js → scene-2543b3bd.js} +254 -168
- package/dist/esm/shadow-css-51dd7708.js +1 -1
- package/dist/esm/stencil-bfbf099f.js +1 -1
- package/dist/esm/{streamAttributes-7e8565be.js → streamAttributes-23270e27.js} +8429 -41994
- package/dist/esm/templates-022199c1.js +1 -1
- package/dist/esm/{utils-81347571.js → utils-2306c744.js} +2 -2
- package/dist/esm/{utils-559e1632.js → utils-f03802ef.js} +2 -2
- package/dist/esm/vertex-scene-tree-search_3.entry.js +3 -3
- package/dist/esm/vertex-scene-tree-table-cell.entry.js +1 -1
- package/dist/esm/vertex-scene-tree-table-column.entry.js +1 -1
- package/dist/esm/vertex-scene-tree-table-header.entry.js +1 -1
- package/dist/esm/vertex-scene-tree-table-resize-divider.entry.js +1 -1
- package/dist/esm/vertex-scene-tree-toolbar-group.entry.js +1 -1
- package/dist/esm/vertex-scene-tree.entry.js +160 -39
- package/dist/esm/vertex-viewer-box-query-tool.entry.js +421 -0
- package/dist/esm/vertex-viewer-button_3.entry.js +1 -1
- package/dist/esm/vertex-viewer-default-toolbar.entry.js +1 -1
- package/dist/esm/vertex-viewer-dom-element_2.entry.js +6 -5
- package/dist/esm/vertex-viewer-dom-group.entry.js +3 -3
- package/dist/esm/vertex-viewer-icon.entry.js +1 -1
- package/dist/esm/vertex-viewer-layer.entry.js +1 -1
- package/dist/esm/vertex-viewer-markup-arrow_3.entry.js +4 -4
- package/dist/esm/vertex-viewer-markup-tool.entry.js +5 -5
- package/dist/esm/vertex-viewer-markup.entry.js +5 -5
- package/dist/esm/vertex-viewer-measurement-details.entry.js +5 -4
- package/dist/esm/vertex-viewer-measurement-distance.entry.js +13 -12
- package/dist/esm/vertex-viewer-measurement-line_2.entry.js +8 -7
- package/dist/esm/vertex-viewer-measurement-precise.entry.js +12 -11
- package/dist/esm/vertex-viewer-pin-group.entry.js +13 -8
- package/dist/esm/vertex-viewer-pin-label_2.entry.js +18 -16
- package/dist/esm/vertex-viewer-pin-tool.entry.js +23 -12
- package/dist/esm/vertex-viewer-spinner.entry.js +1 -1
- package/dist/esm/vertex-viewer-transform-widget.entry.js +9 -7
- package/dist/esm/vertex-viewer-view-cube.entry.js +7 -6
- package/dist/esm/vertex-viewer.entry.js +65 -38
- package/dist/esm/viewer.js +2 -2
- package/dist/esm/{viewport-e39e2eba.js → viewport-f19fc583.js} +2 -2
- package/dist/types/components/scene-tree/lib/controller.d.ts +18 -3
- package/dist/types/components/scene-tree/lib/errors.d.ts +17 -2
- package/dist/types/components/viewer/viewer.d.ts +2 -0
- package/dist/types/components/viewer-box-query-tool/viewer-box-query-tool.d.ts +94 -0
- package/dist/types/components/viewer-pin-tool/utils.d.ts +1 -1
- package/dist/types/components.d.ts +56 -0
- package/dist/types/lib/cursors.d.ts +5 -0
- package/dist/types/lib/interactions/baseInteractionHandler.d.ts +1 -0
- package/dist/types/lib/interactions/mouseInteractions.d.ts +2 -1
- package/dist/types/lib/pins/interactions.d.ts +4 -2
- package/dist/types/lib/pins/model.d.ts +1 -1
- package/dist/types/lib/scenes/camera.d.ts +1 -1
- package/dist/types/lib/scenes/mapper.d.ts +5 -1
- package/dist/types/lib/scenes/queries.d.ts +55 -28
- package/dist/types/lib/scenes/scene.d.ts +10 -1
- package/dist/types/lib/types/frame.d.ts +1 -1
- package/dist/types/lib/types/index.d.ts +2 -1
- package/dist/types/lib/types/loadableResource.d.ts +8 -2
- package/dist/types/lib/types/sceneViewStateIdentifier.d.ts +15 -0
- package/dist/types/lib/volume-intersection/controller.d.ts +45 -0
- package/dist/types/lib/volume-intersection/interactions.d.ts +24 -0
- package/dist/types/lib/volume-intersection/model.d.ts +33 -0
- package/dist/viewer/index.esm.js +2 -2
- package/dist/viewer/{p-ad09c92e.entry.js → p-029fba92.entry.js} +1 -1
- package/dist/viewer/p-07aeee89.js +1 -1
- package/dist/viewer/{p-29986489.js → p-0a017be7.js} +2 -2
- package/dist/viewer/p-0c583cad.entry.js +4 -0
- package/dist/viewer/p-0d494d01.js +4 -0
- package/dist/viewer/p-0fdad1a5.js +1 -1
- package/dist/viewer/{p-3ca4a7c1.js → p-1812c82d.js} +2 -2
- package/dist/viewer/{p-7663a603.entry.js → p-191156ad.entry.js} +1 -1
- package/dist/viewer/{p-a57dc6e4.entry.js → p-1998284a.entry.js} +2 -2
- package/dist/viewer/p-27f715f8.entry.js +4 -0
- package/dist/viewer/{p-7f6251da.js → p-283aeac4.js} +2 -2
- package/dist/viewer/p-298b63c2.entry.js +4 -0
- package/dist/viewer/p-2ace066b.entry.js +4 -0
- package/dist/viewer/{p-927b528b.js → p-2b60a8b0.js} +2 -2
- package/dist/viewer/{p-050f912b.entry.js → p-2fd123c8.entry.js} +1 -1
- package/dist/viewer/p-305a8be6.entry.js +4 -0
- package/dist/viewer/p-31724d24.js +4 -0
- package/dist/viewer/p-32cc2209.js +4 -0
- package/dist/viewer/p-3829dd99.entry.js +4 -0
- package/dist/viewer/{p-6da8a28f.entry.js → p-3aae4bf1.entry.js} +2 -2
- package/dist/viewer/{p-99352cf0.js → p-42760392.js} +2 -2
- package/dist/viewer/p-440c8174.js +4 -0
- package/dist/viewer/{p-e422deaf.entry.js → p-4f25e367.entry.js} +2 -2
- package/dist/viewer/{p-d64c1e14.entry.js → p-507b5aeb.entry.js} +3 -3
- package/dist/viewer/{p-1fc24ec6.js → p-51401063.js} +2 -2
- package/dist/viewer/{p-426970b3.entry.js → p-533b1c63.entry.js} +1 -1
- package/dist/viewer/{p-dcb9804c.entry.js → p-569ed94a.entry.js} +2 -2
- package/dist/viewer/p-5809b400.js +1 -1
- package/dist/viewer/p-6072cf84.js +4 -0
- package/dist/viewer/{p-e4a26a32.entry.js → p-6406a70a.entry.js} +1 -1
- package/dist/viewer/p-6bf0594b.entry.js +4 -0
- package/dist/viewer/p-72c59115.entry.js +4 -0
- package/dist/viewer/{p-d71652b0.entry.js → p-8ac7290a.entry.js} +1 -1
- package/dist/viewer/{p-f184bcab.entry.js → p-8afcbd99.entry.js} +1 -1
- package/dist/viewer/p-92fe4417.js +1 -1
- package/dist/viewer/{p-5746931d.entry.js → p-952a217d.entry.js} +1 -1
- package/dist/viewer/p-98e6a50e.js +1 -1
- package/dist/viewer/{p-99fd27e0.entry.js → p-9cb99ea8.entry.js} +1 -1
- package/dist/viewer/p-a2e9e8a5.js +4 -0
- package/dist/viewer/p-a380f0c2.js +1 -1
- package/dist/viewer/{p-661b5234.js → p-acfc5c50.js} +2 -2
- package/dist/viewer/{p-82bd25e8.entry.js → p-b3540dce.entry.js} +1 -1
- package/dist/viewer/p-b5ca30cd.js +4 -0
- package/dist/viewer/p-b74242dc.js +1 -1
- package/dist/viewer/p-bc1160cf.entry.js +4 -0
- package/dist/viewer/{p-c5e67a1e.entry.js → p-bd5a302c.entry.js} +2 -2
- package/dist/viewer/p-c738296e.js +1 -1
- package/dist/viewer/p-c8c4343b.js +1 -1
- package/dist/viewer/p-cd9ccb9e.entry.js +4 -0
- package/dist/viewer/{p-40a9dd7d.js → p-cf689bbd.js} +2 -2
- package/dist/viewer/{p-70e5e8a8.js → p-d216a866.js} +2 -2
- package/dist/viewer/p-d4ed7b8d.js +4 -0
- package/dist/viewer/p-d6d5d5de.entry.js +4 -0
- package/dist/viewer/p-d6fce4c1.js +1 -1
- package/dist/viewer/p-df8fbe56.js +1 -1
- package/dist/viewer/p-dfe5a97d.js +1 -1
- package/dist/viewer/{p-00ce31a0.js → p-e1896ce4.js} +2 -2
- package/dist/viewer/p-e23af70c.js +4 -0
- package/dist/viewer/p-e4aa9cdb.js +1 -1
- package/dist/viewer/p-e929dd63.entry.js +4 -0
- package/dist/viewer/{p-65af7a89.js → p-fc7d8c03.js} +3 -3
- package/dist/viewer/viewer.esm.js +2 -2
- package/package.json +9 -9
- package/readme.md +4 -4
- package/dist/viewer/p-096e60bd.js +0 -4
- package/dist/viewer/p-0cf4f05d.entry.js +0 -4
- package/dist/viewer/p-0fcafbf9.js +0 -4
- package/dist/viewer/p-1abfe4bf.js +0 -4
- package/dist/viewer/p-1e0dd2e9.js +0 -4
- package/dist/viewer/p-22ae6785.entry.js +0 -4
- package/dist/viewer/p-27dbc865.js +0 -4
- package/dist/viewer/p-31b87b90.js +0 -4
- package/dist/viewer/p-3f6f2457.entry.js +0 -4
- package/dist/viewer/p-61e50e11.entry.js +0 -4
- package/dist/viewer/p-7579e2a1.entry.js +0 -4
- package/dist/viewer/p-920c9a88.entry.js +0 -4
- package/dist/viewer/p-990f98c2.js +0 -4
- package/dist/viewer/p-9dfe0b43.entry.js +0 -4
- package/dist/viewer/p-a6558bb2.entry.js +0 -4
- package/dist/viewer/p-b7e170ac.entry.js +0 -4
- package/dist/viewer/p-d34ad2b2.entry.js +0 -4
- package/dist/viewer/p-f3ea0c2b.entry.js +0 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/**!
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) 2023 Vertex Software LLC. All rights reserved.
|
|
3
3
|
*/
|
|
4
4
|
import{c as createCommonjsModule,a as commonjsGlobal}from"./p-dfe5a97d.js";var googleProtobuf=createCommonjsModule((function(module,exports){var $jscomp=$jscomp||{};$jscomp.scope={},$jscomp.findInternal=function(o,g,n){o instanceof String&&(o=String(o));for(var t=o.length,r=0;r<t;r++){var i=o[r];if(g.call(n,i,r,o))return{i:r,v:i}}return{i:-1,v:void 0}},$jscomp.ASSUME_ES5=!1,$jscomp.ASSUME_NO_NATIVE_MAP=!1,$jscomp.ASSUME_NO_NATIVE_SET=!1,$jscomp.SIMPLE_FROUND_POLYFILL=!1,$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(o,g,n){o!=Array.prototype&&o!=Object.prototype&&(o[g]=n.value)},$jscomp.getGlobal=function(o){return"undefined"!=typeof window&&window===o?o:void 0!==commonjsGlobal&&null!=commonjsGlobal?commonjsGlobal:o},$jscomp.global=$jscomp.getGlobal(commonjsGlobal),$jscomp.polyfill=function(o,g,n,t){if(g){for(n=$jscomp.global,o=o.split("."),t=0;t<o.length-1;t++){var r=o[t];r in n||(n[r]={}),n=n[r]}(g=g(t=n[o=o[o.length-1]]))!=t&&null!=g&&$jscomp.defineProperty(n,o,{configurable:!0,writable:!0,value:g})}},$jscomp.polyfill("Array.prototype.findIndex",(function(o){return o||function(o,g){return $jscomp.findInternal(this,o,g).i}}),"es6","es3"),$jscomp.checkStringArgs=function(o,g,n){if(null==o)throw new TypeError("The 'this' value for String.prototype."+n+" must not be null or undefined");if(g instanceof RegExp)throw new TypeError("First argument to String.prototype."+n+" must not be a regular expression");return o+""},$jscomp.polyfill("String.prototype.endsWith",(function(o){return o||function(o,g){var n=$jscomp.checkStringArgs(this,o,"endsWith");o+="",void 0===g&&(g=n.length),g=Math.max(0,Math.min(0|g,n.length));for(var t=o.length;0<t&&0<g;)if(n[--g]!=o[--t])return!1;return 0>=t}}),"es6","es3"),$jscomp.polyfill("Array.prototype.find",(function(o){return o||function(o,g){return $jscomp.findInternal(this,o,g).v}}),"es6","es3"),$jscomp.polyfill("String.prototype.startsWith",(function(o){return o||function(o,g){var n=$jscomp.checkStringArgs(this,o,"startsWith"),t=n.length,r=(o+="").length;g=Math.max(0,Math.min(0|g,n.length));for(var i=0;i<r&&g<t;)if(n[g++]!=o[i++])return!1;return i>=r}}),"es6","es3"),$jscomp.polyfill("String.prototype.repeat",(function(o){return o||function(o){var g=$jscomp.checkStringArgs(this,null,"repeat");if(0>o||1342177279<o)throw new RangeError("Invalid count value");o|=0;for(var n="";o;)1&o&&(n+=g),(o>>>=1)&&(g+=g);return n}}),"es6","es3");var COMPILED=!0,goog=goog||{};goog.global=commonjsGlobal||self,goog.isDef=function(o){return void 0!==o},goog.isString=function(o){return"string"==typeof o},goog.isBoolean=function(o){return"boolean"==typeof o},goog.isNumber=function(o){return"number"==typeof o},goog.exportPath_=function(o,g,n){(o=o.split("."))[0]in(n=n||goog.global)||void 0===n.execScript||n.execScript("var "+o[0]);for(var t;o.length&&(t=o.shift());)!o.length&&goog.isDef(g)?n[t]=g:n=n[t]&&n[t]!==Object.prototype[t]?n[t]:n[t]={}},goog.define=function(o,g){return g},goog.FEATURESET_YEAR=2012,goog.DEBUG=!0,goog.LOCALE="en",goog.TRUSTED_SITE=!0,goog.STRICT_MODE_COMPATIBLE=!1,goog.DISALLOW_TEST_ONLY_CODE=!goog.DEBUG,goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1,goog.provide=function(o){if(goog.isInModuleLoader_())throw Error("goog.provide cannot be used within a module.");goog.constructNamespace_(o)},goog.constructNamespace_=function(o,g){goog.exportPath_(o,g)},goog.getScriptNonce=function(o){return o&&o!=goog.global?goog.getScriptNonce_(o.document):(null===goog.cspNonce_&&(goog.cspNonce_=goog.getScriptNonce_(goog.global.document)),goog.cspNonce_)},goog.NONCE_PATTERN_=/^[\w+/_-]+[=]{0,2}$/,goog.cspNonce_=null,goog.getScriptNonce_=function(o){return(o=o.querySelector&&o.querySelector("script[nonce]"))&&(o=o.nonce||o.getAttribute("nonce"))&&goog.NONCE_PATTERN_.test(o)?o:""},goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/,goog.module=function(o){if(!goog.isString(o)||!o||-1==o.search(goog.VALID_MODULE_RE_))throw Error("Invalid module identifier");if(!goog.isInGoogModuleLoader_())throw Error("Module "+o+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");goog.moduleLoaderState_.moduleName=o},goog.module.get=function(o){return goog.module.getInternal_(o)},goog.module.getInternal_=function(){return null},goog.ModuleType={ES6:"es6",GOOG:"goog"},goog.moduleLoaderState_=null,goog.isInModuleLoader_=function(){return goog.isInGoogModuleLoader_()||goog.isInEs6ModuleLoader_()},goog.isInGoogModuleLoader_=function(){return!!goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.GOOG},goog.isInEs6ModuleLoader_=function(){if(goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.ES6)return!0;var o=goog.global.$jscomp;return!!o&&"function"==typeof o.getCurrentModulePath&&!!o.getCurrentModulePath()},goog.module.declareLegacyNamespace=function(){goog.moduleLoaderState_.declareLegacyNamespace=!0},goog.declareModuleId=function(o){if(goog.moduleLoaderState_)goog.moduleLoaderState_.moduleName=o;else{var g=goog.global.$jscomp;if(!g||"function"!=typeof g.getCurrentModulePath)throw Error('Module with namespace "'+o+'" has been loaded incorrectly.');g=g.require(g.getCurrentModulePath()),goog.loadedModules_[o]={exports:g,type:goog.ModuleType.ES6,moduleId:o}}},goog.setTestOnly=function(o){if(goog.DISALLOW_TEST_ONLY_CODE)throw o=o||"",Error("Importing test-only code into non-debug environment"+(o?": "+o:"."))},goog.forwardDeclare=function(){},goog.getObjectByName=function(o,g){o=o.split("."),g=g||goog.global;for(var n=0;n<o.length;n++)if(!goog.isDefAndNotNull(g=g[o[n]]))return null;return g},goog.globalize=function(o,g){for(var n in g=g||goog.global,o)g[n]=o[n]},goog.addDependency=function(){},goog.ENABLE_DEBUG_LOADER=!0,goog.logToConsole_=function(o){goog.global.console&&goog.global.console.error(o)},goog.require=function(){},goog.requireType=function(){return{}},goog.basePath="",goog.nullFunction=function(){},goog.abstractMethod=function(){throw Error("unimplemented abstract method")},goog.addSingletonGetter=function(o){o.instance_=void 0,o.getInstance=function(){return o.instance_?o.instance_:(goog.DEBUG&&(goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=o),o.instance_=new o)}},goog.instantiatedSingletons_=[],goog.LOAD_MODULE_USING_EVAL=!0,goog.SEAL_MODULE_EXPORTS=goog.DEBUG,goog.loadedModules_={},goog.DEPENDENCIES_ENABLED=!COMPILED,goog.TRANSPILE="detect",goog.ASSUME_ES_MODULES_TRANSPILED=!1,goog.TRANSPILE_TO_LANGUAGE="",goog.TRANSPILER="transpile.js",goog.hasBadLetScoping=null,goog.useSafari10Workaround=function(){if(null==goog.hasBadLetScoping){try{var a=!eval('"use strict";let x = 1; function f() { return typeof x; };f() == "number";')}catch(o){a=!1}goog.hasBadLetScoping=a}return goog.hasBadLetScoping},goog.workaroundSafari10EvalBug=function(o){return"(function(){"+o+"\n;})();\n"},goog.loadModule=function(o){var g=goog.moduleLoaderState_;try{if(goog.moduleLoaderState_={moduleName:"",declareLegacyNamespace:!1,type:goog.ModuleType.GOOG},goog.isFunction(o))var n=o.call(void 0,{});else{if(!goog.isString(o))throw Error("Invalid module definition");goog.useSafari10Workaround()&&(o=goog.workaroundSafari10EvalBug(o)),n=goog.loadModuleFromSource_.call(void 0,o)}var t=goog.moduleLoaderState_.moduleName;if(!goog.isString(t)||!t)throw Error('Invalid module name "'+t+'"');goog.moduleLoaderState_.declareLegacyNamespace?goog.constructNamespace_(t,n):goog.SEAL_MODULE_EXPORTS&&Object.seal&&"object"==typeof n&&null!=n&&Object.seal(n),goog.loadedModules_[t]={exports:n,type:goog.ModuleType.GOOG,moduleId:goog.moduleLoaderState_.moduleName}}finally{goog.moduleLoaderState_=g}},goog.loadModuleFromSource_=function(a){return eval(a),{}},goog.normalizePath_=function(o){o=o.split("/");for(var g=0;g<o.length;)"."==o[g]?o.splice(g,1):g&&".."==o[g]&&o[g-1]&&".."!=o[g-1]?o.splice(--g,2):g++;return o.join("/")},goog.loadFileSync_=function(o){if(goog.global.CLOSURE_LOAD_FILE_SYNC)return goog.global.CLOSURE_LOAD_FILE_SYNC(o);try{var g=new goog.global.XMLHttpRequest;return g.open("get",o,!1),g.send(),0==g.status||200==g.status?g.responseText:null}catch(o){return null}},goog.transpile_=function(o,g,n){var t=goog.global.$jscomp;t||(goog.global.$jscomp=t={});var r=t.transpile;if(!r){var i=goog.basePath+goog.TRANSPILER,e=goog.loadFileSync_(i);if(e){if(function(){(0,eval)(e+"\n//# sourceURL="+i)}.call(goog.global),goog.global.$gwtExport&&goog.global.$gwtExport.$jscomp&&!goog.global.$gwtExport.$jscomp.transpile)throw Error('The transpiler did not properly export the "transpile" method. $gwtExport: '+JSON.stringify(goog.global.$gwtExport));goog.global.$jscomp.transpile=goog.global.$gwtExport.$jscomp.transpile,r=(t=goog.global.$jscomp).transpile}}return r||(r=t.transpile=function(o,g){return goog.logToConsole_(g+" requires transpilation but no transpiler was found."),o}),r(o,g,n)},goog.typeOf=function(o){var g=typeof o;if("object"==g){if(!o)return"null";if(o instanceof Array)return"array";if(o instanceof Object)return g;var n=Object.prototype.toString.call(o);if("[object Window]"==n)return"object";if("[object Array]"==n||"number"==typeof o.length&&void 0!==o.splice&&void 0!==o.propertyIsEnumerable&&!o.propertyIsEnumerable("splice"))return"array";if("[object Function]"==n||void 0!==o.call&&void 0!==o.propertyIsEnumerable&&!o.propertyIsEnumerable("call"))return"function"}else if("function"==g&&void 0===o.call)return"object";return g},goog.isNull=function(o){return null===o},goog.isDefAndNotNull=function(o){return null!=o},goog.isArray=function(o){return"array"==goog.typeOf(o)},goog.isArrayLike=function(o){var g=goog.typeOf(o);return"array"==g||"object"==g&&"number"==typeof o.length},goog.isDateLike=function(o){return goog.isObject(o)&&"function"==typeof o.getFullYear},goog.isFunction=function(o){return"function"==goog.typeOf(o)},goog.isObject=function(o){var g=typeof o;return"object"==g&&null!=o||"function"==g},goog.getUid=function(o){return o[goog.UID_PROPERTY_]||(o[goog.UID_PROPERTY_]=++goog.uidCounter_)},goog.hasUid=function(o){return!!o[goog.UID_PROPERTY_]},goog.removeUid=function(o){null!==o&&"removeAttribute"in o&&o.removeAttribute(goog.UID_PROPERTY_);try{delete o[goog.UID_PROPERTY_]}catch(o){}},goog.UID_PROPERTY_="closure_uid_"+(1e9*Math.random()>>>0),goog.uidCounter_=0,goog.getHashCode=goog.getUid,goog.removeHashCode=goog.removeUid,goog.cloneObject=function(o){var g=goog.typeOf(o);if("object"==g||"array"==g){if("function"==typeof o.clone)return o.clone();for(var n in g="array"==g?[]:{},o)g[n]=goog.cloneObject(o[n]);return g}return o},goog.bindNative_=function(o,g,n){return o.call.apply(o.bind,arguments)},goog.bindJs_=function(o,g,n){if(!o)throw Error();if(2<arguments.length){var t=Array.prototype.slice.call(arguments,2);return function(){var n=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(n,t),o.apply(g,n)}}return function(){return o.apply(g,arguments)}},goog.bind=function(o,g,n){return goog.bind=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?goog.bindNative_:goog.bindJs_,goog.bind.apply(null,arguments)},goog.partial=function(o,g){var n=Array.prototype.slice.call(arguments,1);return function(){var g=n.slice();return g.push.apply(g,arguments),o.apply(this,g)}},goog.mixin=function(o,g){for(var n in g)o[n]=g[n]},goog.now=goog.TRUSTED_SITE&&Date.now||function(){return+new Date},goog.globalEval=function(o){if(goog.global.execScript)goog.global.execScript(o,"JavaScript");else{if(!goog.global.eval)throw Error("goog.globalEval not available");if(null==goog.evalWorksForGlobals_){try{goog.global.eval("var _evalTest_ = 1;")}catch(o){}if(void 0!==goog.global._evalTest_){try{delete goog.global._evalTest_}catch(o){}goog.evalWorksForGlobals_=!0}else goog.evalWorksForGlobals_=!1}if(goog.evalWorksForGlobals_)goog.global.eval(o);else{var g=goog.global.document,n=g.createElement("SCRIPT");n.type="text/javascript",n.defer=!1,n.appendChild(g.createTextNode(o)),g.head.appendChild(n),g.head.removeChild(n)}}},goog.evalWorksForGlobals_=null,goog.getCssName=function(o,g){if("."==String(o).charAt(0))throw Error('className passed in goog.getCssName must not start with ".". You passed: '+o);var n=function(o){return goog.cssNameMapping_[o]||o},t=function(o){o=o.split("-");for(var g=[],t=0;t<o.length;t++)g.push(n(o[t]));return g.join("-")};return t=goog.cssNameMapping_?"BY_WHOLE"==goog.cssNameMappingStyle_?n:t:function(o){return o},o=g?o+"-"+t(g):t(o),goog.global.CLOSURE_CSS_NAME_MAP_FN?goog.global.CLOSURE_CSS_NAME_MAP_FN(o):o},goog.setCssNameMapping=function(o,g){goog.cssNameMapping_=o,goog.cssNameMappingStyle_=g},goog.getMsg=function(o,g,n){return n&&n.html&&(o=o.replace(/</g,"<")),g&&(o=o.replace(/\{\$([^}]+)}/g,(function(o,n){return null!=g&&n in g?g[n]:o}))),o},goog.getMsgWithFallback=function(o){return o},goog.exportSymbol=function(o,g,n){goog.exportPath_(o,g,n)},goog.exportProperty=function(o,g,n){o[g]=n},goog.inherits=function(o,g){function n(){}n.prototype=g.prototype,o.superClass_=g.prototype,o.prototype=new n,o.prototype.constructor=o,o.base=function(o,n,t){for(var r=Array(arguments.length-2),i=2;i<arguments.length;i++)r[i-2]=arguments[i];return g.prototype[n].apply(o,r)}},goog.base=function(o,g,n){var t=arguments.callee.caller;if(goog.STRICT_MODE_COMPATIBLE||goog.DEBUG&&!t)throw Error("arguments.caller not defined. goog.base() cannot be used with strict mode code. See http://www.ecma-international.org/ecma-262/5.1/#sec-C");if(void 0!==t.superClass_){for(var r=Array(arguments.length-1),i=1;i<arguments.length;i++)r[i-1]=arguments[i];return t.superClass_.constructor.apply(o,r)}if("string"!=typeof g&&"symbol"!=typeof g)throw Error("method names provided to goog.base must be a string or a symbol");for(r=Array(arguments.length-2),i=2;i<arguments.length;i++)r[i-2]=arguments[i];i=!1;for(var e=o.constructor.prototype;e;e=Object.getPrototypeOf(e))if(e[g]===t)i=!0;else if(i)return e[g].apply(o,r);if(o[g]===t)return o.constructor.prototype[g].apply(o,r);throw Error("goog.base called from a method of one name to a method of a different name")},goog.scope=function(o){if(goog.isInModuleLoader_())throw Error("goog.scope is not supported within a module.");o.call(goog.global)},goog.defineClass=function(o,g){var n=g.constructor,t=g.statics;return n&&n!=Object.prototype.constructor||(n=function(){throw Error("cannot instantiate an interface (no constructor defined).")}),n=goog.defineClass.createSealingConstructor_(n,o),o&&goog.inherits(n,o),delete g.constructor,delete g.statics,goog.defineClass.applyProperties_(n.prototype,g),null!=t&&(t instanceof Function?t(n):goog.defineClass.applyProperties_(n,t)),n},goog.defineClass.SEAL_CLASS_INSTANCES=goog.DEBUG,goog.defineClass.createSealingConstructor_=function(o,g){if(!goog.defineClass.SEAL_CLASS_INSTANCES)return o;var n=!goog.defineClass.isUnsealable_(g),t=function(){var g=o.apply(this,arguments)||this;return g[goog.UID_PROPERTY_]=g[goog.UID_PROPERTY_],this.constructor===t&&n&&Object.seal instanceof Function&&Object.seal(g),g};return t},goog.defineClass.isUnsealable_=function(o){return o&&o.prototype&&o.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_]},goog.defineClass.OBJECT_PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),goog.defineClass.applyProperties_=function(o,g){for(var n in g)Object.prototype.hasOwnProperty.call(g,n)&&(o[n]=g[n]);for(var t=0;t<goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length;t++)n=goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[t],Object.prototype.hasOwnProperty.call(g,n)&&(o[n]=g[n])},goog.tagUnsealableClass=function(){},goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_="goog_defineClass_legacy_unsealable",goog.TRUSTED_TYPES_POLICY_NAME="",goog.identity_=function(o){return o},goog.createTrustedTypesPolicy=function(o){var g=null;if("undefined"==typeof TrustedTypes||!TrustedTypes.createPolicy)return g;try{g=TrustedTypes.createPolicy(o,{createHTML:goog.identity_,createScript:goog.identity_,createScriptURL:goog.identity_,createURL:goog.identity_})}catch(o){goog.logToConsole_(o.message)}return g},goog.TRUSTED_TYPES_POLICY_=goog.TRUSTED_TYPES_POLICY_NAME?goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME+"#base"):null,goog.object={},goog.object.is=function(o,g){return o===g?0!==o||1/o==1/g:o!=o&&g!=g},goog.object.forEach=function(o,g,n){for(var t in o)g.call(n,o[t],t,o)},goog.object.filter=function(o,g,n){var t,r={};for(t in o)g.call(n,o[t],t,o)&&(r[t]=o[t]);return r},goog.object.map=function(o,g,n){var t,r={};for(t in o)r[t]=g.call(n,o[t],t,o);return r},goog.object.some=function(o,g,n){for(var t in o)if(g.call(n,o[t],t,o))return!0;return!1},goog.object.every=function(o,g,n){for(var t in o)if(!g.call(n,o[t],t,o))return!1;return!0},goog.object.getCount=function(o){var g,n=0;for(g in o)n++;return n},goog.object.getAnyKey=function(o){for(var g in o)return g},goog.object.getAnyValue=function(o){for(var g in o)return o[g]},goog.object.contains=function(o,g){return goog.object.containsValue(o,g)},goog.object.getValues=function(o){var g,n=[],t=0;for(g in o)n[t++]=o[g];return n},goog.object.getKeys=function(o){var g,n=[],t=0;for(g in o)n[t++]=g;return n},goog.object.getValueByKeys=function(o,g){var n=goog.isArrayLike(g),t=n?g:arguments;for(n=n?0:1;n<t.length;n++){if(null==o)return;o=o[t[n]]}return o},goog.object.containsKey=function(o,g){return null!==o&&g in o},goog.object.containsValue=function(o,g){for(var n in o)if(o[n]==g)return!0;return!1},goog.object.findKey=function(o,g,n){for(var t in o)if(g.call(n,o[t],t,o))return t},goog.object.findValue=function(o,g,n){return(g=goog.object.findKey(o,g,n))&&o[g]},goog.object.isEmpty=function(o){for(var g in o)return!1;return!0},goog.object.clear=function(o){for(var g in o)delete o[g]},goog.object.remove=function(o,g){var n;return(n=g in o)&&delete o[g],n},goog.object.add=function(o,g,n){if(null!==o&&g in o)throw Error('The object already contains the key "'+g+'"');goog.object.set(o,g,n)},goog.object.get=function(o,g,n){return null!==o&&g in o?o[g]:n},goog.object.set=function(o,g,n){o[g]=n},goog.object.setIfUndefined=function(o,g,n){return g in o?o[g]:o[g]=n},goog.object.setWithReturnValueIfNotSet=function(o,g,n){return g in o?o[g]:(n=n(),o[g]=n)},goog.object.equals=function(o,g){for(var n in o)if(!(n in g)||o[n]!==g[n])return!1;for(var t in g)if(!(t in o))return!1;return!0},goog.object.clone=function(o){var g,n={};for(g in o)n[g]=o[g];return n},goog.object.unsafeClone=function(o){var g=goog.typeOf(o);if("object"==g||"array"==g){if(goog.isFunction(o.clone))return o.clone();for(var n in g="array"==g?[]:{},o)g[n]=goog.object.unsafeClone(o[n]);return g}return o},goog.object.transpose=function(o){var g,n={};for(g in o)n[o[g]]=g;return n},goog.object.PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),goog.object.extend=function(o,g){for(var n,t,r=1;r<arguments.length;r++){for(n in t=arguments[r])o[n]=t[n];for(var i=0;i<goog.object.PROTOTYPE_FIELDS_.length;i++)n=goog.object.PROTOTYPE_FIELDS_[i],Object.prototype.hasOwnProperty.call(t,n)&&(o[n]=t[n])}},goog.object.create=function(o){var g=arguments.length;if(1==g&&goog.isArray(arguments[0]))return goog.object.create.apply(null,arguments[0]);if(g%2)throw Error("Uneven number of arguments");for(var n={},t=0;t<g;t+=2)n[arguments[t]]=arguments[t+1];return n},goog.object.createSet=function(o){var g=arguments.length;if(1==g&&goog.isArray(arguments[0]))return goog.object.createSet.apply(null,arguments[0]);for(var n={},t=0;t<g;t++)n[arguments[t]]=!0;return n},goog.object.createImmutableView=function(o){var g=o;return Object.isFrozen&&!Object.isFrozen(o)&&(g=Object.create(o),Object.freeze(g)),g},goog.object.isImmutableView=function(o){return!!Object.isFrozen&&Object.isFrozen(o)},goog.object.getAllPropertyNames=function(o,g,n){if(!o)return[];if(!Object.getOwnPropertyNames||!Object.getPrototypeOf)return goog.object.getKeys(o);for(var t={};o&&(o!==Object.prototype||g)&&(o!==Function.prototype||n);){for(var r=Object.getOwnPropertyNames(o),i=0;i<r.length;i++)t[r[i]]=!0;o=Object.getPrototypeOf(o)}return goog.object.getKeys(t)},goog.object.getSuperClass=function(o){return(o=Object.getPrototypeOf(o.prototype))&&o.constructor},goog.debug={},goog.debug.Error=function(o){if(Error.captureStackTrace)Error.captureStackTrace(this,goog.debug.Error);else{var g=Error().stack;g&&(this.stack=g)}o&&(this.message=String(o)),this.reportErrorToServer=!0},goog.inherits(goog.debug.Error,Error),goog.debug.Error.prototype.name="CustomError",goog.dom={},goog.dom.NodeType={ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12},goog.asserts={},goog.asserts.ENABLE_ASSERTS=goog.DEBUG,goog.asserts.AssertionError=function(o,g){goog.debug.Error.call(this,goog.asserts.subs_(o,g)),this.messagePattern=o},goog.inherits(goog.asserts.AssertionError,goog.debug.Error),goog.asserts.AssertionError.prototype.name="AssertionError",goog.asserts.DEFAULT_ERROR_HANDLER=function(o){throw o},goog.asserts.errorHandler_=goog.asserts.DEFAULT_ERROR_HANDLER,goog.asserts.subs_=function(o,g){for(var n="",t=(o=o.split("%s")).length-1,r=0;r<t;r++)n+=o[r]+(r<g.length?g[r]:"%s");return n+o[t]},goog.asserts.doAssertFailure_=function(o,g,n,t){var r="Assertion failed";if(n){r+=": "+n;var i=t}else o&&(r+=": "+o,i=g);o=new goog.asserts.AssertionError(""+r,i||[]),goog.asserts.errorHandler_(o)},goog.asserts.setErrorHandler=function(o){goog.asserts.ENABLE_ASSERTS&&(goog.asserts.errorHandler_=o)},goog.asserts.assert=function(o,g,n){return goog.asserts.ENABLE_ASSERTS&&!o&&goog.asserts.doAssertFailure_("",null,g,Array.prototype.slice.call(arguments,2)),o},goog.asserts.assertExists=function(o,g,n){return goog.asserts.ENABLE_ASSERTS&&null==o&&goog.asserts.doAssertFailure_("Expected to exist: %s.",[o],g,Array.prototype.slice.call(arguments,2)),o},goog.asserts.fail=function(o,g){goog.asserts.ENABLE_ASSERTS&&goog.asserts.errorHandler_(new goog.asserts.AssertionError("Failure"+(o?": "+o:""),Array.prototype.slice.call(arguments,1)))},goog.asserts.assertNumber=function(o,g,n){return goog.asserts.ENABLE_ASSERTS&&!goog.isNumber(o)&&goog.asserts.doAssertFailure_("Expected number but got %s: %s.",[goog.typeOf(o),o],g,Array.prototype.slice.call(arguments,2)),o},goog.asserts.assertString=function(o,g,n){return goog.asserts.ENABLE_ASSERTS&&!goog.isString(o)&&goog.asserts.doAssertFailure_("Expected string but got %s: %s.",[goog.typeOf(o),o],g,Array.prototype.slice.call(arguments,2)),o},goog.asserts.assertFunction=function(o,g,n){return goog.asserts.ENABLE_ASSERTS&&!goog.isFunction(o)&&goog.asserts.doAssertFailure_("Expected function but got %s: %s.",[goog.typeOf(o),o],g,Array.prototype.slice.call(arguments,2)),o},goog.asserts.assertObject=function(o,g,n){return goog.asserts.ENABLE_ASSERTS&&!goog.isObject(o)&&goog.asserts.doAssertFailure_("Expected object but got %s: %s.",[goog.typeOf(o),o],g,Array.prototype.slice.call(arguments,2)),o},goog.asserts.assertArray=function(o,g,n){return goog.asserts.ENABLE_ASSERTS&&!goog.isArray(o)&&goog.asserts.doAssertFailure_("Expected array but got %s: %s.",[goog.typeOf(o),o],g,Array.prototype.slice.call(arguments,2)),o},goog.asserts.assertBoolean=function(o,g,n){return goog.asserts.ENABLE_ASSERTS&&!goog.isBoolean(o)&&goog.asserts.doAssertFailure_("Expected boolean but got %s: %s.",[goog.typeOf(o),o],g,Array.prototype.slice.call(arguments,2)),o},goog.asserts.assertElement=function(o,g,n){return!goog.asserts.ENABLE_ASSERTS||goog.isObject(o)&&o.nodeType==goog.dom.NodeType.ELEMENT||goog.asserts.doAssertFailure_("Expected Element but got %s: %s.",[goog.typeOf(o),o],g,Array.prototype.slice.call(arguments,2)),o},goog.asserts.assertInstanceof=function(o,g,n,t){return!goog.asserts.ENABLE_ASSERTS||o instanceof g||goog.asserts.doAssertFailure_("Expected instanceof %s but got %s.",[goog.asserts.getType_(g),goog.asserts.getType_(o)],n,Array.prototype.slice.call(arguments,3)),o},goog.asserts.assertFinite=function(o,g,n){return!goog.asserts.ENABLE_ASSERTS||"number"==typeof o&&isFinite(o)||goog.asserts.doAssertFailure_("Expected %s to be a finite number but it is not.",[o],g,Array.prototype.slice.call(arguments,2)),o},goog.asserts.assertObjectPrototypeIsIntact=function(){for(var o in Object.prototype)goog.asserts.fail(o+" should not be enumerable in Object.prototype.")},goog.asserts.getType_=function(o){return o instanceof Function?o.displayName||o.name||"unknown type name":o instanceof Object?o.constructor.displayName||o.constructor.name||Object.prototype.toString.call(o):null===o?"null":typeof o};var jspb={BinaryConstants:{},ConstBinaryMessage:function(){},BinaryMessage:function(){}};jspb.BinaryConstants.FieldType={INVALID:-1,DOUBLE:1,FLOAT:2,INT64:3,UINT64:4,INT32:5,FIXED64:6,FIXED32:7,BOOL:8,STRING:9,GROUP:10,MESSAGE:11,BYTES:12,UINT32:13,ENUM:14,SFIXED32:15,SFIXED64:16,SINT32:17,SINT64:18,FHASH64:30,VHASH64:31},jspb.BinaryConstants.WireType={INVALID:-1,VARINT:0,FIXED64:1,DELIMITED:2,START_GROUP:3,END_GROUP:4,FIXED32:5},jspb.BinaryConstants.FieldTypeToWireType=function(o){var g=jspb.BinaryConstants.FieldType,n=jspb.BinaryConstants.WireType;switch(o){case g.INT32:case g.INT64:case g.UINT32:case g.UINT64:case g.SINT32:case g.SINT64:case g.BOOL:case g.ENUM:case g.VHASH64:return n.VARINT;case g.DOUBLE:case g.FIXED64:case g.SFIXED64:case g.FHASH64:return n.FIXED64;case g.STRING:case g.MESSAGE:case g.BYTES:return n.DELIMITED;case g.FLOAT:case g.FIXED32:case g.SFIXED32:return n.FIXED32;default:return n.INVALID}},jspb.BinaryConstants.INVALID_FIELD_NUMBER=-1,jspb.BinaryConstants.FLOAT32_EPS=1401298464324817e-60,jspb.BinaryConstants.FLOAT32_MIN=11754943508222875e-54,jspb.BinaryConstants.FLOAT32_MAX=34028234663852886e22,jspb.BinaryConstants.FLOAT64_EPS=5e-324,jspb.BinaryConstants.FLOAT64_MIN=22250738585072014e-324,jspb.BinaryConstants.FLOAT64_MAX=17976931348623157e292,jspb.BinaryConstants.TWO_TO_20=1048576,jspb.BinaryConstants.TWO_TO_23=8388608,jspb.BinaryConstants.TWO_TO_31=2147483648,jspb.BinaryConstants.TWO_TO_32=4294967296,jspb.BinaryConstants.TWO_TO_52=4503599627370496,jspb.BinaryConstants.TWO_TO_63=0x8000000000000000,jspb.BinaryConstants.TWO_TO_64=0x10000000000000000,jspb.BinaryConstants.ZERO_HASH="\0\0\0\0\0\0\0\0",goog.array={},goog.NATIVE_ARRAY_PROTOTYPES=goog.TRUSTED_SITE,goog.array.ASSUME_NATIVE_FUNCTIONS=2012<goog.FEATURESET_YEAR,goog.array.peek=function(o){return o[o.length-1]},goog.array.last=goog.array.peek,goog.array.indexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.indexOf)?function(o,g,n){return goog.asserts.assert(null!=o.length),Array.prototype.indexOf.call(o,g,n)}:function(o,g,n){if(n=null==n?0:0>n?Math.max(0,o.length+n):n,goog.isString(o))return goog.isString(g)&&1==g.length?o.indexOf(g,n):-1;for(;n<o.length;n++)if(n in o&&o[n]===g)return n;return-1},goog.array.lastIndexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.lastIndexOf)?function(o,g,n){return goog.asserts.assert(null!=o.length),Array.prototype.lastIndexOf.call(o,g,null==n?o.length-1:n)}:function(o,g,n){if(0>(n=null==n?o.length-1:n)&&(n=Math.max(0,o.length+n)),goog.isString(o))return goog.isString(g)&&1==g.length?o.lastIndexOf(g,n):-1;for(;0<=n;n--)if(n in o&&o[n]===g)return n;return-1},goog.array.forEach=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.forEach)?function(o,g,n){goog.asserts.assert(null!=o.length),Array.prototype.forEach.call(o,g,n)}:function(o,g,n){for(var t=o.length,r=goog.isString(o)?o.split(""):o,i=0;i<t;i++)i in r&&g.call(n,r[i],i,o)},goog.array.forEachRight=function(o,g,n){var t=o.length,r=goog.isString(o)?o.split(""):o;for(--t;0<=t;--t)t in r&&g.call(n,r[t],t,o)},goog.array.filter=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.filter)?function(o,g,n){return goog.asserts.assert(null!=o.length),Array.prototype.filter.call(o,g,n)}:function(o,g,n){for(var t=o.length,r=[],i=0,e=goog.isString(o)?o.split(""):o,u=0;u<t;u++)if(u in e){var s=e[u];g.call(n,s,u,o)&&(r[i++]=s)}return r},goog.array.map=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.map)?function(o,g,n){return goog.asserts.assert(null!=o.length),Array.prototype.map.call(o,g,n)}:function(o,g,n){for(var t=o.length,r=Array(t),i=goog.isString(o)?o.split(""):o,e=0;e<t;e++)e in i&&(r[e]=g.call(n,i[e],e,o));return r},goog.array.reduce=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduce)?function(o,g,n,t){return goog.asserts.assert(null!=o.length),t&&(g=goog.bind(g,t)),Array.prototype.reduce.call(o,g,n)}:function(o,g,n,t){var r=n;return goog.array.forEach(o,(function(n,i){r=g.call(t,r,n,i,o)})),r},goog.array.reduceRight=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduceRight)?function(o,g,n,t){return goog.asserts.assert(null!=o.length),goog.asserts.assert(null!=g),t&&(g=goog.bind(g,t)),Array.prototype.reduceRight.call(o,g,n)}:function(o,g,n,t){var r=n;return goog.array.forEachRight(o,(function(n,i){r=g.call(t,r,n,i,o)})),r},goog.array.some=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.some)?function(o,g,n){return goog.asserts.assert(null!=o.length),Array.prototype.some.call(o,g,n)}:function(o,g,n){for(var t=o.length,r=goog.isString(o)?o.split(""):o,i=0;i<t;i++)if(i in r&&g.call(n,r[i],i,o))return!0;return!1},goog.array.every=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.every)?function(o,g,n){return goog.asserts.assert(null!=o.length),Array.prototype.every.call(o,g,n)}:function(o,g,n){for(var t=o.length,r=goog.isString(o)?o.split(""):o,i=0;i<t;i++)if(i in r&&!g.call(n,r[i],i,o))return!1;return!0},goog.array.count=function(o,g,n){var t=0;return goog.array.forEach(o,(function(o,r,i){g.call(n,o,r,i)&&++t}),n),t},goog.array.find=function(o,g,n){return 0>(g=goog.array.findIndex(o,g,n))?null:goog.isString(o)?o.charAt(g):o[g]},goog.array.findIndex=function(o,g,n){for(var t=o.length,r=goog.isString(o)?o.split(""):o,i=0;i<t;i++)if(i in r&&g.call(n,r[i],i,o))return i;return-1},goog.array.findRight=function(o,g,n){return 0>(g=goog.array.findIndexRight(o,g,n))?null:goog.isString(o)?o.charAt(g):o[g]},goog.array.findIndexRight=function(o,g,n){var t=o.length,r=goog.isString(o)?o.split(""):o;for(--t;0<=t;t--)if(t in r&&g.call(n,r[t],t,o))return t;return-1},goog.array.contains=function(o,g){return 0<=goog.array.indexOf(o,g)},goog.array.isEmpty=function(o){return 0==o.length},goog.array.clear=function(o){if(!goog.isArray(o))for(var g=o.length-1;0<=g;g--)delete o[g];o.length=0},goog.array.insert=function(o,g){goog.array.contains(o,g)||o.push(g)},goog.array.insertAt=function(o,g,n){goog.array.splice(o,n,0,g)},goog.array.insertArrayAt=function(o,g,n){goog.partial(goog.array.splice,o,n,0).apply(null,g)},goog.array.insertBefore=function(o,g,n){var t;2==arguments.length||0>(t=goog.array.indexOf(o,n))?o.push(g):goog.array.insertAt(o,g,t)},goog.array.remove=function(o,g){var n;return(n=0<=(g=goog.array.indexOf(o,g)))&&goog.array.removeAt(o,g),n},goog.array.removeLast=function(o,g){return 0<=(g=goog.array.lastIndexOf(o,g))&&(goog.array.removeAt(o,g),!0)},goog.array.removeAt=function(o,g){return goog.asserts.assert(null!=o.length),1==Array.prototype.splice.call(o,g,1).length},goog.array.removeIf=function(o,g,n){return 0<=(g=goog.array.findIndex(o,g,n))&&(goog.array.removeAt(o,g),!0)},goog.array.removeAllIf=function(o,g,n){var t=0;return goog.array.forEachRight(o,(function(r,i){g.call(n,r,i,o)&&goog.array.removeAt(o,i)&&t++})),t},goog.array.concat=function(o){return Array.prototype.concat.apply([],arguments)},goog.array.join=function(o){return Array.prototype.concat.apply([],arguments)},goog.array.toArray=function(o){var g=o.length;if(0<g){for(var n=Array(g),t=0;t<g;t++)n[t]=o[t];return n}return[]},goog.array.clone=goog.array.toArray,goog.array.extend=function(o,g){for(var n=1;n<arguments.length;n++){var t=arguments[n];if(goog.isArrayLike(t)){var r=o.length||0,i=t.length||0;o.length=r+i;for(var e=0;e<i;e++)o[r+e]=t[e]}else o.push(t)}},goog.array.splice=function(o,g,n,t){return goog.asserts.assert(null!=o.length),Array.prototype.splice.apply(o,goog.array.slice(arguments,1))},goog.array.slice=function(o,g,n){return goog.asserts.assert(null!=o.length),2>=arguments.length?Array.prototype.slice.call(o,g):Array.prototype.slice.call(o,g,n)},goog.array.removeDuplicates=function(o,g,n){g=g||o;var t=function(o){return goog.isObject(o)?"o"+goog.getUid(o):(typeof o).charAt(0)+o};n=n||t,t={};for(var r=0,i=0;i<o.length;){var e=o[i++],u=n(e);Object.prototype.hasOwnProperty.call(t,u)||(t[u]=!0,g[r++]=e)}g.length=r},goog.array.binarySearch=function(o,g,n){return goog.array.binarySearch_(o,n||goog.array.defaultCompare,!1,g)},goog.array.binarySelect=function(o,g,n){return goog.array.binarySearch_(o,g,!0,void 0,n)},goog.array.binarySearch_=function(o,g,n,t,r){for(var i,e=0,u=o.length;e<u;){var s=e+u>>1,f=n?g.call(r,o[s],s,o):g(t,o[s]);0<f?e=s+1:(u=s,i=!f)}return i?e:~e},goog.array.sort=function(o,g){o.sort(g||goog.array.defaultCompare)},goog.array.stableSort=function(o,g){for(var n=Array(o.length),t=0;t<o.length;t++)n[t]={index:t,value:o[t]};var r=g||goog.array.defaultCompare;for(goog.array.sort(n,(function(o,g){return r(o.value,g.value)||o.index-g.index})),t=0;t<o.length;t++)o[t]=n[t].value},goog.array.sortByKey=function(o,g,n){var t=n||goog.array.defaultCompare;goog.array.sort(o,(function(o,n){return t(g(o),g(n))}))},goog.array.sortObjectsByKey=function(o,g,n){goog.array.sortByKey(o,(function(o){return o[g]}),n)},goog.array.isSorted=function(o,g,n){g=g||goog.array.defaultCompare;for(var t=1;t<o.length;t++){var r=g(o[t-1],o[t]);if(0<r||0==r&&n)return!1}return!0},goog.array.equals=function(o,g,n){if(!goog.isArrayLike(o)||!goog.isArrayLike(g)||o.length!=g.length)return!1;var t=o.length;n=n||goog.array.defaultCompareEquality;for(var r=0;r<t;r++)if(!n(o[r],g[r]))return!1;return!0},goog.array.compare3=function(o,g,n){n=n||goog.array.defaultCompare;for(var t=Math.min(o.length,g.length),r=0;r<t;r++){var i=n(o[r],g[r]);if(0!=i)return i}return goog.array.defaultCompare(o.length,g.length)},goog.array.defaultCompare=function(o,g){return o>g?1:o<g?-1:0},goog.array.inverseDefaultCompare=function(o,g){return-goog.array.defaultCompare(o,g)},goog.array.defaultCompareEquality=function(o,g){return o===g},goog.array.binaryInsert=function(o,g,n){return 0>(n=goog.array.binarySearch(o,g,n))&&(goog.array.insertAt(o,g,-(n+1)),!0)},goog.array.binaryRemove=function(o,g,n){return 0<=(g=goog.array.binarySearch(o,g,n))&&goog.array.removeAt(o,g)},goog.array.bucket=function(o,g,n){for(var t={},r=0;r<o.length;r++){var i=o[r],e=g.call(n,i,r,o);goog.isDef(e)&&(t[e]||(t[e]=[])).push(i)}return t},goog.array.toObject=function(o,g,n){var t={};return goog.array.forEach(o,(function(r,i){t[g.call(n,r,i,o)]=r})),t},goog.array.range=function(o,g,n){var t=[],r=0,i=o;if(void 0!==g&&(r=o,i=g),0>(n=n||1)*(i-r))return[];if(0<n)for(o=r;o<i;o+=n)t.push(o);else for(o=r;o>i;o+=n)t.push(o);return t},goog.array.repeat=function(o,g){for(var n=[],t=0;t<g;t++)n[t]=o;return n},goog.array.flatten=function(o){for(var g=[],n=0;n<arguments.length;n++){var t=arguments[n];if(goog.isArray(t))for(var r=0;r<t.length;r+=8192){var i=goog.array.slice(t,r,r+8192);i=goog.array.flatten.apply(null,i);for(var e=0;e<i.length;e++)g.push(i[e])}else g.push(t)}return g},goog.array.rotate=function(o,g){return goog.asserts.assert(null!=o.length),o.length&&(0<(g%=o.length)?Array.prototype.unshift.apply(o,o.splice(-g,g)):0>g&&Array.prototype.push.apply(o,o.splice(0,-g))),o},goog.array.moveItem=function(o,g,n){goog.asserts.assert(0<=g&&g<o.length),goog.asserts.assert(0<=n&&n<o.length),g=Array.prototype.splice.call(o,g,1),Array.prototype.splice.call(o,n,0,g[0])},goog.array.zip=function(o){if(!arguments.length)return[];for(var g=[],n=arguments[0].length,t=1;t<arguments.length;t++)arguments[t].length<n&&(n=arguments[t].length);for(t=0;t<n;t++){for(var r=[],i=0;i<arguments.length;i++)r.push(arguments[i][t]);g.push(r)}return g},goog.array.shuffle=function(o,g){g=g||Math.random;for(var n=o.length-1;0<n;n--){var t=Math.floor(g()*(n+1)),r=o[n];o[n]=o[t],o[t]=r}},goog.array.copyByIndex=function(o,g){var n=[];return goog.array.forEach(g,(function(g){n.push(o[g])})),n},goog.array.concatMap=function(o,g,n){return goog.array.concat.apply([],goog.array.map(o,g,n))},goog.crypt={},goog.crypt.stringToByteArray=function(o){for(var g=[],n=0,t=0;t<o.length;t++){var r=o.charCodeAt(t);255<r&&(g[n++]=255&r,r>>=8),g[n++]=r}return g},goog.crypt.byteArrayToString=function(o){if(8192>=o.length)return String.fromCharCode.apply(null,o);for(var g="",n=0;n<o.length;n+=8192){var t=goog.array.slice(o,n,n+8192);g+=String.fromCharCode.apply(null,t)}return g},goog.crypt.byteArrayToHex=function(o,g){return goog.array.map(o,(function(o){return 1<(o=o.toString(16)).length?o:"0"+o})).join(g||"")},goog.crypt.hexToByteArray=function(o){goog.asserts.assert(0==o.length%2,"Key string length must be multiple of 2");for(var g=[],n=0;n<o.length;n+=2)g.push(parseInt(o.substring(n,n+2),16));return g},goog.crypt.stringToUtf8ByteArray=function(o){for(var g=[],n=0,t=0;t<o.length;t++){var r=o.charCodeAt(t);128>r?g[n++]=r:(2048>r?g[n++]=r>>6|192:(55296==(64512&r)&&t+1<o.length&&56320==(64512&o.charCodeAt(t+1))?(r=65536+((1023&r)<<10)+(1023&o.charCodeAt(++t)),g[n++]=r>>18|240,g[n++]=r>>12&63|128):g[n++]=r>>12|224,g[n++]=r>>6&63|128),g[n++]=63&r|128)}return g},goog.crypt.utf8ByteArrayToString=function(o){for(var g=[],n=0,t=0;n<o.length;){var r=o[n++];if(128>r)g[t++]=String.fromCharCode(r);else if(191<r&&224>r){var i=o[n++];g[t++]=String.fromCharCode((31&r)<<6|63&i)}else if(239<r&&365>r){i=o[n++];var e=o[n++];r=((7&r)<<18|(63&i)<<12|(63&e)<<6|63&o[n++])-65536,g[t++]=String.fromCharCode(55296+(r>>10)),g[t++]=String.fromCharCode(56320+(1023&r))}else i=o[n++],e=o[n++],g[t++]=String.fromCharCode((15&r)<<12|(63&i)<<6|63&e)}return g.join("")},goog.crypt.xorByteArray=function(o,g){goog.asserts.assert(o.length==g.length,"XOR array lengths must match");for(var n=[],t=0;t<o.length;t++)n.push(o[t]^g[t]);return n},goog.dom.asserts={},goog.dom.asserts.assertIsLocation=function(o){if(goog.asserts.ENABLE_ASSERTS){var g=goog.dom.asserts.getWindow_(o);g&&(!o||!(o instanceof g.Location)&&o instanceof g.Element)&&goog.asserts.fail("Argument is not a Location (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(o))}return o},goog.dom.asserts.assertIsElementType_=function(o,g){if(goog.asserts.ENABLE_ASSERTS){var n=goog.dom.asserts.getWindow_(o);n&&void 0!==n[g]&&(o&&(o instanceof n[g]||!(o instanceof n.Location||o instanceof n.Element))||goog.asserts.fail("Argument is not a %s (or a non-Element, non-Location mock); got: %s",g,goog.dom.asserts.debugStringForType_(o)))}return o},goog.dom.asserts.assertIsHTMLAnchorElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLAnchorElement")},goog.dom.asserts.assertIsHTMLButtonElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLButtonElement")},goog.dom.asserts.assertIsHTMLLinkElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLLinkElement")},goog.dom.asserts.assertIsHTMLImageElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLImageElement")},goog.dom.asserts.assertIsHTMLAudioElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLAudioElement")},goog.dom.asserts.assertIsHTMLVideoElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLVideoElement")},goog.dom.asserts.assertIsHTMLInputElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLInputElement")},goog.dom.asserts.assertIsHTMLTextAreaElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLTextAreaElement")},goog.dom.asserts.assertIsHTMLCanvasElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLCanvasElement")},goog.dom.asserts.assertIsHTMLEmbedElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLEmbedElement")},goog.dom.asserts.assertIsHTMLFormElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLFormElement")},goog.dom.asserts.assertIsHTMLFrameElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLFrameElement")},goog.dom.asserts.assertIsHTMLIFrameElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLIFrameElement")},goog.dom.asserts.assertIsHTMLObjectElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLObjectElement")},goog.dom.asserts.assertIsHTMLScriptElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLScriptElement")},goog.dom.asserts.debugStringForType_=function(o){if(!goog.isObject(o))return void 0===o?"undefined":null===o?"null":typeof o;try{return o.constructor.displayName||o.constructor.name||Object.prototype.toString.call(o)}catch(o){return"<object could not be stringified>"}},goog.dom.asserts.getWindow_=function(o){try{var g=o&&o.ownerDocument,n=g&&(g.defaultView||g.parentWindow);if((n=n||goog.global).Element&&n.Location)return n}catch(o){}return null},goog.functions={},goog.functions.constant=function(o){return function(){return o}},goog.functions.FALSE=function(){return!1},goog.functions.TRUE=function(){return!0},goog.functions.NULL=function(){return null},goog.functions.identity=function(o){return o},goog.functions.error=function(o){return function(){throw Error(o)}},goog.functions.fail=function(o){return function(){throw o}},goog.functions.lock=function(o,g){return g=g||0,function(){return o.apply(this,Array.prototype.slice.call(arguments,0,g))}},goog.functions.nth=function(o){return function(){return arguments[o]}},goog.functions.partialRight=function(o,g){var n=Array.prototype.slice.call(arguments,1);return function(){var g=Array.prototype.slice.call(arguments);return g.push.apply(g,n),o.apply(this,g)}},goog.functions.withReturnValue=function(o,g){return goog.functions.sequence(o,goog.functions.constant(g))},goog.functions.equalTo=function(o,g){return function(n){return g?o==n:o===n}},goog.functions.compose=function(o,g){var n=arguments,t=n.length;return function(){var o;t&&(o=n[t-1].apply(this,arguments));for(var g=t-2;0<=g;g--)o=n[g].call(this,o);return o}},goog.functions.sequence=function(o){var g=arguments,n=g.length;return function(){for(var o,t=0;t<n;t++)o=g[t].apply(this,arguments);return o}},goog.functions.and=function(o){var g=arguments,n=g.length;return function(){for(var o=0;o<n;o++)if(!g[o].apply(this,arguments))return!1;return!0}},goog.functions.or=function(o){var g=arguments,n=g.length;return function(){for(var o=0;o<n;o++)if(g[o].apply(this,arguments))return!0;return!1}},goog.functions.not=function(o){return function(){return!o.apply(this,arguments)}},goog.functions.create=function(o,g){var n=function(){};return n.prototype=o.prototype,n=new n,o.apply(n,Array.prototype.slice.call(arguments,1)),n},goog.functions.CACHE_RETURN_VALUE=!0,goog.functions.cacheReturnValue=function(o){var g,n=!1;return function(){return goog.functions.CACHE_RETURN_VALUE?(n||(g=o(),n=!0),g):o()}},goog.functions.once=function(o){var g=o;return function(){if(g){var o=g;g=null,o()}}},goog.functions.debounce=function(o,g,n){var t=0;return function(r){goog.global.clearTimeout(t);var i=arguments;t=goog.global.setTimeout((function(){o.apply(n,i)}),g)}},goog.functions.throttle=function(o,g,n){var t=0,r=!1,i=[],e=function(){t=0,r&&(r=!1,u())},u=function(){t=goog.global.setTimeout(e,g),o.apply(n,i)};return function(o){i=arguments,t?r=!0:u()}},goog.functions.rateLimit=function(o,g,n){var t=0,r=function(){t=0};return function(i){t||(t=goog.global.setTimeout(r,g),o.apply(n,arguments))}},goog.dom.HtmlElement=function(){},goog.dom.TagName=function(o){this.tagName_=o},goog.dom.TagName.prototype.toString=function(){return this.tagName_},goog.dom.TagName.A=new goog.dom.TagName("A"),goog.dom.TagName.ABBR=new goog.dom.TagName("ABBR"),goog.dom.TagName.ACRONYM=new goog.dom.TagName("ACRONYM"),goog.dom.TagName.ADDRESS=new goog.dom.TagName("ADDRESS"),goog.dom.TagName.APPLET=new goog.dom.TagName("APPLET"),goog.dom.TagName.AREA=new goog.dom.TagName("AREA"),goog.dom.TagName.ARTICLE=new goog.dom.TagName("ARTICLE"),goog.dom.TagName.ASIDE=new goog.dom.TagName("ASIDE"),goog.dom.TagName.AUDIO=new goog.dom.TagName("AUDIO"),goog.dom.TagName.B=new goog.dom.TagName("B"),goog.dom.TagName.BASE=new goog.dom.TagName("BASE"),goog.dom.TagName.BASEFONT=new goog.dom.TagName("BASEFONT"),goog.dom.TagName.BDI=new goog.dom.TagName("BDI"),goog.dom.TagName.BDO=new goog.dom.TagName("BDO"),goog.dom.TagName.BIG=new goog.dom.TagName("BIG"),goog.dom.TagName.BLOCKQUOTE=new goog.dom.TagName("BLOCKQUOTE"),goog.dom.TagName.BODY=new goog.dom.TagName("BODY"),goog.dom.TagName.BR=new goog.dom.TagName("BR"),goog.dom.TagName.BUTTON=new goog.dom.TagName("BUTTON"),goog.dom.TagName.CANVAS=new goog.dom.TagName("CANVAS"),goog.dom.TagName.CAPTION=new goog.dom.TagName("CAPTION"),goog.dom.TagName.CENTER=new goog.dom.TagName("CENTER"),goog.dom.TagName.CITE=new goog.dom.TagName("CITE"),goog.dom.TagName.CODE=new goog.dom.TagName("CODE"),goog.dom.TagName.COL=new goog.dom.TagName("COL"),goog.dom.TagName.COLGROUP=new goog.dom.TagName("COLGROUP"),goog.dom.TagName.COMMAND=new goog.dom.TagName("COMMAND"),goog.dom.TagName.DATA=new goog.dom.TagName("DATA"),goog.dom.TagName.DATALIST=new goog.dom.TagName("DATALIST"),goog.dom.TagName.DD=new goog.dom.TagName("DD"),goog.dom.TagName.DEL=new goog.dom.TagName("DEL"),goog.dom.TagName.DETAILS=new goog.dom.TagName("DETAILS"),goog.dom.TagName.DFN=new goog.dom.TagName("DFN"),goog.dom.TagName.DIALOG=new goog.dom.TagName("DIALOG"),goog.dom.TagName.DIR=new goog.dom.TagName("DIR"),goog.dom.TagName.DIV=new goog.dom.TagName("DIV"),goog.dom.TagName.DL=new goog.dom.TagName("DL"),goog.dom.TagName.DT=new goog.dom.TagName("DT"),goog.dom.TagName.EM=new goog.dom.TagName("EM"),goog.dom.TagName.EMBED=new goog.dom.TagName("EMBED"),goog.dom.TagName.FIELDSET=new goog.dom.TagName("FIELDSET"),goog.dom.TagName.FIGCAPTION=new goog.dom.TagName("FIGCAPTION"),goog.dom.TagName.FIGURE=new goog.dom.TagName("FIGURE"),goog.dom.TagName.FONT=new goog.dom.TagName("FONT"),goog.dom.TagName.FOOTER=new goog.dom.TagName("FOOTER"),goog.dom.TagName.FORM=new goog.dom.TagName("FORM"),goog.dom.TagName.FRAME=new goog.dom.TagName("FRAME"),goog.dom.TagName.FRAMESET=new goog.dom.TagName("FRAMESET"),goog.dom.TagName.H1=new goog.dom.TagName("H1"),goog.dom.TagName.H2=new goog.dom.TagName("H2"),goog.dom.TagName.H3=new goog.dom.TagName("H3"),goog.dom.TagName.H4=new goog.dom.TagName("H4"),goog.dom.TagName.H5=new goog.dom.TagName("H5"),goog.dom.TagName.H6=new goog.dom.TagName("H6"),goog.dom.TagName.HEAD=new goog.dom.TagName("HEAD"),goog.dom.TagName.HEADER=new goog.dom.TagName("HEADER"),goog.dom.TagName.HGROUP=new goog.dom.TagName("HGROUP"),goog.dom.TagName.HR=new goog.dom.TagName("HR"),goog.dom.TagName.HTML=new goog.dom.TagName("HTML"),goog.dom.TagName.I=new goog.dom.TagName("I"),goog.dom.TagName.IFRAME=new goog.dom.TagName("IFRAME"),goog.dom.TagName.IMG=new goog.dom.TagName("IMG"),goog.dom.TagName.INPUT=new goog.dom.TagName("INPUT"),goog.dom.TagName.INS=new goog.dom.TagName("INS"),goog.dom.TagName.ISINDEX=new goog.dom.TagName("ISINDEX"),goog.dom.TagName.KBD=new goog.dom.TagName("KBD"),goog.dom.TagName.KEYGEN=new goog.dom.TagName("KEYGEN"),goog.dom.TagName.LABEL=new goog.dom.TagName("LABEL"),goog.dom.TagName.LEGEND=new goog.dom.TagName("LEGEND"),goog.dom.TagName.LI=new goog.dom.TagName("LI"),goog.dom.TagName.LINK=new goog.dom.TagName("LINK"),goog.dom.TagName.MAIN=new goog.dom.TagName("MAIN"),goog.dom.TagName.MAP=new goog.dom.TagName("MAP"),goog.dom.TagName.MARK=new goog.dom.TagName("MARK"),goog.dom.TagName.MATH=new goog.dom.TagName("MATH"),goog.dom.TagName.MENU=new goog.dom.TagName("MENU"),goog.dom.TagName.MENUITEM=new goog.dom.TagName("MENUITEM"),goog.dom.TagName.META=new goog.dom.TagName("META"),goog.dom.TagName.METER=new goog.dom.TagName("METER"),goog.dom.TagName.NAV=new goog.dom.TagName("NAV"),goog.dom.TagName.NOFRAMES=new goog.dom.TagName("NOFRAMES"),goog.dom.TagName.NOSCRIPT=new goog.dom.TagName("NOSCRIPT"),goog.dom.TagName.OBJECT=new goog.dom.TagName("OBJECT"),goog.dom.TagName.OL=new goog.dom.TagName("OL"),goog.dom.TagName.OPTGROUP=new goog.dom.TagName("OPTGROUP"),goog.dom.TagName.OPTION=new goog.dom.TagName("OPTION"),goog.dom.TagName.OUTPUT=new goog.dom.TagName("OUTPUT"),goog.dom.TagName.P=new goog.dom.TagName("P"),goog.dom.TagName.PARAM=new goog.dom.TagName("PARAM"),goog.dom.TagName.PICTURE=new goog.dom.TagName("PICTURE"),goog.dom.TagName.PRE=new goog.dom.TagName("PRE"),goog.dom.TagName.PROGRESS=new goog.dom.TagName("PROGRESS"),goog.dom.TagName.Q=new goog.dom.TagName("Q"),goog.dom.TagName.RP=new goog.dom.TagName("RP"),goog.dom.TagName.RT=new goog.dom.TagName("RT"),goog.dom.TagName.RTC=new goog.dom.TagName("RTC"),goog.dom.TagName.RUBY=new goog.dom.TagName("RUBY"),goog.dom.TagName.S=new goog.dom.TagName("S"),goog.dom.TagName.SAMP=new goog.dom.TagName("SAMP"),goog.dom.TagName.SCRIPT=new goog.dom.TagName("SCRIPT"),goog.dom.TagName.SECTION=new goog.dom.TagName("SECTION"),goog.dom.TagName.SELECT=new goog.dom.TagName("SELECT"),goog.dom.TagName.SMALL=new goog.dom.TagName("SMALL"),goog.dom.TagName.SOURCE=new goog.dom.TagName("SOURCE"),goog.dom.TagName.SPAN=new goog.dom.TagName("SPAN"),goog.dom.TagName.STRIKE=new goog.dom.TagName("STRIKE"),goog.dom.TagName.STRONG=new goog.dom.TagName("STRONG"),goog.dom.TagName.STYLE=new goog.dom.TagName("STYLE"),goog.dom.TagName.SUB=new goog.dom.TagName("SUB"),goog.dom.TagName.SUMMARY=new goog.dom.TagName("SUMMARY"),goog.dom.TagName.SUP=new goog.dom.TagName("SUP"),goog.dom.TagName.SVG=new goog.dom.TagName("SVG"),goog.dom.TagName.TABLE=new goog.dom.TagName("TABLE"),goog.dom.TagName.TBODY=new goog.dom.TagName("TBODY"),goog.dom.TagName.TD=new goog.dom.TagName("TD"),goog.dom.TagName.TEMPLATE=new goog.dom.TagName("TEMPLATE"),goog.dom.TagName.TEXTAREA=new goog.dom.TagName("TEXTAREA"),goog.dom.TagName.TFOOT=new goog.dom.TagName("TFOOT"),goog.dom.TagName.TH=new goog.dom.TagName("TH"),goog.dom.TagName.THEAD=new goog.dom.TagName("THEAD"),goog.dom.TagName.TIME=new goog.dom.TagName("TIME"),goog.dom.TagName.TITLE=new goog.dom.TagName("TITLE"),goog.dom.TagName.TR=new goog.dom.TagName("TR"),goog.dom.TagName.TRACK=new goog.dom.TagName("TRACK"),goog.dom.TagName.TT=new goog.dom.TagName("TT"),goog.dom.TagName.U=new goog.dom.TagName("U"),goog.dom.TagName.UL=new goog.dom.TagName("UL"),goog.dom.TagName.VAR=new goog.dom.TagName("VAR"),goog.dom.TagName.VIDEO=new goog.dom.TagName("VIDEO"),goog.dom.TagName.WBR=new goog.dom.TagName("WBR"),goog.dom.tags={},goog.dom.tags.VOID_TAGS_={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},goog.dom.tags.isVoidTag=function(o){return!0===goog.dom.tags.VOID_TAGS_[o]},goog.html={},goog.html.trustedtypes={},goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY=goog.TRUSTED_TYPES_POLICY_NAME?goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME+"#html"):null,goog.string={},goog.string.TypedString=function(){},goog.string.Const=function(o,g){this.stringConstValueWithSecurityContract__googStringSecurityPrivate_=o===goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_&&g||"",this.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_=goog.string.Const.TYPE_MARKER_},goog.string.Const.prototype.implementsGoogStringTypedString=!0,goog.string.Const.prototype.getTypedStringValue=function(){return this.stringConstValueWithSecurityContract__googStringSecurityPrivate_},goog.string.Const.prototype.toString=function(){return"Const{"+this.stringConstValueWithSecurityContract__googStringSecurityPrivate_+"}"},goog.string.Const.unwrap=function(o){return o instanceof goog.string.Const&&o.constructor===goog.string.Const&&o.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_===goog.string.Const.TYPE_MARKER_?o.stringConstValueWithSecurityContract__googStringSecurityPrivate_:(goog.asserts.fail("expected object of type Const, got '"+o+"'"),"type_error:Const")},goog.string.Const.from=function(o){return new goog.string.Const(goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_,o)},goog.string.Const.TYPE_MARKER_={},goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_={},goog.string.Const.EMPTY=goog.string.Const.from(""),goog.html.SafeScript=function(){this.privateDoNotAccessOrElseSafeScriptWrappedValue_="",this.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.SafeScript.prototype.implementsGoogStringTypedString=!0,goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={},goog.html.SafeScript.fromConstant=function(o){return 0===(o=goog.string.Const.unwrap(o)).length?goog.html.SafeScript.EMPTY:goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeScript.fromConstantAndArgs=function(o,g){for(var n=[],t=1;t<arguments.length;t++)n.push(goog.html.SafeScript.stringify_(arguments[t]));return goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse("("+goog.string.Const.unwrap(o)+")("+n.join(", ")+");")},goog.html.SafeScript.fromJson=function(o){return goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(goog.html.SafeScript.stringify_(o))},goog.html.SafeScript.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeScriptWrappedValue_.toString()},goog.DEBUG&&(goog.html.SafeScript.prototype.toString=function(){return"SafeScript{"+this.privateDoNotAccessOrElseSafeScriptWrappedValue_+"}"}),goog.html.SafeScript.unwrap=function(o){return goog.html.SafeScript.unwrapTrustedScript(o).toString()},goog.html.SafeScript.unwrapTrustedScript=function(o){return o instanceof goog.html.SafeScript&&o.constructor===goog.html.SafeScript&&o.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?o.privateDoNotAccessOrElseSafeScriptWrappedValue_:(goog.asserts.fail("expected object of type SafeScript, got '"+o+"' of type "+goog.typeOf(o)),"type_error:SafeScript")},goog.html.SafeScript.stringify_=function(o){return JSON.stringify(o).replace(/</g,"\\x3c")},goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse=function(o){return(new goog.html.SafeScript).initSecurityPrivateDoNotAccessOrElse_(o)},goog.html.SafeScript.prototype.initSecurityPrivateDoNotAccessOrElse_=function(o){return this.privateDoNotAccessOrElseSafeScriptWrappedValue_=goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY?goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY.createScript(o):o,this},goog.html.SafeScript.EMPTY=goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(""),goog.fs={},goog.fs.url={},goog.fs.url.createObjectUrl=function(o){return goog.fs.url.getUrlObject_().createObjectURL(o)},goog.fs.url.revokeObjectUrl=function(o){goog.fs.url.getUrlObject_().revokeObjectURL(o)},goog.fs.url.getUrlObject_=function(){var o=goog.fs.url.findUrlObject_();if(null!=o)return o;throw Error("This browser doesn't seem to support blob URLs")},goog.fs.url.findUrlObject_=function(){return goog.isDef(goog.global.URL)&&goog.isDef(goog.global.URL.createObjectURL)?goog.global.URL:goog.isDef(goog.global.webkitURL)&&goog.isDef(goog.global.webkitURL.createObjectURL)?goog.global.webkitURL:goog.isDef(goog.global.createObjectURL)?goog.global:null},goog.fs.url.browserSupportsObjectUrls=function(){return null!=goog.fs.url.findUrlObject_()},goog.i18n={},goog.i18n.bidi={},goog.i18n.bidi.FORCE_RTL=!1,goog.i18n.bidi.IS_RTL=goog.i18n.bidi.FORCE_RTL||("ar"==goog.LOCALE.substring(0,2).toLowerCase()||"fa"==goog.LOCALE.substring(0,2).toLowerCase()||"he"==goog.LOCALE.substring(0,2).toLowerCase()||"iw"==goog.LOCALE.substring(0,2).toLowerCase()||"ps"==goog.LOCALE.substring(0,2).toLowerCase()||"sd"==goog.LOCALE.substring(0,2).toLowerCase()||"ug"==goog.LOCALE.substring(0,2).toLowerCase()||"ur"==goog.LOCALE.substring(0,2).toLowerCase()||"yi"==goog.LOCALE.substring(0,2).toLowerCase())&&(2==goog.LOCALE.length||"-"==goog.LOCALE.substring(2,3)||"_"==goog.LOCALE.substring(2,3))||3<=goog.LOCALE.length&&"ckb"==goog.LOCALE.substring(0,3).toLowerCase()&&(3==goog.LOCALE.length||"-"==goog.LOCALE.substring(3,4)||"_"==goog.LOCALE.substring(3,4))||7<=goog.LOCALE.length&&("-"==goog.LOCALE.substring(2,3)||"_"==goog.LOCALE.substring(2,3))&&("adlm"==goog.LOCALE.substring(3,7).toLowerCase()||"arab"==goog.LOCALE.substring(3,7).toLowerCase()||"hebr"==goog.LOCALE.substring(3,7).toLowerCase()||"nkoo"==goog.LOCALE.substring(3,7).toLowerCase()||"rohg"==goog.LOCALE.substring(3,7).toLowerCase()||"thaa"==goog.LOCALE.substring(3,7).toLowerCase())||8<=goog.LOCALE.length&&("-"==goog.LOCALE.substring(3,4)||"_"==goog.LOCALE.substring(3,4))&&("adlm"==goog.LOCALE.substring(4,8).toLowerCase()||"arab"==goog.LOCALE.substring(4,8).toLowerCase()||"hebr"==goog.LOCALE.substring(4,8).toLowerCase()||"nkoo"==goog.LOCALE.substring(4,8).toLowerCase()||"rohg"==goog.LOCALE.substring(4,8).toLowerCase()||"thaa"==goog.LOCALE.substring(4,8).toLowerCase()),goog.i18n.bidi.Format={LRE:"",RLE:"",PDF:"",LRM:"",RLM:""},goog.i18n.bidi.Dir={LTR:1,RTL:-1,NEUTRAL:0},goog.i18n.bidi.RIGHT="right",goog.i18n.bidi.LEFT="left",goog.i18n.bidi.I18N_RIGHT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.LEFT:goog.i18n.bidi.RIGHT,goog.i18n.bidi.I18N_LEFT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT,goog.i18n.bidi.toDir=function(o,g){return"number"==typeof o?0<o?goog.i18n.bidi.Dir.LTR:0>o?goog.i18n.bidi.Dir.RTL:g?null:goog.i18n.bidi.Dir.NEUTRAL:null==o?null:o?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR},goog.i18n.bidi.ltrChars_="A-Za-zÀ-ÖØ-öø-ʸ̀-ऀ-Ⰰ-\ud801\ud804-\ud839\ud83c-\udbff豈-︀--",goog.i18n.bidi.rtlChars_="֑-ۯۺ-ࣿ\ud802-\ud803\ud83a-\ud83bיִ-﷿ﹰ-ﻼ",goog.i18n.bidi.htmlSkipReg_=/<[^>]*>|&[^;]+;/g,goog.i18n.bidi.stripHtmlIfNeeded_=function(o,g){return g?o.replace(goog.i18n.bidi.htmlSkipReg_,""):o},goog.i18n.bidi.rtlCharReg_=new RegExp("["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.ltrCharReg_=new RegExp("["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.hasAnyRtl=function(o,g){return goog.i18n.bidi.rtlCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,g))},goog.i18n.bidi.hasRtlChar=goog.i18n.bidi.hasAnyRtl,goog.i18n.bidi.hasAnyLtr=function(o,g){return goog.i18n.bidi.ltrCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,g))},goog.i18n.bidi.ltrRe_=new RegExp("^["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.rtlRe_=new RegExp("^["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.isRtlChar=function(o){return goog.i18n.bidi.rtlRe_.test(o)},goog.i18n.bidi.isLtrChar=function(o){return goog.i18n.bidi.ltrRe_.test(o)},goog.i18n.bidi.isNeutralChar=function(o){return!goog.i18n.bidi.isLtrChar(o)&&!goog.i18n.bidi.isRtlChar(o)},goog.i18n.bidi.ltrDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.rtlChars_+"]*["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.rtlDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.ltrChars_+"]*["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.startsWithRtl=function(o,g){return goog.i18n.bidi.rtlDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,g))},goog.i18n.bidi.isRtlText=goog.i18n.bidi.startsWithRtl,goog.i18n.bidi.startsWithLtr=function(o,g){return goog.i18n.bidi.ltrDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,g))},goog.i18n.bidi.isLtrText=goog.i18n.bidi.startsWithLtr,goog.i18n.bidi.isRequiredLtrRe_=/^http:\/\/.*/,goog.i18n.bidi.isNeutralText=function(o,g){return o=goog.i18n.bidi.stripHtmlIfNeeded_(o,g),goog.i18n.bidi.isRequiredLtrRe_.test(o)||!goog.i18n.bidi.hasAnyLtr(o)&&!goog.i18n.bidi.hasAnyRtl(o)},goog.i18n.bidi.ltrExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.ltrChars_+"][^"+goog.i18n.bidi.rtlChars_+"]*$"),goog.i18n.bidi.rtlExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.rtlChars_+"][^"+goog.i18n.bidi.ltrChars_+"]*$"),goog.i18n.bidi.endsWithLtr=function(o,g){return goog.i18n.bidi.ltrExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,g))},goog.i18n.bidi.isLtrExitText=goog.i18n.bidi.endsWithLtr,goog.i18n.bidi.endsWithRtl=function(o,g){return goog.i18n.bidi.rtlExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,g))},goog.i18n.bidi.isRtlExitText=goog.i18n.bidi.endsWithRtl,goog.i18n.bidi.rtlLocalesRe_=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i,goog.i18n.bidi.isRtlLanguage=function(o){return goog.i18n.bidi.rtlLocalesRe_.test(o)},goog.i18n.bidi.bracketGuardTextRe_=/(\(.*?\)+)|(\[.*?\]+)|(\{.*?\}+)|(<.*?>+)/g,goog.i18n.bidi.guardBracketInText=function(o,g){return g=(void 0===g?goog.i18n.bidi.hasAnyRtl(o):g)?goog.i18n.bidi.Format.RLM:goog.i18n.bidi.Format.LRM,o.replace(goog.i18n.bidi.bracketGuardTextRe_,g+"$&"+g)},goog.i18n.bidi.enforceRtlInHtml=function(o){return"<"==o.charAt(0)?o.replace(/<\w+/,"$& dir=rtl"):"\n<span dir=rtl>"+o+"</span>"},goog.i18n.bidi.enforceRtlInText=function(o){return goog.i18n.bidi.Format.RLE+o+goog.i18n.bidi.Format.PDF},goog.i18n.bidi.enforceLtrInHtml=function(o){return"<"==o.charAt(0)?o.replace(/<\w+/,"$& dir=ltr"):"\n<span dir=ltr>"+o+"</span>"},goog.i18n.bidi.enforceLtrInText=function(o){return goog.i18n.bidi.Format.LRE+o+goog.i18n.bidi.Format.PDF},goog.i18n.bidi.dimensionsRe_=/:\s*([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)/g,goog.i18n.bidi.leftRe_=/left/gi,goog.i18n.bidi.rightRe_=/right/gi,goog.i18n.bidi.tempRe_=/%%%%/g,goog.i18n.bidi.mirrorCSS=function(o){return o.replace(goog.i18n.bidi.dimensionsRe_,":$1 $4 $3 $2").replace(goog.i18n.bidi.leftRe_,"%%%%").replace(goog.i18n.bidi.rightRe_,goog.i18n.bidi.LEFT).replace(goog.i18n.bidi.tempRe_,goog.i18n.bidi.RIGHT)},goog.i18n.bidi.doubleQuoteSubstituteRe_=/([\u0591-\u05f2])"/g,goog.i18n.bidi.singleQuoteSubstituteRe_=/([\u0591-\u05f2])'/g,goog.i18n.bidi.normalizeHebrewQuote=function(o){return o.replace(goog.i18n.bidi.doubleQuoteSubstituteRe_,"$1״").replace(goog.i18n.bidi.singleQuoteSubstituteRe_,"$1׳")},goog.i18n.bidi.wordSeparatorRe_=/\s+/,goog.i18n.bidi.hasNumeralsRe_=/[\d\u06f0-\u06f9]/,goog.i18n.bidi.rtlDetectionThreshold_=.4,goog.i18n.bidi.estimateDirection=function(o,g){var n=0,t=0,r=!1;for(o=goog.i18n.bidi.stripHtmlIfNeeded_(o,g).split(goog.i18n.bidi.wordSeparatorRe_),g=0;g<o.length;g++){var i=o[g];goog.i18n.bidi.startsWithRtl(i)?(n++,t++):goog.i18n.bidi.isRequiredLtrRe_.test(i)?r=!0:goog.i18n.bidi.hasAnyLtr(i)?t++:goog.i18n.bidi.hasNumeralsRe_.test(i)&&(r=!0)}return 0==t?r?goog.i18n.bidi.Dir.LTR:goog.i18n.bidi.Dir.NEUTRAL:n/t>goog.i18n.bidi.rtlDetectionThreshold_?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR},goog.i18n.bidi.detectRtlDirectionality=function(o,g){return goog.i18n.bidi.estimateDirection(o,g)==goog.i18n.bidi.Dir.RTL},goog.i18n.bidi.setElementDirAndAlign=function(o,g){o&&(g=goog.i18n.bidi.toDir(g))&&(o.style.textAlign=g==goog.i18n.bidi.Dir.RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT,o.dir=g==goog.i18n.bidi.Dir.RTL?"rtl":"ltr")},goog.i18n.bidi.setElementDirByTextDirectionality=function(o,g){switch(goog.i18n.bidi.estimateDirection(g)){case goog.i18n.bidi.Dir.LTR:o.dir="ltr";break;case goog.i18n.bidi.Dir.RTL:o.dir="rtl";break;default:o.removeAttribute("dir")}},goog.i18n.bidi.DirectionalString=function(){},goog.html.TrustedResourceUrl=function(){this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_="",this.trustedURL_=null,this.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.TrustedResourceUrl.prototype.implementsGoogStringTypedString=!0,goog.html.TrustedResourceUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_.toString()},goog.html.TrustedResourceUrl.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.TrustedResourceUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR},goog.html.TrustedResourceUrl.prototype.cloneWithParams=function(o,g){var n=goog.html.TrustedResourceUrl.unwrap(this),t=(n=goog.html.TrustedResourceUrl.URL_PARAM_PARSER_.exec(n))[3]||"";return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(n[1]+goog.html.TrustedResourceUrl.stringifyParams_("?",n[2]||"",o)+goog.html.TrustedResourceUrl.stringifyParams_("#",t,g))},goog.DEBUG&&(goog.html.TrustedResourceUrl.prototype.toString=function(){return"TrustedResourceUrl{"+this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_+"}"}),goog.html.TrustedResourceUrl.unwrap=function(o){return goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(o).toString()},goog.html.TrustedResourceUrl.unwrapTrustedScriptURL=function(o){return o instanceof goog.html.TrustedResourceUrl&&o.constructor===goog.html.TrustedResourceUrl&&o.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?o.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_:(goog.asserts.fail("expected object of type TrustedResourceUrl, got '"+o+"' of type "+goog.typeOf(o)),"type_error:TrustedResourceUrl")},goog.html.TrustedResourceUrl.unwrapTrustedURL=function(o){return o.trustedURL_?o.trustedURL_:goog.html.TrustedResourceUrl.unwrap(o)},goog.html.TrustedResourceUrl.format=function(o,g){var n=goog.string.Const.unwrap(o);if(!goog.html.TrustedResourceUrl.BASE_URL_.test(n))throw Error("Invalid TrustedResourceUrl format: "+n);return o=n.replace(goog.html.TrustedResourceUrl.FORMAT_MARKER_,(function(o,t){if(!Object.prototype.hasOwnProperty.call(g,t))throw Error('Found marker, "'+t+'", in format string, "'+n+'", but no valid label mapping found in args: '+JSON.stringify(g));return(o=g[t])instanceof goog.string.Const?goog.string.Const.unwrap(o):encodeURIComponent(String(o))})),goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.TrustedResourceUrl.FORMAT_MARKER_=/%{(\w+)}/g,goog.html.TrustedResourceUrl.BASE_URL_=/^((https:)?\/\/[0-9a-z.:[\]-]+\/|\/[^/\\]|[^:/\\%]+\/|[^:/\\%]*[?#]|about:blank#)/i,goog.html.TrustedResourceUrl.URL_PARAM_PARSER_=/^([^?#]*)(\?[^#]*)?(#[\s\S]*)?/,goog.html.TrustedResourceUrl.formatWithParams=function(o,g,n,t){return goog.html.TrustedResourceUrl.format(o,g).cloneWithParams(n,t)},goog.html.TrustedResourceUrl.fromConstant=function(o){return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(o))},goog.html.TrustedResourceUrl.fromConstants=function(o){for(var g="",n=0;n<o.length;n++)g+=goog.string.Const.unwrap(o[n]);return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(g)},goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={},goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse=function(o){var g=new goog.html.TrustedResourceUrl;return g.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_=goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY?goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY.createScriptURL(o):o,goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY&&(g.trustedURL_=goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY.createURL(o)),g},goog.html.TrustedResourceUrl.stringifyParams_=function(o,g,n){if(null==n)return g;if(goog.isString(n))return n?o+encodeURIComponent(n):"";for(var t in n){var r=n[t];r=goog.isArray(r)?r:[r];for(var i=0;i<r.length;i++){var e=r[i];null!=e&&(g||(g=o),g+=(g.length>o.length?"&":"")+encodeURIComponent(t)+"="+encodeURIComponent(String(e)))}}return g},goog.string.internal={},goog.string.internal.startsWith=function(o,g){return 0==o.lastIndexOf(g,0)},goog.string.internal.endsWith=function(o,g){var n=o.length-g.length;return 0<=n&&o.indexOf(g,n)==n},goog.string.internal.caseInsensitiveStartsWith=function(o,g){return 0==goog.string.internal.caseInsensitiveCompare(g,o.substr(0,g.length))},goog.string.internal.caseInsensitiveEndsWith=function(o,g){return 0==goog.string.internal.caseInsensitiveCompare(g,o.substr(o.length-g.length,g.length))},goog.string.internal.caseInsensitiveEquals=function(o,g){return o.toLowerCase()==g.toLowerCase()},goog.string.internal.isEmptyOrWhitespace=function(o){return/^[\s\xa0]*$/.test(o)},goog.string.internal.trim=goog.TRUSTED_SITE&&String.prototype.trim?function(o){return o.trim()}:function(o){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(o)[1]},goog.string.internal.caseInsensitiveCompare=function(o,g){return(o=String(o).toLowerCase())<(g=String(g).toLowerCase())?-1:o==g?0:1},goog.string.internal.newLineToBr=function(o,g){return o.replace(/(\r\n|\r|\n)/g,g?"<br />":"<br>")},goog.string.internal.htmlEscape=function(o,g){if(g)o=o.replace(goog.string.internal.AMP_RE_,"&").replace(goog.string.internal.LT_RE_,"<").replace(goog.string.internal.GT_RE_,">").replace(goog.string.internal.QUOT_RE_,""").replace(goog.string.internal.SINGLE_QUOTE_RE_,"'").replace(goog.string.internal.NULL_RE_,"�");else{if(!goog.string.internal.ALL_RE_.test(o))return o;-1!=o.indexOf("&")&&(o=o.replace(goog.string.internal.AMP_RE_,"&")),-1!=o.indexOf("<")&&(o=o.replace(goog.string.internal.LT_RE_,"<")),-1!=o.indexOf(">")&&(o=o.replace(goog.string.internal.GT_RE_,">")),-1!=o.indexOf('"')&&(o=o.replace(goog.string.internal.QUOT_RE_,""")),-1!=o.indexOf("'")&&(o=o.replace(goog.string.internal.SINGLE_QUOTE_RE_,"'")),-1!=o.indexOf("\0")&&(o=o.replace(goog.string.internal.NULL_RE_,"�"))}return o},goog.string.internal.AMP_RE_=/&/g,goog.string.internal.LT_RE_=/</g,goog.string.internal.GT_RE_=/>/g,goog.string.internal.QUOT_RE_=/"/g,goog.string.internal.SINGLE_QUOTE_RE_=/'/g,goog.string.internal.NULL_RE_=/\x00/g,goog.string.internal.ALL_RE_=/[\x00&<>"']/,goog.string.internal.whitespaceEscape=function(o,g){return goog.string.internal.newLineToBr(o.replace(/ /g,"  "),g)},goog.string.internal.contains=function(o,g){return-1!=o.indexOf(g)},goog.string.internal.caseInsensitiveContains=function(o,g){return goog.string.internal.contains(o.toLowerCase(),g.toLowerCase())},goog.string.internal.compareVersions=function(o,g){var n=0;o=goog.string.internal.trim(String(o)).split("."),g=goog.string.internal.trim(String(g)).split(".");for(var t=Math.max(o.length,g.length),r=0;0==n&&r<t;r++){var i=o[r]||"",e=g[r]||"";do{if(i=/(\d*)(\D*)(.*)/.exec(i)||["","","",""],e=/(\d*)(\D*)(.*)/.exec(e)||["","","",""],0==i[0].length&&0==e[0].length)break;n=0==i[1].length?0:parseInt(i[1],10);var u=0==e[1].length?0:parseInt(e[1],10);n=goog.string.internal.compareElements_(n,u)||goog.string.internal.compareElements_(0==i[2].length,0==e[2].length)||goog.string.internal.compareElements_(i[2],e[2]),i=i[3],e=e[3]}while(0==n)}return n},goog.string.internal.compareElements_=function(o,g){return o<g?-1:o>g?1:0},goog.html.SafeUrl=function(){this.privateDoNotAccessOrElseSafeUrlWrappedValue_="",this.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.SafeUrl.INNOCUOUS_STRING="about:invalid#zClosurez",goog.html.SafeUrl.prototype.implementsGoogStringTypedString=!0,goog.html.SafeUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeUrlWrappedValue_.toString()},goog.html.SafeUrl.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.SafeUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR},goog.DEBUG&&(goog.html.SafeUrl.prototype.toString=function(){return"SafeUrl{"+this.privateDoNotAccessOrElseSafeUrlWrappedValue_+"}"}),goog.html.SafeUrl.unwrap=function(o){return goog.html.SafeUrl.unwrapTrustedURL(o).toString()},goog.html.SafeUrl.unwrapTrustedURL=function(o){return o instanceof goog.html.SafeUrl&&o.constructor===goog.html.SafeUrl&&o.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?o.privateDoNotAccessOrElseSafeUrlWrappedValue_:(goog.asserts.fail("expected object of type SafeUrl, got '"+o+"' of type "+goog.typeOf(o)),"type_error:SafeUrl")},goog.html.SafeUrl.fromConstant=function(o){return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(o))},goog.html.SAFE_MIME_TYPE_PATTERN_=/^(?:audio\/(?:3gpp2|3gpp|aac|L16|midi|mp3|mp4|mpeg|oga|ogg|opus|x-m4a|x-wav|wav|webm)|image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp|x-icon)|text\/csv|video\/(?:mpeg|mp4|ogg|webm|quicktime))(?:;\w+=(?:\w+|"[\w;=]+"))*$/i,goog.html.SafeUrl.isSafeMimeType=function(o){return goog.html.SAFE_MIME_TYPE_PATTERN_.test(o)},goog.html.SafeUrl.fromBlob=function(o){return o=goog.html.SAFE_MIME_TYPE_PATTERN_.test(o.type)?goog.fs.url.createObjectUrl(o):goog.html.SafeUrl.INNOCUOUS_STRING,goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.DATA_URL_PATTERN_=/^data:([^,]*);base64,[a-z0-9+\/]+=*$/i,goog.html.SafeUrl.fromDataUrl=function(o){var g=(o=o.replace(/(%0A|%0D)/g,"")).match(goog.html.DATA_URL_PATTERN_);return g=g&&goog.html.SAFE_MIME_TYPE_PATTERN_.test(g[1]),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(g?o:goog.html.SafeUrl.INNOCUOUS_STRING)},goog.html.SafeUrl.fromTelUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"tel:")||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SIP_URL_PATTERN_=/^sip[s]?:[+a-z0-9_.!$%&'*\/=^`{|}~-]+@([a-z0-9-]+\.)+[a-z0-9]{2,63}$/i,goog.html.SafeUrl.fromSipUrl=function(o){return goog.html.SIP_URL_PATTERN_.test(decodeURIComponent(o))||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.fromFacebookMessengerUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"fb-messenger://share")||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.fromWhatsAppUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"whatsapp://send")||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.fromSmsUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"sms:")&&goog.html.SafeUrl.isSmsUrlBodyValid_(o)||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.isSmsUrlBodyValid_=function(o){var g=o.indexOf("#");return 0<g&&(o=o.substring(0,g)),!(g=o.match(/[?&]body=/gi))||!(1<g.length)&&(!(o=o.match(/[?&]body=([^&]*)/)[1])||/^(?:[a-z0-9\-_.~]|%[0-9a-f]{2})+$/i.test(o))},goog.html.SafeUrl.fromSshUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"ssh://")||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.sanitizeChromeExtensionUrl=function(o,g){return goog.html.SafeUrl.sanitizeExtensionUrl_(/^chrome-extension:\/\/([^\/]+)\//,o,g)},goog.html.SafeUrl.sanitizeFirefoxExtensionUrl=function(o,g){return goog.html.SafeUrl.sanitizeExtensionUrl_(/^moz-extension:\/\/([^\/]+)\//,o,g)},goog.html.SafeUrl.sanitizeEdgeExtensionUrl=function(o,g){return goog.html.SafeUrl.sanitizeExtensionUrl_(/^ms-browser-extension:\/\/([^\/]+)\//,o,g)},goog.html.SafeUrl.sanitizeExtensionUrl_=function(o,g,n){return(o=o.exec(g))?(o=o[1],-1==(n instanceof goog.string.Const?[goog.string.Const.unwrap(n)]:n.map((function(o){return goog.string.Const.unwrap(o)}))).indexOf(o)&&(g=goog.html.SafeUrl.INNOCUOUS_STRING)):g=goog.html.SafeUrl.INNOCUOUS_STRING,goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(g)},goog.html.SafeUrl.fromTrustedResourceUrl=function(o){return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.html.TrustedResourceUrl.unwrap(o))},goog.html.SAFE_URL_PATTERN_=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i,goog.html.SafeUrl.SAFE_URL_PATTERN=goog.html.SAFE_URL_PATTERN_,goog.html.SafeUrl.sanitize=function(o){return o instanceof goog.html.SafeUrl?o:(o="object"==typeof o&&o.implementsGoogStringTypedString?o.getTypedStringValue():String(o),goog.html.SAFE_URL_PATTERN_.test(o)||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o))},goog.html.SafeUrl.sanitizeAssertUnchanged=function(o,g){return o instanceof goog.html.SafeUrl?o:(o="object"==typeof o&&o.implementsGoogStringTypedString?o.getTypedStringValue():String(o),g&&/^data:/i.test(o)&&(g=goog.html.SafeUrl.fromDataUrl(o)).getTypedStringValue()==o?g:(goog.asserts.assert(goog.html.SAFE_URL_PATTERN_.test(o),"%s does not match the safe URL pattern",o)||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)))},goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={},goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse=function(o){var g=new goog.html.SafeUrl;return g.privateDoNotAccessOrElseSafeUrlWrappedValue_=goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY?goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY.createURL(o):o,g},goog.html.SafeUrl.ABOUT_BLANK=goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse("about:blank"),goog.html.SafeStyle=function(){this.privateDoNotAccessOrElseSafeStyleWrappedValue_="",this.SAFE_STYLE_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.SafeStyle.prototype.implementsGoogStringTypedString=!0,goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={},goog.html.SafeStyle.fromConstant=function(o){return 0===(o=goog.string.Const.unwrap(o)).length?goog.html.SafeStyle.EMPTY:(goog.asserts.assert(goog.string.internal.endsWith(o,";"),"Last character of style string is not ';': "+o),goog.asserts.assert(goog.string.internal.contains(o,":"),"Style string must contain at least one ':', to specify a \"name: value\" pair: "+o),goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(o))},goog.html.SafeStyle.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeStyleWrappedValue_},goog.DEBUG&&(goog.html.SafeStyle.prototype.toString=function(){return"SafeStyle{"+this.privateDoNotAccessOrElseSafeStyleWrappedValue_+"}"}),goog.html.SafeStyle.unwrap=function(o){return o instanceof goog.html.SafeStyle&&o.constructor===goog.html.SafeStyle&&o.SAFE_STYLE_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?o.privateDoNotAccessOrElseSafeStyleWrappedValue_:(goog.asserts.fail("expected object of type SafeStyle, got '"+o+"' of type "+goog.typeOf(o)),"type_error:SafeStyle")},goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse=function(o){return(new goog.html.SafeStyle).initSecurityPrivateDoNotAccessOrElse_(o)},goog.html.SafeStyle.prototype.initSecurityPrivateDoNotAccessOrElse_=function(o){return this.privateDoNotAccessOrElseSafeStyleWrappedValue_=o,this},goog.html.SafeStyle.EMPTY=goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(""),goog.html.SafeStyle.INNOCUOUS_STRING="zClosurez",goog.html.SafeStyle.create=function(o){var g,n="";for(g in o){if(!/^[-_a-zA-Z0-9]+$/.test(g))throw Error("Name allows only [-_a-zA-Z0-9], got: "+g);var t=o[g];null!=t&&(n+=g+":"+(t=goog.isArray(t)?goog.array.map(t,goog.html.SafeStyle.sanitizePropertyValue_).join(" "):goog.html.SafeStyle.sanitizePropertyValue_(t))+";")}return n?goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(n):goog.html.SafeStyle.EMPTY},goog.html.SafeStyle.sanitizePropertyValue_=function(o){if(o instanceof goog.html.SafeUrl)return'url("'+goog.html.SafeUrl.unwrap(o).replace(/</g,"%3c").replace(/[\\"]/g,"\\$&")+'")';if(o=o instanceof goog.string.Const?goog.string.Const.unwrap(o):goog.html.SafeStyle.sanitizePropertyValueString_(String(o)),/[{;}]/.test(o))throw new goog.asserts.AssertionError("Value does not allow [{;}], got: %s.",[o]);return o},goog.html.SafeStyle.sanitizePropertyValueString_=function(o){var g=o.replace(goog.html.SafeStyle.FUNCTIONS_RE_,"$1").replace(goog.html.SafeStyle.FUNCTIONS_RE_,"$1").replace(goog.html.SafeStyle.URL_RE_,"url");return goog.html.SafeStyle.VALUE_RE_.test(g)?goog.html.SafeStyle.COMMENT_RE_.test(o)?(goog.asserts.fail("String value disallows comments, got: "+o),goog.html.SafeStyle.INNOCUOUS_STRING):goog.html.SafeStyle.hasBalancedQuotes_(o)?goog.html.SafeStyle.hasBalancedSquareBrackets_(o)?goog.html.SafeStyle.sanitizeUrl_(o):(goog.asserts.fail("String value requires balanced square brackets and one identifier per pair of brackets, got: "+o),goog.html.SafeStyle.INNOCUOUS_STRING):(goog.asserts.fail("String value requires balanced quotes, got: "+o),goog.html.SafeStyle.INNOCUOUS_STRING):(goog.asserts.fail("String value allows only "+goog.html.SafeStyle.VALUE_ALLOWED_CHARS_+" and simple functions, got: "+o),goog.html.SafeStyle.INNOCUOUS_STRING)},goog.html.SafeStyle.hasBalancedQuotes_=function(o){for(var g=!0,n=!0,t=0;t<o.length;t++){var r=o.charAt(t);"'"==r&&n?g=!g:'"'==r&&g&&(n=!n)}return g&&n},goog.html.SafeStyle.hasBalancedSquareBrackets_=function(o){for(var g=!0,n=/^[-_a-zA-Z0-9]$/,t=0;t<o.length;t++){var r=o.charAt(t);if("]"==r){if(g)return!1;g=!0}else if("["==r){if(!g)return!1;g=!1}else if(!g&&!n.test(r))return!1}return g},goog.html.SafeStyle.VALUE_ALLOWED_CHARS_="[-,.\"'%_!# a-zA-Z0-9\\[\\]]",goog.html.SafeStyle.VALUE_RE_=new RegExp("^"+goog.html.SafeStyle.VALUE_ALLOWED_CHARS_+"+$"),goog.html.SafeStyle.URL_RE_=/\b(url\([ \t\n]*)('[ -&(-\[\]-~]*'|"[ !#-\[\]-~]*"|[!#-&*-\[\]-~]*)([ \t\n]*\))/g,goog.html.SafeStyle.FUNCTIONS_RE_=/\b(hsl|hsla|rgb|rgba|matrix|calc|minmax|fit-content|repeat|(rotate|scale|translate)(X|Y|Z|3d)?)\([-+*/0-9a-z.%\[\], ]+\)/g,goog.html.SafeStyle.COMMENT_RE_=/\/\*/,goog.html.SafeStyle.sanitizeUrl_=function(o){return o.replace(goog.html.SafeStyle.URL_RE_,(function(o,g,n,t){var r="";return n=n.replace(/^(['"])(.*)\1$/,(function(o,g,n){return r=g,n})),o=goog.html.SafeUrl.sanitize(n).getTypedStringValue(),g+r+o+r+t}))},goog.html.SafeStyle.concat=function(o){var g="",n=function(o){goog.isArray(o)?goog.array.forEach(o,n):g+=goog.html.SafeStyle.unwrap(o)};return goog.array.forEach(arguments,n),g?goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(g):goog.html.SafeStyle.EMPTY},goog.html.SafeStyleSheet=function(){this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_="",this.SAFE_STYLE_SHEET_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.SafeStyleSheet.prototype.implementsGoogStringTypedString=!0,goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={},goog.html.SafeStyleSheet.createRule=function(o,g){if(goog.string.internal.contains(o,"<"))throw Error("Selector does not allow '<', got: "+o);var n=o.replace(/('|")((?!\1)[^\r\n\f\\]|\\[\s\S])*\1/g,"");if(!/^[-_a-zA-Z0-9#.:* ,>+~[\]()=^$|]+$/.test(n))throw Error("Selector allows only [-_a-zA-Z0-9#.:* ,>+~[\\]()=^$|] and strings, got: "+o);if(!goog.html.SafeStyleSheet.hasBalancedBrackets_(n))throw Error("() and [] in selector must be balanced, got: "+o);return g instanceof goog.html.SafeStyle||(g=goog.html.SafeStyle.create(g)),o=o+"{"+goog.html.SafeStyle.unwrap(g).replace(/</g,"\\3C ")+"}",goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeStyleSheet.hasBalancedBrackets_=function(o){for(var g={"(":")","[":"]"},n=[],t=0;t<o.length;t++){var r=o[t];if(g[r])n.push(g[r]);else if(goog.object.contains(g,r)&&n.pop()!=r)return!1}return 0==n.length},goog.html.SafeStyleSheet.concat=function(o){var g="",n=function(o){goog.isArray(o)?goog.array.forEach(o,n):g+=goog.html.SafeStyleSheet.unwrap(o)};return goog.array.forEach(arguments,n),goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(g)},goog.html.SafeStyleSheet.fromConstant=function(o){return 0===(o=goog.string.Const.unwrap(o)).length?goog.html.SafeStyleSheet.EMPTY:(goog.asserts.assert(!goog.string.internal.contains(o,"<"),"Forbidden '<' character in style sheet string: "+o),goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(o))},goog.html.SafeStyleSheet.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_},goog.DEBUG&&(goog.html.SafeStyleSheet.prototype.toString=function(){return"SafeStyleSheet{"+this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_+"}"}),goog.html.SafeStyleSheet.unwrap=function(o){return o instanceof goog.html.SafeStyleSheet&&o.constructor===goog.html.SafeStyleSheet&&o.SAFE_STYLE_SHEET_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?o.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_:(goog.asserts.fail("expected object of type SafeStyleSheet, got '"+o+"' of type "+goog.typeOf(o)),"type_error:SafeStyleSheet")},goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse=function(o){return(new goog.html.SafeStyleSheet).initSecurityPrivateDoNotAccessOrElse_(o)},goog.html.SafeStyleSheet.prototype.initSecurityPrivateDoNotAccessOrElse_=function(o){return this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_=o,this},goog.html.SafeStyleSheet.EMPTY=goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(""),goog.labs={},goog.labs.userAgent={},goog.labs.userAgent.util={},goog.labs.userAgent.util.getNativeUserAgentString_=function(){var o=goog.labs.userAgent.util.getNavigator_();return o&&(o=o.userAgent)?o:""},goog.labs.userAgent.util.getNavigator_=function(){return goog.global.navigator},goog.labs.userAgent.util.userAgent_=goog.labs.userAgent.util.getNativeUserAgentString_(),goog.labs.userAgent.util.setUserAgent=function(o){goog.labs.userAgent.util.userAgent_=o||goog.labs.userAgent.util.getNativeUserAgentString_()},goog.labs.userAgent.util.getUserAgent=function(){return goog.labs.userAgent.util.userAgent_},goog.labs.userAgent.util.matchUserAgent=function(o){var g=goog.labs.userAgent.util.getUserAgent();return goog.string.internal.contains(g,o)},goog.labs.userAgent.util.matchUserAgentIgnoreCase=function(o){var g=goog.labs.userAgent.util.getUserAgent();return goog.string.internal.caseInsensitiveContains(g,o)},goog.labs.userAgent.util.extractVersionTuples=function(o){for(var g,n=/(\w[\w ]+)\/([^\s]+)\s*(?:\((.*?)\))?/g,t=[];g=n.exec(o);)t.push([g[1],g[2],g[3]||void 0]);return t},goog.labs.userAgent.browser={},goog.labs.userAgent.browser.matchOpera_=function(){return goog.labs.userAgent.util.matchUserAgent("Opera")},goog.labs.userAgent.browser.matchIE_=function(){return goog.labs.userAgent.util.matchUserAgent("Trident")||goog.labs.userAgent.util.matchUserAgent("MSIE")},goog.labs.userAgent.browser.matchEdgeHtml_=function(){return goog.labs.userAgent.util.matchUserAgent("Edge")},goog.labs.userAgent.browser.matchEdgeChromium_=function(){return goog.labs.userAgent.util.matchUserAgent("Edg/")},goog.labs.userAgent.browser.matchOperaChromium_=function(){return goog.labs.userAgent.util.matchUserAgent("OPR")},goog.labs.userAgent.browser.matchFirefox_=function(){return goog.labs.userAgent.util.matchUserAgent("Firefox")||goog.labs.userAgent.util.matchUserAgent("FxiOS")},goog.labs.userAgent.browser.matchSafari_=function(){return goog.labs.userAgent.util.matchUserAgent("Safari")&&!(goog.labs.userAgent.browser.matchChrome_()||goog.labs.userAgent.browser.matchCoast_()||goog.labs.userAgent.browser.matchOpera_()||goog.labs.userAgent.browser.matchEdgeHtml_()||goog.labs.userAgent.browser.matchEdgeChromium_()||goog.labs.userAgent.browser.matchOperaChromium_()||goog.labs.userAgent.browser.matchFirefox_()||goog.labs.userAgent.browser.isSilk()||goog.labs.userAgent.util.matchUserAgent("Android"))},goog.labs.userAgent.browser.matchCoast_=function(){return goog.labs.userAgent.util.matchUserAgent("Coast")},goog.labs.userAgent.browser.matchIosWebview_=function(){return(goog.labs.userAgent.util.matchUserAgent("iPad")||goog.labs.userAgent.util.matchUserAgent("iPhone"))&&!goog.labs.userAgent.browser.matchSafari_()&&!goog.labs.userAgent.browser.matchChrome_()&&!goog.labs.userAgent.browser.matchCoast_()&&!goog.labs.userAgent.browser.matchFirefox_()&&goog.labs.userAgent.util.matchUserAgent("AppleWebKit")},goog.labs.userAgent.browser.matchChrome_=function(){return(goog.labs.userAgent.util.matchUserAgent("Chrome")||goog.labs.userAgent.util.matchUserAgent("CriOS"))&&!goog.labs.userAgent.browser.matchEdgeHtml_()},goog.labs.userAgent.browser.matchAndroidBrowser_=function(){return goog.labs.userAgent.util.matchUserAgent("Android")&&!(goog.labs.userAgent.browser.isChrome()||goog.labs.userAgent.browser.isFirefox()||goog.labs.userAgent.browser.isOpera()||goog.labs.userAgent.browser.isSilk())},goog.labs.userAgent.browser.isOpera=goog.labs.userAgent.browser.matchOpera_,goog.labs.userAgent.browser.isIE=goog.labs.userAgent.browser.matchIE_,goog.labs.userAgent.browser.isEdge=goog.labs.userAgent.browser.matchEdgeHtml_,goog.labs.userAgent.browser.isEdgeChromium=goog.labs.userAgent.browser.matchEdgeChromium_,goog.labs.userAgent.browser.isOperaChromium=goog.labs.userAgent.browser.matchOperaChromium_,goog.labs.userAgent.browser.isFirefox=goog.labs.userAgent.browser.matchFirefox_,goog.labs.userAgent.browser.isSafari=goog.labs.userAgent.browser.matchSafari_,goog.labs.userAgent.browser.isCoast=goog.labs.userAgent.browser.matchCoast_,goog.labs.userAgent.browser.isIosWebview=goog.labs.userAgent.browser.matchIosWebview_,goog.labs.userAgent.browser.isChrome=goog.labs.userAgent.browser.matchChrome_,goog.labs.userAgent.browser.isAndroidBrowser=goog.labs.userAgent.browser.matchAndroidBrowser_,goog.labs.userAgent.browser.isSilk=function(){return goog.labs.userAgent.util.matchUserAgent("Silk")},goog.labs.userAgent.browser.getVersion=function(){function o(o){return o=goog.array.find(o,t),n[o]||""}var g=goog.labs.userAgent.util.getUserAgent();if(goog.labs.userAgent.browser.isIE())return goog.labs.userAgent.browser.getIEVersion_(g);g=goog.labs.userAgent.util.extractVersionTuples(g);var n={};goog.array.forEach(g,(function(o){n[o[0]]=o[1]}));var t=goog.partial(goog.object.containsKey,n);return goog.labs.userAgent.browser.isOpera()?o(["Version","Opera"]):goog.labs.userAgent.browser.isEdge()?o(["Edge"]):goog.labs.userAgent.browser.isEdgeChromium()?o(["Edg"]):goog.labs.userAgent.browser.isChrome()?o(["Chrome","CriOS"]):(g=g[2])&&g[1]||""},goog.labs.userAgent.browser.isVersionOrHigher=function(o){return 0<=goog.string.internal.compareVersions(goog.labs.userAgent.browser.getVersion(),o)},goog.labs.userAgent.browser.getIEVersion_=function(o){var g=/rv: *([\d\.]*)/.exec(o);if(g&&g[1])return g[1];g="";var n=/MSIE +([\d\.]+)/.exec(o);if(n&&n[1])if(o=/Trident\/(\d.\d)/.exec(o),"7.0"==n[1])if(o&&o[1])switch(o[1]){case"4.0":g="8.0";break;case"5.0":g="9.0";break;case"6.0":g="10.0";break;case"7.0":g="11.0"}else g="7.0";else g=n[1];return g},goog.html.SafeHtml=function(){this.privateDoNotAccessOrElseSafeHtmlWrappedValue_="",this.SAFE_HTML_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_,this.dir_=null},goog.html.SafeHtml.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.SafeHtml.prototype.getDirection=function(){return this.dir_},goog.html.SafeHtml.prototype.implementsGoogStringTypedString=!0,goog.html.SafeHtml.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_.toString()},goog.DEBUG&&(goog.html.SafeHtml.prototype.toString=function(){return"SafeHtml{"+this.privateDoNotAccessOrElseSafeHtmlWrappedValue_+"}"}),goog.html.SafeHtml.unwrap=function(o){return goog.html.SafeHtml.unwrapTrustedHTML(o).toString()},goog.html.SafeHtml.unwrapTrustedHTML=function(o){return o instanceof goog.html.SafeHtml&&o.constructor===goog.html.SafeHtml&&o.SAFE_HTML_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?o.privateDoNotAccessOrElseSafeHtmlWrappedValue_:(goog.asserts.fail("expected object of type SafeHtml, got '"+o+"' of type "+goog.typeOf(o)),"type_error:SafeHtml")},goog.html.SafeHtml.htmlEscape=function(o){if(o instanceof goog.html.SafeHtml)return o;var g="object"==typeof o,n=null;return g&&o.implementsGoogI18nBidiDirectionalString&&(n=o.getDirection()),o=g&&o.implementsGoogStringTypedString?o.getTypedStringValue():String(o),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.internal.htmlEscape(o),n)},goog.html.SafeHtml.htmlEscapePreservingNewlines=function(o){return o instanceof goog.html.SafeHtml?o:(o=goog.html.SafeHtml.htmlEscape(o),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.internal.newLineToBr(goog.html.SafeHtml.unwrap(o)),o.getDirection()))},goog.html.SafeHtml.htmlEscapePreservingNewlinesAndSpaces=function(o){return o instanceof goog.html.SafeHtml?o:(o=goog.html.SafeHtml.htmlEscape(o),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.internal.whitespaceEscape(goog.html.SafeHtml.unwrap(o)),o.getDirection()))},goog.html.SafeHtml.from=goog.html.SafeHtml.htmlEscape,goog.html.SafeHtml.VALID_NAMES_IN_TAG_=/^[a-zA-Z0-9-]+$/,goog.html.SafeHtml.URL_ATTRIBUTES_={action:!0,cite:!0,data:!0,formaction:!0,href:!0,manifest:!0,poster:!0,src:!0},goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_={APPLET:!0,BASE:!0,EMBED:!0,IFRAME:!0,LINK:!0,MATH:!0,META:!0,OBJECT:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0},goog.html.SafeHtml.create=function(o,g,n){return goog.html.SafeHtml.verifyTagName(String(o)),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(String(o),g,n)},goog.html.SafeHtml.verifyTagName=function(o){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(o))throw Error("Invalid tag name <"+o+">.");if(o.toUpperCase()in goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_)throw Error("Tag name <"+o+"> is not allowed for SafeHtml.")},goog.html.SafeHtml.createIframe=function(o,g,n,t){o&&goog.html.TrustedResourceUrl.unwrap(o);var r={};return r.src=o||null,r.srcdoc=g&&goog.html.SafeHtml.unwrap(g),o=goog.html.SafeHtml.combineAttributes(r,{sandbox:""},n),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",o,t)},goog.html.SafeHtml.createSandboxIframe=function(o,g,n,t){if(!goog.html.SafeHtml.canUseSandboxIframe())throw Error("The browser does not support sandboxed iframes.");var r={};return r.src=o?goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(o)):null,r.srcdoc=g||null,r.sandbox="",o=goog.html.SafeHtml.combineAttributes(r,{},n),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",o,t)},goog.html.SafeHtml.canUseSandboxIframe=function(){return goog.global.HTMLIFrameElement&&"sandbox"in goog.global.HTMLIFrameElement.prototype},goog.html.SafeHtml.createScriptSrc=function(o,g){return goog.html.TrustedResourceUrl.unwrap(o),o=goog.html.SafeHtml.combineAttributes({src:o},{},g),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("script",o)},goog.html.SafeHtml.createScript=function(o,g){for(var n in g){var t=n.toLowerCase();if("language"==t||"src"==t||"text"==t||"type"==t)throw Error('Cannot set "'+t+'" attribute')}for(n="",o=goog.array.concat(o),t=0;t<o.length;t++)n+=goog.html.SafeScript.unwrap(o[t]);return o=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(n,goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("script",g,o)},goog.html.SafeHtml.createStyle=function(o,g){g=goog.html.SafeHtml.combineAttributes({type:"text/css"},{},g);var n="";o=goog.array.concat(o);for(var t=0;t<o.length;t++)n+=goog.html.SafeStyleSheet.unwrap(o[t]);return o=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(n,goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("style",g,o)},goog.html.SafeHtml.createMetaRefresh=function(o,g){return o=goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(o)),(goog.labs.userAgent.browser.isIE()||goog.labs.userAgent.browser.isEdge())&&goog.string.internal.contains(o,";")&&(o="'"+o.replace(/'/g,"%27")+"'"),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("meta",{"http-equiv":"refresh",content:(g||0)+"; url="+o})},goog.html.SafeHtml.getAttrNameAndValue_=function(o,g,n){if(n instanceof goog.string.Const)n=goog.string.Const.unwrap(n);else if("style"==g.toLowerCase())n=goog.html.SafeHtml.getStyleValue_(n);else{if(/^on/i.test(g))throw Error('Attribute "'+g+'" requires goog.string.Const value, "'+n+'" given.');if(g.toLowerCase()in goog.html.SafeHtml.URL_ATTRIBUTES_)if(n instanceof goog.html.TrustedResourceUrl)n=goog.html.TrustedResourceUrl.unwrap(n);else if(n instanceof goog.html.SafeUrl)n=goog.html.SafeUrl.unwrap(n);else{if(!goog.isString(n))throw Error('Attribute "'+g+'" on tag "'+o+'" requires goog.html.SafeUrl, goog.string.Const, or string, value "'+n+'" given.');n=goog.html.SafeUrl.sanitize(n).getTypedStringValue()}}return n.implementsGoogStringTypedString&&(n=n.getTypedStringValue()),goog.asserts.assert(goog.isString(n)||goog.isNumber(n),"String or number value expected, got "+typeof n+" with value: "+n),g+'="'+goog.string.internal.htmlEscape(String(n))+'"'},goog.html.SafeHtml.getStyleValue_=function(o){if(!goog.isObject(o))throw Error('The "style" attribute requires goog.html.SafeStyle or map of style properties, '+typeof o+" given: "+o);return o instanceof goog.html.SafeStyle||(o=goog.html.SafeStyle.create(o)),goog.html.SafeStyle.unwrap(o)},goog.html.SafeHtml.createWithDir=function(o,g,n,t){return(g=goog.html.SafeHtml.create(g,n,t)).dir_=o,g},goog.html.SafeHtml.join=function(o,g){var n=(o=goog.html.SafeHtml.htmlEscape(o)).getDirection(),t=[],r=function(o){goog.isArray(o)?goog.array.forEach(o,r):(o=goog.html.SafeHtml.htmlEscape(o),t.push(goog.html.SafeHtml.unwrap(o)),o=o.getDirection(),n==goog.i18n.bidi.Dir.NEUTRAL?n=o:o!=goog.i18n.bidi.Dir.NEUTRAL&&n!=o&&(n=null))};return goog.array.forEach(g,r),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(t.join(goog.html.SafeHtml.unwrap(o)),n)},goog.html.SafeHtml.concat=function(o){return goog.html.SafeHtml.join(goog.html.SafeHtml.EMPTY,Array.prototype.slice.call(arguments))},goog.html.SafeHtml.concatWithDir=function(o,g){var n=goog.html.SafeHtml.concat(goog.array.slice(arguments,1));return n.dir_=o,n},goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={},goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse=function(o,g){return(new goog.html.SafeHtml).initSecurityPrivateDoNotAccessOrElse_(o,g)},goog.html.SafeHtml.prototype.initSecurityPrivateDoNotAccessOrElse_=function(o,g){return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_=goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY?goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY.createHTML(o):o,this.dir_=g,this},goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse=function(o,g,n){var t=null,r="<"+o+goog.html.SafeHtml.stringifyAttributes(o,g);return goog.isDefAndNotNull(n)?goog.isArray(n)||(n=[n]):n=[],goog.dom.tags.isVoidTag(o.toLowerCase())?(goog.asserts.assert(!n.length,"Void tag <"+o+"> does not allow content."),r+=">"):(t=goog.html.SafeHtml.concat(n),r+=">"+goog.html.SafeHtml.unwrap(t)+"</"+o+">",t=t.getDirection()),(o=g&&g.dir)&&(t=/^(ltr|rtl|auto)$/i.test(o)?goog.i18n.bidi.Dir.NEUTRAL:null),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(r,t)},goog.html.SafeHtml.stringifyAttributes=function(o,g){var n="";if(g)for(var t in g){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(t))throw Error('Invalid attribute name "'+t+'".');var r=g[t];goog.isDefAndNotNull(r)&&(n+=" "+goog.html.SafeHtml.getAttrNameAndValue_(o,t,r))}return n},goog.html.SafeHtml.combineAttributes=function(o,g,n){var t,r={};for(t in o)goog.asserts.assert(t.toLowerCase()==t,"Must be lower case"),r[t]=o[t];for(t in g)goog.asserts.assert(t.toLowerCase()==t,"Must be lower case"),r[t]=g[t];for(t in n){var i=t.toLowerCase();if(i in o)throw Error('Cannot override "'+i+'" attribute, got "'+t+'" with value "'+n[t]+'"');i in g&&delete r[i],r[t]=n[t]}return r},goog.html.SafeHtml.DOCTYPE_HTML=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("<!DOCTYPE html>",goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.EMPTY=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("",goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.BR=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("<br>",goog.i18n.bidi.Dir.NEUTRAL),goog.html.uncheckedconversions={},goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract=function(o,g,n){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(g,n||null)},goog.html.uncheckedconversions.safeScriptFromStringKnownToSatisfyTypeContract=function(o,g){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(g)},goog.html.uncheckedconversions.safeStyleFromStringKnownToSatisfyTypeContract=function(o,g){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(g)},goog.html.uncheckedconversions.safeStyleSheetFromStringKnownToSatisfyTypeContract=function(o,g){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(g)},goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract=function(o,g){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(g)},goog.html.uncheckedconversions.trustedResourceUrlFromStringKnownToSatisfyTypeContract=function(o,g){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(g)},goog.dom.safe={},goog.dom.safe.InsertAdjacentHtmlPosition={AFTERBEGIN:"afterbegin",AFTEREND:"afterend",BEFOREBEGIN:"beforebegin",BEFOREEND:"beforeend"},goog.dom.safe.insertAdjacentHtml=function(o,g,n){o.insertAdjacentHTML(g,goog.html.SafeHtml.unwrapTrustedHTML(n))},goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_={MATH:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0},goog.dom.safe.isInnerHtmlCleanupRecursive_=goog.functions.cacheReturnValue((function(){if(goog.DEBUG&&"undefined"==typeof document)return!1;var o=document.createElement("div"),g=document.createElement("div");return g.appendChild(document.createElement("div")),o.appendChild(g),!(goog.DEBUG&&!o.firstChild||(g=o.firstChild.firstChild,o.innerHTML=goog.html.SafeHtml.unwrapTrustedHTML(goog.html.SafeHtml.EMPTY),g.parentElement))})),goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse=function(o,g){if(goog.dom.safe.isInnerHtmlCleanupRecursive_())for(;o.lastChild;)o.removeChild(o.lastChild);o.innerHTML=goog.html.SafeHtml.unwrapTrustedHTML(g)},goog.dom.safe.setInnerHtml=function(o,g){if(goog.asserts.ENABLE_ASSERTS){var n=o.tagName.toUpperCase();if(goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_[n])throw Error("goog.dom.safe.setInnerHtml cannot be used to set content of "+o.tagName+".")}goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse(o,g)},goog.dom.safe.setOuterHtml=function(o,g){o.outerHTML=goog.html.SafeHtml.unwrapTrustedHTML(g)},goog.dom.safe.setFormElementAction=function(o,g){g=g instanceof goog.html.SafeUrl?g:goog.html.SafeUrl.sanitizeAssertUnchanged(g),goog.dom.asserts.assertIsHTMLFormElement(o).action=goog.html.SafeUrl.unwrapTrustedURL(g)},goog.dom.safe.setButtonFormAction=function(o,g){g=g instanceof goog.html.SafeUrl?g:goog.html.SafeUrl.sanitizeAssertUnchanged(g),goog.dom.asserts.assertIsHTMLButtonElement(o).formAction=goog.html.SafeUrl.unwrapTrustedURL(g)},goog.dom.safe.setInputFormAction=function(o,g){g=g instanceof goog.html.SafeUrl?g:goog.html.SafeUrl.sanitizeAssertUnchanged(g),goog.dom.asserts.assertIsHTMLInputElement(o).formAction=goog.html.SafeUrl.unwrapTrustedURL(g)},goog.dom.safe.setStyle=function(o,g){o.style.cssText=goog.html.SafeStyle.unwrap(g)},goog.dom.safe.documentWrite=function(o,g){o.write(goog.html.SafeHtml.unwrapTrustedHTML(g))},goog.dom.safe.setAnchorHref=function(o,g){goog.dom.asserts.assertIsHTMLAnchorElement(o),g=g instanceof goog.html.SafeUrl?g:goog.html.SafeUrl.sanitizeAssertUnchanged(g),o.href=goog.html.SafeUrl.unwrapTrustedURL(g)},goog.dom.safe.setImageSrc=function(o,g){if(goog.dom.asserts.assertIsHTMLImageElement(o),!(g instanceof goog.html.SafeUrl)){var n=/^data:image\//i.test(g);g=goog.html.SafeUrl.sanitizeAssertUnchanged(g,n)}o.src=goog.html.SafeUrl.unwrapTrustedURL(g)},goog.dom.safe.setAudioSrc=function(o,g){if(goog.dom.asserts.assertIsHTMLAudioElement(o),!(g instanceof goog.html.SafeUrl)){var n=/^data:audio\//i.test(g);g=goog.html.SafeUrl.sanitizeAssertUnchanged(g,n)}o.src=goog.html.SafeUrl.unwrapTrustedURL(g)},goog.dom.safe.setVideoSrc=function(o,g){if(goog.dom.asserts.assertIsHTMLVideoElement(o),!(g instanceof goog.html.SafeUrl)){var n=/^data:video\//i.test(g);g=goog.html.SafeUrl.sanitizeAssertUnchanged(g,n)}o.src=goog.html.SafeUrl.unwrapTrustedURL(g)},goog.dom.safe.setEmbedSrc=function(o,g){goog.dom.asserts.assertIsHTMLEmbedElement(o),o.src=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(g)},goog.dom.safe.setFrameSrc=function(o,g){goog.dom.asserts.assertIsHTMLFrameElement(o),o.src=goog.html.TrustedResourceUrl.unwrapTrustedURL(g)},goog.dom.safe.setIframeSrc=function(o,g){goog.dom.asserts.assertIsHTMLIFrameElement(o),o.src=goog.html.TrustedResourceUrl.unwrapTrustedURL(g)},goog.dom.safe.setIframeSrcdoc=function(o,g){goog.dom.asserts.assertIsHTMLIFrameElement(o),o.srcdoc=goog.html.SafeHtml.unwrapTrustedHTML(g)},goog.dom.safe.setLinkHrefAndRel=function(o,g,n){goog.dom.asserts.assertIsHTMLLinkElement(o),o.rel=n,goog.string.internal.caseInsensitiveContains(n,"stylesheet")?(goog.asserts.assert(g instanceof goog.html.TrustedResourceUrl,'URL must be TrustedResourceUrl because "rel" contains "stylesheet"'),o.href=goog.html.TrustedResourceUrl.unwrapTrustedURL(g)):o.href=g instanceof goog.html.TrustedResourceUrl?goog.html.TrustedResourceUrl.unwrapTrustedURL(g):goog.html.SafeUrl.unwrapTrustedURL(g instanceof goog.html.SafeUrl?g:goog.html.SafeUrl.sanitizeAssertUnchanged(g))},goog.dom.safe.setObjectData=function(o,g){goog.dom.asserts.assertIsHTMLObjectElement(o),o.data=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(g)},goog.dom.safe.setScriptSrc=function(o,g){goog.dom.asserts.assertIsHTMLScriptElement(o),o.src=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(g),(g=goog.getScriptNonce())&&o.setAttribute("nonce",g)},goog.dom.safe.setScriptContent=function(o,g){goog.dom.asserts.assertIsHTMLScriptElement(o),o.text=goog.html.SafeScript.unwrapTrustedScript(g),(g=goog.getScriptNonce())&&o.setAttribute("nonce",g)},goog.dom.safe.setLocationHref=function(o,g){goog.dom.asserts.assertIsLocation(o),g=g instanceof goog.html.SafeUrl?g:goog.html.SafeUrl.sanitizeAssertUnchanged(g),o.href=goog.html.SafeUrl.unwrapTrustedURL(g)},goog.dom.safe.assignLocation=function(o,g){goog.dom.asserts.assertIsLocation(o),g=g instanceof goog.html.SafeUrl?g:goog.html.SafeUrl.sanitizeAssertUnchanged(g),o.assign(goog.html.SafeUrl.unwrapTrustedURL(g))},goog.dom.safe.replaceLocation=function(o,g){goog.dom.asserts.assertIsLocation(o),g=g instanceof goog.html.SafeUrl?g:goog.html.SafeUrl.sanitizeAssertUnchanged(g),o.replace(goog.html.SafeUrl.unwrapTrustedURL(g))},goog.dom.safe.openInWindow=function(o,g,n,t,r){return o=o instanceof goog.html.SafeUrl?o:goog.html.SafeUrl.sanitizeAssertUnchanged(o),(g||goog.global).open(goog.html.SafeUrl.unwrapTrustedURL(o),n?goog.string.Const.unwrap(n):"",t,r)},goog.dom.safe.parseFromStringHtml=function(o,g){return goog.dom.safe.parseFromString(o,g,"text/html")},goog.dom.safe.parseFromString=function(o,g,n){return o.parseFromString(goog.html.SafeHtml.unwrapTrustedHTML(g),n)},goog.dom.safe.createImageFromBlob=function(o){if(!/^image\/.*/g.test(o.type))throw Error("goog.dom.safe.createImageFromBlob only accepts MIME type image/.*.");var g=goog.global.URL.createObjectURL(o);return(o=new goog.global.Image).onload=function(){goog.global.URL.revokeObjectURL(g)},goog.dom.safe.setImageSrc(o,goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Image blob URL."),g)),o},goog.string.DETECT_DOUBLE_ESCAPING=!1,goog.string.FORCE_NON_DOM_HTML_UNESCAPING=!1,goog.string.Unicode={NBSP:" "},goog.string.startsWith=goog.string.internal.startsWith,goog.string.endsWith=goog.string.internal.endsWith,goog.string.caseInsensitiveStartsWith=goog.string.internal.caseInsensitiveStartsWith,goog.string.caseInsensitiveEndsWith=goog.string.internal.caseInsensitiveEndsWith,goog.string.caseInsensitiveEquals=goog.string.internal.caseInsensitiveEquals,goog.string.subs=function(o,g){for(var n=o.split("%s"),t="",r=Array.prototype.slice.call(arguments,1);r.length&&1<n.length;)t+=n.shift()+r.shift();return t+n.join("%s")},goog.string.collapseWhitespace=function(o){return o.replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")},goog.string.isEmptyOrWhitespace=goog.string.internal.isEmptyOrWhitespace,goog.string.isEmptyString=function(o){return 0==o.length},goog.string.isEmpty=goog.string.isEmptyOrWhitespace,goog.string.isEmptyOrWhitespaceSafe=function(o){return goog.string.isEmptyOrWhitespace(goog.string.makeSafe(o))},goog.string.isEmptySafe=goog.string.isEmptyOrWhitespaceSafe,goog.string.isBreakingWhitespace=function(o){return!/[^\t\n\r ]/.test(o)},goog.string.isAlpha=function(o){return!/[^a-zA-Z]/.test(o)},goog.string.isNumeric=function(o){return!/[^0-9]/.test(o)},goog.string.isAlphaNumeric=function(o){return!/[^a-zA-Z0-9]/.test(o)},goog.string.isSpace=function(o){return" "==o},goog.string.isUnicodeChar=function(o){return 1==o.length&&" "<=o&&"~">=o||""<=o&&"�">=o},goog.string.stripNewlines=function(o){return o.replace(/(\r\n|\r|\n)+/g," ")},goog.string.canonicalizeNewlines=function(o){return o.replace(/(\r\n|\r|\n)/g,"\n")},goog.string.normalizeWhitespace=function(o){return o.replace(/\xa0|\s/g," ")},goog.string.normalizeSpaces=function(o){return o.replace(/\xa0|[ \t]+/g," ")},goog.string.collapseBreakingSpaces=function(o){return o.replace(/[\t\r\n ]+/g," ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g,"")},goog.string.trim=goog.string.internal.trim,goog.string.trimLeft=function(o){return o.replace(/^[\s\xa0]+/,"")},goog.string.trimRight=function(o){return o.replace(/[\s\xa0]+$/,"")},goog.string.caseInsensitiveCompare=goog.string.internal.caseInsensitiveCompare,goog.string.numberAwareCompare_=function(o,g,n){if(o==g)return 0;if(!o)return-1;if(!g)return 1;for(var t=o.toLowerCase().match(n),r=g.toLowerCase().match(n),i=Math.min(t.length,r.length),e=0;e<i;e++){var u=r[e];if((n=t[e])!=u)return o=parseInt(n,10),!isNaN(o)&&(g=parseInt(u,10),!isNaN(g)&&o-g)?o-g:n<u?-1:1}return t.length!=r.length?t.length-r.length:o<g?-1:1},goog.string.intAwareCompare=function(o,g){return goog.string.numberAwareCompare_(o,g,/\d+|\D+/g)},goog.string.floatAwareCompare=function(o,g){return goog.string.numberAwareCompare_(o,g,/\d+|\.\d+|\D+/g)},goog.string.numerateCompare=goog.string.floatAwareCompare,goog.string.urlEncode=function(o){return encodeURIComponent(String(o))},goog.string.urlDecode=function(o){return decodeURIComponent(o.replace(/\+/g," "))},goog.string.newLineToBr=goog.string.internal.newLineToBr,goog.string.htmlEscape=function(o,g){return o=goog.string.internal.htmlEscape(o,g),goog.string.DETECT_DOUBLE_ESCAPING&&(o=o.replace(goog.string.E_RE_,"e")),o},goog.string.E_RE_=/e/g,goog.string.unescapeEntities=function(o){return goog.string.contains(o,"&")?!goog.string.FORCE_NON_DOM_HTML_UNESCAPING&&"document"in goog.global?goog.string.unescapeEntitiesUsingDom_(o):goog.string.unescapePureXmlEntities_(o):o},goog.string.unescapeEntitiesWithDocument=function(o,g){return goog.string.contains(o,"&")?goog.string.unescapeEntitiesUsingDom_(o,g):o},goog.string.unescapeEntitiesUsingDom_=function(o,g){var n={"&":"&","<":"<",">":">",""":'"'},t=g?g.createElement("div"):goog.global.document.createElement("div");return o.replace(goog.string.HTML_ENTITY_PATTERN_,(function(o,g){var r=n[o];return r||("#"==g.charAt(0)&&(g=Number("0"+g.substr(1)),isNaN(g)||(r=String.fromCharCode(g))),r||(goog.dom.safe.setInnerHtml(t,goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Single HTML entity."),o+" ")),r=t.firstChild.nodeValue.slice(0,-1)),n[o]=r)}))},goog.string.unescapePureXmlEntities_=function(o){return o.replace(/&([^;]+);/g,(function(o,g){switch(g){case"amp":return"&";case"lt":return"<";case"gt":return">";case"quot":return'"';default:return"#"!=g.charAt(0)||(g=Number("0"+g.substr(1)),isNaN(g))?o:String.fromCharCode(g)}}))},goog.string.HTML_ENTITY_PATTERN_=/&([^;\s<&]+);?/g,goog.string.whitespaceEscape=function(o,g){return goog.string.newLineToBr(o.replace(/ /g,"  "),g)},goog.string.preserveSpaces=function(o){return o.replace(/(^|[\n ]) /g,"$1"+goog.string.Unicode.NBSP)},goog.string.stripQuotes=function(o,g){for(var n=g.length,t=0;t<n;t++){var r=1==n?g:g.charAt(t);if(o.charAt(0)==r&&o.charAt(o.length-1)==r)return o.substring(1,o.length-1)}return o},goog.string.truncate=function(o,g,n){return n&&(o=goog.string.unescapeEntities(o)),o.length>g&&(o=o.substring(0,g-3)+"..."),n&&(o=goog.string.htmlEscape(o)),o},goog.string.truncateMiddle=function(o,g,n,t){if(n&&(o=goog.string.unescapeEntities(o)),t&&o.length>g){t>g&&(t=g);var r=o.length-t;o=o.substring(0,g-t)+"..."+o.substring(r)}else o.length>g&&(t=Math.floor(g/2),r=o.length-t,o=o.substring(0,t+g%2)+"..."+o.substring(r));return n&&(o=goog.string.htmlEscape(o)),o},goog.string.specialEscapeChars_={"\0":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\x0B",'"':'\\"',"\\":"\\\\","<":"\\u003C"},goog.string.jsEscapeCache_={"'":"\\'"},goog.string.quote=function(o){o=String(o);for(var g=['"'],n=0;n<o.length;n++){var t=o.charAt(n),r=t.charCodeAt(0);g[n+1]=goog.string.specialEscapeChars_[t]||(31<r&&127>r?t:goog.string.escapeChar(t))}return g.push('"'),g.join("")},goog.string.escapeString=function(o){for(var g=[],n=0;n<o.length;n++)g[n]=goog.string.escapeChar(o.charAt(n));return g.join("")},goog.string.escapeChar=function(o){if(o in goog.string.jsEscapeCache_)return goog.string.jsEscapeCache_[o];if(o in goog.string.specialEscapeChars_)return goog.string.jsEscapeCache_[o]=goog.string.specialEscapeChars_[o];var g=o.charCodeAt(0);if(31<g&&127>g)var n=o;else 256>g?(n="\\x",(16>g||256<g)&&(n+="0")):(n="\\u",4096>g&&(n+="0")),n+=g.toString(16).toUpperCase();return goog.string.jsEscapeCache_[o]=n},goog.string.contains=goog.string.internal.contains,goog.string.caseInsensitiveContains=goog.string.internal.caseInsensitiveContains,goog.string.countOf=function(o,g){return o&&g?o.split(g).length-1:0},goog.string.removeAt=function(o,g,n){var t=o;return 0<=g&&g<o.length&&0<n&&(t=o.substr(0,g)+o.substr(g+n,o.length-g-n)),t},goog.string.remove=function(o,g){return o.replace(g,"")},goog.string.removeAll=function(o,g){return g=new RegExp(goog.string.regExpEscape(g),"g"),o.replace(g,"")},goog.string.replaceAll=function(o,g,n){return g=new RegExp(goog.string.regExpEscape(g),"g"),o.replace(g,n.replace(/\$/g,"$$$$"))},goog.string.regExpEscape=function(o){return String(o).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")},goog.string.repeat=String.prototype.repeat?function(o,g){return o.repeat(g)}:function(o,g){return Array(g+1).join(o)},goog.string.padNumber=function(o,g,n){return-1==(n=(o=goog.isDef(n)?o.toFixed(n):String(o)).indexOf("."))&&(n=o.length),goog.string.repeat("0",Math.max(0,g-n))+o},goog.string.makeSafe=function(o){return null==o?"":String(o)},goog.string.buildString=function(o){return Array.prototype.join.call(arguments,"")},goog.string.getRandomString=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^goog.now()).toString(36)},goog.string.compareVersions=goog.string.internal.compareVersions,goog.string.hashCode=function(o){for(var g=0,n=0;n<o.length;++n)g=31*g+o.charCodeAt(n)>>>0;return g},goog.string.uniqueStringCounter_=2147483648*Math.random()|0,goog.string.createUniqueString=function(){return"goog_"+goog.string.uniqueStringCounter_++},goog.string.toNumber=function(o){var g=Number(o);return 0==g&&goog.string.isEmptyOrWhitespace(o)?NaN:g},goog.string.isLowerCamelCase=function(o){return/^[a-z]+([A-Z][a-z]*)*$/.test(o)},goog.string.isUpperCamelCase=function(o){return/^([A-Z][a-z]*)+$/.test(o)},goog.string.toCamelCase=function(o){return String(o).replace(/\-([a-z])/g,(function(o,g){return g.toUpperCase()}))},goog.string.toSelectorCase=function(o){return String(o).replace(/([A-Z])/g,"-$1").toLowerCase()},goog.string.toTitleCase=function(o,g){return g=goog.isString(g)?goog.string.regExpEscape(g):"\\s",o.replace(new RegExp("(^"+(g?"|["+g+"]+":"")+")([a-z])","g"),(function(o,g,n){return g+n.toUpperCase()}))},goog.string.capitalize=function(o){return String(o.charAt(0)).toUpperCase()+String(o.substr(1)).toLowerCase()},goog.string.parseInt=function(o){return isFinite(o)&&(o=String(o)),goog.isString(o)?/^\s*-?0x/i.test(o)?parseInt(o,16):parseInt(o,10):NaN},goog.string.splitLimit=function(o,g,n){o=o.split(g);for(var t=[];0<n&&o.length;)t.push(o.shift()),n--;return o.length&&t.push(o.join(g)),t},goog.string.lastComponent=function(o,g){if(!g)return o;"string"==typeof g&&(g=[g]);for(var n=-1,t=0;t<g.length;t++)if(""!=g[t]){var r=o.lastIndexOf(g[t]);r>n&&(n=r)}return-1==n?o:o.slice(n+1)},goog.string.editDistance=function(o,g){var n=[],t=[];if(o==g)return 0;if(!o.length||!g.length)return Math.max(o.length,g.length);for(var r=0;r<g.length+1;r++)n[r]=r;for(r=0;r<o.length;r++){t[0]=r+1;for(var i=0;i<g.length;i++)t[i+1]=Math.min(t[i]+1,n[i+1]+1,n[i]+Number(o[r]!=g[i]));for(i=0;i<n.length;i++)n[i]=t[i]}return t[g.length]},goog.labs.userAgent.engine={},goog.labs.userAgent.engine.isPresto=function(){return goog.labs.userAgent.util.matchUserAgent("Presto")},goog.labs.userAgent.engine.isTrident=function(){return goog.labs.userAgent.util.matchUserAgent("Trident")||goog.labs.userAgent.util.matchUserAgent("MSIE")},goog.labs.userAgent.engine.isEdge=function(){return goog.labs.userAgent.util.matchUserAgent("Edge")},goog.labs.userAgent.engine.isWebKit=function(){return goog.labs.userAgent.util.matchUserAgentIgnoreCase("WebKit")&&!goog.labs.userAgent.engine.isEdge()},goog.labs.userAgent.engine.isGecko=function(){return goog.labs.userAgent.util.matchUserAgent("Gecko")&&!goog.labs.userAgent.engine.isWebKit()&&!goog.labs.userAgent.engine.isTrident()&&!goog.labs.userAgent.engine.isEdge()},goog.labs.userAgent.engine.getVersion=function(){var o=goog.labs.userAgent.util.getUserAgent();if(o){o=goog.labs.userAgent.util.extractVersionTuples(o);var g,n=goog.labs.userAgent.engine.getEngineTuple_(o);if(n)return"Gecko"==n[0]?goog.labs.userAgent.engine.getVersionForKey_(o,"Firefox"):n[1];if((o=o[0])&&(g=o[2])&&(g=/Trident\/([^\s;]+)/.exec(g)))return g[1]}return""},goog.labs.userAgent.engine.getEngineTuple_=function(o){if(!goog.labs.userAgent.engine.isEdge())return o[1];for(var g=0;g<o.length;g++){var n=o[g];if("Edge"==n[0])return n}},goog.labs.userAgent.engine.isVersionOrHigher=function(o){return 0<=goog.string.compareVersions(goog.labs.userAgent.engine.getVersion(),o)},goog.labs.userAgent.engine.getVersionForKey_=function(o,g){return(o=goog.array.find(o,(function(o){return g==o[0]})))&&o[1]||""},goog.labs.userAgent.platform={},goog.labs.userAgent.platform.isAndroid=function(){return goog.labs.userAgent.util.matchUserAgent("Android")},goog.labs.userAgent.platform.isIpod=function(){return goog.labs.userAgent.util.matchUserAgent("iPod")},goog.labs.userAgent.platform.isIphone=function(){return goog.labs.userAgent.util.matchUserAgent("iPhone")&&!goog.labs.userAgent.util.matchUserAgent("iPod")&&!goog.labs.userAgent.util.matchUserAgent("iPad")},goog.labs.userAgent.platform.isIpad=function(){return goog.labs.userAgent.util.matchUserAgent("iPad")},goog.labs.userAgent.platform.isIos=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpad()||goog.labs.userAgent.platform.isIpod()},goog.labs.userAgent.platform.isMacintosh=function(){return goog.labs.userAgent.util.matchUserAgent("Macintosh")},goog.labs.userAgent.platform.isLinux=function(){return goog.labs.userAgent.util.matchUserAgent("Linux")},goog.labs.userAgent.platform.isWindows=function(){return goog.labs.userAgent.util.matchUserAgent("Windows")},goog.labs.userAgent.platform.isChromeOS=function(){return goog.labs.userAgent.util.matchUserAgent("CrOS")},goog.labs.userAgent.platform.isChromecast=function(){return goog.labs.userAgent.util.matchUserAgent("CrKey")},goog.labs.userAgent.platform.isKaiOS=function(){return goog.labs.userAgent.util.matchUserAgentIgnoreCase("KaiOS")},goog.labs.userAgent.platform.isGo2Phone=function(){return goog.labs.userAgent.util.matchUserAgentIgnoreCase("GAFP")},goog.labs.userAgent.platform.getVersion=function(){var o=goog.labs.userAgent.util.getUserAgent(),g="";return goog.labs.userAgent.platform.isWindows()?g=(o=(g=/Windows (?:NT|Phone) ([0-9.]+)/).exec(o))?o[1]:"0.0":goog.labs.userAgent.platform.isIos()?g=(o=(g=/(?:iPhone|iPod|iPad|CPU)\s+OS\s+(\S+)/).exec(o))&&o[1].replace(/_/g,"."):goog.labs.userAgent.platform.isMacintosh()?g=(o=(g=/Mac OS X ([0-9_.]+)/).exec(o))?o[1].replace(/_/g,"."):"10":goog.labs.userAgent.platform.isKaiOS()?g=(o=(g=/(?:KaiOS)\/(\S+)/i).exec(o))&&o[1]:goog.labs.userAgent.platform.isAndroid()?g=(o=(g=/Android\s+([^\);]+)(\)|;)/).exec(o))&&o[1]:goog.labs.userAgent.platform.isChromeOS()&&(g=(o=(g=/(?:CrOS\s+(?:i686|x86_64)\s+([0-9.]+))/).exec(o))&&o[1]),g||""},goog.labs.userAgent.platform.isVersionOrHigher=function(o){return 0<=goog.string.compareVersions(goog.labs.userAgent.platform.getVersion(),o)},goog.reflect={},goog.reflect.object=function(o,g){return g},goog.reflect.objectProperty=function(o){return o},goog.reflect.sinkValue=function(o){return goog.reflect.sinkValue[" "](o),o},goog.reflect.sinkValue[" "]=goog.nullFunction,goog.reflect.canAccessProperty=function(o,g){try{return goog.reflect.sinkValue(o[g]),!0}catch(o){}return!1},goog.reflect.cache=function(o,g,n,t){return t=t?t(g):g,Object.prototype.hasOwnProperty.call(o,t)?o[t]:o[t]=n(g)},goog.userAgent={},goog.userAgent.ASSUME_IE=!1,goog.userAgent.ASSUME_EDGE=!1,goog.userAgent.ASSUME_GECKO=!1,goog.userAgent.ASSUME_WEBKIT=!1,goog.userAgent.ASSUME_MOBILE_WEBKIT=!1,goog.userAgent.ASSUME_OPERA=!1,goog.userAgent.ASSUME_ANY_VERSION=!1,goog.userAgent.BROWSER_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_GECKO||goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_OPERA,goog.userAgent.getUserAgentString=function(){return goog.labs.userAgent.util.getUserAgent()},goog.userAgent.getNavigatorTyped=function(){return goog.global.navigator||null},goog.userAgent.getNavigator=function(){return goog.userAgent.getNavigatorTyped()},goog.userAgent.OPERA=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_OPERA:goog.labs.userAgent.browser.isOpera(),goog.userAgent.IE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_IE:goog.labs.userAgent.browser.isIE(),goog.userAgent.EDGE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_EDGE:goog.labs.userAgent.engine.isEdge(),goog.userAgent.EDGE_OR_IE=goog.userAgent.EDGE||goog.userAgent.IE,goog.userAgent.GECKO=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_GECKO:goog.labs.userAgent.engine.isGecko(),goog.userAgent.WEBKIT=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_MOBILE_WEBKIT:goog.labs.userAgent.engine.isWebKit(),goog.userAgent.isMobile_=function(){return goog.userAgent.WEBKIT&&goog.labs.userAgent.util.matchUserAgent("Mobile")},goog.userAgent.MOBILE=goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.isMobile_(),goog.userAgent.SAFARI=goog.userAgent.WEBKIT,goog.userAgent.determinePlatform_=function(){var o=goog.userAgent.getNavigatorTyped();return o&&o.platform||""},goog.userAgent.PLATFORM=goog.userAgent.determinePlatform_(),goog.userAgent.ASSUME_MAC=!1,goog.userAgent.ASSUME_WINDOWS=!1,goog.userAgent.ASSUME_LINUX=!1,goog.userAgent.ASSUME_X11=!1,goog.userAgent.ASSUME_ANDROID=!1,goog.userAgent.ASSUME_IPHONE=!1,goog.userAgent.ASSUME_IPAD=!1,goog.userAgent.ASSUME_IPOD=!1,goog.userAgent.ASSUME_KAIOS=!1,goog.userAgent.ASSUME_GO2PHONE=!1,goog.userAgent.PLATFORM_KNOWN_=goog.userAgent.ASSUME_MAC||goog.userAgent.ASSUME_WINDOWS||goog.userAgent.ASSUME_LINUX||goog.userAgent.ASSUME_X11||goog.userAgent.ASSUME_ANDROID||goog.userAgent.ASSUME_IPHONE||goog.userAgent.ASSUME_IPAD||goog.userAgent.ASSUME_IPOD,goog.userAgent.MAC=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_MAC:goog.labs.userAgent.platform.isMacintosh(),goog.userAgent.WINDOWS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_WINDOWS:goog.labs.userAgent.platform.isWindows(),goog.userAgent.isLegacyLinux_=function(){return goog.labs.userAgent.platform.isLinux()||goog.labs.userAgent.platform.isChromeOS()},goog.userAgent.LINUX=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_LINUX:goog.userAgent.isLegacyLinux_(),goog.userAgent.isX11_=function(){var o=goog.userAgent.getNavigatorTyped();return!!o&&goog.string.contains(o.appVersion||"","X11")},goog.userAgent.X11=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_X11:goog.userAgent.isX11_(),goog.userAgent.ANDROID=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_ANDROID:goog.labs.userAgent.platform.isAndroid(),goog.userAgent.IPHONE=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPHONE:goog.labs.userAgent.platform.isIphone(),goog.userAgent.IPAD=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad(),goog.userAgent.IPOD=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPOD:goog.labs.userAgent.platform.isIpod(),goog.userAgent.IOS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPHONE||goog.userAgent.ASSUME_IPAD||goog.userAgent.ASSUME_IPOD:goog.labs.userAgent.platform.isIos(),goog.userAgent.KAIOS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_KAIOS:goog.labs.userAgent.platform.isKaiOS(),goog.userAgent.GO2PHONE=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_GO2PHONE:goog.labs.userAgent.platform.isGo2Phone(),goog.userAgent.determineVersion_=function(){var o="",g=goog.userAgent.getVersionRegexResult_();return g&&(o=g?g[1]:""),goog.userAgent.IE&&null!=(g=goog.userAgent.getDocumentMode_())&&g>parseFloat(o)?String(g):o},goog.userAgent.getVersionRegexResult_=function(){var o=goog.userAgent.getUserAgentString();return goog.userAgent.GECKO?/rv:([^\);]+)(\)|;)/.exec(o):goog.userAgent.EDGE?/Edge\/([\d\.]+)/.exec(o):goog.userAgent.IE?/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(o):goog.userAgent.WEBKIT?/WebKit\/(\S+)/.exec(o):goog.userAgent.OPERA?/(?:Version)[ \/]?(\S+)/.exec(o):void 0},goog.userAgent.getDocumentMode_=function(){var o=goog.global.document;return o?o.documentMode:void 0},goog.userAgent.VERSION=goog.userAgent.determineVersion_(),goog.userAgent.compare=function(o,g){return goog.string.compareVersions(o,g)},goog.userAgent.isVersionOrHigherCache_={},goog.userAgent.isVersionOrHigher=function(o){return goog.userAgent.ASSUME_ANY_VERSION||goog.reflect.cache(goog.userAgent.isVersionOrHigherCache_,o,(function(){return 0<=goog.string.compareVersions(goog.userAgent.VERSION,o)}))},goog.userAgent.isVersion=goog.userAgent.isVersionOrHigher,goog.userAgent.isDocumentModeOrHigher=function(o){return Number(goog.userAgent.DOCUMENT_MODE)>=o},goog.userAgent.isDocumentMode=goog.userAgent.isDocumentModeOrHigher,goog.userAgent.DOCUMENT_MODE=function(){if(goog.global.document&&goog.userAgent.IE)return goog.userAgent.getDocumentMode_()}(),goog.userAgent.product={},goog.userAgent.product.ASSUME_FIREFOX=!1,goog.userAgent.product.ASSUME_IPHONE=!1,goog.userAgent.product.ASSUME_IPAD=!1,goog.userAgent.product.ASSUME_ANDROID=!1,goog.userAgent.product.ASSUME_CHROME=!1,goog.userAgent.product.ASSUME_SAFARI=!1,goog.userAgent.product.PRODUCT_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_OPERA||goog.userAgent.product.ASSUME_FIREFOX||goog.userAgent.product.ASSUME_IPHONE||goog.userAgent.product.ASSUME_IPAD||goog.userAgent.product.ASSUME_ANDROID||goog.userAgent.product.ASSUME_CHROME||goog.userAgent.product.ASSUME_SAFARI,goog.userAgent.product.OPERA=goog.userAgent.OPERA,goog.userAgent.product.IE=goog.userAgent.IE,goog.userAgent.product.EDGE=goog.userAgent.EDGE,goog.userAgent.product.FIREFOX=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_FIREFOX:goog.labs.userAgent.browser.isFirefox(),goog.userAgent.product.isIphoneOrIpod_=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpod()},goog.userAgent.product.IPHONE=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPHONE:goog.userAgent.product.isIphoneOrIpod_(),goog.userAgent.product.IPAD=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad(),goog.userAgent.product.ANDROID=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_ANDROID:goog.labs.userAgent.browser.isAndroidBrowser(),goog.userAgent.product.CHROME=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_CHROME:goog.labs.userAgent.browser.isChrome(),goog.userAgent.product.isSafariDesktop_=function(){return goog.labs.userAgent.browser.isSafari()&&!goog.labs.userAgent.platform.isIos()},goog.userAgent.product.SAFARI=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_SAFARI:goog.userAgent.product.isSafariDesktop_(),goog.crypt.base64={},goog.crypt.base64.DEFAULT_ALPHABET_COMMON_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",goog.crypt.base64.ENCODED_VALS=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_+"+/=",goog.crypt.base64.ENCODED_VALS_WEBSAFE=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_+"-_.",goog.crypt.base64.Alphabet={DEFAULT:0,NO_PADDING:1,WEBSAFE:2,WEBSAFE_DOT_PADDING:3,WEBSAFE_NO_PADDING:4},goog.crypt.base64.paddingChars_="=.",goog.crypt.base64.isPadding_=function(o){return goog.string.contains(goog.crypt.base64.paddingChars_,o)},goog.crypt.base64.byteToCharMaps_={};goog.crypt.base64.charToByteMap_=null,goog.crypt.base64.ASSUME_NATIVE_SUPPORT_=goog.userAgent.GECKO||goog.userAgent.WEBKIT&&!goog.userAgent.product.SAFARI||goog.userAgent.OPERA,goog.crypt.base64.HAS_NATIVE_ENCODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||"function"==typeof goog.global.btoa,goog.crypt.base64.HAS_NATIVE_DECODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||!goog.userAgent.product.SAFARI&&!goog.userAgent.IE&&"function"==typeof goog.global.atob,goog.crypt.base64.encodeByteArray=function(o,g){goog.asserts.assert(goog.isArrayLike(o),"encodeByteArray takes an array as a parameter"),void 0===g&&(g=goog.crypt.base64.Alphabet.DEFAULT),goog.crypt.base64.init_(),g=goog.crypt.base64.byteToCharMaps_[g];for(var n=[],t=0;t<o.length;t+=3){var r=o[t],i=t+1<o.length,e=i?o[t+1]:0,u=t+2<o.length,s=u?o[t+2]:0,f=r>>2;r=(3&r)<<4|e>>4,e=(15&e)<<2|s>>6,s&=63,u||(s=64,i||(e=64)),n.push(g[f],g[r],g[e]||"",g[s]||"")}return n.join("")},goog.crypt.base64.encodeString=function(o,g){return goog.crypt.base64.HAS_NATIVE_ENCODE_&&!g?goog.global.btoa(o):goog.crypt.base64.encodeByteArray(goog.crypt.stringToByteArray(o),g)},goog.crypt.base64.decodeString=function(o,g){if(goog.crypt.base64.HAS_NATIVE_DECODE_&&!g)return goog.global.atob(o);var n="";return goog.crypt.base64.decodeStringInternal_(o,(function(o){n+=String.fromCharCode(o)})),n},goog.crypt.base64.decodeStringToByteArray=function(o){var g=[];return goog.crypt.base64.decodeStringInternal_(o,(function(o){g.push(o)})),g},goog.crypt.base64.decodeStringToUint8Array=function(o){goog.asserts.assert(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10"),"Browser does not support typed arrays");var g=o.length,n=3*g/4;n%3?n=Math.floor(n):goog.crypt.base64.isPadding_(o[g-1])&&(n=goog.crypt.base64.isPadding_(o[g-2])?n-2:n-1);var t=new Uint8Array(n),r=0;return goog.crypt.base64.decodeStringInternal_(o,(function(o){t[r++]=o})),t.subarray(0,r)},goog.crypt.base64.decodeStringInternal_=function(o,g){function n(g){for(;t<o.length;){var n=o.charAt(t++),r=goog.crypt.base64.charToByteMap_[n];if(null!=r)return r;if(!goog.string.isEmptyOrWhitespace(n))throw Error("Unknown base64 encoding at char: "+n)}return g}goog.crypt.base64.init_();for(var t=0;;){var r=n(-1),i=n(0),e=n(64),u=n(64);if(64===u&&-1===r)break;g(r<<2|i>>4),64!=e&&(g(i<<4&240|e>>2),64!=u&&g(e<<6&192|u))}},goog.crypt.base64.init_=function(){if(!goog.crypt.base64.charToByteMap_){goog.crypt.base64.charToByteMap_={};for(var o=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_.split(""),g=["+/=","+/","-_=","-_.","-_"],n=0;5>n;n++){var t=o.concat(g[n].split(""));goog.crypt.base64.byteToCharMaps_[n]=t;for(var r=0;r<t.length;r++){var i=t[r],e=goog.crypt.base64.charToByteMap_[i];void 0===e?goog.crypt.base64.charToByteMap_[i]=r:goog.asserts.assert(e===r)}}}},jspb.utils={},jspb.utils.split64Low=0,jspb.utils.split64High=0,jspb.utils.splitUint64=function(o){var g=o>>>0;o=Math.floor((o-g)/jspb.BinaryConstants.TWO_TO_32)>>>0,jspb.utils.split64Low=g,jspb.utils.split64High=o},jspb.utils.splitInt64=function(o){var g=0>o,n=(o=Math.abs(o))>>>0;o=Math.floor((o-n)/jspb.BinaryConstants.TWO_TO_32),o>>>=0,g&&(o=~o>>>0,4294967295<(n=1+(~n>>>0))&&(n=0,4294967295<++o&&(o=0))),jspb.utils.split64Low=n,jspb.utils.split64High=o},jspb.utils.splitZigzag64=function(o){var g=0>o;o=2*Math.abs(o),jspb.utils.splitUint64(o),o=jspb.utils.split64Low;var n=jspb.utils.split64High;g&&(0==o?0==n?n=o=4294967295:(n--,o=4294967295):o--),jspb.utils.split64Low=o,jspb.utils.split64High=n},jspb.utils.splitFloat32=function(o){var g=0>o?1:0;if(0===(o=g?-o:o))0<1/o?(jspb.utils.split64High=0,jspb.utils.split64Low=0):(jspb.utils.split64High=0,jspb.utils.split64Low=2147483648);else if(isNaN(o))jspb.utils.split64High=0,jspb.utils.split64Low=2147483647;else if(o>jspb.BinaryConstants.FLOAT32_MAX)jspb.utils.split64High=0,jspb.utils.split64Low=(g<<31|2139095040)>>>0;else if(o<jspb.BinaryConstants.FLOAT32_MIN)o=Math.round(o/Math.pow(2,-149)),jspb.utils.split64High=0,jspb.utils.split64Low=(g<<31|o)>>>0;else{var n=Math.floor(Math.log(o)/Math.LN2);o*=Math.pow(2,-n),16777216<=(o=Math.round(o*jspb.BinaryConstants.TWO_TO_23))&&++n,jspb.utils.split64High=0,jspb.utils.split64Low=(g<<31|n+127<<23|8388607&o)>>>0}},jspb.utils.splitFloat64=function(o){var g=0>o?1:0;if(0===(o=g?-o:o))jspb.utils.split64High=0<1/o?0:2147483648,jspb.utils.split64Low=0;else if(isNaN(o))jspb.utils.split64High=2147483647,jspb.utils.split64Low=4294967295;else if(o>jspb.BinaryConstants.FLOAT64_MAX)jspb.utils.split64High=(g<<31|2146435072)>>>0,jspb.utils.split64Low=0;else if(o<jspb.BinaryConstants.FLOAT64_MIN){var n=o/Math.pow(2,-1074);jspb.utils.split64High=(g<<31|(o=n/jspb.BinaryConstants.TWO_TO_32))>>>0,jspb.utils.split64Low=n>>>0}else{var t=0;if(2<=(n=o))for(;2<=n&&1023>t;)t++,n/=2;else for(;1>n&&-1022<t;)n*=2,t--;o=(n=o*Math.pow(2,-t))*jspb.BinaryConstants.TWO_TO_20&1048575,n=n*jspb.BinaryConstants.TWO_TO_52>>>0,jspb.utils.split64High=(g<<31|t+1023<<20|o)>>>0,jspb.utils.split64Low=n}},jspb.utils.splitHash64=function(o){var g=o.charCodeAt(0),n=o.charCodeAt(1),t=o.charCodeAt(2),r=o.charCodeAt(3),i=o.charCodeAt(4),e=o.charCodeAt(5),u=o.charCodeAt(6);o=o.charCodeAt(7),jspb.utils.split64Low=g+(n<<8)+(t<<16)+(r<<24)>>>0,jspb.utils.split64High=i+(e<<8)+(u<<16)+(o<<24)>>>0},jspb.utils.joinUint64=function(o,g){return g*jspb.BinaryConstants.TWO_TO_32+(o>>>0)},jspb.utils.joinInt64=function(o,g){var n=2147483648&g;return n&&(g=~g>>>0,0==(o=1+~o>>>0)&&(g=g+1>>>0)),o=jspb.utils.joinUint64(o,g),n?-o:o},jspb.utils.toZigzag64=function(o,g,n){var t=g>>31;return n(o<<1^t,(g<<1|o>>>31)^t)},jspb.utils.joinZigzag64=function(o,g){return jspb.utils.fromZigzag64(o,g,jspb.utils.joinInt64)},jspb.utils.fromZigzag64=function(o,g,n){var t=-(1&o);return n((o>>>1|g<<31)^t,g>>>1^t)},jspb.utils.joinFloat32=function(o,g){g=2*(o>>31)+1;var n=o>>>23&255;return o&=8388607,255==n?o?NaN:1/0*g:0==n?g*Math.pow(2,-149)*o:g*Math.pow(2,n-150)*(o+Math.pow(2,23))},jspb.utils.joinFloat64=function(o,g){var n=2*(g>>31)+1,t=g>>>20&2047;return o=jspb.BinaryConstants.TWO_TO_32*(1048575&g)+o,2047==t?o?NaN:1/0*n:0==t?n*Math.pow(2,-1074)*o:n*Math.pow(2,t-1075)*(o+jspb.BinaryConstants.TWO_TO_52)},jspb.utils.joinHash64=function(o,g){return String.fromCharCode(o>>>0&255,o>>>8&255,o>>>16&255,o>>>24&255,g>>>0&255,g>>>8&255,g>>>16&255,g>>>24&255)},jspb.utils.DIGITS="0123456789abcdef".split(""),jspb.utils.ZERO_CHAR_CODE_=48,jspb.utils.A_CHAR_CODE_=97,jspb.utils.joinUnsignedDecimalString=function(o,g){function n(o,g){return o=o?String(o):"",g?"0000000".slice(o.length)+o:o}if(2097151>=g)return""+jspb.utils.joinUint64(o,g);var t=(o>>>24|g<<8)>>>0&16777215;return o=(16777215&o)+6777216*t+6710656*(g=g>>16&65535),t+=8147497*g,g*=2,1e7<=o&&(t+=Math.floor(o/1e7),o%=1e7),1e7<=t&&(g+=Math.floor(t/1e7),t%=1e7),n(g,0)+n(t,g)+n(o,1)},jspb.utils.joinSignedDecimalString=function(o,g){var n=2147483648&g;return n&&(g=~g+(0==(o=1+~o>>>0)?1:0)>>>0),o=jspb.utils.joinUnsignedDecimalString(o,g),n?"-"+o:o},jspb.utils.hash64ToDecimalString=function(o,g){jspb.utils.splitHash64(o),o=jspb.utils.split64Low;var n=jspb.utils.split64High;return g?jspb.utils.joinSignedDecimalString(o,n):jspb.utils.joinUnsignedDecimalString(o,n)},jspb.utils.hash64ArrayToDecimalStrings=function(o,g){for(var n=Array(o.length),t=0;t<o.length;t++)n[t]=jspb.utils.hash64ToDecimalString(o[t],g);return n},jspb.utils.decimalStringToHash64=function(o){function g(o,g){for(var n=0;8>n&&(1!==o||0<g);n++)t[n]=255&(g=o*t[n]+g),g>>>=8}goog.asserts.assert(0<o.length);var n=!1;"-"===o[0]&&(n=!0,o=o.slice(1));for(var t=[0,0,0,0,0,0,0,0],r=0;r<o.length;r++)g(10,o.charCodeAt(r)-jspb.utils.ZERO_CHAR_CODE_);return n&&(function(){for(var o=0;8>o;o++)t[o]=255&~t[o]}(),g(1,1)),goog.crypt.byteArrayToString(t)},jspb.utils.splitDecimalString=function(o){jspb.utils.splitHash64(jspb.utils.decimalStringToHash64(o))},jspb.utils.toHexDigit_=function(o){return String.fromCharCode(10>o?jspb.utils.ZERO_CHAR_CODE_+o:jspb.utils.A_CHAR_CODE_-10+o)},jspb.utils.fromHexCharCode_=function(o){return o>=jspb.utils.A_CHAR_CODE_?o-jspb.utils.A_CHAR_CODE_+10:o-jspb.utils.ZERO_CHAR_CODE_},jspb.utils.hash64ToHexString=function(o){var g=Array(18);g[0]="0",g[1]="x";for(var n=0;8>n;n++){var t=o.charCodeAt(7-n);g[2*n+2]=jspb.utils.toHexDigit_(t>>4),g[2*n+3]=jspb.utils.toHexDigit_(15&t)}return g.join("")},jspb.utils.hexStringToHash64=function(o){o=o.toLowerCase(),goog.asserts.assert(18==o.length),goog.asserts.assert("0"==o[0]),goog.asserts.assert("x"==o[1]);for(var g="",n=0;8>n;n++){var t=jspb.utils.fromHexCharCode_(o.charCodeAt(2*n+2)),r=jspb.utils.fromHexCharCode_(o.charCodeAt(2*n+3));g=String.fromCharCode(16*t+r)+g}return g},jspb.utils.hash64ToNumber=function(o,g){jspb.utils.splitHash64(o),o=jspb.utils.split64Low;var n=jspb.utils.split64High;return g?jspb.utils.joinInt64(o,n):jspb.utils.joinUint64(o,n)},jspb.utils.numberToHash64=function(o){return jspb.utils.splitInt64(o),jspb.utils.joinHash64(jspb.utils.split64Low,jspb.utils.split64High)},jspb.utils.countVarints=function(o,g,n){for(var t=0,r=g;r<n;r++)t+=o[r]>>7;return n-g-t},jspb.utils.countVarintFields=function(o,g,n,t){var r=0;if(128>(t=8*t+jspb.BinaryConstants.WireType.VARINT))for(;g<n&&o[g++]==t;)for(r++;;){var i=o[g++];if(0==(128&i))break}else for(;g<n;){for(i=t;128<i;){if(o[g]!=(127&i|128))return r;g++,i>>=7}if(o[g++]!=i)break;for(r++;0!=(128&(i=o[g++])););}return r},jspb.utils.countFixedFields_=function(o,g,n,t,r){var i=0;if(128>t)for(;g<n&&o[g++]==t;)i++,g+=r;else for(;g<n;){for(var e=t;128<e;){if(o[g++]!=(127&e|128))return i;e>>=7}if(o[g++]!=e)break;i++,g+=r}return i},jspb.utils.countFixed32Fields=function(o,g,n,t){return jspb.utils.countFixedFields_(o,g,n,8*t+jspb.BinaryConstants.WireType.FIXED32,4)},jspb.utils.countFixed64Fields=function(o,g,n,t){return jspb.utils.countFixedFields_(o,g,n,8*t+jspb.BinaryConstants.WireType.FIXED64,8)},jspb.utils.countDelimitedFields=function(o,g,n,t){var r=0;for(t=8*t+jspb.BinaryConstants.WireType.DELIMITED;g<n;){for(var i=t;128<i;){if(o[g++]!=(127&i|128))return r;i>>=7}if(o[g++]!=i)break;r++;for(var e=0,u=1;e+=(127&(i=o[g++]))*u,u*=128,0!=(128&i););g+=e}return r},jspb.utils.debugBytesToTextFormat=function(o){var g='"';if(o){o=jspb.utils.byteSourceToUint8Array(o);for(var n=0;n<o.length;n++)g+="\\x",16>o[n]&&(g+="0"),g+=o[n].toString(16)}return g+'"'},jspb.utils.debugScalarToTextFormat=function(o){return"string"==typeof o?goog.string.quote(o):o.toString()},jspb.utils.stringToByteArray=function(o){for(var g=new Uint8Array(o.length),n=0;n<o.length;n++){var t=o.charCodeAt(n);if(255<t)throw Error("Conversion error: string contains codepoint outside of byte range");g[n]=t}return g},jspb.utils.byteSourceToUint8Array=function(o){return o.constructor===Uint8Array?o:o.constructor===ArrayBuffer||"undefined"!=typeof Buffer&&o.constructor===Buffer||o.constructor===Array?new Uint8Array(o):o.constructor===String?goog.crypt.base64.decodeStringToUint8Array(o):(goog.asserts.fail("Type not convertible to Uint8Array."),new Uint8Array(0))},jspb.BinaryDecoder=function(o,g,n){this.bytes_=null,this.cursor_=this.end_=this.start_=0,this.error_=!1,o&&this.setBlock(o,g,n)},jspb.BinaryDecoder.instanceCache_=[],jspb.BinaryDecoder.alloc=function(o,g,n){if(jspb.BinaryDecoder.instanceCache_.length){var t=jspb.BinaryDecoder.instanceCache_.pop();return o&&t.setBlock(o,g,n),t}return new jspb.BinaryDecoder(o,g,n)},jspb.BinaryDecoder.prototype.free=function(){this.clear(),100>jspb.BinaryDecoder.instanceCache_.length&&jspb.BinaryDecoder.instanceCache_.push(this)},jspb.BinaryDecoder.prototype.clone=function(){return jspb.BinaryDecoder.alloc(this.bytes_,this.start_,this.end_-this.start_)},jspb.BinaryDecoder.prototype.clear=function(){this.bytes_=null,this.cursor_=this.end_=this.start_=0,this.error_=!1},jspb.BinaryDecoder.prototype.getBuffer=function(){return this.bytes_},jspb.BinaryDecoder.prototype.setBlock=function(o,g,n){this.bytes_=jspb.utils.byteSourceToUint8Array(o),this.start_=void 0!==g?g:0,this.end_=void 0!==n?this.start_+n:this.bytes_.length,this.cursor_=this.start_},jspb.BinaryDecoder.prototype.getEnd=function(){return this.end_},jspb.BinaryDecoder.prototype.setEnd=function(o){this.end_=o},jspb.BinaryDecoder.prototype.reset=function(){this.cursor_=this.start_},jspb.BinaryDecoder.prototype.getCursor=function(){return this.cursor_},jspb.BinaryDecoder.prototype.setCursor=function(o){this.cursor_=o},jspb.BinaryDecoder.prototype.advance=function(o){this.cursor_+=o,goog.asserts.assert(this.cursor_<=this.end_)},jspb.BinaryDecoder.prototype.atEnd=function(){return this.cursor_==this.end_},jspb.BinaryDecoder.prototype.pastEnd=function(){return this.cursor_>this.end_},jspb.BinaryDecoder.prototype.getError=function(){return this.error_||0>this.cursor_||this.cursor_>this.end_},jspb.BinaryDecoder.prototype.readSplitVarint64=function(o){for(var g=128,n=0,t=0,r=0;4>r&&128<=g;r++)n|=(127&(g=this.bytes_[this.cursor_++]))<<7*r;if(128<=g&&(n|=(127&(g=this.bytes_[this.cursor_++]))<<28,t|=(127&g)>>4),128<=g)for(r=0;5>r&&128<=g;r++)t|=(127&(g=this.bytes_[this.cursor_++]))<<7*r+3;if(128>g)return o(n>>>0,t>>>0);goog.asserts.fail("Failed to read varint, encoding is invalid."),this.error_=!0},jspb.BinaryDecoder.prototype.readSplitZigzagVarint64=function(o){return this.readSplitVarint64((function(g,n){return jspb.utils.fromZigzag64(g,n,o)}))},jspb.BinaryDecoder.prototype.readSplitFixed64=function(o){var g=this.bytes_,n=this.cursor_;this.cursor_+=8;for(var t=0,r=0,i=n+7;i>=n;i--)t=t<<8|g[i],r=r<<8|g[i+4];return o(t,r)},jspb.BinaryDecoder.prototype.skipVarint=function(){for(;128&this.bytes_[this.cursor_];)this.cursor_++;this.cursor_++},jspb.BinaryDecoder.prototype.unskipVarint=function(o){for(;128<o;)this.cursor_--,o>>>=7;this.cursor_--},jspb.BinaryDecoder.prototype.readUnsignedVarint32=function(){var o=this.bytes_,g=o[this.cursor_+0],n=127&g;return 128>g?(this.cursor_+=1,goog.asserts.assert(this.cursor_<=this.end_),n):(n|=(127&(g=o[this.cursor_+1]))<<7,128>g?(this.cursor_+=2,goog.asserts.assert(this.cursor_<=this.end_),n):(n|=(127&(g=o[this.cursor_+2]))<<14,128>g?(this.cursor_+=3,goog.asserts.assert(this.cursor_<=this.end_),n):(n|=(127&(g=o[this.cursor_+3]))<<21,128>g?(this.cursor_+=4,goog.asserts.assert(this.cursor_<=this.end_),n):(n|=(15&(g=o[this.cursor_+4]))<<28,128>g?(this.cursor_+=5,goog.asserts.assert(this.cursor_<=this.end_),n>>>0):(this.cursor_+=5,128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&goog.asserts.assert(!1),goog.asserts.assert(this.cursor_<=this.end_),n)))))},jspb.BinaryDecoder.prototype.readSignedVarint32=jspb.BinaryDecoder.prototype.readUnsignedVarint32,jspb.BinaryDecoder.prototype.readUnsignedVarint32String=function(){return this.readUnsignedVarint32().toString()},jspb.BinaryDecoder.prototype.readSignedVarint32String=function(){return this.readSignedVarint32().toString()},jspb.BinaryDecoder.prototype.readZigzagVarint32=function(){var o=this.readUnsignedVarint32();return o>>>1^-(1&o)},jspb.BinaryDecoder.prototype.readUnsignedVarint64=function(){return this.readSplitVarint64(jspb.utils.joinUint64)},jspb.BinaryDecoder.prototype.readUnsignedVarint64String=function(){return this.readSplitVarint64(jspb.utils.joinUnsignedDecimalString)},jspb.BinaryDecoder.prototype.readSignedVarint64=function(){return this.readSplitVarint64(jspb.utils.joinInt64)},jspb.BinaryDecoder.prototype.readSignedVarint64String=function(){return this.readSplitVarint64(jspb.utils.joinSignedDecimalString)},jspb.BinaryDecoder.prototype.readZigzagVarint64=function(){return this.readSplitVarint64(jspb.utils.joinZigzag64)},jspb.BinaryDecoder.prototype.readZigzagVarintHash64=function(){return this.readSplitZigzagVarint64(jspb.utils.joinHash64)},jspb.BinaryDecoder.prototype.readZigzagVarint64String=function(){return this.readSplitZigzagVarint64(jspb.utils.joinSignedDecimalString)},jspb.BinaryDecoder.prototype.readUint8=function(){var o=this.bytes_[this.cursor_+0];return this.cursor_+=1,goog.asserts.assert(this.cursor_<=this.end_),o},jspb.BinaryDecoder.prototype.readUint16=function(){var o=this.bytes_[this.cursor_+0],g=this.bytes_[this.cursor_+1];return this.cursor_+=2,goog.asserts.assert(this.cursor_<=this.end_),o<<0|g<<8},jspb.BinaryDecoder.prototype.readUint32=function(){var o=this.bytes_[this.cursor_+0],g=this.bytes_[this.cursor_+1],n=this.bytes_[this.cursor_+2],t=this.bytes_[this.cursor_+3];return this.cursor_+=4,goog.asserts.assert(this.cursor_<=this.end_),(o<<0|g<<8|n<<16|t<<24)>>>0},jspb.BinaryDecoder.prototype.readUint64=function(){var o=this.readUint32(),g=this.readUint32();return jspb.utils.joinUint64(o,g)},jspb.BinaryDecoder.prototype.readUint64String=function(){var o=this.readUint32(),g=this.readUint32();return jspb.utils.joinUnsignedDecimalString(o,g)},jspb.BinaryDecoder.prototype.readInt8=function(){var o=this.bytes_[this.cursor_+0];return this.cursor_+=1,goog.asserts.assert(this.cursor_<=this.end_),o<<24>>24},jspb.BinaryDecoder.prototype.readInt16=function(){var o=this.bytes_[this.cursor_+0],g=this.bytes_[this.cursor_+1];return this.cursor_+=2,goog.asserts.assert(this.cursor_<=this.end_),(o<<0|g<<8)<<16>>16},jspb.BinaryDecoder.prototype.readInt32=function(){var o=this.bytes_[this.cursor_+0],g=this.bytes_[this.cursor_+1],n=this.bytes_[this.cursor_+2],t=this.bytes_[this.cursor_+3];return this.cursor_+=4,goog.asserts.assert(this.cursor_<=this.end_),o<<0|g<<8|n<<16|t<<24},jspb.BinaryDecoder.prototype.readInt64=function(){var o=this.readUint32(),g=this.readUint32();return jspb.utils.joinInt64(o,g)},jspb.BinaryDecoder.prototype.readInt64String=function(){var o=this.readUint32(),g=this.readUint32();return jspb.utils.joinSignedDecimalString(o,g)},jspb.BinaryDecoder.prototype.readFloat=function(){var o=this.readUint32();return jspb.utils.joinFloat32(o,0)},jspb.BinaryDecoder.prototype.readDouble=function(){var o=this.readUint32(),g=this.readUint32();return jspb.utils.joinFloat64(o,g)},jspb.BinaryDecoder.prototype.readBool=function(){return!!this.bytes_[this.cursor_++]},jspb.BinaryDecoder.prototype.readEnum=function(){return this.readSignedVarint32()},jspb.BinaryDecoder.prototype.readString=function(o){var g=this.bytes_,n=this.cursor_;o=n+o;for(var t=[],r="";n<o;){var i=g[n++];if(128>i)t.push(i);else{if(192>i)continue;if(224>i){var e=g[n++];t.push((31&i)<<6|63&e)}else if(240>i){e=g[n++];var u=g[n++];t.push((15&i)<<12|(63&e)<<6|63&u)}else 248>i&&(i=(7&i)<<18|(63&(e=g[n++]))<<12|(63&(u=g[n++]))<<6|63&g[n++],t.push(55296+((i-=65536)>>10&1023),56320+(1023&i)))}8192<=t.length&&(r+=String.fromCharCode.apply(null,t),t.length=0)}return r+=goog.crypt.byteArrayToString(t),this.cursor_=n,r},jspb.BinaryDecoder.prototype.readStringWithLength=function(){var o=this.readUnsignedVarint32();return this.readString(o)},jspb.BinaryDecoder.prototype.readBytes=function(o){if(0>o||this.cursor_+o>this.bytes_.length)return this.error_=!0,goog.asserts.fail("Invalid byte length!"),new Uint8Array(0);var g=this.bytes_.subarray(this.cursor_,this.cursor_+o);return this.cursor_+=o,goog.asserts.assert(this.cursor_<=this.end_),g},jspb.BinaryDecoder.prototype.readVarintHash64=function(){return this.readSplitVarint64(jspb.utils.joinHash64)},jspb.BinaryDecoder.prototype.readFixedHash64=function(){var o=this.bytes_,g=this.cursor_,n=o[g+0],t=o[g+1],r=o[g+2],i=o[g+3],e=o[g+4],u=o[g+5],s=o[g+6];return o=o[g+7],this.cursor_+=8,String.fromCharCode(n,t,r,i,e,u,s,o)},jspb.BinaryReader=function(o,g,n){this.decoder_=jspb.BinaryDecoder.alloc(o,g,n),this.fieldCursor_=this.decoder_.getCursor(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID,this.error_=!1,this.readCallbacks_=null},jspb.BinaryReader.instanceCache_=[],jspb.BinaryReader.alloc=function(o,g,n){if(jspb.BinaryReader.instanceCache_.length){var t=jspb.BinaryReader.instanceCache_.pop();return o&&t.decoder_.setBlock(o,g,n),t}return new jspb.BinaryReader(o,g,n)},jspb.BinaryReader.prototype.alloc=jspb.BinaryReader.alloc,jspb.BinaryReader.prototype.free=function(){this.decoder_.clear(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID,this.error_=!1,this.readCallbacks_=null,100>jspb.BinaryReader.instanceCache_.length&&jspb.BinaryReader.instanceCache_.push(this)},jspb.BinaryReader.prototype.getFieldCursor=function(){return this.fieldCursor_},jspb.BinaryReader.prototype.getCursor=function(){return this.decoder_.getCursor()},jspb.BinaryReader.prototype.getBuffer=function(){return this.decoder_.getBuffer()},jspb.BinaryReader.prototype.getFieldNumber=function(){return this.nextField_},jspb.BinaryReader.prototype.getWireType=function(){return this.nextWireType_},jspb.BinaryReader.prototype.isDelimited=function(){return this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED},jspb.BinaryReader.prototype.isEndGroup=function(){return this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP},jspb.BinaryReader.prototype.getError=function(){return this.error_||this.decoder_.getError()},jspb.BinaryReader.prototype.setBlock=function(o,g,n){this.decoder_.setBlock(o,g,n),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID},jspb.BinaryReader.prototype.reset=function(){this.decoder_.reset(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID},jspb.BinaryReader.prototype.advance=function(o){this.decoder_.advance(o)},jspb.BinaryReader.prototype.nextField=function(){if(this.decoder_.atEnd())return!1;if(this.getError())return goog.asserts.fail("Decoder hit an error"),!1;this.fieldCursor_=this.decoder_.getCursor();var o=this.decoder_.readUnsignedVarint32(),g=o>>>3;return(o&=7)!=jspb.BinaryConstants.WireType.VARINT&&o!=jspb.BinaryConstants.WireType.FIXED32&&o!=jspb.BinaryConstants.WireType.FIXED64&&o!=jspb.BinaryConstants.WireType.DELIMITED&&o!=jspb.BinaryConstants.WireType.START_GROUP&&o!=jspb.BinaryConstants.WireType.END_GROUP?(goog.asserts.fail("Invalid wire type: %s (at position %s)",o,this.fieldCursor_),this.error_=!0,!1):(this.nextField_=g,this.nextWireType_=o,!0)},jspb.BinaryReader.prototype.unskipHeader=function(){this.decoder_.unskipVarint(this.nextField_<<3|this.nextWireType_)},jspb.BinaryReader.prototype.skipMatchingFields=function(){var o=this.nextField_;for(this.unskipHeader();this.nextField()&&this.getFieldNumber()==o;)this.skipField();this.decoder_.atEnd()||this.unskipHeader()},jspb.BinaryReader.prototype.skipVarintField=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.VARINT?(goog.asserts.fail("Invalid wire type for skipVarintField"),this.skipField()):this.decoder_.skipVarint()},jspb.BinaryReader.prototype.skipDelimitedField=function(){if(this.nextWireType_!=jspb.BinaryConstants.WireType.DELIMITED)goog.asserts.fail("Invalid wire type for skipDelimitedField"),this.skipField();else{var o=this.decoder_.readUnsignedVarint32();this.decoder_.advance(o)}},jspb.BinaryReader.prototype.skipFixed32Field=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.FIXED32?(goog.asserts.fail("Invalid wire type for skipFixed32Field"),this.skipField()):this.decoder_.advance(4)},jspb.BinaryReader.prototype.skipFixed64Field=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.FIXED64?(goog.asserts.fail("Invalid wire type for skipFixed64Field"),this.skipField()):this.decoder_.advance(8)},jspb.BinaryReader.prototype.skipGroup=function(){for(var o=this.nextField_;;){if(!this.nextField()){goog.asserts.fail("Unmatched start-group tag: stream EOF"),this.error_=!0;break}if(this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP){this.nextField_!=o&&(goog.asserts.fail("Unmatched end-group tag"),this.error_=!0);break}this.skipField()}},jspb.BinaryReader.prototype.skipField=function(){switch(this.nextWireType_){case jspb.BinaryConstants.WireType.VARINT:this.skipVarintField();break;case jspb.BinaryConstants.WireType.FIXED64:this.skipFixed64Field();break;case jspb.BinaryConstants.WireType.DELIMITED:this.skipDelimitedField();break;case jspb.BinaryConstants.WireType.FIXED32:this.skipFixed32Field();break;case jspb.BinaryConstants.WireType.START_GROUP:this.skipGroup();break;default:goog.asserts.fail("Invalid wire encoding for field.")}},jspb.BinaryReader.prototype.registerReadCallback=function(o,g){null===this.readCallbacks_&&(this.readCallbacks_={}),goog.asserts.assert(!this.readCallbacks_[o]),this.readCallbacks_[o]=g},jspb.BinaryReader.prototype.runReadCallback=function(o){return goog.asserts.assert(null!==this.readCallbacks_),goog.asserts.assert(o=this.readCallbacks_[o]),o(this)},jspb.BinaryReader.prototype.readAny=function(o){this.nextWireType_=jspb.BinaryConstants.FieldTypeToWireType(o);var g=jspb.BinaryConstants.FieldType;switch(o){case g.DOUBLE:return this.readDouble();case g.FLOAT:return this.readFloat();case g.INT64:return this.readInt64();case g.UINT64:return this.readUint64();case g.INT32:return this.readInt32();case g.FIXED64:return this.readFixed64();case g.FIXED32:return this.readFixed32();case g.BOOL:return this.readBool();case g.STRING:return this.readString();case g.GROUP:goog.asserts.fail("Group field type not supported in readAny()");case g.MESSAGE:goog.asserts.fail("Message field type not supported in readAny()");case g.BYTES:return this.readBytes();case g.UINT32:return this.readUint32();case g.ENUM:return this.readEnum();case g.SFIXED32:return this.readSfixed32();case g.SFIXED64:return this.readSfixed64();case g.SINT32:return this.readSint32();case g.SINT64:return this.readSint64();case g.FHASH64:return this.readFixedHash64();case g.VHASH64:return this.readVarintHash64();default:goog.asserts.fail("Invalid field type in readAny()")}return 0},jspb.BinaryReader.prototype.readMessage=function(o,g){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var n=this.decoder_.getEnd(),t=this.decoder_.readUnsignedVarint32();t=this.decoder_.getCursor()+t,this.decoder_.setEnd(t),g(o,this),this.decoder_.setCursor(t),this.decoder_.setEnd(n)},jspb.BinaryReader.prototype.readGroup=function(o,g,n){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.START_GROUP),goog.asserts.assert(this.nextField_==o),n(g,this),this.error_||this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP||(goog.asserts.fail("Group submessage did not end with an END_GROUP tag"),this.error_=!0)},jspb.BinaryReader.prototype.getFieldDecoder=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var o=this.decoder_.readUnsignedVarint32(),g=this.decoder_.getCursor(),n=g+o;return o=jspb.BinaryDecoder.alloc(this.decoder_.getBuffer(),g,o),this.decoder_.setCursor(n),o},jspb.BinaryReader.prototype.readInt32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint32()},jspb.BinaryReader.prototype.readInt32String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint32String()},jspb.BinaryReader.prototype.readInt64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64()},jspb.BinaryReader.prototype.readInt64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64String()},jspb.BinaryReader.prototype.readUint32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint32()},jspb.BinaryReader.prototype.readUint32String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint32String()},jspb.BinaryReader.prototype.readUint64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint64()},jspb.BinaryReader.prototype.readUint64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint64String()},jspb.BinaryReader.prototype.readSint32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint32()},jspb.BinaryReader.prototype.readSint64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint64()},jspb.BinaryReader.prototype.readSint64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint64String()},jspb.BinaryReader.prototype.readFixed32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readUint32()},jspb.BinaryReader.prototype.readFixed64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readUint64()},jspb.BinaryReader.prototype.readFixed64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readUint64String()},jspb.BinaryReader.prototype.readSfixed32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readInt32()},jspb.BinaryReader.prototype.readSfixed32String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readInt32().toString()},jspb.BinaryReader.prototype.readSfixed64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readInt64()},jspb.BinaryReader.prototype.readSfixed64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readInt64String()},jspb.BinaryReader.prototype.readFloat=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readFloat()},jspb.BinaryReader.prototype.readDouble=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readDouble()},jspb.BinaryReader.prototype.readBool=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),!!this.decoder_.readUnsignedVarint32()},jspb.BinaryReader.prototype.readEnum=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64()},jspb.BinaryReader.prototype.readString=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var o=this.decoder_.readUnsignedVarint32();return this.decoder_.readString(o)},jspb.BinaryReader.prototype.readBytes=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var o=this.decoder_.readUnsignedVarint32();return this.decoder_.readBytes(o)},jspb.BinaryReader.prototype.readVarintHash64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readVarintHash64()},jspb.BinaryReader.prototype.readSintHash64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarintHash64()},jspb.BinaryReader.prototype.readSplitVarint64=function(o){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSplitVarint64(o)},jspb.BinaryReader.prototype.readSplitZigzagVarint64=function(o){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSplitVarint64((function(g,n){return jspb.utils.fromZigzag64(g,n,o)}))},jspb.BinaryReader.prototype.readFixedHash64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readFixedHash64()},jspb.BinaryReader.prototype.readSplitFixed64=function(o){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readSplitFixed64(o)},jspb.BinaryReader.prototype.readPackedField_=function(o){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var g=this.decoder_.readUnsignedVarint32();g=this.decoder_.getCursor()+g;for(var n=[];this.decoder_.getCursor()<g;)n.push(o.call(this.decoder_));return n},jspb.BinaryReader.prototype.readPackedInt32=function(){return this.readPackedField_(this.decoder_.readSignedVarint32)},jspb.BinaryReader.prototype.readPackedInt32String=function(){return this.readPackedField_(this.decoder_.readSignedVarint32String)},jspb.BinaryReader.prototype.readPackedInt64=function(){return this.readPackedField_(this.decoder_.readSignedVarint64)},jspb.BinaryReader.prototype.readPackedInt64String=function(){return this.readPackedField_(this.decoder_.readSignedVarint64String)},jspb.BinaryReader.prototype.readPackedUint32=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint32)},jspb.BinaryReader.prototype.readPackedUint32String=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint32String)},jspb.BinaryReader.prototype.readPackedUint64=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint64)},jspb.BinaryReader.prototype.readPackedUint64String=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint64String)},jspb.BinaryReader.prototype.readPackedSint32=function(){return this.readPackedField_(this.decoder_.readZigzagVarint32)},jspb.BinaryReader.prototype.readPackedSint64=function(){return this.readPackedField_(this.decoder_.readZigzagVarint64)},jspb.BinaryReader.prototype.readPackedSint64String=function(){return this.readPackedField_(this.decoder_.readZigzagVarint64String)},jspb.BinaryReader.prototype.readPackedFixed32=function(){return this.readPackedField_(this.decoder_.readUint32)},jspb.BinaryReader.prototype.readPackedFixed64=function(){return this.readPackedField_(this.decoder_.readUint64)},jspb.BinaryReader.prototype.readPackedFixed64String=function(){return this.readPackedField_(this.decoder_.readUint64String)},jspb.BinaryReader.prototype.readPackedSfixed32=function(){return this.readPackedField_(this.decoder_.readInt32)},jspb.BinaryReader.prototype.readPackedSfixed64=function(){return this.readPackedField_(this.decoder_.readInt64)},jspb.BinaryReader.prototype.readPackedSfixed64String=function(){return this.readPackedField_(this.decoder_.readInt64String)},jspb.BinaryReader.prototype.readPackedFloat=function(){return this.readPackedField_(this.decoder_.readFloat)},jspb.BinaryReader.prototype.readPackedDouble=function(){return this.readPackedField_(this.decoder_.readDouble)},jspb.BinaryReader.prototype.readPackedBool=function(){return this.readPackedField_(this.decoder_.readBool)},jspb.BinaryReader.prototype.readPackedEnum=function(){return this.readPackedField_(this.decoder_.readEnum)},jspb.BinaryReader.prototype.readPackedVarintHash64=function(){return this.readPackedField_(this.decoder_.readVarintHash64)},jspb.BinaryReader.prototype.readPackedFixedHash64=function(){return this.readPackedField_(this.decoder_.readFixedHash64)},jspb.BinaryEncoder=function(){this.buffer_=[]},jspb.BinaryEncoder.prototype.length=function(){return this.buffer_.length},jspb.BinaryEncoder.prototype.end=function(){var o=this.buffer_;return this.buffer_=[],o},jspb.BinaryEncoder.prototype.writeSplitVarint64=function(o,g){for(goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(g==Math.floor(g)),goog.asserts.assert(0<=o&&o<jspb.BinaryConstants.TWO_TO_32),goog.asserts.assert(0<=g&&g<jspb.BinaryConstants.TWO_TO_32);0<g||127<o;)this.buffer_.push(127&o|128),o=(o>>>7|g<<25)>>>0,g>>>=7;this.buffer_.push(o)},jspb.BinaryEncoder.prototype.writeSplitFixed64=function(o,g){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(g==Math.floor(g)),goog.asserts.assert(0<=o&&o<jspb.BinaryConstants.TWO_TO_32),goog.asserts.assert(0<=g&&g<jspb.BinaryConstants.TWO_TO_32),this.writeUint32(o),this.writeUint32(g)},jspb.BinaryEncoder.prototype.writeUnsignedVarint32=function(o){for(goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&o<jspb.BinaryConstants.TWO_TO_32);127<o;)this.buffer_.push(127&o|128),o>>>=7;this.buffer_.push(o)},jspb.BinaryEncoder.prototype.writeSignedVarint32=function(o){if(goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&o<jspb.BinaryConstants.TWO_TO_31),0<=o)this.writeUnsignedVarint32(o);else{for(var g=0;9>g;g++)this.buffer_.push(127&o|128),o>>=7;this.buffer_.push(1)}},jspb.BinaryEncoder.prototype.writeUnsignedVarint64=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&o<jspb.BinaryConstants.TWO_TO_64),jspb.utils.splitInt64(o),this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)},jspb.BinaryEncoder.prototype.writeSignedVarint64=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_63&&o<jspb.BinaryConstants.TWO_TO_63),jspb.utils.splitInt64(o),this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)},jspb.BinaryEncoder.prototype.writeZigzagVarint32=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&o<jspb.BinaryConstants.TWO_TO_31),this.writeUnsignedVarint32((o<<1^o>>31)>>>0)},jspb.BinaryEncoder.prototype.writeZigzagVarint64=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_63&&o<jspb.BinaryConstants.TWO_TO_63),jspb.utils.splitZigzag64(o),this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)},jspb.BinaryEncoder.prototype.writeZigzagVarint64String=function(o){this.writeZigzagVarintHash64(jspb.utils.decimalStringToHash64(o))},jspb.BinaryEncoder.prototype.writeZigzagVarintHash64=function(o){var g=this;jspb.utils.splitHash64(o),jspb.utils.toZigzag64(jspb.utils.split64Low,jspb.utils.split64High,(function(o,n){g.writeSplitVarint64(o>>>0,n>>>0)}))},jspb.BinaryEncoder.prototype.writeUint8=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&256>o),this.buffer_.push(o>>>0&255)},jspb.BinaryEncoder.prototype.writeUint16=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&65536>o),this.buffer_.push(o>>>0&255),this.buffer_.push(o>>>8&255)},jspb.BinaryEncoder.prototype.writeUint32=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&o<jspb.BinaryConstants.TWO_TO_32),this.buffer_.push(o>>>0&255),this.buffer_.push(o>>>8&255),this.buffer_.push(o>>>16&255),this.buffer_.push(o>>>24&255)},jspb.BinaryEncoder.prototype.writeUint64=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&o<jspb.BinaryConstants.TWO_TO_64),jspb.utils.splitUint64(o),this.writeUint32(jspb.utils.split64Low),this.writeUint32(jspb.utils.split64High)},jspb.BinaryEncoder.prototype.writeInt8=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(-128<=o&&128>o),this.buffer_.push(o>>>0&255)},jspb.BinaryEncoder.prototype.writeInt16=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(-32768<=o&&32768>o),this.buffer_.push(o>>>0&255),this.buffer_.push(o>>>8&255)},jspb.BinaryEncoder.prototype.writeInt32=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&o<jspb.BinaryConstants.TWO_TO_31),this.buffer_.push(o>>>0&255),this.buffer_.push(o>>>8&255),this.buffer_.push(o>>>16&255),this.buffer_.push(o>>>24&255)},jspb.BinaryEncoder.prototype.writeInt64=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_63&&o<jspb.BinaryConstants.TWO_TO_63),jspb.utils.splitInt64(o),this.writeSplitFixed64(jspb.utils.split64Low,jspb.utils.split64High)},jspb.BinaryEncoder.prototype.writeInt64String=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(+o>=-jspb.BinaryConstants.TWO_TO_63&&+o<jspb.BinaryConstants.TWO_TO_63),jspb.utils.splitHash64(jspb.utils.decimalStringToHash64(o)),this.writeSplitFixed64(jspb.utils.split64Low,jspb.utils.split64High)},jspb.BinaryEncoder.prototype.writeFloat=function(o){goog.asserts.assert(1/0===o||-1/0===o||isNaN(o)||o>=-jspb.BinaryConstants.FLOAT32_MAX&&o<=jspb.BinaryConstants.FLOAT32_MAX),jspb.utils.splitFloat32(o),this.writeUint32(jspb.utils.split64Low)},jspb.BinaryEncoder.prototype.writeDouble=function(o){goog.asserts.assert(1/0===o||-1/0===o||isNaN(o)||o>=-jspb.BinaryConstants.FLOAT64_MAX&&o<=jspb.BinaryConstants.FLOAT64_MAX),jspb.utils.splitFloat64(o),this.writeUint32(jspb.utils.split64Low),this.writeUint32(jspb.utils.split64High)},jspb.BinaryEncoder.prototype.writeBool=function(o){goog.asserts.assert("boolean"==typeof o||"number"==typeof o),this.buffer_.push(o?1:0)},jspb.BinaryEncoder.prototype.writeEnum=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&o<jspb.BinaryConstants.TWO_TO_31),this.writeSignedVarint32(o)},jspb.BinaryEncoder.prototype.writeBytes=function(o){this.buffer_.push.apply(this.buffer_,o)},jspb.BinaryEncoder.prototype.writeVarintHash64=function(o){jspb.utils.splitHash64(o),this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)},jspb.BinaryEncoder.prototype.writeFixedHash64=function(o){jspb.utils.splitHash64(o),this.writeUint32(jspb.utils.split64Low),this.writeUint32(jspb.utils.split64High)},jspb.BinaryEncoder.prototype.writeString=function(o){for(var g=this.buffer_.length,n=0;n<o.length;n++){var t=o.charCodeAt(n);if(128>t)this.buffer_.push(t);else if(2048>t)this.buffer_.push(t>>6|192),this.buffer_.push(63&t|128);else if(65536>t)if(55296<=t&&56319>=t&&n+1<o.length){var r=o.charCodeAt(n+1);56320<=r&&57343>=r&&(this.buffer_.push((t=1024*(t-55296)+r-56320+65536)>>18|240),this.buffer_.push(t>>12&63|128),this.buffer_.push(t>>6&63|128),this.buffer_.push(63&t|128),n++)}else this.buffer_.push(t>>12|224),this.buffer_.push(t>>6&63|128),this.buffer_.push(63&t|128)}return this.buffer_.length-g},jspb.arith={},jspb.arith.UInt64=function(o,g){this.lo=o,this.hi=g},jspb.arith.UInt64.prototype.cmp=function(o){return this.hi<o.hi||this.hi==o.hi&&this.lo<o.lo?-1:this.hi==o.hi&&this.lo==o.lo?0:1},jspb.arith.UInt64.prototype.rightShift=function(){return new jspb.arith.UInt64((this.lo>>>1|(1&this.hi)<<31)>>>0,this.hi>>>1>>>0)},jspb.arith.UInt64.prototype.leftShift=function(){return new jspb.arith.UInt64(this.lo<<1>>>0,(this.hi<<1|this.lo>>>31)>>>0)},jspb.arith.UInt64.prototype.msb=function(){return!!(2147483648&this.hi)},jspb.arith.UInt64.prototype.lsb=function(){return!!(1&this.lo)},jspb.arith.UInt64.prototype.zero=function(){return 0==this.lo&&0==this.hi},jspb.arith.UInt64.prototype.add=function(o){return new jspb.arith.UInt64((this.lo+o.lo&4294967295)>>>0>>>0,((this.hi+o.hi&4294967295)>>>0)+(4294967296<=this.lo+o.lo?1:0)>>>0)},jspb.arith.UInt64.prototype.sub=function(o){return new jspb.arith.UInt64((this.lo-o.lo&4294967295)>>>0>>>0,((this.hi-o.hi&4294967295)>>>0)-(0>this.lo-o.lo?1:0)>>>0)},jspb.arith.UInt64.mul32x32=function(o,g){var n=65535&o,t=65535&g,r=g>>>16;for(g=n*t+65536*(n*r&65535)+65536*((o>>>=16)*t&65535),n=o*r+(n*r>>>16)+(o*t>>>16);4294967296<=g;)g-=4294967296,n+=1;return new jspb.arith.UInt64(g>>>0,n>>>0)},jspb.arith.UInt64.prototype.mul=function(o){var g=jspb.arith.UInt64.mul32x32(this.lo,o);return(o=jspb.arith.UInt64.mul32x32(this.hi,o)).hi=o.lo,o.lo=0,g.add(o)},jspb.arith.UInt64.prototype.div=function(o){if(0==o)return[];var g=new jspb.arith.UInt64(0,0),n=new jspb.arith.UInt64(this.lo,this.hi);o=new jspb.arith.UInt64(o,0);for(var t=new jspb.arith.UInt64(1,0);!o.msb();)o=o.leftShift(),t=t.leftShift();for(;!t.zero();)0>=o.cmp(n)&&(g=g.add(t),n=n.sub(o)),o=o.rightShift(),t=t.rightShift();return[g,n]},jspb.arith.UInt64.prototype.toString=function(){for(var o="",g=this;!g.zero();)o=(g=g.div(10))[1].lo+o,g=g[0];return""==o&&(o="0"),o},jspb.arith.UInt64.fromString=function(o){for(var g=new jspb.arith.UInt64(0,0),n=new jspb.arith.UInt64(0,0),t=0;t<o.length;t++){if("0">o[t]||"9"<o[t])return null;var r=parseInt(o[t],10);n.lo=r,g=g.mul(10).add(n)}return g},jspb.arith.UInt64.prototype.clone=function(){return new jspb.arith.UInt64(this.lo,this.hi)},jspb.arith.Int64=function(o,g){this.lo=o,this.hi=g},jspb.arith.Int64.prototype.add=function(o){return new jspb.arith.Int64((this.lo+o.lo&4294967295)>>>0>>>0,((this.hi+o.hi&4294967295)>>>0)+(4294967296<=this.lo+o.lo?1:0)>>>0)},jspb.arith.Int64.prototype.sub=function(o){return new jspb.arith.Int64((this.lo-o.lo&4294967295)>>>0>>>0,((this.hi-o.hi&4294967295)>>>0)-(0>this.lo-o.lo?1:0)>>>0)},jspb.arith.Int64.prototype.clone=function(){return new jspb.arith.Int64(this.lo,this.hi)},jspb.arith.Int64.prototype.toString=function(){var o=0!=(2147483648&this.hi),g=new jspb.arith.UInt64(this.lo,this.hi);return o&&(g=new jspb.arith.UInt64(0,0).sub(g)),(o?"-":"")+g.toString()},jspb.arith.Int64.fromString=function(o){var g=0<o.length&&"-"==o[0];return g&&(o=o.substring(1)),null===(o=jspb.arith.UInt64.fromString(o))?null:(g&&(o=new jspb.arith.UInt64(0,0).sub(o)),new jspb.arith.Int64(o.lo,o.hi))},jspb.BinaryWriter=function(){this.blocks_=[],this.totalLength_=0,this.encoder_=new jspb.BinaryEncoder,this.bookmarks_=[]},jspb.BinaryWriter.prototype.appendUint8Array_=function(o){var g=this.encoder_.end();this.blocks_.push(g),this.blocks_.push(o),this.totalLength_+=g.length+o.length},jspb.BinaryWriter.prototype.beginDelimited_=function(o){return this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),o=this.encoder_.end(),this.blocks_.push(o),this.totalLength_+=o.length,o.push(this.totalLength_),o},jspb.BinaryWriter.prototype.endDelimited_=function(o){var g=o.pop();for(g=this.totalLength_+this.encoder_.length()-g,goog.asserts.assert(0<=g);127<g;)o.push(127&g|128),g>>>=7,this.totalLength_++;o.push(g),this.totalLength_++},jspb.BinaryWriter.prototype.writeSerializedMessage=function(o,g,n){this.appendUint8Array_(o.subarray(g,n))},jspb.BinaryWriter.prototype.maybeWriteSerializedMessage=function(o,g,n){null!=o&&null!=g&&null!=n&&this.writeSerializedMessage(o,g,n)},jspb.BinaryWriter.prototype.reset=function(){this.blocks_=[],this.encoder_.end(),this.totalLength_=0,this.bookmarks_=[]},jspb.BinaryWriter.prototype.getResultBuffer=function(){goog.asserts.assert(0==this.bookmarks_.length);for(var o=new Uint8Array(this.totalLength_+this.encoder_.length()),g=this.blocks_,n=g.length,t=0,r=0;r<n;r++){var i=g[r];o.set(i,t),t+=i.length}return g=this.encoder_.end(),o.set(g,t),goog.asserts.assert((t+=g.length)==o.length),this.blocks_=[o],o},jspb.BinaryWriter.prototype.getResultBase64String=function(o){return goog.crypt.base64.encodeByteArray(this.getResultBuffer(),o)},jspb.BinaryWriter.prototype.beginSubMessage=function(o){this.bookmarks_.push(this.beginDelimited_(o))},jspb.BinaryWriter.prototype.endSubMessage=function(){goog.asserts.assert(0<=this.bookmarks_.length),this.endDelimited_(this.bookmarks_.pop())},jspb.BinaryWriter.prototype.writeFieldHeader_=function(o,g){goog.asserts.assert(1<=o&&o==Math.floor(o)),this.encoder_.writeUnsignedVarint32(8*o+g)},jspb.BinaryWriter.prototype.writeAny=function(o,g,n){var t=jspb.BinaryConstants.FieldType;switch(o){case t.DOUBLE:this.writeDouble(g,n);break;case t.FLOAT:this.writeFloat(g,n);break;case t.INT64:this.writeInt64(g,n);break;case t.UINT64:this.writeUint64(g,n);break;case t.INT32:this.writeInt32(g,n);break;case t.FIXED64:this.writeFixed64(g,n);break;case t.FIXED32:this.writeFixed32(g,n);break;case t.BOOL:this.writeBool(g,n);break;case t.STRING:this.writeString(g,n);break;case t.GROUP:goog.asserts.fail("Group field type not supported in writeAny()");break;case t.MESSAGE:goog.asserts.fail("Message field type not supported in writeAny()");break;case t.BYTES:this.writeBytes(g,n);break;case t.UINT32:this.writeUint32(g,n);break;case t.ENUM:this.writeEnum(g,n);break;case t.SFIXED32:this.writeSfixed32(g,n);break;case t.SFIXED64:this.writeSfixed64(g,n);break;case t.SINT32:this.writeSint32(g,n);break;case t.SINT64:this.writeSint64(g,n);break;case t.FHASH64:this.writeFixedHash64(g,n);break;case t.VHASH64:this.writeVarintHash64(g,n);break;default:goog.asserts.fail("Invalid field type in writeAny()")}},jspb.BinaryWriter.prototype.writeUnsignedVarint32_=function(o,g){null!=g&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeUnsignedVarint32(g))},jspb.BinaryWriter.prototype.writeSignedVarint32_=function(o,g){null!=g&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint32(g))},jspb.BinaryWriter.prototype.writeUnsignedVarint64_=function(o,g){null!=g&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeUnsignedVarint64(g))},jspb.BinaryWriter.prototype.writeSignedVarint64_=function(o,g){null!=g&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint64(g))},jspb.BinaryWriter.prototype.writeZigzagVarint32_=function(o,g){null!=g&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint32(g))},jspb.BinaryWriter.prototype.writeZigzagVarint64_=function(o,g){null!=g&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint64(g))},jspb.BinaryWriter.prototype.writeZigzagVarint64String_=function(o,g){null!=g&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint64String(g))},jspb.BinaryWriter.prototype.writeZigzagVarintHash64_=function(o,g){null!=g&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarintHash64(g))},jspb.BinaryWriter.prototype.writeInt32=function(o,g){null!=g&&(goog.asserts.assert(g>=-jspb.BinaryConstants.TWO_TO_31&&g<jspb.BinaryConstants.TWO_TO_31),this.writeSignedVarint32_(o,g))},jspb.BinaryWriter.prototype.writeInt32String=function(o,g){null!=g&&(g=parseInt(g,10),goog.asserts.assert(g>=-jspb.BinaryConstants.TWO_TO_31&&g<jspb.BinaryConstants.TWO_TO_31),this.writeSignedVarint32_(o,g))},jspb.BinaryWriter.prototype.writeInt64=function(o,g){null!=g&&(goog.asserts.assert(g>=-jspb.BinaryConstants.TWO_TO_63&&g<jspb.BinaryConstants.TWO_TO_63),this.writeSignedVarint64_(o,g))},jspb.BinaryWriter.prototype.writeInt64String=function(o,g){null!=g&&(g=jspb.arith.Int64.fromString(g),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSplitVarint64(g.lo,g.hi))},jspb.BinaryWriter.prototype.writeUint32=function(o,g){null!=g&&(goog.asserts.assert(0<=g&&g<jspb.BinaryConstants.TWO_TO_32),this.writeUnsignedVarint32_(o,g))},jspb.BinaryWriter.prototype.writeUint32String=function(o,g){null!=g&&(g=parseInt(g,10),goog.asserts.assert(0<=g&&g<jspb.BinaryConstants.TWO_TO_32),this.writeUnsignedVarint32_(o,g))},jspb.BinaryWriter.prototype.writeUint64=function(o,g){null!=g&&(goog.asserts.assert(0<=g&&g<jspb.BinaryConstants.TWO_TO_64),this.writeUnsignedVarint64_(o,g))},jspb.BinaryWriter.prototype.writeUint64String=function(o,g){null!=g&&(g=jspb.arith.UInt64.fromString(g),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSplitVarint64(g.lo,g.hi))},jspb.BinaryWriter.prototype.writeSint32=function(o,g){null!=g&&(goog.asserts.assert(g>=-jspb.BinaryConstants.TWO_TO_31&&g<jspb.BinaryConstants.TWO_TO_31),this.writeZigzagVarint32_(o,g))},jspb.BinaryWriter.prototype.writeSint64=function(o,g){null!=g&&(goog.asserts.assert(g>=-jspb.BinaryConstants.TWO_TO_63&&g<jspb.BinaryConstants.TWO_TO_63),this.writeZigzagVarint64_(o,g))},jspb.BinaryWriter.prototype.writeSintHash64=function(o,g){null!=g&&this.writeZigzagVarintHash64_(o,g)},jspb.BinaryWriter.prototype.writeSint64String=function(o,g){null!=g&&this.writeZigzagVarint64String_(o,g)},jspb.BinaryWriter.prototype.writeFixed32=function(o,g){null!=g&&(goog.asserts.assert(0<=g&&g<jspb.BinaryConstants.TWO_TO_32),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED32),this.encoder_.writeUint32(g))},jspb.BinaryWriter.prototype.writeFixed64=function(o,g){null!=g&&(goog.asserts.assert(0<=g&&g<jspb.BinaryConstants.TWO_TO_64),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeUint64(g))},jspb.BinaryWriter.prototype.writeFixed64String=function(o,g){null!=g&&(g=jspb.arith.UInt64.fromString(g),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeSplitFixed64(g.lo,g.hi))},jspb.BinaryWriter.prototype.writeSfixed32=function(o,g){null!=g&&(goog.asserts.assert(g>=-jspb.BinaryConstants.TWO_TO_31&&g<jspb.BinaryConstants.TWO_TO_31),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED32),this.encoder_.writeInt32(g))},jspb.BinaryWriter.prototype.writeSfixed64=function(o,g){null!=g&&(goog.asserts.assert(g>=-jspb.BinaryConstants.TWO_TO_63&&g<jspb.BinaryConstants.TWO_TO_63),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeInt64(g))},jspb.BinaryWriter.prototype.writeSfixed64String=function(o,g){null!=g&&(g=jspb.arith.Int64.fromString(g),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeSplitFixed64(g.lo,g.hi))},jspb.BinaryWriter.prototype.writeFloat=function(o,g){null!=g&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED32),this.encoder_.writeFloat(g))},jspb.BinaryWriter.prototype.writeDouble=function(o,g){null!=g&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeDouble(g))},jspb.BinaryWriter.prototype.writeBool=function(o,g){null!=g&&(goog.asserts.assert("boolean"==typeof g||"number"==typeof g),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeBool(g))},jspb.BinaryWriter.prototype.writeEnum=function(o,g){null!=g&&(goog.asserts.assert(g>=-jspb.BinaryConstants.TWO_TO_31&&g<jspb.BinaryConstants.TWO_TO_31),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint32(g))},jspb.BinaryWriter.prototype.writeString=function(o,g){null!=g&&(o=this.beginDelimited_(o),this.encoder_.writeString(g),this.endDelimited_(o))},jspb.BinaryWriter.prototype.writeBytes=function(o,g){null!=g&&(g=jspb.utils.byteSourceToUint8Array(g),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(g.length),this.appendUint8Array_(g))},jspb.BinaryWriter.prototype.writeMessage=function(o,g,n){null!=g&&(o=this.beginDelimited_(o),n(g,this),this.endDelimited_(o))},jspb.BinaryWriter.prototype.writeMessageSet=function(o,g,n){null!=g&&(this.writeFieldHeader_(1,jspb.BinaryConstants.WireType.START_GROUP),this.writeFieldHeader_(2,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint32(o),o=this.beginDelimited_(3),n(g,this),this.endDelimited_(o),this.writeFieldHeader_(1,jspb.BinaryConstants.WireType.END_GROUP))},jspb.BinaryWriter.prototype.writeGroup=function(o,g,n){null!=g&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.START_GROUP),n(g,this),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.END_GROUP))},jspb.BinaryWriter.prototype.writeFixedHash64=function(o,g){null!=g&&(goog.asserts.assert(8==g.length),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeFixedHash64(g))},jspb.BinaryWriter.prototype.writeVarintHash64=function(o,g){null!=g&&(goog.asserts.assert(8==g.length),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeVarintHash64(g))},jspb.BinaryWriter.prototype.writeSplitFixed64=function(o,g,n){this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeSplitFixed64(g,n)},jspb.BinaryWriter.prototype.writeSplitVarint64=function(o,g,n){this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSplitVarint64(g,n)},jspb.BinaryWriter.prototype.writeSplitZigzagVarint64=function(o,g,n){this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT);var t=this.encoder_;jspb.utils.toZigzag64(g,n,(function(o,g){t.writeSplitVarint64(o>>>0,g>>>0)}))},jspb.BinaryWriter.prototype.writeRepeatedInt32=function(o,g){if(null!=g)for(var n=0;n<g.length;n++)this.writeSignedVarint32_(o,g[n])},jspb.BinaryWriter.prototype.writeRepeatedInt32String=function(o,g){if(null!=g)for(var n=0;n<g.length;n++)this.writeInt32String(o,g[n])},jspb.BinaryWriter.prototype.writeRepeatedInt64=function(o,g){if(null!=g)for(var n=0;n<g.length;n++)this.writeSignedVarint64_(o,g[n])},jspb.BinaryWriter.prototype.writeRepeatedSplitFixed64=function(o,g,n,t){if(null!=g)for(var r=0;r<g.length;r++)this.writeSplitFixed64(o,n(g[r]),t(g[r]))},jspb.BinaryWriter.prototype.writeRepeatedSplitVarint64=function(o,g,n,t){if(null!=g)for(var r=0;r<g.length;r++)this.writeSplitVarint64(o,n(g[r]),t(g[r]))},jspb.BinaryWriter.prototype.writeRepeatedSplitZigzagVarint64=function(o,g,n,t){if(null!=g)for(var r=0;r<g.length;r++)this.writeSplitZigzagVarint64(o,n(g[r]),t(g[r]))},jspb.BinaryWriter.prototype.writeRepeatedInt64String=function(o,g){if(null!=g)for(var n=0;n<g.length;n++)this.writeInt64String(o,g[n])},jspb.BinaryWriter.prototype.writeRepeatedUint32=function(o,g){if(null!=g)for(var n=0;n<g.length;n++)this.writeUnsignedVarint32_(o,g[n])},jspb.BinaryWriter.prototype.writeRepeatedUint32String=function(o,g){if(null!=g)for(var n=0;n<g.length;n++)this.writeUint32String(o,g[n])},jspb.BinaryWriter.prototype.writeRepeatedUint64=function(o,g){if(null!=g)for(var n=0;n<g.length;n++)this.writeUnsignedVarint64_(o,g[n])},jspb.BinaryWriter.prototype.writeRepeatedUint64String=function(o,g){if(null!=g)for(var n=0;n<g.length;n++)this.writeUint64String(o,g[n])},jspb.BinaryWriter.prototype.writeRepeatedSint32=function(o,g){if(null!=g)for(var n=0;n<g.length;n++)this.writeZigzagVarint32_(o,g[n])},jspb.BinaryWriter.prototype.writeRepeatedSint64=function(o,g){if(null!=g)for(var n=0;n<g.length;n++)this.writeZigzagVarint64_(o,g[n])},jspb.BinaryWriter.prototype.writeRepeatedSint64String=function(o,g){if(null!=g)for(var n=0;n<g.length;n++)this.writeZigzagVarint64String_(o,g[n])},jspb.BinaryWriter.prototype.writeRepeatedSintHash64=function(o,g){if(null!=g)for(var n=0;n<g.length;n++)this.writeZigzagVarintHash64_(o,g[n])},jspb.BinaryWriter.prototype.writeRepeatedFixed32=function(o,g){if(null!=g)for(var n=0;n<g.length;n++)this.writeFixed32(o,g[n])},jspb.BinaryWriter.prototype.writeRepeatedFixed64=function(o,g){if(null!=g)for(var n=0;n<g.length;n++)this.writeFixed64(o,g[n])},jspb.BinaryWriter.prototype.writeRepeatedFixed64String=function(o,g){if(null!=g)for(var n=0;n<g.length;n++)this.writeFixed64String(o,g[n])},jspb.BinaryWriter.prototype.writeRepeatedSfixed32=function(o,g){if(null!=g)for(var n=0;n<g.length;n++)this.writeSfixed32(o,g[n])},jspb.BinaryWriter.prototype.writeRepeatedSfixed64=function(o,g){if(null!=g)for(var n=0;n<g.length;n++)this.writeSfixed64(o,g[n])},jspb.BinaryWriter.prototype.writeRepeatedSfixed64String=function(o,g){if(null!=g)for(var n=0;n<g.length;n++)this.writeSfixed64String(o,g[n])},jspb.BinaryWriter.prototype.writeRepeatedFloat=function(o,g){if(null!=g)for(var n=0;n<g.length;n++)this.writeFloat(o,g[n])},jspb.BinaryWriter.prototype.writeRepeatedDouble=function(o,g){if(null!=g)for(var n=0;n<g.length;n++)this.writeDouble(o,g[n])},jspb.BinaryWriter.prototype.writeRepeatedBool=function(o,g){if(null!=g)for(var n=0;n<g.length;n++)this.writeBool(o,g[n])},jspb.BinaryWriter.prototype.writeRepeatedEnum=function(o,g){if(null!=g)for(var n=0;n<g.length;n++)this.writeEnum(o,g[n])},jspb.BinaryWriter.prototype.writeRepeatedString=function(o,g){if(null!=g)for(var n=0;n<g.length;n++)this.writeString(o,g[n])},jspb.BinaryWriter.prototype.writeRepeatedBytes=function(o,g){if(null!=g)for(var n=0;n<g.length;n++)this.writeBytes(o,g[n])},jspb.BinaryWriter.prototype.writeRepeatedMessage=function(o,g,n){if(null!=g)for(var t=0;t<g.length;t++){var r=this.beginDelimited_(o);n(g[t],this),this.endDelimited_(r)}},jspb.BinaryWriter.prototype.writeRepeatedGroup=function(o,g,n){if(null!=g)for(var t=0;t<g.length;t++)this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.START_GROUP),n(g[t],this),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.END_GROUP)},jspb.BinaryWriter.prototype.writeRepeatedFixedHash64=function(o,g){if(null!=g)for(var n=0;n<g.length;n++)this.writeFixedHash64(o,g[n])},jspb.BinaryWriter.prototype.writeRepeatedVarintHash64=function(o,g){if(null!=g)for(var n=0;n<g.length;n++)this.writeVarintHash64(o,g[n])},jspb.BinaryWriter.prototype.writePackedInt32=function(o,g){if(null!=g&&g.length){o=this.beginDelimited_(o);for(var n=0;n<g.length;n++)this.encoder_.writeSignedVarint32(g[n]);this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedInt32String=function(o,g){if(null!=g&&g.length){o=this.beginDelimited_(o);for(var n=0;n<g.length;n++)this.encoder_.writeSignedVarint32(parseInt(g[n],10));this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedInt64=function(o,g){if(null!=g&&g.length){o=this.beginDelimited_(o);for(var n=0;n<g.length;n++)this.encoder_.writeSignedVarint64(g[n]);this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedSplitFixed64=function(o,g,n,t){if(null!=g){o=this.beginDelimited_(o);for(var r=0;r<g.length;r++)this.encoder_.writeSplitFixed64(n(g[r]),t(g[r]));this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedSplitVarint64=function(o,g,n,t){if(null!=g){o=this.beginDelimited_(o);for(var r=0;r<g.length;r++)this.encoder_.writeSplitVarint64(n(g[r]),t(g[r]));this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedSplitZigzagVarint64=function(o,g,n,t){if(null!=g){o=this.beginDelimited_(o);for(var r=this.encoder_,i=0;i<g.length;i++)jspb.utils.toZigzag64(n(g[i]),t(g[i]),(function(o,g){r.writeSplitVarint64(o>>>0,g>>>0)}));this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedInt64String=function(o,g){if(null!=g&&g.length){o=this.beginDelimited_(o);for(var n=0;n<g.length;n++){var t=jspb.arith.Int64.fromString(g[n]);this.encoder_.writeSplitVarint64(t.lo,t.hi)}this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedUint32=function(o,g){if(null!=g&&g.length){o=this.beginDelimited_(o);for(var n=0;n<g.length;n++)this.encoder_.writeUnsignedVarint32(g[n]);this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedUint32String=function(o,g){if(null!=g&&g.length){o=this.beginDelimited_(o);for(var n=0;n<g.length;n++)this.encoder_.writeUnsignedVarint32(parseInt(g[n],10));this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedUint64=function(o,g){if(null!=g&&g.length){o=this.beginDelimited_(o);for(var n=0;n<g.length;n++)this.encoder_.writeUnsignedVarint64(g[n]);this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedUint64String=function(o,g){if(null!=g&&g.length){o=this.beginDelimited_(o);for(var n=0;n<g.length;n++){var t=jspb.arith.UInt64.fromString(g[n]);this.encoder_.writeSplitVarint64(t.lo,t.hi)}this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedSint32=function(o,g){if(null!=g&&g.length){o=this.beginDelimited_(o);for(var n=0;n<g.length;n++)this.encoder_.writeZigzagVarint32(g[n]);this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedSint64=function(o,g){if(null!=g&&g.length){o=this.beginDelimited_(o);for(var n=0;n<g.length;n++)this.encoder_.writeZigzagVarint64(g[n]);this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedSint64String=function(o,g){if(null!=g&&g.length){o=this.beginDelimited_(o);for(var n=0;n<g.length;n++)this.encoder_.writeZigzagVarintHash64(jspb.utils.decimalStringToHash64(g[n]));this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedSintHash64=function(o,g){if(null!=g&&g.length){o=this.beginDelimited_(o);for(var n=0;n<g.length;n++)this.encoder_.writeZigzagVarintHash64(g[n]);this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedFixed32=function(o,g){if(null!=g&&g.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(4*g.length),o=0;o<g.length;o++)this.encoder_.writeUint32(g[o])},jspb.BinaryWriter.prototype.writePackedFixed64=function(o,g){if(null!=g&&g.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*g.length),o=0;o<g.length;o++)this.encoder_.writeUint64(g[o])},jspb.BinaryWriter.prototype.writePackedFixed64String=function(o,g){if(null!=g&&g.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*g.length),o=0;o<g.length;o++){var n=jspb.arith.UInt64.fromString(g[o]);this.encoder_.writeSplitFixed64(n.lo,n.hi)}},jspb.BinaryWriter.prototype.writePackedSfixed32=function(o,g){if(null!=g&&g.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(4*g.length),o=0;o<g.length;o++)this.encoder_.writeInt32(g[o])},jspb.BinaryWriter.prototype.writePackedSfixed64=function(o,g){if(null!=g&&g.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*g.length),o=0;o<g.length;o++)this.encoder_.writeInt64(g[o])},jspb.BinaryWriter.prototype.writePackedSfixed64String=function(o,g){if(null!=g&&g.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*g.length),o=0;o<g.length;o++)this.encoder_.writeInt64String(g[o])},jspb.BinaryWriter.prototype.writePackedFloat=function(o,g){if(null!=g&&g.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(4*g.length),o=0;o<g.length;o++)this.encoder_.writeFloat(g[o])},jspb.BinaryWriter.prototype.writePackedDouble=function(o,g){if(null!=g&&g.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*g.length),o=0;o<g.length;o++)this.encoder_.writeDouble(g[o])},jspb.BinaryWriter.prototype.writePackedBool=function(o,g){if(null!=g&&g.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(g.length),o=0;o<g.length;o++)this.encoder_.writeBool(g[o])},jspb.BinaryWriter.prototype.writePackedEnum=function(o,g){if(null!=g&&g.length){o=this.beginDelimited_(o);for(var n=0;n<g.length;n++)this.encoder_.writeEnum(g[n]);this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedFixedHash64=function(o,g){if(null!=g&&g.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*g.length),o=0;o<g.length;o++)this.encoder_.writeFixedHash64(g[o])},jspb.BinaryWriter.prototype.writePackedVarintHash64=function(o,g){if(null!=g&&g.length){o=this.beginDelimited_(o);for(var n=0;n<g.length;n++)this.encoder_.writeVarintHash64(g[n]);this.endDelimited_(o)}},jspb.Map=function(o,g){this.arr_=o,this.valueCtor_=g,this.map_={},this.arrClean=!0,0<this.arr_.length&&this.loadFromArray_()},jspb.Map.prototype.loadFromArray_=function(){for(var o=0;o<this.arr_.length;o++){var g=this.arr_[o],n=g[0];this.map_[n.toString()]=new jspb.Map.Entry_(n,g[1])}this.arrClean=!0},jspb.Map.prototype.toArray=function(){if(this.arrClean){if(this.valueCtor_){var o,g=this.map_;for(o in g)if(Object.prototype.hasOwnProperty.call(g,o)){var n=g[o].valueWrapper;n&&n.toArray()}}}else{for(this.arr_.length=0,(g=this.stringKeys_()).sort(),o=0;o<g.length;o++){var t=this.map_[g[o]];(n=t.valueWrapper)&&n.toArray(),this.arr_.push([t.key,t.value])}this.arrClean=!0}return this.arr_},jspb.Map.prototype.toObject=function(o,g){for(var n=this.toArray(),t=[],r=0;r<n.length;r++){var i=this.map_[n[r][0].toString()];this.wrapEntry_(i);var e=i.valueWrapper;e?(goog.asserts.assert(g),t.push([i.key,g(o,e)])):t.push([i.key,i.value])}return t},jspb.Map.fromObject=function(o,g,n){g=new jspb.Map([],g);for(var t=0;t<o.length;t++){var r=o[t][0],i=n(o[t][1]);g.set(r,i)}return g},jspb.Map.ArrayIteratorIterable_=function(o){this.idx_=0,this.arr_=o},jspb.Map.ArrayIteratorIterable_.prototype.next=function(){return this.idx_<this.arr_.length?{done:!1,value:this.arr_[this.idx_++]}:{done:!0,value:void 0}},"undefined"!=typeof Symbol&&(jspb.Map.ArrayIteratorIterable_.prototype[Symbol.iterator]=function(){return this}),jspb.Map.prototype.getLength=function(){return this.stringKeys_().length},jspb.Map.prototype.clear=function(){this.map_={},this.arrClean=!1},jspb.Map.prototype.del=function(o){o=o.toString();var g=this.map_.hasOwnProperty(o);return delete this.map_[o],this.arrClean=!1,g},jspb.Map.prototype.getEntryList=function(){var o=[],g=this.stringKeys_();g.sort();for(var n=0;n<g.length;n++){var t=this.map_[g[n]];o.push([t.key,t.value])}return o},jspb.Map.prototype.entries=function(){var o=[],g=this.stringKeys_();g.sort();for(var n=0;n<g.length;n++){var t=this.map_[g[n]];o.push([t.key,this.wrapEntry_(t)])}return new jspb.Map.ArrayIteratorIterable_(o)},jspb.Map.prototype.keys=function(){var o=[],g=this.stringKeys_();g.sort();for(var n=0;n<g.length;n++)o.push(this.map_[g[n]].key);return new jspb.Map.ArrayIteratorIterable_(o)},jspb.Map.prototype.values=function(){var o=[],g=this.stringKeys_();g.sort();for(var n=0;n<g.length;n++)o.push(this.wrapEntry_(this.map_[g[n]]));return new jspb.Map.ArrayIteratorIterable_(o)},jspb.Map.prototype.forEach=function(o,g){var n=this.stringKeys_();n.sort();for(var t=0;t<n.length;t++){var r=this.map_[n[t]];o.call(g,this.wrapEntry_(r),r.key,this)}},jspb.Map.prototype.set=function(o,g){var n=new jspb.Map.Entry_(o);return this.valueCtor_?(n.valueWrapper=g,n.value=g.toArray()):n.value=g,this.map_[o.toString()]=n,this.arrClean=!1,this},jspb.Map.prototype.wrapEntry_=function(o){return this.valueCtor_?(o.valueWrapper||(o.valueWrapper=new this.valueCtor_(o.value)),o.valueWrapper):o.value},jspb.Map.prototype.get=function(o){if(o=this.map_[o.toString()])return this.wrapEntry_(o)},jspb.Map.prototype.has=function(o){return o.toString()in this.map_},jspb.Map.prototype.serializeBinary=function(o,g,n,t,r){var i=this.stringKeys_();i.sort();for(var e=0;e<i.length;e++){var u=this.map_[i[e]];g.beginSubMessage(o),n.call(g,1,u.key),this.valueCtor_?t.call(g,2,this.wrapEntry_(u),r):t.call(g,2,u.value),g.endSubMessage()}},jspb.Map.deserializeBinary=function(o,g,n,t,r,i,e){for(;g.nextField()&&!g.isEndGroup();){var u=g.getFieldNumber();1==u?i=n.call(g):2==u&&(o.valueCtor_?(goog.asserts.assert(r),e||(e=new o.valueCtor_),t.call(g,e,r)):e=t.call(g))}goog.asserts.assert(null!=i),goog.asserts.assert(null!=e),o.set(i,e)},jspb.Map.prototype.stringKeys_=function(){var o,g=this.map_,n=[];for(o in g)Object.prototype.hasOwnProperty.call(g,o)&&n.push(o);return n},jspb.Map.Entry_=function(o,g){this.key=o,this.value=g,this.valueWrapper=void 0},jspb.ExtensionFieldInfo=function(o,g,n,t,r){this.fieldIndex=o,this.fieldName=g,this.ctor=n,this.toObjectFn=t,this.isRepeated=r},jspb.ExtensionFieldBinaryInfo=function(o,g,n,t,r,i){this.fieldInfo=o,this.binaryReaderFn=g,this.binaryWriterFn=n,this.binaryMessageSerializeFn=t,this.binaryMessageDeserializeFn=r,this.isPacked=i},jspb.ExtensionFieldInfo.prototype.isMessageType=function(){return!!this.ctor},jspb.Message=function(){},jspb.Message.GENERATE_TO_OBJECT=!0,jspb.Message.GENERATE_FROM_OBJECT=!goog.DISALLOW_TEST_ONLY_CODE,jspb.Message.GENERATE_TO_STRING=!0,jspb.Message.ASSUME_LOCAL_ARRAYS=!1,jspb.Message.SERIALIZE_EMPTY_TRAILING_FIELDS=!0,jspb.Message.SUPPORTS_UINT8ARRAY_="function"==typeof Uint8Array,jspb.Message.prototype.getJsPbMessageId=function(){return this.messageId_},jspb.Message.getIndex_=function(o,g){return g+o.arrayIndexOffset_},jspb.Message.hiddenES6Property_=function(){},jspb.Message.getFieldNumber_=function(o,g){return g-o.arrayIndexOffset_},jspb.Message.initialize=function(o,g,n,t,r,i){if(o.wrappers_=null,g||(g=n?[n]:[]),o.messageId_=n?String(n):void 0,o.arrayIndexOffset_=0===n?-1:0,o.array=g,jspb.Message.initPivotAndExtensionObject_(o,t),o.convertedPrimitiveFields_={},jspb.Message.SERIALIZE_EMPTY_TRAILING_FIELDS||(o.repeatedFields=r),r)for(g=0;g<r.length;g++)(n=r[g])<o.pivot_?(n=jspb.Message.getIndex_(o,n),o.array[n]=o.array[n]||jspb.Message.EMPTY_LIST_SENTINEL_):(jspb.Message.maybeInitEmptyExtensionObject_(o),o.extensionObject_[n]=o.extensionObject_[n]||jspb.Message.EMPTY_LIST_SENTINEL_);if(i&&i.length)for(g=0;g<i.length;g++)jspb.Message.computeOneofCase(o,i[g])},jspb.Message.EMPTY_LIST_SENTINEL_=goog.DEBUG&&Object.freeze?Object.freeze([]):[],jspb.Message.isArray_=function(o){return jspb.Message.ASSUME_LOCAL_ARRAYS?o instanceof Array:Array.isArray(o)},jspb.Message.isExtensionObject_=function(o){return!(null===o||"object"!=typeof o||jspb.Message.isArray_(o)||jspb.Message.SUPPORTS_UINT8ARRAY_&&o instanceof Uint8Array)},jspb.Message.initPivotAndExtensionObject_=function(o,g){var n=o.array.length,t=-1;if(n&&jspb.Message.isExtensionObject_(n=o.array[t=n-1]))return o.pivot_=jspb.Message.getFieldNumber_(o,t),void(o.extensionObject_=n);-1<g?(o.pivot_=Math.max(g,jspb.Message.getFieldNumber_(o,t+1)),o.extensionObject_=null):o.pivot_=Number.MAX_VALUE},jspb.Message.maybeInitEmptyExtensionObject_=function(o){var g=jspb.Message.getIndex_(o,o.pivot_);o.array[g]||(o.extensionObject_=o.array[g]={})},jspb.Message.toObjectList=function(o,g,n){for(var t=[],r=0;r<o.length;r++)t[r]=g.call(o[r],n,o[r]);return t},jspb.Message.toObjectExtension=function(o,g,n,t,r){for(var i in n){var e=n[i],u=t.call(o,e);if(null!=u){for(var s in e.fieldName)if(e.fieldName.hasOwnProperty(s))break;g[s]=e.toObjectFn?e.isRepeated?jspb.Message.toObjectList(u,e.toObjectFn,r):e.toObjectFn(r,u):u}}},jspb.Message.serializeBinaryExtensions=function(o,g,n,t){for(var r in n){var i=n[r],e=i.fieldInfo;if(!i.binaryWriterFn)throw Error("Message extension present that was generated without binary serialization support");var u=t.call(o,e);if(null!=u)if(e.isMessageType()){if(!i.binaryMessageSerializeFn)throw Error("Message extension present holding submessage without binary support enabled, and message is being serialized to binary format");i.binaryWriterFn.call(g,e.fieldIndex,u,i.binaryMessageSerializeFn)}else i.binaryWriterFn.call(g,e.fieldIndex,u)}},jspb.Message.readBinaryExtension=function(o,g,n,t,r){var i=n[g.getFieldNumber()];if(i){if(n=i.fieldInfo,!i.binaryReaderFn)throw Error("Deserializing extension whose generated code does not support binary format");if(n.isMessageType()){var e=new n.ctor;i.binaryReaderFn.call(g,e,i.binaryMessageDeserializeFn)}else e=i.binaryReaderFn.call(g);n.isRepeated&&!i.isPacked?(g=t.call(o,n))?g.push(e):r.call(o,n,[e]):r.call(o,n,e)}else g.skipField()},jspb.Message.getField=function(o,g){if(g<o.pivot_){g=jspb.Message.getIndex_(o,g);var n=o.array[g];return n===jspb.Message.EMPTY_LIST_SENTINEL_?o.array[g]=[]:n}if(o.extensionObject_)return(n=o.extensionObject_[g])===jspb.Message.EMPTY_LIST_SENTINEL_?o.extensionObject_[g]=[]:n},jspb.Message.getRepeatedField=function(o,g){return jspb.Message.getField(o,g)},jspb.Message.getOptionalFloatingPointField=function(o,g){return null==(o=jspb.Message.getField(o,g))?o:+o},jspb.Message.getBooleanField=function(o,g){return null==(o=jspb.Message.getField(o,g))?o:!!o},jspb.Message.getRepeatedFloatingPointField=function(o,g){var n=jspb.Message.getRepeatedField(o,g);if(o.convertedPrimitiveFields_||(o.convertedPrimitiveFields_={}),!o.convertedPrimitiveFields_[g]){for(var t=0;t<n.length;t++)n[t]=+n[t];o.convertedPrimitiveFields_[g]=!0}return n},jspb.Message.getRepeatedBooleanField=function(o,g){var n=jspb.Message.getRepeatedField(o,g);if(o.convertedPrimitiveFields_||(o.convertedPrimitiveFields_={}),!o.convertedPrimitiveFields_[g]){for(var t=0;t<n.length;t++)n[t]=!!n[t];o.convertedPrimitiveFields_[g]=!0}return n},jspb.Message.bytesAsB64=function(o){return null==o||"string"==typeof o?o:jspb.Message.SUPPORTS_UINT8ARRAY_&&o instanceof Uint8Array?goog.crypt.base64.encodeByteArray(o):(goog.asserts.fail("Cannot coerce to b64 string: "+goog.typeOf(o)),null)},jspb.Message.bytesAsU8=function(o){return null==o||o instanceof Uint8Array?o:"string"==typeof o?goog.crypt.base64.decodeStringToUint8Array(o):(goog.asserts.fail("Cannot coerce to Uint8Array: "+goog.typeOf(o)),null)},jspb.Message.bytesListAsB64=function(o){return jspb.Message.assertConsistentTypes_(o),o.length&&"string"!=typeof o[0]?goog.array.map(o,jspb.Message.bytesAsB64):o},jspb.Message.bytesListAsU8=function(o){return jspb.Message.assertConsistentTypes_(o),!o.length||o[0]instanceof Uint8Array?o:goog.array.map(o,jspb.Message.bytesAsU8)},jspb.Message.assertConsistentTypes_=function(o){if(goog.DEBUG&&o&&1<o.length){var g=goog.typeOf(o[0]);goog.array.forEach(o,(function(o){goog.typeOf(o)!=g&&goog.asserts.fail("Inconsistent type in JSPB repeated field array. Got "+goog.typeOf(o)+" expected "+g)}))}},jspb.Message.getFieldWithDefault=function(o,g,n){return null==(o=jspb.Message.getField(o,g))?n:o},jspb.Message.getBooleanFieldWithDefault=function(o,g,n){return null==(o=jspb.Message.getBooleanField(o,g))?n:o},jspb.Message.getFloatingPointFieldWithDefault=function(o,g,n){return null==(o=jspb.Message.getOptionalFloatingPointField(o,g))?n:o},jspb.Message.getFieldProto3=jspb.Message.getFieldWithDefault,jspb.Message.getMapField=function(o,g,n,t){if(o.wrappers_||(o.wrappers_={}),g in o.wrappers_)return o.wrappers_[g];var r=jspb.Message.getField(o,g);if(!r){if(n)return;jspb.Message.setField(o,g,r=[])}return o.wrappers_[g]=new jspb.Map(r,t)},jspb.Message.setField=function(o,g,n){return goog.asserts.assertInstanceof(o,jspb.Message),g<o.pivot_?o.array[jspb.Message.getIndex_(o,g)]=n:(jspb.Message.maybeInitEmptyExtensionObject_(o),o.extensionObject_[g]=n),o},jspb.Message.setProto3IntField=function(o,g,n){return jspb.Message.setFieldIgnoringDefault_(o,g,n,0)},jspb.Message.setProto3FloatField=function(o,g,n){return jspb.Message.setFieldIgnoringDefault_(o,g,n,0)},jspb.Message.setProto3BooleanField=function(o,g,n){return jspb.Message.setFieldIgnoringDefault_(o,g,n,!1)},jspb.Message.setProto3StringField=function(o,g,n){return jspb.Message.setFieldIgnoringDefault_(o,g,n,"")},jspb.Message.setProto3BytesField=function(o,g,n){return jspb.Message.setFieldIgnoringDefault_(o,g,n,"")},jspb.Message.setProto3EnumField=function(o,g,n){return jspb.Message.setFieldIgnoringDefault_(o,g,n,0)},jspb.Message.setProto3StringIntField=function(o,g,n){return jspb.Message.setFieldIgnoringDefault_(o,g,n,"0")},jspb.Message.setFieldIgnoringDefault_=function(o,g,n,t){return goog.asserts.assertInstanceof(o,jspb.Message),n!==t?jspb.Message.setField(o,g,n):g<o.pivot_?o.array[jspb.Message.getIndex_(o,g)]=null:(jspb.Message.maybeInitEmptyExtensionObject_(o),delete o.extensionObject_[g]),o},jspb.Message.addToRepeatedField=function(o,g,n,t){return goog.asserts.assertInstanceof(o,jspb.Message),g=jspb.Message.getRepeatedField(o,g),null!=t?g.splice(t,0,n):g.push(n),o},jspb.Message.setOneofField=function(o,g,n,t){return goog.asserts.assertInstanceof(o,jspb.Message),(n=jspb.Message.computeOneofCase(o,n))&&n!==g&&void 0!==t&&(o.wrappers_&&n in o.wrappers_&&(o.wrappers_[n]=void 0),jspb.Message.setField(o,n,void 0)),jspb.Message.setField(o,g,t)},jspb.Message.computeOneofCase=function(o,g){for(var n,t,r=0;r<g.length;r++){var i=g[r],e=jspb.Message.getField(o,i);null!=e&&(n=i,t=e,jspb.Message.setField(o,i,void 0))}return n?(jspb.Message.setField(o,n,t),n):0},jspb.Message.getWrapperField=function(o,g,n,t){if(o.wrappers_||(o.wrappers_={}),!o.wrappers_[n]){var r=jspb.Message.getField(o,n);(t||r)&&(o.wrappers_[n]=new g(r))}return o.wrappers_[n]},jspb.Message.getRepeatedWrapperField=function(o,g,n){return jspb.Message.wrapRepeatedField_(o,g,n),(g=o.wrappers_[n])==jspb.Message.EMPTY_LIST_SENTINEL_&&(g=o.wrappers_[n]=[]),g},jspb.Message.wrapRepeatedField_=function(o,g,n){if(o.wrappers_||(o.wrappers_={}),!o.wrappers_[n]){for(var t=jspb.Message.getRepeatedField(o,n),r=[],i=0;i<t.length;i++)r[i]=new g(t[i]);o.wrappers_[n]=r}},jspb.Message.setWrapperField=function(o,g,n){goog.asserts.assertInstanceof(o,jspb.Message),o.wrappers_||(o.wrappers_={});var t=n?n.toArray():n;return o.wrappers_[g]=n,jspb.Message.setField(o,g,t)},jspb.Message.setOneofWrapperField=function(o,g,n,t){goog.asserts.assertInstanceof(o,jspb.Message),o.wrappers_||(o.wrappers_={});var r=t?t.toArray():t;return o.wrappers_[g]=t,jspb.Message.setOneofField(o,g,n,r)},jspb.Message.setRepeatedWrapperField=function(o,g,n){goog.asserts.assertInstanceof(o,jspb.Message),o.wrappers_||(o.wrappers_={}),n=n||[];for(var t=[],r=0;r<n.length;r++)t[r]=n[r].toArray();return o.wrappers_[g]=n,jspb.Message.setField(o,g,t)},jspb.Message.addToRepeatedWrapperField=function(o,g,n,t,r){jspb.Message.wrapRepeatedField_(o,t,g);var i=o.wrappers_[g];return i||(i=o.wrappers_[g]=[]),n=n||new t,o=jspb.Message.getRepeatedField(o,g),null!=r?(i.splice(r,0,n),o.splice(r,0,n.toArray())):(i.push(n),o.push(n.toArray())),n},jspb.Message.toMap=function(o,g,n,t){for(var r={},i=0;i<o.length;i++)r[g.call(o[i])]=n?n.call(o[i],t,o[i]):o[i];return r},jspb.Message.prototype.syncMapFields_=function(){if(this.wrappers_)for(var o in this.wrappers_){var g=this.wrappers_[o];if(Array.isArray(g))for(var n=0;n<g.length;n++)g[n]&&g[n].toArray();else g&&g.toArray()}},jspb.Message.prototype.toArray=function(){return this.syncMapFields_(),this.array},jspb.Message.GENERATE_TO_STRING&&(jspb.Message.prototype.toString=function(){return this.syncMapFields_(),this.array.toString()}),jspb.Message.prototype.getExtension=function(o){if(this.extensionObject_){this.wrappers_||(this.wrappers_={});var g=o.fieldIndex;if(o.isRepeated){if(o.isMessageType())return this.wrappers_[g]||(this.wrappers_[g]=goog.array.map(this.extensionObject_[g]||[],(function(g){return new o.ctor(g)}))),this.wrappers_[g]}else if(o.isMessageType())return!this.wrappers_[g]&&this.extensionObject_[g]&&(this.wrappers_[g]=new o.ctor(this.extensionObject_[g])),this.wrappers_[g];return this.extensionObject_[g]}},jspb.Message.prototype.setExtension=function(o,g){this.wrappers_||(this.wrappers_={}),jspb.Message.maybeInitEmptyExtensionObject_(this);var n=o.fieldIndex;return o.isRepeated?(g=g||[],o.isMessageType()?(this.wrappers_[n]=g,this.extensionObject_[n]=goog.array.map(g,(function(o){return o.toArray()}))):this.extensionObject_[n]=g):o.isMessageType()?(this.wrappers_[n]=g,this.extensionObject_[n]=g?g.toArray():g):this.extensionObject_[n]=g,this},jspb.Message.difference=function(o,g){if(!(o instanceof g.constructor))throw Error("Messages have different types.");var n=o.toArray();g=g.toArray();var t=[],r=0,i=n.length>g.length?n.length:g.length;for(o.getJsPbMessageId()&&(t[0]=o.getJsPbMessageId(),r=1);r<i;r++)jspb.Message.compareFields(n[r],g[r])||(t[r]=g[r]);return new o.constructor(t)},jspb.Message.equals=function(o,g){return o==g||!(!o||!g)&&o instanceof g.constructor&&jspb.Message.compareFields(o.toArray(),g.toArray())},jspb.Message.compareExtensions=function(o,g){o=o||{},g=g||{};var n,t={};for(n in o)t[n]=0;for(n in g)t[n]=0;for(n in t)if(!jspb.Message.compareFields(o[n],g[n]))return!1;return!0},jspb.Message.compareFields=function(o,g){if(o==g)return!0;if(!goog.isObject(o)||!goog.isObject(g))return!!("number"==typeof o&&isNaN(o)||"number"==typeof g&&isNaN(g))&&String(o)==String(g);if(o.constructor!=g.constructor)return!1;if(jspb.Message.SUPPORTS_UINT8ARRAY_&&o.constructor===Uint8Array){if(o.length!=g.length)return!1;for(var n=0;n<o.length;n++)if(o[n]!=g[n])return!1;return!0}if(o.constructor===Array){var t=void 0,r=void 0,i=Math.max(o.length,g.length);for(n=0;n<i;n++){var e=o[n],u=g[n];if(e&&e.constructor==Object&&(goog.asserts.assert(void 0===t),goog.asserts.assert(n===o.length-1),t=e,e=void 0),u&&u.constructor==Object&&(goog.asserts.assert(void 0===r),goog.asserts.assert(n===g.length-1),r=u,u=void 0),!jspb.Message.compareFields(e,u))return!1}return!t&&!r||jspb.Message.compareExtensions(t=t||{},r=r||{})}if(o.constructor===Object)return jspb.Message.compareExtensions(o,g);throw Error("Invalid type in JSPB array")},jspb.Message.prototype.cloneMessage=function(){return jspb.Message.cloneMessage(this)},jspb.Message.prototype.clone=function(){return jspb.Message.cloneMessage(this)},jspb.Message.clone=function(o){return jspb.Message.cloneMessage(o)},jspb.Message.cloneMessage=function(o){return new o.constructor(jspb.Message.clone_(o.toArray()))},jspb.Message.copyInto=function(o,g){goog.asserts.assertInstanceof(o,jspb.Message),goog.asserts.assertInstanceof(g,jspb.Message),goog.asserts.assert(o.constructor==g.constructor,"Copy source and target message should have the same type."),o=jspb.Message.clone(o);for(var n=g.toArray(),t=o.toArray(),r=n.length=0;r<t.length;r++)n[r]=t[r];g.wrappers_=o.wrappers_,g.extensionObject_=o.extensionObject_},jspb.Message.clone_=function(o){if(Array.isArray(o)){for(var g=Array(o.length),n=0;n<o.length;n++){var t=o[n];null!=t&&(g[n]="object"==typeof t?jspb.Message.clone_(goog.asserts.assert(t)):t)}return g}if(jspb.Message.SUPPORTS_UINT8ARRAY_&&o instanceof Uint8Array)return new Uint8Array(o);for(n in g={},o)null!=(t=o[n])&&(g[n]="object"==typeof t?jspb.Message.clone_(goog.asserts.assert(t)):t);return g},jspb.Message.registerMessageType=function(o,g){g.messageId=o},jspb.Message.messageSetExtensions={},jspb.Message.messageSetExtensionsBinary={},jspb.Export={},exports.Map=jspb.Map,exports.Message=jspb.Message,exports.BinaryReader=jspb.BinaryReader,exports.BinaryWriter=jspb.BinaryWriter,exports.ExtensionFieldInfo=jspb.ExtensionFieldInfo,exports.ExtensionFieldBinaryInfo=jspb.ExtensionFieldBinaryInfo,exports.exportSymbol=goog.exportSymbol,exports.inherits=goog.inherits,exports.object={extend:goog.object.extend},exports.typeOf=goog.typeOf})),wrappers_pb=createCommonjsModule((function(o,g){var n=googleProtobuf,t=function(){return this?this:"undefined"!=typeof window?window:void 0!==t?t:"undefined"!=typeof self?self:Function("return this")()}.call(null);n.exportSymbol("proto.google.protobuf.BoolValue",null,t),n.exportSymbol("proto.google.protobuf.BytesValue",null,t),n.exportSymbol("proto.google.protobuf.DoubleValue",null,t),n.exportSymbol("proto.google.protobuf.FloatValue",null,t),n.exportSymbol("proto.google.protobuf.Int32Value",null,t),n.exportSymbol("proto.google.protobuf.Int64Value",null,t),n.exportSymbol("proto.google.protobuf.StringValue",null,t),n.exportSymbol("proto.google.protobuf.UInt32Value",null,t),n.exportSymbol("proto.google.protobuf.UInt64Value",null,t),proto.google.protobuf.DoubleValue=function(o){googleProtobuf.Message.initialize(this,o,0,-1,null,null)},n.inherits(proto.google.protobuf.DoubleValue,googleProtobuf.Message),n.DEBUG&&!COMPILED&&(proto.google.protobuf.DoubleValue.displayName="proto.google.protobuf.DoubleValue"),proto.google.protobuf.FloatValue=function(o){googleProtobuf.Message.initialize(this,o,0,-1,null,null)},n.inherits(proto.google.protobuf.FloatValue,googleProtobuf.Message),n.DEBUG&&!COMPILED&&(proto.google.protobuf.FloatValue.displayName="proto.google.protobuf.FloatValue"),proto.google.protobuf.Int64Value=function(o){googleProtobuf.Message.initialize(this,o,0,-1,null,null)},n.inherits(proto.google.protobuf.Int64Value,googleProtobuf.Message),n.DEBUG&&!COMPILED&&(proto.google.protobuf.Int64Value.displayName="proto.google.protobuf.Int64Value"),proto.google.protobuf.UInt64Value=function(o){googleProtobuf.Message.initialize(this,o,0,-1,null,null)},n.inherits(proto.google.protobuf.UInt64Value,googleProtobuf.Message),n.DEBUG&&!COMPILED&&(proto.google.protobuf.UInt64Value.displayName="proto.google.protobuf.UInt64Value"),proto.google.protobuf.Int32Value=function(o){googleProtobuf.Message.initialize(this,o,0,-1,null,null)},n.inherits(proto.google.protobuf.Int32Value,googleProtobuf.Message),n.DEBUG&&!COMPILED&&(proto.google.protobuf.Int32Value.displayName="proto.google.protobuf.Int32Value"),proto.google.protobuf.UInt32Value=function(o){googleProtobuf.Message.initialize(this,o,0,-1,null,null)},n.inherits(proto.google.protobuf.UInt32Value,googleProtobuf.Message),n.DEBUG&&!COMPILED&&(proto.google.protobuf.UInt32Value.displayName="proto.google.protobuf.UInt32Value"),proto.google.protobuf.BoolValue=function(o){googleProtobuf.Message.initialize(this,o,0,-1,null,null)},n.inherits(proto.google.protobuf.BoolValue,googleProtobuf.Message),n.DEBUG&&!COMPILED&&(proto.google.protobuf.BoolValue.displayName="proto.google.protobuf.BoolValue"),proto.google.protobuf.StringValue=function(o){googleProtobuf.Message.initialize(this,o,0,-1,null,null)},n.inherits(proto.google.protobuf.StringValue,googleProtobuf.Message),n.DEBUG&&!COMPILED&&(proto.google.protobuf.StringValue.displayName="proto.google.protobuf.StringValue"),proto.google.protobuf.BytesValue=function(o){googleProtobuf.Message.initialize(this,o,0,-1,null,null)},n.inherits(proto.google.protobuf.BytesValue,googleProtobuf.Message),n.DEBUG&&!COMPILED&&(proto.google.protobuf.BytesValue.displayName="proto.google.protobuf.BytesValue"),googleProtobuf.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.DoubleValue.prototype.toObject=function(o){return proto.google.protobuf.DoubleValue.toObject(o,this)},proto.google.protobuf.DoubleValue.toObject=function(o,g){var n={value:googleProtobuf.Message.getFloatingPointFieldWithDefault(g,1,0)};return o&&(n.$jspbMessageInstance=g),n}),proto.google.protobuf.DoubleValue.deserializeBinary=function(o){var g=new googleProtobuf.BinaryReader(o),n=new proto.google.protobuf.DoubleValue;return proto.google.protobuf.DoubleValue.deserializeBinaryFromReader(n,g)},proto.google.protobuf.DoubleValue.deserializeBinaryFromReader=function(o,g){for(;g.nextField()&&!g.isEndGroup();)switch(g.getFieldNumber()){case 1:var n=g.readDouble();o.setValue(n);break;default:g.skipField()}return o},proto.google.protobuf.DoubleValue.prototype.serializeBinary=function(){var o=new googleProtobuf.BinaryWriter;return proto.google.protobuf.DoubleValue.serializeBinaryToWriter(this,o),o.getResultBuffer()},proto.google.protobuf.DoubleValue.serializeBinaryToWriter=function(o,g){var n;0!==(n=o.getValue())&&g.writeDouble(1,n)},proto.google.protobuf.DoubleValue.prototype.getValue=function(){return googleProtobuf.Message.getFloatingPointFieldWithDefault(this,1,0)},proto.google.protobuf.DoubleValue.prototype.setValue=function(o){return googleProtobuf.Message.setProto3FloatField(this,1,o)},googleProtobuf.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.FloatValue.prototype.toObject=function(o){return proto.google.protobuf.FloatValue.toObject(o,this)},proto.google.protobuf.FloatValue.toObject=function(o,g){var n={value:googleProtobuf.Message.getFloatingPointFieldWithDefault(g,1,0)};return o&&(n.$jspbMessageInstance=g),n}),proto.google.protobuf.FloatValue.deserializeBinary=function(o){var g=new googleProtobuf.BinaryReader(o),n=new proto.google.protobuf.FloatValue;return proto.google.protobuf.FloatValue.deserializeBinaryFromReader(n,g)},proto.google.protobuf.FloatValue.deserializeBinaryFromReader=function(o,g){for(;g.nextField()&&!g.isEndGroup();)switch(g.getFieldNumber()){case 1:var n=g.readFloat();o.setValue(n);break;default:g.skipField()}return o},proto.google.protobuf.FloatValue.prototype.serializeBinary=function(){var o=new googleProtobuf.BinaryWriter;return proto.google.protobuf.FloatValue.serializeBinaryToWriter(this,o),o.getResultBuffer()},proto.google.protobuf.FloatValue.serializeBinaryToWriter=function(o,g){var n;0!==(n=o.getValue())&&g.writeFloat(1,n)},proto.google.protobuf.FloatValue.prototype.getValue=function(){return googleProtobuf.Message.getFloatingPointFieldWithDefault(this,1,0)},proto.google.protobuf.FloatValue.prototype.setValue=function(o){return googleProtobuf.Message.setProto3FloatField(this,1,o)},googleProtobuf.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.Int64Value.prototype.toObject=function(o){return proto.google.protobuf.Int64Value.toObject(o,this)},proto.google.protobuf.Int64Value.toObject=function(o,g){var n={value:googleProtobuf.Message.getFieldWithDefault(g,1,0)};return o&&(n.$jspbMessageInstance=g),n}),proto.google.protobuf.Int64Value.deserializeBinary=function(o){var g=new googleProtobuf.BinaryReader(o),n=new proto.google.protobuf.Int64Value;return proto.google.protobuf.Int64Value.deserializeBinaryFromReader(n,g)},proto.google.protobuf.Int64Value.deserializeBinaryFromReader=function(o,g){for(;g.nextField()&&!g.isEndGroup();)switch(g.getFieldNumber()){case 1:var n=g.readInt64();o.setValue(n);break;default:g.skipField()}return o},proto.google.protobuf.Int64Value.prototype.serializeBinary=function(){var o=new googleProtobuf.BinaryWriter;return proto.google.protobuf.Int64Value.serializeBinaryToWriter(this,o),o.getResultBuffer()},proto.google.protobuf.Int64Value.serializeBinaryToWriter=function(o,g){var n;0!==(n=o.getValue())&&g.writeInt64(1,n)},proto.google.protobuf.Int64Value.prototype.getValue=function(){return googleProtobuf.Message.getFieldWithDefault(this,1,0)},proto.google.protobuf.Int64Value.prototype.setValue=function(o){return googleProtobuf.Message.setProto3IntField(this,1,o)},googleProtobuf.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.UInt64Value.prototype.toObject=function(o){return proto.google.protobuf.UInt64Value.toObject(o,this)},proto.google.protobuf.UInt64Value.toObject=function(o,g){var n={value:googleProtobuf.Message.getFieldWithDefault(g,1,0)};return o&&(n.$jspbMessageInstance=g),n}),proto.google.protobuf.UInt64Value.deserializeBinary=function(o){var g=new googleProtobuf.BinaryReader(o),n=new proto.google.protobuf.UInt64Value;return proto.google.protobuf.UInt64Value.deserializeBinaryFromReader(n,g)},proto.google.protobuf.UInt64Value.deserializeBinaryFromReader=function(o,g){for(;g.nextField()&&!g.isEndGroup();)switch(g.getFieldNumber()){case 1:var n=g.readUint64();o.setValue(n);break;default:g.skipField()}return o},proto.google.protobuf.UInt64Value.prototype.serializeBinary=function(){var o=new googleProtobuf.BinaryWriter;return proto.google.protobuf.UInt64Value.serializeBinaryToWriter(this,o),o.getResultBuffer()},proto.google.protobuf.UInt64Value.serializeBinaryToWriter=function(o,g){var n;0!==(n=o.getValue())&&g.writeUint64(1,n)},proto.google.protobuf.UInt64Value.prototype.getValue=function(){return googleProtobuf.Message.getFieldWithDefault(this,1,0)},proto.google.protobuf.UInt64Value.prototype.setValue=function(o){return googleProtobuf.Message.setProto3IntField(this,1,o)},googleProtobuf.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.Int32Value.prototype.toObject=function(o){return proto.google.protobuf.Int32Value.toObject(o,this)},proto.google.protobuf.Int32Value.toObject=function(o,g){var n={value:googleProtobuf.Message.getFieldWithDefault(g,1,0)};return o&&(n.$jspbMessageInstance=g),n}),proto.google.protobuf.Int32Value.deserializeBinary=function(o){var g=new googleProtobuf.BinaryReader(o),n=new proto.google.protobuf.Int32Value;return proto.google.protobuf.Int32Value.deserializeBinaryFromReader(n,g)},proto.google.protobuf.Int32Value.deserializeBinaryFromReader=function(o,g){for(;g.nextField()&&!g.isEndGroup();)switch(g.getFieldNumber()){case 1:var n=g.readInt32();o.setValue(n);break;default:g.skipField()}return o},proto.google.protobuf.Int32Value.prototype.serializeBinary=function(){var o=new googleProtobuf.BinaryWriter;return proto.google.protobuf.Int32Value.serializeBinaryToWriter(this,o),o.getResultBuffer()},proto.google.protobuf.Int32Value.serializeBinaryToWriter=function(o,g){var n;0!==(n=o.getValue())&&g.writeInt32(1,n)},proto.google.protobuf.Int32Value.prototype.getValue=function(){return googleProtobuf.Message.getFieldWithDefault(this,1,0)},proto.google.protobuf.Int32Value.prototype.setValue=function(o){return googleProtobuf.Message.setProto3IntField(this,1,o)},googleProtobuf.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.UInt32Value.prototype.toObject=function(o){return proto.google.protobuf.UInt32Value.toObject(o,this)},proto.google.protobuf.UInt32Value.toObject=function(o,g){var n={value:googleProtobuf.Message.getFieldWithDefault(g,1,0)};return o&&(n.$jspbMessageInstance=g),n}),proto.google.protobuf.UInt32Value.deserializeBinary=function(o){var g=new googleProtobuf.BinaryReader(o),n=new proto.google.protobuf.UInt32Value;return proto.google.protobuf.UInt32Value.deserializeBinaryFromReader(n,g)},proto.google.protobuf.UInt32Value.deserializeBinaryFromReader=function(o,g){for(;g.nextField()&&!g.isEndGroup();)switch(g.getFieldNumber()){case 1:var n=g.readUint32();o.setValue(n);break;default:g.skipField()}return o},proto.google.protobuf.UInt32Value.prototype.serializeBinary=function(){var o=new googleProtobuf.BinaryWriter;return proto.google.protobuf.UInt32Value.serializeBinaryToWriter(this,o),o.getResultBuffer()},proto.google.protobuf.UInt32Value.serializeBinaryToWriter=function(o,g){var n;0!==(n=o.getValue())&&g.writeUint32(1,n)},proto.google.protobuf.UInt32Value.prototype.getValue=function(){return googleProtobuf.Message.getFieldWithDefault(this,1,0)},proto.google.protobuf.UInt32Value.prototype.setValue=function(o){return googleProtobuf.Message.setProto3IntField(this,1,o)},googleProtobuf.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.BoolValue.prototype.toObject=function(o){return proto.google.protobuf.BoolValue.toObject(o,this)},proto.google.protobuf.BoolValue.toObject=function(o,g){var n={value:googleProtobuf.Message.getBooleanFieldWithDefault(g,1,!1)};return o&&(n.$jspbMessageInstance=g),n}),proto.google.protobuf.BoolValue.deserializeBinary=function(o){var g=new googleProtobuf.BinaryReader(o),n=new proto.google.protobuf.BoolValue;return proto.google.protobuf.BoolValue.deserializeBinaryFromReader(n,g)},proto.google.protobuf.BoolValue.deserializeBinaryFromReader=function(o,g){for(;g.nextField()&&!g.isEndGroup();)switch(g.getFieldNumber()){case 1:var n=g.readBool();o.setValue(n);break;default:g.skipField()}return o},proto.google.protobuf.BoolValue.prototype.serializeBinary=function(){var o=new googleProtobuf.BinaryWriter;return proto.google.protobuf.BoolValue.serializeBinaryToWriter(this,o),o.getResultBuffer()},proto.google.protobuf.BoolValue.serializeBinaryToWriter=function(o,g){var n;(n=o.getValue())&&g.writeBool(1,n)},proto.google.protobuf.BoolValue.prototype.getValue=function(){return googleProtobuf.Message.getBooleanFieldWithDefault(this,1,!1)},proto.google.protobuf.BoolValue.prototype.setValue=function(o){return googleProtobuf.Message.setProto3BooleanField(this,1,o)},googleProtobuf.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.StringValue.prototype.toObject=function(o){return proto.google.protobuf.StringValue.toObject(o,this)},proto.google.protobuf.StringValue.toObject=function(o,g){var n={value:googleProtobuf.Message.getFieldWithDefault(g,1,"")};return o&&(n.$jspbMessageInstance=g),n}),proto.google.protobuf.StringValue.deserializeBinary=function(o){var g=new googleProtobuf.BinaryReader(o),n=new proto.google.protobuf.StringValue;return proto.google.protobuf.StringValue.deserializeBinaryFromReader(n,g)},proto.google.protobuf.StringValue.deserializeBinaryFromReader=function(o,g){for(;g.nextField()&&!g.isEndGroup();)switch(g.getFieldNumber()){case 1:var n=g.readString();o.setValue(n);break;default:g.skipField()}return o},proto.google.protobuf.StringValue.prototype.serializeBinary=function(){var o=new googleProtobuf.BinaryWriter;return proto.google.protobuf.StringValue.serializeBinaryToWriter(this,o),o.getResultBuffer()},proto.google.protobuf.StringValue.serializeBinaryToWriter=function(o,g){var n;(n=o.getValue()).length>0&&g.writeString(1,n)},proto.google.protobuf.StringValue.prototype.getValue=function(){return googleProtobuf.Message.getFieldWithDefault(this,1,"")},proto.google.protobuf.StringValue.prototype.setValue=function(o){return googleProtobuf.Message.setProto3StringField(this,1,o)},googleProtobuf.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.BytesValue.prototype.toObject=function(o){return proto.google.protobuf.BytesValue.toObject(o,this)},proto.google.protobuf.BytesValue.toObject=function(o,g){var n={value:g.getValue_asB64()};return o&&(n.$jspbMessageInstance=g),n}),proto.google.protobuf.BytesValue.deserializeBinary=function(o){var g=new googleProtobuf.BinaryReader(o),n=new proto.google.protobuf.BytesValue;return proto.google.protobuf.BytesValue.deserializeBinaryFromReader(n,g)},proto.google.protobuf.BytesValue.deserializeBinaryFromReader=function(o,g){for(;g.nextField()&&!g.isEndGroup();)switch(g.getFieldNumber()){case 1:var n=g.readBytes();o.setValue(n);break;default:g.skipField()}return o},proto.google.protobuf.BytesValue.prototype.serializeBinary=function(){var o=new googleProtobuf.BinaryWriter;return proto.google.protobuf.BytesValue.serializeBinaryToWriter(this,o),o.getResultBuffer()},proto.google.protobuf.BytesValue.serializeBinaryToWriter=function(o,g){var n;(n=o.getValue_asU8()).length>0&&g.writeBytes(1,n)},proto.google.protobuf.BytesValue.prototype.getValue=function(){return googleProtobuf.Message.getFieldWithDefault(this,1,"")},proto.google.protobuf.BytesValue.prototype.getValue_asB64=function(){return googleProtobuf.Message.bytesAsB64(this.getValue())},proto.google.protobuf.BytesValue.prototype.getValue_asU8=function(){return googleProtobuf.Message.bytesAsU8(this.getValue())},proto.google.protobuf.BytesValue.prototype.setValue=function(o){return googleProtobuf.Message.setProto3BytesField(this,1,o)},n.object.extend(g,proto.google.protobuf)})),grpcWebClient_umd=createCommonjsModule((function(o){var g,n;o.exports=(g={418:function(o,g){!function(o,g){for(var n in g)o[n]=g[n]}(g,function(o){var g={};function n(t){if(g[t])return g[t].exports;var r=g[t]={i:t,l:!1,exports:{}};return o[t].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=o,n.c=g,n.i=function(o){return o},n.d=function(o,g,t){n.o(o,g)||Object.defineProperty(o,g,{configurable:!1,enumerable:!0,get:t})},n.n=function(o){var g=o&&o.__esModule?function(){return o.default}:function(){return o};return n.d(g,"a",g),g},n.o=function(o,g){return Object.prototype.hasOwnProperty.call(o,g)},n.p="",n(n.s=1)}([function(o,g,n){Object.defineProperty(g,"__esModule",{value:!0});var t=n(3),r=function(){function o(o,g){void 0===o&&(o={}),void 0===g&&(g={splitValues:!1});var n,r=this;this.headersMap={},o&&("undefined"!=typeof Headers&&o instanceof Headers?t.getHeaderKeys(o).forEach((function(n){t.getHeaderValues(o,n).forEach((function(o){r.append(n,g.splitValues?t.splitHeaderValue(o):o)}))})):"object"==typeof(n=o)&&"object"==typeof n.headersMap&&"function"==typeof n.forEach?o.forEach((function(o,g){r.append(o,g)})):"undefined"!=typeof Map&&o instanceof Map?o.forEach((function(o,g){r.append(g,o)})):"string"==typeof o?this.appendFromString(o):"object"==typeof o&&Object.getOwnPropertyNames(o).forEach((function(g){var n=o[g];Array.isArray(n)?n.forEach((function(o){r.append(g,o)})):r.append(g,n)})))}return o.prototype.appendFromString=function(o){for(var g=o.split("\r\n"),n=0;n<g.length;n++){var t=g[n],r=t.indexOf(":");if(r>0){var i=t.substring(0,r).trim(),e=t.substring(r+1).trim();this.append(i,e)}}},o.prototype.delete=function(o,g){var n=t.normalizeName(o);if(void 0===g)delete this.headersMap[n];else{var r=this.headersMap[n];if(r){var i=r.indexOf(g);i>=0&&r.splice(i,1),0===r.length&&delete this.headersMap[n]}}},o.prototype.append=function(o,g){var n=this,r=t.normalizeName(o);Array.isArray(this.headersMap[r])||(this.headersMap[r]=[]),Array.isArray(g)?g.forEach((function(o){n.headersMap[r].push(t.normalizeValue(o))})):this.headersMap[r].push(t.normalizeValue(g))},o.prototype.set=function(o,g){var n=t.normalizeName(o);if(Array.isArray(g)){var r=[];g.forEach((function(o){r.push(t.normalizeValue(o))})),this.headersMap[n]=r}else this.headersMap[n]=[t.normalizeValue(g)]},o.prototype.has=function(o,g){var n=this.headersMap[t.normalizeName(o)];if(!Array.isArray(n))return!1;if(void 0!==g){var r=t.normalizeValue(g);return n.indexOf(r)>=0}return!0},o.prototype.get=function(o){var g=this.headersMap[t.normalizeName(o)];return void 0!==g?g.concat():[]},o.prototype.forEach=function(o){var g=this;Object.getOwnPropertyNames(this.headersMap).forEach((function(n){o(n,g.headersMap[n])}),this)},o.prototype.toHeaders=function(){if("undefined"!=typeof Headers){var o=new Headers;return this.forEach((function(g,n){n.forEach((function(n){o.append(g,n)}))})),o}throw new Error("Headers class is not defined")},o}();g.BrowserHeaders=r},function(o,g,n){Object.defineProperty(g,"__esModule",{value:!0});var t=n(0);g.BrowserHeaders=t.BrowserHeaders},function(o,g){Object.defineProperty(g,"__esModule",{value:!0}),g.iterateHeaders=function(o,g){for(var n=o[Symbol.iterator](),t=n.next();!t.done;)g(t.value[0]),t=n.next()},g.iterateHeadersKeys=function(o,g){for(var n=o.keys(),t=n.next();!t.done;)g(t.value),t=n.next()}},function(o,g,n){Object.defineProperty(g,"__esModule",{value:!0});var t=n(2);g.normalizeName=function(o){if("string"!=typeof o&&(o=String(o)),/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(o))throw new TypeError("Invalid character in header field name");return o.toLowerCase()},g.normalizeValue=function(o){return"string"!=typeof o&&(o=String(o)),o},g.getHeaderValues=function(o,g){var n=o;if(n instanceof Headers&&n.getAll)return n.getAll(g);var t=n.get(g);return t&&"string"==typeof t?[t]:t},g.getHeaderKeys=function(o){var g=o,n={},r=[];return g.keys?t.iterateHeadersKeys(g,(function(o){n[o]||(n[o]=!0,r.push(o))})):g.forEach?g.forEach((function(o,g){n[g]||(n[g]=!0,r.push(g))})):t.iterateHeaders(g,(function(o){var g=o[0];n[g]||(n[g]=!0,r.push(g))})),r},g.splitHeaderValue=function(o){var g=[];return o.split(", ").forEach((function(o){o.split(",").forEach((function(o){g.push(o)}))})),g}}]))},617:function(o,g,n){Object.defineProperty(g,"__esModule",{value:!0}),g.ChunkParser=g.ChunkType=g.encodeASCII=g.decodeASCII=void 0;var t,r=n(65);function i(o){return 9===(g=o)||10===g||13===g||o>=32&&o<=126;var g}function e(o){for(var g=0;g!==o.length;++g)if(!i(o[g]))throw new Error("Metadata is not valid (printable) ASCII");return String.fromCharCode.apply(String,Array.prototype.slice.call(o))}function u(o){return 128==(128&o.getUint8(0))}function s(o){return o.getUint32(1,!1)}function f(o,g,n){return o.byteLength-g>=n}function c(o,g,n){if(o.slice)return o.slice(g,n);var t=o.length;void 0!==n&&(t=n);for(var r=new Uint8Array(t-g),i=0,e=g;e<t;e++)r[i++]=o[e];return r}g.decodeASCII=e,g.encodeASCII=function(o){for(var g=new Uint8Array(o.length),n=0;n!==o.length;++n){var t=o.charCodeAt(n);if(!i(t))throw new Error("Metadata contains invalid ASCII");g[n]=t}return g},function(o){o[o.MESSAGE=1]="MESSAGE",o[o.TRAILERS=2]="TRAILERS"}(t=g.ChunkType||(g.ChunkType={}));var a=function(){function o(){this.buffer=null,this.position=0}return o.prototype.parse=function(o,g){if(0===o.length&&g)return[];var n,i=[];if(null==this.buffer)this.buffer=o,this.position=0;else if(this.position===this.buffer.byteLength)this.buffer=o,this.position=0;else{var a=this.buffer.byteLength-this.position,h=new Uint8Array(a+o.byteLength),p=c(this.buffer,this.position);h.set(p,0);var b=new Uint8Array(o);h.set(b,a),this.buffer=h,this.position=0}for(;;){if(!f(this.buffer,this.position,5))return i;var l=c(this.buffer,this.position,this.position+5),j=new DataView(l.buffer,l.byteOffset,l.byteLength),v=s(j);if(!f(this.buffer,this.position,5+v))return i;var d=c(this.buffer,this.position+5,this.position+5+v);if(this.position+=5+v,u(j))return i.push({chunkType:t.TRAILERS,trailers:(n=d,new r.Metadata(e(n)))}),i;i.push({chunkType:t.MESSAGE,data:d})}},o}();g.ChunkParser=a},8:function(o,g){var n;Object.defineProperty(g,"__esModule",{value:!0}),g.httpStatusToCode=g.Code=void 0,function(o){o[o.OK=0]="OK",o[o.Canceled=1]="Canceled",o[o.Unknown=2]="Unknown",o[o.InvalidArgument=3]="InvalidArgument",o[o.DeadlineExceeded=4]="DeadlineExceeded",o[o.NotFound=5]="NotFound",o[o.AlreadyExists=6]="AlreadyExists",o[o.PermissionDenied=7]="PermissionDenied",o[o.ResourceExhausted=8]="ResourceExhausted",o[o.FailedPrecondition=9]="FailedPrecondition",o[o.Aborted=10]="Aborted",o[o.OutOfRange=11]="OutOfRange",o[o.Unimplemented=12]="Unimplemented",o[o.Internal=13]="Internal",o[o.Unavailable=14]="Unavailable",o[o.DataLoss=15]="DataLoss",o[o.Unauthenticated=16]="Unauthenticated"}(n=g.Code||(g.Code={})),g.httpStatusToCode=function(o){switch(o){case 0:return n.Internal;case 200:return n.OK;case 400:return n.InvalidArgument;case 401:return n.Unauthenticated;case 403:return n.PermissionDenied;case 404:return n.NotFound;case 409:return n.Aborted;case 412:return n.FailedPrecondition;case 429:return n.ResourceExhausted;case 499:return n.Canceled;case 500:return n.Unknown;case 501:return n.Unimplemented;case 503:return n.Unavailable;case 504:return n.DeadlineExceeded;default:return n.Unknown}}},934:function(o,g,n){Object.defineProperty(g,"__esModule",{value:!0}),g.client=void 0;var t=n(65),r=n(617),i=n(8),e=n(346),u=n(57),s=n(882);g.client=function(o,g){return new f(o,g)};var f=function(){function o(o,g){this.started=!1,this.sentFirstMessage=!1,this.completed=!1,this.closed=!1,this.finishedSending=!1,this.onHeadersCallbacks=[],this.onMessageCallbacks=[],this.onEndCallbacks=[],this.parser=new r.ChunkParser,this.methodDefinition=o,this.props=g,this.createTransport()}return o.prototype.createTransport=function(){var o={methodDefinition:this.methodDefinition,debug:this.props.debug||!1,url:this.props.host+"/"+this.methodDefinition.service.serviceName+"/"+this.methodDefinition.methodName,onHeaders:this.onTransportHeaders.bind(this),onChunk:this.onTransportChunk.bind(this),onEnd:this.onTransportEnd.bind(this)};this.transport=this.props.transport?this.props.transport(o):u.makeDefaultTransport(o)},o.prototype.onTransportHeaders=function(o,g){if(this.props.debug&&e.debug("onHeaders",o,g),this.closed)this.props.debug&&e.debug("grpc.onHeaders received after request was closed - ignoring");else if(0===g);else{this.responseHeaders=o,this.props.debug&&e.debug("onHeaders.responseHeaders",JSON.stringify(this.responseHeaders,null,2));var n=c(o);this.props.debug&&e.debug("onHeaders.gRPCStatus",n);var t=n&&n>=0?n:i.httpStatusToCode(g);this.props.debug&&e.debug("onHeaders.code",t);var r=o.get("grpc-message")||[];if(this.props.debug&&e.debug("onHeaders.gRPCMessage",r),this.rawOnHeaders(o),t!==i.Code.OK){var u=this.decodeGRPCStatus(r[0]);this.rawOnError(t,u,o)}}},o.prototype.onTransportChunk=function(o){var g=this;if(this.closed)this.props.debug&&e.debug("grpc.onChunk received after request was closed - ignoring");else{var n=[];try{n=this.parser.parse(o)}catch(o){return this.props.debug&&e.debug("onChunk.parsing error",o,o.message),void this.rawOnError(i.Code.Internal,"parsing error: "+o.message)}n.forEach((function(o){if(o.chunkType===r.ChunkType.MESSAGE){var n=g.methodDefinition.responseType.deserializeBinary(o.data);g.rawOnMessage(n)}else o.chunkType===r.ChunkType.TRAILERS&&(g.responseHeaders?(g.responseTrailers=new t.Metadata(o.trailers),g.props.debug&&e.debug("onChunk.trailers",g.responseTrailers)):(g.responseHeaders=new t.Metadata(o.trailers),g.rawOnHeaders(g.responseHeaders)))}))}},o.prototype.onTransportEnd=function(){if(this.props.debug&&e.debug("grpc.onEnd"),this.closed)this.props.debug&&e.debug("grpc.onEnd received after request was closed - ignoring");else if(void 0!==this.responseTrailers){var o=c(this.responseTrailers);if(null!==o){var g=this.responseTrailers.get("grpc-message"),n=this.decodeGRPCStatus(g[0]);this.rawOnEnd(o,n,this.responseTrailers)}else this.rawOnError(i.Code.Internal,"Response closed without grpc-status (Trailers provided)")}else{if(void 0===this.responseHeaders)return void this.rawOnError(i.Code.Unknown,"Response closed without headers");var t=c(this.responseHeaders),r=this.responseHeaders.get("grpc-message");if(this.props.debug&&e.debug("grpc.headers only response ",t,r),null===t)return void this.rawOnEnd(i.Code.Unknown,"Response closed without grpc-status (Headers only)",this.responseHeaders);var u=this.decodeGRPCStatus(r[0]);this.rawOnEnd(t,u,this.responseHeaders)}},o.prototype.decodeGRPCStatus=function(o){if(!o)return"";try{return decodeURIComponent(o)}catch(g){return o}},o.prototype.rawOnEnd=function(o,g,n){var t=this;this.props.debug&&e.debug("rawOnEnd",o,g,n),this.completed||(this.completed=!0,this.onEndCallbacks.forEach((function(r){if(!t.closed)try{r(o,g,n)}catch(o){setTimeout((function(){throw o}),0)}})))},o.prototype.rawOnHeaders=function(o){this.props.debug&&e.debug("rawOnHeaders",o),this.completed||this.onHeadersCallbacks.forEach((function(g){try{g(o)}catch(o){setTimeout((function(){throw o}),0)}}))},o.prototype.rawOnError=function(o,g,n){var r=this;void 0===n&&(n=new t.Metadata),this.props.debug&&e.debug("rawOnError",o,g),this.completed||(this.completed=!0,this.onEndCallbacks.forEach((function(t){if(!r.closed)try{t(o,g,n)}catch(o){setTimeout((function(){throw o}),0)}})))},o.prototype.rawOnMessage=function(o){var g=this;this.props.debug&&e.debug("rawOnMessage",o.toObject()),this.completed||this.closed||this.onMessageCallbacks.forEach((function(n){if(!g.closed)try{n(o)}catch(o){setTimeout((function(){throw o}),0)}}))},o.prototype.onHeaders=function(o){this.onHeadersCallbacks.push(o)},o.prototype.onMessage=function(o){this.onMessageCallbacks.push(o)},o.prototype.onEnd=function(o){this.onEndCallbacks.push(o)},o.prototype.start=function(o){if(this.started)throw new Error("Client already started - cannot .start()");this.started=!0;var g=new t.Metadata(o||{});g.set("content-type","application/grpc-web+proto"),g.set("x-grpc-web","1"),this.transport.start(g)},o.prototype.send=function(o){if(!this.started)throw new Error("Client not started - .start() must be called before .send()");if(this.closed)throw new Error("Client already closed - cannot .send()");if(this.finishedSending)throw new Error("Client already finished sending - cannot .send()");if(!this.methodDefinition.requestStream&&this.sentFirstMessage)throw new Error("Message already sent for non-client-streaming method - cannot .send()");this.sentFirstMessage=!0;var g=s.frameRequest(o);this.transport.sendMessage(g)},o.prototype.finishSend=function(){if(!this.started)throw new Error("Client not started - .finishSend() must be called before .close()");if(this.closed)throw new Error("Client already closed - cannot .send()");if(this.finishedSending)throw new Error("Client already finished sending - cannot .finishSend()");this.finishedSending=!0,this.transport.finishSend()},o.prototype.close=function(){if(!this.started)throw new Error("Client not started - .start() must be called before .close()");if(this.closed)throw new Error("Client already closed - cannot .close()");this.closed=!0,this.props.debug&&e.debug("request.abort aborting request"),this.transport.cancel()},o}();function c(o){var g=o.get("grpc-status")||[];if(g.length>0)try{return parseInt(g[0],10)}catch(o){return null}return null}},346:function(o,g){Object.defineProperty(g,"__esModule",{value:!0}),g.debug=void 0,g.debug=function(){for(var o=[],g=0;g<arguments.length;g++)o[g]=arguments[g];console.debug?console.debug.apply(null,o):console.log.apply(null,o)}},607:function(o,g,n){Object.defineProperty(g,"__esModule",{value:!0}),g.grpc=void 0;var t,r=n(418),i=n(57),e=n(229),u=n(540),s=n(210),f=n(859),c=n(8),a=n(938),h=n(35),p=n(934);(t=g.grpc||(g.grpc={})).setDefaultTransport=i.setDefaultTransportFactory,t.CrossBrowserHttpTransport=f.CrossBrowserHttpTransport,t.FetchReadableStreamTransport=e.FetchReadableStreamTransport,t.XhrTransport=s.XhrTransport,t.WebsocketTransport=u.WebsocketTransport,t.Code=c.Code,t.Metadata=r.BrowserHeaders,t.client=function(o,g){return p.client(o,g)},t.invoke=a.invoke,t.unary=h.unary},938:function(o,g,n){Object.defineProperty(g,"__esModule",{value:!0}),g.invoke=void 0;var t=n(934);g.invoke=function(o,g){if(o.requestStream)throw new Error(".invoke cannot be used with client-streaming methods. Use .client instead.");var n=t.client(o,{host:g.host,transport:g.transport,debug:g.debug});return g.onHeaders&&n.onHeaders(g.onHeaders),g.onMessage&&n.onMessage(g.onMessage),g.onEnd&&n.onEnd(g.onEnd),n.start(g.metadata),n.send(g.request),n.finishSend(),{close:function(){n.close()}}}},65:function(o,g,n){Object.defineProperty(g,"__esModule",{value:!0}),g.Metadata=void 0;var t=n(418);Object.defineProperty(g,"Metadata",{enumerable:!0,get:function(){return t.BrowserHeaders}})},57:function(o,g,n){Object.defineProperty(g,"__esModule",{value:!0}),g.makeDefaultTransport=g.setDefaultTransportFactory=void 0;var t=n(859),r=function(o){return t.CrossBrowserHttpTransport({withCredentials:!1})(o)};g.setDefaultTransportFactory=function(o){r=o},g.makeDefaultTransport=function(o){return r(o)}},229:function(o,g,n){var t=this&&this.__assign||function(){return(t=Object.assign||function(o){for(var g,n=1,t=arguments.length;n<t;n++)for(var r in g=arguments[n])Object.prototype.hasOwnProperty.call(g,r)&&(o[r]=g[r]);return o}).apply(this,arguments)};Object.defineProperty(g,"__esModule",{value:!0}),g.detectFetchSupport=g.FetchReadableStreamTransport=void 0;var r=n(65),i=n(346);g.FetchReadableStreamTransport=function(o){return function(g){return function(o,g){return o.debug&&i.debug("fetchRequest",o),new e(o,g)}(g,o)}};var e=function(){function o(o,g){this.cancelled=!1,this.controller=self.AbortController&&new AbortController,this.options=o,this.init=g}return o.prototype.pump=function(o,g){var n=this;if(this.reader=o,this.cancelled)return this.options.debug&&i.debug("Fetch.pump.cancel at first pump"),void this.reader.cancel().catch((function(o){n.options.debug&&i.debug("Fetch.pump.reader.cancel exception",o)}));this.reader.read().then((function(o){if(o.done)return n.options.onEnd(),g;n.options.onChunk(o.value),n.pump(n.reader,g)})).catch((function(o){n.cancelled?n.options.debug&&i.debug("Fetch.catch - request cancelled"):(n.cancelled=!0,n.options.debug&&i.debug("Fetch.catch",o.message),n.options.onEnd(o))}))},o.prototype.send=function(o){var g=this;fetch(this.options.url,t(t({},this.init),{headers:this.metadata.toHeaders(),method:"POST",body:o,signal:this.controller&&this.controller.signal})).then((function(o){if(g.options.debug&&i.debug("Fetch.response",o),g.options.onHeaders(new r.Metadata(o.headers),o.status),!o.body)return o;g.pump(o.body.getReader(),o)})).catch((function(o){g.cancelled?g.options.debug&&i.debug("Fetch.catch - request cancelled"):(g.cancelled=!0,g.options.debug&&i.debug("Fetch.catch",o.message),g.options.onEnd(o))}))},o.prototype.sendMessage=function(o){this.send(o)},o.prototype.finishSend=function(){},o.prototype.start=function(o){this.metadata=o},o.prototype.cancel=function(){var o=this;this.cancelled?this.options.debug&&i.debug("Fetch.cancel already cancelled"):(this.cancelled=!0,this.controller?(this.options.debug&&i.debug("Fetch.cancel.controller.abort"),this.controller.abort()):this.options.debug&&i.debug("Fetch.cancel.missing abort controller"),this.reader?(this.options.debug&&i.debug("Fetch.cancel.reader.cancel"),this.reader.cancel().catch((function(g){o.options.debug&&i.debug("Fetch.cancel.reader.cancel exception",g)}))):this.options.debug&&i.debug("Fetch.cancel before reader"))},o}();g.detectFetchSupport=function(){return"undefined"!=typeof Response&&Response.prototype.hasOwnProperty("body")&&"function"==typeof Headers}},859:function(o,g,n){Object.defineProperty(g,"__esModule",{value:!0}),g.CrossBrowserHttpTransport=void 0;var t=n(229),r=n(210);g.CrossBrowserHttpTransport=function(o){return t.detectFetchSupport()?t.FetchReadableStreamTransport({credentials:o.withCredentials?"include":"same-origin"}):r.XhrTransport({withCredentials:o.withCredentials})}},210:function(o,g,n){var t,r=this&&this.__extends||(t=function(o,g){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,g){o.__proto__=g}||function(o,g){for(var n in g)Object.prototype.hasOwnProperty.call(g,n)&&(o[n]=g[n])})(o,g)},function(o,g){function n(){this.constructor=o}t(o,g),o.prototype=null===g?Object.create(g):(n.prototype=g.prototype,new n)});Object.defineProperty(g,"__esModule",{value:!0}),g.stringToArrayBuffer=g.MozChunkedArrayBufferXHR=g.XHR=g.XhrTransport=void 0;var i=n(65),e=n(346),u=n(849);g.XhrTransport=function(o){return function(g){if(u.detectMozXHRSupport())return new f(g,o);if(u.detectXHROverrideMimeTypeSupport())return new s(g,o);throw new Error("This environment's XHR implementation cannot support binary transfer.")}};var s=function(){function o(o,g){this.options=o,this.init=g}return o.prototype.onProgressEvent=function(){this.options.debug&&e.debug("XHR.onProgressEvent.length: ",this.xhr.response.length);var o=this.xhr.response.substr(this.index);this.index=this.xhr.response.length;var g=a(o);this.options.onChunk(g)},o.prototype.onLoadEvent=function(){this.options.debug&&e.debug("XHR.onLoadEvent"),this.options.onEnd()},o.prototype.onStateChange=function(){this.options.debug&&e.debug("XHR.onStateChange",this.xhr.readyState),this.xhr.readyState===XMLHttpRequest.HEADERS_RECEIVED&&this.options.onHeaders(new i.Metadata(this.xhr.getAllResponseHeaders()),this.xhr.status)},o.prototype.sendMessage=function(o){this.xhr.send(o)},o.prototype.finishSend=function(){},o.prototype.start=function(o){var g=this;this.metadata=o;var n=new XMLHttpRequest;this.xhr=n,n.open("POST",this.options.url),this.configureXhr(),this.metadata.forEach((function(o,g){n.setRequestHeader(o,g.join(", "))})),n.withCredentials=Boolean(this.init.withCredentials),n.addEventListener("readystatechange",this.onStateChange.bind(this)),n.addEventListener("progress",this.onProgressEvent.bind(this)),n.addEventListener("loadend",this.onLoadEvent.bind(this)),n.addEventListener("error",(function(o){g.options.debug&&e.debug("XHR.error",o),g.options.onEnd(o.error)}))},o.prototype.configureXhr=function(){this.xhr.responseType="text",this.xhr.overrideMimeType("text/plain; charset=x-user-defined")},o.prototype.cancel=function(){this.options.debug&&e.debug("XHR.abort"),this.xhr.abort()},o}();g.XHR=s;var f=function(o){function g(){return null!==o&&o.apply(this,arguments)||this}return r(g,o),g.prototype.configureXhr=function(){this.options.debug&&e.debug("MozXHR.configureXhr: setting responseType to 'moz-chunked-arraybuffer'"),this.xhr.responseType="moz-chunked-arraybuffer"},g.prototype.onProgressEvent=function(){var o=this.xhr.response;this.options.debug&&e.debug("MozXHR.onProgressEvent: ",new Uint8Array(o)),this.options.onChunk(new Uint8Array(o))},g}(s);function c(o,g){var n=o.charCodeAt(g);if(n>=55296&&n<=56319){var t=o.charCodeAt(g+1);t>=56320&&t<=57343&&(n=65536+(n-55296<<10)+(t-56320))}return n}function a(o){for(var g=new Uint8Array(o.length),n=0,t=0;t<o.length;t++){var r=String.prototype.codePointAt?o.codePointAt(t):c(o,t);g[n++]=255&r}return g}g.MozChunkedArrayBufferXHR=f,g.stringToArrayBuffer=a},849:function(o,g){var n;function t(o){var g=function(){if(void 0!==n)return n;if(XMLHttpRequest){n=new XMLHttpRequest;try{n.open("GET","https://localhost")}catch(o){}}return n}();if(!g)return!1;try{return g.responseType=o,g.responseType===o}catch(o){}return!1}Object.defineProperty(g,"__esModule",{value:!0}),g.detectXHROverrideMimeTypeSupport=g.detectMozXHRSupport=g.xhrSupportsResponseType=void 0,g.xhrSupportsResponseType=t,g.detectMozXHRSupport=function(){return"undefined"!=typeof XMLHttpRequest&&t("moz-chunked-arraybuffer")},g.detectXHROverrideMimeTypeSupport=function(){return"undefined"!=typeof XMLHttpRequest&&XMLHttpRequest.prototype.hasOwnProperty("overrideMimeType")}},540:function(o,g,n){Object.defineProperty(g,"__esModule",{value:!0}),g.WebsocketTransport=void 0;var t,r=n(346),i=n(617);!function(o){o[o.FINISH_SEND=1]="FINISH_SEND"}(t||(t={}));var e=new Uint8Array([1]);g.WebsocketTransport=function(){return function(o){return function(o){o.debug&&r.debug("websocketRequest",o);var g,n=function(o){if("https://"===o.substr(0,8))return"wss://"+o.substr(8);if("http://"===o.substr(0,7))return"ws://"+o.substr(7);throw new Error("Websocket transport constructed with non-https:// or http:// host.")}(o.url),u=[];function s(o){if(o===t.FINISH_SEND)g.send(e);else{var n=o,r=new Int8Array(n.byteLength+1);r.set(new Uint8Array([0])),r.set(n,1),g.send(r)}}return{sendMessage:function(o){g&&g.readyState!==g.CONNECTING?s(o):u.push(o)},finishSend:function(){g&&g.readyState!==g.CONNECTING?s(t.FINISH_SEND):u.push(t.FINISH_SEND)},start:function(t){(g=new WebSocket(n,["grpc-websockets"])).binaryType="arraybuffer",g.onopen=function(){var n;o.debug&&r.debug("websocketRequest.onopen"),g.send((n="",t.forEach((function(o,g){n+=o+": "+g.join(", ")+"\r\n"})),i.encodeASCII(n))),u.forEach((function(o){s(o)}))},g.onclose=function(g){o.debug&&r.debug("websocketRequest.onclose",g),o.onEnd()},g.onerror=function(g){o.debug&&r.debug("websocketRequest.onerror",g)},g.onmessage=function(g){o.onChunk(new Uint8Array(g.data))}},cancel:function(){o.debug&&r.debug("websocket.abort"),g.close()}}}(o)}}},35:function(o,g,n){Object.defineProperty(g,"__esModule",{value:!0}),g.unary=void 0;var t=n(65),r=n(934);g.unary=function(o,g){if(o.responseStream)throw new Error(".unary cannot be used with server-streaming methods. Use .invoke or .client instead.");if(o.requestStream)throw new Error(".unary cannot be used with client-streaming methods. Use .client instead.");var n=null,i=null,e=r.client(o,{host:g.host,transport:g.transport,debug:g.debug});return e.onHeaders((function(o){n=o})),e.onMessage((function(o){i=o})),e.onEnd((function(o,r,e){g.onEnd({status:o,statusMessage:r,headers:n||new t.Metadata,message:i,trailers:e})})),e.start(g.metadata),e.send(g.request),e.finishSend(),{close:function(){e.close()}}}},882:function(o,g){Object.defineProperty(g,"__esModule",{value:!0}),g.frameRequest=void 0,g.frameRequest=function(o){var g=o.serializeBinary(),n=new ArrayBuffer(g.byteLength+5);return new DataView(n,1,4).setUint32(0,g.length,!1),new Uint8Array(n,5).set(g),new Uint8Array(n)}}},n={},function o(t){if(n[t])return n[t].exports;var r=n[t]={exports:{}};return g[t].call(r.exports,r,r.exports,o),r.exports}(607))}));export{googleProtobuf as a,grpcWebClient_umd as g,wrappers_pb as w}
|